Programs written to the Assist module interface
are very similar (in terms of I/O calls) to conventional IMS™ Transaction Manager (TM) MPPs.
- To communicate with IMS TM,
use the following calls (depending upon programming language) — CBLADLI,
PLIADLI, ASMADLI, or CADLI — instead of CBLTDLI, PLITDLI, ASMTDLI,
and CADLI, respectively.
- Use the same parameters as with the IMS TM
counterparts.
- The first IMS call to the
I/O PCB must be GU. Subsequent IMS calls
to the I/O PCB can be GN and/or ISRT (with intervening database calls,
as appropriate).
- When the transaction is complete, the server program should issue
another GU to the I/O PCB to finalize processing of the present message.
If the server program receives a bb status code, (indicating another
message has been received for that program), it should loop back and
process that message. Note that the Assist module will have closed
the previous connection and opened a new connection associated with
the new message. When the GU returns a QC status code, no more messages
have been received for that program and the program should end.
A
set of one GU, one or more GN calls, and one or more ISRT calls to
the I/O PCB (with intervening database calls, as required) constitute
a transaction. The Assist module interprets each GU as the start of
a new transaction.
- The PURG call cannot be used to indicate end-of-message; the server
should not issue PURG calls to the I/O PCB.
- The Assist module GU reads the TIM into the I/O area defined in
the server program; consequently, the I/O area you define in the server
must be at least 56 bytes in length (the length of the TIM).
- If the server program attempts to insert more than 32KB, the Assist
module flags this as an error by terminating processing and returning
a status code of ZZ.