IMS call function codes

IMS Batch Terminal Simulator intercepts all IMS calls from the application program. The calls are handled differently depending on the type of application that is specified (./T TYPE= specification).

If TYPE=DLI is specified by the ./T command, all calls are passed directly to DL/I regardless of the PCB address specified in the call.

If TYPE=BMP, TYPE=MDB, TYPE=IFP, or TYPE=MSG is specified by the ./T command, then calls that refer to a PCB that is not a TPPCB are passed through to DL/I for processing. Calls that refer to the I/O PCB are handled as follows:

  • When IMS Batch Terminal Simulator is run in an IMS batch region (that is, EXEC parameter KW=DLI or KW=DBB), IMS Batch Terminal Simulator handles the function codes listed in the following table, as well as GU, GN, ISRT, or PURG. Any other function code results in an 'AD' status code returned in the I/O PCB.
  • When IMS Batch Terminal Simulator is run in an IMS batch region with ./T TYPE=IFP, IMS Batch Terminal Simulator handles the calls in the same way as when TYPE=MSG is specified.

The following table shows how the function codes are handled in an IMS batch region.

Table 1. IMS calls that refer to the I/O PCB and that are handled in an IMS batch region
Call Explanation
AUTH A '␢␢' status code is returned in the I/O PCB, and the I/O area is filled up with X'00'.
CHKP If ./T TYPE=MSG or TYPE=MDB, the call is passed directly to DL/I. The call is then handled like a GU if the status code '␢␢' is returned.
CMD If ./T TYPE=MSG or TYPE=MDB, a '␢␢' status code is returned in the I/O PCB, and the I/O area is filled up with X'00'.

If ./T TYPE=BMP, an 'AD' status code is returned in the I/O PCB.

DEQ A '␢␢' status code is returned in the I/O PCB.

If IMS Batch Terminal Simulator is running in an IMS DCCTL batch environment, an 'AD' status code is returned in the I/O PCB.

GCMD If ./T TYPE=MSG or TYPE=MDB, a '␢␢' status code is returned in the I/O PCB, and the I/O area is filled up with X'00'.

If ./T TYPE=BMP, a 'QE' status code is returned in the I/O PCB.

If the I/O area length exceeds 132 bytes, the length is truncated to 132 bytes.

GSCD The call is passed directly to DL/I.
INIT The call is passed directly to DL/I.
INQY The call is passed directly to DL/I, then the data is returned in the I/O area. The returned data depends on a subfunction.

See IMS call limitations.

LOG If IEFRDER DD is valid and BKO=Y is specified by the EXEC parameter, this call is passed directly to the DL/I.

For other cases, the call is checked for validity and the appropriate status code is returned. No logging occurs.

ROLB If IEFRDER DD is valid and BKO=Y is specified by the EXEC parameter, this call is passed directly to the DL/I.

For other cases, an 'AL' status code is returned in the I/O PCB.

ROLL The call is passed directly to DL/I.
ROLS If IMS Batch Terminal Simulator is running with Db2® DL/I Batch Support, an 'RC' status code is returned in the I/O PCB. Otherwise, the call is passed directly to DL/I.
SETO This call is checked for validity and the appropriate status code is returned. You do not need to set the processing options.
SETS If IMS Batch Terminal Simulator is running with Db2 DL/I Batch Support, a '␢␢' status code is returned in the I/O PCB. Otherwise, the call is passed directly to DL/I.
SETU The call is passed directly to DL/I.
SYNC If ./T TYPE=MSG or TYPE=MDB, an 'AD' status code is returned in the I/O PCB.

If ./T TYPE=BMP, IMS Batch Terminal Simulator issues a CHKP call to DL/I on the behalf of the caller. A '␢␢' status code is returned in the I/O PCB.

XRST If ./T TYPE=MSG, an 'AD' status code is returned in the I/O PCB.

If ./T TYPE=BMP or TYPE=MDB, the call is passed directly to DL/I.

When IMS Batch Terminal Simulator is run in an IMS online region (that is, EXEC parameter KW=BMP and JBP), IMS Batch Terminal Simulator handles the function codes listed in the following table, as well as GU or GN. Any other function code is passed directly to DL/I.

Table 2. IMS calls that refer to the I/O PCB and that are handled in an IMS online region
Call Explanation
CHKP If ./T TYPE=MSG or TYPE=MDB, the call is passed directly to DL/I. Then, if the status code '␢␢' is returned, call is then handled like a GU.

If ./T TYPE=BMP, the call is passed directly to DL/I.

CHNG This call is simulated by IMS Batch Terminal Simulator.

If ./E SPLAPI=YES and Advanced Print Function Options is specified, the call is passed directly to DL/I for Spool API Functions.

CMD If ./T TYPE=MSG or TYPE=MDB, a '␢␢' status code is returned in the I/O PCB, and the I/O area is filled up with X'00'.

If ./T TYPE=BMP, an 'AD' status code is returned in the I/O PCB.

GCMD If ./T TYPE=MSG or TYPE=MDB, a '␢␢' status code is returned in the I/O PCB, and the I/O area is filled up with X'00'.

If ./T TYPE=BMP, a 'QE' status code is returned in the I/O PCB.

If the I/O area length exceeds 132 bytes, the length is truncated to 132 bytes.

INQY The call is passed directly to DL/I, and then the data is returned in the I/O area. The returned data depends on a subfunction.

See IMS call limitations.

ISRT If ISRT issues a call for an alternative PCB that has been set up for IAFP processing, the call is passed directly to DL/I.
PURG If PURG issues a call for an alternative PCB that has been set up for IAFP processing, the call is passed directly to DL/I.
SETO If ./E SPLAPI=YES and Advanced Print Function Options is specified, the call is passed directly to DL/I for Spool API Functions.
SYNC If ./T TYPE=MSG or TYPE=MDB, an 'AD' status code is returned in the I/O PCB.

If ./T TYPE=BMP or TYPE=JMP, IMS Batch Terminal Simulator issues a SYNC call to DL/I on the behalf of the caller. A '␢␢' status code is returned in the I/O PCB.

XRST If ./T TYPE=MSG, an 'AD' status code is returned in the I/O PCB.

If ./T TYPE=BMP or TYPE=MDB, the call is passed directly to DL/I.

When IMS Batch Terminal Simulator is run in an IMS online region for a message-driven BMP (that is, EXEC parameter KW=BMP and IN=transaction code), IMS Batch Terminal Simulator handles the function codes listed in the following table for a message-driven BMP. Any other function code is handled as in a non-message-driven online IMS environment.

Table 3. IMS calls that refer to the I/O PCB and that are additionally handled in an IMS online region for message-driven BMP
Call Explanation
CMD If ./T TYPE=MSG or TYPE=MDB, the call is passed directly to DL/I.
GCMD If ./T TYPE=MSG or TYPE=MDB, the call is passed directly to DL/I.

IMS Batch Terminal Simulator supports the ICAL function code by passing it directly to DL/I. When IMS Batch Terminal Simulator is run in an IMS online region (that is, EXEC parameter KW=BMP or JBP) where IMS supports the ICAL function code, an ICAL call enables the application program to send a synchronous request to a non-IMS program or a service that runs in a z/OS® or distributed environment. When IMS Batch Terminal Simulator is run in an IMS batch region (that is, EXEC parameter KW=DLI or DBB) where IMS does not support the ICAL function code, an ICAL call fails with DL/I return and reason codes.