{ ------------------------------------------------------------------------------- PROGRAMA : INPRRP006 OBJETIVO : REPORTE DE MATERIAS PRIMAS EQUIVALENTES PROGRAMADOR : JUAN F. SOTO FECHA REALIZACION : Agosto 19, 1992 ------------------------------------------------------------------------------- } GLOBALS "inprgb000.4gl" FUNCTION inprrp006() DEFINE equivalent RECORD cod_n LIKE intb00004.cod_n, cod_grupo LIKE intb00004.cod_grupo, cod_tipo LIKE intb00004.cod_tipo, cod_sec LIKE intb00004.cod_sec, cod_n_e LIKE intb00004.cod_n, cod_grupo_e LIKE intb00004.cod_grupo, cod_tipo_e LIKE intb00004.cod_tipo, cod_sec_e LIKE intb00004.cod_sec, descrip_esp LIKE intb00001.descrip_esp, unidad_med LIKE intb00001.unidad_med, cod_uso_e LIKE intb00004.cod_uso_e END RECORD DEFINE descripcion CHAR(30) DEFINE unidad CHAR(3) #WHENEVER ERROR CONTINUE OPTIONS FORM LINE 9, ERROR LINE 23, COMMENT LINE 21 OPEN FORM infmrp006 FROM "infmrp006" DISPLAY FORM infmrp006 CALL pantalla() DISPLAY "inprrp006" AT 4,3 DISPLAY "Materias Primas Equivalentes" AT 6,26 LET tipo_papel = 1 CALL msgrp000(tipo_papel) CONSTRUCT criterio ON b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec, b.cod_n_e,b.cod_grupo_e,b.cod_tipo_e,b.cod_sec_e, b.cod_uso_e FROM cod_n,cod_grupo,cod_tipo,cod_sec,cod_n_e,cod_grupo_e, cod_tipo_e,cod_sec_e,cod_uso_e IF int_flag THEN let numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF let selec = "SELECT a.cod_n, a.cod_grupo, a.cod_tipo, a.cod_sec,b.cod_n_e, ", " b.cod_grupo_e, b.cod_tipo_e, b.cod_sec_e,a.descrip_esp, ", " a.unidad_med, b.cod_uso_e ", "FROM intb00001 a, intb00004 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 b.status_t is NULL AND ", criterio clipped," ORDER BY 1,2,3,4,7,8,9,10" DISPLAY "<>" AT 19,14 ATTRIBUTE (REVERSE) PREPARE busca FROM selec DECLARE accion CURSOR FOR busca DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE (REVERSE) START REPORT reporte6 TO "C:\\archivo" FOREACH accion INTO equivalent.* IF int_flag THEN let numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF SELECT a.descrip_esp,a.unidad_med INTO descripcion, unidad FROM intb00001 a WHERE a.cod_n = equivalent.cod_n_e AND a.cod_grupo = equivalent.cod_grupo_e AND a.cod_tipo = equivalent.cod_tipo_e AND a.cod_sec = equivalent.cod_sec_e AND a.status_t is NULL OUTPUT TO REPORT reporte6(equivalent.*, descripcion, unidad) END FOREACH FINISH REPORT reporte6 RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT reporte6(x,descrip,und) DEFINE x RECORD cod_n LIKE intb00004.cod_n, cod_grupo LIKE intb00004.cod_grupo, cod_tipo LIKE intb00004.cod_tipo, cod_sec LIKE intb00004.cod_sec, cod_n_e LIKE intb00004.cod_n, cod_grupo_e LIKE intb00004.cod_grupo, cod_tipo_e LIKE intb00004.cod_tipo, cod_sec_e LIKE intb00004.cod_sec, descrip_esp LIKE intb00001.descrip_esp, unidad_med LIKE intb00001.unidad_med, cod_uso_e LIKE intb00004.cod_uso_e END RECORD DEFINE descrip CHAR(30), und CHAR(3) , doble_on CHAR(2), doble_off CHAR(2), negrillas_on CHAR(2), negrillas_off CHAR(2), comprimido_on CHAR(3), comprimido_off CHAR(2), primera CHAR(1), hora CHAR(5) OUTPUT LEFT MARGIN 0 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 comprimido_on = ASCII 15 LET comprimido_off = ASCII 18 LET hora = time LET lj = (80 - LENGTH(p_companias.nombre CLIPPED))/2 PRINT COLUMN 1, comprimido_off PRINT COLUMN 1, "inprrp006", COLUMN lj, p_companias.nombre CLIPPED, COLUMN 72, "Pag. ",pageno using "###" PRINT COLUMN 17, " Sistema de Inventario de Materia Prima", COLUMN 72, today using "dd/mm/yyyy" PRINT COLUMN 17, " Materias Primas Equivalentes", COLUMN 75, hora SKIP 2 LINES PRINT COLUMN 1, "---------------------------------------------", "-----------------------------------" PRINT COLUMN 1, "Nivel", COLUMN 7, "Grupo", COLUMN 13, "Tipo", COLUMN 18, "Sec", COLUMN 23, "Equivalente", COLUMN 36, "Descripcion", COLUMN 69, "Unidad", COLUMN 77, "Uso" PRINT COLUMN 1, "---------------------------------------------", "-----------------------------------" BEFORE GROUP OF x.cod_grupo LET primera = "S" BEFORE GROUP OF x.cod_tipo LET primera = "S" BEFORE GROUP OF x.cod_sec LET primera = "S" ON EVERY ROW IF primera = "S" THEN SKIP 1 LINE 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 36, x.descrip_esp, COLUMN 70, x.unidad_med LET primera = "N" END IF PRINT COLUMN 23, x.cod_n_e USING "&","-", COLUMN 25, x.cod_grupo_e USING "&","-", COLUMN 27, x.cod_tipo_e USING "&&","-", COLUMN 30, x.cod_sec_e USING "&&&", COLUMN 36, descrip, COLUMN 70, und; IF x.cod_uso_e = "0" THEN PRINT COLUMN 77, "SI" ELSE IF x.cod_uso_e = "1" THEN PRINT COLUMN 77, "NO" END IF END IF ON LAST ROW PRINT comprimido_off END REPORT