158 lines
5.0 KiB
Plaintext
158 lines
5.0 KiB
Plaintext
{
|
|
----------------------------------------------------------------------------
|
|
PROGRAMA : IPMNMT001
|
|
OBJETIVO : Sub Menu Mantenimiento Movimientos
|
|
Inventario de Productos.
|
|
PROGRAMADOR : Juan Fco. Soto (Johnny)
|
|
FECHA REALIZACION : Agosto, 1997.
|
|
ASESOR : JOSE ALFREDO PAULINO ALEJO
|
|
----------------------------------------------------------------------------
|
|
}
|
|
|
|
GLOBALS "ipprgb000.4gl"
|
|
DEFINE porden,acod_n,acod_grupo,acod_tipo,acod_sec INT,
|
|
pdescrip_esp2 LIKE iptb00002.descrip_esp
|
|
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
SELECT * INTO p_companias.* FROM companias
|
|
CALL ipmnmt001()
|
|
END MAIN
|
|
|
|
FUNCTION ipmnmt001()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt001()
|
|
END FUNCTION
|
|
|
|
FUNCTION opciones_ipmnmt001()
|
|
DEFINE oip CHAR(2)
|
|
DEFINE p_user CHAR(9)
|
|
DEFINE luz CHAR(5)
|
|
|
|
OPTIONS
|
|
PROMPT LINE 8,
|
|
ERROR LINE 24
|
|
|
|
CALL pantalla()
|
|
DISPLAY " Movimientos De Inventario " AT 6,26
|
|
DISPLAY "ipmnmt001" AT 4,3 ATTRIBUTE(BLUE)
|
|
DISPLAY "1- Movimientos de Inventario ipprmt044" AT 11,6
|
|
DISPLAY "2- Actualizacion de Documentos ipprmt054" AT 12,6
|
|
DISPLAY "3- Anular Documentos ipprmt064" AT 13,6
|
|
DISPLAY "4- Actualizacion Ordenes ipmnmt000" AT 14,6
|
|
|
|
DISPLAY "S- Retornar Menu Anterior " AT 15,6
|
|
ATTRIBUTE (BLUE)
|
|
|
|
LABEL vuelve:
|
|
PROMPT "OPCION: " attribute(BLUE) FOR OPT
|
|
LET opt = UPSHIFT(opt) clipped
|
|
|
|
IF opt != "S" THEN
|
|
SELECT unique usuario INTO p_user FROM seg0001
|
|
WHERE usuario = user
|
|
CALL seg000(p_user,opt,"ipmnmt001") RETURNING luz
|
|
IF luz = "roja" THEN
|
|
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
|
|
GOTO vuelve
|
|
END IF
|
|
END IF
|
|
|
|
CASE
|
|
WHEN OPT = "1"
|
|
CALL ipprmt044()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt001()
|
|
WHEN OPT = "2"
|
|
CALL ipprmt54()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt001()
|
|
|
|
WHEN OPT = "3"
|
|
CALL ipprmt064()
|
|
CLEAR SCREEN
|
|
CALL opciones_ipmnmt001()
|
|
WHEN OPT = "4"
|
|
OPEN WINDOW actorden AT 8, 4 WITH FORM "actorden"
|
|
ATTRIBUTE (BORDER)
|
|
INPUT BY NAME p_iptb01.cod_n,p_iptb01.cod_grupo,p_iptb01.cod_tipo,
|
|
p_iptb01.cod_sec,porden,acod_n,acod_grupo,acod_tipo,acod_Sec
|
|
|
|
|
|
AFTER FIELD porden
|
|
SELECT UNIQUE a.num_oc FROM prtb00013 a
|
|
WHERE a.num_oc = porden and
|
|
a.cod_n = p_iptb01.cod_n AND
|
|
a.cod_grupo = p_iptb01.cod_grupo AND
|
|
a.cod_tipo = p_iptb01.cod_tipo AND
|
|
a.cod_sec = p_iptb01.cod_sec
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
LET numero_msg = 3
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD porden
|
|
END IF
|
|
AFTER FIELD cod_sec
|
|
SELECT a.descrip_esp INTO p_iptb02.descrip_esp FROM iptb00002 a
|
|
WHERE a.cod_n = p_iptb01.cod_n AND
|
|
a.cod_grupo = p_iptb01.cod_grupo AND
|
|
a.cod_tipo = p_iptb01.cod_tipo AND
|
|
a.cod_sec = p_iptb01.cod_sec AND
|
|
a.status_t IS NULL
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
LET numero_msg = 3
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD COD_N
|
|
END IF
|
|
DISPLAY BY NAME p_iptb02.descrip_esp
|
|
AFTER FIELD acod_sec
|
|
SELECT a.descrip_esp INTO pdescrip_esp2 FROM iptb00002 a
|
|
WHERE a.cod_n = acod_n AND
|
|
a.cod_grupo = acod_grupo AND
|
|
a.cod_tipo = acod_tipo AND
|
|
a.cod_sec = acod_sec AND
|
|
a.status_t IS NULL
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
LET numero_msg = 3
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD acod_n
|
|
END IF
|
|
DISPLAY BY NAME pdescrip_esp2
|
|
AFTER INPUT
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
EXIT INPUT
|
|
ELSE
|
|
UPDATE prtb00013 SET cod_n = acod_n,
|
|
cod_grupo = acod_grupo,
|
|
cod_tipo = acod_tipo,
|
|
cod_sec = acod_sec,
|
|
us_mod = user,
|
|
fech_mod = current
|
|
WHERE num_oc = porden and
|
|
cod_n = p_iptb01.cod_n AND
|
|
cod_grupo = p_iptb01.cod_grupo AND
|
|
cod_tipo = p_iptb01.cod_tipo AND
|
|
cod_sec = p_iptb01.cod_sec
|
|
LET numero_msg = 13
|
|
CALL msg(numero_msg)
|
|
|
|
|
|
END IF
|
|
EXIT INPUT
|
|
END INPUT
|
|
CLOSE WINDOW actorden
|
|
|
|
|
|
|
|
WHEN OPT = "S"
|
|
RETURN
|
|
OTHERWISE
|
|
CALL opciones_ipmnmt001()
|
|
END CASE
|
|
END FUNCTION
|
|
|