Application program types

APPC/IMS is part of IMS TM that uses the CPI communications interface to communicate with application programs.

APPC/IMS supports the following types of application programs for LU 6.2 processing:

Standard DL/I application program

A standard DL/I application program does not issue any CPI Communications calls or establish any CPI-C conversations. This application program can communicate with LU 6.2 products that replace other LU-type terminals using the IMS API. A standard DL/I application program does not need to be modified, recompiled, or bound, and it executes as it currently does.

Modified standard DL/I application program

A modified standard DL/I application program is a standard DL/I online IMS TM application program that uses both DL/I calls and CPI Communications calls. It can be an MPP, BMP, or IFP that can access full-function databases, DEDBs, MSDBs, and Db2 for z/OS® databases.

A modified standard DL/I application program uses CPI Communications (CPI-C) calls to provide support for an LU 6.2 and non-LU 6.2 mixed network. The same application program can be a standard DL/I on one execution, when the CPI Communications ALLOCATE verb is not issued, and a modified standard DL/I on a different execution when the CPI Communications ALLOCATE verb is issued.

A modified standard DL/I application program receives its messages using DL/I GU calls to the I/O PCB and issues output responses using DL/I ISRT calls. CPI Communications calls can also be used to allocate new conversations and to send and receive data for them.

Related Reading: For a list of the CPI Communications calls, see CPI Communications Reference.

Use a modified standard DL/I application program when you want to use an existing standard DL/I application program to establish a conversation with another LU 6.2 device or the same network destination. The standard DL/I application program is optionally modified and uses new functions, new application and transaction definitions, and modified DL/I calls to initiate LU 6.2 application programs. Program calls and parameters are available to use the IMS-provided implicit API and the CPI Communications explicit API.

CPI Communications driven program

A CPI Communications driven application program uses Commit and Backout calls, and CPI Communications interface calls or LU 6.2 verbs for input and output message processing. This application program uses the CPI Communications explicit API, and can access full-function databases, DEDBs, MSDBs, and Db2 for z/OS databases. An LU 6.2 device can activate a CPI Communications driven application program only by allocating a conversation.

Unlike a standard DL/I or modified standard DL/I application program, input and output message processing for a CPI Communications driven program uses APPC/MVS buffers and bypasses IMS message queueing. Because these application programs do not use the IMS message queue, they can control their own execution with the partner LU 6.2 system. An IMS APSB call enables you to allocate a PSB for accessing IMS databases and alternate PCBs.

The application program uses the Common Programming Interface Resource Recovery (CPI-RR) SRRCMIT verb to initiate an IMS sync point and the CPI-RR SRRBACK verb for backout. CPI Communications driven application programs use the CPI-RR calls to initiate IMS sync point processing prior to program termination.

A CPI Communications driven application program is able to:

  • Access any type of database
  • Receive and send large messages like the standard DL/I and modified standard DL/I application programs
  • Control the flow of input and output with CPI Communications calls
  • Allocate multiple conversations with partner LU 6.2 devices
  • Cause synchronization with conversation partners
  • Use the IMS implicit API (for example, IMS queue services)
  • Use IMS services (for example, sync point at program termination) regardless of the API that is used