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

BDC -MM01

Former Member
0 Likes
412

HI ALL,

I WOULD LIKE TO CREATE MATERIALS USING BDC ,BUT IN MM01,VIEWS ARE GETTING CHANGED ACCORDING TO THE MATERIAL TYPE SELECTED ,HOW TO RECORD THIS TRANSACTION?AND HOW TO HANDLE THIS.

PLS HELP ME

THANKS,

GANESH

2 REPLIES 2
Read only

Former Member
0 Likes
373

hi,

i am sending you sample code along with recording.

try to analyze

code:

report ZMMBDC no standard page heading line-size 255.

                                                                  • BDC Program using Session Method*****

                                      • Table Declaration *********************

tables : rmmg1,makt,mara,mvke,mg03steuer,marc,mpop,mbew.

                                        • Internal table declaration*************

data : begin of itab occurs 0,

matnr like rmmg1-matnr,

mbrsh like rmmg1-mbrsh,

mtart like rmmg1-mtart,

werks like rmmg1-werks,

lgort like rmmg1-lgort,

vkorg like rmmg1-vkorg,

vtweg like rmmg1-vtweg,

maktx like makt-maktx,

meins like mara-meins,

matkl like mara-matkl,

spart like mara-spart,

dwerk like mvke-dwerk,

taxkm like mg03steuer-taxkm,

mtpos like mvke-mtpos,

mtvfp like marc-mtvfp,

tragr like mara-tragr,

ladgr like marc-ladgr,

dismm like marc-dismm,

dispo like marc-dispo,

disls like marc-disls,

beskz like marc-beskz,

fhori like marc-fhori,

prmod like mpop-prmod,

bklas like mbew-bklas,

end of itab.

                                                  • BDC table declaration ********************

data : BDC_DATA like BDCDATA occurs 0 with header line.

start-of-selection.

                                          • Function call of GUI_Upload *******************

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = 'c:\material.txt'

FILETYPE = 'ASC'

  • HAS_FIELD_SEPARATOR = ' '

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = itab

  • EXCEPTIONS

  • FILE_OPEN_ERROR = 1

  • FILE_READ_ERROR = 2

  • NO_BATCH = 3

  • GUI_REFUSE_FILETRANSFER = 4

  • INVALID_TYPE = 5

  • NO_AUTHORITY = 6

  • UNKNOWN_ERROR = 7

  • BAD_DATA_FORMAT = 8

  • HEADER_NOT_ALLOWED = 9

  • SEPARATOR_NOT_ALLOWED = 10

  • HEADER_TOO_LONG = 11

  • UNKNOWN_DP_ERROR = 12

  • ACCESS_DENIED = 13

  • DP_OUT_OF_MEMORY = 14

  • DISK_FULL = 15

  • DP_TIMEOUT = 16

  • OTHERS = 17

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

                            • fuction call of BDC_Open_group*********

CALL FUNCTION 'BDC_OPEN_GROUP'

EXPORTING

CLIENT = SY-MANDT

  • DEST = FILLER8

GROUP = 'Material'

  • HOLDDATE = FILLER8

KEEP = 'X'

USER = sy-Uname

  • RECORD = FILLER1

  • PROG = SY-CPROG

  • IMPORTING

  • QID =

  • EXCEPTIONS

  • CLIENT_INVALID = 1

  • DESTINATION_INVALID = 2

  • GROUP_INVALID = 3

  • GROUP_IS_LOCKED = 4

  • HOLDDATE_INVALID = 5

  • INTERNAL_ERROR = 6

  • QUEUE_ERROR = 7

  • RUNNING = 8

  • SYSTEM_LOCK_ERROR = 9

  • USER_INVALID = 10

  • OTHERS = 11

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

                                  • Function call of BDC_insert ***********

                            • repetitive execution of BDC_insert ********

loop at itab.

refresh bdc_data.

perform map_data.

CALL FUNCTION 'BDC_INSERT'

EXPORTING

TCODE = 'MM01'

  • POST_LOCAL = NOVBLOCAL

  • PRINTING = NOPRINT

  • SIMUBATCH = ' '

  • CTUPARAMS = ' '

TABLES

DYNPROTAB = BDC_DATA

  • EXCEPTIONS

  • INTERNAL_ERROR = 1

  • NOT_OPEN = 2

  • QUEUE_ERROR = 3

  • TCODE_INVALID = 4

  • PRINTING_INVALID = 5

  • POSTING_INVALID = 6

  • OTHERS = 7

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

endloop.

                          • function call of BDC_close_group ********

CALL FUNCTION 'BDC_CLOSE_GROUP'

  • EXCEPTIONS

  • NOT_OPEN = 1

  • QUEUE_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.

                                • Subroutinue map_data ****************

form map_data.

perform bdc1_dynpro using 'SAPLMGMM' '0060'.

perform bdc1_field using 'RMMG1-MATNR'

itab-matnr.

perform bdc1_field using 'RMMG1-MBRSH'

itab-mbrsh.

perform bdc1_field using 'RMMG1-MTART'

itab-mtart.

perform bdc1_field using 'BDC_OKCODE'

'=AUSW'.

perform bdc1_dynpro using 'SAPLMGMM' '0070'.

perform bdc1_field using 'MSICHTAUSW-KZSEL(01)'

'X'.

perform bdc1_field using 'MSICHTAUSW-KZSEL(04)'

'X'.

perform bdc1_field using 'MSICHTAUSW-KZSEL(05)'

'X'.

perform bdc1_field using 'MSICHTAUSW-KZSEL(06)'

'X'.

perform bdc1_field using 'MSICHTAUSW-KZSEL(12)'

'X'.

perform bdc1_field using 'MSICHTAUSW-KZSEL(13)'

'X'.

perform bdc1_field using 'MSICHTAUSW-KZSEL(16)'

'X'.

perform bdc1_field using 'BDC_OKCODE'

'/00'.

perform bdc1_dynpro using 'SAPLMGMM' '0080'.

perform bdc1_field using 'RMMG1-WERKS'

itab-werks.

perform bdc1_field using 'RMMG1-LGORT'

itab-lgort.

perform bdc1_field using 'RMMG1-VKORG'

itab-vkorg.

perform bdc1_field using 'RMMG1-VTWEG'

itab-vtweg.

perform bdc1_field using 'BDC_OKCODE'

'=ENTR'.

perform bdc1_dynpro using 'SAPLMGMM' '4004'.

perform bdc1_field using 'MAKT-MAKTX'

itab-maktx.

perform bdc1_field using 'MARA-MEINS'

itab-meins.

perform bdc1_field using 'MARA-MATKL'

itab-matkl.

perform bdc1_field using 'MARA-SPART'

itab-spart.

perform bdc1_field using 'BDC_OKCODE'

'=SP02'.

perform bdc1_dynpro using 'SAPLMGMM' '4004'.

perform bdc1_field using 'MAKT-MAKTX'

itab-maktx.

perform bdc1_field using 'BDC_OKCODE'

'=SP04'.

perform bdc1_dynpro using 'SAPLMGMM' '4000'.

perform bdc1_field using 'MAKT-MAKTX'

itab-maktx.

perform bdc1_field using 'MARA-MEINS'

itab-meins.

perform bdc1_field using 'MARA-SPART'

itab-spart.

perform bdc1_field using 'MVKE-DWERK'

itab-dwerk.

perform bdc1_field using 'MARA-MATKL'

itab-matkl.

perform bdc1_field using 'MG03STEUER-TAXKM(01)'

itab-taxkm.

perform bdc1_field using 'BDC_OKCODE'

'=SP05'.

perform bdc1_dynpro using 'SAPLMGMM' '4200'.

perform bdc1_field using 'MAKT-MAKTX'

itab-maktx.

perform bdc1_field using 'BDC_OKCODE'

'=MAIN'.

perform bdc1_dynpro using 'SAPLMGMM' '4000'.

perform bdc1_field using 'MAKT-MAKTX'

itab-maktx.

perform bdc1_field using 'MARA-MEINS'

itab-meins.

perform bdc1_field using 'MARA-SPART'

itab-spart.

perform bdc1_field using 'MVKE-DWERK'

itab-dwerk.

perform bdc1_field using 'MARA-MATKL'

itab-matkl.

perform bdc1_field using 'BDC_OKCODE'

'=SP05'.

perform bdc1_dynpro using 'SAPLMGMM' '4000'.

perform bdc1_field using 'MAKT-MAKTX'

itab-maktx.

perform bdc1_field using 'MVKE-MTPOS'

itab-mtpos.

perform bdc1_field using 'BDC_OKCODE'

'=SP06'.

perform bdc1_dynpro using 'SAPLMGMM' '4000'.

perform bdc1_field using 'MAKT-MAKTX'

itab-maktx.

perform bdc1_field using 'MARA-MEINS'

itab-meins.

perform bdc1_field using 'MARC-MTVFP'

itab-mtvfp.

perform bdc1_field using 'MARA-TRAGR'

itab-tragr.

perform bdc1_field using 'MARC-LADGR'

itab-ladgr.

perform bdc1_field using 'BDC_OKCODE'

'=SP12'.

perform bdc1_dynpro using 'SAPLMGMM' '4000'.

perform bdc1_field using 'MAKT-MAKTX'

itab-maktx.

perform bdc1_field using 'MARA-MEINS'

itab-meins.

perform bdc1_field using 'MARC-DISMM'

itab-dismm.

perform bdc1_field using 'MARC-DISPO'

itab-dispo.

perform bdc1_field using 'MARC-DISLS'

itab-disls.

perform bdc1_field using 'BDC_OKCODE'

'=SP13'.

perform bdc1_dynpro using 'SAPLMGMM' '4000'.

perform bdc1_field using 'MAKT-MAKTX'

itab-maktx.

perform bdc1_field using 'MARC-BESKZ'

itab-beskz.

perform bdc1_field using 'MARC-FHORI'

itab-fhori.

perform bdc1_field using 'BDC_OKCODE'

'SP16'.

perform bdc1_dynpro using 'SAPLMGMM' '4000'.

perform bdc1_field using 'MAKT-MAKTX'

itab-maktx.

perform bdc1_field using 'MARA-MEINS'

itab-meins.

perform bdc1_field using 'MPOP-PRMOD'

itab-prmod.

perform bdc1_field using 'BDC_OKCODE'

'=SP27'.

perform bdc1_dynpro using 'SAPLMGMM' '4000'.

perform bdc1_field using 'MAKT-MAKTX'

itab-maktx.

perform bdc1_field using 'BDC_OKCODE'

'/00'.

endform.

----


  • Start new screen

*

----


FORM BDC1_DYNPRO USING PROGRAM DYNPRO.

CLEAR bdc_data.

bdc_data-program = PROGRAM.

bdc_data-dynpro = DYNPRO.

bdc_data-dynbegin = 'X'.

APPEND bdc_data.

ENDFORM.

----


  • Insert field

*

----


FORM BDC1_FIELD USING FNAM FVAL.

IF FVAL <> SPACE.

CLEAR bdc_data.

bdc_data-fnam = FNAM.

bdc_data-fval = FVAL.

APPEND bdc_data.

ENDIF.

ENDFORM.

recording:

Recording of MM01:

T MM01 BS AA X F

SAPLMGMM 0060 X

RMMG1-MATNR scooter

RMMG1-MBRSH M

RMMG1-MTART FERT

BDC_OKCODE =AUSW

SAPLMGMM 0070 X

MSICHTAUSW-KZSEL(01) X

MSICHTAUSW-KZSEL(04) X

MSICHTAUSW-KZSEL(05) X

MSICHTAUSW-KZSEL(06) X

MSICHTAUSW-KZSEL(12) X

MSICHTAUSW-KZSEL(13) X

MSICHTAUSW-KZSEL(16) X

BDC_OKCODE /00

SAPLMGMM 0070 X

MSICHTAUSW-KZSEL(15) X

BDC_OKCODE /00

SAPLMGMM 0080 X

RMMG1-WERKS 1000

RMMG1-LGORT 0001

RMMG1-VKORG 1000

RMMG1-VTWEG 10

BDC_OKCODE =ENTR

SAPLMGMM 4004 X

BDC_SUBSCR SAPLMGMM 2004TABFRA1

BDC_SUBSCR SAPLMGD1 1002SUB1

MAKT-MAKTX 5 gear scooter

BDC_SUBSCR SAPLMGD1 2001SUB2

MARA-MEINS pc

MARA-MATKL 001

MARA-SPART 00

MARA-MTPOS_MARA NORM

BDC_SUBSCR SAPLMGD1 2561SUB3

BDC_SUBSCR SAPLMGD1 2007SUB4

MARA-GEWEI KG

BDC_SUBSCR SAPLMGD1 2005SUB5

BDC_SUBSCR SAPLMGD1 2011SUB6

BDC_SUBSCR SAPLMGD1 2033SUB7

BDC_SUBSCR SAPLMGD1 3300SUB8

BDC_SUBSCR SAPLMGD1 0001SUB9

BDC_SUBSCR SAPLMGD1 0001SUB10

BDC_OKCODE =SP02

SAPLMGMM 4004 X

BDC_SUBSCR SAPLMGMM 2004TABFRA1

BDC_SUBSCR SAPLMGD1 1002SUB1

MAKT-MAKTX 5 gear scooter

BDC_SUBSCR SAPLMGD1 2002SUB2

BDC_SUBSCR SAPLMGD1 2010SUB3

BDC_SUBSCR SAPLMGD1 2003SUB4

BDC_SUBSCR SAPLMGD1 2004SUB5

BDC_SUBSCR SAPLMGD1 2499SUB6

BDC_SUBSCR SAPLMGD1 2012SUB7

BDC_SUBSCR SAPLMGD1 0001SUB8

BDC_SUBSCR SAPLMGD1 0001SUB9

BDC_SUBSCR SAPLMGD1 0001SUB10

BDC_OKCODE /00

SAPLMGMM 4000 X

BDC_SUBSCR SAPLMGMM 2000TABFRA1

BDC_SUBSCR SAPLMGD1 1004SUB1

MAKT-MAKTX 5 gear scooter

BDC_SUBSCR SAPLMGD1 2158SUB2

MARA-MEINS PC

MARA-SPART 00

MVKE-DWERK 1000

MARA-MATKL 001

MVKE-SKTOF X

BDC_SUBSCR SAPLMGD1 2184SUB3

MG03STEUER-TAXKM(01) 1

BDC_SUBSCR SAPLMGD1 2159SUB4

BDC_SUBSCR SAPLMGD1 0001SUB5

BDC_SUBSCR SAPLMGD1 0001SUB6

BDC_OKCODE =SP05

SAPLMGMM 4200 X

BDC_SUBSCR SAPLMGMM 2200TABFRA1

BDC_SUBSCR SAPLMGD1 1004SUB1

MAKT-MAKTX 5 gear scooter

BDC_SUBSCR SAPLMGD1 2181SUB2

BDC_OKCODE =MAIN

SAPLMGMM 4000 X

BDC_SUBSCR SAPLMGMM 2000TABFRA1

BDC_SUBSCR SAPLMGD1 1004SUB1

MAKT-MAKTX 5 gear scooter

BDC_SUBSCR SAPLMGD1 2158SUB2

MARA-MEINS PC

MARA-SPART 00

MVKE-DWERK 1000

MARA-MATKL 001

MVKE-SKTOF X

BDC_SUBSCR SAPLMGD1 2184SUB3

BDC_SUBSCR SAPLMGD1 2159SUB4

BDC_SUBSCR SAPLMGD1 0001SUB5

BDC_SUBSCR SAPLMGD1 0001SUB6

BDC_OKCODE =SP05

SAPLMGMM 4000 X

BDC_SUBSCR SAPLMGMM 2000TABFRA1

BDC_SUBSCR SAPLMGD1 1004SUB1

MAKT-MAKTX 5 gear scooter

BDC_SUBSCR SAPLMGD1 2157SUB2

MVKE-MTPOS NORM

BDC_SUBSCR SAPLMGD1 2156SUB3

BDC_SUBSCR SAPLMGD1 2155SUB4

BDC_SUBSCR SAPLMGD1 0001SUB5

BDC_SUBSCR SAPLMGD1 0001SUB6

BDC_OKCODE =SP06

SAPLMGMM 4000 X

BDC_SUBSCR SAPLMGMM 2000TABFRA1

BDC_SUBSCR SAPLMGD1 1001SUB1

MAKT-MAKTX 5 gear scooter

BDC_SUBSCR SAPLMGD1 2161SUB2

MARA-MEINS PC

MARA-GEWEI KG

MARC-MTVFP 01

BDC_SUBSCR SAPLMGD1 2162SUB3

MARA-TRAGR 0001

MARC-LADGR 0001

BDC_SUBSCR SAPLMGD1 2164SUB4

BDC_SUBSCR SAPLMGD1 5802SUB5

BDC_SUBSCR SAPLWRPD 2010SUB6

BDC_OKCODE =SP12

SAPLMGMM 4000 X

BDC_SUBSCR SAPLMGMM 2000TABFRA1

BDC_SUBSCR SAPLMGD1 1001SUB1

MAKT-MAKTX 5 gear scooter

BDC_SUBSCR SAPLMGD1 2481SUB2

MARA-MEINS PC

MARC-DISGR 0031

BDC_SUBSCR SAPLMGD1 2482SUB3

MARC-DISMM pd

MARC-DISPO 000

BDC_SUBSCR SAPLMGD1 2483SUB4

MARC-DISLS ex

BDC_SUBSCR SAPLMGD1 2480SUB5

BDC_SUBSCR SAPLMGD1 2479SUB6

BDC_OKCODE =SP13

SAPLMGMM 4000 X

BDC_SUBSCR SAPLMGMM 2000TABFRA1

BDC_SUBSCR SAPLMGD1 1001SUB1

MAKT-MAKTX 5 gear scooter

BDC_SUBSCR SAPLMGD1 2484SUB2

MARC-BESKZ x

BDC_SUBSCR SAPLMGD1 2485SUB3

MARC-FHORI 000

BDC_SUBSCR SAPLMGD1 2486SUB4

BDC_SUBSCR SAPLMGD1 0001SUB5

BDC_SUBSCR SAPLMGD1 0001SUB6

BDC_OKCODE SP16

SAPLMGMM 4000 X

BDC_SUBSCR SAPLMGMM 2000TABFRA1

BDC_SUBSCR SAPLMGD1 1001SUB1

MAKT-MAKTX 5 gear scooter

BDC_SUBSCR SAPLMGD1 2524SUB2

MARA-MEINS PC

MPOP-PRMOD D

MARC-PERKZ M

BDC_SUBSCR SAPLMGD1 2525SUB3

MPOP-PERAN 60

MPOP-ANZPR 12

BDC_SUBSCR SAPLMGD1 2523SUB4

MPOP-KZINI X

MPOP-SIGGR 4.000

MARC-AUTRU X

MPOP-MODAV 2

BDC_SUBSCR SAPLMGD1 2552SUB5

BDC_SUBSCR SAPLMGD1 0001SUB6

BDC_OKCODE =SP27

SAPLMGMM 4000 X

BDC_SUBSCR SAPLMGMM 2000TABFRA1

BDC_SUBSCR SAPLMGD1 1009SUB1

MAKT-MAKTX 5 gear scooter

BDC_SUBSCR SAPLMGD1 2953SUB2

BDC_SUBSCR SAPLMGD1 2952SUB3

BDC_SUBSCR SAPLMGD1 2902SUB4

MBEW-BKLAS 7920

MBEW-VPRSV S

MBEW-PEINH 1

BDC_SUBSCR SAPLMGD1 0001SUB5

BDC_SUBSCR SAPLMGD1 0001SUB6

BDC_OKCODE =BU

Test DATA

SCOOTER MECHANICAL-ENGINEERING FINISHED-PRODUCT 1000 0001 1000 10 5GEAR-SCOOTER PC 001 c0 1000 1 NORM 01 0001 0001 PD 000 EX X 000 D 7920

regards,

pavan

Reward Points if useful

Edited by: pavan kumar pisipati on Jan 14, 2008 8:23 AM

Read only

Former Member
0 Likes
373

Hi ,

Please dont use BDC recording program for the material Master Upload. Its master data which is critical and complex.

Suggest you to use the LSMW using the SAP std program to upload the data.

Thanks

Ravi