000100 IDENTIFICATIONDIVISION. OBIC24.2
000200 PROGRAM-ID. OBIC24.2
000300 OBIC2A. OBIC24.2 000400**************************************************************** OBIC24.2 000500* * OBIC24.2 000600* VALIDATION FOR:- * OBIC24.2 000700* * OBIC24.2 000800* "ON-SITE VALIDATION, NATIONAL INSTITUTE OF STD & TECH. ".OBIC24.2 000900* * OBIC24.2 001000* "COBOL 85 VERSION 4.2, Apr 1993 SSVG ".OBIC24.2 001100* * OBIC24.2 001200**************************************************************** OBIC24.2 001300* * OBIC24.2 001400* X-CARDS USED BY THIS PROGRAM ARE :- * OBIC24.2 001500* * OBIC24.2 001600* X-55 - SYSTEM PRINTER NAME. * OBIC24.2 001700* X-82 - SOURCE COMPUTER NAME. * OBIC24.2 001800* X-83 - OBJECT COMPUTER NAME. * OBIC24.2 001900* * OBIC24.2 002000**************************************************************** OBIC24.2 002100* OBIC24.2 002200* THE SUBPROGRAM IC219 TESTS THE USE OF A SORT STATEMENT OBIC24.2 002300* IN A SEGMENTED SUBPROGRAM. THE FIRST NON-DECLARATIVE SECTIONOBIC24.2 002400* OF THE SUBPROGRAM CONSISTS OF A SORT STATEMENT AND A STOP RUNOBIC24.2 002500* STATEMENT IN A FIXED PERMANENT SEGMENT. THE SORT INPUT OBIC24.2 002600* PROCEDURE AND THE SORT OUTPUT PROCEDURE ARE CONTAINED IN TWO OBIC24.2 002700* INDEPENDENT SEGMENTS. THE MAIN PROGRAM IC218 CALLS THIS OBIC24.2 002800* SUBPROGRAM AND THE SUBPROGRAM IC220 IS CALLED FROM THE OBIC24.2 002900* OUTPUT PROCEDURE SECTION TO PRINT THE OUTPUT REPORT. OBIC24.2 003000* OBIC24.2 003100******************************************************************OBIC24.2
003200 ENVIRONMENTDIVISION. OBIC24.2
003300 CONFIGURATIONSECTION. OBIC24.2
003400 SOURCE-COMPUTER. OBIC24.2
003500 Card0130. OBIC24.2
003600 OBJECT-COMPUTER. OBIC24.2
003700 Card0131. OBIC24.2
003800 INPUT-OUTPUTSECTION. OBIC24.2
003900 FILE-CONTROL. OBIC24.2
004000 SELECT ST-FS1 ASSIGNTO OBIC24.2
004100 "C0039" . OBIC24.2
004200 DATADIVISION. OBIC24.2
004300 FILESECTION. OBIC24.2
004400 SD ST-FS1 OBIC24.2
004500 DATARECORDIS ST-FS1R1-F-G-126. OBIC24.2
004600 01 ST-FS1R1-F-G-126. OBIC24.2
004700 02 ST-FS1-1-120. OBIC24.2
004800 03 FILLERPICTURE X(34). OBIC24.2
004900 03 ST-FS1-REC-NO PICTURE 9(6). OBIC24.2
005000 03 FILLERPICTURE X(80). OBIC24.2
005100 02 ST-FS1-121-124 PICTURE X(4). OBIC24.2
005200 02 ST-FS1-125-126 PICTURE 99. OBIC24.2
005300 WORKING-STORAGESECTION. OBIC24.2
005400 01 TEMP1 PICTURE X(4). OBIC24.2
005500 01 TEMP2 PICTURE 999. OBIC24.2
005600 01 TEMP3 PICTURE 999. OBIC24.2
005700 01 TEMP4 PICTURE 9(6). OBIC24.2
005800 01 FAIL-COUNT PICTURE 999 VALUEZERO. OBIC24.2
005900 01 EOF-FLAG PICTURE 9 VALUEZERO. OBIC24.2
006000 01 PRINT-LINE-VALUES. OBIC24.2
006100 02 PASS-OR-FAIL PICTURE X(5). OBIC24.2
006200 02 R-COUNT PICTURE 99. OBIC24.2
006300 02 FEATURE-TESTED PICTURE X(20). OBIC24.2
006400 02 COMPUTED-SORT-KEY. OBIC24.2
006500 03 COMPUTED-1-4 PICTURE X(4). OBIC24.2
006600 03 COMPUTED-5-6 PICTURE 99. OBIC24.2
006700 03 COMPUTED-7-12 PICTURE 9(6). OBIC24.2
006800 03 FILLERPICTURE X(8) VALUESPACE. OBIC24.2
006900 02 CORRECT-SORT-KEY. OBIC24.2
007000 03 CORRECT-1-4 PICTURE X(4). OBIC24.2
007100 03 CORRECT-5-6 PICTURE 99. OBIC24.2
007200 03 CORRECT-7-12 PICTURE 9(6). OBIC24.2
007300 03 FILLERPICTURE X(8) VALUESPACE. OBIC24.2
007400 02 PARAGRAPH-NAME PICTURE X(12). OBIC24.2
007500 01 PRINT-FLAG PICTURE 9. OBIC24.2
007600 01 FILE-RECORD-INFORMATION-REC. OBIC24.2
007700 03 FILE-RECORD-INFO-SKELETON. OBIC24.2
007800 05 FILLERPICTURE X(48) VALUE OBIC24.2
007900 "FILE= ,RECORD= /0,RECNO=000000,UPDT=00". OBIC24.2
008000 05 FILLERPICTURE X(46) VALUE OBIC24.2
008100 ",ODO=0000,PGM= ,LRECL=000000,BLKSIZ =0000". OBIC24.2
008200 05 FILLERPICTURE X(26) VALUE OBIC24.2
008300 ",LFIL=000000,ORG= ,LBLR= ". OBIC24.2
008400 05 FILLERPICTURE X(37) VALUE OBIC24.2
008500 ",RECKEY= ". OBIC24.2
008600 05 FILLERPICTURE X(38) VALUE OBIC24.2
008700 ",ALTKEY1= ". OBIC24.2
008800 05 FILLERPICTURE X(38) VALUE OBIC24.2
008900 ",ALTKEY2= ". OBIC24.2
009000 05 FILLERPICTURE X(7) VALUESPACE.OBIC24.2
009100 03 FILE-RECORD-INFO OCCURS 10 TIMES. OBIC24.2
009200 05 FILE-RECORD-INFO-P1-120. OBIC24.2
009300 07 FILLERPIC X(5). OBIC24.2
009400 07 XFILE-NAME PIC X(6). OBIC24.2
009500 07 FILLERPIC X(8). OBIC24.2
009600 07 XRECORD-NAME PIC X(6). OBIC24.2
009700 07 FILLERPIC X(1). OBIC24.2
009800 07 REELUNIT-NUMBER PIC 9(1). OBIC24.2
009900 07 FILLERPIC X(7). OBIC24.2
010000 07 XRECORD-NUMBER PIC 9(6). OBIC24.2
010100 07 FILLERPIC X(6). OBIC24.2
010200 07 UPDATE-NUMBER PIC 9(2). OBIC24.2
010300 07 FILLERPIC X(5). OBIC24.2
010400 07 ODO-NUMBER PIC 9(4). OBIC24.2
010500 07 FILLERPIC X(5). OBIC24.2
010600 07 XPROGRAM-NAME PIC X(5). OBIC24.2
010700 07 FILLERPIC X(7). OBIC24.2
010800 07 XRECORD-LENGTH PIC 9(6). OBIC24.2
010900 07 FILLERPIC X(7). OBIC24.2
011000 07 CHARS-OR-RECORDS PIC X(2). OBIC24.2
011100 07 FILLERPIC X(1). OBIC24.2
011200 07 XBLOCK-SIZE PIC 9(4). OBIC24.2
011300 07 FILLERPIC X(6). OBIC24.2
011400 07 RECORDS-IN-FILE PIC 9(6). OBIC24.2
011500 07 FILLERPIC X(5). OBIC24.2
011600 07 XFILE-ORGANIZATION PIC X(2). OBIC24.2
011700 07 FILLERPIC X(6). OBIC24.2
011800 07 XLABEL-TYPE PIC X(1). OBIC24.2
011900 05 FILE-RECORD-INFO-P121-240. OBIC24.2
012000 07 FILLERPIC X(8). OBIC24.2
012100 07 XRECORD-KEY PIC X(29). OBIC24.2
012200 07 FILLERPIC X(9). OBIC24.2
012300 07 ALTERNATE-KEY1 PIC X(29). OBIC24.2
012400 07 FILLERPIC X(9). OBIC24.2
012500 07 ALTERNATE-KEY2 PIC X(29). OBIC24.2
012600 07 FILLERPIC X(7). OBIC24.2
012700 LINKAGESECTION. OBIC24.2
012800 01 SORT-LINK PICTURE 9. OBIC24.2
012900 PROCEDUREDIVISIONUSING SORT-LINK. OBIC24.2
013000 SECT-IC219-0001 SECTION 30. OBIC24.2 013100* OBIC24.2 013200* THIS SECTION CONTAINS A SORT STATEMENT AND A STOP RUN OBIC24.2 013300* STATEMENT, THE ONLY STATEMENTS PERMITTED IN THE FIRST NON- OBIC24.2 013400* DECLARATIVE PORTION OF THE PROCEDURE DIVISION IN SORT LEVEL 1OBIC24.2 013500* OBIC24.2
013600 SORT-PARAGRAPH. OBIC24.2
013700 SORT ST-FS1 OBIC24.2
013800 ASCENDINGKEY ST-FS1-121-124 OBIC24.2
013900 ASCENDINGKEY ST-FS1-125-126 OBIC24.2
014000 ASCENDINGKEY ST-FS1-REC-NO OBIC24.2
014100 INPUTPROCEDUREIS SECT-IC219-0002 OBIC24.2
014200 OUTPUTPROCEDUREIS SECT-IC219-0003. OBIC24.2
014300 STOPRUN. OBIC24.2
014400 SECT-IC219-0002 SECTION 60. OBIC24.2 014500* OBIC24.2 014600* THE SORT INPUT PROCEDURE RELEASES 500 SORT RECORDS OF OBIC24.2 014700* LENGTH 126 CHARACTERS. THREE ITEMS ARE USED AS THE SORT KEY,OBIC24.2 014800* THEY ARE CHARACTERS 121-124 PICX(4), CHARACTERS 125-126 OBIC24.2 014900* PIC 99, AND THE RECORD NUMBER FIELD CHARACTERS 35-40 PIC 9(6)OBIC24.2 015000* THE RECORDS ARE WRITTEN WITH THE SORT KEY ITEMS CONTAINING OBIC24.2 015100* THE FOLLOWING CHARACTERS OBIC24.2 015200* OBIC24.2 015300* FIRST 100 RECORDS ABCD 00 THRU 99 000001 THRU 000100 OBIC24.2 015400* SECOND 100 RECORDS AAAA 00 THRU 99 000101 THRU 000200 OBIC24.2 015500* THIRD 100 RECORDS ABCD 00 THRU 99 000201 THRU 00300 OBIC24.2 015600* FOURTH 100 RECORDS UVWY 00 THRU 99 000301 THRU 000400 OBIC24.2 015700* FIFTH 100 RECORDS UVWX 00 THRU 99 000401 THRU 000500 OBIC24.2 015800* OBIC24.2
015900 SORT-INPUT-PROCEDURE. OBIC24.2
016000 MOVE 1 TO SORT-LINK. OBIC24.2
016100 MOVE FILE-RECORD-INFO-SKELETON TO FILE-RECORD-INFO (1). OBIC24.2
016200 PERFORM RECORD-AREA-INIT. OBIC24.2
016300 MOVE"ABCD"TO TEMP1. OBIC24.2
016400 MOVE 0 TO TEMP2. OBIC24.2
016500 PERFORM RELEASE-RECORD 100 TIMES. OBIC24.2
016600 MOVE"AAAA"TO TEMP1. OBIC24.2
016700 MOVE 0 TO TEMP2. OBIC24.2
016800 PERFORM RELEASE-RECORD 100 TIMES. OBIC24.2
016900 MOVE"ABCD"TO TEMP1. OBIC24.2
017000 MOVE 0 TO TEMP2. OBIC24.2
017100 PERFORM RELEASE-RECORD 100 TIMES. OBIC24.2
017200 MOVE"UVWY"TO TEMP1. OBIC24.2
017300 MOVE 0 TO TEMP2. OBIC24.2
017400 PERFORM RELEASE-RECORD 100 TIMES. OBIC24.2
017500 MOVE"UVWX"TO TEMP1. OBIC24.2
017600 MOVE 0 TO TEMP2. OBIC24.2
017700 PERFORM RELEASE-RECORD 100 TIMES. OBIC24.2
017800 GOTO SECT-IC219-0002-EXIT. OBIC24.2
017900 RECORD-AREA-INIT. OBIC24.2
018000 MOVE"ST-FS1"TO XFILE-NAME (1). OBIC24.2
018100 MOVE"R1-F-G"TO XRECORD-NAME (1). OBIC24.2
018200 MOVE"IC219"TO XPROGRAM-NAME (1). OBIC24.2
018300 MOVE 126 TO XRECORD-LENGTH (1). OBIC24.2
018400 MOVE"RC"TO CHARS-OR-RECORDS (1). OBIC24.2
018500 MOVE 0001 TO XBLOCK-SIZE (1). OBIC24.2
018600 MOVE 500 TO RECORDS-IN-FILE (1). OBIC24.2
018700 MOVE"NA"TO XFILE-ORGANIZATION (1). OBIC24.2
018800 MOVE"N"TO XLABEL-TYPE (1). OBIC24.2
018900 MOVE 1 TO XRECORD-NUMBER (1). OBIC24.2
019000 RELEASE-RECORD. OBIC24.2
019100 MOVE FILE-RECORD-INFO-P1-120 (1) TO ST-FS1-1-120. OBIC24.2
019200 MOVE TEMP1 TO ST-FS1-121-124. OBIC24.2
019300 MOVE TEMP2 TO ST-FS1-125-126. OBIC24.2
019400 RELEASE ST-FS1R1-F-G-126. OBIC24.2
019500 ADD 1 TO XRECORD-NUMBER (1). OBIC24.2
019600 ADD 1 TO TEMP2. OBIC24.2
019700 SECT-IC219-0002-EXIT. OBIC24.2
019800 EXIT. OBIC24.2
019900 SECT-IC219-0003 SECTION 80. OBIC24.2 020000* OBIC24.2 020100* THE SORT OUTPUT PROCEDURE RETURNS 500 SORT RECORDS. THE OBIC24.2 020200* DATA ITEMS COMPRISING THE SORT KEY ARE CHECKED TO ENSURE THE OBIC24.2 020300* RECORDS ARE RETURNED IN THE EXPECTED SORT ORDER. THE SUBPRO-OBIC24.2 020400* GRAM IC220 IS CALLED TO PRODUCE THE OUTPUT REPORT FOR THE OBIC24.2 020500* TEST RESULTS. OBIC24.2 020600* OBIC24.2 020700* THE RECORDS SHOULD BE RETURNED WITH THE SORT KEY ITEMS OBIC24.2 020800* CONTAINING THE FOLLOWING CHARACTERS OBIC24.2 020900* OBIC24.2 021000* FIRST 100 RECORDS AAAA 00 THRU 99 000101 THRU 000200 OBIC24.2 021100* ABCD 00 000001 OBIC24.2 021200* NEXT ABCD 00 000201 OBIC24.2 021300* 200 ABCD 01 000002 OBIC24.2 021400* RECORDS ABCD 01 000202 OBIC24.2 021500* . . . . . . OBIC24.2 021600* ABCD 99 000100 OBIC24.2 021700* ABCD 99 000300 OBIC24.2 021800* FOURTH 100 RECORDS UVWX 00 THRU 99 000401 THRU 000500 OBIC24.2 021900* FIFTH 100 RECORDS UVWY 00 THRU 99 000301 THRU 000400 OBIC24.2 022000* OBIC24.2
022100 SORT-OUTPUT-INIT. OBIC24.2
022200 MOVE 2 TO SORT-LINK. OBIC24.2
022300 MOVE 1 TO PRINT-FLAG. OBIC24.2
022400 CALL"OBIC3A"USING PRINT-LINE-VALUES PRINT-FLAG. OBIC24.2
022500 MOVE"SORT IN SUBPROGRAM"TO FEATURE-TESTED. OBIC24.2
022600 MOVE"IC-SORT-TEST"TO PARAGRAPH-NAME. OBIC24.2
022700 MOVE 0 TO R-COUNT. OBIC24.2
022800 CHECK-OUTPUT-FROM-SORT. OBIC24.2
022900 MOVE"AAAA"TO TEMP1. OBIC24.2
023000 MOVE 0 TO TEMP3. OBIC24.2
023100 MOVE 100 TO TEMP4. OBIC24.2
023200 PERFORM CHECK-RECORD 100 TIMES. OBIC24.2
023300 MOVE"ABCD"TO TEMP1. OBIC24.2
023400 MOVE 0 TO TEMP3. OBIC24.2
023500 MOVE 0 TO TEMP4. OBIC24.2
023600 PERFORM CHECK-ABCD-RECORDS 100 TIMES. OBIC24.2
023700 MOVE"UVWX"TO TEMP1. OBIC24.2
023800 MOVE 0 TO TEMP3. OBIC24.2
023900 MOVE 400 TO TEMP4. OBIC24.2
024000 PERFORM CHECK-RECORD 100 TIMES. OBIC24.2
024100 MOVE"UVWY"TO TEMP1. OBIC24.2
024200 MOVE 0 TO TEMP3. OBIC24.2
024300 MOVE 300 TO TEMP4. OBIC24.2
024400 PERFORM CHECK-RECORD 100 TIMES. OBIC24.2
024500 CHECK-RESULTS. OBIC24.2
024600 IF EOF-FLAG EQUALTO 1 OBIC24.2
024700 MOVE"PREMATURE EOF"TO COMPUTED-SORT-KEY OBIC24.2
024800 MOVE"DATA RECORD EXPECTED"TO CORRECT-SORT-KEY OBIC24.2
024900 GOTO FAIL-WRITE. OBIC24.2
025000 RETURN ST-FS1 ATENDGOTO CHECK-FAIL-COUNT. OBIC24.2
025100 MOVE"NO EOF - 500 READ"TO COMPUTED-SORT-KEY. OBIC24.2
025200 MOVE"EOF EXPECTED"TO CORRECT-SORT-KEY. OBIC24.2
025300 GOTO FAIL-WRITE. OBIC24.2
025400 CHECK-FAIL-COUNT. OBIC24.2
025500 IF FAIL-COUNT EQUALTOZERO OBIC24.2
025600 MOVE"PASS "TO PASS-OR-FAIL OBIC24.2
025700 GOTO WRITE-RESULTS. OBIC24.2
025800 MOVE"SORT ERRORS"TO COMPUTED-SORT-KEY. OBIC24.2
025900 MOVESPACETO CORRECT-SORT-KEY. OBIC24.2
026000 FAIL-WRITE. OBIC24.2
026100 MOVE"FAIL "TO PASS-OR-FAIL. OBIC24.2
026200 WRITE-RESULTS. OBIC24.2
026300 MOVE 0 TO R-COUNT. OBIC24.2
026400 MOVE 2 TO PRINT-FLAG. OBIC24.2
026500 CALL"OBIC3A"USING PRINT-LINE-VALUES PRINT-FLAG. OBIC24.2
026600 WRAPUP-OUTPUT-PROC. OBIC24.2
026700 MOVE 3 TO PRINT-FLAG. OBIC24.2
026800 CALL"OBIC3A"USING PRINT-LINE-VALUES PRINT-FLAG. OBIC24.2
026900 GOTO SECT-IC219-0003-EXIT. OBIC24.2
027000 CHECK-RECORD. OBIC24.2
027100 PERFORM RETURN-RECORD THROUGH RETURN-EXIT. OBIC24.2
027200 ADD 1 TO TEMP4. OBIC24.2
027300 PERFORM COMPARE-VALUES THROUGH COMPARE-EXIT. OBIC24.2
027400 ADD 1 TO TEMP3. OBIC24.2
027500 RETURN-RECORD. OBIC24.2
027600 IF EOF-FLAG EQUALTO 1 OBIC24.2
027700 GOTO RETURN-EXIT. OBIC24.2
027800 RETURN ST-FS1 ATENDMOVE 1 TO EOF-FLAG. OBIC24.2
027900 RETURN-EXIT. OBIC24.2
028000 EXIT. OBIC24.2
028100 CHECK-ABCD-RECORDS. OBIC24.2
028200 PERFORM CHECK-RECORD. OBIC24.2
028300 SUBTRACT 1 FROM TEMP3. OBIC24.2
028400 ADD 199 TO TEMP4. OBIC24.2
028500 PERFORM CHECK-RECORD. OBIC24.2
028600 SUBTRACT 200 FROM TEMP4. OBIC24.2
028700 COMPARE-VALUES. OBIC24.2
028800 IF TEMP1 NOTEQUALTO ST-FS1-121-124 OBIC24.2
028900 GOTO SORT-FAIL. OBIC24.2
029000 IF TEMP3 NOTEQUALTO ST-FS1-125-126 OBIC24.2
029100 GOTO SORT-FAIL. OBIC24.2
029200 IF TEMP4 NOTEQUALTO ST-FS1-REC-NO OBIC24.2
029300 GOTO SORT-FAIL. OBIC24.2
029400 GOTO COMPARE-EXIT. OBIC24.2
029500 SORT-FAIL. OBIC24.2
029600 MOVE"FAIL "TO PASS-OR-FAIL. OBIC24.2
029700 ADD 1 TO R-COUNT. OBIC24.2
029800 MOVE TEMP1 TO CORRECT-1-4. OBIC24.2
029900 MOVE TEMP3 TO CORRECT-5-6. OBIC24.2
030000 MOVE TEMP4 TO CORRECT-7-12. OBIC24.2
030100 MOVE ST-FS1-121-124 TO COMPUTED-1-4. OBIC24.2
030200 MOVE ST-FS1-125-126 TO COMPUTED-5-6. OBIC24.2
030300 MOVE ST-FS1-REC-NO TO COMPUTED-7-12. OBIC24.2
030400 MOVE 2 TO PRINT-FLAG. OBIC24.2
030500 CALL"OBIC3A"USING PRINT-LINE-VALUES PRINT-FLAG. OBIC24.2
030600 ADD 1 TO FAIL-COUNT. OBIC24.2
030700 COMPARE-EXIT. OBIC24.2
030800 EXIT. OBIC24.2
030900 SECT-IC219-0003-EXIT. OBIC24.2
031000 EXIT. OBIC24.2
Messung V0.5
¤ 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.0.12Bemerkung:
(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 und die Messung sind noch experimentell.