我有一张内部桌子
我想这样显示它:
请注意,只有 a1 的日期按降序排序。所以我想知道是否有一种方法可以只对属于 a1 的日期进行排序,而让其他日期保持不变。
我是初学者,所以如果答案很容易理解,我会很感激
也可以对内部表字段进行降序排序:
SORT itab
BY cust_id
prod_id
sale_date DESCENDING.
https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abapsort_itab.htm
您可以使用 LOOP/GROUP 方法对表进行排序 在将其发送到 ALV (不是工作示例):
LOOP AT itab ASSIGNING FIELD-SYMBOL(<line>)
GROUP BY ( key1 = <line>-cust_id key2 = <line>-prod_id ) ASCENDINGdd
ASSIGNING FIELD-SYMBOL(<grp1>).
LOOP AT GROUP <grp1> ASSIGNING FIELD-SYMBOL(<member>).
members = VALUE #( BASE members ( <member> ) ).
ENDLOOP.
IF <grp1>-prod_id = 'A1'.
SORT members BY sale_date DESCENDING.
ELSE.
SORT members BY sale_date ASCENDING.
ENDIF.
APPEND LINES OF members TO it_final.
ENDLOOP.
https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/index.htm?file=abaploop_at_itab_group_by.htm