Executing a processor that contains the Endevor utility CONPARMX and it fails with the following error message:
C1E0002E STEP ASMCOMP PARM= INVALID--VALUE LONGER THAN MAX ALLOWED(100 CHARS)
We didn't change anything on the processor.
Endevor all versions
The error message C1E0002E is a Endevor message that indicates that the EXEC PARM is over 100 characters. This is not to be confused with the PARM that is passed to the compiler or linkage editor. The PARM= in the EXEC statement was changed by a processor group over ride to a variable in the PARM=.
Inspect the PARM= in the step. The reason for a PARM= being over 100 characters for CONPARMX is the length of PARM2 and PARM6.
These are the parms in CONPARMX:
//CONP EXEC PGM=CONPARMX,MAXRC=n,
// PARM=(parm1,'(parm2)',parm3,parm4,parm5,
// '(parm6)','parm7','parm8')
PARM1: This is the program name. This is a fixed length no more than 8 characters.
PARM2: This can be any length from 0 on.
PARM3: This is a member name. This is a fixed length no more than 8 characters.
PARM4: This is a member name. This is a fixed length no more than 8 characters.
PARM5: This is a member name. This is a fixed length no more than 8 characters.
PARM6: This can be any length from 0 on.
PARM7: This is a flag fixed length 1.
PARM8: This is a flag fixed length 1.
If PARM2 and PARM6 are not used (length 0) the maximum length of the PARM= in the EXEC statement is 34 characters plus about 13 characters to cover brackets and quotes.
Reduce the size of PARM2 and/or PARM6 by adding them to one of the members in PARM3,4 or 5. This will take the length away from the PARM= in the EXEC and put it to the member.
Example:
//GASMNBL PROC PARMA='NODECK,OBJECT,NOTERM,LIST,XREF(SHORT)',
// PARMZ='RENT,TERM,XREF(SHORT),USING(MAP,WARN(13)),LIST(133)'
//CONP EXEC PGM=CONPARMX,MAXRC=4,
// PARM=(ASMA90,'(&PARMA)',$$$$DFLT,&C1PRGRP,&C1ELEMENT,
// '(&PARMZ)','Y','N')
In the above example PARM2 and PARM6 are used. This would cause the PARM= to be over 100 characters.
In the above example PARM7 is Y. This causes the contents of parm2 through parm6 are to be concatenated. Looking at the members it's found that no member exists(or if one exists it does not contain ASMA90) for PARM3 or PARM5 but a member exists for PARM4. A member can be created in PARM3 adding in the information from PARM2. A member can be added for PARM5 adding in the information from PARM6.
The use of PARM2 and/or PARM6 should be used as a exception and limited use.