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: 

regarding bapi

Former Member
0 Kudos

HI experts,

i m writing this codes for goods movement,,,,,,data declaration:

*BAPI Communication Structure: Material Document Header Data.

DATA: GM_HEADER TYPE BAPI2017_GM_HEAD_01.

*MMIM: New Key Assignment GM_CODE to Transaction of Inv. Mgmt.

DATA: GM_CODE TYPE BAPI2017_GM_CODE.

*MMIM: Output Structure For General FM To Post Goods Movement.

DATA: GM_HEADRET TYPE BAPI2017_GM_HEAD_RET.

*BAPI Communication Structure: Create Material Document Item

DATA: GM_ITEM TYPE TABLE OF

BAPI2017_GM_ITEM_CREATE WITH HEADER LINE.

*Return Parameter.

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.

  • BAPI header data.

GM_HEADER-PSTNG_DATE = SY-DATUM.

GM_HEADER-DOC_DATE = SY-DATUM.

*Goods receipt for production order

GM_CODE-GM_CODE = '03'. " MB1A

  • Write '261' movement to table

CLEAR GM_ITEM.

MOVE '700000000102' TO GM_ITEM-ORDERID.

MOVE '261' TO GM_ITEM-MOVE_TYPE .

MOVE '000000003000000195' TO GM_ITEM-MATERIAL.

MOVE '1' TO GM_ITEM-ENTRY_QNT.

MOVE '6000' TO GM_ITEM-PLANT.

MOVE 'WFC1' TO GM_ITEM-STGE_LOC.

MOVE '1000007735' TO GM_ITEM-BATCH.

APPEND GM_ITEM.

clear GM_ITEM.

MOVE '700000000102' TO GM_ITEM-ORDERID.

MOVE '261' TO GM_ITEM-MOVE_TYPE .

MOVE '000000003000000193' TO GM_ITEM-MATERIAL.

MOVE '1' TO GM_ITEM-ENTRY_QNT.

MOVE '6000' TO GM_ITEM-PLANT.

MOVE 'WFC1' TO GM_ITEM-STGE_LOC.

MOVE '1000007730' TO GM_ITEM-BATCH.

APPEND GM_ITEM.

clear GM_ITEM.

MOVE '700000000102' TO GM_ITEM-ORDERID.

MOVE '261' TO GM_ITEM-MOVE_TYPE .

MOVE '000000001000000389' TO GM_ITEM-MATERIAL.

MOVE '1' TO GM_ITEM-ENTRY_QNT.

MOVE '6000' TO GM_ITEM-PLANT.

MOVE 'FCRM' TO GM_ITEM-STGE_LOC.

APPEND GM_ITEM.

clear GM_ITEM.

MOVE '700000000102' TO GM_ITEM-ORDERID.

MOVE '261' TO GM_ITEM-MOVE_TYPE .

MOVE '000000001000000390' TO GM_ITEM-MATERIAL.

MOVE '1' TO GM_ITEM-ENTRY_QNT.

MOVE '6000' TO GM_ITEM-PLANT.

MOVE 'FCRM' TO GM_ITEM-STGE_LOC.

APPEND GM_ITEM.

clear GM_ITEM.

MOVE '700000000102' TO GM_ITEM-ORDERID.

MOVE '261' TO GM_ITEM-MOVE_TYPE .

MOVE '000000001000000391' TO GM_ITEM-MATERIAL.

MOVE '1' TO GM_ITEM-ENTRY_QNT.

MOVE '6000' TO GM_ITEM-PLANT.

MOVE 'FCRM' TO GM_ITEM-STGE_LOC.

APPEND GM_ITEM.

clear GM_ITEM.

MOVE '700000000102' TO GM_ITEM-ORDERID.

MOVE '261' TO GM_ITEM-MOVE_TYPE .

MOVE '000000001000000392' TO GM_ITEM-MATERIAL.

MOVE '1' TO GM_ITEM-ENTRY_QNT.

MOVE '6000' TO GM_ITEM-PLANT.

MOVE 'FCRM' TO GM_ITEM-STGE_LOC.

APPEND GM_ITEM.

clear 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-MESSAGE.

ENDLOOP.

*logic for receiving raw materials for hot alloy:

refresh gm_item.

clear gm_item.

clear gm_code.

GM_CODE-GM_CODE = '02'.

MOVE '700000000102' TO GM_ITEM-ORDERID.

MOVE '101' TO GM_ITEM-MOVE_TYPE .

MOVE '000000003000000196' TO GM_ITEM-MATERIAL.

MOVE '6' TO GM_ITEM-ENTRY_QNT.

MOVE '6000' TO GM_ITEM-PLANT.

MOVE 'WFC1' TO GM_ITEM-STGE_LOC.

move 'F' to gm_item-MVT_IND.

APPEND GM_ITEM.

clear 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-TYPE,GM_RETURN-LOG_NO,GM_RETURN-FIELD,

GM_RETURN-MESSAGE.

ENDLOOP.

when i execute my first bapi it is giving doc number for first '5' components with mvmnt type '261' and when i execute my second bapi it is giving doc number for finished product with mvmnt type '101 no doubt the goods movemnt are working fine after this i have to confirm the production order for these components plz help me how will i use this bapi 'BAPI_PRODORDCONF_CREATE_HDR' what parameter sud i pass and how....plz help me...

2 REPLIES 2

Former Member
0 Kudos

what are u doing ?, u cannt do like this , u have to use 'BAPI_PRODORDCONF_CREATE_HDR' and Goodsmovement table in that BAPI.

Regards

Peram

0 Kudos

HI PRABHU cud u plz explain it properly........i wud be grateful to you.....