Minor Intermediate and Major Breaks Please use speaker
Minor, Intermediate and Major Breaks Please use speaker notes for additional information!
Input data for major. cbl Input data: 0110121234 HOE 0110121235 RAKE 0110151111 TROWEL 0110151112 HAND HOE 0120171000 LILY 0120171001 TULIP 0121223000 PANSY 0121223001 PETUNIA 0230245555 DOGWOOD 0230245556 CHERRY 0240276789 WHITE PINE 0240276790 BLACK PINE 0250553456 MAPLE 0250553457 OAK DIV BR DEPT 01201899 02501595 02000599 01400799 05000199 07500299 11200599 10000499 01010099 01012000 00513500 01020000 00807500 00909900
Report produced by major. cbl 04/11/99 INVENTORY REPORT DIV BR DEPT ITEM # ITEM NAME 01 01 10 10 12 12 HOE RAKE 1234 1235 TOTALS FOR DEPT: 12 01 01 10 10 15 15 1111 1112 TROWEL HAND HOE TOTALS FOR DEPT: 15 TOTALS FOR BRANCH: 10 01 01 20 20 17 17 1000 1001 LILY TULIP TOTALS FOR DEPT: 17 TOTALS FOR BRANCH: 20 01 01 21 21 22 22 3000 3001 PANSY PETUNIA TOTALS FOR DEPT: 22 TOTALS FOR BRANCH: 21 TOTALS FOR DIVISION: 01 02 02 30 30 24 24 5555 5556 DOGWOOD CHERRY TOTALS FOR DEPT: 24 TOTALS FOR BRANCH: 30 02 02 40 40 50 50 27 27 55 55 6789 6790 PAGE ON HAND 12 25 20 14 50 75 10 10 $1. 99 $2. 99 8 9 17 17 52 460 $119. 80 $111. 86 $99. 50 $224. 25 $323. 75 $5. 99 $4. 99 $670. 88 $499. 00 $1, 169. 88 $2, 351. 92 $100. 99 $120. 00 20 20 15 15 $227. 88 $398. 75 $231. 66 $858. 29 212 408 TOTALS FOR DEPT: 27 TOTALS FOR BRANCH: 40 TOTALS FOR DEPT: 55 TOTALS FOR BRANCH: 50 TOTALS FOR DIVISION: 02 FINAL TOTAL: $5. 99 $7. 99 125 112 100 INVEN VALUE $626. 63 34 71 5 10 MAPLE OAK $18. 99 $15. 95 37 WHITE PINE BLACK PINE 3456 3457 PRICE 1 $1, 009. 90 $1, 200. 00 $2, 209. 90 $135. 00 $200. 00 $675. 00 $2, 000. 00 $2, 675. 00 $75. 00 $99. 00 $600. 00 $891. 00 $1, 491. 00 $6, 375. 90 $8, 727. 82
First 7 records: The first seven input records: 0110121234 HOE 0110121235 RAKE 0110151111 TROWEL 0110151112 HAND HOE 0120171000 LILY 0120171001 TULIP 0121223000 PANSY 01201899 02501595 02000599 01400799 05000199 07500299 11200599 04/11/99 Note when the BR changes from 10 to 20, I need to write a dept total for the last dept and then a branch total for the br before I process the first record in br 20. INVENTORY REPORT DIV BR DEPT ITEM # ITEM NAME 01 01 10 10 12 12 HOE RAKE 1234 1235 TOTALS FOR DEPT: 12 01 01 10 10 15 15 1111 1112 TROWEL HAND HOE TOTALS FOR DEPT: 15 TOTALS FOR BRANCH: 10 01 01 20 20 17 17 1000 1001 LILY TULIP TOTALS FOR DEPT: 17 TOTALS FOR BRANCH: 20 01 Note that when the dept changes from 12 to 15, a total is written for dept 12 before dept 15 is processed. 21 22 3000 PANSY PAGE ON HAND 12 25 PRICE $18. 99 $15. 95 37 20 14 $5. 99 $7. 99 $227. 88 $398. 75 $119. 80 $111. 86 $231. 66 $858. 29 $1. 99 $2. 99 125 112 INVEN VALUE $626. 63 34 71 50 75 1 $99. 50 $224. 25 $323. 75 $5. 99 $670. 88
MAINLINE A-100 INITIALIZE B-100 PROCESS C-100 WRAPUP B-100 PROCESS READ 1 ST AT END RECORD A NO TO MORE-RECS DIV TO DIV-HOLD BR TO BR-HOLD DEPT TO DEPT-HOLD B-330 MAJOR-ROUT B-340 FINAL-ROUT STOP RUN A-100 -INITIALIZE OPEN FILES PROCESS DATE END A-100 MORE-RECS Y NOT = NO B-200 LOOP END B-100 N B-310 MINOR-ROUT B-320 INTER-ROUT A NOTE: DIV is the major break field, BR is the intermediate break field, and DEPT is the minor break field in this example. The move to hold should move whatever is the major break field, the intermediate break field and the minor break field.
B-200 -LOOP N N N DEPT NOT = DEPT-HOLD BR NOT = BR-HOLD Y DIV NOT = DIV-HOLD Y Y B-310 MINOR-ROUT B-230 INTER-ROUT B-310 MINOR-ROUT B B-230 INTER-ROUT B-240 MAJOR-ROUT
B B-300 -DETAIL B-300 DETAIL READ RECORD END B-200 N AT END Y Need header? B-400 HDR-ROUT NO TO MORE-RECS Set up detail line WRITE LINE Add to MINOR-TOTAL INTER-TOTAL MAJOR-TOTAL FINAL-TOTAL END B-300
B-310 -MINORROUT Set up minor total line WRITE MINOR TOTAL LINE B-320 -INTERROUT Set up intermed total line WRITE INTER TOTAL LINE B-330 -MAJORROUT Set up major total line WRITE MAJOR TOTAL LINE RESET: DEPT TO DEPT-HOLD RESET: BR TO BR-HOLD RESET: DIVTO DIV-HOLD RESET: MINOR-TOTAL =0 RESET: INTER-TOTAL =0 RESET: MAJOR-TOTAL =0 END B-310 END B-320 END B-330 B-320 -FINAL ROUT Set up final total line WRITE FINAL TOTAL LINE END B-320
B-400 HDR-ROUT C-100 -WRAPUP Set up page and line headers CLOSE FILES WRITE PAGE & LINE HEADERS Add to page # and reset line count END B-400 END C-100
A B-100 PROCESS READ 1 ST AT END RECORD NO TO MORE-RECS DIV TO DIV-HOLD BR TO BR-HOLD DEPT TO DEPT-HOLD B-330 MAJOR-ROUT B-340 FINAL-ROUT END B-100 MORE-RECS Y NOT = NO N B-310 MINOR-ROUT B-320 INTER-ROUT A B-200 LOOP B-100 -PROCESS. READ INPUT-FILE AT END MOVE "NO " TO MORE-RECS. MOVE DIV TO HOLD-DIV. MOVE BRANCH TO HOLD-BRANCH. MOVE DEPT TO HOLD-DEPT. PERFORM B-200 -LOOP UNTIL MORE-RECS = "NO ". PERFORM B-310 -MINOR-ROUT. PERFORM B-320 -INTER-ROUT. PERFORM B-330 -MAJOR-ROUT. PERFORM B-340 -FINAL-ROUT.
B-200 -LOOP N N N DEPT NOT = DEPT-HOLD BR NOT = BR-HOLD Y DIV NOT = DIV-HOLD Y Y B-310 MINOR-ROUT B-230 INTER-ROUT B-310 MINOR-ROUT B B-230 INTER-ROUT B-240 MAJOR-ROUT B-200 -LOOP. IF DIV NOT = HOLD-DIV PERFORM B-310 -MINOR-ROUT PERFORM B-320 -INTER-ROUT PERFORM B-330 -MAJOR-ROUT PERFORM U-000 -BLANK-LINE ELSE IF BRANCH NOT = HOLD-BRANCH PERFORM B-310 -MINOR-ROUT PERFORM B-320 -INTER-ROUT PERFORM U-000 -BLANK-LINE ELSE IF DEPT NOT = HOLD-DEPT PERFORM B-310 -MINOR-ROUT PERFORM U-000 -BLANK-LINE.
B B-300 DETAIL READ RECORD AT END NO TO MORE-RECS END B-200 PERFORM B-300 -DETAIL. READ INPUT-FILE AT END MOVE "NO " TO MORERECS.
B-300 -DETAIL N Y Need header? B-400 HDR-ROUT Set up detail line WRITE LINE Add to MINOR-TOTAL INTER-TOTAL MAJOR-TOTAL FINAL-TOTAL END B-300 -DETAIL. IF LINE-CT > 50 OR PAGE-NO = 1 PERFORM B-400 -HDR-ROUT. MOVE SPACES TO PRINTZ. MOVE DIV TO DIV-PR. MOVE BRANCH TO BRANCH-PR. MOVE DEPT TO DEPT-PR. MOVE ITEM-NO TO ITEM-NO-PR. MOVE ITEM-NAME TO ITEM-NAME-PR. MOVE ON-HAND TO ON-HAND-PR. MOVE PRICE TO PRICE-PR. MULTIPLY ON-HAND BY PRICE GIVING INV-VALUE-WS. MOVE INV-VALUE-WS TO INV-VALUE-PR. WRITE PRINTZ AFTER ADVANCING 1 LINES. ADD 1 TO LINE-CT. ADD ON-HAND TO MINOR-ONHAND-ACC. ADD ON-HAND TO INTER-ONHAND-ACC. ADD ON-HAND TO MAJOR-ONHAND-ACC ADD ON-HAND TO FINAL-ONHAND-ACC. ADD INV-VALUE-WS TO MINOR-VALUE-ACC. ADD INV-VALUE-WS TO INTER-VALUE-ACC. ADD INV-VALUE-WS TO MAJOR-VALUE-ACC. ADD INV-VALUE-WS TO FINAL-VALUE-ACC.
B-310 -MINORROUT Set up minor total line WRITE MINOR TOTAL LINE RESET: DEPT TO DEPT-HOLD RESET: MINOR-TOTAL =0 END B-310 -MINOR-ROUT. MOVE HOLD-DEPT TO DEPT-ML. MOVE MINOR-ONHAND-ACC TO MINOR-ONHAND-ACC-ML. MOVE MINOR-VALUE-ACC TO MINOR-VALUE-ACC-ML. WRITE PRINTZ FROM MINOR-TOTAL-LINE AFTER ADVANCING 2 LINES. MOVE DEPT TO HOLD-DEPT. MOVE 0 TO MINOR-ONHAND-ACC. MOVE 0 TO MINOR-VALUE-ACC. ADD 2 TO LINE-CT.
B-320 -INTERROUT Set up intermed total line WRITE INTER TOTAL LINE RESET: BR TO BR-HOLD RESET: INTER-TOTAL =0 END B-320 -INTER-ROUT. MOVE HOLD-BRANCH TO BRANCH-IL. MOVE INTER-ONHAND-ACC TO INTER-ONHAND-ACC-IL. MOVE INTER-VALUE-ACC TO INTER-VALUE-ACC-IL. WRITE PRINTZ FROM INTER-TOTAL-LINE AFTER ADVANCING 1 LINES. MOVE SPACES TO PRINTZ. MOVE BRANCH TO HOLD-BRANCH. MOVE 0 TO INTER-ONHAND-ACC. MOVE 0 TO INTER-VALUE-ACC. ADD 1 TO LINE-CT.
B-330 -MAJORROUT Set up major total line WRITE MAJOR TOTAL LINE RESET: DIVTO DIV-HOLD RESET: MAJOR-TOTAL =0 END B-330 -MAJOR-ROUT. MOVE HOLD-DIV TO DIV-MJL. MOVE MAJOR-ONHAND-ACC TO MAJOR-ONHAND-ACC-MJL. MOVE MAJOR-VALUE-ACC TO MAJOR-VALUE-ACC-MJL. WRITE PRINTZ FROM MAJOR-TOTAL-LINE AFTER ADVANCING 1 LINES. MOVE DIV TO HOLD-DIV. MOVE 0 TO MAJOR-ONHAND-ACC. MOVE 0 TO MAJOR-VALUE-ACC. ADD 1 TO LINE-CT.
B-320 -FINAL ROUT Set up final total line WRITE FINAL TOTAL LINE END B-320 B-340 -FINAL-ROUT. MOVE FINAL-ONHAND-ACC TO FINAL-ONHAND-ACC-FL. MOVE FINAL-VALUE-ACC TO FINAL-VALUE-ACC-FL. WRITE PRINTZ FROM FINAL-TOTAL-LINE AFTER ADVANCING 1 LINES.
B-400 HDR-ROUT Set up page and line headers WRITE PAGE & LINE HEADERS Add to page # and reset line count B-400 -HDR-ROUT. MOVE PAGE-NO TO PAGE-NO-HDR. WRITE PRINTZ FROM PAGE-HDR AFTER ADVANCING PAGE. WRITE PRINTZ FROM COLUMN-HDR AFTER ADVANCING 2 LINES. PERFORM U-000 -BLANK-LINE. ADD 1 TO PAGE-NO. MOVE 4 TO LINE-CT. END B-400 C-100 -WRAPUP CLOSE FILES END C-100 -WRAPUP. CLOSE INPUT-FILE PRINT-FILE.
- Slides: 18