IDENTIFICATION DIVISION.
PROGRAM-ID. CH0602.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT EMPLOYEE-DATA ASSIGN TO "C0602.DAT",
ORGANIZATION IS LINE SEQUENTIAL.
SELECT PAYROLL-IN ASSIGN TO "C0602-RPT",
ORGANIZATION IS LINE SEQUENTIAL.
SELECT PAYROLL-OUT ASSIGN TO "C0602-RPT",
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD EMPLOYEE-DATA.
01 PAYROLL-REC.
05 EMPLOYEE-NO-IN PIC X(5).
05 EMPLOYEE-NAME-IN PIC X(20).
05 TERRITORY-NO-IN PIC X(2).
05 OFFICE-NO-IN PIC X(2).
05 ANNUAL-SALARY-IN PIC 9(6).
05 SOCIAL-SEC-IN PIC X(9).
05 PIC X(36).
FD PAYROLL-OUT.
01 PRINT-REC PIC X(80).
FD PAYROLL-IN.
01 PRINT-REC PIC X(80).
WORKING-STORAGE SECTION.
01 WORK-DATA.
05 ARE-THERE-MORE-RECORDS PIC XXX
VALUE "YES".
05 WS-DATE.
10 WS-YEAR PIC 9999.
10 WS-MONTH PIC 99.
10 WS-DAY PIC 99.
05 WS-PAGE-CT PIC 99
VALUE ZERO.
05 WS-LINE-CT PIC 99
VALUE ZERO.
01 HDR1-OUT.
05 PIC X(30) VALUE SPACES.
05 PIC X(15) VALUE "PAYROLL REPORT".
05 PIC X(15) VALUE SPACES.
05 PIC X(5) VALUE "PAGE".
05 PAGE-OUT PIC Z9.
05 PIC X(3) VALUE SPACES.
05 DATE-OUT. 10 MONTH-OUT PIC 99.
10 DAY-OUT PIC 99. 10 PIC X VALUE "/".
10 YEAR-OUT PIC 9999.
01 HDR2-OUT.
05 PIC X(9) VALUE "EMP. NO.".
05 PIC X(2) VALUE SPACES.
05 PIC X(13) VALUE "EMPLOYEE NAME".
05 PIC X(9) VALUE SPACES.
05 PIC X(8) VALUE "TERR NO.".
05 PIC X(2) VALUE SPACES.
05 PIC X(10) VALUE "OFFICE NO.".
05 PIC X(2) VALUE SPACES.
05 PIC X(13) VALUE "ANNUAL SALARY".
05 PIC X(2) VALUE SPACES.
05 PIC X(11) VALUE "SOC SEC NO.".
01 DETAIL-REC-OUT.
05 PIC X VALUE SPACES.
05 EMPLOYEE-NO-OUT PIC X(5).
05 PIC X(4) VALUE SPACES.
05 EMPLOYEE-NAME-OUT PIC X(20).
05 PIC X(5) VALUE SPACES.
05 TERRITORY-NO-OUT PIC X(2).
05 PIC X(8) VALUE SPACES.
05 OFFICE-NO-OUT PIC X(2).
05 PIC X(10) VALUE SPACES.
05 ANNUAL-SALARY-OUT PIC $ZZZZZZ.
05 PIC X(5) VALUE SPACES.
05 SOCIAL-SEC-OUT PIC XXXBXXBXXXX.
PROCEDURE DIVISION.
100-MAIN-MODULE.
OPEN INPUT PAYROLL-IN
OUTPUT PAYROLL-OUT
MOVE FUNCTION CURRENT-DATE TO WS-DATE
MOVE WS-MONTH TO MONTH-OUT
MOVE WS-DAY TO DAY-OUT
MOVE WS-YEAR TO YEAR-OUT
PERFORM 200-HDG-RTN.
PERFORM UNTIL ARE-THERE-MORE-RECORDS = "NO "
READ PAYROLL-IN
AT END
MOVE "NO " TO ARE-THERE-MORE-RECORDS
NOT AT END
PERFORM 300-REPORT-RTN
END-READ
END-PERFORM
CLOSE PAYROLL-IN
PAYROLL-OUT.
STOP RUN.
200-HDG-RTN.
ADD 1 TO WS-PAGE-CT
MOVE WS-PAGE-CT TO PAGE-OUT
WRITE PRINT-REC FROM HDR1-OUT
AFTER ADVANCING 2 LINES
WRITE PRINT-REC FROM HDR2-OUT
AFTER ADVANCING 2 LINES
MOVE ZEROS TO WS-LINE-CT.
300-REPORT-RTN.
IF WS-LINE-CT >=25
PERFORM 200-HDG-RTN
END-IF
MOVE EMPLOYEE-NO-IN TO EMPLOYEE-NO-OUT
MOVE EMPLOYEE-NAME-IN TO EMPLOYEE-NAME-OUT
MOVE TERRITORY-NO-IN TO TERRITORY-NO-OUT
MOVE OFFICE-NO-IN TO OFFICE-NO-OUT
MOVE ANNUAL-SALARY-IN TO ANNUAL-SALARY-OUT
MOVE SOCIAL-SEC-IN TO SOCIAL-SEC-OUT
WRITE PRINT-REC FROM DETAIL-REC-OUT
AFTER ADVANCING 2 LINES
ADD 1 TO WS-LINE-CT.
* Haikyousha
*
*
*
* 12/12/2008
* 14:15:35
* Subject: Rolling Totals & Arrays
*
*
* Message:
* Hello all, and thank you in advance for all of your input,
* insights, and such. I'm extremely new to COBOL, and went so
* far as to go out and buy a textbook as per the recommendation of a friend who teaches programming (sadly,
* not COBOL). I'm trying to practice programs on my own, but
* alas, where would progression be if one cannot ask
* questions?
*
*
* I have some COBOL code, which is as follows:
* =================================
* ====================
* What I'm trying to do now is to use the rolling totals (my
* book calls it rolling forward, I don't know the proper
* terminology) concept to have summary totals for both
* territory and final totals. I'm also trying to use an array table
* to create only the territory and final totals and have no detail
* lines within it.
*
* However, I'm drawing a huge blank on what code to use, or
* even where to put it!
*
* I've gotten this far, can anyone help me finish this out?
¤ Dauer der Verarbeitung: 0.16 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|