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: 

Triggerring ALV-pop up

Former Member
0 Kudos
200

Hi all,

How to trigger a pop-up alv report upono double click on a row in a report developed using OO ALV.

Do i need to trigger any method and call fm REUSE ALV POP UP? Please help!

Helpful answers will be rewarded.

Thanks,

Sandeep

1 ACCEPTED SOLUTION

Former Member
0 Kudos
74

Hi...

same functionality u can find in

report : BCALV_GRID_03

regards

vivek

5 REPLIES 5

Former Member
0 Kudos
74

Hi Sandeep,

This might help:

User selects infotypes from a pop up alv .The details of

*infotypes selected are displayed in a ALV dialog box.

REPORT ZALV_POPDIALOG.

*Type pools for ALV declarations

TYPE-POOLS : slis.

*Internal table and wa declarations for T582A.

DATA : it_t582a TYPE STANDARD TABLE OF t582a INITIAL SIZE 0,

wa_t582a TYPE t582a.

*Internal table and wa declarations for T582S.

DATA : it_text TYPE STANDARD TABLE OF t582s,

wa_text TYPE t582s.

*Structure declaration for output

TYPES : BEGIN OF ty_output,

infty TYPE infty,

zeitb TYPE dzeitb,

itext TYPE intxt,

pnnnn TYPE pnnnn_d,

dname TYPE dianm,

namst TYPE namst,

edynr TYPE edynp,

ldynr TYPE ldynp,

stypt TYPE stypt,

sytxt TYPE sytxt,

zbtab TYPE dzbtab,

checkbox(1),

END OF ty_output.

*Internal table and work area declaration for output in pop up

DATA : it_output TYPE STANDARD TABLE OF ty_output INITIAL SIZE 0,

wa_output TYPE ty_output.

*Internal table and workarea declaration for alv dialog display

DATA : it_display TYPE STANDARD TABLE OF ty_output INITIAL SIZE 0,

wa_display TYPE ty_output.

*data declarations for ALV

DATA:ls_fieldcat TYPE slis_fieldcat_alv,

lt_fieldcat TYPE slis_t_fieldcat_alv,

ls_fieldcatlog TYPE slis_fieldcat_alv,

lt_fieldcatlog TYPE slis_t_fieldcat_alv,

lt_layout TYPE slis_layout_alv.

*Initialization event

INITIALIZATION.

*Start of selection event

START-OF-SELECTION.

*Select to fetch all the infotypes and details in sap system

SELECT *

FROM t582a

INTO CORRESPONDING FIELDS OF TABLE it_t582a.

*Select to fetch the infotypes text

IF it_t582a[] IS NOT INITIAL.

SELECT * FROM t582s INTO CORRESPONDING FIELDS OF TABLE it_text

FOR ALL ENTRIES IN it_t582a WHERE infty = it_t582a-infty

AND sprsl = 'E'.

ENDIF.

*Appending the selected values to the output table

LOOP AT it_t582a INTO wa_t582a.

wa_output-infty = wa_t582a-infty.

wa_output-zeitb = wa_t582a-zeitb.

wa_output-pnnnn = wa_t582a-pnnnn.

wa_output-dname = wa_t582a-dname.

wa_output-namst = wa_t582a-namst.

wa_output-edynr = wa_t582a-edynr.

wa_output-ldynr = wa_t582a-ldynr.

wa_output-stypt = wa_t582a-stypt.

wa_output-sytxt = wa_t582a-sytxt.

wa_output-zbtab = wa_t582a-zbtab.

READ TABLE it_text INTO wa_text WITH KEY infty = wa_t582a-infty.

wa_output-itext = wa_text-itext.

APPEND wa_output TO it_output.

CLEAR wa_output.

ENDLOOP.

*Subroutine to display the pop up values.

PERFORM popup_display.

*Subroutine to display the ALV dialog display

PERFORM alv_output.

----


  • Form popup_display

----


FORM popup_display.

*field catalogue for pop up

CLEAR ls_fieldcat.

ls_fieldcat-row_pos = '1'.

ls_fieldcat-col_pos = '1'.

ls_fieldcat-fieldname = 'CHECKBOX'.

ls_fieldcat-tabname = 'IT_OUTPUT'.

ls_fieldcat-seltext_m = 'SELECT'.

APPEND ls_fieldcat TO lt_fieldcat.

CLEAR ls_fieldcat.

ls_fieldcat-row_pos = '1'.

ls_fieldcat-col_pos = '2'.

ls_fieldcat-fieldname = 'ITEXT'.

ls_fieldcat-tabname = 'IT_OUTPUT'.

ls_fieldcat-seltext_m = 'DESCRIPTION'.

ls_fieldcat-outputlen = 50.

APPEND ls_fieldcat TO lt_fieldcat.

  • Display data in a POPUP

CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'

EXPORTING

i_zebra = 'X'

it_fieldcat = lt_fieldcat

i_tabname = 'IT_OUTPUT'

i_checkbox_fieldname = 'CHECKBOX'

TABLES

t_outtab = it_output.

*Appending the selected infotypes only to internal table

LOOP AT it_output INTO wa_output WHERE checkbox = 'X'.

wa_display-itext = wa_output-itext.

wa_display-infty = wa_output-infty.

wa_display-zeitb = wa_output-zeitb.

wa_display-pnnnn = wa_output-pnnnn.

wa_display-dname = wa_output-dname.

wa_display-namst = wa_output-namst.

wa_display-edynr = wa_output-edynr.

wa_display-ldynr = wa_output-ldynr.

wa_display-sytxt = wa_output-sytxt.

wa_display-stypt = wa_output-stypt.

wa_display-zbtab = wa_output-zbtab.

APPEND wa_display TO it_display.

CLEAR wa_display.

ENDLOOP.

ENDFORM. " popup_display

&----


*& Form alv_output

&----


FORM alv_output .

*fieldcatalogue for ALV dialog

PERFORM build_fieldcat.

*Layout for ALV dialog

PERFORM build_layout.

**ALV dialog output

PERFORM alv.

ENDFORM. " alv_output

&----


*& Form build_fieldcat

&----


FORM build_fieldcat .

*fieldcatalogue for alv dialog

CLEAR ls_fieldcatlog.

ls_fieldcatlog-row_pos = '1'.

ls_fieldcatlog-col_pos = '1'.

ls_fieldcatlog-fieldname = 'INFTY'.

ls_fieldcatlog-tabname = 'IT_DISPLAY'.

ls_fieldcatlog-seltext_m = 'Infotype'.

APPEND ls_fieldcatlog TO lt_fieldcatlog.

CLEAR ls_fieldcatlog.

ls_fieldcatlog-row_pos = '1'.

ls_fieldcatlog-col_pos = '2'.

ls_fieldcatlog-fieldname = 'ITEXT'.

ls_fieldcatlog-tabname = 'IT_DISPLAY'.

ls_fieldcatlog-seltext_m = 'Description'.

APPEND ls_fieldcatlog TO lt_fieldcatlog.

CLEAR ls_fieldcatlog.

ls_fieldcatlog-row_pos = '1'.

ls_fieldcatlog-col_pos = '3'.

ls_fieldcatlog-fieldname = 'ZEITB'.

ls_fieldcatlog-tabname = 'IT_DISPLAY'.

ls_fieldcatlog-seltext_m = 'TimeConstraint'.

APPEND ls_fieldcatlog TO lt_fieldcatlog.

CLEAR ls_fieldcatlog.

ls_fieldcatlog-row_pos = '1'.

ls_fieldcatlog-col_pos = '4'.

ls_fieldcatlog-fieldname = 'PNNNN'.

ls_fieldcatlog-tabname = 'IT_DISPLAY'.

ls_fieldcatlog-seltext_m = 'Structure'.

APPEND ls_fieldcatlog TO lt_fieldcatlog.

CLEAR ls_fieldcatlog.

ls_fieldcatlog-row_pos = '1'.

ls_fieldcatlog-col_pos = '5'.

ls_fieldcatlog-fieldname = 'DNAME'.

ls_fieldcatlog-tabname = 'IT_DISPLAY'.

ls_fieldcatlog-seltext_m = 'DialogModule'.

APPEND ls_fieldcatlog TO lt_fieldcatlog.

CLEAR ls_fieldcatlog.

ls_fieldcatlog-row_pos = '1'.

ls_fieldcatlog-col_pos = '6'.

ls_fieldcatlog-fieldname = 'NAMST'.

ls_fieldcatlog-tabname = 'IT_DISPLAY'.

ls_fieldcatlog-seltext_m = 'Subtypefield'.

APPEND ls_fieldcatlog TO lt_fieldcatlog.

CLEAR ls_fieldcatlog.

ls_fieldcatlog-row_pos = '1'.

ls_fieldcatlog-col_pos = '7'.

ls_fieldcatlog-fieldname = 'EDYNR'.

ls_fieldcatlog-tabname = 'IT_DISPLAY'.

ls_fieldcatlog-seltext_m = 'Singlescreenno'.

APPEND ls_fieldcatlog TO lt_fieldcatlog.

CLEAR ls_fieldcatlog.

ls_fieldcatlog-row_pos = '1'.

ls_fieldcatlog-col_pos = '8'.

ls_fieldcatlog-fieldname = 'LDYNR'.

ls_fieldcatlog-tabname = 'IT_DISPLAY'.

ls_fieldcatlog-seltext_m = 'Listscreenno'.

APPEND ls_fieldcatlog TO lt_fieldcatlog.

CLEAR ls_fieldcatlog.

ls_fieldcatlog-row_pos = '1'.

ls_fieldcatlog-col_pos = '9'.

ls_fieldcatlog-fieldname = 'STYPT'.

ls_fieldcatlog-tabname = 'IT_DISPLAY'.

ls_fieldcatlog-seltext_m = 'SubtypTable'.

APPEND ls_fieldcatlog TO lt_fieldcatlog.

CLEAR ls_fieldcatlog.

ls_fieldcatlog-row_pos = '1'.

ls_fieldcatlog-col_pos = '10'.

ls_fieldcatlog-fieldname = 'SYTXT'.

ls_fieldcatlog-tabname = 'IT_DISPLAY'.

ls_fieldcatlog-seltext_m = 'Subtyptexttable'.

APPEND ls_fieldcatlog TO lt_fieldcatlog.

CLEAR ls_fieldcatlog.

ls_fieldcatlog-row_pos = '1'.

ls_fieldcatlog-col_pos = '11'.

ls_fieldcatlog-fieldname = 'ZBTAB'.

ls_fieldcatlog-tabname = 'IT_DISPLAY'.

ls_fieldcatlog-seltext_m = 'SubtypeTCTable'.

APPEND ls_fieldcatlog TO lt_fieldcatlog.

ENDFORM. " build_fieldcat

&----


*& Form build_layout

&----


*Layout for ALV dialog

FORM build_layout .

lt_layout-zebra = 'X'.

lt_layout-colwidth_optimize = 'X'.

ENDFORM. " build_layout

&----


*& Form alv

&----


*Alv dialog output.

FORM alv .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = sy-repid

i_grid_title = 'INFOTYPE DETAILS'

is_layout = lt_layout

it_fieldcat = lt_fieldcatlog

i_screen_start_column = 10

i_screen_start_line = 20

i_screen_end_column = 100

i_screen_end_line = 40

TABLES

t_outtab = it_display

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. " alv

Former Member
0 Kudos
74

Hi Sandeep,

Check this one for ALV POP-UP:

[ALV POPUP|;

Regards,

Chandra Sekhar

Former Member
0 Kudos
74

hi Sandeep Shenoy

chk this program

BCALV_GRID_AND_POPUP

Regards

Deva

former_member188685
Active Contributor
0 Kudos
74

You need to have a Local Event handle to Handle the Double click event.

in the Double click event method implementation check the value of the row/Column which you have clicked accordingly you can display the Popup.

Your approach is correct.

Check this program.

BCALV_TEST_GRID_EVENTS

Former Member
0 Kudos
75

Hi...

same functionality u can find in

report : BCALV_GRID_03

regards

vivek