IDENTIFICATIONDIVISION. PROGRAM-ID. CH0602. ENVIRONMENTDIVISION. INPUT-OUTPUTSECTION. FILE-CONTROL. SELECT EMPLOYEE-DATA ASSIGNTO"C0602.DAT", ORGANIZATIONISLINESEQUENTIAL. SELECT PAYROLL-IN ASSIGNTO"C0602-RPT", ORGANIZATIONISLINESEQUENTIAL. SELECT PAYROLL-OUT ASSIGNTO"C0602-RPT", ORGANIZATIONISLINESEQUENTIAL. DATADIVISION. FILESECTION. 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-STORAGESECTION.
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 VALUEZERO.
05 WS-LINE-CT PIC 99 VALUEZERO.
01 HDR1-OUT.
05 PIC X(30) VALUESPACES.
05 PIC X(15) VALUE"PAYROLL REPORT".
05 PIC X(15) VALUESPACES.
05 PIC X(5) VALUE"PAGE".
05 PAGE-OUT PIC Z9.
05 PIC X(3) VALUESPACES.
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) VALUESPACES.
05 PIC X(13) VALUE"EMPLOYEE NAME".
05 PIC X(9) VALUESPACES.
05 PIC X(8) VALUE"TERR NO.".
05 PIC X(2) VALUESPACES.
05 PIC X(10) VALUE"OFFICE NO.".
05 PIC X(2) VALUESPACES.
05 PIC X(13) VALUE"ANNUAL SALARY".
05 PIC X(2) VALUESPACES.
05 PIC X(11) VALUE"SOC SEC NO.".
01 DETAIL-REC-OUT.
05 PIC X VALUESPACES.
05 EMPLOYEE-NO-OUT PIC X(5).
05 PIC X(4) VALUESPACES.
05 EMPLOYEE-NAME-OUT PIC X(20).
05 PIC X(5) VALUESPACES.
05 TERRITORY-NO-OUT PIC X(2).
05 PIC X(8) VALUESPACES.
05 OFFICE-NO-OUT PIC X(2).
05 PIC X(10) VALUESPACES.
05 ANNUAL-SALARY-OUT PIC $ZZZZZZ.
05 PIC X(5) VALUESPACES.
05 SOCIAL-SEC-OUT PIC XXXBXXBXXXX. PROCEDUREDIVISION.
100-MAIN-MODULE. OPENINPUT PAYROLL-IN OUTPUT PAYROLL-OUT MOVEFUNCTION 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. PERFORMUNTIL ARE-THERE-MORE-RECORDS = "NO " READ PAYROLL-IN ATEND MOVE"NO "TO ARE-THERE-MORE-RECORDS NOTATEND PERFORM 300-REPORT-RTN END-READ END-PERFORM CLOSE PAYROLL-IN
PAYROLL-OUT. STOPRUN.
200-HDG-RTN. ADD 1 TO WS-PAGE-CT MOVE WS-PAGE-CT TO PAGE-OUT WRITE PRINT-REC FROM HDR1-OUT AFTERADVANCING 2 LINES WRITE PRINT-REC FROM HDR2-OUT AFTERADVANCING 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 AFTERADVANCING 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.13 Sekunden
(vorverarbeitet)
¤
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.