类CL_ABAP_TYPEDESCR,动态取得运行时类型
来源:互联网 发布:谷歌人工智能产品 编辑:程序博客网 时间:2024/06/16 16:16
类CL_ABAP_TYPEDESCR和它的子类的结构图
CL_ABAP_TYPEDESCR
|
|--CL_ABAP_DATADESCR
| |
| |--CL_ABAP_ELEMDESCR
| |--CL_ABAP_REFDESCR
| |--CL_ABAP_COMPLEXDESCR
| |
| |--CL_ABAP_STRUCTDESCR
| |--CL_ABAP_TABLEDESCR
|
|--CL_ABAP_OBJECTDESCR
|
|--CL_ABAP_CLASSDESCR
|--CL_ABAP_INTFDESCR
例子1:
TYPES:
BEGIN OF TYP_DEPT,
ID(10)TYPE N,
NAME(10) TYPE C,
END OF TYP_DEPT.
DATA:
WA_DEPT TYPE TYP_DEPT,
DESCR_REFTYPE REF TO CL_ABAP_STRUCTDESCR.
FIELD-SYMBOLS:
<FS_DEPT>TYPE ABAP_COMPDESCR.
************************************************************************
* START-OF-SELECTION
************************************************************************
START-OF-SELECTION.
DESCR_REF ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_DATA( WA_DEPT ).
LOOP AT DESCR_REF->COMPONENTS ASSIGNING <FS_DEPT>.
WRITE: / <FS_DEPT>-NAME.
ENDLOOP.
例子2:
TYPES:
my_table TYPE HASHED TABLE OF i WITH UNIQUE KEY TABLE LINE.
DATA:
descr_ref TYPE ref to cl_abap_tabledescr.
FIELD-SYMBOLS:
<key_comp_wa> TYPE abap_keydescr.
START-OF-SELECTION.
descr_ref ?= cl_abap_typedescr=>describe_by_name( 'MY_TABLE' ).
WRITE: / 'Typename :', descr_ref->absolute_name.
WRITE: / 'Kind :', descr_ref->type_kind.
WRITE: / 'Length :', descr_ref->length.
WRITE: / 'Decimals :', descr_ref->decimals.
WRITE: / 'Table Kind :', descr_ref->table_kind.
WRITE: / 'Initial Size :', descr_ref->initial_size.
WRITE: / 'Key Def Kind :', descr_ref->key_defkind.
WRITE: / 'Has Unique Key:', descr_ref->has_unique_key.
WRITE: / 'Key Components:'.
LOOP AT descr_ref->key ASSIGNING <key_comp_wa>.
WRITE <key_comp_wa>-name.
ENDLOOP.
- 类CL_ABAP_TYPEDESCR,动态取得运行时类型
- 类CL_ABAP_TYPEDESCR,动态取得运行时类型
- 类CL_ABAP_TYPEDESCR,动态取得运行时类型
- CL_ABAP_TYPEDESCR
- 动态(程序运行时)生成枚举类型
- 动态(程序运行时)生成枚举类型
- 动态类型dynamic和动态语言运行时DLR
- 浏览器客户端智能自动化:如何取得页面中JavaScript运行时动态生成的URL?
- BCB运行期取得Enum(枚举)类型信息
- 运行时类型识别——Class类(动态加载类)
- MFC中运行时类型识别和动态创建类对象
- MFC运行时类型识别(MFC RTTI)与动态创建
- 动态运行时类型的显式转换
- 动态运行时类型识别与显式转换
- C++中运行时类型信息(RTTI)及动态强制类型转换
- 运行时类型识别(RTTI)与动态类型转换原理(reinterpret_cast const_cast static_cast dynamic_cast)
- 三十、多态性、动态类型 和 动态绑定(三)运行时 VS 编译时
- java之编译时类型(前期绑定)和运行时类型 (后期绑定、动态绑定、运行时绑定)
- hession的入门级使用方法
- [SQL]提升查询效率与避免LOCK发生
- HTML5 canvas 基础入门教程
- 过滤器之Hibernate自动提交事务,并关闭会话
- git-->进一步学习无网络情况下
- 类CL_ABAP_TYPEDESCR,动态取得运行时类型
- 栈和队列(二):栈的应用举例
- 今天温度比昨天还要高,晚上又要开空调睡了!
- iOS Dev Center Telephone Support
- 多媒体播放声音多路输出
- wince/WinForm下实现一个自动关闭的MessageBox
- HDU1271 整数对
- 如何使用 TRACERT 解决 Windows 中的 TCP/IP 问题
- android 导入Sample到Eclipse中