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
|