DESCRIBE - supply attributes of a list


Variants



1. DESCRIBE LIST NUMBER OF LINES lin.
2. DESCRIBE LIST NUMBER OF PAGES n.
3. DESCRIBE LIST LINE lin PAGE pag.
4. DESCRIBE LIST PAGE pag.

Effect

Returns the attributes of a list. All variants have the addition ... INDEX idx allowing you to determine the attributes of a particular list level ( SY-LSIND = 0,1,2,3,... ).

Note

You should use this key word only in exceptional cases (e.g. when editing an 'anonymous' list in a program other than that which generated the list). In all other cases, you should save the relevant values when you generate the list.
Take care when attempting to retrieve the list attributes being set up ( ...INDEX SY-LSIND ), since some attributes (number of pages, number of lines, ...) may not have been updated yet.

Variant 1

DESCRIBE LIST NUMBER OF LINES lin.

Addition

... INDEX idx

Effect

Returns the number of lines in the list.

The return code value is set as follows:


SY-SUBRC = 0 OK
SY-SUBRC <> 0 List does not exist (only with the addition INDEX )

Addition

... INDEX idx

Effect

Returns the attributes of the list level idx (0, 1,2,3,...).

Example

After line selection, determine the number of lines in the displayed list:
DATA: LN LIKE SY-PAGNO. ... AT LINE-SELECTION. DESCRIBE LIST NUMBER OF LINES LN.

The variable LN now contains the number of lines in the displayed list.

Variant 2

DESCRIBE LIST NUMBER OF PAGES n.

Addition

... INDEX idx

Effect

Returns the number of pages in the list.

The return code value is set as follows:


SY-SUBRC = 0 OK
SY-SUBRC <> 0 List does not exist (only with the addition INDEX )

Addition

... INDEX idx

Effect

Returns the attributes of the list level idx (0, 1,2,3,...).

Example

After line selection, determine the number of pages in the displayed list:
DATA: PN LIKE SY-PAGNO. ... AT LINE-SELECTION. DESCRIBE LIST NUMBER OF PAGES PN.

The variable PN now contains the number of pages in the displayed list (i.e. the contents of the system field SY-PAGNO after the list has been generated!).

Variant 3

DESCRIBE LIST LINE lin PAGE pag.

Addition

... INDEX idx

Effect

Returns the number of the page for the line lin in the list.

Note

In interactive reporting, line selection causes a value to be assigned to the system field SY-LILLI (absolute number of selected list line). The system field SY-CPAGE contains the page number for the first displayed line in the list. The selected line does not have to belong to this page (in cases where several pages are displayed at the same time). The page number may be of interest even with direct reading of lines (see READ LINE ).

The return code value is set as follows:


SY-SUBRC = 0 OK
SY_SUBRC = 4 Line does not exist
SY-SUBRC = 8 List does not exist

Addition

... INDEX idx

Effect

Returns the attributes of the list level idx (0, 1,2,3,...).

Example

After line selection, determine the page number for the selected line (SY-LILLI) :
DATA: PAGENUMBER LIKE SY-PAGNO. ... AT LINE-SELECTION. DESCRIBE LIST LINE SY-LILLI PAGE PAGENUMBER.

The variable PAGENUMBER now contains the page number for the line SY-LILLI (i.e. the contents of the system field SY-PAGNO when outputting the line SY-LILLI !).

Variant 4

DESCRIBE LIST PAGE pag

Additions



1. ... INDEX idx
2. ... LINE-SIZE col
3. ... LINE-COUNT lin
4. ... LINES lin
5. ... FIRST-LINE lin
6. ... TOP-LINES lin
7. ... TITLE-LINES lin
8. ... HEAD-LINES lin
9. ... END-LINES lin

Effect

Returns the attributes of the page pag in the list.

The return code value is set as follows:


SY-SUBRC = 0 OK
SY_SUBRC = 4 Page does not exist
SY-SUBRC = 8 List does not exist

Addition 1

... INDEX idx

Effect

Returns the attributes of the list level idx (0, 1,2,3,...).

Addition 2

... LINE-SIZE col

Effect

Returns the line length for the page pag (see NEW-PAGE...LINE-SIZE ).

Addition 3

... LINE-COUNT lin

Effect

Returns the permitted number of lines for the page pag (see NEW-PAGE...LINE-COUNT ).

Addition 4

... LINES lin

Effect

Returns the number of lines output on the page pag .

Addition 5

... FIRST-LINE lin

Effect

Returns the absolute line number of the first line of the page pag .

Addition 6

... TOP-LINES lin

Effect

Returns the number of lines output by page header processing (i.e. standard title + column headers + TOP-OF-PAGE ).

Addition 7

... TITLE-LINES lin

Effect

Returns the number of lines output as standard title lines by page header processing (see NEW-PAGE...NO-TITLE/WITH-TITLE ).

Note

The value of TITLE-LINES is contained in TOP-LINES .

Addition 8

... HEAD-LINES lin

Effect

Returns the number of lines output as column headers by page header processing (see NEW-PAGE...NO-HEADING/WITH-HEADING ).

Note

The value of HEAD-LINES is contained in TOP-LINES .

Addition 9

... END-LINES lin

Effect

Returns the number of lines reserved for end-of-page processing (see END-OF-PAGE ).

Example

Determine the number of lines output on the third page of the basic list ( SY-LSIND = 0) in the event TOP-OF-PAGE :
DATA: TOP TYPE I, HEAD TYPE I, TITLE TYPE I, REAL_TOP TYPE I. DESCRIBE LIST INDEX 0 PAGE 3 TOP-LINES TOP HEAD-LINES HEAD TITLE-LINES TITLE. REAL_TOP = TOP - TITLE - HEAD.

Examples

Determine the absolute number of lines in the displayed list:
DATA: LN TYPE I, "number of lines on a page FLN TYPE I, "number of first line on a page PN TYPE I, "number of a page LIST_LINES TYPE I. "total number of lines in list
Determine number of last page:
DESCRIBE LIST NUMBER OF PAGES PN.

Determine number of first line of last page and number of lines on that page:
DESCRIBE LIST PAGE PN FIRST-LINE FLN LINES LN.

Number of list lines = number of first line of last page + number of lines - 1.
LIST_LINES = FLN + LN - 1.

Or: Count lines of all pages in a loop:
CLEAR LIST_LINES. DO PN TIMES. DESCRIBE LIST PAGE SY-INDEX LINES LN. ADD LN TO LIST_LINES. ENDDO.

or:
DESCRIBE LIST NUMBER OF LINES LIST_LINES.


Index
© SAP AG 1996