‎2009 Jul 21 9:41 AM
Hi,
I am using BAPI_GOODSMVT_CREATE
how to get material document item?
anyway material document is collected but I want material document Item also with this
Please reply me
Thanks in advance
‎2009 Jul 21 9:44 AM
Hi,
You can pass the line item values in structure BAPI2017_GM_ITEM_CREATE.
Thanks,
‎2009 Jul 21 9:55 AM
Hi
Once we pass the item data material document is created and there is no line item for it in the export parameters
‎2009 Jul 21 10:06 AM
Hi Joseph,
There are following EXPORT parameters:
GOODSMVT_HEADRET -- Combination of Material Document Number/Material Document Year
MATERIALDOCUMENT -- Number of Material Document
MATDOCUMENTYEAR -- Material Document Year
Could you please explain what exactly you want and what is your requirement?
Thanks & Regards,
Anil Salekar
‎2009 Jul 21 10:29 AM
Hi,
what u are saying is perfect. how to get material document item?
suppose under one material document if i want 5 material document itmes to be created how to create?
‎2009 Jul 21 10:34 AM
Hi,
You could either fire a select from the table 'MSEG'
OR
Try the following FMs and see if they work for you:
BAPI_GOODSMVT_GETDETAIL - This should be what you are looking for.
Else try these:
/SAPHT/GOODS_MVMT_READ
BAPI_GOODSMVT_GETITEMS
Hope this helps
Wenonah
‎2009 Jul 21 10:41 AM
Hi Joseph,
What I understood is you have 5 line items and you want to post those 5 line items in same material document.
So follow the following steps:
1. Loop at items line.
Populate goodsmvt_header with header data like Delivery Note No, document date, posting date, PO No, Some Ref No, etc from first line item.
2. Populate goodsmvt_item with item data. Polulate fields like PO No, Item NO, Material, Production Date, Batch No, Goods Recepient, quantity, uom, movement type, plant, quantity in entry quantity same as quantity , UOM in ISO same as UOM, Movement Indicator, storage location, etc.
3. Populate goodsmvt_code with Goods Movement Code
4. At last call FM 'BAPI_GOODSMVT_CREATE' .
Thanks & Regards,
Anil Salekar
‎2009 Jul 21 9:47 AM
‎2009 Jul 21 9:52 AM
Hi Joseph,
You can use FM as follows:
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = wa_gr_header
goodsmvt_code = wa_gr_code
TESTRUN = ' '
GOODSMVT_REF_EWM =
IMPORTING
goodsmvt_headret = wa_gr_headrt
materialdocument = wa_gr_matdoc
matdocumentyear = wa_gr_matdocyear
TABLES
goodsmvt_item = it_gr_item
GOODSMVT_SERIALNUMBER =
return = it_return
GOODSMVT_SERV_PART_DATA =
EXTENSIONIN =
Thanks & Regards,
Anil Salekar
‎2009 Jul 22 8:46 AM
Hi Anil,
If i pass header data same for 2 records and item changes it has to create one material document and two line items under this material document yes?
it is createing two mateial documents
I am using the below code
LOOP AT gt_data INTO wa_data.
lwa_bapi_header-doc_date = sy-datum.
lwa_bapi_header-pstng_date = wa_data-bldat.
IF lwa_bapi_header-pstng_date IS INITIAL.
lwa_bapi_header-pstng_date = sy-datum.
ENDIF.
lwa_bapi_header-ref_doc_no = wa_data-xblnr.
lwa_bapi_header-ver_gr_gi_slip = space.
lwa_bapi_code = lv_bapi_code.
wa_item1-material = wa_data-matnr.
wa_item1-plant = wa_data-werks.
wa_item1-stge_loc = wa_data-lgort.
wa_item1-move_type = '201'.
wa_item1-spec_stock = space. "SOBKZ
wa_item1-ENTRY_QNT = wa_data-erfmg. "ERFMG
*wa_item-ENTRY_UOM = "ERFME
*wa_item-QUANTITY = "MENGE
*wa_item-BASE_UOM = "MEINS
*wa_item-dmbtr =
*wa_item-MVT_IND = "SHKZG_MIGO
*wa_item-STCK_TYPE = "MIGO_INSMK
*wa_item-name1 =
*wa_item-lgobe =
wa_item1-item_text = wa_data-sgtxt.
*wa_item-GL_ACCOUNT = .
wa_item1-orderid = wa_data-aufnr.
wa_item1-costcenter = wa_data-kostl.
APPEND wa_item1 TO gt_item1.
CLEAR: wa_item1.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = lwa_bapi_header
goodsmvt_code = lwa_bapi_code
testrun = c_testrun
GOODSMVT_REF_EWM =
IMPORTING
GOODSMVT_HEADRET =
materialdocument = lwa_bapi_ret02
MATDOCUMENTYEAR =
TABLES
goodsmvt_item = gt_item1
GOODSMVT_SERIALNUMBER =
return = l_bapi_ret01
GOODSMVT_SERV_PART_DATA =
EXTENSIONIN =
.
‎2009 Jul 22 10:22 AM
Hi Joseph,
Ensure that your table defination is correct. Then you can use AT NEW and AT END OF event as follows:
*******Following is the CODE I am using......I have removed some part of code.....
TYPES : BEGIN OF t_gr_data,
***All Header Fields*********
***All Item Fields*********
END OF t_gr_data.
DATA : wa_gr_data TYPE t_gr_data,
DATA : it_gr_data TYPE STANDARD TABLE OF t_gr_data WITH HEADER LINE.
DATA : lwa_gr_data LIKE wa_gr_data.
LOOP AT it_gr_data INTO lwa_gr_data.
MOVE lwa_gr_data TO wa_gr_data.
*******some header field as per your logic
AT NEW Header-Field.
*Populate Header Data
*Delivery Note No.
*document date
*posting date
*Delivery Note No.
*Bill of Lading Ocean
Bill Of Ladding Air
*Populate Goods Movement Code.
ENDAT.
*Populate Item Data
*Purchase Order Number
*Item No
*Material
Production Date
Goods Recipient
Batch
*quantity
*UOM
*MovementType
*Plant
*Quantity in Unit Of Entry
*Unit of Entry
*ISO code for unit of measurement
*Movement Indicator.
*storage Location
APPEND wa_gr_item TO it_gr_item.
AT END OF Header Field.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = wa_gr_header
goodsmvt_code = wa_gr_code
TESTRUN = ' '
GOODSMVT_REF_EWM =
IMPORTING
goodsmvt_headret = wa_gr_headrt
materialdocument = wa_gr_matdoc
matdocumentyear = wa_gr_matdocyear
TABLES
goodsmvt_item = it_gr_item
GOODSMVT_SERIALNUMBER =
return = it_return
GOODSMVT_SERV_PART_DATA =
EXTENSIONIN =
.
IF sy-subrc EQ 0.
IF NOT wa_gr_matdoc IS INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
EXPORTING
wait = 'X'
WAIT =
IMPORTING
RETURN = .
.
ENDIF.
ENDIF.
REFRESH : it_gr_item,
it_temp1.
CLEAR : wa_gr_header,
wa_gr_item ,
wa_gr_matdoc,
wa_temp1.
ENDAT.
ENDLOOP.
Thanks & Regards,
Anil Salekar
‎2009 Jul 21 10:32 AM