50 lines
1.8 KiB
Plaintext
50 lines
1.8 KiB
Plaintext
MAIN
|
|
|
|
CONNECT TO 'smarmotech' USER 'jsoto' USING 'lmmjvsd2014'
|
|
CALL balance()
|
|
END MAIN
|
|
|
|
FUNCTION balance()
|
|
DEFINE ptipo,pcliente,idx INT,
|
|
balance,valor1,valor2 DEC(12,2)
|
|
|
|
DELETE FROM tmpbalances
|
|
|
|
DECLARE buscar CURSOR FOR
|
|
SELECT DISTINCT a.tipo_cliente,a.sec_cliente FROM vetb00002 a,cctb00001 b
|
|
WHERE a.tipo_cliente = b.tipo_cliente AND a.sec_cliente = b.sec_cliente AND a.tipo_cliente = 15 AND
|
|
b.status_t IS NULL
|
|
ORDER BY a.tipo_cliente,a.sec_cliente
|
|
LET idx = 0
|
|
FOREACH buscar INTO ptipo,pcliente
|
|
|
|
SELECT SUM(a.valor+a.monto_desc) INTO valor1 FROM cctb00001 a
|
|
WHERE a.fecha_orig <='12/31/2019' and
|
|
a.tipo_cliente = ptipo and
|
|
a.sec_cliente = pcliente and
|
|
a.status_t is null and tipo_doc NOT IN ("AV","AP")
|
|
|
|
IF valor1 IS NULL THEN
|
|
LET valor1 = 0.00
|
|
END IF
|
|
|
|
LET valor2 = 0.00
|
|
SELECT SUM(a.valor+a.monto_desc) INTO valor2 FROM cctb00001 a
|
|
WHERE a.fecha_orig <= '12/31/2019' and
|
|
a.tipo_cliente = ptipo and
|
|
a.sec_cliente = pcliente and
|
|
a.status_t is null and tipo_doc in ("AV") and num_doc = aplica_a
|
|
|
|
IF valor2 IS NULL THEN
|
|
LET valor2 = 0.00
|
|
END IF
|
|
|
|
LET balance = valor1 - valor2
|
|
IF balance IS NULL THEN LET balance = 0 END IF
|
|
DISPLAY "data ",ptipo," ",pcliente," ",balance," procesando ",idx
|
|
INSERT INTO tmpbalances VALUES (ptipo,pcliente,balance)
|
|
LET idx = idx + 1
|
|
|
|
END FOREACH
|
|
|
|
END FUNCTION |