ABAP運行時類型服務 Runtime Type Services (RTTS)
RTTS (RunTime Type Services)允許獲得變量的定義,或者在程序運行期間創建它們。RTTS由2個組件組成:
- RTTI(RunTime Type Identification)用於獲取已存在類型或已存在變量的定義。
- RTTC(RunTime Type Creation)用於使用定義創建新的變量;需要創建的變量必須通過ABAP語句CREATE DATA ... TYPE HANDLE創建。
RTTI和RTTC可以通過使用類CL_ABAP_*DESCR中的方法訪問。每個類都有RTTI和RTTC方法。(下面的表格效果太差,建議直接看英文原文)
Class |
RTTI methods |
RTTC methods |
Attirbutes |
Comments |
CL_ABAP_TYPEDESCR | | | | | |
|
describe_by_data |
absolute_name |
describe_by_name 可以獲得DDIC對象的定義. |
|??CL_ABAP_DATADESCR | | | | | | | | | | |
|
|
is_instantiatable get_data_type_kind |
|
| |??CL_ABAP_ELEMDESCR | | | | | | | | | | | | | | | | | | | | | | |
|
get_n |
edit_mask |
|
| |??CL_ABAP_REFDESCR | | | | | | |
get_referenced_type |
create |
|
對應"type ref to data"的變量,和"type ref to object"的對象 |
| |??CL_ABAP_COMPLEXDESCR |
|
|
|
|
| |??CL_ABAP_STRUCTDESCR | | | | | | |
get_components |
create |
struct_kind |
|
| |??CL_ABAP_TABLEDESCR | | | | | |
get_table_line_type |
create |
key |
|
|??CL_ABAP_OBJECTDESCR | | | | | |
|
|
interfaces |
|
|??CL_ABAP_CLASSDESCR | | | | |
get_super_class_type |
|
class_kind |
|
|??CL_ABAP_INTFDESCR |
get_interface_type |
|
intf_kind |
|
SAP Training : ABAP351
原文標題:Runtime Type Services (RTTS)
本文鏈接:http://www.cnblogs.com/hhelibeb/p/7043550.html
參考文章:動態編程
ABAP運行時類型服務 Runtime Type Services (RTTS)