Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Cobol/verschiedene-Autoren/IBM/   (Columbo Version 0.7©)  Datei vom 4.1.2008 mit Größe 5 kB image not shown  

Quelle  P9.cob   Sprache: Cobol

 
      ***********************************************************************
      ** Licensed Materials - Property of IBM
      **
      ** Governed under the terms of the International
      ** License Agreement for Non-Warranted Sample Code.
      **
      ** (C) COPYRIGHT International Business Machines Corp. 1995 - 2002
      ** All Rights Reserved.
      **
      ** US Government Users Restricted Rights - Use, duplication or
      ** disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
      ***********************************************************************
      **
      ** SOURCE FILE NAME: openftch.sqb
      **
      ** SAMPLE: How to modify table data using cursor statically
      **
      **         This sample program demonstrates the use of a CURSOR.
      **         The CURSOR is processed using static SQL.  This program
      **         obtains all managers in the STAFF tables of the SAMPLE
      **         database and changes their job from "Mgr" to "Clerk"
      **         or DELETE the row dependant upon the "dept" value.
      **         A ROLLBACK is done so that the SAMPLE database remains
      **         unchanged.
      **
      ** SQL STATEMENTS USED:
      **         BEGIN DECLARE SECTION
      **         END DECLARE SECTION
      **         ROLLBACK
      **         CONNECT
      **         DECLARE
      **         FETCH
      **         OPEN
      **         DELETE
      **         UPDATE
      **         CLOSE
      **
      ** OUTPUT FILE: openftch.out (available in the online documentation)
      ***********************************************************************
      **
      ** For more information on the sample programs, see the README file.
      **
      ** For information on developing COBOL applications, see the
      ** Application Development Guide.
      **
      ** For information on using SQL statements, see the SQL Reference.
      **
      ** For the latest information on programming, compiling, and running
      ** DB2 applications, visit the DB2 application development website:
      **     http://www.software.ibm.com/data/db2/udb/ad
      ***********************************************************************

       Identification Division.
       Program-ID"openftch".

       Data Division.
       Working-Storage Section.

           copy "sqlca.cbl".

           EXEC SQL BEGIN DECLARE SECTION END-EXEC.
       01 pname             pic x(10).
       01 dept              pic s9(4) comp-5.
       01 userid            pic x(8).
       01 passwd.
         49 passwd-length   pic s9(4) comp-5 value 0.
         49 passwd-name     pic x(18).
           EXEC SQL END DECLARE SECTION END-EXEC.

       77 errloc          pic x(80).

       Procedure Division.
       Main Section.
           display "Sample COBOL program: OPENFTCH".

      * Get database connection information.
           display "Enter your user id (default none): "
                with no advancing.
           accept userid.

           if userid = spaces
             EXEC SQL CONNECT TO sample END-EXEC
           else
             display "Enter your password : " with no advancing
             accept passwd-name.

      * Passwords in a CONNECT statement must be entered in a VARCHAR format
      * with the length of the input string.
           inspect passwd-name tallying passwd-length for characters
              before initial " ".

           EXEC SQL CONNECT TO sample USER :userid USING :passwd
               END-EXEC.
           move "CONNECT TO" to errloc.
           call "checkerr" using SQLCA errloc.

           EXEC SQL DECLARE c1 CURSOR FOR                               
                    SELECT name, dept FROM staff
                    WHERE job='Mgr'
                    FOR UPDATE OF job END-EXEC.

           EXEC SQL OPEN c1 END-EXEC                                    
           move "OPEN" to errloc.
           call "checkerr" using SQLCA errloc.

      * call the FETCH and UPDATE/DELETE loop.
           perform Fetch-Loop thru End-Fetch-Loop
              until SQLCODE not equal 0.

           EXEC SQL CLOSE c1 END-EXEC.                                  
           move "CLOSE" to errloc.
           call "checkerr" using SQLCA errloc.

java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
 ROLLBACKerrloc
           call "checkerr
           display "On second thought -- changes rolled back * with the length of the input string.

            SQL RESET END-EXEC
            "CONNECTRESET errloc.
           call "checkerr"java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
End-Main
           go to End-Prog.

Fetch-Loop.
           EXEC SQL FETCH
           if not  0
              go to                      name, dept FROM staff

           if dept greater than 40
              go to Update-Staff.

       Delete-Staff.
           display pname, " in dept. ", dept,
              " will be DELETED!".

           EXEC SQL DELETE FROM staff WHERE CURRENT OF c1 END-EXEC.
           move "DELETE" to errloc.
           call "checkerr" using SQLCA errloc.

           go to End-Fetch-Loop.

       Update-Staff.
           display pname, " in dept. ", dept,
              " will be demoted to Clerk".

           EXEC SQL UPDATE staff SET job = 'Clerk'                      
                    WHERE CURRENT OF c1 END-EXEC.
           move "UPDATE" to errloc.
           call "checkerr" using SQLCA errloc.

       End-Fetch-Loop. exit.

       End-Prog.
           stop run.


Messung V0.5
C=57 H=92 G=76

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet)  ¤

*© 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.