Application Development 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: 

Doucle click in ALV

Former Member
0 Kudos

Hi,

I am using the Fn module 'ZALV_FULL_DISP_W_DCLK_AND_HDR' to create an ALV report.

Can you please tell me how to execute the double click functionality in it?

Thanks,

Mayank.

9 REPLIES 9

Former Member
0 Kudos

hiii

use following link

..sample program

regards

twinkal

0 Kudos

Sorry to miss some code from the bottom

data : GT_EVENTS TYPE SLIS_T_EVENT.

constants : C_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.

  • get event

PERFORM BUILD_EVENT_TOPOFPAGE USING GT_EVENTS[].

  • display alv data

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = W_xxxxx

IT_FIELDCAT = GT_xxxx

IT_EVENTS = GT_EVENTS[]

TABLES

T_OUTTAB = T_xxxx

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

  • get event perform

FORM BUILD_EVENT_TOPOFPAGE USING LT_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 = LT_EVENTS.

  • DOUBLE CLICK EVENT

READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND

INTO LS_EVENT.

IF SY-SUBRC = 0.

MOVE C_USER_COMMAND TO LS_EVENT-FORM.

APPEND LS_EVENT TO LT_EVENTS.

ENDIF.

ENDFORM. " BUILD_EVENT_TOPOFPAGE

  • define user_command ( perform user_command -> x )

  • only form user_command ........ endform -> o )

FORM USER_COMMAND USING L_UCOMM LIKE SY-UCOMM

LS_SELFIELD TYPE SLIS_SELFIELD.

CASE L_UCOMM.

WHEN '&IC1'. "f2code

READ TABLE T_xxxxx INDEX LS_SELFIELD-TABINDEX.

CASE LS_SELFIELD-SEL_TAB_FIELD. "select Column

WHEN 'T_xxx-xxx'. " double click column

WHEN 'T_xxxx-xxxx'. " double click column

ENDCASE.

ENDCASE.

ENDFORM. " USER_COMMAND

Thanks

Sudharshan

Former Member
0 Kudos

Hi Mayank

Check this for Double Click usage in ALV

data : GT_EVENTS TYPE SLIS_T_EVENT.

constants : C_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.

  • get event

PERFORM BUILD_EVENT_TOPOFPAGE USING GT_EVENTS[].

  • display alv data

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = W_xxxxx

IT_FIELDCAT = GT_xxxx

IT_EVENTS = GT_EVENTS[]

TABLES

T_OUTTAB = T_xxxx

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

  • get event perform

FORM BUILD_EVENT_TOPOFPAGE USING LT_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 = LT_EVENTS.

  • DOUBLE CLICK EVENT

READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND

INTO LS_EVENT.

IF SY-SUBRC = 0.

MOVE C_USER_COMMAND TO LS_EVENT-FORM.

APPEND LS_EVENT TO LT_EVENTS.

ENDIF.

ENDFORM. " BUILD_EVENT_TOPOFPAGE

Thanks

Sudharshan

former_member188685
Active Contributor
0 Kudos

with the help of HOTSPOT in fieldcatalog and with the help of event USER_COMMAND event we can make that possible.

REPORT  ztest_alv.

TYPE-POOLS:slis.
DATA:it_fieldcat  TYPE  slis_t_fieldcat_alv,
     wa_field LIKE LINE OF it_fieldcat.
DATA: BEGIN OF it_likp OCCURS 0,
       vbeln TYPE likp-vbeln,
      END OF it_likp.
DATA: layout TYPE slis_layout_alv.
DATA: it_excluding TYPE  slis_t_extab .

wa_field-fieldname = 'VBELN'.
wa_field-tabname = 'IT_LIKP'.
wa_field-hotspot = 'X'.
wa_field-outputlen = 10.
wa_field-no_zero = 'X'.
wa_field-seltext_l = 'Sales'.
APPEND wa_field TO it_fieldcat.

SELECT vbeln FROM likp
UP TO 10 ROWS
INTO TABLE it_likp.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  EXPORTING
    i_callback_program       = sy-repid
    is_layout                = layout
    i_callback_user_command  = 'USER_COMMAND'
    it_fieldcat              = it_fieldcat
  TABLES
    t_outtab                 = it_likp
  EXCEPTIONS
    program_error            = 1.


*&---------------------------------------------------------------------*
*&      Form  user_Command
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->UCOMM      text
*      -->SELFIELD   text
*----------------------------------------------------------------------*
FORM user_command USING ucomm TYPE sy-ucomm
                    selfield TYPE slis_selfield.

  CASE ucomm.

    WHEN '&IC1'.
     if selfiled-fieldname = 'VBELN'.
      SET PARAMETER ID 'VL'  FIELD selfield-value.
      CALL TRANSACTION 'VL02N' AND SKIP FIRST SCREEN.
     endif.
  ENDCASE.

ENDFORM.                    "user_Command

Former Member
0 Kudos

hi check this...

former_member705122
Active Contributor
0 Kudos

Hi,

Doucle click in ALV

Check this link:

Regards

Adil

Former Member

0 Kudos

Hi,

It is only possible by going for oop's ALV conept.

Regards,

Ram.

0 Kudos

check the below link for the sample program.

saptechnical.com/Tutorials/ALV/Interactive/oops.htm

Regards,

Ram.