「定義的動態內錶,對應內錶一行的工作區
field-symbols
:type
standard
table
,type
any.
form create_dynamic_table .
data
: lt_fcat type slis_t_fieldcat_alv,
ls_fcat like
line
of lt_fcat,
lt_fieldcat type lvc_t_fcat,
ls_fieldcat like
line
of lt_fieldcat,
dy_table type
ref
to data
.call
function
'reuse_alv_fieldcatalog_merge'
exporting
i_structure_name =
'rfpos'
changing
ct_fieldcat = lt_fcat.
call
function
'reuse_alv_fieldcatalog_merge'
exporting
i_structure_name =
'bseg'
changing
ct_fieldcat = lt_fcat.
clear ls_fcat.
ls_fcat-col_pos =
lines
( lt_fcat ) + 1
.ls_fcat-no_out =
'x'.
ls_fcat-fieldname =
'lokkt_txt30'
.ls_fcat-ref_fieldname =
'txt20'
.ls_fcat-ref_tabname =
'skat'
.ls_fcat-reptext_ddic = ls_fcat-seltext_s =
ls_fcat-seltext_m = ls_fcat-seltext_l =
text
-133
.loop
at lt_fcat into ls_fcat.
"where not reptext_ddic is initial.
move-corresponding ls_fcat to ls_fieldcat.
ls_fieldcat-fieldname = ls_fcat-fieldname.
ls_fieldcat-ref_field = ls_fcat-ref_fieldname.
ls_fieldcat-ref_table = ls_fcat-ref_tabname.
endloop
.call
method cl_alv_table_create=>create_dynamic_table
exporting
it_fieldcatalog = lt_fieldcat
importing
ep_table = dy_table.
assign dy_table->* to
.endform
.
「 g_items 和 bseg 已經有資料的工作區
data
:wa_new_line type
ref
to data.
create
data wa_new_line like
line
of .
assign wa_new_line->* to
.move-corresponding g_items to
.move-corresponding bseg to
.to
.
ABAP 動態內錶排序
動態內錶要排序時,因為不知道內錶中的欄位名字,所以不能直接用sort table by field1 field2.可以使用下面的方法來實現 sort table by sorttable 表型別 abap sortorder tab 結構型別 abap sortorder 示例 data w it...
ABAP建立動態內錶
說明 最近業務顧問有很多的需求,其實都是一樣的邏輯,就是處理的表不一樣,就要寫好多次程式,整理一下他的一系列需求之後,準備寫乙個動態的程式,這樣會方便很多,動態的其實核心是動態的內錶,所以簡單的說一下動態內錶的定義方式。1 根據資料庫表定義動態內錶 這種定義比較直接,直接把資料庫表的所有欄位都放在動...
關於ABAP內錶
1.內錶的型別及定義 1 any table 即任意表型別,此種定義方式只能在傳遞引數的時候定義。例如 form using changing type any table 2 any table包括了兩種型別 index table和hashed table 1 index table 包括了st...