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: 

ALV Function modules

Former Member

Hi Gurus,

I am trying to learn ALV, can anyone of you please explain me the following different ALV function modules in detail, I mean what exactly these function modules are doing along with an example:

1. REUSE_ALV_VARIANT_DEFAULT_GET

2. REUSE_ALV_VARIANT_F4

4. REUSE_ALV_EVENTS_GET

5. REUSE_ALV_COMMENTARY_WRITE

6. REUSE_ALV_FIELDCATALOG_MERGE

7. REUSE_ALV_LIST_DISPLAY

8. REUSE_ALV_GRID_DISPLAY

9. REUSE_ALV_POPUP_TO_SELECT

reuse_alv_block_init,

reuse_alv_block_append,

reuse_alv_block_display,

reuse_alv_hierque_list_display

Any help will really be appreciated.

Thanks,

Rajeev

1 ACCEPTED SOLUTION

Former Member
0 Kudos

REUSE_ALV_COMMENTARY_WRITE List body comment block output

REUSE_ALV_EVENTS_GET Returns table of possible events for a list type

REUSE_ALV_EVENT_NAMES_GET Returns table of constant names of possible events for a list type

REUSE_ALV_FIELDCATALOG_MERGE Create field catalog from dictionary structure or internal table

REUSE_ALV_HIERSEQ_LIST_DISPLAY Hierarchical sequential list output

REUSE_ALV_LIST_DISPLAY Output a simple list (single line or several lines)

REUSE_ALV_GRID_DISPLAY Output a simple list (single line or several lines)

REUSE_ALV_LIST_LAYOUT_INFO_GET Read current ALV list information

REUSE_ALV_LIST_LAYOUT_INFO_SET Set current ALV list information

REUSE_ALV_POPUP_TO_SELECT List in dialog box to choose one or more entries (or display only)

5 REPLIES 5

former_member156446
Active Contributor
0 Kudos

We can use ABAP ALV LIST and GRID function modules to display Normal LIST and Hiearchical LISTS .

All the definitions TYPES and STRUCTURES and CONSTANTS are defined

in the TYPE-POOL 'SLIS' ,so it should be declared first.

TYPE-POOLS : 'SLIS' .

To display ALV LISTS the function module used are :

REUSE_ALV_LIST_DISPLAY "For Normal LIST

REUSE_ALV_HIERARCHICAL_LIST_DISPLAY "For Hierarchical LIST

To display ALV GRID the function module used are :

REUSE_ALV_GRID_DISPLAY . "For GRID display

The most important component of the ALV is the FIELDCATALOG which is of

TYPE SLIS_T_FIEDLCAT_ALV

or of

TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV .

The line items of the field catalog are of

TYPE SLIS_FIELDCAT_ALV .

FIELDCATALOG

To prepare field catalog certain fields are essential .There are various other fields allowing for vaarious possibilities and display options.

TABNAME

FIELDNAME

REF_TABNAME

SELTECT_M

e.g.

DATA: WS_FCAT TYPE SLIS_FIELDCAT_ALV . "LINE ITEM OF FCAT

DATA: IN_FCAT TYPE SLIS_T_FIELDCAT_ALV.

WS_FCAT-TABNAME = 'MARA'.

WS_FCAT-FIELDNAME = 'MATNR'.

WS_FCAT-SELTEXT_M = 'Material Number'.

APPEND WS_FCAT TO IN_FCAT .

CLEAR WS_FCAT.

WS_FCAT-TABNAME = 'MAKT'.

WS_FCAT-FIELDNAME = 'MAKTX'.

WS_FCAT-SELTEXT_M = 'Material Description'.

APPEND WS_FCAT TO IN_FCAT .

This will create fieldcatalog with two columns for displaying material and material description .

RESUSE_ALV_LIST_DISPLAY.

The following FM is used to display the data in the internal table in the form of ALV

LIST. The Event table is only required if event handling is being done.

CALL FUNCTION 'RESUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = W_REPID "of TYPE SY-REPID and

" value SY-REPID

IS_LAYOUT = W_LAYOUT "of TYPE SLIS_LAYOUT_ALV

IT_FIELDCAT = IN_FCAT "of TYPE SLIS_T_FIELDCAT_ALV

I_SAVE = W_SAVE "of TYPE C ,values A ,U ,' '

IT_EVENTS = IN_EVENTS " of TYPE SLIS_T_EVENT

TABLES

T_OUTTAB = IN_DATA "internal table conatining data

"corresponding to IN_FCAT

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2

IF SY-SUBRC NE 0.

MESSAGE ENNN .

ENDIF.

REUSE_ALV_EVENTS_GET.

This FM is used to get the default event table of the ALV LIST DISPLAY.

The IN_EVENTS internal table is of TYPE SLIS_T_EVENT. This table contains

all the events wrapped up in the ALV LIST or ALV GRID and consistsof two fields

NAME and FORM .The NAME corresponds to names of the events like TOP_OF_PAGE and END_OF_PAGE ,USER_COMMAND and FORM will contain the name of the FORM ROUTINE that will be called dynamically through callback mechanism when the particular event will fire and is initial for all events bt default and has to be filled for

events for which handling is required.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = IN_EVENTS[].

e.g.

DATA: W_EVENT TYPE SLSI_ALV_EVENT "LINE ITEM OF EVENT TABLE

DATA: IN_EVENTS TYPE SLSI_T_EVENT . "Internal table containing events

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = IN_EVENTS[].

RTEAD TABLE IN_EVENTS WITH KEY NAME = 'TOP_OG_PAGE'

INTO W_EVENT.

IF SY-SUBRC EQ 0.

MOVE 'F3000_TOP_OF_PAGE' TO W_EVENT -FORM.

MODIFY IN_EVENTS FROM W_EVENT INDEX SY-TABIX.

ENDIF.

Here the FORM ROUTINE 'F3000_TOP_OF_PAGE' is being set up for the

event TOP_OF_PAGE which will fire when the ALV LIST will be displayed ,This form

will be called dynamically by th ALV LIST display during top_of_page event and for this the modified Events internal table has to be passed to the FM 'REUSE_ALV_LIST_DISPLAY' in the exporting parameter IT_EVENTS. Failing this the form '3000_TOP_OF_PAGE' will not be called . This event is used for placing heading information like Current date and time and the name of the report.

Former Member
0 Kudos

REUSE_ALV_COMMENTARY_WRITE List body comment block output

REUSE_ALV_EVENTS_GET Returns table of possible events for a list type

REUSE_ALV_EVENT_NAMES_GET Returns table of constant names of possible events for a list type

REUSE_ALV_FIELDCATALOG_MERGE Create field catalog from dictionary structure or internal table

REUSE_ALV_HIERSEQ_LIST_DISPLAY Hierarchical sequential list output

REUSE_ALV_LIST_DISPLAY Output a simple list (single line or several lines)

REUSE_ALV_GRID_DISPLAY Output a simple list (single line or several lines)

REUSE_ALV_LIST_LAYOUT_INFO_GET Read current ALV list information

REUSE_ALV_LIST_LAYOUT_INFO_SET Set current ALV list information

REUSE_ALV_POPUP_TO_SELECT List in dialog box to choose one or more entries (or display only)

0 Kudos

Thanks for the reply Mahalaxmi....but it will be great if you can explain me in detail !!!!

Thanks,

Rajeev

0 Kudos

REUSE_ALV_COMMENTARY_WRITE : This is used in the Top-of-page event to print the headings and other comments for the list.

Parameters :

I. it_list_commentary : internal table with the headings of the type slis_t_listheader.

This internal table has three fields :

Typ : ‘H’ – header, ‘S’ – selection , ‘A’ - action

Key : only when typ is ‘S’.

Info : the text to be printed

REUSE_ALV_LIST_DISPLAY : This is the function module which prints the data.

The important parameters are :

I. Export :

i. I_callback_program : report id

ii. I_callback_pf_status_set : routine where a user can set his own pf status or change the functionality of the existing pf status

iii. I_callback_user_command : routine where the function codes are handled

iv. I_structure name : name of the dictionary table

v. Is_layout : structure to set the layout of the report

vi. It_fieldcat : internal table with the list of all fields and their attributes which are to be printed (this table can be populated automatically by the function module REUSE_ALV_FIELDCATALOG_MERGE

vii. It_events : internal table with a list of all possible events of ALV and their corresponding form names.

II. Tables :

i. t_outtab : internal table with the data to be output

REUSE_ALV_GRID_DISPLAY : A new function in 4.6 version, to display the results in grid rather than as a preview.

Parameters : same as reuse_alv_list_display

REUSE_ALV_FIELDCATALOG_MERGE : This function module is used to populate a fieldcatalog which is essential to display the data in ALV. If the output data is from a single dictionary table and all the columns are selected, then we need not exclusively create the field catalog. Its enough to mention the table name as a parameter(I_structure name) in the REUSE_ALV_LIST_DISPLAY. But in other cases we need to create it.

The Important Parameters are :

I. Export :

i. I_program_name : report id

ii. I_internal_tabname : the internal output table

iii. I_inclname : include or the report name where all the dynamic forms are handled.

II Changing

ct_fieldcat : an internal table with the type SLIS_T_FIELDCAT_ALV which is

declared in the type pool SLIS.

REUSE_ALV_EVENTS_GET : Returns table of possible events for a list type

Parameters :

I. Import :

Et_Events : The event table is returned with all possible CALLBACK events

for the specified list type (column 'NAME'). For events to be processed by Callback, their 'FORM' field must be filled. If the field is initialized, the event is ignored. The entry can be read from the event table, the field 'FORM' filled and the entry modified using constants from the type pool SALV.

II. Export :

I_List_type :

0 = simple list REUSE_ALV_LIST_DISPLAY

1 = hierarchcal-sequential list REUSE_ALV_HIERSEQ_LIST_DISPLAY

2 = simple block list REUSE_ALV_BLOCK_LIST_APPEND

3 = hierarchical-sequential block list

REUSE_ALV_BLOCK_LIST_HS_APPEND

REUSE_ALV_HIERSEQ_LIST_DISPLAY

Parameters:

I. Export:

i. I_CALLBACK_PROGRAM

ii. I_CALLBACK_PF_STATUS_SET

iii. I_CALLBACK_USER_COMMAND

iv. IS_LAYOUT

v. IT_FIELDCAT

vi. IT_EVENTS

vii. i_tabname_header : Name of the internal table in the program containing the

output data of the highest hierarchy level.

viii. i_tabname_item : Name of the internal table in the program containing the

output data of the lowest hierarchy level.

ix. is_keyinfo : This structure contains the header and item table field

names which link the two tables (shared key).

II. Tables

i. t_outtab_header : Header table with data to be output

ii. t_outtab_item : Name of the internal table in the program containing the

output data of the lowest hierarchy level.

slis_t_fieldcat_alv : This internal table contains the field attributes. This internal table can be populated automatically by using ‘REUSE_ALV_FIELDCATALOG_MERGE’.

Important Attributes :

A. col_pos : position of the column

B. fieldname : internal fieldname

C. tabname : internal table name

D. ref_fieldname : fieldname (dictionary)

E. ref_tabname : table (dictionary)

F. key(1) : column with key-color

G. icon(1) : icon

H. symbol(1) : symbol

I. checkbox(1) : checkbox

J. just(1) : (R)ight (L)eft (C)ent.

K. do_sum(1) : sum up

L. no_out(1) : (O)blig.(X)no out

M. outputlen : output length

N. seltext_l : long key word

O. seltext_m : middle key word

P. seltext_s : short key word

Q. reptext_ddic : heading (ddic)

R. ddictxt(1) : (S)hort (M)iddle (L)ong

S. datatype : datatype

T. hotspot(1) : hotspot

0 Kudos

Hi,

You will get full documentation about in FMs documentation in SE37 itself. You need to put some effort for it.

Thanks,

Sriram Ponna.