Sunteți pe pagina 1din 33

*---------------------------------------------------------------- 00000100

* COMPANIA : BBV PERU - BCO CONTINENTAL 00000200


* SISTEMA : ALTAMIRA 00000300
* APLICATIVO : COMERCIO EXTERIOR CORPORATIVO 00000400
* MODULO : ARQUITECTURA E INTERFASES 00000500
* SUB-MODULO : TARIFARIO PREFERENCIAL 00000600
* OBJETIVO : MANTENIMIENTO DE TODO CONCEPTO 00000700
* TRANSACCION: XY66 00000800
******************************************************************00000900
IDENTIFICATION DIVISION. 00001000
00001100
PROGRAM-ID. XC2CY660. 00001200
AUTHOR. JUAN ROMERO N. 00001300
DATE-WRITTEN. 26/09/2001. 00001400
00001500
******************************************************************00001600
* LOG DE MODIFICACIONES *00001700
******************************************************************00001800
* AUTOR FECHA DESCRIPCION *00001900
* --------- -------- -------------------------------------- *00002000
* @002 C578A 20012003 CAMBIO RUTINA PARAMETROS XC7CQPA0 *00002100
* @003 SOFTTEK 09122008 SUSTITUCION DEL COPY *00002200
* IDAXFGN PEWC5200 DE APLICATIVO *00002300
* EXTERNO A XC, POR MIGRACION *00002400
* XA04761 20-01-14 P53757 NUEVO ESQUEMA DE TRAZABILIDAD *00002500
******************************************************************00002600
* ENVIRONMENT DIVISION *00002700
******************************************************************00002800
ENVIRONMENT DIVISION. 00002900
CONFIGURATION SECTION. 00003000
******************************************************************00003100
* DATA DIVISION *00003200
* *00003300
******************************************************************00003400
* 00003500
DATA DIVISION. 00003600
* 00003700
WORKING-STORAGE SECTION. 00003800
*------------------------* 00003900
*********** IDENTIFICADOR DE INICIO DE WORKING STORAGE ***********00004000
01 LT-INICIO-WS. 00004100
05 LT-INICIO-W PIC X(40) VALUE 00004200
'*** INICIO WORKING STORAGE (XC2CY660) **'. 00004300
********************* COPYS COBOL ********************************00004400
COPY DFHAID. 00004500
01 QGECABC-01. 00004600
COPY QGECABC. 00004700
P53757* 00004800
| *********** COPY PARA GRABACION DE LOGS DE TRAZABILIDAD **********00004900
| 01 WSC-QR5CLOG0 PIC X(08) VALUE 'QR5CLOG0'. 00005000
| COPY QRWCLOGT. 00005100
| COPY XCWCTR56. 00005200
P53757* 00005300
* 00005400
@001I ******************************************************************00005500
* AREA DE ENLACE DE LA RUTINA GENERA HISTORICOS PREFERENCIAL 00005600
* XC7CYT50 00005700
******************************************************************00005800
* 00005900
01 XCWCYT50-01. 00006000
@001F COPY XCWCYT50. 00006100
**** COPY DE ATRIBUTOS DE LOS CAMPOS DE PANTALLA *****************00006200
COPY QCECI20. 00006300
* 00006400
************** COPY DE LA RUTINA TC2C1000 ************************00006500
************** TABLAS CORPORATIVAS *******************************00006600
01 W-TCWC0000. 00006700
COPY TCWC0000. 00006800
COPY TCTC1110. 00006900
************** COPY DE LA RUTINA PE2C5000 ************************00007000
01 PEWC5000. 00007100
COPY PEWC5000. 00007200
************** COPY DE LA RUTINA PE2C5200 ************************00007300
*@003-I 00007400
01 PEWC5200. 00007500
* COPY PEWC5200. 00007600
COPY XCWC200. 00007700
*@003-F 00007800
******************************************************************00007900
* AREA DE ENLACE DE LA RUTINA GRABACION LOG COMEXT 00008000
* XC7CTLG0 00008100
******************************************************************00008200
01 XCWCTLG0. 00008300
COPY XCWCTLG0. 00008400
************** COPY DE LA RUTINA XC7CQ000 ************************00008500
************** TABLAS INTERNAS COMEXTCORP*************************00008600
01 XCWCQ000. 00008700
COPY XCWCQ000. 00008800
*****COPY DE PARAMETROS POR PAIS 00008900
*@002-I 00009000
01 XC7CQPA0 PIC X(08) VALUE 'XC7CQPA0'. 00009100
01 W-XCWCQPA0. 00009200
COPY XCWCQPA0. 00009300
*@002-F 00009400
************************** SWITCHES ******************************00009500
01 SWITCHES. 00009600
05 SW-TECLA PIC X(2) VALUE ' '. 00009700
88 PFENTER VALUE '00'. 00009800
88 PF2 VALUE '02'. 00009900
88 PF3 VALUE '03'. 00010000
88 PF4 VALUE '04'. 00010100
88 PF6 VALUE '06'. 00010200
88 PF7 VALUE '07'. 00010300
88 PF10 VALUE '10'. 00010400
88 PF13 VALUE '13'. 00010500
88 SPF10 VALUE '20'. 00010600
88 CLEAR VALUE '99'. 00010700
05 SW-EXISTE PIC X(02). 00010800
@001 05 SW-EXISTE-T50 PIC X(02). 00010900
05 SW-PERSONA PIC X(02). 00011000
05 SW-CAMBIO-CLAVE PIC X(02). 00011100
***************** DECLARACION DE TABLAS DB2 **********************00011200
EXEC SQL INCLUDE SQLCA END-EXEC. 00011300
EXEC SQL INCLUDE XCGTY21 END-EXEC. 00011400
EXEC SQL INCLUDE XCGTY17 END-EXEC. 00011500
EXEC SQL INCLUDE XCGTY22 END-EXEC. 00011600
EXEC SQL INCLUDE XCGTY14 END-EXEC. 00011700
*********************** VARIABLES ********************************00011800
01 W-VARIABLES. 00011900
P53757* 00012000
| 05 W-ID-EVENTO PIC S9(9) COMP VALUE ZEROES.00012100
| 05 W-TIPO-EVENTO PIC X(02) VALUE SPACES.00012200
| 05 W-ANTES-DESPUES PIC X(01) VALUE SPACES.00012300
P53757* 00012400
05 W-SQLCODE PIC +9(03). 00012500
05 W-SQLERRM PIC X(70). 00012600
05 W-TABLA PIC X(08). 00012700
05 W-PROGRAMA PIC X(08). 00012800
05 W-REFERENCIA PIC X(20). 00012900
05 W-CAUTOGE PIC X(08). 00013000
05 W-FREFERE PIC X(08). 00013100
05 W-FREFERE-DB2 PIC X(10). 00013200
05 W-COFIOPE PIC X(04). 00013300
05 W-CCTAOPE PIC X(10). 00013400
05 W-YDIFERI PIC X(01). 00013500
05 W-YPUNTUA PIC X(01). 00013600
05 W-CPRODUC PIC X(02). 00013700
05 W-CSUBPRD PIC X(04). 00013800
05 W-CCLILOC PIC X(08). 00013900
05 W-PUNTERO PIC 9(04). 00014000
05 W-PRIAPE PIC X(20). 00014100
05 W-SEGAPE PIC X(20). 00014200
05 W-NOMBRE PIC X(20). 00014300
05 W-NOM62 PIC X(62). 00014400
05 W-YEXONER PIC X(01). 00014500
05 W-YMINIMO PIC X(01). 00014600
05 W-YMINSTD PIC X(01). 00014700
05 W-YMINPOR PIC X(01). 00014800
05 W-CTIPCAL PIC 9(02). 00014900
05 W-IVALIMP PIC 9(14)V9(2). 00015000
05 W-NVALTAS PIC 9(05)V9(5). 00015100
05 W-XCNCY66-INI PIC X(1000). 00015200
P53757* 00015300
| 05 W-GTS. 00015400
| 10 FILLER PIC X(4) VALUE 'XY66'. 00015500
| 10 W-GTS-SUFI PIC X(4) VALUE SPACES. 00015600
| 05 W-ITEM PIC S9(4) COMP VALUE ZEROES.00015700
| 05 W-GTS-DATOS. 00015800
| 10 W-Y66-CPRODUC PIC X(002). 00015900
| 10 W-Y66-CSUBPRD PIC X(004). 00016000
| 10 W-Y66-CCLIENT PIC X(008). 00016100
| 10 W-Y66-COPERAC PIC X(020). 00016200
| 10 W-Y66-CAUTOGE PIC X(008). 00016300
| 10 W-Y66-FREFERE PIC X(008). 00016400
| 10 W-Y66-CTIPCAL PIC X(002). 00016500
| 10 W-Y66-YEXONER PIC X(001). 00016600
| 10 W-Y66-YMINIMO PIC X(001). 00016700
| 10 W-Y66-YMINSTD PIC X(001). 00016800
| 10 W-Y66-YMINPOR PIC X(001). 00016900
| 10 W-Y66-IVALIMP PIC 9(14)V9(2). 00017000
| 10 W-Y66-NVALTAS PIC 9(05)V9(5). 00017100
P53757* 00017200
*********************** CONSTANTES********************************00017300
01 CTE-CONSTANTES. 00017400
05 CTE-TIMESTAM-INIC PIC X(26) VALUE 00017500
'0001-01-01-00.00.01.000001'. 00017600
05 XC6CM230 PIC X(08) VALUE 'XC6CM230'. 00017700
05 XC6CM240 PIC X(08) VALUE 'XC6CM240'. 00017800
05 XC6CM410 PIC X(08) VALUE 'XC6CM410'. 00017900
05 XC6CM420 PIC X(08) VALUE 'XC6CM420'. 00018000
*********** IDENTIFICADOR DE FINAL DE WORKING STORAGE ************00018100
01 LT-FINAL-WS. 00018200
05 LT-FINAL-W PIC X(40) VALUE 00018300
'*** FINAL WORKING STORAGE (XC2CY660) ***'. 00018400
* *00018500
LINKAGE SECTION. 00018600
*=============== 00018700
01 DFHCOMMAREA. 00018800
COPY QGECCAA. 00018900
COPY XCECCMA. 00019000
COPY XCECPCA. 00019100
COPY XCNCY66. 00019200
*@002-I 00019300
*01 XCWCQPX-01. 00019400
* COPY XCWCQPX. 00019500
*@002-F 00019600
******************************************************************00019700
* *00019800
* PROCEDURE DIVISION *00019900
* *00020000
******************************************************************00020100
* 00020200
PROCEDURE DIVISION. 00020300
* 00020400
PERFORM 100000-INICIO-PROGRAMA. 00020500
PERFORM 200000-PROCESO-PROGRAMA. 00020600
PERFORM 300000-FIN-PROGRAMA. 00020700
* 00020800
******************************************************************00020900
* *00021000
* 100000-INICIO-PROGRAMA *00021100
* *00021200
******************************************************************00021300
100000-INICIO-PROGRAMA. 00021400
* 00021500
INITIALIZE QGECABC. 00021600
* 00021700
EXEC CICS 00021800
IGNORE CONDITION ERROR 00021900
END-EXEC. 00022000
IF EIBRESP NOT EQUAL DFHRESP(NORMAL) 00022100
MOVE 'ERROR CICS XC2CY660' TO ABC-REFERENCIA 00022200
MOVE 'XC2CY660' TO ABC-OBJETO-ERROR 00022300
PERFORM 999999-ERROR-CICS 00022400
END-IF. 00022500
SET ADDRESS OF XCNCY66 TO CAA-PTR-COPYIN. 00022600
SET ADDRESS OF XCECCMA TO CAA-PTRDATA. 00022700
*@002-I 00022800
* EXEC CICS LOAD PROGRAM('XC1AQPA0') 00022900
* SET(ADDRESS OF XCWCQPX-01) 00023000
* NOHANDLE 00023100
* END-EXEC. 00023200
* IF EIBRESP NOT EQUAL DFHRESP(NORMAL) 00023300
* MOVE 'ERROR CICS XC1AQPA0' TO ABC-REFERENCIA 00023400
* MOVE 'XC1AQPA0' TO ABC-OBJETO-ERROR 00023500
* PERFORM 999999-ERROR-CICS 00023600
* END-IF. 00023700
* 00023800
MOVE CAA-ENTIDAD TO WQPA-CENTIDA-I 00023900
EXEC CICS 00024000
LINK PROGRAM (XC7CQPA0) 00024100
COMMAREA (W-XCWCQPA0) 00024200
END-EXEC 00024300
IF EIBRESP NOT EQUAL DFHRESP(NORMAL) 00024400
MOVE 'ERROR CICS IGNORA ERROR' TO ABC-REFERENCIA 00024500
MOVE 'XC7CQPA0' TO ABC-PROGRAMA 00024600
PERFORM 999999-ERROR-CICS 00024700
END-IF 00024800
00024900
EVALUATE WQPA-CODRETORN 00025000
WHEN '00' 00025100
CONTINUE 00025200
WHEN OTHER 00025300
MOVE 'XCE0020' TO CAA-COD-ERROR 00025400
MOVE WQPA-CODRETORN TO CAA-VAR1-ERROR 00025500
MOVE 'XC7CQPA0' TO CAA-VAR2-ERROR 00025600
MOVE CAA-CODTRAN TO CAA-VAR2-ERROR(16:4) 00025700
PERFORM 300000-FIN-PROGRAMA 00025800
END-EVALUATE 00025900
*@002-F 00026000
IF CAA-CASO = 'R' 00026100
MOVE CAA-DATOS TO XPCA-CLAVE 00026200
MOVE ' ' TO CAA-CASO 00026300
END-IF. 00026400
P53757* 00026410
| MOVE CAA-TERMINAL TO W-GTS-SUFI. 00026420
P53757* 00026430
* 00026500
******************************************************************00026600
* *00026700
* 200000-PROCESO-PROGRAMA *00026800
* *00026900
******************************************************************00027000
200000-PROCESO-PROGRAMA. 00027100
* 00027200
EVALUATE TRUE 00027300
WHEN CAA-88-ESTADO-CONTIN 00027400
PERFORM 220000-ESTADO-CONTINUACION 00027500
WHEN CAA-88-ESTADO-CONFIR 00027600
PERFORM 230000-ESTADO-CONFIRMACION 00027700
WHEN OTHER 00027800
PERFORM 210000-ESTADO-INICIO 00027900
END-EVALUATE. 00028000
* 00028100
******************************************************************00028200
* *00028300
* 210000-ESTADO-INICIO *00028400
* *00028500
******************************************************************00028600
210000-ESTADO-INICIO. 00028700
* 00028800
MOVE XCNCY66 TO W-XCNCY66-INI. 00029200
MOVE LOW-VALUES TO XCNCY66. 00029300
MOVE XPCA-CAUTOGE TO Y66-CAUTOGE. 00029400
MOVE XPCA-FREFERE TO Y66-FREFERE. 00029500
PERFORM 211000-LOW-POR-RAYAS-BLANCOS. 00029600
IF XPCA-YALTA EQUAL 'S' 00029700
MOVE 'N' TO XPCA-YALTA 00029800
PERFORM 222100-VALIDA-CLAVE 00029900
PERFORM 222310-ACCESA-XCDTY21 00030000
IF SW-EXISTE EQUAL 'SI' 00030100
MOVE 'XCA0010' TO CAA-COD-AVISO1 00030200
MOVE 'RELACION AUTOGENERADO' TO CAA-VAR1-AVISO1 00030300
MOVE 'TODO CONCEPTO' TO CAA-VAR2-AVISO1 00030400
PERFORM 300000-FIN-PROGRAMA 00030500
END-IF 00030600
ELSE 00030700
PERFORM 222100-VALIDA-CLAVE 00030800
PERFORM 222300-CONSULTA-DATOS 00030900
END-IF. 00031000
PERFORM 222400-VALIDA-DATOS. 00031100
MOVE -1 TO Y66-CAUTOGEL. 00031200
P53757* 00031210
| PERFORM 210100-WRITEQ-TS. 00031220
| * 00031230
| ******************************************************************00031400
| * *00031500
| * 210100-WRITEQ-TS *00031600
| * *00031700
| ******************************************************************00031800
| 210100-WRITEQ-TS. 00031900
| 00032000
| MOVE CAA-TERMINAL TO W-GTS-SUFI 00032100
| 00032200
| EXEC CICS 00032300
| DELETEQ TS 00032400
| QUEUE(W-GTS) 00032500
| END-EXEC. 00032600
| * 00032700
| EVALUATE EIBRESP 00032800
| WHEN (DFHRESP(NORMAL)) 00032900
| CONTINUE 00033000
| WHEN (DFHRESP(QIDERR)) 00033100
| CONTINUE 00033200
| WHEN OTHER 00033300
| MOVE 'ERROR CICS DELETEQ ' 00033400
| TO ABC-REFERENCIA 00033500
| MOVE W-GTS TO ABC-OBJETO-ERROR 00033600
| PERFORM 999999-ERROR-CICS 00033700
| END-EVALUATE 00033800
| 00033900
| MOVE Y66-CPRODUC TO W-Y66-CPRODUC 00034000
| MOVE Y66-CSUBPRD TO W-Y66-CSUBPRD 00034100
| MOVE Y66-CCLIENT TO W-Y66-CCLIENT 00034200
| MOVE Y66-COPERAC TO W-Y66-COPERAC 00034300
| MOVE Y66-CAUTOGE TO W-Y66-CAUTOGE 00034400
| MOVE Y66-FREFERE TO W-Y66-FREFERE 00034500
| MOVE Y66-CTIPCAL TO W-Y66-CTIPCAL 00034600
| MOVE Y66-YEXONER TO W-Y66-YEXONER 00034700
| MOVE Y66-YMINIMO TO W-Y66-YMINIMO 00034800
| MOVE Y66-YMINSTD TO W-Y66-YMINSTD 00034900
| MOVE Y66-YMINPOR TO W-Y66-YMINPOR 00035000
| MOVE Y66-IVALIMP TO W-Y66-IVALIMP 00035100
| MOVE Y66-NVALTAS TO W-Y66-NVALTAS 00035200
| 00035300
| EXEC CICS 00035400
| WRITEQ TS 00035500
| QUEUE (W-GTS) 00035600
| FROM (W-GTS-DATOS) 00035700
| MAIN 00035800
| END-EXEC. 00035900
| * 00036000
| EVALUATE EIBRESP 00036100
| WHEN DFHRESP(NORMAL) 00036200
| CONTINUE 00036300
| WHEN OTHER 00036400
| MOVE 'ERROR CICS WRITEQ ' 00036500
| TO ABC-REFERENCIA 00036600
| MOVE W-GTS TO ABC-OBJETO-ERROR 00036700
| PERFORM 999999-ERROR-CICS 00036800
| END-EVALUATE. 00036900
| * 00037000
P53757* 00037100
* 00037200
*-----------------------------* 00037300
211000-LOW-POR-RAYAS-BLANCOS. 00037400
*-----------------------------* 00037500
INSPECT Y66-DTITULO REPLACING ALL LOW-VALUES BY SPACES. 00037600
INSPECT Y66-CPRODUC REPLACING ALL LOW-VALUES BY SPACES. 00037700
INSPECT Y66-DPRODUC REPLACING ALL LOW-VALUES BY SPACES. 00037800
INSPECT Y66-CSUBPRD REPLACING ALL LOW-VALUES BY SPACES. 00037900
INSPECT Y66-DSUBPRD REPLACING ALL LOW-VALUES BY SPACES. 00038000
INSPECT Y66-COPERAC REPLACING ALL LOW-VALUES BY SPACES. 00038100
INSPECT Y66-CCLIENT REPLACING ALL LOW-VALUES BY SPACES. 00038200
INSPECT Y66-DCLIENT REPLACING ALL LOW-VALUES BY SPACES. 00038300
INSPECT Y66-CAUTOGE REPLACING ALL LOW-VALUES BY SPACES. 00038400
INSPECT Y66-FREFERE REPLACING ALL LOW-VALUES BY SPACES. 00038500
INSPECT Y66-CTIPCAL REPLACING ALL LOW-VALUES BY SPACES. 00038600
INSPECT Y66-DTIPCAL REPLACING ALL LOW-VALUES BY SPACES. 00038700
INSPECT Y66-YEXONER REPLACING ALL LOW-VALUES BY SPACES. 00038800
INSPECT Y66-YMINIMO REPLACING ALL LOW-VALUES BY SPACES. 00038900
INSPECT Y66-YMINSTD REPLACING ALL LOW-VALUES BY SPACES. 00039000
INSPECT Y66-YMINPOR REPLACING ALL LOW-VALUES BY SPACES. 00039100
INSPECT Y66-IVALIMP REPLACING ALL LOW-VALUES BY SPACES. 00039200
INSPECT Y66-NVALTAS REPLACING ALL LOW-VALUES BY SPACES. 00039300
* 00039400
******************************************************************00039500
* *00039600
* 220000-ESTADO-CONTINUACION *00039700
* *00039800
******************************************************************00039900
220000-ESTADO-CONTINUACION. 00040000
* 00040100
PERFORM 211000-LOW-POR-RAYAS-BLANCOS. 00040200
PERFORM 221000-COMPARA-CLAVE. 00040300
MOVE CAA-TECLA TO SW-TECLA. 00040400
EVALUATE TRUE 00040500
WHEN PFENTER 00040600
PERFORM 222000-CONSULTA-VALIDACION 00040700
WHEN PF2 00040800
PERFORM 224000-MODIFICACION 00040900
WHEN PF3 00041000
PERFORM 225000-ALTA 00041100
WHEN PF4 00041200
PERFORM 226000-LIMPIA 00041300
WHEN PF6 00041400
PERFORM 227000-BAJA 00041500
WHEN SPF10 00041600
PERFORM 229000-AUDITORIA 00041700
WHEN OTHER 00041800
MOVE 'XCE0001' TO CAA-COD-ERROR 00041900
END-EVALUATE. 00042000
MOVE -1 TO Y66-CAUTOGEL. 00042100
* 00042200
*---------------------* 00042300
221000-COMPARA-CLAVE. 00042400
*---------------------* 00042500
MOVE Y66-CAUTOGE TO W-CAUTOGE. 00042600
INSPECT W-CAUTOGE REPLACING ALL LOW-VALUES BY SPACES. 00042700
INSPECT W-CAUTOGE REPLACING ALL '_' BY SPACES. 00042800
MOVE Y66-FREFERE TO W-FREFERE. 00042900
INSPECT W-FREFERE REPLACING ALL LOW-VALUES BY SPACES. 00043000
INSPECT W-FREFERE REPLACING ALL '_' BY SPACES. 00043100
IF (W-CAUTOGE EQUAL XPCA-CAUTOGE) AND 00043200
(W-FREFERE EQUAL XPCA-FREFERE) 00043300
MOVE 'NO' TO SW-CAMBIO-CLAVE 00043400
ELSE 00043500
MOVE 'SI' TO SW-CAMBIO-CLAVE 00043600
END-IF. 00043700
******************************************************************00043800
* *00043900
* 222000-CONSULTA-VALIDACION *00044000
* *00044100
******************************************************************00044200
222000-CONSULTA-VALIDACION. 00044300
* 00044400
IF SW-CAMBIO-CLAVE = 'SI' 00044500
PERFORM 222100-VALIDA-CLAVE 00044600
PERFORM 222300-CONSULTA-DATOS 00044700
PERFORM 222400-VALIDA-DATOS 00044800
MOVE 'XCA0001' TO CAA-COD-AVISO1 00044900
MOVE 'CONSULTA' TO CAA-VAR1-AVISO1 00045000
ELSE 00045100
PERFORM 222400-VALIDA-DATOS 00045200
PERFORM 222500-MENSAJE-VALIDACION 00045300
END-IF. 00045400
* 00045500
*--------------------* 00045600
222100-VALIDA-CLAVE. 00045700
*--------------------* 00045800
MOVE LOW-VALUES TO XPCA-CAUTOGE 00045900
MOVE LOW-VALUES TO XPCA-FREFERE 00046000
PERFORM 222110-BORRA-DESCRIPCIONES 00046100
PERFORM 222120-VALIDA-CAUTOGE-INF 00046200
PERFORM 222125-VALIDA-FREFERE-INF 00046300
PERFORM 222200-CONSULTA-MAESTRO 00046400
PERFORM 222130-CARGA-COMMAREA. 00046500
*--------------------------* 00046600
222110-BORRA-DESCRIPCIONES. 00046700
*--------------------------* 00046800
MOVE SPACES TO Y66-CPRODUC 00046900
MOVE SPACES TO Y66-DPRODUC 00047000
MOVE SPACES TO Y66-CSUBPRD 00047100
MOVE SPACES TO Y66-DSUBPRD 00047200
MOVE SPACES TO Y66-CCLIENT 00047300
MOVE SPACES TO Y66-DCLIENT 00047400
MOVE SPACES TO Y66-COPERAC 00047500
MOVE SPACES TO Y66-LOPERAC 00047600
* MOVE SPACES TO Y66-CTIPCAL 00047700
MOVE SPACES TO Y66-DTIPCAL. 00047800
* MOVE SPACES TO Y66-YEXONER 00047900
* MOVE SPACES TO Y66-YMINIMO 00048000
* MOVE SPACES TO Y66-YMINSTD 00048100
* MOVE SPACES TO Y66-YMINPOR 00048200
* MOVE ZEROES TO Y66-IVALIMP 00048300
* MOVE ZEROES TO Y66-NVALTAS. 00048400
*-------------------------* 00048500
222120-VALIDA-CAUTOGE-INF. 00048600
*-------------------------* 00048700
MOVE Y66-CAUTOGE TO W-CAUTOGE. 00048800
INSPECT W-CAUTOGE REPLACING ALL '_' BY SPACES. 00048900
IF W-CAUTOGE EQUAL SPACES OR 00049000
W-CAUTOGE EQUAL LOW-VALUES 00049100
MOVE 'XCE0006' TO CAA-COD-ERROR 00049200
MOVE 'AUTOGENERADO' TO CAA-VAR1-ERROR 00049300
MOVE -1 TO Y66-CAUTOGEL 00049400
PERFORM 300000-FIN-PROGRAMA 00049500
END-IF. 00049600
PERFORM 222200-CONSULTA-AUTOG. 00049700
*-------------------------* 00049800
222125-VALIDA-FREFERE-INF. 00049900
*-------------------------* 00050000
MOVE Y66-FREFERE TO W-FREFERE. 00050100
INSPECT W-FREFERE REPLACING ALL '_' BY SPACES. 00050200
IF W-FREFERE EQUAL SPACES OR 00050300
W-FREFERE EQUAL LOW-VALUES 00050400
MOVE 'XCE0006' TO CAA-COD-ERROR 00050500
MOVE 'FECHA REFER.' TO CAA-VAR1-ERROR 00050600
MOVE -1 TO Y66-FREFEREL 00050700
PERFORM 300000-FIN-PROGRAMA 00050800
END-IF. 00050900
STRING W-FREFERE(5:4) '-' W-FREFERE(3:2) '-' 00051000
W-FREFERE(1:2) DELIMITED BY SIZE INTO W-FREFERE-DB2. 00051100
*-----------------------* 00051200
222200-CONSULTA-MAESTRO. 00051300
*-----------------------* 00051400
PERFORM 222210-ACCESA-XCDTY14. 00051500
IF SW-EXISTE = 'SI' 00051600
IF TY14-XC-YTODCON = 'N' 00051700
MOVE 'XCE0079' TO CAA-COD-ERROR 00051800
MOVE 'AUTOGENERADO' TO CAA-VAR1-ERROR 00051900
MOVE 'CADA CONCEPTO' TO CAA-VAR2-ERROR 00052000
MOVE -1 TO Y66-CAUTOGEL 00052100
GO TO 300000-FIN-PROGRAMA 00052200
END-IF 00052300
ELSE 00052400
MOVE 'XCE0013' TO CAA-COD-ERROR 00052500
MOVE 'RELACION AUTOGENERADO' TO CAA-VAR1-ERROR 00052600
MOVE 'CON FECHA REFERENCIA' TO CAA-VAR2-ERROR 00052700
MOVE -1 TO Y66-FREFEREL 00052800
PERFORM 300000-FIN-PROGRAMA 00052900
END-IF. 00053000
* 00053100
*----------------------* 00053200
222210-ACCESA-XCDTY14. 00053300
*----------------------* 00053400
MOVE W-CAUTOGE TO TY14-XC-CAUTOGE. 00053500
MOVE W-FREFERE-DB2 TO TY14-XC-FREFERE. 00053600
EXEC SQL 00053700
SELECT 00053800
TY14_XC_YTODCON 00053900
INTO 00054000
:TY14-XC-YTODCON 00054100
FROM XCDTY14 00054200
WHERE TY14_XC_CAUTOGE =: TY14-XC-CAUTOGE AND 00054300
TY14_XC_FREFERE =: TY14-XC-FREFERE 00054400
END-EXEC. 00054500
EVALUATE SQLCODE 00054600
WHEN ZEROS 00054700
MOVE 'SI' TO SW-EXISTE 00054800
WHEN +100 00054900
MOVE 'NO' TO SW-EXISTE 00055000
WHEN OTHER 00055100
MOVE SQLCODE TO W-SQLCODE 00055200
MOVE SQLERRM TO W-SQLERRM 00055300
MOVE 'XCDTY14' TO W-TABLA 00055400
MOVE 'XC2CY660' TO W-PROGRAMA 00055500
MOVE 'ACCESA-XCDTY14' TO W-REFERENCIA 00055600
MOVE -1 TO Y66-CAUTOGEL 00055700
PERFORM 999999-ERROR-DB2 00055800
END-EVALUATE. 00055900
*----------------------* 00056000
222130-CARGA-COMMAREA. 00056100
*----------------------* 00056200
MOVE Y66-CAUTOGE TO W-CAUTOGE. 00056300
INSPECT W-CAUTOGE REPLACING ALL '_' BY SPACES. 00056400
MOVE Y66-FREFERE TO W-FREFERE. 00056500
INSPECT W-FREFERE REPLACING ALL '_' BY SPACES. 00056600
MOVE W-CAUTOGE TO XPCA-CAUTOGE. 00056700
MOVE W-FREFERE TO XPCA-FREFERE. 00056800
STRING W-FREFERE(5:4) '-' W-FREFERE(3:2) '-' 00056900
W-FREFERE(1:2) DELIMITED BY SIZE INTO W-FREFERE-DB2. 00057000
*----------------------* 00057100
222200-CONSULTA-AUTOG. 00057200
*----------------------* 00057300
PERFORM 222210-ACCESA-XCDTY17. 00057400
IF SW-EXISTE = 'SI' 00057500
IF TY17-XC-YDIFERI = 'S' 00057600
MOVE 'XCE0079' TO CAA-COD-ERROR 00057700
MOVE 'AUTOGENERADO' TO CAA-VAR1-ERROR 00057800
MOVE 'DIFERIDOS ' TO CAA-VAR2-ERROR 00057900
MOVE -1 TO Y66-CAUTOGEL 00058000
GO TO 300000-FIN-PROGRAMA 00058100
ELSE 00058200
IF TY17-XC-YPUNTUA NOT = XPCA-YPUNTUA 00058300
IF TY17-XC-YPUNTUA = 'S' 00058400
MOVE 'XCE0079' TO CAA-COD-ERROR 00058500
MOVE 'AUTOGENERADO' TO CAA-VAR1-ERROR 00058600
MOVE 'PUNTUALES' TO CAA-VAR2-ERROR 00058700
MOVE -1 TO Y66-CAUTOGEL 00058800
GO TO 300000-FIN-PROGRAMA 00058900
ELSE 00059000
MOVE 'XCE0079' TO CAA-COD-ERROR 00059100
MOVE 'AUTOGENERADO' TO CAA-VAR1-ERROR 00059200
MOVE 'ESPECIALES' TO CAA-VAR2-ERROR 00059300
MOVE -1 TO Y66-CAUTOGEL 00059400
GO TO 300000-FIN-PROGRAMA 00059500
END-IF 00059600
END-IF 00059700
END-IF 00059800
IF TY17-XC-YPUNTUA = 'N' 00059900
MOVE SPACES TO Y66-LOPERAC 00060000
ELSE 00060100
MOVE 'OPERACION :' TO Y66-LOPERAC 00060200
END-IF 00060300
IF TY17-XC-YPUNTUA = 'S' 00060400
STRING TY17-XC-CENTIDA '-' TY17-XC-COFIOPE '-' 00060500
TY17-XC-CCTAOPE DELIMITED BY SIZE INTO Y66-COPERAC 00060600
ELSE 00060700
MOVE SPACES TO Y66-COPERAC 00060800
END-IF 00060900
MOVE TY17-XC-CPRODUC TO Y66-CPRODUC 00061000
MOVE TY17-XC-CSUBPRD TO Y66-CSUBPRD 00061100
MOVE TY17-XC-CCLILOC TO Y66-CCLIENT 00061200
PERFORM 510000-VALIDA-CPRODUC 00061300
PERFORM 520000-VALIDA-CSUBPRD 00061400
PERFORM 530000-VALIDA-CCLILOC 00061500
EVALUATE TY17-XC-YDIFERI ALSO TY17-XC-YPUNTUA 00061600
WHEN 'S' ALSO 'S' 00061700
MOVE 'DIFERIDOS POR OPERACION' TO Y66-DTITULO 00061800
WHEN 'S' ALSO 'N' 00061900
MOVE ' DIFERIDOS POR CLIENTE ' TO Y66-DTITULO 00062000
WHEN 'N' ALSO 'S' 00062100
MOVE ' POR OPERACION ' TO Y66-DTITULO 00062200
WHEN 'N' ALSO 'N' 00062300
MOVE ' POR CLIENTE ' TO Y66-DTITULO 00062400
END-EVALUATE 00062500
ELSE 00062600
MOVE 'XCE0013' TO CAA-COD-ERROR 00062700
MOVE 'AUTOGENERADO' TO CAA-VAR1-ERROR 00062800
MOVE SPACES TO CAA-VAR2-ERROR 00062900
MOVE -1 TO Y66-CAUTOGEL 00063000
PERFORM 300000-FIN-PROGRAMA 00063100
END-IF. 00063200
* 00063300
*----------------------* 00063400
222210-ACCESA-XCDTY17. 00063500
*----------------------* 00063600
MOVE W-CAUTOGE TO TY17-XC-CAUTOGE. 00063700
EXEC SQL 00063800
SELECT 00063900
TY17_XC_CENTIDA, 00064000
TY17_XC_CPRODUC, 00064100
TY17_XC_CSUBPRD, 00064200
TY17_XC_CCLILOC, 00064300
TY17_XC_CFASE , 00064400
TY17_XC_COFIOPE, 00064500
TY17_XC_CCTAOPE, 00064600
TY17_XC_YDIFERI, 00064700
TY17_XC_YPUNTUA, 00064800
TY17_XC_CENTALT, 00064900
TY17_XC_COFIALT, 00065000
TY17_XC_CTERALT, 00065100
TY17_XC_CUSUALT, 00065200
TY17_XC_FTSTALT, 00065300
TY17_XC_CENTUMO, 00065400
TY17_XC_COFIUMO, 00065500
TY17_XC_CTERUMO, 00065600
TY17_XC_CUSUUMO, 00065700
TY17_XC_FTSTUMO 00065800
INTO 00065900
:TY17-XC-CENTIDA, 00066000
:TY17-XC-CPRODUC, 00066100
:TY17-XC-CSUBPRD, 00066200
:TY17-XC-CCLILOC, 00066300
:TY17-XC-CFASE , 00066400
:TY17-XC-COFIOPE, 00066500
:TY17-XC-CCTAOPE, 00066600
:TY17-XC-YDIFERI, 00066700
:TY17-XC-YPUNTUA, 00066800
:TY17-XC-CENTALT, 00066900
:TY17-XC-COFIALT, 00067000
:TY17-XC-CTERALT, 00067100
:TY17-XC-CUSUALT, 00067200
:TY17-XC-FTSTALT, 00067300
:TY17-XC-CENTUMO, 00067400
:TY17-XC-COFIUMO, 00067500
:TY17-XC-CTERUMO, 00067600
:TY17-XC-CUSUUMO, 00067700
:TY17-XC-FTSTUMO 00067800
FROM XCDTY17 00067900
WHERE TY17_XC_CAUTOGE =: TY17-XC-CAUTOGE 00068000
END-EXEC. 00068100
EVALUATE SQLCODE 00068200
WHEN ZEROS 00068300
MOVE 'SI' TO SW-EXISTE 00068400
WHEN +100 00068500
MOVE 'NO' TO SW-EXISTE 00068600
WHEN OTHER 00068700
MOVE SQLCODE TO W-SQLCODE 00068800
MOVE SQLERRM TO W-SQLERRM 00068900
MOVE 'XCDTY17' TO W-TABLA 00069000
MOVE 'XC2CY660' TO W-PROGRAMA 00069100
MOVE 'ACCESA-XCDTY17' 00069200
TO W-REFERENCIA 00069300
MOVE -1 TO Y66-CAUTOGEL 00069400
PERFORM 999999-ERROR-DB2 00069500
END-EVALUATE. 00069600
*----------------------* 00069700
222300-CONSULTA-DATOS. 00069800
*----------------------* 00069900
PERFORM 222310-ACCESA-XCDTY21. 00070000
IF SW-EXISTE = 'SI' 00070100
MOVE TY21-XC-CTIPCAL TO Y66-CTIPCAL 00070200
MOVE TY21-XC-YEXONER TO Y66-YEXONER 00070300
MOVE TY21-XC-YMINIMO TO Y66-YMINIMO 00070400
MOVE TY21-XC-YMINSTD TO Y66-YMINSTD 00070500
MOVE TY21-XC-YMINPOR TO Y66-YMINPOR 00070600
MOVE TY21-XC-IVALIMP TO Y66-IVALIMP 00070700
MOVE TY21-XC-NVALTAS TO Y66-NVALTAS 00070800
PERFORM 222320-ACCESA-XCDTY22 00070900
ELSE 00071000
MOVE 'XCA0010' TO CAA-COD-AVISO1 00071100
MOVE 'DATOS TODO' TO CAA-VAR1-AVISO1 00071200
MOVE 'CONCEPTO ' TO CAA-VAR2-AVISO1 00071300
MOVE -1 TO Y66-CAUTOGEL 00071400
PERFORM 300000-FIN-PROGRAMA 00071500
END-IF. 00071600
*----------------------* 00071700
222310-ACCESA-XCDTY21. 00071800
*----------------------* 00071900
PERFORM 225110-CARGA-CLAVE-XCDTY21. 00072000
EXEC SQL 00072100
SELECT 00072200
TY21_XC_CTIPCAL, 00072300
TY21_XC_YEXONER, 00072400
TY21_XC_YMINIMO, 00072500
TY21_XC_YMINSTD, 00072600
TY21_XC_YMINPOR, 00072700
TY21_XC_IVALIMP, 00072800
TY21_XC_NVALTAS, 00072900
TY21_XC_CENTALT, 00073000
TY21_XC_COFIALT, 00073100
TY21_XC_CTERALT, 00073200
TY21_XC_CUSUALT, 00073300
TY21_XC_FTSTALT, 00073400
TY21_XC_CENTUMO, 00073500
TY21_XC_COFIUMO, 00073600
TY21_XC_CTERUMO, 00073700
TY21_XC_CUSUUMO, 00073800
TY21_XC_FTSTUMO 00073900
INTO 00074000
:TY21-XC-CTIPCAL, 00074100
:TY21-XC-YEXONER, 00074200
:TY21-XC-YMINIMO, 00074300
:TY21-XC-YMINSTD, 00074400
:TY21-XC-YMINPOR, 00074500
:TY21-XC-IVALIMP, 00074600
:TY21-XC-NVALTAS, 00074700
:TY21-XC-CENTALT, 00074800
:TY21-XC-COFIALT, 00074900
:TY21-XC-CTERALT, 00075000
:TY21-XC-CUSUALT, 00075100
:TY21-XC-FTSTALT, 00075200
:TY21-XC-CENTUMO, 00075300
:TY21-XC-COFIUMO, 00075400
:TY21-XC-CTERUMO, 00075500
:TY21-XC-CUSUUMO, 00075600
:TY21-XC-FTSTUMO 00075700
FROM XCDTY21 00075800
WHERE TY21_XC_CAUTOGE =: TY21-XC-CAUTOGE AND 00075900
TY21_XC_FREFERE =: TY21-XC-FREFERE 00076000
END-EXEC. 00076100
EVALUATE SQLCODE 00076200
WHEN ZEROS 00076300
MOVE 'SI' TO SW-EXISTE 00076400
WHEN +100 00076500
MOVE 'NO' TO SW-EXISTE 00076600
WHEN OTHER 00076700
MOVE SQLCODE TO W-SQLCODE 00076800
MOVE SQLERRM TO W-SQLERRM 00076900
MOVE 'XCDTY21' TO W-TABLA 00077000
MOVE 'XC2CY660' TO W-PROGRAMA 00077100
MOVE 'ACCESA-XCDTY21' TO W-REFERENCIA 00077200
MOVE -1 TO Y66-CAUTOGEL 00077300
PERFORM 999999-ERROR-DB2 00077400
END-EVALUATE. 00077500
*----------------------* 00077600
222320-ACCESA-XCDTY22. 00077700
*----------------------* 00077800
INITIALIZE DCLXCDTY22. 00077900
MOVE Y66-CTIPCAL TO TY22-XC-CTIPCAL. 00078000
EXEC SQL 00078100
SELECT 00078200
TY22_XC_DTIPCAL, 00078300
TY22_XC_CMONTAS 00078400
INTO 00078500
:TY22-XC-DTIPCAL, 00078600
:TY22-XC-CMONTAS 00078700
FROM XCDTY22 00078800
WHERE TY22_XC_CTIPCAL =: TY22-XC-CTIPCAL 00078900
END-EXEC. 00079000
EVALUATE SQLCODE 00079100
WHEN ZEROS 00079200
MOVE 'SI' TO SW-EXISTE 00079300
WHEN +100 00079400
MOVE 'NO' TO SW-EXISTE 00079500
WHEN OTHER 00079600
MOVE SQLCODE TO W-SQLCODE 00079700
MOVE SQLERRM TO W-SQLERRM 00079800
MOVE 'XCDTY22' TO W-TABLA 00079900
MOVE 'XC2CY660' TO W-PROGRAMA 00080000
MOVE 'ACCESA-XCDTY22' TO W-REFERENCIA 00080100
MOVE -1 TO Y66-CAUTOGEL 00080200
PERFORM 999999-ERROR-DB2 00080300
END-EVALUATE. 00080400
MOVE TY22-XC-DTIPCAL TO Y66-DTIPCAL. 00080500
*-----> SE PROTEGEN CAMPOS SEGUN TIPO DE CALCULO 00080600
EVALUATE TY22-XC-CTIPCAL 00080700
WHEN 90 00080800
MOVE ATRI-PRO-FST TO Y66-IVALIMPA Y66-NVALTASA 00080900
Y66-YMINIMOA Y66-YMINSTDA 00081000
Y66-YMINPORA 00081100
MOVE 0 TO Y66-IVALIMP Y66-NVALTAS 00081200
MOVE 'N' TO Y66-YMINIMO Y66-YMINSTD 00081300
Y66-YMINPOR 00081400
MOVE 'S' TO Y66-YEXONER 00081500
WHEN 91 00081600
MOVE ATRI-NOP-FST TO Y66-YMINIMOA Y66-YMINSTDA 00081700
Y66-YMINPORA 00081800
MOVE 'N' TO Y66-YEXONER 00081900
IF TY22-XC-CMONTAS = 'T' 00082000
MOVE ATRI-NOP-FST TO Y66-NVALTASA 00082100
MOVE ATRI-PRO-FST TO Y66-IVALIMPA 00082200
MOVE 0 TO Y66-IVALIMP 00082300
ELSE 00082400
MOVE ATRI-NOP-FST TO Y66-IVALIMPA 00082500
MOVE ATRI-PRO-FST TO Y66-NVALTASA 00082600
MOVE 0 TO Y66-NVALTAS 00082700
END-IF 00082800
WHEN OTHER 00082900
MOVE ATRI-PRO-FST TO Y66-YMINPORA 00083000
MOVE ATRI-NOP-FST TO Y66-YMINIMOA Y66-YMINSTDA 00083100
MOVE 'N' TO Y66-YEXONER Y66-YMINPOR 00083200
IF TY22-XC-CMONTAS = 'T' 00083300
MOVE ATRI-NOP-FST TO Y66-NVALTASA 00083400
MOVE ATRI-PRO-FST TO Y66-IVALIMPA 00083500
MOVE 0 TO Y66-IVALIMP 00083600
ELSE 00083700
MOVE ATRI-NOP-FST TO Y66-IVALIMPA 00083800
MOVE ATRI-PRO-FST TO Y66-NVALTASA 00083900
MOVE 0 TO Y66-NVALTAS 00084000
END-IF 00084100
END-EVALUATE. 00084200
*--------------------* 00084300
222400-VALIDA-DATOS. 00084400
*--------------------* 00084500
PERFORM 222410-VALIDA-CTIPCAL-INF. 00084600
PERFORM 222420-VALIDA-YEXONER-INF. 00084700
PERFORM 222430-VALIDA-YMINIMO-INF. 00084800
PERFORM 222440-VALIDA-YMINSTD-INF. 00084900
PERFORM 222450-VALIDA-YMINPOR-INF. 00085000
PERFORM 222460-VALIDA-IVALIMP-INF. 00085100
PERFORM 222470-VALIDA-NVALTAS-INF. 00085200
*--------------------------* 00085300
222410-VALIDA-CTIPCAL-INF. 00085400
*--------------------------* 00085500
MOVE Y66-CTIPCAL TO W-CTIPCAL. 00085600
IF W-CTIPCAL < 90 00085700
MOVE 'XCA0063' TO CAA-COD-AVISO1 00085800
MOVE 'TIPO DE CALCULO ' TO CAA-VAR1-AVISO1 00085900
MOVE 'PREFERENCIAL ' TO CAA-VAR2-AVISO1 00086000
MOVE 'XCA0021' TO CAA-COD-AVISO2 00086100
MOVE 'VALOR MENOR ' TO CAA-VAR1-AVISO2 00086200
MOVE 'QUE 90 ' TO CAA-VAR2-AVISO2 00086300
MOVE -1 TO Y66-CTIPCALL 00086400
PERFORM 300000-FIN-PROGRAMA 00086500
ELSE 00086600
PERFORM 222320-ACCESA-XCDTY22 00086700
END-IF. 00086800
*--------------------------* 00086900
222420-VALIDA-YEXONER-INF. 00087000
*--------------------------* 00087100
MOVE Y66-YEXONER TO W-YEXONER. 00087200
INSPECT W-YEXONER REPLACING ALL '_' BY SPACES. 00087300
IF W-YEXONER EQUAL SPACES OR 00087400
W-YEXONER EQUAL LOW-VALUES 00087500
MOVE 'XCA0011' TO CAA-COD-AVISO1 00087600
MOVE 'IND. EXONERACION ' TO CAA-VAR1-AVISO1 00087700
MOVE -1 TO Y66-YEXONERL 00087800
PERFORM 300000-FIN-PROGRAMA 00087900
END-IF. 00088000
IF W-YEXONER EQUAL 'N' OR W-YEXONER EQUAL 'S' 00088100
CONTINUE 00088200
ELSE 00088300
MOVE 'XCA0011' TO CAA-COD-AVISO1 00088400
MOVE 'S DE SI / N DE NO' TO CAA-VAR1-AVISO1 00088500
MOVE -1 TO Y66-YEXONERL 00088600
PERFORM 300000-FIN-PROGRAMA 00088700
END-IF. 00088800
*--------------------------* 00088900
222430-VALIDA-YMINIMO-INF. 00089000
*--------------------------* 00089100
MOVE Y66-YMINIMO TO W-YMINIMO. 00089200
INSPECT W-YMINIMO REPLACING ALL '_' BY SPACES. 00089300
IF W-YMINIMO EQUAL SPACES OR 00089400
W-YMINIMO EQUAL LOW-VALUES 00089500
MOVE 'XCA0011' TO CAA-COD-AVISO1 00089600
MOVE 'INDICADOR MINIMOS ' TO CAA-VAR1-AVISO1 00089700
MOVE -1 TO Y66-YMINIMOL 00089800
PERFORM 300000-FIN-PROGRAMA 00089900
END-IF 00090000
IF W-YMINIMO EQUAL 'N' OR W-YMINIMO EQUAL 'S' 00090100
CONTINUE 00090200
ELSE 00090300
MOVE 'XCA0011' TO CAA-COD-AVISO1 00090400
MOVE 'S DE SI / N DE NO' TO CAA-VAR1-AVISO1 00090500
MOVE -1 TO Y66-YMINIMOL 00090600
PERFORM 300000-FIN-PROGRAMA 00090700
END-IF. 00090800
*--------------------------* 00090900
222440-VALIDA-YMINSTD-INF. 00091000
*--------------------------* 00091100
MOVE Y66-YMINSTD TO W-YMINSTD. 00091200
INSPECT W-YMINSTD REPLACING ALL '_' BY SPACES. 00091300
IF W-YMINSTD EQUAL SPACES OR 00091400
W-YMINSTD EQUAL LOW-VALUES 00091500
MOVE 'XCA0011' TO CAA-COD-AVISO1 00091600
MOVE 'IND.MINIMO ESTANDAR' TO CAA-VAR1-AVISO1 00091700
MOVE -1 TO Y66-YMINSTDL 00091800
PERFORM 300000-FIN-PROGRAMA 00091900
END-IF 00092000
IF W-YMINSTD EQUAL 'N' OR W-YMINSTD EQUAL 'S' 00092100
IF W-YMINSTD = 'S' AND 00092200
NOT (Y66-YMINIMO = 'S' AND Y66-YMINPOR = 'N') 00092300
MOVE 'XCA0011' TO CAA-COD-AVISO1 00092400
MOVE 'CONSISTENTE ' TO CAA-VAR1-AVISO1 00092500
MOVE -1 TO Y66-YMINSTDL 00092600
PERFORM 300000-FIN-PROGRAMA 00092700
END-IF 00092800
ELSE 00092900
MOVE 'XCA0011' TO CAA-COD-AVISO1 00093000
MOVE 'S DE SI / N DE NO' TO CAA-VAR1-AVISO1 00093100
MOVE -1 TO Y66-YMINSTDL 00093200
PERFORM 300000-FIN-PROGRAMA 00093300
END-IF. 00093400
*--------------------------* 00093500
222450-VALIDA-YMINPOR-INF. 00093600
*--------------------------* 00093700
MOVE Y66-YMINPOR TO W-YMINPOR. 00093800
INSPECT W-YMINPOR REPLACING ALL '_' BY SPACES. 00093900
IF W-YMINPOR EQUAL SPACES OR 00094000
W-YMINPOR EQUAL LOW-VALUES 00094100
MOVE 'XCA0011' TO CAA-COD-AVISO1 00094200
MOVE 'IND.MINIMO PORCENT.' TO CAA-VAR1-AVISO1 00094300
MOVE -1 TO Y66-YMINPORL 00094400
PERFORM 300000-FIN-PROGRAMA 00094500
END-IF 00094600
IF W-YMINPOR EQUAL 'N' OR W-YMINPOR EQUAL 'S' 00094700
IF W-YMINPOR = 'S' AND 00094800
NOT (Y66-YMINIMO = 'S' AND Y66-YMINSTD = 'N') 00094900
MOVE 'XCA0011' TO CAA-COD-AVISO1 00095000
MOVE 'CONSISTENTE ' TO CAA-VAR1-AVISO1 00095100
MOVE -1 TO Y66-YMINPORL 00095200
PERFORM 300000-FIN-PROGRAMA 00095300
END-IF 00095400
ELSE 00095500
MOVE 'XCA0011' TO CAA-COD-AVISO1 00095600
MOVE 'S DE SI / N DE NO' TO CAA-VAR1-AVISO1 00095700
MOVE -1 TO Y66-YMINPORL 00095800
PERFORM 300000-FIN-PROGRAMA 00095900
END-IF. 00096000
*--------------------------* 00096100
222460-VALIDA-IVALIMP-INF. 00096200
*--------------------------* 00096300
IF Y66-IVALIMPA = ATRI-NOP-FST 00096400
MOVE Y66-IVALIMP TO W-IVALIMP 00096500
IF W-IVALIMP = 0 00096600
MOVE 'XCA0021' TO CAA-COD-AVISO1 00096700
MOVE 'IMPORTE EN CERO ' TO CAA-VAR1-AVISO1 00096800
MOVE -1 TO Y66-IVALIMPL 00096900
PERFORM 300000-FIN-PROGRAMA 00097000
END-IF 00097100
END-IF. 00097200
*--------------------------* 00097300
222470-VALIDA-NVALTAS-INF. 00097400
*--------------------------* 00097500
IF Y66-NVALTASA = ATRI-NOP-FST 00097600
MOVE Y66-NVALTAS TO W-NVALTAS 00097700
IF W-NVALTAS = 0 00097800
MOVE 'XCA0021' TO CAA-COD-AVISO1 00097900
MOVE 'VALOR DE TASA CERO ' TO CAA-VAR1-AVISO1 00098000
MOVE -1 TO Y66-NVALTASL 00098100
PERFORM 300000-FIN-PROGRAMA 00098200
END-IF 00098300
END-IF. 00098400
*--------------------------* 00098500
222500-MENSAJE-VALIDACION. 00098600
*--------------------------* 00098700
PERFORM 222310-ACCESA-XCDTY21. 00098800
IF SW-EXISTE = 'SI' 00098900
MOVE 'XCA0007' TO CAA-COD-AVISO1 00099000
MOVE 'PARA MODIFICACION' TO CAA-VAR1-AVISO1 00099100
ELSE 00099200
MOVE 'XCA0007' TO CAA-COD-AVISO1 00099300
MOVE 'PARA ALTA' TO CAA-VAR1-AVISO1 00099400
END-IF. 00099500
@001I *------------------------------* 00099600
223100-VIGENTE-A-HISTORICO-RUT. 00099700
*------------------------------* 00099800
MOVE Y66-CAUTOGE TO WYT5-INP-AUTOGEN 00099900
MOVE CAA-FECHA-TRANS2 TO WYT5-INP-FDESDE 00100000
MOVE CAA-ENTIDAD TO WYT5-INP-CENTALT 00100100
MOVE CAA-CENTRO-CONT TO WYT5-INP-COFIALT 00100200
MOVE CAA-TERMINAL TO WYT5-INP-CTERALT 00100300
MOVE CAA-USERID TO WYT5-INP-CUSUALT 00100400
PERFORM 224130-ACCESA-XC7CYT50 00100500
IF SW-EXISTE-T50 EQUAL 'SI' 00100600
MOVE 'XCA0001' TO CAA-COD-AVISO2 00100700
MOVE 'ALTA HISTORICO' TO CAA-VAR1-AVISO2 00100800
END-IF. 00100900
*----------------------* 00101000
224130-ACCESA-XC7CYT50. 00101100
*----------------------* 00101200
EXEC CICS 00101300
LINK PROGRAM ('XC7CYT50') 00101400
COMMAREA (XCWCYT50) 00101500
END-EXEC 00101600
IF EIBRESP NOT EQUAL DFHRESP(NORMAL) 00101700
MOVE 'ERROR CICS XC7CYT50' TO ABC-REFERENCIA 00101800
MOVE 'XC7CYT50' TO ABC-OBJETO-ERROR 00101900
PERFORM 999999-ERROR-CICS 00102000
END-IF 00102100
EVALUATE WYT5-CTL-CRETORN 00102200
WHEN '00' 00102300
MOVE 'SI' TO SW-EXISTE-T50 00102400
WHEN '35' 00102500
WHEN '36' 00102600
MOVE 'NO' TO SW-EXISTE-T50 00102700
WHEN '99' 00102800
MOVE WYT5-CTL-REFERE1 TO W-REFERENCIA 00102900
MOVE 'XC7CYT50' TO W-PROGRAMA 00103000
MOVE WYT5-CTL-REFETAB TO W-TABLA 00103100
MOVE WYT5-CTL-CSQLERR TO W-SQLCODE 00103200
PERFORM 999999-ERROR-DB2 00103300
WHEN OTHER 00103400
MOVE 'XCE0020' TO CAA-COD-ERROR 00103500
MOVE WYT5-CTL-CRETORN TO CAA-VAR1-ERROR 00103600
MOVE 'XC7CYT50' TO CAA-VAR2-ERROR 00103700
MOVE CAA-CODTRAN TO CAA-VAR2-ERROR(16:4) 00103800
PERFORM 999999-LOG-ERR-XC7CYT50 00103900
PERFORM 300000-FIN-PROGRAMA 00104000
END-EVALUATE. 00104100
@001F * 00104200
******************************************************************00104300
* 224000-MODIFICACION *00104400
******************************************************************00104500
224000-MODIFICACION. 00104600
* 00104700
IF SW-CAMBIO-CLAVE = 'NO' 00104800
PERFORM 222400-VALIDA-DATOS 00104900
P53757* 00105000
| PERFORM 224200-MODIF-ANTES-TRAZAB 00105100
P53757* 00105200
PERFORM 224100-MODIFICA-XCDTY21 00105300
P53757* 00105400
| PERFORM 224300-MODIF-DESPUES-TRAZAB 00105500
| 00105501
| PERFORM 210100-WRITEQ-TS 00105510
P53757* 00105600
ELSE 00105700
MOVE 'XCE0002' TO CAA-COD-ERROR 00105800
MOVE 'INTRO' TO CAA-VAR1-ERROR 00105900
MOVE 'VALIDAR CLAVE' TO CAA-VAR2-ERROR 00106000
END-IF. 00106100
* 00106200
*------------------------* 00106300
224100-MODIFICA-XCDTY21. 00106400
*------------------------* 00106500
PERFORM 225110-CARGA-CLAVE-XCDTY21. 00106600
@001 PERFORM 223100-VIGENTE-A-HISTORICO-RUT. 00106700
PERFORM 225120-CARGA-DATOS-XCDTY21. 00106800
PERFORM 225140-AUDITORIA-UMO-XCDTY21. 00106900
EXEC SQL 00107000
UPDATE XCDTY21 00107100
SET TY21_XC_CTIPCAL =: TY21-XC-CTIPCAL, 00107200
TY21_XC_YEXONER =: TY21-XC-YEXONER, 00107300
TY21_XC_YMINIMO =: TY21-XC-YMINIMO, 00107400
TY21_XC_YMINSTD =: TY21-XC-YMINSTD, 00107500
TY21_XC_YMINPOR =: TY21-XC-YMINPOR, 00107600
TY21_XC_IVALIMP =: TY21-XC-IVALIMP, 00107700
TY21_XC_NVALTAS =: TY21-XC-NVALTAS, 00107800
TY21_XC_CENTUMO =: TY21-XC-CENTUMO, 00107900
TY21_XC_COFIUMO =: TY21-XC-COFIUMO, 00108000
TY21_XC_CTERUMO =: TY21-XC-CTERUMO, 00108100
TY21_XC_CUSUUMO =: TY21-XC-CUSUUMO, 00108200
TY21_XC_FTSTUMO = CURRENT TIMESTAMP 00108300
WHERE 00108400
TY21_XC_CAUTOGE =: TY21-XC-CAUTOGE AND 00108500
TY21_XC_FREFERE =: TY21-XC-FREFERE 00108600
END-EXEC. 00108700
EVALUATE SQLCODE 00108800
WHEN ZEROS 00108900
MOVE 'XCA0001' TO CAA-COD-AVISO1 00109000
MOVE 'MODIFICACION' TO CAA-VAR1-AVISO1 00109100
PERFORM 999999-LOG-UPDATE-Y21 00109200
WHEN +100 00109300
MOVE 'XCE0013' TO CAA-COD-ERROR 00109400
MOVE 'EL CODIGO' TO CAA-VAR1-ERROR 00109500
MOVE 'AUTOGENERADO' TO CAA-VAR2-ERROR 00109600
MOVE -1 TO Y66-CAUTOGEL 00109700
PERFORM 300000-FIN-PROGRAMA 00109800
WHEN OTHER 00109900
MOVE SQLCODE TO W-SQLCODE 00110000
MOVE SQLERRM TO W-SQLERRM 00110100
MOVE 'XCDTY21' TO W-TABLA 00110200
MOVE 'XC2CY660' TO W-PROGRAMA 00110300
MOVE 'MODIFICA-XCDTY21' TO W-REFERENCIA 00110400
MOVE -1 TO Y66-CAUTOGEL 00110500
PERFORM 999999-ERROR-DB2 00110600
END-EVALUATE. 00110700
P53757* 00110800
| *-------------------------------* 00110900
| 224200-MODIF-ANTES-TRAZAB. 00111000
| *--------------------------------* 00111100
| * 00111200
| MOVE 1 TO W-ITEM 00111300
| * 00111400
| EXEC CICS 00111500
| READQ TS QUEUE(W-GTS) 00111600
| INTO(W-GTS-DATOS) 00111700
| ITEM(W-ITEM) 00111800
| END-EXEC. 00111900
| * 00112000
| EVALUATE EIBRESP 00112100
| WHEN (DFHRESP(NORMAL)) 00112200
| MOVE W-Y66-CPRODUC TO TR56-CPRODUC 00112300
| MOVE W-Y66-CSUBPRD TO TR56-CSUBPRD 00112400
| MOVE W-Y66-CCLIENT TO TR56-CCLIENT 00112500
| MOVE W-Y66-COPERAC TO TR56-COPERAC 00112600
| MOVE W-Y66-CAUTOGE TO TR56-CAUTOGE 00112700
| MOVE W-Y66-FREFERE TO TR56-FREFERE 00112800
| MOVE W-Y66-CTIPCAL TO TR56-CTIPCAL 00112900
| MOVE W-Y66-YEXONER TO TR56-YEXONER 00113000
| MOVE W-Y66-YMINIMO TO TR56-YMINIMO 00113100
| MOVE W-Y66-YMINSTD TO TR56-YMINSTD 00113200
| MOVE W-Y66-YMINPOR TO TR56-YMINPOR 00113300
| MOVE W-Y66-IVALIMP TO TR56-IVALIMP 00113400
| MOVE W-Y66-NVALTAS TO TR56-NVALTAS 00113500
| MOVE 11111 TO W-ID-EVENTO 00113600
| MOVE 'M' TO W-TIPO-EVENTO 00113700
| MOVE 'A' TO W-ANTES-DESPUES 00113800
| PERFORM 2241510-TRAZABILIDAD 00113900
| WHEN (DFHRESP(ITEMERR)) 00114000
| WHEN (DFHRESP(QIDERR)) 00114100
| CONTINUE 00114200
| WHEN OTHER 00114300
| MOVE 'ERROR CICS READQ ' 00114400
| TO ABC-REFERENCIA 00114500
| MOVE W-GTS TO ABC-OBJETO-ERROR 00114600
| PERFORM 999999-ERROR-CICS 00114700
| END-EVALUATE. 00114800
| *-------------------------------* 00114900
| 224300-MODIF-DESPUES-TRAZAB. 00115000
| *-------------------------------* 00115100
| MOVE Y66-CPRODUC TO TR56-CPRODUC 00115200
| MOVE Y66-CSUBPRD TO TR56-CSUBPRD 00115300
| MOVE Y66-CCLIENT TO TR56-CCLIENT 00115400
| MOVE Y66-COPERAC TO TR56-COPERAC 00115500
| MOVE Y66-CAUTOGE TO TR56-CAUTOGE 00115600
| MOVE Y66-FREFERE TO TR56-FREFERE 00115700
| MOVE Y66-CTIPCAL TO TR56-CTIPCAL 00115800
| MOVE Y66-YEXONER TO TR56-YEXONER 00115900
| MOVE Y66-YMINIMO TO TR56-YMINIMO 00116000
| MOVE Y66-YMINSTD TO TR56-YMINSTD 00116100
| MOVE Y66-YMINPOR TO TR56-YMINPOR 00116200
| MOVE Y66-IVALIMP TO TR56-IVALIMP 00116300
| MOVE Y66-NVALTAS TO TR56-NVALTAS 00116400
| MOVE 11111 TO W-ID-EVENTO 00116500
| MOVE 'M' TO W-TIPO-EVENTO 00116600
| MOVE 'D' TO W-ANTES-DESPUES 00116700
| PERFORM 2241510-TRAZABILIDAD. 00116800
| *-------------------------------* 00116900
| 2241510-TRAZABILIDAD. 00117000
| *--------------------------------* 00117100
| INITIALIZE QRWCLOGT 00117200
| SET LOGT-MENSAJE TO ADDRESS OF XCWCTR56 00117300
| MOVE W-ID-EVENTO TO LOGT-ID-EVENTO 00117400
| MOVE W-TIPO-EVENTO TO LOGT-TIPO-EVENTO 00117500
| MOVE 'XC' TO LOGT-APLICATIVO 00117600
| MOVE 'XY66' TO LOGT-PROCESO 00117700
| MOVE W-ANTES-DESPUES TO LOGT-ANTES-DESPUES 00117800
| MOVE 'PAR' TO LOGT-MODALIDAD 00117900
| MOVE CAA-USERID TO LOGT-USUARIO 00118000
| MOVE CAA-TERMINAL TO LOGT-TERMINAL 00118100
| MOVE CAA-CANAL-OPERACION 00118200
| TO LOGT-CANAL 00118300
| MOVE CAA-CENTRO-CONT TO LOGT-SUCURSAL 00118400
| CALL WSC-QR5CLOG0 USING QRWCLOGT 00118500
| 00118600
| IF NOT LOGT-RETORNO-OK 00118700
| 00118800
| MOVE 'XCE0016' TO CAA-COD-ERROR 00118900
| MOVE LOGT-DESC-ERROR(1:20) TO CAA-VAR1-ERROR 00119000
| MOVE LOGT-DESC-ERROR(21:20) TO CAA-VAR2-ERROR 00119100
| PERFORM 300000-FIN-PROGRAMA 00119200
| END-IF. 00119300
P53757* 00119400
******************************************************************00119500
* *00119600
* 225000-ALTA *00119700
* *00119800
******************************************************************00119900
225000-ALTA. 00120000
* 00120100
PERFORM 222100-VALIDA-CLAVE. 00120200
PERFORM 222400-VALIDA-DATOS. 00120300
@001 PERFORM 223100-VIGENTE-A-HISTORICO-RUT. 00120400
PERFORM 225100-ALTA-XCDTY21. 00120500
* 00120600
*--------------------* 00120700
225100-ALTA-XCDTY21. 00120800
*--------------------* 00120900
PERFORM 225110-CARGA-CLAVE-XCDTY21. 00121000
PERFORM 225120-CARGA-DATOS-XCDTY21. 00121100
@001 PERFORM 223100-VIGENTE-A-HISTORICO-RUT. 00121200
PERFORM 225130-AUDITORIA-ALT-XCDTY21. 00121300
P53757* 00121400
| PERFORM 225140-ALTA-TRAZAB. 00121500
P53757* 00121600
00121700
EXEC SQL 00121800
INSERT 00121900
INTO XCDTY21 00122000
VALUES (:TY21-XC-CAUTOGE 00122100
,:TY21-XC-FREFERE 00122200
,:TY21-XC-CTIPCAL 00122300
,:TY21-XC-YEXONER 00122400
,:TY21-XC-YMINIMO 00122500
,:TY21-XC-YMINSTD 00122600
,:TY21-XC-YMINPOR 00122700
,:TY21-XC-IVALIMP 00122800
,:TY21-XC-NVALTAS 00122900
,:TY21-XC-CENTALT 00123000
,:TY21-XC-COFIALT 00123100
,:TY21-XC-CTERALT 00123200
,:TY21-XC-CUSUALT 00123300
, CURRENT TIMESTAMP 00123400
,:TY21-XC-CENTUMO 00123500
,:TY21-XC-COFIUMO 00123600
,:TY21-XC-CTERUMO 00123700
,:TY21-XC-CUSUUMO 00123800
,:CTE-TIMESTAM-INIC 00123900
, NULL 00124000
, NULL 00124100
, NULL 00124200
, NULL) 00124300
END-EXEC. 00124400
EVALUATE SQLCODE 00124500
WHEN ZEROS 00124600
MOVE 'XCA0001' TO CAA-COD-AVISO1 00124700
MOVE 'ALTA ' TO CAA-VAR1-AVISO1 00124800
PERFORM 999999-LOG-INSERT-Y21 00124900
WHEN -803 00125000
MOVE 'XCE0014' TO CAA-COD-ERROR 00125100
MOVE 'EL REGISTRO' TO CAA-VAR1-ERROR 00125200
MOVE SPACES TO CAA-VAR2-ERROR 00125300
MOVE -1 TO Y66-CAUTOGEL 00125400
PERFORM 300000-FIN-PROGRAMA 00125500
WHEN OTHER 00125600
MOVE SQLCODE TO W-SQLCODE 00125700
MOVE SQLERRM TO W-SQLERRM 00125800
MOVE 'XCDTY21' TO W-TABLA 00125900
MOVE 'XC2CY660' TO W-PROGRAMA 00126000
MOVE 'ALTA-XCDTY21' TO W-REFERENCIA 00126100
MOVE -1 TO Y66-CAUTOGEL 00126200
PERFORM 999999-ERROR-DB2 00126300
END-EVALUATE. 00126400
*---------------------------* 00126500
225110-CARGA-CLAVE-XCDTY21. 00126600
*---------------------------* 00126700
MOVE Y66-CAUTOGE TO W-CAUTOGE. 00126800
INSPECT W-CAUTOGE REPLACING ALL '_' BY SPACES. 00126900
MOVE W-CAUTOGE TO TY21-XC-CAUTOGE. 00127000
* 00127100
MOVE Y66-FREFERE TO W-FREFERE. 00127200
INSPECT W-FREFERE REPLACING ALL '_' BY SPACES. 00127300
STRING W-FREFERE(5:4) '-' W-FREFERE(3:2) '-' 00127400
W-FREFERE(1:2) DELIMITED BY SIZE INTO W-FREFERE-DB2. 00127500
MOVE W-FREFERE-DB2 TO TY21-XC-FREFERE. 00127600
* 00127700
*---------------------------* 00127800
225120-CARGA-DATOS-XCDTY21. 00127900
*---------------------------* 00128000
MOVE Y66-CTIPCAL TO W-CTIPCAL. 00128100
MOVE Y66-YEXONER TO W-YEXONER. 00128200
MOVE Y66-YMINIMO TO W-YMINIMO. 00128300
MOVE Y66-YMINSTD TO W-YMINSTD. 00128400
MOVE Y66-YMINPOR TO W-YMINPOR. 00128500
MOVE Y66-IVALIMP TO W-IVALIMP. 00128600
MOVE Y66-NVALTAS TO W-NVALTAS. 00128700
INSPECT W-CTIPCAL REPLACING ALL '_' BY SPACES. 00128800
INSPECT W-YEXONER REPLACING ALL '_' BY SPACES. 00128900
INSPECT W-YMINIMO REPLACING ALL '_' BY SPACES. 00129000
INSPECT W-YMINSTD REPLACING ALL '_' BY SPACES. 00129100
INSPECT W-YMINPOR REPLACING ALL '_' BY SPACES. 00129200
INSPECT W-IVALIMP REPLACING ALL '_' BY SPACES. 00129300
INSPECT W-NVALTAS REPLACING ALL '_' BY SPACES. 00129400
MOVE W-CTIPCAL TO TY21-XC-CTIPCAL. 00129500
MOVE W-YEXONER TO TY21-XC-YEXONER. 00129600
MOVE W-YMINIMO TO TY21-XC-YMINIMO. 00129700
MOVE W-YMINSTD TO TY21-XC-YMINSTD. 00129800
MOVE W-YMINPOR TO TY21-XC-YMINPOR. 00129900
MOVE W-IVALIMP TO TY21-XC-IVALIMP. 00130000
MOVE W-NVALTAS TO TY21-XC-NVALTAS. 00130100
*-----------------------------* 00130200
225130-AUDITORIA-ALT-XCDTY21. 00130300
*-----------------------------* 00130400
MOVE CAA-ENTIDAD TO TY21-XC-CENTALT. 00130500
MOVE CAA-CENTRO-CONT TO TY21-XC-COFIALT. 00130600
MOVE CAA-USERID TO TY21-XC-CUSUALT. 00130700
MOVE CAA-TERMINAL TO TY21-XC-CTERALT. 00130800
*-----------------------------* 00130900
225140-AUDITORIA-UMO-XCDTY21. 00131000
*-----------------------------* 00131100
MOVE CAA-ENTIDAD TO TY21-XC-CENTUMO. 00131200
MOVE CAA-CENTRO-CONT TO TY21-XC-COFIUMO. 00131300
MOVE CAA-USERID TO TY21-XC-CUSUUMO. 00131400
MOVE CAA-TERMINAL TO TY21-XC-CTERUMO. 00131500
P53757* 00131600
| *-----------------------------* 00131700
| 225140-ALTA-TRAZAB. 00131800
| *-----------------------------* 00131900
| MOVE Y66-CPRODUC TO TR56-CPRODUC 00132000
| MOVE Y66-CSUBPRD TO TR56-CSUBPRD 00132100
| MOVE Y66-CCLIENT TO TR56-CCLIENT 00132200
| MOVE Y66-COPERAC TO TR56-COPERAC 00132300
| MOVE Y66-CAUTOGE TO TR56-CAUTOGE 00132400
| MOVE Y66-FREFERE TO TR56-FREFERE 00132500
| MOVE Y66-CTIPCAL TO TR56-CTIPCAL 00132600
| MOVE Y66-YEXONER TO TR56-YEXONER 00132700
| MOVE Y66-YMINIMO TO TR56-YMINIMO 00132800
| MOVE Y66-YMINSTD TO TR56-YMINSTD 00132900
| MOVE Y66-YMINPOR TO TR56-YMINPOR 00133000
| MOVE Y66-IVALIMP TO TR56-IVALIMP 00133100
| MOVE Y66-NVALTAS TO TR56-NVALTAS 00133200
| MOVE 11111 TO W-ID-EVENTO 00133300
| MOVE 'A' TO W-TIPO-EVENTO 00133400
| MOVE 'D' TO W-ANTES-DESPUES 00133500
| PERFORM 2241510-TRAZABILIDAD. 00133600
P53757* 00133700
******************************************************************00133800
* *00133900
* 226000-LIMPIA *00134000
* *00134100
******************************************************************00134200
226000-LIMPIA. 00134300
* 00134400
MOVE LOW-VALUES TO XCNCY66. 00134500
PERFORM 211000-LOW-POR-RAYAS-BLANCOS. 00134600
PERFORM 222100-VALIDA-CLAVE. 00134700
* 00134800
******************************************************************00134900
* *00135000
* 227000-BAJA *00135100
* *00135200
******************************************************************00135300
227000-BAJA. 00135400
* 00135500
IF SW-CAMBIO-CLAVE EQUAL 'NO' 00135600
MOVE 'XCA0002' TO CAA-COD-AVISO1 00135700
ELSE 00135800
MOVE 'XCE0002' TO CAA-COD-ERROR 00135900
MOVE 'INTRO' TO CAA-VAR1-ERROR 00136000
MOVE 'VALIDAR CLAVE' TO CAA-VAR2-ERROR 00136100
END-IF. 00136200
* 00136300
******************************************************************00136400
* *00136500
* 229000-AUDITORIA *00136600
* *00136700
******************************************************************00136800
229000-AUDITORIA. 00136900
* 00137000
IF SW-CAMBIO-CLAVE EQUAL 'NO' 00137100
PERFORM 229100-CONSULTA-AUDITORIA 00137200
MOVE 'N' TO XPCA-YALTA 00137300
PERFORM INFORMAR-RETORNO-QGECCAA 00137400
ELSE 00137500
MOVE 'XCE0002' TO CAA-COD-ERROR 00137600
MOVE 'INTRO' TO CAA-VAR1-ERROR 00137700
MOVE 'VALIDAR CLAVE' TO CAA-VAR2-ERROR 00137800
END-IF. 00137900
* 00138000
*--------------------------* 00138100
229100-CONSULTA-AUDITORIA. 00138200
*--------------------------* 00138300
PERFORM 222310-ACCESA-XCDTY21. 00138400
IF SW-EXISTE = 'SI' 00138500
MOVE TY21-XC-CENTALT TO XPCA-CENTALT 00138600
MOVE TY21-XC-COFIALT TO XPCA-COFIALT 00138700
MOVE TY21-XC-CUSUALT TO XPCA-CUSUALT 00138800
MOVE TY21-XC-CTERALT TO XPCA-CTERALT 00138900
MOVE TY21-XC-FTSTALT TO XPCA-FTSTALT 00139000
MOVE TY21-XC-CENTUMO TO XPCA-CENTUMO 00139100
MOVE TY21-XC-COFIUMO TO XPCA-COFIUMO 00139200
MOVE TY21-XC-CUSUUMO TO XPCA-CUSUUMO 00139300
MOVE TY21-XC-CTERUMO TO XPCA-CTERUMO 00139400
MOVE TY21-XC-FTSTUMO TO XPCA-FTSTUMO 00139500
ELSE 00139600
MOVE 'XCE0013' TO CAA-COD-ERROR 00139700
MOVE 'REGISTRO ' TO CAA-VAR1-ERROR 00139800
MOVE ' ' TO CAA-VAR2-ERROR 00139900
MOVE -1 TO Y66-CAUTOGEL 00140000
PERFORM 300000-FIN-PROGRAMA 00140100
END-IF. 00140200
*------------------------* 00140300
INFORMAR-RETORNO-QGECCAA. 00140400
*------------------------* 00140500
MOVE 'R' TO CAA-CASO-CAD. 00140600
MOVE XPCA-CLAVE TO CAA-DATOS-CAD. 00140700
******************************************************************00140800
* *00140900
* 230000-ESTADO-CONFIRMACION *00141000
* *00141100
******************************************************************00141200
230000-ESTADO-CONFIRMACION. 00141300
* 00141400
MOVE -1 TO Y66-CAUTOGEL. 00141500
MOVE CAA-TECLA TO SW-TECLA. 00141600
EVALUATE TRUE 00141700
WHEN PF7 00141800
IF CAA-88-MOD-TAG-NO 00141900
PERFORM 223100-VIGENTE-A-HISTORICO-RUT 00142000
PERFORM 231100-BAJA-XCDTY21 00142100
ELSE 00142200
MOVE 'XCE0017' TO CAA-COD-ERROR 00142300
MOVE 'BAJA' TO CAA-VAR1-ERROR 00142400
END-IF 00142500
WHEN OTHER 00142600
MOVE 'XCA0004' TO CAA-COD-AVISO1 00142700
END-EVALUATE. 00142800
* 00142900
*--------------------* 00143000
231100-BAJA-XCDTY21. 00143100
*--------------------* 00143200
PERFORM 225110-CARGA-CLAVE-XCDTY21. 00143300
P53757* 00143400
| PERFORM 231110-BAJA-TRAZAB. 00143500
P53757* 00143600
EXEC SQL 00143700
DELETE FROM XCDTY21 00143800
WHERE TY21_XC_CAUTOGE =: TY21-XC-CAUTOGE AND 00143900
TY21_XC_FREFERE =: TY21-XC-FREFERE 00144000
END-EXEC. 00144100
EVALUATE SQLCODE 00144200
WHEN ZEROS 00144300
MOVE 'XCA0001' TO CAA-COD-AVISO1 00144400
MOVE 'BAJA' TO CAA-VAR1-AVISO1 00144500
PERFORM 999999-LOG-DELETE-Y21 00144600
WHEN +100 00144700
MOVE 'XCE0013' TO CAA-COD-ERROR 00144800
MOVE 'EL REGISTRO' TO CAA-VAR1-ERROR 00144900
MOVE SPACES TO CAA-VAR2-ERROR 00145000
MOVE -1 TO Y66-CAUTOGEL 00145100
PERFORM 300000-FIN-PROGRAMA 00145200
WHEN OTHER 00145300
MOVE SQLCODE TO W-SQLCODE 00145400
MOVE SQLERRM TO W-SQLERRM 00145500
MOVE 'XCDTY21' TO W-TABLA 00145600
MOVE 'XC2CY660' TO W-PROGRAMA 00145700
MOVE 'BAJA-XCDTY21' TO W-REFERENCIA 00145800
MOVE -1 TO Y66-CAUTOGEL 00145900
PERFORM 999999-ERROR-DB2 00146000
END-EVALUATE. 00146100
P53757* 00146200
| *--------------------* 00146300
| 231110-BAJA-TRAZAB. 00146400
| *--------------------* 00146500
| MOVE Y66-CPRODUC TO TR56-CPRODUC 00146600
| MOVE Y66-CSUBPRD TO TR56-CSUBPRD 00146700
| MOVE Y66-CCLIENT TO TR56-CCLIENT 00146800
| MOVE Y66-COPERAC TO TR56-COPERAC 00146900
| MOVE Y66-CAUTOGE TO TR56-CAUTOGE 00147000
| MOVE Y66-FREFERE TO TR56-FREFERE 00147100
| MOVE Y66-CTIPCAL TO TR56-CTIPCAL 00147200
| MOVE Y66-YEXONER TO TR56-YEXONER 00147300
| MOVE Y66-YMINIMO TO TR56-YMINIMO 00147400
| MOVE Y66-YMINSTD TO TR56-YMINSTD 00147500
| MOVE Y66-YMINPOR TO TR56-YMINPOR 00147600
| MOVE Y66-IVALIMP TO TR56-IVALIMP 00147700
| MOVE Y66-NVALTAS TO TR56-NVALTAS 00147800
| MOVE 11111 TO W-ID-EVENTO 00147900
| MOVE 'B' TO W-TIPO-EVENTO 00148000
| MOVE 'A' TO W-ANTES-DESPUES 00148100
| PERFORM 2241510-TRAZABILIDAD. 00148200
P53757* 00148300
******************************************************************00148400
* *00148500
* 300000-FIN-PROGRAMA *00148600
* *00148700
* -DEVOLVER CONTROL A LA ARQUITECTURA *00148800
* *00148900
******************************************************************00149000
300000-FIN-PROGRAMA. 00149100
* 00149200
EVALUATE TRUE 00151100
WHEN CAA-88-ESTADO-INICIO 00151200
PERFORM 310000-INFORMAR-CAA-INICIO 00151300
WHEN CAA-88-ESTADO-CONTIN 00151400
PERFORM 320000-INFORMAR-CAA-CONTIN 00151500
WHEN OTHER 00151600
PERFORM 330000-INFORMAR-CAA-CONFIR 00151700
END-EVALUATE. 00151800
* 00151900
EXEC CICS 00152000
RETURN 00152100
END-EXEC. 00152200
******************************************************************00152300
* *00152400
* 310000-INFORMAR-CAA-INICIO *00152500
* *00152600
* 1. SETEAR VARIABLES DE LA CAA, COMO QUEDAN EN ESTADO INICIO *00152700
* *00152800
******************************************************************00152900
310000-INFORMAR-CAA-INICIO. 00153000
* 00153100
IF CAA-88-COD-ERROR-VACIO 00153200
MOVE CAA-CODTRAN TO CAA-CODTRAN-SIG 00153300
SET CAA-88-ACCION-TERMINAL TO TRUE 00153400
SET CAA-88-ESTADO-CONTIN TO TRUE 00153500
ELSE 00153600
SET CAA-88-CODTRAN-SIG-SAME TO TRUE 00153700
SET CAA-88-ACCION-TERMINAL TO TRUE 00153800
SET CAA-88-ESTADO-CONTIN TO TRUE 00153900
MOVE W-XCNCY66-INI TO XCNCY66 00154000
END-IF. 00154100
* 00154200
******************************************************************00154300
* *00154400
* 320000-INFORMAR-CAA-CONTIN *00154500
* *00154600
* 1. SETEAR VARIABLES DE CAA, COMO QUEDAN EN ESTADO CONTINUACION *00154700
* *00154800
******************************************************************00154900
320000-INFORMAR-CAA-CONTIN. 00155000
* 00155100
IF CAA-88-COD-ERROR-VACIO 00155200
EVALUATE TRUE 00155300
WHEN PF6 00155400
SET CAA-88-CODTRAN-SIG-SAME TO TRUE 00155500
SET CAA-88-ACCION-TERMINAL TO TRUE 00155600
SET CAA-88-ESTADO-CONFIR TO TRUE 00155700
WHEN SPF10 00155800
MOVE 'XY78' TO CAA-CODTRAN-SIG 00155900
SET CAA-88-ACCION-PROGRAMA TO TRUE 00156000
SET CAA-88-ESTADO-INICIO TO TRUE 00156100
SET CAA-88-CADENA-ANADIR TO TRUE 00156200
WHEN OTHER 00156300
SET CAA-88-CODTRAN-SIG-SAME TO TRUE 00156400
SET CAA-88-ACCION-TERMINAL TO TRUE 00156500
SET CAA-88-ESTADO-CONTIN TO TRUE 00156600
END-EVALUATE 00156700
ELSE 00156800
SET CAA-88-CODTRAN-SIG-SAME TO TRUE 00156900
SET CAA-88-ACCION-TERMINAL TO TRUE 00157000
SET CAA-88-ESTADO-CONTIN TO TRUE 00157100
END-IF. 00157200
* 00157300
******************************************************************00157400
* *00157500
* 330000-INFORMAR-CAA-CONFIR *00157600
* *00157700
* 1. SETEAR VARIABLES DE CAA, COMO QUEDAN EN ESTADO CONFIRMACION *00157800
* *00157900
******************************************************************00158000
330000-INFORMAR-CAA-CONFIR. 00158100
* 00158200
SET CAA-88-CODTRAN-SIG-SAME TO TRUE. 00158300
SET CAA-88-ACCION-TERMINAL TO TRUE. 00158400
SET CAA-88-ESTADO-CONTIN TO TRUE. 00158500
******************************************************************00158600
* *00158700
* 510000-VALIDA-CPRODUC *00158800
* *00158900
* 1. VALIDA CODIGO DE PRODUCTO *00159000
* *00159100
******************************************************************00159200
* 00159300
510000-VALIDA-CPRODUC. 00159400
*---------------------* 00159500
MOVE TY17-XC-CPRODUC TO W-CPRODUC. 00159600
INSPECT W-CPRODUC REPLACING ALL '_' BY SPACES. 00159700
INSPECT W-CPRODUC REPLACING ALL LOW-VALUES BY SPACES. 00159800
IF W-CPRODUC EQUAL SPACES 00159900
MOVE 'XCE0006' TO CAA-COD-ERROR 00160000
MOVE 'PRODUCTO' TO CAA-VAR1-ERROR 00160100
PERFORM 300000-FIN-PROGRAMA 00160200
END-IF. 00160300
* 00160400
INITIALIZE TCWC0000. 00160500
MOVE '0111' TO W000-CDTABLA. 00160600
MOVE W-CPRODUC TO W000-CLAVTG. 00160700
PERFORM 511000-ACCESA-TC2C1000. 00160800
IF SW-EXISTE = 'SI' 00160900
MOVE W000-CONTOCUR TO T111-DATOS 00161000
MOVE T111-TCNPROD TO Y66-DPRODUC 00161100
ELSE 00161200
MOVE 'XCE0013' TO CAA-COD-ERROR 00161300
MOVE 'EL CODIGO PRODUCTO:' TO CAA-VAR1-ERROR 00161400
MOVE W-CPRODUC TO CAA-VAR2-ERROR 00161500
PERFORM 300000-FIN-PROGRAMA 00161600
END-IF. 00161700
*-----------------------* 00161800
511000-ACCESA-TC2C1000. 00161900
*-----------------------* 00162000
MOVE CAA-ENTIDAD TO W000-STBANCO. 00162100
MOVE CAA-IDIOMA-TERM TO W000-TCCIDIOM. 00162200
MOVE '01' TO W000-NUCLAVE. 00162300
* EXEC CICS 00162400
* LINK PROGRAM ('TC2C1000') 00162500
* COMMAREA (TCWC0000) 00162600
* END-EXEC. 00162700
* IF EIBRESP NOT EQUAL DFHRESP(NORMAL) 00162800
* MOVE 'ERROR CICS TC2C1000' TO ABC-REFERENCIA 00162900
* MOVE 'TC2C1000' TO ABC-OBJETO-ERROR 00163000
* PERFORM 999999-ERROR-CICS 00163100
* END-IF. 00163200
CALL XC6CM410 USING DFHEIBLK TCWC0000. 00163300
EVALUATE W000-CDRETORN 00163400
WHEN '00' MOVE 'SI' TO SW-EXISTE 00163500
WHEN '10' MOVE 'NO' TO SW-EXISTE 00163600
WHEN '80' 00163700
MOVE 'ACCESA-TC2C1000' TO W-REFERENCIA 00163800
MOVE 'TC2C1000' TO W-PROGRAMA 00163900
MOVE W000-TABLENAME TO W-TABLA 00164000
MOVE W000-SQLCODE TO W-SQLCODE 00164100
MOVE W000-SQLERRM TO W-SQLERRM 00164200
PERFORM 999999-ERROR-DB2 00164300
WHEN OTHER 00164400
MOVE 'XCE0020' TO CAA-COD-ERROR 00164500
MOVE W000-CDRETORN TO CAA-VAR1-ERROR 00164600
MOVE 'TC2C1000' TO CAA-VAR2-ERROR 00164700
MOVE CAA-CODTRAN TO CAA-VAR2-ERROR(16:4) 00164800
PERFORM 999999-LOG-ERR-TC2C1000 00164900
PERFORM 300000-FIN-PROGRAMA 00165000
END-EVALUATE. 00165100
*---------------------* 00165200
520000-VALIDA-CSUBPRD. 00165300
*---------------------* 00165400
MOVE TY17-XC-CSUBPRD TO W-CSUBPRD. 00165500
INSPECT W-CSUBPRD REPLACING ALL '_' BY SPACES. 00165600
INSPECT W-CSUBPRD REPLACING ALL LOW-VALUES BY SPACES. 00165700
INITIALIZE TCWC0000. 00165800
MOVE WQPA-CTCSPRD TO W000-CDTABLA. 00165900
MOVE W-CPRODUC TO W000-CLAVTG(1:2). 00166000
MOVE W-CSUBPRD TO W000-CLAVTG(3:4). 00166100
PERFORM 511000-ACCESA-TC2C1000. 00166200
IF SW-EXISTE = 'SI' 00166300
MOVE W000-CONTOCUR(4:40) TO Y66-DSUBPRD 00166400
ELSE 00166500
IF W-CSUBPRD EQUAL SPACES 00166600
MOVE 'XCE0006' TO CAA-COD-ERROR 00166700
MOVE 'SUBPRODUCTO' TO CAA-VAR1-ERROR 00166800
PERFORM 300000-FIN-PROGRAMA 00166900
END-IF 00167000
MOVE 'XCE0013' TO CAA-COD-ERROR 00167100
MOVE 'EL CODIGO SUBPROD.:' TO CAA-VAR1-ERROR 00167200
MOVE W-CSUBPRD TO CAA-VAR2-ERROR 00167300
PERFORM 300000-FIN-PROGRAMA 00167400
END-IF. 00167500
*---------------------* 00167600
530000-VALIDA-CCLILOC. 00167700
*---------------------* 00167800
MOVE TY17-XC-CCLILOC TO W-CCLILOC. 00167900
INSPECT W-CCLILOC REPLACING ALL '_' BY SPACES. 00168000
INSPECT W-CCLILOC REPLACING ALL LOW-VALUES BY SPACES. 00168100
IF W-CCLILOC EQUAL SPACES 00168200
MOVE 'XCE0006' TO CAA-COD-ERROR 00168300
MOVE 'CLIENTE' TO CAA-VAR1-ERROR 00168400
PERFORM 300000-FIN-PROGRAMA 00168500
END-IF. 00168600
* 00168700
INITIALIZE PEWC5200. 00168800
MOVE W-CCLILOC TO W520-NUMCLIEN. 00168900
PERFORM 531000-ACCESA-PE2C5200. 00169000
IF SW-EXISTE = 'SI' 00169100
PERFORM 532000-FORMATEAR-NOMBRE 00169200
MOVE W-NOM62 TO Y66-DCLIENT 00169300
ELSE 00169400
MOVE 'XCE0013' TO CAA-COD-ERROR 00169500
MOVE 'EL CODIGO CLIENTE:' TO CAA-VAR1-ERROR 00169600
MOVE W-CCLILOC TO CAA-VAR2-ERROR 00169700
PERFORM 300000-FIN-PROGRAMA 00169800
END-IF. 00169900
*-----------------------* 00170000
531000-ACCESA-PE2C5200. 00170100
*-----------------------* 00170200
* EXEC CICS 00170300
* LINK PROGRAM ('PE2C5200') 00170400
* COMMAREA (PEWC5200) 00170500
* NOHANDLE 00170600
* END-EXEC. 00170700
* IF EIBRESP NOT EQUAL DFHRESP(NORMAL) 00170800
* MOVE 'ERROR CICS PE2C5200' TO ABC-REFERENCIA 00170900
* MOVE 'PE2C5200' TO ABC-OBJETO-ERROR 00171000
* PERFORM 999999-ERROR-CICS 00171100
* END-IF. 00171200
CALL XC6CM230 USING DFHEIBLK PEWC5200 00171300
EVALUATE W520-PECRETOR 00171400
WHEN '00' 00171500
WHEN '20' 00171600
MOVE 'SI' TO SW-EXISTE 00171700
WHEN '10' 00171800
MOVE 'NO' TO SW-EXISTE 00171900
WHEN '99' 00172000
MOVE 'ACCESA-PE2C5200' TO W-REFERENCIA 00172100
MOVE 'PE2C5200' TO W-PROGRAMA 00172200
MOVE W520-TABLENAME TO W-TABLA 00172300
MOVE W520-SQLCODE TO W-SQLCODE 00172400
MOVE W520-SQLERRM TO W-SQLERRM 00172500
PERFORM 999999-ERROR-DB2 00172600
WHEN OTHER 00172700
MOVE 'XCE0020' TO CAA-COD-ERROR 00172800
MOVE W520-PECRETOR TO CAA-VAR1-ERROR 00172900
MOVE 'PE2C5200' TO CAA-VAR2-ERROR 00173000
MOVE CAA-CODTRAN TO CAA-VAR2-ERROR(16:4) 00173100
PERFORM 999999-LOG-ERR-PE2C5200 00173200
PERFORM 300000-FIN-PROGRAMA 00173300
END-EVALUATE. 00173400
*-----------------------* 00173500
532000-FORMATEAR-NOMBRE. 00173600
*-----------------------* 00173700
MOVE SPACES TO W-NOM62. 00173800
MOVE 1 TO W-PUNTERO. 00173900
MOVE W520-NOMBRE TO W-NOMBRE. 00174000
MOVE W520-PRIAPE TO W-PRIAPE. 00174100
MOVE W520-SEGAPE TO W-SEGAPE. 00174200
* 00174300
IF W520-SUJGRUP = 'F' 00174400
MOVE 'SI' TO SW-PERSONA 00174500
ELSE 00174600
MOVE 'NO' TO SW-PERSONA 00174700
END-IF. 00174800
* 00174900
STRING W-NOMBRE DELIMITED BY ' ' 00175000
INTO W-NOM62 00175100
WITH POINTER W-PUNTERO 00175200
END-STRING. 00175300
* 00175400
IF SW-PERSONA = 'SI' 00175500
IF W-PRIAPE NOT = SPACES AND 00175600
W-PRIAPE NOT = LOW-VALUES 00175700
STRING ' ' W-PRIAPE DELIMITED BY ' ' 00175800
INTO W-NOM62 00175900
WITH POINTER W-PUNTERO 00176000
END-STRING 00176100
END-IF 00176200
ELSE 00176300
IF W-PRIAPE NOT = SPACES AND 00176400
W-PRIAPE NOT = LOW-VALUES 00176500
STRING W-PRIAPE DELIMITED BY ' ' 00176600
INTO W-NOM62 00176700
WITH POINTER W-PUNTERO 00176800
END-STRING 00176900
END-IF 00177000
END-IF. 00177100
* 00177200
IF SW-PERSONA = 'SI' 00177300
IF W-SEGAPE NOT = SPACES AND 00177400
W-SEGAPE NOT = LOW-VALUES 00177500
STRING ' ' W-SEGAPE DELIMITED BY ' ' 00177600
INTO W-NOM62 00177700
WITH POINTER W-PUNTERO 00177800
END-STRING 00177900
END-IF 00178000
ELSE 00178100
IF W-SEGAPE NOT = SPACES AND 00178200
W-SEGAPE NOT = LOW-VALUES 00178300
STRING W-SEGAPE DELIMITED BY ' ' 00178400
INTO W-NOM62 00178500
WITH POINTER W-PUNTERO 00178600
END-STRING 00178700
END-IF 00178800
END-IF. 00178900
* 00179000
*-----------------* 00179100
999999-ERROR-CICS. 00179200
*-----------------* 00179300
MOVE 'S' TO ABC-ABEND. 00179400
MOVE 'XC2CY660' TO ABC-PROGRAMA. 00179500
MOVE EIBFN TO ABC-EIBFN. 00179600
MOVE EIBRSRCE TO ABC-EIBRSRCE. 00179700
MOVE EIBRCODE TO ABC-EIBRCODE. 00179800
MOVE EIBRESP TO ABC-EIBRESP1. 00179900
MOVE EIBRESP2 TO ABC-EIBRESP2. 00180000
EXEC CICS LINK PROGRAM('QG1CABC') 00180100
COMMAREA(QGECABC) 00180200
END-EXEC. 00180300
*-----------------* 00180400
999999-ERROR-DB2. 00180500
*-----------------* 00180600
MOVE 'N' TO ABC-ABEND. 00180700
MOVE W-PROGRAMA TO ABC-PROGRAMA. 00180800
MOVE W-REFERENCIA TO ABC-REFERENCIA. 00180900
MOVE W-TABLA TO ABC-OBJETO-ERROR. 00181000
MOVE W-SQLCODE TO ABC-SQLCODE. 00181100
MOVE W-SQLERRM TO ABC-SQLERRM. 00181200
EXEC CICS 00181300
LINK 00181400
PROGRAM ('QG1CABC') 00181500
COMMAREA (QGECABC) 00181600
END-EXEC. 00181700
* 00181800
MOVE 'XCE0025' TO CAA-COD-ERROR. 00181900
MOVE W-TABLA TO CAA-VAR1-ERROR. 00182000
MOVE 'PGM' TO CAA-VAR1-ERROR(09:3). 00182100
MOVE W-PROGRAMA TO CAA-VAR1-ERROR(13:8). 00182200
MOVE W-SQLCODE TO CAA-VAR2-ERROR. 00182300
MOVE CAA-CODTRAN TO CAA-VAR2-ERROR(7:4). 00182400
PERFORM 300000-FIN-PROGRAMA. 00182500
*---------------------* 00182600
999999-LOG-UPDATE-Y21. 00182700
*---------------------* 00182800
INITIALIZE WTLG-REGISTRO. 00182900
MOVE 'MOD' TO WTLG-CTIPREG. 00183000
MOVE 'LOG-UPDATE-Y21' TO WTLG-DTXTREF. 00183100
MOVE 'XCDTY21' TO WTLG-CTABREF. 00183200
MOVE 'XCGTY21' TO WTLG-CCPYAP1. 00183300
MOVE DCLXCDTY21 TO WTLG-DDATAP1. 00183400
PERFORM 999999-ACCESA-XC7CTLG0. 00183500
*---------------------* 00183600
999999-LOG-INSERT-Y21. 00183700
*---------------------* 00183800
INITIALIZE WTLG-REGISTRO. 00183900
MOVE 'ALT' TO WTLG-CTIPREG. 00184000
MOVE 'LOG-INSERT-Y21' TO WTLG-DTXTREF. 00184100
MOVE 'XCDTY21' TO WTLG-CTABREF. 00184200
MOVE 'XCGTY21' TO WTLG-CCPYAP1. 00184300
MOVE DCLXCDTY21 TO WTLG-DDATAP1. 00184400
PERFORM 999999-ACCESA-XC7CTLG0. 00184500
*---------------------* 00184600
999999-LOG-DELETE-Y21. 00184700
*---------------------* 00184800
INITIALIZE WTLG-REGISTRO. 00184900
MOVE 'BAJ' TO WTLG-CTIPREG. 00185000
MOVE 'LOG-DELETE-Y21' TO WTLG-DTXTREF. 00185100
MOVE 'XCDTY21' TO WTLG-CTABREF. 00185200
MOVE 'XCGTY21' TO WTLG-CCPYAP1. 00185300
MOVE DCLXCDTY21 TO WTLG-DDATAP1. 00185400
PERFORM 999999-ACCESA-XC7CTLG0. 00185500
* 00185600
@001I *-----------------------* 00185700
999999-LOG-ERR-XC7CYT50. 00185800
*-----------------------* 00185900
INITIALIZE WTLG-REGISTRO. 00186000
MOVE 'ERR' TO WTLG-CTIPREG. 00186100
MOVE 'LOG-ERR-XC7CYT50' TO WTLG-DTXTREF. 00186200
MOVE CAA-VAR1-ERROR TO WTLG-CERROR. 00186300
MOVE CAA-VAR2-ERROR TO WTLG-CRUTREF. 00186400
MOVE 'XCWCYT50' TO WTLG-CCPYAP1. 00186500
MOVE XCWCYT50 TO WTLG-DDATAP1. 00186600
@001F PERFORM 999999-ACCESA-XC7CTLG0. 00186700
*-----------------------* 00186800
999999-LOG-ERR-TC2C1000. 00186900
*-----------------------* 00187000
INITIALIZE WTLG-REGISTRO. 00187100
MOVE 'ERR' TO WTLG-CTIPREG. 00187200
MOVE 'LOG-ERR-TC2C1000' TO WTLG-DTXTREF. 00187300
MOVE CAA-VAR1-ERROR TO WTLG-CERROR. 00187400
MOVE CAA-VAR2-ERROR TO WTLG-CRUTREF. 00187500
MOVE 'TCWC0000' TO WTLG-CCPYAP1. 00187600
MOVE TCWC0000 TO WTLG-DDATAP1. 00187700
PERFORM 999999-ACCESA-XC7CTLG0. 00187800
*-----------------------* 00187900
999999-LOG-ERR-PE2C5200. 00188000
*-----------------------* 00188100
INITIALIZE WTLG-REGISTRO. 00188200
MOVE 'ERR' TO WTLG-CTIPREG. 00188300
MOVE 'LOG-ERR-PE2C5200' TO WTLG-DTXTREF. 00188400
MOVE CAA-VAR1-ERROR TO WTLG-CERROR. 00188500
MOVE CAA-VAR2-ERROR TO WTLG-CRUTREF. 00188600
MOVE 'PEWC5200' TO WTLG-CCPYAP1. 00188700
MOVE PEWC5200 TO WTLG-DDATAP1. 00188800
PERFORM 999999-ACCESA-XC7CTLG0. 00188900
*----------------------* 00189000
999999-ACCESA-XC7CTLG0. 00189100
*----------------------* 00189200
MOVE 'XY' TO WTLG-CMODULO. 00189300
MOVE 'L' TO WTLG-CLINBAT. 00189400
MOVE 'XC2CY660' TO WTLG-CPROGRA. 00189500
MOVE CAA-CODTRAN TO WTLG-CTRANSA. 00189600
MOVE CAA-USERID TO WTLG-CUSUARI. 00189700
MOVE CAA-TERMINAL-CONT TO WTLG-CTERMIN. 00189800
MOVE 'XCNCY66' TO WTLG-CCPYAP2. 00189900
MOVE XCNCY66 TO WTLG-DDATAP2. 00190000
MOVE 'XCECPCA' TO WTLG-CCPYAP3. 00190100
MOVE XCECPCA TO WTLG-DDATAP3. 00190200
MOVE CAA-ENTIDAD TO WTLG-CENTPRO. 00190300
MOVE CAA-CENTRO-CONT TO WTLG-COFIPRO. 00190400
EXEC CICS 00190500
LINK PROGRAM ('XC7CTLG0') 00190600
COMMAREA (XCWCTLG0) 00190700
END-EXEC. 00190800
IF EIBRESP NOT EQUAL DFHRESP(NORMAL) 00190900
MOVE 'ERROR CICS XC7CTLG0' TO ABC-REFERENCIA 00191000
MOVE 'XC7CTLG0' TO ABC-OBJETO-ERROR 00191100
PERFORM 999999-ERROR-CICS 00191200
END-IF. 00191300
EVALUATE WTLG-CDRETO 00191400
WHEN '00' 00191500
CONTINUE 00191600
WHEN '99' 00191700
MOVE 'ACCESA-XC7CTLG0' TO W-REFERENCIA 00191800
MOVE 'XC7CTLG0' TO W-PROGRAMA 00191900
MOVE WTLG-SQLTBL TO W-TABLA 00192000
MOVE WTLG-SQLCOD TO W-SQLCODE 00192100
MOVE WTLG-SQLMEN TO W-SQLERRM 00192200
PERFORM 999999-ERROR-DB2 00192300
WHEN OTHER 00192400
MOVE 'XCE0020' TO CAA-COD-ERROR 00192500
MOVE WTLG-CDRETO TO CAA-VAR1-ERROR 00192600
MOVE 'XC7CTLG0' TO CAA-VAR2-ERROR 00192700
MOVE CAA-CODTRAN TO CAA-VAR2-ERROR(16:4) 00192800
PERFORM 300000-FIN-PROGRAMA 00192900
END-EVALUATE. 00193000
* 00193100

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