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: flg012.cob   Sprache: Cobol

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


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


      ****************************************************************
      *                                                              
      *                 COMMENT SECTION                              
      *                                                              
      * DATE 1994/12/27 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.
      *                                                              
      * FLG012.SCO                                                    
      * WRITTEN BY:  David W. Flater                                 
      * TRANSLATED AUTOMATICALLY FROM EMBEDDED COBOL BY CHRIS SCHANZLE
      *                                                              
      * This routine tests an extension to FIPS SQL.                 
      *                                                              
      * REFERENCES                                                   
      *   XOP703.PC -- X/O,CREATE INDEX on existent/non-existent     
      *     tables (Colin O'Driscoll)                                
      *   X/Open CAE SQL 5.3.3                                       
      *                                                              
      ****************************************************************



      * 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).
      *  EXEC SQL END DECLARE SECTION END-EXEC
       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;
             CALL "SUB1" USING SQLCODE SQLSTATE uidx
             MOVE SQLCODE TO SQL-COD
      *  EXEC SQL ROLLBACK WORK;
             CALL "SUB2" USING SQLCODE SQLSTATE
             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, flg012.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

      ******************** BEGIN TEST0832 *******************
             MOVE 2 TO flag

      *If this test will not compile the result is 'nogo'. 

             DISPLAY " TEST0832 "
             DISPLAY " FIPS Flagger - CREATE INDEX"
             DISPLAY "References:"
             DISPLAY " X/Open CAE SQL 5.3.3"
             DISPLAY " - - - - - - - - - - - - - - - - - - -"

             COMPUTE SQLCODE = -1
             MOVE "xxxxx" TO SQLSTATE

             DISPLAY "The next statement should be flagged or rejected."

             DISPLAY "CREATE INDEX II1 ON USIG(C1);"
      *  EXEC SQL CREATE INDEX II1 ON USIG(C1);
             CALL "SUB3" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE is ", SQL-COD
             DISPLAY "SQLSTATE is ", SQLSTATE

             if (SQLCODE  <  0) then
               COMPUTE flag = flag - 1
             END-IF

             DISPLAY "The next statement should be flagged or rejected."

             DISPLAY "CREATE UNIQUE INDEX II2 ON USIG(C_1);"
      *  EXEC SQL CREATE UNIQUE INDEX II2 ON USIG(C_1);
             CALL "SUB4" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
             DISPLAY "SQLCODE is ", SQL-COD
             DISPLAY "SQLSTATE is ", SQLSTATE

             if (SQLCODE  <  0) then
               COMPUTE flag = flag - 1
             END-IF

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

             if (flag  =  0) then
               DISPLAY " The extension does not appear to be
      -    " supported."
               DISPLAY " Support for CREATE INDEX is not required."
      *    EXEC SQL INSERT INTO HU.TESTREPORT
      *      VALUES('0832','nogo','MCO');
               CALL "SUB6" USING SQLCODE SQLSTATE
               MOVE SQLCODE TO SQL-COD
               COMPUTE errcnt = errcnt + 1
             else
               DISPLAY " SQL extension CREATE INDEX executed
      -    " successfully"
               DISPLAY " (2 tries, ", flag " worked)."
               DISPLAY " Vendor must demonstrate FIPS flagger WARNING."
      *    EXEC SQL INSERT INTO HU.TESTREPORT
      *      VALUES('0832','pass','MCO');
               CALL "SUB7" USING SQLCODE SQLSTATE
               MOVE SQLCODE TO SQL-COD
             END-IF

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

      *  EXEC SQL COMMIT WORK;
             CALL "SUB8" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
      ******************** END TEST0832 ********************

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

      *    ****  Procedures for PERFORM statements

¤ Dauer der Verarbeitung: 0.20 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