[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | *OLD* ALL-IN-1 (tm) Support Conference |
Notice: | Closed - See Note 4331.l to move to IOSG::ALL-IN-1 |
Moderator: | IOSG::PYE |
|
Created: | Thu Jan 30 1992 |
Last Modified: | Tue Jan 23 1996 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 4343 |
Total number of notes: | 18308 |
4289.0. "Symbols from DCL to ALL-IN-1" by ANGLIN::HARRISA (Non practising good person) Thu Jun 23 1994 23:21
ALl-IN-1 v3.0A VMS 5.5-2
my customer has a .COM file (move_user.com) that moves the user to a
different disk. if the user has an ALL-IN-1 account, it does the .SCP
(mu_change_profile.scp).
we're having trouble passing the symbols set in .COM to the .SCP.
the symbols are bieing set (i can show them in the .COM file).
this is th .SCP file:
_____________________________________________________________________
GET OA$DCL="UNAME :== " #USER
GET OA$DCL="NEW_DIR :== " #new_dir
GET OA$DCL="DELETE_FROM :== " #DELETE_FROM
.TEXT "Put the new directory spec in the profile"
!
WRITE CHANGE PROFIL VMSUSR = #user, DIRECT = #new_dir
WRITE CHANGE PROFIL VMSUSR = #user, DELETE_FROM = #DELETE_FROM
____________________________________________________________________________
UNAME is the VMSaccount
NEW_DIR si the new directory spec for the ALL-IN-1 files.
DELETE_FROM is the top-level directory
in the .COM file the symbols display as:
NEW_DIR = "EIS$D5:[VEND.USTEST30.OA]"
DELETE_FROM = "EIS$D5:[VEND.USTEST30]"
UNAME = "USTEST30"
these are the proper values.
this is what shows up in the trace:
![SCRIPT] OA$EIS:MU_CHANGE_PROFILE Line 6: GET OA$DCL="UNAME :== "
#USER
![FUNC] Function: GET, Cmd line: OA$DCL="UNAME :== " #USER
![SYMBOL] Symbol: OA$DCL="UNAME :== " #USER, Value: UNAME :==
![SCRIPT] OA$EIS:MU_CHANGE_PROFILE Line 7: GET OA$DCL="NEW_DIR :== "
#new_dir
![FUNC] Function: GET, Cmd line: OA$DCL="NEW_DIR :== " #new_dir
![SYMBOL] Symbol: OA$DCL="NEW_DIR :== " #new_dir, Value: NEW_DIR :==
![SCRIPT] OA$EIS:MU_CHANGE_PROFILE Line 8: GET OA$DCL="DELETE_FROM :==
" #DELETE _FROM
![FUNC] Function: GET, Cmd line: OA$DCL="DELETE_FROM :== "
#DELETE_FROM
![SYMBOL] Symbol: OA$DCL="DELETE_FROM :== " #DELETE_FROM, Value:
DELETE_FROM :==
![SCRIPT] OA$EIS:MU_CHANGE_PROFILE Line 12: WRITE CHANGE PROFIL USER =
#user, DIRECT = #new_dir
![FUNC] Function: WRITE, Cmd line: CHANGE PROFIL USER = #user, DIRECT
= #new_dir
![SYMBOL] Symbol: #user, Value:
![SYMBOL] Symbol: #new_dir, Value:
![SCRIPT] OA$EIS:MU_CHANGE_PROFILE Line 13:
![SCRIPT] OA$EIS:MU_CHANGE_PROFILE Line 14: WRITE CHANGE PROFIL USER =
#user, DELETE_FROM = #DELETE_FROM
![FUNC] Function: WRITE, Cmd line: CHANGE PROFIL USER = #user,
DELETE_FROM = #DELETE_FROM
![SYMBOL] Symbol: #user, Value:
![SYMBOL] Symbol: #DELETE_FROM, Value:
![SCRIPT] OA$EIS:MU_CHANGE_PROFILE Line 15:
![SCRIPT] OA$EIS:MU_CHANGE_PROFILE Line 16: .EXIT
!
![SCRIPT] Closing Script OA$EIS:MU_CHANGE_PROFILE
Thanks - ann
T.R | Title | User | Personal Name | Date | Lines |
---|
4289.4 | Going in the wrong direction | SHRMSG::HOWARD | Yes it is | Fri Jun 24 1994 18:59 | 18 |
| I guess it would be a good idea to check the existing stuff and perhaps
borrow from that. There have been some deficiencies in some of these
procedures, but they do work. BTW, I believe that DCL commands are
supposed to start with a dollar sign with GET OA$DCL. The old
explanation was that ALL-IN-1 does its best if there isn't one, but
there are examples where it works with the "$" and not without.
However, which way are you trying to go? These GET OA$DCL commands
would move the symbols to the ALL-IN-1 sub-process, not back to DCL of
the main process. The CLI$ symbols are for the main process; the GET
OA$DCL is for the sub-process. IF you need something everywhere, use
GET OA$DCL ="$DEFINE/JOB logical_name " #symbol. Then you can
reference from ALL-IN-1 via LOG$logical_name, and as a logical name
from both the main and sub-process in DCL. You can also do this from
the main process before running ALL-IN-1. I think that the CLI$ syntax
may be a little more efficient, but I'm not sure.
Ben
|
4289.5 | howz about this... | ANGLIN::HARRISA | Non practising good person | Tue Jun 28 1994 17:29 | 10 |
| ok, how about this...
the symbol UNAME is passing properly from DCL to ALL-IN-1. UNAME is the
VMSUSR value in teh ALl-IN-1 profil. the other 2 symbols do not appear
to be passing from DCL to ALL-IN-1.
since i only have the VMSUSR symbol, how can i get the USER valufrom
the ALL-IN-1 profil? i'm probably just missing something simple (like
a brain).
thanks - ann
|
4289.6 | This should work | SHRMSG::HOWARD | Yes it is | Tue Jun 28 1994 19:53 | 29 |
| Let me see if I have this straight. You have a .COM file that does
something like this:
$ UNAME = P1 !which is the VMS Username
$ NEW_DIR = P2 ! whic is the new directory name
$ DELETE_FROM = P3 ! Which is the field of similar name in the PROFIL
$!
$! Now you want to use these values in ALL-IN-1:
$ ALLIN1/NOINIT/USER=MANAGER/REENTER
OA$INI_INIT
GET #A1USERNAME=PROFIL:VMSUSR.USER[CLI$UNAME]
WRITE CHANGE PROFIL USER=#A1USERNAME,VMSUSR = CLI$UNAME, DIRECT = CLI$NEW_DIR,-
DELETE_FROM = CLI$DELETE_FROM
EXIT
$
Is this what you want? I haven't tested this, but it appears to be ok.
The GET in ALL-IN-1 is probably unnecessary given another syntax, but I
don't have my book handy. VMSUSR is a secondary key to the PROFIL, so
you have to specify it as a secondary key after the form name, which
should answer your question in .5.
Note that you simply add CLI$ to the front of the symbol name. ALL-IN-1
pulls the symbol value from the tables in the same order as DCL (Local
then Global), so if you defined Global symbols (== or :==) but already
had local ones (= or :=), ALL-IN-1 will have no way to see the Global
symbols of the same name.
Ben
|