Application Development and Automation 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: 
Read only

Bapi

Former Member
0 Likes
429

Hello all,

What all inputs that i need to give in the BAPI- <b>BAPI_GOODSMVT_CREATE</b> to create goods receipt.

I will surely reward all helpfull answers.

Regards

Rakesh.

3 REPLIES 3
Read only

Former Member
0 Likes
393

Hi

*- Clear Internal tables

CLEAR: bapigm_head, bapigm_code, bapigm_headret,

ibapigm_item, ibapigm_ret,

ibapigm_item[], ibapigm_ret[].

*- Header Information

PERFORM bapigm_head_create.

*- Get possible trxn code for Goods Movement

MOVE gmcode_01 TO bapigm_code-gm_code.

*- Fill Item details

PERFORM bapigm_item_create.

CALL FUNCTION 'BAPI_GOODSMVT_CREATE'

EXPORTING

goodsmvt_header = bapigm_head

goodsmvt_code = bapigm_code

IMPORTING

goodsmvt_headret = bapigm_headret

TABLES

goodsmvt_item = ibapigm_item

return = ibapigm_ret.

*- Commit on Success

IF NOT bapigm_headret-mat_doc IS INITIAL.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

*- Material Document sucessfully created. Unlock PO

CALL FUNCTION 'DEQUEUE_EMEKKOE'

EXPORTING

mode_ekko = 'E'

mode_ekpo = 'E'

mandt = sy-mandt

ebeln = v_ebeln

_scope = '3'.

&----


*& Form bapigm_head_create

&----


  • Header Information

----


FORM bapigm_head_create .

MOVE: sy-datum TO bapigm_head-pstng_date,

sy-datum TO bapigm_head-doc_date,

sy-uname TO bapigm_head-pr_uname,

v_mblnr TO bapigm_head-ref_doc_no,

con_bfwms_bestand TO bapigm_head-ext_wms.

*- Document Header Text

IF NOT v_bktxt IS INITIAL.

*- Preceed "INV=" to the Invoice number entered

CONCATENATE 'INV='(003) v_bktxt INTO v_bktxt SEPARATED BY space.

bapigm_head-header_txt = v_bktxt.

ENDIF.

ENDFORM. " bapigm_head_create

&----


*& Form bapigm_item_create

&----


  • Fill Item details

----


FORM bapigm_item_create .

*- Populate item data

LOOP AT i_items_trans.

CLEAR ibapigm_item.

*- Convert the matnr backto 18 char form (External)

CALL FUNCTION 'CONVERSION_EXIT_MATN2_INPUT'

EXPORTING

input = i_items_trans-matnr

IMPORTING

output = i_items_trans-matnr

EXCEPTIONS

number_not_found = 1

length_error = 2

OTHERS = 3.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ibapigm_item-material = i_items_trans-matnr.

ibapigm_item-plant = x_user-werks.

ibapigm_item-stge_loc = x_user-lgort.

ibapigm_item-move_type = '101'. "Goods Receipt

ibapigm_item-mvt_ind = 'B'. "Goods Movement for PO

ibapigm_item-po_number = i_items_trans-ebeln.

ibapigm_item-po_item = i_items_trans-ebelp.

ibapigm_item-gr_rcpt = sy-uname.

ibapigm_item-quantity = i_items_trans-ktmng.

ibapigm_item-base_uom = i_items_trans-meins.

ibapigm_item-entry_qnt = i_items_trans-ktmng.

ibapigm_item-entry_uom = i_items_trans-meins.

ibapigm_item-batch = i_items_trans-charg.

APPEND ibapigm_item.

ENDLOOP.

ENDFORM. " bapigm_item_create

Regards

Raj

Read only

Former Member
0 Likes
393

Hi

See the sample code for this BAPI

and see the documentation of that BAPI

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.

<b>Reward points for useful Answers</b>

Regards

Anji

Read only

Former Member
0 Likes
393

Thanks a lot evryone,

Rakesh.