Skip to Content
0
Former Member
Jul 12, 2010 at 01:44 PM

Goods Receipts for Purchase Order using BAPI_GOODSMVT_CREAT

46 Views

Hi experts,

I am working on the a program where am generating Goods Receipts for Purchase Order. the BAPI_GOODSMVT_CREAT returns an error saying "Material 6003022 not maintained in plant 1001"

Can any one assist? is there a field I may be missing?

Here is a sample code.

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 WITH HEADER LINE.

DATA: gm_retmtd TYPE bapi2017_gm_head_ret-mat_doc.

CLEAR: gm_return, gm_retmtd.

REFRESH gm_return.

  • Setup BAPI header

"data

gm_header-pstng_date = sy-datum.

gm_header-doc_date = sy-datum.

gm_code-gm_code = '02'.

" MB1A * Write 971 movement to table CLEAR GM_ITEM.

MOVE '101' TO gm_item-move_type .

" MOVE 'Q' TO GM_ITEM-SPEC_STOCK.

MOVE '6003022' TO gm_item-material.

MOVE '10' TO gm_item-entry_qnt.

MOVE 'EA' TO gm_item-entry_uom.

MOVE '1001' TO gm_item-plant.

MOVE '' TO gm_item-stge_loc.

MOVE '0901' TO gm_item-move_reas.

" MOVE '4500006877' TO GM_ITEM-WBS_ELEM.

" MOVE '0020' TO GM_ITEM-VAL_WBS_ELEM.

MOVE '0020' TO gm_item-deliv_numb.

MOVE '4500006881' TO gm_item-po_number.

MOVE '0010' TO gm_item-po_item.

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'.

ENDIF.