How to add a button on ALV in webdynrpro ABAP ?
Hi Friends,
i have come across one scenario in my project.
we use SALV_WD_TABLE class to generate ALV component in Webdynrpro and it contains two
defalut buttons ' PRINT VERSION ' & ' EXPORT '.
i have copied SALV_WD_TABLE into ZSALV_WD_TABLE.
my question is how to add button ( Button has to come after 'EXPORT' ) on this copied one ZSALV_WD_TABLE and which method we need to write the code to get button ? so that , instead of using SALV_WD_TABLE i can use ZSALV_WD_TABLE which has 3 buttons .
Thanks in Advance.....
Regards,
L.Aditya
Hi,
in my opinion it's not necessary to copy the component to add buttons.
Have a look at this:
http://help.sap.com/saphelp_nwpi71/helpdata/de/99/d5b72310094a138d65c0ecbcf67733/frameset.htm
Regards
Similar Messages
-
How to add push button in alv display with out class or method
Hai,
How to add push buttons in out put screen of ALV (tool bar) with out using classes or methods .I want to know using normal ALV .
Thanks in advance .
kiranYou should post your question in the ABAP forum.
ABAP Development -
How to add push button in alv list
Dear all,
I am doing ALV report, in that i have some requirements as mentioned below
6. In the main report screen, each row should have a selection button at the left end. The entire row should be selectable by clicking on this button. By clicking on the button a second time the row gets deselected. The user should be able to select only one row at a time (i.e. he should not be able to select multiple rows simultaneously).
7. All Report screens should have standard SAP Navigation buttons.
8. The main Report Screen should have a Refresh Button. When the user clicks on this Refresh button the program should remember and re-execute (i.e. refresh) the last selection of the user in the Selection Screen above and the Main Report Screen should be re-displayed accordingly.
pleae help on me,
Regards ,
Sudhakar.hi
good
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907
http://www.sap-img.com/abap/what-are-the-events-in-alv.htm
reward point if helpful.
thanks
mrutyun^ -
How to add push buttons in out put screen of ALV
Hai,
How to add push buttons in out put screen of ALV (tool bar) with out using classes or methods .I want to know using normal ALV .
Thanks in advance .
kiranHi Kiran,
Here is the sample code.If you are using reuse_alv_grid_display, no need to write code in PBO.
Just double click the 'TEST' which is written in code.Then create a GUI Status.In Application toolbar,type the name of the button you want(say BUTTON).Then double click that name.Then enter the ICON name and function text.Activate it.This itself will work.If you want all the functionalities,then try to do as Vinod told.
TYPE-POOLS: slis.
DATA: i_qmel LIKE qmel OCCURS 0.
data v_repid type repid.
SELECT * FROM qmel INTO TABLE i_qmel.
v_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = v_repid
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
i_structure_name = 'QMEL'
TABLES
t_outtab = i_qmel
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
form set_pf_status using rt_extab type slis_t_extab.
set pf-status '<b>TEST</b>'.
endform.
FORM user_command USING ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
data lv_ucomm type sy-ucomm.
lv_ucomm
= sy-ucomm.
CASE lv_ucomm.
WHEN 'BUTTON'. "Double Click line Item
call transaction 'MM01'.
endcase.
endform. -
How to add a button to the grouped data in an AdvancedDataGrid?
Hi,
Can anyone please suggest how to add a button to the grouped data in the AdvancedDataGrid?
I have tried extending the AdvancedDataGridGroupItemRenderer and using it as the groupItemRenderer but its not reflecting.
For the leaf node the itemRenderer property works just fine.
Please help!HI ,
I want to add a push button on the ALV list out put which is comming as a pop up and I want this using classes and methods.
I have got a method IF_SREL_BROWSER_COMMANDS~ADD_BUTTONS from class cl_gos_attachment_list but still I am unable to get any additional button on the output ALV popup.
Please help.
Regards,
Kavya. -
Need to Add a button in ALV Tool Bar
Hi,
I have a requirement where in i need to add a button to a standard ALV report. Its using the class CL_GUI_ALV_GRID. There is a Badi for the report. The Report is co05n and the Badi is WORKORDER_INFOSYSTEM . I am getting the handle of
CL_GUI_ALV_GRID object reference before screen display. Any guidance on how to add new button now to that toolbar?
Any help will be rewarded.
Thank you.
regards,
Deepthi lakshmi.A.Dear Deepthi Lakshmi.A.,
Refer the standard program BCALV_GRID_05 Add a Self-Defined Button to the Toolbar.
PROGRAM BCALV_GRID_05.
Purpose:
~~~~~~~~
Demonstrate the creation of an own toolbar button.
To check program behavior
~~~~~~~~~~~~~~~~~~~~~~~~~
The report shows a list of flights of one airline.
Select one or more lines and press the 'Detail'-Button to popup
a dialog window with related bookings.
Essential steps (Search for '§')
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.Apply steps for event handling for events TOOLBAR and
USER_COMMAND (see example for print events)
2.In event handler method for event TOOLBAR: Append own functions
by using event parameter E_OBJECT.
3.In event handler method for event USER_COMMAND: Query your
function codes defined in step 2 and react accordingly.
4.Call method 'set_toolbar_interactive' to raise event TOOLBAR.
INCLUDE .
Predefine a local class for event handling to allow the
declaration of a reference variable before the class is defined.
CLASS lcl_event_receiver DEFINITION DEFERRED.
DATA: ok_code LIKE sy-ucomm,
gt_sflight TYPE TABLE OF sflight,
gt_sbook TYPE TABLE OF sbook,
g_repid LIKE sy-repid,
g_max type i value 100,
gs_layout TYPE lvc_s_layo,
cont_on_main TYPE scrfname VALUE 'BCALVC_TOOLBAR_D100_C1',
cont_on_dialog TYPE scrfname VALUE 'BCALVC_TOOLBAR_D101_C1',
grid1 TYPE REF TO cl_gui_alv_grid,
grid2 TYPE REF TO cl_gui_alv_grid,
custom_container1 TYPE REF TO cl_gui_custom_container,
custom_container2 TYPE REF TO cl_gui_custom_container,
event_receiver TYPE REF TO lcl_event_receiver.
Set initial dynpro
SET SCREEN 100.
LOCAL CLASSES: Definition
*===============================================================
class lcl_event_receiver: local class to
define and handle own functions.
Definition:
~~~~~~~~~~~
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS:
handle_toolbar
FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING e_object e_interactive,
handle_user_command
FOR EVENT user_command OF cl_gui_alv_grid
IMPORTING e_ucomm.
PRIVATE SECTION.
ENDCLASS.
lcl_event_receiver (Definition)
*===============================================================
LOCAL CLASSES: Implementation
*===============================================================
class lcl_event_receiver (Implementation)
CLASS lcl_event_receiver IMPLEMENTATION.
METHOD handle_toolbar.
§ 2.In event handler method for event TOOLBAR: Append own functions
by using event parameter E_OBJECT.
DATA: ls_toolbar TYPE stb_button.
E_OBJECT of event TOOLBAR is of type REF TO CL_ALV_EVENT_TOOLBAR_SET.
This class has got one attribute, namly MT_TOOLBAR, which
is a table of type TTB_BUTTON. One line of this table is
defined by the Structure STB_BUTTON (see data deklaration above).
A remark to the flag E_INTERACTIVE:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'e_interactive' is set, if this event is raised due to
the call of 'set_toolbar_interactive' by the user.
You can distinguish this way if the event was raised
by yourself or by ALV
(e.g. in method 'refresh_table_display').
An application of this feature is still unknown...
append a separator to normal toolbar
CLEAR ls_toolbar.
MOVE 3 TO ls_toolbar-butn_type.
APPEND ls_toolbar TO e_object->mt_toolbar.
append an icon to show booking table
CLEAR ls_toolbar.
MOVE 'BOOKINGS' TO ls_toolbar-function.
MOVE icon_employee TO ls_toolbar-icon.
MOVE 'Show Bookings'(111) TO ls_toolbar-quickinfo.
MOVE 'Detail'(112) TO ls_toolbar-text.
MOVE ' ' TO ls_toolbar-disabled.
APPEND ls_toolbar TO e_object->mt_toolbar.
ENDMETHOD.
METHOD handle_user_command.
§ 3.In event handler method for event USER_COMMAND: Query your
function codes defined in step 2 and react accordingly.
DATA: lt_rows TYPE lvc_t_row.
CASE e_ucomm.
WHEN 'BOOKINGS'.
CALL METHOD grid1->get_selected_rows
IMPORTING et_index_rows = lt_rows.
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc ne 0.
add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'Error in Flush'(500).
else.
perform show_booking_table tables lt_rows.
ENDIF.
ENDCASE.
ENDMETHOD. "handle_user_command
ENDCLASS.
lcl_event_receiver (Implementation)
*===================================================================
FORM EXIT_PROGRAM *
FORM exit_program.
The instance grid2 is freed not until the program exits from the
main screen.
(It is created only once during the first selection of SBOOK,
no matter how many times the second window is called).
CALL METHOD custom_container1->free.
IF not custom_container2 is initial.
CALL METHOD custom_container2->free.
ENDIF.
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc ne 0.
add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'Error in Flush'(500).
ENDIF.
LEAVE PROGRAM.
ENDFORM.
*& Module PBO_100 OUTPUT
text
MODULE pbo_100 OUTPUT.
SET PF-STATUS 'MAIN100'.
SET TITLEBAR 'MAIN100'.
g_repid = sy-repid.
IF custom_container1 is initial.
select data from table SFLIGHT
PERFORM select_table_sflight CHANGING gt_sflight.
create a custom container control for our ALV Control
CREATE OBJECT custom_container1
EXPORTING
container_name = cont_on_main
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
IF sy-subrc ne 0.
add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'The control could not be created'(510).
ENDIF.
create an instance of alv control
CREATE OBJECT grid1
EXPORTING i_parent = custom_container1.
Set a titlebar for the grid control
gs_layout-grid_title = 'Flights'(100).
allow to select multiple lines
gs_layout-sel_mode = 'A'.
CALL METHOD grid1->set_table_for_first_display
EXPORTING i_structure_name = 'SFLIGHT'
is_layout = gs_layout
CHANGING it_outtab = gt_sflight.
->Create Object to receive events and link them to handler methods.
When the ALV Control raises the event for the specified instance
the corresponding method is automatically called.
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_user_command FOR grid1.
SET HANDLER event_receiver->handle_toolbar FOR grid1.
§ 4.Call method 'set_toolbar_interactive' to raise event TOOLBAR.
CALL METHOD grid1->set_toolbar_interactive.
ENDIF. "IF grid1 IS INITIAL
CALL METHOD cl_gui_control=>set_focus EXPORTING control = grid1.
ENDMODULE. " PBO_100 OUTPUT
*& Module PAI_100 INPUT
text
MODULE pai_100 INPUT.
CASE ok_code.
WHEN 'EXIT'.
PERFORM exit_program.
ENDCASE.
CLEAR ok_code.
ENDMODULE. " PAI_100 INPUT
*& Module PBO_0101 OUTPUT
text
MODULE pbo_0101 OUTPUT.
IF custom_container2 is initial.
(the data from sbook is already selected)
create a custom container control for our ALV Control
CREATE OBJECT custom_container2
EXPORTING
container_name = cont_on_dialog
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
IF sy-subrc ne 0.
add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'The control could not be created'(510).
ENDIF.
create an instance of alv control
CREATE OBJECT grid2
EXPORTING i_parent = custom_container2.
change title
gs_layout-grid_title = 'Bookings'(101).
gs_layout-sel_mode = ' '.
CALL METHOD grid2->set_table_for_first_display
EXPORTING i_structure_name = 'SBOOK'
is_layout = gs_layout
CHANGING it_outtab = gt_sbook.
ELSE.
CALL METHOD grid2->refresh_table_display.
ENDIF. "IF custom_container2 IS INITIAL.
CALL METHOD cl_gui_control=>set_focus EXPORTING control = grid2.
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc ne 0.
add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'Error in Flush'(500).
ENDIF.
ENDMODULE. " PBO_0101 OUTPUT
*& Form SELECT_TABLE_SFLIGHT
text
<--P_GT_SFLIGHT text
FORM select_table_sflight CHANGING p_gt_sflight LIKE gt_sflight[].
SELECT * FROM sflight INTO TABLE p_gt_sflight up to g_max rows.
ENDFORM. " SELECT_TABLE_SFLIGHT
*& Form SELECT_TABLE_SBOOK
text
-->P_LS_SFLIGHT text
<--P_GT_SBOOK text
FORM select_table_sbook USING p_ls_sflight LIKE LINE OF gt_sflight
CHANGING p_gt_sbook LIKE gt_sbook[].
DATA: lt_sbook LIKE gt_sbook[].
Select data from sbook according to a line of sflight
and append that data to table p_gt_sbook
SELECT * FROM sbook INTO TABLE lt_sbook
WHERE carrid = p_ls_sflight-carrid
AND connid = p_ls_sflight-connid
AND fldate = p_ls_sflight-fldate.
APPEND LINES OF lt_sbook TO p_gt_sbook.
ENDFORM. " SELECT_TABLE_SBOOK
*& Module PAI_0101 INPUT
text
MODULE pai_0101 INPUT.
CASE ok_code.
WHEN 'RETURN'.
LEAVE TO SCREEN 0.
ENDCASE.
CLEAR ok_code.
ENDMODULE. " PAI_0101 INPUT
*& Form show_booking_table
text
-->P_ET_INDEX_ROWS text
FORM show_booking_table TABLES p_et_index_rows
STRUCTURE lvc_s_row.
DATA: ls_selected_line LIKE lvc_s_row,
lf_row_index TYPE lvc_index,
ls_sflight LIKE LINE OF gt_sflight.
CLEAR gt_sbook[].
LOOP AT p_et_index_rows INTO ls_selected_line.
lf_row_index = ls_selected_line-index.
read selected row from internal table gt_sflight
READ TABLE gt_sflight INDEX lf_row_index INTO ls_sflight.
select corresponding lines of table sbook
and append new lines to global table
PERFORM select_table_sbook USING ls_sflight
CHANGING gt_sbook.
ENDLOOP.
call dialog screen and display new alv control
CALL SCREEN 101 STARTING AT 10 5.
ENDFORM. " show_booking_table
Regards,
Naveen. -
Hello
I would like to track the code of add row button in alv grid. When user cliks add row in avl toolbar what is the code? Is there some PAI module calls in that moment ? I found something about slis_selfield and something like mc_fc_loc_insert_row. I have tried write a code:
data button type ui_func.
button = gr_alvgrid -> mc_fc_loc_insert_row.
After that, in PAI module of screen where alv is, I have tried to read that button. But no results.
Frankly speaking I don't know how to use that all. Can anybody tell me how.
I will be gratefully.Hi Sri,
I think there is no standard way for this.
Maybe with java script.
Actually the users do not need to save data before they get the additional lines, A refresh is enough.
So maybe you should just define a button calling the refresh command and just name the button different.
regards
Cornelia -
How to add multiple button/choices in button choice
HI all ,
How to add multiple button/choices in button choice ?Initialize a cluster array (CrsrList type) with as many cursors as you think you would ever need. Setup your cursors dynamically, then delete the unused cursors (array elements) and then update your CursorList property.
Message Edited by vt92 on 03-20-2009 04:04 PM
"There is a God shaped vacuum in the heart of every man which cannot be filled by any created thing, but only by God, the Creator, made known through Jesus." - Blaise Pascal
Attachments:
cursors.PNG 5 KB -
Hello...
This is my code. How to add REFRESH button in this code
package sample.view;
import javax.faces.event.ActionEvent;
public class Student {
public Student() {
super();
private String name;
private String id;
private String course;
public void setName(String name) {
this.name = name;
public String getName() {
return name;
public void setId(String id) {
this.id = id;
public String getId() {
return id;
public void setCourse(String course) {
this.course = course;
public String getCourse() {
return course;
public void dosubmittoActionisterner() {
// Add event code here...
System.out.println(getName() + " " + getId() + " " + getCourse());
public void dorefershActionlistener(ActionEvent actionEvent) {
// Add event code here...Hi,
is this a home work you are working on? Even as a student you should be able to express questions more clearly.
Frank -
How to add linked button in grid?
Hi,
Does anyone know how to add linked button in a grid? I can't find it but i saw someone ask similar question but seems none of them works.
Thanks a lot!
P.S. For some reason, i can't use matrix because the data is from a SQL query.
LanHi,
as far as I know it is not possible, since this adjustment is made for the whole column. I have created a grid and I open the shown document by double clicking the row header. In the grid I can see if it is sales or purchase and so I use a workaround by opening the specific system form (e.g. sales invoice) in find mode and search the document by document number (also shown in the grid).
Sample:
oSBOapp.ActivateMenuItem("2053"); //sales invoice
oForm = oSBOapp.Forms.ActiveForm;
oForm.Mode = SAPbouiCOM.BoFormMode.fm_FIND_MODE;
oEdit = (SAPbouiCOM.EditText)oForm.Items.Item("8").Specific;
oEdit.Value = Convert.ToString(dNum);
oForm.Items.Item("1").Click(SAPbouiCOM.BoCellClickType.ct_Regular);
By the click event, you get the specific row number. Hope it helps...
Regards
Sebastian -
How to add close button in pannel ?
hai friends,
how to add close button in pannel ? give any example.
regards,
welcomecanHi Welcomecan,
You can use the TitleWindow as suggested by Subeesh for having a built in close button...The TitleWindow is infact an extension of the Panel container. TitleWindow is most generally
used for creating PopUp Windows.
Check the below link for examples...
http://blog.flexexamples.com/?s=TitleWindow
Thanks,
Bhasker -
How to Add Print Button in the Online Payslip
Dear Friends,
How to Add Print Button in the Online Payslip (Employee Self Service). Can anyone pls let me know about this ..
with regards
SwpanaHi,
Please review the following documents.
Note: 332402.1 - Can You Mass Print Of Online Payslips?
https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=332402.1
Note: 256072.1 - Payslip V4.0 Print Button Is Missing
https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=256072.1
For details about Deposit Advise and Checkwriter, please refer to:
Note: 459306.1 - XML Checkwriter/Deposit Advice
https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=459306.1
Regards,
Hussein -
How to Add Push Button On Selection Screen
Hi Experts,
How to add Push button on Selection Screen.
Points will b rewarded for useful help.
Bohra.Hi,
To create a pushbutton on the selection screen, you use:
SELECTION SCREEN PUSHBUTTON [/]<pos(len)> <push>
USER-COMMAND <ucom> [MODIF ID <key>].
The [/]<pos(len)> parameters and the MODIF IF addition have the same function as for the formatting options for underlines and comments.
<push> determines the pushbutton text. For <push>, you can specify a text symbol or a field name with a maximum length of eight characters. This character field must not be declared with the DATA statement, but is generated automatically with length <len>. The field must be filled before the selection screen is called.
For <ucom>, you must specify a code of up to four characters. When the user clicks the pushbutton on the selection screen, <ucom> is entered in the UCOMM of the SSCRFIELDS interface work area. You must use the TABLES statement to declare the SSCRFIELDS structure. The contents of the SSCRFIELDS-UCOMM field can be processed during the AT SELECTION-SCREENevent.
Ex.
REPORT DEMO.
TABLES SSCRFIELDS.
DATA FLAG.
SELECTION-SCREEN:
BEGIN OF SCREEN 500 AS WINDOW TITLE TIT,
BEGIN OF LINE,
PUSHBUTTON 2(10) BUT1 USER-COMMAND CLI1,
PUSHBUTTON 12(10) TEXT-020 USER-COMMAND CLI2,
END OF LINE,
BEGIN OF LINE,
PUSHBUTTON 2(10) BUT3 USER-COMMAND CLI3,
PUSHBUTTON 12(10) TEXT-040 USER-COMMAND CLI4,
END OF LINE,
END OF SCREEN 500.
AT SELECTION-SCREEN.
CASE SSCRFIELDS.
WHEN 'CLI1'.
FLAG = '1'.
WHEN 'CLI2'.
FLAG = '2'.
WHEN 'CLI3'.
FLAG = '3'.
WHEN 'CLI4'.
FLAG = '4'.
ENDCASE.
START-OF-SELECTION.
TIT = 'Four Buttons'.
BUT1 = 'Button 1'.
BUT3 = 'Button 3'.
CALL SELECTION-SCREEN 500 STARTING AT 10 10.
CASE FLAG.
WHEN '1'.
WRITE / 'Button 1 was clicked'.
WHEN '2'.
WRITE / 'Button 2 was clicked'.
WHEN '3'.
WRITE / 'Button 3 was clicked'.
WHEN '4'.
WRITE / 'Button 4 was clicked'.
WHEN OTHERS.
WRITE / 'No Button was clicked'.
ENDCASE.
This example defines four pushbuttons on a selection screen that is displayed as a
dialog box. The selection screen is defined in a statement chain for keyword
SELECTION-SCREEN.
If the text symbols TEXT-020 and TEXT-040 are defined as 'Button 2' and 'Button 4',
the four pushbuttons appear as follows on the selection screen displayed as a dialog box.
Regards,
Bhaskar -
How to add push button in application tool bar in SAP transaction VA01
How to add push button in application tool bar in SAP standard transaction VA01 and how to implement the code for that function code.
There is no scope to create a push button in application tool bar. Instead of that we can add in a menu bar.
-
How to add Custom button to existing ALV toolbar
Hi,
I want to add custom buttons for varaints in the existing row PRINT VERSION/EXPORT
How do we do that?
Rgds
VaraI have used the standard component u2018salv_wd_tableu2019 in my application and will be able to give example by adding a button named 'NEW__BUTTON' .
In the WDDOINIT method of the component controller, use the following code to define column name, your own buttons, visible column for the same component usage.
DATA:
lr_salv_wd_table_usage TYPE REF TO if_wd_component_usage,
lr_salv_wd_table TYPE REF TO iwci_salv_wd_table.
*Check ALV component usage
lr_salv_wd_table_usage = wd_this->wd_cpuse_alv( ).
IF lr_salv_wd_table_usage->has_active_component( ) IS INITIAL.
lr_salv_wd_table_usage->create_component( ).
ELSE.
lr_salv_wd_table_usage->delete_component( ).
lr_salv_wd_table_usage->create_component( ).
ENDIF.
*Get ALV component
lr_salv_wd_table = wd_this->wd_cpifc_alv( ).
wd_this->mr_table type ref to CL_SALV_WD_CONFIG_TABLE.
*Get ConfigurationModel from ALV Component
wd_this->mr_table = lr_salv_wd_table->get_model( ).
*Set table settings
DATA:
lr_table_settings TYPE REF TO if_salv_wd_table_settings.
lr_table_settings ?= wd_this->mr_table .
lr_table_settings->set_visible_row_count( '5' ).
lr_table_settings->set_width( '100%' ).
DATA:
lr_header TYPE REF TO cl_salv_wd_header,
l_header_text TYPE string.
lr_header = lr_table_settings->get_header( ).
l_header_text = cl_wd_utilities=>get_otr_text_by_alias( 'NEW__BUTTON' ).
lr_header->set_text( l_header_text ).
lr_header->set_tooltip( l_header_text ).
"lr_table_settings->set_selection_mode( cl_wd_table=>e_selection_mode-multi_no_lead ).
*Set functions
IF wd_this->mb_no_maintain NE abap_true.
DATA:
lr_function TYPE REF TO cl_salv_wd_function,
lr_fe_button TYPE REF TO cl_salv_wd_fe_button,
l_btn_text TYPE string.
*Add the button here for validation on the top of the ALV
*This is where you add the buttons on the same ROW.
lr_function = lr_functions->create_function( 'NEW__BUTTON' ).
CREATE OBJECT lr_fe_button.
l_btn_text = cl_wd_utilities=>get_otr_text_by_alias( 'NEW__BUTTON' ).
lr_fe_button->set_text( l_btn_text ).
lr_fe_button->set_tooltip( l_btn_text ).
lr_function->set_editor( lr_fe_button ).
After defining the buttons 'NEW__BUTTON' , handle the actions for the same using the method u2018LIST_ACTIONu2019 which should have the event as u2018ON_FUNCTIONu2019, controller as u2018interface controlleru2019 and component use as the name you have given say u2018ALVu2019.
In the method u2018LIST_ACTIONu2019, handle the actions as below. This method will have the following importing parameters.
WDEVENT Importing CL_WD_CUSTOM_EVENT
R_PARAM Importing IF_SALV_WD_TABLE_FUNCTION
method list_action .
case r_param->id .
when 'NEW__BUTTON'.
"Do the validation here-"
endcase.
endmethod.
Thanks,
Rajkumar.S
Maybe you are looking for
-
How do I transfer a slideshow from my iMac to my iPad. Can I use icloud or iMovie?
i Created a slideshow with music on my iMac. How can I transfer it to my iPad. Can I use iCloud or IMovie.
-
How to create an iterator for a table?
Hey I know this is a question for begginners- but maybe you could help me Im rtying to go over some table rows with an iterator I know the function "binding.findIteratorBinding(tablenameIterator) but it seems that I should do something more since I g
-
I want to clear my browser search history
I am an old guy who has a new toy (Ipad 4) I need to know how to clear my browser search history whenever i go to google to enter a new search, as soon as I put the first letter in the bar, all that I have searched before pops up. It is anoying an
-
Here's something odd... my blog posts show up stamped with no author information. For example: *Today at 9:42 PM by* <blank> (the word blank doesn't really show up) What makes this even more confusing is that the author stamps DO WORK in the wiki for
-
hi forum i want to find out the paths for different trace files . ie where database trace files get stored, where workprocess trace files get stored?