Logo 
Search:

Cobol Articles

Submit Article
Home » Articles » Cobol » Homework HelpRSS Feeds

Program that illustrates the Use of Control Break

Posted By: Blas Fischer     Category: Cobol     Views: 4249

Program that illustrates the Use of Control Break.

Code for Program that illustrates the Use of Control Break in Cobol

       IDENTIFICATION DIVISION.
       PROGRAM-ID. ASS13.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT IN12 ASSIGN TO DISK
           ORGANIZATION IS LINE SEQUENTIAL.
           SELECT OUT12 ASSIGN TO DISK
           ORGANIZATION IS LINE SEQUENTIAL.

       DATA DIVISION.
       FD IN12
          LABEL RECORDS ARE STANDARD
          VALUE OF FILE-ID IS "IN12.TXT".
       01 IN12-REC.
          05 DAY-IN PIC X.
          05 SP-NO-IN PIC X(3).
          05 AMT-IN PIC 9(5)V99.
       FD OUT12
          LABEL RECORDS ARE STANDARD
          VALUE OF FILE-ID IS "OUT12.TXT".
       01 OUTREC PIC X(80).

       WORKING-STORAGE SECTION.
       01 H1.
          05 STAR PIC X(80) VALUE ALL '*'.
       01 H2.
          05 DEPT PIC X(4) VALUE "DAY".
          05 FILLER PIC X(1).
          05 AMT PIC X(12) VALUE "TOTAL SALES".
       01 H3.
          05 SP1 PIC X(80) VALUE ALL SPACES.
       01 TOTAL-REC.
          05 DAY-OUT PIC X(3).
          05 FILLER PIC X(3).
          05 TOTAL-OUT PIC $Z(7).99.
       77 A-T-M-REC PIC XXX VALUE 'YES'.
       77 FIRST-REC PIC XXX VALUE 'YES'.
       77 WS-DAY-HOLD PIC X.
       77 WS-TOTAL PIC 9(7)V99 VALUE 0.

       PROCEDURE DIVISION.
       MAIN-PARA.
           OPEN INPUT IN12
                OUTPUT OUT12
                WRITE OUTREC FROM H1
                WRITE OUTREC FROM H2
                WRITE OUTREC FROM H1
                WRITE OUTREC FROM H3

                PERFORM UNTIL A-T-M-REC = 'NO'
                 READ IN12
                      AT END
                         MOVE 'NO' TO A-T-M-REC
                      NOT AT END
                         PERFORM PARA-1                 
                 END-READ
                END-PERFORM
                PERFORM PARA-CTRBREAK

           CLOSE IN12
                 OUT12
           STOP RUN.
       MAIN-PARA.
       PARA-1.
           IF FIRST-REC = 'YES'
              MOVE DAY-IN TO WS-DAY-HOLD
              MOVE 'NO' TO FIRST-REC
           END-IF.
           IF DAY-IN NOT = WS-DAY-HOLD
              PERFORM PARA-CTRBREAK
           END-IF. 

           EVALUATE DAY-IN
             WHEN 1
                   MOVE "MON" TO DAY-OUT
             WHEN 2
                   MOVE "TUE" TO DAY-OUT
             WHEN 3
                   MOVE "WED" TO DAY-OUT
             WHEN 4
                   MOVE "THU" TO DAY-OUT
             WHEN 5
                   MOVE "FRI" TO DAY-OUT
           END-EVALUATE.

           COMPUTE WS-TOTAL =  WS-TOTAL + AMT-IN.

       PARA-CTRBREAK.
           MOVE WS-TOTAL TO TOTAL-OUT
           WRITE OUTREC FROM TOTAL-REC
           MOVE 0 TO WS-TOTAL                    
           MOVE 'YES' TO FIRST-REC
           WRITE OUTREC FROM H3.


Input:-
11010100000
11020050000
11030020000
11040030000
21010080000
21020050000
31010050000
31030100000
41040005000
41050010000
51010010000
51020002500


Output:-
********************************************************************************
DAY  TOTAL SALES
********************************************************************************

MON   $   2000.00

TUE   $   1300.00

WED   $   1500.00

THU   $    150.00

FRI   $    125.00
  
Share: 


Didn't find what you were looking for? Find more on Program that illustrates the Use of Control Break Or get search suggestion and latest updates.

Blas Fischer
Blas Fischer author of Program that illustrates the Use of Control Break is from Frankfurt, Germany.
 
View All Articles

 
Please enter your Comment

  • Comment should be atleast 30 Characters.
  • Please put code inside [Code] your code [/Code].

 
No Comment Found, Be the First to post comment!