我有一个包含 108 个条目的内部表。从 9 到 9 个条目,它重复了这些条目,我想删除这些重复项。由于它们完全相同,我使用了delete adjacent duplicates from itab comparing all fields
. 也试过没有comparing all fields
. 没有成功。
如果有帮助,我的表有 9 个字段:bukrs、hkont、gjahr、belnr、budat、waers、shkzg、wrbtr、dmbtr 和 dmbe2。他们来自 BSIS,他们也按照这个顺序。这是DO
SELECT 所在的循环enter code here
。我已经把循环的DELETE
外部。DO
两个 firstSELECT
工作正常,属于以前存在的代码。
DO 12 TIMES.
lv_aux = lv_aux + 1.
lv_tamanho = STRLEN( lv_aux ).
IF lv_tamanho = 1.
CONCATENATE '0' lv_aux INTO lv_aux.
ENDIF.
CONCATENATE p_gjahr lv_aux '01' INTO z_v_first_day.
PERFORM get_last_day_of_month USING z_v_first_day
CHANGING lv_last_day.
" some other code irrelevant to the issue
SELECT bukrs hkont gjahr belnr budat waers shkzg dmbtr wrbtr dmbe2 FROM bsis
APPENDING CORRESPONDING FIELDS OF TABLE gt_bancbsis
WHERE hkont = '0051100001'
AND bukrs EQ p_bukrs
AND budat <= lv_last_day.
" some other code irrelevant to the issue
ENDDO.
DELETE ADJACENT DUPLICATES FROM gt_bancbsis COMPARING ALL FIELDS.
这是 dubugger 中内部表 gt_bancbsis 的图片。