Administration authorization on ALV Variant
In SAP List Viewer we previously had Administration authorization with SD_MAINTAIN_ALL authoirzation.
But since the upgrade to ERP2005 this is not enough and we can't change the layout (display variant) because the Settings -> Layout -> Administration option is inactive.
Anyone got a clue here? Which authorization object should the user have in order to Save layouts of an ALV list.
Best regards.
::Mattias
Hi Peram!
Thank you very much for your answer.
You are referring to when you call the FM yourself but VA45 is standard SAP where it's not really possible to change the call.
Anyway.
We tested with S_ALV_LAYO and the activity '23' = Maintain but that didn't work. Then we AGAIN tested with the SD_VARIANT_MAINTAIN and 'A' and then it worked. So we did do something wrong previously but I don't know what.
Thanks very much anyway.
BR
Mattias
Similar Messages
-
How to find number of columns used in a ALV variant
I need to know how many column is active ( will be shown in the ALV report ) related to a specific ALV Variant.
Example :
The structure of my internal table has 147 columns.
The user in a specific ALV variant has chosen 25 columns of those 147 colums, so I need to know that this ALV variant will show 25 columns.
Thanks! JoHi Max,
Thanks for hints.
Finnally I did the verification at the beginning of my process.
Because I need the information before getting the data, so I called the METHOD with a "dummy" table,
and I received the info of what I need, the number of column related to a specific ALV Variant.
I used :
ls_variant-report = sy-repid.
ls_variant-variant = p_alvvar. "<<< Select-option field for AVL Variant
ls_variant-log_group = 'L01'.
CALL METHOD lo_grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'MY_STRUCTURE'
is_variant = ls_variant
is_layout = ls_layout
i_save = 'A'
i_default = 'X'
I_BYPASSING_BUFFER = 'X'
CHANGING
it_fieldcatalog = LT_FIELDCATALOG
it_outtab = lt_dummy[].
CALL METHOD lo_grid1->GET_FRONTEND_FIELDCATALOG
IMPORTING
ET_FIELDCATALOG = LT_FIELDCATALOG.
loop at LT_FIELDCATALOG into ls_FIELDCATALOG where no_out = space.
add 1 to LV_NB_COLUMNS.
endloop.
Jo -
No administration authorization in Change and Transport System in CHARM
Hi guys,
I am currently working for CHARM implementation for ECC 6.0
now my problem i created an urgent correction and i released the transport request successfully, but when i try to execute the Pass correction test action it is saying that No import into test system has taken place yet. then i went to task plan and checked there in quality system it is saying No administration authorization in Change and Transport System.
So i asked my basis team to assign the S_TMW_IMPORT profile to user TSADM in 000 client of quality system and additinally our basis team has assigned S_CTS_ADMI. authorization object to TSADM user ID in 000 client of quality system. But SAP has suggested to assign S_CTS_IMPALL and S_CTS_IMPSGL authorization profile to S_CTS_ADMI.
But the problem is S_CTS_IMPALL and S_CTS_IMPSGL authorization profile is not available in 000 client of quality system.
Kindly give your valuable inputs as early as possible. the solution provided by anybody will be rewarded with points.
Thanks&Regards
Rajucan you try assigning the below profiles to that ID.
S_TMW_OPERA
Operator in CTS (All Transport Authorizations)
S_CTS_ALL
Transport system: All authorizations
S_CTS_DEVELO
WBO: Profile for developers in P systems (incl. tasks)
I too have checked and i did not come across the profiles nor objects S_CTS_IMPALL and S_CTS_IMPSGL .
Where did u get the message that they have to be imported ?
Hope it helps.
Award points for the replies that are helpful to you.
Rgds,
Sri -
Apply ALV variant before export file in background task
Hi all,
I'm working on an ALV report.
As my report should deal with a great amount of data, it's sometimes running in background.
Users want the result to be sent by mail (in .CSV format so that they can use it in excel).
For now, the sending is OK but the file contains all fields of the internal table (no specific filter, no sort...).
How can i apply ALV variant (i.e keeping some of the fields, filter the list an so on) to the internal table before i build the file ?
ThanksSalut Jérôme,
un vieux (très vieux) code que j'avais fait.
le but était d'envoyer par email le résultat d'un ALV grid.
il t'en manque une partie, mais le principal est dedans
* Procédure P_GEN_HTML. *
* Génération d'un email en HTML. *
form p_gen_html.
data : struct_zgre000_s2 type zgre000_s2 ,
v_es_layout type lvc_s_layo ,
v_e_var_save(1) ,
v_e_var_def(1) ,
m_calculate_totals(1) value 'X' ,
itab_mt_data type lvc_t_data ,
itab_mt_info type lvc_t_info ,
itab_mt_sort type lvc_t_sort ,
itab_mt_filter type lvc_t_filt ,
itab_mt_filter_i type lvc_t_fidx ,
itab_html type swl_html_t ,
m_cl_variant type ref to cl_alv_variant ,
mt_outtab type ref to data ,
object_hd_change like sood1 occurs 0 with header line,
objpara like selc occurs 0 with header line,
receivers like zbc_receivers occurs 0 with header line ,
ms_total_options type lvc_s_toto,
mt_grouplevels_filter type lvc_t_grpl ,
m_sumlevel type i ,
itab_lt_grouplevels type kkblo_t_grouplevels ,
itab_lt_sort type kkblo_t_sortinfo.
field-symbols: <lt_ct00> type standard table,
<lt_ct01> type standard table,
<lt_ct02> type standard table,
<lt_ct03> type standard table,
<lt_ct04> type standard table,
<lt_ct05> type standard table,
<lt_ct06> type standard table,
<lt_ct07> type standard table,
<lt_ct08> type standard table,
<lt_ct09> type standard table.
* Ref the field-symbols.
data mt_ct00 type ref to data .
data mt_ct01 type ref to data .
data mt_ct02 type ref to data .
data mt_ct03 type ref to data .
data mt_ct04 type ref to data .
data mt_ct05 type ref to data .
data mt_ct06 type ref to data .
data mt_ct07 type ref to data .
data mt_ct08 type ref to data .
data mt_ct09 type ref to data .
v_gjahr1 = p_gjahr + 1.
v_gjahr2 = p_gjahr + 2.
v_gjahr3 = p_gjahr + 3.
* Alimente la table ITAB_ZGRE000_S2.
loop at itab_otp_grid.
move : itab_otp_grid-astnr to struct_zgre000_s2-zdemandeur ,
itab_otp_grid-astna to struct_zgre000_s2-zdemandeurt ,
itab_otp_grid-pspn to struct_zgre000_s2-zprojet ,
itab_otp_grid-pspn2 to struct_zgre000_s2-zotp ,
itab_otp_grid-post1 to struct_zgre000_s2-zdesotp ,
itab_otp_grid-pspnr to struct_zgre000_s2-zotp2 ,
itab_otp_grid-stat to struct_zgre000_s2-zstatut ,
itab_otp_grid-usr02 to struct_zgre000_s2-zoneutil ,
itab_otp_grid-budgt to struct_zgre000_s2-zbudgettotal ,
itab_otp_grid-engag to struct_zgre000_s2-zengagtotal ,
itab_otp_grid-dispo to struct_zgre000_s2-zdispototal ,
itab_otp_grid-depen to struct_zgre000_s2-zdepentotal ,
itab_otp_grid-budgn to struct_zgre000_s2-zbudget ,
itab_otp_grid-le to struct_zgre000_s2-zlatest ,
itab_otp_grid-depea to struct_zgre000_s2-zdepense ,
itab_otp_grid-pourc to struct_zgre000_s2-zpourcen ,
itab_otp_grid-budg1 to struct_zgre000_s2-zbudget1 ,
itab_otp_grid-budg2 to struct_zgre000_s2-zbudget2 ,
itab_otp_grid-budg3 to struct_zgre000_s2-zbudget3 ,
itab_otp_grid-natur to struct_zgre000_s2-znature.
append struct_zgre000_s2 to itab_zgre000_s2.
endloop.
refresh itab_fieldcatalog.
* Alimentation de la table ITAB_FIELDCATALOG.
call function 'LVC_FIELDCATALOG_MERGE'
exporting
i_structure_name = 'ZGRE000_S2'
i_bypassing_buffer = ' '
i_buffer_active = ' '
changing
ct_fieldcat = itab_fieldcatalog.
* Les modifications des colonnes.
loop at itab_fieldcatalog into tmp_fieldcatalog.
case tmp_fieldcatalog-fieldname.
when 'ZDEMANDEUR'.
move : ' ' to tmp_fieldcatalog-do_sum ,
'Demandeur' to tmp_fieldcatalog-scrtext_s ,
'Demandeur' to tmp_fieldcatalog-scrtext_m ,
'Demandeur' to tmp_fieldcatalog-scrtext_l ,
v_zero to tmp_fieldcatalog-no_zero ,
'10' to tmp_fieldcatalog-outputlen .
when 'ZDEMANDEURT'.
move : ' ' to tmp_fieldcatalog-do_sum ,
'Demandeur' to tmp_fieldcatalog-scrtext_s ,
'Demandeur' to tmp_fieldcatalog-scrtext_m ,
'Demandeur' to tmp_fieldcatalog-scrtext_l ,
v_zero to tmp_fieldcatalog-no_zero ,
'30' to tmp_fieldcatalog-outputlen .
when 'ZPROJET'.
move : ' ' to tmp_fieldcatalog-do_sum ,
'Projet' to tmp_fieldcatalog-scrtext_s ,
'Projet' to tmp_fieldcatalog-scrtext_m ,
'Projet' to tmp_fieldcatalog-scrtext_l ,
v_zero to tmp_fieldcatalog-no_zero ,
'10' to tmp_fieldcatalog-outputlen .
when 'ZOTP'.
move : ' ' to tmp_fieldcatalog-do_sum ,
'OTP' to tmp_fieldcatalog-scrtext_s ,
'OTP' to tmp_fieldcatalog-scrtext_m ,
'OTP' to tmp_fieldcatalog-scrtext_l ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
when 'ZDESOTP'.
move : ' ' to tmp_fieldcatalog-do_sum ,
'Libellé OTP' to tmp_fieldcatalog-scrtext_s ,
'Libellé OTP' to tmp_fieldcatalog-scrtext_m ,
'Libellé OTP' to tmp_fieldcatalog-scrtext_l ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
when 'ZOTP2'.
move : ' ' to tmp_fieldcatalog-do_sum ,
'OTP niveau 2' to tmp_fieldcatalog-scrtext_s ,
'OTP niveau 2' to tmp_fieldcatalog-scrtext_m ,
'OTP niveau 2' to tmp_fieldcatalog-scrtext_l ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
when 'ZSTATUT'.
move : ' ' to tmp_fieldcatalog-do_sum ,
'Statut' to tmp_fieldcatalog-scrtext_s ,
'Statut' to tmp_fieldcatalog-scrtext_m ,
'Statut' to tmp_fieldcatalog-scrtext_l ,
v_zero to tmp_fieldcatalog-no_zero ,
'10' to tmp_fieldcatalog-outputlen .
when 'ZONEUTIL'.
move : ' ' to tmp_fieldcatalog-do_sum ,
'Zone util' to tmp_fieldcatalog-scrtext_s ,
'Zone util' to tmp_fieldcatalog-scrtext_m ,
'Zone util' to tmp_fieldcatalog-scrtext_l ,
v_zero to tmp_fieldcatalog-no_zero ,
'10' to tmp_fieldcatalog-outputlen .
when 'ZNATURE'.
move : ' ' to tmp_fieldcatalog-do_sum ,
'Nature' to tmp_fieldcatalog-scrtext_s ,
'Nature' to tmp_fieldcatalog-scrtext_m ,
'Nature' to tmp_fieldcatalog-scrtext_l ,
v_zero to tmp_fieldcatalog-no_zero ,
'10' to tmp_fieldcatalog-outputlen .
when 'ZBUDGETTOTAL'.
move : 'X' to tmp_fieldcatalog-do_sum ,
'Bud. total' to tmp_fieldcatalog-scrtext_s ,
'Budget total' to tmp_fieldcatalog-scrtext_l ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
when 'ZENGAGTOTAL'.
move : 'X' to tmp_fieldcatalog-do_sum ,
'Eng. total' to tmp_fieldcatalog-scrtext_s ,
'Engagement total' to tmp_fieldcatalog-scrtext_l ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
when 'ZDISPOTOTAL'.
move : 'X' to tmp_fieldcatalog-do_sum ,
'Disp total' to tmp_fieldcatalog-scrtext_s ,
'Disponible total' to tmp_fieldcatalog-scrtext_l ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
when 'ZDEPENTOTAL'.
move : 'X' to tmp_fieldcatalog-do_sum ,
'Dep. total' to tmp_fieldcatalog-scrtext_s ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
concatenate 'Depenses totales'
p_perio
p_gjahr
into tmp_fieldcatalog-scrtext_l.
when 'ZBUDGET'.
move : 'X' to tmp_fieldcatalog-do_sum ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
concatenate 'Bud '
p_gjahr
into tmp_fieldcatalog-scrtext_s
separated by ' '.
concatenate 'Budget Exercice:'
p_gjahr
'Version:'
p_vers1
into tmp_fieldcatalog-scrtext_l
separated by ' '.
when 'ZLATEST'.
move : 'X' to tmp_fieldcatalog-do_sum ,
'Latest' to tmp_fieldcatalog-scrtext_s ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
concatenate 'Latest Exercice:'
p_gjahr
'Version:'
p_vers2
into tmp_fieldcatalog-scrtext_l
separated by ' '.
when 'ZDEPENSE'.
move : 'X' to tmp_fieldcatalog-do_sum ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
concatenate 'Dep'
p_gjahr
into tmp_fieldcatalog-scrtext_s
separated by ' '.
concatenate 'Depense Exercice:'
p_gjahr
into tmp_fieldcatalog-scrtext_l
separated by ' '.
when 'ZPOURCEN'.
move : ' ' to tmp_fieldcatalog-do_sum ,
'% Dep/LE' to tmp_fieldcatalog-scrtext_s ,
'Pourcentage dépense VS LE'
to tmp_fieldcatalog-scrtext_l ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
when 'ZBUDGET1'.
move : 'X' to tmp_fieldcatalog-do_sum ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
concatenate 'Bud'
v_gjahr1
into tmp_fieldcatalog-scrtext_s
separated by ' '.
concatenate 'Budget Exercice:'
v_gjahr1
into tmp_fieldcatalog-scrtext_l
separated by ' '.
when 'ZBUDGET2'.
move : 'X' to tmp_fieldcatalog-do_sum ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
concatenate 'Bud'
v_gjahr2
into tmp_fieldcatalog-scrtext_s
separated by ' '.
concatenate 'Budget Exercice:'
v_gjahr2
into tmp_fieldcatalog-scrtext_l
separated by ' '.
when 'ZBUDGET3'.
move : 'X' to tmp_fieldcatalog-do_sum ,
v_zero to tmp_fieldcatalog-no_zero ,
'20' to tmp_fieldcatalog-outputlen .
concatenate 'Bud'
v_gjahr3
into tmp_fieldcatalog-scrtext_s
separated by ' '.
concatenate 'Budget Exercice:'
v_gjahr3
into tmp_fieldcatalog-scrtext_l
separated by ' '.
endcase.
move 'X' to tmp_fieldcatalog-tech_comp.
modify itab_fieldcatalog from tmp_fieldcatalog.
endloop.
call function 'WS_DOWNLOAD'
EXPORTING
FILENAME =
'\RNEMS0025BU_girodf1$Desktopit_field.txt'
FILETYPE = 'DAT'
tables
data_tab = itab_fieldcatalog.
data : begin of it_tmp_data occurs 1000 ,
buff(136) ,
zbudgetttotal(20) ,
zengagtotal(20) ,
zdispottotal(20) ,
zdepentotal(20) ,
zbudget(20) ,
zlatest(20) ,
zdepense(20) ,
zpourcen(20) ,
zbudget1(20) ,
zbudget2(20) ,
zbudget3(20) ,
waers(5) ,
end of it_tmp_data.
break girodf1.
loop at itab_zgre000_s2 into struct_zgre000_s2.
move struct_zgre000_s2+0(136) to it_tmp_data-buff .
move-corresponding struct_zgre000_s2 to it_tmp_data.
append it_tmp_data.
endloop.
call function 'DOWNLOAD'
EXPORTING
* BIN_FILESIZE = ' '
* CODEPAGE = ' '
FILENAME =
'\RNEMS0025BU_girodf1$Desktopit_data.txt'
FILETYPE = 'DAT'
* ITEM = ' '
* MODE = ' '
* WK1_N_FORMAT = ' '
* WK1_N_SIZE = ' '
* WK1_T_FORMAT = ' '
* WK1_T_SIZE = ' '
* FILEMASK_MASK = ' '
* FILEMASK_TEXT = ' '
* FILETYPE_NO_CHANGE = ' '
* FILEMASK_ALL = ' '
* FILETYPE_NO_SHOW = ' '
SILENT = 'S'
* COL_SELECT = ' '
* COL_SELECTMASK = ' '
* NO_AUTH_CHECK = ' '
* IMPORTING
* ACT_FILENAME =
* ACT_FILETYPE =
* FILESIZE =
* CANCEL =
tables
data_tab = it_tmp_data.
* call function 'DOWNLOAD'
* EXPORTING
* FILENAME =
*'\RNEMS0025BU_girodf1$Desktopit_data.txt'
* FILETYPE = 'ASC'
* tables
* data_tab = itab_zgre000_s2.
* Complete.
call function 'LVC_FIELDCATALOG_MERGE'
exporting
i_structure_name = 'ZGRE000_S2'
i_bypassing_buffer = ' '
i_buffer_active = ' '
changing
ct_fieldcat = itab_fieldcatalog.
call function 'LVC_FIELDCAT_COMPLETE'
EXPORTING
* I_COMPLETE =
IS_LAYOUT = v_es_layout
I_REFRESH_BUFFER = ''
I_BUFFER_ACTIVE = ''
* IMPORTING
* E_EDIT =
changing
ct_fieldcat = itab_fieldcatalog.
call function 'LVC_SORT_COMPLETE'
exporting
it_fieldcat = itab_fieldcatalog
changing
ct_sort = itab_mt_sort.
call function 'ALV_DATA_EXPORT'
exporting
i_report = ''
IT_FIELDCAT = itab_fieldcatalog
tables
it_data = itab_zgre000_s2.
* Recherche de la variante d'affichage.
move : sy-repid to struct_variant-report ,
sy-uname to struct_variant-username ,
'2' to struct_variant-handle.
if p_vgrid ne space.
move p_vgrid to struct_variant-variant.
endif.
* Ne pas demander d'explication, merci :)
get reference of itab_zgre000_s2 into mt_outtab.
* Créé l'objet variant.
create object m_cl_variant
exporting
it_outtab = mt_outtab
it_fieldcatalog = itab_fieldcatalog
it_sort = itab_mt_sort
it_filter = itab_mt_filter
is_variant = struct_variant
is_layout = v_es_layout
i_variant_save = v_e_var_save
i_variant_default = v_e_var_def.
move : 'A' to v_e_var_save ,
'X' to v_e_var_def .
call method m_cl_variant->set_values
exporting it_outtab = mt_outtab
it_fieldcatalog = itab_fieldcatalog
it_sort = itab_mt_sort
it_filter = itab_mt_filter
is_variant = struct_variant
is_layout = v_es_layout
i_variant_save = v_e_var_save
i_variant_default = v_e_var_def.
loop at itab_fieldcatalog into tmp_fieldcatalog
where tabname ne space.
exit.
endloop.
* Recherche de la variante.
call method m_cl_variant->load_variant
exporting i_tabname = tmp_fieldcatalog-tabname
i_bypassing_buffer = 'X'
i_dialog = space.
create data mt_ct00 like itab_zgre000_s2.
create data mt_ct01 like itab_zgre000_s2.
create data mt_ct02 like itab_zgre000_s2.
create data mt_ct03 like itab_zgre000_s2.
create data mt_ct04 like itab_zgre000_s2.
create data mt_ct05 like itab_zgre000_s2.
create data mt_ct06 like itab_zgre000_s2.
create data mt_ct07 like itab_zgre000_s2.
create data mt_ct08 like itab_zgre000_s2.
create data mt_ct09 like itab_zgre000_s2.
assign mt_ct00->* to <lt_ct00>.
assign mt_ct01->* to <lt_ct01>.
assign mt_ct02->* to <lt_ct02>.
assign mt_ct03->* to <lt_ct03>.
assign mt_ct04->* to <lt_ct04>.
assign mt_ct05->* to <lt_ct05>.
assign mt_ct06->* to <lt_ct06>.
assign mt_ct07->* to <lt_ct07>.
assign mt_ct08->* to <lt_ct08>.
assign mt_ct09->* to <lt_ct09>.
* Recherche des valeurs à partir de la variante sélectionnée.
call method m_cl_variant->get_values
importing es_variant = struct_variant
et_fieldcatalog = itab_fieldcatalog
et_sort = itab_mt_sort
et_filter = itab_mt_filter
es_layout = v_es_layout
et_grouplevels_filter = mt_grouplevels_filter
e_variant_save = v_e_var_save
e_variant_default = v_e_var_def.
call function 'LVC_SORT_APPLY'
exporting
it_sort = itab_mt_sort
* I_AS_TEXT = 'X'
* I_STABLE = 'X'
tables
ct_data = itab_zgre000_s2.
call function 'LVC_TRANSFER_TO_KKBLO'
exporting
it_sort_lvc = itab_mt_sort
it_grouplevels_lvc = mt_grouplevels_filter
importing
et_sort_kkblo = itab_lt_sort
et_grouplevels_kkblo = itab_lt_grouplevels
exceptions
it_data_missing = 1
it_fieldcat_lvc_missing = 2
others = 3.
call function 'ALV_GROUPLEVELS_GET'
exporting
i_subtotals_only = 'X'
it_sort = itab_lt_sort
i_subtract_counter = 'X'
importing
et_groups = itab_lt_grouplevels
tables
t_outtab = itab_zgre000_s2.
call function 'LVC_TRANSFER_FROM_KKBLO'
exporting
it_grouplevels_kkblo = itab_lt_grouplevels
importing
et_grouplevels_lvc = mt_grouplevels_filter
exceptions
it_data_missing = 1
others = 2.
* Recupération des totaux.
call function 'LVC_TOTALS_GET'
exporting
it_sort = itab_mt_sort
is_layout = v_es_layout
it_filter_index = itab_mt_filter_i
tables
it_data = itab_zgre000_s2
et_collect00 = <lt_ct00>
et_collect01 = <lt_ct01>
et_collect02 = <lt_ct02>
et_collect03 = <lt_ct03>
et_collect04 = <lt_ct04>
et_collect05 = <lt_ct05>
et_collect06 = <lt_ct06>
et_collect07 = <lt_ct07>
et_collect08 = <lt_ct08>
et_collect09 = <lt_ct09>
changing
cs_total_options = ms_total_options
* ct_fieldcat = mt_fieldcatalog
ct_fieldcat = itab_fieldcatalog
ct_grouplevels = mt_grouplevels_filter
c_calculate_totals = m_calculate_totals
c_sumlevel = m_sumlevel .
* Converti dans un language comprehensible par SAP.
call function 'LVC_TABLE_FOR_DISPLAY'
exporting
it_fieldcat = itab_fieldcatalog
it_sort = itab_mt_sort
it_filter = itab_mt_filter
is_total_options = ms_total_options
is_layout = v_es_layout
importing
et_lvc_data = itab_mt_data
et_lvc_info = itab_mt_info
tables
it_data = itab_zgre000_s2
it_collect00 = <lt_ct00>
it_collect01 = <lt_ct01>
it_collect02 = <lt_ct02>
it_collect03 = <lt_ct03>
it_collect04 = <lt_ct04>
it_collect05 = <lt_ct05>
it_collect06 = <lt_ct06>
it_collect07 = <lt_ct07>
it_collect08 = <lt_ct08>
it_collect09 = <lt_ct09>
changing
ct_grouplevels = mt_grouplevels_filter
exceptions
fieldcat_not_complete = 1
others = 2.
if sy-subrc ne space.
write : /1 'Probleme de convertion.'.
stop.
endif.
* Convertie en HTML.
call function 'LVC_ALV_CONVERT_TO_HTML'
exporting
it_data = itab_mt_data
it_info = itab_mt_info
i_file_dialog = ' '
importing
et_html = itab_html.
* Envois par email.
move : 'HTM' to object_hd_change-file_ext ,
'Liste des commandes passées sur Immobilisation via PM'
to object_hd_change-objdes.
append object_hd_change.
call function 'WS_DOWNLOAD'
EXPORTING
FILENAME =
'\RNEMS0025BU_girodf1$Desktopmt_data.txt'
FILETYPE = 'DAT'
tables
data_tab = itab_mt_data.
call function 'WS_DOWNLOAD'
EXPORTING
FILENAME =
'\RNEMS0025BU_girodf1$Desktopmt_info.txt'
FILETYPE = 'DAT'
tables
data_tab = itab_mt_info.
data : it_var type table of disvariant with header line.
move-corresponding struct_variant to it_var.
append it_var.
call function 'WS_DOWNLOAD'
EXPORTING
FILENAME =
'\RNEMS0025BU_girodf1$Desktopit_var.txt'
FILETYPE = 'DAT'
tables
data_tab = it_var.
*stop.
* Liste des personnes à qui on envoye le email.
select bname
into receivers-uname
from usr02
where bname in s_uname.
append receivers.
endselect.
* Send mail.
call function 'Z_BC_ENVOI_EMAIL'
exporting
object_hd_change = object_hd_change
object_type = 'RAW'
owner = sy-uname
tables
objcont = itab_html
receivers = receivers
exceptions
others = 01.
endform. " P_GEN_HTML. -
ALV Variant Table and Hiding Variants
Hi
Where can I find the table where all ALV variants are stored?
I tried to run a Trace and it brought back LTCX table but there doesn't seem to be any entries in this table?
Also is there a way I can hide variants based on transaction code?check this LTDX,TVARV,VARIS and fm RS_VARIANT_CONTENTS
table VARID shows information about variant creation and date
VARIT shows the variant description and the language used -
Content administration authorization
Hi Gurus,
Can any body tell how to give only content administration authorization to user
i have created one role and i have assigned the work set contentent administration to that role, and given the end user permissions to user and assignd the role to user
still i am getting exception Access denied
can any body please help me on this
thanks and Regards,
KishoreHi,
By default only the super_admin_role is owner for the contents in PCD.
So users having this role can edit the contents in PCD.
If you assigned any user only Content administration role, he now has no permissions to edit. So login with some user who has super_admin_role and assign your new user permissions where he is allowed to edit in PCD.
Greetings,
Praveen Gudapati -
Help needed on ALV variant with new GUI screen is created by set PF status
Hi Gurus,
I have created a new GUI screen for ALV grid display thru set pf-status, since i need two buttons on application toolbar.
have been passing parameters to alv_grid_display FM for display-*
i_save = 'A'
is_variant = gwa_variant
I have an ALV variant selection paramter on selection screen.
Please guide me with some pointers on how to implement ALV variant selection thru selection screen.
Many Thanks,
MadanHi,
Search default variant for the report
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = 'A'
CHANGING
cs_variant = i_variant1
EXCEPTIONS
not_found = 2.
If default variant is found , use it as default.
Else , use the variant LAYOUT1.
IF sy-subrc = 0.
p_var = i_variant1-variant.
ELSE.
p_var = 'LAYOUT1'.
ENDIF.
endform. " SUB_VARIANT_INIT
*& Form SUB_CHECK_PVAR
Once the user has entered variant, check about its existence
FORM SUB_CHECK_PVAR.
If the name of the variable is not blank, check about its existence
if not p_var is initial.
clear i_variant.
i_variant-report = sy-repid.
i_variant-variant = p_var.
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
I_SAVE = 'A'
CHANGING
CS_VARIANT = I_VARIANT.
If no such variant found , flash error message
if sy-subrc ne 0 .
message e398(00) with 'No such variant exists'.
else.
If variant exists , use the variant name to populate structure
I_VARIANT1 which will be used for export parameter : IS_VARIANT
in the function module : REUSE_ALV_GRID_DISPLAY
clear i_variant1.
move p_var to i_variant1-variant.
move sy-repid to i_variant1-report.
endif.
else.
clear i_variant.
endif.
ENDFORM. " SUB_CHECK_PVAR
*& Form SUB_VARIANT_F4
Display a list of various variants of the report when the
user presses F4 key in the variant field
form SUB_VARIANT_F4.
i_variant-report = sy-repid.
Utilising the name of the report , this function module will
search for a list of variants and will fetch the selected one into
the parameter field for variants
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
IS_VARIANT = I_VARIANT
I_SAVE = 'A'
I_DISPLAY_VIA_GRID = 'X'
IMPORTING
ES_VARIANT = I_VARIANT1
EXCEPTIONS
NOT_FOUND = 1
PROGRAM_ERROR = 2
OTHERS = 3.
IF SY-SUBRC = 0.
P_VAR = I_VARIANT1-VARIANT.
ENDIF.
endform. " SUB_VARIANT_F4
Thanks
Ashu -
[Not Working] Require Administrator Authorization to: Turn Wi-fi on or off
I have recently needed to turn off and on my MacBook's Wi-fi several times over a period of a couple of days now. I am noticing that I do not get prompted for my system password even though the setting is ticked to require administrator authorization on this action.
sTrAngE... WOe is aPPLe..That's pretty darn funny bud. I didn't know people from "primary school" pride themselves by answering questions on an Apple forum.
As for the issue with the phones: I'm sure Apple will fix this problem of theirs. A company as large scale as Assle cannot tell their users that they're on their own when a mass number of them all at once experience the same problem. By chance, everyone happens to have the same technical problem after updated to IOS 6+.
I've had nothing but problems with IOS 6. I choose chose Apple over Android forever due to the nice fact that they rarely crashed. Now, every app I have (including their fu**ing propriatary bull) crashes daily).
Hence... iPhone 4s for sale!! Black 16gb. I'LL PAY YOU to take it!
Awesome job losing. Now accept gracefully Mr. Secondary. -
Hello,
In our company several administrator departments are using de administrator workbench. All for their own specific area (e.g. we have different depts. for HR and finance). I'm now trying to make some roles which makes it impossible for one dept. to change or see contents in the info-area of another dept. (e.g. Finance should not be allowed to change or see any HR data).
I thought it should be possible with authorizationobject S_RS_ADMWB. But this object does not have the possibility to enter an info-area.
Does anyone know how to do this?
Is there any documentation on this subject? I have seen a lot of documentation on report-authorization, but nothing about administrator-authorization.
We are using BW7.0 (SP12).
Best regards,
Joost KrukHello,
S_RS_ADMWB alone will not help you to display the object sbjects structures and data in the InfoProviders in the Admin Workbench. In BI you will have to use the reporting authorization to view the data in the infoproviders through the admin workbench.
Please use the below objects in analysis authorizations (rsecadmin) to give display access to the required data
0TCAACTVT = 03
0TCAIPROV = List of InfoProviders the FI team should have access
0TCAVALID = 07/01/2007 to 12/31/9999
Role should have:
S_RS_ADMWM: Activity=03, Workbench Object = InfoArea
S_RS_ICUBE: Activity = 03 => to view the structure of the infoproviders
The combination of the above gives the authorization that you are looking for. InfoArea is just a text, the InfoProviders under it is what should look at to view the data.
Thanks,
Jay -
Hi Guys.
I've a question. I've created a ALV variant in DEV and now I need transport it to QA.
Is it possible ?
regards.
Javier.Check this out.
http://help.sap.com/saphelp_sm32/helpdata/en/bd/839d37664e4d45e10000009b38f8cf/content.htm
All the way to the bottom on this link.
Regards,
RIch Heilman
Message was edited by:
Rich Heilman -
Hi All,
I have an ALV variant for Prog1. Now I want to copy and use the same variant for Prog2. (Prog2 is a copy of Prog1 with some small changes)
How can I do this?
Thanks & Regards,
SaurabhHi
Try to copy the hits of the table LTDX and change the name of the program
Max -
Switching between ALV variants
Hi Experts
Is there any way to switch between the variants of an ALV without using the std dropdown available in alv header.
I have a requirement to navigate to various views depending on the current ALV variant selected by the user in my application.
Thanks and Regards
KarthickHi Experts
Is there any way to switch between the variants of an ALV without using the std dropdown available in alv header.
I have a requirement to navigate to various views depending on the current ALV variant selected by the user in my application.
Thanks and Regards
Karthick -
WD ALV Variant Creation.
Hi All,
I have a ALV View with 'Standard View' Variant. When the end user executes the application from portal, by default it will get executed with 'sap-config-mode=X'(Administrative mode ) to allow them to create Global variants in ALV for all. While creating the Variant, the Assignment dropdown gives only one option 'ALL' to them and it doesn't give 'USER' option. How to get both the dropdown values in the same application.
Ranganathan.Do a where-used list on this function module in SE37 and you will find some examples.
-
Authorization of alv report based on plants
I have created a new alv report for sale order statement.The problem is which can be seen in all plants
irespective of the user.Suppose our company has 5 palnt
Plant 1100 to 1500
The problem is suppose a user he has only rights in a prticular plant but he can see all the palnt sale order details
How can we authorize this particular alv report based on the plantsHello,
My assumption: You have Company Code(T001-BUKRS) in the selection-screen.
Plz check the code snippet below:
DATA:
IT_PLANT TYPE STANDARD TABLE OF WERKS,
WA_PLANT LIKE LINE OF IT_PLANT.
DATA:
IT_R_WERKS TYPE RANGE_T_WERKS_D,
R_WERKS TYPE RANGE_S_WERKS_D.
SELECT BWKEY INTO TABLE IT_PLANT
FROM T001K
WHERE BUKRS = '1000'. "--> Here you have to use your sel. scr. parameter
IF SY-SUBRC = 0.
SORT IT_PLANT BY WERKS.
ENDIF.
LOOP AT IT_PLANT INTO WA_PLANT.
* Check the authority for the plant
AUTHORITY-CHECK OBJECT 'M_MSEG_WMB'
ID 'ACTVT' FIELD '03'
ID 'WERKS' FIELD WA_PLANT-WERKS.
IF SY-SUBRC = 0.
R_WERKS-SIGN = 'I'.
R_WERKS-OPTION = 'EQ'.
R_WERKS-LOW = WA_PLANT-WERKS.
APPEND R_WERKS TO IT_R_WERKS.
CLEAR R_WERKS.
ENDIF.
ENDLOOP.
IF IT_R_WERKS IS NOT INITIAL.
"Select data using the Plants for which user is authorised
ELSE.
"User has no authority to display any Plant data
ENDIF.
Hope this is of some help to you.
BR,
Suhas
Edited by: Suhas Saha on Mar 18, 2009 10:18 AM -
Hi guru,
as I know abt variat that, if I want to save the selection screen fied value..we can save as a variant and after saving we see a button on the app.toolbar and when ever required click on that button...it will fill the same value in the selection screen field.
But there is some function modules I know..we use in the ALV for the variant. What is the use of those function modules. Saving selection screen field value as a variant is not working in the alv report. Is it so? Plz clarify my doubt ..In ALV, we use the variant for saving the o/p layout for different inputs.
We can use the foll function modules..
Reuse_alv_variant_f4
Reuse_alv_variant_existence
Reuse_alv_variant-save,
Reuse_alv_variant_get
W can save the variant and we call the o/p with this variant nale instead of giving the input values...
Reward Points if useful..
Maybe you are looking for
-
Static methods in Transfer Objects
Hi all, I have a doubt about Transfer Object: Is it possible to have a static method (or field) inside a Transfer Object returned from a Session Bean to a Client ? Many thanks in advance, Moreno
-
I want to have the jingle in the new ads as my ringtone?
How do I do this or is it availinle to buy ? Thanks
-
Property node to check if running as executable
I want my Vi to automatically know if it is being run as an executable or as a VI so that I don't have to keep redirecting my reference path whenever I go back and forth between building a *.exe and running the VI Is there a property node that
-
Photoshop Elements 11: which manual to buy to learn the software?
I would like to purchase a manual for Photoshop Elements 11 and teach myself how to use this program for my job...What manual do I purchase?
-
Action to Straighten RAW Images
I photograph groups of dancers during their recitals a couple times a year and end up with around 5-6,000 photos by the time I'm all finished. They are all stage photos so cropping one only takes about 4 or 5 seconds, but there are a ton of them and