Sunteți pe pagina 1din 11

*----------------------------------------------------------------*

* MODULO : PCPEAPAQ *
* REQUERIMIENTO 54240 REEMPLAZO OSGENER *
*----------------------------------------------------------------*
IDENTIFICATION DIVISION.
PROGRAM-ID. PCPEAPAQ.
AUTHOR. CDA INFORMATICA.
DATE-WRITTEN. 24 DE ENERO DE 2014
*----------------------------------------------------------------*
* OBJETIVO : SE REEMPLAZA EL OSGENER DEL PASO PASO0062 DEL JOB *
* PPFGCERD *
* FIELD ' ',CL,1,41 *
* SELEC 1,24,,9 *
* CLAVE 1,12,9 *
* SELEC S1,8,,1 *
*----------------------------------------------------------------*
* L O G D E M O D I F I C A C I O N E S *
*----------------------------------------------------------------*
* MARCA AUTOR FECHA DESCRIPCION *
* --------- ------- ------- --------------------------------- *
* * * * *
*----------------------------------------------------------------*
ENVIRONMENT DIVISION.
*----------------------------------------------------------------*
CONFIGURATION SECTION.
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA.
*----------------------------------------------------------------*
INPUT-OUTPUT SECTION.
*----------------------------------------------------------------*
FILE-CONTROL.
*--- ARCHIVO DE ENTRADA
SELECT E1DQENT ASSIGN TO E1DQENT
FILE STATUS IS
WSS-FS-E1DQENT.

*--- ARCHIVO DE ENTRADA


SELECT E2DQENT ASSIGN TO E2DQENT
FILE STATUS IS
WSS-FS-E2DQENT.
*
*--- ARCHIVO DE SALIDA 1
SELECT S1DQSALI ASSIGN TO S1DQSALI
FILE STATUS IS
WSS-FS-S1DQSALI.
*
*----------------------------------------------------------------*
* D A T A D I V I S I O N *
*----------------------------------------------------------------*
DATA DIVISION.
*----------------------------------------------------------------*
FILE SECTION.
*----------------------------------------------------------------*
FD E1DQENT
LABEL RECORD ARE STANDARD
RECORDING MODE IS F
RECORD CONTAINS 024 CHARACTERS
DATA RECORD IS REG-E1DQENT.
01 REG-E1DQENT PIC X(024).
*
FD E2DQENT
LABEL RECORD IS STANDARD
RECORDING MODE IS F
RECORD CONTAINS 224 CHARACTERS
DATA RECORD IS REG-E2DQENT.
01 REG-E2DQENT PIC X(224).
*
FD S1DQSALI
LABEL RECORD IS STANDARD
RECORDING MODE IS F
RECORD CONTAINS 041 CHARACTERS
DATA RECORD IS REG-S1DQSALI.
01 REG-S1DQSALI PIC X(041).
*
*----------------------------------------------------------------*
* WORKING-STORAGE SECTION *
*----------------------------------------------------------------*
WORKING-STORAGE SECTION.
*----------------------------------------------------------------*
*----------------------------------------------------------------*
* C O P Y S *
*----------------------------------------------------------------*
*
01 WSV-REGISTRO-E1 PIC X(355).
01 WSV-REGISTRO-E2 PIC X(224).
01 WSV-REGISTRO-S1 PIC X(041).
*
*----------------------------------------------------------------*
* SWITCHES (WSS-) *
*----------------------------------------------------------------*
01 SWITCH.
05 WSS-FS-E1DQENT PIC X(02).
88 WSS-E1DQENT-OK VALUE '00'.
88 WSS-E1DQENT-EOF VALUE '10'.
05 WSS-FS-E2DQENT PIC X(02).
88 WSS-E2DQENT-OK VALUE '00'.
88 WSS-E2DQENT-EOF VALUE '10'.
05 WSS-FS-S1DQSALI PIC X(02).
88 WSS-S1DQSALI-OK VALUE '00'.
05 WSS-SQLCODE PIC S9(09) COMP.
88 WSS-DB2-OK VALUE +0.
88 WSS-DB2-NOTFND VALUE +100.
*----------------------------------------------------------------*
* CONSTANTES (WSC-) *
*----------------------------------------------------------------*
01 CONSTANTES.
05 WSC-F PIC X(01) VALUE 'F'.
05 WSC-SISTEMA PIC X(02) VALUE 'DL'.
05 WSC-HE PIC X(02) VALUE 'HE'.
05 WSC-PROGRAMA PIC X(08) VALUE 'PCPEAPAQ'.
05 WSC-ESPACIOS-8 PIC X(08) VALUE ALL SPACES.
05 WSC-N-1 PIC 9(01) VALUE 1.
05 WSC-N-2 PIC 9(01) VALUE 2.
05 WSC-N-3 PIC 9(01) VALUE 3.
05 WSC-N-8 PIC 9(01) VALUE 8.
05 WSC-N-00 PIC 9(02) VALUE 00.
05 WSC-N-11 PIC 9(02) VALUE 11.
05 WSC-N-12 PIC 9(02) VALUE 12.
05 WSC-N-13 PIC 9(02) VALUE 13.
05 WSC-N-16 PIC 9(02) VALUE 16.
05 WSC-N-18 PIC 9(02) VALUE 18.
05 WSC-N-43 PIC 9(02) VALUE 43.
05 WSC-A-0 PIC X(01) VALUE '0'.
05 WSC-A-4 PIC X(01) VALUE '4'.
05 WSC-A-02 PIC X(02) VALUE '02'.
05 WSC-A-03 PIC X(02) VALUE '03'.
05 WSC-ARC-E1DQENT PIC X(08) VALUE 'E1DQENT'.
05 WSC-ARC-E2DQENT PIC X(08) VALUE 'E2DQENT'.
05 WSC-ARC-S1DQSALI PIC X(08) VALUE 'S1DQSALI'.
05 WSC-SEP-HOR PIC X(01) VALUE ':'.
05 WSC-SEP-FEC PIC X(01) VALUE '/'.
05 WSC-OPEN PIC X(08) VALUE 'OPEN '.
05 WSC-READ PIC X(08) VALUE 'READ '.
05 WSC-WRITE PIC X(08) VALUE 'WRITE '.
05 WSC-CLOSE PIC X(08) VALUE 'CLOSE '.
05 WSC-BTCH PIC X(04) VALUE 'BTCH'.
05 WSC-FINALIZA PIC X(08) VALUE 'FINALIZA'.

05 WSC-VACIO PIC X(50) VALUE


'** LOS ARCHIVOS DE ENTRADA SE ENCUENTRAN VACIOS **'.
05 WSC-P-100100 PIC X(30) VALUE
'100100-ABRIR-E1DQENT '.
05 WSC-P-100200 PIC X(30) VALUE
'100200-ABRIR-E1DQENT '.
05 WSC-P-100300 PIC X(30) VALUE
'100300-ABRIR-S1DQSALI '.
05 WSC-P-311000 PIC X(30) VALUE
'311000-CERRAR-E1DQENT '.
05 WSC-P-312000 PIC X(30) VALUE
'312000-CERRAR-E2DQENT '.
05 WSC-P-313000 PIC X(30) VALUE
'313000-CERRAR-S1DQSALI '.
05 WSC-P-910000 PIC X(30) VALUE
'910000-LEER-E1DQENT '.
05 WSC-P-920000 PIC X(30) VALUE
'920000-LEER-E2DQENT '.
05 WSC-P-930000 PIC X(30) VALUE
'930000-GRABA-SALIDA1 '.
05 WSC-P-940000 PIC X(30) VALUE
'940000-GRABA-NO-APAREO '.
05 WSC-ERR-ABRIR-LANE1 PIC X(35) VALUE
'ERROR AL ABRIR FICHERO E1DQENT '.
05 WSC-ERR-ABRIR-LANE2 PIC X(35) VALUE
'ERROR AL ABRIR FICHERO E2DQENT '.
05 WSC-ERR-ABRIR-LANS1 PIC X(35) VALUE
'ERROR AL ABRIR FICHERO S1DQSALI '.
05 WSC-ERR-LEER-LANE1 PIC X(35) VALUE
'ERROR AL LEER FICHERO E1DQENT '.
05 WSC-ERR-LEER-LANE2 PIC X(35) VALUE
'ERROR AL LEER FICHERO E2DQENT '.
05 WSC-ERR-GRAB-LANS1 PIC X(35) VALUE
'ERROR AL GRABAR FICHERO S1DQSALI '.
05 WSC-ERR-CERRAR-LANE1 PIC X(35) VALUE
'ERROR AL CERRAR FICHERO E1DQENT '.
05 WSC-ERR-CERRAR-LANE2 PIC X(35) VALUE
'ERROR AL CERRAR FICHERO E2DQENT '.
05 WSC-ERR-CERRAR-LANS1 PIC X(35) VALUE
'ERROR AL CERRAR FICHERO S1DQSALI '.
05 WSC-ERR-CERRAR-LANS2 PIC X(35) VALUE
'ERROR AL CERRAR FICHERO S1DQSALI '.
*
05 WSC-DSP00001.
10 FILLER PIC X(01) VALUE '*'.
10 FILLER PIC X(70) VALUE ALL '-'.
10 FILLER PIC X(01) VALUE '*'.

05 WSC-DSP00002.
10 FILLER PIC X(46) VALUE
'*-------------------------- TOTALES DE CONTROL'.
10 FILLER PIC X(26) VALUE
' ------------------------*'.
05 WSC-DSP00003.
10 FILLER PIC X(32) VALUE
'* BBVA - IM - REQ 54240 '.
10 FILLER PIC X(39) VALUE SPACES.
10 FILLER PIC X(01) VALUE '*'.
05 WSC-DSP00004.
10 FILLER PIC X(12) VALUE
'* OBJETIVO: '.
10 FILLER PIC X(43) VALUE
'REEMPLAZO DE OSGENER '.
10 FILLER PIC X(17) VALUE
' *'.
05 WSC-DSP00005.
10 FILLER PIC X(20) VALUE
'* PROGRAMA: PCPEAPAQ'.
10 FILLER PIC X(51) VALUE SPACES.
10 FILLER PIC X(01) VALUE '*'.
05 WSC-DSP00007.
10 FILLER PIC X(72) VALUE ALL '*'.
05 WSC-DSP00008.
10 FILLER PIC X(35) VALUE
'* INICIO PROCESO.................: '.
10 WSV-FHO-INI PIC X(19) VALUE SPACES.
05 WSC-DSP00009.
10 FILLER PIC X(52) VALUE
'* A) REGISTROS LEIDOS - E1DQENT : '.
10 WSV-LEI-E1DQENT PIC ZZZ.ZZZ.ZZ9.
05 WSC-DSP00010.
10 FILLER PIC X(52) VALUE
'* B) REGISTROS LEIDOS - E2DQENT : '.
10 WSV-LEI-E2DQENT PIC ZZZ.ZZZ.ZZ9.
05 WSC-DSP00011.
10 FILLER PIC X(52) VALUE
'* C) REGISTROS GRABADOS - S1DQSALI : '.
10 WSV-GRA-S1DQSALI PIC ZZZ.ZZZ.ZZ9.
05 WSC-DSP00014.
10 FILLER PIC X(35) VALUE
'* FIN PROCESO....................: '.
10 WSV-FHO-FIN PIC X(19) VALUE SPACES.

05 WSC-DSP00099 PIC X(01) VALUE '*'.

*--> ERROR SISTEMA


05 WSC-ERR-SEP-LINEA PIC X(56) VALUE
'*------------------------------------------------------*'.
05 WSC-ERR-TIT-CANC PIC X(56) VALUE
'*-------------------- CANCELACION ---------------------*'.
05 WSC-ERR-OBJETO PIC X(25) VALUE
'* OBJETO ..............: '.
05 WSC-ERR-COMANDO PIC X(25) VALUE
'* COMANDO .............: '.
05 WSC-ERR-REFERENCIA PIC X(25) VALUE
'* REFERENCIA ..........: '.
05 WSC-ERR-CODIGO PIC X(25) VALUE
'* CODIGO ..............: '.
05 WSC-ERR-DESCRIPCION PIC X(25) VALUE
'* DESCRIPCION .........: '.
*
*----------------------------------------------------------------*
* VARIABLES (WSV-) *
*----------------------------------------------------------------*
01 VARIABLES.
*-> VARIABLES P/ MANEJO DE ERROR SISTEMA
05 WSV-ERROR-SISTEMA.
10 WSV-CMD-ERROR PIC X(30) VALUE SPACES.
10 WSV-ELM-ERROR PIC X(30) VALUE SPACES.
10 WSV-PAR-ERROR PIC X(30) VALUE SPACES.
10 WSV-COD-ERROR PIC X(30) VALUE SPACES.
10 WSV-MSG-ERROR PIC X(30) VALUE SPACES.
*
05 WSV-CLAVE-E1.
10 WSV-E1-CLAVE-E1 PIC X(12) VALUE SPACES.
*
05 WSV-CLAVE-E2.
10 WSV-E2-CLAVE-E2 PIC X(12) VALUE SPACES.
*
05 WSV-FECHAS.
10 WSV-FEC-SIS.
15 WSV-AA-FEC PIC X(04) VALUE SPACES.
15 WSV-MM-FEC PIC X(02) VALUE SPACES.
15 WSV-DD-FEC PIC X(02) VALUE SPACES.
*
10 WSV-FEC-SIS-CIF.
15 WSV-DD-FEC-CIF PIC X(02) VALUE SPACES.
15 FILLER PIC X(01) VALUE '/'.
15 WSV-MM-FEC-CIF PIC X(02) VALUE SPACES.
15 FILLER PIC X(01) VALUE '/'.
15 WSV-AA-FEC-CIF PIC X(04) VALUE SPACES.
*
10 WSV-HOR-SIS.
15 WSV-HH-HOR PIC X(02) VALUE SPACES.
15 WSV-MM-HOR PIC X(02) VALUE SPACES.
15 WSV-SS-HOR PIC X(02) VALUE SPACES.
*
10 WSV-FHO-SIS PIC X(19) VALUE SPACES.
*
10 WSV-FECHA-ALTA.
15 WSV-FECHA-ALTA-AAAA PIC X(04).
15 FILLER PIC X(01) VALUE '-'.
15 WSV-FECHA-ALTA-MM PIC X(02).
15 FILLER PIC X(01) VALUE '-'.
15 WSV-FECHA-ALTA-DD PIC X(02).
*
*----------------------------------------------------------------*
* ACUMULADORES (WSA-) *
*----------------------------------------------------------------*
01 ACUMULADORES.
05 WSA-LEI-E1DQENT PIC S9(09) COMP VALUE ZEROES.
05 WSA-LEI-E2DQENT PIC S9(09) COMP VALUE ZEROES.
05 WSA-GRA-S1DQSALI PIC S9(09) COMP VALUE ZEROES.
*
*----------------------------------------------------------------*
* P R O C E D U R E D I V I S I O N *
*----------------------------------------------------------------*
PROCEDURE DIVISION.
*----------------------------------------------------------------*
* 000000-CONTROL *
* PARRAFO PRINCIPAL DEL PROGRAMA *
*----------------------------------------------------------------*
000000-CONTROL.
*
PERFORM 100000-INICIO
PERFORM 200000-PROCESO UNTIL WSS-E1DQENT-EOF
PERFORM 300000-FINAL.
*
*----------------------------------------------------------------*
* 100000-INICIO *
* SE INICIALIZAN VARIABLES DE TRABAJO, SE ABREN LOS ARCHIVOS *
* DEL PROGRAMA Y SE REALIZA LA LECTURA DEL ARCHIVO ENTRADA *
*----------------------------------------------------------------*
100000-INICIO.
*
INITIALIZE ACUMULADORES
VARIABLES
WSV-REGISTRO-S1
SWITCH
*
PERFORM 900000-TOMAR-FECHA
MOVE WSV-FHO-SIS TO WSV-FHO-INI
MOVE WSV-AA-FEC TO WSV-AA-FEC-CIF
MOVE WSV-MM-FEC TO WSV-MM-FEC-CIF
MOVE WSV-DD-FEC TO WSV-DD-FEC-CIF
*
PERFORM 110000-ABRIR-ARCHIVOS
PERFORM 910000-LEER-E1DQENT
PERFORM 920000-LEER-E2DQENT
IF WSS-E1DQENT-EOF AND WSS-E2DQENT-EOF
DISPLAY WSC-VACIO
END-IF.
*
*----------------------------------------------------------------*
* 110000-ABRIR-ARCHIVOS *
* SE REALIZA EL APERTURA DE LOS ARCHIVO DEL PROGRAMA *
*----------------------------------------------------------------*
110000-ABRIR-ARCHIVOS.
*
PERFORM 100100-ABRIR-E1DQENT
PERFORM 100200-ABRIR-E2DQENT
PERFORM 100300-ABRIR-S1DQSALI.
*
*----------------------------------------------------------------*
* 100100-ABRIR-E1DQENT *
* SE REALIZA EL APERTURA DEL ARCHIVO DE ENTRADA *
*----------------------------------------------------------------*
100100-ABRIR-E1DQENT.
*
OPEN INPUT E1DQENT
*
IF NOT WSS-E1DQENT-OK
MOVE WSC-ARC-E1DQENT TO WSV-ELM-ERROR
MOVE WSC-OPEN TO WSV-CMD-ERROR
MOVE WSC-P-100100 TO WSV-PAR-ERROR
MOVE WSS-FS-E1DQENT TO WSV-COD-ERROR
MOVE WSC-ERR-ABRIR-LANE1 TO WSV-MSG-ERROR
PERFORM 999900-ERROR-SISTEMA
END-IF.
*
*----------------------------------------------------------------*
* 100200-ABRIR-E2DQENT *
*----------------------------------------------------------------*
100200-ABRIR-E2DQENT.
*
OPEN INPUT E2DQENT
*
IF NOT WSS-E2DQENT-OK
MOVE WSC-ARC-E2DQENT TO WSV-ELM-ERROR
MOVE WSC-OPEN TO WSV-CMD-ERROR
MOVE WSC-P-100200 TO WSV-PAR-ERROR
MOVE WSS-FS-E2DQENT TO WSV-COD-ERROR
MOVE WSC-ERR-ABRIR-LANE2 TO WSV-MSG-ERROR
PERFORM 999900-ERROR-SISTEMA
END-IF.
*
*----------------------------------------------------------------*
* 100300-ABRIR-S1DQSALI *
*----------------------------------------------------------------*
100300-ABRIR-S1DQSALI.
*
OPEN OUTPUT S1DQSALI
*
IF NOT WSS-S1DQSALI-OK
MOVE WSC-P-100300 TO WSV-ELM-ERROR
MOVE WSC-OPEN TO WSV-CMD-ERROR
MOVE WSC-ARC-S1DQSALI TO WSV-PAR-ERROR
MOVE WSS-FS-S1DQSALI TO WSV-COD-ERROR
MOVE WSC-ERR-ABRIR-LANS1 TO WSV-MSG-ERROR
PERFORM 999900-ERROR-SISTEMA
END-IF.
*
*----------------------------------------------------------------*
* 200000-PROCESO *
* SE REALIZA EL PROCESO PRINCIPAL DEL PROGRAMA *
*----------------------------------------------------------------*
200000-PROCESO.
*
IF WSV-CLAVE-E1 EQUAL WSV-CLAVE-E2
PERFORM 210000-PROCESA-IGUALES
ELSE
IF WSV-CLAVE-E1 < WSV-CLAVE-E2
PERFORM 220000-PROCESA-MENOR
ELSE
PERFORM 920000-LEER-E2DQENT
END-IF
END-IF.
*
*----------------------------------------------------------------*
* 210000-PROCESA-IGUALES *
*----------------------------------------------------------------*
210000-PROCESA-IGUALES.
*
STRING WSV-REGISTRO-E2(1:8) WSV-REGISTRO-E1(1:24)
DELIMITED BY SIZE INTO WSV-REGISTRO-S1
*
PERFORM 930000-GRABA-SALIDA1
PERFORM 910000-LEER-E1DQENT.
*
*----------------------------------------------------------------*
* 220000-PROCESA-MENOR *
*----------------------------------------------------------------*
220000-PROCESA-MENOR.
*
STRING WSC-ESPACIOS-8 WSV-REGISTRO-E1(1:24)
DELIMITED BY SIZE INTO WSV-REGISTRO-S1
*
PERFORM 930000-GRABA-SALIDA1
PERFORM 910000-LEER-E1DQENT.
*
*----------------------------------------------------------------*
* 300000-FINAL *
* SE TERMINA EL PROGRAMA, SE REALIZA FORMATEOS DE SALIDA Y SE *
* MUESTRA LOS TOTALES DE CONTROL *
*----------------------------------------------------------------*
300000-FINAL.
*
PERFORM 900000-TOMAR-FECHA
MOVE WSV-FHO-SIS TO WSV-FHO-FIN
PERFORM 310000-CERRAR-ARCHIVOS
PERFORM 320000-TOTALES-DE-CONTROL
STOP RUN.
*
*----------------------------------------------------------------*
* 310000-CERRAR-ARCHIVOS *
* SE REALIZAN LOS CIERRES DE LOS ARCHIVOS DE LAN *
*----------------------------------------------------------------*
310000-CERRAR-ARCHIVOS.
*
PERFORM 311000-CERRAR-E1DQENT
PERFORM 312000-CERRAR-E2DQENT
PERFORM 313000-CERRAR-S1DQSALI.
*
*----------------------------------------------------------------*
* 311000-CERRAR-E1DQENT *
* SE REALIZAN EL CIERRE DEL ARCHIVO E1DQENT *
*----------------------------------------------------------------*
311000-CERRAR-E1DQENT.
*
CLOSE E1DQENT
*
IF NOT WSS-E1DQENT-OK
MOVE WSC-P-311000 TO WSV-ELM-ERROR
MOVE WSC-CLOSE TO WSV-CMD-ERROR
MOVE WSC-ARC-E1DQENT TO WSV-PAR-ERROR
MOVE WSS-FS-E1DQENT TO WSV-COD-ERROR
MOVE WSC-ERR-CERRAR-LANE1 TO WSV-MSG-ERROR
PERFORM 999900-ERROR-SISTEMA
END-IF.
*
*----------------------------------------------------------------*
* 312000-CERRAR-E2DQENT *
* SE REALIZA EL CIERRE DEL ARCHIVO E2DQENT *
*----------------------------------------------------------------*
312000-CERRAR-E2DQENT.
*
CLOSE E2DQENT
*
IF NOT WSS-E2DQENT-OK
MOVE WSC-P-312000 TO WSV-ELM-ERROR
MOVE WSC-CLOSE TO WSV-CMD-ERROR
MOVE WSC-ARC-E2DQENT TO WSV-PAR-ERROR
MOVE WSS-FS-E2DQENT TO WSV-COD-ERROR
MOVE WSC-ERR-CERRAR-LANE2 TO WSV-MSG-ERROR
PERFORM 999900-ERROR-SISTEMA
END-IF.
*
*----------------------------------------------------------------*
* 313000-CERRAR-S1DQSALI *
* SE REALIZAN EL CIERRE DEL ARCHIVO S1DQSALI *
*----------------------------------------------------------------*
313000-CERRAR-S1DQSALI.
*
CLOSE S1DQSALI
*
IF NOT WSS-S1DQSALI-OK
MOVE WSC-P-313000 TO WSV-ELM-ERROR
MOVE WSC-CLOSE TO WSV-CMD-ERROR
MOVE WSC-ARC-S1DQSALI TO WSV-PAR-ERROR
MOVE WSS-FS-S1DQSALI TO WSV-COD-ERROR
MOVE WSC-ERR-CERRAR-LANS1 TO WSV-MSG-ERROR
PERFORM 999900-ERROR-SISTEMA
END-IF.
*
*----------------------------------------------------------------*
* 320000-TOTALES-DE-CONTROL *
* SE IMPRIMEN LOS TOTALES DE CONTROL DEL PROGRAMA *
*----------------------------------------------------------------*
320000-TOTALES-DE-CONTROL.
*
MOVE WSA-LEI-E1DQENT TO WSV-LEI-E1DQENT
MOVE WSA-LEI-E2DQENT TO WSV-LEI-E2DQENT
MOVE WSA-GRA-S1DQSALI TO WSV-GRA-S1DQSALI
*
DISPLAY WSC-DSP00001
DISPLAY WSC-DSP00002
DISPLAY WSC-DSP00001
DISPLAY WSC-DSP00003
DISPLAY WSC-DSP00004
DISPLAY WSC-DSP00005
DISPLAY WSC-DSP00007
DISPLAY WSC-DSP00008
DISPLAY WSC-DSP00099
DISPLAY WSC-DSP00009
DISPLAY WSC-DSP00010
DISPLAY WSC-DSP00011
DISPLAY WSC-DSP00099
DISPLAY WSC-DSP00014
DISPLAY WSC-DSP00001.
*
*----------------------------------------------------------------*
* 900000-TOMAR-FECHA *
* SE TOMA HORA Y FECHA DEL SISTEMA *
*----------------------------------------------------------------*
900000-TOMAR-FECHA.
*
ACCEPT WSV-FEC-SIS FROM DATE YYYYMMDD
ACCEPT WSV-HOR-SIS FROM TIME
*
STRING WSV-DD-FEC WSC-SEP-FEC WSV-MM-FEC WSC-SEP-FEC
WSV-AA-FEC SPACE WSV-HH-HOR WSC-SEP-HOR
WSV-MM-HOR WSC-SEP-HOR WSV-SS-HOR
DELIMITED BY SIZE INTO WSV-FHO-SIS.
*
*----------------------------------------------------------------*
* 910000-LEER-E1DQENT *
* SE REALIZA LA LECTURA DEL ARCHIVO DE ENTRADA E1DQENT *
*----------------------------------------------------------------*
910000-LEER-E1DQENT.
*
READ E1DQENT INTO WSV-REGISTRO-E1
*
EVALUATE TRUE
WHEN WSS-E1DQENT-OK
ADD WSC-N-1 TO WSA-LEI-E1DQENT
MOVE WSV-REGISTRO-E1(1:12) TO WSV-E1-CLAVE-E1
WHEN WSS-E1DQENT-EOF
MOVE HIGH-VALUES TO WSV-CLAVE-E1
WHEN OTHER
MOVE WSC-P-910000 TO WSV-ELM-ERROR
MOVE WSC-READ TO WSV-CMD-ERROR
MOVE WSC-ARC-E1DQENT TO WSV-PAR-ERROR
MOVE WSS-FS-E1DQENT TO WSV-COD-ERROR
MOVE WSC-ERR-LEER-LANE1 TO WSV-MSG-ERROR
PERFORM 999900-ERROR-SISTEMA
END-EVALUATE.
*
*----------------------------------------------------------------*
* 920000-LEER-E2DQENT *
* SE REALIZA LA LECTURA DEL ARCHIVO DE ENTRADA E2DQENT *
*----------------------------------------------------------------*
920000-LEER-E2DQENT.
*
READ E2DQENT INTO WSV-REGISTRO-E2
*
EVALUATE TRUE
WHEN WSS-E2DQENT-OK
ADD WSC-N-1 TO WSA-LEI-E2DQENT
MOVE WSV-REGISTRO-E2(9:12) TO WSV-E2-CLAVE-E2
WHEN WSS-E2DQENT-EOF
MOVE HIGH-VALUES TO WSV-CLAVE-E2
WHEN OTHER
MOVE WSC-P-920000 TO WSV-ELM-ERROR
MOVE WSC-READ TO WSV-CMD-ERROR
MOVE WSC-ARC-E2DQENT TO WSV-PAR-ERROR
MOVE WSS-FS-E2DQENT TO WSV-COD-ERROR
MOVE WSC-ERR-LEER-LANE2 TO WSV-MSG-ERROR
PERFORM 999900-ERROR-SISTEMA
END-EVALUATE.
*
*----------------------------------------------------------------*
* 930000-GRABA-SALIDA1 *
*----------------------------------------------------------------*
930000-GRABA-SALIDA1.
*
WRITE REG-S1DQSALI FROM WSV-REGISTRO-S1
*
IF WSS-S1DQSALI-OK
ADD WSC-N-1 TO WSA-GRA-S1DQSALI
INITIALIZE WSV-REGISTRO-S1
ELSE
MOVE WSC-P-930000 TO WSV-ELM-ERROR
MOVE WSC-WRITE TO WSV-CMD-ERROR
MOVE WSC-ARC-S1DQSALI TO WSV-PAR-ERROR
MOVE WSS-FS-S1DQSALI TO WSV-COD-ERROR
MOVE WSC-ERR-GRAB-LANS1 TO WSV-MSG-ERROR
PERFORM 999900-ERROR-SISTEMA
END-IF.
*
*----------------------------------------------------------------*
* 999900-ERROR-SISTEMA. *
* SE IMPRIME LOS DATOS DE CANCELACION Y SE CIERRRAN LOS ARCHIVOS *
*----------------------------------------------------------------*
999900-ERROR-SISTEMA.
*
CLOSE E1DQENT
E2DQENT
S1DQSALI

PERFORM 900000-TOMAR-FECHA
MOVE WSV-FHO-SIS TO WSV-FHO-FIN
*
DISPLAY WSC-ERR-SEP-LINEA
DISPLAY WSC-ERR-TIT-CANC
DISPLAY WSC-ERR-SEP-LINEA
DISPLAY WSC-ERR-COMANDO WSV-CMD-ERROR
DISPLAY WSC-ERR-OBJETO WSV-ELM-ERROR
DISPLAY WSC-ERR-REFERENCIA WSV-PAR-ERROR
DISPLAY WSC-ERR-CODIGO WSV-COD-ERROR
DISPLAY WSC-ERR-DESCRIPCION WSV-MSG-ERROR
DISPLAY WSC-ERR-SEP-LINEA
DISPLAY SPACES

MOVE WSC-N-16 TO RETURN-CODE


STOP RUN.

S-ar putea să vă placă și