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: 

BAPI for MB1B transaction for 309 movemnet type

Former Member
0 Kudos

Dear ABAPERs,

I am running BDC for MB1B transavction for movement type 309

for changing batch number of recieving material but its not working.

Please can u suggest a BAPI for this requirement.

expecting ur response.

Regards,

Simha.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hello,

check this sample code:


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

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

If useful reward.

Vasanth

2 REPLIES 2

Former Member
0 Kudos

Hello,

check this sample code:


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

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

If useful reward.

Vasanth

Former Member
0 Kudos

Hi,

use the BAPI_PO_CREATE.

'BAPI_GOODSMVT_CREATE'

Regards

null