Files

149 lines
4.2 KiB
Plaintext

{
-------------------------------------------------------------------------------
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