Ver Mensaje Individual
  #2  
Viejo 26/03/18, 11:24:21
Raulalsan Raulalsan is offline
Junior Member
 
Fecha de Ingreso: sep 2016
Mensajes: 25
Finalmente lo resolví de una manera no muy óptima pero que funciona...
Básicamente lanzo la BAPI dos veces y limpiando las tablas después de cada ejecución.

De esta manera si que lo cambia.
Dejo la solución por si a alguien le ayuda

DO 2 TIMES.
CLEAR ls_item.
ls_item-item_no = 'XXXXX'.
ls_item-material = 'XXXXXX'.
ls_item-material = |{ ls_item-material ALPHA = IN }|.
ls_item-target_qty = X.
ls_item-net_price = 'XXX.XX'.

APPEND ls_item TO lt_item.

CLEAR ls_itemx.
ls_itemx-item_no = 'XXXXX'.
ls_itemx-material = abap_true.
ls_itemx-target_qty = abap_true.
ls_itemx-net_price = abap_true.
APPEND ls_itemx TO lt_itemx.

CALL FUNCTION 'BAPI_CONTRACT_CHANGE'
EXPORTING
purchasingdocument = 'XXXXXXXX'
* testrun = lv_salida
TABLES
item = lt_item
itemx = lt_itemx
return = lt_return.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.

CLEAR: lt_item, lt_itemx, lt_return.
REFRESH: lt_item, lt_itemx, lt_return.
ENDDO.
Responder Con Cita