cancel
Showing results for 
Search instead for 
Did you mean: 

Disable toolbar in SALV_WD_TABLE

0 Kudos

hi,

We are implementing Performance management process based on EHP4.

We are using standard SAP delivered WD ABAP applications.

On the manager's view there is table to show all appraisal form of his sub ordinates. This table is created through SALV_WD_TABLE component,

The problem is that the toolbar of this table allows the manager to create/ delete the appraisal form of the sub ordinates employee and we do not want to have this functionality.

i would like to know how can we disable the toolbar of the table so that manager cannot access any buttons on the toolbar.

Thanks,

Rahul

Accepted Solutions (0)

Answers (3)

Answers (3)

0 Kudos

had raised issue with SAP.

Received inputs from them.

Edited by: Rahul Patel on Jan 20, 2010 2:45 PM

Former Member
0 Kudos

Hi Rahul,

I am facing a similar issue. Could you please help me how to go about it.

Regards

Neha

0 Kudos

hi Saket,

Thanks for your reply.

But when i try to use the code given by you i find that the method "wd_this->wd_cpifc_alv_table( )" does not exist in our case.

As we are using standard ASP delivered components canyou tel me how can i use this method so that the i can resolve my problem.

Thanks,

Rahul

saket_abhyankar
Active Participant
0 Kudos

As I have mentioned in code you need to change the 'alv_table' from 'wd_cpifc_alv_table' by the name of your component usage for SALV_WD_TABLE i.e. the name of component usage you have given in the comp controller or view controller.

You will find this name in the properties tab of the view or component controller.

Regards,

Saket

0 Kudos

hi Saket,

We write this code in wddoinit method of the component controller for the WD component SALV_WD_TABLE using the enhancement feature provided, but we get error message that the method is not recognized and interface IF_COMPONENTCONTROLLER does not have this method.

Thanks,

Rahul

saket_abhyankar
Active Participant
0 Kudos

Hi,

You are writing code in the component controller. I hope you have defined component usage in the component controller. To check if you have defined or not follow the steps:

1) Double click on the component controller

2) Goto properties tab

3) Check if you have defined the usage for component 'SALV_WD_TABLE'.

4) If you have not defined, click on the 'Create Controller Usage' button and double click on 'INTERFACECONTROLLER' row in popup

You will see some name in the 'Component Use' column for component 'SALV_WD_TABLE'

Replace this name in the above code instead of 'alv_table'.

I hope this will work.

Regards,

Saket.

saket_abhyankar
Active Participant
0 Kudos

Try following code in the WDDOINIT method

DATA: l_ref_interfacecontroller TYPE REF TO iwci_salv_wd_table .

l_ref_interfacecontroller = wd_this->wd_cpifc_alv_table( ). " Name of component usage given by you for SALV_WD_TABLE

DATA: l_value TYPE REF TO cl_salv_wd_config_table.

l_value = l_ref_interfacecontroller->get_model( ).

DATA: lr_standard_functions TYPE REF TO if_salv_wd_std_functions.

lr_standard_functions ?= l_value.

lr_standard_functions->set_pdf_allowed( abap_false ).

lr_standard_functions->set_filter_complex_allowed( abap_false ). "* Disable Filter tab from Settings

lr_standard_functions->set_excel_inplace_allowed( abap_false ).

lr_standard_functions->set_export_allowed( abap_false ).

lr_standard_functions->set_dialog_settings_allowed( abap_false ).

lr_standard_functions->set_view_list_allowed( abap_false ).

lr_standard_functions->set_filter_filterline_allowed( abap_false ).

lr_standard_functions->set_edit_append_row_allowed( abap_false ).

lr_standard_functions->set_edit_insert_row_allowed( abap_false ).

lr_standard_functions->set_edit_delete_row_allowed( abap_false ).

You will find all methods to remove standard toolbar in methods of interface if_salv_wd_std_functions. Double click on it to find the methods

Regards,

Saket.