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: 

bdc on mb1c

Former Member
0 Kudos

hi experts.

i have developed a bdc on mb1c tcode, i have used function module to upload data through a flat file, when i execute my object its uploading one after the other. (after completion of one record its going for the next one), according to my requirement. ex :- if i have entered 10 datas one below the other for the following

bldat, budat,bwartwa,werks,lgort, matnr, erfmg

1.8.07 1.9.07 561 1000 0001 H4-LAMPE 2

12.8.07 3.9.07 561 1000 0001 P-101 3

25.8.07 30.9.07 561 1000 0001 H4-LAMP 4

5.8.07 5.9.07 561 1000 0001 L-40C 5

i want all the above entries to be uploaded one at a time.

I should also check whether the material entered is valid or not.

thanks in advance

maaya

1 ACCEPTED SOLUTION

Former Member
0 Kudos

hi

good

Use this sample report which used to do the GR for MB1a.

Change the GM_CODE as '05'.

05 MB1C

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 point if helpful.

thanks

mrutyun^

3 REPLIES 3

Former Member
0 Kudos

hi,

While using the the call transaction statement.

Set update as 'S'.

Means, Call transaction 'T-CODE' using BDCDATA MODE 'S'.

Pls reward if helpful..

Former Member
0 Kudos

Hi maaya,

Before using BDC code ie after downloading the flat file into the internal table check whether material is right or not.

regards,

Santosh

Former Member
0 Kudos

hi

good

Use this sample report which used to do the GR for MB1a.

Change the GM_CODE as '05'.

05 MB1C

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 point if helpful.

thanks

mrutyun^