Anuncio

Colapsar
No hay anuncio todavía.

BAPI_PO_CHANGE no me funciona

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • BAPI_PO_CHANGE no me funciona

    Buen Dia para todos, tengo que trabajar esta bapi para modificar unicamente el campo BSGRU = '100' de la tabla EKPO, y la BAPI no me funciona, actualmente el codigo lo tengo asi: (Es mi primer trabajo con BAPI).
    DATA:
    t_POITEM LIKE BAPIMEPOITEM OCCURS 0 WITH HEADER LINE,
    t_POITEMx LIKE BAPIMEPOITEMx OCCURS 0 WITH HEADER LINE,
    l_flag(1),
    g_text(50) TYPE c.

    clear t_poitem.
    * perform move_to_bapi.
    t_POITEM-po_item = it_ekpo-ebelp.
    t_POITEM-order_reason = '100'.
    APPEND t_poitem.

    clear t_poitemx.
    t_POITEMx-po_item = it_ekpo-ebelp.
    t_POITEMx-po_itemx = 'X'.
    APPEND t_poitemx.

    CALL FUNCTION 'BAPI_PO_CHANGE'
    EXPORTING
    purchaseorder = it_ekpo-ebeln
    TABLES
    *return = t_return
    POITEM = t_POITEM
    POITEMx = t_POITEMx.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
    wait = 'X'.
    ---------------------------------
    Alguien podria guiarme en esto!! gracias

  • #2
    Hola.

    Te falta rellenar el campo: POITEMX-ORDER_REASON = "X"

    Con las Bapis, hay que indicarles en las tablas que terminan en X todos los campos que van a ser modificados.
    SAP solo es el medio a través del cual se expresa nuestra imaginación.

    Comentario


    • #3
      [Gracias por la ayuda me funciono bien!
      Nada mas que ahora tengo el problema que cuando en la tabla ekpo esta mas de 1 vez el mismo codigo me modifica ambas posiciones! como puedo decirle que solo la posicion indicada.
      ahorita esta asi el programa:
      clear t_poitem.
      * * perform move_to_bapi.
      t_POITEM-po_item = it_ekpo-ebelp.
      t_POITEM-order_reason = '100'.
      APPEND t_poitem.

      clear t_poitemx.
      t_POITEMx-po_item = it_ekpo-ebelp.
      t_POITEMx-po_itemx = 'X'.
      t_POITEMx-order_reason = '100'.
      APPEND t_poitemx.

      CALL FUNCTION 'BAPI_PO_CHANGE'
      EXPORTING
      purchaseorder = it_ekpo-ebeln
      TABLES
      POITEM = t_POITEM
      POITEMx = t_POITEMx.

      Comentario


      • #4
        Originalmente publicado por aldo_sm Ver Mensaje
        [Gracias por la ayuda me funciono bien!
        Nada mas que ahora tengo el problema que cuando en la tabla ekpo esta mas de 1 vez el mismo codigo me modifica ambas posiciones! como puedo decirle que solo la posicion indicada.
        ahorita esta asi el programa:
        clear t_poitem.
        * * perform move_to_bapi.
        t_POITEM-po_item = it_ekpo-ebelp.
        t_POITEM-order_reason = '100'.
        APPEND t_poitem.

        clear t_poitemx.
        t_POITEMx-po_item = it_ekpo-ebelp.
        t_POITEMx-po_itemx = 'X'.
        t_POITEMx-order_reason = '100'.
        APPEND t_poitemx.

        CALL FUNCTION 'BAPI_PO_CHANGE'
        EXPORTING
        purchaseorder = it_ekpo-ebeln
        TABLES
        POITEM = t_POITEM
        POITEMx = t_POITEMx.
        Sigo con el problema que la BAPI no modifica solo la posicion sino por material y hay casos en que 2 posiciones tienen el mismo codigo y ambos modifica!!!? como podre arreglar este problema?

        Comentario

        Trabajando...
        X