IDENTIFICATION DIVISION.
PROGRAM-ID. CON-BREAK.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT EMP-FILE ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL.
SELECT REP-FILE ASSIGN TO DISK
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD EMP-FILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "EMP.INP".
01 EMP-REC.
02 SALESMAN-NO PIC 9999.
02 AMOUNT-OF-SALES PIC 99999.
FD REP-FILE
LABEL RECORDS ARE STANDARD
VALUE OF FILE-ID IS "EMP.OUT".
01 REP-REC PIC X(80).
WORKING-STORAGE SECTION.
77 TOT-SALE PIC 9(6).
77 TOT-COMM PIC 9(6)V9(2).
77 COM PIC 9(6)V9(2).
77 TSNO PIC 9(4).
01 HEADING-1.
02 FILLER PIC X(11) VALUE "SALESMAN-NO".
02 FILLER PIC X(13) VALUE SPACES.
02 FILLER PIC X(16) VALUE "AMOUNT OF-SALES".
02 FILLER PIC X(18) VALUE SPACES.
02 FILLER PIC X(10) VALUE "COMMISSION".
01 DETAIL-LINE.
02 SALESMAN PIC B(3)ZZZZ.
02 AMT-OF-SALE PIC B(20)ZZZZ9.
02 COMMISSION PIC B(24)ZZZZ9.99.
01 TOTAL-LINE.
02 FILLER PIC X(13) VALUE SPACES.
02 FILLER PIC X(12) VALUE "TOTAL-SALE".
02 A PIC Z(5)9.99.
02 FILLER PIC X(2) VALUE SPACES.
02 FILLER PIC X(18) VALUE "TOTAL-COMMISSION".
02 B PIC Z(5)9.99.
01 ASTERISK-LINE PIC X(70) VALUE ALL "-".
PROCEDURE DIVISION.
PARA-START.
OPEN INPUT EMP-FILE OUTPUT REP-FILE.
WRITE REP-REC FROM ASTERISK-LINE.
WRITE REP-REC FROM HEADING-1.
WRITE REP-REC FROM ASTERISK-LINE.
READ EMP-FILE AT END GO TO LAST-PARA.
PARA-READ-FIRST.
MOVE SALESMAN-NO TO SALESMAN TSNO.
MOVE AMOUNT-OF-SALES TO AMT-OF-SALE TOT-SALE.
COMPUTE COM = (1 / 10) * AMOUNT-OF-SALES.
MOVE COM TO TOT-COMM.
MOVE COM TO COMMISSION.
GO TO PARA-PRINT.
PARA-READ.
READ EMP-FILE AT END GO TO LAST-PARA.
IF SALESMAN-NO NOT EQUAL TO TSNO GO TO PARA-TOTAL.
MOVE AMOUNT-OF-SALES TO AMT-OF-SALE.
COMPUTE COM = (1 / 10) * AMOUNT-OF-SALES.
MOVE COM TO COMMISSION.
ADD AMOUNT-OF-SALES TO TOT-SALE.
ADD COM TO TOT-COMM.
MOVE 0 TO SALESMAN.
PARA-PRINT.
WRITE REP-REC FROM DETAIL-LINE.
GO TO PARA-READ.
PARA-TOTAL.
MOVE TOT-SALE TO A.
MOVE TOT-COMM TO B.
WRITE REP-REC FROM TOTAL-LINE.
GO TO PARA-READ-FIRST.
LAST-PARA.
MOVE TOT-SALE TO A.
MOVE TOT-COMM TO B.
WRITE REP-REC FROM TOTAL-LINE.
WRITE REP-REC FROM ASTERISK-LINE.
CLOSE EMP-FILE REP-FILE.
STOP RUN.
No comments:
Post a Comment