Issue IMS AIB call format
CICS® supports IMS requests with the AIBTDLI interface and the PCB format. In addition, IMS supports application interface block (AIB) format for issuing GMSG, ICMD, and RCMD calls.
GMSG, ICMD, and RCMD calls enable DBCTL operator commands to be sent in a CICS transaction, CDBM. See CDBM operator transaction.
The following calls are supported:
- DELETE
- DEQUEUE
- GET UNIQUE/GET NEXT/GET NEXT IN PARENT
- GET HOLD UNIQUE/GET HOLD NEXT/GET HOLD NEXT IN PARENT
- GETMESSAGE
- ICOMMAND
- INIT
- INQY
- INSERT
- LOG
- POSITION
- RCOMMAND
- REPLACE
- ROLS
- SETS
- STAT
CICS
has the following restrictions when function
shipping AIB requests:
- The AIB length must be defined as 128 to 256 bytes. IMS suggests 128, but CICS enforces this range by abend code AXF7.
- Only CICS Transaction Server systems can be in a function-shipping chain if AIB requests are being issued.
- Do not specify LIST=NO on the PCB statement in the PSB if you intend to function ship AIB requests for that PCBNAME.
- When using the AIBTDLI interface with the INQY function and the FIND sub-function, an IOPCB must be specified on the PSB schedule request. Failing to do this will result in an ADLG abend.
See Application programming for EXEC DLI in IMS product documentation for programming interface information about these calls, plus information about defining AIB format instead of PCB format, and on the AIBTDLI entry point for link edit.
The following table compares the AIB and PCB formats for EXEC DLI calls.
| AIB format | PCB format |
|---|---|
| EXEC DLI GU AIB(aibname) | EXEC DLI GU USING PCB(n) |
| EXEC DLI GN AIB(aibname) | EXEC DLI GN USING PCB(n) |
| EXEC DLI GNP AIB(aibname) | EXEC DLI GNP USING PCB(n) |
| EXEC DLI ISRT AIB(aibname) | EXEC DLI ISRT USING PCB(n) |
| EXEC DLI DLET AIB(aibname) | EXEC DLI DLET USING PCB(n) |
| EXEC DLI REPL AIB(aibname) | EXEC DLI REPL USING PCB(n) |
| EXEC DLI POS AIB(aibname) | EXEC DLI POS USING PCB(n) |
| EXEC DLI STAT AIB(aibname) | EXEC DLI STAT USING PCB(n) |
| EXEC DLI QUERY AIB(aibname) | EXEC DLI QUERY USING PCB(n) |
| EXEC DLI DEQ AIB(aibname) | EXEC DLI DEQ 1 |
| EXEC DLI LOG AIB(aibname) | EXEC DLI LOG 1 |
| EXEC DLI REFRESH AIB(aibname) | EXEC DLI REFRESH 1 |
| EXEC DLI ACCEPT AIB(aibname) | EXEC DLI ACCEPT 1 |
| EXEC DLI SETS AIB(aibname) | EXEC DLI SETS 1 |
| EXEC DLI ROLS AIB(aibname) | EXEC DLI ROLS 1 |
| EXEC DLI GMSG AIB(aibname) | --- |
| EXEC DLI ICMD AIB(aibname) | --- |
| EXEC DLI RCMD AIB(aibname) | --- |
Note:
- USING PCB is not required because these commands assume the IOPCB.
- You cannot use both the AIB and the PCB in a single EXEC DLI command, but you can choose either of them for each EXEC DLI command in an application program.
For more information about these commands, see DL/I calls reference in IMS product documentation.