{ 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