【IT168 技术文章】
*&---------------------------------------------------------------------*
*& Report ZCTEST06
*&---------------------------------------------------------------------*
*& 主要使用cl_abap_typedescr=>describe_by_data方法
*& 和子类cl_abap_structdescr中的components属性
*& components包含以下信息
*& length 长度
*& decimals 小数
*& type_kind 类型
*& name 字段名
*&---------------------------------------------------------------------*
REPORT zctest06.
TYPE-POOLS abap.
TYPES:
BEGIN OF ty1,
p1(10) TYPE c,
p2(5) TYPE n,
p3(3) TYPE p DECIMALS 2,
END OF ty1.
DATA: iw1 TYPE ty1,
iw_comp TYPE abap_compdescr,
ref_descr TYPE REF TO cl_abap_structdescr.
ref_descr ?= cl_abap_typedescr=>describe_by_data( iw1 ).
LOOP AT ref_descr->components INTO iw_comp.
WRITE : /1 iw_comp-length,
15 iw_comp-decimals,
30 iw_comp-type_kind,
45 iw_comp-name.
CLEAR iw_comp.
ENDLOOP.