What libraries are required when assembling the load modules for CMPIMS?
search cancel

What libraries are required when assembling the load modules for CMPIMS?

book

Article ID: 54521

calendar_today

Updated On:

Products

CA Distributed Database Management CA Database Analyzer for DB2 for Oracle Database Analyzer (IMS Tools) Mainframe Configuration Manager for IMS for z/OS IMS TOOLS - MISC Compress Data Compression (IMS Tools) Database Analyzer for IMS for z/OS Database Copier for IMS for z/OS Database Organizer for IMS for z/OS Mainframe Extended Terminal Manager (IMS Tools) High Performance Recovery for IMS for z/OS Database Organizer (IMS Tools) Mainframe Program Restart Manager for IMS for z/OS Secondary Index Builder for IMS for z/OS Secondary Index for IMS for z/OS

Issue/Introduction

Description:

PROBLEM DESCRIPTION:
When assembling the BrightStor CA-Compress Data Compression for IMS program IMSHRINK, if you do not include the necessary libraries to resolve all the macro statements or any external references, there will be Undefined symbol and/or Undefined operation code error messages in the output of the ASMA90 step (High Level Assembler).

SYMPTOMS:
A condition code of 8 or 12 will be passed from this step, indicating that any further steps will not be executed, with messages as;
** ASMA044E Undefined symbol
** ASMA057E Undefined operation code

IMPACT:
A new executable verion of the IMSHRINK program will not be created, and the linkedit step will be flushed, because of condition codes from the assembly step.

Solution:

CIRCUMVENTION/PROPER HANDLING:
Make all necessary libraries available that are needed for resolution of all macros, and external programs. Have them concatenated to the //SYSLIB DD statement.

PROBLEM RESOLUTION:
The following is a sample template used to assemble IMSHRINK;

 //SYSLIB   DD  DISP=SHR,DSN=SYS1.MACLIB 
 //         DD  DISP=SHR,DSN=imsvs.genlib 
 //         DD  DISP=SHR,DSN=imsvs.genliba 
 //         DD  DISP=SHR,DSN=imsvs.genlibb 
 //         DD  DISP=SHR,DSN=user.shrink.ims.source

Review of this template may raise these questions;

  1. Should the Shrink source library be last in the concatenation? Yes, this is OK.

  2. What are the actually libraries used (i.e.. IMS Maclibs) The GEN libraries contain IMS macros.

  3. What is SYS1.MODGEN? Why is it needed to resolve IHACDE and IHAASXB. Is this a common shop name standard, like SYS1.MACLIB? MODGEN would be a SYS1.MACLIB with PTFs applied. It is common and the customer should know which is the best to use.

  4. Can a sample assembly be supplied, with the proper library allocations that resolve all IMSHRINK undefined references?
 //ASMIMS   PROC N=,IV= 
 //ASM      EXEC PGM=ASMA90, 
 //             REGION=6M, 
 //             PARM=('OBJECT,NODECK,NORLD', 
 //             'USING(MAP,WARN(11)),XREF(SHORT)') 
 //SYSLIB    DD  DISP=SHR,DSN=SYS1.MACLIB 
 //          DD  DISP=SHR,DSN=SYS1.MODGEN 
 //          DD  DISP=SHR,DSN=IMSSYS&IV..SDFSMAC 
 //          DD  DISP=SHR,DSN=IDI.CMPRS.V532.IMSHRINK.SOURCE

Environment

Release:
Component: CMPIMS