When you assign a PSB to a program by naming the PSB in the Project Explorer, CICS schedules only one PSB at a time. NTRY schedules the PSB. This PSB is active until the program:
Restriction: This topic applies only when the AppMaster Builder AddPack has been installed, and applies only to Windows platforms.
- Encounters a SEND or TERM
- Initiates a CIC-TERM-PSB and continues processing
General Rules:
- To ensure that your PSB remains active when you link or transfer to another program, pass the associated PCBs in the LINK or XCTL call, as shown below:
LINK programname [errorpara]
... [DLIUIB pcbname [pcbname ...]]
... [userparm [userparm]...]
XCTL programname [errorpara]
... [DLIUIB pcbname [pcbname ...]]
- The invoking program must pass the PCBs in the order that they are coded in the Linkage Section of the invoked program.
- When a program invokes a LINK to a subprogram, and passes a scheduled PSB, it expects the PSB to remain scheduled when control returns from the subprogram. To return without terminating the PSB, use TERM because it does not terminate a PSB passed from a higher-level program. To terminate a PSB, use the CIC-TERM-PSB call.
Example:
Pass part of a scheduled PSB and two Linkage Section data areas:
LINK PROGRMB * DLIUIB
... ORDERDB-PCB
... ITEMDB-PCB
... USER-LINK-1
... USER-LINK-2
The PSB remains scheduled at the start of the next program.