?ENV COMMON ?HIGHPIN ?INSPECT ?SYMBOLS IDENTIFICATION DIVISION. PROGRAM-ID. SRVTEST. AUTHOR. RLA. DATE-WRITTEN. 1999/09/09. DATE-COMPILED. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. T16. OBJECT-COMPUTER. T16. SPECIAL-NAMES. SYMBOLIC CHARACTERS COL IS 59 CLASS ALLNUM IS "0123456789" CLASS UPALPHA IS "ABCDEFGHIJKLMNOPQRSTUVWXYZ" CLASS LOALPHA IS "abcdefghijklmnopqrstuvwxyz". INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT RCV-IN ASSIGN TO $RECEIVE ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS WS-FILE-STATUS. SELECT RCV-OUT ASSIGN TO $RECEIVE ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS WS-FILE-STATUS. SELECT KEY-FILE ASSIGN TO "COBFILE" ORGANIZATION IS INDEXED ACCESS MODE IS DYNAMIC RECORD KEY IS COB-KEY FILE STATUS IS WS-FILE-STATUS. RECEIVE-CONTROL. DATA DIVISION. FILE SECTION. FD RCV-IN LABEL RECORDS ARE OMITTED. COPY COB-REC OF "COBOLREC". FD RCV-OUT LABEL RECORDS ARE OMITTED. COPY COB-REC OF "COBOLREC". FD KEY-FILE LABEL RECORDS ARE OMITTED. COPY COB-REC OF "COBOLREC". WORKING-STORAGE SECTION. 01 WS-FILE-STATUS. 02 FILE-STATUS PIC 9(2) COMP VALUE 00. 88 NO-ERROR VALUE 00. 88 END-OF-FILE VALUE 10. 88 RECORD-NOT-FOUND VALUE 23. 88 FILE-ERROR VALUE 01 THRU 09, 11 THRU 21, 24 THRU 99. 01 WS-DUMMY PIC X. 01 WS-ERROR PIC 9 COMP VALUE 0. 88 NO-PROBLEMS VALUE 0. 88 PROBLEMS VALUE 1. 01 WS-DONE PIC 9 COMP VALUE 0. 88 NOT-DONE VALUE 0. 88 DONE VALUE 1. 01 WS-DATA PIC X(40). 01 WS-P9 PIC 9(3). 01 WS-PTR PIC 9(3). 01 WS-PASS PIC 9(3). 01 WS-FAIL PIC 9(3). 01 WS-START PIC 9(4) COMP. 01 WS-P9C PIC 9(4) COMP. 01 WS-DATE. 02 ARY OCCURS 7 TIMES. 03 DTI PIC 9 COMP VALUE 0. PROCEDURE DIVISION. DECLARATIVES. DECL-RCV-IN SECTION. USE AFTER ERROR PROCEDURE ON RCV-IN. MOVE "RCV-IN ERROR" TO RET-ALPHA OF COB-REC OF RCV-IN. DECL-RCV-OUT SECTION. USE AFTER ERROR PROCEDURE ON RCV-OUT. MOVE "RCV-OUT ERROR" TO RET-ALPHA OF COB-REC OF RCV-IN. DECL-KEY-FILE SECTION. USE AFTER ERROR PROCEDURE ON KEY-FILE. MOVE "KEY-FILE ERROR" TO RET-ALPHA OF COB-REC OF RCV-IN. END DECLARATIVES. RCV_IN-ERROR. MOVE "30" TO WS_FILE_STATUS. MOVE "RCV-IN ERROR" TO RET-ALPHA OF COB-REC OF RCV-IN. RCV_OUT-ERROR. MOVE "30" TO WS_FILE_STATUS. MOVE "RCV-OUT ERROR" TO RET-ALPHA OF COB-REC OF RCV-IN. KEY_FILE-ERROR. MOVE "30" TO WS_FILE_STATUS. MOVE "KEY-FILE ERROR" TO RET-ALPHA OF COB-REC OF RCV-IN. 0000-MAIN. OPEN INPUT RCV-IN. OPEN OUTPUT RCV-OUT. OPEN I-O KEY-FILE. PERFORM 2000-PROCESS THRU 2000-EXIT UNTIL DONE OR PROBLEMS. PERFORM 9000-CLEAN-UP THRU 9000-EXIT. STOP RUN. 2000-PROCESS. DISPLAY " START LOOP " INITIALIZE COB-REC OF RCV-IN MOVE 0 TO WS-FAIL. MOVE 0 TO WS-PASS. READ RCV-IN. MOVE SPACES TO PASSED OF COB-REC OF RCV-IN. MOVE SPACES TO FAILED OF COB-REC OF RCV-IN. MOVE SPACES TO RET-ALPHA OF COB-REC OF RCV-IN. MOVE ZEROES TO RET-NUMERIC OF COB-REC OF RCV-IN. MOVE COB-REC OF RCV-IN TO COB-REC OF KEY-FILE. IF COB-CODE OF COB-REC OF RCV-IN = 1 PERFORM 2001-START THRU 2001-EXIT ELSE IF COB-CODE OF COB-REC OF RCV-IN = 2 PERFORM 2002-START-NEXT THRU 2002-EXIT ELSE IF COB-CODE OF COB-REC OF RCV-IN = 3 PERFORM 2003-START-PREV THRU 2003-EXIT ELSE IF COB-CODE OF COB-REC OF RCV-IN = 4 PERFORM 2004-READ THRU 2004-EXIT ELSE IF COB-CODE OF COB-REC OF RCV-IN = 5 PERFORM 2005-READ-NEXT THRU 2005-EXIT ELSE IF COB-CODE OF COB-REC OF RCV-IN = 6 PERFORM 2006-READ-PREV THRU 2006-EXIT ELSE IF COB-CODE OF COB-REC OF RCV-IN = 7 PERFORM 2007-WRITE THRU 2007-EXIT ELSE IF COB-CODE OF COB-REC OF RCV-IN = 8 PERFORM 2008-UPDATE THRU 2008-EXIT ELSE IF COB-CODE OF COB-REC OF RCV-IN = 9 PERFORM 2009-DEL THRU 2009-EXIT ELSE IF COB-CODE OF COB-REC OF RCV-IN > 30 AND COB-CODE OF COB-REC OF RCV-IN < 40 PERFORM 3000-MATH-TEST THRU 3000-EXIT ELSE IF COB-CODE OF COB-REC OF RCV-IN > 40 AND COB-CODE OF COB-REC OF RCV-IN < 50 PERFORM 4000-COMP-TEST THRU 4001-EXIT ELSE IF COB-CODE OF COB-REC OF RCV-IN = 50 PERFORM 5000-STR-TEST THRU 5001-EXIT ELSE IF COB-CODE OF COB-REC OF RCV-IN = 60 PERFORM 6000-NSK-TEST THRU 6001-EXIT ELSE IF COB-CODE OF COB-REC OF RCV-IN = 99 MOVE 1 TO WS-DONE END-IF. MOVE COB-REC OF KEY-FILE TO COB-REC OF RCV-OUT. IF COB-CODE OF COB-REC OF RCV-IN NOT = 50 STRING "SUCCESS = " DELIMITED BY SIZE WS-PASS DELIMITED BY SIZE INTO PASSED OF COB-REC OF RCV-OUT END-STRING STRING "ERRORS = " DELIMITED BY SIZE WS-FAIL DELIMITED BY SIZE INTO FAILED OF COB-REC OF RCV-OUT END-STRING MOVE RET-ALPHA OF RCV-IN TO RET-ALPHA OF KEY-FILE END-IF. DISPLAY " Passed = " PASSED OF COB-REC OF RCV-OUT " Failed = " FAILED OF COB-REC OF RCV-OUT. MOVE 0 TO COB-CODE OF COB-REC OF RCV-OUT. WRITE COB-REC OF RCV-OUT. // 2000-EXIT. EXIT. 2001-START. START KEY-FILE KEY = COB-KEY OF COB-REC OF KEY-FILE INVALID KEY ADD 1 TO WS-FAIL NOT INVALID KEY ADD 1 TO WS-PASS MOVE 1 TO WS-START END-START. 2001-EXIT. EXIT. 2002-START-NEXT. START KEY-FILE KEY >= COB-KEY OF COB-REC OF KEY-FILE * POSITION COB-KEY OF KEY-FILE APPROXIMATE INVALID KEY ADD 1 TO WS-FAIL NOT INVALID KEY ADD 1 TO WS-PASS MOVE 2 TO WS-START END-START. 2002-EXIT. EXIT. 2003-START-PREV. START KEY-FILE KEY <= COB-KEY OF COB-REC OF KEY-FILE APPROXIMATE INVALID KEY ADD 1 TO WS-FAIL NOT INVALID KEY ADD 1 TO WS-PASS MOVE 3 TO WS-START END-START. 2003-EXIT. EXIT. 2004-READ. IF WS-START = 1 THEN ADD 1 TO WS-PASS READ KEY-FILE END-READ ELSE ADD 1 TO WS-FAIL END-IF. 2004-EXIT. EXIT. 2005-READ-NEXT. IF WS-START = 2 THEN READ KEY-FILE NEXT RECORD AT END ADD 1 TO WS-FAIL MOVE 0 TO WS-START NOT AT END ADD 1 TO WS-PASS END-READ ELSE ADD 1 TO WS-FAIL END-IF. 2005-EXIT. EXIT. 2006-READ-PREV. IF WS-START = 3 THEN READ KEY-FILE REVERSED AT END ADD 1 TO WS-FAIL MOVE 0 TO WS-START NOT AT END ADD 1 TO WS-PASS END-READ ELSE ADD 1 TO WS-FAIL END-IF. 2006-EXIT. EXIT. 2007-WRITE. WRITE COB-REC OF KEY-FILE INVALID KEY ADD 1 TO WS-FAIL NOT INVALID KEY ADD 1 TO WS-PASS END-WRITE. 2007-EXIT. EXIT. 2008-UPDATE. REWRITE COB-REC OF KEY-FILE INVALID KEY ADD 1 TO WS-FAIL NOT INVALID KEY ADD 1 TO WS-PASS END-REWRITE. 2008-EXIT. EXIT. 2009-DEL. DELETE KEY-FILE RECORD INVALID KEY ADD 1 TO WS-FAIL NOT INVALID KEY ADD 1 TO WS-PASS END-DELETE. 2009-EXIT. EXIT. 3000-MATH-TEST. IF COB-CODE OF COB-REC OF RCV-IN = 31 ADD I-SR OF COB-REC OF RCV-IN TO KEY-SR OF COB-REC OF RCV-IN GIVING O-SR OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-ADD ADD I-USR OF COB-REC OF RCV-IN TO KEY-USR OF COB-REC OF RCV-IN GIVING O-USR OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-ADD ADD I-P9L OF COB-REC OF RCV-IN TO KEY-P9L OF COB-REC OF RCV-IN GIVING O-P9L OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-ADD ADD I-P9S OF COB-REC OF RCV-IN TO KEY-P9S OF COB-REC OF RCV-IN GIVING O-P9S OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-ADD ELSE IF COB-CODE OF COB-REC OF RCV-IN = 32 SUBTRACT I-SR OF COB-REC OF RCV-IN FROM KEY-SR OF COB-REC OF RCV-IN GIVING O-SR OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-SUBTRACT SUBTRACT I-USR OF COB-REC OF RCV-IN FROM KEY-USR OF COB-REC OF RCV-IN GIVING O-USR OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-SUBTRACT SUBTRACT I-P9L OF COB-REC OF RCV-IN FROM KEY-P9L OF COB-REC OF RCV-IN GIVING O-P9L OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-SUBTRACT SUBTRACT I-P9S OF COB-REC OF RCV-IN FROM KEY-P9S OF COB-REC OF RCV-IN GIVING O-P9S OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-SUBTRACT ELSE IF COB-CODE OF COB-REC OF RCV-IN = 33 MULTIPLY KEY-SR OF COB-REC OF RCV-IN BY I-SR OF COB-REC OF RCV-IN GIVING O-SR OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-MULTIPLY MULTIPLY I-USR OF COB-REC OF RCV-IN BY KEY-USR OF COB-REC OF RCV-IN GIVING O-USR OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-MULTIPLY MULTIPLY I-P9L OF COB-REC OF RCV-IN BY KEY-P9L OF COB-REC OF RCV-IN GIVING O-P9L OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-MULTIPLY MULTIPLY I-P9S OF COB-REC OF RCV-IN BY KEY-P9S OF COB-REC OF RCV-IN GIVING O-P9S OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-MULTIPLY ELSE IF COB-CODE OF COB-REC OF RCV-IN = 34 DIVIDE I-SR OF COB-REC OF RCV-IN INTO KEY-SR OF COB-REC OF RCV-IN GIVING O-SR OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-DIVIDE DIVIDE I-USR OF COB-REC OF RCV-IN INTO KEY-USR OF COB-REC OF RCV-IN GIVING O-USR OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-DIVIDE DIVIDE I-P9L OF COB-REC OF RCV-IN INTO KEY-P9L OF COB-REC OF RCV-IN GIVING O-P9L OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-DIVIDE DIVIDE I-P9S OF COB-REC OF RCV-IN INTO KEY-P9S OF COB-REC OF RCV-IN GIVING O-P9S OF COB-REC OF KEY-FILE ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-DIVIDE END-IF. 3000-EXIT. EXIT. 4000-COMP-TEST. IF COB-CODE OF COB-REC OF RCV-IN = 41 COMPUTE O-SR OF COB-REC OF KEY-FILE = KEY-SR OF COB-REC OF RCV-IN + I-SR OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE COMPUTE O-USR OF COB-REC OF KEY-FILE = KEY-USR OF COB-REC OF RCV-IN + I-USR OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE COMPUTE O-P9L OF COB-REC OF KEY-FILE = KEY-P9L OF COB-REC OF RCV-IN + I-P9L OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE COMPUTE O-P9S OF COB-REC OF KEY-FILE = KEY-P9S OF COB-REC OF RCV-IN + I-P9S OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE ELSE IF COB-CODE OF COB-REC OF RCV-IN = 42 COMPUTE O-SR OF COB-REC OF KEY-FILE = KEY-SR OF COB-REC OF RCV-IN - I-SR OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE COMPUTE O-USR OF COB-REC OF KEY-FILE = KEY-USR OF COB-REC OF RCV-IN - I-USR OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE COMPUTE O-P9L OF COB-REC OF KEY-FILE = KEY-P9L OF COB-REC OF RCV-IN - I-P9L OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE COMPUTE O-P9S OF COB-REC OF KEY-FILE = KEY-P9S OF COB-REC OF RCV-IN - I-P9S OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE ELSE IF COB-CODE OF COB-REC OF RCV-IN = 43 COMPUTE O-SR OF COB-REC OF KEY-FILE = KEY-SR OF COB-REC OF RCV-IN * I-SR OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE COMPUTE O-USR OF COB-REC OF KEY-FILE = KEY-USR OF COB-REC OF RCV-IN * I-USR OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE COMPUTE O-P9L OF COB-REC OF KEY-FILE = KEY-P9L OF COB-REC OF RCV-IN * I-P9L OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE COMPUTE O-P9S OF COB-REC OF KEY-FILE = KEY-P9S OF COB-REC OF RCV-IN * I-P9S OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE ELSE IF COB-CODE OF COB-REC OF RCV-IN = 44 COMPUTE O-SR OF COB-REC OF KEY-FILE = KEY-SR OF COB-REC OF RCV-IN / I-SR OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE COMPUTE O-USR OF COB-REC OF KEY-FILE = KEY-USR OF COB-REC OF RCV-IN / I-USR OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE COMPUTE O-P9L OF COB-REC OF KEY-FILE = KEY-P9L OF COB-REC OF RCV-IN / I-P9L OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE COMPUTE O-P9S OF COB-REC OF KEY-FILE = KEY-P9S OF COB-REC OF RCV-IN / I-P9S OF COB-REC OF RCV-IN ON SIZE ERROR ADD 1 TO WS-FAIL END-ADD NOT ON SIZE ERROR ADD 1 TO WS-PASS END-ADD END-COMPUTE END-IF. 4001-EXIT. EXIT. 5000-STR-TEST. MOVE 0 TO WS-PASS. MOVE 0 TO WS-FAIL. INSPECT COB-KEY OF KEY-FILE CONVERTING "-" TO "+". INSPECT COB-KEY OF KEY-FILE REPLACING ALL "0" BY "9" AFTER INITIAL "+" ALL "0" BY "1" BEFORE INITIAL "+". INSPECT COB-KEY OF KEY-FILE TALLYING WS-PASS FOR CHARACTERS BEFORE INITIAL "+". INSPECT COB-KEY OF KEY-FILE TALLYING WS-FAIL FOR CHARACTERS AFTER INITIAL "+". INSPECT COB-KEY OF KEY-FILE TALLYING WS-P9 FOR ALL "1" BEFORE INITIAL "+" COB-KEY OF KEY-FILE REPLACING LEADING "+" BY "-". MOVE 3 TO WS-PTR. STRING "Alapha Key = " DELIMITED BY SIZE WS-PASS DELIMITED BY SIZE "; Numeric Key = " DELIMITED BY SIZE WS-FAIL DELIMITED BY SIZE ":" DELIMITED BY SIZE INTO RET-ALPHA OF COB-RESULTS OF COB-REC OF KEY-FILE WITH POINTER WS-PTR END-STRING. UNSTRING RET-ALPHA OF COB-RESULTS OF COB-REC OF KEY-FILE DELIMITED BY ";" OR COL INTO PASSED OF COB-RESULTS OF KEY-FILE FAILED OF COB-RESULTS OF KEY-FILE END-UNSTRING. MOVE LOW-VALUES TO WS-DATE. MOVE WS-DATE TO RET-NUMERIC OF COB-RESULTS OF KEY-FILE. MOVE ZEROES TO RET-ALPHA OF COB-RESULTS OF KEY-FILE. MOVE "MOVE LESS THEN TEST " TO RET-ALPHA OF COB-RESULTS OF KEY-FILE. MOVE DTI OF ARY(6) TO WS-P9C. ENTER TAL "NUMOUT" USING RET-BYTE OF KEY-FILE , WS-P9C , 10 , 1. 5001-EXIT. EXIT. 6000-NSK-TEST. ENTER TAL "MYTERM" USING WS-DATA. ADD 1 TO WS-PASS. MOVE "MYTERM =" TO RET-ALPHA OF COB-REC OF KEY-FILE. MOVE WS-DATA TO RET-ALPHA OF COB-REC OF KEY-FILE (10:20). ENTER TAL "TIME" USING WS-DATE. MOVE WS-DATE TO RET-NUMERIC OF COB-REC OF KEY-FILE. ADD 1 TO WS-PASS. MOVE DTI OF ARY(6) TO WS-P9C. ENTER TAL "NUMOUT" USING RET-BYTE OF KEY-FILE , WS-P9C , 10 , 1. ADD 1 TO WS-PASS. 6001-EXIT. EXIT. 9000-CLEAN-UP. CLOSE RCV-IN. CLOSE RCV-OUT. CLOSE KEY-FILE. 9000-EXIT.