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