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 idxEffect
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 idxEffect
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
Addition
... INDEX idxEffect
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 idxEffect
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
Addition
... INDEX idxEffect
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 idxEffect
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 pagAdditions
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 idxEffect
Returns the attributes of the list level idx (0, 1,2,3,...).Addition 2
... LINE-SIZE colEffect
Returns the line length for the page pag (see NEW-PAGE...LINE-SIZE ).Addition 3
... LINE-COUNT linEffect
Returns the permitted number of lines for the page pag (see NEW-PAGE...LINE-COUNT ).Addition 4
... LINES linEffect
Returns the number of lines output on the page pag .Addition 5
... FIRST-LINE linEffect
Returns the absolute line number of the first line of the page pag .Addition 6
... TOP-LINES linEffect
Returns the number of lines output by page header processing (i.e. standard title + column headers + TOP-OF-PAGE ).Addition 7
... TITLE-LINES linEffect
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 linEffect
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 linEffect
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
- 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
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.