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: yts783.cob   Sprache: Cobol

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


      * Standard COBOL (file "DML136.SCO") calling SQL
      * procedures in file "DML136.MCO".


      ****************************************************************
      *                                                              
      *                 COMMENT SECTION                              
      *                                                              
      * DATE 1994/9/13 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.
      *                                                              
      * DML136.SCO                                                    
      * WRITTEN BY:  David W. Flater                                 
      * TRANSLATED AUTOMATICALLY FROM EMBEDDED COBOL BY CHRIS SCHANZLE
      *                                                              
      * This program tests multiple TSQL features together.          
      *                                                              
      * REFERENCES                                                   
      *   FIPS PUB 127-2 14.1 Transitional SQL                       
      *   ANSI SQL-1992                                              
      *                                                              
      ****************************************************************



      * EXEC SQL BEGIN DECLARE SECTION END-EXEC
       01  SQLCODE PIC S9(9) COMP.
       01  SQLSTATE PIC  X(5).
       01  uid PIC  X(18).
       01  uidx PIC  X(18).
       01  int1 PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
       01  flt1 PIC S9(4)V9(8) DISPLAY SIGN LEADING SEPARATE.
       01  ch40 PIC  X(40).
       01  st PIC  X(5).
       01  mtxt PIC  X(50).
       01  dstmt PIC  X(50).
       01  longst PIC  X(240).
      *  EXEC SQL END DECLARE SECTION END-EXEC
       01  FLT-1 PIC -(5).999999.
       01  norm1 PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
       01  norm2 PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
       01  ALPNUM-TABLE VALUE IS
               "01234ABCDEFGH56789IJKLMNOPQRSTUVWXYZ".
           05  ALPNUM PIC X OCCURS 36 TIMES.
       01  NORMSQ.
           05  NORMSQX PIC X OCCURS 5 TIMES.
       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  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;
             CALL "SUB1" USING SQLCODE SQLSTATE uidx
             MOVE SQLCODE TO SQL-COD
      *  EXEC SQL ROLLBACK WORK;
             CALL "SUB2" USING SQLCODE SQLSTATE
             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, Module COBOL, dml136.sco"
             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 TEST0696 *******************
             MOVE 1 TO flag

             DISPLAY " TEST0696 "
             DISPLAY "Many TSQL features #5: Video Game Scores"
             DISPLAY "References:"
             DISPLAY " F# 1 -- Dynamic SQL"
             DISPLAY " F# 3 -- Basic schema manipulation"
             DISPLAY " F# 4 -- Joined table"
             DISPLAY " F# 5 -- DATETIME data types"
             DISPLAY " F# 11 -- Transaction isolation"
             DISPLAY " F# 12 -- Get diagnostics"
             DISPLAY " F# 14 -- Qualified * in select list"
             DISPLAY " F# 20 -- CAST functions"
             DISPLAY " F# 24 -- Keyword relaxations"
             DISPLAY " TC #2 5.3 6.10"
             DISPLAY " X3H2-94-015/DBL SOU-031, SQL-92 Errata:"
             DISPLAY " Casting Between Datetimes and Character
      -    " Strings"
             DISPLAY " - - - - - - - - - - - - - - - - - - -"

      *Lowercase _keywords_ are Entry SQL 

             DISPLAY "Exec SQL Create Table FOOM ("
             DISPLAY " PLAYER_NO Int,"
             DISPLAY " LEVL Int,"
             DISPLAY " PCT_BLOWN_UP Decimal (12, 8),"
             DISPLAY " TIME_TO_FINISH Interval Minute to Second);"
      *  Exec SQL Create Table FOOM (
      *    PLAYER_NO Int,
      *    LEVL Int,
      *    PCT_BLOWN_UP Decimal (12, 8),
      *    TIME_TO_FINISH Interval Minute to Second);
             CALL "SUB3" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB4" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "COMMIT;"
      *  EXEC SQL COMMIT;
             CALL "SUB5" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB6" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "Exec SQL Create Table SPLAT_EM ("
             DISPLAY " PLAYER_NO Int,"
             DISPLAY " MAX_LEVEL Int,"
             DISPLAY " SCORE Decimal (6));"
      *  Exec SQL Create Table SPLAT_EM (
      *    PLAYER_NO Int,
      *    MAX_LEVEL Int,
      *    SCORE Decimal (6));
             CALL "SUB7" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB8" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "COMMIT;"
      *  EXEC SQL COMMIT;
             CALL "SUB9" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB10" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "CREATE VIEW FOOM_AVG"
             DISPLAY " (PLAYER_NO, FOOM_SCORE1, FOOM_SCORE2) AS"
             DISPLAY " SELECT PLAYER_NO,"
             DISPLAY " AVG (PCT_BLOWN_UP),"
             DISPLAY " 1.0 / AVG (EXTRACT (SECOND FROM"
             DISPLAY " CAST (TIME_TO_FINISH AS INTERVAL SECOND)))"
             DISPLAY " FROM FOOM GROUP BY PLAYER_NO;"
      *  EXEC SQL CREATE VIEW FOOM_AVG
      *    (PLAYER_NO, FOOM_SCORE1, FOOM_SCORE2) AS
      *    SELECT PLAYER_NO,
      *    AVG (PCT_BLOWN_UP),
      *    1.0 / AVG (EXTRACT (SECOND FROM
      *    CAST (TIME_TO_FINISH AS INTERVAL SECOND)))
      *    FROM FOOM GROUP BY PLAYER_NO;
             CALL "SUB11" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB12" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "COMMIT;"
      *  EXEC SQL COMMIT;
             CALL "SUB13" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB14" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "CREATE VIEW SPLAT_AVG"
             DISPLAY " (PLAYER_NO, SPLAT_SCORE) AS"
             DISPLAY " SELECT PLAYER_NO, AVG (SCORE)"
             DISPLAY " FROM SPLAT_EM GROUP BY PLAYER_NO;"
      *  EXEC SQL CREATE VIEW SPLAT_AVG
      *    (PLAYER_NO, SPLAT_SCORE) AS
      *    SELECT PLAYER_NO, AVG (SCORE)
      *    FROM SPLAT_EM GROUP BY PLAYER_NO;
             CALL "SUB15" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB16" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "COMMIT;"
      *  EXEC SQL COMMIT;
             CALL "SUB17" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB18" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

      *This view is only here because of 7.9 SR.7.  Grumble.... 

             DISPLAY "CREATE VIEW MAXIMA"
             DISPLAY " (MAX_FOOM_SCORE1, MAX_FOOM_SCORE2,
      -    " MAX_SPLAT_SCORE) AS"
             DISPLAY " SELECT MAX (FOOM_SCORE1), MAX (FOOM_SCORE2),"
             DISPLAY " MAX (SPLAT_SCORE) FROM FOOM_AVG, SPLAT_AVG;"
      *  EXEC SQL CREATE VIEW MAXIMA
      *    (MAX_FOOM_SCORE1, MAX_FOOM_SCORE2, MAX_SPLAT_SCORE) AS
      *    SELECT MAX (FOOM_SCORE1), MAX (FOOM_SCORE2),
      *    MAX (SPLAT_SCORE) FROM FOOM_AVG, SPLAT_AVG;
             CALL "SUB19" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB20" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "COMMIT;"
      *  EXEC SQL COMMIT;
             CALL "SUB21" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB22" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

      *The column PLAYER_NO is a common column of the joined table and
      *therefore is not included in <qualifier> <period> <asterisk>   
      *according to 7.9 SR.4                                          

             DISPLAY "CREATE VIEW ALLSCORES"
             DISPLAY " (PLAYER_NO, SPLAT_SCORE, FOOM_SCORE1,
      -    " FOOM_SCORE2,"
             DISPLAY " MAX_FOOM_SCORE1, MAX_FOOM_SCORE2,
      -    " MAX_SPLAT_SCORE) AS"
             DISPLAY " SELECT PLAYER_NO, SPLAT_AVG.*, FOOM_AVG.*,
      -    " MAXIMA.*"
             DISPLAY " FROM FOOM_AVG NATURAL JOIN SPLAT_AVG, MAXIMA;"
      *  EXEC SQL CREATE VIEW ALLSCORES
      *    (PLAYER_NO, SPLAT_SCORE, FOOM_SCORE1, FOOM_SCORE2,
      *    MAX_FOOM_SCORE1, MAX_FOOM_SCORE2, MAX_SPLAT_SCORE) AS
      *    SELECT PLAYER_NO, SPLAT_AVG.*, FOOM_AVG.*, MAXIMA.*
      *    FROM FOOM_AVG NATURAL JOIN SPLAT_AVG, MAXIMA;
             CALL "SUB23" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB24" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "COMMIT;"
      *  EXEC SQL COMMIT;
             CALL "SUB25" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB26" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

      *FOOM gets weighted more than SPLAT_EM.  With Intermediate 
      *F# 47, this could be done with subqueries.                

             DISPLAY "CREATE VIEW NORMALIZED_AVGS"
             DISPLAY " (PLAYER_NO, GENERIC_AVG) AS"
             DISPLAY " SELECT PLAYER_NO,"
             DISPLAY " (SPLAT_SCORE / MAX_SPLAT_SCORE +"
             DISPLAY " FOOM_SCORE1 / MAX_FOOM_SCORE1 +"
             DISPLAY " FOOM_SCORE2 / MAX_FOOM_SCORE2) / 3.0"
             DISPLAY " FROM ALLSCORES;"
      *  EXEC SQL CREATE VIEW NORMALIZED_AVGS
      *    (PLAYER_NO, GENERIC_AVG) AS
      *    SELECT PLAYER_NO,
      *    (SPLAT_SCORE / MAX_SPLAT_SCORE +
      *    FOOM_SCORE1 / MAX_FOOM_SCORE1 +
      *    FOOM_SCORE2 / MAX_FOOM_SCORE2) / 3.0
      *    FROM ALLSCORES;
             CALL "SUB27" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB28" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "COMMIT;"
      *  EXEC SQL COMMIT;
             CALL "SUB29" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB30" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "ALLOCATE DESCRIPTOR 'D13611' WITH MAX 4;"
      *  EXEC SQL ALLOCATE DESCRIPTOR 'D13611' WITH MAX 4;
             CALL "SUB31" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB32" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             if (st   =   "07009")  then
               DISPLAY "Received SQLSTATE 07009!"
               DISPLAY "This test must be rewritten by NIST (in the
      -    " event of"
               DISPLAY "a validation) to accomodate
      -    " implementation-defined"
               DISPLAY "limit on ."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

      *Poor man's describe input 

      *  EXEC SQL DELETE FROM CONCATBUF;
             CALL "SUB33" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
      *  EXEC SQL INSERT INTO CONCATBUF VALUES (
      *    'SELECT PLAYER_NO, LEVL, PCT_BLOWN_UP,' ||
      *    '  CAST (TIME_TO_FINISH AS CHAR (70))'  ||
      *    '  FROM FOOM'
      *    );
             CALL "SUB34" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
      *  EXEC SQL SELECT ZZ INTO :longst FROM CONCATBUF;
             CALL "SUB35" USING SQLCODE SQLSTATE longst
             MOVE SQLCODE TO SQL-COD

             DISPLAY "longst=""", longst """"

             DISPLAY "PREPARE S13611 FROM :longst;"
      *  EXEC SQL PREPARE S13611 FROM :longst;
             CALL "SUB36" USING SQLCODE SQLSTATE longst
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB37" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "DESCRIBE S13611 USING SQL DESCRIPTOR 'D13611';"
      *  EXEC SQL DESCRIBE S13611 USING SQL DESCRIPTOR 'D13611'
      * ;
             CALL "SUB38" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB39" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "dstmt=""INSERT INTO FOOM VALUES (?, ?, ?, ?)"""
             MOVE "INSERT INTO FOOM VALUES (?, ?, ?, ?) "
             TO dstmt

             DISPLAY "PREPARE S13612 FROM :dstmt;"
      *  EXEC SQL PREPARE S13612 FROM :dstmt;
             CALL "SUB40" USING SQLCODE SQLSTATE dstmt

             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB41" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             MOVE 1 TO int1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 1 "
             DISPLAY " TYPE = 2, PRECISION = 9, DATA = :int1;"
      *  EXEC SQL SET DESCRIPTOR 'D13611' VALUE 1
      *            TYPE = 2, PRECISION = 9, DATA = :int1
      * ;
             CALL "SUB42" USING SQLCODE SQLSTATE int1
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB43" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             MOVE 1 TO int1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 2 "
             DISPLAY " TYPE = 2, PRECISION = 9, DATA = :int1;"
      *  EXEC SQL SET DESCRIPTOR 'D13611' VALUE 2
      *            TYPE = 2, PRECISION = 9, DATA = :int1
      * ;
             CALL "SUB44" USING SQLCODE SQLSTATE int1
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB45" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             MOVE 100.0 TO flt1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 3 TYPE = 2,"
             DISPLAY "PRECISION = 10, SCALE = 6, DATA = :flt1;"
      *  EXEC SQL SET DESCRIPTOR 'D13611' VALUE 3 TYPE = 2,
      *           PRECISION = 10, SCALE = 6, DATA = :flt1
      * ;
             CALL "SUB46" USING SQLCODE SQLSTATE flt1
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB47" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             MOVE "10:54 " TO ch40
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 4 LENGTH = 40, DATA
      -    " = :ch40;"
      *  EXEC SQL SET DESCRIPTOR 'D13611' VALUE 4 LENGTH = 40, DATA
      *  = :ch40;
             CALL "SUB48" USING SQLCODE SQLSTATE ch40
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB49" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

      *Implicit descriptor cast from chars to intervals 

             DISPLAY "EXECUTE S13612 USING SQL DESCRIPTOR 'D13611';"
      *  EXEC SQL EXECUTE S13612 USING SQL DESCRIPTOR 'D13611'
      * ;
             CALL "SUB50" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB51" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             MOVE 1 TO int1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 1 DATA = :int1;"
      *  EXEC SQL SET DESCRIPTOR 'D13611' VALUE 1 DATA = :int1
      * ;
             CALL "SUB52" USING SQLCODE SQLSTATE int1
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB53" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             MOVE 1 TO int1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 2 DATA = :int1;"
      *  EXEC SQL SET DESCRIPTOR 'D13611' VALUE 2 DATA = :int1
      * ;
             CALL "SUB54" USING SQLCODE SQLSTATE int1
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB55" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             MOVE 98.0 TO flt1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 3 DATA = :flt1;"
      *  EXEC SQL SET DESCRIPTOR 'D13611' VALUE 3 DATA = :flt1
      * ;
             CALL "SUB56" USING SQLCODE SQLSTATE flt1
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB57" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             MOVE "09:48 " TO ch40
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 4 DATA = :ch40;"
      *  EXEC SQL SET DESCRIPTOR 'D13611' VALUE 4 DATA = :ch40
      * ;
             CALL "SUB58" USING SQLCODE SQLSTATE ch40
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB59" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "st should be 00000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY "mtxt should be meaningful or blank; its value is
      -    " '", mtxt "'"
             if (mtxt   =  
             "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             DISPLAY "EXECUTE S13612 USING SQL DESCRIPTOR 'D13611';"
      *  EXEC SQL EXECUTE S13612 USING SQL DESCRIPTOR 'D13611'
      * ;
             CALL "SUB60" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             MOVE "xxxxx" TO st
             MOVE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
             TO mtxt
             DISPLAY "GET DIAGNOSTICS EXCEPTION 1"
             DISPLAY " :st = RETURNED_SQLSTATE,"
             DISPLAY " :mtxt = MESSAGE_TEXT;"
      *  EXEC SQL GET DIAGNOSTICS EXCEPTION 1
      *    :st = RETURNED_SQLSTATE,
      *    :mtxt = MESSAGE_TEXT;
             CALL "SUB61" USING SQLCODE SQLSTATE st mtxt
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE should be >= 0; its value is ", SQL-COD
             if (SQLCODE  <  0) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 00000 or 01004; its value is ",
             SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "00000"  AND  NORMSQ  NOT  =  
             "01004"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "00000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
--> --------------------

--> maximum size reached

--> --------------------

¤ Dauer der Verarbeitung: 0.88 Sekunden  (vorverarbeitet)  ¤





vermutete Sprache:
Sekunden
vermutete Sprache:
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