![]() |
![]() 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
|