IDENTIFICATION DIVISION. PROGRAM-ID. COBOL_EXAMPLE. * ENVIRONMENT DIVISION. * DATA DIVISION. * WORKING-STORAGE SECTION. * 77 RECORD-COUNT PIC 9(5) VALUE ZERO. * 01 EOF-SWITCH PIC 9(3) COMP. 88 EOF VALUE 255. * 01 INPUT-SIZE PIC X(4) VALUE ZERO. * 01 INPUT-BUFFER PIC X(512). * PROCEDURE DIVISION. * 000-HOUSE-KEEPING. * * Initialize the scanner and open the output file. * CALL "SCN_INIT". * 001-MAIN. * * Send request for status to the scanner until scanner is ready. * on SCAN-TO-COM * CALL "SCN_STATUS". * 002-PROCESS. * * Set loop to get records until end-of-file (EOF) is * received from the scanner. * PERFORM 003-CALL-SCANNER UNTIL EOF. * GO TO 009-END-OF-JOB. * 003-CALL-SCANNER. * ADD 1 TO RECORD-COUNT. DISPLAY "Record number: ", RECORD-COUNT. * * Call scanner routine, placing data in INPUT-BUFFER, and setting * EOF-SWITCH to 255 at END-OF-DATA. * CALL "SCN_GETREC" USING BY DESCRIPTOR INPUT-BUFFER BY REFERENCE INPUT-SIZE, EOF-SWITCH. * * <<< USER PROGRAM EDIT CHECKS HERE, IF ANY >>> * * Write the record to the file if EOF is not reached. * IF NOT EOF CALL "SCN_WRITE" USING BY DESCRIPTOR INPUT-BUFFER BY REFERENCE INPUT-SIZE. * 009-END-OF-JOB. * * De-initialize the scanner and close the output file. * CALL "SCN_DEINIT". * STOP RUN. * ****************************** END OF PROGRAM ************************