秦皇岛网站备案,做网站 科目,自己在线制作logo免费超清,优化型网站是什么意思要识别 ABAP 内表中的重复项#xff0c;可以结合使用排序和循环。下面的示例展示了如何查找内部表中的重复条目#xff1a;
DATA: BEGIN OF itab OCCURS 0,field1 TYPE i,field2 TYPE c LENGTH 10,END OF itab,wa LIKE LINE OF itab.* Add sample data to internal table
it…要识别 ABAP 内表中的重复项可以结合使用排序和循环。下面的示例展示了如何查找内部表中的重复条目
DATA: BEGIN OF itab OCCURS 0,field1 TYPE i,field2 TYPE c LENGTH 10,END OF itab,wa LIKE LINE OF itab.* Add sample data to internal table
itab-field1 1. itab-field2 A. APPEND itab.
itab-field1 2. itab-field2 B. APPEND itab.
itab-field1 1. itab-field2 A. APPEND itab.
itab-field1 3. itab-field2 C. APPEND itab.
itab-field1 2. itab-field2 B. APPEND itab.* Sort internal table by the fields you want to check duplicates for
SORT itab BY field1 field2.* Compare current record with在 ABAP 中您可以使用简单的逻辑来识别和显示内表中的重复数据。一种常见的方法是使用 SORT 和 DELETE ADJACENT DUPLICATES 来标记或分离重复数据。但是如果要保留重复数据以作进一步处理或显示则可以使用另一种使用循环的方法。
下面的示例展示了如何查找和显示内表中的重复数据
TYPES: BEGIN OF ty_data,id TYPE i,name TYPE string,END OF ty_data.DATA: lt_table TYPE TABLE OF ty_data,ls_table TYPE ty_data,lt_duplicates TYPE TABLE OF ty_data. Populate the internal table with test data
APPEND VALUE #( id 1 name John ) TO lt_table.
APPEND VALUE #( id 2 name Jane ) TO lt_table.
APPEND VALUE #( id 3 name John ) TO lt_table.
APPEND VALUE #( id 4 name Alice ) TO lt_table.
APPEND VALUE #( id 5 name Jane ) TO lt_table.
APPEND VALUE #( id 6 name John ) TO lt_table. Sort the internal table by name or ID to find duplicates
SORT lt_table BY name. Loop through the table to find duplicates
LOOP AT lt_table INTO ls_table.AT END OF name.IF sy-tabix - sy-tabbix 1.LOOP AT lt_table FROM sy-tabbix TO sy-tabix INTO ls_table.APPEND ls_table TO lt_duplicates.ENDLOOP.ENDIF.ENDAT.
ENDLOOP. Display the duplicates
LOOP AT lt_duplicates INTO ls_table.WRITE: / Duplicate:, ls_table-id, ls_table-name.
ENDLOOP.说明
内部表lt_table 该表存储数据记录。排序 该表按预计会发现重复记录的列本例中 name 排序。使用 AT END OF 循环检查一组记录是否具有相同的键本例中 name。如果发现某个键有多条记录这些条目就会被识别为重复。重复处理 如果发现重复记录则将其收集到 lt_duplicates 表中。显示 然后使用 LOOP 显示重复数据。 这种方法可确保检测到重复数据并将其存储在单独的内部表中以便进一步处理。