If the DLI program accesses other mainframe subsystems such as WebSphere MQ and DB2, additional modifications are needed. For WebSphere MQ access, the object module must be re-linkedited using the WebSphere MQ for z/OS IMS stub CSQQSTUB instead of one of the batch stub programs. In addition, if not already done, an IMS PROCLIB Subsystem Member (SSM) entry must be created. A more detailed review of the requirements can be found in the article “The WebSphere MQSeries-IMS Interface” in the December 2007/January 2008 issue of z/Journal and the IBM MQSeries for z/OS Application Programming Reference and Guide manuals.
There’s more than one way to establish a connection between a DLI batch program and a DB2 subsystem. How extensive the changes will be to convert to a BMP depends on how that connection is currently defined. In a DLI batch job, the DB2 subsystem is usually specified through an input data set, DDITV02, but an SSM member and a Resource Translation Table (RTT) created in the IMSGEN process may have been used. A DDITV02 data set entry will override the SSM member if both are specified. If MBR=DSNMTV01 is coded in the DLI job, the actual executed application program will be the specified PROG value in the DDITV02. Figure 5a shows a typical JCL reference to the DDITV02 data set entry.
Entries for CONN_NAME,PLAN, PROG aren’t valid in the SSM, so a combination SSM member and RTT are required for a BMP. A sample SSM with two DB2 subsystems using the same RTT is shown in Figure 5b. The proper DB2 subsystem is determined by the LIT value specified in the DFSLI macro. Figure 5c shows the associated RTT table, which relates the executing program to the DB2 plan in the DB2 subsystem specified in the SSM. The program name specified by the APN= parameter must match the MBR= name in the BMP job.
The SSM and the RTT can be in either the control region or the dependent regions. Be careful to ensure the proper rules are followed to reference the correct members if they reside in multiple loadlibs or multiple regions. You may have established site standards for specifying the libraries they reside in. Additional information on loadlib search order can be found in the IMS Installation Vol. 2: System Definitions and Tailoring manual.
Figure 6 shows a sample implementation of how the IMS program, JCL and macros go together.
Extending the availability of mainframe subsystems, and the applications with proven value that run on them, is a significant technical challenge. That challenge can be met through careful analysis, planning, and cooperation among the responsible project teams. The challenges aren’t insurmountable; this article can help you identify what to look for in undertaking a project that will bring additional mainframe applications to the modern age.