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

BAPI Custom field updation problem

Former Member
0 Likes
2,864

Hi Experts,

Am using BAPI_SALEORDER_CHANGE to update the two Custom fields,

Below added components in BAPE_VBAP

1.ZZSERIALNO ZZSERIALNO CHAR 18

2.ZZKNO ZZKNO CHAR 30

Below added components in BAPE_VBAPX

1.ZZSERIALNO BAPIUPDATE CHAR 1

2.ZZKNO BAPIUPDATE CHAR 1

In Table VBAP, the two custom fields are appended with name ZAVBAP as structure.

Below is my existing code:

data:return type bapiret2 occurs 0 with header line,

order_item_in type bapisditm occurs 0 with header line,

order_item_inx type bapisditmx occurs 0 with header line,

conditions_in type bapicond occurs 0 with header line,

conditions_inx type bapicondx occurs 0 with header line,

i_extensionin type table of bapiparex.

data:k_extensionin type bapiparex,

k_bape_vbap type bape_vbap,

k_bape_vbapx type bape_vbapx.

constants: c_bape_vbap(9) value 'BAPE_VBAP',

c_bape_vbapx(10) value 'BAPE_VBAPX',

c_flag_x(1) value 'X'.

Code to append the structure and internal table I_extension

k_bape_vbap-vbeln = wa_vbap-vbeln.

k_bape_vbap-posnr = wa_vbap-posnr.

k_bape_vbap-zzserialno = wa_vbap-zzserialno.

k_bape_vbap-zzkno = wa_vbap-zzkno.

k_extensionin-structure = c_bape_vbap.

k_extensionin+30 = k_bape_vbap.

append k_extensionin to i_extensionin.

clear k_extensionin.

k_bape_vbapx-vbeln = wa_vbap-vbeln..

k_bape_vbapx-posnr = wa_vbap-posnr.

k_bape_vbapx-zzserialno = c_flag_x.

k_bape_vbapx-zzkno = c_flag_x.

k_extensionin-structure = c_bape_vbapx.

k_extensionin+30 = k_bape_vbapx.

append k_extensionin to i_extensionin.

clear k_extensionin.

BAPI FM called and value passed as below:

call function 'BAPI_SALESORDER_CHANGE'

exporting

salesdocument = wa_vbap-vbeln

order_header_inx = order_header_inx

tables

return = return

order_item_in = order_item_in

order_item_inx = order_item_inx

conditions_in = conditions_in

conditions_inx = conditions_inx

extensionin = i_extensionin.

call function 'BAPI_TRANSACTION_COMMIT'

exporting

wait = 'X'.

My ISSUE:

1. The two custom field is not getting updated through extension

2. Please suggest if there needs to be any code change.

3. This is real time issue, I hope many faced the same prob and got it solved.

Thank you all in Advance!!!

Regards,

Vishwa

6 REPLIES 6
Read only

Former Member
0 Likes
1,460

Hi,

Refer to the post below and check the BAPI documentantion - field extensionin:

[|]

Regards,

Felipe Simionatto

Read only

madhu_vadlamani
Active Contributor
0 Likes
1,460

Hi Vishwa,

Check this.

1) Check it is not there in loop.

check this thread [;

Do the same code for this bapi. Post if need help.

Regards,

Madhu.

Edited by: madhurao123 on Jul 12, 2011 9:09 AM

Read only

0 Likes
1,460

Thanks for your reply Madhu!

Can you please suggest me the right way to solve this issue since am handling the VBAP table alone and also I didnt appended the two custom fields to the structure VBAPKOZ and to structure VBAPKOZX. If i append the two ZZ fields to both these structure then how should i build the code.

Please help me out here!!!!!!!

Thanks!

Regards,

Vishwa

Read only

0 Likes
1,460

Hi Vishwa,

Please check this.

*

DATA: wa_extensionin TYPE bapiparex,

wa_bape_vbap TYPE bape_vbap,

wa_bape_vbapx TYPE bape_vbapx,

wa_bape_vbak TYPE bape_vbak,

wa_bape_vbakx TYPE bape_vbakx,

lv_posnr TYPE posnr.

  • header extension

CLEAR wa_bape_vbak.

wa_bape_vbak-ZZFIELD = 'HeaderDRTEST'.

wa_extensionin-structure = 'BAPE_VBAK'.

wa_extensionin+30(960) = wa_bape_vbak.

append wa_extensionin to lt_extensionin.

clear wa_extensionin.

  • Processing the line extension

LOOP AT line_items INTO wa_lineitems.

ADD 10 TO lv_posnr.

CLEAR wa_bape_vbap.

wa_bape_vbap-ZZFIELD = 'item'.

wa_extensionin-structure = 'BAPE_VBAP'.

wa_bape_vbap-posnr = lv_posnr.

wa_extensionin+30(960) = wa_bape_vbap.

append wa_extensionin to lt_extensionin.

clear wa_extensionin.

CLEAR wa_bape_vbapx.

wa_bape_vbapx-ZZFIELD = 'X'.

wa_extensionin-structure = 'BAPE_VBAPX'.

wa_bape_vbapx-posnr = lv_posnr.

wa_extensionin+30(960) = wa_bape_vbapx.

append wa_extensionin to lt_extensionin.

clear wa_extensionin.

ENDLOOP.

Regards,

Madhu.

Edited by: madhurao123 on Jul 12, 2011 1:58 PM

Read only

0 Likes
1,460

Hi Madhu,

Actually I dindt add any Z fields to structure BAPE_VBAK and BAPE_VBAKX, why because my requirement is to update the line item Z fileds under SO Additional data B.

Thanks!

Vishwa

Read only

0 Likes
1,460

Hi Vishwa,

Thant is fine.Here we are not adding any new fields. Here we added custom fields to vbap (Item ) table.We are updating those fields.Post if i am wrong.I think your requirement is to update custom fields using bapi.

In case only updation of those fields .

Add the custom field in VBAP through append structure

Modify the screen 8459 of SAPMV45A to add your custom fields

Write the logic in subroutine 'USEREXIT_MOVE_FIELD_TO_VBAP' of include MV45AFZZ to populate the value.

In both of subroutine global internal table and structures are available,where you can pass the values.

Regards,

Madhu.

Edited by: madhurao123 on Jul 12, 2011 3:15 PM