{ ============================================================================ PROGRAMA : INPRRP023 SISTEMA : Sistema de inventario de materiales ( LEY 69) OBJETIVO : Listado de la maestra de formula en consumo de produccion de pila segun CEDOPEX AUTOR : Tadeo A. Ferreras Fecha : Agosto 04, 1993 ============================================================================= } GLOBALS "inprgb000.4gl" #### Registro para busqueda de informacion a imprimir DEFINE formula RECORD cod_n_p SMALLINT, cod_grupo_p SMALLINT, cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, descrip_esp CHAR(30), unidad CHAR(4), cantidad DECIMAL(13,3), descrip CHAR(20) END RECORD DEFINE fecha1,fecha2 DATE ### Variables que almacenara los valores del rango DEFINE idx_1 INTEGER DEFINE salir,salir1 CHAR(1) DEFINE selec4,selec5 CHAR(1000) DEFINE solicitud INTEGER ####### Funcion que hace la busqueda de informacion a imprimir FUNCTION inprrp023() LET int_flag = false OPTIONS FORM LINE 8 OPEN FORM infmrp023 FROM "infmrp023" DISPLAY FORM infmrp023 CALL pantalla() DISPLAY "inprrp023" AT 4,3 #DISPLAY "(Ley-69)" AT 5,58 DISPLAY "Validacion de las Formulas" AT 6,27 LET tipo_papel = 1 CALL msgrp000(tipo_papel) ##### Aceptando los valores para la busqueda CONSTRUCT criterio ON a.cod_n_p,a.cod_grupo_p FROM cod_n_p,cod_grupo_p IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF ############ Selecionando la informacion a imprimir LET selec = "SELECT a.cod_n_p,a.cod_grupo_p,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ", " b.descrip_esp,b.unidad_med,a.cantidad ", "FROM intb00016 a,intb00022 b WHERE a.cod_n = b.cod_n AND ", "a.cod_grupo = b.cod_grupo AND a.cod_tipo = b.cod_tipo AND ", "a.cod_sec = b.cod_sec AND a.status_t IS NULL AND ", criterio CLIPPED, " ORDER BY 1,2,3,4,5,6" DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14 ATTRIBUTE(REVERSE) PREPARE comando FROM selec DECLARE busco CURSOR FOR comando START REPORT formula1 TO "C:\\archivo" DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE(REVERSE) ###### Loop que envia la informacion a la funcion de reporte FOREACH busco INTO formula.* IF STATUS = NOTFOUND THEN EXIT FOREACH END IF #### En caso que presione DELETE o SUPR cancela la impresion IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE FINISH REPORT formula1 EXIT FOREACH END IF #### Igualando a una variable la descripcion de la pila #### para ordenarlo por el mismo IF formula.cod_grupo_p = 1 THEN LET formula.descrip = "Pila Tipo 2LP" ELSE IF formula.cod_grupo_p = 2 THEN LET formula.descrip = "Pila Tipo 1LP" ELSE LET formula.descrip = "Pila Tipo AA/R6" END IF END IF OUTPUT TO REPORT formula1(formula.*) END FOREACH FINISH REPORT formula1 RUN "type C:\\archivo > %USPRINT%" END FUNCTION #### Funcion que genera el reporte REPORT formula1(x) ##### Variables con las informaciones a imprimir DEFINE x RECORD cod_n_p SMALLINT, cod_grupo_p SMALLINT, cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, descrip_esp CHAR(30), unidad CHAR(4), cantidad DECIMAL(13,3), descrip CHAR(20) END RECORD DEFINE codd CHAR(10) DEFINE fecha3,fecha4,fecha_f DATE DEFINE idx,idx1,no_fianza INTEGER DEFINE fact CHAR(1) DEFINE descrip2 CHAR(30) DEFINE descrip1,unidad CHAR(15) DEFINE doble_on CHAR(2) DEFINE doble_off CHAR(2) DEFINE negrillas_on CHAR(6) DEFINE negrillas_off CHAR(6) DEFINE comp_on CHAR(3) DEFINE comp_off CHAR(2) DEFINE doce CHAR(2) DEFINE normal CHAR(2) DEFINE normall CHAR(3) DEFINE comp CHAR(3) DEFINE hora CHAR(5) DEFINE tipo CHAR(2) DEFINE imp_cli CHAR(1) OUTPUT TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 2 ###### Diseno de la salida de la informacion FORMAT PAGE HEADER LET doble_on = ASCII 14 LET doble_off = ASCII 20 LET negrillas_on = ASCII 027, ASCII 69 LET negrillas_off = ASCII 027, ASCII 70 LET comp_on = ASCII 031 LET comp_off = ASCII 18 LET comp = ASCII 031 LET doce = ASCII 27, ASCII 77 LET normal = ASCII 27, ASCII 80 LET normall = ASCII 030 LET hora = time LET lj = (82 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT COLUMN 1, "inprrp023", COLUMN lj, p_companias.nombre CLIPPED, COLUMN 75, "Pag. ",pageno USING "###" PRINT COLUMN 20, " Sistema de Inventario de Materiales (Ley-69) ", COLUMN 75, today using "dd/mm/yyyy" PRINT COLUMN 20, " Validacion de las Formulas", COLUMN 78, hora SKIP 1 LINE BEFORE GROUP OF x.cod_grupo_p SKIP TO TOP OF PAGE PRINT COLUMN 1,"Producto: ", x.cod_n_p USING "&","-", x.cod_grupo_p USING "&", " ",x.descrip CLIPPED PRINT COLUMN 1,"Consumo por cada 1000 Pilas" SKIP 1 LINE PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------" , negrillas_on PRINT COLUMN 67,"Consumo Por" PRINT COLUMN 1,"Material", COLUMN 67,"Unidad Comercial" ,negrillas_off PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------" SKIP 1 LINE ON EVERY ROW PRINT COLUMN 1, x.cod_n USING "&"," ",x.cod_grupo USING "&"," ", x.cod_tipo USING "&&&","-",x.cod_sec USING "&&&"," ", x.descrip_esp CLIPPED, COLUMN 65, x.cantidad USING "###,###,###.###"," ", x.unidad CLIPPED ON LAST ROW PRINT COLUMN 1,comp_off,negrillas_off END REPORT