HP OpenVMS Systemsask the wizard |
The Question is: Rooted Logicals - I have a suituation where I would like to setup a rooted logical which has referenance to another rooted logical. I have tried to do this using the following two commands, but it does not work. define/system/exec d1 dka0:[d1.]/trans=(conceal,terminal) define/system/exec data d1:[test_user.data.] Am I doing something wrong, or is this just not support. Thanks Jason The Answer is :
No can do. Concealed logical names must be defined in terms of physical
devices. Here is a short DCL procedure which will resolve all logical
names prior to defining the logical name. For your example, use:
$ @DEFINE_CONCEALED D1 DKA0:[D1] /SYSTEM/EXEC
$ @DEFINE_CONCEALED DATA D1:[TEST_USER.DATA] /SYSTEM/EXEC
DEFINE_CONCEALED.COM
$ IF p1.EQS."" THEN INQUIRE p1 "Logical name"
$ IF p2.EQS."" THEN INQUIRE p2 "Directory"
$ ! p3 = extra DEFINE qualifiers
$ !
$ Conc=F$TRNLNM(F$PARSE(p2,,,"DEVICE")-":")
$ IF F$LOCATE("<",Conc).LT.F$LENGTH(Conc)
$ THEN
$ lbr="<"
$ rbr=">"
$ ELSE
$ lbr="["
$ rbr="]"
$ ENDIF
$ trans=(F$PARSE(p2,,,"DEVICE","NO_CONCEAL")+-
F$PARSE(p2,lbr+"000000"+rbr,,"DIRECTORY","NO_CONCEAL"))--
(rbr+lbr)-("000000"+rbr)-("."+rbr)+"*"-".*"-"*"-rbr+("."+rbr)
$ DEFINE/TRANSLATION_ATTRIBUTES=(TERMINAL,CONCEALED)'p3' 'p1' 'trans'
$ EXIT
|