CREATE DATA - HANDLE
CREATE DATA dref [area_handle]
TYPE HANDLE handle.
CREATE DATA uses the addition
HANDLE to create a data object whose data type is described by an
type description object.
handle expects a reference variable of the static type of class CL_ABAP_DATADESCR
or its subclasses that points to a type description object. The type description object may have been created by applying the RTTS methods to existing data objects or by using the dynamic definition of a new data type.
The type description object must describe a non-generic type. Only type description objects for the
generic ABAP types
x create a new
bound data type and use it with the
standard values. Similarly, a type description
object for a standard table with a generic table type creates a new bound table type and uses it with a standard key.
The following are important methods for the dynamic definition of data types:
- GET_C, GET_D, GET_F ... of the class CL_ABAP_ELEMDESCR for type description objects of elementary data types. These methods create either a new type description object in accordance with the input parameters or reuse an existing type object.
- GET of the classes CL_ABAP_STRUCTDESCR, CL_ABAP_TABLEDESCR, and CL_ABAP_REFDESCR plus GET_BY_NAME of the class CL_ABAP_REFDESCR for type description objects of structures, internal tables, and reference variables. These methods return the type description object that was specified using the input parameters. A new type description object is created or an existing one is used again.
- CREATE of the classes CL_ABAP_STRUCTDESCR, CL_ABAP_TABLEDESCR, and CL_ABAP_REFDESCR for creating type description objects for structures, internal tables, and reference variables. These methods return the type description object that was specified using the input parameters. A new type description object is always created.
It is advisable to use the GET methods instead of CREATE to avoid creating multiple type description objects for a single type.
Creates an anonymous data object using a type description object for a dictionary structure provided by RTTI.
DATA dref TYPE REF TO data. DATA(type) = CAST cl_abap_datadescr( cl_abap_typedescr=>describe_by_name( 'SCARR' ) ). CREATE DATA dref TYPE HANDLE type.