Files
MBS/PROYECTOS/irdir/conteo.4gl
T

101 lines
3.2 KiB
Plaintext

MAIN
DEFINE iconteo RECORD
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_Sec SMALLINT,
descripcion CHAR(40),
unidad_med CHAR(4),
fisico DEC(12,4),
teorico DEC(12,4),
diferencia DEC(12,4),
costo DEC(12,4),
valor1 DEC(12,4),
valor2 DEC(12,4),
usuario CHAR(40),
fechacrea DATETIME YEAR TO MINUTE
END RECORD,
pnombre_cia CHAR(30)
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
DEFER INTERRUPT
--pregunta al usuario por la salida del reporte
CALL selectOutput() RETURNING r_filename, r_output, preview
-- 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 imprime TO "archivo"
CONNECT TO "smarmotech" USER "jsoto" USING "lmmjvsd2009"
LET pnombre_Cia = "M A R M O T E C H, S. A." # ESTO LO TENGO EN UNA TABLA, LA IGUALE AL VALOR PARA NO PASARTE ESTA ESTRUCTURA
DECLARE busca_conteo CURSOR FOR
SELECT b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,b.descrip_esp,b.unidad_med,a.cantidad,'0','0','0','0','0',a.us_crea,a.fech_crea
FROM irtb00002 AS b LEFT OUTER JOIN irtb00011 AS a
ON a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND
a.cod_tipo = b.cod_tipo AND
a.cod_Sec = b.cod_Sec AND
a.cod_n = 7 and a.cod_grupo = 0 and a.cod_tipo = 0 and
a.cod_Sec between 3 and 13
and CAST(a.fecha AS DATE) = '11/18/2009'
ORDER by b.cod_n,b.cod_Grupo,b.cod_tipo,b.cod_sec
FOREACH busca_conteo INTO iconteo.*
OUTPUT TO REPORT imprime(iconteo.*,pnombre_cia)
END FOREACH
ELSE
EXIT PROGRAM
END IF
END MAIN
REPORT imprime(x,nombre_cia)
DEFINE x RECORD
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_tipo SMALLINT,
cod_Sec SMALLINT,
descripcion CHAR(40),
unidad_med CHAR(4),
fisico DEC(12,4),
teorico DEC(12,4),
diferencia DEC(12,4),
costo DEC(12,4),
valor1 DEC(12,4),
valor2 DEC(12,4),
usuario CHAR(40),
fechacrea DATETIME YEAR TO MINUTE
END RECORD,
nombre_cia CHAR(50),
pcodigo CHAR(20),
total_general dec(12,2)
ORDER EXTERNAL BY nombre_cia
FORMAT
PAGE HEADER
ON EVERY ROW
LET pcodigo = x.cod_n USING "&&","-",x.cod_grupo USING "&&&&","-",
x.cod_tipo USING "&&&&","-",x.cod_sec USING "&&&&"
# LET total_general = total_general + x.valor2
PRINTX pcodigo,x.*,nombre_cia,total_general
ON LAST ROW
LET total_general = SUM(x.valor2)
END REPORT