SAP Certification
SAP Download
SAP Companies India
SAP Books
SAP JOBS
SAP jobs in India
SAP ABAP jobs in India
SAP BASIS jobs in India
SAP BI jobs in India
SAP CRM jobs in India
SAP FICO jobs in India
SAP Fresher jobs in India
SAP HR jobs in India
SAP MM jobs in India
SAP PM jobs in India
SAP PP jobs in India
SAP SD jobs in India
SAP XI jobs in India
|
DESCRIBE (ABAP Keyword) introduction & syntax details
Show Full Details
DESCRIBE
DESCRIBE - return attributes of an internal
table
Basic form DESCRIBE TABLE
itab.
Effect Returns the attributes of the internal table itab . You
must use at least one of the additions listed
below.
Additions
1. ... LINES lin 2. ... OCCURS
n
Addition 1 ... LINES lin
Effect Places the number of
filled lines of the table t in the field lin .
Example
DATA: BEGIN
OF TAB OCCURS 10, X, END OF TAB. DATA: LIN TYPE P. ... CLEAR TAB.
REFRESH TAB. MOVE '?' TO TAB-X. APPEND TAB. DESCRIBE TABLE TAB LINES
LIN.
Result: LIN contains the value 1.
Addition 2 ...
OCCURS n
Effect Transfers the size of the OCCURS parameter from the
table definition to the variable n .
Example
DATA: BEGIN OF TAB
OCCURS 10, X, END OF TAB. OCC TYPE P. DESCRIBE TABLE TAB OCCURS
OCC.
Result: OCC contains the value 10.
Note If the table
is meant to accept more lines than specified by the OCCURS parameter, the
parameter value is roughly doubled as long as the table size remains smaller
than 8 KB; this table area is held in the roll area. If the table exceeds the
maximum permitted size, the OCCURS parameter is not increased and the remaining
part of the table is rolled out to the paging area (see DATA ). For this
reason, the OCCURS value determined by the DESCRIBE statement may differ from
that in the DATA statement. The runtime required to execute the DESCRIBE
TABLE statement is approx. 4 msn (standardized microseconds).
DESCRIBE - determine distance between two fields
Basic form DESCRIBE DISTANCE BETWEEN f1 AND f2 INTO
f3.
Effect Determines the distance between the fields f1 and f2 and
places the result (in bytes) in f3 .
Example Determine the distance
between two components of the demo table SBOOK in the flight reservation
system:
TABLES SBOOK. DATA DIST TYPE I. DESCRIBE DISTANCE
BETWEEN SBOOK-CARRID AND SBOOK-BOOKID INTO DIST.
Result: DIST
contains the value 15 because exactly two fields, SFLIGHT-CONNID (4 bytes) and
SBOOK-FLDATE (8 bytes), lie between the SBOOK components CARRID and BOOKID ;
also, SBOOK-CARRID is itself 3 bytes long. The sum of these values gives the
distance between the two components in bytes.
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.
DESCRIBE - Supply
attributes of a field
Basic form DESCRIBE FIELD
f.
Effect Supplies the attributes of the field f . You must specify at
least one of the additions:
Additions
1. ... LENGTH len 2.
... TYPE typ 3. ... TYPE typ COMPONENTS n 4. ... OUTPUT-LENGTH len 5.
... DECIMALS n 6. ... EDIT MASK mask
Addition 1 ... LENGTH
len
Effect Returns the length of the field f in the field len
.
Example
DATA: FLD(8), LEN TYPE P. DESCRIBE FIELD FLD
LENGTH LEN.
Result: LEN contains the value 8.
Addition
2 ... TYPE typ
Effect Returns the data type of f in the field
typ
Example
DATA: FLD(8) TYPE N, F_TYPE. DESCRIBE FIELD FLD
TYPE F_TYPE.
Result: F_TYPE contains the value 'N' .
Note Along
with the elementary data types you can specify under DATA (C, N, etc.),
several other data types are created either with reference to Dictionary
fields or during generation. These data types, which are also returned by
DESCRIBE , have the following type IDs:
h Internal table s 2-byte
integer with leading sign b 1-byte integer without leading sign u Structure
without internal table v Structure containing at least one internal table For
compatibility reasons, ... TYPE typ returns C rather than u or v with
structures.
Addition 3 ... TYPE typ COMPONENTS
n
Effect Similar to ... TYPE typ except that, with structures in typ ,
u or v are returned and in the number of structure components is set in n . If f
is not a structure, n is set to 0.
Example Recursive processing of the
pages of an ABAP/4 data structure:
FORM TEST USING F. DATA: TYP(1)
TYPE C, N TYPE I. FIELD-SYMBOLS: . DO. ASSIGN COMPONENT SY-INDEX OF
STRUCTURE F TO . IF SY-SUBRC <> 0. EXIT. ENDIF. DESCRIBE FIELD
TYPE TYP COMPONENTS N. IF N > 0. " Equivalent is TYP = 'u' OR TYP =
'v' PERFORM TEST USING . ELSE. PERFORM DO_SOMETHING USING
. ENDIF. ENDDO. ENDFORM.
Addition 4 ...
OUTPUT-LENGTH len
Effect Enters the output length of the field f in
the variable len .
Example
DATA: FLD(4) TYPE P, O_LEN TYPE
P. DESCRIBE FIELD FLD OUTPUT-LENGTH O_LEN.
Result: O_LEN contains
the value 8.
Addition 5 ... DECIMALS n
Effect Enters the
number of decimal places for the field f (defined in addition ... DECIMALS of
the DATA statement or in the ABAP/4 Dictionary ) in the variable n
.
Example
DATA: FLD(8) TYPE P DECIMALS 2, DEC TYPE
P. DESCRIBE FIELD FLD DECIMALS DEC.
Resultat: DEC contains the
value 2.
Addition 6 ... EDIT MASK mask
Effect If the field f
has a conversion routine in the ABAP/4 Dictionary , this is placed in the field
mask in the form " ==conv ". " conv " stands for the name of the conversion
routine, e.g. " ==ALPHA " in the conversion routine " ALPHA ". In this form,
mask can then be used in the addition USING EDIT MASK mask of the WRITE
statement.
Example Check whether there is a conversion routine for the
field "customer number" in the table SBOOK :
TABLES SBOOK. DATA:
CONV_EXIT(10). DESCRIBE FIELD SBOOK-CUSTOMID EDIT MASK CONV_EXIT. IF
CONV_EXIT <> SPACE. ... ENDIF.
Result: CONV_EXIT contains the
value " ==ALPHA ".
Note If the required field is only known at
runtime, this field can also be assigned dynamically to a field symbol (see
FIELD-SYMBOLS , ASSIGN ).
Show Most Readed SAP Tutorials
Most readed SAP Tutorials
Show Latest Added SAP Tutorials
Latest Added SAP documents
|
"Site covers most of the SAP technical and functional tutorials, articles, interview questions and PDF study materials . List and details of SAP transaction codes ( tcodes ), Tables, report names, Bapi, ABAP programming syntax and keywords are also available in the site.
Information on SAP Certification and training, latest SAP jobs in India, ABAP interview questions are useful for SAP professionals seeking for a career in SAP as a fresher or experienced.ABAP tutorial downloads on BDC, LSMW, BAPI, ALE, IDOC, Smartforms, Sapscripts etc etc are also added.Now you can read from this page about DESCRIBE (ABAP Keyword)" |