ABAP Keyword Documentation → ABAP - Reference → Creating Objects → CREATE DATA → CREATE DATA - TYPE abap_type
creating elementary data objects
The example demonstrates the creation of elementary data objects.
Other versions: 7.31 | 7.40 | 7.54
Source Code
REPORT demo_create_simple_data.
PARAMETERS: type(10) TYPE c,
length TYPE i,
decimals TYPE i.
CLASS create_demo DEFINITION.
PUBLIC SECTION.
CLASS-METHODS main.
PRIVATE SECTION.
CLASS-METHODS create_data IMPORTING
value(typ) TYPE c
value(len) TYPE i
value(dec) TYPE i
RETURNING
value(dref) TYPE REF TO data
RAISING cx_sy_create_data_error.
ENDCLASS.
CLASS create_demo IMPLEMENTATION.
METHOD main.
DATA dref TYPE REF TO data.
FIELD-SYMBOLS <fs> TYPE ANY.
TRY.
dref = create_data( typ = type
len = length
dec = decimals ).
ASSIGN dref->* TO <fs>.
DESCRIBE FIELD <fs> TYPE type
LENGTH length IN BYTE MODE
DECIMALS decimals.
WRITE: type, length, decimals.
CATCH cx_sy_create_data_error.
WRITE: 'Error creating', type, length, decimals.
ENDTRY.
ENDMETHOD.
METHOD create_data.
TRANSLATE typ TO LOWER CASE.
CASE typ.
WHEN 'd' OR 'decfloat16' OR 'decfloat34' OR 'f' OR 'i'
OR 'string' OR 't' OR 'xstring'.
CREATE DATA dref TYPE (typ).
WHEN 'c' OR 'n' OR 'x'.
CREATE DATA dref TYPE (typ) LENGTH len.
WHEN 'p'.
CREATE DATA dref TYPE p LENGTH len DECIMALS dec.
WHEN OTHERS.
RAISE EXCEPTION TYPE cx_sy_create_data_error.
ENDCASE.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
create_demo=>main( ).
Description
The create_data
method creates all elementary data objects that are possible with built-in ABAP types, depending on the parameters passed.