Rational Developer for System z

LDB2SAMP

Utilizar este programa de COBOL de ejemplo con Construir una aplicación COBOL DB2 por lotes local.
       IDENTIFICATION DIVISION.
       PROGRAM-ID. LDB2SAMP.
       
       DATA DIVISION.
       
       WORKING-STORAGE SECTION.
       
       EXEC SQL INCLUDE SQLCA END-EXEC.
       
       COPY EMPLOYEE.
       
       01 VARIABLES.
           02 RECORDCOUNT        PIC S9(8) USAGE COMP-3.
           02 DISPLAYRC          PIC S9(4) USAGE DISPLAY.                      
           02 OUT                PIC X(200).       
           02 NEXTEMP            PIC X(6).       
           02 NEXTEMPNO          PIC 9(6).
           02 FIRSTNMEP          PIC X(12).
           02 LASTNAMEP          PIC X(15).
       
              
       LINKAGE SECTION. 
       
       PROCEDURE DIVISION.
       
           MOVE LOW-VALUES TO VARIABLES.
       
           EXEC SQL CONNECT TO SAMPLE END-EXEC.
           
           EXEC SQL SELECT COUNT (*)
                           INTO :RECORDCOUNT
                           FROM EMPLOYEE                               
                           END-EXEC.
           
           IF SQLCODE = 0 THEN                                         
               MOVE RECORDCOUNT TO DISPLAYRC
               MOVE "THE NUMBER OF EMPLOYEES IN THE DATABASE IS " TO OUT        
               MOVE DISPLAYRC TO OUT(44:4)  
           ELSE IF SQLCODE = 100 THEN
               MOVE "NO EMPLOYEES FOUND IN DATABASE" TO OUT
           ELSE
               MOVE "SQL ERROR " TO OUT
               MOVE SQLCODE TO OUT(11:10)
           END-IF.
           
           DISPLAY OUT.
           
           IF SQLCODE = 0 THEN
               EXEC SQL SELECT MAX (EMPNO) 
                               INTO :NEXTEMP
                               FROM EMPLOYEE                    
                               END-EXEC
                           
               MOVE NEXTEMP TO NEXTEMPNO
               
               COMPUTE NEXTEMPNO = NEXTEMPNO + 10
               
               MOVE NEXTEMPNO TO EMPNO
               MOVE "FRANK" TO FIRSTNMEP 
               MOVE "JONES" TO LASTNAMEP 
               MOVE "Y" TO MIDINIT 
               MOVE "A00" TO WORKDEPT 
               MOVE "1234" TO PHONENO 
               MOVE "04-30-1979" TO HIREDATE 
               MOVE "Clerk" TO JOB 
               MOVE 15 TO EDLEVEL 
               MOVE "M" TO SEX 
               MOVE "05-30-1954" TO BIRTHDATE 
               MOVE "36170" TO SALARY 
               MOVE "400" TO BONUS 
               MOVE "2387" TO COMM  
               
               EXEC SQL INSERT INTO EMPLOYEE 
                               VALUES(:EMPNO,
                                      :FIRSTNMEP,
                                      :MIDINIT,
                                      :LASTNAMEP,                               
                                      :WORKDEPT,
                                      :PHONENO,
                                      :HIREDATE,
                                      :JOB,
                                      :EDLEVEL,
                                      :SEX,
                                      :BIRTHDATE,
                                      :SALARY,
                                      :BONUS,
                                      :COMM)
                               END-EXEC
                               
               IF SQLCODE = 0 THEN
                  EXEC SQL SELECT *
                           INTO :EMPNO,
                                :FIRSTNME,
                                :MIDINIT,
                                :LASTNAME,                                      
                                :WORKDEPT,
                                :PHONENO,
                                :HIREDATE,
                                :JOB,
                                :EDLEVEL,
                                :SEX,
                                :BIRTHDATE,
                                :SALARY,
                                :BONUS,
                                :COMM
                           FROM EMPLOYEE
                           WHERE EMPNO = :EMPNO
                           END-EXEC
                           
                  EXEC SQL COMMIT END-EXEC
                           
                  MOVE FIRSTNMEP TO OUT
                  MOVE LASTNAMEP TO OUT(14:15)
                  DISPLAY OUT
                  DISPLAY "ADDED TO THE DATABASE"
                           
               ELSE
                  MOVE "SQL ERROR" TO OUT
                  DISPLAY OUT
               END-IF
                               
           END-IF.
                
       
           GOBACK.

Términos de uso | Comentarios

Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)