Skip to main content

SAP ABAP Data Types

While programming in ABAP, we need to use a variety of variables to store various information. Variables are nothing but reserved memory locations to store values. This means that when you create a variable you reserve some space in memory. You may like to store information of various data types like character, integer, floating point, etc. Based on the data type of a variable, the operating system allocates memory and decides what can be stored in the reserved memory.

Elementary Data Types

ABAP offers the programmer a rich assortment of fixed length as well as variable length data types. Following table lists down ABAP elementary data types −
Byte fieldX
Text fieldC
Floating pointF
Packed numberP
Text stringSTRING
Some of the fields and numbers can be modified using one or more names as the following −
  • byte
  • numeric
  • character-like
The following table shows the data type, how much memory it takes to store the value in memory, and the minimum and maximum value that could be stored in such type of variables.
TypeTypical LengthTypical Range
X1 byteAny byte values (00 to FF)
C1 character1 to 65535
N (numeric text filed)1 character1 to 65535
D (character-like date)8 characters8 characters
T (character-like time)6 characters6 characters
I4 bytes-2147483648 to 2147483647
F8 bytes2.2250738585072014E-308 to 1.7976931348623157E+308 positive or negative
P8 bytes[-10^(2len -1) +1] to [+10^(2len -1) 1] (where len = fixed length)
STRINGVariableAny alphanumeric characters
XSTRING (byte string)VariableAny byte values (00 to FF)


DATA text_line TYPE C LENGTH 40. 
text_line = 'A Chapter on Data Types'. 
Write text_line. 

DATA text_string TYPE STRING. 
text_string = 'A Program in ABAP'. 
Write / text_string. 

DATA d_date TYPE D. 
d_date = SY-DATUM. 
Write / d_date.
In this example, we have a character string of type C with a predefined length 40. STRING is a data type that can be used for any character string of variable length (text strings). Type STRING data objects should generally be used for character-like content where fixed length is not important.
The above code produces the following output −
A Chapter on Data Types 
A Program in ABAP 
The DATE type is used for the storage of date information and can store eight digits as shown above.

Complex and Reference Types

The complex types are classified into Structure types and Table types. In the structure types, elementary types and structures (i.e. structure embedded in a structure) are grouped together. You may consider only the grouping of elementary types. But you must be aware of the availability of nesting of structures.
When the elementary types are grouped together, the data item can be accessed as a grouped data item or the individual elementary type data items (structure fields) can be accessed. The table types are better known as arrays in other programming languages. Arrays can be simple or structure arrays. In ABAP, arrays are called internal tables and they can be declared and operated upon in many ways when compared to other programming languages. The following table shows the parameters according to which internal tables are characterized.
S.No.Parameter & Description
Line or row type
Row of an internal table can be of elementary, complex or reference type.
Specifies a field or a group of fields as a key of an internal table that identifies the table rows. A key contains the fields of elementary types.
Access method
Describes how ABAP programs access individual table entries.
Reference types are used to refer to instances of classes, interfaces, and run-time data items. The ABAP OOP run-time type services (RTTS) enables declaration of data items at run-time.


Click Here to join our whatsapp group

Join our Telegram channel

Popular posts from this blog