{ ------------------------------------------------------------------------------- PROGRAMA : IRPRRP001 OBJETIVO : Reporte Catalogo de BIENES Y SERVICIOS PROGRAMADOR : Ing. Betania Guerrero Perez FECHA REALIZACION : Marzo 11, 1993 ------------------------------------------------------------------------------- } GLOBALS "irprgb000.4gl" FUNCTION irprrp01() DEFINE catalogo RECORD cod_n LIKE intb00001.cod_n, cod_grupo LIKE intb00001.cod_grupo, cod_tipo LIKE intb00001.cod_tipo, cod_sec LIKE intb00001.cod_sec, descrip_esp LIKE intb00001.descrip_esp, descrip_ing LIKE intb00001.descrip_ing, unidad_med LIKE intb00001.unidad_med END RECORD OPTIONS FORM LINE 9, ERROR LINE 23, COMMENT LINE 21 CLEAR SCREEN OPEN FORM irfmrp001 FROM "irfmrp001" DISPLAY FORM irfmrp001 CALL pantalla() DISPLAY "irprrp001" AT 4,3 DISPLAY "Catalogo de Bienes y Servicios " AT 6,24 ## Chequea que el papel para la impresion sea el indicado LET tipo_papel = 1 CALL msgrp000(tipo_papel) IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF ## Aqui se prepara el criterio de seleccion CONSTRUCT criterio ON intb00001.cod_n,intb00001.cod_grupo, intb00001.cod_tipo,intb00001.cod_sec FROM cod_n,cod_grupo,cod_tipo,cod_sec LET SELEC = "SELECT cod_n,cod_grupo,cod_tipo,cod_sec,descrip_esp, ", " descrip_ing,unidad_med FROM intb00001 ", " WHERE ", "status_t is NULL AND ", criterio clipped, " ORDER BY 1,2,3,4" IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET selec1 = "SELECT COUNT(*) FROM intb00001 ", "WHERE ",criterio clipped PREPARE comando1 FROM selec1 DECLARE busca1 CURSOR FOR comando1 OPEN busca1 FETCH busca1 INTO regi DISPLAY "Buscando Informacion ... Espere Por Favor" AT 24,2 ATTRIBUTE (BOLD) ## Verifica si el usuario presiono la tecla PREPARE busca FROM selec CALL integridad() IF bandera = 1 THEN LET bandera = 0 RETURN END IF 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 24,2 START REPORT articulo TO "C:\\archivo" LET p_param = "S" FOREACH accion INTO catalogo.* IF status = NOTFOUND THEN EXIT FOREACH ELSE CALL termometro(regi,p_param) LET p_param = "N" OUTPUT TO REPORT articulo(catalogo.*) END IF END FOREACH FINISH REPORT articulo CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT articulo(x) DEFINE x RECORD cod_n LIKE intb00001.cod_n, cod_grupo LIKE intb00001.cod_grupo, cod_tipo LIKE intb00001.cod_tipo, cod_sec LIKE intb00001.cod_sec, descrip_esp LIKE intb00001.descrip_esp, descrip_ing LIKE intb00001.descrip_ing, unidad_med LIKE intb00001.unidad_med END RECORD DEFINE doble_on CHAR(2) DEFINE doble_off CHAR(2) DEFINE negrillas_on CHAR(2) DEFINE negrillas_off CHAR(2) DEFINE comp_on CHAR(2) DEFINE comp_off CHAR(2) DEFINE doce CHAR(2) DEFINE hora CHAR(5) OUTPUT LEFT MARGIN 1 ## Prepara el formato de impresion para el encabezado y el detalle FORMAT PAGE HEADER LET doble_on = ASCII 14 LET doble_off = ASCII 20 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 doce = ASCII 27, ASCII 77 LET hora = time PRINT COLUMN 3, ASCII 27, ASCII 80,negrillas_on PRINT COLUMN 1, "irprrp001", COLUMN 17, " M A R M O T E C H S. A.", COLUMN 73, "Pag. ",pageno using "###" PRINT COLUMN 17, " Sistema de Inventario de Repuestos", COLUMN 73, today using "dd/mm/yy" PRINT COLUMN 17, " Catalogo de Bienes y Servicios", COLUMN 76, hora PRINT COLUMN 1, doce PRINT COLUMN 1, "---------------------------------------------------", "---------------------------------------------" PRINT COLUMN 1, "Nivel", COLUMN 7, "Grupo", COLUMN 13, "Tipo", COLUMN 18, "Sec", COLUMN 23, "Descripcion Espanol", COLUMN 56, "Descripcion Ingles", COLUMN 91, "Unidad" PRINT COLUMN 1, "-----------------------------------------------------", "-------------------------------------------" ON EVERY ROW PRINT COLUMN 3, x.cod_n USING "&", COLUMN 9, x.cod_grupo USING "&", COLUMN 14, x.cod_tipo USING "&&", COLUMN 18, x.cod_sec USING "&&&", COLUMN 23, x.descrip_esp, COLUMN 56, x.descrip_ing, COLUMN 93, x.unidad_med ON LAST ROW SKIP 1 LINE PRINT COLUMN 3, "Total de Registros Impresos = ", count(*) USING "####" PRINT COLUMN 3, ASCII 27, ASCII 80 END REPORT