2017-03-29 90 views

回答

1

計數結構的組成部分,更好地利用RTTS,因爲我們不希望訪問數據庫的結果,我們已經在我們的環境。

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 
1

@lausek回答正確。但對於發行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. 
1

從我身邊的另一個解決方案。

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