For SYSTEM 2000 Version: 11.6
Problem Status: ZC (Zap Coded) -- Fix has received limited testing
Description of Problem:
RW USER EXIT WRITTEN IN COBOL II DOES NOT LEAVE THE PROGRAM IN 'LAST USED' STATE AS DOCUMENTED.
Note: Please send email to s2k@sas.com telling us which problem fixes you have downloaded so we can keep track of the fixes at your site in case questions or problems arise.
Top of Zap Deck:
* IBM V11.6 BUG 4515 OS
*
VSCOBSUB START 0
***********************************************************************
* *
* FUNCTION: CALL ILBOSTP0 BEFORE CALL TO COBOL SUBROUTINE USED IN S2K *
* REPORT WRITER USER EXIT TO INITIALIZE COBOL ENVIRONMENT *
* *
* **NOTE** *
* 1. THE NAME OF THIS ASSEMBLER ROUTINE MUST BE THE SAME AS THAT *
* SPECIFIED IN THE REPORT WRITER USER EXIT. *
* 2. THIS MODULE NEEDS TO BE LINKED WITH THE USER COBOL PROGRAM, *
* SPECIFYING THE ASSEMBLER ENTRY POINT (VSCOBSUB IN THIS CASE)*
* AS THE MAIN ENTRY POINT. *
* 3. THE VCON COBSUBR USED IN THIS ROUTINE REPRESENTS THE NAME *
* USED IN PROGRAM-ID OF COBOL EXIT PROGRAM. IT INDICATES *
* ENTRY AT PROCEDURE DIV. IF A NAME OTHER THAN COBSUBR *
* IS USED IN PROGRAM-ID, THAT NAME MUST REPLACE THE NAME *
* COBSUBR IN THIS ROUTINE. *
* 4. THE RUN TIME COBOL II LIBRARY CONTAINING ILBOSTP0 MUST BE *
* CONCATENATED IN THE LIST OF LIBRARIES CONTAINING LOAD *
* MODULES IN THE JCL USED FOR THE JOB. ILBOSTP0 IS AN IBM *
* SUPPLIED ROUTINE. *
***********************************************************************
USING *,15 USE REGISTER 12 AS BASE
STM 14,12,12(13) SAVE CALLING PROGRAM REGISTERS
LA 8,SAVEAREA
ST 13,4(8) SAVE REGISTER 13
ST 8,8(13) MY SAVEAREA ADR IN CALLING PGM
LA 13,SAVEAREA
LR 12,15
DROP 15
USING VSCOBSUB,12
L 15,ADRILBD ILBDSET0 PGM TO INDICATE COBOL
XC ADRILBD(4),ADRILBD CLEAR OUT ADDRESS
LTR 15,15 IS THIS SECOND PASS?
BZ CONTINUE YES, GO TO CONTINUE
BALR 14,15 PROGRAM IS A SUBPROGRAM
CONTINUE L 11,4(13) GET OLD REGISTER 13
LM 1,11,24(11) RESTORE REGISTERS TO ENTRY VALUES
L 15,ADRSUBR ADDRESS OF COBOL SUBPROGRAM
BALR 14,15
L 13,4(13) RESTORE REGISTER 13
LM 14,12,12(13) RESTORE REGISTERS
BR 14 RETURN TO S2K
ADRILBD DC V(ILBOSTP0) IBM SUPPLIED ROUTINE
ADRSUBR DC V(COBSUBR) VCON TO USER'S COBOL ROUTINE, TO BE
* REPLACED BY USER, IF NEED BE.
SAVEAREA DC 20D'0'
END VSCOBSUB
End of Zap Deck