View previous topic :: View next topic
|
Author |
Message |
monitor
New User
Joined: 08 Feb 2007 Posts: 3 Location: UK
|
|
|
|
I have seen a similar post on this topic which implied that you don't need to know the PCB address list, but I need to. Does anyone know how you can obtain the PCB address list under CICS when using EXEC DLI. This is for a conversion from call level DL/1 (ASMTDLI etc) to command level. An ASMTDLI PCB (schedule) call passes back the addresses of both the PCB list and the UIB. I have scanned the IBM docs and can find no equivalent for command-level DLI |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Could this be of any help? Click |
|
Back to top |
|
|
monitor
New User
Joined: 08 Feb 2007 Posts: 3 Location: UK
|
|
|
|
Thanks for the reference but this is just a CALL level PSB schedule, and this is what I'm trying to get away from (though it's starting to look as though I'm stuck with it). The command level schedule "EXEC DLI SCHD" gives you nothing back in the way of data area pointers, and these are what I need. |
|
Back to top |
|
|
monitor
New User
Joined: 08 Feb 2007 Posts: 3 Location: UK
|
|
|
|
For anyone interested, I've finally found the answer to this and discovered some peculiarities of DL/1 also.
If you issue a call-level schedule and then try to do a cmd-level GU (for example), IMS returns a "not scheduled" status. If after scheduling with call level you try an EXEC DLI SCHD however, you get abend DHTH which says PSB is already scheduled. Bizarre behaviour.
It seems there are two ways to get the PCB Address List. The first (which I haven't tried) is to write a CICS Global User Exit program and switch on XDLIPOST. By far the easier method is to write a small Assembler routine that does the following:
Code: |
DFHAFCD TYPE=DSECT .CICS AUTHORISED FUNCTIONS
*
DFHCSAD TYPE=DSECT .CICS CSA MAPPING
*
DFHTCA CICSYST=CONTIG .CICS TCA MAPPING
*
DLIUIB , .DL/1 USER INTERFACE BLOCK
*
.....
DFHAFCD TYPE=LOCATE,REG=R1
L R1,AFCSA-DFHAFCB(,R1) .ADDRESS THE CSA
USING DFHCSADS,R1
L R1,CSACDTA .GET CURR DISPATCHED TASK
DROP R1
USING DFHTCADS,R1
L R1,TCADLIBA .GET DL/1 UIB ADDRESS
DROP R1
USING UIB,R1
MVC EISPCBAL,UIBPCBAL .SAVE PCB ADDRESS LIST
DROP R1[/b] |
|
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Thanks for sharing your experience |
|
Back to top |
|
|
|