ITPub博客

首页 > Linux操作系统 > Linux操作系统 > sap table的使用(二、按列进行排序)

sap table的使用(二、按列进行排序)

原创 Linux操作系统 作者:100113 时间:2012-05-25 12:01:31 0 删除 编辑
先理清楚table中涉及到的数据源的关系。
在设计table的时候,当从数据字典中拖放字段的时候,会自动创建一个是数据表或结构命名的内表,程序运行之后看到的结果就是来自这个表,A表。
其次需要一个内表,用来存放从数据库中取出的数据,B表。
然后需要一个工作区,用来在A表和B表之间进行数据传输。
 
要对table中列进行排序,首先要确定当前选择的列。table中各列的名称放在A表的cols内表中,selected='X'表示被选中,先申明一个类型为A表-cols的工作区
data:col like line of A表-cols.
然后把要排序的列插入col中,即selected='X'的列
read table A表-cols into col with key selected = 'X'.
列名就放在col-screen-name中,是在"A表-列名"这样的形式存放的,我们需要的仅仅只是"列名","A表-"要过虑掉。
fieldName = col-screen-name+3.
为什么要加3呢,因为"A表-"它的长度是3.
接下来对B表进行排序。
sort B表 by (col-screen-name+3).
排序完成之后,SAP会进入PBO中,将B表排好序的数据通过工作区传输到A表中
整个过程完成。
 
完整代码如下:
controls:t_c1 type tableview  using screen to '0200'.
data:g_tab like zxsb,
        wk_tab like zxsb.
form. sort_tab.
   read table t_c1-cols into col with key selected='X'.
   if sy-subrc = 0.
      sort g_tab by (col-screen-name+5).
    
      col-selected = ''.
      modify t_c1 from col index sy-tabix.
   endif.
 
endform.
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23353800/viewspace-730943/,如需转载,请注明出处,否则将追究法律责任。

下一篇: ABAP OO的使用
请登录后发表评论 登录
全部评论

注册时间:2011-11-24

  • 博文量
    19
  • 访问量
    51360