Está en la página 1de 10

COD_CLIENTE NUM_ABONADO NUM_PROCESO IND_MASCARA

101010 1 0 1
101010 2 0 1
101010 3 0 1 Imaginemos que facturar los 20 abonados de este cliente implica te
101010 4 0 1 porque cada abonado genera 100 conceptos todos los meses.
101010 5 0 1 Entonces, tendriamos al cliente 101010 todos los meses generando
101010 6 0 1
101010 7 0 1
101010 8 0 1
101010 9 0 1
101010 10 0 1 PD: Recordemos que el universo de clientes que el facturador consid
101010 11 0 1 encuentra en la tabla FA_CICLOCLI con el IND_MASCARA=1 y el NUM
101010 12 0 1
101010 13 0 1
101010 14 0 1 LISTOS PARA SER FACTURADOS
101010 15 0 1 NUM_PROCESO=0
101010 16 0 1 IND_MASCARA= 1
101010 17 0 1
101010 18 0 1
101010 19 0 1
101010 20 0 1
os 20 abonados de este cliente implica tener mas de 1000 conceptos en la factura.
era 100 conceptos todos los meses.
ente 101010 todos los meses generando una factura Ciclica con 2000 conceptos.

iverso de clientes que el facturador considera al momento de facturar es el que


ICLOCLI con el IND_MASCARA=1 y el NUM_PROCESO = 0

LISTOS PARA SER FACTURADOS


NUM_PROCESO=0
IND_MASCARA= 1
COD_CLIENTE NUM_ABONADO NUM_PROCESO IND_MASCARA
101010 1 0 1
101010 2 0 1
101010 3 0 1 La idea es marcar un conjunto de abonados del cliente para que NO
101010 4 0 1 En este caso hemos marcado algunos abonados con NUM_PROCESO
101010 5 0 1 Con este escenario, el facturador generará una factura solo con los a
101010 6 0 1
101010 7 0 1
101010 8 0 1
101010 9 0 1 LISTOS PARA SER FACTURADOS
101010 10 0 1 NUM_PROCESO=0
101010 11 9999 1 IND_MASCARA= 1
101010 12 9999 1
101010 13 9999 1
101010 14 9999 1
101010 15 9999 1
101010 16 9999 1
101010 17 9999 1
101010 18 9999 1
101010 19 9999 1
101010 20 9999 1
nto de abonados del cliente para que NO SEAN FACTURADOS en primera instancia.
do algunos abonados con NUM_PROCESO=9999 para que no sean facturados.
urador generará una factura solo con los abonados del 1 al 10, sabiendo que se generaran solo 1000 conceptos en dicha factura.

ARA SER FACTURADOS MARCADOS PARA QUE NO SE FACTUREN


UM_PROCESO=0 NUM_PROCESO=9999
D_MASCARA= 1 IND_MASCARA= 1
COD_CLIENTE NUM_ABONADO NUM_PROCESO IND_MASCARA
101010 1 12345678 1
101010 2 12345678 1
101010 3 12345678 1 Una vez terminada la facturacion, los abonados que estaban con NU
101010 4 12345678 1 Entonces, en la tabla FA_FACTDOCU_<ciclo> se ha generado la factu
101010 5 12345678 1
101010 6 12345678 1
101010 7 12345678 1
101010 8 12345678 1 SELECT * FROM FA_FACTDOCU_<ciclo> WHERE COD_CLIENTE=
101010 9 12345678 1
101010 10 12345678 1 NUM_SECUENCI COD_TIPDOCUM
101010 11 9999 1 55667788 2
101010 12 9999 1
101010 13 9999 1
101010 14 9999 1
101010 15 9999 1
101010 16 9999 1 ABONADOS QUE YA FUERON FACTUR
101010 17 9999 1 NUM_PROCESO=12345678
101010 18 9999 1 IND_MASCARA= 1
101010 19 9999 1
101010 20 9999 1
ion, los abonados que estaban con NUM_PROCESO=0, ahora tendran el NUM_PROCESO correspondientes al ciclo
DOCU_<ciclo> se ha generado la factura ciclica del cliente 101010 solo con 10 abonados, y solo con 1000 conceptos

DOCU_<ciclo> WHERE COD_CLIENTE=101010;

COD_CLIENTE IND_ORDENTOTAL TOT_CARGOSME NUM_PROCESO


101010 87654321 $ 50,000,000 12345678

ABONADOS QUE YA FUERON FACTURADOS MARCADOS PARA QUE NO SE FACTUREN


NUM_PROCESO=12345678 NUM_PROCESO=9999
IND_MASCARA= 1 IND_MASCARA= 1
COD_CLIENTE NUM_ABONADO NUM_PROCESO IND_MASCARA
101010 1 12345678 1
101010 2 12345678 1
101010 3 12345678 1 Ahora marco en la tabla FA_CICLOCLI el NUM_PROCESO=0 al resto d
101010 4 12345678 1 Entonces, con las condiciones actuales, podemos lanzar nuevament
101010 5 12345678 1 en condiciones de ser facturados.
101010 6 12345678 1
101010 7 12345678 1
101010 8 12345678 1 SELECT * FROM FA_FACTDOCU_<ciclo> WHERE COD_CLIENTE=
101010 9 12345678 1
101010 10 12345678 1 NUM_SECUENCI COD_TIPDOCUM
101010 11 0 1 55667788 2
101010 12 0 1
101010 13 0 1
101010 14 0 1
101010 15 0 1 ABONADOS QUE YA FUERON FACTUR
101010 16 0 1 NUM_PROCESO=12345678
101010 17 0 1 IND_MASCARA= 1
101010 18 0 1
101010 19 0 1
101010 20 0 1
CLOCLI el NUM_PROCESO=0 al resto de abonados que faltan por facturar
actuales, podemos lanzar nuevamente el facturador para el COD_CLIENTE=101010 ya que aun existen abonados

DOCU_<ciclo> WHERE COD_CLIENTE=101010;

COD_CLIENTE IND_ORDENTOTAL TOT_CARGOSME NUM_PROCESO


101010 87654321 $ 50,000,000 12345678

ABONADOS QUE YA FUERON FACTURADOS LISTOS PARA SER FACTURADOS


NUM_PROCESO=12345678 NUM_PROCESO=0
IND_MASCARA= 1 IND_MASCARA= 1
COD_CLIENTE NUM_ABONADO NUM_PROCESO IND_MASCARA
101010 1 12345678 1
101010 2 12345678 1
101010 3 12345678 1 Al lanzar nuevamente el facturador, se genera un nuevo documento
101010 4 12345678 1
101010 5 12345678 1
101010 6 12345678 1
101010 7 12345678 1
101010 8 12345678 1 SELECT * FROM FA_FACTDOCU_<ciclo> WHERE COD_CLIENTE=
101010 9 12345678 1
101010 10 12345678 1 NUM_SECUENCI COD_TIPDOCUM
101010 11 12345678 1 55667788 2
101010 12 12345678 1 55667789 2
101010 13 12345678 1
101010 14 12345678 1
101010 15 12345678 1 ABONADOS QUE YA FUERON FACTUR
101010 16 12345678 1 NUM_PROCESO=12345678
101010 17 12345678 1 IND_MASCARA= 1
101010 18 12345678 1
101010 19 12345678 1
101010 20 12345678 1 PD: Cabe señalar que estamos asumiendo que la PK de la tabl
Por lo que recuerdo, deberia ser soportado, porque parece qu
rador, se genera un nuevo documento para el COD_CLIENTE=101010 con los abonados que faltaban (del NUM_ABONADO 11 al 20).

DOCU_<ciclo> WHERE COD_CLIENTE=101010;

COD_CLIENTE IND_ORDENTOTAL TOT_CARGOSME NUM_PROCESO


101010 87654321 $ 50,000,000 12345678
101010 87654322 $ 50,000,000 12345678

ABONADOS QUE YA FUERON FACTURADOS


NUM_PROCESO=12345678
IND_MASCARA= 1

tamos asumiendo que la PK de la tabla FA_FACTDOCU_<ciclo> soporta varios documentos para un mismo COD_CLIENTE.
beria ser soportado, porque parece que la PK no es el COD_CLIENTE, si no el IND_ORDENTOTAL.

También podría gustarte