The following errors are seen while trying to assemble and link the ACF2/JES2 interface exits:
GIM24001E ** ASSEMBLER PROCESSING FOR SYSMOD usermod FAILED FOR MODULE ACFJ2ITF
Output from the assembly listing also shows:
** ASMA044E Undefined symbol - ACFNJ5AP
** ASMA435I Record 5831 in HLQ.ACF2.CAX1SRC0(ACFJ2ITF) on volume: volume
ACF2 R16
The SYSLIB concatenation for the job needs to have the new CAX1MAC0 library (with maintenance) ahead of (or replacing) the old CAX1MAC0 library that doesn't contain the new maintenance.
Further troubleshooting explanation example:
Perform a SRCHFOR ACFNJ5AP command against the library that contains the ACF2 PTFs. This reveals PTF SO01729 is the earliest instance of ACFNJ5AP. Browsing SO01729 and performing an F ACFNJ5AP reveals:
* TA10092 03/02/18 ACF2 REL 17.0 Z0046 TA10092
* Add flag ACFNJ5AP for JES2 Pass Phrase support. TA10092
In ++MAC(ACFNJBLK) DISTLIB(AAX1MAC0) SYSLIB(CAX1MAC0) .
ACFNJ5AP EQU X'04' APOST USED ON //*PASSWORD TA10092
and further down:
* TA10092 01/25/18 Z0046 *
* Add JES2 Pass Phrase support. *
In ++SRC(ACFJ2ITF) DISTLIB(AAX1SRC0) SYSLIB(CAX1SRC0) .
From the assembly listing, the CAX1SRC0 library contains the maintenance. 'Add JES2 Pass Phrase support' is seen in the output for ACFJ2ITF.
The assembly listing does not contain the addition of ACFNJ5AP in the ACFNJBLK DSECT, which leads to the conclusion that the CAX1MAC0 library being pulled in does not contain the same level of maintenance as the CAX1SRC0 library.