Files
DECOMARMOL/PROYECTOS COSTOS/irdir/irprrp013.4gl
T
2026-09-22 20:38:51 -04:00

205 lines
6.0 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 "decomarmol" 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
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
INPUT BY NAME decide
AFTER FIELD decide
IF decide IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD decide
END IF
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
CONSTRUCT criterio ON a.codigo,a.nombre
FROM codigo,nombre
IF decide = "A" THEN
LET SELEC =
"SELECT UNIQUE a.codigo,a.nombre,a.unidad_med,a.modelo,a.serie, ",
" a.fabricante ",
"FROM irtb00009 a ",
"WHERE a.status_t IS NULL AND ",criterio CLIPPED," ORDER BY 2 "
ELSE
LET SELEC =
"SELECT UNIQUE a.codigo,a.nombre,a.unidad_med,a.modelo,a.serie, ",
" a.fabricante ",
"FROM irtb00009 a ",
"WHERE a.status_t IS NULL AND ",criterio CLIPPED," ORDER BY 1 "
END IF
DISPLAY "<< Buscando Informacion ... Espere Por Favor >>" AT 19,14
ATTRIBUTE (BOLD)
CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of,
doble_on,doble_off,comp_on,comp_off,
doce,normal,archivo,copia
START REPORT reporte_13 TO archivo
PREPARE busca FROM selec
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
DECLARE accion CURSOR FOR busca
DISPLAY " "
AT 19,14
DISPLAY "<< Reporte Generandose ... Por Favor Espere >>"
AT 19,14 ATTRIBUTE (REVERSE)
FOREACH accion INTO maquina.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
OUTPUT TO REPORT reporte_13(maquina.*)
END FOREACH
FINISH REPORT reporte_13
CLEAR SCREEN
RUN imprime
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
END RECORD
DEFINE l smallint
DEFINE varia CHAR(20)
DEFINE descripcion CHAR(60)
DEFINE primera CHAR(1)
DEFINE doble_on CHAR(6)
DEFINE doble_off CHAR(6)
DEFINE negrillas_on CHAR(6)
DEFINE negrillas_off CHAR(6)
DEFINE comp_on CHAR(6)
DEFINE comp_off CHAR(6)
DEFINE normal CHAR(6)
DEFINE doce CHAR(6)
DEFINE hora CHAR(5)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 2
FORMAT
PAGE HEADER
LET doble_on = ASCII 14
LET doble_off = ASCII 002
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET normal = ASCII 27,ASCII 80
LET hora = time
PRINT COLUMN 3, comp_on,negrillas_on
PRINT COLUMN 1, "irprrp013",
COLUMN 29, " M A R M O T E C H S. A.",
COLUMN 96, "Pag. ",pageno using "###"
PRINT COLUMN 29, " Sistema de Inventario de Repuestos ",
COLUMN 96, today using "dd/mm/yy"
PRINT COLUMN 29, " Validacion Maestra de Maquina",
COLUMN 99, hora
IF decide = "N" THEN
LET varia = " N u m e r i c o "
ELSE
LET varia = "A l f a b e t i c o"
END IF
LET l = (82 - LENGTH(varia))/2
PRINT COLUMN l, " ",varia CLIPPED
PRINT COLUMN 1, "----------------------------------------------------",
"----------------------------------------------------"
PRINT COLUMN 1, "Maquina",
COLUMN 37, "Modelo",
COLUMN 54, "Serie",
COLUMN 72, "Fabricante"
PRINT COLUMN 1, "----------------------------------------------------",
"----------------------------------------------------"
PRINT COLUMN 1, negrillas_off
ON EVERY ROW
PRINT COLUMN 1, x.codigo USING "&&&&"," ",x.nombre," ",x.unidad_med,
COLUMN 37, x.modelo,
COLUMN 54, x.serie,
COLUMN 72, x.fabricante
SKIP 1 LINE
ON LAST ROW
SKIP 1 LINE
PRINT COLUMN 3, "Total de Registros Impresos = ", count(*) USING "####"
PRINT COLUMN 1, "====================================================",
"================================================="
PRINT COLUMN 3, ASCII 27, ASCII 80
END REPORT