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>
160 lines
4.7 KiB
Plaintext
160 lines
4.7 KiB
Plaintext
{
|
|
---------------------------------------------------------------------------
|
|
PROGRAMA : IPMNMT000
|
|
OBJETIVO : Menu de Mantenimientos del Sistema
|
|
de Inventario de Producto.
|
|
PROGRAMADOR : Juan Fco. Soto (Johnny)
|
|
FECHA REALIZACION : Agosto, 1997.
|
|
ASESOR : JOSE ALFREDO PAULINO
|
|
---------------------------------------------------------------------------
|
|
}
|
|
GLOBALS "ipprgb000.4gl"
|
|
# DEFINE numero_msg LIKE msgtable.cod_msg
|
|
DEFINE l SMALLINT
|
|
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
CALL ipmnmt000()
|
|
END MAIN
|
|
|
|
FUNCTION ipmnmt000()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt000()
|
|
END FUNCTION
|
|
|
|
FUNCTION opciones_ipmnmt000()
|
|
DEFINE oip CHAR(2)
|
|
DEFINE p_user CHAR(9)
|
|
DEFINE luz CHAR(5),
|
|
opt CHAR(2)
|
|
OPTIONS
|
|
PROMPT LINE 8,
|
|
ERROR LINE 24
|
|
|
|
CALL pantalla()
|
|
DISPLAY " Mantenimientos " AT 6,22
|
|
DISPLAY "ipmnmt000" AT 4,3 ATTRIBUTE(BLUE)
|
|
DISPLAY " 1- Catalogo De Productos ipprmt002" AT 10,6
|
|
DISPLAY " 2- Catalogo De Movimientos ipprmt003" AT 11,6
|
|
DISPLAY " 3- Movimientos del Inventario ipmnmt001" AT 12,6
|
|
DISPLAY " 4- Conteo Fisico y Ajuste (es) ipprmt008" AT 13,6
|
|
DISPLAY " 5- Costos Estandares ipprmt013" AT 14,6
|
|
DISPLAY " 6- Precios Productos ipprmt017" AT 15,6
|
|
DISPLAY " 7- Tipo Producto ipprmt010" AT 16,6
|
|
DISPLAY " 8- Factor de Conversion ipprmt018" AT 17,6
|
|
DISPLAY " 9- Catalogo de Origen Productos ipprmt004" AT 18,6
|
|
DISPLAY "S- Retorna Menu Anterior " AT 20,6
|
|
ATTRIBUTE(BOLD)
|
|
LABEL vuelve:
|
|
PROMPT "OPCION: " attribute(BLUE) FOR OPT
|
|
LET opt = UPSHIFT(opt)
|
|
|
|
IF opt != "S" THEN
|
|
SELECT unique usuario INTO p_user FROM seg0001
|
|
WHERE usuario = user
|
|
CALL seg000(p_user,opt,"ipmnmt000") RETURNING luz
|
|
IF luz = "roja" THEN
|
|
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
|
|
# GOTO vuelve
|
|
END IF
|
|
END IF
|
|
|
|
CASE
|
|
WHEN OPT = "1"
|
|
CALL ipprmt002()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt000()
|
|
WHEN OPT = "2"
|
|
CALL ipprmt003()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt000()
|
|
WHEN OPT = "3"
|
|
CALL ipmnmt001()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt000()
|
|
WHEN OPT = "4"
|
|
CALL ipprmt008()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt000()
|
|
WHEN OPT = "5"
|
|
CALL ipprmt013()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt000()
|
|
WHEN OPT = "6"
|
|
CALL ipprmt017()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt000()
|
|
WHEN OPT = "7"
|
|
CALL ipprmt010()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt000()
|
|
WHEN OPT = "8"
|
|
CALL ipprmt018()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt000()
|
|
WHEN OPT = "9"
|
|
CALL ipprmt004()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt000()
|
|
WHEN OPT = "S" or OPT = "s"
|
|
RETURN
|
|
OTHERWISE
|
|
CALL opciones_ipmnmt000()
|
|
END CASE
|
|
END FUNCTION
|
|
|
|
|
|
FUNCTION pantalla()
|
|
DEFINE fecha CHAR(10),
|
|
hora char(5)
|
|
SELECT a.* INTO p_companias.* FROM companias a
|
|
|
|
LET fecha = today USING "dd/mm/yyyy"
|
|
LET hora = time
|
|
LET l = (80 - LENGTH(p_companias.nombre CLIPPED))/2
|
|
DISPLAY p_companias.nombre CLIPPED AT 4,l ATTRIBUTE (REVERSE,BLUE)
|
|
DISPLAY fecha AT 4,68 ATTRIBUTE (BLUE)
|
|
DISPLAY "Sistema Inventario de Productos" AT 5,25
|
|
DISPLAY hora AT 6,73 ATTRIBUTE(BLUE)
|
|
|
|
CALL fgl_drawbox(5,79,3,1)
|
|
# CALL fgl_drawbox(1,79,22,1)
|
|
END FUNCTION
|
|
|
|
FUNCTION integridad()
|
|
IF sqlca.sqlcode < 0 THEN
|
|
LET numero_msg = sqlca.sqlcode
|
|
CALL msg(numero_msg)
|
|
LET bandera = 1
|
|
SLEEP 2
|
|
RETURN
|
|
END IF
|
|
END FUNCTION
|
|
|
|
FUNCTION busca_cliente()
|
|
LET int_flag = FALSE
|
|
|
|
OPEN WINDOW cliente AT 10,9 WITH FORM "ipfmwd009"
|
|
ATTRIBUTE(BORDER,FORM LINE FIRST + 2)
|
|
CONSTRUCT BY NAME criterio ON a.tipo_cliente,a.sec_cliente,a.nombre
|
|
|
|
LET selec = "SELECT a.tipo_cliente,a.sec_cliente,a.nombre FROM vetb00004 a ",
|
|
"WHERE a.status_t IS NULL AND ",criterio CLIPPED, "ORDER BY 1,2"
|
|
|
|
PREPARE comando3 FROM selec
|
|
DECLARE comp3 CURSOR FOR comando3
|
|
|
|
LET idx = 1
|
|
FOREACH comp3 INTO clientes[idx].*
|
|
LET idx = idx + 1
|
|
IF idx = 49 THEN
|
|
EXIT FOREACH
|
|
END IF
|
|
END FOREACH
|
|
CALL SET_COUNT(idx - 1)
|
|
|
|
DISPLAY ARRAY clientes TO s_cliente.*
|
|
LET idx = ARR_CURR()
|
|
CLOSE WINDOW cliente
|
|
END FUNCTION
|