Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,148 @@
|
||||
{
|
||||
PROGRAMA : CCPRRP047
|
||||
DESARROLLADOR : JUAN SOTO
|
||||
FECHA : ABRIL 17, 2012
|
||||
OBJETIVO : REPORTE COBROS PARA ENVIARLO POR CORREO
|
||||
}
|
||||
|
||||
GLOBALS
|
||||
"ccprgb000.4gl"
|
||||
|
||||
|
||||
MAIN
|
||||
|
||||
|
||||
DEFER INTERRUPT
|
||||
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CALL ARG_VAL(3) RETURNING impresor
|
||||
|
||||
CONNECT to "smarmotech" USER usuarios USING clave
|
||||
|
||||
SELECT a.* INTO p_companias.* FROM companias a
|
||||
CALL ccprrp047()
|
||||
|
||||
END MAIN
|
||||
|
||||
FUNCTION ccprrp047()
|
||||
DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
|
||||
r_filename STRING, -- filename of Report Design Document including .4rp extension
|
||||
r_output STRING, -- output format option
|
||||
preview INTEGER -- TRUE/FALSE, to set preview option
|
||||
|
||||
DEFINE xcobros RECORD
|
||||
ano SMALLINT,
|
||||
mes VARCHAR(12),
|
||||
tasa DEC(12,2),
|
||||
TipoCobro VARCHAR(40),
|
||||
ocupacion VARCHAR(40),
|
||||
nombre VARCHAR(30),
|
||||
apellido VARCHAR(30),
|
||||
valorrd DEC(12,2),
|
||||
valororig DEC(12,2),
|
||||
valorAcumuladoRD DEC(12,2),
|
||||
ValorAcumuladoOrig DEC(12,2)
|
||||
END RECORD,
|
||||
fecha_inicial,fecha_ini_periodo DATE
|
||||
|
||||
LET preview = true
|
||||
LET r_output = "SVG"
|
||||
LET r_filename='ccprrp047.4rp'
|
||||
-- configure report engine; the functions prefixed fgl that are called here are part of the GRW API
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
|
||||
|
||||
CALL fgl_report_selectDevice(r_output) -- changing default
|
||||
CALL fgl_report_selectPreview(preview) -- changing default
|
||||
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
||||
ELSE
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
--run the report
|
||||
IF handler IS NOT NULL THEN -- report engine was configured ok
|
||||
|
||||
START REPORT xmlcobros TO "tonto"
|
||||
|
||||
SELECT MIN(a.fecha_inicio) INTO fecha_ini_periodo
|
||||
FROM prdtable a
|
||||
WHERE a.ano = year(today)
|
||||
|
||||
SELECT a.fecha_inicio INTO fecha_inicial
|
||||
FROM prdtable a
|
||||
WHERE a.ano = year(today) AND a.mes = MONTH(today)
|
||||
|
||||
CALL fgl_winmessage("ERROR",fecha_inicial,"STOP")
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT a.ano,a.nombremes,a.tasa,a.tipocobro,a.ocupacion,
|
||||
SUM(a.valorrd),sum(a.valor),'0','0'
|
||||
FROM vwcobros a
|
||||
WHERE a.fecha_orig BETWEEN fecha_inicial AND TODAY
|
||||
GROUP BY a.ano,a.nombremes,a.tasa,a.tipocobro,a.ocupacion
|
||||
UNION
|
||||
SELECT a.ano,a.nombremes,a.tasa,a.tipocobro,a.ocupacion,
|
||||
'0','0',SUM(a.valorrd),sum(a.valor)
|
||||
FROM vwcobros a
|
||||
WHERE a.fecha_orig BETWEEN fecha_ini_periodo AND TODAY
|
||||
GROUP BY a.ano,a.nombremes,a.tasa,a.tipocobro,a.ocupacion
|
||||
|
||||
|
||||
|
||||
|
||||
FOREACH busca INTO xcobros.*
|
||||
OUTPUT TO REPORT xmlcobros(xcobros.*)
|
||||
END FOREACH
|
||||
FINISH REPORT xmlcobros
|
||||
END IF
|
||||
END FUNCTION
|
||||
REPORT xmlcobros(x)
|
||||
|
||||
DEFINE x RECORD
|
||||
ano SMALLINT,
|
||||
mes VARCHAR(12),
|
||||
tasa DEC(12,2),
|
||||
TipoCobro VARCHAR(40),
|
||||
ocupacion VARCHAR(40),
|
||||
nombre VARCHAR(30),
|
||||
apellido VARCHAR(30),
|
||||
valorrd DEC(12,2),
|
||||
valororig DEC(12,2),
|
||||
valorAcumuladoRD DEC(12,2),
|
||||
ValorAcumuladoOrig DEC(12,2)
|
||||
|
||||
END RECORD,
|
||||
total_cobros_rd,total_cobros_orig,total_cobros_acum_rd,total_cobros_acum_orig DEC(12,2),
|
||||
ttotal_cobros_rd,ttotal_cobros_orig,ttotal_cobros_acum_rd,ttotal_cobros_acum_orig DEC(12,2)
|
||||
|
||||
ORDER EXTERNAL BY x.tipocobro,x.ocupacion
|
||||
FORMAT
|
||||
FIRST PAGE HEADER
|
||||
LET ttotal_cobros_Rd = 0
|
||||
LET ttotal_cobros_orig = 0
|
||||
LET ttotal_cobros_acum_rd = 0
|
||||
LET ttotal_cobros_acum_orig = 0
|
||||
|
||||
BEFORE GROUP OF x.ocupacion
|
||||
LET total_cobros_Rd = 0
|
||||
LET total_cobros_orig = 0
|
||||
LET total_cobros_acum_rd = 0
|
||||
LET total_cobros_acum_orig = 0
|
||||
|
||||
ON EVERY ROW
|
||||
LET total_cobros_Rd = total_cobros_rd + x.valorrd
|
||||
LET total_cobros_orig = total_cobros_orig + x.valororig
|
||||
LET total_cobros_acum_rd = total_cobros_acum_rd + x.valorAcumuladoRD
|
||||
LET total_cobros_acum_orig = total_cobros_acum_orig + x.ValorAcumuladoOrig
|
||||
|
||||
LET ttotal_cobros_Rd = ttotal_cobros_rd + x.valorrd
|
||||
LET ttotal_cobros_orig = ttotal_cobros_orig + x.valororig
|
||||
LET ttotal_cobros_acum_rd = ttotal_cobros_acum_rd + x.valorAcumuladoRD
|
||||
LET ttotal_cobros_acum_orig = ttotal_cobros_acum_orig + x.ValorAcumuladoOrig
|
||||
|
||||
PRINTX x.*,total_cobros_acum_orig,total_cobros_acum_rd,total_cobros_orig,
|
||||
total_cobros_rd,ttotal_cobros_acum_orig,ttotal_cobros_acum_rd,ttotal_cobros_orig,
|
||||
ttotal_cobros_rd,p_companias.nombre
|
||||
|
||||
|
||||
|
||||
END REPORT
|
||||
|
||||
Reference in New Issue
Block a user