2023 Jul 26 4:52 PM
Hi Experts,
I need to Extend the Material from one Plant to other Plant. Ie., 11(material no) From M001 (Plant) to M002(Plant)
In return i getting Material was created and extended, but in Table level not updating . Kindly help
FORM read_file .
BREAK senthilg.
IF po_matnr IS NOT INITIAL.
SELECT matnr FROM mara INTO TABLE @DATA(it_mara) WHERE matnr EQ @po_matnr.
* IF it_mara IS NOT INITIAL.
* SELECT matnr ,werks FROM mard INTO TABLE @DATA(it_mard) FOR ALL ENTRIES IN @it_mara WHERE matnr EQ @it_mara-matnr.
* ENDIF.
LOOP AT it_mara INTO DATA(wa_mara).
APPEND VALUE ty_extend( matnr = wa_mara-matnr
tem_matnr = to_matnr
werks = po_werks
tem_werks = to_werks ) TO it_extend.
ENDLOOP.
ENDIF.
ENDFORM.
FORM extend_form .
DATA: ls_get_material TYPE bapi_mara_ga,
ls_get_plant TYPE bapi_marc_ga,
ls_headata TYPE bapimathead,
ls_PLANTDATA TYPE bapi_marc,
ls_PLANTDATAX TYPE bapi_marcx,
ls_return TYPE bapiret2,
lt_EXTENSIONIN TYPE TABLE OF bapiparex,
lt_EXTENSIONINX TYPE TABLE OF bapiparexx,
ls_plant TYPE bapi_te_marc,
ls_plantx TYPE BAPI_TE_MARCx.
SELECT matnr,werks FROM marc INTO TABLE @DATA(it_marc) FOR ALL ENTRIES IN @it_extend WHERE matnr EQ @it_extend-matnr.
LOOP AT it_extend INTO DATA(ls_extend).
CALL FUNCTION 'BAPI_MATERIAL_GET_ALL'
EXPORTING
material = ls_extend-tem_matnr
plant = ls_extend-tem_werks
IMPORTING
clientdata = ls_get_material
plantdata = ls_get_plant.
IF ls_get_material-material IS NOT INITIAL.
APPEND VALUE ty_final( matnr = ls_extend-matnr
tem_matnr = ls_extend-tem_matnr
werks = ls_extend-werks
tem_werks = ls_extend-tem_werks ) TO it_final.
ENDIF.
ls_headata-material = ls_get_material."ls_extend-matnr .
LOOP AT it_marc INTO DATA(ls_marc).
ls_PLANTDATA-plant = ls_get_plant."ls_marc-werks.
ls_PLANTDATAx-plant = ls_marc-werks.
ls_plant-plant = ls_get_plant ." ls_marc-werks.
ls_plantx-plant = ls_get_plant." ls_marc-werks.
APPEND VALUE bapiparex( structure = 'BAPI_TE_MARC'
valuepart1 = ls_plant ) TO lt_extensionin.
APPEND VALUE bapiparex( structure = 'BAPI_TE_MARCX'
valuepart1 = ls_plantx ) TO lt_extensioninx.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = ls_headata
plantdata = ls_PLANTDATA
plantdatax = ls_PLANTDATAx
IMPORTING
return = ls_return
TABLES
extensionin = lt_extensionin
extensioninx = lt_extensioninx.
IF ls_return IS NOT INITIAL .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = ' '.
WAIT UP TO 10 SECONDS.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM.
2023 Jul 26 4:54 PM
2023 Jul 26 5:45 PM
Of course, people would expect from you to indicate what contains RETURN parameter after save, right?
2023 Jul 26 7:20 PM
2023 Jul 26 8:03 PM
3a9e4ce873a94034b33dc62b0ce600ee
Thanks for response,
Done, but still values are not updated.
Thanks,
Senthil G.
2023 Jul 27 7:43 AM
2023 Jul 27 11:16 AM
Please point where i missed it?
Yours help is much apprecited!!!
2023 Jul 27 6:39 PM
Hi Experts,
I need to extend the Material to one plant to other.
In return message , its shows as 'Material created and extended' But values not updating.
Please let me now.
FORM extend_form .
DATA: ls_get_material TYPE bapi_mara_ga,
ls_get_plant TYPE bapi_marc_ga,
ls_headata TYPE bapimathead,
ls_clientdata TYPE bapi_mara,
ls_clientdatax TYPE bapi_marax,
ls_plantdata TYPE bapi_marc,
ls_plantdatax TYPE bapi_marcx,
ls_return TYPE bapiret2,
lt_EXTENSIONIN TYPE TABLE OF bapiparex,
lt_EXTENSIONINX TYPE TABLE OF bapiparexx,
ls_plant TYPE bapi_te_marc,
ls_plantx TYPE bapi_te_marcx.
* ls_desc TYPE
BREAK senthilg.
IF po_matnr IS NOT INITIAL.
SELECT matnr,matkl,meins,spart FROM mara INTO TABLE @DATA(it_mara) WHERE matnr EQ @po_matnr.
* IF it_mara IS NOT INITIAL.
* SELECT matnr ,werks FROM mard INTO TABLE @DATA(it_mard) FOR ALL ENTRIES IN @it_mara WHERE matnr EQ @it_mara-matnr.
* ENDIF.
LOOP AT it_mara INTO DATA(wa_mara).
APPEND VALUE ty_extend( matnr = wa_mara-matnr
tem_matnr = to_matnr
werks = po_werks
tem_werks = to_werks ) TO it_extend.
ENDLOOP.
ENDIF.
SELECT matnr,werks,ekgrp FROM marc INTO TABLE @DATA(it_marc) FOR ALL ENTRIES IN @it_extend WHERE matnr EQ @it_extend-matnr.
SELECT matnr,maktx FROM makt INTO TABLE @DATA(it_makt) FOR ALL ENTRIES IN @it_extend WHERE matnr eq @it_extend-matnr.
* SELECT matnr,bwkey,bwtar FROM mbew INTO TABLE @DATA(it_mbew) FOR ALL ENTRIES IN @it_extend WHERE matnr eq @it_marc-matnr AND
* bwkey eq @it_marc-werks
LOOP AT it_extend INTO DATA(ls_extend).
CALL FUNCTION 'BAPI_MATERIAL_GET_ALL'
EXPORTING
material = ls_extend-tem_matnr
plant = ls_extend-tem_werks
IMPORTING
clientdata = ls_get_material
plantdata = ls_get_plant.
IF ls_get_material-material IS NOT INITIAL.
APPEND VALUE ty_final( matnr = ls_extend-matnr
tem_matnr = ls_extend-tem_matnr
werks = ls_extend-werks
tem_werks = ls_extend-tem_werks ) TO it_final.
ENDIF.
* ls_headata = ls_get_material."ls_extend-matnr .
* ls_headata-material = ls_extend-matnr."ls_get_material-material."ls_extend-matnr .
ls_headata-material = ls_get_material-material.
ls_headata-basic_view = 'X'.
ls_headata-purchase_view = 'X'.
ls_headata-account_view = 'X'.
ls_headata-ind_sector = ls_get_material-ind_sector.
ls_headata-matl_type = ls_get_material-matl_type.
ls_clientdata-base_uom = wa_mara-meins.
ls_clientdata-matl_group = wa_mara-matkl.
ls_clientdata-division = wa_mara-spart.
ls_clientdataX-base_uom = 'X'.
ls_clientdataX-matl_group = 'X'.
ls_clientdataX-division = 'X'.
LOOP AT it_marc INTO DATA(ls_marc).
ls_PLANTDATA-plant = ls_get_plant-plant ."ls_marc-werks.
ls_plantdata-pur_group = ls_marc-ekgrp.
ls_PLANTDATAX-plant = ls_get_plant-plant."ls_marc-werks.
ls_plantdatax-pur_group = 'X'.
ls_plant-plant = ls_extend-werks ." ls_marc-werks.
ls_plantx-plant = ls_extend-werks." ls_marc-werks.
APPEND VALUE bapiparex( structure = 'BAPI_TE_MARC'
valuepart1 = ls_plant ) TO lt_extensionin.
APPEND VALUE bapiparex( structure = 'BAPI_TE_MARCX'
valuepart1 = ls_plantx ) TO lt_extensioninx.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = ls_headata
clientdata = ls_clientdata
clientdatax = ls_clientdatax
plantdata = ls_PLANTDATA
plantdatax = ls_PLANTDATAX
IMPORTING
return = ls_return
TABLES
extensionin = lt_extensionin
extensioninx = lt_extensioninx.
IF ls_return IS NOT INITIAL .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = ' '.
ENDIF.
ENDLOOP.
ENDLOOP.