Skip to Content
0
Former Member
Feb 18, 2009 at 09:54 AM

Re: How to pass the extension parameters in BAPI

861 Views

Hello,

I'm using a BAPI for material change, below is the code...

the program is not updating the custom or 'Z' fields through this BAPI....

Could anyone help me regarding this...

Thanks...

DATA: ls_headdata TYPE bapimathead,

lt_clientdata TYPE STANDARD TABLE OF bapi_mara,

lt_clientdatax TYPE STANDARD TABLE OF bapi_marax,

ls_clientdata LIKE LINE OF lt_clientdata,

ls_clientdatax LIKE LINE OF lt_clientdatax,

lt_extensionin TYPE STANDARD TABLE OF bapiparex,

ls_extensionin LIKE LINE OF lt_extensionin,

lt_extensioninx TYPE STANDARD TABLE OF bapiparexx,

ls_extensioninx LIKE LINE OF lt_extensioninx,

lt_messages TYPE bapiret2_t,

ls_bapi_te_mara TYPE bapi_te_mara,

ls_bapi_te_marax TYPE bapi_te_marax.

ls_headdata-material = '1607022569'.

CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'

EXPORTING

input = ls_headdata-material

IMPORTING

output = ls_headdata-material.

ls_bapi_te_mara-material = ls_headdata-material.

ls_bapi_te_mara-z07mlieferwerk = '5160'.

ls_bapi_te_marax-material = 'X'.

ls_bapi_te_marax-z07mlieferwerk = 'X'.

ls_extensionin-structure = 'BAPI_TE_MARA'.

*ls_extensionin-valuepart1+0(18) = ls_bapi_te_mara-material.

*ls_extensionin-valuepart1+18(1) = ls_bapi_te_mara-z07mlieferwerk.

CONCATENATE ls_bapi_te_mara-material ls_bapi_te_mara-z07mlieferwerk INTO ls_extensionin-valuepart1 SEPARATED BY space.

APPEND ls_extensionin TO lt_extensionin.

ls_extensioninx-structure = 'BAPI_TE_MARAX'.

*ls_extensioninx-valuepart1+0(18) = 'X'.

*ls_extensioninx-valuepart1+18(1) = 'X'.

CONCATENATE 'X' 'X' INTO ls_extensioninx-valuepart1 SEPARATED BY space.

APPEND ls_extensioninx TO lt_extensioninx.

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

EXPORTING

headdata = ls_headdata

TABLES

returnmessages = lt_messages

extensionin = lt_extensionin

extensioninx = lt_extensioninx.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

wait = 'X'.

Regards,

Pavan