products/sources/formale sprachen/PVS/measure_integration image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

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

Datei: dml013.mco   Sprache: Cobol

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


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

      *Copyright 1995 National Computing Centre Limited               
      *and Computer Logic R&D S.A                                     
      *on behalf of the CTS5 SQL2 Project.                            
      *All rights reserved.                                          
      *The CTS5 SQL2 Project is sponsored by the European Community. 
      *                                                             
      *The National Computing Centre Limited and Computer Logic R&D  
      *have given permission to NIST to distribute this program      
      *over the World Wide Web in order to promote SQL standards.    
      *DISCLAIMER:                                                   
      *This program was reviewed by employees of NIST for            
      *conformance to the SQL standards.                             
      *NIST assumes no responsibility for any party's use of         
      *this program.                                                 


      ****************************************************************
      *                                                              
      *                 COMMENT SECTION                              
      *                                                              
      * SQL VALIDATION TEST SUITE V6.0                               
      *                                                              
      * XTS701.SCO                                                   
      * WRITTEN  BY: Manolis Megaloikonomou                          
      * REVIEWED BY: Nickos  Backalidis                              
      *                                                              
      * This programs tests                                          
      * a).  compound character literal in <comparison predicate>    
      * b).  compound character literal as inserted value            
      * c).  compound character literal in a <select list>           
      *                                                              
      *---------------------------------------------------------------
      *                         TEST7004                             
      *                                                              
      *              Compound char. literal in <comparison predicate>
      *          References:                                         
      *              5.3 FT.4                                        
      *              5.3 SR.1                                        
      *              5.3 SR.4                                        
      *              5.3 GR.1                                        
      *              8.2 GR.1                                        
      *              8.2 GR.3                                        
      *              8.2 GR.7                                        
      *              5.3 LR.2.d                                      
      *              6.5 FT.1  --COUNT set function                  
      *              6.5 SR.2                                        
      *              F#27   Compound character literals              
      *---------------------------------------------------------------
      *                         TEST7005                             
      *                                                              
      *             Compound character literal as inserted value     
      *          References:                                         
      *              5.3 SR.1                                        
      *              5.3 SR.4                                        
      *              5.3 GR.1                                        
      *              5.3 LR.2.d                                      
      *              13.8 FT.1 <insert statement>                    
      *              7.2 FT.1  <table value constructor>             
      *              7.1 FT.3  <row value constructor element>       
      *              6.11 FT.1 <value expression>                    
      *              F#27      Compound character literals           
      *                                                              
      *---------------------------------------------------------------
      *                            TEST7006                          
      *             Compound character literal in a <select list>    
      *          References:                                         
      *              5.3 SR.1                                        
      *              5.3 SR.4                                        
      *              5.3 GR.1                                        
      *              5.3 LR.2.d                                      
      *              7.9 FT.1  <query specification>                 
      *              6.11 FT.1 <value expression>                    
      *              F#27   Compound character literal               
      *                                                              
      *---------------------------------------------------------------
      *                                                              
      * DATE LAST ALTERED  15/12/95 CTS5 Hand-over Test              
      *                                                              
      * Cleanups and fixes by V. Kogakis 01/12/95:                   
      *     Initialization of the ALPNUM string                      
      *                                                              
      * QA Status: QA check                                          
      *                                                              
      *Repaired by DWF 1/18/96                                       
      *   Fixed checks for wrong SQLCODE                             
      *   Fixed references to non-existent rows                      
      *   Fixed wrong initializations                                
      *   Fixed wrong declarations                                   
      *   Removed extraneous code and variables                      
      *   Moved initializations                                      
      *   Output formatting                                          
      *   Removed checks of invalid results                          
      ****************************************************************



      * 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).
       01  COUN PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
       01  num PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
       01  num1 PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
       01  CCL1 PIC  X(215).
       01  CCL2 PIC  X(209).
      *  EXEC SQL END DECLARE SECTION END-EXEC
       01  norm1 PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
       01  norm2 PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
       01  ALPNUM-TABLE VALUE IS
               "01234ABCDEFGH56789IJKLMNOPQRSTUVWXYZ".
           05  ALPNUM PIC X OCCURS 36 TIMES.
       01  NORMSQ.
           05  NORMSQX PIC X OCCURS 5 TIMES.
       01  total PIC S9(4) DISPLAY SIGN LEADING SEPARATE.
       01  partv. 
           05  part1 PIC  X(40).
           05  part2 PIC  X(48).
       01  partw.
           05  part3 PIC  X(40).
           05  part4 PIC  X(40).
       01  partx.
           05  part3x PIC X(40).
           05  part6 PIC  X(40).
       01  party.
           05  part7 PIC  X(40).
           05  part8 PIC  X(40).
       01  partz.
           05  part9  PIC  X(40).
           05  part10 PIC  X(40).
           05  part11 PIC  X(27).
       01  str1 PIC  X(88).
       01  str2 PIC  X(62).
       01  str3 PIC  X(61).
       01  str4 PIC  X(64).
       01  str5 PIC  X(107).
       01  str6 PIC  X(17).
       01  errcnt PIC S9(9) DISPLAY SIGN LEADING SEPARATE.
       01  i 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 "CTS1 " TO uid
             CALL "AUTHID" USING uid
             MOVE "not logged in, not" TO uidx
      *  EXEC SQL SELECT USER INTO :uidx FROM CTS1.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, xts701.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

      *Set up long strings for comparison statements 

             MOVE "This is the first fragment of a compound" TO part1
             MOVE " character literal, and this is the second part." TO
             part2
             MOVE "This is a compound character literal, in" TO part3
             MOVE "This is a compound character literal, in" TO part3x
             MOVE " the second table row." TO part4
             MOVE " the third table row." TO part6
             MOVE "First fragment of a compound character l" TO part7
             MOVE "iteral, and second part." TO part8
             MOVE "This is the first fragment of a compound" TO part9
             MOVE " character literal, this is the second, " TO part10
             MOVE "and this is the third part." TO part11

             MOVE partv TO str1

             MOVE partw TO str2

             MOVE partx TO str3

             MOVE party TO str4

             MOVE partz TO str5

             MOVE "Compound literal." TO str6

      ******************** BEGIN TEST7004 *******************

             MOVE 1 TO flag
             DISPLAY " TEST7004 "
             DISPLAY " Compound char. literal in
      -    " predicate>"
             DISPLAY "References:"
             DISPLAY " 5.3 FT.4"
             DISPLAY " 5.3 SR.1"
             DISPLAY " 5.3 SR.4"
             DISPLAY " 5.3 GR.1"
             DISPLAY " 8.2 GR.1"
             DISPLAY " 8.2 GR.3"
             DISPLAY " 8.2 GR.7"
             DISPLAY " 5.3 LR.2.d"
             DISPLAY " 6.5 FT.1 --COUNT set function"
             DISPLAY " 6.5 SR.2"
             DISPLAY " F#27 Compound character literals"
             DISPLAY " - - - - - - - - - - - - - - - - - - -"

      *Initialise error reporting variables 
             COMPUTE SQLCODE = -1
             MOVE "xxxxx" TO SQLSTATE

      *Insert compound literals into table T4 
             DISPLAY "INSERT INTO T4 "
             DISPLAY "VALUES('This is the first compound character "
             DISPLAY "literal.',1,NULL,NULL);"
      *  EXEC SQL INSERT INTO T4
      *    VALUES('This is the first compound character
      *  literal.',1,NULL,NULL);
             CALL "SUB3" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY  " "

             DISPLAY "INSERT INTO T4 "
             DISPLAY "VALUES('Second character literal.',2,NULL,NULL);"
      *  EXEC SQL INSERT INTO T4
      *    VALUES('Second character literal.',2,NULL,NULL);
             CALL "SUB4" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY  " "

             DISPLAY "INSERT INTO T4 "
             DISPLAY "VALUES('Third character literal.',3,NULL,NULL);"
      *  EXEC SQL INSERT INTO T4
      *    VALUES('Third character literal.',3,NULL,NULL);
             CALL "SUB5" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY  " "

      *Attempt to return row that is not in table 
             DISPLAY "SELECT NUM6 INTO :num FROM T4"
             DISPLAY "WHERE STR110 = 'This is the compound '"
             DISPLAY "'character literal.';"
      *  EXEC SQL SELECT NUM6
      *    INTO   :num
      *    FROM   T4
      *    WHERE  STR110 = 'This is the compound '
      *    'character literal.';
             CALL "SUB6" USING SQLCODE SQLSTATE num
             MOVE SQLCODE TO SQL-COD
      *check for no data condition 02000 
      *That should generate a no data condition which is SQLSTATE 0200
             DISPLAY "SQLCODE should be 100; its value is ", SQL-COD
             if (SQLCODE  NOT =  100) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 02000; its value is ", SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "02000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "02000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY  " "

      *check second and third rows inserted correctly 
             MOVE 0 TO COUN
             DISPLAY "SELECT COUNT(*) INTO :COUN FROM T4"
             DISPLAY "WHERE STR110 <> 'This is the first compound '"
             DISPLAY "'character literal.';"
      *  EXEC SQL SELECT COUNT(*)
      *    INTO   :COUN
      *    FROM   T4
      *    WHERE  STR110 <> 'This is the first compound '
      *    'character literal.';
             CALL "SUB7" USING SQLCODE SQLSTATE COUN
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY "Coun should be 2; its value is ", COUN
             if (COUN  NOT =  2) then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             MOVE 0 TO num
             DISPLAY "SELECT NUM6 INTO :num FROM T4 WHERE NUM6 = 2"
             DISPLAY "AND STR110 <= 'Second character '--Comments here"
             DISPLAY "'literal.';"
      *  EXEC SQL SELECT NUM6
      *    INTO   :num
      *    FROM   T4
      *    WHERE  NUM6 = 2 AND STR110 <= 'Second character
      *  '--Comments here
      *    'literal.';
             CALL "SUB8" USING SQLCODE SQLSTATE num
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY "num should be 2; its value is ", num
             if (num  NOT =  2) then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

      *attempt to return values from row which does not exist
             DISPLAY "SELECT NUM6 INTO :num FROM T4"
             DISPLAY "WHERE STR110 = 'Third character
      -    " literal.'--Comments here"
             DISPLAY "'second fragment'"
             DISPLAY "'third fragment.';"
      *  EXEC SQL SELECT NUM6
      *    INTO   :num
      *    FROM   T4
      *    WHERE  STR110 = 'Third character literal.'--Comments here
      *    'second fragment'
      *    'third fragment.';
             CALL "SUB9" USING SQLCODE SQLSTATE num
             MOVE SQLCODE TO SQL-COD
      *That should generate a no data condition 
      *which is SQLSTATE 02000 
             DISPLAY "SQLCODE should be 100; its value is ", SQL-COD
             if (SQLCODE  NOT =  100) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 02000; its value is ", SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "02000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "02000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY  " "

             DISPLAY "SELECT NUM6 INTO :num FROM T4 WHERE STR110 =
      -    " 'First fragment'"
             DISPLAY "'another fragment'--Comments"
             DISPLAY "'Second character literal.'--Comments here"
             DISPLAY "'fourth fragment.';"
      *  EXEC SQL SELECT NUM6
      *    INTO   :num
      *    FROM   T4
      *    WHERE  STR110 = 'First fragment'
      *    'another fragment'--Comments    
      *    'Second character literal.'--Comments here
      *    'fourth fragment.';
             CALL "SUB10" USING SQLCODE SQLSTATE num
             MOVE SQLCODE TO SQL-COD
      *That should generate a no data condition 
      *which is SQLSTATE 02000 
             DISPLAY "SQLCODE should be 100; its value is ", SQL-COD
             if (SQLCODE  NOT =  100) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 02000; its value is ", SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "02000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "02000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY  " "

             MOVE 0 TO num
             DISPLAY "SELECT NUM6 INTO :num FROM T4 WHERE STR110 <=
      -    " 'Second '"
             DISPLAY "'chara'--Comments"
             DISPLAY "'cter liter'--Comments here"
             DISPLAY "'al.'"
             DISPLAY "' ';"
      *  EXEC SQL SELECT NUM6
      *    INTO   :num
      *    FROM   T4
      *    WHERE  STR110 <= 'Second '    
      *    'chara'--Comments    
      *    'cter liter'--Comments here
      *    'al.'
      *    '     ';
             CALL "SUB11" USING SQLCODE SQLSTATE num
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY "num should be 2; its value is ", num
             if (num  NOT =  2) then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             MOVE 99 TO num1
             MOVE 99 TO num

             DISPLAY "SELECT COUNT(*) INTO :num FROM T4 WHERE STR110 <"
             DISPLAY "'An indifferent'--Comments"
             DISPLAY "' charac'"
             DISPLAY "'ter literal.';"
      *  EXEC SQL SELECT COUNT(*)
      *    INTO   :num
      *    FROM   T4
      *    WHERE  STR110 < 'An indifferent'--Comments
      *    ' charac'    
      *    'ter literal.';
             CALL "SUB12" USING SQLCODE SQLSTATE num
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY  " "

             DISPLAY "SELECT COUNT(*) INTO :num1 FROM T4 WHERE STR110
      -    " >="
             DISPLAY "'An indifferent'--Comments"
             DISPLAY "' charac'"
             DISPLAY "'ter literal.';"
      *  EXEC SQL SELECT COUNT(*)
      *    INTO   :num1
      *    FROM   T4
      *    WHERE  STR110 >= 'An indifferent'--Comments
      *    ' charac'     
      *    'ter literal.';
             CALL "SUB13" USING SQLCODE SQLSTATE num1
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY  " "
             COMPUTE total = num + num1
             DISPLAY "num + num1 should be 3, "
             DISPLAY "their values are: num = ", num, ", num1 = ", num1
             if (total  NOT =  3) then
               MOVE 0 TO flag
             END-IF

             MOVE 0 TO num
             DISPLAY "SELECT NUM6 INTO :num FROM T4 WHERE STR110 =
      -    " 'Second '"
             DISPLAY "'chara'--Comments"
             DISPLAY "'cter liter'--Comments here"
             DISPLAY "'al.'"
             DISPLAY "' '--Comments"
             DISPLAY "' ';"
      *  EXEC SQL SELECT NUM6
      *    INTO   :num
      *    FROM   T4
      *    WHERE  STR110 = 'Second '    
      *    'chara'--Comments    
      *    'cter liter'--Comments here
      *    'al.'
      *    '     '--Comments
      *    '      ';
             CALL "SUB14" USING SQLCODE SQLSTATE num
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             if (num  NOT =  2) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "num should be 2; its value is ", num
             DISPLAY  " "

             DISPLAY "SELECT NUM6 INTO :num FROM T4"
             DISPLAY "WHERE NUM6 = 2 AND STR110 < 'Second '"
             DISPLAY "'chara'--Comments"
             DISPLAY "'cter literal.';"
      *  EXEC SQL SELECT NUM6
      *    INTO   :num
      *    FROM   T4
      *    WHERE  NUM6 = 2 AND STR110 < 'Second '    
      *    'chara'--Comments    
      *    'cter literal.';
             CALL "SUB15" USING SQLCODE SQLSTATE num
             MOVE SQLCODE TO SQL-COD

      *That should generate a no data condition 
      *which is SQLSTATE 02000 
             DISPLAY "SQLCODE should be 100; its value is ", SQL-COD
             if (SQLCODE  NOT =  100) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "SQLSTATE should be 02000; its value is ", SQLSTATE
           PERFORM NOSUBCLASS THRU EXIT-NOSUBCLASS
             if (NORMSQ  NOT  =   "02000"then
               MOVE 0 TO flag
             END-IF
             if (NORMSQ   =   "02000"  AND  NORMSQ  NOT  =   SQLSTATE)
             then
               DISPLAY "Valid implementation-defined SQLSTATE accepted."
             END-IF
             DISPLAY  " "

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

             if ( flag  =  1 ) then
               DISPLAY " xts701.mco *** pass *** "
      *    EXEC SQL INSERT INTO CTS1.TESTREPORT
      *      VALUES('7004','pass','MCO');
               CALL "SUB17" USING SQLCODE SQLSTATE
               MOVE SQLCODE TO SQL-COD
             else
               DISPLAY " xts701.mco *** fail *** "
      *    EXEC SQL INSERT INTO CTS1.TESTREPORT
      *      VALUES('7004','fail','MCO');
               CALL "SUB18" USING SQLCODE SQLSTATE
               MOVE SQLCODE TO SQL-COD
               COMPUTE errcnt = errcnt + 1
             END-IF

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

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

      ******************** END TEST7004 ********************
      ******************** BEGIN TEST7005 *******************

             MOVE 1 TO flag
             DISPLAY " TEST7005 "
             DISPLAY " Compound character literal as inserted value"
             DISPLAY " References:"
             DISPLAY " 5.3 SR.1"
             DISPLAY " 5.3 SR.4"
             DISPLAY " 5.3 GR.1"
             DISPLAY " 5.3 LR.2.d"
             DISPLAY " 13.8 FT.1 "
             DISPLAY " 7.2 FT.1 "
             DISPLAY " 7.1 FT.3 "
             DISPLAY " 6.11 FT.1 "
             DISPLAY " F#27 Compound character literals"
             DISPLAY " - - - - - - - - - - - - - - - - - - -"

      *Initialise error reporting variables 
             COMPUTE SQLCODE = -1
             MOVE "xxxxx" TO SQLSTATE

             DISPLAY "INSERT INTO T4 "
             DISPLAY "VALUES('This is the first fragment of a compound"
             DISPLAY "character literal,' --Comments"
             DISPLAY "' and this is the second part.',11,NULL,'Compound
      -    " ' "
             DISPLAY " "
             DISPLAY " --Comments "
             DISPLAY " "
             DISPLAY " 'literal.');"
      *  EXEC SQL INSERT INTO T4
      *    VALUES('This is the first fragment of a compound
      *  character literal,' --Comments
      *    ' and this is the second part.',11,NULL,'Compound '  
      *    
      *    --Comments   
      *    
      *    'literal.');
             CALL "SUB20" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY  " "

             DISPLAY "INSERT INTO T4 "
             DISPLAY "VALUES('This is a comp'"
             DISPLAY "'ound character literal,'"
             DISPLAY "' in the second table row.',12,NULL,NULL);"
      *  EXEC SQL INSERT INTO T4
      *    VALUES('This is a comp'
      *    'ound character literal,'       
      *    ' in the second table row.',12,NULL,NULL);
             CALL "SUB21" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY  " "

             DISPLAY "INSERT INTO T4 "
             DISPLAY "VALUES('This is '"
             DISPLAY "('a comp' "
             DISPLAY " 'ound '"
             DISPLAY " 'char'"
             DISPLAY " 'acter lit' -- Comments"
             DISPLAY " 'eral, '"
             DISPLAY " -- Comments"
             DISPLAY " "
             DISPLAY " 'in the th'"
             DISPLAY " 'ird '"
             DISPLAY " 'table '"
             DISPLAY " 'row.',13,NULL,NULL);"
      *  EXEC SQL INSERT INTO T4
      *    VALUES('This is '
      *    'a comp'      
      *    'ound '
      *    'char'
      *    'acter lit' -- Comments
      *    'eral, ' 
      *    -- Comments        
      *    
      *    'in the th'
      *    'ird '
      *    'table '
      *    'row.',13,NULL,NULL);
             CALL "SUB22" USING SQLCODE SQLSTATE
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY  " "

             MOVE "xxxxxxxxxxxxxx" TO CCL1
             MOVE "xxxxxxxxxxxxxx" TO CCL2

             DISPLAY "SELECT STR110, COL4 INTO :CCL1, :CCL2 FROM T4
      -    " WHERE NUM6 = 11;"
      *  EXEC SQL SELECT STR110, COL4 INTO :CCL1, :CCL2 FROM T4
      *  WHERE NUM6 = 11;
             CALL "SUB23" USING SQLCODE SQLSTATE CCL1 CCL2
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY "CCL1 should be ", str1, "; its value is ", CCL1
             DISPLAY "CCL2 should be ", str6, "; its value is ", CCL2
             if (CCL1  NOT  =   str1  OR  CCL2  NOT  =   str6) then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

             MOVE "xxxxxxxxxxxxxx" TO CCL1
             DISPLAY "SELECT STR110 INTO :CCL1 FROM T4 WHERE NUM6 = 12;"
      *  EXEC SQL SELECT STR110 INTO :CCL1 FROM T4 WHERE  NUM6 = 12
      * ;
             CALL "SUB24" USING SQLCODE SQLSTATE CCL1
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             if (CCL1  NOT  =   str2) then
               MOVE 0 TO flag
             END-IF
             DISPLAY "CCL1 should be ", str2, "; its value is ", CCL1
             DISPLAY  " "

             MOVE "xxxxxxxxxxxxxx" TO CCL1
             DISPLAY "SELECT STR110 INTO :CCL1 FROM T4 WHERE NUM6 = 13;"
      *  EXEC SQL SELECT STR110
      *    INTO   :CCL1
      *    FROM   T4
      *    WHERE  NUM6 = 13;
             CALL "SUB25" USING SQLCODE SQLSTATE CCL1
             MOVE SQLCODE TO SQL-COD
           PERFORM CHCKOK
             DISPLAY "CCL1 should be ", str3, "; its value is ", CCL1
             if (CCL1  NOT  =   str3) then
               MOVE 0 TO flag
             END-IF
             DISPLAY  " "

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

             if ( flag  =  1 ) then
               DISPLAY " xts701.mco *** pass *** "
      *    EXEC SQL INSERT INTO CTS1.TESTREPORT
      *      VALUES('7005','pass','MCO');
               CALL "SUB27" USING SQLCODE SQLSTATE
               MOVE SQLCODE TO SQL-COD
             else
               DISPLAY " xts701.mco *** fail *** "
      *    EXEC SQL INSERT INTO CTS1.TESTREPORT
      *      VALUES('7005','fail','MCO');
               CALL "SUB28" USING SQLCODE SQLSTATE
               MOVE SQLCODE TO SQL-COD
               COMPUTE errcnt = errcnt + 1
             END-IF

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

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

      ******************** END TEST7005 ********************
      ******************** BEGIN TEST7006 *******************

             MOVE 1 TO flag
             DISPLAY " TEST7006 "
             DISPLAY " Compound character literal in a




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