Modified IMS application programs

Modified IMS application programs use a DL/I GU call to retrieve the incoming transaction and to trigger a sync point.

These modified IMS application programs also use DL/I ISRT calls to generate output messages to the same or different terminals, which can be LU 6.2 terminals.1 Unlike standard IMS application programs, modified IMS application programs use CPI Communications calls to allocate new conversations, and to send and receive data. IMS has no direct control of these CPI Communications conversations.

Modified IMS transactions are indistinguishable from standard IMS transactions until program execution. In fact, the same application program can be a standard IMS application on one execution, and a modified IMS application on a different execution. The distinction is simply whether the application program has used CPI Communications resources.

IMS provides the following services for modified IMS application programs:
  • Receives incoming transactions from LU 6.2 application programs
  • Schedules transactions into local and remote dependent IMS regions
  • Appropriate transaction recoverability before transaction scheduling
  • Provides integration of IMS-controlled conversation flows with database updates during sync point for APPC Sync_Level options (NONE, CONFIRM, SYNCPT)
  • Provides all necessary LU 6.2 calls to APPC/MVS™ services for IMS-controlled LU 6.2 conversations
  • Sends either synchronous or asynchronous output to LU 6.2 application programs
  • Keeps asynchronous output on the IMS message queue until successful send occurs
  • Allocates new LU 6.2 conversations for any messages inserted to alternate PCBs using the DL/I ISRT calls
IMS does not provide any services for conversations explicitly allocated by the application program. Explicitly allocated conversations need to be deallocated if a program abend occurs.
1 A non-message-driven BMP is considered a modified standard IMS application program when it uses the explicit API.