Building z/OS batch applications
Learn how to build z/OS® batch applications and the steps to consider when doing so.
To build an application for IBM MQ for z/OS that runs under z/OS batch, create job control language (JCL) that performs these tasks:- Compile (or assemble) the program to produce object code. The JCL for your
compilation must include SYSLIB statements that make the product data definition files available to
the compiler. The data definitions are supplied in the following IBM MQ for z/OS libraries:
- For COBOL, thlqual.SCSQCOBC
- For assembler language, thlqual.SCSQMACS
- For C, thlqual.SCSQC370
- For PL/I, thlqual.SCSQPLIC
- For a C application, prelink the object code created in step 1.
- For PL/I applications, use the compiler option EXTRN(SHORT).
- Link-edit the object code created in step 1 (or
step 2 for a C application) to produce a load module. When you
link-edit the code, you must include one of the IBM MQ for z/OS batch stub programs (CSQBSTUB or one of the RRS stub programs: CSQBRRSI or CSQBRSTB).
- CSQBSTUB
- single-phase commit provided by IBM MQ for z/OS
- CSQBRRSI
- two-phase commit provided by RRS using the MQI
- CSQBRSTB
- two-phase commit provided by RRS directly
Note: If we use CSQBRSTB, you must also link-edit our application with ATRSCSS from SYS1.CSSLIB. Figure 1 and Figure 2 show fragments of JCL to do this. The stubs are language-independent and are supplied in library thlqual.SCSQLOAD.
- Store the load module in an application load library.
⋮ //* //* WEBSPHERE MQ FOR Z/OS LIBRARY CONTAINING BATCH STUB //* //CSQSTUB DD DSN=++THLQUAL++.SCSQLOAD,DISP=SHR //* ⋮ //SYSIN DD * INCLUDE CSQSTUB(CSQBSTUB) ⋮ /*
⋮ //* //* WEBSPHERE MQ FOR Z/OS LIBRARY CONTAINING BATCH STUB //* //CSQSTUB DD DSN=++THLQUAL++.SCSQLOAD,DISP=SHR //CSSLIB DD DSN=SYS1.CSSLIB,DISP=SHR //* ⋮ //SYSIN DD * INCLUDE CSQSTUB(CSQBRSTB) INCLUDE CSSLIB(ATRSCSS) ⋮ /*
To run a batch or RRS program, you must include the libraries thlqual.SCSQAUTH and thlqual.SCSQLOAD in the STEPLIB or JOBLIB data set concatenation.
To run a TSO program, you must include the libraries thlqual.SCSQAUTH and thlqual.SCSQLOAD in the STEPLIB used by the TSO session.
To run a UNIX System Services batch program from the UNIX System Services shell, add the libraries thlqual.SCSQAUTH and thlqual.SCSQLOAD to the STEPLIB specification in your $HOME?.profile like this:STEPLIB= thlqual.SCSQAUTH: thlqual.SCSQLOAD export STEPLIB