<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: event handling in abap objects in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/event-handling-in-abap-objects/m-p/2974824#M702124</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Amit,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I answered the similar question last week. You can see here  or .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This example demonstrates how to use a Hiperlink field in ALV. These example was based on 'SALV_DEMO_TABLE_COLUMNS' that contains Hiperlink, icon, Hotspot...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Code is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT zsalv_mar NO STANDARD PAGE HEADING.

*----------------------------------------------------------------------*
*       CLASS lcl_handle_events DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_handle_events DEFINITION.
  PUBLIC SECTION.
    METHODS:
      on_link_click FOR EVENT link_click OF cl_salv_events_table
        IMPORTING row column.
ENDCLASS.                    "lcl_handle_events DEFINITION

*----------------------------------------------------------------------*
*       CLASS lcl_handle_events IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_handle_events IMPLEMENTATION.
  METHOD on_link_click.

    DATA: l_row_string TYPE string,
          l_col_string TYPE string,
          l_row        TYPE char128.

    WRITE row TO l_row LEFT-JUSTIFIED.

    CONCATENATE text-i02 l_row INTO l_row_string SEPARATED BY space.
    CONCATENATE text-i03 column INTO l_col_string SEPARATED BY space.

    MESSAGE i000(0k) WITH 'Single Click' l_row_string l_col_string.

  ENDMETHOD.                    "on_single_click
ENDCLASS.                    "lcl_handle_events IMPLEMENTATION

DATA: gr_events TYPE REF TO lcl_handle_events.


TYPES: BEGIN OF g_type_s_outtab.
INCLUDE TYPE alv_tab.
TYPES:   t_hyperlink TYPE salv_t_int4_column,
       END   OF g_type_s_outtab.

DATA: gt_outtab TYPE STANDARD TABLE OF g_type_s_outtab.

DATA: gr_table   TYPE REF TO cl_salv_table.

TYPES: BEGIN OF g_type_s_hyperlink,
         handle    TYPE salv_de_hyperlink_handle,
         hyperlink TYPE service_rl,
         carrid    TYPE s_carrid,
       END   OF g_type_s_hyperlink.

DATA: gt_hyperlink TYPE STANDARD TABLE OF g_type_s_hyperlink.


SELECTION-SCREEN BEGIN OF BLOCK gen WITH FRAME.
PARAMETERS: p_amount TYPE i DEFAULT 30.
SELECTION-SCREEN END OF BLOCK gen.

START-OF-SELECTION.

  PERFORM select_data.

  PERFORM display.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  select_data
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM select_data .

  DATA: line_outtab  TYPE g_type_s_outtab,
        ls_hype      TYPE g_type_s_hyperlink,
        lt_hyperlink TYPE salv_t_int4_column,
        ls_hyperlink TYPE salv_s_int4_column,
        v_tabix      TYPE sytabix.


  SELECT *
    FROM alv_tab
    INTO CORRESPONDING FIELDS OF TABLE gt_outtab
        UP TO p_amount ROWS.

  LOOP AT gt_outtab INTO line_outtab.

    v_tabix = sy-tabix.

    ls_hype-handle    = sy-tabix.

    ls_hype-hyperlink = line_outtab-url.
    ls_hype-carrid    = line_outtab-carrid.
    INSERT ls_hype INTO TABLE gt_hyperlink.

    ls_hyperlink-columnname = 'URL'.
    ls_hyperlink-value      = sy-tabix.

    APPEND ls_hyperlink TO lt_hyperlink.

    line_outtab-t_hyperlink = lt_hyperlink.

    MODIFY gt_outtab FROM line_outtab INDEX v_tabix.
    CLEAR line_outtab.
    CLEAR lt_hyperlink.
    CLEAR ls_hyperlink.
  ENDLOOP.

ENDFORM.                    " select_data
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  display
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM display .

  TRY.
      cl_salv_table=&amp;gt;factory(
        IMPORTING
          r_salv_table = gr_table
        CHANGING
          t_table      = gt_outtab ).
    CATCH cx_salv_msg.                                  "#EC NO_HANDLER
  ENDTRY.

  DATA: lr_functions TYPE REF TO cl_salv_functions_list.

  lr_functions = gr_table-&amp;gt;get_functions( ).
  lr_functions-&amp;gt;set_default( abap_true ).

*... set the columns technical
  DATA: lr_columns TYPE REF TO cl_salv_columns_table,
        lr_column  TYPE REF TO cl_salv_column_table.

  lr_columns = gr_table-&amp;gt;get_columns( ).
  lr_columns-&amp;gt;set_optimize( abap_true ).

*... §4.7 set hyperlink column
  DATA: lr_hyperlinks TYPE REF TO cl_salv_hyperlinks,
        ls_hyperlink  TYPE g_type_s_hyperlink.
  DATA: lr_functional_settings TYPE REF TO cl_salv_functional_settings.

  TRY.
      lr_columns-&amp;gt;set_hyperlink_entry_column( 'T_HYPERLINK' ).
    CATCH cx_salv_data_error.                           "#EC NO_HANDLER
  ENDTRY.

  TRY.
      lr_column ?= lr_columns-&amp;gt;get_column( 'URL' ).
      lr_column-&amp;gt;set_cell_type( if_salv_c_cell_type=&amp;gt;link ).
      lr_column-&amp;gt;set_long_text( 'URL' ).
    CATCH cx_salv_not_found.                            "#EC NO_HANDLER
  ENDTRY.

  lr_functional_settings = gr_table-&amp;gt;get_functional_settings( ).
  lr_hyperlinks = lr_functional_settings-&amp;gt;get_hyperlinks( ).

  LOOP AT gt_hyperlink INTO ls_hyperlink.
    TRY.
        lr_hyperlinks-&amp;gt;add_hyperlink(
          handle    = ls_hyperlink-handle
          hyperlink = ls_hyperlink-hyperlink ).
      CATCH cx_salv_existing.                           "#EC NO_HANDLER
    ENDTRY.
  ENDLOOP.

  DATA: lr_events TYPE REF TO cl_salv_events_table.
  lr_events = gr_table-&amp;gt;get_event( ).

  CREATE OBJECT gr_events.

  SET HANDLER gr_events-&amp;gt;on_link_click FOR lr_events.

  gr_table-&amp;gt;display( ).

ENDFORM.                    " display
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Marcelo Ramos&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 29 Oct 2007 12:48:09 GMT</pubDate>
    <dc:creator>marcelo_ramos1</dc:creator>
    <dc:date>2007-10-29T12:48:09Z</dc:date>
    <item>
      <title>event handling in abap objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/event-handling-in-abap-objects/m-p/2974823#M702123</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello friends,&lt;/P&gt;&lt;P&gt;                    i want to use the event RAISE_LINK_CLICK for single click.&lt;/P&gt;&lt;P&gt; but i dont want 2 use this event for alv table.&lt;/P&gt;&lt;P&gt;                   i am displaying vendor name in my top of page,if the user click of the vendor name a new window should pop-up displaying the vendor details.&lt;/P&gt;&lt;P&gt;        my code for top of page is &lt;/P&gt;&lt;P&gt;                  DATA: lr_grid TYPE REF TO cl_salv_form_layout_grid,&lt;/P&gt;&lt;P&gt;          lr_grid_1 TYPE REF TO cl_salv_form_layout_grid,&lt;/P&gt;&lt;P&gt;          lr_flow TYPE REF TO cl_salv_form_layout_flow,&lt;/P&gt;&lt;P&gt;          lr_label TYPE REF TO cl_salv_form_label,&lt;/P&gt;&lt;P&gt;          lr_text TYPE REF TO cl_salv_form_text,&lt;/P&gt;&lt;P&gt;          l_text TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT lr_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lr_grid_1 = lr_grid-&amp;gt;create_grid( row = 1 column = 1 ).&lt;/P&gt;&lt;P&gt;    lr_text = lr_grid_1-&amp;gt;create_text( row = 1 column = 1 colspan = 2 text = &amp;lt;b&amp;gt;vendor_name&amp;lt;/b&amp;gt; ).&lt;/P&gt;&lt;P&gt;    lr_grid_1 = lr_grid-&amp;gt;create_grid( row = 2 column = 1 ).&lt;/P&gt;&lt;P&gt;    lr_flow = lr_grid_1-&amp;gt;create_flow( row = 2 column = 1 ).&lt;/P&gt;&lt;P&gt;    lr_text = lr_flow-&amp;gt;create_text( text = 'Reconcillation Statement'(t02) tooltip = 'Reconcillation Statement'(t02) ).&lt;/P&gt;&lt;P&gt;    alv-&amp;gt;set_top_of_list( lr_grid ).&lt;/P&gt;&lt;P&gt;        do uc the VENDOR NAME in bold,wen the user clicks on it the pop should appear.&lt;/P&gt;&lt;P&gt;        so how to use the event RAISE_LINK_CLICK for this purpose,or is there another way through&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Oct 2007 12:02:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/event-handling-in-abap-objects/m-p/2974823#M702123</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-29T12:02:07Z</dc:date>
    </item>
    <item>
      <title>Re: event handling in abap objects</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/event-handling-in-abap-objects/m-p/2974824#M702124</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Amit,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I answered the similar question last week. You can see here  or .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This example demonstrates how to use a Hiperlink field in ALV. These example was based on 'SALV_DEMO_TABLE_COLUMNS' that contains Hiperlink, icon, Hotspot...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Code is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT zsalv_mar NO STANDARD PAGE HEADING.

*----------------------------------------------------------------------*
*       CLASS lcl_handle_events DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_handle_events DEFINITION.
  PUBLIC SECTION.
    METHODS:
      on_link_click FOR EVENT link_click OF cl_salv_events_table
        IMPORTING row column.
ENDCLASS.                    "lcl_handle_events DEFINITION

*----------------------------------------------------------------------*
*       CLASS lcl_handle_events IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_handle_events IMPLEMENTATION.
  METHOD on_link_click.

    DATA: l_row_string TYPE string,
          l_col_string TYPE string,
          l_row        TYPE char128.

    WRITE row TO l_row LEFT-JUSTIFIED.

    CONCATENATE text-i02 l_row INTO l_row_string SEPARATED BY space.
    CONCATENATE text-i03 column INTO l_col_string SEPARATED BY space.

    MESSAGE i000(0k) WITH 'Single Click' l_row_string l_col_string.

  ENDMETHOD.                    "on_single_click
ENDCLASS.                    "lcl_handle_events IMPLEMENTATION

DATA: gr_events TYPE REF TO lcl_handle_events.


TYPES: BEGIN OF g_type_s_outtab.
INCLUDE TYPE alv_tab.
TYPES:   t_hyperlink TYPE salv_t_int4_column,
       END   OF g_type_s_outtab.

DATA: gt_outtab TYPE STANDARD TABLE OF g_type_s_outtab.

DATA: gr_table   TYPE REF TO cl_salv_table.

TYPES: BEGIN OF g_type_s_hyperlink,
         handle    TYPE salv_de_hyperlink_handle,
         hyperlink TYPE service_rl,
         carrid    TYPE s_carrid,
       END   OF g_type_s_hyperlink.

DATA: gt_hyperlink TYPE STANDARD TABLE OF g_type_s_hyperlink.


SELECTION-SCREEN BEGIN OF BLOCK gen WITH FRAME.
PARAMETERS: p_amount TYPE i DEFAULT 30.
SELECTION-SCREEN END OF BLOCK gen.

START-OF-SELECTION.

  PERFORM select_data.

  PERFORM display.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  select_data
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM select_data .

  DATA: line_outtab  TYPE g_type_s_outtab,
        ls_hype      TYPE g_type_s_hyperlink,
        lt_hyperlink TYPE salv_t_int4_column,
        ls_hyperlink TYPE salv_s_int4_column,
        v_tabix      TYPE sytabix.


  SELECT *
    FROM alv_tab
    INTO CORRESPONDING FIELDS OF TABLE gt_outtab
        UP TO p_amount ROWS.

  LOOP AT gt_outtab INTO line_outtab.

    v_tabix = sy-tabix.

    ls_hype-handle    = sy-tabix.

    ls_hype-hyperlink = line_outtab-url.
    ls_hype-carrid    = line_outtab-carrid.
    INSERT ls_hype INTO TABLE gt_hyperlink.

    ls_hyperlink-columnname = 'URL'.
    ls_hyperlink-value      = sy-tabix.

    APPEND ls_hyperlink TO lt_hyperlink.

    line_outtab-t_hyperlink = lt_hyperlink.

    MODIFY gt_outtab FROM line_outtab INDEX v_tabix.
    CLEAR line_outtab.
    CLEAR lt_hyperlink.
    CLEAR ls_hyperlink.
  ENDLOOP.

ENDFORM.                    " select_data
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  display
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM display .

  TRY.
      cl_salv_table=&amp;gt;factory(
        IMPORTING
          r_salv_table = gr_table
        CHANGING
          t_table      = gt_outtab ).
    CATCH cx_salv_msg.                                  "#EC NO_HANDLER
  ENDTRY.

  DATA: lr_functions TYPE REF TO cl_salv_functions_list.

  lr_functions = gr_table-&amp;gt;get_functions( ).
  lr_functions-&amp;gt;set_default( abap_true ).

*... set the columns technical
  DATA: lr_columns TYPE REF TO cl_salv_columns_table,
        lr_column  TYPE REF TO cl_salv_column_table.

  lr_columns = gr_table-&amp;gt;get_columns( ).
  lr_columns-&amp;gt;set_optimize( abap_true ).

*... §4.7 set hyperlink column
  DATA: lr_hyperlinks TYPE REF TO cl_salv_hyperlinks,
        ls_hyperlink  TYPE g_type_s_hyperlink.
  DATA: lr_functional_settings TYPE REF TO cl_salv_functional_settings.

  TRY.
      lr_columns-&amp;gt;set_hyperlink_entry_column( 'T_HYPERLINK' ).
    CATCH cx_salv_data_error.                           "#EC NO_HANDLER
  ENDTRY.

  TRY.
      lr_column ?= lr_columns-&amp;gt;get_column( 'URL' ).
      lr_column-&amp;gt;set_cell_type( if_salv_c_cell_type=&amp;gt;link ).
      lr_column-&amp;gt;set_long_text( 'URL' ).
    CATCH cx_salv_not_found.                            "#EC NO_HANDLER
  ENDTRY.

  lr_functional_settings = gr_table-&amp;gt;get_functional_settings( ).
  lr_hyperlinks = lr_functional_settings-&amp;gt;get_hyperlinks( ).

  LOOP AT gt_hyperlink INTO ls_hyperlink.
    TRY.
        lr_hyperlinks-&amp;gt;add_hyperlink(
          handle    = ls_hyperlink-handle
          hyperlink = ls_hyperlink-hyperlink ).
      CATCH cx_salv_existing.                           "#EC NO_HANDLER
    ENDTRY.
  ENDLOOP.

  DATA: lr_events TYPE REF TO cl_salv_events_table.
  lr_events = gr_table-&amp;gt;get_event( ).

  CREATE OBJECT gr_events.

  SET HANDLER gr_events-&amp;gt;on_link_click FOR lr_events.

  gr_table-&amp;gt;display( ).

ENDFORM.                    " display
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Marcelo Ramos&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Oct 2007 12:48:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/event-handling-in-abap-objects/m-p/2974824#M702124</guid>
      <dc:creator>marcelo_ramos1</dc:creator>
      <dc:date>2007-10-29T12:48:09Z</dc:date>
    </item>
  </channel>
</rss>

