Trying to write a program that lets the system do a DYNALLOC (SVC99)
and hands me back the system-assigned DD name to use in the DCB for
an OPEN via the DALRTDDN text-unit in the SVC99.
In this case; I'm actually trying to point to a PDS and will be reading
a member.
This is well and good; works great if I don't have that PDS allocated to
another DD; DYNALLOC hands me a wonderful SYSnnnn DD name which
I plop down in the DCB, do the OPEN and a FIND and read the member.
However...
If I'm under TSO; and I allocate another DD to point to my PDS, with,
say:
ALLOC DA(MYDD) DS(MY.PDS) SHR
then when my program does the DYNALLOC (SVC99) the DD name I get
back in the DALRTDDN area is 'MYDD' (not the expected SYSnnnnn.)
Furthermore; the return code (R15) from DYNALLOC is 0, and the values
of S99EERR and S99EINFO in the S99RBX are zero as well; and I've verified
that the S99RBX is correctly being addressed from the S99RB.
My program then proceeds to do an OPEN with that DD; which works fine
(RC=0.)
It then proceeds to do a FIND which returns with a return-code (R15) of 8
and reason-code (R0) of 8.
The Text-Units I'm using on the DYNALLOC are:
DALRTDDN (X'0055')
DALDSNAM (X'0002')
DALSTATS (X'0004') with a value of X'08' (SHR)
DALNDISP (X'0005') with a value of X'02' (CATALOG)
DALRLSE (X'000D')
My questions are:
Why would DYNALLOC hand me back a DD name from a different allocation
in the DALRTDDN area, instead of making up a new one?
Furthermore, why would DYNALLOC hand me a DD name that can't work
and give me a return code 0, with all the fields in the S99RB _and_ S99RBX
also indicating 0? DYNALLOC clearly thinks this is a find DD name to use;
so why can't it use it?
Could my superfluous specification fo CATALOG and RELEASE be causing
the problems?
- Many thanks for any helpful pointers -
- Dave Rivers -
--
[email protected] Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN