This section is intended for application programmers who implement and integrate ATMI platform and host enterprise applications using Application Program-to-Program Communication/Information Management System (APPC/IMS) programs. The application programmer in the IMS environment can use implicit or explicit IMS programming techniques.The explicit API can be used by any IMS application program to access an APPC conversation directly. IMS resources are available to the CPI-C driven application program only if the application issues the APSB (Allocate_ PSB) call. The CPI-C driven application program must use the CPI-RR SRRCMIT and SRRBACK verbs to initiate an IMS sync point or backout.To use the implicit APPC capabilities of IMS, you must modify the APPCMxx file in the SYS1.PARMLIB library provided with your Oracle Tuxedo Mainframe Adapter for SNA software. The configuration parameters in this file associate the LU with the IMS scheduler. You must identify the LU representing the application name used by Oracle Tuxedo Mainframe Adapter for SNA to access the IMS region and the IMS system ID which provides scheduling for inbound requests. Be sure to discuss with mainframe support personnel the changes you make to the APPCMxx file.Listing 6‑1 is an example of a non-transactional program. In this example, the VTAM application major node is designated to be MVSLUO1 and the scheduling facility is designated to be the IMS control region IVP4.The job that starts the IMS subsystem should have the APPC parameter set to Y. The example in Listing 6‑2 illustrates such a job, but is not intended to be used under actual conditions. Use your own custom job for starting IMS.Listing 6‑2 IMS Subsystem Start Job (Example Only)Listing 6‑3 is an example of a transactional VTAM program. The inclusion of the LU definition SYNCLVL=SYNCPT (shown in bold) makes the program transactional.
Note: Listing 6‑3 Sample VTAM LU DefinitionMVSLU01 APPL ACBNAME=MVSLU01, ACBNAME FOR APPC C
APPC=YES, C
AUTOSES=0, C
DDRAINL=NALOW, C
DLMOD=APPCHOST, C
DMWNL=5, C
DMINWNR=5, C
DRESPL=NALLOW, C
DSESLIM=10, C
LMDENT=19, C
MODETAB=APPCTAB, C
PARSESS=YES, C
SECACPT=CONV, C
SRBEXIT=YES, C
SYNCLVL=SYNCPT, C
ATNLOSS=ALL, C
VPACING=1The following Oracle Tuxedo Mainframe Adapter for SNA transactional test programs are installed in the ATMI platform installation in the subdirectory TMA/sna/simpapp:
• simpims.c is a simple ATMI client used to invoke both the sample IMS server programs. It takes a data string and service name as inputs. It invokes the service and passes the input data string.
• IMPIMSSV.cbl is a simple IMS echo server. It reads data from the IMS message queue and writes the same data in response. It is intended to be used as an implicit SNA example.
• EXPIMSSV.c is an IMS server transaction using explicit CPI-C calls. It is written for sync level 2 use. The program uses an IBM sample database, IVPDB2. The program displays, adds, and deletes records from the database, based on an input string. Sample input strings are documented in the source.
• BEAWTOR.asm is an assembler subroutine used by EXPIMSSV.c to write messages to the MVS console log.