products/Sources/formale Sprachen/Cobol/Test-Suite/SQL M image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: dml021.cob   Sprache: Cobol

       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)  ¤





Download des
Quellennavigators
Download des
sprechenden Kalenders

in der Quellcodebibliothek suchen




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.


Bot Zugriff