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

226 lines
7.2 KiB
Plaintext

{
==============================================================================
PROGRAMA : CGPRRP025
SISTEMA : Sistema de Contabilidad General
Objetivo : Cheques Entregados en un Rango de Fechas
PROGRAMADOR : Tadeo A. Ferreras
FECHA : Dic. 05, 1995
==============================================================================
}
GLOBALS
"cgprgb000.4gl"
DEFINE datos_25 RECORD
banco CHAR(8),
cheque_no INTEGER,
fecha DATE,
portador CHAR(60),
monto DECIMAL(12,2),
recibido_por CHAR(60),
cedula CHAR(20),
fecha_ent DATE,
hora_ent CHAR(5)
END RECORD
DEFINE fecha_inicial,fecha_final DATE
FUNCTION cgprrp025()
LET int_flag = FALSE
OPTIONS
FORM LINE 8
OPEN FORM cgfmrp025 FROM "cgfmrp025"
DISPLAY FORM cgfmrp025
DISPLAY "cgprrp025" AT 4,3
DISPLAY "Cheques Entragados en Rango de Fechas" AT 6,21
LET tipo_papel = 1
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
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
LET selec =
"SELECT UNIQUE a.banco,a.cheque_no,b.fecha,b.portador,b.monto, ",
"a.recibido_por,a.cedula,a.fecha_ent,a.hora_ent , ",
"c.* ",
"FROM cgtb00032 a,cgtb00005 b , outer cgtb00033 c ",
"WHERE (a.cheque_no=b.cheque_no) AND ",
"a.banco = c.banco and a.banco = b.cuenta_no and ",
"a.fecha_ent BETWEEN ? AND ? AND ",
"(a.status_t IS NULL) ORDER BY 1,2 "
DISPLAY "<<<Buscando Informacion... Espere por Favor>>>" AT 19,14
ATTRIBUTE(blue)
PREPARE comando FROM selec
DECLARE busco CURSOR FOR comando
OPEN busco USING fecha_inicial,fecha_final
START REPORT reporte_25 TO "C:\\archivo"
DISPLAY "<<<Reporte Generandose... Espere por Favor>>>" AT 19,14
ATTRIBUTE(blue)
WHILE status != NOTFOUND
FETCH busco INTO datos_25.*,entrega1.*
IF STATUS = NOTFOUND THEN
EXIT WHILE
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
OUTPUT TO REPORT reporte_25(datos_25.*,entrega1.*)
END WHILE
FINISH REPORT reporte_25
CLEAR SCREEN
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
REPORT reporte_25(x,j)
DEFINE x RECORD
banco CHAR(8),
cheque_no INTEGER,
fecha DATE,
portador CHAR(60),
monto DECIMAL(12,2),
recibido_por CHAR(60),
cedula CHAR(20),
fecha_ent DATE,
hora_ent CHAR(5)
END RECORD
DEFINE j RECORD LIKE cgtb00033.*
## DEFINICION DE LAS VARIABLES DE IMPRESION
DEFINE descripcion CHAR(30)
DEFINE doble_on CHAR(3)
DEFINE doble_off CHAR(3)
DEFINE negrillas_on CHAR(6)
DEFINE negrillas_off CHAR(6)
DEFINE comp_on CHAR(2)
DEFINE comp_off CHAR(3)
DEFINE doce CHAR(3)
DEFINE normal CHAR(3)
DEFINE hora CHAR(5)
OUTPUT
## DEFINICION DE LOS MARGENES DE IMPRESION
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 3
FORMAT
PAGE HEADER
LET doble_on = ASCII 001
LET doble_off = ASCII 002
LET negrillas_on = ASCII 027, ASCII 098
LET negrillas_off = ASCII 027, ASCII 099
LET comp_on = ASCII 31
LET comp_off = ASCII 029
LET doce = ASCII 030
LET normal = ASCII 029
LET hora = time
## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS
PRINT COLUMN 1, negrillas_on,comp_on
PRINT COLUMN 1, "cgprrp025",
COLUMN 77, "M A R M O T E C H, S. A.",
COLUMN 193, "Pag. ",pageno using "###"
PRINT COLUMN 77, " Sistema de Contabilidad General",
COLUMN 193, today using "dd/mm/yy"
PRINT COLUMN 77, " Validacion Cheques Emitidos",
COLUMN 196, hora
SKIP 1 LINE
PRINT COLUMN 1, "FECHA: Del ", fecha_inicial USING "dd/mm/yy",
" Al ", fecha_final USING "dd/mm/yy"
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------",
"--------------------------------------------------",
"--------------------------------------------------"
PRINT COLUMN 181, "Fecha",
COLUMN 193, "Hora"
PRINT COLUMN 1, "Cheque No.",
COLUMN 12, "Fecha ",
COLUMN 22, "Beneficiario",
COLUMN 84, "Monto",
COLUMN 98, "Recibido Por",
COLUMN 160, "Cedula",
COLUMN 182, "Entrega",
COLUMN 194, "Entrega"
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------",
"--------------------------------------------------",
"--------------------------------------------------"
PRINT negrillas_off
## AQUI SE INDICA LA IMPRESION DEL DETALLE
BEFORE GROUP OF x.banco
SELECT a.descripcion INTO descripcion FROM cgtb00001 a
WHERE a.cuenta_no = x.banco AND a.status_t IS NULL
PRINT negrillas_on
PRINT COLUMN 1, x.banco CLIPPED," ",descripcion,negrillas_off
ON EVERY ROW
PRINT COLUMN 1, x.cheque_no USING "######",
COLUMN 12, x.fecha USING "dd/mm/yy",
COLUMN 22, x.portador CLIPPED,
COLUMN 84, x.monto USING "##,###,###.##",
COLUMN 98, x.recibido_por CLIPPED,
COLUMN 160, x.cedula CLIPPED,
COLUMN 182, x.fecha_ent USING "dd/mm/yy",
COLUMN 195, x.hora_ent CLIPPED
IF j.cheque_no is not null THEN
PRINT COLUMN 1, j.cheque_no USING "######",
COLUMN 12, j.fecha USING "dd/mm/yy",
COLUMN 22, j.portador CLIPPED,
COLUMN 84, j.monto USING "##,###,###.##",
COLUMN 98, j.recibido_por CLIPPED,
COLUMN 160, j.cedula CLIPPED,
COLUMN 182, j.fecha_ent USING "dd/mm/yy",
COLUMN 195, j.hora_ent CLIPPED
END IF
ON LAST ROW
PRINT negrillas_on
PRINT "Total Cheques Entregados ", COUNT(*) USING "<<,<<<"
PRINT negrillas_on,comp_off
END REPORT