次の例のINMODは、入力データ ソースから80バイトのレコードを5つ読み取り、400バイトのレコード1つをTeradata FastLoadユーティリティに返します。
IDENTIFICATION DIVISION. PROGRAM-ID. BLKEXIT. AUTHOR. STV . INSTALLATION. TERADATA. DATE-WRITTEN. 05 APRIL 1984. DATE-COMPILED. SECURITY. OPEN. REMARKS. THIS PROGRAM IS AN EXAMPLE OF A COBOL INMOD ROUTINE. THE NAME MUST BE BLKEXIT. FUNCTION: THE PROGRAM READS FIVE 80-BYTE RECORDS AND RETURNS A COMPOSITE RECORD WHICH IS 400 BYTES LONG. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-370. OBJECT-COMPUTER. IBM-370. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT INMOD-DATA-FILE ASSIGN TO SYSIN-INDATA. DATA DIVISION. FILE SECTION. FD INMOD-DATA-FILE BLOCK CONTAINS 0 RECORDS LABEL RECORDS STANDARD. 01 INPUT-PARM-AREA PICTURE IS X(80). WORKING-STORAGE SECTION. 01 NUMIN PIC S9(4) COMP VALUE +0. 01 NUMOUT PIC S9(4) COMP VALUE +0. 01 FILES_OPEN PIC S9(4) COMP VALUE +0. LINKAGE SECTION. 01 STRUCT. 02 RETURN-INDICATEPIC S9(9) COMP. 02 RECORD-LEN PIC S9(9) COMP. 02 RECORD-BODY. 03 DATA-AREA1 PIC X(80). 03 DATA-AREA2 PIC X(80). 03 DATA-AREA3 PIC X(80). 03 DATA-AREA4 PIC X(80). 03 DATA-AREA5 PIC X(80). PROCEDURE DIVISION USING STRUCT. BEGIN. MAIN. IF RETURN-INDICATE = 0 THEN DISPLAY ’BLKEXIT CALLED - RETURN CODE 0’ PERFORM OPEN-FILES PERFORM READ-RECORDS GOBACK ELSE IF RETURN-INDICATE = 1 THEN DISPLAY ’BLKEXIT CALLED - RETURN CODE 1’ PERFORM READ-RECORDS GOBACK ELSE IF RETURN-INDICATE = 2 THEN DISPLAY ’BLKEXIT CALLED - RETURN CODE 2’ PERFORM OPEN-FILES MOVE 0 TO RECORD-LEN GOBACK ELSE IF RETURN-INDICATE = 5 THEN DISPLAY ’BLKEXIT CALLED - RETURN CODE 5’ IF FILES_OPEN = 1 THEN CLOSE INMOD-DATA-FILE MOVE 0 TO FILES_OPEN. MOVE 0 TO RECORD-LEN GOBACK ELSE DISPLAY ’BLKEXIT CALLED - RETURN CODE X’ GOBACK. OPEN-FILES SECTION. OPEN INPUT INMOD-DATA-FILE. MOVE 1 TO FILES_OPEN. MOVE 0 TO RETURN-INDICATE. READ-RECORDS SECTION. MOVE 0 TO BLOCK-NUM. READ INMOD-DATA-FILE INTO DATA-AREA1 AT END GO TO END-DATA. ADD 1 TO NUMIN. READ INMOD-DATA-FILE INTO DATA-AREA2 AT END GO TO END-DATA. ADD 1 TO NUMIN. READ INMOD-DATA-FILE INTO DATA-AREA3 AT END GO TO END-DATA. ADD 1 TO NUMIN. READ INMOD-DATA-FILE INTO DATA-AREA4 AT END GO TO END-DATA ADD 1 TO NUMIN. READ INMOD-DATA-FILE INTO DATA-AREA5 AT END GO TO END-DATA. ADD 1 TO NUMIN. MOVE 0 TO RETURN-INDICATE. MOVE 400 TO RECORD-LEN. ADD 1 TO NUMOUT. END-DATA SECTION. MOVE 0 TO RETURN-INDICATE. CLOSE INMOD-DATA-FILE. MOVE 0 TO FILES_OPEN. DISPLAY ’NUMBER OF INPUT RECORDS =’ NUMIN. DISPLAY ’NUMBER OF OUTPUT RECORDS=’ NUMOUT. MOVE 0 TO RECORD-LEN. MOVE 99 TO RETURN-INDICATE. GOBACK.