Professional Documents
Culture Documents
SELECT TIPOSOL
FROM MPDT096
WHERE PAN = :DCLMPDT096.PAN
AND (INDINCPEN = ‘S’
OR TIPOSOL = 0 )
Si el select entrega uno o más de un registro entonces cuanta 1 en CN-ABON-CARG, esta para cada pan del
contrato.
o Reclamaciones
SELECT CODAJU
FROM MPDT199
WHERE CODENT = :DCLMPDT199.CODENT
AND CENTALTA = :DCLMPDT199.CENTALTA
AND CUENTA = :DCLMPDT199.CUENTA
AND (INDRECPEN = 'S'
OR CODAJU = 0 )
o Normalizaciones:
SELECT SIGNOTIPFAC
FROM MPDT009 T1, MPDT015 T2
WHERE T1.CODENT = :DCLMPDT009.CODENT
AND T1.CENTALTA = :DCLMPDT009.CENTALTA
AND T1.CUENTA = :DCLMPDT009.CUENTA
AND T1.INDSITTAR = 5
AND T1.INDULTTAR = ‘S’
AND T1.PAN = T2.PAN
AND T2.ESTADO = 0
0015 0000 810007881505 TA 2017-12-10 2017-11-24 2017-12-10 201711247654487 54300,00 54300,00 0,00 0001-01-01 0001-01-01 0001-01-01 2017-12-11 152 0
0015 0000 810007881505 103 152 3 53 6 0,00 162,00 0,00 0,00 0,00 2,9800
NUMMOVEXT.mpdt194 WS-NUMMOV-ANT
Si INDMVANU = 0
Si OPCIÓN = “T”
Acceder tabla de movimientos de conceptos económicos mpdt151
Si existe el concepto económico
Actualizar tabla mpdt151
Sino
Insertar tabla mpdt151
FinSi
Fin Si
Proceso Acumular importes
COMPUTE WS-IMPNETO-INT = W194IMPBRUECO - W194IMPBONECO
WS-IMPNETO-INT = W194IMPBRUECO - W194IMPBONECO
WS-IMPNETO-INT = 162 - 0
IN-TRAINT = TIPIMP.mpdt194 = 6
ADD WS-IMPNETO-INT TO EL-TRAINT-IMPORTE(IN-TRAINT)
EL-TRAINT-TIPIMP EL-TRAINT-IMPORTE(IN-TRAINT)
Capital 1 0
Comisión 2 0
Intereses 3 0
Impuestos 4 0
gasto de cobranza 5 0
intereses de mora 6 162
impuesto de mora 7 0
Si TIPIMP.mpdt194 = 5 o 6
WS-TIPIMPIMPTO = 7 , Tipo importe impuesto mora
Sino
WS-TIPIMPIMPTO = 4 , Tipo importe impuesto
Fin Si
IN-TRAINT = WS-TIPIMPIMPTO = 7
Si WS-IMPNETO-INT > 0 y
ATTRAINT-OPCION = ‘T’
Proceso actualizar saldos
Fin Si
FinSi
Fin Si
ATTRAINT-CODENT PIC X(04). ='0015'
ATTRAINT-CENTALTA PIC X(04). ='0000'
ATTRAINT-CUENTA PIC X(12). ='810007881505'
ATTRAINT-NUMEXTCTA PIC 9(03). ='103'
ATTRAINT-CLAMON PIC 9(03). ='152'
ATTRAINT-OPCION PIC X(01). ='S'
ATTRAINT-FECHA PIC X(10). =' '
EL-TRAINT-TIPIMP PIC 9(02). ='01'
EL-TRAINT-IMPORTE PIC S9(15)V99. ='000000000000000,00'
EL-TRAINT-TIPIMP PIC 9(02). ='02'
EL-TRAINT-IMPORTE PIC S9(15)V99. ='000000000000000,00'
EL-TRAINT-TIPIMP PIC 9(02). ='03'
EL-TRAINT-IMPORTE PIC S9(15)V99. ='000000000000000,00'
EL-TRAINT-TIPIMP PIC 9(02). ='04'
EL-TRAINT-IMPORTE PIC S9(15)V99. ='000000000000000,00'
EL-TRAINT-TIPIMP PIC 9(02). ='05'
EL-TRAINT-IMPORTE PIC S9(15)V99. ='000000000000000,00'
EL-TRAINT-TIPIMP PIC 9(02). ='06'
EL-TRAINT-IMPORTE PIC S9(15)V99. ='000000000000162,00'
EL-TRAINT-TIPIMP PIC 9(02). ='07'
EL-TRAINT-IMPORTE PIC S9(15)V99. ='000000000000000,00'
EL-TRAINT-TIPIMP PIC 9(02). ='00'
EL-TRAINT-IMPORTE PIC S9(15)V99. ='000000000000000,00'
EL-TRAINT-TIPIMP PIC 9(02). ='00'
EL-TRAINT-IMPORTE PIC S9(15)V99. ='000000000000000,00'
EL-TRAINT-TIPIMP PIC 9(02). ='00'
EL-TRAINT-IMPORTE PIC S9(15)V99. ='000000000000000,00'
ATTRAINT-CODRET PIC 9(1). ='0'
ATTRAINT-NOMBRE-BD PIC X(24). =' '
ATTRAINT-NOMBRE-TABLA PIC X(11). =' '
ATTRAINT-OPERACION PIC X(20). =' '
FILLER PIC X(10). =' '
Fin llamada ATR048
Se cuentan el número de tipo de importes desde mpdt176 tipos de importe, WS-NUM-
TIPIMP = 7
EL-TRAINT-TIPIMP EL-TRAINT-IMPORTE(IN-TRAINT)
capital 1 0
comisión 2 0
intereses 3 0
impuestos 4 0
gasto de cobranza 5 0
intereses de mora 6 162
impuesto de mora 7 0
Si CODIMPTO.mpdt044 <> 0
Llamar rutina ATR036
AC-IMPORTE-IMPUESTOS = AC-IMPORTE-IMPUESTOS + ATRUTIMP-IMPUESTO
ATRUTIMP-IMPUESTO IMPIMPTO.mpdt012
Sino
Zeros IMPIMPTO.mpdt012
Fin Si
AC-IMPORTE-FACTURA = AC-IMPORTE-COMISIONES +
AC-IMPORTE-INTERESES +
AC-IMPORTE-IMPUESTOS
AC-IMPORTE-FACTURA = 0 + 162 + 0 = 162
Si ATTRAINT-OPCION = ‘T’
…
Sino
ATLIQIMP-IMPORTE = W113IMPREC - W113IMPAPL
ATLIQIMP-IMPORTE = W113IMPREC - W113IMPAPL
ATLIQIMP-IMPORTE = 54.300 - 0
Fin Si
COMPUTE ATLIQIMP-IMPORTE = W113IMPREC - W113IMPAPL
ATLIQIMP-IMPORTE = W113IMPREC - W113IMPAPL
ATLIQIMP-IMPORTE = 54.300 - 0
Si ATLIQIMP-OPCION = ‘S’
MOVE AC-IMPORTE-INTERESES TO ATLIQIMP-INTMORA = 162
MOVE AC-IMPORTE-IMPUESTOS TO ATLIQIMP-IMPMORA =0
MOVE AC-IMPORTE-COMISIONES TO ATLIQIMP-COMMORA =0
Fin Si
Fin Si
ATLIQIMP-CODENT PIC X(04). ='0015'
ATLIQIMP-CENTALTA PIC X(04). ='0000'
ATLIQIMP-CUENTA PIC X(12). ='810007881505'
ATLIQIMP-CLAMON PIC 9(03). ='152'
ATLIQIMP-NUMEXTCTA PIC 9(03). ='103'
ATLIQIMP-OPCION PIC X(01). ='S'
ATLIQIMP-PRODUCTO PIC X(02). ='15'
ATLIQIMP-SUBPRODU PIC X(04). ='0021'
ATLIQIMP-CONPROD PIC X(03). ='001'
ATLIQIMP-CODCAM PIC X(06). ='000000'
ATLIQIMP-TIPBON PIC X(06). =' '
ATLIQIMP-INDUF PIC X(01). ='S'
ATLIQIMP-CLAMONUF PIC 9(03). ='990'
ATLIQIMP-FECHASYS PIC X(10). ='2017-12-21'
ATLIQIMP-FECCON PIC X(10). ='2017-12-21'
ATLIQIMP-FORCALINT PIC X(01). ='O'
ATLIQIMP-CODREGIMEN PIC 9(04). ='0001'
ATLIQIMP-OFIMPAGO PIC X(04). ='0001'
ATLIQIMP-CODPAIS PIC 9(03). ='152'
ATLIQIMP-HORA PIC X(08). ='123744 '
ATLIQIMP-CENTRO-CONT PIC X(04). ='0000'
ATLIQIMP-USERID PIC X(08). ='00001651'
ATLIQIMP-TERMINAL PIC X(08). ='88888888'
ATLIQIMP-CODJAVA PIC X(07). ='OPALRDC'
ATLIQIMP-CODRET PIC 9(02). ='00'
ATLIQIMP-IMPORTE PIC S9(15)V99. ='000000000054300,00'
ATLIQIMP-INTMORA PIC S9(15)V99. ='000000000000162,00'
ATLIQIMP-IMPMORA PIC S9(15)V99. ='000000000000000,00'
ATLIQIMP-COMMORA PIC S9(15)V99. ='000000000000000,00'
Fin llamada ATR033
Si ATLIQIMP-CODRET ='00'
ADD ATLIQIMP-INTMORA TO WS-INTMORA = 162
ADD ATLIQIMP-COMMORA TO WS-COMMORA =0
Fin Si
Llamada rutina ATR055
ATCOMDEU-CODENT PIC X(4). ='0015'
ATCOMDEU-CENTALTA PIC X(4). ='0000'
ATCOMDEU-CUENTA PIC X(12). ='810007881505'
ATCOMDEU-NUMEXTCTA PIC 9(3). ='103'
ATCOMDEU-CLAMON PIC 9(3). ='152'
ATCOMDEU-PRODUCTO PIC X(2). ='15'
ATCOMDEU-SUBPRODU PIC X(4). ='0021'
ATCOMDEU-CONPROD PIC X(3). ='001'
ATCOMDEU-CODCAM PIC X(6). ='000000'
ATCOMDEU-CLAMON-PRO PIC 9(3). ='152'
ATCOMDEU-INDUF PIC X(1). ='S'
ATCOMDEU-CLAMONUF PIC 9(03). ='990'
ATCOMDEU-TIPBON PIC X(6). =' '
ATCOMDEU-CODREGIMEN PIC 9(4). ='0001'
ATCOMDEU-FECPROCES PIC X(10). ='2017-12-21'
ATCOMDEU-FECCONTA PIC X(10). ='2017-12-21'
ATCOMDEU-OFIMPAGO PIC X(04). ='0000'
ATCOMDEU-TERMINAL PIC X(08). ='88888888'
ATCOMDEU-USERID PIC X(08). ='00001651'
ATCOMDEU-HORA PIC X(08). ='123744 '
ATCOMDEU-SESION PIC 9(15). ='000000000000000'
ATCOMDEU-CODREPSIST PIC X(04). ='4 '
ATCOMDEU-CODRET PIC 9(01). ='0'
ATCOMDEU-IMPCARGO PIC S9(15)V99. ='000000000000000,00'
ATCOMDEU-COMISION-INT PIC S9(15)V99. ='000000000000000,00'
ATCOMDEU-CLAMON-CONV PIC 9(03). ='000'
ATCOMDEU-SECOPE PIC 9(12). ='000000000000'
ATCOMDEU-CAPITAL PIC S9(15)V99. ='000000000000000,00'
ATCOMDEU-INTERESES PIC S9(15)V99. ='000000000000000,00'
ATCOMDEU-COMISIONES PIC S9(15)V99. ='000000000000000,00'
ATCOMDEU-IMPUESTOS PIC S9(15)V99. ='000000000000000,00'
ATCOMDEU-INTMORA PIC S9(15)V99. ='000000000000000,00'
ATCOMDEU-COMMORA PIC S9(15)V99. ='000000000000000,00'
ATCOMDEU-TOTAL-CONCEPTO PIC S9(15)V99. ='000000000000000,00'
Cursor sobre tabla mpdt182, desglose de extractos por línea y tipos de importe.
SELECT LINEA, TIPIMP, IMPINI, IMPAPL
FROM MPDT182
WHERE CODENT = '0015'
AND CENTALTA = '0000'
AND CUENTA = '810007881505'
AND NUMEXTCTA = 103
AND CLAMON = 152
ORDER BY LINEA, TIPIMP
NUMEXTCTA CLAMON NUMMOVEXT INDNORCOR TIPOFAC FECFAC INDMOVEXT INDMOVANU INDRET PAN IMPFAC IMPIMPTO CODPAIS CODACT SECOPE SIAIDCD FECLIQ IMPAMORT
103 152 1 0 100 2017-11-24 0 0 0 354300,00 0,00 152 0 1385903625 2017-11-24 0,00
103 152 4 0 67 2017-12-05 0 0 0 4998471888204261 300000,00 0,00 152 5311 320170207 3391336591506882 0001-01-01 300000,00
103 152 5 0 1024 2017-12-05 0 0 0 0,00 0,00 152 0 1390731401 2017-12-05 0,00
103 152 6 0 1110 2017-12-05 0 0 0 0,00 0,00 152 0 1391128967 0001-01-01 0,00
Para cada uno de los registros anteriores se realizan los siguientes pasos:
Lectura tabla tipos de factura mpdt044 para cada TIPOFAC e INDNORCOR de
mpdt012, destacado en amarillo. Lectura uno a uno.
TIPOFAC SIGNO INDFACINF INDFACFIN INDAPLINT TIPFECINIINT CODIMPTO
100 + S N N 0
78 + N N N 0
72 + S N S C 0
67 - N N N 0
1024 + S N N 0
1110 + N N N 0
Lectura tabla mpdt151 para cada NUMMOVEXT de mpdt012, destacado en verde.
Para este caso encontró un registro para el nummovext 5 y 6.
NUMMOVEXT CODCONECO TIPIMP IMPAPLECO IMPBRUECO IMPBONECO IMPIMPTO IMPIMPTO2 PORINT
5 4001 5 186259,00 14900,00 0,00 0,00 0,00 1,4900
6 53 6 0,00 2035,00 0,00 0,00 0,00 2,9800
Se ejecuta registro a registro el siguiente algoritmo:
Si SIGNO.mpdt044 = ‘-‘
WS-IMPORTE = WS-IMPORTE * -1
Fin Si
AC-DEUDA-TOTAL += WS-IMPORTE
E-IMPFIN(1,1) += WS-IMPORTE
WS-IMPIMPTO += IMPIMPTO.mpdt012
Si SIGNO.mpdt044 = ‘-‘
WS-IMPIMPTO = WS-IMPIMPTO * -1
Fin Si
AC-DEUDA-TOTAL += WS-IMPIMPTO
AC-IMP-NO-FINANC += WS-IMPIMPTO
E-IMPFIN (1,4) += WS-IMPIMPTO
E-IMPMIN (1,4) += WS-IMPIMPTO
Si SIGNO.mpdt044 = ‘+’
WS-IMPORTE = WS-CONCEPTO-NETO
Sino
WS-IMPORTE = WS-CONCEPTO-NETO * -1
Fin Si
Si NACIONAL
AC-DEUDA-TOTAL += WS-IMPORTE
E-IMPFIN(1,TIPIMP) += WS-IMPORTE, según el tipo de importe acumula
Sino
AC-COMISION-INT += WS-IMPORTE
Fin Si
Si SIGNO.mpdt044 = ‘-‘
WS-IMPIMPTO-151 = IMPIMPTO.mpdt151 + IMPIMPTO2.mpdt151
Sino
WS-IMPIMPTO-151=(IMPIMPTO.mpdt151 + IMPIMPTO2.mpdt151) * -1
Fin Si
Si NACIONAL
AC-DEUDA-TOTAL += WS-IMPIMPTO-151
E-IMPFIN(1,4) += WS-IMPIMPTO-151
Sino
AC-COMISION-INT += WS-IMPIMPTO-151
Fin Si
Si NACIONAL
ATCOMDEU-TOTAL-CONCEPTO += WS-CONCEPTO-NETO
Fin Si
Fin Si
Fin Si
Fin Si **
Movimientos en mpdt012
NUMEXTCTA NUMMOVEXT INDNORCOR TIPOFAC INDMOVANU PAN IMPFAC IMPIMPTO IMPAMORT
103 1 0 100 0 354300,00 0,00 0,00
103 2 0 78 0 72,00 0,00 0,00
103 3 0 72 0 54300,00 0,00 0,00
103 4 0 67 0 4998471888204261 300000,00 0,00 300000,00
103 5 0 1024 0 0,00 0,00 0,00
103 6 0 1110 0 0,00 0,00 0,00
segundo arreglo
E-TIPIMP E-IMPINI E-IMPAPL E-IMPFIN E-IMPMIN
capital 1 72,00 72,00
comisión 2
intereses 3
impuestos 4 0,00 0,00
gasto de cobranza 5 14900,00
intereses de mora 6 2035,00
impuesto de mora 7
Si NUMEXTPEN.mpd163 <> 0
Calculo interés mora día, se verifica que exista un codconeco = 53 en el extracto
Se busca el último nummovext
SELECT MAX(NUMMOVEXT) 3
FROM MPDT194
WHERE CODENT = '0015'
AND CENTALTA = '0000'
AND CUENTA = '810007881505'
AND CLAMON = 152
AND NUMEXTCTA= 103
PORINT = 2,9800
Si existe un impagado
Lectura tabla mpdt052 de conceptos económicos
SELECT VERTIENTE, NIVAPLICA, INDAPLICA, PORREF, CODIMPTO, CODIMPTO2
FROM MPDT052
WHERE CODENT = '0015'
AND CODCONECO = 53
Si ATRUTINT-NIVAPLICA = ‘TA’
…
Sino
Lectura tabla mpdt049 de productos – condición económica
SELECT IMPFIJO, IMPMIN, IMPMAX, PORUF, REDONDEO
FROM MPDT049
WHERE CODENT = '0015' AND
PRODUCTO = '15' AND
SUBPRODU = '0021' AND
CONPROD = '001' AND
VERTIENTE = 'E' AND
CODCONECO = 53 AND
CLAMON = 152
Si ATRUTINT-POREXTLIQ = 0 ATRUTINT-POREXTLIQ=2,98
…
Sino
Calcula intereses con tasa
AUX-IMPBRUINT-DEC = WS-IMPFIJO-AUX +
(ATRUTINT-IMPORTE * ATRUTINT-POREXTLIQ * WS-DIF-DIAS /
3000)
Fin Si
ATRUTINT-CODENT PIC X(04). = '0015'
ATRUTINT-VERTIENTE PIC X(01). = 'E'
ATRUTINT-PRODUCTO PIC X(02). = '15'
ATRUTINT-SUBPRODU PIC X(04). = '0021'
ATRUTINT-CONPROD PIC X(03). = '001'
ATRUTINT-CODCONECO PIC 9(04). = '0053'
ATRUTINT-INDAPLICA PIC X(01). = 'H'
ATRUTINT-NIVAPLICA PIC X(02). = 'CO'
ATRUTINT-CODMAR PIC 9(02). = '00'
ATRUTINT-INDTIPT PIC 9(02). = '00'
ATRUTINT-FORCALINT PIC X(02). = 'O '
ATRUTINT-TIPBON PIC X(06). = ' '
ATRUTINT-IMPORTE PIC S9(15)V99. = '000000000054300,00'
ATRUTINT-IMPORTETRAMO PIC S9(15)V99. = '000000000000000,00'
ATRUTINT-CLAMON PIC 9(03). = '152'
ATRUTINT-FECINI PIC X(10). = '2017-12-20'
ATRUTINT-FECFIN PIC X(10). = '2017-12-21'
ATRUTINT-FECHASYS PIC X(10). = '2017-12-21'
ATRUTINT-PORREF PIC S9(03)V9(4). = '000,0000'
ATRUTINT-POREXTLIQ PIC S9(03)V9(4). = '002,9800'
ATRUTINT-SCORE PIC 9(03). = '000'
ATRUTINT-CODRET PIC 9(02). = '00'
ATRUTINT-IMPBRUINT PIC S9(15)V99. = '000000000000054,00'
ATRUTINT-IMPBONIF PIC S9(15)V99. = '000000000000000,00'
ATRUTINT-INDAPLINT PIC X(01). = 'S'
ATRUTINT-NOMBRE-BD PIC X(24). = ' '
ATRUTINT-NOMBRE-TABLA PIC X(11). = ' '
ATRUTINT-OPERACION PIC X(20). = ' '
FILLER PIC X(10). = ' '
ATRUTINT-ERROR PIC S9(10). = '0000000000'
Fin llamada ATR035
OPERACIÓN
COMPUTE WS-DIFE-AMOR =
1
W206IMPTOTAL - (W206IMPINTTOTAL + W206IMPAMORT)
2 ADD WS-DIFE-AMOR TO WS-CAPITAL-TCC
SUBTRACT W206IMPINTAMORT FROM W206IMPINTTOTAL
3
GIVING WS-DIFE-AMOR
4 ADD WS-DIFE-AMOR TO WS-INTERES-TCC
SUBTRACT W206IMPCOMAMORT FROM W206IMPCOMTOTAL
5
GIVING WS-DIFE-AMOR
6 ADD WS-DIFE-AMOR TO WS-COMISION-TCC
SUBTRACT W206IMPSEGAMORT FROM W206IMPSEGTOTAL
7
GIVING WS-DIFE-AMOR
8 ADD WS-DIFE-AMOR TO WS-SEGURO-TCC
El resultado de cada para cada una de los registros y su correspondiente acumulación se muestra en el siguiente
cuadro:
ITERACIÓN OPERACIÓN WS-DIFE-AMOR WS-CAPITAL-TCC WS-INTERES-TCC WS-COMISION-TCC WS-SEGURO-TCC
1 553771,00
1
2 553771,00
3 33481,00
4 33481,00
5 0,00
6 0,00
7 0,00
8 0,00
COMPUTE ATTOTDEU-DEUDA-TOTAL =
ATTOTDEU-CAPFACTUR + ATTOTDEU-INTFACTUR +
ATTOTDEU-COMFACTUR + ATTOTDEU-INTMORA +
ATTOTDEU-GASMORA + ATTOTDEU-IMPCAPITAL +
WS-INTERES-TCC-DIA + ATTOTDEU-COMISIONES +
ATTOTDEU-SEGURO + ATTOTDEU-CUOMANT
COMPUTE ATTOTDEU-DEUDA-DIA =
ATTOTDEU-CAPFACTUR + ATTOTDEU-INTFACTUR +
ATTOTDEU-COMFACTUR + ATTOTDEU-INTMORA +
ATTOTDEU-GASMORA + WS-CAPITAL-TCC-DIA +
WS-INTERES-TCC-DIA + WS-COMISION-TCC-DIA +
WS-SEGURO-TCC-DIA + ATTOTDEU-IMPUESTOS
Fin Si
...
ELSE
MOVE ATTOTDEU-CAPFACTUR TO MP537-CAPFACTUR
ADD ATTOTDEU-IMPUESTOS TO MP537-CAPFACTUR = 54372,0
MOVE ATTOTDEU-INTFACTUR TO MP537-INTFACTUR = 0,0
MOVE ATTOTDEU-COMFACTUR TO MP537-COMFACTUR = 0,0
MOVE ATTOTDEU-INTMORA TO MP537-INTMORA = 2197,0
MOVE ATTOTDEU-GASMORA TO MP537-GASMORA = 14900,0
IF MP537-CODREPSIST EQUAL ‘3 ‘ OR
MP537-CODREPSIST EQUAL ‘3SI ‘ OR
MP537-CODREPSIST EQUAL ‘4 ‘ OR
MP537-CODREPSIST EQUAL ‘4SI ‘ OR
MP537-CODREPSIST EQUAL ‘8 ‘ OR
MP537-CODREPSIST EQUAL ‘8SI ‘ OR
MP537-CODREPSIST EQUAL ‘6 ‘
CALCULO GASTOS DE COBRANZA
Llamada rutina ATR075
ATCOBRAN-CODENT PIC X(04). ='0015'
ATCOBRAN-CENTALTA PIC X(04). ='0000'
ATCOBRAN-CUENTA PIC X(12). =' 810007881505'
ATCOBRAN-FECHASYS PIC X(10). ='2017-12-21'
ATCOBRAN-CODRET PIC 9(02). =' '
ATCOBRAN-IMPORTE PIC S9(15)V99. =' '
ATCOBRAN-IMPMORA1 PIC S9(15)V99. =' '
ATCOBRAN-IMPMORA2 PIC S9(15)V99. =' '
ATCOBRAN-COMMORA PIC S9(15)V99. =' '
Si existe impagado
Se calcula la diferencia de días entre la fecha de alta del impagado y la fecha de proceso, 2017-
12-10 y 2017-12-20 respectivamente, NUMDIAS = 10. En este caso como los días de mora son
menores al parámetro(21) no se calculas gastos de cobranza
Si NUMDIAS > WS-NUMDIAS (10 > 21)
Cálculo gastos de cobranza
Fin Si
Fin Si
ATCOBRAN-CODENT PIC X(04). ='0015'
ATCOBRAN-CENTALTA PIC X(04). ='0000'
ATCOBRAN-CUENTA PIC X(12). =' 810007881505'
ATCOBRAN-FECHASYS PIC X(10). ='2017-12-21'
ATCOBRAN-CODRET PIC 9(02). ='00'
ATCOBRAN-IMPORTE PIC S9(15)V99. ='000000000000000,00'
ATCOBRAN-IMPMORA1 PIC S9(15)V99. ='000000000000000,00'
ATCOBRAN-IMPMORA2 PIC S9(15)V99. ='000000000000000,00'
ATCOBRAN-COMMORA PIC S9(15)V99. ='000000000000000,00'
Fin rutina ATR075
MP537-GASMORA += ATCOBRAN-COMMORA + ATCOBRAN-IMPMORA1 + ATCOBRAN-IMPMORA2
= 14900, 0 + 0,0 + 0,0 + 0,0
WS-GTOS-COBR ROUNDED = ATCOBRAN-COMMORA + ATCOBRAN-IMPMORA1 + ATCOBRAN-IMPMORA = 0,0
END-IF
Buscar incidencias
SELECT SUM(T2.IMPFAC)
FROM MPDT009 T1, MPDT096 T2
WHERE T1.CODENT = '0015'
AND T1.CENTALTA = '0000'
AND T1.CUENTA = ' 810007881505'
AND T1.INDSITTAR = 5
AND T1.INDULTTAR = 'S'
AND T1.PAN = T2.PAN
AND T2.FECSOLINC = '2017-12-20'
AND T2.TIPOSOL = 4
WS-IMPFAC
0,0
Buscar Reclamaciones
SELECT SUM(IMPCONDONA)
FROM MPDT199
WHERE CODENT = '0015'
AND CENTALTA = '0000'
AND CUENTA = '810007881505'
AND FECSOL = '2017-12-20'
AND ( CODAJU = 2
OR CODAJU = 4
OR CODAJU = 7)
AND ( TIPRECLA <> 2
AND TIPRECLA <> 4
AND TIPRECLA <> 7
AND TIPRECLA <> 8
AND TIPRECLA <> 11)
WS-IMPCONDONA
0,0
Buscar Normalizaciones
SELECT SUM(T2.IMPOPER)
FROM MPDT009 T1, MPDT015 T2
WHERE T1.CODENT = '0015'
AND T1.CENTALTA = '0000'
AND T1.CUENTA = '810007881505'
AND T1.INDSITTAR = 5
AND T1.INDULTTAR = 'S'
AND T1.PAN = T2.PAN
AND T2.FECOPER = '2017-12-20'
AND T2.SIGNOTIPFAC = '-'
WS-IMPOPER
0,0
Condiciones de renegociación
Llamada rutina ATR496
RCI-CODENT PIC X(04). ='0015'
RCI-CENTALTA PIC X(04). ='0000'
RCI-CUENTA PIC X(12). ='810007881505'
RCI-CODREPSIST PIC X(04). ='4 '
RCI-LINEA PIC X(04). ='0001'
RCI-OFICINA PIC X(04). ='0000'
RCI-FECHA-SYS PIC 9(08). ='20171221'
RCI-COD-RETORNO PIC X(02). =' '
RCI-TIPO-REPROG PIC X(04). =' '
RCI-FECHA-VALIDEZ PIC 9(08). ='00000000'
RCI-IMP-REPROG PIC 9(15)V99. ='000000000000000,00'
RCI-IMP-EXIGIBLE PIC 9(15)V99. ='000000000000000,00'
MOTBAJA FORPAGOTEM FIFORPAGT FFFORPAGT CODESTCTA FECULTESTCTA INDBLQOPE INDBLQCON INDCTAEMP INDNOMEMP NOMBREEMP INDSITCTA
FECRESOL INDCTATRAS CODPROLIQ GRUPOLIQ CODPROCUO GRUPOCUO RESEMIEXT TIPBON CALPART NUMULTPLAS CODPROMO INDPERCUO
2003-10-10 N 1 10 0 0 NNNNNNNNNNNN TI 2 N
NUMMESTOT CODREGIMEN NUMFACSC NUMULTMOVD IDENTCLI NUMBEN OFIGESTORA CODFORMATO INDDOMCARCRE FECULTCGLIQ
0 1 0 0 04065486 1 1737 ESTANDAR N 0001-01-01
Calculo Meses de Contrato: 170 meses, a partir de la fecalta y fecha de proceso, 2003-10-10 y 2017-12-21
respectivamente
Si CODESTCTA <> 0
Buscar impagados en mpdt113 mediante cursor
SELECT FECVENMOV, IMPAGO,IMPAPL
FROM MPDT113
WHERE CODENT = '0015'
AND CENTALTA = '0000'
AND CUENTA = ' 810007881505'
AND SITUACION = 0
ORDER BY FECVENMOV
FECVENMOV IMPAGO IMPAPL
2017-12-10 54300,00 0,00
Si INDREFACT es numérica
NUMREF = INDREFACT
Sino
Si INDREFACT = ‘S’
NUMREF = 1
Sino
NUMREF = 0
Fin si
Fin si
Tratar Renegociación:
Cursor sobre mpdt270, Tipos de Renegociación
SELECT CODREP, NUMORDEN, INDREBINT
FROM MPDT270
WHERE CODENT = '0015'
AND CODREPSIST = '4 '
ORDER BY NUMORDEN
CODREP NUMORDEN INDREBINT
4000 1 S
4001 1 S
4002 2 S
4003 3 S
Para cada una de estos CODREP se accede a la table mpdt272, condiciones de renegociación
CODREP NUMORDEN MINDIAMOR MAXDIAMOR MINIMPMOR MAXIMPMOR MINMESVIG MAXMESVIG MINREFINA MAXREFINA APLIMINEXI PORREFANT PORINTREP MAXTITPRO HABITOPAG
Calcula la fecha máxima sumando a la fecha del impagado mmás antiguo el número máximo de días de mora del
CODREP seleccionado:
FECHA-EXP-IMPAGO = Fecha del impagado + MAXDIAMOR = 2017-12-10 + 14 = 2017-12-24
Se busca la fecha de facturación desde mpdt085, calendario de grupos de proceso.
SELECT FECHA
FROM MPDT085
WHERE CODENT = '0015'
AND CODPROCESO = 1
AND CODGRUPO = 10
AND TIPFECHA = 0
AND INDPROC = 'N'
ORDER BY FECHA
FECHAFAC
2017-12-24
Fin Si
Si LINEA = ‘0001’
Obtener deuda avance
Rutina ATR054, respuesta
ATTOTDEU-CODENT PIC X(4). ='0015'
ATTOTDEU-CENTALTA PIC X(4). ='0000'
ATTOTDEU-CUENTA PIC X(12). ='810007881505'
ATTOTDEU-LINEA PIC X(4). ='0002'
ATTOTDEU-FECHA-OPE PIC X(10). ='2017-12-21'
ATTOTDEU-FECHA-CONTA PIC X(10). ='2017-12-21'
ATTOTDEU-OFICINA PIC X(4). ='0000'
ATTOTDEU-USUARIO PIC X(8). =' '
ATTOTDEU-TERM-CONTA PIC X(8). =' '
ATTOTDEU-HORA-OPE PIC X(6). =' '
ATTOTDEU-CODREPSIST PIC X(4). ='4 '
ATTOTDEU-CODRET PIC 9(01). ='0'
ATTOTDEU-CAPFACTUR PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-INTFACTUR PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-COMFACTUR PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-INTMORA PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-GASMORA PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-IMPCAPITAL PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-IMPINTERES PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-COMISIONES PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-SEGURO PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-CUOMANT PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-DEUDA-DIA PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-DEUDA-TOTAL PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-IMPUESTOS PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-IMPBRUECO-DIA PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-IMPBONECO-DIA PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-IMPIMPTO-DIA PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-IMPIMPTO2-DIA PIC S9(15)V99. ='000000000000000,00'
ATTOTDEU-RETORNO PIC X(002). ='00'
Si existe en mpdt281
Calcular exigible
WS-IMPORTE1 = ( IMPULTRENEG OF DCLMPDT281 * PORREFANT OF DCLMPDT272) / 100
WS-IMPORTE1 = (1292250,0 * 30) / 100
WS-IMPORTE1 = 387675,00
Si WS-IMPORTE1 < 0
WS-IMPORTE1 = 0
Fin Si
Fin Si
Fin Si
WS-PAGOS
450000
Fin Si
Si WS-PAGOS >= WS-IMPORTE2
WS-IMPORTE2 = 0
Sino
WS-IMPORTE2 = WS-IMPORTE2 – WS-PAGOS
Fin Si
Fin Si
Fin Si
Si CODREPSIST = ‘5 ‘
…
Fin Si
Si WS-IMP-REPROG-AUX < 0
RCI-IMP-REPROG = 0
Sino
RCI-IMP-REPROG = WS-IMP-REPROG-AUX = 625294,00
Fin Si
Fin Si
RCI-CODENT PIC X(04). ='0015'
RCI-CENTALTA PIC X(04). ='0000'
RCI-CUENTA PIC X(12). ='810007881505'
RCI-CODREPSIST PIC X(04). ='4 '
RCI-LINEA PIC X(04). ='0001'
RCI-OFICINA PIC X(04). ='0000'
RCI-FECHA-SYS PIC 9(08). ='20171221'
RCI-COD-RETORNO PIC X(02). ='00'
RCI-TIPO-REPROG PIC X(04). ='4000'
RCI-FECHA-VALIDEZ PIC 9(08). ='20171224'
RCI-IMP-REPROG PIC 9(15)V99. ='000000000625294,00'
RCI-IMP-EXIGIBLE PIC 9(15)V99. ='000000000000000,00'
Fin rutina ATR496, condiciones de re*
Pasos Finales
MP537-CODREP = RCI-TIPO-REPROG = ‘4000’
MP537-DESREP = ‘RENEGOCIACIÓN TOTAL 1-14 ’
Si CODREPSIST = ‘6 ’
…
Sino
Si CODREPSIST = ‘3 ‘ o ‘3SI ‘ o ‘4 ’ o ‘4SI ’
…
Fin Si
Fin Si
Fin ATP537
FILLER PIC X(12). ='000000000000'
MP537-CODENT-ATR PIC X(1). =' '
MP537-CODENT PIC X(4). ='0015'
MP537-CENTALTA-ATR PIC X(1). =' '
MP537-CENTALTA PIC X(4). ='0000'
MP537-CUENTA-ATR PIC X(1). =' '
MP537-CUENTA PIC X(12). ='810007881505'
MP537-LINEA-ATR PIC X(1). =' '
MP537-LINEA PIC X(4). ='0001'
MP537-DESLINEA-ATR PIC X(1). =' '
MP537-DESLINEA PIC X(30). ='LINEA PRINCIPAL DE CREDITO '
MP537-OPCION-ATR PIC X(1). =' '
MP537-OPCION PIC X(1). =' '
MP537-CODREPSIST-ATR PIC X(1). =' '
MP537-CODREPSIST PIC X(4). ='4 '
MP537-CAPFACTUR-ATR PIC X(1). =' '
MP537-CAPFACTUR PIC 9(15)V99. ='000000000054372,00'
MP537-INTFACTUR-ATR PIC X(1). =' '
MP537-INTFACTUR PIC 9(15)V99. ='000000000000000,00'
MP537-COMFACTUR-ATR PIC X(1). =' '
MP537-COMFACTUR PIC 9(15)V99. ='000000000000000,00'
MP537-INTMORA-ATR PIC X(1). =' '
MP537-INTMORA PIC 9(15)V99. ='000000000002197,00'
MP537-GASMORA-ATR PIC X(1). =' '
MP537-GASMORA PIC 9(15)V99. ='000000000014900,00'
MP537-IMPCAPITAL-ATR PIC X(1). =' '
MP537-IMPCAPITAL PIC 9(15)V99. ='000000000553771,00'
MP537-IMPINTERES-ATR PIC X(1). =' '
MP537-IMPINTERES PIC 9(15)V99. ='000000000033481,00'
MP537-COMISIONES-ATR PIC X(1). =' '
MP537-COMISIONES PIC 9(15)V99. ='000000000000000,00'
MP537-SEGURO-ATR PIC X(1). =' '
MP537-SEGURO PIC 9(15)V99. ='000000000000000,00'
MP537-CUOMANT-ATR PIC X(1). =' '
MP537-CUOMANT PIC 9(15)V99. ='000000000000000,00'
MP537-CODREP-ATR PIC X(1). =' '
MP537-CODREP PIC X(4). ='4000'
MP537-DESREP-ATR PIC X(1). =' '
MP537-DESREP PIC X(30). ='RENEGOCIACIÓN TOTAL 1-14 '
MP537-IMPTOTAL-ATR PIC X(1). =' '
MP537-IMPTOTAL PIC 9(15)V99. ='000000000625294,00'
MP537-IMPEXIG-ATR PIC X(1). =' '
MP537-IMPEXIG PIC 9(15)V99. ='000000000000000,00'
MP537-IMPREPRO-ATR PIC X(1). =' '
MP537-IMPREPRO PIC 9(15)V99. ='000000000625294,00'
MP537-CODTIPC-ATR PIC X(1). =' '
MP537-CODTIPC PIC X(4). =' '
MP537-TOTCUOTAS-ATR PIC X(1). =' '
MP537-TOTCUOTAS PIC 9(09). ='000000000'
MP537-IMPCUOREP-ATR PIC X(1). =' '
MP537-IMPCUOREP PIC 9(15)V99. ='000000000000000,00'
MP537-ABONO-ATR PIC X(1). =' '
MP537-ABONO PIC 9(15)V99. ='000000000000000,00'
MP537-FECPROXVTO-ATR PIC X(1). =' '
MP537-FECPROXVTO PIC X(10). ='0001-01-01'
MP537-TASAINTMENS-ATR PIC X(1). =' '
MP537-TASAINTMENS PIC 9(3)V9(4). ='000,0000'
MP537-CAPITAL-ATR PIC X(1). =' '
MP537-CAPITAL PIC 9(15)V99. ='000000000000000,00'
MP537-IMPINTERES1-ATR PIC X(1). =' '
MP537-IMPINTERES1 PIC 9(15)V99. ='000000000000000,00'
MP537-GASTOSCOB-ATR PIC X(1). =' '
MP537-GASTOSCOB PIC 9(15)V99. ='000000000000000,00'
MP537-COSTOTCRE-ATR PIC X(1). =' '
MP537-COSTOTCRE PIC 9(15)V99. ='000000000000000,00'
MP537-CAE-ATR PIC X(1). =' '
MP537-CAE PIC 9(04)V9999.='0000,0000'
MP537-PAN-ATR PIC X(1). =' '
MP537-PAN PIC X(16). ='499847******4261'
MP537-FECALTA-ATR PIC X(1). =' '
MP537-FECALTA PIC X(10). ='0001-01-01'
MP537-FECVTOCUOREP-ATR PIC X(1). =' '
MP537-FECVTOCUOREP PIC X(10). ='0001-01-01'
MP537-FES-ATR PIC X(1). =' '
MP537-FES PIC 9(1). ='0'
MP537-VT-ATR PIC X(1). =' '
MP537-VT PIC 9(1). ='0'
MP537-NUD-ATR PIC X(1). =' '
MP537-NUD PIC 9(15). ='000000000000000'