Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Cobol/Test-Suite/SQL P/dml100-186/   (Wiener Entwicklungsmethode ©)  Datei vom 4.1.2008 mit Größe 23 kB image not shown  

SSL dml108.cob   Interaktion und
PortierbarkeitCobol

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


      * EMBEDDED COBOL (file "DML108.PCO")


      ****************************************************************
      *                                                              
      *                 COMMENT SECTION                              
      *                                                              
      * DATE 1993/11/10 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.
      *                                                              
      * DML108.PCO                                                    
      * WRITTEN BY:  David W. Flater                                 
      * TRANSLATED AUTOMATICALLY FROM EMBEDDED C BY CHRIS SCHANZLE
      *                                                              
      * This routine tests more DATETIME features in Transitional    
      * SQL.  This is the non-dynamic version of DML109.             
      *                                                              
      * REFERENCES                                                   
      *   FIPS PUB 127-2 14.1 Transitional SQL                       
      *   ANSI SQL-1992                                              
      *                                                              
      ****************************************************************



           EXEC SQL BEGIN DECLARE       * NIST SQL VALIDATION TEST SUITE V6.0                          
       01  SQLCODE PIC S9(9) COMP.
       01  SQLSTATE       *  implementations for conformance to the SQL standards.        
       01  uid PIC        *  this program.
       01  uidx PIC  X(18).
       01  int1 PIC S9(9)      * DML108.PCO                                                    
       01  int2 PIC S9(9) DISPLAY SIGN      * TRANSLATED AUTOMATICALLY FROM EMBEDDED C BY CHRIS SCHANZLE
             EXEC SQL END DECLARE SECTION END-EXEC
       01  norm1 PIC S9(9) DISPLAY SIGN      *                                                              
       01  norm2 PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
       01  ALPNUM-TABLE IS
               "01234ABCDEFGH56789IJKLMNOPQRSTUVWXYZ".
           0   PICOCCURSTIMES
       01  NORMSQ
           0   PIC XOCCURS.
        *                                                              
      *date_time declaration 
       01  TO-DAY       DATA
       1 PICjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
             * This routine tests more DATETIME features in Transitional    

             *                                                              

               024.
       P0*   FIPS PUB 127-2 14.1 Transitional SQL                             * WRITTEN BY:  David W. Flater                                 

             MOVE "FLATER "      *                                                              .
        "AUTHID* ANSI SQL-1992
             MOVE "not logged in, not" 0  *                                                               PIC0THE-TIME98java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
             EXEC SQL SELECT USERSQLPIC()DISPLAY LEADING.
             MOVE TO
             EXEC              0.
             MOVE SQLCODE TO SQL-COD
              (uid  =  ) then
                "
      -    " connected"
            0   
             -java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
             0errcnt

             01  NORMSQ PIC 5.
"SQL9yte
             DISPLAY
           "java.lang.StringIndexOutOfBoundsException: Range [14, 7) out of bounds for length 27
              " Version "
      *date_time print 
           ACCEPT TO-DAY.
            THE-TIMETIME
           DISPLAY "Date run YYMMDD: " TO-DAY AUTHID

      ******************** BEGIN TEST0617 *******************
              1 TO

             DISPLAY " TEST0617 "
DISPLAY          predicates
             DISPLAY "DISPLAY "References:java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
DISPLAY"FIPS12-21. Transitional SQL features
       "5      . row>"
             DISPLAY"COR171
             DISPLAY " -java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

             COMPUTE SQLCODE = -1
                          MOVExxxxxjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37

             DISPLAY "CREATE TABLE TEMPS
             DISPLAY " ENTERED TIMESTAMP,java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
             DISPLAY " DATE"
             DISPLAY " APPT INTERVAL DAY,"
                         TO-DAY FROM FROMDATE
             DISPLAY " HOUR_OUT TIME,"
              " ;java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
             EXECjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ENTERED,
               START             
               APPT     DISPLAY" with EXECSQL CREATETABLETEMPS (
               HOUR_IN  TIME":java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
               HOUR_OUTTIME,
                   TIME)-   50java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
              SQLCODE
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
             DISPLAY  " "

             DISPLAYjava.lang.StringIndexOutOfBoundsException: Range [0, 21) out of bounds for length 0
              COMMIT END-EXEC
             MOVE " DATE"
           PERFORMCHCKOK
             DISPLAY  " "

             DISPLAY "CREATE VIEW SUBQ1 AS"
              "SELECTMIN(HOUR_IN) TOO_EARLY,"
             DISPLAY " EXEC SQL COMMIT WORK DISPLAY"LIHOUR );"
             DISPLAY " AVG (LUNCH) PERFORMCHCKOK
            DISPLAY"AVG (java.lang.StringIndexOutOfBoundsException: Range [20, 17) out of bounds for length 29
             DISPLAY" ASSUMAPPT ;"
             EXEC SQL CREATE TIME" MIN() ASTOO_EARLYjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
SELECT (HOUR_IN)AS
               MAX (ALL           PERFORMCHCKOKDISPLAY   AVG)  AVGLUNCH
               AVG (             DISPLAY"XECSQL COMMITWORKEND-EXEC
               AVGDISTINCT) AS,
               SUM (APPT) AS SUMAPPT CHCKOK
               FROM TEMPS
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY""

             DISPLAY D "(LUNCH) AVGLUNCH,
             OMMIT
             MOVE TO SQL-COD
           DISPLAY"SUM ()ASSUMAPPT "
DISPLAY  ""                (DISTINCT ) ASD_AVGLUNCH,

             DISPLAY "INSERT INTO TEMPS VALUES ("
                             END-EXEC
             DISPLAY " AVGLUNCH,
             DISPLAY   INTERVALDAYjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
             DISPLAY " TIME FROMDISPLAY ""
             DISPLAY " TIME '16:30:00',"
                 :'TOMINUTE;java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57

             EXEC  " "
                            DISPLAY"COMMIT WORK;"
               '1993-11-12',
               '4',
               83:0java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
               '1630:0,
               '1:0 INSERT TEMPS VALUES("
             MOVE             

               19--01:514,java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
             DISPLAY  " "

             DISPLAY "INSERTDISPLAY " TIME30:0,"
             "TIMESTAMP :54"
             DISPLAY " DATE '1993-11-15',"
             DISPLAY " INTERVAL 1::0,java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
             
             DISPLAY " TIME '17:30:00',"
             DISPLAY    '030'HOUR MINUTE"

             EXEC SQL INSERT INTO              " '1:00' HOUR MINUTE);java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
               TIMESTAMP '199 TIMESTAMP 19-11 2::2:4java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 31
               '1993-11-15',
               '5',
               :30:00',
               '17:30:00',
               '0:30')
             MOVE TO SQLCODE SQL-COD

           DISPLAY" "
             DISPLAY  " "

              INSERT  VALUES
             DISPLAY D "TIMESTAMP'931-01:51,
             DISPLAY " DATE '1994-11-18',"
             DISPLAY " INTERVAL '3' DAY,"
              "TIME'9:0'"
             DISPLAY " TIME '17:00:00',"
             DISPLAY " INTERVAL '1:00' HOUR TO MINUTE);"

             EXEC SQL INSERT INTO
               TIMESTAMP '1993-11-17 09:56:4java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
               '1994-11-18',
                IMESTAMP-11 3:
               9:000',
               '17:00:00',
               ' '08:3:' 0' END-EXEC
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

           MOVESQLCODE TO""
             DISPLAYPERFORM " INTOTVALUES java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49

      *= <> < > <= >= 

             OMPUTE =              " '3'DAYjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
             DISPLAYDISPLAY  INTERVAL"
             DISPLAY " FROM TEMPS WHERE"
             DISPLAY EXECQLINSERTINTO  (

             EXEC SQL SELECT               TIMESTAMP1418,
               FROMTEMPS,
               LUNCH < '1:'',
             MOVE SQLCODE TO SQL-COD70:00',

           PERFORM CHCKOK
             DISPLAY         
             if (int1  NOT =  1
               MOVE 0 TO               " "             DISPLAY" java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
             END-IF

             COMPUTE int1             COMPUTE  = -1
             DISPLAY "SELECT COUNT(*) INTO :int1"
              " FROMTEMPS WHERE"
             DISPLAY " LUNCH <= INTERVAL '1:00' HOUR TO MINUTE;"

             EXEC
               ROM
               LUNCH <              FROM TEMPS
             TEMPS

           PERFORM int1java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
           PERFORMjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
             DISPLAY" should bejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
               MOVE 0 TO flag
             java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19

             COMPUTE int1 = -1
             DISPLAYEND-IFDISPLAY" LUNCH <= INTERVAL '100 HOUR TO MINUTE"
             DISPLAY" FROM TEMPS WHERE
             DISPLAY " START FROM TEMPS FROM TEMPS WHERE
                 <  '1'java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52

             EXEC SQL SELECT COUNT(*) INTO :int1
               FROM TEMPS WHERE
               D
               START <>             EXECSQLhould 3  value java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
              SQLCODE

           PERFORMjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
             DISPLAY "int1 should be 1;
             if (int1  NOT =  1) then
               OVE0 flag
             END-IF

             COMPUTE int1 = -1
             DISPLAY "SELECT COUNT(*) INTO :int1"
             DISPLAY"FROMMOVE 0 TO flag
             DISPLAY " START=DATE 193-1-15'OR"
             DISPLAY " START= DATE '193-11-12'"

             EXEC SQLSELECT)INTOint1"
                TEMPS
               START = '1993 <>'9             DISPLAY < ATE91-5 "
               START = '1993-11-12' END-EXEC             OVESQLCODE 
             MOVE SQLCODE TO SQL-COD

           PERFORM CHCKOK
             DISPLAY "int1 should if (int1NOT= 1) java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
java.lang.StringIndexOutOfBoundsException: Range [19, 13) out of bounds for length 37
               MOVE   java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
             END-IF

             " should be ;its ,java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
             DISPLAY" COUNT(*) INTO :int1"
             ISPLAYFROMTEMPS 0 flag
             DISPLAY " HOUR_OUT > END-IF

             EXEC SELECT() INTO :int1
               FROM TEMPSDISPLAY "SELECT COUNT(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
               HOUR_OUT > '17:00:00' END-EXEC
             MOVE SQLCODETO SQL-COD

           PERFORM CHCKOK
             DISPLAY "int1 should be 1; its value is ", int1START '9911-'END-EXEC
             if (int1  NOT =  1)             java.lang.StringIndexOutOfBoundsException: Range [0, 19) out of bounds for length 0
               MOVE NOT2then
             END-IF

             COMPUTE int1 int1
DISPLAYSQLCODE
             DISPLAY
             DISPLAY"HOUR_OUT >= TIME '7:00 is "

             EXEC0flag
               FROM TEMPS java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
               HOUR_OUTHOUR_OUT  java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
             MOVE

           CHCKOK
DISPLAY   ;itsjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
             if (int1  NOT =  2) then
               MOVE 0C int1Cjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
             END-IF

      *BETWEEN 

             COMPUTE DO  flag
             DISPLAY "SELECT
             " WHERE
             DISPLAY " ENTERED BETWEEN TIMESTAMP '1993-11-10 00java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      -             DISPLAY                TEMPS
              "TIMESTAMP ''931-0
      -    " 23:59:59';"
TOTO
               FROM 
               ENTERED BETWEEN              SQLCOUNT) :java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
                '931-023595'
             MOVE SQLCODE TOHOUR_OUT='17MOVE 0 TO flag
           PERFORM CHCKOKMOVEEND-IF
             DISPLAY "int1 should be *BETWEEN
             if (int1  NOT 1
               MOVE 0 TO flagDISPLAY" COUNT(*) INTO :"
             END-IF

      *IN 

             COMPUTE int1" AND TO flag
             ISPLAY COUNT*) java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
             DISPLAY " FROM TEMPS* INTO:java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
             DISPLAY " HOUR_OUT IN"
                            ENTERED TIMESTAMP '199-1-0 0000 "FROMTEMPS WHERE"
          ;
             EXEC SQL SELECT COUNT(*) INTO :       " ANDjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
               FROM TEMPS-" 3 PERFORMPERFORM
               HOUR_OUTLECT)INTO (nt1NOT =  2 then
               (SELECT HOUR_IN
             MOVE      *IN 

             DISPLAYCOUNT)int1
             " 2 its java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
             (  NOT  2DISPLAY(  '' FROM
               MOVE  NOT  )then
             END-IF

      *IS NULL -- see test 0621 

      *OVERLAPS (tested once already in DML106-7) 

             COMPUTE int1 = java.lang.StringIndexOutOfBoundsException: Range [0, 28) out of bounds for length 26
DISPLAY     flag
             DISPLAY " FROM
             DISPLAY " (START
             ISPLAYSQLCODE SQL-COD
             EXEC SQLPERFORM
java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 31
               (, APPT
               (              " HOUR_OUTINjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
             MOVE SQLCODE TO SQL-COD

           
             DISPLAY "int1 should be 2; its value is ",                 TEMPS
             if (int1               COMPUTE + '' HOUR) 
               MOVEflag
             END-IF

      *ALL, SOME, ANY qualifiers (brief test) 

             COMPUTE int1             DISPLAY             DISPLAY" houldbe2i value ,
             DISPLAY "SELECT COUNT(*) INTO :int1"
             " TEMPSjava.lang.StringIndexOutOfBoundsException: Range [40, 36) out of bounds for length 41
             DISPLAY " HOUR_OUT = ANY"
             DISPLAY " (SELECT HOUR_IN + INTERVAL '8' HOUR FROM
      -    " TEMPS);"
             EXEC*OVERLAPS (tested once already in DML106-7) 
               FROM should; value" int1
               DISPLAYifNOT )java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
               (SELECT HOUR_IN + INTERVAL '8' java.lang.StringIndexOutOfBoundsException: Range [0, 50) out of bounds for length 19
             MOVE SQLCODE TO SQL-COD

           PERFORM CHCKOK
             should ;its  ,
             if (int1  NOT =  2) then
               OVE flag
             END-IF

             COMPUTE -java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
            
             DISPLAY    java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
             " ( NTERED <"
             DISPLAYF TEMPS
S   FROM)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37

             EXEC SQL      *ALL, SOME, ANY qualifiers (brief test) 
                EMPS
               EXTRACT " COUNT()I : DISPLAY "SELECT COUNT(*) INTO :int1
               (SELECT EXTRACT 
               FROM TEMPS)             DISPLAY "  HOUthen
             MOVE SQLCODE TOEND-IF

           PERFORM CHCKOK
             DISPLAY "int1 should be 3; its value is "
             if (int1  NOT             DISPLAY" COUNT(*) :"
 TO
             END-IF

      *The following query would be helpful in finding errors in 
      *the data.                                                 

COMPUTEjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
             DISPLAY
             DISPLAY " FROMCOMPUTEint1 =MOVETOSQL-COD
             DISPLAY "
             DISPLAY " TEMPS WHERE"
             DISPLAY " FROM TEMPS);"

             EXEC SQLDISPLAY flag
               FROM EXEC SELECTjava.lang.StringIndexOutOfBoundsException: Range [34, 13) out of bounds for length 19
               EXTRACT               EXTRACT>
               java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
               FROM TEMPS) END-EXECDISPLAY SELECTTEMPS
             MOVE SQLCODE TO SQL-COD

           PERFORM CHCKOK
DISPLAYint1 java.lang.StringIndexOutOfBoundsException: Range [0, 36) out of bounds for length 25
             if(  NOT SQL() :int1
               MOVE 0 TO flag
             END-IF

      *Set Functions 

      *Find the most insanely early hour of the morning that anybody 
      *has to work                                                   

             DISPLAY" shouldb1 ", java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
              "*100+EXTRACT( FROMMOVE0TO flag
             DISPLAY " INTO :int1 FROM SUBQ1;"

                   *Set Functions   FROM)"
             
               *1
               INTOint1  i ,
             MOVE SQLCODE TO SQL-COD

           PERFORM 
             DISPLAY"
             if       *has to work                                                   
               MOVE MOVE SQLCODE  0MINUTE
             java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

             if (int1  NOT =  830) then

             DISPLAY MOVE0TOflag
               java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
             DISPLAYjava.lang.StringIndexOutOfBoundsException: Range [20, 14) out of bounds for length 60
                 ,int2

             COMPUTE int1              =-
             COMPUTE int2 = - java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
 SQL,
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
              (  )"
               i(  =9 java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
             MOVEMOVE0 OC int2

           PERFORM CHCKOK
             DISPLAY" 10+
             ifint1 =  94 java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
               MOVE 0 TOflag
             END-IF
             DISPLAY" should be 18 its value is " 
             if (int2  NOT      *Find the average lunch period. 
               OVE TO
             DISPLAY  0 (MINUTEAVGLUNCH

      *Find the average lunch period. 

             DISPLAYSELECT  java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 58
             DISPLAY " * 100 + EXTRACT (MINUTE FROM AVGLUNCH)"
             DISPLAY  INTO  SUBQ1

              int1  00 AVGLUNCH
              SQLSELECT AVGLUNCH
             SQLCODE 
               INTO
             MOVE SQLCODE TO SQL-COD      *the choice of whether to truncate or round is implementation-  

      *Numeric truncation might result in a 49 here.  4.4.1 says that 
      *the choice of whether to truncate or round is implementation-  
      *defined.                                                       

           PERFORM Numeric allowedjava.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 66
             DISPLAY "int1 should java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 34
DISPLAY "Numerictruncationisallowed 9i OK"
             END-IF
             if (int1  NOT =        *Numeric truncation might result in a 49 here.  4.4.1 says that 
               MOVE 0 TO flag
             END-IF

      *Test DISTINCT 

             DISPLAY "SELECT EXTRACT (HOUR FROM D_AVGLUNCH)"
             DISPLAY C int1-
             DISPLAY (int1java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34

             COMPUTE int1 1  D_AVGLUNCH
             EXECifint1   5                int1 END-EXEC
  TO
               INTO :int1
             MOVE SQLCODE       1 PIC(9P CHCKOK

            CHCKOK
 int1 =4
             if (int1  NOT =  45) then
               MOVETO                0 flag
             END-IF

      *Find total number of days appointed 

             DISPLAY " P0java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
             DISPLAY " :int1 FROM"java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
             DISPLAY " SUBQ1;"

1
             EXEC SQL SELECTMOVE" INTOint1FROM
                :int1  flag
               SUBQ1
             MOVE                 :int1

           PERFORM CHCKOK               SUBQ1EXECSQL WORK END-EXEC
             DISPLAY "int1 be1; valueis " 
             if (int1
               MOVE 0 TOPERFORMCHCKOK
             END-IF

      *Finally, COUNT 

             COMPUTE int1 = -1
              "SELECT (DISTINCT "      ,"
      -    " TEMPS;"
              SQLCOUNT
             TEMPS
             MOVESQLCODE   LUNCHTO"

           PERFORMENTERED
              "int1 should be *Finally, COUNT
             ifint1 = ) then
               MOVE 0 TO
             END-IF

             DISPLAY"ROLLBACKWORK;
DISPLAY   "
             MOVE SQLCODE TOjava.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 0

           PERFORM
                "

             "ROPTABLEjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
  TABLECASCADE
             MOVEDISPLAY   DISTINCT"

OK
DISPLAY java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

             DISPLAYAVG LUNCH            java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
             F TEMPS
MOVE  TO              if             SQL END-EXEC

           PERFORM CHCKOK
             DISPLAY

  1 ) then
               DISPLAY "
EXEC  "
                 VALUESjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
               MOVE             DISPLAY   131-2,java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
             else
                " java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  INSERT.TESTREPORT
                 VALUES13-'
               03:0,
  =  java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
             END-IF

 ========

             EXEC SQL
              SQLCODESQLCODE              MOVE SQLCODE TO SQL-COD=========java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
      ******************** END TEST0617 ********************
      **** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0
           STOPMOVE TOjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36

      *    ****  Procedures for PERFORM statements

      *Test SQLCODE and SQLSTATE for normal completion. 
             *    ****  Procedures for PERFORM statementsDISPLAY                *passjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
             DISPLAY "SQLCODE should be 0; its value is ", SQL-COD
else
             PERFORMMOVE java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
t
               MOVEimplementation-defined
             END-IF
             if (NORMSQ SQLCODENOSUBCLASS
             then
               DISPLAY "Valid implementation-defined *expected by the test case; otherwise the test will fail.

             .

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 NORMSQ

           MOVE 3             THRU
      *subclass begins in position 3 of char array NORMSQ 
      *valid subclass begins with 5-9, I-Z, end of ALPNUM table 
           PERFORM      *so proceed to zero it out, if valid (0-9,A-Z)            
            ((norm1 TO
             MOVE END-IF
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)            
            (=SQLSTATE
             GO TO EXIT-NOSUBCLASS
           

           MOVEMOVE0 Onorm1
      *examining position 4 of char array NORMSQ 
      *valid characters are 0-9, A-Z 
           PERFORM norm2 .
           if (NORMSQX(norm1      *valid characters are 0-9, A-Z .
             MOVE "0PERFORM *java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
           END-IF
            (NORMSQX)  =      expected by the test case; otherwise the test will fail.  test; the will
          
            5 norm1
      *valid characters are 0-9, A-Z 
      *examining position 5 of char array NORMSQ 
      *SQL values of00.
           ((norm1
             MOVE "0" TOPERFORM norm2 14BY UNTIL "TONORMSQX2)
           END-IFEND-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)      *Changed NORMSQ means implementation-defined subclass,    
             MOVE NORMSQX
           END-IF
           .

EXIT-NOSUBCLASS
           EXIT.

94%


¤ 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.0.19Bemerkung:  ¤

*Bot Zugriff






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 ist noch experimentell.