**************************************************************** * * 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 * ****************************************************************
EXECSQL 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) DISPLAYSIGN* TRANSLATED AUTOMATICALLY FROM EMBEDDED C BY CHRIS SCHANZLE EXECSQLEND DECLARE SECTIONEND-EXEC
01 norm1 PIC S9(9) DISPLAYSIGN*
01 norm2 PIC S9(9) DISPLAYSIGNLEADINGSEPARATE.
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 EXECSQLSELECT USERSQLPIC()DISPLAYLEADING. MOVETO 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 FROMFROMDATE 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 ;" EXECSQL CREATE TIME" MIN() ASTOO_EARLYjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59 SELECT (HOUR_IN)AS
MAX (ALLPERFORMCHCKOKDISPLAY 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"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"
EXECSQLINSERTINTO" '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') MOVETO 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);"
EXECSQLINSERTINTO
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" DISPLAYEXECQLINSERTINTO (
EXECSQLSELECT 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
EXECSQLSELECTCOUNT(*) 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'"
EXECSQLSELECT)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
EXECSELECT() 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 MOVENOT2then 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"
; EXECSQLSELECTCOUNT(*) 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 MOVENOT )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 EXECSQLPERFORM
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 DISPLAYDISPLAY" 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
EXECSQL*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 NOTDISPLAY" 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);"
EXECSQLDISPLAY flag FROMEXECSELECTjava.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-EXECDISPLAYSELECTTEMPS MOVE SQLCODE TO SQL-COD
PERFORM CHCKOK DISPLAYint1 java.lang.StringIndexOutOfBoundsException: Range [0, 36) out of bounds for length 25 if( NOTSQL() :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 MOVEMOVE SQLCODE 0MINUTE
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if (int1 NOT = 830) then
DISPLAYMOVE0TOflag
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)" DISPLAYINTO 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.
PERFORMNumeric 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 EXECSQLSELECTMOVE" INTOint1FROM
:int1 flag
SUBQ1 MOVE :int1
PERFORM CHCKOK SUBQ1EXECSQL WORK END-EXEC DISPLAY"int1 be1; valueis " if (int1 MOVE 0 TOPERFORMCHCKOK END-IF
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 TOifSQLEND-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
========
EXECSQL
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 STOPMOVETOjava.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 GOTO 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 14BYUNTIL"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.
¤ 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:
¤
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.