349 lines
11 KiB
Plaintext
349 lines
11 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 ,monto_efectivo,monto_link,monto_ck DECIMAL(12,2),
|
|
sucnombre CHAR(60)
|
|
END RECORD
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
CALL ARG_VAL(1) RETURNING usuarios
|
|
CALL ARG_VAL(2) RETURNING clave
|
|
|
|
CALL STARTLOG("teprrp001.txt")
|
|
|
|
CONNECT to "smarmotech" USER usuarios USING clave
|
|
SELECT a.nombre INTO p_compania.nombre FROM companias a
|
|
DISPLAY usuarios
|
|
CALL teprrp001()
|
|
END MAIN
|
|
###### 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
|
|
|
|
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)
|
|
|
|
|
|
# Creando el criterio de busqueda de informteion
|
|
|
|
INPUT BY NAME fecha1,fecha2
|
|
|
|
|
|
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
|
|
|
|
|
|
AFTER CONSTRUCT
|
|
EXIT CONSTRUCT
|
|
END CONSTRUCT
|
|
|
|
LET parametro = "D"
|
|
|
|
|
|
|
|
##### Selecionando la prima del dolar actual
|
|
|
|
LET selec =
|
|
"SELECT c.num_doc,c.cuenta_no,a.descripcion,d.cuenta_bank,c.procedencia, ",
|
|
" b.descripcion,c.fecha,c.monto,c.monto_efectivo,c.monto_link,c.monto_ck,e.sucnombre ",
|
|
"FROM tetb00001 c LEFT OUTER JOIN tetb00002 b ON b.procedencia = c.procedencia left outer join sucursales e on e.sucid=c.sucursal,cgtb00001 a,cgtb00012 d ",
|
|
"WHERE a.cuenta_no = c.cuenta_no AND c.status_t IS NULL AND ",
|
|
" b.status_t IS NULL AND d.cuenta_no=c.cuenta_no 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
|
|
LET idx=1
|
|
FOREACH busca1 USING fecha1,fecha2 INTO deposito1.*
|
|
DISPLAY "aqui",fecha1
|
|
IF idx=1 THEN
|
|
# IF idx=1 THEN
|
|
LET r_filename="teprrp001.4rp"
|
|
IF fgl_report_loadCurrentSettings(r_filename) 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
|
|
# END IF
|
|
START REPORT deposito1s TO XML HANDLER HANDLER
|
|
END IF
|
|
|
|
DISPLAY " " AT 19,14
|
|
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
|
|
AT 19,14 ATTRIBUTE (REVERSE)
|
|
|
|
|
|
DISPLAY deposito1.num_doc AT 21,20
|
|
DISPLAY deposito1.cuenta_no AT 21,35
|
|
|
|
OUTPUT TO REPORT deposito1s(deposito1.*)
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
IF idx > 1 THEN
|
|
DISPLAY "aqui"
|
|
FINISH REPORT deposito1s
|
|
|
|
ELSE
|
|
CALL fgl_winmessage("ERROR","NO EXISTEN REGISTROS CON ESA CONDICION","INFO")
|
|
END IF
|
|
|
|
|
|
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/yyyy"
|
|
PRINT COLUMN 20, " Validacion de Depositos Por Bancos ",
|
|
COLUMN 81, hora
|
|
PRINT COLUMN 31, "Del ",fecha1 USING "dd/mm/yyyy"," Al ",
|
|
fecha2 USING "dd/mm/yyyy" #,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/yyyy",
|
|
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}
|
|
|
|
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,monto_efectivo,monto_link,monto_ck DECIMAL(12,2),
|
|
sucnombre CHAR(60)
|
|
END RECORD
|
|
DEFINE descr CHAR(30)
|
|
|
|
DEFINE hora CHAR(5)
|
|
DEFINE fecha5,fecha DATE
|
|
DEFINE dias INTEGER
|
|
DEFINE tasa,deprec DECIMAL(8,2)
|
|
DEFINE valor_libro,depr_teum,total1 DECIMAL(12,2)
|
|
DEFINE total2,total3,total4,total5,total_efe,total_ck,total_link,total_monto DECIMAL(12,2)
|
|
OUTPUT
|
|
TOP MARGIN 0
|
|
LEFT MARGIN 0
|
|
BOTTOM MARGIN 2
|
|
|
|
##### Sorteando la salida de la informteion
|
|
|
|
ORDER BY x.sucnombre,x.cuenta_no,x.procedencia,x.num_doc
|
|
|
|
FORMAT
|
|
PAGE HEADER
|
|
LET fecha = today
|
|
LET hora = TIME
|
|
|
|
ON EVERY ROW
|
|
IF total3 IS NULL THEN
|
|
LET total3 = 0
|
|
END IF
|
|
IF x.monto IS NULL THEN
|
|
LET x.monto = 0
|
|
END IF
|
|
PRINTX x.cta_banco,p_compania.*,hora,fecha,x.descrip2,x.fecha,x.monto,x.num_doc,x.procedencia,x.monto_ck,
|
|
x.monto_efectivo,x.monto_link
|
|
BEFORE GROUP OF x.sucnombre
|
|
PRINTX x.sucnombre
|
|
AFTER GROUP OF x.sucnombre
|
|
LET total_ck=0
|
|
LET total_efe=0
|
|
LET total_link=0
|
|
LET total_monto=0
|
|
LET total_ck=GROUP SUM(x.monto_ck)
|
|
LET total_link=GROUP SUM(x.monto_link)
|
|
LET total_efe=GROUP SUM(x.monto_efectivo)
|
|
LET total_monto=GROUP SUM(x.monto)
|
|
PRINTX total_ck,total_link,total_efe,total_monto
|
|
BEFORE GROUP OF x.cuenta_no
|
|
PRINTX x.cuenta_no,x.descripcion
|
|
AFTER GROUP OF x.cuenta_no
|
|
LET total2=0
|
|
LET total1=0
|
|
LET total4=0
|
|
LET total5=0
|
|
LET total1=GROUP SUM(x.monto_ck)
|
|
LET total4=GROUP SUM(x.monto_link)
|
|
LET total5=GROUP SUM(x.monto_efectivo)
|
|
LET total2=GROUP SUM(x.monto)
|
|
PRINTX total2,total1,total4,total5
|
|
ON LAST ROW
|
|
|
|
LET total3=SUM(x.monto)
|
|
PRINTX total3
|
|
end report |