Mensaje en BAPI de OM

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • edelgadoc
    Member
    • mar
    • 46

    #1

    Mensaje en BAPI de OM

    Buenas tardes, estoy tratando de actualizar el estado de una orden de mantenimiento mediante la funcion BAPI_ALM_ORDER_MAINTAIN

    Por la transaccion SE37 lo realiza correctamente, pero cuando hago lo mismo desde un programa externo me sale el siguiente error : "El status de usuario REVI no existe para el esquema de status PMST_ORD."

    REVI es el estado que quiero actualizar y como digo, si lo ejecuto desde la SE37 (utilizando la misma informacion de input) o por la transaccion IW38 funciona sin problema.
    Alguien conoce que puede estar pasando?

    Dim sd As IRfcFunction = repositorio.CreateFunction("BAPI_ALM_ORDER_MAINTAI N")
    OM = Me.gvOrdenMante.DataKeys(Fila.RowIndex).Item("OM")
    Dim IRfcMetodo As IRfcTable = sd.GetTable("IT_METHODS")
    Dim IRfcEstatus As IRfcTable = sd.GetTable("IT_USERSTATUS")

    IRfcMetodo.Append()
    IRfcMetodo.SetValue("REFNUMBER", "000001")
    IRfcMetodo.SetValue("OBJECTTYPE", "USERSTATUS")
    IRfcMetodo.SetValue("METHOD", "CHANGE")
    IRfcMetodo.SetValue("OBJECTKEY", OM)
    IRfcMetodo.Append()
    IRfcMetodo.SetValue("REFNUMBER", "000002")
    IRfcMetodo.SetValue("METHOD", "SAVE")
    IRfcMetodo.SetValue("OBJECTKEY", OM)

    IRfcEstatus.Append()
    IRfcEstatus.SetValue("USER_ST_TEXT", "REVI")
    IRfcEstatus.SetValue("LANGU", "ES")
    IRfcEstatus.SetValue("CHANGE_EVENT", "00")

    sd.Invoke(ConxSap)

    Dim IRfcResultado As IRfcTable = sd.GetTable("RETURN")
  • edelgadoc
    Member
    • mar
    • 46

    #2
    Amigos, para comentarles que encontre otra BAPI, mucho mas simple, que realiza lo mismo (cambiar de estado); y con el cual no tuve problema: BAPI_ISUSMORDER_USERSTATUSSET

    Saludos.

    Comentario

    Trabajando...