IDENTIFICATION DIVISION. PROGRAM-ID. PRALTA. ****************************************************************** * PROGRAMA QUE REALIZA UN ALTA DE UN REGISTRO EN UNA TABLA * *================================================================* * E N V I R O N M E N T D I V I S I O N * *================================================================* * ENVIRONMENT DIVISION. * *===================== CONFIGURATION SECTION. *===================== * SPECIAL-NAMES. DECIMAL-POINT IS COMMA. * *================================================================* * D A T A D I V I S I O N * *================================================================* * DATA DIVISION. * *======================= WORKING-STORAGE SECTION. *======================= * * ------------------------- * AREAS PARA COMUNICACIONES * ------------------------- EXEC SQL INCLUDE SQLCA END-EXEC. * * * ----------------- * CAMPOS DE TRABAJO * ----------------- 01 VARIABLES-HOST. 05 TABLA1-CAMPO1 PIC X(10). 05 TABLA1-CAMPO2 PIC XX. 05 TABLA1-PRI-CAMPO3 PIC XX. 05 TABLA1-SEC-CAMPO3 PIC XX. *=============== *-> Tabla DB2 : TBPRU01 - COPY CON EL DECLARE DE LA TABLA. * LINKAGE SECTION. *=============== * 01 ENTRADA. 05 ENT-CAMPO1 PIC X(10). 05 ENT-CAMPO2 PIC X. 05 ENT-PRI-CAMPO3 PIC XX. 05 ENT-SEC-CAMPO3 PIC XX. 01 SALIDA. 05 SAL-CAMPO1 PIC X(10). 05 SAL-CAMPO2 PIC X. 05 SAL-PRI-CAMPO3 PIC XX. 05 SAL-SEC-CAMPO3 PIC XX. * *================================================================* * P R O C E D U R E D I V I S I O N * *================================================================* * PROCEDURE DIVISION USING ENTRADA SALIDA. * ****************************************************************** * | 0000 - PRINCIPAL * *--|------------------+----------><----------+-------------------* * 1| EJECUTA EL INICIO DEL PROGRAMA * * 2| EJECUTA EL PROCESO DEL PROGRAMA * * 3| EJECUTA EL FINAL DEL PROGRAMA * ****************************************************************** 00000-PRINCIPAL. * *-> <1> * PERFORM 10000-INICIO * *-> <2> * PERFORM 20000-PROCESO * *-> <3> * PERFORM 90000-FINAL . ****************************************************************** * | 10000 - INICIO * *--|------------------+----------><----------+-------------------* * | SE REALIZA EL TRATAMIENTO DE INICIO: * * 1| Inicialización de Áreas de Trabajo * * 2| Validacion de los campos de entrada * ****************************************************************** 10000-INICIO. * *-> <1> * INITIALIZE SALIDA VARIABLES-HOST * * *-> <2> Incluir validaciones de campos de entrada * * *-> <2> Añadir validacion de los campos de entrada * IF ENT-CAMPO1 EQUAL SPACES OR LOW-VALUES DISPLAY 'CAMPO1 VIENE VACIO' PERFORM 90000-FINAL END-IF . * ****************************************************************** * | 20000 - PROCESO * *--|------------------+----------><----------+-------------------* * | SE REALIZA EL TRATAMIENTO DE LOS DATOS: * * 1| Insert de la tabla * ****************************************************************** 20000-PROCESO. * *-> <1> * PERFORM 20100-MOVER-A-TABLA1 * *-> Instr. SQL : INSERT - Insertar Un Registro EXEC SQL INSERT INTO TBPRU01 (CAMPO1, CAMPO2, PRI-CAMPO3, SEC-CAMPO3) VALUES(:TABLA1-CAMPO1, :TABLA1-CAMPO2, :TABLA1-PRI-CAMPO3, :TABLA1-SEC-CAMPO3) END-EXEC * EVALUATE TRUE WHEN SQLCODE EQUAL ZERO * PERFORM 20200-MOVER-A-SALIDA * WHEN SQLCODE EQUAL -803 * Registro Duplicado DISPLAY 'EL REGISTRO YA EXISTE EN LA TABLA' PERFORM 90000-FINAL WHEN OTHER * Error al Insertar Un Registro DISPLAY 'ERROR AL HACER EL INSERT. SQLCODE: 'SQLCODE PERFORM 90000-FINAL END-EVALUATE * . * ****************************************************************** * | 20100-MOVER-A-TABLA1 * *--|------------------+----------><----------+-------------------* * | * ****************************************************************** 20100-MOVER-A-TABLA1. * MOVE ENT-CAMPO1 TO TABLA1-CAMPO1 MOVE ENT-CAMPO2 TO TABLA1-CAMPO2 MOVE ENT-PRI-CAMPO3 TO TABLA1-PRI-CAMPO3 MOVE ENT-SEC-CAMPO3 TO TABLA1-SEC-CAMPO3 . * ****************************************************************** * | 20200-MOVER-A-SALIDA * *--|------------------+----------><----------+-------------------* * | * ****************************************************************** 20200-MOVER-A-SALIDA. * MOVE TABLA1-CAMPO1 TO SAL-CAMPO1 MOVE TABLA1-CAMPO2 TO SAL-CAMPO2 MOVE TABLA1-PRI-CAMPO3 TO SAL-PRI-CAMPO3 MOVE TABLA1-SEC-CAMPO3 TO SAL-SEC-CAMPO3 . * ****************************************************************** * | 90000 - FINAL * *--|------------------+----------><----------+-------------------* * | FINALIZA LA EJECUCION DEL PROGRAMA * ****************************************************************** 90000-FINAL. * GOBACK . *================ Fin del Programa PRALTA ================*