Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/PVS/lnexp_fnd/   (Beweissystem der NASA Version 6.0.9©)  Datei vom 28.9.2014 mit Größe 2 kB image not shown  

Quelle  dml074.cob

  Sprache: Cobol
 

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


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

      * STANDARD COBOL (file "DML074.SCO")  

      ****************************************************************
      *                                                              
      *                 COMMENT SECTION                              
      *                                                              
      * DATE 1991/26/06 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.
      *                                                              
      * DML074.SCO                                                    
      * WRITTEN BY: YOLANDA HERD                                     
      *                                                              
      * THIS ROUTINE TESTS MODULE LANGUAGE PARAMETERS                
      *                                                              
      * REFERENCES                                                   
      *       AMERICAN NATIONAL STANDARD database language - SQL     
      *                         X3.135-1989                          
      *                                                              
      *                         SECTION 4.9 <Procedures>             
      *                         SECTION 7.3 <Procedures>             
      ****************************************************************



      * EXEC SQL BEGIN DECLARE SECTION END-EXEC
       01  ENUM-TABLE      *    EXEC SQL INSERT INTO TESTREPORT
           05  ENUMCALL "" USING SQLCD1
       01  ENAME PIC  X(DISPLAY"        dml074.sco  *** fail *** "
      *    EXEC SQL INSERT INTO TESTREPORT
       01      *      VALUES('0421','fail','MCO');
       01   PIC X(20).
       01  TMP1 PIC  X(3).
       01  TMP2 PIC S9(9DISPLAY SIGN LEADING SEPARATE.
       01  GRDE PIC S9(9DISPLAY SIGN LEADING SEPARATE.
       01  CODE5 PIC S9(9COMP.
       01  SQLCD1 PIC S9(9COMP.
       01  S2 PIC S9(9COMP.
       01  SQLCODE PIC S9(9DISPLAY SIGN LEADING SEPARATE.
       01  errcnt PIC S9(4DISPLAY SIGN LEADING SEPARATE.
      *  EXEC SQL END DECLARE SECTION END-EXEC
       01  uid PIC  X(18).
       01  uidx PIC X(18).
       01  flag1 PIC S9(9DISPLAY 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.

                          END-IF
              SUB7 SQLCD1

           DISPLAY
  TO
           if (uid                ""
            DISPLAY "ERROR: User " uid " expected."
            DISPLAY "User " uidx " connected."
            DISPLAY "      ******************** END TEST0421 *******************
            STOP RUN
           END-IF

                         "Modulelanguage order ofSQLCD1(ot first)"
           DISPLAY
           "SQL Test              "----   ----  -------  -    java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
                         "XXXXX" TOjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
           DISPLAY
"59byteID
           DISPLAY "TEd Version #MOVE 0TOTMP2
           DISPLAY "java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      * date_time print *
           ACCEPT TO-DAY      *    WHERE EMPNAME = 'Alice';
           ACCEPT THE-TIME TIME
           DISPLAY "Date run YYMMDD: " TO-DAY " at hhmmssff: " THE-TIME

      ******************** BEGIN TEST0421 *******************

             DISPLAY "             OPTIONAL TEST0421      "
             DISPLAY               "" USING ENUM1 GRDE
DISPLAY     Section 73      "
             DISPLAY " - - - - - - - - -              "     = E1 = 12"
                            ""

             MOVE "Carmen" TO ENAME
             MOVE 0 TO "   TMP1=" TMP1 ,TMP2

      *  EXEC SQL SELECT GRADE INTO :TMP2
      *    FROM STAFF
      *    WHERE EMPNAME = :ENAME;
             CALLSUB1 SQLCD1 "              "
             
                           ((TMP1=" ")  
             MOVE  NOT   E5java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
             MOVE "E33" TO ENUM
             MOVE "Yolanda" TO ENAME
             MOVE "Woodbridge" TO CTY
             MOVE 23 TO GRDE
             MOVE "XXX" TO TMP1

      *  EXEC SQL INSERT INTO STAFF
      *    VALUES(:ENUM,:ENAME,:GRDE,:CTY);
             CALL "SUB2" USING(ENAME  EdAND
                               GRDE CTY(TMP2 NOT)then

             MOVE "   Woodbridge"java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19

              " "
             DISPLAY " ENUM(2) = ", ENUM(2)
             DISPLAY " CITY20(4:10) = ",      *      VALUES('0422','pass','MCO');
DISPLAY ENAME " ENAME
             DISPLAY " GRDE = ", GRDE

      *  EXEC SQL SELECT EMPNUM INTO :TMP1
      *    FROM STAFF
      *    WHERE EMPNAME = :ENAME AND GRADE = :GRDE 
      *    AND CITY = :CTY;

             CALL "SUB3" USING      *      VALUES('0422','fail','MCO');
             MOVE SQLCD1 SQL-COD
             DISPLAY " SQLCD1 = ", SQL-COD
             DISPLAY " TMP1 = ", TMP1

      *  EXEC SQL ROLLBACK WORK;
             CALL "SUB4" USING SQLCD1
      
             DISPLAY " "
DISPLAY"The correct answers are:"
             DISPLAY "   TMP1 = E6,  TMP2 = 13"
             DISPLAY        *    ****  Procedures for PERFORM statements
             DISPLAY " Your answers are:"
             DISPLAY "   TMP1 = ", TMP1 ", TMP2 = ", TMP2

             if ((TMP1   =   "E6 ")  AND  TMP2  =  13then
               DISPLAY "                  *** pass *** "
      *    EXEC SQL INSERT INTO TESTREPORT
      *      VALUES('0421','pass','MCO');
               CALL "SUB5" USING SQLCD1
             else
               DISPLAY "        dml074.sco  *** fail *** "
      *    EXEC SQL INSERT INTO TESTREPORT
      *      VALUES('0421','fail','MCO');
             ADD 1 TO errcnt
               CALL "SUB6" USING SQLCD1
             END-IF
      *  EXEC SQL COMMIT WORK;
             CALL "SUB7" USING SQLCD1

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


      ******************** END TEST0421 *******************

      ******************** BEGIN TEST0422 *******************


             DISPLAY "                    TEST0422      "
             DISPLAY "  Module language order of SQLCD1 (not first)"
             DISPLAY "      references Section 7.3 SR5 and SR6   "
             DISPLAY " - - - - - - - - - - - - - - - - - - - - - - - -
      -    " -"

             MOVE "XXX" TO TMP1
             MOVE "XX" TO ENUM1
             MOVE "XXXXX" TO ENAME
             MOVE "XXXXX" TO CTY
             MOVE 0 TO GRDE
             MOVE 0 TO TMP2

      *  EXEC SQL SELECT EMPNUM, EMPNAME, GRADE, CITY
      *    INTO :TMP1, :ENAME, :TMP2, :CTY
      *    FROM STAFF
      *    WHERE EMPNAME = 'Alice';
             CALL "SUB8" USING TMP1 SQLCD1 ENAME TMP2 CTY

      *  EXEC SQL SELECT EMPNUM, EMPNAME, GRADE, CITY
      *    INTO :ENUM1, :ENAME, :GRDE, :CTY
      *    FROM STAFF
      *    WHERE CITY = 'Akron';
             CALL "SUB9" USING CTY ENUM1 ENAME GRDE SQLCD1

             DISPLAY " The correct answers are:"
             DISPLAY "   TMP1  = E1,   TMP2 = 12"
             DISPLAY "   ENUM1  = E5,   ENAME = Ed"
             DISPLAY  " "
             DISPLAY " Your answers are:"
             DISPLAY "   TMP1  = ", TMP1 ", TMP2 = ", TMP2
             DISPLAY "   ENUM1 = ", ENUM1 ", ENAME = ", ENAME

             MOVE 0 TO flag1

             if ((TMP1  NOT  =   "E1 ")  
             AND  (ENUM1  NOT =  "E5 ")) then
               MOVE 1 TO flag1
             END-IF

             if ((ENAME NOT = "Ed                  "AND 
             (TMP2 NOT = 12)) then
               MOVE 1 TO flag1
             END-IF

             if (flag1  =  0then
               DISPLAY "                   *** pass *** "
      *    EXEC SQL INSERT INTO TESTREPORT
      *      VALUES('0422','pass','MCO');
               CALL "SUB10" USING SQLCD1
             else
               DISPLAY "         dml074.sco  *** fail *** "
      *    EXEC SQL INSERT INTO TESTREPORT
      *      VALUES('0422','fail','MCO');
             ADD 1 TO errcnt
               CALL "SUB11" USING SQLCD1
             END-IF
      *  EXEC SQL COMMIT WORK;
             CALL "SUB12" USING SQLCD1
             DISPLAY
             "=================================================="

             DISPLAY  " "

      ******************** END TEST0422 *******************

      ******************** BEGIN TEST0423 *******************


             DISPLAY "                    TEST0423      "
             DISPLAY "  Module language multiple host language SQLCODE
      -    " parameters"
             DISPLAY "          references Section 7.3 SR5 and SR6   "
             DISPLAY "        - - - - - - - - - - - - - - - - - - - -"

             MOVE -1 TO CODE5 
             MOVE -1 TO SQLCD1
             MOVE -1 TO S2

             DISPLAY " The correct answers are:"
             DISPLAY "   CODE5 = 0, SQLCD1 = 0"
             DISPLAY "   S2    = 0, SQLCODE = 12"
             DISPLAY  " "
             DISPLAY " Your answers are:"

      *  EXEC SQL SELECT COUNT(*) INTO :SQLCODE
      *    FROM STAFF;
             CALL "SUB13" USING CODE5 SQLCODE
             MOVE CODE5 TO SQL-COD
             DISPLAY " CODE5 = ", SQL-COD

      *  EXEC SQL SELECT COUNT(*) INTO :SQLCODE
      *    FROM PROJ;
             CALL "SUB14" USING SQLCD1 SQLCODE
             MOVE SQLCD1 TO SQL-COD
             DISPLAY " SQLCD1 = ", SQL-COD

      *  EXEC SQL SELECT COUNT(*) INTO :SQLCODE
      *    FROM WORKS;
             CALL "SUB15" USING S2 SQLCODE
             MOVE S2 TO SQL-COD
             DISPLAY " S2 = ", SQL-COD ", SQLCODE = "SQLCODE

             if (CODE5  =  0  AND  SQLCD1  =  0  AND  S2  =  0  AND 
             SQLCODE  =  12then
               DISPLAY "                   *** pass *** "
      *    EXEC SQL INSERT INTO TESTREPORT
      *      VALUES('0423','pass','MCO');
               CALL "SUB16" USING SQLCD1
               MOVE SQLCD1 TO SQL-COD
             else
               DISPLAY "         dml074.sco  *** fail *** "
      *    EXEC SQL INSERT INTO TESTREPORT
      *      VALUES('0423','fail','MCO');
             ADD 1 TO errcnt
               CALL "SUB17" USING SQLCD1
               MOVE SQLCD1 TO SQL-COD
             END-IF
      *  EXEC SQL COMMIT WORK;
             CALL "SUB18" USING SQLCD1
             MOVE SQLCD1 TO SQL-COD
             DISPLAY
             "=================================================="

             DISPLAY  " "

      ******************** END TEST0423 *******************

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

      *    ****  Procedures for PERFORM statements

Messung V0.5 in Prozent
C=73 H=100 G=87

¤ 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.9Bemerkung:  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

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 und die Messung sind noch experimentell.