Using the SORT and MERGE Statements
9.3 Sample Programs Using the SORT and MERGE Statements
Example 9–12 (Cont.) Merging Files
FD TOTAL-SALES
LABEL RECORDS ARE STANDARD.
01 TOTAL-RECORD
WORKING-STORAGE SECTION.
01 INITIAL-READ
01 THE-COUNTERS.
03 PRODUCT-AMT
03 REGION1-AMT
03 REGION2-AMT
03 REGION3-AMT
03 TOTAL-AMT
01 SAVE-MERGE-REC.
03 S-REGION-CODE
03 S-PRODUCT-CODE
03 S-SALES-AMT
03 FILLER
PROCEDURE DIVISION.
000-START SECTION.
010-MERGE-FILES.
OPEN OUTPUT TOTAL-SALES.
MERGE MERGE-FILE ON ASCENDING KEY M-PRODUCT-CODE
DISPLAY "TOTAL SALES FOR REGION 1 " REGION1-AMT.
DISPLAY "TOTAL SALES FOR REGION 2 " REGION2-AMT.
DISPLAY "TOTAL SALES FOR REGION 3 " REGION3-AMT.
DISPLAY "TOTAL ALL SALES
CLOSE TOTAL-SALES.
DISPLAY "END OF PROGRAM MERGE01".
STOP RUN.
020-BUILD-TOTAL-SALES SECTION.
030-GET-MERGE-RECORDS.
RETURN MERGE-FILE AT END
IF INITIAL-READ = "Y"
040-COMPARE-PRODUCT-CODE.
IF M-PRODUCT-CODE = S-PRODUCT-CODE
MOVE PRODUCT-AMT TO S-SALES-AMT.
MOVE ZEROES TO PRODUCT-AMT.
WRITE TOTAL-RECORD FROM SAVE-MERGE-REC.
MOVE MERGE-REC TO SAVE-MERGE-REC.
GO TO 040-COMPARE-PRODUCT-CODE.
9–20 Using the SORT and MERGE Statements
PIC X(100).
PIC X VALUE "Y".
PIC S9(7)V99.
PIC S9(9)V99.
PIC S9(9)V99.
PIC S9(9)V99.
PIC S9(11)V99.
PIC XX.
PIC X(10).
PIC S9(7)V99.
PIC X(79).
USING REGION1-SALES REGION2-SALES REGION3-SALES
OUTPUT PROCEDURE IS 020-BUILD-TOTAL-SALES
THRU 100-DONE-TOTAL-SALES.
MOVE PRODUCT-AMT TO S-SALES-AMT
WRITE TOTAL-RECORD FROM SAVE-MERGE-REC
GO TO 100-DONE-TOTAL-SALES.
MOVE "N" TO INITIAL-READ
MOVE MERGE-REC TO SAVE-MERGE-REC
PERFORM 050-TALLY-AMOUNTS
GO TO 030-GET-MERGE-RECORDS.
PERFORM 050-TALLY-AMOUNTS
GO TO 030-GET-MERGE-RECORDS.
" TOTAL-AMT.
(continued on next page)
Need help?
Do you have a question about the COBOL AAQ2G1FTK and is the answer not in the manual?
Questions and answers