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: 

mm01--bdc

Former Member
0 Kudos

with tcode mm01, how to select and record the views that vary withits input fields at run time

give me sample code/illustrations

this is my interview question

1 ACCEPTED SOLUTION

amit_khare
Active Contributor
0 Kudos

Hi,

you may use like this to select various views.

this is for MM02, please make necessary changes.

report zmm02 message-id zm .

tables: t133k.

data: begin of it_mater occurs 0,

v_matnum(18),

v_werks(4),

v_sales(4),

v_channel(2),

v_dwerk(4),

end of it_mater.

data: it_bdc like bdcdata occurs 0 with header line.

data: itab type table of bdcmsgcoll.

data: begin of i_bildtab occurs 0.

include structure mbildtab.

data: end of i_bildtab.

data: v_var(25),

v_vpsta like mara-vpsta.

start-of-selection.

call function 'GUI_UPLOAD'

exporting

filename = 'c:\MM02.txt'

tables

data_tab = it_mater.

if sy-subrc <> 0.

message e016.

endif.

call function 'BDC_OPEN_GROUP'

exporting

group = 'Z5AK_MM02'

keep = 'X'

user = 'DEVELOPER'.

if sy-subrc <> 0.

message e016.

endif.

loop at it_mater.

select single vpsta from mara into v_vpsta where matnr = it_mater-v_matnum.

<b>

call function 'SELECTION_VIEWS_FIND'

exporting

bildsequenz = '21'

pflegestatus = v_vpsta

tables

bildtab = i_bildtab.

</b>

endloop.

loop at i_bildtab where guifu = 'SP04'.

concatenate 'MSICHTAUSW-KZSEL(' i_bildtab-idxbd ')' into v_var.

endloop.

loop at it_mater.

clear it_bdc.

it_bdc-program = 'SAPLMGMM'.

it_bdc-dynpro = '0060'.

it_bdc-dynbegin = 'X'.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'RMMG1-MATNR'.

it_bdc-fval = it_mater-v_matnum.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'BDC_OKCODE'.

it_bdc-fval = '/00'.

append it_bdc.

clear it_bdc.

it_bdc-program = 'SAPLMGMM'.

it_bdc-dynpro = '0070'.

it_bdc-dynbegin = 'X'.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'BDC_OKCODE'.

it_bdc-fval = '=RESA'.

append it_bdc.

clear it_bdc.

it_bdc-program = 'SAPLMGMM'.

it_bdc-dynpro = '0070'.

it_bdc-dynbegin = 'X'.

append it_bdc.

clear it_bdc.

it_bdc-fnam = v_var.

it_bdc-fval = 'X'.

append it_bdc.

  • CLEAR it_bdc.

  • it_bdc-fnam = 'MSICHTAUSW-KZSEL(03)'.

  • it_bdc-fval = 'X'.

  • APPEND it_bdc.

clear it_bdc.

it_bdc-fnam = 'BDC_OKCODE'.

it_bdc-fval = '=ENTR'.

append it_bdc.

clear it_bdc.

it_bdc-program = 'SAPLMGMM'.

it_bdc-dynpro = '0080'.

it_bdc-dynbegin = 'X'.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'RMMG1-WERKS'.

it_bdc-fval = it_mater-v_werks.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'RMMG1-VKORG'.

it_bdc-fval = it_mater-v_sales.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'RMMG1-VTWEG'.

it_bdc-fval = it_mater-v_channel.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'BDC_OKCODE'.

it_bdc-fval = '=ENTR'.

append it_bdc.

clear it_bdc.

it_bdc-program = 'SAPLMGMM'.

it_bdc-dynpro = '4000'.

it_bdc-dynbegin = 'X'.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'BDC_OKCODE'.

it_bdc-fval = '=BU'.

append it_bdc.

*call transaction 'Z5AK3' using it_bdc mode 'N' MESSAGES INTO ITAB.

call function 'BDC_INSERT'

exporting

tcode = 'MM02'

tables

dynprotab = it_bdc.

if sy-subrc <> 0. .

message e016.

endif.

refresh it_bdc.

endloop.

call function 'BDC_CLOSE_GROUP'.

if sy-subrc <> 0.

message e017.

endif.

Regards,

Amit

3 REPLIES 3

amit_khare
Active Contributor
0 Kudos

Hi,

you may use like this to select various views.

this is for MM02, please make necessary changes.

report zmm02 message-id zm .

tables: t133k.

data: begin of it_mater occurs 0,

v_matnum(18),

v_werks(4),

v_sales(4),

v_channel(2),

v_dwerk(4),

end of it_mater.

data: it_bdc like bdcdata occurs 0 with header line.

data: itab type table of bdcmsgcoll.

data: begin of i_bildtab occurs 0.

include structure mbildtab.

data: end of i_bildtab.

data: v_var(25),

v_vpsta like mara-vpsta.

start-of-selection.

call function 'GUI_UPLOAD'

exporting

filename = 'c:\MM02.txt'

tables

data_tab = it_mater.

if sy-subrc <> 0.

message e016.

endif.

call function 'BDC_OPEN_GROUP'

exporting

group = 'Z5AK_MM02'

keep = 'X'

user = 'DEVELOPER'.

if sy-subrc <> 0.

message e016.

endif.

loop at it_mater.

select single vpsta from mara into v_vpsta where matnr = it_mater-v_matnum.

<b>

call function 'SELECTION_VIEWS_FIND'

exporting

bildsequenz = '21'

pflegestatus = v_vpsta

tables

bildtab = i_bildtab.

</b>

endloop.

loop at i_bildtab where guifu = 'SP04'.

concatenate 'MSICHTAUSW-KZSEL(' i_bildtab-idxbd ')' into v_var.

endloop.

loop at it_mater.

clear it_bdc.

it_bdc-program = 'SAPLMGMM'.

it_bdc-dynpro = '0060'.

it_bdc-dynbegin = 'X'.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'RMMG1-MATNR'.

it_bdc-fval = it_mater-v_matnum.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'BDC_OKCODE'.

it_bdc-fval = '/00'.

append it_bdc.

clear it_bdc.

it_bdc-program = 'SAPLMGMM'.

it_bdc-dynpro = '0070'.

it_bdc-dynbegin = 'X'.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'BDC_OKCODE'.

it_bdc-fval = '=RESA'.

append it_bdc.

clear it_bdc.

it_bdc-program = 'SAPLMGMM'.

it_bdc-dynpro = '0070'.

it_bdc-dynbegin = 'X'.

append it_bdc.

clear it_bdc.

it_bdc-fnam = v_var.

it_bdc-fval = 'X'.

append it_bdc.

  • CLEAR it_bdc.

  • it_bdc-fnam = 'MSICHTAUSW-KZSEL(03)'.

  • it_bdc-fval = 'X'.

  • APPEND it_bdc.

clear it_bdc.

it_bdc-fnam = 'BDC_OKCODE'.

it_bdc-fval = '=ENTR'.

append it_bdc.

clear it_bdc.

it_bdc-program = 'SAPLMGMM'.

it_bdc-dynpro = '0080'.

it_bdc-dynbegin = 'X'.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'RMMG1-WERKS'.

it_bdc-fval = it_mater-v_werks.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'RMMG1-VKORG'.

it_bdc-fval = it_mater-v_sales.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'RMMG1-VTWEG'.

it_bdc-fval = it_mater-v_channel.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'BDC_OKCODE'.

it_bdc-fval = '=ENTR'.

append it_bdc.

clear it_bdc.

it_bdc-program = 'SAPLMGMM'.

it_bdc-dynpro = '4000'.

it_bdc-dynbegin = 'X'.

append it_bdc.

clear it_bdc.

it_bdc-fnam = 'BDC_OKCODE'.

it_bdc-fval = '=BU'.

append it_bdc.

*call transaction 'Z5AK3' using it_bdc mode 'N' MESSAGES INTO ITAB.

call function 'BDC_INSERT'

exporting

tcode = 'MM02'

tables

dynprotab = it_bdc.

if sy-subrc <> 0. .

message e016.

endif.

refresh it_bdc.

endloop.

call function 'BDC_CLOSE_GROUP'.

if sy-subrc <> 0.

message e017.

endif.

Regards,

Amit

Former Member
0 Kudos

Hi

check this Fm

MATERIAL_BTCI_SELECTION

Reward if it helps

Senthil

Former Member
0 Kudos

hi Uma,

if you seatch the SDN forum, you will find lot of threads regarding the same question and you will get your answer also.

see the below thread, it will have the sample code also for MM01 BDC

mark all the helpful answers

Regards,

GNK.