Files
MBS/PROYECTOS/ipdir/ipmnmt001.4gl
T

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