Actualizacion de campos Z desde BAPI

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • osoublette
    Member
    • ago
    • 32

    #1

    Actualizacion de campos Z desde BAPI

    Hola a todos.
    Tengo un problema. Les comentos el ecenario....
    Resulta que tengo una ampliacion en la tabla EKKO (cabecera de pedidos) y ya he añadido los campos z y los puedo actualizar atra ves de un screen exit.

    Existe una interfaz que modificará los pedidos de compra, para lo que quiero utilizar la bapi BAPI_PO_CHANGE. El problema esta en que no se como actulizar los campos Z de esta tabla a través de la bapi, ya que en las estructuras de la bapi no encuentro ampliaciones.

    Alguien sabe como puedo actualizar los campos Z desde la bapi???
  • ballan
    Senior Member
    • oct
    • 671

    #2
    Tienes que utilizar la EXTENSIONIN y te recomiendo que todos los campos que añadas sean de tipo char, si añades campos de tipo P (importes, etc) te va a dar muchisimas complicaciones porque tendras que implementar otra BADI

    Supongo que habras añadido los campos Z en la estructura CI_EKKODB y CI_EKKODBX, por poner un ejemplo imaginemos que la CI_EKKODB tiene esta estructura

    ZZCAMPO1 Char longitud 5
    ZZCAMPO2 Char longitud 4

    y queremos cambiar el valor del campo ZZCAMPO2 y poner el valor PEPE

    data: lt_extensionin type table of bapiparex.

    data: ls_extensionin type bapiparex.

    ls_extensionin-structure = 'BAPI_TE_MEPOHEADER'
    ls_extension-valuepart1 = 'PEDIDO PEPE'.

    Aqui tienes que poner los 10 digitos del numero de pedido, dejar 5 espacios en blanco porque el campo ZZCAMPO1 no lo quieres modificar y luego poner el valor del campo ZZCAMPO2

    append ls_extensionin to lt_extensionin
    clear ls_Extensionin

    ls_extensionin-structure = 'BAPI_TE_MEPOHEADERX'
    ls_extension-valuepart1 = 'PEDIDO X'.

    Aqui tienes que poner los 10 digitos del numero de pedido, y dejar 1 espacio en blanco del flag del campo ZZCAMPO1 que no lo queremos cambiar

    append ls_extensionin to lt_extensionin
    clear ls_Extensionin


    Luego cuando llames a la BAPI_PO_CHANGE tienes que pasarle la tabla extensionin

    Comentario

    Trabajando...