Files
MBS/PROYECTO/cgdir/email_bancos.4gl
T

124 lines
3.5 KiB
Plaintext

{
PROGRAMA : email_banco
OBSERVACION : ENVIAR CORREO, CON LOS BALANCES BANCOS
FECHA : SEPTIEMBRE 6, 2018
DESARROLLADO : ING. JUAN SOTO
}
GLOBALS
DEFINE usuario,clave STRING
END GLOBALS
MAIN
DEFER INTERRUPT
CALL arg_val(1) RETURNING usuario
CALL arg_val(2) RETURNING clave
CONNECT TO "marmotech" USER usuario USING clave
CALL busca_balance()
END MAIN
FUNCTION busca_balance()
DEFINE HANDLER om.SaxDocumentHandler
DEFINE arr_busca DYNAMIC ARRAY OF RECORD
cuenta_no CHAR(10),
descripcion CHAR(100),
balance DEC(12,2)
END RECORD
DEFINE cbusca RECORD
cuenta_no CHAR(10),
descripcion CHAR(100),
balance DEC(12,2)
END RECORD,
idx SMALLINT
DECLARE buscar CURSOR FOR
SELECT a.cuenta_no,a.descripcion,sum(b.debito-b.credito) FROM cgtb00001 a,cgtb00004 b,cgtb00012 c
WHERE a.cuenta_no = c.cuenta_no AND
a.cuenta_no = b.cuenta_no AND
a.cuenta_no NOT IN ("1105-03") AND
a.status_t IS NULL AND b.status_t IS NULL
GROUP BY a.cuenta_no,a.descripcion
HAVING SUM(b.debito-b.credito) <> 0
LET idx = 1
FOREACH buscar INTO cbusca.*
LET arr_busca[idx].cuenta_no = cbusca.cuenta_no
LET arr_busca[idx].descripcion = cbusca.descripcion
LET arr_busca[idx].balance = cbusca.balance
LET idx = idx + 1
END FOREACH
CONNECT TO "caribbean" USER usuario USING clave
DECLARE buscar_c CURSOR FOR
SELECT a.cuenta_no,a.descripcion,sum(b.debito-b.credito) FROM cgtb00001 a,cgtb00004 b,cgtb00012 c
WHERE a.cuenta_no = c.cuenta_no AND
a.cuenta_no = b.cuenta_no AND
a.status_t IS NULL AND b.status_t IS NULL
GROUP BY a.cuenta_no,a.descripcion
HAVING SUM(b.debito-b.credito) <> 0
FOREACH buscar_c INTO cbusca.*
LET arr_busca[idx].cuenta_no = cbusca.cuenta_no
LET arr_busca[idx].descripcion = cbusca.descripcion CLIPPED," CARIBBEAN"
LET arr_busca[idx].balance = cbusca.balance
LET idx = idx + 1
END FOREACH
CONNECT TO "smarmotech" USER usuario USING clave
IF fgl_report_loadCurrentSettings("email_bancos.4rp") THEN
CALL fgl_report_selectDevice("PDF")
CALL fgl_report_selectPreview(false)
CALL fgl_report_setOutputFileName("emailbancos")
LET handler = fgl_report_commitCurrentSettings()
START REPORT bbancos TO XML HANDLER HANDLER
END IF
DECLARE buscar2 CURSOR FOR
SELECT a.cuenta_no,a.descripcion,sum(b.debito-b.credito) FROM cgtb00001 a,cgtb00004 b,cgtb00012 c
WHERE a.cuenta_no = c.cuenta_no AND
a.cuenta_no = b.cuenta_no AND
a.cuenta_no NOT IN ("1109-04","1104","1105-05","1105-02","1105-03") AND
a.status_t IS NULL AND b.status_t IS NULL
GROUP BY a.cuenta_no,a.descripcion
HAVING SUM(b.debito-b.credito) <> 0
LET idx = idx + 1
FOREACH buscar2 INTO cbusca.*
LET arr_busca[idx].cuenta_no = cbusca.cuenta_no
LET arr_busca[idx].descripcion = cbusca.descripcion
LET arr_busca[idx].balance = cbusca.balance
LET idx = idx + 1
END FOREACH
FOR idx = 1 TO arr_busca.getLength()
IF arr_busca[idx].cuenta_no IS NOT NULL THEN
OUTPUT TO REPORT bbancos(arr_busca[idx].*)
END IF
END FOR
FINISH REPORT bbancos
END FUNCTION
REPORT bbancos(x)
DEFINE x RECORD
cuenta_no CHAR(10),
descripcion CHAR(100),
balance DEC(12,2)
END RECORD,
fecha CHAR(10)
FORMAT
FIRST PAGE HEADER
LET fecha = TODAY USING "dd/mm/yyyy"
ON EVERY ROW
PRINTX x.*,fecha
END REPORT