Abap 结构中的字段数

Abap 结构中的字段数,abap,Abap,我是abap开发的新手。 实际上,我在查找表或结构的字段数 对于计算结构的组件,请提供任何建议,最好使用RTT,因为我们不希望访问数据库以获得我们环境中已有的结果 DATA(lwa_struct) = VALUE kna1( ). " your structure e.g. kna1 DATA(lo_descr) = CAST cl_abap_structdescr( cl_abap_datadescr=>describe_by_data( lwa_struct ) ). DATA(l

我是abap开发的新手。 实际上,我在查找表或结构的字段数

对于计算结构的组件,请提供任何建议,最好使用RTT,因为我们不希望访问数据库以获得我们环境中已有的结果

DATA(lwa_struct) = VALUE kna1( ). " your structure e.g. kna1

DATA(lo_descr) = CAST cl_abap_structdescr( cl_abap_datadescr=>describe_by_data( lwa_struct ) ).

DATA(lw_all_fields) = LINES( lo_descr->components ). " => 184

为了计算结构的组件,最好使用RTT,因为我们不想访问数据库以获得我们环境中已有的结果

DATA(lwa_struct) = VALUE kna1( ). " your structure e.g. kna1

DATA(lo_descr) = CAST cl_abap_structdescr( cl_abap_datadescr=>describe_by_data( lwa_struct ) ).

DATA(lw_all_fields) = LINES( lo_descr->components ). " => 184

@劳塞克回答正确。但对于730或更低版本,您需要适应以下内容:

data ls_mara type mara.
data lo_structdescr type ref to cl_abap_structdescr.
data lv_count type i.

lo_structdescr ?= cl_abap_datadescr=>describe_by_data( ls_mara ).
lv_count = lines( lo_structdescr->components ).
write lv_count.

@劳塞克回答正确。但对于730或更低版本,您需要适应以下内容:

data ls_mara type mara.
data lo_structdescr type ref to cl_abap_structdescr.
data lv_count type i.

lo_structdescr ?= cl_abap_datadescr=>describe_by_data( ls_mara ).
lv_count = lines( lo_structdescr->components ).
write lv_count.

我这边的另一个解决方案

select count(*) into @data(lv_count) from dd03l 
    where tabname = 'YOUR STRUCTURE NAME' and AS4LOCAL = 'A'.

我这边的另一个解决方案

select count(*) into @data(lv_count) from dd03l 
    where tabname = 'YOUR STRUCTURE NAME' and AS4LOCAL = 'A'.