products/sources/formale sprachen/Cobol/Test-Suite/SQL P/cdr image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

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

Datei: sdl036.cob   Sprache: Cobol

       IDENTIFICATION DIVISION.
       PROGRAM-ID.  SDL032.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SOURCE-COMPUTER.  xyz.
       OBJECT-COMPUTER.  xyz.
       DATA DIVISION.
       WORKING-STORAGE SECTION.



      * EMBEDDED COBOL (file "SDL032.PCO")  

      ****************************************************************
      *                                                              
      *                 COMMENT SECTION                              
      *                                                              
      * DATE 1992/06/15 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.
      *                                                              
      * SDL032.PCO                                                    
      * WRITTEN BY: DAVID W. FLATER                                  
      *                                                              
      *   THIS ROUTINE TESTS THE SCHEMA DEFINITION LANGUAGE FOR SQL. 
      *                                                              
      ****************************************************************



           EXEC SQL BEGIN DECLARE SECTION END-EXEC
       01  mpnm PIC  X(3).
       01  mpna PIC  X(20).
       01  grd PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
       01  cty PIC  X(15).
       01  uid PIC  X(18).
       01  uidx PIC  X(18).
       01  tmpcnt PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
             EXEC SQL END DECLARE SECTION END-EXEC

       01  SQLCODE PIC S9(9) COMP.
       01  errcnt PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
      *date_time declaration 
       01  TO-DAY PIC 9(6).
       01  THE-TIME PIC 9(8).
       01  ii PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
       01  flag PIC S9(9) DISPLAY SIGN LEADING SEPARATE.

       01  SQL-COD PIC S9(9) DISPLAY SIGN LEADING SEPARATE.

       PROCEDURE DIVISION.
       P0.

             MOVE "FLATER" TO uid
             CALL "AUTHID" USING uid
             MOVE "not logged in, not" TO uidx
             EXEC SQL SELECT USER INTO :uidx FROM HU.ECCO END-EXEC
             MOVE SQLCODE TO SQL-COD
             if (uid  NOT  =   uidx) then
               DISPLAY "ERROR: User ", uid " expected. User ", uidx "
      -    " connected"
             STOP RUN
             END-IF
             MOVE 0 TO errcnt
             DISPLAY "SQL Test Suite, V6.0, Embedded COBOL, sdl032.
      -    "pco"
           DISPLAY 
           "59-byte ID"
           DISPLAY "TEd Version #"
      *date_time print 
           ACCEPT TO-DAY FROM DATE
           ACCEPT THE-TIME FROM TIME
           DISPLAY "Date run YYMMDD: " TO-DAY " at hhmmssff: " THE-TIME

      ******************** BEGIN TEST0472 *******************
             MOVE 1 TO flag

             DISPLAY " TEST0472 "
             DISPLAY " Priv.violation: indiv. SELECT & col. UPDATE"
             DISPLAY "Reference ANSI SQL-1992 11.36 "
             DISPLAY " - - - - - - - - - - - - - - - - - - -"

             DISPLAY "SELECT EMPNU, EMPNAME, GRADE, CITY"
             DISPLAY " INTO :mpnm, :mpna, :grd, :cty"
             DISPLAY " FROM HU.STAFF3 WHERE EMPNUM = 'E1';"
             MOVE "x" TO mpnm
             MOVE "x" TO mpna
             MOVE 0 TO grd
             MOVE "x" TO cty
             EXEC SQL SELECT EMPNUM, EMPNAME, GRADE, CITY
               INTO :mpnm, :mpna, :grd, :cty
               FROM HU.STAFF3 WHERE EMPNUM = 'E1' END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii
             DISPLAY "mpnm should be 'E1'; its value is ", mpnm
             DISPLAY "mpna should be 'Alice'; its value is ", mpna
             DISPLAY "grd should be 12; its value is ", grd
             DISPLAY "cty should be 'Deale'; its value is ", cty

             if (ii  NOT =  0  OR  mpnm  NOT  =   "E1"then
               MOVE 0 TO flag
             END-IF
             if (mpna  NOT  =   "Alice"  OR  grd  NOT =  12) then
               MOVE 0 TO flag
             END-IF
             if (cty  NOT  =   "Deale"then
               MOVE 0 TO flag
             END-IF

             DISPLAY "UPDATE HU.STAFF3 SET EMPNUM = 'E0' WHERE EMPNUM =
      -    " 'E1';"
             EXEC SQL UPDATE HU.STAFF3
               SET EMPNUM = 'E0'
               WHERE EMPNUM = 'E1' END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii

             if (ii  NOT =  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "UPDATE HU.STAFF3 SET EMPNAME = 'Larry'"
             DISPLAY " WHERE EMPNUM = 'E0';"
             EXEC SQL UPDATE HU.STAFF3
               SET EMPNAME = 'Larry'
               WHERE EMPNUM = 'E0' END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii

             if (ii  NOT =  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "UPDATE HU.STAFF3 SET GRADE = 15;"
             EXEC SQL UPDATE HU.STAFF3
               SET GRADE = 15 END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be < 0; its value is ", ii

             if (ii  NOT <  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "UPDATE HU.STAFF3 SET CITY = 'Greenmount';"
             EXEC SQL UPDATE HU.STAFF3
               SET CITY = 'Greenmount' END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be < 0; its value is ", ii

             if (ii  NOT <  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "SELECT COUNT(*) FROM HU.STAFF3"
             DISPLAY "WHERE CITY = 'Greenmount' OR"
             DISPLAY "GRADE = 15;"
             COMPUTE tmpcnt = -1
             EXEC SQL SELECT COUNT(*) INTO :tmpcnt
               FROM HU.STAFF3 WHERE CITY = 'Greenmount'
               OR GRADE = 15 END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii
             DISPLAY "COUNT should be 0; its value is ", tmpcnt

             if (ii  NOT =  0  OR  tmpcnt  NOT =  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "INSERT INTO HU.STAFF3 VALUES
      -    " ('E6','Mickey',12,'Nice');"
             DISPLAY "SELECT COUNT(*) FROM HU.STAFF3;"
             EXEC SQL INSERT INTO HU.STAFF3
               VALUES ('E6','Mickey',12,'Nice'END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             COMPUTE tmpcnt = -1
             EXEC SQL SELECT COUNT(*) INTO :tmpcnt FROM HU.STAFF3
             END-EXEC
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be < 0, 0;its value is ", ii ", ",
             SQL-COD
             DISPLAY "COUNT should be 5; its value is ", tmpcnt

             if (ii  NOT <  0  OR  SQLCODE  NOT =  0  OR  tmpcnt  NOT = 
             5) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "DELETE FROM HU.STAFF3;"
             DISPLAY "SELECT COUNT(*) FROM HU.STAFF3;"
             EXEC SQL DELETE FROM HU.STAFF3 END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             COMPUTE tmpcnt = -1
             EXEC SQL SELECT COUNT(*) INTO :tmpcnt FROM HU.STAFF3
             END-EXEC
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be < 0, 0;its value is ", ii ", ",
             SQL-COD
             DISPLAY "COUNT should be 5; its value is ", tmpcnt

             if (ii  NOT <  0  OR  SQLCODE  NOT =  0  OR  tmpcnt  NOT = 
             5) then
               MOVE 0 TO flag
             END-IF

             EXEC SQL ROLLBACK WORK END-EXEC
             MOVE SQLCODE TO SQL-COD

             if ( flag  =  1 ) then
               DISPLAY " *** pass *** "
               EXEC SQL INSERT INTO HU.TESTREPORT
                 VALUES('0472','pass','PCO'END-EXEC
               MOVE SQLCODE TO SQL-COD
             else
               DISPLAY " sdl032.pco *** fail *** "
               EXEC SQL INSERT INTO HU.TESTREPORT
                 VALUES('0472','fail','PCO'END-EXEC
               MOVE SQLCODE TO SQL-COD
               COMPUTE errcnt = errcnt + 1
             END-IF

             DISPLAY "==============================================="

             EXEC SQL COMMIT WORK END-EXEC
             MOVE SQLCODE TO SQL-COD
      ******************** END TEST0472 ********************

      ******************** BEGIN TEST0484 *******************
             MOVE 1 TO flag

             DISPLAY " TEST0484 "
             DISPLAY " Priv.violation: SELECT & col. UPDATE on view"
             DISPLAY "Reference ANSI SQL-1992 11.36 "
             DISPLAY " - - - - - - - - - - - - - - - - - - -"

             DISPLAY "SELECT EMPNU, EMPNAME, GRADE, CITY"
             DISPLAY " INTO :mpnm, :mpna, :grd, :cty"
             DISPLAY " FROM HU.VSTAFF3 WHERE EMPNUM = 'E1';"
             MOVE "x" TO mpnm
             MOVE "x" TO mpna
             MOVE 0 TO grd
             MOVE "x" TO cty
             EXEC SQL SELECT EMPNUM, EMPNAME, GRADE, CITY
               INTO :mpnm, :mpna, :grd, :cty
               FROM HU.VSTAFF3 WHERE EMPNUM = 'E1' END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii
             DISPLAY "mpnm should be 'E1'; its value is ", mpnm
             DISPLAY "mpna should be 'Alice'; its value is ", mpna
             DISPLAY "grd should be 12; its value is ", grd
             DISPLAY "cty should be 'Deale'; its value is ", cty

             if (ii  NOT =  0  OR  mpnm  NOT  =   "E1"then
               MOVE 0 TO flag
             END-IF
             if (mpna  NOT  =   "Alice"  OR  grd  NOT =  12) then
               MOVE 0 TO flag
             END-IF
             if (cty  NOT  =   "Deale"then
               MOVE 0 TO flag
             END-IF

             DISPLAY "UPDATE HU.VSTAFF3 SET EMPNUM = 'E0' WHERE EMPNUM =
      -    " 'E1';"
             EXEC SQL UPDATE HU.VSTAFF3
               SET EMPNUM = 'E0'
               WHERE EMPNUM = 'E1' END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii

             if (ii  NOT =  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "UPDATE HU.VSTAFF3 SET EMPNAME = 'Larry'"
             DISPLAY " WHERE EMPNUM = 'E0';"
             EXEC SQL UPDATE HU.VSTAFF3
               SET EMPNAME = 'Larry'
               WHERE EMPNUM = 'E0' END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii

             if (ii  NOT =  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "UPDATE HU.VSTAFF3 SET GRADE = 15;"
             EXEC SQL UPDATE HU.VSTAFF3
               SET GRADE = 15 END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be < 0; its value is ", ii

             if (ii  NOT <  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "UPDATE HU.VSTAFF3 SET CITY = 'Greenmount';"
             EXEC SQL UPDATE HU.VSTAFF3
               SET CITY = 'Greenmount' END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be < 0; its value is ", ii

             if (ii  NOT <  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "SELECT COUNT(*) FROM HU.VSTAFF3"
             DISPLAY "WHERE CITY = 'Greenmount' OR"
             DISPLAY "GRADE = 15;"
             COMPUTE tmpcnt = -1
             EXEC SQL SELECT COUNT(*) INTO :tmpcnt
               FROM HU.VSTAFF3 WHERE CITY = 'Greenmount'
               OR GRADE = 15 END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii
             DISPLAY "COUNT should be 0; its value is ", tmpcnt

             if (ii  NOT =  0  OR  tmpcnt  NOT =  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "INSERT INTO HU.VSTAFF3 VALUES
      -    " ('E6','Mickey',12,'Nice');"
             DISPLAY "SELECT COUNT(*) FROM HU.VSTAFF3;"
             EXEC SQL INSERT INTO HU.VSTAFF3
               VALUES ('E6','Mickey',12,'Nice'END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             COMPUTE tmpcnt = -1
             EXEC SQL SELECT COUNT(*) INTO :tmpcnt FROM HU.VSTAFF3
             END-EXEC
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be < 0, 0;its value is ", ii ", ",
             SQL-COD
             DISPLAY "COUNT should be 5; its value is ", tmpcnt

             if (ii  NOT <  0  OR  SQLCODE  NOT =  0  OR  tmpcnt  NOT = 
             5) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "DELETE FROM HU.VSTAFF3;"
             DISPLAY "SELECT COUNT(*) FROM HU.VSTAFF3;"
             EXEC SQL DELETE FROM HU.VSTAFF3 END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             COMPUTE tmpcnt = -1
             EXEC SQL SELECT COUNT(*) INTO :tmpcnt FROM HU.VSTAFF3
             END-EXEC
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be < 0, 0;its value is ", ii ", ",
             SQL-COD
             DISPLAY "COUNT should be 5; its value is ", tmpcnt

             if (ii  NOT <  0  OR  SQLCODE  NOT =  0  OR  tmpcnt  NOT = 
             5) then
               MOVE 0 TO flag
             END-IF

             EXEC SQL ROLLBACK WORK END-EXEC
             MOVE SQLCODE TO SQL-COD

             if ( flag  =  1 ) then
               DISPLAY " *** pass *** "
               EXEC SQL INSERT INTO HU.TESTREPORT
                 VALUES('0484','pass','PCO'END-EXEC
               MOVE SQLCODE TO SQL-COD
             else
               DISPLAY " sdl032.pco *** fail *** "
               EXEC SQL INSERT INTO HU.TESTREPORT
                 VALUES('0484','fail','PCO'END-EXEC
               MOVE SQLCODE TO SQL-COD
               COMPUTE errcnt = errcnt + 1
             END-IF

             DISPLAY "==============================================="

             EXEC SQL COMMIT WORK END-EXEC
             MOVE SQLCODE TO SQL-COD
      ******************** END TEST0484 ********************

      ******************** BEGIN TEST0485 *******************
             MOVE 1 TO flag

             DISPLAY " TEST0485 "
             DISPLAY " Priv.violation: SELECT & col. UPDATE cursor"
             DISPLAY "Reference ANSI SQL-1992 11.36 "
             DISPLAY " 13.1
      -    " cursor>"
             DISPLAY " 13.2
      -    " statement>"
             DISPLAY " - - - - - - - - - - - - - - - - - - -"

             DISPLAY "DECLARE BRAD CURSOR FOR"
             DISPLAY "SELECT EMPNUM, EMPNAME, GRADE, CITY"
             DISPLAY "FROM HU.VSTAFF3 WHERE EMPNUM = 'E1';"
             EXEC SQL DECLARE BRAD CURSOR FOR
               SELECT EMPNUM, EMPNAME, GRADE, CITY
               FROM HU.VSTAFF3 WHERE EMPNUM = 'E1' END-EXEC

             DISPLAY "OPEN BRAD;"
             EXEC SQL OPEN BRAD END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii

             if (ii  NOT =  0) then
               MOVE 0 TO flag
             END-IF

             MOVE "x" TO mpnm
             MOVE "x" TO mpna
             MOVE 0 TO grd
             MOVE "x" TO cty
             DISPLAY "FETCH BRAD INTO :mpnm, :mpna, :grd, :cty;"
             EXEC SQL FETCH BRAD INTO :mpnm, :mpna, :grd, :cty END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii
             DISPLAY "mpnm should be 'E1'; its value is ", mpnm
             DISPLAY "mpna should be 'Alice'; its value is ", mpna
             DISPLAY "grd should be 12; its value is ", grd
             DISPLAY "cty should be 'Deale'; its value is ", cty

             if (ii  NOT =  0) then
               MOVE 0 TO flag
             END-IF
             if (mpnm  NOT  =   "E1"then
               MOVE 0 TO flag
             END-IF
             if (mpna  NOT  =   "Alice"  OR  grd  NOT =  12) then
               MOVE 0 TO flag
             END-IF
             if (cty  NOT  =   "Deale"then
               MOVE 0 TO flag
             END-IF

             DISPLAY "CLOSE BRAD;"
             EXEC SQL CLOSE BRAD END-EXEC
             MOVE SQLCODE TO SQL-COD

             DISPLAY "DECLARE MAGENTA CURSOR FOR"
             DISPLAY "SELECT EMPNUM, EMPNAME FROM HU.VSTAFF3;"
             EXEC SQL DECLARE MAGENTA CURSOR FOR
               SELECT EMPNUM, EMPNAME
               FROM HU.VSTAFF3 END-EXEC
      *Magenta Declaration 
      *Do not delete these comments--TED uses them 

             DISPLAY "OPEN MAGENTA;"
             EXEC SQL OPEN MAGENTA END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii

             if (ii  NOT =  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "FETCH MAGENTA INTO :mpnm, :mpna;"
             EXEC SQL FETCH MAGENTA INTO :mpnm, :mpna END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii

             if (ii  NOT =  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "UPDATE HU.VSTAFF3 SET EMPNUM = 'E0'"
             DISPLAY "WHERE CURRENT OF MAGENTA;"
             EXEC SQL UPDATE HU.VSTAFF3
               SET EMPNUM = 'E0' WHERE CURRENT OF MAGENTA END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii

             if (ii  NOT =  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "UPDATE HU.VSTAFF3 SET EMPNAME = 'Janet'"
             DISPLAY "WHERE CURRENT OF MAGENTA;"
             EXEC SQL UPDATE HU.VSTAFF3
               SET EMPNAME = 'Janet'
               WHERE CURRENT OF MAGENTA END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii

             if (ii  NOT =  0) then
               MOVE 0 TO flag
             END-IF

      *Do Not Delete This  001 
             DISPLAY "UPDATE HU.VSTAFF3 SET GRADE = 15"
             DISPLAY "WHERE CURRENT OF MAGENTA;"
             EXEC SQL UPDATE HU.VSTAFF3
               SET GRADE = 15
               WHERE CURRENT OF MAGENTA END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be < 0; its value is ", ii

             if (ii  NOT <  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "UPDATE HU.VSTAFF3 SET CITY = 'Denton'"
             DISPLAY "WHERE CURRENT OF MAGENTA;"
             EXEC SQL UPDATE HU.VSTAFF3
               SET CITY = 'Denton'
               WHERE CURRENT OF MAGENTA END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be < 0; its value is ", ii

             if (ii  NOT <  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "SELECT COUNT(*) FROM HU.VSTAFF3"
             DISPLAY "WHERE CITY = 'Denton' OR"
             DISPLAY "GRADE = 15;"
             COMPUTE tmpcnt = -1
             EXEC SQL SELECT COUNT(*) INTO :tmpcnt
               FROM HU.VSTAFF3 WHERE CITY = 'Denton'
               OR GRADE = 15 END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii
             DISPLAY "COUNT should be 0; its value is ", tmpcnt

             if (ii  NOT =  0  OR  tmpcnt  NOT =  0) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "DELETE FROM HU.VSTAFF3 WHERE CURRENT OF MAGENTA;"
             EXEC SQL DELETE FROM HU.VSTAFF3
               WHERE CURRENT OF MAGENTA END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be < 0; its value is ", ii

             if (ii  NOT <  0) then
               MOVE 0 TO flag
             END-IF

      *Do Not Delete This  002 
             DISPLAY "CLOSE MAGENTA;"
             EXEC SQL CLOSE MAGENTA END-EXEC
             MOVE SQLCODE TO SQL-COD

             COMPUTE tmpcnt = -1
             DISPLAY "SELECT COUNT(*) FROM HU.VSTAFF3;"
             EXEC SQL SELECT COUNT(*) INTO :tmpcnt FROM HU.VSTAFF3
             END-EXEC
             MOVE SQLCODE TO SQL-COD
             MOVE SQLCODE TO ii
             DISPLAY "SQLCODE should be 0; its value is ", ii
             DISPLAY "COUNT should be 5; its value is ", tmpcnt

             if (ii  NOT =  0) then
               MOVE 0 TO flag
             END-IF
             if (tmpcnt  NOT =  5) then
               MOVE 0 TO flag
             END-IF

             EXEC SQL ROLLBACK WORK END-EXEC
             MOVE SQLCODE TO SQL-COD

             if ( flag  =  1 ) then
               DISPLAY " *** pass *** "
               EXEC SQL INSERT INTO HU.TESTREPORT
                 VALUES('0485','pass','PCO'END-EXEC
               MOVE SQLCODE TO SQL-COD
             else
               DISPLAY " sdl032.pco *** fail *** "
               EXEC SQL INSERT INTO HU.TESTREPORT
                 VALUES('0485','fail','PCO'END-EXEC
               MOVE SQLCODE TO SQL-COD
               COMPUTE errcnt = errcnt + 1
             END-IF

             DISPLAY "==============================================="

             EXEC SQL COMMIT WORK END-EXEC
             MOVE SQLCODE TO SQL-COD
      ******************** END TEST0485 ********************

      **** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0
           STOP RUN.

      *    ****  Procedures for PERFORM statements

¤ Dauer der Verarbeitung: 0.35 Sekunden  (vorverarbeitet)  ¤





Druckansicht
unsichere Verbindung
Druckansicht
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