Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Update user fields BAPI_ALM_ORDER_MAINTAIN doesn't work despite BAPI populated

dunky
Active Participant
0 Likes
2,233

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.

3 REPLIES 3
Read only

Nawanandana
Active Contributor
0 Likes
1,509

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.

Extension of BAPI

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.


Read only

dunky
Active Participant
0 Likes
1,509

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.

Read only

dunky
Active Participant
0 Likes
1,509