‎2019 Sep 30 4:41 PM
Hi,
I can't achieve to update user fields despite the code below.
Thanks in advance.
MAIN PROGRAM CODE:
DATA: iw_methods TYPE bapi_alm_order_method,
it_methods TYPE TABLE OF bapi_alm_order_method,
iw_extension_in TYPE bapiparex,
it_extension_in TYPE TABLE OF bapiparex,
it_return TYPE TABLE OF bapiret2,
ls_zaufk TYPE ZPP_E_MODIFOF,
it_header TYPE TABLE OF bapi_alm_order_header_i WITH HEADER LINE,
it_header_up TYPE TABLE OF bapi_alm_order_header_up WITH HEADER LINE.
iw_methods-objecttype = space.
iw_methods-method = 'SAVE'.
iw_methods-objectkey = space.
APPEND iw_methods TO it_methods.
CLEAR: iw_methods,
ls_zaufk.
iw_methods-refnumber = '000001'.
iw_methods-objecttype = 'HEADER'.
iw_methods-method = 'CHANGE'.
iw_methods-objectkey = wa_itab0300-aufnr.
APPEND iw_methods TO it_methods.
ls_zaufk-aufnr = wa_itab0300-aufnr.
ls_zaufk-zzflag_f = wa_itab0300-flag_f. "Zfield
iw_extension_in-valuepart1 = ls_zaufk.
iw_extension_in-structure = 'BAPI_TE_AUFK'.
APPEND iw_extension_in TO it_extension_in.
CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN'
TABLES
it_methods = it_methods
extension_in = it_extension_in
return = it_return
* it_header = it_header
* it_header_up = it_header_up
.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
BAPI CODE:
DATA: ls_zaufk TYPE zpp_e_modifof,
ls_header_int TYPE almb_caufvd,
ls_header_int_up TYPE ibapi_caufvd_update.
CHECK sy-cprog EQ 'YFI_RETRAITMP'.
CHECK NOT ct_header_int[] IS INITIAL.
CLEAR ls_header_int.
READ TABLE ct_header_int INTO ls_header_int INDEX 1.
* READ TABLE extension_in INTO ls_extension_in INDEX 1.
ls_zaufk = extension_in-valuepart1.
ls_header_int-zzflag_f = ls_zaufk-zzflag_f.
ls_header_int_up-zzflag_f = abap_true.
MODIFY ct_header_int FROM ls_header_int INDEX sy-tabix.
MODIFY ct_header_int_up FROM ls_header_int_up INDEX 1 TRANSPORTING zzflag_f.
‎2019 Sep 30 9:05 PM
Hi,
Try bellow.
Append structure in IBAPI_CAUFVD_UPDATE,
CI_AUFK has the Zfields, so CAUFV has already had the Zfields
create BADI from 'IBAPI_ALM_ORD_MODIFY' Follow the answer of bellow link . it will work.
iw_extension_in-valuepart1+0(12) = W_AUFNR.
iw_extension_in-valuepart1+12(2) = W_ZFIELD. "Zfield
APPEND iw_extension_in TO it_extension_in.
‎2019 Oct 01 10:44 PM
Thanks Nawanandana,
I did but it didn't work.
The internal tables get the correct values at BAPI but it didn't modify the field at the production order.
‎2019 Oct 01 10:49 PM