RE: command shell quoting [was: UNCLASSIFIED RE: mkdbfile: create file in another account]
Title: Message Stuart, The problem occurs at real TCL -- i.e. it's a UV problem, not an SB one However, "NET USER" is obviously smart enough to handle the problem with its parameters To illustrate: 1) Create a simple DOS batch file called "dsp.bat", in C:\tmp on your UV server It contains only this:- echo args(0) : %0 echo args(1) : %1 echo args(2) : %2 echo args(3) : %3 echo args(4) : %4 2) From a real TCL prompt, do as you suggested:- >DOS /c "c:\tmp\dsp.bat -a:aaa -b:"bb bb" -c:ccc"args (0) : c:\tmp\dsp.batargs (1) : -a:rgs (2) : -b:" bb bb "args (3) : -c:cccargs (4) : Notice that the second parameter is received by the DOS program as "", i.e. it has suddenly grown extra leading and trailing spaces. !!! :-( [Apparently NET USER doesn't get too confused by this, but not all programs are so robust] Also notice how intuitively obvious it is that the pair of double quotes inside the string are being passed on to DOS rather than being interpreted as being matched with the outside pair of double quotes as they would be every where else in UV!!! BTW, if you change it to what would be more intuitive to a UV programmer, with single quotes 'outside' the double quotes ... >DOS /c 'c:\tmp\dsp.bat -a:aaa -b:"bb bb" -c:ccc'args (0) : c:\tmp\dsp.batargs (1) : -a:rgs (2) : -b:\"bb bb\"args (3) : -c:cccargs (4) : The double quotes get 'escaped' as Or if you do it the other way round, single quotes inside doubles, this happens:- >DOS /c "c:\tmp\dsp.bat -a:aaa -b:'bb bb' -c:ccc"args (0) : c:\tmp\dsp.batargs (1) : -a:rgs (2) : -b:'bbargs (3) : bb'args (4) : -c:ccc Sigh Hope this clarifies things Mike -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]On Behalf Of Stuart BoydellSent: Thursday, 29 January 2004 12:31 p.m.To: U2 Users Discussion ListCc: SB SolutionsSubject: RE: command shell quoting [was:UNCLASSIFIED RE: mkdbfile: create file in another account] A question: does this quote mangling behaviour occur at real TCL or just from an SB+ SH.SHELL prompt. The SH.SHELL mangles double quotes - so that may be your problem. Note that the double quotes work without nesting or escaping them in the following command (tested on UV10.0.4 & 10.0.10): DOS /C "NET USER anuser anuserpassword /ADD /FULLNAME:"an user" /COMMENT:"an application user." /HOMEDIR:E:\uvaccounts\anaccount" The information contained in this Internet Email message is intended for the addressee only and may contain privileged information, but not necessarily the official views or opinions of the New Zealand Defence Force. If you are not the intended recipient you must not use, disclose, copy or distribute this message or the information in it. If you have received this message in error, please Email or telephone the sender immediately. ___ u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: command shell quoting [was:UNCLASSIFIED RE: mkdbfile: create file in another account]
Title: Message A question: does this quote mangling behaviour occur at real TCL or just from an SB+ SH.SHELL prompt. The SH.SHELL mangles double quotes - so that may be your problem. Note that the double quotes work without nesting or escaping them in the following command (tested on UV10.0.4 & 10.0.10): DOS /C "NET USER anuser anuserpassword /ADD /FULLNAME:"an user" /COMMENT:"an application user." /HOMEDIR:E:\uvaccounts\anaccount" -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]On Behalf Of HENDERSON MICHAEL MRSent: Wednesday, 28 January 2004 13:54To: 'U2 Users Discussion List'Subject: UNCLASSIFIED RE: mkdbfile: create file in another account Kate You may be striking a bug in the UV "dos /c ..." command, which has some, err, foibles ... 1) The command string MUST be enclosed in single quotes (this is not documented anywhere) so, you must say DOS /c ' not DOS /c " 2) If you try to pass a parameter enclosed in double quotes, you are in trouble :-( So DOS /c 'blat.exe -s:"a subject with spaces" ...' just doesn't work, the double quotes get mangled. I have cases opened on both issues with IBM, and have tested a patched version of UV that solves the second problem. I understand this will be released with the next windows 10.0.x version, and presumably included in the subsequent 10.1.x. Dunno when, if ever, the documentation issue will be addressed. The work-round for the second problem that is least awful is to generate a batch file (DOS .bat extension) on the fly in your UniBasic program, and then run that .bat file from the DOS /c command. Call me on (04) 2371828 if you want a better explanation! HTH Mike ** This email message and any files transmitted with it are confidential and intended solely for the use of addressed recipient(s). If you have received this email in error please notify the Spotless IS Support Centre (61 3 9269 7555) immediately who will advise further action. This footnote also confirms that this email message has been scanned for the presence of computer viruses. ** ___ u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: mkdbfile: create file in another account
Nice catch, Karl. My jBASE-thinking brain completely spaced off the need for F pointers on Universe. It's good to know you're still willing to correct my mistakes ~8^) Tom Firl Columbia Ultimate > -Original Message- > From: Karl L Pearson [mailto:[EMAIL PROTECTED] > Sent: Wednesday, January 28, 2004 10:33 AM > To: U2 Users Discussion List > Subject: Re: mkdbfile: create file in another account > > > That syntax worked for me (sh -c on Linux rather than DOC /C) but, it > doesn't make a DICT file, so the file isn't accessible through TCL > commands. I had to add a DICT to the VOC entry I also had to > add as the > command doesn't create either a DICT file or the VOC entry... I repeat > myself. > > Karl > > > On Tue, 2004-01-27 at 19:31, Kate Stanton wrote: > > MessageThanks. That (using DOS \C rather than sh -c) got > rid of the error message, but it did not seem to create a file. > > > > Looks like I have the wrong syntax, but it is rather hard > to look up the documentation! > > > > I still feel uncomfortable using an undocumented feature - > no security it will not disappear or change. > > > > - Original Message ----- > > From: Daly, Mark > > To: 'U2 Users Discussion List' > > Sent: Wednesday, January 28, 2004 10:23 AM > > Subject: RE: mkdbfile: create file in another account > > > > > > Well, I just posed this question - and mkdbfile was the > suggestion that won! > > > > However, I didn't create a VOC entry. The idea (I > believe) is to execute this command at the OS prompt - not TCL. > > > > Since it looks like you're on Windows it would be > something like so: > > > > EXECUTE 'sh -c "cd C:\BeaconUV\DevelData\XXINV\KKINV; > ':SYSTEM(32):'\bin\mkdbfile DATA \XXINV\KKINV 30 1 4 20 50 80 1068' > > > >It's not documented, since it's really an internal UV > command - as opposed to a TCL statement of BASIC function. > > > > The CREATE.FILE verb needs to be enhanced to perform this > function - and prevent us from dabbling in the 'bin' > directory. But until then - this is the way to go. > > > > HTH, > > > > Mark. > > > >Original Message- > > From: Kate Stanton [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, January 27, 2004 4:17 PM > > To: [EMAIL PROTECTED] > > Subject: mkdbfile: create file in another account > > > > > > Does anyone know anything about using mkdbfile (from UV > bin) to create a file in an account other than the current > user account? > > > > A colleague told me about it, but it does not seem to be > documented, and does not seem to work on my > > > >UV 10.0.17 system on Windows 2000, as it does on his UV > 9.5.2.1 on Windows something. > > > > I tried, according to his instructions: > > VOC mkdbfile > > 0001: V > > 0002: mkdbfile > > 0003: E > > 0004: FG > > 0005: > > 0006: PICK.FORMAT > > > > Then, from TCL: mkdbfile > C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068 > > where: > > C:\BeaconUV\DevelData\XXINV\KKINV is pathname of file to create > > 30 is file type > > 1 is modulo > > 4 is separation > > 20 is hash type > > 50 is max load > > 80 is split load > > 1096 is large record size > > > > This gave error message: invalid filetype specified > > > > I feel very nervous about using something that is not > documented, so presumably may not be reliably supported. > > > > Anyone know anything, please? > > > > Cheers, Kate > > > > Kate Stanton > > Walstan Systems Ltd > > 4 Kelmarna Ave, Herne Bay, Auckland, New Zealand > > ph +64 9 360 5310 fax +64 9 376 0750 > > ah +64 9 378 9594 > > [EMAIL PROTECTED] > > > > > > > > > -- > > > > > > > ___ > > u2-users mailing list > > [EMAIL PROTECTED] > > http://www.oliver.com/mailman/listinfo/u2-users > > > > > > > ___ > > u2-users mailing list > > [EMAIL PROTECTED] > > http://www.oliver.com/mailman/listinfo/u2-users > -- > Karl L. Pearson > Director of IT, > ATS Industrial Supply > Direct: 801-978-4429 > Toll-free: 888-972-3182 x29 > Fax: 801-972-3888 > http://www.atsindustrial.com > [EMAIL PROTECTED] > > > ___ > u2-users mailing list > [EMAIL PROTECTED] > http://www.oliver.com/mailman/listinfo/u2-users > ___ u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
Re: mkdbfile: create file in another account
That syntax worked for me (sh -c on Linux rather than DOC /C) but, it doesn't make a DICT file, so the file isn't accessible through TCL commands. I had to add a DICT to the VOC entry I also had to add as the command doesn't create either a DICT file or the VOC entry... I repeat myself. Karl On Tue, 2004-01-27 at 19:31, Kate Stanton wrote: > MessageThanks. That (using DOS \C rather than sh -c) got rid of the error message, > but it did not seem to create a file. > > Looks like I have the wrong syntax, but it is rather hard to look up the > documentation! > > I still feel uncomfortable using an undocumented feature - no security it will not > disappear or change. > > - Original Message - > From: Daly, Mark > To: 'U2 Users Discussion List' > Sent: Wednesday, January 28, 2004 10:23 AM > Subject: RE: mkdbfile: create file in another account > > > Well, I just posed this question - and mkdbfile was the suggestion that won! > > However, I didn't create a VOC entry. The idea (I believe) is to execute this > command at the OS prompt - not TCL. > > Since it looks like you're on Windows it would be something like so: > > EXECUTE 'sh -c "cd C:\BeaconUV\DevelData\XXINV\KKINV; ':SYSTEM(32):'\bin\mkdbfile > DATA \XXINV\KKINV 30 1 4 20 50 80 1068' > >It's not documented, since it's really an internal UV command - as opposed to a > TCL statement of BASIC function. > > The CREATE.FILE verb needs to be enhanced to perform this function - and prevent > us from dabbling in the 'bin' directory. But until then - this is the way to go. > > HTH, > > Mark. > >Original Message- > From: Kate Stanton [mailto:[EMAIL PROTECTED] > Sent: Tuesday, January 27, 2004 4:17 PM > To: [EMAIL PROTECTED] > Subject: mkdbfile: create file in another account > > > Does anyone know anything about using mkdbfile (from UV bin) to create a file in > an account other than the current user account? > > A colleague told me about it, but it does not seem to be documented, and does not > seem to work on my > >UV 10.0.17 system on Windows 2000, as it does on his UV 9.5.2.1 on Windows > something. > > I tried, according to his instructions: > VOC mkdbfile > 0001: V > 0002: mkdbfile > 0003: E > 0004: FG > 0005: > 0006: PICK.FORMAT > > Then, from TCL: mkdbfile C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068 > where: > C:\BeaconUV\DevelData\XXINV\KKINV is pathname of file to create > 30 is file type > 1 is modulo > 4 is separation > 20 is hash type > 50 is max load > 80 is split load > 1096 is large record size > > This gave error message: invalid filetype specified > > I feel very nervous about using something that is not documented, so presumably > may not be reliably supported. > > Anyone know anything, please? > > Cheers, Kate > > Kate Stanton > Walstan Systems Ltd > 4 Kelmarna Ave, Herne Bay, Auckland, New Zealand > ph +64 9 360 5310 fax +64 9 376 0750 > ah +64 9 378 9594 > [EMAIL PROTECTED] > > > > -- > > > ___ > u2-users mailing list > [EMAIL PROTECTED] > http://www.oliver.com/mailman/listinfo/u2-users > > > ___ > u2-users mailing list > [EMAIL PROTECTED] > http://www.oliver.com/mailman/listinfo/u2-users -- Karl L. Pearson Director of IT, ATS Industrial Supply Direct: 801-978-4429 Toll-free: 888-972-3182 x29 Fax: 801-972-3888 http://www.atsindustrial.com [EMAIL PROTECTED] ___ u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
Re: UNCLASSIFIED RE: mkdbfile: create file in another account
Actually that's a very interesting point, especially considering Microsoft just made their Services for Unix toolkit available for $0 (plus a piece of your soul: Passport account required). That would get sh working. Kesselhut, Lothar wrote: Probably a little over the top for this problem, and apologies if this was already suggested, but you could also use a real shell instead of CMD. We've used Hamilton C shell for over six years. You also get a full Unix-like suite of commands (grep, cat, tar, ls, etc.) www.hamiltonlabs.com <http://www.hamiltonlabs.com/> This isn't free, but Cygwin is. Both work fine with UniVerse. Lothar Kesselhut -Original Message- From: HENDERSON MICHAEL MR [mailto:[EMAIL PROTECTED] Sent: Wednesday, 28 January 2004 1:54 PM To: 'U2 Users Discussion List' Subject: UNCLASSIFIED RE: mkdbfile: create file in another account Kate You may be striking a bug in the UV "dos /c ..." command, which has some, err, foibles ... 1) The command string MUST be enclosed in single quotes (this is not documented anywhere) so, you must say DOS /c ' not DOS /c " 2) If you try to pass a parameter enclosed in double quotes, you are in trouble :-( So DOS /c 'blat.exe -s:"a subject with spaces" ...' just doesn't work, the double quotes get mangled. I have cases opened on both issues with IBM, and have tested a patched version of UV that solves the second problem. I understand this will be released with the next windows 10.0.x version, and presumably included in the subsequent 10.1.x. Dunno when, if ever, the documentation issue will be addressed. The work-round for the second problem that is least awful is to generate a batch file (DOS .bat extension) on the fly in your UniBasic program, and then run that .bat file from the DOS /c command. Call me on (04) 2371828 if you want a better explanation! HTH Mike -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Kate Stanton Sent: Wednesday, 28 January 2004 3:32 p.m. To: U2 Users Discussion List Subject: Re: mkdbfile: create file in another account Thanks. That (using DOS \C rather than sh -c) got rid of the error message, but it did not seem to create a file. Looks like I have the wrong syntax, but it is rather hard to look up the documentation! I still feel uncomfortable using an undocumented feature - no security it will not disappear or change. - Original Message - From: Daly, Mark <mailto:[EMAIL PROTECTED]> To: 'U2 Users <mailto:[EMAIL PROTECTED]> Discussion List' Sent: Wednesday, January 28, 2004 10:23 AM Subject: RE: mkdbfile: create file in another account Well, I just posed this question - and mkdbfile was the suggestion that won! However, I didn't create a VOC entry. The idea (I believe) is to execute this command at the OS prompt - not TCL. Since it looks like you're on Windows it would be something like so: EXECUTE 'sh -c "cd C:\BeaconUV\DevelData\XXINV\KKINV; ':SYSTEM(32):'\bin\mkdbfile DATA \XXINV\KKINV 30 1 4 20 50 80 1068' It's not documented, since it's really an internal UV command - as opposed to a TCL statement of BASIC function. The CREATE.FILE verb needs to be enhanced to perform this function - and prevent us from dabbling in the 'bin' directory. But until then - this is the way to go. HTH, Mark. Original Message- From: Kate Stanton [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 27, 2004 4:17 PM To: [EMAIL PROTECTED] Subject: mkdbfile: create file in another account Does anyone know anything about using mkdbfile (from UV bin) to create a file in an account other than the current user account? A colleague told me about it, but it does not seem to be documented, and does not seem to work on my UV 10.0.17 system on Windows 2000, as it does on his UV 9.5.2.1 on Windows something. I tried, according to his instructions: VOC mkdbfile 0001: V 0002: mkdbfile 0003: E 0004: FG 0005: 0006: PICK.FORMAT Then, from TCL: mkdbfile C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068 where: C:\BeaconUV\DevelData\XXINV\KKINV is pathname of file to create 30 is file type 1 is modulo 4 is separation 20 is hash type 50 is max load 80 is split load 1096 is large record size This gave error message: invalid filetype specified I feel very nervous about using something that is not documented, so presumably may not be reliably supported. Anyone know anything, please? Cheers, Kate Kate Stanton Walstan Systems Ltd 4 Kelmarna Ave, Herne Bay, Auckland, New Zealand ph +64 9 360 5310 fax +64 9 376 0750 ah +64 9 378 9594 [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> _ ___ u2-users mailing list [EMAIL PROTECT
RE: UNCLASSIFIED RE: mkdbfile: create file in another account
Title: Message Just wanted to weigh in . We have been using the DOS /c for about 3 years on different versions of UniVerse. I don't remember the version we started with, but are now running it on 10.0.17. We build the command in an SB+ paragraph process, load it in a PARMS and pass it to a generic basic program that executes the parms. By doing this we never have any problems with double or single quotes when constructing the command. A side benefit, at least for us, is we actually use two generic processes. One captures the output of the command and the other doesn't. This allows us, when needed, to keep that unsightly blue screen from flashing in the middle of the GUI application and panicking users. Mike Dallaire Mortgage Builder Software Inc. (248) 208-3223 ext. 103 [EMAIL PROTECTED] -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]On Behalf Of HENDERSON MICHAEL MRSent: Tuesday, January 27, 2004 9:54 PMTo: 'U2 Users Discussion List'Subject: UNCLASSIFIED RE: mkdbfile: create file in another account Kate You may be striking a bug in the UV "dos /c ..." command, which has some, err, foibles ... 1) The command string MUST be enclosed in single quotes (this is not documented anywhere) so, you must say DOS /c ' not DOS /c " 2) If you try to pass a parameter enclosed in double quotes, you are in trouble :-( So DOS /c 'blat.exe -s:"a subject with spaces" ...' just doesn't work, the double quotes get mangled. I have cases opened on both issues with IBM, and have tested a patched version of UV that solves the second problem. I understand this will be released with the next windows 10.0.x version, and presumably included in the subsequent 10.1.x. Dunno when, if ever, the documentation issue will be addressed. The work-round for the second problem that is least awful is to generate a batch file (DOS .bat extension) on the fly in your UniBasic program, and then run that .bat file from the DOS /c command. Call me on (04) 2371828 if you want a better explanation! HTH Mike -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]On Behalf Of Kate StantonSent: Wednesday, 28 January 2004 3:32 p.m.To: U2 Users Discussion ListSubject: Re: mkdbfile: create file in another account Thanks. That (using DOS \C rather than sh -c) got rid of the error message, but it did not seem to create a file. Looks like I have the wrong syntax, but it is rather hard to look up the documentation! I still feel uncomfortable using an undocumented feature - no security it will not disappear or change. - Original Message - From: Daly, Mark To: 'U2 Users Discussion List' Sent: Wednesday, January 28, 2004 10:23 AM Subject: RE: mkdbfile: create file in another account Well, I just posed this question - and mkdbfile was the suggestion that won! However, I didn't create a VOC entry. The idea (I believe) is to execute this command at the OS prompt - not TCL. Since it looks like you're on Windows it would be something like so: EXECUTE 'sh -c "cd C:\BeaconUV\DevelData\XXINV\KKINV; ':SYSTEM(32):'\bin\mkdbfile DATA \XXINV\KKINV 30 1 4 20 50 80 1068' It's not documented, since it's really an internal UV command - as opposed to a TCL statement of BASIC function. The CREATE.FILE verb needs to be enhanced to perform this function - and prevent us from dabbling in the 'bin' directory. But until then - this is the way to go. HTH, Mark. Original Message-From: Kate Stanton [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 27, 2004 4:17 PMTo: [EMAIL PROTECTED]Subject: mkdbfile: create file in another account Does anyone know anything about using mkdbfile (from UV bin) to create a file in an account other than the current user account? A colleague told me about it, but it does not seem to be documented, and does not seem to work on my UV 10.0.17 system on Windows 2000, as it does on his UV 9.5.2.1 on Windows something. I tried, according to his instructions: VOC mkdbfile 0001: V 0002: mkdbfile 0003: E 0004: FG 0005: 0006: PICK.FORMAT Then, from TCL: mkdbfile C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068 where: C:\BeaconUV\DevelData\XXINV\KKINV is pat
RE: UNCLASSIFIED RE: mkdbfile: create file in another account
Title: Message Probably a little over the top for this problem, and apologies if this was already suggested, but you could also use a real shell instead of CMD. We've used Hamilton C shell for over six years. You also get a full Unix-like suite of commands (grep, cat, tar, ls, etc.) www.hamiltonlabs.com This isn't free, but Cygwin is. Both work fine with UniVerse. Lothar Kesselhut -Original Message- From: HENDERSON MICHAEL MR [mailto:[EMAIL PROTECTED] Sent: Wednesday, 28 January 2004 1:54 PM To: 'U2 Users Discussion List' Subject: UNCLASSIFIED RE: mkdbfile: create file in another account Kate You may be striking a bug in the UV "dos /c ..." command, which has some, err, foibles ... 1) The command string MUST be enclosed in single quotes (this is not documented anywhere) so, you must say DOS /c ' not DOS /c " 2) If you try to pass a parameter enclosed in double quotes, you are in trouble :-( So DOS /c 'blat.exe -s:"a subject with spaces" ...' just doesn't work, the double quotes get mangled. I have cases opened on both issues with IBM, and have tested a patched version of UV that solves the second problem. I understand this will be released with the next windows 10.0.x version, and presumably included in the subsequent 10.1.x. Dunno when, if ever, the documentation issue will be addressed. The work-round for the second problem that is least awful is to generate a batch file (DOS .bat extension) on the fly in your UniBasic program, and then run that .bat file from the DOS /c command. Call me on (04) 2371828 if you want a better explanation! HTH Mike -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]On Behalf Of Kate Stanton Sent: Wednesday, 28 January 2004 3:32 p.m. To: U2 Users Discussion List Subject: Re: mkdbfile: create file in another account Thanks. That (using DOS \C rather than sh -c) got rid of the error message, but it did not seem to create a file. Looks like I have the wrong syntax, but it is rather hard to look up the documentation! I still feel uncomfortable using an undocumented feature - no security it will not disappear or change. - Original Message - From: Daly, Mark To: 'U2 Users Discussion List' Sent: Wednesday, January 28, 2004 10:23 AM Subject: RE: mkdbfile: create file in another account Well, I just posed this question - and mkdbfile was the suggestion that won! However, I didn't create a VOC entry. The idea (I believe) is to execute this command at the OS prompt - not TCL. Since it looks like you're on Windows it would be something like so: EXECUTE 'sh -c "cd C:\BeaconUV\DevelData\XXINV\KKINV; ':SYSTEM(32):'\bin\mkdbfile DATA \XXINV\KKINV 30 1 4 20 50 80 1068' It's not documented, since it's really an internal UV command - as opposed to a TCL statement of BASIC function. The CREATE.FILE verb needs to be enhanced to perform this function - and prevent us from dabbling in the 'bin' directory. But until then - this is the way to go. HTH, Mark. Original Message- From: Kate Stanton [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 27, 2004 4:17 PM To: [EMAIL PROTECTED] Subject: mkdbfile: create file in another account Does anyone know anything about using mkdbfile (from UV bin) to create a file in an account other than the current user account? A colleague told me about it, but it does not seem to be documented, and does not seem to work on my UV 10.0.17 system on Windows 2000, as it does on his UV 9.5.2.1 on Windows something. I tried, according to his instructions: VOC mkdbfile 0001: V 0002: mkdbfile 0003: E 0004: FG 0005: 0006: PICK.FORMAT Then, from TCL: mkdbfile C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068 where: C:\BeaconUV\DevelData\XXINV\KKINV is pathname of file to create 30 is file type 1 is modulo 4 is separation 20 is hash type 50 is max load 80 is split load 1096 is large record size This gave error message: invalid filetype specified I feel very nervous about using something that is not documented, so presumably may not be reliably supported. Anyone know anything, please? Cheers, Kate Kate Stanton Walstan Systems Ltd 4 Kelmarna Ave, Herne Bay, Auckland, New Zealand ph +64 9 360 5310 fax +64 9 376 0750 ah +64 9 378 9594 [EMAIL PROTECTED] ___ u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/li
RE: mkdbfile: create file in another account
Title: Message I don't think you need to "cd" command as the mkdbfile will accept the absolute path to the file you are creating. If you need to execute multiple commands in the same DOS shell, then separate the commands with an ampersand (&) instead of semi-colon (;). I'd be a little surprised if mkdbfile disappeared or required changes to your code, but you never know. I'm pretty sure the Universe installation scripts/programs -- among other things -- use mkdbfile quite extensively. At any rate, give the following a whirl... EXECUTE 'DOS /C "':SYSTEM(32):'\bin\mkdbfile C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068"' Tom Firl Columbia Ultimate -Original Message-From: Kate Stanton [mailto:[EMAIL PROTECTED]Sent: Tuesday, January 27, 2004 6:32 PMTo: U2 Users Discussion ListSubject: Re: mkdbfile: create file in another account Thanks. That (using DOS \C rather than sh -c) got rid of the error message, but it did not seem to create a file. Looks like I have the wrong syntax, but it is rather hard to look up the documentation! I still feel uncomfortable using an undocumented feature - no security it will not disappear or change. - Original Message - From: Daly, Mark To: 'U2 Users Discussion List' Sent: Wednesday, January 28, 2004 10:23 AM Subject: RE: mkdbfile: create file in another account Well, I just posed this question - and mkdbfile was the suggestion that won! However, I didn't create a VOC entry. The idea (I believe) is to execute this command at the OS prompt - not TCL. Since it looks like you're on Windows it would be something like so: EXECUTE 'sh -c "cd C:\BeaconUV\DevelData\XXINV\KKINV; ':SYSTEM(32):'\bin\mkdbfile DATA \XXINV\KKINV 30 1 4 20 50 80 1068' It's not documented, since it's really an internal UV command - as opposed to a TCL statement of BASIC function. The CREATE.FILE verb needs to be enhanced to perform this function - and prevent us from dabbling in the 'bin' directory. But until then - this is the way to go. HTH, Mark. Original Message-From: Kate Stanton [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 27, 2004 4:17 PMTo: [EMAIL PROTECTED]Subject: mkdbfile: create file in another account Does anyone know anything about using mkdbfile (from UV bin) to create a file in an account other than the current user account? A colleague told me about it, but it does not seem to be documented, and does not seem to work on my UV 10.0.17 system on Windows 2000, as it does on his UV 9.5.2.1 on Windows something. I tried, according to his instructions: VOC mkdbfile 0001: V 0002: mkdbfile 0003: E 0004: FG 0005: 0006: PICK.FORMAT Then, from TCL: mkdbfile C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068 where: C:\BeaconUV\DevelData\XXINV\KKINV is pathname of file to create 30 is file type 1 is modulo 4 is separation 20 is hash type 50 is max load 80 is split load 1096 is large record size This gave error message: invalid filetype specified I feel very nervous about using something that is not documented, so presumably may not be reliably supported. Anyone know anything, please? Cheers, Kate Kate StantonWalstan Systems Ltd4 Kelmarna Ave, Herne Bay, Auckland, New Zealandph +64 9 360 5310 fax +64 9 376 0750ah +64 9 378 9594[EMAIL PROTECTED] ___u2-users mailing list[EMAIL PROTECTED]http://www.oliver.com/mailman/listinfo/u2-users ___ u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: mkdbfile: create file in another account
Title: Message Hi Kate You could set up a VOC Paragraph or a program in the remote account that reads parameters from the command line as paramters for the CREATE FILE statement. Then all you are doing is using the EXECUTE 'DOS uvbinpath\UV remoteacc\PROG fn mod " At least this will not disappear. otherwise create the file in the current director, doan OS Move and then build the VOC item through a setfile pointer else CREATE TABLE path Filename Regards David JordanManaging Consultant[EMAIL PROTECTED] Dacono Holdings Pty LtdBusiness & Technology ConsultingPO Box 909Lane Cove NSW 2066AustraliaPh 61 2 9418 8329Fax 61 2 9427 2371www.dacono.com.au -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kate StantonSent: Wednesday, 28 January 2004 1:32 PMTo: U2 Users Discussion ListSubject: Re: mkdbfile: create file in another account Thanks. That (using DOS \C rather than sh -c) got rid of the error message, but it did not seem to create a file. Looks like I have the wrong syntax, but it is rather hard to look up the documentation! I still feel uncomfortable using an undocumented feature - no security it will not disappear or change. - Original Message - From: Daly, Mark To: 'U2 Users Discussion List' Sent: Wednesday, January 28, 2004 10:23 AM Subject: RE: mkdbfile: create file in another account Well, I just posed this question - and mkdbfile was the suggestion that won! However, I didn't create a VOC entry. The idea (I believe) is to execute this command at the OS prompt - not TCL. Since it looks like you're on Windows it would be something like so: EXECUTE 'sh -c "cd C:\BeaconUV\DevelData\XXINV\KKINV; ':SYSTEM(32):'\bin\mkdbfile DATA \XXINV\KKINV 30 1 4 20 50 80 1068' It's not documented, since it's really an internal UV command - as opposed to a TCL statement of BASIC function. The CREATE.FILE verb needs to be enhanced to perform this function - and prevent us from dabbling in the 'bin' directory. But until then - this is the way to go. HTH, Mark. Original Message-From: Kate Stanton [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 27, 2004 4:17 PMTo: [EMAIL PROTECTED]Subject: mkdbfile: create file in another account Does anyone know anything about using mkdbfile (from UV bin) to create a file in an account other than the current user account? A colleague told me about it, but it does not seem to be documented, and does not seem to work on my UV 10.0.17 system on Windows 2000, as it does on his UV 9.5.2.1 on Windows something. I tried, according to his instructions: VOC mkdbfile 0001: V 0002: mkdbfile 0003: E 0004: FG 0005: 0006: PICK.FORMAT Then, from TCL: mkdbfile C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068 where: C:\BeaconUV\DevelData\XXINV\KKINV is pathname of file to create 30 is file type 1 is modulo 4 is separation 20 is hash type 50 is max load 80 is split load 1096 is large record size This gave error message: invalid filetype specified I feel very nervous about using something that is not documented, so presumably may not be reliably supported. Anyone know anything, please? Cheers, Kate Kate StantonWalstan Systems Ltd4 Kelmarna Ave, Herne Bay, Auckland, New Zealandph +64 9 360 5310 fax +64 9 376 0750ah +64 9 378 9594[EMAIL PROTECTED] ___u2-users mailing list[EMAIL PROTECTED]http://www.oliver.com/mailman/listinfo/u2-users ___ u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
UNCLASSIFIED RE: mkdbfile: create file in another account
Title: Message Kate You may be striking a bug in the UV "dos /c ..." command, which has some, err, foibles ... 1) The command string MUST be enclosed in single quotes (this is not documented anywhere) so, you must say DOS /c ' not DOS /c " 2) If you try to pass a parameter enclosed in double quotes, you are in trouble :-( So DOS /c 'blat.exe -s:"a subject with spaces" ...' just doesn't work, the double quotes get mangled. I have cases opened on both issues with IBM, and have tested a patched version of UV that solves the second problem. I understand this will be released with the next windows 10.0.x version, and presumably included in the subsequent 10.1.x. Dunno when, if ever, the documentation issue will be addressed. The work-round for the second problem that is least awful is to generate a batch file (DOS .bat extension) on the fly in your UniBasic program, and then run that .bat file from the DOS /c command. Call me on (04) 2371828 if you want a better explanation! HTH Mike -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]On Behalf Of Kate StantonSent: Wednesday, 28 January 2004 3:32 p.m.To: U2 Users Discussion ListSubject: Re: mkdbfile: create file in another account Thanks. That (using DOS \C rather than sh -c) got rid of the error message, but it did not seem to create a file. Looks like I have the wrong syntax, but it is rather hard to look up the documentation! I still feel uncomfortable using an undocumented feature - no security it will not disappear or change. - Original Message - From: Daly, Mark To: 'U2 Users Discussion List' Sent: Wednesday, January 28, 2004 10:23 AM Subject: RE: mkdbfile: create file in another account Well, I just posed this question - and mkdbfile was the suggestion that won! However, I didn't create a VOC entry. The idea (I believe) is to execute this command at the OS prompt - not TCL. Since it looks like you're on Windows it would be something like so: EXECUTE 'sh -c "cd C:\BeaconUV\DevelData\XXINV\KKINV; ':SYSTEM(32):'\bin\mkdbfile DATA \XXINV\KKINV 30 1 4 20 50 80 1068' It's not documented, since it's really an internal UV command - as opposed to a TCL statement of BASIC function. The CREATE.FILE verb needs to be enhanced to perform this function - and prevent us from dabbling in the 'bin' directory. But until then - this is the way to go. HTH, Mark. Original Message-From: Kate Stanton [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 27, 2004 4:17 PMTo: [EMAIL PROTECTED]Subject: mkdbfile: create file in another account Does anyone know anything about using mkdbfile (from UV bin) to create a file in an account other than the current user account? A colleague told me about it, but it does not seem to be documented, and does not seem to work on my UV 10.0.17 system on Windows 2000, as it does on his UV 9.5.2.1 on Windows something. I tried, according to his instructions: VOC mkdbfile 0001: V 0002: mkdbfile 0003: E 0004: FG 0005: 0006: PICK.FORMAT Then, from TCL: mkdbfile C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068 where: C:\BeaconUV\DevelData\XXINV\KKINV is pathname of file to create 30 is file type 1 is modulo 4 is separation 20 is hash type 50 is max load 80 is split load 1096 is large record size This gave error message: invalid filetype specified I feel very nervous about using something that is not documented, so presumably may not be reliably supported. Anyone know anything, please? Cheers, Kate Kate StantonWalstan Systems Ltd4 Kelmarna Ave, Herne Bay, Auckland, New Zealandph +64 9 360 5310 fax +64 9 376 0750ah +64 9 378 9594[EMAIL PROTECTED] ___u2-users mailing list[EMAIL PROTECTED]http://www.oliver.com/mailman/listinfo/u2-users The information contained in this Internet Email message is intended for the addressee only and may contain privileged information, but not necessarily the official views or opinions of the New Zealand Defence Force. If you are not the intended recipient you must not use, disclose, copy or distribute this message or the information in it. If you have received this message in error, please Email or telephone the sender immediately. ___ u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: mkdbfile: create file in another account
Title: Message Hi Kate The SQL Create Table command allows you to create a file in another directory and it is documented. Regards David JordanManaging Consultant[EMAIL PROTECTED] Dacono Holdings Pty LtdBusiness & Technology ConsultingPO Box 909Lane Cove NSW 2066AustraliaPh 61 2 9418 8329Fax 61 2 9427 2371www.dacono.com.au -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kate StantonSent: Wednesday, 28 January 2004 8:17 AMTo: [EMAIL PROTECTED]Subject: mkdbfile: create file in another account Does anyone know anything about using mkdbfile (from UV bin) to create a file in an account other than the current user account? A colleague told me about it, but it does not seem to be documented, and does not seem to work on my UV 10.0.17 system on Windows 2000, as it does on his UV 9.5.2.1 on Windows something. I tried, according to his instructions: VOC mkdbfile 0001: V 0002: mkdbfile 0003: E 0004: FG 0005: 0006: PICK.FORMAT Then, from TCL: mkdbfile C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068 where: C:\BeaconUV\DevelData\XXINV\KKINV is pathname of file to create 30 is file type 1 is modulo 4 is separation 20 is hash type 50 is max load 80 is split load 1096 is large record size This gave error message: invalid filetype specified I feel very nervous about using something that is not documented, so presumably may not be reliably supported. Anyone know anything, please? Cheers, Kate Kate StantonWalstan Systems Ltd4 Kelmarna Ave, Herne Bay, Auckland, New Zealandph +64 9 360 5310 fax +64 9 376 0750ah +64 9 378 9594[EMAIL PROTECTED] ___ u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
Re: mkdbfile: create file in another account
Title: Message Thanks. That (using DOS \C rather than sh -c) got rid of the error message, but it did not seem to create a file. Looks like I have the wrong syntax, but it is rather hard to look up the documentation! I still feel uncomfortable using an undocumented feature - no security it will not disappear or change. - Original Message - From: Daly, Mark To: 'U2 Users Discussion List' Sent: Wednesday, January 28, 2004 10:23 AM Subject: RE: mkdbfile: create file in another account Well, I just posed this question - and mkdbfile was the suggestion that won! However, I didn't create a VOC entry. The idea (I believe) is to execute this command at the OS prompt - not TCL. Since it looks like you're on Windows it would be something like so: EXECUTE 'sh -c "cd C:\BeaconUV\DevelData\XXINV\KKINV; ':SYSTEM(32):'\bin\mkdbfile DATA \XXINV\KKINV 30 1 4 20 50 80 1068' It's not documented, since it's really an internal UV command - as opposed to a TCL statement of BASIC function. The CREATE.FILE verb needs to be enhanced to perform this function - and prevent us from dabbling in the 'bin' directory. But until then - this is the way to go. HTH, Mark. Original Message-From: Kate Stanton [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 27, 2004 4:17 PMTo: [EMAIL PROTECTED]Subject: mkdbfile: create file in another account Does anyone know anything about using mkdbfile (from UV bin) to create a file in an account other than the current user account? A colleague told me about it, but it does not seem to be documented, and does not seem to work on my UV 10.0.17 system on Windows 2000, as it does on his UV 9.5.2.1 on Windows something. I tried, according to his instructions: VOC mkdbfile 0001: V 0002: mkdbfile 0003: E 0004: FG 0005: 0006: PICK.FORMAT Then, from TCL: mkdbfile C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068 where: C:\BeaconUV\DevelData\XXINV\KKINV is pathname of file to create 30 is file type 1 is modulo 4 is separation 20 is hash type 50 is max load 80 is split load 1096 is large record size This gave error message: invalid filetype specified I feel very nervous about using something that is not documented, so presumably may not be reliably supported. Anyone know anything, please? Cheers, Kate Kate StantonWalstan Systems Ltd4 Kelmarna Ave, Herne Bay, Auckland, New Zealandph +64 9 360 5310 fax +64 9 376 0750ah +64 9 378 9594[EMAIL PROTECTED] ___u2-users mailing list[EMAIL PROTECTED]http://www.oliver.com/mailman/listinfo/u2-users ___ u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: mkdbfile: create file in another account
Title: Message ...or DOS /C if you are on Windows. -Original Message-From: Logan, David (SST - Adelaide) [mailto:[EMAIL PROTECTED]Sent: Tuesday, January 27, 2004 1:39 PMTo: U2 Users Discussion ListSubject: RE: mkdbfile: create file in another account Hi Kate, These commands are designed to be run from the unix or (blerk, I hate this word) dos environment. Running them from TCL would require an sh -c type command. Regards David Logan Database Administrator HP Managed Services 139 Frome Street, Adelaide 5000 Australia +61 8 8408 4273 +61 417 268 665 -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kate StantonSent: Wednesday, 28 January 2004 7:47 AMTo: [EMAIL PROTECTED]Subject: mkdbfile: create file in another account Does anyone know anything about using mkdbfile (from UV bin) to create a file in an account other than the current user account? A colleague told me about it, but it does not seem to be documented, and does not seem to work on my UV 10.0.17 system on Windows 2000, as it does on his UV 9.5.2.1 on Windows something. I tried, according to his instructions: VOC mkdbfile 0001: V 0002: mkdbfile 0003: E 0004: FG 0005: 0006: PICK.FORMAT Then, from TCL: mkdbfile C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068 where: C:\BeaconUV\DevelData\XXINV\KKINV is pathname of file to create 30 is file type 1 is modulo 4 is separation 20 is hash type 50 is max load 80 is split load 1096 is large record size This gave error message: invalid filetype specified I feel very nervous about using something that is not documented, so presumably may not be reliably supported. Anyone know anything, please? Cheers, Kate Kate StantonWalstan Systems Ltd4 Kelmarna Ave, Herne Bay, Auckland, New Zealandph +64 9 360 5310 fax +64 9 376 0750ah +64 9 378 9594[EMAIL PROTECTED] ___ u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: mkdbfile: create file in another account
Title: Message Hi Kate, These commands are designed to be run from the unix or (blerk, I hate this word) dos environment. Running them from TCL would require an sh -c type command. Regards David Logan Database Administrator HP Managed Services 139 Frome Street, Adelaide 5000 Australia +61 8 8408 4273 +61 417 268 665 -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kate StantonSent: Wednesday, 28 January 2004 7:47 AMTo: [EMAIL PROTECTED]Subject: mkdbfile: create file in another account Does anyone know anything about using mkdbfile (from UV bin) to create a file in an account other than the current user account? A colleague told me about it, but it does not seem to be documented, and does not seem to work on my UV 10.0.17 system on Windows 2000, as it does on his UV 9.5.2.1 on Windows something. I tried, according to his instructions: VOC mkdbfile 0001: V 0002: mkdbfile 0003: E 0004: FG 0005: 0006: PICK.FORMAT Then, from TCL: mkdbfile C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068 where: C:\BeaconUV\DevelData\XXINV\KKINV is pathname of file to create 30 is file type 1 is modulo 4 is separation 20 is hash type 50 is max load 80 is split load 1096 is large record size This gave error message: invalid filetype specified I feel very nervous about using something that is not documented, so presumably may not be reliably supported. Anyone know anything, please? Cheers, Kate Kate StantonWalstan Systems Ltd4 Kelmarna Ave, Herne Bay, Auckland, New Zealandph +64 9 360 5310 fax +64 9 376 0750ah +64 9 378 9594[EMAIL PROTECTED] ___ u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users
RE: mkdbfile: create file in another account
Title: Message Well, I just posed this question - and mkdbfile was the suggestion that won! However, I didn't create a VOC entry. The idea (I believe) is to execute this command at the OS prompt - not TCL. Since it looks like you're on Windows it would be something like so: EXECUTE 'sh -c "cd C:\BeaconUV\DevelData\XXINV\KKINV; ':SYSTEM(32):'\bin\mkdbfile DATA \XXINV\KKINV 30 1 4 20 50 80 1068' It's not documented, since it's really an internal UV command - as opposed to a TCL statement of BASIC function. The CREATE.FILE verb needs to be enhanced to perform this function - and prevent us from dabbling in the 'bin' directory. But until then - this is the way to go. HTH, Mark. Original Message-From: Kate Stanton [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 27, 2004 4:17 PMTo: [EMAIL PROTECTED]Subject: mkdbfile: create file in another account Does anyone know anything about using mkdbfile (from UV bin) to create a file in an account other than the current user account? A colleague told me about it, but it does not seem to be documented, and does not seem to work on my UV 10.0.17 system on Windows 2000, as it does on his UV 9.5.2.1 on Windows something. I tried, according to his instructions: VOC mkdbfile 0001: V 0002: mkdbfile 0003: E 0004: FG 0005: 0006: PICK.FORMAT Then, from TCL: mkdbfile C:\BeaconUV\DevelData\XXINV\KKINV 30 1 4 20 50 80 1068 where: C:\BeaconUV\DevelData\XXINV\KKINV is pathname of file to create 30 is file type 1 is modulo 4 is separation 20 is hash type 50 is max load 80 is split load 1096 is large record size This gave error message: invalid filetype specified I feel very nervous about using something that is not documented, so presumably may not be reliably supported. Anyone know anything, please? Cheers, Kate Kate StantonWalstan Systems Ltd4 Kelmarna Ave, Herne Bay, Auckland, New Zealandph +64 9 360 5310 fax +64 9 376 0750ah +64 9 378 9594[EMAIL PROTECTED] ___ u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users