VISION:Results executed successfully when a STEPLIB was used, but consistently abended with a S0C4 when executed out of the linklist.
The first thing to do is verify the usual suspects: that the name of the VISION:Results execution library in the linklist is the same as was included on the STEPLIB and then that the failing module is not included in another library higher up the linklist concatenation.
If those do not pan out, verify that no modules in the VISION:Results execution library have been marked as re-entrant / reusable.
Our modules are delivered as non-reentrant / non-reusable, but are sometimes relinked for various reasons such as expansions or to clear the IDR directory.
When the attributes are changed the modules become unusable causing unpredictable and undesirable outcomes.
Review the entry point area of the dump looking for something like this around any DYLxxxxx modules:
001451 008FFA18 NAME..... DYL280V ENTPT.... 0000B4D8 CHAIN.... 008FE000 001452 USE...... 0001 SP....... FC 001453 REENTERABLE. REUSABLE. =========== ========
When relinking the default should be non-reentrant and non-reusable, but to be sure and also to force a page boundary, you can relink as follows:
//LKED EXEC PGM=IEWL,REGION=2048K, // PARM=('NCAL','REUS(NONE)') //SYSLIB DD DSN=your.vresults.library,DISP=SHR //SYSLMOD DD DSN=your.vresults.library,DISP=SHR //SYSPRINT DD SYSOUT=* //SYSLIN DD * ORDER FRDRV00(P) INCLUDE SYSLIB(DYL280V) ENTRY FRDRV00 NAME DYL280V(R)
You can display the attributes using AMBLIST to verify the settings are correct:
//LIST EXEC PGM=AMBLIST //SYSPRINT DD SYSOUT=* //SYSLIB DD DISP=SHR,DSN=your.vresults.library //SYSIN DD * LISTLOAD MEMBER=DYL280V