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.
|