products/Sources/formale Sprachen/Cobol/Test-Suite/SQL M image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: sdl001.cob   Sprache: Cobol

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


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


      ****************************************************************
      *                                                              
      *                 COMMENT SECTION                              
      *                                                              
      * DATE 1995/03/14 STANDARD COBOL LANGUAGE                          
      * NIST SQL VALIDATION TEST SUITE V6.0                          
      *  DISCLAIMER:                                                  
      *  This program was written by employees of NIST to test SQL    
      *  implementations for conformance to the SQL standards.        
      *  NIST assumes no responsibility for any party's use of        
      *  this program.
      *                                                              
      * SDL001.SCO                                                    
      * WRITTEN BY: J SULLIVAN                                       
      * TRANSLATED AUTOMATICALLY FROM EMBEDDED COBOL BY CHRIS SCHANZLE
      *                                                              
      *   THIS ROUTINE TESTS THE SCHEMA DEFINITION LANGUAGE FOR SQL. 
      *                                                              
      * REFERENCES                                                   
      *       AMERICAN NATIONAL STANDARD database language - SQL     
      *                         X3.135-1989                          
      *                                                              
      *                 SECTION 6. Schema Definition Language        
      *                                                              
      ****************************************************************



      * EXEC SQL BEGIN DECLARE SECTION END-EXEC
       01  ch50 PIC  X(50).
       01  uid PIC  X(18).
       01  uidx PIC  X(18).
      *  EXEC SQL END DECLARE SECTION END-EXEC
       01  ch50x PIC  X(50).
       01  SQLCODE PIC S9(9) COMP.
       01  SQLSTATE PIC X(5).
       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  i2 PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
       01  i3 PIC S9(9) DISPLAY SIGN LEADING SEPARATE.


       01  SQL-COD PIC S9(9) DISPLAY SIGN LEADING SEPARATE.

       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;
             CALL "SUB1" USING SQLCODE SQLSTATE uidx
             MOVE SQLCODE TO SQL-COD
             if (uid  NOT  =   uidx) then
               DISPLAY "ERROR: User ", uid " expected. User ", uidx "
      -    " connected"
            STOP RUN
             END-IF
             MOVE 0 TO errcnt
             DISPLAY
           "SQL Test Suite, V6.0, Module COBOL, sdl001.sco"
             DISPLAY
           "59-byte ID"
             DISPLAY "TEd Version #"
      *date_time print 
           ACCEPT TO-DAY FROM DATE
           ACCEPT THE-TIME FROM TIME
           DISPLAY "Date run YYMMDD: " TO-DAY " at hhmmssff: " THE-TIME

             DISPLAY "==============================================="

             DISPLAY " TEST0137 "
             DISPLAY " (CREATE SCHEMA) "
             DISPLAY " Reference X3.135-89 section 6.1 "
             DISPLAY " - - - - - - - - - - - - - - - - - - -"

             DISPLAY " *** CREATE SCHEMA AUTHORIZATION HU "
             DISPLAY " *** CREATE TABLE WHICH_SCHEMA1 (C1 CHAR (50))"
             DISPLAY " This is an accounting routine to document which
      -    " schema "
             DISPLAY " was executed among: schema1.std, schema1.smi,
      -    " schema1.nc"
             DISPLAY " Execution of schema1.std is required for a
      -    " 'pass'."
             DISPLAY  " "
             DISPLAY " For schema1.smi and schema1.nc, C1 is CHAR(1)."
             DISPLAY  " "

             MOVE "Use of SCHEMA1.STD is required to pass this test. "
             TO ch50x

             DISPLAY "INSERT INTO WHICH_SCHEMA1 VALUES "
             DISPLAY " ('Use of SCHEMA1.STD is required to pass this
      -    " test. ');"
      *  EXEC SQL INSERT INTO WHICH_SCHEMA1 VALUES 
      *    ('Use of SCHEMA1.STD is required to pass this test. ')
      * ;
             CALL "SUB2" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD

             DISPLAY "SELECT C1"
             DISPLAY " INTO :ch50"
             DISPLAY " FROM WHICH_SCHEMA1;"
      *  EXEC SQL SELECT C1
      *    INTO   :ch50
      *    FROM   WHICH_SCHEMA1;
             CALL "SUB3" USING SQLCODE SQLSTATE ch50
             MOVE SQLCODE TO SQL-COD

             DISPLAY "ch50 should be ", ch50x
             DISPLAY "ch50 is ", ch50
             DISPLAY "SQLCODE is ", SQL-COD

      *  EXEC SQL ROLLBACK WORK;
             CALL "SUB4" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD

             if ( ch50   =   ch50x ) then
               DISPLAY " *** pass *** "
      *    EXEC SQL INSERT INTO HU.TESTREPORT
      *      VALUES('0137','pass','MCO');
               CALL "SUB5" USING SQLCODE SQLSTATE
               MOVE SQLCODE TO SQL-COD
             else
               DISPLAY " sdl001.sco *** fail *** "
      *    EXEC SQL INSERT INTO HU.TESTREPORT
      *      VALUES('0137','fail','MCO');
               CALL "SUB6" USING SQLCODE SQLSTATE
               MOVE SQLCODE TO SQL-COD
               COMPUTE errcnt = errcnt + 1
             END-IF

             DISPLAY "==============================================="

      *  EXEC SQL COMMIT WORK;
             CALL "SUB7" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD

      **** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0
           STOP RUN.

      *    ****  Procedures for PERFORM statements

¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ¤





Download des
Quellennavigators
Download des
sprechenden Kalenders

in der Quellcodebibliothek suchen




Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.


Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.


Bot Zugriff