Application Development and Automation 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: 
Read only

ALV Grid

Former Member
0 Likes
582

How to add customized buttons in application toolbar without excluding standard ALV buttons?please reply asap.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
552
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
            I_BACKGROUND_ID         = 'ALV_BACKGROUND'
            I_CALLBACK_PROGRAM      = G_REPID
I_CALLBACK_PF_STATUS_SET   = 'STATUS'
I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'

Go to SE41.

Enter the program as SAPLKKBL , enter the status

'STANDARD' , now click on copy status , it will ask the popup

in that enter target program, which is nothing but your program.

and now copy it and go to change mode and add the functions

what ever you want. and activate it.

FORM STATUS using extab type slis_t_extab.

SET pf-status 'STATNDARD' excluding extab.

ENDFORM.

FORM USER_COMMAND using ucomm type sy-ucomm
                  selfield type slis_selfield.


case ucomm.

when 'NEWCODE'.



endcase.


ENDFORM.

Regards

Vijay

How to add customized buttons in application toolbar without excluding standard ALV buttons?please reply asap.

3 REPLIES 3
Read only

Former Member
0 Likes
552

hiii

refer to following link for button on ALV

regards

twinkal

Read only

Former Member
0 Likes
553
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
            I_BACKGROUND_ID         = 'ALV_BACKGROUND'
            I_CALLBACK_PROGRAM      = G_REPID
I_CALLBACK_PF_STATUS_SET   = 'STATUS'
I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'

Go to SE41.

Enter the program as SAPLKKBL , enter the status

'STANDARD' , now click on copy status , it will ask the popup

in that enter target program, which is nothing but your program.

and now copy it and go to change mode and add the functions

what ever you want. and activate it.

FORM STATUS using extab type slis_t_extab.

SET pf-status 'STATNDARD' excluding extab.

ENDFORM.

FORM USER_COMMAND using ucomm type sy-ucomm
                  selfield type slis_selfield.


case ucomm.

when 'NEWCODE'.



endcase.


ENDFORM.

Regards

Vijay

Read only

Former Member
0 Likes
552

Hi

check out this prog....create PF-status.

&----


*& Report Z_ALV_LIST *

*& *

&----


*& *

*& *

&----


REPORT z_alv_list NO STANDARD PAGE HEADING .

TABLES sflight.

TYPE-POOLS slis.

DATA: BEGIN OF it_flight OCCURS 0,

carrid LIKE sflight-carrid,

connid LIKE sflight-connid,

fldate LIKE sflight-fldate,

price LIKE sflight-price,

currency LIKE sflight-currency,

planetype LIKE sflight-planetype,

cityfrom LIKE spfli-cityfrom,

airpfrom LIKE spfli-airpfrom,

cityto LIKE spfli-cityto,

fltime LIKE spfli-fltime,

deptime LIKE spfli-deptime,

arrtime LIKE spfli-arrtime,

SELK(1),

END OF it_flight.

DATA: s_repid LIKE sy-repid,

st_list_top_of_page TYPE slis_t_listheader.

DATA: st_fieldcat TYPE slis_t_fieldcat_alv,

st_layout TYPE slis_layout_alv,

st_sp_group TYPE slis_t_sp_group_alv,

st_events TYPE slis_t_event,

s_status TYPE slis_formname VALUE 'STANDARD_ST01',

s_user_command TYPE slis_formname VALUE 'USER_COMMAND-ALV'.

CONSTANTS st_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE-ALV'.

  • selection-screen.

SELECTION-SCREEN BEGIN OF BLOCK flight_details WITH FRAME TITLE text-001.

PARAMETERS: p_carrid LIKE sflight-carrid ,

p_connid LIKE sflight-connid .

SELECT-OPTIONS: s_fldate FOR sflight-fldate.

SELECTION-SCREEN END OF BLOCK flight_details.

INITIALIZATION.

s_repid = sy-repid.

PERFORM eventtab_build USING st_events[].

START-OF-SELECTION.

  • CHECK NOT p_carrid IS INITIAL.

  • CHECK NOT p_connid IS INITIAL.

  • CHECK NOT s_fldate-high ge sy-datum.

PERFORM get_data.

END-OF-SELECTION.

PERFORM comment_build USING st_list_top_of_page[].

PERFORM fieldcat_init USING st_fieldcat[].

PERFORM layout_build USING st_layout.

PERFORM reuse_alv_list_display.

&----


*& Form get_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_data .

SELECT sflight~carrid

sflight~connid

sflight~fldate

sflight~price

sflight~currency

sflight~planetype

spfli~cityfrom

spfli~airpfrom

spfli~cityto

spfli~fltime

spfli~deptime

spfli~arrtime INTO TABLE it_flight

FROM sflight INNER JOIN spfli ON

sflightcarrid = spflicarrid AND

sflightconnid = spfliconnid

WHERE sflight~carrid = p_carrid AND

sflight~connid = p_connid AND

fldate IN s_fldate.

ENDFORM. " get_data

FORM standard_st01 using extab TYPE slis_t_extab..

set pf-status 'AMR_19020' excluding extab..

ENDFORM.

&----


*& Form comment_build

&----


  • text

----


  • -->P_ST_LIST_TOP_OF_PAGE[] text

----


FORM comment_build USING p_st_list_top_of_page TYPE slis_t_listheader .

DATA ls_line TYPE slis_listheader.

REFRESH p_st_list_top_of_page.

CLEAR ls_line.

ls_line-typ = 'H'.

ls_line-info = text-003.

APPEND ls_line TO p_st_list_top_of_page.

ENDFORM. " comment_build

&----


*& Form fieldcat_init

&----


  • text

----


  • -->P_ST_FIELDCAT[] text

----


FORM fieldcat_init USING p_st_fieldcat TYPE slis_t_fieldcat_alv.

DATA: ls_fieldcat TYPE slis_fieldcat_alv.

CLEAR ls_fieldcat.

ls_fieldcat-fieldname = 'CARRID'. "Airline Carrier

ls_fieldcat-tabname = 'IT_FLIGHT'.

ls_fieldcat-outputlen = 5.

ls_fieldcat-seltext_m = text-007.

APPEND ls_fieldcat TO p_st_fieldcat.

CLEAR ls_fieldcat.

ls_fieldcat-fieldname = 'CONNID'. "Connection Id

ls_fieldcat-tabname = 'IT_FLIGHT'.

ls_fieldcat-outputlen = 5.

ls_fieldcat-seltext_m = text-008.

APPEND ls_fieldcat TO p_st_fieldcat.

CLEAR ls_fieldcat.

ls_fieldcat-fieldname = 'FLDATE'. "Flight Date

ls_fieldcat-tabname = 'IT_FLIGHT'.

ls_fieldcat-outputlen = 10.

ls_fieldcat-seltext_m = text-009.

APPEND ls_fieldcat TO p_st_fieldcat.

CLEAR ls_fieldcat.

ls_fieldcat-fieldname = 'PRICE'. "Price

ls_fieldcat-ref_tabname = 'IT_FLIGHT'.

ls_fieldcat-outputlen = 10.

ls_fieldcat-seltext_m = text-010.

APPEND ls_fieldcat TO p_st_fieldcat.

CLEAR ls_fieldcat.

ls_fieldcat-fieldname = 'PLANETYPE'. "Plane Type

ls_fieldcat-tabname = 'IT_FLIGHT'.

ls_fieldcat-outputlen = 10.

ls_fieldcat-seltext_m = text-011.

APPEND ls_fieldcat TO p_st_fieldcat.

CLEAR ls_fieldcat.

ls_fieldcat-fieldname = 'CITYFROM'. "City From

ls_fieldcat-tabname = 'IT_FLIGHT'.

ls_fieldcat-outputlen = 15.

ls_fieldcat-seltext_m = text-012.

APPEND ls_fieldcat TO p_st_fieldcat.

CLEAR ls_fieldcat.

ls_fieldcat-fieldname = 'AIRPFROM'. "Airport From

ls_fieldcat-tabname = 'IT_FLIGHT'.

ls_fieldcat-outputlen = 15.

ls_fieldcat-seltext_m = text-021.

ls_fieldcat-no_out = 'X'.

APPEND ls_fieldcat TO p_st_fieldcat.

CLEAR ls_fieldcat.

ls_fieldcat-fieldname = 'CITYTO'. "City To

ls_fieldcat-tabname = 'IT_FLIGHT'.

ls_fieldcat-outputlen = 15.

ls_fieldcat-seltext_m = text-013.

APPEND ls_fieldcat TO p_st_fieldcat.

CLEAR ls_fieldcat.

ls_fieldcat-fieldname = 'FLTIME'. "Flight Time

ls_fieldcat-tabname = 'IT_FLIGHT'.

ls_fieldcat-outputlen = 10.

ls_fieldcat-seltext_m = text-014.

APPEND ls_fieldcat TO p_st_fieldcat.

CLEAR ls_fieldcat.

ls_fieldcat-fieldname = 'DEPTIME'. "Departure Time

ls_fieldcat-tabname = 'IT_FLIGHT'.

ls_fieldcat-outputlen = 10.

ls_fieldcat-seltext_m = text-015.

APPEND ls_fieldcat TO p_st_fieldcat.

CLEAR ls_fieldcat.

ls_fieldcat-fieldname = 'ARRTIME'. "Arrival Time

ls_fieldcat-tabname = 'IT_FLIGHT'.

ls_fieldcat-outputlen = 10.

ls_fieldcat-seltext_m = text-016.

APPEND ls_fieldcat TO p_st_fieldcat.

ENDFORM. " fieldcat_init

&----


*& Form layout_build

&----


  • text

----


  • -->P_ST_LAYOUT text

----


FORM layout_build USING p_st_layout TYPE slis_layout_alv..

p_st_layout-box_fieldname = 'SELK'.

p_st_layout-get_selinfos = 'X'.

p_st_layout-f2code = 'PICK' .

p_st_layout-confirmation_prompt = 'X'.

  • p_st_layout-key_hotspot = 'X'.

  • p_st_layout-info_fieldname = 'COL'.

ENDFORM. " layout_build

&----


*& Form eventtab_build

&----


  • text

----


  • -->P_ST_EVENTS[] text

----


FORM eventtab_build USING p_st_events TYPE slis_t_event.

DATA: ls_event TYPE slis_alv_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = p_st_events.

READ TABLE p_st_events WITH KEY name = slis_ev_top_of_page

INTO ls_event.

IF sy-subrc = 0.

MOVE st_formname_top_of_page TO ls_event-form.

APPEND ls_event TO p_st_events.

ENDIF.

READ TABLE p_st_events WITH KEY name = slis_ev_user_command

INTO ls_event.

IF sy-subrc = 0.

MOVE s_user_command TO ls_event-form.

APPEND ls_event TO p_st_events.

ENDIF.

READ TABLE p_st_events WITH KEY name =

slis_ev_pf_status_set

INTO ls_event.

IF sy-subrc = 0.

MOVE s_status TO ls_event-form.

APPEND ls_event TO p_st_events.

ENDIF.

ENDFORM. " eventtab_build

&----


*& Form top_of_page-alv.

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM top_of_page-alv.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = st_list_top_of_page

i_logo = 'LOGO1'.

endform.

&----


*& Form reuse_alv_list_display

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM reuse_alv_list_display .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_background_id = 'ALV_BACKGROUND'

i_callback_program = s_repid

i_callback_pf_status_set = s_status

i_callback_user_command = s_user_command

is_layout = st_layout

it_fieldcat = st_fieldcat[]

it_special_groups = st_sp_group

  • i_save = s_save

it_events = st_events[]

TABLES

t_outtab = it_flight.

ENDFORM. " reuse_alv_list_display

FORM USER_COMMAND-ALV USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

case r_ucomm.

when 'REFRESH'.

perform get_data.

endcase.

ENDFORM.

create pf-status AMR_19020 and provide custom buttons and activate it.

Edited by: Kuldeep Mane on Jul 22, 2008 3:26 PM