Endevor error message: SMGR155E BASE MEMBER ALREADY EXISTS on Package MOVE
search cancel

Endevor error message: SMGR155E BASE MEMBER ALREADY EXISTS on Package MOVE

book

Article ID: 212128

calendar_today

Updated On:

Products

Endevor

Issue/Introduction

When attempting to move an element, the following error is generated:

C1G0202I  ACTION #10 / STMT #15                                                 
C1G0203I     MOVE     ELEMENT ELEMENT1                                           
C1G0204I        FROM ENVIRONMENT: ENV1    SYSTEM: SYS1      SUBSYSTEM: SUBS1      
C1G0232I        OPTIONS:  WITH HISTORY, SIGNIN                                  
C1G0232I                  CCID:                                         
C1G0232I                  COMMENT: Move                           
C1G0265I  PROCESSOR GROUP JCL FOR THIS ELEMENT WAS OBTAINED FROM ENVIRONMENT
C1G0000I     DATA SET YOUR.LIBRARY.BASE                                          
C1G0000I     MEMBER ELEMENT1                                                     
SMGR155E  BASE MEMBER ALREADY EXISTS FOR THIS ELEMENT                           
C1G0277I  MOVE PROCESSING TERMINATED BECAUSE OF THE PREVIOUS ERROR              
C1G0200I  ELEMENT ACTION REQUEST PROCESSING COMPLETED, HIGHEST ENDEVOR RC WAS 0012
ELEMENT ACTION REQUEST PROCESSING COMPLETED, HIGHEST ENDEVOR RC WAS 0012   

 

Environment

Release : All

 

Resolution

This error occurs when Endevor compares the Footprint of the source element to the target element. The System, Subsystem, Type and Stage must match.

The most common reason for this error is more than one element with the same name are being stored to the same Base file, and COMPRESS/ENCRYPT(Y/N) in the Type definition is set to N.

When troubleshooting this error, check the footprint of the elements' base library. In this example above, check YOUR.LIBRARY.BASE for member ELEMENT1's footprint. The footprint should explain what happened and what's different between the 2 footprints.

If both elements are valid and you want to retain both elements, change the Type definition on one or both Types to COMPRESS/ENCRYPT(Y/N) ===> Y

This will store the element in the Base as a compressed (encrypted) name and the element name will not be ELEMENT1 (as per the example).  With this setting, no two names will be the same. 

Another way is to change the Base dataset in the Type definition so the two elements are NOT stored in the same Base file.

To keep the source element and delete the target element, use Delete, Transfer (with delete from behind) or Archive (with Delete from behind).

To keep the target element, retrieve the element to a lower Environment/Stage using the same System/Subsystem/Type as the existing element and then move it up.

Additional Information

Going forward if to prevent this in the future do the following:

  • Look at altering the System definitions changing "ELEMENT REGISTRATION CHECK OPTIONS" to prevent Element duplications.
  • Look at changes to the options table iprfx.iqual.CSIQSRC(ENCOPTBL) for option REGISTER_ACROSS_SYSTEMS.
  • Change COMPRESS/ENCRYPT(Y/N) ===> to Y for the Type Definitions.
  • Change the Base dataset to use symbolics so it's unique for a System/Subsystem/Type. For example:
BASE/IMAGE LIBRARY ===> BST.&C1SYSTEM..&C1SUBSYS..&C1STAGE..BASE 
This dataset would be :  BST.system.subsystem.stagename.BASE