IDENTIFICATION DIVISION.
PROGRAM-ID.SAMP0030 2.
AUTHOR. BMC SOFTWARE.
INSTALLATION. BMC SOFTWARE.
DATE-COMPILED.
REMARKS. READ EXTRACTED SEGMENT DATA FROM TWO DATABASES AND FORMAT A REPORT.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-370.
OBJECT-COMPUTER. IBM-370.
INPUT-OUTPUT SECTION.
FILE-Control.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
77 FUNC-INIT PIC X(4) VALUE 'INIT'.
77 FUNC-GET PIC X(4) VALUE 'GET'.
77 FUNC-EOJ PIC X(4) VALUE 'EOJ'.
01 XDRPARM1. 05 FUNCTION PIC X(4) VALUE SPACES. 05 FUNC REDEFINES FUNCTION. 10 FILLER PIC X(03). 10 FUNC-SUFFIX PIC X. 05 STATUS PIC X(2) VALUE SPACES. 05 SEGMENT-CODE PIC S9(4) COMP. 05 SEGMENT-NAME PIC X(08).
01 XDRPARM2. 05 KEY-LENGTH PIC S9(4) COMP. 05 KEY-DATA PIC X(3840).
01 XDRPARM3. 05 SEGDATA-LENGTH PIC S9(4) COMP. 05 SEGDATA PIC X(28552).
PROCEDURE DIVISION.
A100-MAINLINE
******************************************
** INITIALIZATION SECTION **
******************************************
MOVE FUNC-INIT TO FUNCTION.
MOVE '1' TO FUNC-SUFFIX.
CALL 'FABGXDR' USING XDRPARM1.
MOVE '2' TO FUNC-SUFFIX.
CALL 'FABGXDR' USING XDRPARM1. . . .
******************************************
** MAIN PROCESSING SECTION **
******************************************
MOVE FUNC-GET TO FUNCTION.
MOVE '1' TO FUNC-SUFFIX.
PERFORM B100-PROCESS THRU B100-PROCESS-X UNTIL STATUS = 'GB'.
MOVE '2' TO FUNC-SUFFIX.
MOVE SPACES TO STATUS.
PERFORM B100-PROCESS THRU B100-PROCESS-X UNTIL STATUS = 'GB'.
******************************************
** END-OF-JOB SECTION **
******************************************
MOVE FUNC-EOJ TO FUNCTION.
CALL 'FABGXDR' USING XDRPARM1.
GOBACK.
B100-PROCESS.
******************************************
** PROCESSING SECTION **
******************************************
CALL 'FABGXDR' USING XDRPARM1,
XDRPARM2,
XDRPARM3.
IF STATUS = 'GB'
GO TO B100-PROCESS-X. .
. report formatting . .
B100-PROCESS-X.
EXIT.