Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


SSL dml136.cob

  Interaktion und
PortierbarkeitCobol
 

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


      * EMBEDDED COBOL (file "DML136.PCO")


      ****************************************************************
      *                                                              
      *                 COMMENT SECTION                              
      *                                                              
      * DATE 1994/9/13 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.
      *                                                              
      * DML136.PCO                                                    
      * WRITTEN BY:  David W. Flater                                 
      * TRANSLATED AUTOMATICALLY FROM EMBEDDED C 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 END-EXEC
             MOVE SQLCODE TO SQL-COD
             EXEC SQL ROLLBACK WORK 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, dml136.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 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) END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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)) END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 <occurrences>."
             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 END-EXEC
             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'
               ) END-EXEC
             MOVE SQLCODE TO SQL-COD
             EXEC SQL SELECT ZZ INTO :longst FROM CONCATBUF END-EXEC
             MOVE SQLCODE TO SQL-COD

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

             DISPLAY "PREPARE S13611 FROM :longst;"
             EXEC SQL PREPARE S13611 FROM :longst END-EXEC
             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 END-EXEC
             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'
             END-EXEC
             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 END-EXEC
             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 END-EXEC

             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 END-EXEC
             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
             END-EXEC
             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 END-EXEC
             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
             END-EXEC
             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 END-EXEC
             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
             END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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'
             END-EXEC
             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 END-EXEC
             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
             END-EXEC
             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 END-EXEC
             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
             END-EXEC
             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 END-EXEC
             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
             END-EXEC
             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 END-EXEC
             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
             END-EXEC
             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 END-EXEC
             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'
             END-EXEC
             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 END-EXEC
             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
             END-EXEC
             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 END-EXEC
             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 2 TO int1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 2 DATA = :int1;"
             EXEC SQL SET DESCRIPTOR 'D13611' VALUE 2 DATA = :int1
             END-EXEC
             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 END-EXEC
             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 96.5 TO flt1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 3 DATA = :flt1;"
             EXEC SQL SET DESCRIPTOR 'D13611' VALUE 3 DATA = :flt1
             END-EXEC
             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 END-EXEC
             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 "22:10                                   " TO ch40
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 4 DATA = :ch40;"
             EXEC SQL SET DESCRIPTOR 'D13611' VALUE 4 DATA = :ch40
             END-EXEC
             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 END-EXEC
             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'
             END-EXEC
             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 END-EXEC
             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 2 TO int1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 1 DATA = :int1;"
             EXEC SQL SET DESCRIPTOR 'D13611' VALUE 1 DATA = :int1
             END-EXEC
             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 END-EXEC
             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
             END-EXEC
             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 END-EXEC
             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 54.1 TO flt1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 3 DATA = :flt1;"
             EXEC SQL SET DESCRIPTOR 'D13611' VALUE 3 DATA = :flt1
             END-EXEC
             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 END-EXEC
             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 "15.22                                   " TO ch40
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 4 DATA = :ch40;"
             EXEC SQL SET DESCRIPTOR 'D13611' VALUE 4 DATA = :ch40
             END-EXEC
             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 END-EXEC
             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'
             END-EXEC
             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 END-EXEC
             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  " "

      *Value 1 should still be 2 

             MOVE 1 TO int1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 2 DATA = :int1;"
             EXEC SQL SET DESCRIPTOR 'D13611' VALUE 2 DATA = :int1
             END-EXEC
             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 END-EXEC
             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 65.7 TO flt1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 3 DATA = :flt1;"
             EXEC SQL SET DESCRIPTOR 'D13611' VALUE 3 DATA = :flt1
             END-EXEC
             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 END-EXEC
             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 "14:27                                   " TO ch40
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 4 DATA = :ch40;"
             EXEC SQL SET DESCRIPTOR 'D13611' VALUE 4 DATA = :ch40
             END-EXEC
             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 END-EXEC
             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'
             END-EXEC
             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 END-EXEC
             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 2 TO int1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 1 DATA = :int1;"
             EXEC SQL SET DESCRIPTOR 'D13611' VALUE 1 DATA = :int1
             END-EXEC
             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 END-EXEC
             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
             END-EXEC
             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 END-EXEC
             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 87.0 TO flt1
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 3 DATA = :flt1;"
             EXEC SQL SET DESCRIPTOR 'D13611' VALUE 3 DATA = :flt1
             END-EXEC
             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 END-EXEC
             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 "16:09                                   " TO ch40
             DISPLAY "SET DESCRIPTOR 'D13611' VALUE 4 DATA = :ch40;"
             EXEC SQL SET DESCRIPTOR 'D13611' VALUE 4 DATA = :ch40
             END-EXEC
             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 END-EXEC
             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'
             END-EXEC
             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 END-EXEC
             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 "INSERT INTO SPLAT_EM VALUES (1, 5, 10820);"
             EXEC SQL INSERT INTO SPLAT_EM VALUES (1, 5, 10820) END-EXEC
             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 END-EXEC
             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 "INSERT INTO SPLAT_EM VALUES (1, 6, 14220);"
             EXEC SQL INSERT INTO SPLAT_EM VALUES (1, 6, 14220) END-EXEC
             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 END-EXEC
             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 "INSERT INTO SPLAT_EM VALUES (2, 8, 58762);"
             EXEC SQL INSERT INTO SPLAT_EM VALUES (2, 8, 58762) END-EXEC
             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 END-EXEC
             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 "INSERT INTO SPLAT_EM VALUES (2, 8, 62900);"
             EXEC SQL INSERT INTO SPLAT_EM VALUES (2, 8, 62900) END-EXEC
             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 END-EXEC
             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 "INSERT INTO SPLAT_EM VALUES (2, 7, 40282);"
             EXEC SQL INSERT INTO SPLAT_EM VALUES (2, 7, 40282) END-EXEC
             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 END-EXEC
             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 "DECLARE C13631 CURSOR FOR"
             DISPLAY "  SELECT * FROM NORMALIZED_AVGS"
             DISPLAY "  ORDER BY PLAYER_NO"
             DISPLAY "  FOR READ ONLY;"
             EXEC SQL DECLARE C13631 CURSOR FOR
               SELECT * FROM NORMALIZED_AVGS
               ORDER BY PLAYER_NO
               FOR READ ONLY END-EXEC

             DISPLAY "OPEN C13631;"
             EXEC SQL OPEN C13631 END-EXEC
             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 END-EXEC
             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 5 TO int1
             MOVE 5.0 TO flt1
             DISPLAY "FETCH C13631 INTO :int1, :flt1;"
             EXEC SQL FETCH C13631 INTO :int1, :flt1 END-EXEC
             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 END-EXEC
             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 "int1 should be 1; its value is ", int1
             MOVE flt1 TO FLT-1
             DISPLAY "flt1 should be 0.74398 +- 0.0001; its value is ",
               FLT-1
             if (int1  NOT =  1) then
               MOVE 0 TO flag
             END-IF
             if (flt1  <  0.74388  OR  flt1  >  0.74408) then
               MOVE 0 TO flag
             END-IF

             MOVE 5 TO int1
             MOVE 5.0 TO flt1
             DISPLAY "FETCH C13631 INTO :int1, :flt1;"
             EXEC SQL FETCH C13631 INTO :int1, :flt1 END-EXEC
             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 END-EXEC
             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 "int1 should be 2; its value is ", int1
             MOVE flt1 TO FLT-1
             DISPLAY "flt1 should be 0.87826 +- 0.0001; its value is ",
             FLT-1
             if (int1  NOT =  2) then
               MOVE 0 TO flag
             END-IF
             if (flt1  <  0.87816  OR  flt1  >  0.87836) then
               MOVE 0 TO flag
             END-IF

             DISPLAY "FETCH C13631 INTO :int1, :flt1;"
             EXEC SQL FETCH C13631 INTO :int1, :flt1 END-EXEC
             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 END-EXEC
             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 02000; its value is ", st
             MOVE st TO SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "02000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "02000"  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 "CLOSE C13631;"
             EXEC SQL CLOSE C13631 END-EXEC
             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 END-EXEC
             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 "ROLLBACK;"
             EXEC SQL ROLLBACK END-EXEC
             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 END-EXEC
             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 "DROP TABLE FOOM CASCADE;"
             EXEC SQL DROP TABLE FOOM CASCADE END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 END-EXEC
             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 "DROP TABLE SPLAT_EM CASCADE;"
             EXEC SQL DROP TABLE SPLAT_EM CASCADE END-EXEC
             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 END-EXEC
             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 WORK;"
             EXEC SQL COMMIT WORK END-EXEC
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY  " "

             if ( flag  =  1 ) then
               DISPLAY "                *** pass *** "
               EXEC SQL INSERT INTO HU.TESTREPORT
                 VALUES('0696','pass','PCO'END-EXEC
               MOVE SQLCODE TO SQL-COD
             else
               DISPLAY "       dml136.pco  *** fail *** "
               EXEC SQL INSERT INTO HU.TESTREPORT
                 VALUES('0696','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 TEST0696 ********************
      **** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0
           STOP RUN.

      *    ****  Procedures for PERFORM statements

      *Test SQLCODE and SQLSTATE for normal completion. 
       CHCKOK.
             DISPLAY "SQLCODE should be 0; its value is ", SQL-COD
             DISPLAY "SQLSTATE should be 00000; its value is ", SQLSTATE
             PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (SQLCODE NOT =  0  OR   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
             .

       NOSUBCLASS.

      *This routine replaces valid implementation-defined       
      *subclasses with 000.  This replacement equates valid     
      *implementation-defined subclasses with the 000 value     
      *expected by the test case; otherwise the test will fail. 
      *After calling NOSUBCLASS, NORMSQ will be tested          
      *                          SQLSTATE will be printed.      

           MOVE SQLSTATE TO NORMSQ

           MOVE 3 TO norm1
      *subclass begins in position 3 of char array NORMSQ 
      *valid subclass begins with 5-9, I-Z, end of ALPNUM table 
           PERFORM VARYING norm2 FROM 14 BY 1 UNTIL norm2 > 36
           if (NORMSQX(norm1)  =  ALPNUM(norm2)) then
             MOVE "0" TO NORMSQX(norm1)
           END-IF
           END-PERFORM
           
      *Quit if NORMSQ is unchanged.  Subclass is not impl.-def. 
      *Changed NORMSQ means implementation-defined subclass,    
      *so proceed to zero it out, if valid (0-9,A-Z)            
           if (NORMSQ   =   SQLSTATE) then
             GO TO EXIT-NOSUBCLASS
           END-IF

           MOVE 4 TO norm1
      *examining position 4 of char array NORMSQ 
      *valid characters are 0-9, A-Z 
           PERFORM VARYING norm2 FROM 1 BY 1 UNTIL norm2 > 36
           if (NORMSQX(norm1)  =  ALPNUM(norm2)) then
             MOVE "0" TO NORMSQX(norm1)
           END-IF
           END-PERFORM
          
           MOVE 5 TO norm1
      *valid characters are 0-9, A-Z 
      *examining position 5 of char array NORMSQ 
           PERFORM VARYING norm2 FROM 1 BY 1 UNTIL norm2 > 36
           if (NORMSQX(norm1)  =  ALPNUM(norm2)) then
             MOVE "0" TO NORMSQX(norm1)
           END-IF
           END-PERFORM
   
      *implementation-defined subclasses are allowed for warnings 
      *(class = 01).  These equate to successful completion 
      *SQLSTATE values of 00000. 
      *Reference SQL-92 4.28 SQL-transactions, paragraph 2 

           if (NORMSQX(1)  =  "0"  AND  NORMSQX(2)  =  "1"then
             MOVE "0" TO NORMSQX(2)
           END-IF
           .

       EXIT-NOSUBCLASS.
           EXIT.

Messung V0.5 in Prozent
C=99 H=100 G=99

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.88Angebot  (Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-04-26) ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

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 und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge