{ ------------------------------------------------------------------------------- PROGRAMA : IRPRRP016 OBJETIVO : Validacion Maestra de Sub-Grupos PROGRAMADOR : Tadeo A. Ferreras F. FECHA REALIZACION : Enero 29, 1993. ------------------------------------------------------------------------------- } GLOBALS "irprgb000.4gl" MAIN DEFER INTERRUPT SELECT * INTO p_companias.* FROM companias CALL irprrp16() END MAIN FUNCTION irprrp16() DEFINE sel_exist CHAR(300) DEFINE salir1,salir CHAR(1) DEFINE idx1,idx SMALLINT DEFINE hoy DATE DEFINE departa RECORD LIKE irtb00010.* DEFINE cod smallint #WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 CLEAR SCREEN OPEN FORM irfmrp16 FROM "irfmrp016" DISPLAY FORM irfmrp16 CALL pantalla() DISPLAY "irprrp016" AT 4,3 DISPLAY "Validacion Maestra Sub-Grupos" AT 6,25 LET tipo_papel = 1 CALL msgrp000(tipo_papel) 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.* FROM irtb00010 a ", "WHERE a.status_t IS NULL AND ",criterio CLIPPED," ORDER BY 2 " ELSE LET SELEC = "SELECT UNIQUE a.* FROM irtb00010 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) START REPORT reporte_16 TO "C:\\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 departa.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF OUTPUT TO REPORT reporte_16(departa.*) END FOREACH FINISH REPORT reporte_16 CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT reporte_16(x) DEFINE x RECORD LIKE irtb00004.* 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, negrillas_on PRINT COLUMN 1, "irprrp016", COLUMN 17, " M A R M O T E C H S. A.", COLUMN 72, "Pag. ",pageno using "<<<" PRINT COLUMN 17, " Sistema de Inventario de Repuestos ", COLUMN 72, today using "dd/mm/yy" PRINT COLUMN 17, " Validacion Maestra Sub-Grupos ", COLUMN 75, 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 = (80 - LENGTH(varia))/2 PRINT COLUMN l, varia clipped PRINT COLUMN 1, "--------------------------------------------------", "------------------------------" PRINT COLUMN 1, "Sub-Grupo", COLUMN 17, "Nombre" PRINT COLUMN 1, "--------------------------------------------------", "------------------------------" PRINT COLUMN 1, negrillas_off ON EVERY ROW PRINT COLUMN 1, x.codigo USING "&&&&", COLUMN 17, x.nombre SKIP 1 LINE ON LAST ROW SKIP 1 LINE PRINT COLUMN 1, "==================================================", "==============================" PRINT COLUMN 3, "Total de Registros Impresos = ", count(*) USING "####" PRINT COLUMN 3, ASCII 27, ASCII 80 END REPORT