Assembly of ADSMVS60 fails with ASMA167E Required name missing

Document ID : KB000005290
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue:

Assembly of CA DISK SVC module ADSMVS60 fails with Condition Code 8 and message

"ASMA167E Required name missing"

for the LOCTR statement from the MLIST macro at the end of the source code.

Following the related extract from assembly listing:

 

                       00020       10264+RS32     EQU   32

                                   10265+         LOCTR ,  

** ASMA167E Required name missing                         

** ASMA435I Record 89 in your.CCUWMAC(MLIST) on volume: vvvvvv

000080                 00080 00080 10266+CPOOLPOL LOCTR    

 

 

Cause:

The Problem occurs, if the Assembler runs with SYSIN DD * followed by the source code from ADSMVS60 as in-stream data.

In this case the &SYSIN_MEMBER variable, used by the MLIST macro to create the label for the LOCTR statement, is not resolved resulting in 

"** ASMA167E Required name missing".

Resolution:

Don't use SYSIN DD * to assemble ADSMVS60.

Use SYSIN DD referring to member ADSMVS60 in a library.

NOTE: Changes should not be made to ADSMVS60 in CCUWSAMP, as this library is under SMPE control and changes might be lost after maintenance for this module. Copy ADSMVS60 to a user library and when customized install ADSMVS60 running the JCL from member USERMOD1 in the CCUWJCL library:

 

//JOBNAME  JOB (ACCT INFO)                                            

//*********************************************************************

//*                INSTALL CA DISK OPEN SVC                           *

//*                                                                   *

//*********************************************************************

//SMP     EXEC PGM=GIMSMP,REGION=5120K,                               

//             PARM='CSI=CAISMPE.CSI'                                 

//SYSPRINT  DD SYSOUT=*                                               

//SMPRPT    DD SYSOUT=*                                                

//SMPOUT    DD SYSOUT=*                                               

//SMPHOLD   DD DUMMY                                                  

//USERASM   DD DISP=SHR,DSN=USERID.ASM                                

//SMPCNTL   DD *                                                      

SET BOUNDARY(GLOBAL).                                                 

RECEIVE  S(SDU1811).                                                  

SET BOUNDARY(CAIT0).                                                   

APPLY S(SDU1811) ASSEM .                                              

//SMPPTFIN  DD *                                                      

++USERMOD(SDU1811).                                                   

++VER(Z038) FMID(CCUWC50).                                            

++SRC(ADSMVS60) DISTLIB(ACUWSAMP) DISTMOD(ACUWMOD0) TXLIB(USERASM).   

/*                                                                     

 

The USERASM DD in USERMOD1 refers to the user library containing the modified ADSMVS60 source code