Ver Mensaje Individual
  #2  
Viejo 05/12/08, 12:24:05
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
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
Responder Con Cita