IDENTIFICATION DIVISION.
PROGRAM-ID. DML063.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. xyz.
OBJECT-COMPUTER. xyz.
DATA DIVISION.
WORKING-STORAGE SECTION.
* EMBEDDED COBOL (file "DML063.PCO")
****************************************************************
*
* COMMENT SECTION
*
* DATE 1988/05/06 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.
*
* DML063.PCO
* WRITTEN BY: SUN DAJUN
* TRANSLATED AUTOMATICALLY FROM EMBEDDED C BY CHRIS SCHANZLE
*
* THIS ROUTINE TESTS THE USE OF HOST IDENTIFIERS (variables)
* WHICH ARE SQL RESERVED WORDS.
*
* REFERENCES
* AMERICAN NATIONAL STANDARD database language Embedded SQL
* X3.168-1989
*
* Sections 9.3 through 9.7 SR 3, except 9.6 SR 4
*
****************************************************************
EXEC SQL BEGIN DECLARE SECTION END-EXEC
01 ADA PIC X(3).
01 AS PIC X(3).
01 ASC PIC X(3).
01 AUTHORIZATION PIC X(3).
01 AVG PIC X(3).
01 BEGIN PIC X(3).
01 BETWEEN PIC X(3).
01 C PIC X(3).
01 CHAR PIC X(3).
01 CHECK PIC X(3).
01 COMMIT PIC X(3).
01 CREATE PIC X(3).
01 CURRENT PIC X(3).
01 CURSOR PIC X(3).
01 DEC PIC X(3).
01 DECIMAL PIC X(3).
01 DECLARE PIC X(3).
01 DEFAULT PIC X(3).
01 DESC PIC X(3).
01 DISTINCT PIC X(3).
01 DOUBLE PIC X(3).
01 ESCAPE PIC X(3).
01 EXEC2 PIC X(3).
01 EXISTS PIC X(3).
01 FETCH PIC X(3).
01 FLOAT PIC X(3).
01 FOREIGN PIC X(3).
01 FORTRAN PIC X(3).
01 FOUND PIC X(3).
01 GOTO2 PIC X(3).
01 GRANT PIC X(3).
01 HAVING PIC X(3).
01 INDICATOR PIC X(3).
01 INSERT2 PIC X(3).
01 INT PIC X(3).
01 INTEGER PIC X(3).
01 LANGUAGE PIC X(3).
01 LIKE PIC X(3).
01 MAX PIC X(3).
01 MIN PIC X(3).
01 MODULE PIC X(3).
2 01 NULL2 PIC X(3).
01 OPTION PIC X(3).
01 PASCAL PIC X(3).
01 PLI PIC X(3).
01 PRECISION PIC X(3).
01 PRIMARY PIC X(3).
01 PRIVILEGES PIC X(3).
01 PUBLIC PIC X(3).
01 REAL PIC X(3).
01 ROLLBACK PIC X(3).
01 SCHEMA PIC X(3).
01 SMALLINT PIC X(3).
01 SOME PIC X(3).
01 SQL2 PIC X(3).
01 SQLERROR PIC X(3).
01 UNION PIC X(3).
01 UNIQUE PIC X(3).
01 UPDATE PIC X(3).
01 USER PIC X(3).
01 VIEW PIC X(3).
01 WHENEVER PIC X(3).
01 WHERE PIC X(3).
01 WORK PIC X(3).
01 uid PIC X(18).
01 uidx PIC X(18).
EXEC SQL END DECLARE SECTION END-EXEC
01 SQLCODE PIC S9(9) COMP.
01 errcnt PIC S9(4) DISPLAY SIGN LEADING SEPARATE.
01 wdcnt PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
01 TESTNO PIC X(3).
01 SQL-COD PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
* date_time declaration *
01 TO-DAY PIC 9(6).
01 THE-TIME PIC 9(8).
PROCEDURE DIVISION.
P0.
MOVE "HU" TO uid
CALL "AUTHID" USING uid
MOVE "not logged in, not" TO uidx
EXEC SQL SELECT
USER INTO :uidx FROM HU.ECCO END-EXEC
if (uid NOT = uidx) then
DISPLAY "ERROR: User " uid " expected."
DISPLAY "User " uidx " connected."
DISPLAY " "
STOP RUN
END-IF
MOVE 0 TO errcnt
DISPLAY
"SQL Test Suite, V6.0, Embedded COBOL, dml063.pco"
DISPLAY " "
DISPLAY
"59-byte ID"
DISPLAY "TEd Version #"
DISPLAY " "
* date_time print *
ACCEPT TO-DAY FROM DATE
ACCEPT THE-TIME FROM TIME
DISPLAY "Date run YYMMDD: " TO-DAY " at hhmmssff: " THE-TIME
******************** BEGIN TEST0280 *******************
DISPLAY " TEST0280 "
DISPLAY "reference X3.168-1989 9.3-9.7 SR3, except 9.6 SR4"
DISPLAY " - - - - - - - - - - - - - - - - - - -"
MOVE 0 TO wdcnt
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :ADA
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE ADA TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "ADA ---- Not Reserved "
else
DISPLAY "ADA ---- Vendor reserved"
END-IF
DISPLAY "ALL ---- COBOL reserved"
DISPLAY "AND ---- COBOL reserved"
DISPLAY "ANY ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :AS
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE AS TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "AS ---- Not Reserved "
else
DISPLAY "AS ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :ASC
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE ASC TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "ASC ---- Not Reserved "
else
DISPLAY "ASC ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :AUTHORIZATION
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE AUTHORIZATION TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "AUTHORIZATION---- Not Reserved "
else
DISPLAY "AUTHORIZATION---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :AVG
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE AVG TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "AVG ---- Not Reserved "
else
DISPLAY "AVG ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :BEGIN
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE BEGIN TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "BEGIN ---- Not Reserved "
else
DISPLAY "BEGIN ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :BETWEEN
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE BETWEEN TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "BETWEEN ---- Not Reserved "
else
DISPLAY "BETWEEN ---- Vendor reserved"
END-IF
DISPLAY "BY ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :C
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE C TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "C ---- Not Reserved "
else
DISPLAY "C ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :CHAR
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE CHAR TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "CHAR ---- Not Reserved "
else
DISPLAY "CHAR ---- Vendor reserved"
END-IF
DISPLAY "CHARACTER ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :CHECK
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE CHECK TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "CHECK ---- Not Reserved "
else
DISPLAY "CHECK ---- Vendor reserved"
END-IF
DISPLAY "CLOSE ---- COBOL reserved"
DISPLAY "COBOL ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :COMMIT
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE COMMIT TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "COMMIT ---- Not Reserved "
else
DISPLAY "COMMIT ---- Vendor reserved"
END-IF
DISPLAY "CONTINUE ---- COBOL reserved"
DISPLAY "COUNT ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :CREATE
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE CREATE TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "CREATE ---- Not Reserved "
else
DISPLAY "CREATE ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :CURRENT
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE CURRENT TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "CURRENT ---- Not Reserved "
else
DISPLAY "CURRENT ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :CURSOR
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE CURSOR TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "CURSOR ---- Not Reserved "
else
DISPLAY "CURSOR ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :DEC
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE DEC TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "DEC ---- Not Reserved "
else
DISPLAY "DEC ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :DECIMAL
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE DECIMAL TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "DECIMAL ---- Not Reserved "
else
DISPLAY "DECIMAL ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :DECLARE
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE DECLARE TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "DECLARE ---- Not Reserved "
else
DISPLAY "DECLARE ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :DEFAULT
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE DEFAULT TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "DEFAULT ---- Not Reserved "
else
DISPLAY "DEFAULT ---- Vendor reserved"
END-IF
DISPLAY "DELETE ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :DESC
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE DESC TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "DESC ---- Not Reserved "
else
DISPLAY "DESC ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :DISTINCT
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE DISTINCT TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "DISTINCT ---- Not Reserved "
else
DISPLAY "DISTINCT ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :DOUBLE
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE DOUBLE TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "DOUBLE ---- Not Reserved "
else
DISPLAY "DOUBLE ---- Vendor reserved"
END-IF
DISPLAY "END ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :ESCAPE
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE ESCAPE TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "ESCAPE ---- Not Reserved "
else
DISPLAY "ESCAPE ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :EXEC
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE EXEC2 TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "EXEC ---- Not Reserved "
else
DISPLAY "EXEC ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :EXISTS
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE EXISTS TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "EXISTS ---- Not Reserved "
else
DISPLAY "EXISTS ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :FETCH
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE FETCH TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "FETCH ---- Not Reserved "
else
DISPLAY "FETCH ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :FLOAT
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE FLOAT TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "FLOAT ---- Not Reserved "
else
DISPLAY "FLOAT ---- Vendor reserved"
END-IF
DISPLAY "FOR ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :FOREIGN
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE FOREIGN TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "FOREIGN ---- Not Reserved "
else
DISPLAY "FOREIGN ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :FORTRAN
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE FORTRAN TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "FORTRAN ---- Not Reserved "
else
DISPLAY "FORTRAN ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :FOUND
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE FOUND TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "FOUND ---- Not Reserved "
else
DISPLAY "FOUND ---- Vendor reserved"
END-IF
DISPLAY "FROM ---- COBOL reserved"
DISPLAY "GO ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :GOTO
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE GOTO2 TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "GOTO ---- Not Reserved "
else
DISPLAY "GOTO ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :GRANT
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE GRANT TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "GRANT ---- Not Reserved "
else
DISPLAY "GRANT ---- Vendor reserved"
END-IF
DISPLAY "GROUP ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :HAVING
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE HAVING TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "HAVING ---- Not Reserved "
else
DISPLAY "HAVING ---- Vendor reserved"
END-IF
DISPLAY "IN ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :INDICATOR
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE INDICATOR TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "INDICATOR ---- Not Reserved "
else
DISPLAY "INDICATOR ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :INSERT
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE INSERT2 TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "INSERT ---- Not Reserved "
else
DISPLAY "INSERT ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :INT
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE INT TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "INT ---- Not Reserved "
else
DISPLAY "INT ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :INTEGER
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE INTEGER TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "INTEGER ---- Not Reserved "
else
DISPLAY "INTEGER ---- Vendor reserved"
END-IF
DISPLAY "INTO ---- COBOL reserved"
DISPLAY "IS ---- COBOL reserved"
DISPLAY "KEY ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :LANGUAGE
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE LANGUAGE TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "LANGUAGE ---- Not Reserved "
else
DISPLAY "LANGUAGE ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :LIKE
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE LIKE TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "LIKE ---- Not Reserved "
else
DISPLAY "LIKE ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :MAX
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE MAX TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "MAX ---- Not Reserved "
else
DISPLAY "MAX ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :MIN
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE MIN TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "MIN ---- Not Reserved "
else
DISPLAY "MIN ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :MODULE
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE MODULE TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "MODULE ---- Not Reserved "
else
DISPLAY "MODULE ---- Vendor reserved"
END-IF
DISPLAY "NOT ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :NULL
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE NULL TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "NULL ---- Not Reserved "
else
DISPLAY "NULL ---- Vendor reserved"
END-IF
DISPLAY "NUMERIC ---- COBOL reserved"
DISPLAY "OF ---- COBOL reserved"
DISPLAY "ON ---- COBOL reserved"
DISPLAY "OPEN ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :OPTION
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE OPTION TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "OPTION ---- Not Reserved "
else
DISPLAY "OPTION ---- Vendor reserved"
END-IF
DISPLAY "OR ---- COBOL reserved"
DISPLAY "ORDER ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :PASCAL
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE PASCAL TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "PASCAL ---- Not Reserved "
else
DISPLAY "PASCAL ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :PLI
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE PLI TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "PLI ---- Not Reserved "
else
DISPLAY "PLI ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :PRECISION
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE PRECISION TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "PRECISION ---- Not Reserved "
else
DISPLAY "PRECISION ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :PRIMARY
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE PRIMARY TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "PRIMARY ---- Not Reserved "
else
DISPLAY "PRIMARY ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :PRIVILEGES
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE PRIVILEGES TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "PRIVILEGES ---- Not Reserved "
else
DISPLAY "PRIVILEGES ---- Vendor reserved"
END-IF
DISPLAY "PROCEDURE ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :PUBLIC
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE PUBLIC TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "PUBLIC ---- Not Reserved "
else
DISPLAY "PUBLIC ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :REAL
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE REAL TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "REAL ---- Not Reserved "
else
DISPLAY "REAL ---- Vendor reserved"
END-IF
DISPLAY "REFERENCES ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :ROLLBACK
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE ROLLBACK TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "ROLLBACK ---- Not Reserved "
else
DISPLAY "ROLLBACK ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :SCHEMA
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE SCHEMA TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "SCHEMA ---- Not Reserved "
else
DISPLAY "SCHEMA ---- Vendor reserved"
END-IF
DISPLAY "SECTION ---- COBOL reserved"
DISPLAY "SELECT ---- COBOL reserved"
DISPLAY "SET ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :SMALLINT
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE SMALLINT TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "SMALLINT ---- Not Reserved "
else
DISPLAY "SMALLINT ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :SOME
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE SOME TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "SOME ---- Not Reserved "
else
DISPLAY "SOME ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :SQL
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE SQL2 TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "SQL ---- Not Reserved "
else
DISPLAY "SQL ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :SQLERROR
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE SQLERROR TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "SQLERROR ---- Not Reserved "
else
DISPLAY "SQLERROR ---- Vendor reserved"
END-IF
DISPLAY "SUM ---- COBOL reserved"
DISPLAY "TABLE ---- COBOL reserved"
DISPLAY "TO ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :UNION
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE UNION TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "UNION ---- Not Reserved "
else
DISPLAY "UNION ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :UNIQUE
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE UNIQUE TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "UNIQUE ---- Not Reserved "
else
DISPLAY "UNIQUE ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :UPDATE
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE UPDATE TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "UPDATE ---- Not Reserved "
else
DISPLAY "UPDATE ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :USER
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE USER TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "USER ---- Not Reserved "
else
DISPLAY "USER ---- Vendor reserved"
END-IF
DISPLAY "VALUES ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :VIEW
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE VIEW TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "VIEW ---- Not Reserved "
else
DISPLAY "VIEW ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :WHENEVER
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE WHENEVER TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "WHENEVER ---- Not Reserved "
else
DISPLAY "WHENEVER ---- Vendor reserved"
END-IF
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :WHERE
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE WHERE TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "WHERE ---- Not Reserved "
else
DISPLAY "WHERE ---- Vendor reserved"
END-IF
DISPLAY "WITH ---- COBOL reserved"
MOVE "NV" TO TESTNO
EXEC SQL SELECT EMPNUM INTO :WORK
FROM WORKS
WHERE PNUM = 'P6' END-EXEC
MOVE SQLCODE TO SQL-COD
MOVE WORK TO TESTNO
if(TESTNO = "E1") then
COMPUTE wdcnt = wdcnt + 1
DISPLAY "WORK ---- Not Reserved "
else
DISPLAY "WORK ---- Vendor reserved"
END-IF
DISPLAY " "
DISPLAY wdcnt " SQL key words supported as host variables."
DISPLAY " "
if (wdcnt > 40) then
EXEC SQL INSERT INTO TESTREPORT
VALUES('0280','pass','PCO') END-EXEC
MOVE SQLCODE TO SQL-COD
DISPLAY " *** pass *** "
else
EXEC SQL INSERT INTO TESTREPORT
VALUES('0280','fail','PCO') END-EXEC
ADD 1 TO errcnt
MOVE SQLCODE TO SQL-COD
DISPLAY " dml063.pco *** fail *** "
END-IF
DISPLAY "================================================"
DISPLAY " "
EXEC SQL COMMIT WORK END-EXEC
MOVE SQLCODE TO SQL-COD
******************** END TEST0280 *******************
**** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0
STOP RUN.
* **** Procedures for PERFORM statements
¤ Dauer der Verarbeitung: 1.22 Sekunden
(vorverarbeitet)
¤
|
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.
|