U U H H***************************************************************** H* MAINTENANCE LOG - PROGRAM # ABI003 * H***************************************************************** H* DATE | INIT | DESCRIPTIVE COMMENTS * H***************************************************************** H* 10/19/98 | ANG | CLONED FROM WFI003 * H***************************************************************** FWORKIN IPE F 25 FMASTER IC F 4000R 6A KSDS FCONOUT O F 80 CONSOLE FWORKOT1 O F 25 FWORKOT2 O F 25 FREPORT O F 132 OF LPRINTER FPRINT O F 132 OA LPRINTER SWORKIN CODE S3 S TYPE S2 S SLOT S1 LREPORT 06 1 6012 LPRINT 06 1 6012 I******************************* I* TYPE 1 -- PICK RECORDS * I* TYPE 2 -- RESV RECORDS * I* TYPE 3 -- OS RESV RECORDS * I******************************* IWORKIN NS 01 20 C1 I OR 02 20 C2 I OR 03 20 C3 I 1 60CODE L1 I 8 110QTY I 8 110QTY I 12 17 SLOT I 20 200TYPE IMASTER NS 04 1 CM I 35973597 BLDG I 35983603 MSLOT C* C L1 Z-ADD0 TOTQT1 50 C L1 Z-ADD0 TOTQT2 50 C L1 CODE CHAINMASTER 50 C L1N50 BLDG COMP 'F' 1313 C* C* C 01N50 ITEM1 ADD 1 ITEM1 60 C 02N50N13ITEM1 ADD 1 ITEM1 60 C* C 02N50 13ITEM2 ADD 1 ITEM2 60 C 03N50 ITEM2 ADD 1 ITEM2 60 C* C 01N50 TOTQT1 ADD QTY TOTQT1 C 02N50N13TOTQT1 ADD QTY TOTQT1 C* C 02N50 13TOTQT2 ADD QTY TOTQT2 C 03N50 TOTQT2 ADD QTY TOTQT2 C* C 01 50 JUNK ADD 1 JUNK 60 C 02 50 JUNK ADD 1 JUNK 60 C 03 50 JUNK ADD 1 JUNK 60 C* CL1 TOTQT1 COMP 0 10 CL1 TOTQT2 COMP 0 20 C* OWORKOT1 D 01N50 O OR 02N50 O OR 03N50 O CODE 6 O QTY 11 O SLOT 17 O 01 20 '1' O 02N13 20 '2' O 02 13 20 '3' O 03 20 '3' OWORKOT2 T L1N50 10 O 1 '1' O CODE 7 O TOTQT1 12 O T L1N50 20 O 1 '2' O CODE 7 O TOTQT2 12 OPRINT H 201 1P O OR OA O 15 'PROG #ABI00301' O 21 'DATE' O UDATE Y 30 O 52 '***' O 70 'INVENTORY NO SUCH' O 80 'CODE LIST' O 84 '***' O 111 'PAGE' O PAGE Z 115 O H 2 1P O OR OA 51 'TYPE' O 63 'CODE' O 74 'SLOT' O 85 'QTY' O D 2 01 O OR 02 O OR 03 O 01 51 'HOME' O 02 51 'RESV' O 03 51 'RESV' O CODE Z 63 O 01 MSLOT 74 O 02 SLOT 74 O 03 SLOT 74 O QTY 85 ' 0 ' O 02 13 105 'OUTSIDE STORAGE' O 03 105 'OUTSIDE STORAGE' O T 2 LR O 52 '***' O 70 'TOTAL SELECTION -' O ITEM1 2 78 O 82 '***' O T 2 LR O 52 '***' O 70 'TOTAL O-STORAGE -' O ITEM2 2 78 O 82 '***' O T 2 LR O 52 '***' O 71 'TOTAL INVALID -' O JUNK 2 78 O 82 '***' OCONOUT T 11 LR O 15 'TOTAL NUMBER OF' O 32 'SELECTION ITEMS-' O ITEM1 2 40 O T 11 LR O 15 'TOTAL NUMBER OF' O 32 'O-STORAGE ITEMS-' O ITEM2 2 40 O T 11 LR O 15 'TOTAL NUMBER OF' O 32 'INVALID RECORDS-' O JUNK 2 40 O* T 2 LR WRITE REPORT-OUTPUT-RECORD O* 82 '***' REPORT-RECORD(91:15) O* 03 51 'RESV' IF (03-ON)COBOL Code Generated
IDENTIFICATION DIVISION. *--------------------------------------------------------------* * R2C - RPG II converted to Cobol on 2019/11/18 * *--------------------------------------------------------------* PROGRAM-ID. ABI003. ENVIRONMENT DIVISION. CONFIGURATION SECTION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT WORKIN-FILE ASSIGN TO UT-S-WORKIN ORGANIZATION IS SEQUENTIAL ACCESS IS SEQUENTIAL. SELECT MASTER-FILE ASSIGN TO MASTER ORGANIZATION IS INDEXED ACCESS IS DYNAMIC RECORD KEY IS MASTER-KEY STATUS IS MASTER-STATUS. SELECT CONOUT-FILE ASSIGN TO UT-S-CONOUT ORGANIZATION IS SEQUENTIAL ACCESS IS SEQUENTIAL. SELECT WORKOT1-FILE ASSIGN TO UT-S-WORKOT1 ORGANIZATION IS SEQUENTIAL ACCESS IS SEQUENTIAL. SELECT WORKOT2-FILE ASSIGN TO UT-S-WORKOT2 ORGANIZATION IS SEQUENTIAL ACCESS IS SEQUENTIAL. SELECT REPORT-FILE ASSIGN TO SYS020-UR-3203-REPORT. SELECT PRINT-FILE ASSIGN TO SYS020-UR-3203-PRINT. SELECT SORT-WORKIN ASSIGN TO SORTWORK. DATA DIVISION. FILE SECTION. *-------------------------------------------------------------- * File descriptions *-------------------------------------------------------------- FD WORKIN-FILE BLOCK CONTAINS 0 RECORDS RECORDING MODE F. 01 WORKIN-RECORD PIC X(25). FD MASTER-FILE. 01 MASTER-RECORD. 05 MASTER-KEY PIC X(6). 05 FILLER PIC X(3994). FD CONOUT-FILE BLOCK CONTAINS 0 RECORDS RECORDING MODE F. 01 CONOUT-RECORD PIC X(80). FD WORKOT1-FILE BLOCK CONTAINS 0 RECORDS RECORDING MODE F. 01 WORKOT1-RECORD PIC X(25). FD WORKOT2-FILE 05 FILLER PIC X. 88 02-ON VALUE '1'. 88 02-OFF VALUE '0'. 05 FILLER PIC X. 88 03-ON VALUE '1'. 88 03-OFF VALUE '0'. 05 FILLER PIC X. 88 04-ON VALUE '1'. 88 04-OFF VALUE '0'. 05 FILLER PIC X. 88 1P-ON VALUE '1'. 88 1P-OFF VALUE '0'. 05 FILLER PIC X. 88 10-ON VALUE '1'. 88 10-OFF VALUE '0'. 05 FILLER PIC X. 88 13-ON VALUE '1'. 88 13-OFF VALUE '0'. 05 FILLER PIC X. 88 20-ON VALUE '1'. 88 20-OFF VALUE '0'. 05 FILLER PIC X. 88 50-ON VALUE '1'. 88 50-OFF VALUE '0'. 05 FILLER PIC X. 88 L1-ON VALUE '1'. 88 L1-OFF VALUE '0'. 05 FILLER PIC X. 88 L2-ON VALUE '1'. 88 L2-OFF VALUE '0'. 05 FILLER PIC X. 88 L3-ON VALUE '1'. 88 L3-OFF VALUE '0'. 05 FILLER PIC X. 88 L4-ON VALUE '1'. 88 L4-OFF VALUE '0'. 05 FILLER PIC X. 88 L5-ON VALUE '1'. 88 L5-OFF VALUE '0'. 05 FILLER PIC X. 88 L6-ON VALUE '1'. 88 L6-OFF VALUE '0'. 05 FILLER PIC X. 88 L7-ON VALUE '1'. 88 L7-OFF VALUE '0'. 05 FILLER PIC X. 88 L8-ON VALUE '1'. 88 L8-OFF VALUE '0'. 05 FILLER PIC X. 88 L9-ON VALUE '1'. 88 L9-OFF VALUE '0'. 05 FILLER PIC X. 88 LR-ON VALUE '1'. 88 LR-OFF VALUE '0'. 01 COUNTERS. 05 PRINT-PAGE-CTR PIC 9(3) VALUE ZERO. 05 PRINT-LINE-CTR PIC 9(5) VALUE ZERO. 05 REPORT-PAGE-CTR PIC 9(3) VALUE ZERO. 05 REPORT-LINE-CTR PIC 9(5) VALUE ZERO. *-------------------------------------------------------------- * Work fields for calculations *-------------------------------------------------------------- 01 CALCULATION-FIELDS. 05 TOTQT1 PIC S9(5) VALUE ZERO. 05 TOTQT2 PIC S9(5) VALUE ZERO. 05 ITEM1 PIC S9(6) VALUE ZERO. 05 ITEM2 PIC S9(6) VALUE ZERO. 05 JUNK PIC S9(6) VALUE ZERO. PROCEDURE DIVISION. INITIAL-PROCESS SECTION. MOVE ZEROES TO INDICATORS. SET 1P-ON TO TRUE MOVE FUNCTION CURRENT-DATE TO WS-CURRENT-DATE-FIELDS. MOVE WS-CURRENT-YEAR (3:2) TO UYEAR MOVE WS-CURRENT-MONTH TO UMONTH. MOVE WS-CURRENT-DAY TO UDAY. MOVE UDAY TO UDAYY MOVE UMONTH TO UMONTHY MOVE UYEAR TO UYEARY OPEN INPUT WORKIN-FILE INPUT MASTER-FILE OUTPUT CONOUT-FILE OUTPUT WORKOT1-FILE OUTPUT WORKOT2-FILE OUTPUT REPORT-FILE OUTPUT PRINT-FILE INSRT * MAIN-PROCESS SECTION. MOVE ZEROES TO INDICATORS. RETURN SORT-WORKIN INTO WORKIN-WORK AT END SET WORKIN-EOF TO TRUE SET LR-ON TO TRUE SET L1-ON TO TRUE SET L2-ON TO TRUE SET L3-ON TO TRUE SET L4-ON TO TRUE SET L5-ON TO TRUE SET L6-ON TO TRUE SET L7-ON TO TRUE SET L8-ON TO TRUE SET L9-ON TO TRUE PERFORM END-PROCESS NOT AT END PERFORM INPUT-WORKIN END-RETURN PERFORM DETAIL-CALCULATIONS IF FIRST-PASS = 0 MOVE 1 TO FIRST-PASS END-IF PERFORM PRINT-OUTPUT PERFORM WORKOT1-OUTPUT IF FIRST-PAGE = 0 SET 1P-OFF TO TRUE MOVE 1 TO FIRST-PAGE END-IF . MAIN-PROCESS-EXIT. EXIT. END-PROCESS SECTION. IF (L1-ON) AND (FIRST-PASS = 1) PERFORM TOTALING-ROUTINE PERFORM CONOUT-TOTAL PERFORM PRINT-TOTAL PERFORM REPORT-TOTAL PERFORM WORKOT2-TOTAL END-IF CLOSE WORKIN-FILE MASTER-FILE CONOUT-FILE WORKOT1-FILE WORKOT2-FILE REPORT-FILE PRINT-FILE GOBACK. END-PROCESS-EXIT. EXIT. SRPRC** INPUT-WORKIN SECTION. IF WORKIN-RECORD(20:1) = '1' OR WORKIN-RECORD(20:1) = '2' OR WORKIN-RECORD(20:1) = '3' SET 01-ON TO TRUE IF FIRST-PASS = 1 IF CODE-R2C NOT EQUAL TO CODE-R2C-BREAK SET L1-ON TO TRUE END-IF END-IF MOVE SORT-WORKIN-RECORD TO WORKIN-BREAK END-IF IF (L1-ON) AND (FIRST-PASS = 1) PERFORM TOTALING-ROUTINE PERFORM CONOUT-TOTAL PERFORM PRINT-TOTAL PERFORM REPORT-TOTAL PERFORM WORKOT2-TOTAL END-IF IF (01-ON) MOVE SPACES TO WORKIN-HOLD MOVE WORKIN-WORK TO WORKIN-HOLD END-IF . INPUT-WORKIN-EXIT. EXIT. INPUT-MASTER SECTION. IF MASTER-RECORD(1:1) = 'M' SET 04-ON TO TRUE END-IF IF (04-ON) MOVE SPACES TO MASTER-HOLD MOVE MASTER-WORK TO MASTER-HOLD END-IF . INPUT-MASTER-EXIT. EXIT. CHECK-VSAM-STATUS SECTION. SEARCH ALL STATUS-VALUE WHEN STATUS-ENTRY-ONE(STATUS-INDEX) = WS-VSAM-STATUS DISPLAY STATUS-ENTRY-TWO(STATUS-INDEX) UPON SYSOUT END-SEARCH. CHECK-VSAM-STATUS-EXIT. EXIT. DETAIL-CALCULATIONS SECTION. IF FIRST-PASS = 0 SET L1-ON TO TRUE END-IF C* L1 Z-ADD0 TOTQT1 50 IF (L1-ON) MOVE ZEROES TO TOTQT1 END-IF C* L1 Z-ADD0 TOTQT2 50 IF (L1-ON) MOVE ZEROES TO TOTQT2 END-IF C* L1 CODE CHAINMASTER 50 IF (L1-ON) SET 50-OFF TO TRUE MOVE CODE-R2C-HOLD TO MASTER-KEY READ MASTER-FILE INTO MASTER-WORK KEY IS MASTER-KEY INVALID KEY SET 50-ON TO TRUE MOVE MASTER-STATUS TO WS-VSAM-STATUS PERFORM CHECK-VSAM-STATUS NOT INVALID KEY SET 50-OFF TO TRUE END-READ PERFORM INPUT-MASTER END-IF C* L1N50 BLDG COMP 'F' 1313 IF (L1-ON AND 50-OFF) SET 13-OFF TO TRUE IF BLDG-HOLD IS GREATER THAN 'F' SET 13-ON TO TRUE END-IF IF BLDG-HOLD IS LESS THAN 'F' SET 13-ON TO TRUE END-IF END-IF C* 01N50 ITEM1 ADD 1 ITEM1 60 IF (01-ON AND 50-OFF) COMPUTE ITEM1 = ITEM1 + 1 END-IF C* 02N50N13ITEM1 ADD 1 ITEM1 IF (02-ON AND 50-OFF AND 13-OFF) COMPUTE ITEM1 = ITEM1 + 1 END-IF C* 02N50 13ITEM2 ADD 1 ITEM2 60 IF (02-ON AND 50-OFF AND 13-ON) COMPUTE ITEM2 = ITEM2 + 1 END-IF C* 03N50 ITEM2 ADD 1 ITEM2 IF (03-ON AND 50-OFF) COMPUTE ITEM2 = ITEM2 + 1 END-IF C* 01N50 TOTQT1 ADD QTY TOTQT1 IF (01-ON AND 50-OFF) COMPUTE TOTQT1 = TOTQT1 + QTY-HOLD END-IF C* 03 50 JUNK ADD 1 JUNK IF (03-ON AND 50-ON) COMPUTE JUNK = JUNK + 1 END-IF C*1 TOTQT1 COMP 0 10 . DETAIL-CALCULATIONS-EXIT. EXIT. TOTALING-ROUTINE SECTION. IF (L1-ON) SET 10-OFF TO TRUE IF TOTQT1 IS GREATER THAN 0 SET 10-ON TO TRUE END-IF END-IF C*1 TOTQT2 COMP 0 20 IF (L1-ON) SET 20-OFF TO TRUE IF TOTQT2 IS GREATER THAN 0 SET 20-ON TO TRUE END-IF END-IF . TOTALING-ROUTINE-EXIT. EXIT. O*ORKOT1 D 01N50 WORKOT1-OUTPUT SECTION. MOVE SPACES TO WORKOT1-RECORD. IF (01-ON AND 50-OFF) O* OR 02N50 OR (02-ON AND 50-OFF) O* OR 03N50 OR (03-ON AND 50-OFF) O* CODE 6 MOVE CODE-R2C-HOLD TO WORK-NUMERIC4 MOVE WORKFIELD4(13:6) TO WORKOT1-RECORD(1:6) O* QTY 11 MOVE QTY-HOLD TO WORK-NUMERIC4 MOVE WORKFIELD4(15:4) TO WORKOT1-RECORD(8:4) O* SLOT 17 MOVE SLOT-HOLD TO WORKOT1-RECORD(12:6) O* 01 20 '1' IF (01-ON) MOVE '1' TO WORKOT1-RECORD(20:1) END-IF O* 02N13 20 '2' IF (02-ON AND 13-OFF) MOVE '2' TO WORKOT1-RECORD(20:1) END-IF O* 02 13 20 '3' IF (02-ON AND 13-ON) MOVE '3' TO WORKOT1-RECORD(20:1) END-IF O* 03 20 '3' IF (03-ON) MOVE '3' TO WORKOT1-RECORD(20:1) END-IF O*ORKOT2 T L1N50 10 WRITE WORKOT1-RECORD MOVE SPACES TO WORKOT1-RECORD END-IF . WORKOT1-OUTPUT-EXIT. EXIT. WORKOT2-TOTAL SECTION. IF (L1-ON AND 50-OFF AND 10-ON) O* 1 '1' MOVE '1' TO WORKOT2-RECORD(1:1) O* CODE 7 MOVE CODE-R2C-HOLD TO WORK-NUMERIC4 MOVE WORKFIELD4(13:6) TO WORKOT2-RECORD(2:6) O* TOTQT1 12 MOVE TOTQT1 TO WORK-NUMERIC4 MOVE WORKFIELD4(14:5) TO WORKOT2-RECORD(8:5) O* T L1N50 20 WRITE WORKOT2-RECORD MOVE SPACES TO WORKOT2-RECORD END-IF IF (L1-ON AND 50-OFF AND 20-ON) O* 1 '2' MOVE '2' TO WORKOT2-RECORD(1:1) O* CODE 7 MOVE CODE-R2C-HOLD TO WORK-NUMERIC4 MOVE WORKFIELD4(13:6) TO WORKOT2-RECORD(2:6) O* TOTQT2 12 MOVE TOTQT2 TO WORK-NUMERIC4 MOVE WORKFIELD4(14:5) TO WORKOT2-RECORD(8:5) O*RINT H 201 1P WRITE WORKOT2-RECORD MOVE SPACES TO WORKOT2-RECORD . WORKOT2-TOTAL-EXIT. EXIT. PRINT-OUTPUT SECTION. MOVE SPACES TO PRINT-RECORD. IF (1P-ON) MOVE PAGE1 TO PAGEZ MOVE PAGEZ TO PRINT-RECORD(112:4) O* H 2 1P WRITE PRINT-OUTPUT-RECORD AFTER ADVANCING 2 LINES ADD 2 TO PRINT-LINE-CTR MOVE SPACES TO PRINT-OUTPUT-RECORD IF PRINT-LINE-CTR IS GREATER THAN 60 SET OA-ON TO TRUE MOVE ZERO TO PRINT-LINE-CTR ELSE SET OA-OFF TO TRUE END-IF MOVE SPACES TO PRINT-RECORD END-IF IF (1P-ON) O* OR OA OR (OA-ON) O* 51 'TYPE' MOVE 'TYPE' TO PRINT-RECORD(48:4) O* 63 'CODE' MOVE 'CODE' TO PRINT-RECORD(60:4) O* 74 'SLOT' MOVE 'SLOT' TO PRINT-RECORD(71:4) O* 85 'QTY' MOVE 'QTY' TO PRINT-RECORD(83:3) O* D 2 01 50 WRITE PRINT-OUTPUT-RECORD AFTER ADVANCING 2 LINES ADD 2 TO PRINT-LINE-CTR MOVE SPACES TO PRINT-OUTPUT-RECORD IF PRINT-LINE-CTR IS GREATER THAN 60 SET OA-ON TO TRUE MOVE ZERO TO PRINT-LINE-CTR ELSE SET OA-OFF TO TRUE END-IF MOVE SPACES TO PRINT-RECORD END-IF IF (01-ON AND 50-ON) O* OR 02 50 OR (02-ON AND 50-ON) O* OR 03 50 OR (03-ON AND 50-ON) O* 01 51 'HOME' IF (01-ON) MOVE 'HOME' TO PRINT-RECORD(48:4) END-IF O* 02 51 'RESV' IF (02-ON) MOVE 'RESV' TO PRINT-RECORD(48:4) END-IF O* 03 51 'RESV'IF (03-ON) MOVE 'RESV' TO PRINT-RECORD(48:4) END-IF O* CODE Z 63 MOVE CODE-R2C-HOLD TO WORK-NUMERIC4 MOVE WORKFIELD4(13:6) TO PRINT-RECORD(58:6) O* SLOT 74 MOVE SLOT-HOLD TO PRINT-RECORD(69:6) O* QTY 3 85 MOVE QTY-HOLD TO WS-EDITED-C5 MOVE WS-EDITED-C5(14:5) TO PRINT-RECORD(81:5) O*RINT T 2 LR WRITE PRINT-OUTPUT-RECORD AFTER ADVANCING 2 LINES ADD 2 TO PRINT-LINE-CTR MOVE SPACES TO PRINT-OUTPUT-RECORD IF PRINT-LINE-CTR IS GREATER THAN 60 SET OA-ON TO TRUE MOVE ZERO TO PRINT-LINE-CTR ELSE SET OA-OFF TO TRUE END-IF MOVE SPACES TO PRINT-RECORD . PRINT-OUTPUT-EXIT. EXIT. PRINT-TOTAL SECTION. iF (LR-ON) O* 65 'TOTAL RECORDS NOT' MOVE 'TOTAL RECORDS NOT' TO PRINT-RECORD(49:17) O* 75 'PROCESSED' MOVE 'PROCESSED' TO PRINT-RECORD(67:9) O* JUNK Z 83 MOVE JUNK TO WORK-NUMERIC4 MOVE WORKFIELD4(13:6) TO PRINT-RECORD(78:6) O*EPORT H 201 1P WRITE PRINT-OUTPUT-RECORD AFTER ADVANCING 2 LINES ADD 2 TO PRINT-LINE-CTR MOVE SPACES TO PRINT-OUTPUT-RECORD IF PRINT-LINE-CTR IS GREATER THAN 60 SET OA-ON TO TRUE MOVE ZERO TO PRINT-LINE-CTR ELSE SET OA-OFF TO TRUE END-IF MOVE SPACES TO PRINT-RECORD END-IF . PRINT-TOTAL-EXIT. EXIT. REPORT-OUTPUT SECTION. MOVE SPACES TO REPORT-RECORD. IF (1P-ON) O* OR OF OR (OF-ON) O* 14 'PROG #ABI003' MOVE 'PROG #ABI003' TO REPORT-RECORD(3:12) O* 21 'DATE' MOVE 'DATE' TO REPORT-RECORD(18:4) O* UDATE Y 30 MOVE UDAY TO UDAYY MOVE UMONTH TO UMONTHY MOVE UYEAR TO UYEARY MOVE UDATE-Y TO REPORT-RECORD(23:8) O* 52 '***' MOVE '***' TO REPORT-RECORD(50:3) O* 68 'INVENTORY TOTAL' MOVE 'INVENTORY TOTAL' TO REPORT-RECORD(54:15) O* 79 'ITEMS LIST' MOVE 'ITEMS LIST' TO REPORT-RECORD(70:10) O* 83 '***' MOVE '***' TO REPORT-RECORD(81:3) O* 111 'PAGE' MOVE 'PAGE' TO REPORT-RECORD(108:4)O* PAGE1 Z 115 ADD 1 TO PAGE1 MOVE PAGE1 TO PAGEZ MOVE PAGEZ TO REPORT-RECORD(112:4) O* H 2 1P WRITE REPORT-OUTPUT-RECORD AFTER ADVANCING 2 LINES ADD 2 TO REPORT-LINE-CTR MOVE SPACES TO REPORT-OUTPUT-RECORD IF REPORT-LINE-CTR IS GREATER THAN 60 SET OF-ON TO TRUE MOVE ZERO TO REPORT-LINE-CTR ELSE SET OF-OFF TO TRUE END-IF MOVE SPACES TO REPORT-RECORD END-IF IF (1P-ON) O* OR OF OR (OF-ON) O* 51 'TYPE' MOVE 'TYPE' TO REPORT-RECORD(48:4) O* 63 'CODE' MOVE 'CODE' TO REPORT-RECORD(60:4) O* 74 'SLOT' MOVE 'SLOT' TO REPORT-RECORD(71:4) O* 85 'QTY' MOVE 'QTY' TO REPORT-RECORD(83:3) O* D 2 01 WRITE REPORT-OUTPUT-RECORD AFTER ADVANCING 2 LINES ADD 2 TO REPORT-LINE-CTR MOVE SPACES TO REPORT-OUTPUT-RECORD IF REPORT-LINE-CTR IS GREATER THAN 60 SET OF-ON TO TRUE MOVE ZERO TO REPORT-LINE-CTR ELSE SET OF-OFF TO TRUE END-IF MOVE SPACES TO REPORT-RECORD END-IF IF (01-ON) O* OR 02 OR (02-ON) O* OR 03 OR (03-ON) O* 01 51 'HOME' IF (01-ON) MOVE 'HOME' TO REPORT-RECORD(48:4) END-IF O* 02 51 'RESV' IF (02-ON) MOVE 'RESV' TO REPORT-RECORD(48:4)END-IFMOVE 'RESV' TO REPORT-RECORD(48:4) END-IF O* CODE Z 63 MOVE CODE-R2C-HOLD TO WORK-NUMERIC4 MOVE WORKFIELD4(13:6) TO REPORT-RECORD(58:6) O* 01 MSLOT 74 IF (01-ON) MOVE MSLOT-HOLD TO REPORT-RECORD(69:6) END-IF O* 02 SLOT 74 IF (02-ON) MOVE SLOT-HOLD TO REPORT-RECORD(69:6) END-IF O* 03 SLOT 74 IF (03-ON) MOVE SLOT-HOLD TO REPORT-RECORD(69:6) END-IF O* QTY 1 85 MOVE QTY-HOLD TO WS-EDITED-C0 MOVE WS-EDITED-C0(19:5) TO REPORT-RECORD(81:5) O* 02 13 105 'OUTSIDE STORAGE' IF (02-ON AND 13-ON) MOVE 'OUTSIDE STORAGE' TO REPORT-RECORD(91:15) END-IF O* 03 105 'OUTSIDE STORAGE' IF (03-ON) MOVE 'OUTSIDE STORAGE' TOEND-IF O*EPORT T 2 LR WRITE REPORT-OUTPUT-RECORD AFTER ADVANCING 2 LINES ADD 2 TO REPORT-LINE-CTR MOVE SPACES TO REPORT-OUTPUT-RECORD IF REPORT-LINE-CTR IS GREATER THAN 60 SET OF-ON TO TRUE MOVE ZERO TO REPORT-LINE-CTR ELSE SET OF-OFF TO TRUE END-IF MOVE SPACES TO REPORT-RECORD . REPORT-OUTPUT-EXIT. EXIT. REPORT-TOTAL SECTION. IF (LR-ON) O* 52 '***' MOVE '***' TO REPORT-RECORD(50:3) O* 70 'TOTAL SELECTION -' MOVE 'TOTAL SELECTION -' TO REPORT-RECORD(54:17) O* ITEM1 2 78 MOVE ITEM1 TO WS-EDITED-C2 MOVE WS-EDITED-C2(17:8) TO REPORT-RECORD(71:8)MOVE '***' TO REPORT-RECORD(80:3) O* T 2 LR WRITE REPORT-OUTPUT-RECORD AFTER ADVANCING 2 LINES ADD 2 TO REPORT-LINE-CTR MOVE SPACES TO REPORT-OUTPUT-RECORD IF REPORT-LINE-CTR IS GREATER THAN 60 SET OF-ON TO TRUE MOVE ZERO TO REPORT-LINE-CTR ELSE SET OF-OFF TO TRUE END-IF MOVE SPACES TO REPORT-RECORD END-IF IF (LR-ON) O* 52 '***' MOVE '***' TO REPORT-RECORD(50:3) O* 70 'TOTAL O-STORAGE -' MOVE 'TOTAL O-STORAGE -' TO REPORT-RECORD(54:17) O* ITEM2 2 78 MOVE ITEM2 TO WS-EDITED-C2 MOVE WS-EDITED-C2(17:8) TO REPORT-RECORD(71:8) O* 82 '***' MOVE '***' TO REPORT-RECORD(80:3) AFTER ADVANCING 2 LINES ADD 2 TO REPORT-LINE-CTR MOVE SPACES TO REPORT-OUTPUT-RECORD IF REPORT-LINE-CTR IS GREATER THAN 60 SET OF-ON TO TRUE MOVE ZERO TO REPORT-LINE-CTR ELSE SET OF-OFF TO TRUE END-IF MOVE SPACES TO REPORT-RECORD END-IF IF (LR-ON) O* 52 '***' MOVE '***' TO REPORT-RECORD(50:3) O* 71 'TOTAL INVALID -' MOVE 'TOTAL INVALID -' TO REPORT-RECORD(55:17) O* JUNK 2 78 MOVE JUNK TO WS-EDITED-C2 MOVE WS-EDITED-C2(17:8) TO REPORT-RECORD(71:8) O* 82 '***' MOVE '***' TO REPORT-RECORD(80:3) O*ONOUT T 11 LR WRITE REPORT-OUTPUT-RECORD AFTER ADVANCING 2 LINES ADD 2 TO REPORT-LINE-CTR MOVE SPACES TO REPORT-OUTPUT-RECORD IF REPORT-LINE-CTR IS GREATER THAN 60 SET OF-ON TO TRUE MOVE ZERO TO REPORT-LINE-CTR ELSE SET OF-OFF TO TRUE END-IF MOVE SPACES TO REPORT-RECORD . REPORT-TOTAL-EXIT. EXIT. CONOUT-TOTAL SECTION. IF (LR-ON) O* 15 'TOTAL NUMBER OF' MOVE 'TOTAL NUMBER OF' TO CONOUT-RECORD(1:15) O* 32 'SELECTION ITEMS-' MOVE 'SELECTION ITEMS-' TO CONOUT-RECORD(17:16) O* ITEM1 2 40 MOVE ITEM1 TO WS-EDITED-C2 MOVE WS-EDITED-C2(17:8) TO CONOUT-RECORD(33:8) O* T 11 LR WRITE CONOUT-RECORD MOVE SPACES TO CONOUT-RECORD END-IF IF (LR-ON) O* 15 'TOTAL NUMBER OF' MOVE 'TOTAL NUMBER OF' TO CONOUT-RECORD(1:15) O* 32 'O-STORAGE ITEMS-' MOVE 'O-STORAGE ITEMS-' TO CONOUT-RECORD(17:16) O* ITEM2 2 40 MOVE ITEM2 TO WS-EDITED-C2 MOVE WS-EDITED-C2(17:8) TO CONOUT-RECORD(33:8) O* T 11 LR WRITE CONOUT-RECORD MOVE SPACES TO CONOUT-RECORD END-IF IF (LR-ON) O* 15 'TOTAL NUMBER OF' MOVE 'TOTAL NUMBER OF' TO CONOUT-RECORD(1:15) O* 32 'INVALID RECORDS-' MOVE 'INVALID RECORDS-' TO CONOUT-RECORD(17:16) O* JUNK 2 40 MOVE JUNK TO WS-EDITED-C2 MOVE WS-EDITED-C2(17:8) TO CONOUT-RECORD(33:8) WRITE CONOUT-RECORD MOVE SPACES TO CONOUT-RECORD . CONOUT-TOTAL-EXIT. EXIT.