Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Roqc/test-suite/output/   (NIST Cobol-85 ©)  Datei vom 15.8.2025 mit Größe 104 B image not shown  

Quelle  flg005.cob   Sprache: unbekannt

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


      * EMBEDDED COBOL (file "FLG005.PCO")  

      ****************************************************************
      *                                                              
      *                 COMMENT SECTION                              
      *                                                              
      * DATE 1989/11/21 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.
      *                                                              
      * FLG005.PCO                                                    
      * WRITTEN BY: SUN DAJUN                                        
      * TRANSLATED AUTOMATICALLY FROM EMBEDDED C BY CHRIS SCHANZLE
      *                                                              
      *   THIS ROUTINE IS AN OPPORTUNITY FOR THE VERDOR TO           
      *                                                              
      * DEMONSTRATE THE FIPS FLAGGER. THE VENDOR SHOULD SUPPLY       
      *                                                              
      * A CHARACTER EXTENSION AND AN INTEGER FUNCTION EXTENSION      
      *                                                              
      *                                                              
      ****************************************************************



           EXEC SQL BEGIN DECLARE SECTION END-EXEC
       01  cnt PIC S9(9DISPLAY SIGN LEADING SEPARATE.
       01  uid PIC X(18).
       01  uidx PIC X(18).
             EXEC SQL END DECLARE SECTION END-EXEC
       01  SQLCODE PIC S9(9COMP.
       01  errcnt PIC S9(4DISPLAY SIGN LEADING SEPARATE.


       01  SQL-COD PIC S9(9DISPLAY 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, flg005.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 TEST0296 *******************

             DISPLAY "     Vendor provided charater function"
             DISPLAY "    ------------------------------------------ "
             DISPLAY "                  TEST0296     "
             DISPLAY "    - - - - - - - - - - - - - - - - - - - - -  "
             DISPLAY "         SELECT COUNT(*) "
             DISPLAY "         INTO :cnt FROM STAFF"
             DISPLAY "         WHERE SUBSTR(EMPNAME,1,3) = 'Ali';"
             DISPLAY  " "
             DISPLAY " If the vendor does not pass this test, as
      -    " written,"
             DISPLAY " the vendor should replace the SUBSTR(....)
      -    " syntax"
             DISPLAY " below with a vendor extension which selects
      -    " exactly"
             DISPLAY " one row."
             COMPUTE cnt = -1
             EXEC SQL SELECT COUNT(*) 
               INTO :cnt FROM STAFF
               WHERE SUBSTR(EMPNAME,1,3) = 'Ali' END-EXEC
             MOVE SQLCODE TO SQL-COD
             DISPLAY " The correct answer is :"
             DISPLAY "          cnt = 1"
             DISPLAY " Your answer is :"

             DISPLAY "        cnt = ", cnt
             if (cnt  =  1then
               DISPLAY "Implementor-defined character function
      -    " executed."
               DISPLAY "Vendor must demonstrate FIPS flagger WARNING."
               EXEC SQL INSERT INTO TESTREPORT
                 VALUES('0296','pass','PCO'END-EXEC
               MOVE SQLCODE TO SQL-COD
             else
               DISPLAY "     flg005.pco  *** fail *** "
               DISPLAY "Vendor must provide character function
      -    " extension."
               EXEC SQL INSERT INTO TESTREPORT
                 VALUES('0296','fail','PCO'END-EXEC
             ADD 1 TO errcnt
               MOVE SQLCODE TO SQL-COD
             END-IF
             DISPLAY "==============================================="

             EXEC SQL COMMIT WORK END-EXEC
             MOVE SQLCODE TO SQL-COD

      ******************** END TEST0296 *******************


      ******************** BEGIN TEST0297 *******************

             DISPLAY "     Vendor provided integer function"
             DISPLAY "    ------------------------------------------ "
             DISPLAY "                  TEST0297     "
             DISPLAY "    - - - - - - - - - - - - - - - - - - - - -  "
             DISPLAY "         SELECT COUNT(*) "
             DISPLAY "         INTO :cnt FROM STAFF"
             DISPLAY "         WHERE ABS(GRADE) = 12;"
             DISPLAY  " "
             DISPLAY " If the vendor does not pass this test, as
      -    " written,"
             DISPLAY " the vendor should replace the ABS(....) syntax"
             DISPLAY " below with a vendor extension which selects two
      -    " rows."
             COMPUTE cnt = -1
             EXEC SQL UPDATE STAFF
               SET GRADE = -GRADE END-EXEC
             MOVE SQLCODE TO SQL-COD

             EXEC SQL SELECT COUNT(*) 
               INTO :cnt FROM STAFF
               WHERE ABS(GRADE) = 12 END-EXEC
             MOVE SQLCODE TO SQL-COD
             EXEC SQL ROLLBACK WORK END-EXEC
             MOVE SQLCODE TO SQL-COD
             DISPLAY " The correct answer is :"
             DISPLAY "          cnt = 2"
             DISPLAY " Your answer is :"

             DISPLAY "        cnt = ", cnt
             if (cnt  =  2then
               DISPLAY "Implementor-defined integer function executed."
               DISPLAY "Vendor must demonstrate FIPS flagger WARNING."
               EXEC SQL INSERT INTO TESTREPORT
                 VALUES('0297','pass','PCO'END-EXEC
               MOVE SQLCODE TO SQL-COD
             else
               DISPLAY "     flg005.pco  *** fail *** "
               DISPLAY "Vendor must provide integer function extension."
               EXEC SQL INSERT INTO TESTREPORT
                 VALUES('0297','fail','PCO'END-EXEC
             ADD 1 TO errcnt
               MOVE SQLCODE TO SQL-COD
             END-IF
             DISPLAY "==============================================="

             EXEC SQL COMMIT WORK END-EXEC
             MOVE SQLCODE TO SQL-COD

      ******************** END TEST0297 *******************





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

      *    ****  Procedures for PERFORM statements

Messung V0.5 in Prozent
C=84 H=100 G=92

[0.17QuellennavigatorsProjekt 2026-06-08]