ABAP Keyword Documentation → ABAP - Reference → Declarative statemnts → Typing → typing Addition
typing - Addition - complete_type
Other versions: 7.31 | 7.40 | 7.54
Syntax
... { TYPE {[LINE OF] complete_type}
| {REF TO type} }
| { LIKE {[LINE OF] dobj}
| {REF TO dobj} } ...
Effect
To completely type a formal parameter or a field symbol, you can
- specify any non-generic type (
complete_type
) afterTYPE
.complete_type
can be a non-generic data type from the ABAP Dictionary, a non-generic public data type from a global class, a non-generic program-local type already defined usingTYPES
, or a non-generic predefined ABAP type.
- specify a data object
dobj
afterLIKE
. dobj is specified based on the rulesTYPES ... LIKE. The bound type of the data object is applied. If field symbols and formal parameters are specified fordobj
, they must be completely typed, to make sure that typing is performed in full.
If complete_type
or the data type of dobj
is table-like, you can use LINE OF
to refer to the appropriate row type.
REF TO
types the formal parameter or field symbol as a reference variable.
In this case, the same rules apply as for the definition
of reference types in TYPES
. Typings with TYPE REF TO data
or TYPE REF TO object
are also considered as complete typings.
When you assign an actual parameter or a memory area to completely typed formal parameters or field symbols, the technical attributes of the specified data type must match the typing exactly (more information: Typing Check), except when passing literals. Completely typed formal parameters and field symbols can be used in the same operand positions as data objects of the corresponding data type.
Type attributes specified by the typing are used during both static and dynamic access to a fully typed formal parameter or field symbol.
Notes
- You can use
LIKE
to refer to data objects, and also to the public attributes of global classes.
- When typing formal parameters, you can use the
LIKE
addition to refer to formal parameters (in the same procedure), which have already been declared.
- Outside classes,
LIKE
can also be used for an obsolete type reference.
- The predefined generic data type
any
cannot currently be specified afterREF TO
.
Example
In the following example, the field symbol <spfli>
is completely typed
with structured data type spfli
from the ABAP Dictionary, and can therefore be used like a structure of that data type.
FIELD-SYMBOLS <spfli> TYPE spfli.
...
<spfli>-carrid = ...