000100 IDENTIFICATIONDIVISION.
000200 PROGRAM-ID.
000300 SM203A. 000400**************************************************************** 000500* * 000600* VALIDATION FOR:- * 000700* * 000800* "ON-SITE VALIDATION, NATIONAL INSTITUTE OF STD & TECH. ". 000900* * 001000* "COBOL 85 VERSION 4.2, Apr 1993 SSVG ". 001100* * 001200**************************************************************** 001300* * 001400* X-CARDS USED BY THIS PROGRAM ARE :- * 001500* * 001600* X-55 - SYSTEM PRINTER NAME. * 001700* X-82 - SOURCE COMPUTER NAME. * 001800* X-83 - OBJECT COMPUTER NAME. * 001900* * 002000**************************************************************** 002100* * 002200* PROGRAM SM203A TESTS THE USE OF THE "COPY" STATEMENT * 002300* "REPLACING" PHRASE IN THE ENVIRONMENT DIVISION. * 002400* A SEQUENTIAL FILE IS PRODUCED USING "COPY"ED TEXT AND * 002500* THIS IS CHECKED IN PROGRAM SM204A. * 002600* * 002700****************************************************************
002800 ENVIRONMENTDIVISION.
002900 CONFIGURATIONSECTION.
003000 SOURCE-COMPUTER.
003100 Card0130.
003200 OBJECT-COMPUTER.
003300 Card0131.
003400 SPECIAL-NAMES. COPY K3SNB
003500 REPLACING DUMMY-SW-1 BY SW-1
003600 DUMMY-ON BY SWITCH-ON
003700 DUMMY-OFF BY SWITCH-OFF.
003800 INPUT-OUTPUTSECTION.
003900
004000
004100
004200
004300 004400* 004500*********************** COPY STATEMENT USED ********************** 004600* 004700*FILE-CONTROL. COPY K3FCB 004800* REPLACING DUMMY-TEST-FILE BY TEST-FILE. 004900* 005000******************** COPIED TEXT BEGINS BELOW ********************
005100 FILE-CONTROL. COPY K3FCB
005200 REPLACING DUMMY-TEST-FILE BY TEST-FILE. 005300*********************** END OF COPIED TEXT ***********************
005400
005500
005600
005700
005800 005900* 006000*********************** COPY STATEMENT USED ********************** 006100* 006200*I-O-CONTROL. COPY K3IOB 006300* REPLACING DUMMY-PRINT-FILE BY PRINT-FILE. 006400* 006500******************** COPIED TEXT BEGINS BELOW ********************
006600 I-O-CONTROL. COPY K3IOB
006700 REPLACING DUMMY-PRINT-FILE BY PRINT-FILE. 006800*********************** END OF COPIED TEXT ***********************
006900 DATADIVISION.
007000 FILESECTION.
007100 FD PRINT-FILE.
007200 01 PRINT-REC PICTURE X(120).
007300 01 DUMMY-RECORD PICTURE X(120).
007400 FD TEST-FILE
007500 LABELRECORDSTANDARD
007600 VALUEOF
007700 Impl1
007800 IS
007900 4711
008000
008100 DATARECORDIS PROOF-REC.
008200 01 PROOF-REC.
008300 02 TF-1 PICTURE 9(5).
008400 02 FILLERPICTURE X(115).
008500 WORKING-STORAGESECTION.
008600 77 RCD-1 PICTURE 9(5) VALUE 97532.
008700 77 RCD-2 PICTURE 9(5) VALUE 23479.
008800 77 RCD-3 PICTURE 9(5) VALUE 10901.
008900 77 RCD-4 PICTURE 9(5) VALUE 02734.
009000 77 RCD-5 PICTURE 9(5) VALUE 14003.
009100 77 RCD-6 PICTURE 9(5) VALUE 19922.
009200 77 RCD-7 PICTURE 9(5) VALUE 03543.
009300 01 TEST-RESULTS.
009400 02 FILLERPIC X VALUESPACE.
009500 02 FEATURE PIC X(20) VALUESPACE.
009600 02 FILLERPIC X VALUESPACE.
009700 02 P-OR-F PIC X(5) VALUESPACE.
009800 02 FILLERPIC X VALUESPACE.
009900 02 PAR-NAME.
010000 03 FILLERPIC X(19) VALUESPACE.
010100 03 PARDOT-X PIC X VALUESPACE.
010200 03 DOTVALUE PIC 99 VALUEZERO.
010300 02 FILLERPIC X(8) VALUESPACE.
010400 02 RE-MARK PIC X(61).
010500 01 TEST-COMPUTED.
010600 02 FILLERPIC X(30) VALUESPACE.
010700 02 FILLERPIC X(17) VALUE
010800 " COMPUTED=".
010900 02 COMPUTED-X.
011000 03 COMPUTED-A PIC X(20) VALUESPACE.
011100 03 COMPUTED-N REDEFINES COMPUTED-A
011200 PIC -9(9).9(9).
011300 03 COMPUTED-0V18 REDEFINES COMPUTED-A PIC -.9(18).
011400 03 COMPUTED-4V14 REDEFINES COMPUTED-A PIC -9(4).9(14).
011500 03 COMPUTED-14V4 REDEFINES COMPUTED-A PIC -9(14).9(4).
011600 03 CM-18V0 REDEFINES COMPUTED-A.
011700 04 COMPUTED-18V0 PIC -9(18).
011800 04 FILLERPIC X.
011900 03 FILLERPIC X(50) VALUESPACE.
012000 01 TEST-CORRECT.
012100 02 FILLERPIC X(30) VALUESPACE.
012200 02 FILLERPIC X(17) VALUE" CORRECT =".
012300 02 CORRECT-X.
012400 03 CORRECT-A PIC X(20) VALUESPACE.
012500 03 CORRECT-N REDEFINES CORRECT-A PIC -9(9).9(9).
012600 03 CORRECT-0V18 REDEFINES CORRECT-A PIC -.9(18).
012700 03 CORRECT-4V14 REDEFINES CORRECT-A PIC -9(4).9(14).
012800 03 CORRECT-14V4 REDEFINES CORRECT-A PIC -9(14).9(4).
012900 03 CR-18V0 REDEFINES CORRECT-A.
013000 04 CORRECT-18V0 PIC -9(18).
013100 04 FILLERPIC X.
013200 03 FILLERPIC X(2) VALUESPACE.
013300 03 COR-ANSI-REFERENCE PIC X(48) VALUESPACE.
013400 01 CCVS-C-1.
013500 02 FILLERPICIS X(99) VALUEIS" FEATURE PA
013600- "SS PARAGRAPH-NAME
013700- " REMARKS".
013800 02 FILLERPIC X(20) VALUESPACE.
013900 01 CCVS-C-2.
014000 02 FILLERPIC X VALUESPACE.
014100 02 FILLERPIC X(6) VALUE"TESTED".
014200 02 FILLERPIC X(15) VALUESPACE.
014300 02 FILLERPIC X(4) VALUE"FAIL".
014400 02 FILLERPIC X(94) VALUESPACE.
014500 01 REC-SKL-SUB PIC 9(2) VALUEZERO.
014600 01 REC-CT PIC 99 VALUEZERO.
014700 01 DELETE-COUNTER PIC 999 VALUEZERO.
014800 01 ERROR-COUNTER PIC 999 VALUEZERO.
014900 01 INSPECT-COUNTER PIC 999 VALUEZERO.
015000 01 PASS-COUNTER PIC 999 VALUEZERO.
015100 01 TOTAL-ERROR PIC 999 VALUEZERO.
015200 01 ERROR-HOLD PIC 999 VALUEZERO.
015300 01 DUMMY-HOLD PIC X(120) VALUESPACE.
015400 01 RECORD-COUNT PIC 9(5) VALUEZERO.
015500 01 ANSI-REFERENCE PIC X(48) VALUESPACES.
015600 01 CCVS-H-1.
015700 02 FILLERPIC X(39) VALUESPACES.
015800 02 FILLERPIC X(42) VALUE
015900 "OFFICIAL COBOL COMPILER VALIDATION SYSTEM".
016000 02 FILLERPIC X(39) VALUESPACES.
016100 01 CCVS-H-2A.
016200 02 FILLERPIC X(40) VALUESPACE.
016300 02 FILLERPIC X(7) VALUE"CCVS85 ".
016400 02 FILLERPIC XXXX VALUE
016500 "4.2 ".
016600 02 FILLERPIC X(28) VALUE
016700 " COPY - NOT FOR DISTRIBUTION".
016800 02 FILLERPIC X(41) VALUESPACE.
016900
017000 01 CCVS-H-2B.
017100 02 FILLERPIC X(15) VALUE
017200 "TEST RESULT OF ".
017300 02 TEST-ID PIC X(9).
017400 02 FILLERPIC X(4) VALUE
017500 " IN ".
017600 02 FILLERPIC X(12) VALUE
017700 " HIGH ".
017800 02 FILLERPIC X(22) VALUE
017900 " LEVEL VALIDATION FOR ".
018000 02 FILLERPIC X(58) VALUE
018100 "ON-SITE VALIDATION, NATIONAL INSTITUTE OF STD & TECH. ".
018200 01 CCVS-H-3.
018300 02 FILLERPIC X(34) VALUE
018400 " FOR OFFICIAL USE ONLY ".
018500 02 FILLERPIC X(58) VALUE
018600 "COBOL 85 VERSION 4.2, Apr 1993 SSVG ".
018700 02 FILLERPIC X(28) VALUE
018800 " COPYRIGHT 1985 ".
018900 01 CCVS-E-1.
019000 02 FILLERPIC X(52) VALUESPACE.
019100 02 FILLERPIC X(14) VALUEIS"END OF TEST- ".
019200 02 ID-AGAIN PIC X(9).
019300 02 FILLERPIC X(45) VALUESPACES.
019400 01 CCVS-E-2.
019500 02 FILLERPIC X(31) VALUESPACE.
019600 02 FILLERPIC X(21) VALUESPACE.
019700 02 CCVS-E-2-2.
019800 03 ERROR-TOTAL PIC XXX VALUESPACE.
019900 03 FILLERPIC X VALUESPACE.
020000 03 ENDER-DESC PIC X(44) VALUE
020100 "ERRORS ENCOUNTERED".
020200 01 CCVS-E-3.
020300 02 FILLERPIC X(22) VALUE
020400 " FOR OFFICIAL USE ONLY".
020500 02 FILLERPIC X(12) VALUESPACE.
020600 02 FILLERPIC X(58) VALUE
020700 "ON-SITE VALIDATION, NATIONAL INSTITUTE OF STD & TECH. ".
020800 02 FILLERPIC X(13) VALUESPACE.
020900 02 FILLERPIC X(15) VALUE
021000 " COPYRIGHT 1985".
021100 01 CCVS-E-4.
021200 02 CCVS-E-4-1 PIC XXX VALUESPACE.
021300 02 FILLERPIC X(4) VALUE" OF ".
021400 02 CCVS-E-4-2 PIC XXX VALUESPACE.
021500 02 FILLERPIC X(40) VALUE
021600 " TESTS WERE EXECUTED SUCCESSFULLY".
021700 01 XXINFO.
021800 02 FILLERPIC X(19) VALUE
021900 "*** INFORMATION ***".
022000 02 INFO-TEXT.
022100 04 FILLERPIC X(8) VALUESPACE.
022200 04 XXCOMPUTED PIC X(20).
022300 04 FILLERPIC X(5) VALUESPACE.
022400 04 XXCORRECT PIC X(20).
022500 02 INF-ANSI-REFERENCE PIC X(48).
022600 01 HYPHEN-LINE.
022700 02 FILLERPICIS X VALUEISSPACE.
022800 02 FILLERPICIS X(65) VALUEIS"************************
022900- "*****************************************".
023000 02 FILLERPICIS X(54) VALUEIS"************************
023100- "******************************".
023200 01 CCVS-PGM-ID PIC X(9) VALUE
023300 "SM203A".
023400 PROCEDUREDIVISION.
023500 CCVS1 SECTION.
023600 OPEN-FILES.
023700 OPENOUTPUT PRINT-FILE.
023800 MOVE CCVS-PGM-ID TO TEST-ID. MOVE CCVS-PGM-ID TO ID-AGAIN.
023900 MOVESPACETO TEST-RESULTS.
024000 PERFORM HEAD-ROUTINE THRU COLUMN-NAMES-ROUTINE.
024100 GOTO CCVS1-EXIT.
024200 CLOSE-FILES.
024300 PERFORM END-ROUTINE THRU END-ROUTINE-13. CLOSE PRINT-FILE.
024400 TERMINATE-CCVS.
024500 EXITPROGRAM.
024600 TERMINATE-CALL.
024700 STOPRUN.
024800 INSPT. MOVE"INSPT"TO P-OR-F. ADD 1 TO INSPECT-COUNTER.
024900 PASS. MOVE"PASS "TO P-OR-F. ADD 1 TO PASS-COUNTER.
025000 FAIL. MOVE"FAIL*"TO P-OR-F. ADD 1 TO ERROR-COUNTER.
025100 DE-LETE. MOVE"*****"TO P-OR-F. ADD 1 TO DELETE-COUNTER.
025200 MOVE"****TEST DELETED****"TO RE-MARK.
025300 PRINT-DETAIL.
025400 IF REC-CT NOTEQUALTOZERO
025500 MOVE"."TO PARDOT-X
025600 MOVE REC-CT TO DOTVALUE.
025700 MOVE TEST-RESULTS TO PRINT-REC. PERFORM WRITE-LINE.
025800 IF P-OR-F EQUALTO"FAIL*"PERFORM WRITE-LINE
025900 PERFORM FAIL-ROUTINE THRU FAIL-ROUTINE-EX
026000 ELSEPERFORM BAIL-OUT THRU BAIL-OUT-EX.
026100 MOVESPACETO P-OR-F. MOVESPACETO COMPUTED-X.
026200 MOVESPACETO CORRECT-X.
026300 IF REC-CT EQUALTOZEROMOVESPACETO PAR-NAME.
026400 MOVESPACETO RE-MARK.
026500 HEAD-ROUTINE.
026600 MOVE CCVS-H-1 TO DUMMY-RECORD. PERFORM WRITE-LINE 2 TIMES.
026700 MOVE CCVS-H-2A TO DUMMY-RECORD. PERFORM WRITE-LINE 2 TIMES.
026800 MOVE CCVS-H-2B TO DUMMY-RECORD. PERFORM WRITE-LINE 3 TIMES.
026900 MOVE CCVS-H-3 TO DUMMY-RECORD. PERFORM WRITE-LINE 3 TIMES.
027000 COLUMN-NAMES-ROUTINE.
027100 MOVE CCVS-C-1 TO DUMMY-RECORD. PERFORM WRITE-LINE.
027200 MOVE CCVS-C-2 TO DUMMY-RECORD. PERFORM WRITE-LINE 2 TIMES.
027300 MOVE HYPHEN-LINE TO DUMMY-RECORD. PERFORM WRITE-LINE.
027400 END-ROUTINE.
027500 MOVE HYPHEN-LINE TO DUMMY-RECORD. PERFORM WRITE-LINE 5 TIMES.
027600 END-RTN-EXIT.
027700 MOVE CCVS-E-1 TO DUMMY-RECORD. PERFORM WRITE-LINE 2 TIMES.
027800 END-ROUTINE-1.
027900 ADD ERROR-COUNTER TO ERROR-HOLD ADD INSPECT-COUNTER TO
028000 ERROR-HOLD. ADD DELETE-COUNTER TO ERROR-HOLD.
028100 ADD PASS-COUNTER TO ERROR-HOLD. 028200* IF PASS-COUNTER EQUAL TO ERROR-HOLD GO TO END-ROUTINE-12.
028300 MOVE PASS-COUNTER TO CCVS-E-4-1.
028400 MOVE ERROR-HOLD TO CCVS-E-4-2.
028500 MOVE CCVS-E-4 TO CCVS-E-2-2.
028600 MOVE CCVS-E-2 TO DUMMY-RECORD PERFORM WRITE-LINE.
028700 END-ROUTINE-12.
028800 MOVE"TEST(S) FAILED"TO ENDER-DESC.
028900 IF ERROR-COUNTER ISEQUALTOZERO
029000 MOVE"NO "TO ERROR-TOTAL
029100 ELSE
029200 MOVE ERROR-COUNTER TO ERROR-TOTAL.
029300 MOVE CCVS-E-2 TO DUMMY-RECORD.
029400 PERFORM WRITE-LINE.
029500 END-ROUTINE-13.
029600 IF DELETE-COUNTER ISEQUALTOZERO
029700 MOVE"NO "TO ERROR-TOTAL ELSE
029800 MOVE DELETE-COUNTER TO ERROR-TOTAL.
029900 MOVE"TEST(S) DELETED "TO ENDER-DESC.
030000 MOVE CCVS-E-2 TO DUMMY-RECORD. PERFORM WRITE-LINE.
030100 IF INSPECT-COUNTER EQUALTOZERO
030200 MOVE"NO "TO ERROR-TOTAL
030300 ELSEMOVE INSPECT-COUNTER TO ERROR-TOTAL.
030400 MOVE"TEST(S) REQUIRE INSPECTION"TO ENDER-DESC.
030500 MOVE CCVS-E-2 TO DUMMY-RECORD. PERFORM WRITE-LINE.
030600 MOVE CCVS-E-3 TO DUMMY-RECORD. PERFORM WRITE-LINE.
030700 WRITE-LINE.
030800 ADD 1 TO RECORD-COUNT.
030900 IF RECORD-COUNT GREATER 50
031000 MOVE DUMMY-RECORD TO DUMMY-HOLD
031100 MOVESPACETO DUMMY-RECORD
031200 WRITE DUMMY-RECORD AFTERADVANCINGPAGE
031300 MOVE CCVS-C-1 TO DUMMY-RECORD PERFORM WRT-LN
031400 MOVE CCVS-C-2 TO DUMMY-RECORD PERFORM WRT-LN 2 TIMES
031500 MOVE HYPHEN-LINE TO DUMMY-RECORD PERFORM WRT-LN
031600 MOVE DUMMY-HOLD TO DUMMY-RECORD
031700 MOVEZEROTO RECORD-COUNT.
031800 PERFORM WRT-LN.
031900 WRT-LN.
032000 WRITE DUMMY-RECORD AFTERADVANCING 1 LINES.
032100 MOVESPACETO DUMMY-RECORD.
032200 BLANK-LINE-PRINT.
032300 PERFORM WRT-LN.
032400 FAIL-ROUTINE.
032500 IF COMPUTED-X NOTEQUALTOSPACEGOTO FAIL-ROUTINE-WRITE.
032600 IF CORRECT-X NOTEQUALTOSPACEGOTO FAIL-ROUTINE-WRITE.
032700 MOVE ANSI-REFERENCE TO INF-ANSI-REFERENCE.
032800 MOVE"NO FURTHER INFORMATION, SEE PROGRAM."TO INFO-TEXT.
032900 MOVE XXINFO TO DUMMY-RECORD. PERFORM WRITE-LINE 2 TIMES.
033000 MOVESPACESTO INF-ANSI-REFERENCE.
033100 GOTO FAIL-ROUTINE-EX.
033200 FAIL-ROUTINE-WRITE.
033300 MOVE TEST-COMPUTED TO PRINT-REC PERFORM WRITE-LINE
033400 MOVE ANSI-REFERENCE TO COR-ANSI-REFERENCE.
033500 MOVE TEST-CORRECT TO PRINT-REC PERFORM WRITE-LINE 2 TIMES.
033600 MOVESPACESTO COR-ANSI-REFERENCE.
033700 FAIL-ROUTINE-EX. EXIT.
033800 BAIL-OUT.
033900 IF COMPUTED-A NOTEQUALTOSPACEGOTO BAIL-OUT-WRITE.
034000 IF CORRECT-A EQUALTOSPACEGOTO BAIL-OUT-EX.
034100 BAIL-OUT-WRITE.
034200 MOVE CORRECT-A TO XXCORRECT. MOVE COMPUTED-A TO XXCOMPUTED.
034300 MOVE ANSI-REFERENCE TO INF-ANSI-REFERENCE.
034400 MOVE XXINFO TO DUMMY-RECORD. PERFORM WRITE-LINE 2 TIMES.
034500 MOVESPACESTO INF-ANSI-REFERENCE.
034600 BAIL-OUT-EX. EXIT.
034700 CCVS1-EXIT.
034800 EXIT.
034900 INITIALIZATION SECTION.
035000 SM203-INIT.
035100 OPENOUTPUT TEST-FILE.
035200 BUILD SECTION.
035300 COPY-TEST-1.
035400 MOVE RCD-1 TO TF-1.
035500 WRITE PROOF-REC.
035600 MOVE RCD-2 TO TF-1.
035700 WRITE PROOF-REC.
035800 MOVE RCD-3 TO TF-1.
035900 WRITE PROOF-REC.
036000 MOVE RCD-4 TO TF-1.
036100 WRITE PROOF-REC.
036200 MOVE RCD-5 TO TF-1.
036300 WRITE PROOF-REC.
036400 MOVE RCD-6 TO TF-1.
036500 WRITE PROOF-REC.
036600 MOVE RCD-7 TO TF-1.
036700 WRITE PROOF-REC.
036800 PERFORM PASS.
036900 GOTO COPY-WRITE-1.
037000 COPY-DELETE-1.
037100 PERFORM DE-LETE.
037200 COPY-WRITE-1.
037300 MOVE"COPY ENV DIV REPLAC"TO FEATURE.
037400 MOVE"COPY-TEST-1 "TO PAR-NAME.
037500 PERFORM PRINT-DETAIL.
037600 CLOSE TEST-FILE.
037700 CCVS-EXIT SECTION.
037800 CCVS-999999.
037900 GOTO CLOSE-FILES.
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.15Bemerkung:
(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.