Files
MBS/PROYECTOS/indir/inprrp007.4gl
T

207 lines
6.7 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : INPRRP007
OBJETIVO : REPORTE DE MATERILEÓ SUSTITUTOS®
PROGRAMADOR : Lic. Abner Montalvo Zapata
FECHA REALIZACION : Agosto 20, 1992
-------------------------------------------------------------------------------
}
GLOBALS "inprgb000.4gl"
FUNCTION inprrp007()
DEFINE sustituto RECORD
cod_n LIKE intb00003.cod_n,
cod_grupo LIKE intb00003.cod_grupo,
cod_tipo LIKE intb00003.cod_tipo,
cod_sec LIKE intb00003.cod_sec,
cod_n_s LIKE intb00003.cod_n,
cod_grupo_s LIKE intb00003.cod_grupo,
cod_tipo_s LIKE intb00003.cod_tipo,
cod_sec_s LIKE intb00003.cod_sec,
descrip_esp LIKE intb00001.descrip_esp,
unidad_med LIKE intb00001.unidad_med,
cod_uso_s LIKE intb00003.cod_uso_s
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 infmrp007 FROM "infmrp007"
DISPLAY FORM infmrp007
CALL pantalla()
DISPLAY "inprrp007" AT 4,3
DISPLAY "Materias Primas Sustitutos" AT 6,27
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
IF int_flag != 0 THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
CONSTRUCT criterio ON b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,
b.cod_n_s,b.cod_grupo_s,b.cod_tipo_s,b.cod_sec_s,
b.cod_uso_s
FROM cod_n,cod_grupo,cod_tipo,cod_sec,cod_n_s,
cod_grupo_s,cod_tipo_s,cod_sec_s,cod_uso_s
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
let selec =
"SELECT b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,b.cod_n_s, ",
" b.cod_grupo_s,b.cod_tipo_s,b.cod_sec_s,a.descrip_esp, ",
" a.unidad_med, b.cod_uso_s ",
"FROM intb00001 a, intb00003 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"
PREPARE busca FROM selec
DECLARE accion CURSOR FOR busca
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
START REPORT reporte7 TO "C:\\archivo"
FOREACH accion INTO sustituto.*
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 = sustituto.cod_n_s AND
a.cod_grupo = sustituto.cod_grupo_s AND
a.cod_tipo = sustituto.cod_tipo_s AND
a.cod_sec = sustituto.cod_sec_s AND
a.status_t is NULL
OUTPUT TO REPORT reporte7(sustituto.*, descripcion, unidad)
END FOREACH
FINISH REPORT reporte7
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
REPORT reporte7(x,descrip,und)
DEFINE x RECORD
cod_n LIKE intb00003.cod_n,
cod_grupo LIKE intb00003.cod_grupo,
cod_tipo LIKE intb00003.cod_tipo,
cod_sec LIKE intb00003.cod_sec,
cod_n_s LIKE intb00003.cod_n,
cod_grupo_s LIKE intb00003.cod_grupo,
cod_tipo_s LIKE intb00003.cod_tipo,
cod_sec_s LIKE intb00003.cod_sec,
descrip_esp LIKE intb00001.descrip_esp,
unidad_med LIKE intb00001.unidad_med,
cod_uso_s LIKE intb00003.cod_uso_s
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
PRINT comprimido_off
LET lj = (80 - LENGTH(p_companias.nombre CLIPPED))/2
PRINT COLUMN 1, "inprrp007",
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 Sustitutos",
COLUMN 75, hora
SKIP 2 LINES
PRINT COLUMN 1, "---------------------------------------------",
"-----------------------------------"
PRINT COLUMN 1, "Nivel",
COLUMN 7, "Grupo",
COLUMN 13, "Tipo",
COLUMN 18, "Sec",
COLUMN 23, "Sustituto",
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_s USING "&","-",
COLUMN 25, x.cod_grupo_s USING "&","-",
COLUMN 27, x.cod_tipo_s USING "&&","-",
COLUMN 30, x.cod_sec_s USING "&&&",
COLUMN 36, descrip,
COLUMN 70, und;
IF x.cod_uso_s = "0" THEN
PRINT COLUMN 77, "SI"
ELSE
IF x.cod_uso_s = "1" THEN
PRINT COLUMN 77, "NO"
END IF
END IF
ON LAST ROW
PRINT comprimido_off
END REPORT