Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Movement type 413 on MB1B transaction

Former Member
0 Kudos

Hi everybody...

I have a similar problem, I have to do a movement type 413 on MB1B transaction.

First of all I was trying using a call transaction, but unfortunately on the third screen comes a initial error message and it brakes the call transaction.

So I decide to do with the bapi: 'BAPI_GOODSMVT_CREATE'.

Does anybody can help me how to do it ?

Thanks very much in advance....

Rafael Medina

1 REPLY 1

Former Member
0 Kudos

Hi,

See the sample code and do accordingly

REPORT ZRICH_0001 .

  • 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 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 = '04'. " MB1A

  • Write 971 movement to table

CLEAR GM_ITEM.

MOVE '412' TO GM_ITEM-MOVE_TYPE .

MOVE 'Q' TO GM_ITEM-SPEC_STOCK.

MOVE '3800533484' TO GM_ITEM-MATERIAL.

MOVE '1' TO GM_ITEM-ENTRY_QNT.

*MOVE 'PC' TO GM_ITEM-ENTRY_UOM.

MOVE '1060' TO GM_ITEM-PLANT.

MOVE '0007' TO GM_ITEM-STGE_LOC.

*MOVE '0901' TO GM_ITEM-MOVE_REAS.

MOVE 'P203601001' TO GM_ITEM-WBS_ELEM.

MOVE 'P203601001' TO GM_ITEM-VAL_WBS_ELEM.

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.

WRITE:/ GM_RETMTD.

LOOP AT GM_RETURN.

WRITE:/ GM_RETURN.

ENDLOOP.

reward points for useful answers.

regards,

ANJI