lsoto
This commit is contained in:
@@ -0,0 +1,204 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : IRPRRP006
|
||||
OBJETIVO : CATALOGO DE REPUESTOS CON EXISTENCIAS
|
||||
PROGRAMADOR : Ing. Juan Fco. Soto.
|
||||
FECHA REALIZACION : Mayo 18, 1993.
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "irprgb000.4gl"
|
||||
DEFINE existencia VARCHAR(2)
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL arg_val(1) RETURNING usuarios
|
||||
CALL arg_val(2) RETURNING clave
|
||||
CALL arg_val(3) RETURNING impresor
|
||||
CONNECT TO "smarmotech" USER usuarios USING clave
|
||||
SELECT * INTO p_companias.* FROM companias
|
||||
CALL irprrp006()
|
||||
END MAIN
|
||||
|
||||
FUNCTION irprrp006()
|
||||
DEFINE idx SMALLINT
|
||||
|
||||
DEFINE materia RECORD
|
||||
cod_n LIKE intb00002.cod_n,
|
||||
cod_grupo LIKE intb00002.cod_grupo,
|
||||
cod_tipo LIKE intb00002.cod_tipo,
|
||||
cod_sec LIKE intb00002.cod_sec,
|
||||
descrip_esp LIKE irtb00002.descrip_esp,
|
||||
descrip_ing LIKE irtb00002.descrip_ing,
|
||||
unidad_med LIKE irtb00002.unidad_med,
|
||||
exist_min FLOAT,
|
||||
existencia LIKE irtb00002.existencia
|
||||
END RECORD,
|
||||
cod smallint
|
||||
|
||||
#WHENEVER ERROR CONTINUE
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
CLEAR SCREEN
|
||||
|
||||
OPEN FORM irfmrp006 FROM "irfmrp006"
|
||||
DISPLAY FORM irfmrp006
|
||||
|
||||
LET tipo_papel = 1
|
||||
CALL msgrp000(tipo_papel)
|
||||
|
||||
INPUT BY NAME decide,existencia
|
||||
|
||||
IF int_flag 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
|
||||
FROM cod_n,cod_grupo,cod_tipo,cod_sec
|
||||
|
||||
IF decide = "A" THEN
|
||||
LET SELEC =
|
||||
"SELECT b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,b.descrip_esp, ",
|
||||
" b.descrip_ing,b.unidad_med,b.exist_min,ISNULL(sum(c.cantidad_2),0) ",
|
||||
"FROM irtb00002 b,irtb00006 c ",
|
||||
"WHERE ",criterio CLIPPED,
|
||||
" AND (b.cod_n = c.cod_n AND b.cod_Grupo = c.cod_Grupo AND b.cod_tipo = c.cod_tipo AND b.cod_sec = c.cod_sec) ",
|
||||
" AND c.status_t IS NULL " ,
|
||||
" AND b.status_t IS NULL ",
|
||||
"GROUP BY b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,b.exist_min,b.descrip_esp,b.descrip_ing,b.unidad_med ",
|
||||
"ORDER BY b.descrip_esp"
|
||||
ELSE
|
||||
LET SELEC =
|
||||
"SELECT b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,b.descrip_esp, ",
|
||||
" b.descrip_ing,b.unidad_med,b.exist_min,ISNULL(sum(c.cantidad_2),0) ",
|
||||
"FROM irtb00002 b,irtb00006 c ",
|
||||
"WHERE ",criterio CLIPPED,
|
||||
" AND (b.cod_n = c.cod_n AND b.cod_Grupo = c.cod_Grupo AND b.cod_tipo = c.cod_tipo AND b.cod_sec = c.cod_sec) ",
|
||||
" AND c.status_t IS NULL " ,
|
||||
" AND b.status_t IS NULL ",
|
||||
"GROUP BY b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec,b.exist_min,b.descrip_esp,b.descrip_ing,b.unidad_med ",
|
||||
"ORDER BY b.cod_n,b.cod_grupo,b.cod_tipo,b.cod_sec "
|
||||
END IF
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
|
||||
PREPARE busca FROM selec
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
DECLARE accion SCROLL CURSOR FOR busca
|
||||
OPEN accion
|
||||
|
||||
LET idx = 1
|
||||
LET p_param = "S"
|
||||
WHILE status != notfound
|
||||
FETCH ABSOLUTE idx accion INTO materia.*
|
||||
IF status = NOTFOUND THEN
|
||||
EXIT WHILE
|
||||
END IF
|
||||
|
||||
IF idx = 1 THEN
|
||||
LET r_filename = 'irprrp006.4rp'
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN
|
||||
LET preview=1
|
||||
CALL seleccionarsalida() RETURNING r_output -- load the .4rp file
|
||||
CALL fgl_report_selectDevice(r_output) -- changing default
|
||||
CALL fgl_report_selectPreview(preview) -- changing default
|
||||
CALL fgl_report_configurexlsxdevice(null,null,null,false,false,null,1)
|
||||
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
||||
|
||||
END IF
|
||||
START REPORT p_cero TO XML HANDLER handler
|
||||
|
||||
END IF
|
||||
LET idx = idx + 1
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET p_param = "N"
|
||||
IF existencia = 'SI' THEN
|
||||
IF materia.existencia =0 OR materia.existencia IS NULL THEN
|
||||
CONTINUE WHILE
|
||||
END IF
|
||||
END IF
|
||||
OUTPUT TO REPORT p_cero(materia.*)
|
||||
END WHILE
|
||||
IF idx > 1 THEN
|
||||
FINISH REPORT p_cero
|
||||
ELSE
|
||||
CALL fgl_winmessage("INFO","NO EXISTEN INFORMACIONES CON ESTOS PARAMETROS","INFO")
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
REPORT p_cero(x)
|
||||
DEFINE x RECORD
|
||||
cod_n LIKE intb00002.cod_n,
|
||||
cod_grupo LIKE intb00002.cod_grupo,
|
||||
cod_tipo LIKE intb00002.cod_tipo,
|
||||
cod_sec LIKE intb00002.cod_sec,
|
||||
descrip_esp LIKE irtb00002.descrip_esp,
|
||||
descrip_ing LIKE irtb00002.descrip_ing,
|
||||
unidad_med LIKE irtb00002.unidad_med,
|
||||
exist_min FLOAT,
|
||||
existencia LIKE irtb00002.existencia
|
||||
END RECORD
|
||||
|
||||
DEFINE dia_l,l smallint
|
||||
DEFINE varia CHAR(20)
|
||||
DEFINE descripcion CHAR(60)
|
||||
DEFINE primera CHAR(1)
|
||||
DEFINE hora CHAR(5),
|
||||
codigo VARCHAR(25),
|
||||
cantidad_registros INT
|
||||
OUTPUT
|
||||
TOP MARGIN 0
|
||||
LEFT MARGIN 0
|
||||
BOTTOM MARGIN 2
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
LET hora = TIME
|
||||
IF decide = "N" THEN
|
||||
LET varia = "N u m e r i c o"
|
||||
ELSE
|
||||
LET varia = "A l f a b e t i c o"
|
||||
END IF
|
||||
PRINTX hora,p_companias.nombre,varia
|
||||
|
||||
|
||||
|
||||
|
||||
ON EVERY ROW
|
||||
LET codigo = x.cod_n USING "&","-",x.cod_grupo USING "&&","-",x.cod_tipo USING "&&&","-",
|
||||
x.cod_sec USING "&&&&"
|
||||
|
||||
PRINTX x.*,p_companias.nombre,codigo
|
||||
|
||||
|
||||
ON LAST ROW
|
||||
LET cantidad_registros= count(*)
|
||||
PRINTX cantidad_registros
|
||||
|
||||
END REPORT
|
||||
|
||||
Reference in New Issue
Block a user