IDENTIFICATION DIVISION. PROGRAM-ID. PRCONSULTA. ****************************************************************** * PROGRAMA QUE CONSULTA SOBRE 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 CLAVE-SELECT PIC X(10). 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| * ****************************************************************** 10000-INICIO. *-> <1> * INITIALIZE VARIABLES-HOST SALIDA * *-> <2> Añadir validacion de los campos de entrada * IF CLAVE-SELECT EQUAL SPACES OR LOW-VALUES DISPLAY 'LA CLAVE ESTA VACIA' PERFORM 90000-FINAL END-IF . * ****************************************************************** * | 20000 - PROCESO * *--|------------------+----------><----------+-------------------* * | SE REALIZA EL TRATAMIENTO DE LOS DATOS: * * 1| Select de la tabla * ****************************************************************** 20000-PROCESO. * *-> <1> * EXEC SQL SELECT CAMPO1, CAMPO2, PRI_CAMPO3, SEC_CAMPO3 INTO :TABLA1-CAMPO1, :TABLA1-CAMPO2, :TABLA1-PRI-CAMPO3, :TABLA1-SEC-CAMPO3 FROM TBPRU01 WHERE CAMPO1 = :CLAVE-SELECT ORDER BY CAMPO1 END-EXEC * EVALUATE TRUE WHEN SQLCODE EQUAL ZERO CONTINUE WHEN SQLCODE EQUAL +100 * No Existe DISPLAY 'NO SE ENCONTRO NINGUN REGISTRO' PERFORM 90000-FINAL WHEN OTHER * Error al Seleccionar Un Registro DISPLAY 'ERROR AL HACER LA SELECT. SQLCODE: 'SQLCODE PERFORM 90000-FINAL END-EVALUATE * PERFORM 20100-MOVER-A-SALIDA . * ****************************************************************** * | 20100-MOVER-A-SALIDA * *--|------------------+----------><----------+-------------------* * | * ****************************************************************** 20100-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 PRCONSULTA================*