{ ---------------------------------------------------------------------------- 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