Files
MBS/PROYECTO/encuestas/clienteexterno.4gl
T

82 lines
2.3 KiB
Plaintext

{
PROGRAMA: clienteexterno.4gl
DESARROLLADO: Ing. JUAN SOTO
FECHA: FEBRERO 7, 2023
}
GLOBALS
DEFINE usuario,clave VARCHAR(50)
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
END GLOBALS
MAIN
CALL arg_val(1) RETURNING usuario
CALL arg_val(2) RETURNING clave
CONNECT to "smarmotech" USER usuario USING clave
CALL grafica()
END MAIN
FUNCTION grafica()
DEFINE dataencuesta RECORD
ANO SMALLINT,
mes VARCHAR(30),
vendedor,tiponegocio VARCHAR(100),
fecha DATE,
respuesta smallint
END RECORD,
selec STRING,
ano,idx SMALLINT
OPEN WINDOW w WITH FORM "fmclienteexterno"
INPUT BY NAME ano
LET selec = "SELECT a.ano,a.mes,a.vendedor,a.tipoNegocio,a.fecha,a.respuesta
FROM encuesta.dbo.vwencuesta_cliente a where a.ano = ? order by a.ano"
PREPARE comando FROM selec
DECLARE buscar CURSOR FOR comando
OPEN buscar USING ano
LET idx = 1
FOREACH buscar INTO dataencuesta.*
IF idx = 1 THEN
IF fgl_report_loadCurrentSettings(r_filename) THEN
LET preview=1
CALL seleccionarsalida() RETURNING r_output -- 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
END IF
LET idx = 2
START REPORT impdata TO XML HANDLER HANDLER
LET idx = 2
END IF
OUTPUT TO REPORT impdata(dataencuesta.*)
END FOREACH
IF idx > 1 THEN
FINISH REPORT impdata
END IF
CLOSE WINDOW w
END FUNCTION
REPORT impdata(x)
DEFINE x RECORD
ANO SMALLINT,
mes VARCHAR(30),
vendedor,tiponegocio VARCHAR(100),
fecha DATE,
respuesta smallint
END RECORD
FORMAT
ON EVERY ROW
PRINTX x.*
END REPORT