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

221 lines
7.8 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : INPRRP026
OBJETIVO : REPORTE DE MATERIALES SUSTITUTOS Y EQUIVALENTES
PROGRAMADOR : Tadeo A. Ferreras F.
FECHA REALIZACION : Noviembre 12, 1993
-------------------------------------------------------------------------------
}
GLOBALS "inprgb000.4gl"
FUNCTION inprrp026()
DEFINE list_gral 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,
unidad_med LIKE intb00001.unidad_med
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 infmrp026 FROM "infmrp026"
DISPLAY FORM infmrp026
CALL pantalla()
DISPLAY "inprrp026" AT 4,3
DISPLAY "Materiales Principales Con sus Sustitutos Y Equivalentes" AT 6,12
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
CONSTRUCT criterio ON a.cod_n_mp,a.cod_grupo_mp,a.cod_tipo_mp,a.cod_sec_mp
FROM cod_n_mp,cod_grupo_mp,cod_tipo_mp,cod_sec_mp
IF int_flag THEN
LET int_flag = FALSE
LET numero_msg = 2
CALL msg(numero_msg)
RETURN
END IF
let selec =
"SELECT UNIQUE a.cod_n_mp, a.cod_grupo_mp, a.cod_tipo_mp, a.cod_sec_mp, ",
" b.descrip_esp,b.unidad_med ",
"FROM catb00001 a, intb00001 b ",
"WHERE a.cod_n_mp = b.cod_n AND a.cod_grupo_mp = b.cod_grupo AND ",
" a.cod_tipo_mp = b.cod_tipo AND a.cod_sec_mp = b.cod_sec AND ",
" a.status_t is NULL AND b.status_t is NULL AND ",criterio clipped,
" ORDER BY 1,2,3,4"
DISPLAY "<< Buscando Materiales Principales ... Espere Por Favor. >>"
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
PREPARE busca FROM selec
DECLARE accion CURSOR FOR busca
START REPORT reporte26 TO "C:\\archivo"
DISPLAY "<< >>"
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
FOREACH accion INTO list_gral.*
IF int_flag THEN
LET int_flag = FALSE
LET numero_msg = 2
CALL msg(numero_msg)
RETURN
END IF
OUTPUT TO REPORT reporte26(list_gral.*)
END FOREACH
FINISH REPORT reporte26
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
REPORT reporte26(x)
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,
descrip_esp LIKE intb00001.descrip_esp,
unidad_med LIKE intb00001.unidad_med
END RECORD
DEFINE j 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_uso_e LIKE intb00004.cod_uso_e,
descrip_esp LIKE intb00001.descrip_esp,
unidad_med LIKE intb00001.unidad_med
END RECORD
DEFINE k 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_uso_s LIKE intb00004.cod_uso_e,
descrip_esp LIKE intb00001.descrip_esp,
unidad_med LIKE intb00001.unidad_med
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,negrillas_on
PRINT COLUMN 1, "inprrp026",
COLUMN lj, p_companias.nombre CLIPPED,
COLUMN 73, "Pag. ",pageno using "###"
PRINT COLUMN 17, " Sistema de Inventario de Materia Prima",
COLUMN 73, today using "dd/mm/yyyy"
PRINT COLUMN 17, " Materiales Sustitutos Y Equivalentes",
COLUMN 76, hora
SKIP 2 LINES
PRINT COLUMN 1, "---------------------------------------------",
"-----------------------------------"
PRINT COLUMN 1, "Material",
COLUMN 15, "Descripcion",
COLUMN 60, "Status",
COLUMN 70, "Uso"
PRINT COLUMN 1, "---------------------------------------------",
"-----------------------------------"
PRINT COLUMN 1, negrillas_off
ON EVERY ROW
PRINT COLUMN 1,negrillas_on
PRINT COLUMN 1,x.cod_n USING "&","-",x.cod_grupo USING "&","-",
x.cod_tipo USING "&&","-",x.cod_sec USING "&&&",
COLUMN 15,x.descrip_esp," ",x.unidad_med CLIPPED,
COLUMN 64,"P"," ",negrillas_off
DECLARE busca1 CURSOR FOR
SELECT UNIQUE a.cod_n_e, a.cod_grupo_e, a.cod_tipo_e, a.cod_sec_e,
a.cod_uso_e,b.descrip_esp,b.unidad_med
FROM intb00004 a, intb00001 b
WHERE a.cod_n_e = b.cod_n AND a.cod_grupo_e = b.cod_grupo AND
a.cod_tipo_e = b.cod_tipo AND a.cod_sec_e = b.cod_sec AND
a.status_t is NULL AND b.status_t is NULL AND a.cod_n=x.cod_n AND
a.cod_grupo = x.cod_grupo AND a.cod_tipo = x.cod_tipo AND
a.cod_sec = x.cod_sec
ORDER BY 1,2,3,4
FOREACH busca1 INTO j.*
PRINT COLUMN 1,negrillas_off,j.cod_n USING "&","-",
j.cod_grupo USING "&","-",
j.cod_tipo USING "&&","-",j.cod_sec USING "&&&",
COLUMN 17,j.descrip_esp," ",j.unidad_med CLIPPED,
COLUMN 66,"E";
IF j.cod_uso_e = 0 THEN
PRINT COLUMN 71,"SI"
ELSE
PRINT COLUMN 71,"NO"
END IF
END FOREACH
DECLARE busca2 CURSOR FOR
SELECT UNIQUE a.cod_n_s, a.cod_grupo_s, a.cod_tipo_s, a.cod_sec_s,
a.cod_uso_s,b.descrip_esp,b.unidad_med
FROM intb00003 a, intb00001 b
WHERE a.cod_n_s = b.cod_n AND a.cod_grupo_s = b.cod_grupo AND
a.cod_tipo_s = b.cod_tipo AND a.cod_sec_s = b.cod_sec AND
a.status_t is NULL AND b.status_t is NULL AND a.cod_n=x.cod_n AND
a.cod_grupo = x.cod_grupo AND a.cod_tipo = x.cod_tipo AND
a.cod_sec = x.cod_sec
ORDER BY 1,2,3,4
FOREACH busca2 INTO k.*
PRINT COLUMN 1,negrillas_off,k.cod_n USING "&","-",
k.cod_grupo USING "&","-",
k.cod_tipo USING "&&","-",k.cod_sec USING "&&&",
COLUMN 17,k.descrip_esp," ",k.unidad_med CLIPPED,
COLUMN 66,"S";
IF k.cod_uso_s = 0 THEN
PRINT COLUMN 71,"SI"
ELSE
PRINT COLUMN 71,"NO"
END IF
END FOREACH
PAGE TRAILER
SKIP 1 LINE
PRINT COLUMN 10,
"STATUS: P = Principal E = Equivalente S = Sustituto"
END REPORT