sm30表维护做排序详解编程语言

好吧,之前有人问过,因为代码太少就一直没发。。。今天给出来吧

众所周知,表维护其实就是个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.

再写代码前,来看看表结构,以及要排序的‘日期’位置:

sm30表维护做排序详解编程语言

好了,看到位置了,下面写代码:

*&---------------------------------------------------------------------* 
*&      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.

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/18625.html

(0)
上一篇 2021年7月19日 21:20
下一篇 2021年7月19日 21:20

相关推荐

发表回复

登录后才能评论