日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

类CL_ABAP_TYPEDESCR,动态取得运行时类型

發布時間:2025/3/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 类CL_ABAP_TYPEDESCR,动态取得运行时类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有時候我們要在程序運行的時候取得某個內表或者某個結構它的屬性或者它的字段的屬性,可能通過類CL_ABAP_TYPEDESCR和它的子類取得指定內表的屬性。

類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_REF TYPE 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,动态取得运行时类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。