Documentos de Académico
Documentos de Profesional
Documentos de Cultura
* APLICATIVO: XXXXXXXXXXX *
* PROGRAMA: XX6CXXXX *
* TIPO DE PROCESO: BATCH *
* AUTOR: STEFANINI (XXX) *
* *
* DESCRIPCION: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* *
* INDICADOR DE OPERACION XX (CONSULTA) *
* -------------------------------------------- *
* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* INDICADOR DE OPERACION XX (LIMPIAR) *
* -------------------------------------------- *
* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* *
* ENTRADAS/SALIDAS *
* ---------------- *
* AREAS COMUNICACION: *
* QGECCAA E/S AREA DE COMUNICACION DE ARQUITECTURA *
* *
* FORMATO DE ARQUITECTURA: *
* ENTRADA XXXXXXX MENSAJE DE ENTRADA *
* SALIDA XXXXXXX MENSAJE DE SALIDA CON EL RESULTADO DE LA *
* OPERACION. *
* *
* TABLAS DB2,RUTINAS: *
* RUTINA : XXXXXXX (LK) *
* DESCRIPCION: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* LLAMADO VIA: LINK PROGRAMA (XXXXXXX) COMMAREA (XXXXXXX) *
* ENTRADA : XXXXXXX *
* SALIDA : XXXXXXX *
* *
* TABLA : XXXXXXXX *
* DESCRIPCION: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* ACCESO : XXXXXXXXXXXXX *
* TIP. ACCESO: ENTRADA(I), SALIDA(S) *
* *
******************************************************************
* CLAVE DE ACCESO *
* --------------- *
* CL = CALL *
* WQ = WRITEQ *
* S = SELECT *
* *
* ERRORES Y AVISOS *
* ---------------- *
* XXEXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* XXAXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
******************************************************************
* MODIFICACIONES *
* ============== *
* USUARIO FECHA DESCRIPCION *
* ------- ---------- ------------------------------------- *
* ZXXXXXX AAAA-MM-DD XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* ------- ---------- ------------------------------------- *
* *
******************************************************************
IDENTIFICATION DIVISION.
PROGRAM-ID. XX6CXXXX.
*AUTHOR. STEFANINI(XXX).
*sin espacios
*DATE-WRITTEN. AAAA-MM-DD.
*
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
* DECIMAL-POINT IS COMMA
DATA DIVISION.
*
WORKING-STORAGE SECTION.
*
*------------COPY PARA LA RUTINA DE ABEND (QG1CABC)--------------*
* 01 WS-QGECABC.
* COPY QGECABC. "copy"
*
*-------------------AREA DE VARIABLES DE TRABAJO-----------------*
01 WS-VAR-TRAB.
*
05 WS-FECHA.
10 WS-FECHA-AA PIC X(02).
10 WS-FECHA-MM PIC X(02).
10 WS-FECHA-DD PIC X(02).
*
05 WS-FECHA-FORMATO.
10 WS-AAAA-FORMAT PIC X(04) VALUE SPACES.
10 FILLER PIC X(01) VALUE '-'.
10 WS-MM-FORMAT PIC X(02) VALUE SPACES.
10 FILLER PIC X(01) VALUE '-'.
10 WS-DD-FORMAT PIC X(02) VALUE SPACES.
*
*------------C O N S T A N T E S N U M E R I C A S-------------*
01 CT-CONSTANTES.
*
05 CT-1 PIC 9(01) VALUE 1.
05 CT-2 PIC 9(01) VALUE 2.
05 CT-10 PIC 9(02) VALUE 10.
05 CT-20 PIC 9(02) VALUE 20.
05 CT-100 PIC 9(03) VALUE 100.
05 CT-200 PIC 9(03) VALUE 200.
*
*----C O N S T A N T E S D E C A D E N A (N U M E R O S)----*
*05 CT-1 ESTA DEFINIDA DOS VECES NO ES CORRECTO
* 05 CT-1 PIC X(01) VALUE '1'.
05 CT-0 PIC X(01) VALUE '0'.
05 CT-CORRECTO PIC X(02) VALUE '00'.
05 CT-CODRET-10 PIC X(02) VALUE '10'.
05 CT-CODRET-15 PIC X(02) VALUE '15'.
05 CT-CODRET-20 PIC X(02) VALUE '20'.
05 CT-CODRET-25 PIC X(03) VALUE '25'.
05 CT-CODRET-30 PIC X(03) VALUE '30'.
*
*------------C O N S T A N T E S D E C A D E N A-------------*
*
*-----------------------C O N T A D O R E S----------------------*
01 CN-CONTADORES.
05 CN-CONTADOR PIC S9(09).
*
*-------------------------I N D I C E S--------------------------*
01 IN-INDICADORES.
05 IN-INDICADOR PIC 9(02).
*
*---------------M E N S A J E S D E A V I S O----------------*
01 ME-MENSAJES.
05 MA-AVISO1 PIC X(20).
*
*---------------M E N S A J E S D E E R R O R----------------*
*
*--------------------------C O P I E S---------------------------*
* COPY XXWCXXXX.
*
* COPY XXTCXXXX.
*
* COPY XXWCXXX.
*
******************************************************************
* L I N K A G E S E C T I O N *
******************************************************************
* LINKAGE SECTION.
* 01 LI-XXECXXXX-01.
* COPY XXECXXXX.
* USO DE COPIES
* S: se elimina variable duplicada
*01 LI-XXECXXXX-01.
* COPY XXECXXXX.
*
******************************************************************
* P R O C E D U R E D I V I S I O N *
******************************************************************
PROCEDURE DIVISION.
* USING LI-XXECXXXX-01.
*
1001-MAINLINE.
DISPLAY 'JO: flujo principal'
PERFORM 1000-INICIO
PERFORM 2000-PROCES
PERFORM 3000-FINAL
* D: se agrega STOP RUN
STOP RUN.
*
******************************************************************
* 1000-INICIO *
* *
* SE INICIALIZAN LAS VARIABLES DE TRABAJO Y DE LA LINKAGE. ASI *
* COMO ACTIVAR ALGUNAS VARIABLES Y MOVER VALORES GLOBALES. *
*
******************************************************************
1000-INICIO.
DISPLAY 'SE: Rutina 1000-INICIO'
* INITIALIZE LI-XXECXXXX-01
WS-VAR-TRAB
.
******************************************************************
* 2000-PROCESO *
* *
* SE VALIDAN LOS CAMPOS DE LA TRANSACCION EJECUTADA Y SE VALIDAN *
* LOS DIAS HABILES. *
******************************************************************
2000-PROCES.
DISPLAY 'JE: Rutina 2000-PROCESO'
PERFORM 2100-VALIDAR-ENTRADA
* D: Punto para finalizar rutina
PERFORM 2200-VALIDACION-DIAS-INHABILES.
******************************************************************
* 2100-VALIDAR-ENTRADA *
* *
* VALIDA LOS CAMPOS QUE RECIBE DEL PROGRAMA LLAMANTE *
******************************************************************
2100-VALIDAR-ENTRADA.
*
DISPLAY 'RU: Rutina 2100-VALIDAR-ENTRADA'
* IF XXXX-FECHA EQUAL SPACES OR LOW-VALUES
* .
******************************************************************
* 2200-VALIDACION-DIAS-INHABILES *
* *
* HACE EL LLAMADO A UNA RUTINA QUE MANDARA VALIDAR LA FECHA SI *
* ES O NO HABIL. *
******************************************************************
2200-VALIDACION-DIAS-INHABILES.
*
DISPLAY 'SE: Rutina 2200-VALIDACION-DIAS-INHABILES'.
* INITIALIZE XXWCXXXX
* EVALUATE XXXX-CDRETORN
* WHEN CT-CORRECTO
* PERFORM 9000-VALIDAR-HORARIO
* WHEN OTHER
* SET RET0-88-ERR-DB2 TO TRUE
* MOVE XXXX-SQLCODE TO XXXX-SQLCODE
* MOVE XXXX-SQLERRM TO XXXX-SQLERRM
* MOVE XXXX-TABLENAME TO XXXX-TABLENAME
* PERFORM 3000-FINAL
* D: punto final
* END-EVALUATE
*
******************************************************************
* 9000-VALIDAR-HORARIO *
* *
* MUEVE LA CLAVE A UNA VARIABLE DEL COPY PARA MANDAR LLAMAR A *
* OTRA RUTINA QUE HARA EL PROCESO. *
******************************************************************
9000-VALIDAR-HORARIO.
*
DISPLAY 'JE: Rutina 9000-VALIDAR-HORARIO'
* INITIALIZE XXWCXXX "no definida"
* MOVE WS-CLAVE-GEN-AUX TO XXX-CLAVE
* D: punto de fin de rutina
PERFORM 9100-ACCESO-XX9CXXX.
*
******************************************************************
* 9100-ACCESO-XX9CXXX. *
* *
* HACE EL LLAMADO A UN RUTINA PARA RECUPERAR LA INFORMACION EN *
* BASE A LOS CAMPOS ENVIADOS. *
******************************************************************
9100-ACCESO-XX9CXXX.
DISPLAY 'SE: Rutina 9100-ACCESO-XX9CXXX'
* EVALUATE XXX-CDRETORN
* WHEN ZEROES
* MOVE XXXX-DATOS(1) TO XXXX-DATOS
* CONTINUE
* WHEN OTHER
* SET XXXX-88-ERR-DB2 TO TRUE
* MOVE XXX-SQLERRM-DATA TO XXXX-SQLERRM
* MOVE XXX-TABLENAME TO XXXX-TABLENAME
* MOVE XXX-SQLCODE TO XXXX-SQLCODE
* PERFORM 3000-FINAL
* D: punto de fin de rutina
* END-EVALUATE
.
*
******************************************************************
* 3000-FINAL *
* *
* - DEVUELVE EL CONTROL DEL PROGRAMA A LA TRANSACCION *
******************************************************************
3000-FINAL.
DISPLAY 'JE: Rutina 3000-FINAL'
GOBACK.
*
******************************************************************
* FIN DEL PROGRAMA XX6CXXXX *
******************************************************************