获取自定义内表或结构的字段信息

 


  TYPES: BEGIN OF TA_TEST,                      
          A(4)    TYPE C,           
          B(4)     TYPE  C,           
       END OF   TA_TEST.

DATA: N  TYPE P,
      WA_TEST     TYPE TA_TEST.
DATA:      IT_TEST  TYPE TABLE OF TA_TEST.
DATA:
  DESCR_REF TYPE REF TO CL_ABAP_TABLEDESCR.
FIELD-SYMBOLS:
  <KEY_COMP_WA> TYPE ABAP_KEYDESCR.

WA_TEST-A = '002'.
WA_TEST-B = '11'.
APPEND WA_TEST TO IT_TEST.
WA_TEST-A = '002'.
WA_TEST-B = '123'.
APPEND WA_TEST TO IT_TEST.

WA_TEST-A = '003'.
WA_TEST-B = '11'.
APPEND WA_TEST TO IT_TEST.
WA_TEST-A = '003'.
WA_TEST-B = '11'.
APPEND WA_TEST TO IT_TEST.
WA_TEST-A = '003'.
WA_TEST-B = '13'.
APPEND WA_TEST TO IT_TEST.
 
  FIELD-SYMBOLS:
   <F2> TYPE C,
   <F1> TYPE ANY.
DATA:
NAME TYPE abap_compname,
BIAOSHI_ZIDUAN TYPE STRING,
IW_COMP TYPE ABAP_COMPDESCR,
REF_DESCR TYPE REF TO CL_ABAP_STRUCTDESCR.
REF_DESCR ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_DATA( WA_TEST ).

LOOP AT IT_TEST ASSIGNING <F1>.
  WRITE : / '第' , SY-TABIX , '行目'.
  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.
    CONCATENATE '<F1>-'
                IW_COMP-NAME
           INTO NAME.                       "WK_SUM_MON_REALXX
    ASSIGN (NAME) TO <F2>.

    BIAOSHI_ZIDUAN = IW_COMP-NAME.
    WRITE : / BIAOSHI_ZIDUAN , ':', <F2>.

  ENDLOOP.
ENDLOOP.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值