Instruccion de Johnny: todos los directorios de fuentes de inventario deben migrarse de la carpeta temporal PROYECTOS a la carpeta real PROYECTO, ya que PROYECTOS sera eliminada. Se elimino tambien un archivo suelto sin relacion llamado "ipdir" que existia en PROYECTO (del commit inicial) y bloqueaba el nombre de la carpeta. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
97 lines
2.8 KiB
Plaintext
97 lines
2.8 KiB
Plaintext
{
|
|
-------------------------------------------------------------------------------
|
|
PROGRAMA : IPPRCS002
|
|
OBJETIVO : Consulta Maestra de Productos
|
|
PROGRAMADOR : JUAN SOTO
|
|
FECHA REALIZACION : Febrero 1997
|
|
DIRECTOR PROYECTO : JOSE ALFREDO PAULINO ALEJO
|
|
-------------------------------------------------------------------------------
|
|
}
|
|
GLOBALS "ipprgb000.4gl"
|
|
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
SELECT * INTO p_companias.* FROM companias
|
|
CALL ipprcs002()
|
|
END MAIN
|
|
|
|
FUNCTION ipprcs002()
|
|
#WHENEVER ERROR CONTINUE
|
|
CLEAR SCREEN
|
|
OPTIONS
|
|
FORM LINE 7,
|
|
ERROR LINE 24,
|
|
COMMENT LINE 23
|
|
|
|
OPEN FORM ipfmcs002 FROM "ipfmcs002"
|
|
DISPLAY FORM ipfmcs002
|
|
CALL PANTALLA()
|
|
DISPLAY "ipprcs002" AT 4,3
|
|
DISPLAY "Catalogo Productos " AT 6,28
|
|
DISPLAY "<Esc> Continua Consultando" AT 2,2 ATTRIBUTE (BLUE,REVERSE)
|
|
DISPLAY "<Delete> Cancela Operacion" AT 2,56 ATTRIBUTE (BLUE,REVERSE)
|
|
|
|
## Aqui se prepara el criterio de seleccion
|
|
LABEL volver:
|
|
CONSTRUCT criterio ON a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec
|
|
FROM cod_n,cod_grupo, cod_tipo,cod_sec
|
|
|
|
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,a.descrip_esp,a.unidad_med, ",
|
|
" a.bodega,a.cod_grupo,a.cod_cia,a.exist_max,a.exist_min, ",
|
|
" a.dia_llegada,a.descrip_ing ",
|
|
"FROM iptb00002 a ",
|
|
"WHERE a.status_t is null AND ",criterio CLIPPED," ORDER BY 1,2,3,4 "
|
|
|
|
PREPARE busca FROM selec
|
|
DECLARE accion CURSOR FOR busca
|
|
## Busca los registros con la condicion dada y verifica si el producto terminado
|
|
## existe en el catalogo de bienes y servicios.
|
|
|
|
LET idx = 1
|
|
FOREACH accion INTO prod[idx].*,descrip1
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = FALSE
|
|
RETURN
|
|
END IF
|
|
|
|
LET prod[idx].existencia = 0
|
|
SELECT SUM(a.cantidad_2) INTO prod[idx].existencia FROM iptb00006 a
|
|
WHERE a.cod_n = prod[idx].cod_n1 AND a.cod_grupo=prod[idx].cod_grupo1 AND
|
|
a.cod_tipo=prod[idx].cod_tipo1 AND a.cod_sec=prod[idx].cod_sec1 AND
|
|
a.status_t IS NULL
|
|
|
|
IF prod[idx].existencia IS NULL THEN
|
|
LET prod[idx].existencia = 0
|
|
END IF
|
|
|
|
LET prod[idx].descrip_esp1 = prod[idx].descrip_esp1 CLIPPED
|
|
LET idx = idx + 1
|
|
|
|
END FOREACH
|
|
|
|
CALL set_count (idx-1)
|
|
DISPLAY ARRAY prod TO consart.*
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
ELSE
|
|
CLEAR FORM
|
|
GOTO volver
|
|
|
|
END IF
|
|
END FUNCTION
|
|
|