![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: I have a three logicals defined as follows: $ DEFINE/SYS/EXEC PFS_ROOT PFS_SPECIFIC:,PFS_COMMON: $ DEFINE/SYS/EXEC PFS_COMMON DSA1:[PFS.COMMON.]/TRANS=(CONC,TERM) $ DEFINE/SYS/EXEC PFS_SPECIFIC DSA1:[PFS.PIXIE.]/TRANS=(CONC,TERM) A test procedure has been created - PFS_SPECIFIC:[000000]TEST.COM as follows: $ WRITE SYS$OUTPUT F$ENVIRONMENT("PROCEDURE") $ EXIT When run interactively (@PFS_ROOT:[000000]TEST), the procedure writes: PFS_ROOT:[000000]TEST.COM;1 When run in batch, the procedure writes: U4:[PFS.PIXIE]TEST.COM;1 I assume this is happening because the SUBMIT command translates any logicals included in the filespec so the procedure when run has no knowledge of the logicals being included in the filespec parameter. Is there any possible workaround? Thanks for any help! The Answer is : As it is clear you are looking at the system logical names as an example, look carefully at the options defined for each of the three following system logical names: SHOW LOGICAL SYS$SYSROOT/FULL SHOW LOGICAL SYS$COMMON/FULL SHOW LOGICAL SYS$SPECIFIC/FULL In particular, look at the logical name options on SYS$SYSROOT, and compare these against the (different) options you are using.
|