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 clickable???

Former Member
0 Likes
1,527

Hi all..

I have an alv grid to which i have transfered the data from a table. If an element in a column is double clicked,

it should check for the element as to is it a program or a transaction or something else from the next cell in the same row and then go to the relevant transactions like SE38 or SE93 etc... how will i do it??

Pls help..

Santhosh.

Edited by: santhosh kumar on Feb 12, 2008 12:30 PM

2 REPLIES 2
Read only

Former Member
0 Likes
704

Hi,

Check this link

[http://www.sapdev.co.uk/reporting/alv/alvgrid_ucomm.htm]

when u double click/on any user action user_command subroutine is called....

inside that routine write

CASE r_ucomm.
    WHEN '&IC1'.
call transaction 'SE38'.
  ENDCASE.

rs_selfield has the line u clicked on...........

Cheers,

jose.

Read only

Former Member
0 Likes
704

hi

good

check this code

Look at the "PROCESS_USER_COMMANDS" subroutine for interactive bits (ie. drilldown functionality):

This program is an example of how the ALV Display works.

It will display Customer Data.

This report will also show how to display an ALV report with different

colored lines and icons

REPORT zpat.

************************************************************************

Include Programs

************************************************************************

INCLUDE <icon>.

************************************************************************

Database Tables

************************************************************************

TABLES: kna1. "Customer Master

************************************************************************

Types

************************************************************************

TYPE-POOLS: kkblo.

************************************************************************

Structures

************************************************************************

Structure to hold the Color Information

DATA: BEGIN OF st_color,

color(3) TYPE c,

END OF st_color.

Structure to hold the Icon Information

DATA: BEGIN OF st_icon,

icon(4) TYPE c,

END OF st_icon.

ALV Field Catalog Structure

DATA: st_fieldcat TYPE slis_fieldcat_alv.

ALV Layout Structure

DATA: st_layout TYPE slis_layout_alv.

************************************************************************

Internal Tables

************************************************************************

Output Table

DATA: BEGIN OF tbl_kna1 OCCURS 0.

INCLUDE STRUCTURE st_icon. "Icon Structure

INCLUDE STRUCTURE kna1. "Customer Master Structure

INCLUDE STRUCTURE st_color. "Color Structure

DATA: END OF tbl_kna1.

ALV Field Catalog Table

DATA: tbl_fieldcat TYPE slis_t_fieldcat_alv.

************************************************************************

Variables

************************************************************************

DATA: fieldname(30) TYPE c,

g_repid LIKE sy-repid.

************************************************************************

Start of Selection

************************************************************************

START-OF-SELECTION.

g_repid = sy-repid.

PERFORM get_data.

************************************************************************

End of Selection

************************************************************************

END-OF-SELECTION.

PERFORM do_fancy_stuff.

PERFORM get_layout.

PERFORM get_fieldcat.

PERFORM create_report.

&----


*& Form CREATE_REPORT

&----


Learn to read the subroutine name!

-


FORM create_report.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

i_interface_check = ' '

i_callback_program = g_repid

i_callback_user_command = 'PROCESS_USER_COMMANDS'

it_fieldcat = tbl_fieldcat

i_default = 'X'

i_save = ' '

is_layout = st_layout

TABLES

t_outtab = tbl_kna1

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.

ENDFORM. " CREATE_REPORT

&----


*& Form GET_FIELDCAT

&----


Build the Field Catalog

-


FORM get_fieldcat.

Here the field catalog is created. To display more fields simply

'uncomment' the additional lines and add the field name. Also note

that the field catalog is much more powerful than this. You can

intensify fields, change the colour, assign reference fields, etc.

Look at type slis_fieldcat_alv for more options.

PERFORM write_fieldcat USING 'ICON' 'TBL_KNA1' ' ' 'X' 1 '2' 'X'

' '.

PERFORM write_fieldcat USING 'KUNNR' 'TBL_KNA1' 'KNA1' 'X' 2 ' ' ' '

' '.

PERFORM write_fieldcat USING 'NAME1' 'TBL_KNA1' 'KNA1' ' ' 3 '10' ' '

'X'.

PERFORM write_fieldcat USING 'STRAS' 'TBL_KNA1' 'KNA1' ' ' 4 ' ' ' '

' '.

PERFORM write_fieldcat USING 'TELF1' 'TBL_KNA1' 'KNA1' ' ' 5 ' ' ' '

' '.

PERFORM write_fieldcat USING 'ORT01' 'TBL_KNA1' 'KNA1' ' ' 6 ' ' ' '

' '.

PERFORM write_fieldcat USING 'PSTLZ' 'TBL_KNA1' 'KNA1' ' ' 7 ' ' ' '

' '.

PERFORM write_fieldcat USING 'SORTL' 'TBL_KNA1' 'KNA1' ' ' 8 ' ' ' '

' '.

PERFORM write_fieldcat USING 'ERNAM' 'TBL_KNA1' 'KNA1' ' ' 9 ' ' ' '

' '.

PERFORM write_fieldcat USING 'SPRAS' 'TBL_KNA1' 'KNA1' ' ' 10 ' ' ' '

' '.

perform write_fieldcat using ' ' 'TBL_KNA1' 'KNA1' ' ' 10 ' '.

perform write_fieldcat using ' ' 'TBL_KNA1' 'KNA1' ' ' 11 ' '.

perform write_fieldcat using ' ' 'TBL_KNA1' 'KNA1' ' ' 12 ' '.

ENDFORM. " GET_FIELDCAT

&----


*& Form WRITE_FIELDCAT

&----


Write the Field Catalog data to the Field Catalog Table

-


-->name Field name

-->tab Table name

-->st Structure Name

-->key Is this field a Key?

-->pos Position Number

-->length Field Length

-->icon Display as Icon

-->hot Hotspot

-


FORM write_fieldcat USING name tab st key pos length icon hot.

st_fieldcat-fieldname = name.

st_fieldcat-tabname = tab.

st_fieldcat-ref_tabname = st.

st_fieldcat-key = key.

st_fieldcat-col_pos = pos.

st_fieldcat-outputlen = length.

st_fieldcat-icon = icon.

st_fieldcat-hotspot = hot.

APPEND st_fieldcat TO tbl_fieldcat.

CLEAR st_fieldcat.

ENDFORM. " WRITE_FIELDCAT

&----


*& Form PROCESS_USER_COMMANDS

&----


Interactive Reporting Commands

-


FORM process_user_commands USING syst-ucomm LIKE syst-ucomm

selfield TYPE slis_selfield.

This subroutine is called when there is user interaction in the output

In this case if the user double clicks the Customer Number then the

program will call transaction XD03 and display the Customer Master

Data

CASE syst-ucomm.

WHEN '&IC1'.

get cursor field fieldname.

READ TABLE tbl_kna1 INDEX selfield-tabindex.

SET PARAMETER ID 'KUN' FIELD tbl_kna1-kunnr.

CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.

ENDCASE.

ENDFORM. " PROCESS_USER_COMMANDS

&----


*& Form GET_LAYOUT

&----


set the layout of the ALV.

add color to the row?

-


FORM get_layout.

st_layout-info_fieldname = 'COLOR'.

st_layout-colwidth_optimize = 'X'.

st_layout-get_selinfos = 'X'.

ENDFORM. " GET_LAYOUT

&----


*& Form get_data

&----


Get some data to play with

-


FORM get_data.

SELECT * FROM kna1 INTO CORRESPONDING FIELDS OF TABLE tbl_kna1

UP TO 30 ROWS.

ENDFORM. " get_data

&----


*& Form do_fancy_stuff

&----


Do some fancy pants stuff for example changing the color of

lines and adding icons

-


FORM do_fancy_stuff.

Here we will demonstrate changing the color of ALV Record lines as

well as displaying Icons

LOOP AT tbl_kna1.

All records where NAME1 begins with 'M', will be displayed in Bluish

Green

IF tbl_kna1-name1(1) EQ 'M'.

tbl_kna1-color = 'C41'. "Bluish Green

MODIFY tbl_kna1 TRANSPORTING color.

ENDIF.

All records with no TELF1 will be displayed in White and have a

Warning Icon

IF tbl_kna1-telf1 IS INITIAL.

tbl_kna1-color = 'C00'. "White

tbl_kna1-icon = '@AH@'. "Warning Icon

MODIFY tbl_kna1 TRANSPORTING icon color.

ENDIF.

ENDLOOP.

ENDFORM. " do_fancy_stuff

Check these links on Interactive ALV:

https://www.sdn.sap.com/sdn/collaboration.sdn?contenttype=url&content=https%3A//forums.sdn.sap.com/t...

https://www.sdn.sap.com/sdn/collaboration.sdn?contenttype=url&content=https%3A//forums.sdn.sap.com/t...

thanks

mrutyun^