/ PROCEDURE DIVISION A000-WEEKLY-SALES-REPORT. ***************************************************************** * * * THE FUNCTION OF THIS MODULE IS TO CONTROL THE OVERALL * * LOGIC FLOW AND TO CALL THE NECESSARY MODULES REQUIRED * * TO PROVIDE THE WEEKLY SALES AUDIT REPORT. IT IS ENTERED * * FROM AND EXITS TO THE OPERATING SYSTEM. * * * ***************************************************************** OPEN INPUT WEEKLY-SALES-TRANS-FILE, OUTPUT WEEKLY-SALES-AUDIT-REPORT. PERFORM B0000-GET-STARTED. PERFORM B100-PROCESS-AND-READ UNTIL THER-ARE-NO-MORE-RECORDS. PERFORM B200-FINISH-UP. CLOSE WEEKLY-SALES-TRANS-FILE, WEEKLY-SALES-AUDIT-REPORT. STOP RUN / B000-GET-STARTED. ************************************************************** * * * THE FUNCTION OF THIS MODULE IS TO PERFORM THE ACTIONS * * NECESSARY TO GET THE PROGRAM STARTED. THESE ACTIONS * * INCLUDE INITIALIZING VARIABLES, PRINTING REPORT HEADINGS,* * AND READING THE INITIAL RECORD. * * * **************************************************************** ACCEPT CURRENT-DATE FROM DATE. MOVE CURRENT-MONTH TO CURRENT-MONTH-OUT. MOVE CURRENT-DAY TO CURRENT-DAY-OUT. MOVE CURRENT-YEAR TO CURRENT-YEAR-OUT. PERFORM U000-PRINT-REPORT-HEADINGS. PERFORM U300-READ-WEEKLY-SALES-FILE. / B100-PROCESS-AND-READ. ******************************************************************** * * * THE FUNCTION OF THIS MODULE IS TO PERFORM THE NECESSARY * * CALCULATIONS FOR THE REPORT. CONTROL PRINTING OF REPORT * * DETAIL LINES, AND TO READ THE NEXT RECORD. * * * ********************************************************************* MULTIPLY WSL-SELLING-PRICE-01 BY WSL-TRANSACTION-QUANTITY-01 CIVING EXTENDED-PRICE. ADD EXTENDED-PRICE TO SALES-AMOUNT. ADD WSL-TRANSACTION-QUANTITY-01 TO NUMBER-OF-ITEMS. PERFORM U100-PRINT-DETAIL-LINE. PERFORM U300-READ-WEEKLY-SALES-FILE. / B200-FINISH-UP. ********************************************************************** * * THE FUNCTION OF THIS MODULE IS TO PERFORM THE NECESSARY * END OF JOB CALCULATIONS FOR THE REPORT AND TO CONTROL THE * PRINTING OF REPORT TOTAL LINES. * *********************************************************************** PERFORM U200-PRINT-REPORT-TOTAL-LINES. / U200-PRINT-REPORT-HEADINGS. ****************************************************************** * * THE FUNCTION OF THIS MODULE IS TO PRINT THE REPORT * HEADINGS AND THE COLUMN HEADINGS. * ******************************************************************** WRITE AUDIT-REPORT-LINE FROM HEADING-LINE-ONE AFTER ADVANCING PAGE. ADD 1 TO PAGE-NUMBER. MOVE PAGE-NUMBER TO PAGE-NUMBER-OUT. WRITE AUDIT-REPORT-LINE FROM HEADING-LINE-TWO AFTER ADVANCING 1 LINE MOVE 3 TO LINE-NUMBER. IF THERE-ARE-MORE-RECORDS PERFORM U010-PRINT-COLMN-HEADINGS. U010-PRINT-COLMN-HEADINGS. WRITE AUDIT-REPORT-LINE FROM HEADING-LINE-THREE AFTER ADVANCING 2 LINES. WRITE AUDIT-REPORT-LINE FROM BLANK-LINE AFTER ADVANCING 1 LINE. ADD 3 TO LINE-NUMBER. / U100-PRINT-DETAIL-LINE. **************************************************************** * * THE FUNCTION OF THIS MODULE IS TO PRINT THE REPORT DETAIL * LINES. * ***************************************************************** IF PAGE-FULL PERFORM U000-PRINT-REPORT-HEADINGS. MOVE WSL-PRODUCT-NUMBER-01 TO PRODUCT-NUMBER-OUT. MOVE WSL-CUSTOMER-SHORT-NAME-01 TO CUTERMER-NAME-OUT. MOVE WSL-SELLING-PRICE-01 TO SELLING-PRICE-OUT. MOVE WSL-TRANSACTION-QUANTITY-01 TO TRANSACTION-QUANTITY-OUT. MOVE EXTENDED-PRICE TO EXTENDED-PRICE-OUT. WRITE AUDIT-REPORT-LINE FROM DETAIL-LINE-ONE AFTER ADVANCING 1 LINE. ADD 1 TO LINE-NUMBER. / U200-PRINT-REPORT-TOTAL-LINES. ************************************************************* * * THE FUNCTION OF THIS MODULE IS TO PRINT THE REPORT TOTAL * LINES. * ************************************************************** PERFORM U000-PRINT-REPORT-HEADINGS. MOVE NUMBER-OF-ITEMS TO NUMBER-OF-ITEMS-OUT. MOVE SALES-AMOUNT TO SALES-AMOUNT-OUT. WRITE AUDIT-REPORT-LINE FROM TOTAL-LINE-ONE AFTER ADVANCING 5 LINES. WRITE AUDIT-REPORT-LINE FROM TOTAL-LINE-TWO AFTER ADVANCING 2 LINES. / U300-READ-WEEKLY-SALES-FILE. ************************************************************* * * THE FUNCTION OF THIS MODULE IS TO READ A RECORD FROM THE * WEEKLY SALES FILE. * ************************************************************** READ WEEKLY-SALES-TRANS-FILE AT END MOVE "NO" TO ARE-THERE-MORE-RECORDS.