{ ------------------------------------------------------------------------------- PROGRAMA : IRPRRP013 OBJETIVO : Validacion Maestra de Maquina PROGRAMADOR : Tadeo A. Ferreras F. FECHA REALIZACION : Enero 29, 1993. ------------------------------------------------------------------------------- } GLOBALS "irprgb000.4gl" MAIN DEFER INTERRUPT CALL STARTLOG("irprrp13.log") 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 * INTO p_companias.* FROM companias CALL irprrp013() END MAIN FUNCTION irprrp013() DEFINE maquina RECORD codigo LIKE irtb00009.codigo, nombre LIKE irtb00009.nombre, unidad_med LIKE irtb00009.unidad_med, modelo LIKE irtb00009.modelo, serie LIKE irtb00009.serie, fabricante LIKE irtb00009.fabricante, ubicacion , codigo_externo VARCHAR(100), departamento INT, nombre_dpto LIKE adtb00001.nom_dpto END RECORD #WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 CLEAR SCREEN OPEN FORM irfmrp13 FROM "irfmrp013" DISPLAY FORM irfmrp13 DISPLAY "irprrp013" AT 4,3 DISPLAY "Validacion Maestra de Maquina" AT 6,25 CONSTRUCT criterio ON a.codigo,a.nombre,a.departamento, a.codigo_externo,a.serie,a.modelo FROM codigo,nombre,departamento,codigo_externo,serie,modelo BEFORE CONSTRUCT CALL busca_departamento() AFTER CONSTRUCT IF int_flag THEN CALL msg(2) RETURN END IF EXIT CONSTRUCT END CONSTRUCT LET SELEC = "SELECT UNIQUE a.codigo,a.nombre,a.unidad_med,a.modelo,a.serie, ", " a.fabricante,a.ubicacion,a.codigo_externo,a.departamento,ISNULL(b.nom_dpto,'NO TIENE') ", "FROM irtb00009 a LEFT OUTER JOIN adtb00001 b ON a.departamento =b.departamento ", "WHERE a.status_t IS NULL AND ",criterio CLIPPED PREPARE busca FROM selec DECLARE accion CURSOR FOR busca DISPLAY " " AT 19,14 DISPLAY "<< Reporte Generandose ... Por Favor Espere >>" AT 19,14 ATTRIBUTE (REVERSE) LET idx = 1 LET r_filename = 'irprrp013.4rp' LET preview=1 FOREACH accion INTO maquina.* 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 CALL fgl_report_configurexlsxdevice(null,null,null,false,false,null,1) LET handler = fgl_report_commitCurrentSettings() -- commit changes START REPORT reporte_13 TO XML HANDLER handler END IF LET idx = 2 END IF OUTPUT TO REPORT reporte_13(maquina.*) END FOREACH IF idx > 1 THEN FINISH REPORT reporte_13 ELSE CALL fgl_winmessage("INFO","NO EXISTEN DATOS CON LA CONDICION SOLICITADA","INFO") END IF END FUNCTION REPORT reporte_13(x) DEFINE x RECORD codigo LIKE irtb00009.codigo, nombre LIKE irtb00009.nombre, unidad_med LIKE irtb00009.unidad_med, modelo LIKE irtb00009.modelo, serie LIKE irtb00009.serie, fabricante LIKE irtb00009.fabricante, ubicacion , codigo_externo VARCHAR(100), departamento LIKE adtb00001.departamento, nombre_depto LIKE adtb00001.nom_dpto END RECORD, registros INT DEFINE hora CHAR(5) ORDER BY x.departamento,x.nombre FORMAT FIRST PAGE HEADER LET hora = TIME ON EVERY ROW PRINTX x.*,p_companias.nombre,HORA SKIP 1 LINE ON LAST ROW LET registros = count(*) PRINTX registros END REPORT