265 lines
8.0 KiB
Plaintext
265 lines
8.0 KiB
Plaintext
{
|
|
-------------------------------------------------------------------------------
|
|
PROGRAMA : TEPRRP001
|
|
OBJETIVO : Validacion de Depositos Por Banco
|
|
PROGRAMADOR : Tadeo A. Ferreras
|
|
FECHA REALIZACION : Sept. 28, 1993
|
|
-------------------------------------------------------------------------------
|
|
}
|
|
GLOBALS "teprgb000.4gl"
|
|
|
|
DEFINE fecha1,fecha2,fecha_corte DATE ,
|
|
opt5 CHAR(1)
|
|
|
|
##### Definicion de las variables del reporte
|
|
DEFINE deposito1 RECORD
|
|
num_doc SMALLINT,
|
|
cuenta_no CHAR(8),
|
|
descripcion CHAR(46),
|
|
cta_banco CHAR(13),
|
|
procedencia SMALLINT,
|
|
descrip2 CHAR(30),
|
|
fecha DATE,
|
|
monto DECIMAL(12,2)
|
|
END RECORD
|
|
|
|
###### Funcion de busqueda de informteion
|
|
FUNCTION teprrp001()
|
|
|
|
# WHENEVER ERROR CONTINUE
|
|
|
|
OPTIONS
|
|
FORM LINE 8,
|
|
ERROR LINE 23,
|
|
COMMENT LINE 21,
|
|
PROMPT LINE 14
|
|
|
|
OPEN FORM tefmrp001 FROM "tefmrp001"
|
|
DISPLAY FORM tefmrp001
|
|
CALL pantalla()
|
|
DISPLAY "teprrp001" AT 4,3 ATTRIBUTE(RED)
|
|
DISPLAY "Validacion de Depositos Por Banco" AT 6,24 ATTRIBUTE(BLACK)
|
|
|
|
LET tipo_papel = 1
|
|
CALL msgrp000(tipo_papel)
|
|
CALL defecto(impresor) RETURNING imprime,letras.*,archivo
|
|
|
|
# Creando el criterio de busqueda de informteion
|
|
|
|
INPUT BY NAME fecha1,fecha2
|
|
ON KEY(CONTROL-P)
|
|
CALL busca_printer() RETURNING imprime,letras.*,archivo
|
|
|
|
AFTER FIELD fecha1
|
|
IF fecha1 IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fecha1
|
|
END IF
|
|
|
|
AFTER FIELD fecha2
|
|
IF fecha2 IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fecha2
|
|
END IF
|
|
|
|
IF fecha1 > fecha2 THEN
|
|
LET numero_msg = 189
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fecha1
|
|
END IF
|
|
END INPUT
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = FALSE
|
|
RETURN
|
|
END IF
|
|
|
|
CONSTRUCT criterio ON c.cuenta_no,c.num_doc,c.procedencia
|
|
FROM cuenta_no,num_doc,procedencia
|
|
ON KEY(CONTROL-P)
|
|
CALL busca_printer() RETURNING imprime,letras.*,archivo
|
|
|
|
AFTER CONSTRUCT
|
|
EXIT CONSTRUCT
|
|
END CONSTRUCT
|
|
|
|
LET parametro = "D"
|
|
CALL elijeimpresion(parametro) RETURNING orden,destino,letras.*
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
##### Selecionando la prima del dolar actual
|
|
|
|
LET selec =
|
|
"SELECT c.num_doc,c.cuenta_no,a.descripcion,c.cta_banco,c.procedencia, ",
|
|
" b.descripcion,c.fecha,c.monto ",
|
|
"FROM tetb00001 c,cgtb00001 a,tetb00002 b ",
|
|
"WHERE a.cuenta_no = c.cuenta_no AND c.status_t IS NULL AND ",
|
|
" c.procedencia = b.procedencia AND b.status_t IS NULL AND ",
|
|
" c.fecha BETWEEN ? AND ? AND ",criterio CLIPPED
|
|
|
|
DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14
|
|
ATTRIBUTE (REVERSE,BOLD)
|
|
|
|
PREPARE comando FROM selec
|
|
DECLARE busca1 CURSOR FOR comando
|
|
OPEN busca1 USING fecha1,fecha2
|
|
|
|
START REPORT deposito1s TO archivo
|
|
|
|
DISPLAY " " AT 19,14
|
|
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
|
|
AT 19,14 ATTRIBUTE (REVERSE)
|
|
|
|
WHILE STATUS != NOTFOUND
|
|
FETCH busca1 INTO deposito1.*
|
|
|
|
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
|
|
|
|
DISPLAY deposito1.num_doc AT 21,20
|
|
DISPLAY deposito1.cuenta_no AT 21,35
|
|
|
|
OUTPUT TO REPORT deposito1s(deposito1.*)
|
|
END WHILE
|
|
FINISH REPORT deposito1s
|
|
#RUN imprime
|
|
CALL fdestino(destino,archivo,imprime)
|
|
CLEAR SCREEN
|
|
END FUNCTION
|
|
|
|
#### Funcion que genera el reporte
|
|
REPORT deposito1s(x)
|
|
DEFINE x RECORD
|
|
num_doc INTEGER,
|
|
cuenta_no CHAR(8),
|
|
descripcion CHAR(46),
|
|
cta_banco CHAR(13),
|
|
procedencia SMALLINT,
|
|
descrip2 CHAR(30),
|
|
fecha DATE,
|
|
monto DECIMAL(12,2)
|
|
END RECORD
|
|
DEFINE descr CHAR(30)
|
|
|
|
DEFINE hora CHAR(5)
|
|
DEFINE fecha5 DATE
|
|
DEFINE dias INTEGER
|
|
DEFINE tasa,deprec DECIMAL(8,2)
|
|
DEFINE valor_libro,depr_teum,total1 DECIMAL(12,2)
|
|
DEFINE total2,total3,total4,total5 DECIMAL(12,2)
|
|
|
|
OUTPUT
|
|
TOP MARGIN 0
|
|
LEFT MARGIN 0
|
|
BOTTOM MARGIN 2
|
|
|
|
##### Sorteando la salida de la informteion
|
|
|
|
ORDER BY x.cuenta_no,x.procedencia,x.num_doc
|
|
|
|
FORMAT
|
|
PAGE HEADER
|
|
|
|
LET hora = time
|
|
|
|
PRINT COLUMN 1, letras.comp_on,letras.negrillas_on
|
|
PRINT COLUMN 1, "teprrp001",
|
|
COLUMN 20, "R A Y . O . V A C D O M I N I C A N A, S. A.",
|
|
COLUMN 78, "Pag. ",pageno USING "###"
|
|
PRINT COLUMN 20, " Sistema de Tesoreria ",
|
|
COLUMN 78, today using "dd/mm/yy"
|
|
PRINT COLUMN 20, " Validacion de Depositos Por Bancos ",
|
|
COLUMN 81, hora
|
|
PRINT COLUMN 31, "Del ",fecha1 USING "dd/mm/yy"," Al ",
|
|
fecha2 USING "dd/mm/yy" #,letras.normal,
|
|
#letras.comp_on
|
|
|
|
PRINT COLUMN 1, "--------------------------------------------------",
|
|
"--------------------------------------------------",
|
|
"--------------------------------------------"
|
|
|
|
PRINT COLUMN 1, "Banco",
|
|
COLUMN 60, "Procedencia",
|
|
COLUMN 91, "Cta. Banco",
|
|
COLUMN 107, "Num. Dcto.",
|
|
COLUMN 122, "Fecha",
|
|
COLUMN 136, "Monto"
|
|
|
|
PRINT COLUMN 1, "--------------------------------------------------",
|
|
"--------------------------------------------------",
|
|
"--------------------------------------------"
|
|
, letras.negrillas_off
|
|
|
|
BEFORE GROUP OF x.cuenta_no
|
|
LET total1 = 0
|
|
|
|
PRINT COLUMN 1,letras.negrillas_on
|
|
PRINT COLUMN 1,x.cuenta_no," ",x.descripcion;
|
|
|
|
BEFORE GROUP OF x.procedencia
|
|
LET total2 = 0
|
|
PRINT COLUMN 60,letras.negrillas_off,x.procedencia USING "&",
|
|
" ",x.descrip2;
|
|
|
|
ON EVERY ROW
|
|
IF x.monto IS NULL THEN
|
|
LET x.monto = 0
|
|
END IF
|
|
|
|
IF total3 IS NULL THEN
|
|
LET total3 = 0
|
|
END IF
|
|
|
|
LET total1 = total1 + x.monto
|
|
LET total2 = total2 + x.monto
|
|
LET total3 = total3 + x.monto
|
|
|
|
PRINT COLUMN 91,x.cta_banco,
|
|
COLUMN 109,x.num_doc USING "&&&&&&",
|
|
COLUMN 121,x.fecha USING "dd/mm/yy",
|
|
COLUMN 130,x.monto USING "###,###,###.##"
|
|
|
|
#### Acumulando los totales de las columnas por cuenta
|
|
|
|
AFTER GROUP OF x.procedencia
|
|
PRINT COLUMN 1,letras.negrillas_on
|
|
PRINT COLUMN 105,"Total Por Procedencia :",
|
|
COLUMN 130,total2 USING "###,###,###.##"
|
|
PRINT COLUMN 1,letras.negrillas_off
|
|
LET Total2 = 0
|
|
|
|
AFTER GROUP OF x.cuenta_no
|
|
PRINT COLUMN 1,letras.negrillas_on
|
|
PRINT COLUMN 105,"Total Por Cuenta :",
|
|
COLUMN 130,total1 USING "###,###,###.##"
|
|
PRINT COLUMN 1,letras.negrillas_off
|
|
LET Total1 = 0
|
|
|
|
ON LAST ROW
|
|
PRINT COLUMN 1,letras.negrillas_on
|
|
PRINT COLUMN 105,"Total General :",
|
|
COLUMN 132,total3 USING "###,###,###.##"
|
|
PRINT COLUMN 1,letras.normal,letras.negrillas_off
|
|
LET total1 = 0
|
|
LET total2 = 0
|
|
LET total3 = 0
|
|
END REPORT
|
|
|