Files
MBS/PROYECTO/tedirbk/teprrp001.old.txt
T

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