You are on page 1of 34

ABAP LIST VIEWER

Table of Contents
1. INTRODUCTION .......................................................................................................................... 3 1.1. FUNCTION REUSE_ALV_LIST_DISPLAY ......................................................................... 3 1.1.1. Functionality..................................................................................................................... 3 1.1.2. Principle: .......................................................................................................................... 3 1.1.3. Notes ................................................................................................................................. 3 2. REUSE_ALV_LIST_DISPLAY MAIN PARAMETERS ....................................................... 4 2.1. I_INTERFACE_CHECK ......................................................................................................... 4
Interface consistency check log output ......................................................................................................... 4

2.1.1. Description ....................................................................................................................... 4 2.1.2. Default .............................................................................................................................. 4 2.2. I_CALLBACK_PROGRAM .................................................................................................... 4


Name of the calling program ........................................................................................................................ 4

2.2.1. Description ....................................................................................................................... 4 2.3. I_CALLBACK_PF_STATUS_ST ........................................................................................... 4


Set EXIT rountine to status ........................................................................................................................... 4

2.3.1. Description ....................................................................................................................... 4 2.3.2. Default .............................................................................................................................. 5 2.4. I_CALLBACK_USER_COMMAND ...................................................................................... 5


EXIT routine for command handling ............................................................................................................ 5

2.4.1. Description ....................................................................................................................... 5 2.5. I_STRUCTURE_NAME .......................................................................................................... 6


Internal output table structure name.............................................................................................................. 6

2.5.1. Description ....................................................................................................................... 6 2.6. IS_LAYOUT ............................................................................................................................ 6


List layout specifications .............................................................................................................................. 6

2.6.1.

Description ....................................................................................................................... 6

Display options ............................................................................................................................................. 7 Exceptions .................................................................................................................................................... 7 Totals ............................................................................................................................................................ 8 Interaction ..................................................................................................................................................... 9 Detail screen ............................................................................................................................................... 12 Display variants (only relevant for hierarchical-sequential lists) ................................................................ 13 Color ........................................................................................................................................................... 13 Others ......................................................................................................................................................... 14

2.6.2. Default ............................................................................................................................ 15 2.7. IT_FIELCAT .......................................................................................................................... 15


Field catalog with field descriptions ........................................................................................................... 15

2.7.1.

Description ..................................................................................................................... 15

Positioning .................................................................................................................................................. 15 Identification............................................................................................................................................... 16 Data Dictionary reference ........................................................................................................................... 16 Reference to fields with currency/measurement unit .................................................................................. 17 Link to currency unit .................................................................................................................................. 17 Link to measurement unit ........................................................................................................................... 17 Column output options ............................................................................................................................... 18 Texts ........................................................................................................................................................... 20 Parameters for program fields without Data Dictionary reference .............................................................. 21 Others ......................................................................................................................................................... 22

2.7.2. Default ............................................................................................................................ 22 2.8. IT_EXCLUDING ................................................................................................................... 23


Table of inactive function codes ................................................................................................................. 23

2.8.1. Description ..................................................................................................................... 23 2.9. IT_SPECIAL_GROUP ........................................................................................................... 23


Grouping fields for column selection.......................................................................................................... 23

2.9.1. Description ..................................................................................................................... 23 2.10. IT_SORT ............................................................................................................................ 24


Sort criteria for first list display .................................................................................................................. 24

2.10.1.

Description ..................................................................................................................... 24

ABAP LIST VIEWER


2.11. IT_FILTER ......................................................................................................................... 25

Filter criteria for first list output ................................................................................................................. 25

2.11.1. Description ..................................................................................................................... 25 2.12. IS_SEL_HIDE .................................................................................................................... 25


Selection information modification ............................................................................................................ 25

2.12.1. Description ..................................................................................................................... 25 2.13. I_DEFAULT ....................................................................................................................... 26


Initial variant active/inactive logic .............................................................................................................. 26

2.13.1. Description ..................................................................................................................... 26 2.13.2. Value Range.................................................................................................................... 26 2.13.3. Default ............................................................................................................................ 26 2.14. I_SAVE .............................................................................................................................. 26
Variants can be saved ................................................................................................................................. 26

2.14.1. Description ..................................................................................................................... 26 2.14.2. Value Range.................................................................................................................... 26 2.14.3. Default ............................................................................................................................ 26 2.15. IS_VARIANT ..................................................................................................................... 27
Variant information .................................................................................................................................... 27

2.15.1. Description ..................................................................................................................... 27 2.15.2. Value Range.................................................................................................................... 27 2.15.3. Default ............................................................................................................................ 28 2.16. IT_EVENTS ....................................................................................................................... 28
Table of events to perform .......................................................................................................................... 28 Description ................................................................................................................................................. 28

2.17.

IT_EVENT_EXIT .............................................................................................................. 31

Standard fcode exit requests table............................................................................................................... 31

2.17.1. Description ..................................................................................................................... 31 2.18. IS_PRINT ........................................................................................................................... 31


Print information......................................................................................................................................... 31

2.18.1. Description ..................................................................................................................... 31 2.19. IT_SCREEN_START_COLUMN ..................................................................................... 32


Coordinates for list in dialog box................................................................................................................ 32

2.19.1. Description ..................................................................................................................... 32 2.20. IT_SCREEN_START_LINE ............................................................................................. 32


Coordinates for list in dialog box................................................................................................................ 32

2.20.1. Description ..................................................................................................................... 32 2.21. IT_SCREEN_END_COLUMN .......................................................................................... 33


Coordinates for list in dialog box................................................................................................................ 33

2.21.1. Description ..................................................................................................................... 33 2.22. IT_SCREEN_END_LINE .................................................................................................. 33


Coordinates for list in dialog box................................................................................................................ 33

2.22.1. Description ..................................................................................................................... 33 2.23. E_EXIT_CAUSED_BY_CALLER .................................................................................... 33


Delete list in CALLBACK_USER_COMMAND ...................................................................................... 33

2.23.1. Description ..................................................................................................................... 33 2.24. ES_EXIT_CAUSED_BY_USER ....................................................................................... 33


How the user left the list ............................................................................................................................. 33

2.24.1. Description ..................................................................................................................... 33 2.25. T_OUTTAB ....................................................................................................................... 34


Table with data to be displayed .................................................................................................................. 34

2.25.1. 3.

Description ..................................................................................................................... 34

REUSE_ALV_LIST_DISPLAY EXCEPTIONS ................................................................... 34 3.1. PROGRAMME ERRORS ...................................................................................................... 34


Program errors ............................................................................................................................................ 34

3.1.1.

Exception type................................................................................................................. 34

ABAP LIST VIEWER

1. INTRODUCTION
The aims of this part is to present the main technical functionalities of ALV. The function Abap List Viewer report information with the function REUSE_ALV_LIST_DISPLAY, after initialisation of: Field for output table Format of layout Events like Top of page Printing Display variant

1.1. Function REUSE_ALV_LIST_DISPLAY


1.1.1. Functionality
This module outputs an internal table with any structure as a formatted one-line or multipleline list.

1.1.2.

Principle:

Pass an internal table with the set of output information Pass a structure with general list layout details Pass a field catalogue as an internal table The field catalogue describes the fields to be output in the list.

1.1.3.

Notes

All actions on the list refer directly to the internal output table, e.g. sorting the list also sorts the passed internal output table (passed by reference). An important consideration for the use of the tools and certain generic functions (totals, subtotals) is the expected amount of data to be displayed. The application must take this consideration into account.

ABAP LIST VIEWER

2. REUSE_ALV_LIST_DISPLAY MAIN PARAMETERS


2.1. I_INTERFACE_CHECK Interface consistency check log output
2.1.1. Description
To avoid overloading list output with interface consistency checks, they are only made in an extra call mode. If this parameter is 'X', the consistency of the interface is checked when the function module is called, and an error log is output. This parameter should only be set for development test purposes (e.g. in debugging). The interface check can also be made on the results list by entering the function code &SOS.

2.1.2.
SPACE

Default

2.2. I_CALLBACK_PROGRAM Name of the calling program


2.2.1. Description
Program which calls the function module and contains the exit routines. It must be a Report, Function group, Module pool or Form routine pool (not an Include).

Note: Never pass SY-REPID directly in the interface. If the desired program name is in SYREPID, it must be assigned to an intermediate variable which is then passed to the interface.

2.3. I_CALLBACK_PF_STATUS_ST Set EXIT rountine to status


2.3.1. Description
Passing an EXIT routine tells the ALV that the caller wants to set his or her own user status. In this case, the default ALV status is not set. The form routine interface must be defined as follows: FORM set_pf_status USING rt_extab TYPE slis_t_extab The table RT_EXTAB contains those function codes that are hidden on the standard interface.

ABAP LIST VIEWER


If the caller wants to use his or her own interface (to offer other functions on the list or transfer existing functionality, for example), it is recommended that he or she copy the standard status STANDARD from function group SALV and make the appropriate changes. Standard ALV function codes always begin with '&'. Please consult the documentation on the I_CALLBACK_USER_COMMAND parameter as well.
If, however, the user chooses to use his or her own interface that contains the standard interface's function codes, the function codes from the excluding table passed must also be taken into consideration. This means that the user status should always be set as follows:

SET PF-STATUS usrstatus EXCLUDING rt_extab. Excluding table rt_extab can be appended to include those application functions that are to be deactivated. The system calls this routine whenever the standard interface is set using SET PF-STATUS.

2.3.2.

Default

If no exit routine is entered, then the ALV sets a status that corresponds to the STANDARD status of function group SALV.

2.4. I_CALLBACK_USER_COMMAND EXIT routine for command handling


2.4.1. Description
Passing an EXIT routine tells ALV that the application wants to react to certain function codes itself. These are general function codes which ALV does not recognize (not ALV standard functions) and which were defined and set by an application status. See also the documentation of the parameter I_CALLBACK_PF_STATUS_SET. The interface of the specified form routine must be defined as follows: FORM user_command USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield. The parameter R_UCOMM contains the function code called. The structure RS_SELFIELD contains the following information: tabname : internal output table name tabindex : internal output table index fieldname: field name of cursor position sel_tab_field: cell name of cursor position (internal ALV table name field endsum : cursor is on the final total row sumindex : if >0, the cursor is on a subtotal row value : field value on the list refresh : (exporting) list is to be refreshed col_stable:(exporting) keep column positions in refresh row_stable:(exporting) keep row positions in refresh exit :(exporting) leave list (and ALV) before_action: jump before performing standard action

ABAP LIST VIEWER


after_action : jump after performing standard action, before creating list ignore_multi : internal use The exit routine always runs when a function code occurs which ALV does not recognize, or a jump before or after a standard function code is defined by the interface parameter IT_EVENT_EXIT. See also the documentation of the parameter IT_EVENT_EXIT. The function code and current cursor position information are passed to the calling program via the exit routine. If several lines are selected by marking checkboxes, the output table checkbox field contains the current status of the checkbox in the list.

2.5. I_STRUCTURE_NAME Internal output table structure name


2.5.1. Description
If the internal output table is defined via an ABAP/4 Dictionary structure (INCLUDE STRUCTURE struct or LIKE struct), the field catalog can be built-up automatically by passing the structure name. The field catalog is internally built up for this structure as follows: All fields are in the list (NO_OUT = SPACE) except fields of data type CLNT. The key fields of the Dictionary structure are also key fields in the field catalog. Dictionary references to unit fields are copied if the reference fields are in the structure. If a field catalog is also passed as parameter, the structure information is combined with this field catalog. For further information about the automatic build-up of the field catalog, see the documentation of the function module REUSE_ALV_FIELDCATALOG_MERGE.

2.6. IS_LAYOUT List layout specifications


2.6.1. Description
Output list description structure. The parameters are described under the following headers: Display options Exceptions Totals Interaction

ABAP LIST VIEWER


Detail screen Display variants (only for hierarchical-sequential lists) Color Other Note the section 'Default'.

Display options colwidth_optimize value set: SPACE, 'X' are displayed completely. no_colhead value set: SPACE, 'X' zebra value set: SPACE, 'X'

'X' = optimzes the column width so that all contents

'X' = column headers are not output

'X' = striped pattern (e.g. for wide lists)

no_vline (not relevant for: hierarchical-sequential lists and multiple-line lists.) value set: SPACE, 'X' 'X'= columns separated by SPACE no_min_linesize (not relevant for block lists) value set: SPACE, 'X' X' = line size depends on list width ' ' = line size is set to 80 or MIN_LINESIZE (if > 0) . min_linesize value set: 0, 10 250

minimum width of the list (to change default of 80)

If the list is wider, the format uses the list width (maximum 250 or MAX_LINESIZE (if > 0)). prerequisite: no_min_linesize = ' '. max_linesize value set: 0, 80 1020

maximum list width (to change the default of 250)

interactively-definable maximum list width setting. Caution: wide lists are difficult to read and to print.

Exceptions lights_fieldname value set: SPACE, internal output table field name internal output table field containing the codes of exceptions to be output. Output table field code: '1' = red traffic light

ABAP LIST VIEWER


'2' = yellow traffic light '3' = green traffic light lights_tabname (Only relevant for hierarchichal-sequential lists.) value set: SPACE, internal output table name
Name of the internal output table which contains the field in the parameter LIGHTS_FIELDNAME. If LIGHTS_FIELDNAME is not empty, this field must also be filled for hierarchical-sequential lists.

lights_rollname value set: SPACE, data element name The documentation of this data element is displayed when you call F1 help for an exception column. lights_condense value set: SPACE, 'X' 'X' = the 'maximum' exception of the items in the subtotal is output at subtotal level. Ex.: if a list record is output with 'red traffic light', each subtotal which includes this record is also output with 'red traffic light'.

Totals no_sumchoice value set: SPACE, 'X' 'X' = fields which are to be summed, passed by the calling program (FIELDCAT-DO_SUM = 'X'). The user should not be able to change this value interactively. no_totalline value set: SPACE, 'X' 'X' = no total record is to be output. Subtotals can still be calculated and output. The fields in the subtotals are flagged DO_SUM = 'X' in the field list. no_subchoice value set: SPACE, 'X' 'X' = value whose change triggers subtotals, provided by the calling program. The user should not be able to change this value interactively. See also the documentation of the IMPORTING parameter IT_SORT. no_subtotals value set: SPACE, 'X' totals_only value set: SPACE, 'X'

'X' = no subtotals.

'X' = only total records are output.

an interactive breakdown of simple and hierarchical-sequential lists is possible. prerequisite: the IMPORTING parameter IT_SORT contains the sort criteria and subtotal flags.

See also the documentation of the IMPORTING parameter IT_SORT.

ABAP LIST VIEWER


totals_text

value set: SPACE, string(max.60) ' ' = the first column in the total record contains an appropriate number of '*'s to indicate the total by default. If the first column is wide enough, the string 'Total' is output after the asterisks. 'string' = the string passed is output after the total indicated by '*', if the column is wide enough.

subtotals_text

value set: SPACE, string(max.60) ' ' = in the first column of subtotal records, the subtotal is indicated by an appropriate number of '*' by default. If the first column is not a subtotal criterion, the string 'Total' is output after the asterisks, if the column is wide enough.

'string' = the string passed is output after the subtotal indicated by '*', if the column is wide enough and the first column is not a subtotal criterion. If it is a subtotal criterion, its value is repeated after the total, if the column is wide enough. numc_sum value set: SPACE, 'X'

' ' = by default NUMC fields cannot be totalled

'X' = NUMC fields can be totalled. If this flag is set, the total can be controlled via the FIELDCAT-NO_SUM parameter per NUMC column.

Interaction box_fieldname value set: SPACE, internal output table field name if the list has checkboxes at the start of records (for selecting several records), this parameter contains the internal output table field name indicated by the checkbox selection column. The field is a checkbox at the start of list records without a list header. box_tabname value set: SPACE, internal output table name
Only relevant for hierarchical-sequential lists. Name of the internal output table which contains the field in the parameter BOX_FIELDNAME. If BOX_FIELDNAME is not empty, this field must also be filled for hierarchical-sequential lists.

no_input value set: SPACE, 'X' 'X' = all ready-for-input fields in a list are displayed as not ready-for-input. (record selection checkboxes and fields which can be made ready-for-input via the field list parameter FIELDCAT-INPUT = 'X') expand_fieldname value set: SPACE, internal header table field name Only relevant for hierarchical-sequential lists

ABAP LIST VIEWER


if hierarchical-sequential list items are to be expandable and collapsable, the internal header table must contain an additional CHAR(1) field which contains the expansion status of the header entry. The name of this field must be assigned to the parameter IS_LAYOUTEXPAND_FIELDNAME. The initial value of the field in the header table is that the items are not displayed and the folder symbol SYM_PLUS_FOLDER appears in the list before the header entry.
If the field contains 'X' for a header entry, the items for this header appear, and the folder symbol SYM_MINUS_FOLDER appears on the list before the header entry.

The user can show or hide the items by clicking on the folder symbol (hotspot). If the items for a header entry are only to be read by the calling program and passed to ALV when a header has been expanded interactively, this can be controlled via the CALLBACK event 'ITEM_DATA_EXPAND'. See also the documentation of the parameter IT_EVENTS. f2code value set: SPACE, function code
meaning in the ALV standard interface: To assign an ALV standard function code to double-click (F2), assign the function code to this parameter.

Ex.: to assign the ALV standard function 'Detail' ('&ETA') to F2. => LAYOUT-F2CODE = '&ETA' Effect in 'user interface': Case 1: the ALV standard function code for F2 '&IC1' is left in the copied application interface, but F2 is to have a function which is not under F2 in the interface (ALV standard function or application function). Pass this function codeto ALV in the parameter F2CODE.
Case 2: The ALV standard function code for F2 '&IC1' was deleted from the application interface and replaced by another function code (ALV standard function or application function). Pass this function code to ALV in the parameter F2CODE. This is the prerequisite for column selection in this case.

confirmation_prompt value set: SPACE, 'X' 'X' = if one of the functions 'Back(F03)', 'Exit(F15)' or 'Cancel(F12)' occurs, a confirmation prompt appears. key_hotspot value set: SPACE, 'X'

The columns defined in the field catalog as key fields

(FIELDCAT-KEY = 'X') are output as hotspots, i.e. clicking on a key column (highlighted in color in the list) calls the function under F2. reprep
'X' = activate Report/Report interface:

value set: SPACE, 'X'

10

ABAP LIST VIEWER


prerequisite: application system (=> Report RKKBRSTI exists).
List module is a possible sender in the Report/Report interface logic (poss. initialization of the interface...). The calling report/module pool... of type RT=Report in I_CALLBACK_PROGRAM is passed to the Report/Report interface as sender report. If the sender report is assigned to receiver reports in the table TRSTI, the function code BEBx is active (x = function code class).

Example: If Report Writer report group 7KOI with function code class '3' (SAP setting) is assigned as a receiver for the sender RKTFGS15, this receiver report group is called by function code 'BEB3' via the Re/Re interface. The report restrictions and the key information of the selected records are passed to the Re/Re interface as selection criteria. For further information about the Report/Report interface see the documentation of the function group 'RSTI'. group_buttons consecutively) value set: SPACE, 'X' Prerequisite: Group output fields via FIELDCAT-SP_GROUP in the field list, and pass the group name to the list module in the interface parameter IT_SPECIAL_GROUPS. Further information: See the documentation of the IMPORTING parameter IT_SPECIAL_GROUPS. and the field catalog parameter FIELDCAT-SP_GROUP of the IMPORTING parameter IT_FIELDCAT. ' ' = if the prerequisite is fulfilled, but the parameter is not set, the function code '&OL0' calls the display variant popup in which you can show the visible fields in the field list by their groups. All fields in the field list are visible by default. The user can go to the group views in the popup. The fields can be classified into any number of logical groups (1:n). 'X' = a maximum of five logical groups can be formed. The display variant popup for each of these groups can be called by its own function in the interface. The fields in the field list belong to this group. The ALV standard interface contains pushbuttons for the first three groups (the first three entries in the internal table IT_SPECIAL_GROUPS). The group text passed in IT_SPECIAL_GROUPS is displayed as pushbutton text. The display variant popup for the fourth and fifth groups can be called via the right-hand mouse key function selection. When the display variant popup for a field group is called, that group is selected, but the user can change the group view in the popup. The function codes &OLx (x=1,2,3,4,5) call the display variant popups for the respective group. There are pushbuttons for the function codes &OL1, &OL2 and &OL3 in the ALV standard interface (function group KKBL status STANDARD). The functions &OL4 and &OL5 only have function keys. Not relevant for block lists (output of several lists

11

ABAP LIST VIEWER


A group 'All fields' is added by the System when grouping logic is used (= the above prerequisite is satisfied), regardless of the setting of this parameter. no_keyfix Not relevant for block lists (output of several lists consecutively) value set: SPACE, 'X' ' ' = the key columns defined in the field catalog by FIELDCAT-KEY = 'X' are fixed in the list output. These columns do not scroll horizontally. The item table key columns are fixed in hierarchical-sequential lists. The header table key fields are not considered here. 'X' = key columns not fixed. The user can change these general settings interactively. To fix a column by default which is not a key column, set the parameter to 'X' and control it via the field list. See the documentation of the field list parameter FIELDCATFIX_COLUMN of the IMPORTING parameter IT_FIELDCAT. get_selinfos value set: SPACE, 'X'
If the calling program is a report with an ABAP/4 selection screen, setting this parameter makes ALV read the selection screen again. If the selections are read successfully, a pushbutton, via which the user can call a popup which lists the report selections in a simple form, becomes active on the results list output by ALV. The contents of this popup are printed, if the interface IS_PRINT structure parameter NO_PRINT_SELINFOS is not set. You can ensure that they are printed on a separate page by setting the parameter IS_PRINT-NO_COVERPAGE.

For more information about printed output, see the documentation of the parameter IS_PRINT. group_change_edit value set: SPACE, 'X' 'X' = the user can enter a format option for each sort criterion in the sort/subtotal popup, for the list format when this value changes (e.g. new page or undeline). For further information about sorting see the documentation of the parameter IT_SORT.

Detail screen detail_popup value set: SPACE, 'X' of-page.

' ' = list record detail display in full-screen mode, with top-

'X' = list record detail display in popup (without top-of-page). detail_initial_lines value set: SPACE, 'X' '

X' = initial field contents are also output in detail.

' ' = only fields whose contents are not initial are output in the detail view. detail_titlebar value set: SPACE, string(max.30)

12

ABAP LIST VIEWER


' ' = 'Detail: Display' is output as the title of the detail window.
'string' = the string passed is output as the title of the detail window.

Display variants (only relevant for hierarchical-sequential lists) header_text only relevant for hierarchical-sequential lists value set: SPACE, CHAR(20) you can toggle between display field and field list views via pushbuttons in the display variant definition popup for hierarchical-sequential lists. The views refer to the hierarchy level of the fields. This is technically a toggle between the header table and item table fields. ' ' = the header table field pushbutton text is 'Header' by default. CHAR(20) = header table field pushbutton text. item_text only relevant for hierarchical-sequential lists value set: SPACE, CHAR(20)

You can toggle the view between the display fields and the field list via pushbuttons in the display variant definition popup for hierarchical-sequential lists. The views refer to the hierarchy level of the fields. This is technically a toggle between the header table and item table fields.
' ' = the pushbutton text for the item table fields is 'Item' by default. CHAR(20) = item table field pushbutton text.

item_default only relevant for hierarchical-sequential lists value set: SPACE, 'X' ' ' = the header table fields are displayed by default in the display variant definition popup. The user can switch to the item table fields interactively. 'X' = the item table fields are displayed by default in the display variant Definition Popup. The user can switch to the header table fields interactively.

Color info_fieldname value set: SPACE, internal output table field name
A whole list record can be colored individually using a color code in a column of the internal output table for the record. Assign the name of the field containing the color code to this parameter. The internal output table field must be of type CHAR(3).

The code must have the following syntax: 'Cxy': C = color (all codes must start with 'C') x = color number ('1'-'9')

13

ABAP LIST VIEWER


y = bold ('0' = off, '1' = on) Note: the color of the key columns is not affected. Key columns can be colored at record or cell level using the complex coloring which is described in the next parameter COLTAB_FIELDNAME. To color columns, see the documentation of the field catalog parameter FIELDCATEMPHASIZE of the IMPORTING parameter IT_FIELDCAT. coltab_fieldname value set: SPACE, internal output table field name Cells can be colored individually using a color code which is contained in a column of the internal output table for the record containing the cell. Assign the name of the field to this parameter. The internal output table field must be of type SLIS_T_SPECIALCOL_ALV.
Principle: the color code field is entered for the record containing the cells to be colored. The field contains an internal table with the above structure, containing the field names of the cells to be colored and the color code. The cell coordinates are determined by the record position containing the color code and the column information in the color table.

The record structure of the internal color table of type SLIS_T_SPECIALCOL_ALV is as follows: Color table-FIELDNAME = field name of the cell to be colored Color table-COLOR-COL = color number (1 - 9) Color table-COLOR-INT = bold (0 = off, 1 = on) Color table-COLOR-INV = inverse (0 = off, 1 = on) Color table-NOKEYCOL = ignore key coloring ('X' = yes, ' ' = no)
If the parameter color table-FIELDNAME is not filled, the coloring applies to all fields, so the entire record is colored.

Others list_append These operations are not possible for user-defined block lists. value set: SPACE, 'X' only relevant for block lists which are not output with the REUSE_ALV_BLOCK_... modules. It is only useful to output block-lists without specifying the above modules if the number of list blocks exceeds, or may exceed, the maximum number specified in the block module documentation. Principle: to output a list of n blocks. Call the function module for the list type for the first block.

14

ABAP LIST VIEWER


The caller must enter the maximum list width of the n blocks in the parameter LAYOUTMIN_LINESIZE in the first call. The event table IT_EVENTS of the event END_OF_LIST must contain the associated form routine name (see also the documentation of the interface parameter IT_EVENTS). The parameter LAYOUT-LIST_APPEND must be initial. After the first list has been output, the form routine specified in the event END_OF_LIST is called by Callback. The remaining n-1 blocks are then output by calling the function module for the list type. The parameter LAYOUT-LIST_APPEND must be set = 'X' for these n-1 calls. The event table IT_EVENTS should not contain the event END_OF_LIST or at least be assigned to a different form routine name from the first call.

2.6.2.

Default

The default layout settings can often be retained, so that you do not have to pass this structure with changed flags.

2.7. IT_FIELCAT Field catalog with field descriptions


2.7.1. Description
Field catalog containing descriptions of the list output fields (usually a subset of the internal output table fields). A field catalog is required for every ALV list output. The field catalog for the output table is built-up in the caller's coding. The build-up can be completely or partially automated by calling the REUSE_ALV_FIELDCATALOG_MERGE module See also the documentation of the function module REUSE_ALV_FIELDCATALOG_MERGE. The minimal field catalog is documented under 'default'. The caller can use the other optional parameters to assign output attributes to a field which differ from the default. A field catalog need not be built-up and passed explicitly only under the following conditions: The internal table to be output has the same structure as a Data Dictionary structure which is referred to in the internal table declaration using LIKE or INCLUDE STRUCTURE. all fields in this structure are to be output the structure name is passed to ALV in the parameter I_STRUCTURE_NAME. See also the documentation of the IMPORTING paramter I_STRUCTURE_NAME.

Positioning row_pos (row position)

15

ABAP LIST VIEWER


value set: 0, 1 - 3 Only relevant if the list output is to be multi-line (two or three lines) by default. A multi-line list can also be defined by the user interactively if the default list is one-line.
The parameter specifies the relative output line of the column in a multi-line list.

col_pos (column position) value set: 0, 1 - 60 only relevant when the default relative column positions differ from the field catalog field sequence. The parameter specifies the relative column position of the field in the list output. The column order can be changed interactively by the user. If this parameter is initial for all field catalog entries, columns appear in the field catalog field sequence.

Identification fieldname (field name) value set: internal output table field name (required parameter) Name of the internal output table field which is described by this field catalog entry tabname (internal output table) value set: SPACE, internal output table name This parameter is used in 'manual' field catalog build-up only for hierarchical-sequential lists.
Name of the internal output table which contains the field FIELDCAT-FIELDNAME.

Data Dictionary reference ref_fieldname (reference field name) value set: SPACE, Data Dictionary field name
Name of the Data Dictionary field referred to.

This parameter is only used when the internal output table field described by the current field catalog entry has a reference to the Data Dictionary (not a program field), and the field name in the internal output table is different from the name of the field in the Data Dictionary. If the field names are identical, naming the Data Dictionary structure or table in the FIELDCAT-REF_TABNAME parameter is sufficient. ref_tabname (reference table/structure field name) value set: SPACE, name of a Data Dictionary structure or table Structure or table name of the referred Data Dictionary field. This parameter is only used when the internal output table field described by the current field catalog entry has a Data Dictionary reference (not a program field).

16

ABAP LIST VIEWER


Reference to fields with currency/measurement unit
Each internal output table sum or quantity field whose decimal places are to be formatted appropriately for the unit in the list must follow the convention:

the field is of data type QUAN or CURR (internal type P) (the field must really have this physical data type. Overwriting the physical data type with the parameter FIELDCAT-DATATYPE has no effect) There is a field in the internal output table which contains the associated unit. There is also an entry in the field catalog for the unit field. (If the unit is not to appear as a column in the list, and cannot be interactively displayed as a column, e.g. because it is always unambiguous and is therefore explicitly output by the caller in the list header, the field catalog units field entry can take the parameter FIELDCAT-TECH = 'X'. The association of a value field to a unit affects the output as follows: appropriate decimal places display for the unit an initialized field with a link to a non-initial unit is output as '0' for the unit (if FIELDCAT-NO_ZERO is initial). When this field is summed, this unit affects whether the units are homogeneous. an initialized field with a link to an initial unit is output as SPACE. When this field is summed, the unit SPACE does not affect the homogeneity of the units. When non-initial fields with an initial unit are summed, the unit SPACE is considered to be a unit.

Link to currency unit cfieldname (currency unit field name) value set: SPACE, output table field name Only relevant for amount columns with associated unit.
Name of the internal output table field containing the currency unit associated with the amount field FIELDCAT-FIELDNAME. The field in FIELDCAT-CFIELDNAME must have its own field catalog entry.

ctabname (internal currency unit field output table) value set: SPACE, output table field name only relevant for hierarchical-sequential lists Name of the internal output table containing the FIELDCAT-CFIELDNAME field.

Link to measurement unit qfieldname (measurement unit field name) value set: SPACE, output table field name only relevant for quantity columns with unit link. Name of the internal output table field containing the measurement unit associated with the quantity field FIELDCAT-FIELDNAME.

17

ABAP LIST VIEWER


The field in FIELDCAT-QFIELDNAME must have its own field catalog entry. qtabname (internal measurement unit field output table) value set: SPACE, output table field name only relevant for hierarchical-sequential lists
Name of the internal output table containing the FIELDCAT-QFIELDNAME field.

Column output options outputlen (column width) value set: 0 (initial), n For fields with a Data Dictionary link this parameter can be left initial. For fields without a Data Dictionary link (program field) the parameter must be given the value of the desired field list output length (column width). initial = column width is the output length of the referred Data Dictionary field (domain). n = column width is n characters key (key column) value set: SPACE, 'X'

'X' = kex field (key field output in color)

Key fields can not be interactively hidden. Parameter FIELDCAT-NO_OUT must be left initial.

For exceptions see the documentation of the FIELDCAT-KEY_SEL parameter. key_sel (hideable key column) value set: SPACE, 'X' only relevant when FIELDCAT-KEY = 'X' Key field which can be hidden interactively. The key column sequence cannot be changed interactively by the user. The output is controlled by the FIELDCAT-NO_OUT parameter analogously to non-key fields. no_out (field in field list) value set: SPACE, 'X' 'X' = field is not displayed in the current list. The user can interactively choose the field for output from the field list. The user can display the contents of these fields at line level using the 'Detail' function. See also the 'Detail screen' documentation of the parameter IS_LAYOUT. tech (technical field) value set: SPACE, 'X'

'X' = technical field

18

ABAP LIST VIEWER


Field cannot be output in the list and cannot be displayed interactively.
Field can only be used in the field catalog (not in IT_SORT, ...).

emphasize (highlight columns in color) value set: SPACE, 'X' or 'Cxyz' (x:'1'-'9'; y,z: '0'=off '1'=on) 'X' = column is colored with the default column highlight color. 'Cxyz' = column is colored with a coded color: C: Color (coding must begin with C) x: color number y: bold z: inverse hotspot (column as hotspot) value set: SPACE, 'X' 'X' = column cells are output as hotspots fix_column (fix column) value set: SPACE, 'X'
Not relevant for block lists (output of several lists consecutively)

'X' = column fixed (does not scroll horizontally)


All columns to be fixed must have this flag, starting from the left. If a column without this flag is output, only the columns to the left of this column are fixed. The user can change the column fixing interactively. See also the documentation of the Layout parameter

IS_LAYOUT-NO_KEYFIX of the IMPORTING paramter IS_LAYOUT. do_sum (sum over column) value set: SPACE, 'X' output table field.

'X' = a sum is to be calculated over this internal

This function can also be called by the user interactively. no_sum (sums forbidden) value set: SPACE, 'X' 'X' = no sum can be calculated over this field, although the data type of the field would allow summing. input (column ready for input) Function not available Format column contents icon value set: SPACE, 'X'

'X' = column contents to be output as an icon.

The caller must consider the printability of icons. symbol value set: SPACE, 'X'

'X' = column contents are to be output as a symbol.

19

ABAP LIST VIEWER


The internal output table column must be a valid symbol character. The caller must consider the printability of symbols. Symbols can usually be printed, but may not always be output correctly, depending on the printer configuration. just (justification) value set: SPACE, 'R', 'L', 'C' Only relevant for fields of data type CHAR or NUMC ' ' = default justification for this data type 'R' = right-justified output 'L' = left-justified output 'C' = centered output The justification of the column header always follows the justification of the columns. Independent justification of the column neader is not possible. lzero (leading zeros) value set: SPACE, 'X' Only relevant for fields of data type NUMC ALV outputs NUMC fields right-justified without leading zeros by default. 'X' = output with leading zeros
Note: If a NUMC field is output left-justified or centered by FIELDCAT-JUST, leading zeros are output. If the output of leading zeros is suppressed by a Data Dictionary reference ALPHA conversion exit, the output is always left-justified.

no_sign (no +/- sign) Only relevant for value fields value set: SPACE, 'X' 'X' = value output without +/ sign no_zero (suppress zeros) Only relevant for value fields value set: SPACE, 'X' 'X' = suppress zeros edit_mask (field formatting) value set: SPACE, template template = see documentation of WRITE formatting option USING EDIT MASK template
The output conversion conv can be made by template = '== conv'.

Texts
The following text parameters should be specified for program fields without a Data Dictionary reference. The texts are taken from the Data Dictionary for fields with a Data Dictionary reference. If this is not desired, the text parameters can also be specified. The Data Dictionary texts are then ignored. If the user changes the column width interactively, the column header text with the

20

ABAP LIST VIEWER


appropriate length is always used. The interactive function 'Optimize column width' takes account of both the field contents and the column headers: if all field contents are shorter than the shortest column header, the column width depends on the column header.

The 'long field label' is also used in display variant definition, sort, etc. popups. seltext_l (long field label) seltext_m (medium field label) seltext_s (short field label) reptext_ddic (header) analogous to the Data element maintenance 'Header' The specified text is not necessarily output in the list, an optimum among all texts is sought. ddictxt (specify text) value set: SPACE, 'L', 'M', 'S'
You can specify with values 'L', 'M', and 'S', the keyword that should always be used as column header. If the column width changes, no attempt is made in this case to find an appropriate header for the new output width.

Parameters for program fields without Data Dictionary reference see also 'Text' parameters datatype (data type) value set: SPACE, Data Dictionary data type (CHAR, NUMC,...) Only relevant for fields without Data Dictionary reference Program field data type ddic_outputlen (external output length) value set: 0 (initial), n Only relevant for fields without Data Dictionary reference whose output is nevertheless to be modified by a conversion exit. Prerequisites: FIELDCAT-EDIT_MASK = '==conv' see also the documentation of the parameter FIELDCAT-EDIT_MASK FIELDCAT-INTLEN = n see also the documentation of the parameter FIELDCAT-INTLEN n = external format field output length
The column width FIELDCAT-OUTPUTLEN need not be the same as the external format output length (FIELDCAT-DDIC_OUTPUTLEN).

intlen (internal output length) value set: 0 (initial), n


Only relevant for fields without Data Dictionary reference whose output is nevertheless to be modified by a conversion exit. Prerequisites:

21

ABAP LIST VIEWER


FIELDCAT-EDIT_MASK = '==conv' see also the documentation of the parameter FIELDCAT-EDIT_MASK FIELDCAT-DDIC_OUTPUTLEN = n see also the documentation of the parameter FIELDCAT-DDIC_OUTPUTLEN n = internal format field output length rollname (data element) value set: SPACE, Data Dictionary data element name F1 help can be provided for a program field without a Data Dictionary reference, or F1 help which differs from the Data Dictionary help can be provided for a field with a Data Dictionary reference, using this parameter. When F1 help is called for this field, the documentation of the specified data element is displayed. If the FIELDCAT-ROLLNAME is initial for fields with a Data Dictionary reference, the documentation of the data element of the referred Data Dictionary field is output.

Others sp_group (field group key) value set: SPACE, CHAR(1) Field group key. Keys are assigned to group names in the IT_SPECIAL_GROUPS parameter (see also the documentation of the parameter IT_SPECIAL_GROUPS).
When such an assignment is made in the field catalog and in IT_SPECIAL_GROUPS, the fields are grouped correspondingly in the display variant popup.

reprep (Report/Report interface selection criterion) value set: SPACE, 'X' Prerequisites: The system contains the Report/Report interface (function group RSTI, table TRSTI) Parameter LAYOUT-REPREP = 'X' (see also the documentation of the parameter LAYOUT-REPREP of the IMPORTING parameter IS_LAYOUT )

'X' = When the Report/Report interface is called, the value of this field is passed in the selected interface start record as a selection criterion.

2.7.2.

Default

The following entries are usually sufficient for internal table fields with a reference to a field defined in the Data Dictionary : fieldname ref_tabname

Notes:

22

ABAP LIST VIEWER


ALV gets the remaining information from the Data Dictionary. If no relative column position (COL_POS) is specified, the fields are output in the list in the order in which they were added to the field catalog. REF_FIELDNAME need only be specifid when the name of the internal table field differs from the name of the referred Data Dictionary field. Information which is explicitly entered in the field catalog is not overwritten by information from the Data Dictionary. Priority rule: Entries in the field catalog have priority over differing entries in the Data Dictionary. The following entries are usually sufficient for internal table fields without a reference to the Data Dictionary (program fields): fieldname outputlen datatype seltext_s seltext_m seltext_l

Notes: F1 help can be provided for program fields by assigning a data element to the parameter ROLLNAME. If the parameters SELTEXT_S, SELTEXT_M, SELTEXT_L, and REPTEXT_DDIC contain appropriate field labels, the program field column headers are also adjusted appropriately when the column width changes.

2.8. IT_EXCLUDING Table of inactive function codes


2.8.1. Description
The optional IMPORTING parameter IT_EXCLUDING is an internal table. It is only needed if the caller uses the list tool standard interface but wants to deactivate interface functions which he or she does not need. In this case the function codes of these standard functions are entered in the table.

2.9. IT_SPECIAL_GROUP Grouping fields for column selection


2.9.1. Description
If fields have been grouped in the field catalogue by a shared value of the parameter SP_GROUP, the technical key of the group (FIELDCAT-SP_GROUP) is assigned to the field group text in this internal table.

23

ABAP LIST VIEWER


See also the documentation of the field catalog parameter FIELDCAT-SP_GROUP of the MPORTING parameter IT_FIELDCAT and the Layout parameter LAYOUT-GROUP_BUTTONS of the IMPORTING parameter IS_LAYOUT.

2.10. IT_SORT Sort criteria for first list display


2.10.1. Description
The caller specifies the sorting and/or subtotalling of the basic list in the internal table IT_SORT. This internal table has the following fields: Spos Sort sequence Fieldname Internal output table field name Tabname Name of the internal output table Only relevant for hierarchical-sequential lists Up Down Subtot 'X' = sort in ascending order 'X' = sort in descending order 'X' = subtotal at group value change

group '* ' = new page at group value change 'UL' = underline at group value change

The formatting options are constants of the domain SLIS_CTRLS. See also the documentation of GROUP_CHANGE_EDIT of the interface structure IS_LAYOUT for more information about group value change formatting. comp (INTERNAL USE ONLY) expa

Prerequisite:

IT_SORT-SUBTOT = 'X', i.e. sort criterion is also subtotal criterion If the first list output is only to be expanded to total level n, and can then be further expanded interactively by the user, the flag should be set at the total level criterion for level n

24

ABAP LIST VIEWER

2.11. IT_FILTER Filter criteria for first list output


2.11.1. Description
Filter criteria table. Filter criteria which result, e.g. from explicitly loading an initial display variant, can be passed to list output in this parameter. This table should never be built-up 'manually'.

2.12. IS_SEL_HIDE Selection information modification


2.12.1. Description
Only relevant when the layout parameter LAYOUT-GET_SELINFOS of the IMPORTING structure IS_LAYOUT is set. Complex type for modifying the information displayed in the selection info popup: mode: 'R' = only the entries passed in the internal table IS_SEL_HIDE-T_ENTRIES are output in the popup. Selection info which the list tool read in the selection screen (when called by a report with a selection screen) are replaced by the values passed. 'S' = the selection info which the list tool read in the selection screen of the calling report are modified by the entries in the table IS_SEL_HIDE-T_ENTRIES. t_entries: Selection info table t_entries-mode: 'A' = output the selection info for the current table record additionally in the info popup. 'D' = do not output select option or SELNAME parameter selection info in the popup. t_entries-selname: (only used in t_entries-mode = 'D') Name of the select option or parameter.

The following table fields are only used in t_entries-mode = 'A'. They contain the selection information to be added.

t_entries-field: DDIC field name of the field for which selection information is to be output. t_entries-table: DDIC table names of t_entries-field. t_entries-stext: Field name in info popup. If t_entries-field and t_entries-table have been entered, this text is taken from DDIC. t_entries-valuf: Selection condition 'from' value (external format) t_entries-valut: Selection condition 'to' value (external format) t_entries-sign0: (I)nclusive (E)xclusive t_entries-optio: All values of the select options Option field allowed. The remaining fields are used internally and are not relevant for the caller.

25

ABAP LIST VIEWER

2.13. I_DEFAULT Initial variant active/inactive logic


2.13.1. Description
Initial variant logic active/inactive. Prerequisite: The parameter IS_VARIANT has the appropriate value. See also the documentation of the IMPORTING parameter IS_VARIANT.

2.13.2.

Value Range

SPACE = no initial variant can be defined 'X' = initial variant can be defined

2.13.3.
SPACE

Default

2.14. I_SAVE Variants can be saved


2.14.1. Description
Controls the storage mode Prerequisite: The IS_VARIANT parameter has the appropriate value. See also the documentation of the IMPORTING parameter IS_VARIANT.

2.14.2.

Value Range

' ' = display variants cannot be saved

Defined display variants (e.g. delivered display variants) can be selected for presentation independently of this flag. Changes can not be saved.

'X' = standard save Display variants can be saved as standard display variants. User-specific saving is not possible. 'U' = only user-specific saving

The user can only save display variants user-specifically

'A' = standard and user-specific saving The user can save a display variant user-specifically and as standard display variant. The user chooses in the display variant save popup.

2.14.3.
SPACE

Default

26

ABAP LIST VIEWER

2.15. IS_VARIANT Variant information


2.15.1. Description
This structure is only relevant if display variants are to be saved and/or read. Variant information including the name of the list output variant. The access path must be specified in the fields REPORT (required field), HANDLE (optional) and/or LOG_GROUP (optional) to allow ALV to read display variants. If display variants are also to be saved, the parameter I_SAVE must also be entered.

See also the documentation of the IMPORTING parameter I_SAVE. A variant is identified uniquely by: the program to which it is assigned (REPORT) the handle if, e.g. several lists with various structures and data are called (HANDLE) in a program (I_CALLBACK_PROGRAM) The handle is a unique user-assigned CHAR(4) field, which assigns the call to the current internal output table structure. Example: Various lists can be output in program x, depending on a user action. Display variants are to be able to be defined for each of these lists. This functionality is guaranteed by assigning a HANDLE for each list. If variants are saved for this program and handle, the handle must not change. the logical group if, e.g. the same list is made with different settings (LOG_GROUP) via different transactions The logical group is a unique user-assigned CHAR(4) field which determines the assignment. Example: The program x is called via the transactions T1 and T2. The field catalog fields offered to the user vary depending on the transaction code by assignment to logical groups. If variants are saved for the program and logical group, the logical group must not change. the user name, if variants are saved user-specifically (USERNAME) This parameter is never entered manually as the variant name is unique. the variant name (VARIANT). This parameter is only to be entered if a particular variant is to be read and the list is to be output with this variant via this structure.

2.15.2.

Value Range

The above fields must be specified to be able to call a list with a variant.

27

ABAP LIST VIEWER 2.15.3. Default

If the structure is initial but saving is active (I_SAVE is not initial), IS_VARIANT-REPORT is set to I_CALLBACK_PROGRAM. The function module REUSE_ALV_VARIANT_F4 provides variant possible entry help.

2.16. IT_EVENTS Table of events to perform Description


This table tells ALV which events are processed by the caller by CALLBACK. The table of possible events per list type can be initialized using the module REUSE_ALV_EVENTS_GET. You can display the names of the constants in the type pools SLIS which represent the individual events using the individual test function in the function module REUSE_ALV_EVENT_NAMES_GET. Only events with a form routine name are processed. The table structure contains the fields: IT_EVENTS-NAME

Name of the Callback event.

Possible Callback events: Action USER_COMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD Process actions on the list As this is a frequently-used Callback event, the form routine can also be passed directly in the interface in the IMPORTING parameter I_CALLBACK_USER_COMMAND. PF_STATUS_SET USING RT_EXTAB TYPE SLIS_T_EXTAB If a user list status is to be set, it must be done in the form routine assigned to this event. The ALV function codes, which must not be active, are in the Parameter RT_EXTAB. This table must be passed with the SET PF-STATUS command (with inactive user function codes as well, if necessary). The STANDARD status of the function group SALV should be used as a template for a user-specific status. As this is a frequently-used Callback event, its form routine can also be passed directly in the interface in the IMPORTING parameter I_CALLBACK_PF_STATUS_SET.

28

ABAP LIST VIEWER


ITEM_DATA_EXPAND USING RS_SELFIELD TYPE SLIS_SELFIELD RFLG_ALL TYPE C Only relevant for hierarchical-sequential lists using the layout parameter IS_LAYOUT-EXPAND_FIELDNAME of the structure IS_LAYOUT. Exit for passing item entries (ITEM table) for a header record which was expanded interactively by the user. RS_SELFIELD-TABINDEX contains the header table index for which the item entries are to be put in the global item output table (T_OUTTAB_SLAVE). The Callback is only called if ALV has no items for a header which is to be expanded. RFLG_ALL is passed with 'X' if the user shows all items. The application must ensure that entries are not repeated in the item table. RS_SELFIELD is initial in this case. CALLER_EXIT USING RS_DATA Is called at the beginning of the function module to make special settings. It is not usually used. List processing events IMPORTANT: The application Callback routine must not manipulate the internal output table and/or its header record. This restriction applies to all Callbacks which are called in the list output and run under the 'List processing events'. TOP_OF_LIST no USING parameter. Information output at the start of the list END_OF_LIST no USING parameter. Information output at the end of the list TOP_OF_PAGE no USING parameter Equivalent to the list processing TOP-OF-PAGE event END_OF_PAGE no USING parameter. Not available for hierarchical-sequential lists. Information output at the end of a page. This is only called for printing. TOP_OF_COVERPAGE no USING parameter The selection information and list status are output together (if they exist) on a separate page by default. See also the documentation of the parameters: IS_PRINT-NO_COVERPAGE IS_PRINT-NO_PRINT_SELINFOS IS_PRINT-NO_PRINT_LISTINFOS IS_LAYOUT-GET_SELINFOS The user can format the header area of the 'cover page' himself or herself by specifying a Callback routine for this event.

29

ABAP LIST VIEWER


END_OF_COVERPAGE no USING parameter Analogously to TOP_OF_COVERPAGE the user can add other information to the information output by ALV (selection information, list status) at this event. FOREIGN_TOP_OF_PAGE no USING parameter The Top-of-page event is always processed in ALV and is only passed to the caller via the Callback mechanism. This is still the case if the caller, e.g. by a user action, processes a branch list which was not formatted by ALV (e.g. a popup with additional information about the list record selected and displayed by ALV). In this case, top-of-page cannot be formatted by ALV analogously to the basic list, it must be handled completely by the caller. The event top-of-page still occurs in ALV. When ALV notices a top-of-page which was not caused by an ALV output, the form routine in FOREIGN_TOP_OF_PAGE is called. FOREIGN_END_OF_PAGE no USING parameter The event end-of-page is always processed in ALV and only passed to the caller via callback. This is still the case, e.g. when the caller processes a details list which was not formatted by ALV (e.g. a popup with further information about selected list records which were displayed by ALV). In this case, end-of-page cannot be formatted by ALV analogously to the basic list, it must be handled completely by the caller. The event end-of-page still occurs in ALV. When ALV notices an end-of-page that was not caused by an ALV output, the form routine in FOREIGN_END_OF_PAGE is called. BEFORE_LINE_OUTPUT USING RS_LINEINFO TYPE SLIS_LINEINFO Output information before each output line. Should only be used in justified cases because it costs a lot of performance. AFTER_LINE_OUTPUT USING RS_LINEINFO TYPE SLIS_LINEINFO Output information after each output line. Should only be used in justified cases because it costs a lot of performance. Internal use only LIST_MODIFY USING R_TABNAME TYPE SLIS_TABNAME R_INDEX LIKE SY-TABIX R_INDEX_ITEM LIKE SY-TABIX R_INDEX_SUM LIKE SY-TABIX IT_EVENTS-FORM Name of the form routine which should be called in the calling program at the event.

30

ABAP LIST VIEWER

2.17. IT_EVENT_EXIT Standard fcode exit requests table


2.17.1. Description
Table for passing ALV standard function codes, to return control to the user before and/or after execution with the callback event USER_COMMAND. See also the documentation of the IMPORTING parameter I_CALLBACK_USER_COMMAND. This table should only be passed when the application wants to react to the execution of standard functions. This could, e.g. be to check the authorization for a standard function or to select data depending on the current display variant. The table fields are as follows: ucomm Standard function code which is also passed in the callback event USER_COMMAND.
Example: ucomm = '&OL0' means that the application also gets control at the display variant definition function code.

before 'X' = the application gets control before ALV executes the function. after 'X' = the application gets control after ALV has executed the function, but before the list is output. Example: ucomm = '&OL0' and after = 'X'.
The application gets control after the user has left the display variant definition popup.

In the function code processing form routine which is passed to ALV in the I_CALLBACK_USER_COMMAND parameter, the application can now get the field catalog which may have been modified by the user, using the module REUSE_ALV_LIST_LAYOUT_INFO_GET , and then reselect the data for the new output fieldes in the internal output table, if necessary. If the application sets the SELFIELD-REFRESH flag (USER_COMMAND form routine interface reference parameter) after the selection, the list is output again. Output fields added by the user and reselected data now appear.

2.18. IS_PRINT Print information


2.18.1. Description
Print control parameter

31

ABAP LIST VIEWER


PRINT value set: SPACE, 'X' 'X' = the list is to be printed and not displayed on the screen. Other settings can be made in the print parameter screen. NO_PRINT_SELINFOS value set: SPACE, 'X' NO_COVERPAGE value set: SPACE, 'X' separate page. NO_NEW_PAGE value set: SPACE, 'X'

'X' = do not print selection info (see LAYOUT-GET_SELINFOS)

'X' = do not print selection information and list status on a

For internal use only

RESERVE_LINES value set: 0, n n = number of lines to be printed by the user in the footer area in the Callback at the event. Not relevant for hierarchical-sequential lists and block lists. END_OF_PAGE. NO_PRINT_LISTINFOS value set: SPACE, 'X' 'X' = Do not print list status (sort, subtotal and filter information). NO_CHANGE_PRINT_PARAMS value set: SPACE, 'X' 'X' = The current print parameters are used. If the list is wider, the output width is not dynamically adjusted. SPACE = (default) The output format (number of columns) is dynamically adjusted to the list width (max. 255).

2.19. IT_SCREEN_START_COLUMN Coordinates for list in dialog box


2.19.1. Description
Only to be used if the list is output in a popup. x coordinate of the top left-hand corner of the popup.

2.20. IT_SCREEN_START_LINE Coordinates for list in dialog box


2.20.1. Description
Only used if the list is output in a popup. y coordinate of the top left-hand corner of the popup.

32

ABAP LIST VIEWER

2.21. IT_SCREEN_END_COLUMN Coordinates for list in dialog box


2.21.1. Description
Only used if the list is output in a popup. x coordinate of the bottom right-hand corner of the popup.

2.22. IT_SCREEN_END_LINE Coordinates for list in dialog box


2.22.1. Description
Only used if the list is output in a popup. y coordinate of the bottom right-hand corner of the popup.

2.23. E_EXIT_CAUSED_BY_CALLER Delete list in CALLBACK_USER_COMMAND


2.23.1. Description
Parameter which states whether the caller left the list (SELFIELD-EXIT = 'X') in CALLBACK USER_COMMAND

2.24. ES_EXIT_CAUSED_BY_USER How the user left the list


2.24.1. Description
If one of the ALV standard function codes for 'Back', 'Cancel' or 'Exit' occurs, the current list is discarded and the ALV function module ends. In this case the exporting structure ES_EXIT_CAUSED_BY_USER contains one of the following flags: ES_EXIT_CAUSED_BY_USER-BACK = 'X' 'Back' occurred ES_EXIT_CAUSED_BY_USER-CANCEL = 'X' 'Cancel' occurred ES_EXIT_CAUSED_BY_USER-EXIT = 'X' 'Exit' occurred The function which occured determines the further navigation in the application.

33

ABAP LIST VIEWER

2.25. T_OUTTAB Table with data to be displayed


2.25.1. Description
Internal table with any structure containing the data to be output in list form.
This table can contain more fields than are relevant for the list output (display fields and field list). Only the fields named in field catalog and the layout structure are used for the list output. Other internal table fields are ignored. The value of the field FIELDCAT-NO_OUT in the field catalog determines whether a field is output directly in the list, or whether this field is initially put in the field list. The user can interactively move fields between this field list and the output field list to display or hide them. If the internal table is defined in the calling program without a header, no F1 help is possible in the list.

3. REUSE_ALV_LIST_DISPLAY EXCEPTIONS
3.1. PROGRAMME ERRORS Program errors
3.1.1. Exception type
If the exception is not handled by the calling program, the following applies: (X) an error message is sent. ( ) a termination message is sent. ( ) a runtime error occurs.

34