Vous êtes sur la page 1sur 16

SAP Global Delivery

Integration Services

Run Time Type Services (RTTS)

Pablo Rovira Bosch, SAP GD Buenos Aires


03.11.2010
RTTS (Run Time Type Services)

The RTTS ( Run Time Type Services) are implemented through a hierarchy of type
classes that provides the following functionalities:

 Type identification and description at run time (RTTI)

 Dynamic type creation (RTTC)

 Each type kind corresponds to one description class.

 Each class has RTTI and RTTC methods

© SAP 2010 / Page 2


RTTS Class hierarchy

CL_ABAP_TYPEDESCR

CL_ABAP_DATADESCR CL_ABAP_OBJECTDESCR

CL_ABAP_ELEMDESCR CL_ABAP_INTFDESCR

CL_ABAP_REFDESCR CL_ABAP_CLASSDESCR

CL_ABAP_COMPLEXDESCR

CL_ABAP_STRUCTDESCR

CL_ABAP_TABLEDESCR

© SAP 2010 / Page 3


RTTI & RTTC methods

Some examples of methods are:

• RTTI
 CL_ABAP_STRUCTDESCR->GET_COMPONENTS
Returns component description table of structure
 CL_ABAP_CLASSDESCR->GET_SUPER_CLASS_TYPE
Returns super class type
 CL_ABAP_ELEMDESCR->IS_DDIC_TYPE
Returns TRUE if it is a Dictionary type

• RTTC
 CL_ABAP_ELEMDESCR=>GET_C
Returns the Type Object for an Elementary Type c
 CL_ABAP_ELEMDESCR=>GET_N
Returns the Type Object for an Elementary Type n
 CL_ABAP_STRUCTDESCR=>CREATE
Factory method for Structure Type creation

© SAP 2010 / Page 4


Type Object

To introduce us in the study and the usage of RTTS, we should know first what is a
Type Object and its properties.

A Type Object:

Is an instance of a RTTS class.

Describe all properties of a type.

Can be used instead of type name.

There are 4 ways to get a type object using RTTC methods:

By type name (DESCRIBE_BY_NAME)

By data object (DESCRIBE_BY_DATA)

By object reference (DESCRIBE_BY_OBJECT_REF)

By data reference (DESCRIBE_BY_DATA_REF)

© SAP 2010 / Page 5


Get a type object

By type name (DESCRIBE_BY_NAME)

By data object (DESCRIBE_BY_DATA)

© SAP 2010 / Page 6


Get a type object

By object reference (DESCRIBE_BY_OBJECT_REF)

By data reference (DESCRIBE_BY_DATA_REF)

© SAP 2010 / Page 7


RTTS - Usage

There are many possible scenarios where we can use RTTS and take advantage of it.

The following are some examples:

• RTTI usage
 Get field description from data dictionary
 Get all the components of a structure and its properties

• RTTC usage
 Create data objects dynamically
 Create an internal table dynamically

© SAP 2010 / Page 8


RTTI - Usage

Scenario:

 You have defined a custom type structure whose fields are referenced to DDIC
elements.

 You need to get fields descriptions.

© SAP 2010 / Page 9


RTTI - Usage

Structure DFIES contains all properties of a


data dictionary element
Output:

© SAP 2010 / Page 10


RTTI - Usage

Scenario:

 You have defined a custom type structure.

 You need to get component names.

© SAP 2010 / Page 11


RTTI - Usage

Output: Structure ABAP_COMPDESCR contains


all properties of a data object:
• Length
• Decimals
• Type kind
• Name

© SAP 2010 / Page 12


RTTC - Usage

Scenario:

 You need to create an internal table dynamically.

In this example you can choose the


internal table structure by using
the parameter P_TABLE

T_TABLE internal table of type T001T and


GS_TABLE work area of type T001T are now created.
Let’s try to populate the internal table with data and print it.
© SAP 2010 / Page 13
RTTC - Usage

© SAP 2010 / Page 14


RTTC - Usage

The output of our test program will be a simple report showing the data on the
internal table we created dynamically.

© SAP 2010 / Page 15


Thank you!

© SAP 2008 / Page 16

Vous aimerez peut-être aussi