124 lines
3.5 KiB
Plaintext
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 |