XA switch modules are provided to enable you to link CICS with WebSphere
MQ:
Table 16. Essential Code for CICS applications (AIX)
Description |
C (source) |
C (exec) - add to your XAD.Stanza |
---|---|---|
XA initialization routine |
amqzscix.c |
amqzsc21 - CICS for AIX |
Always link your transactions with the thread safe WebSphere MQ library libmqm_r.a.
Compile the program by typing:
xlC_r4 /usr/mqm/samp/amqzscix.c -I/usr/lpp/encina/include \ -e amqzscix -o amqzscix /usr/lpp/cics/lib/regxa_swxa.o \ -L/usr/lpp/cics/lib -L/usr/lpp/encina/lib -lmqmcics_r -lmqmxa_r -lmqm_r \ -lcicsrt -lEncina -lEncServer -ldce
You can find more information about supporting CICS transactions in the WebSphere MQ System Administration Guide.
WebSphere MQ on UNIX systems support CICS on Open Systems via the XA interface.
You must ensure that CICS COBOL applications are linked to the threaded version of the library. CICS on Open Systems WebSphere MQ transactions must link with libmqm_r, except on Solaris, where you must link with lmqmcs_d.
You can run CICS programs using IBM COBOL SET for AIX or Micro Focus COBOL. The following sections describe the difference between these.
To use IBM COBOL, follow these steps:
export LDFLAGS="-qLIB -bI:/usr/lpp/cics/lib/cicsprIBMCOB.exp \ -I/usr/mqm/inc -I/usr/lpp/cics/include \ -e _iwz_cobol_main \ -L/usr/lib/dce -lmqmcb_r -ldcelibc_r -ldcepthreads"
where LIB is a compiler directive.
cicstcl -l IBMCOB <yourprog>.ccp
To use Micro Focus COBOL, follow these steps:
cicsmkcobol -L/usr/lib/dce -L/usr/mqm/lib \ /usr/mqm/lib/ libmqmcbrt.o -lmqm_r
This creates the Micro Focus COBOL language method file and enables the CICS run-time COBOL library to call WebSphere MQ on UNIX systems.
COBCPY=/usr/mqm/inc export COBCPY LDFLAGS="-L/usr/mqm/lib -lmqm_r" export LDFLAGS
cicstcl -l COBOL -e <yourprog>.ccp
You build CICS C programs using the standard CICS facilities:
cicstcl -l C amqscic0.ccs
Sample C source for a CICS WebSphere MQ transaction is provided by AMQSCIC0.CCS. The transaction reads messages from the transmission queue SYSTEM.SAMPLE.CICS.WORKQUEUE on the default queue manager and places them onto the local queue whose name is contained in the transmission header of the message. Any failures will be sent to the queue SYSTEM.SAMPLE.CICS.DLQ. The sample MQSC script AMQSCIC0.TST may be used to create these queues and sample input queues.