好吧,之前有人问过,因为代码太少就一直没发。。。今天给出来吧
众所周知,表维护其实就是个TC,只是表维护是统一的,没有使用通用名内表名什么的,这个就不多说了,来重点:
TC的一般排序可以放在:1,PBO的任意位置(LOOP前);2,PAI处理结束位置(其实很多位置都可以)
本屌懒得去理逻辑,我就直接在LOOP前加了个MODULE,如下:
PROCESS BEFORE OUTPUT. MODULE LISTE_INITIALISIEREN. MODULE MOD_SET_SORT. LOOP AT EXTRACT WITH CONTROL TCTRL_ZRFT002 CURSOR NEXTLINE. MODULE LISTE_SHOW_LISTE. ENDLOOP.
再写代码前,来看看表结构,以及要排序的‘日期’位置:
好了,看到位置了,下面写代码:
*&---------------------------------------------------------------------* *& Module MOD_SET_SORT OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE MOD_SET_SORT OUTPUT. FIELD-SYMBOLS: <fs_field> TYPE any." TYPE zmmt0006-ZJJSJ. ASSIGN extract+13(8) TO <fs_field>. SORT extract BY <fs_field> DESCENDING. ENDMODULE.
不要问+13(8)是什么意思。。。
好了,排序结束,如果要多维度的,定义两个咯,三个也行,四个也可。。。
字段隐藏,不可编辑
LOOP AT <vim_tctrl>-cols INTO vim_tc_cols WHERE screen-name EQ 'ZMMT0006-ZJJ'. vim_tc_cols-vislength = 0. MODIFY <vim_tctrl>-cols FROM vim_tc_cols. ENDLOOP.