Bapi- Bapi_contract_change
Saludos a tod@s!
estoy intentando actualizar el net_price a través de la bapi BAPI_CONTRACT_CHANGE. Todos los valores me los informa bien y me crea las posiciones nuevas, sin embargo, me deja el net_price sin informar. ls_item-item_no = '000080'. "EBELP posicion ls_item-material = '4038306'. "MATNR material ls_item-target_qty = '105'. "KTMNG "Ctd.prevista ls_item-net_price = '333'. " NETPR Precio neto APPEND ls_item TO lt_item. ls_itemx-item_no = '000080'. "EBELP posicion 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 = '4600000029' TABLES item = lt_item itemx = lt_itemx return = lt_return. COMMIT WORK AND WAIT. PD: Si ejecuto el programa Z dos veces si que cambia el NET_PRICE. ¿Alguna idea de por qué no informa el net_price? Muchas gracias!! |
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. |
Husos Horarios son GMT. La hora en este momento es 11:24:48. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web