* Standard COBOL (file "DML068.SCO") calling SQL * procedures in file "DML068.MCO".
**************************************************************** * * COMMENT SECTION * * DATE 1990/04/07 STANDARD COBOL LANGUAGE * NIST SQL VALIDATION TEST SUITE V6.0 * DISCLAIMER: * This program was written by employees of NIST to test SQL * implementations for conformance to the SQL standards. * NIST assumes no responsibility for any party's use of * this program. * * DML068.SCO * WRITTEN BY: SUN DAJUN * * THIS ROUTINE TESTS THE COLLATING SEQUENCE OF THE * 95-CHARACTER GRAPHIC SUBSET OF ASCII SPECIFIED IN * FIPS PUB 1-2. * * REFERENCES * * FIPS PUB 1-2 page 9 * Code for Information Interchange showing * 95-character graphic subset. * ****************************************************************
MOVE"HU"TO uid CALL"AUTHID"USING uid MOVE"not logged in, not"TO uidx CALL"AUTHCK"USING SQLCODE uidx MOVE SQLCODE TO SQL-COD if (uid NOT = uidx) then DISPLAY"ERROR: User " uid " expected." DISPLAY"User " uidx " connected." DISPLAY" " STOPRUN END-IF
MOVE 0 TO errcnt DISPLAY "SQL Test Suite, V6.0, Module COBOL, dml068.sco" DISPLAY" " DISPLAY "59-byte ID" DISPLAY"TEd Version #" DISPLAY" " * date_time print * ACCEPT TO-DAY FROMDATE ACCEPT THE-TIME FROMTIME DISPLAY"Date run YYMMDD: " TO-DAY " at hhmmssff: " THE-TIME ******************** BEGIN TEST0389 ******************* *This program tests if the collating sequence for the *programming language and SQL are consistent.
* EXEC SQL DELETE FROM AA END-EXEC CALL"SUB1"USING SQLCODE MOVE SQLCODE TO SQL-COD
MOVE 1 TO ascflg MOVE 1 TO flag MOVE 1 TO cnt PERFORM P50 UNTIL cnt > 39 *Bubble sorting the TXTBUF MOVE 1 TO indexx PERFORM P49 UNTIL indexx > 39
* EXEC SQL DECLARE ROCK CURSOR FOR SELECT * FROM AA * ORDER BY CHARTEST END-EXEC
* EXEC SQL OPEN ROCK END-EXEC CALL"SUB2"USING SQLCODE MOVE SQLCODE TO SQL-COD MOVE 1 TO cnt PERFORM P47 UNTIL cnt > 39
* EXEC SQL CLOSE ROCK END-EXEC CALL"SUB3"USING SQLCODE MOVE SQLCODE TO SQL-COD * EXEC SQL ROLLBACK WORK END-EXEC CALL"SUB4"USING SQLCODE MOVE SQLCODE TO SQL-COD DISPLAY"The correct result is :" DISPLAY" flag = 1" DISPLAY"Your answer is :" DISPLAY" flag = ", flag if (ascflg = 1) then DISPLAY"******************************************" DISPLAY"* ASCII sequence verified *" DISPLAY"******************************************" else DISPLAY"******************************************" DISPLAY"* Sequence is not ASCII *" DISPLAY"******************************************" END-IF if (flag = 1) then * EXEC SQL INSERT INTO TESTREPORT * VALUES('0389','pass','MCO') END-EXEC CALL"SUB5"USING SQLCODE MOVE SQLCODE TO SQL-COD DISPLAY" *** pass *** " else * EXEC SQL INSERT INTO TESTREPORT * VALUES('0389','fail','MCO') END-EXEC ADD 1 TO errcnt CALL"SUB6"USING SQLCODE MOVE SQLCODE TO SQL-COD DISPLAY" dml068.sco *** fail *** " END-IF DISPLAY"================================================"
DISPLAY" " * EXEC SQL COMMIT WORK END-EXEC CALL"SUB7"USING SQLCODE MOVE SQLCODE TO SQL-COD ****************** END TEST0389 ***********************
**** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0 STOPRUN.
* **** Procedures for PERFORM statements
P50. MOVE TXTBUF(cnt) TO MID * EXEC SQL INSERT INTO AA * VALUES (:MID) END-EXEC CALL"SUB8"USING SQLCODE MID MOVE SQLCODE TO SQL-COD ADD 1 TO cnt
.
P49. COMPUTE temp = 39 - indexx MOVE 1 TO cnt PERFORM P48 UNTIL cnt > temp ADD 1 TO indexx
.
P48. if (TXTBUF(cnt) > TXTBUF(cnt + 1)) then MOVE TXTBUF(cnt) TO MID MOVE TXTBUF(cnt + 1) TO TXTBUF(cnt) MOVE MID TO TXTBUF(cnt + 1) END-IF MOVE TXTBUF(cnt) to XXXX MOVE TXTBUF(cnt + 1) to YYYY IF X1 = Y1 DISPLAY"Duplicate values for " XXXX " " YYYY MOVE 0 TO flag END-IF ADD 1 TO cnt
.
P47. MOVE TXTBUF(cnt) TO MID1 * EXEC SQL FETCH ROCK INTO :MID END-EXEC CALL"SUB9"USING SQLCODE MID MOVE SQLCODE TO SQL-COD if (MID1 NOT = MID) then MOVE 0 TO flag DISPLAY"TESTING", cnt END-IF DISPLAY" ", cnt " COBOL: ", MID1 " SQL: ", MID if (MID NOT = ASCIIX(cnt)) then MOVE 0 TO ascflg END-IF ADD 1 TO cnt
.
¤ 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.13Bemerkung:
(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 ist noch experimentell.