12-04-2006 6:42 AM
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
12-04-2006 6:53 AM
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
12-04-2006 6:53 AM
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
12-04-2006 6:54 AM
12-04-2006 6:54 AM