Representation of data in ABAP - Amazon SDK for SAP ABAP
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Representation of data in ABAP

This section covers the following topics.

Data types

Amazon Web Services services have a standard set of data types that must be mapped to ABAP data types. See the following table for more details.

Amazon data type ABAP data type Comments
boolean C Single character "X" and " "
String STRING
Byte INT2 INT2 has a larger range than 0-255. Most Amazon Web Services services will truncate overflows but this behavior is not formally defined.
Short INT2
Integer INT4
Long DEC19 INT8 is not available until ABAP 750. DEC19 is used for compatibility and consistency across all supported ABAP platforms.
Blob XSTRING Represents binary data
Float STRING While ABAP supports DECFLOATs, it cannot represent values such as  NaN, Infinity  and -Infinity. Amazon SDK represents these internally as STRINGs, and converts them to DECFLOAT16 at runtime. If NaN, Infinity or +Infinity are represented, the developer may process these in response to a special set of exceptions or mappings.
Double STRING
bigInteger STRING These values represent infinite-length numbers that cannot be represented in ABAP, and STRINGs are used instead of bigInteger.
bigDecimal STRING
Timestamp TZNTSTMPS TZNTSTMPS enables processing with native ABAP timestamp functions.

Amazon Web Services services also return the following aggregate data types.

Amazon data type ABAP data type Comments
Structure Class
Union Class A union is the same as a structure, except that a union will never have more than one field set. All other fields will be set to No Value.
Array STANDARD TABLE
Hash HASHED TABLE The hashed table will only have two columns: a KEY (string) and a VALUE (class).

Amazon data types

The following approaches have been integrated to support Amazon Web Services services in ABAP.

  • Certain Amazon data types cannot be represented in ABAP. For examples, the float data type in ABAP does not support the NaN, Infinity, or -Infinity values. Therefore, the float data type is represented as STRING and is translated to DECFLOAT16 at runtime.

  • Amazon data is represented on the wire as JSON or XML, and the values are optional. For example, see the following examples returned by an Amazon Web Services service in JSON.

    Fullname: {    Firstname:  "Ana",    Middlename: "Carolina",    Lastname:  "Silva" }

    If Ana doesn't have a middle name, the service returns the following output.

    Fullname: {    Firstname:  "Ana",    Lastname:  "Silva" }

    ABAP does not distinguish between a string of length 0 and a string that has no value. Other languages might assign a NULL value to the string or wrap the string in a construct (such as, Java's Optional<> wrapper). These are not supported in ABAP. Therefore, SDK for SAP ABAP facilitates the distinction in values by providing variants of the getter method.