Program Specification Blocks (PSBs)

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

Targets:

  • CICS
  • IMS DB

General Rules:

  1. 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 ...]]
  2. The invoking program must pass the PCBs in the order that they are coded in the Linkage Section of the invoked program.
  3. 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.