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 - Record Changes

Former Member
0 Likes
591

Hello everyone,

Can you please give me the events, methods and the parameters that are used to record the changes in the alv grid. I am thinking of recording the changes when the cursor is moved from field to field . After I record the changes, I should be able to see the row id and some sort of index. Please help me.

Points are rewarded.

2 REPLIES 2
Read only

Former Member
0 Likes
528

Hello Venkat,

You first have to make the grid editable at the cell level.You can try selecting a row or selecting a column before making changes.For this you can use GET_SELECTED_ROWS and GET_SELECTED_COLUMNS events.They will gve you the selected row and column index.

To record the changes,you can call the method CHECK_CHANGED_DATA.This will return a parameter(a flag) if the ALV Grid data has been changed and based on that you can proceed.

<b>If you want to get the row index:</b>

<b>define a local class as shown:</b>

CLASS lcl_eh DEFINITION.

PUBLIC SECTION.

DATA:ls_wa2_schd_lines TYPE ts_schd_lines,

ls_toolbar TYPE stb_button,

lt_selected_rows TYPE lvc_t_roid,

ls_selected_row TYPE lvc_s_roid.

METHODS:

handle_toolbar

FOR EVENT toolbar OF cl_gui_alv_grid

IMPORTING e_object e_interactive,

handle_user_command

FOR EVENT user_command OF cl_gui_alv_grid

IMPORTING e_ucomm.

ENDCLASS. "lcl_eh DEFINITION

CLASS lcl_eh IMPLEMENTATION.

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

*METHOD: HANDLE_TOOLBAR

*DESCRIPTION: This method provides the necessary detail required to

  • create an extra button in the toolbar.

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

METHOD handle_toolbar.

CLEAR ls_toolbar.

MOVE 'DATA_CHANGE' TO ls_toolbar-function.

MOVE 0 TO ls_toolbar-butn_type.

MOVE 'DATA_CHANGE' TO ls_toolbar-text.

MOVE 'DATA_CHANGE' TO ls_toolbar-icon.

MOVE 'DATA_CHANGE' TO ls_toolbar-quickinfo.

APPEND ls_toolbar TO e_object->mt_toolbar.

ENDMETHOD. "handle_toolbar

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

*METHOD: HANDLE_USER_COMMAND

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

METHOD handle_user_command.

CASE e_ucomm.

WHEN 'DATA_CHANGE' .

<b>CALL METHOD gv_alv->get_selected_rows</b>

IMPORTING

  • ET_INDEX_ROWS =

et_row_no = lt_selected_rows.

<b>READ TABLE lt_selected_rows INTO ls_selected_row INDEX 1 .</b>

READ TABLE gt_it_schd_lines INTO

gs_wa_schd_lines INDEX <b>ls_selected_row-row_id</b>.

<b>If you make your columns editable using field catalog:</b>

<b>To record the changes in the grid:</b>

---You have to modify the field Catalog fields (fields that you want to make editable).Set the field EDIT as 'X'.For example if you want to make the field below editable:

ls_fcat-fieldname = 'CARRID'.

...

...

<b>ls_fcat-edit = 'X'.</b>

APPEND ls_fcat TO pt_fieldcat.

---Call the method below before you call the set_table_for_first_display.

<b>CALL METHOD ALV_GRID_INSTANCE->set_ready_for_input</b>

EXPORTING

i_ready_for_input = 0. ( For Display ) and ('1' for Edit )

After this put the set_table_for_first_display.

Now if the ALV data has changed,and you want to change the database or ztable,then in your pf status give a function code for SAVE button in the GUI.

In the PAI of the screen,in user command module write the following:

WHEN 'SAVE'.

<b>call method gr_alvgrid->check_changed_data</b>

importing e_valid = l_valid.

if l_valid = 'X'.

MODIFY spfli FROM TABLE itab_spfli.

endif.

(l_valid is a flag.

DATA:l_valid type c.

If you want to check if the user has entered any value on the grid, use the Method : CALL METHOD gr_alvgrid->check_changed_data.

This method returns a flag l_valid which can be checked to see if the data on the ALV grid has been changed or not.)

Regards,

Beejal

**Reward if this helps

Read only

p291102
Active Contributor
0 Likes
528

Hi,

Herewith i am sending the sample coding of the ALV GRID display report.Hope it may helps to u.

REPORT YMS_EXCISE MESSAGE-ID E4 NO STANDARD PAGE HEADING LINE-SIZE 350. .

TABLES : J_1IEXCHDR, " header table

J_1IEXCDTL, " item table

J_1IPART2, " Excise Part II details

LFA1, " vendor master table

J_1IMOVEND, " vendor excise details table

MSEG, " Document Segment: Material

MKPF, " Header: Material Document

DD07T, " domain text table

T001W. " Plant and Branch Details

DATA : BEGIN OF IT_CHDR OCCURS 100,

DOCNO LIKE J_1IEXCHDR-DOCNO,

DOCYR LIKE J_1IEXCHDR-DOCYR,

EXNUM LIKE J_1IEXCHDR-EXNUM,

EXDAT LIKE J_1IEXCHDR-EXDAT,

WERKS LIKE J_1IEXCHDR-WERKS,

EXBED LIKE J_1IEXCHDR-EXBED,

EXCCD LIKE J_1IEXCHDR-EXCCD,

ECS LIKE J_1IEXCHDR-ECS,

END OF IT_CHDR.

DATA : BEGIN OF IT_CDTL OCCURS 100,

DOCYR LIKE J_1IEXCDTL-DOCYR,

DOCNO LIKE J_1IEXCDTL-DOCNO,

EXNUM LIKE J_1IEXCDTL-EXNUM,

EXDAT LIKE J_1IEXCDTL-EXDAT,

LIFNR LIKE J_1IEXCDTL-LIFNR,

MATNR LIKE J_1IEXCDTL-MATNR,

MAKTX LIKE J_1IEXCDTL-MAKTX,

CHAPID LIKE J_1IEXCDTL-CHAPID,

EXBAS LIKE J_1IEXCDTL-EXBAS,

EXBED LIKE J_1IEXCDTL-EXBED,

ECS LIKE J_1IEXCDTL-ECS,

MENGE LIKE J_1IEXCDTL-MENGE,

MEINS LIKE J_1IEXCDTL-MEINS,

RDOC2 LIKE J_1IEXCDTL-RDOC2,

END OF IT_CDTL.

DATA TEXT(10).

DATA : BEGIN OF IT_OUT OCCURS 0,

SERIALNO LIKE J_1IPART2-SERIALNO,

TEXT1 LIKE TEXT,

EXNUM LIKE J_1IEXCDTL-EXNUM,

EXDAT LIKE J_1IEXCDTL-EXDAT,

NAME LIKE LFA1-NAME1,

DDTEXT LIKE DD07T-DDTEXT,

EXCCD LIKE J_1IEXCHDR-EXCCD,

BUDAT LIKE MKPF-BUDAT,

EXBAS LIKE IT_CDTL-EXBAS,

EXBED LIKE IT_CDTL-EXBED,

ECS LIKE IT_CDTL-ECS,

MATNR LIKE IT_CDTL-MATNR,

MAKTX LIKE IT_CDTL-MAKTX,

CHAPID LIKE IT_CDTL-CHAPID,

MENGE LIKE IT_CDTL-MENGE,

MEINS LIKE IT_CDTL-MEINS,

DEL_IND(1),

END OF IT_OUT.

DATA IT_PART2 LIKE J_1IPART2 OCCURS 0 WITH HEADER LINE.

DATA S_NO(4) .

DATA DB_CNT LIKE SY-TABIX.

DATA EBELN_T LIKE MSEG-EBELN .

*----


TYPE-POOLS : SLIS.

DATA : AFIELD TYPE SLIS_FIELDCAT_ALV.

DATA : LIST_HEADER TYPE SLIS_T_LISTHEADER,

FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

LS_FTCAT TYPE LVC_S_FCAT,

SORTCAT TYPE SLIS_T_SORTINFO_ALV,

SORTCAT_LN LIKE LINE OF SORTCAT,

G_REPID LIKE SY-REPID,

G_BACK_GROUND(70), "like bapibds01-objkey,

GS_VARIANT LIKE DISVARIANT,

G_SAVE ,

GT_EVENTS TYPE SLIS_T_EVENT,

ALV_EVENT TYPE SLIS_ALV_EVENT,

EVENTCAT TYPE SLIS_T_EVENT,

EVENTCAT_LN LIKE LINE OF EVENTCAT,

LAYOUT_IN TYPE SLIS_LAYOUT_ALV,

LAYOUT_IN1 TYPE SLIS_LAYOUT_ALV.

CONSTANTS : GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE

'TOP_OF_PAGE',

GC_FORMNAME_USER_COMMAND TYPE SLIS_FORMNAME VALUE

'USER_COMMAND',

GC_FORMNAME_BEFORE_OUTPUT TYPE SLIS_FORMNAME VALUE

'BEFORE_OUTPUT'.

  • ALV_EVENT TYPE SLIS_ALV_EVENT,

*----


DATA EX_NO LIKE IT_CHDR-EXNUM VALUE 0.

DATA REGTYP_1 LIKE J_1IPART2-REGTYP.

SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME.

PARAMETERS WERKS TYPE J_1IEXCHDR-WERKS.

SELECT-OPTIONS : BUDAT FOR J_1IEXCHDR-EXDAT.

PARAMETERS : R1 RADIOBUTTON GROUP GRP DEFAULT 'X',

R2 RADIOBUTTON GROUP GRP.

SELECTION-SCREEN END OF BLOCK B.

INITIALIZATION.

G_REPID = SY-REPID.

G_SAVE = 'A'.

  • PERFORM BUILD_EVENT USING GT_EVENTS[].

PERFORM ALV_EVENT_INIT.

AT SELECTION-SCREEN.

REFRESH LIST_HEADER.

PERFORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER.

START-OF-SELECTION.

  • PERFORM ALV_EVENT_INIT.

G_REPID = SY-REPID.

G_BACK_GROUND = ' ' .

IF R1 = 'X'.

CLEAR R2. CLEAR : REGTYP_1.

REGTYP_1 = 'A'.

  • set titlebar 'BALAJI' with DB_CNT.

ELSEIF R2 = 'X'.

CLEAR R1.CLEAR : REGTYP_1.

REGTYP_1 = 'C'.

  • set titlebar 'BALAJI1' with DB_CNT.

ENDIF.

SELECT * FROM J_1IPART2

INTO CORRESPONDING FIELDS OF TABLE IT_PART2

WHERE REGTYP = REGTYP_1 AND

TRNTYP = 'GRPO' AND

BUDAT IN BUDAT.

  • DOCYR = IT_CDTL-DOCYR AND

  • DOCNO = IT_CDTL-DOCNO.

LOOP AT IT_PART2.

SELECT SINGLE * FROM J_1IEXCHDR

INTO CORRESPONDING FIELDS OF IT_CHDR

WHERE TRNTYP = 'GRPO' AND

DOCYR = IT_PART2-DOCYR AND

DOCNO = IT_PART2-DOCNO AND

WERKS = WERKS AND

exdat IN BUDAT.

  • ORDER BY EXDAT.

IF SY-SUBRC = 0.

APPEND IT_CHDR.

ELSE.

CONTINUE.

ENDIF.

  • IF SY-SUBRC <> 0.

  • MESSAGE E084.

  • ENDIF.

ENDLOOP.

LOOP AT IT_CHDR.

SELECT * FROM J_1IEXCDTL

INTO CORRESPONDING FIELDS OF IT_CDTL

  • FOR ALL ENTRIES IN IT_CHDR

WHERE

TRNTYP = 'GRPO' AND

DOCNO = IT_CHDR-DOCNO AND

DOCYR = IT_CHDR-DOCYR AND

EXNUM = IT_CHDR-EXNUM AND

EXDAT = IT_CHDR-EXDAT AND

WERKS = IT_CHDR-WERKS.

IF SY-SUBRC = 0.

APPEND IT_CDTL.

ELSE.

CONTINUE.

ENDIF.

ENDSELECT.

ENDLOOP.

LOOP AT IT_CDTL.

CLEAR TEXT.

DB_CNT = DB_CNT + 1.

READ TABLE IT_CHDR WITH KEY EXNUM = IT_CDTL-EXNUM.

READ TABLE IT_PART2 WITH KEY DOCNO = IT_CDTL-DOCNO .

IT_OUT-SERIALNO = IT_PART2-SERIALNO.

SELECT SINGLE NAME1 FROM LFA1

INTO IT_OUT-NAME

WHERE LIFNR = IT_CDTL-LIFNR.

SELECT SINGLE * FROM LFA1

WHERE LIFNR = IT_CDTL-LIFNR.

IF LFA1-LAND1 EQ 'IN'.

TEXT = 'INVOICE'.

IT_OUT-TEXT1 = TEXT.

ELSE.

TEXT = 'BOE'.

IT_OUT-TEXT1 = TEXT.

ENDIF.

SELECT SINGLE * FROM J_1IMOVEND

WHERE LIFNR = IT_CDTL-LIFNR.

SELECT SINGLE * FROM DD07T

  • INTO IT_OUT-DDTEXT

WHERE DOMNAME = 'J_1IVTYP' AND

DDLANGUAGE = 'EN' AND

DOMVALUE_L = J_1IMOVEND-J_1IVTYP.

IF DD07T-DDTEXT = 'First Stage Dealer of indigenous excisable goods'

OR

DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisablegoods'.

DD07T-DDTEXT = 'Dealer'.

ENDIF.

IT_OUT-DDTEXT = DD07T-DDTEXT.

  • ELSEIF DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisable

*goods'.

  • DD07T-DDTEXT =

CLEAR EBELN_T.

SELECT SINGLE LFBNR FROM MSEG

INTO EBELN_T

WHERE MBLNR = IT_CDTL-RDOC2 .

SELECT SINGLE * FROM MSEG

WHERE BWART = '106' AND

LFBNR = EBELN_T ."and

  • ebeln = ebeln_t.

IF SY-SUBRC = 0.

IT_OUT-DEL_IND = 'X'.

ELSE.

IT_OUT-DEL_IND = ' '.

ENDIF.

SELECT SINGLE BUDAT FROM MKPF

INTO IT_OUT-BUDAT

WHERE MBLNR = EBELN_T ."MSEG-LFBNR.

IT_OUT-EXNUM = IT_CDTL-EXNUM.

IT_OUT-EXDAT = IT_CDTL-EXDAT.

IT_OUT-EXCCD = IT_CHDR-EXCCD.

IT_OUT-EXBAS = IT_CDTL-EXBAS.

IT_OUT-EXBED = IT_CDTL-EXBED.

IT_OUT-ECS = IT_CDTL-ECS.

IT_OUT-MATNR = IT_CDTL-MATNR.

IT_OUT-MAKTX = IT_CDTL-MAKTX.

IT_OUT-CHAPID = IT_CDTL-CHAPID.

IT_OUT-MENGE = IT_CDTL-MENGE.

IT_OUT-MEINS = IT_CDTL-MEINS.

APPEND IT_OUT.

  • EX_NO = IT_CDTL-EXNUM.

ENDLOOP.

*----


  • Title Portion

IF REGTYP_1 = 'A'.

SET TITLEBAR 'BALAJI' WITH DB_CNT.

ELSEIF REGTYP_1 = 'C'.

SET TITLEBAR 'BALAJI1' WITH DB_CNT.

ENDIF.

*----


AFIELD-COL_POS = 1.

AFIELD-FIELDNAME = 'SERIALNO'.

AFIELD-SELTEXT_L = 'INPUTS'.

AFIELD-JUST = 'L'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 2.

AFIELD-FIELDNAME = 'TEXT1'.

AFIELD-SELTEXT_L = 'TYPE OF DOC'.

AFIELD-JUST = 'L'.

AFIELD-DECIMALS_OUT = '0'.

AFIELD-NO_ZERO = 'X'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 3.

AFIELD-FIELDNAME = 'EXNUM'.

AFIELD-SELTEXT_L = 'DOC.NO'.

AFIELD-JUST = 'L'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 4.

AFIELD-FIELDNAME = 'EXDAT'.

AFIELD-SELTEXT_L = 'DOC.DATE'.

AFIELD-JUST = 'C'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 5.

AFIELD-FIELDNAME = 'NAME'.

AFIELD-SELTEXT_L = 'NAME OF THE SUPPLIER'.

AFIELD-NO_ZERO = 'X'.

AFIELD-JUST = 'L'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 6.

AFIELD-FIELDNAME = 'DDTEXT'.

AFIELD-SELTEXT_L = 'TYPE-OF-SUPPLIER'.

AFIELD-JUST = 'L'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 7.

AFIELD-FIELDNAME = 'EXCCD'.

AFIELD-SELTEXT_L = 'ECC OF THE SUPPLIER'.

AFIELD-NO_ZERO = 'X'.

AFIELD-JUST = 'L'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 8.

AFIELD-FIELDNAME = 'BUDAT'.

AFIELD-SELTEXT_L = 'INPUT RECV DATE'.

AFIELD-JUST = 'C'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 9.

AFIELD-FIELDNAME = 'EXBAS'.

AFIELD-SELTEXT_L = 'ASSESSABLE-VALUE'.

AFIELD-DO_SUM = 'X'.

AFIELD-JUST = 'R'.

AFIELD-DECIMALS_OUT = '2'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 10.

AFIELD-FIELDNAME = 'EXBED'.

AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN CENVAT'.

AFIELD-JUST = 'R'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 11.

AFIELD-FIELDNAME = 'ECS'.

AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN E-CESS'.

AFIELD-JUST = 'R'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 12.

AFIELD-FIELDNAME = 'MATNR'.

AFIELD-SELTEXT_L = 'MATERIAL-CODE'.

AFIELD-JUST = 'L'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 13.

AFIELD-FIELDNAME = 'MAKTX'.

AFIELD-SELTEXT_L = 'DESCRIPTION'.

AFIELD-JUST = 'L'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 14.

AFIELD-FIELDNAME = 'CHAPID'.

AFIELD-SELTEXT_L = 'TARIFF-ID'.

AFIELD-JUST = 'L'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 15.

AFIELD-FIELDNAME = 'MENGE'.

AFIELD-SELTEXT_L = 'QUANTITY'.

AFIELD-JUST = 'R'.

AFIELD-DO_SUM = ' '.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 16.

AFIELD-FIELDNAME = 'MEINS'.

AFIELD-SELTEXT_L = 'UOM'.

AFIELD-JUST = 'C'.

APPEND AFIELD TO FIELDCAT.

AFIELD-COL_POS = 17.

AFIELD-FIELDNAME = 'DEL_IND'.

AFIELD-SELTEXT_L = 'Deleted'.

AFIELD-JUST = 'C'.

APPEND AFIELD TO FIELDCAT.

  • * LAYOUT FOR ZEBRA CATLOG

LAYOUT_IN-COLWIDTH_OPTIMIZE = 'X'.

LAYOUT_IN-ZEBRA = 'X'.

LAYOUT_IN-GET_SELINFOS = 'X'.

LAYOUT_IN-CONFIRMATION_PROMPT = 'X'.

LAYOUT_IN-DETAIL_POPUP = 'X' .

  • SORTCAT-decimals = '0'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = G_REPID

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

I_SAVE = G_SAVE

IS_VARIANT = GS_VARIANT

IT_FIELDCAT = FIELDCAT

IT_SORT = SORTCAT

IS_LAYOUT = LAYOUT_IN

IT_EVENTS = EVENTCAT

  • I_BACKGROUND_ID = g_back_ground

TABLES

T_OUTTAB = IT_OUT.

&----


*& Form TOP_OF_PAGE_LIST_HEADER

&----


  • text

----


  • -->LIST_HEADERtext

----


FORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER TYPE SLIS_T_LISTHEADER.

DATA : HLINE TYPE SLIS_LISTHEADER,

TEXT(60) TYPE C.

CLEAR : HLINE,TEXT.

HLINE-TYP = 'H'.

  • WRITE 'ROOTS INDUSTRIES LTD' TO TEXT.

HLINE-INFO = TEXT.

APPEND HLINE TO LIST_HEADER.

SELECT SINGLE * FROM T001W WHERE WERKS = WERKS.

CLEAR : HLINE,TEXT.

HLINE-TYP = 'H'.

WRITE 'PLANT :' TO TEXT.

WRITE WERKS TO TEXT+8.

HLINE-INFO = TEXT.

APPEND HLINE TO LIST_HEADER.

CLEAR : HLINE,TEXT.

HLINE-TYP = 'H'.

WRITE T001W-NAME1 TO TEXT.

HLINE-INFO = TEXT.

APPEND HLINE TO LIST_HEADER.

CLEAR : HLINE,TEXT.

HLINE-TYP = 'H'.

WRITE T001W-STRAS TO TEXT.

HLINE-INFO = TEXT.

APPEND HLINE TO LIST_HEADER.

CLEAR : HLINE,TEXT.

HLINE-TYP = 'H'.

WRITE T001W-ORT01 TO TEXT.

HLINE-INFO = TEXT.

APPEND HLINE TO LIST_HEADER.

CLEAR : HLINE,TEXT.

HLINE-TYP = 'H'.

WRITE 'DATE :' TO TEXT.

WRITE BUDAT-LOW TO TEXT+7.

IF BUDAT-HIGH NE ''.

WRITE 'TO' TO TEXT+18.

WRITE BUDAT-HIGH TO TEXT+22.

ENDIF.

HLINE-INFO = TEXT.

APPEND HLINE TO LIST_HEADER.

ENDFORM. "TOP_OF_PAGE_LIST_HEADER

&----


*& Form ALV_EVENT_INIT

&----


  • text

----


FORM ALV_EVENT_INIT .

CLEAR ALV_EVENT.

ALV_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.

ALV_EVENT-FORM = 'ALV_TOP_OF_PAGE'.

APPEND ALV_EVENT TO EVENTCAT.

CLEAR ALV_EVENT.

ALV_EVENT-NAME = SLIS_EV_TOP_OF_LIST.

ALV_EVENT-FORM = 'ALV_TOP_OF_LIST'.

APPEND ALV_EVENT TO EVENTCAT.

  • CLEAR ALV_EVENT.

  • ALV_EVENT-NAME = SLIS_EV_END_OF_LIST.

  • ALV_EVENT-FORM = 'ALV_END_OF_LIST'.

  • APPEND ALV_EVENT TO GT_EVENTS.

  • CLEAR ALV_EVENT.

  • ALV_EVENT-NAME = SLIS_EV_END_OF_PAGE.

  • ALV_EVENT-FORM = 'ALV_END_OF_PAGE'.

  • APPEND ALV_EVENT TO GT_EVENTS.

ENDFORM. "ALV_EVENT_INIT

&----


*& Form ALV_TOP_OF_PAGE

&----


  • text

----


FORM ALV_TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = LIST_HEADER

I_LOGO = 'ENJOYSAP_LOGO'.

ENDFORM. "ALV_TOP_OF_PAGE

&----


*& Form BUILD_EVENT

&----


  • text

----


  • -->P_GT_EVENTS[] text

----


FORM BUILD_EVENT USING P_EVENTS TYPE SLIS_T_EVENT.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = P_EVENTS

EXCEPTIONS

LIST_TYPE_WRONG = 1

OTHERS = 2.

READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND INTO

ALV_EVENT.

IF SY-SUBRC = 0.

MOVE GC_FORMNAME_USER_COMMAND TO ALV_EVENT-FORM.

APPEND ALV_EVENT TO P_EVENTS.

ENDIF.

READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_BEFORE_LINE_OUTPUT INTO

ALV_EVENT.

IF SY-SUBRC = 0.

MOVE GC_FORMNAME_BEFORE_OUTPUT TO ALV_EVENT-FORM.

APPEND ALV_EVENT TO P_EVENTS.

ENDIF.

ENDFORM. " BUILD_EVENT

Thanks,

Shankar