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

Help required!!

Former Member
0 Likes
566

<b>The following lines of code were written:</b>

  • For ALV events

i_events TYPE slis_t_event,

constants : c_user_command(20) value 'USER_COMMAND'

  • Local variable for event

DATA: wa_event TYPE slis_alv_event. "Events

  • Events for the ALV

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 1 "2

IMPORTING

et_events = i_events.

  • Sort by Name

SORT i_events BY name.

CLEAR wa_event.

READ TABLE i_events INTO wa_event

WITH KEY name = slis_ev_user_command

BINARY SEARCH.

IF sy-subrc = 0.

MOVE c_user_command TO wa_event-form.

MODIFY i_events FROM wa_event TRANSPORTING form

WHERE name = slis_ev_user_command.

ENDIF.

CLEAR : wa_event.

<b>Now I want to transfer the routine USER_COMMAND to the FM REUSE_ALV_GRID_DISPLAY.

Can anyone tell what all parameters to pass in this FM??</b>

1 ACCEPTED SOLUTION
Read only

varma_narayana
Active Contributor
0 Likes
540

hi..

You have to pass the Events internal table to the Parameter IT_EVENTS of the FM

REUSE_ALV_GRID_DISPLAY.

reward if Helpful.

4 REPLIES 4
Read only

Former Member
0 Likes
540

call function 'REUSE_ALV_LIST_DISPLAY'

exporting

i_callback_program = i_callback_program

i_callback_pf_status_set = i_callback_pf_status_set

You can call your user command here.....

<b> i_callback_user_command = i_callback_user_command</b>

i_structure_name = i_structure_name

is_layout = is_layout

it_fieldcat = it_fieldcat

it_excluding = it_excluding

it_special_groups = it_special_groups

it_sort = it_sort

it_filter = it_filter

is_sel_hide = is_sel_hide

i_default = i_default

i_save = i_save

is_variant = is_variant

it_events = it_events

is_reprep_id = is_reprep_id

i_screen_start_column = i_screen_start_column

i_screen_start_line = i_screen_start_line

i_screen_end_column = i_screen_end_column

i_screen_end_line = i_screen_end_line

it_except_qinfo = it_except_qinfo

importing

e_exit_caused_by_caller = e_exit_caused_by_caller

es_exit_caused_by_user = es_exit_caused_by_user

tables

t_outtab = t_outtab

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.

Read only

Former Member
0 Likes
540

Hi,

You can pass your events itab to IT_EVENTS parameter in tyhis FM OR

alternatively if user_command is the only event you need to be triggered then you can do it as below as well,by passing the below parameters to the FM

I_CALLBACK_PROGRAM = sy-repid "program to which control has to be passed when any event is triggered

I_CALLBACK_USER_COMMAND = 'USER_COMMAND', form name to which control has to be passed when USER_COMMAND event is triggered.

Regards,

Raghavendra

Read only

varma_narayana
Active Contributor
0 Likes
541

hi..

You have to pass the Events internal table to the Parameter IT_EVENTS of the FM

REUSE_ALV_GRID_DISPLAY.

reward if Helpful.

Read only

Former Member
0 Likes
540

DATA:V_REPID TYPE SY-REPID,

V_MATNR TYPE MARA-MATNR.

***SELECTION SCREEN*******

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS: S_MATNR FOR V_MATNR.

SELECTION-SCREEN END OF BLOCK B1.

*******INTERNALTABLE DECLARATION

DATA:BEGIN OF IT_MARD OCCURS 0,

MATNR LIKE MARD-MATNR, "MATERIAL NO --KEY

WERKS LIKE MARD-MATNR, "PLANT --KEY

LGORT LIKE MARD-LGORT, "STORAGE LOCATION--KEY

INSME LIKE MARD-INSME, "QTY INSPECTION STOCK

EINME LIKE MARD-EINME, "RESTRICTED BATCH STOCK

SPEME LIKE MARD-SPEME, "BLOCKED STOCK

END OF IT_MARD.

DATA:BEGIN OF IT_MARA OCCURS 0,

MATNR LIKE MARA-MATNR,

ERSDA LIKE MARA-ERSDA,

ERNAM LIKE MARA-ERNAM,

END OF IT_MARA.

        • FOR SECONDARY LIST**********

DATA:BEGIN OF IT_MARA_ALV OCCURS 0,

MATNR LIKE MARA-MATNR,

ERSDA LIKE MARA-ERSDA,

ERNAM LIKE MARA-ERNAM,

END OF IT_MARA_ALV.

*****TYPE POOLS*******************

TYPE-POOLS:SLIS.

DATA:IT_MARD_FC TYPE SLIS_T_FIELDCAT_ALV,

FC TYPE SLIS_FIELDCAT_ALV,

IT_EVENTS TYPE SLIS_T_EVENT,

WA_EVENTS TYPE SLIS_ALV_EVENT,

IT_MARA_ALV_FC TYPE SLIS_T_FIELDCAT_ALV.

                  • INITIALIZATION.********

INITIALIZATION.

V_REPID = SY-REPID.

          • AT SELECTION-SCREEN.*****

AT SELECTION-SCREEN.

PERFORM VALIDATION.

*******START OF SELECTION************

START-OF-SELECTION.

PERFORM GETDATA.

PERFORM POPULATE_FIELDCATALOG.

PERFORM FILL_EVENTS.

END-OF-SELECTION.

PERFORM DISPLAY_LIST.

&----


*& Form GETDATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GETDATA .

SELECT MATNR

WERKS

LGORT

INSME

EINME

SPEME FROM MARD INTO TABLE IT_MARD WHERE MATNR IN S_MATNR.

IF SY-SUBRC = 0.

SORT IT_MARD BY MATNR.

SELECT MATNR

ERSDA

ERNAM

FROM MARA

INTO TABLE IT_MARA

FOR ALL ENTRIES IN IT_MARD WHERE MATNR = IT_MARD-MATNR.

ENDIF.

ENDFORM. " GETDATA

&----


*& Form POPULATE_FIELDCATALOG

&----


**POPULATING FIELD CATALOG BY SPECIFYING ATTRIBUTES TO FIELD-NAMES.

FORM POPULATE_FIELDCATALOG .

CLEAR FC.

FC-TABNAME = 'IT_MARD'.

FC-FIELDNAME = 'MATNR'.

FC-KEY = 'X'.

FC-HOTSPOT = 'X'.

FC-OUTPUTLEN = 18.

FC-SELTEXT_L = 'MATERIAL NUMBER'.

APPEND FC TO IT_MARD_FC.

CLEAR FC.

FC-TABNAME = 'IT_MARD'.

FC-FIELDNAME = 'WERKS'.

FC-KEY = 'X'.

FC-SELTEXT_L = 'PLANT'.

APPEND FC TO IT_MARD_FC.

CLEAR FC.

FC-TABNAME = 'IT_MARD'.

FC-FIELDNAME = 'LGORT'.

FC-KEY = 'X'.

FC-SELTEXT_S = 'STR LOC'.

FC-SELTEXT_M = 'STORG LOC'.

FC-SELTEXT_L = 'STORAGE LOCATION'.

APPEND FC TO IT_MARD_FC.

CLEAR FC.

FC-TABNAME = 'IT_MARD'.

FC-FIELDNAME = 'INSME'.

FC-KEY = 'X'.

FC-SELTEXT_S = 'QTY INSP'.

FC-SELTEXT_M = 'QTY INSP STOCK'.

FC-SELTEXT_L = 'QTY INSPECTION STOCK'.

APPEND FC TO IT_MARD_FC.

CLEAR FC.

FC-TABNAME = 'IT_MARD'.

FC-FIELDNAME = 'EINME'.

FC-KEY = 'X'.

FC-SELTEXT_S = 'RES STK'.

FC-SELTEXT_M = 'RES BATCH STK'.

FC-SELTEXT_L = 'RESTRICTED BATCH STOCK'.

APPEND FC TO IT_MARD_FC.

CLEAR FC.

FC-TABNAME = 'IT_MARD'.

FC-FIELDNAME = 'SPEME'.

FC-KEY = 'X'.

FC-SELTEXT_S = 'BLK STK'.

FC-SELTEXT_M = 'BLK STOCK'.

FC-SELTEXT_L = 'BLOCKED STOCK'.

APPEND FC TO IT_MARD_FC.

ENDFORM. " POPULATE_FIELDCATALOG

&----


*& Form FILL_EVENTS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FILL_EVENTS .

**THIS FM IS USED TO FILL ALL EVENTS IN IT_EVENTS-NAME'S FILED**

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = IT_EVENTS

EXCEPTIONS

LIST_TYPE_WRONG = 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.

READ TABLE IT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO WA_EVENTS.

IF SY-SUBRC = 0.

MOVE 'DISPLAY_HEADER' TO WA_EVENTS-FORM.

MODIFY IT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.

ENDIF.

READ TABLE IT_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE INTO WA_EVENTS.

IF SY-SUBRC = 0.

MOVE 'DISPLAY_FOOTER' TO WA_EVENTS-FORM.

MODIFY IT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.

ENDIF.

READ TABLE IT_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND INTO

WA_EVENTS.

IF SY-SUBRC = 0.

MOVE 'PROCESS_SECONDARYLIST' TO WA_EVENTS-FORM.

MODIFY IT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.

ENDIF.

ENDFORM. " FILL_EVENTS

&----


*& Form DISPLAY_HEADER

&----


  • text

----


FORM DISPLAY_HEADER.

FORMAT COLOR 3.

WRITE:/15 'INTELLI GROUP ASIA PVT LTD.'(002) .

ENDFORM. "DISPLAY_HEADER

&----


*& Form DISPLAY_FOOTER

&----


  • text

----


FORM DISPLAY_FOOTER.

FORMAT COLOR 5.

WRITE:/150 'PAGE NO.'(003),SY-PAGNO.

ENDFORM. "DISPLAY_FOOTER

&----


*& Form DISPLAY_LIST

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DISPLAY_LIST .

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = V_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'PROCESS_SECONDARYLIST'

  • I_STRUCTURE_NAME =

  • IS_LAYOUT =

IT_FIELDCAT = IT_MARD_FC

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = IT_EVENTS

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_MARD

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

&----


*& Form VALIDATION

&----


FORM VALIDATION .

SELECT MATNR FROM MARD INTO V_MATNR

UP TO 1 ROWS

WHERE MATNR IN S_MATNR .

ENDSELECT.

IF SY-SUBRC <> 0.

MESSAGE E000 WITH 'INVALID MATERIAL NO'.

ENDIF.

ENDFORM. " VALIDATION

&----


*& Form PROCESS_SECONDARYLIST

&----


  • text

----


  • -->L_UCOMM text

  • -->L_SELFIELD text

----


FORM PROCESS_SECONDARYLIST USING L_UCOMM LIKE SY-UCOMM L_SELFIELD TYPE

SLIS_SELFIELD .

CASE L_UCOMM.

WHEN '&IC1'.

*READ TABLE IT_MARD INDEX L_SELFIELD-TABINDEX.

REFRESH IT_MARA_ALV.

*LOOP AT IT_MARA WHERE MATNR = IT_MARD-MATNR.

LOOP AT IT_MARA WHERE MATNR = L_SELFIELD-VALUE.

MOVE-CORRESPONDING IT_MARA TO IT_MARA_ALV.

APPEND IT_MARA_ALV.

CLEAR IT_MARA_ALV.

ENDLOOP.

PERFORM DISPLAY_SECONDARYLIST.

ENDCASE.

ENDFORM. "PROCESS_SECONDARYLIST

&----


*& Form DISPLAY_SECONDARYLIST

&----


----


FORM DISPLAY_SECONDARYLIST .

PERFORM FIELD_CATALOG_SECONDRY.

PERFORM DISPLAY_SLIST.

ENDFORM. " DISPLAY_SECONDARYLIST

&----


*& Form FIELD_CATALOG_SECONDRY

&----


FORM FIELD_CATALOG_SECONDRY .

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = V_REPID

I_INTERNAL_TABNAME = 'IT_MARA_ALV'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = V_REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = IT_MARA_ALV_FC

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3

.

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

&----


*& Form DISPLAY_SLIST

&----


FORM DISPLAY_SLIST .

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = V_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_STRUCTURE_NAME =

  • IS_LAYOUT =

IT_FIELDCAT = IT_MARA_ALV_FC

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_MARA_ALV

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