How to Implement SELECT/BYPASS Logic
CA supplies a COBOL subroutine (CULLCBSL) to select input records for processing. When SELECT/BYPASS parameters are entered in CA Culprit code for any run that calls the input module, the CA routines must be called from the module to implement the selection logic.
To implement SELECT/BYPASS logic:
CALL 'CULLCBSL' USING input-buffer-addr select-switch-addr
Example
This is an example of a COBOL input module that reads an 80-byte record.
Input Module
IDENTIFICATION DIVISION. PROGRAM-ID. CULLUS98. INSTALLATION. COMPUTER ASSOCIATES DATE-WRITTEN. MONTH YYYY. REMARKS. THIS IS A TEST OF A COBOL USER INPUT MODULE FOR A CULPRIT JOB. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-370. OBJECT-COMPUTER. IBM-370. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT INPUT-FILE ASSIGN TO UT-S-SYS010. *CHANGE FILE ASSIGNMENT FOR VSE/ESA TO: SYS010-UT-S. DATA DIVISION. FILE SECTION. FD INPUT-FILE RECORDING MODE IS F LABEL RECORDS ARE STANDARD RECORD CONTAINS 80 CHARACTERS BLOCK CONTAINS 0 RECORDS DATA RECORD IS RECORD-IN. 01 RECORD-IN PIC X(80). WORKING-STORAGE SECTION. 77 SEL-BYP-SW PIC X. 77 CLOSE-STATUS PIC X VALUE ' '. 77 OPEN-STATUS PIC X VALUE ' '. * CLOSE-STATUS = HEX 'FF' OPEN-STATUS = HEX '00' LINKAGE SECTION. 01 CULARG-INPUT PIC X(80). 01 CULARG-2 PIC X. 01 CULARG-SW PIC X. 01 CULARG-3 PIC XX. 01 CULARG-4 COMP PIC 99. 01 CULARG-5 COMP PIC 99. 01 CULARG-6 PIC X(8). 01 CULARG-7 PIC X. 01 CULARG-8 PIC X. PROCEDURE DIVISION USING CULARG-INPUT CULARG-2 CULARG-SW CULARG-3 CULARG-4 CULARG-5 CULARG-6 CULARG-7 CULARG-8. 0010-CONTROL. MOVE ' ' TO SEL-BYP-SW. IF CULARG-SW = CLOSE-STATUS PERFORM 0020-OPEN THRU 0020-EXIT ELSE IF CULARG-SW = OPEN-STATUS PERFORM 0030-READ THRU 0030-EXIT UNTIL SEL-BYP-SW = 'Y' ELSE PERFORM 0040-CLOSE THRU 0040-EXIT. GOBACK. 0020-OPEN. OPEN INPUT INPUT-FILE. MOVE OPEN-STATUS TO CULARG-SW. PERFORM 0030-READ THRU 0030-EXIT UNTIL SEL-BYP-SW = 'Y'. 0020-EXIT. EXIT. 0030-READ. READ INPUT-FILE INTO CULARG-INPUT AT END PERFORM 0040-CLOSE THRU 0040-EXIT MOVE CLOSE-STATUS TO CULARG-SW MOVE 'Y' TO SEL-BYP-SW GO TO 0030-EXIT. MOVE 'Y' TO SEL-BYP-SW. CALL 'CULLCBSL' USING CULARG-INPUT SEL-SYP-SW. 0030-EXIT. EXIT. 0040-CLOSE. CLOSE INPUT-FILE. 0040-EXIT. EXIT.
Copyright © 2014 CA.
All rights reserved.
|
|