230 lines
6.3 KiB
Plaintext
230 lines
6.3 KiB
Plaintext
{
|
|
==============================================================================
|
|
PROGRAMA : TEPRRP014
|
|
SISTEMA : Sistema de Tesoreria
|
|
Objetivo : Relacion de Cheque Emitidos x Partidas
|
|
PROGRAMADOR : Abner Montalvo
|
|
FECHA : Agosto 26, 1997
|
|
==============================================================================
|
|
}
|
|
GLOBALS
|
|
"teprgb000.4gl"
|
|
|
|
DEFINE datos_14 RECORD
|
|
cuenta_no CHAR(8),
|
|
descripc_cta CHAR(30),
|
|
cheque_no INTEGER,
|
|
fecha DATE,
|
|
portador CHAR(30),
|
|
monto DECIMAL(12,2),
|
|
status_t CHAR(1),
|
|
codigo INTEGER,
|
|
descripcion CHAR(30)
|
|
END RECORD
|
|
|
|
DEFINE fecha_inicial,fecha_final DATE
|
|
DEFINE salir CHAR(1)
|
|
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
CALL ARG_VAL(1) RETURNING usuarios
|
|
CALL ARG_VAL(2) RETURNING clave
|
|
|
|
CALL STARTLOG("teprmt002.txt")
|
|
|
|
CONNECT to "smarmotech" USER usuarios USING clave
|
|
SELECT a.* INTO p_compania.* FROM companias a
|
|
|
|
CALL teprrp014()
|
|
END MAIN
|
|
|
|
FUNCTION teprrp014()
|
|
LET int_flag = FALSE
|
|
|
|
OPTIONS
|
|
FORM LINE 8
|
|
|
|
OPEN FORM tefmrp014 FROM "tefmrp014"
|
|
DISPLAY FORM tefmrp014
|
|
DISPLAY "teprrp014" AT 4,3 ATTRIBUTE(RED)
|
|
DISPLAY "Relacion de Cheques Emitidos por Partidas" AT 6,20 ATTRIBUTE(BLACK)
|
|
|
|
LET tipo_papel = 2
|
|
CALL msgrp000(tipo_papel)
|
|
|
|
|
|
INPUT BY NAME fecha_inicial,fecha_final
|
|
|
|
|
|
AFTER FIELD fecha_inicial
|
|
IF fecha_inicial IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fecha_inicial
|
|
END IF
|
|
|
|
AFTER FIELD fecha_final
|
|
IF fecha_final IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fecha_final
|
|
END IF
|
|
|
|
IF fecha_inicial > fecha_final THEN
|
|
LET numero_msg = 51
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fecha_inicial
|
|
END IF
|
|
END INPUT
|
|
|
|
LET parametro = "D"
|
|
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = FALSE
|
|
RETURN
|
|
END IF
|
|
|
|
CONSTRUCT criterio ON b.codigo,a.cuenta_no FROM cheque_no,cuenta_no
|
|
|
|
AFTER CONSTRUCT
|
|
EXIT CONSTRUCT
|
|
END CONSTRUCT
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = FALSE
|
|
RETURN
|
|
END IF
|
|
|
|
LET selec =
|
|
"SELECT UNIQUE a.cuenta_no,d.nombre_bco,a.cheque_no,a.fecha, ",
|
|
" a.portador,a.monto,a.status_t,b.codigo,c.descripcion ",
|
|
"FROM cgtb00005 a, tetb00006 b, tetb00003 c, cgtb00012 d ",
|
|
"WHERE ",criterio CLIPPED," AND (a.fecha BETWEEN ? AND ?) AND ",
|
|
" a.cuenta_no = b.banco AND ",
|
|
" d.cuenta_no = b.banco AND ",
|
|
" a.cheque_no = b.cheque_no AND ",
|
|
" b.codigo = c.codigo ",
|
|
"ORDER BY 8,3,4"
|
|
|
|
DISPLAY "<<<Buscando Informacion... Espere por Favor>>>" AT 19,14
|
|
ATTRIBUTE(YELLOW)
|
|
|
|
PREPARE comando FROM selec
|
|
DECLARE busco CURSOR FOR comando
|
|
# OPEN busco USING fecha_inicial,fecha_final
|
|
|
|
|
|
LET idx=1
|
|
FOREACH busco USING fecha_inicial,fecha_final INTO datos_14.*
|
|
IF idx=1 THEN
|
|
LET r_output="PDF"
|
|
IF fgl_report_loadCurrentSettings("teprrp014.4rp") THEN -- load the .4rp file
|
|
|
|
LET preview=1
|
|
CALL fgl_report_selectDevice(r_output) -- changing default
|
|
CALL fgl_report_selectPreview(preview) -- changing default
|
|
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
|
|
|
END IF
|
|
START REPORT cheque_ep TO XML HANDLER HANDLER
|
|
END IF
|
|
DISPLAY "<<<Reporte Generandose... Espere por Favor>>>" AT 19,14
|
|
ATTRIBUTE(YELLOW)
|
|
|
|
|
|
|
|
DISPLAY datos_14.cuenta_no AT 21,30
|
|
DISPLAY datos_14.cheque_no AT 21,40
|
|
|
|
IF datos_14.status_t = "N" THEN
|
|
LET datos_14.monto = 0
|
|
LET datos_14.portador = "NULO"
|
|
END IF
|
|
OUTPUT TO REPORT cheque_ep(datos_14.*)
|
|
LET idx=idx+1
|
|
END FOREACH
|
|
IF idx > 1 THEN
|
|
FINISH REPORT cheque_ep
|
|
ELSE
|
|
CALL fgl_winmessage("ERROR","NO EXISTEN REGISTROS CON ESA CONDICION","INFO")
|
|
END IF
|
|
CLEAR SCREEN
|
|
END FUNCTION
|
|
|
|
REPORT cheque_ep(x)
|
|
DEFINE x RECORD
|
|
cuenta_no CHAR(8),
|
|
descripc_cta CHAR(30),
|
|
cheque_no INTEGER,
|
|
fecha DATE,
|
|
portador CHAR(30),
|
|
monto DECIMAL(12,2),
|
|
status_t CHAR(1),
|
|
codigo INTEGER,
|
|
descripcion CHAR(30)
|
|
END RECORD
|
|
|
|
## DEFINICION DE LAS VARIABLES DE IMPRESION
|
|
DEFINE numero_ch CHAR(9),
|
|
descripcion CHAR(30),
|
|
detalle1 CHAR(40),
|
|
detalle2 CHAR(37)
|
|
|
|
|
|
DEFINE hora CHAR(5),fecha DATE
|
|
DEFINE total1,total2 DECIMAL(12,2)
|
|
OUTPUT
|
|
## DEFINICION DE LOS MARGENES DE IMPRESION
|
|
TOP MARGIN 0
|
|
LEFT MARGIN 0
|
|
BOTTOM MARGIN 3
|
|
|
|
FORMAT
|
|
FIRST PAGE HEADER
|
|
|
|
LET hora = TIME
|
|
LET fecha=today
|
|
|
|
|
|
## AQUI SE INDICA LA IMPRESION DEL DETALLE
|
|
BEFORE GROUP OF x.codigo
|
|
LET total1=0
|
|
PRINTX x.codigo,x.descripcion
|
|
ON EVERY ROW
|
|
LET numero_ch = NULL
|
|
LET detalle1 = NULL
|
|
LET detalle2 = NULL
|
|
IF x.status_t = "N" THEN
|
|
LET detalle1 = "CHEQUE ANULADO"
|
|
LET detalle2 = " "
|
|
ELSE
|
|
LET numero_ch = "CK.",x.cheque_no USING "&&&&&&"
|
|
SELECT UNIQUE a.detalle_1,a.detalle_2[1,37]
|
|
INTO detalle1,detalle2
|
|
FROM cgtb00004 a
|
|
WHERE a.tipo = 2 AND
|
|
a.cuenta_no = x.cuenta_no AND
|
|
a.ref = numero_ch AND
|
|
a.detalles IN( x.cuenta_no) AND
|
|
a.status_t IS NULL
|
|
END IF
|
|
|
|
PRINTX x.cheque_no,x.fecha,x.portador,detalle1,detalle2,x.cuenta_no,x.descripc_cta,x.monto,p_compania.nombre,
|
|
fecha_inicial,fecha_final,hora,fecha
|
|
AFTER GROUP OF x.codigo
|
|
|
|
LET total1=GROUP SUM(x.monto)
|
|
PRINTX total1
|
|
|
|
ON LAST ROW
|
|
LET total2 =0
|
|
LET total2=SUM(x.monto)
|
|
PRINTX total2
|
|
END REPORT
|
|
|