Reassemble of User exits SARSTCUX, SARSPFUX and SARFVCUX

Document ID : KB000117810
Last Modified Date : 18/10/2018
Show Technical Document Details
Issue:
The client runs CA View 12.2 in a z/OS 2.1 environment.
Their environment upgrade to z/OS 2.3 necessitated the reassembly of their modified user exits SARSTCUX, SARSPFUX, and SARFVCUX.

The reassembly of the SARSTCUX exit failed using the 2.3 macro libraries:

ASSEMBLER PROCESSING FAILED FOR MODULE SARSTCUX IN THE CVDESRC LIBRARY.
RETURN CODE WAS 12. --- POSSIBLE CAUSES ---
 1. THE ASSEMBLER TEXT WAS IN ERROR.
 2. THE WRONG LEVEL OF MACROS WAS BEING USED.
 3. THE WRONG SET OF MACLIBS WAS BEING USED.

** ASMA068S Length error - L(IOBLENG)
** ASMA435I Record 484 in SYS1.SHASMAC($BUFFER) on volume:
** ASMA044E Undefined symbol - IOBINCAM
** ASMA435I Record 490 in SYS1.SHASMAC($BUFFER) on volume:
** ASMA044E Undefined symbol - IOBINCAM
** ASMA435I Record 491 in SYS1.SHASMAC($BUFFER) on volume:
** ASMA044E Undefined symbol - IOBXTENT
** ASMA435I Record 492 in SYS1.SHASMAC($BUFFER) on volume:
** ASMA044E Undefined symbol - IOBXTENT
** ASMA435I Record 493 in SYS1.SHASMAC($BUFFER) on volume:
 
Environment:
CA View 12.2
z/OS 2.3
Resolution:
In the client's SARSTCUX exit, they can add the following code:
IEZIOB , MVS Input/Output Block
IOBDSECT EQU IOBSTDRD,0,C'J' Start of I/O Block DSECT
IOBLENG EQU IOBEXTEN-IOBSTDRD+L'IOBSEEK Length of IOB

Or they can use the JES2 $MODULE MACRO and specify $BUFFER with it, like this:
$MODULE TITLE='JES2 Macros',
+ $BUFFER

Note: The $MODULE MACRO contains code that will include IEZIOB and generate the above equates automatically.

The client added the code and found it to assemble as expected.