IDENTIFICATION DIVISION.
PROGRAM-ID. DML021.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. xyz.
OBJECT-COMPUTER. xyz.
DATA DIVISION.
WORKING-STORAGE SECTION.
* Standard COBOL (file "DML021.SCO") calling SQL
* procedures in file "DML021.MCO"
****************************************************************
*
* COMMENT SECTION
*
* DATE 1988/02/10 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.
*
* DML021.SCO
* WRITTEN BY: HU YANPING
* TRANSLATED AUTOMATICALLY FROM EMBEDDED COBOL BY CHRIS SCHANZLE
*
* THIS ROUTINE TESTS THE DATA TYPES IN SQL LANGUAGE.
*
* REFERENCES
* AMERICAN NATIONAL STANDARD database language - SQL
* X3.135-1989
*
* SECTION 5.5 <data type>
*
* Database Language Embedded SQL
* X3.168-1989
* SECTION 9. <embedded SQL Host Program>
*
****************************************************************
* EXEC SQL BEGIN DECLARE SECTION END-EXEC
01 char1 PIC X(20).
01 long1 PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
01 short1 PIC S9(4) DISPLAY SIGN LEADING SEPARATE.
* EXEC SQL END DECLARE SECTION END-EXEC
01 i PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
01 uid PIC X(18).
01 uidx PIC X(18).
01 SQL-COD PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
01 SQLCODE PIC S9(9) COMP.
01 errcnt PIC S9(4) DISPLAY SIGN LEADING SEPARATE.
* date_time declaration *
01 TO-DAY PIC 9(6).
01 THE-TIME PIC 9(8).
PROCEDURE DIVISION.
P0.
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 " "
STOP RUN
END-IF
MOVE 0 TO errcnt
DISPLAY
"SQL Test Suite, V6.0, Module COBOL, dml021.sco"
DISPLAY " "
DISPLAY
"59-byte ID"
DISPLAY "TEd Version #"
DISPLAY " "
* date_time print *
ACCEPT TO-DAY FROM DATE
ACCEPT THE-TIME FROM TIME
DISPLAY "Date run YYMMDD: " TO-DAY " at hhmmssff: " THE-TIME
******************** BEGIN TEST0084 *******************
DISPLAY " TEST0084"
DISPLAY "reference: X3.135-1989 5.5 & X3.168-1989 9. "
DISPLAY " - - - - - - - - - - - - - - - - - - -"
DISPLAY " *** CREATE TABLE AA (chartest CHAR(20)) "
DISPLAY " *** INSERT INTO AA "
DISPLAY " *** VALUES('abcdefghijklmnopqrst') "
DISPLAY " "
* EXEC SQL INSERT INTO AA
* VALUES('abcdefghijklmnopqrst') END-EXEC
CALL "SUB1" USING SQLCODE
MOVE SQLCODE TO SQL-COD
DISPLAY " After INSERT SQLCODE = ", SQL-COD
* EXEC SQL DECLARE DATA1 CURSOR
* FOR SELECT CHARTEST
* FROM AA END-EXEC
* EXEC SQL OPEN DATA1;
CALL "SUB2" USING SQLCODE
MOVE SQLCODE TO SQL-COD
MOVE " " TO char1
* EXEC SQL FETCH DATA1 INTO :char1;
CALL "SUB3" USING SQLCODE char1
MOVE SQLCODE TO SQL-COD
DISPLAY " char1 = ", char1
* EXEC SQL ROLLBACK WORK;
CALL "SUB4" USING SQLCODE
MOVE SQLCODE TO SQL-COD
if (char1 = "abcdefghijklmnopqrst") then
DISPLAY " *** pass ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0084','pass','MCO') END-EXEC
CALL "SUB5" USING SQLCODE
MOVE SQLCODE TO SQL-COD
else
DISPLAY " dml021.sco *** fail ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0084','fail','MCO') END-EXEC
ADD 1 TO errcnt
CALL "SUB6" USING SQLCODE
MOVE SQLCODE TO SQL-COD
END-IF
DISPLAY
"====================================================="
DISPLAY " "
* EXEC SQL COMMIT WORK;
CALL "SUB7" USING SQLCODE
MOVE SQLCODE TO SQL-COD
******************** END TEST0084 *******************
******************** BEGIN TEST0173 *******************
DISPLAY " TEST0173 "
DISPLAY "reference: X3.135-1989 5.5 & X3.168-1989 9. "
DISPLAY " - - - - - - - - - - - - - - - - - - -"
DISPLAY " *** CREATE TABLE BB (chartest CHAR) "
DISPLAY " *** INSERT INTO BB "
DISPLAY " *** VALUES('a') "
DISPLAY " "
COMPUTE i = -1
* EXEC SQL INSERT INTO BB
* VALUES('a') END-EXEC
CALL "SUB8" USING SQLCODE
MOVE SQLCODE TO SQL-COD
DISPLAY " After INSERT SQLCODE = ", SQL-COD
* EXEC SQL DECLARE DATA01 CURSOR
* FOR SELECT CHARTEST
* FROM BB END-EXEC
* EXEC SQL OPEN DATA01;
CALL "SUB9" USING SQLCODE
MOVE SQLCODE TO SQL-COD
MOVE " " TO char1
* EXEC SQL FETCH DATA01 INTO :char1;
CALL "SUB10" USING SQLCODE char1
MOVE SQLCODE TO SQL-COD
MOVE SQLCODE TO i
DISPLAY " char1 = ", char1
* EXEC SQL ROLLBACK WORK;
CALL "SUB11" USING SQLCODE
MOVE SQLCODE TO SQL-COD
if (char1 = "a" AND i = 0) then
DISPLAY " *** pass ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0173','pass','MCO') END-EXEC
CALL "SUB12" USING SQLCODE
MOVE SQLCODE TO SQL-COD
else
DISPLAY " dml021.sco *** fail ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0173','fail','MCO') END-EXEC
ADD 1 TO errcnt
CALL "SUB13" USING SQLCODE
MOVE SQLCODE TO SQL-COD
END-IF
DISPLAY
"====================================================="
DISPLAY " "
* EXEC SQL COMMIT WORK;
CALL "SUB14" USING SQLCODE
MOVE SQLCODE TO SQL-COD
******************** END TEST0173 *******************
******************** BEGIN TEST0085 *******************
DISPLAY " TEST0085"
DISPLAY "reference: X3.135-1989 5.5 & X3.168-1989 9. "
DISPLAY " - - - - - - - - - - - - - - - - - - -"
DISPLAY "*** CREATE TABLE CC (chartest CHARACTER(20)) "
DISPLAY "*** INSERT INTO CC "
DISPLAY "*** VALUES('abcdefghijklmnopqrst') "
DISPLAY " "
* EXEC SQL INSERT INTO CC
* VALUES('abcdefghijklmnopqrst') END-EXEC
CALL "SUB15" USING SQLCODE
MOVE SQLCODE TO SQL-COD
DISPLAY " After INSERT SQLCODE = ", SQL-COD
* EXEC SQL DECLARE DATA2 CURSOR
* FOR SELECT CHARTEST
* FROM CC END-EXEC
* EXEC SQL OPEN DATA2;
CALL "SUB16" USING SQLCODE
MOVE SQLCODE TO SQL-COD
MOVE " " TO char1
* EXEC SQL FETCH DATA2 INTO :char1;
CALL "SUB17" USING SQLCODE char1
MOVE SQLCODE TO SQL-COD
DISPLAY " char1 = ", char1
* EXEC SQL ROLLBACK WORK;
CALL "SUB18" USING SQLCODE
MOVE SQLCODE TO SQL-COD
if (char1 = "abcdefghijklmnopqrst") then
DISPLAY " *** pass ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0085','pass','MCO') END-EXEC
CALL "SUB19" USING SQLCODE
MOVE SQLCODE TO SQL-COD
else
DISPLAY " dml021.sco *** fail ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0085','fail','MCO') END-EXEC
ADD 1 TO errcnt
CALL "SUB20" USING SQLCODE
MOVE SQLCODE TO SQL-COD
END-IF
DISPLAY
"====================================================="
DISPLAY " "
* EXEC SQL COMMIT WORK;
CALL "SUB21" USING SQLCODE
MOVE SQLCODE TO SQL-COD
******************** END TEST0085 *******************
******************** BEGIN TEST0174 *******************
DISPLAY " TEST0174 "
DISPLAY "reference: X3.135-1989 5.5 & X3.168-1989 9. "
DISPLAY " - - - - - - - - - - - - - - - - - - -"
DISPLAY " *** CREATE TABLE DD (chartest CHARACTER) "
DISPLAY " *** INSERT INTO DD "
DISPLAY " *** VALUES('a') "
DISPLAY " "
COMPUTE i = -1
* EXEC SQL INSERT INTO DD
* VALUES('a') END-EXEC
CALL "SUB22" USING SQLCODE
MOVE SQLCODE TO SQL-COD
DISPLAY " After INSERT SQLCODE = ", SQL-COD
* EXEC SQL DECLARE DATA02 CURSOR
* FOR SELECT CHARTEST
* FROM DD END-EXEC
* EXEC SQL OPEN DATA02;
CALL "SUB23" USING SQLCODE
MOVE SQLCODE TO SQL-COD
MOVE " " TO char1
* EXEC SQL FETCH DATA02 INTO :char1;
CALL "SUB24" USING SQLCODE char1
MOVE SQLCODE TO SQL-COD
MOVE SQLCODE TO i
DISPLAY " char1 = ", char1
* EXEC SQL ROLLBACK WORK;
CALL "SUB25" USING SQLCODE
MOVE SQLCODE TO SQL-COD
if (char1 = "a" AND i = 0) then
DISPLAY " *** pass ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0174','pass','MCO') END-EXEC
CALL "SUB26" USING SQLCODE
MOVE SQLCODE TO SQL-COD
else
DISPLAY " dml021.sco *** fail ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0174','fail','MCO') END-EXEC
ADD 1 TO errcnt
CALL "SUB27" USING SQLCODE
MOVE SQLCODE TO SQL-COD
END-IF
DISPLAY
"====================================================="
DISPLAY " "
* EXEC SQL COMMIT WORK;
CALL "SUB28" USING SQLCODE
MOVE SQLCODE TO SQL-COD
******************** END TEST0174 *******************
******************** BEGIN TEST0086 *******************
DISPLAY " TEST0086"
DISPLAY "reference: X3.135-1989 5.5 & X3.168-1989 9. "
DISPLAY " - - - - - - - - - - - - - - - - - - -"
DISPLAY " *** CREATE TABLE EE (inttest INTEGER) "
DISPLAY " *** INSERT INTO EE "
DISPLAY " *** VALUES(123456) "
DISPLAY " "
COMPUTE i = -1
* EXEC SQL INSERT INTO EE
* VALUES(123456) END-EXEC
CALL "SUB29" USING SQLCODE
MOVE SQLCODE TO SQL-COD
DISPLAY " After INSERT SQLCODE = ", SQL-COD
* EXEC SQL DECLARE DATA3 CURSOR
* FOR SELECT INTTEST
* FROM EE END-EXEC
* EXEC SQL OPEN DATA3;
CALL "SUB30" USING SQLCODE
MOVE SQLCODE TO SQL-COD
MOVE 0 TO long1
* EXEC SQL FETCH DATA3 INTO :long1;
CALL "SUB31" USING SQLCODE long1
MOVE SQLCODE TO SQL-COD
MOVE SQLCODE TO i
DISPLAY " long1 = ", long1
* EXEC SQL ROLLBACK WORK;
CALL "SUB32" USING SQLCODE
MOVE SQLCODE TO SQL-COD
if (long1 = 123456 AND i = 0) then
DISPLAY " *** pass ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0086','pass','MCO') END-EXEC
CALL "SUB33" USING SQLCODE
MOVE SQLCODE TO SQL-COD
else
DISPLAY " dml021.sco *** fail ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0086','fail','MCO') END-EXEC
ADD 1 TO errcnt
CALL "SUB34" USING SQLCODE
MOVE SQLCODE TO SQL-COD
END-IF
DISPLAY
"====================================================="
DISPLAY " "
* EXEC SQL COMMIT WORK;
CALL "SUB35" USING SQLCODE
MOVE SQLCODE TO SQL-COD
******************** END TEST0086 *******************
******************** BEGIN TEST0087 *******************
DISPLAY " TEST0087"
DISPLAY "reference: X3.135-1989 5.5 & X3.168-1989 9. "
DISPLAY " - - - - - - - - - - - - - - - - - - -"
DISPLAY " *** CREATE TABLE FF (inttest INT) "
DISPLAY " *** INSERT INTO FF "
DISPLAY " *** VALUES(123456) "
DISPLAY " "
COMPUTE i = -1
* EXEC SQL INSERT INTO FF
* VALUES(123456) END-EXEC
CALL "SUB36" USING SQLCODE
MOVE SQLCODE TO SQL-COD
DISPLAY " After INSERT SQLCODE = ", SQL-COD
* EXEC SQL DECLARE DATA4 CURSOR
* FOR SELECT INTTEST
* FROM FF END-EXEC
* EXEC SQL OPEN DATA4;
CALL "SUB37" USING SQLCODE
MOVE SQLCODE TO SQL-COD
MOVE 0 TO long1
* EXEC SQL FETCH DATA4 INTO :long1;
CALL "SUB38" USING SQLCODE long1
MOVE SQLCODE TO SQL-COD
MOVE SQLCODE TO i
DISPLAY " long1 = ", long1
* EXEC SQL ROLLBACK WORK;
CALL "SUB39" USING SQLCODE
MOVE SQLCODE TO SQL-COD
if (long1 = 123456 AND i = 0) then
DISPLAY " *** pass ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0087','pass','MCO') END-EXEC
CALL "SUB40" USING SQLCODE
MOVE SQLCODE TO SQL-COD
else
DISPLAY " dml021.sco *** fail ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0087','fail','MCO') END-EXEC
ADD 1 TO errcnt
CALL "SUB41" USING SQLCODE
MOVE SQLCODE TO SQL-COD
END-IF
DISPLAY
"====================================================="
DISPLAY " "
* EXEC SQL COMMIT WORK;
CALL "SUB42" USING SQLCODE
MOVE SQLCODE TO SQL-COD
******************** END TEST0087 *******************
******************** BEGIN TEST0089 *******************
DISPLAY " TEST0089"
DISPLAY "reference: X3.135-1989 5.5 & X3.168-1989 9. "
DISPLAY " - - - - - - - - - - - - - - - - - - -"
DISPLAY " *** CREATE TABLE HH (smalltest SMALLINT) "
DISPLAY " *** INSERT INTO HH "
DISPLAY " *** VALUES(123) "
DISPLAY " "
* EXEC SQL INSERT INTO HH
* VALUES(123) END-EXEC
CALL "SUB43" USING SQLCODE
MOVE SQLCODE TO SQL-COD
DISPLAY " After INSERT SQLCODE = ", SQL-COD
MOVE 0 TO short1
* EXEC SQL SELECT *
* INTO :short1
* FROM HH END-EXEC
CALL "SUB44" USING SQLCODE short1
MOVE SQLCODE TO SQL-COD
DISPLAY " short1 = ", short1
* EXEC SQL ROLLBACK WORK;
CALL "SUB45" USING SQLCODE
MOVE SQLCODE TO SQL-COD
if (short1 = 123 ) then
DISPLAY " *** pass ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0089','pass','MCO') END-EXEC
CALL "SUB46" USING SQLCODE
MOVE SQLCODE TO SQL-COD
else
DISPLAY " dml021.sco *** fail ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0089','fail','MCO') END-EXEC
ADD 1 TO errcnt
CALL "SUB47" USING SQLCODE
MOVE SQLCODE TO SQL-COD
END-IF
DISPLAY
"====================================================="
DISPLAY " "
* EXEC SQL COMMIT WORK;
CALL "SUB48" USING SQLCODE
MOVE SQLCODE TO SQL-COD
******************** END TEST0089 *******************
******************** BEGIN TEST0175 *******************
DISPLAY " TEST0175 "
DISPLAY "reference: X3.135-1989 5.5 & X3.168-1989 9. "
DISPLAY " - - - - - - - - - - - - - - - - - - -"
DISPLAY " *** CREATE TABLE MM (numtest NUMERIC) "
DISPLAY " *** INSERT INTO MM "
DISPLAY " *** VALUES(7) "
DISPLAY " "
* EXEC SQL INSERT INTO MM
* VALUES(7) END-EXEC
CALL "SUB49" USING SQLCODE
MOVE SQLCODE TO SQL-COD
DISPLAY " After INSERT SQLCODE = ", SQL-COD " "
MOVE 0 TO long1
* EXEC SQL SELECT *
* INTO :long1
* FROM MM END-EXEC
CALL "SUB50" USING SQLCODE long1
MOVE SQLCODE TO SQL-COD
DISPLAY " select from MM long1 = ", long1
* EXEC SQL ROLLBACK WORK;
CALL "SUB51" USING SQLCODE
MOVE SQLCODE TO SQL-COD
if (long1 = 7) then
DISPLAY " *** pass ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0175','pass','MCO') END-EXEC
CALL "SUB52" USING SQLCODE
MOVE SQLCODE TO SQL-COD
else
DISPLAY " dml021.sco *** fail ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0175','fail','MCO') END-EXEC
ADD 1 TO errcnt
CALL "SUB53" USING SQLCODE
MOVE SQLCODE TO SQL-COD
END-IF
DISPLAY
"====================================================="
DISPLAY " "
* EXEC SQL COMMIT WORK;
CALL "SUB54" USING SQLCODE
MOVE SQLCODE TO SQL-COD
******************** END TEST0175 *******************
******************** BEGIN TEST0176 *******************
DISPLAY " TEST0176 "
DISPLAY "reference: X3.135-1989 5.5 & X3.168-1989 9. "
DISPLAY " - - - - - - - - - - - - - - - - - - -"
DISPLAY " *** CREATE TABLE NN (numtest NUMERIC(9)) "
DISPLAY " *** INSERT INTO NN "
DISPLAY " *** VALUES(123456789) "
DISPLAY " "
* EXEC SQL DELETE FROM NN;
CALL "SUB55" USING SQLCODE
* EXEC SQL INSERT INTO NN
* VALUES(123456789) END-EXEC
CALL "SUB56" USING SQLCODE
MOVE SQLCODE TO SQL-COD
DISPLAY " After INSERT SQLCODE = ", SQL-COD " "
MOVE 0 TO long1
* EXEC SQL SELECT *
* INTO :long1
* FROM NN END-EXEC
CALL "SUB57" USING SQLCODE long1
MOVE SQLCODE TO SQL-COD
DISPLAY " long1 = ", long1
* EXEC SQL ROLLBACK WORK;
CALL "SUB58" USING SQLCODE
MOVE SQLCODE TO SQL-COD
if (long1 = 123456789) then
DISPLAY " *** pass ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0176','pass','MCO') END-EXEC
CALL "SUB59" USING SQLCODE
MOVE SQLCODE TO SQL-COD
else
DISPLAY " dml021.sco *** fail ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0176','fail','MCO') END-EXEC
ADD 1 TO errcnt
CALL "SUB60" USING SQLCODE
MOVE SQLCODE TO SQL-COD
END-IF
DISPLAY
"====================================================="
DISPLAY " "
* EXEC SQL COMMIT WORK;
CALL "SUB61" USING SQLCODE
MOVE SQLCODE TO SQL-COD
******************** END TEST0176 *******************
******************** BEGIN TEST0177 *******************
DISPLAY " TEST0177 "
DISPLAY "reference: X3.135-1989 5.5 & Cross ref. 8.6 "
DISPLAY " - - - - - - - - - - - - - - - - - - -"
DISPLAY " *** CREATE TABLE OO (numtest NUMERIC(9)) "
DISPLAY " *** INSERT INTO OO "
DISPLAY " *** VALUES(123456789) "
DISPLAY " "
* EXEC SQL INSERT INTO OO
* VALUES(123456789) END-EXEC
CALL "SUB62" USING SQLCODE
MOVE SQLCODE TO SQL-COD
DISPLAY " After INSERT SQLCODE = ", SQL-COD " "
* EXEC SQL DECLARE DATA011 CURSOR
* FOR SELECT NUMTEST
* FROM OO END-EXEC
* EXEC SQL OPEN DATA011;
CALL "SUB63" USING SQLCODE
MOVE SQLCODE TO SQL-COD
MOVE 0 TO long1
* EXEC SQL FETCH DATA011 INTO :long1;
CALL "SUB64" USING SQLCODE long1
MOVE SQLCODE TO SQL-COD
DISPLAY " long1 = ", long1
* EXEC SQL ROLLBACK WORK;
CALL "SUB65" USING SQLCODE
MOVE SQLCODE TO SQL-COD
if (long1 = 123456789) then
DISPLAY " *** pass ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0177','pass','MCO') END-EXEC
CALL "SUB66" USING SQLCODE
MOVE SQLCODE TO SQL-COD
else
DISPLAY " dml021.sco *** fail ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0177','fail','MCO') END-EXEC
ADD 1 TO errcnt
CALL "SUB67" USING SQLCODE
MOVE SQLCODE TO SQL-COD
END-IF
DISPLAY
"====================================================="
DISPLAY " "
* EXEC SQL COMMIT WORK;
CALL "SUB68" USING SQLCODE
MOVE SQLCODE TO SQL-COD
******************** END TEST0177 *******************
******************** BEGIN TEST0178 *******************
DISPLAY " TEST0178 "
DISPLAY "reference: X3.135-1989 5.5 & X3.168-1989 9. "
DISPLAY " - - - - - - - - - - - - - - - - - - -"
DISPLAY " *** CREATE TABLE QQ (numtest DECIMAL) "
DISPLAY " *** INSERT INTO QQ "
DISPLAY " *** VALUES(56) "
DISPLAY " "
* EXEC SQL INSERT INTO QQ
* VALUES(56) END-EXEC
CALL "SUB69" USING SQLCODE
MOVE SQLCODE TO SQL-COD
DISPLAY " After INSERT SQLCODE = ", SQL-COD
MOVE 0 TO long1
* EXEC SQL SELECT *
* INTO :long1
* FROM QQ END-EXEC
CALL "SUB70" USING SQLCODE long1
MOVE SQLCODE TO SQL-COD
DISPLAY " long1 = ", long1
* EXEC SQL ROLLBACK WORK;
CALL "SUB71" USING SQLCODE
MOVE SQLCODE TO SQL-COD
if (long1 = 56) then
DISPLAY " *** pass ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0178','pass','MCO') END-EXEC
CALL "SUB72" USING SQLCODE
MOVE SQLCODE TO SQL-COD
else
DISPLAY " dml021.sco *** fail ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0178','fail','MCO') END-EXEC
ADD 1 TO errcnt
CALL "SUB73" USING SQLCODE
MOVE SQLCODE TO SQL-COD
END-IF
DISPLAY
"====================================================="
DISPLAY " "
* EXEC SQL COMMIT WORK;
CALL "SUB74" USING SQLCODE
MOVE SQLCODE TO SQL-COD
******************** END TEST0178 *******************
******************** BEGIN TEST0179 *******************
DISPLAY " TEST0179 "
DISPLAY "reference: X3.135-1989 5.5 & X3.168-1989 9. "
DISPLAY " - - - - - - - - - - - - - - - - - - -"
DISPLAY " *** CREATE TABLE RR (numtest DECIMAL(8)) "
DISPLAY " *** INSERT INTO RR "
DISPLAY " *** VALUES(12345678) "
DISPLAY " "
* EXEC SQL INSERT INTO RR
* VALUES(12345678) END-EXEC
CALL "SUB75" USING SQLCODE
MOVE SQLCODE TO SQL-COD
DISPLAY " After INSERT SQLCODE = ", SQL-COD
MOVE 0 TO long1
* EXEC SQL SELECT *
* INTO :long1
* FROM RR END-EXEC
CALL "SUB76" USING SQLCODE long1
MOVE SQLCODE TO SQL-COD
DISPLAY " long1 = ", long1
* EXEC SQL ROLLBACK WORK;
CALL "SUB77" USING SQLCODE
MOVE SQLCODE TO SQL-COD
if (long1 = 12345678) then
DISPLAY " *** pass ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0179','pass','MCO') END-EXEC
CALL "SUB78" USING SQLCODE
MOVE SQLCODE TO SQL-COD
else
DISPLAY " dml021.sco *** fail ***"
* EXEC SQL INSERT INTO TESTREPORT
* VALUES('0179','fail','MCO') END-EXEC
ADD 1 TO errcnt
CALL "SUB79" USING SQLCODE
MOVE SQLCODE TO SQL-COD
END-IF
DISPLAY
"====================================================="
DISPLAY " "
* EXEC SQL COMMIT WORK;
CALL "SUB80" USING SQLCODE
MOVE SQLCODE TO SQL-COD
******************** END TEST0179 *******************
**** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0
STOP RUN.
* **** Procedures for PERFORM statements
¤ Dauer der Verarbeitung: 0.37 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
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.
|