|
|
| Have a requirement to create a 551 movement to do a GI to scrap.
However, since this requires a cost center I can't get BAPI_GOODSMVT_CREATE
to work. Is there any other function or BAPI to call to avoid doing it
via call transaction?
Resolution: I have a program that has been working good for some time. Here is the code. Check below: * Structures for BAPI data: gm_header type bapi2017_gm_head_01. data: gm_code type bapi2017_gm_code. data: gm_headret type bapi2017_gm_head_ret. data: gm_item type table of bapi2017_gm_item_create with header line. data: gm_return type bapiret2 occurs 0. data: gm_retmtd type bapi2017_gm_head_ret-mat_doc. clear: gm_return, gm_retmtd. refresh gm_return. perform show_status using 'Scrapping(551) Material'. * Setup BAPI header data. gm_header-pstng_date = sy-datum. gm_header-doc_date = sy-datum. gm_code-gm_code = '06'. " MB11 * Write 551 movement to table clear gm_item. move '551' to gm_item-move_type . move xresb-matnr to gm_item-material. move p_bdmng to gm_item-entry_qnt. move xresb-meins to gm_item-entry_uom. move xresb-werks to gm_item-plant. move xresb-lgort to gm_item-stge_loc. move p_grund to gm_item-move_reas. * Determine cost center per plant case xresb-werks. when '0004'. move '0000041430' to gm_item-costcenter. when '0006'. move '0000041630' to gm_item-costcenter. when '0007'. move '0000041731' to gm_item-costcenter. when '0008'. move '0000041830' to gm_item-costcenter. endcase. append gm_item. * Call goods movement BAPI call function 'BAPI_GOODSMVT_CREATE' EXPORTING goodsmvt_header = gm_header goodsmvt_code = gm_code IMPORTING goodsmvt_headret = gm_headret materialdocument = gm_retmtd TABLES goodsmvt_item = gm_item return = gm_return. if not gm_retmtd is initial. commit work and wait. call function 'DEQUEUE_ALL'. else. commit work and wait. call function 'DEQUEUE_ALL'. message i013. endif.
Get help for your ABAP problems
ABAP Books
More ABAP Tips
Best regards,
All the site contents are Copyright © www.erpgreat.com
and the content authors. All rights reserved.
|