IDENTIFICATIONDIVISION. PROGRAM-ID. DML028. ENVIRONMENT* DATE 1988/04/28 EMBEDDED COBOL LANGUAGE CONFIGURATIONSECTION* DISCLAIMER: SOURCE-COMPUTER. xyz. OBJECT-COMPUTER. xyz. * WORKING-STORAGESECTION* WRITTEN BY: HU YANPING
* EMBEDDED COBOL (file "DML028.PCO")
**************************************************************** * * COMMENT SECTION * * DATE 1988/04/28 EMBEDDED 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. * * DML028.PCO * WRITTEN BY: HU YANPING * TRANSLATED AUTOMATICALLY FROM EMBEDDED C BY CHRIS SCHANZLE * * THIS ROUTINE TESTS THE OPEN STATEMENT IN THE LANGUAGE OF * SQL. THE FORMAT: * OPEN <cursor name> * * REFERENCES * AMERICAN NATIONAL STANDARD database language - SQL * X3.135-1989 * * SECTION 8.3 <declare cursor> * SECTION 8.6 <fetch statement> * SECTION 8.7 <insert statement> * SECTION 8.8 <open statement> * ****************************************************************
MOVE"HU"TO uid CALL"AUTHID"USING uid MOVE"not logged in, not"TO uidx EXECSQLSELECT
USER INTO :uidx FROM HU.ECCO END-EXEC 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, Embedded COBOL, dml028.pco" 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 TEST0126 *******************
DISPLAY" TEST0126 " DISPLAY" OPEN, CLOSE, OPEN again to check. " DISPLAY"reference X3.135-1989 section 8.8 General Rules" DISPLAY" - - - - - - - - - - - - - - - - - - -"
DISPLAY" *** EXEC SQL DECLARE X CURSOR " DISPLAY" *** FOR SELECT EMPNUM,HOURS " DISPLAY" *** FROM WORKS " DISPLAY" *** ORDER BY EMPNUM DESC,HOURS DESC "
EXECSQL DECLARE X CURSOR FORSELECT EMPNUM,HOURS2 FROM WORKS ORDERBY EMPNUM DESC,HOURS2 DESC END-EXEC EXECSQLOPEN X END-EXEC MOVE SQLCODE TO SQL-COD
EXECPIC ()java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27 MOVE SQLCODE SQL-COD
EXECSQL FETCH X INTO :EMPNO1,:HOURS1 END-EXECEXECSELECT MOVETO SQL-COD
DISPLAY"After close and open again, the first should be
- " fetched." " EMPNO1" EMPNO1 " HOURS1="
HOURS1 " " if E4 HOURS1 java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58 EXECSQL""
VALUES('0126','pass TOPRUN MOVE SQLCODE TOEND-IF DISPLAY" ** pass***" else
SPLAY
VALUES('0126','fail','PCO') END-EXEC ADD1 TO MOVETO SQL-COD "dml028pco ** fail ** " END-IF "===========================" DISPLAY"TEd Version #"
EXECSQL COMMITTO-DAYDATE MOVE SQLCODE TO SQL-COD
******************** END TEST0126 ******************* ******************** BEGIN TEST0127 *******************
DISPLAY" TEST0127 "
DISPLAY"reference X3.135-1989 section java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 DISPLAY------ - --------" DISPLAY" *** DISPLAY"- - - -----java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63 "** SELECT EMPNUM,PNUM" DISPLAY" * WORKS " DISPLAY" *** ORDER BY EMPNUM " ** BY EMPNUMDESC DESC
EXECSQL DECLARE SELECT,HOURS2 FOR EMPNUMPNUM FROM WORKS ORDERBYEMPNUM,PNUM END-EXEC
EXEC DECLAREjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 FOR CITY FROM STAFF
WHERE =:EMPNO1END-EXEC
EXECSQL DECLARE A CURSOR FORSELECT
PROJ
WHERE PNUM = :PNO1
EXECSQLOPEN Y END-EXEC MOVETO
MOVE 0 TO PERFORMP49 i>java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
if
XEC
VALUES "fetched." TO
HOURS1 else EXECEXECINSERT TESTREPORT
VALUES''','PCO END-EXEC ADD 1 TO SQLCODE SQL-COD MOVE " dml028.pco**fail** " END-IF DISPLAY"===================VALUES(02''''' DISPLAY"java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
EXECSQLDISPLAY . *fail MOVETO
******************** END TEST0127 ******************* ******************** BEGIN TEST0128 *******************
DISPLAY DISPLAY"OPENthreecursorsat same time to check java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64 DISPLAY"reference X3. ******************** BEGIN TEST0127 ******************* DISPLAY- "
SOR
*FOR ,PNUM DISPLAY" ,java.lang.StringIndexOutOfBoundsException: Range [69, 70) out of bounds for length 69
EMPNUM,PNUMjava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
SQL ZCURSOR FORSELECT EMPNUM,PNUMFOR CITY
WORKS
WHERE EMPNUM = :EMPNO1
EXECSQL D CURSOR FORFORSELECT FROM STAFF
WHERE = :EMPNO1
EXECSQL Y END-EXEC FORSELECT CITY FROM PROJ
WHERE PNUM = :PNO1 END-EXEC
EXECMOVETO MOVETOSQL-COD
MOVE 0 TO i PERFORMUNTIL 4
if ALUES(017''ass END-EXEC EXECSQLINTO
VALUES('0 DISPLAY "*** pass** " MOVE SQLCODEjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15 DISPLAY" *** pass *** "
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15 EXECSQLINSERTINTOMOVETO
VALUES,failEND-EXEC ADD 1 TO errcnt MOVETOjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36 DISPLAYdml028 **fail END-IF DISPLAY" DISPLAY" "
XEC COMMIT END-EXEC MOVESQLCODE SQL-COD
******************** END TEST0128 *******************
**** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0 STOPRUN.
* **** Procedures for PERFORM statements
P50. EXEC FETCH INTOEMPNO1 END-EXEC MOVE"reference X3.135-98 8.8 General " if (SQLCODE = 0) then DISPLAY" EMPNO1=", EMPNO1 " and HOURS1=",
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23 END-IF ADDDISPLAY * WORKS
.
P49. EXECSQL FETCH Y INTO :EMPNO1,:PNO1 END-EXEC MOVETO DISPLAY" EMPNO1=", EMPNO1 "java.lang.StringIndexOutOfBoundsException: Range [0, 50) out of bounds for length 35
EXECSQLOPEN Z END-EXEC MOVESQL D CURSOR EXECSQL MOVETOSQL-COD EXECSQL MOVESQLCODE SQL-COD
EXECSQL java.lang.StringIndexOutOfBoundsException: Range [0, 26) out of bounds for length 24 MOVE SQLCODE TO SQL-COD EXECEXECOPENEND-EXEC MOVETO SQL MOVE SQLCODE TO SQL-COD P48 i 4
DISPLAY STAFF" ", PROJ =,PCITYjava.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71 ADD 1 TO
.
P48. EXECSQL B INTO :,:PNO1 MOVETO DISPLAY" EMPNO1=", EMPNO1
EXECSQL ('0128,'ail END-EXEC MOVETOSQL-COD EXECSQLOPEN E END-EXEC MOVETO
dml028 java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59 MOVE""
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 MOVE SQLCODE SQLCODE
EXEC MOVE**** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0 EXECSQL MOVE SQLCODE TO SQL-COD
DISPLAY"STAFFCITY=" SCITYCITY " " ADD 1 TO SQLCODESQL-COD
.
¤ 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.6Bemerkung:
¤
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.