When using VDL I have discovered that the code picks up the DSL table
from the 1st invocation of 3.4, even if with multiple stacked 3.4
invocations. "Obviously," there is only 1 table at the storage
address indicated below(line beginning with table=). I am wondering
how to find the table from the latest invocation of 3.4 in the same
screen.
I can see that perhaps field TCBLTC of the TCB will start me on the
trail for the latest table, but the rest of the code escapes me since
I don't know where to go from there. Can anyone help with this?
TCB = PTR(540) /* TCB (EXEC COMMAND) PSATOLD
*/
TCB = PTR(TCB+136) /* TCBLTC */
...
The base code from VDL:
TCB = PTR(540) /* TCB (EXEC COMMAND) PSATOLD
*/
TCB = PTR(TCB+132) /* TCB (ISPTASK) TCBOTC
*/
FSA = PTR(TCB+112) /* FIRST SAVE AREA TCBFSA
*/
R1 = PTR(FSA+24) /* ISPTASK'S R1
*/
TLD = PTR(R1) /* TLD ADDRESS
*/
panel = STORAGE(D2X(TLD+344),8) /* Current Panel from TLD+X'158'
*/
IF panel\='ISRUDSL0' THEN do;say panel;SIGNAL
Invalid_Environment;end
DTA = PTR(TLD+76) /* DTA ADDRESS
*/
table = STORAGE(D2X(DTA+196),8) /* e.g.tbl NAME: DSL12345
*/
Thanks,
Larry Altman
Met Life IMS Database Administration
732-893-4223(desk)