楼主: it_daijh

SAP SD及ABAP技术分享

[复制链接]
论坛徽章:
15
ITPUB元老
日期:2005-04-13 09:47:24管理团队成员
日期:2013-06-05 17:37:00ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主6段
日期:2012-08-09 02:21:03ITPUB官方微博粉丝徽章
日期:2011-06-28 19:45:36ITPUB年度最佳版主
日期:2011-04-08 18:37:09BLOG月度发帖之星
日期:2010-05-01 02:15:42ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10
21#
发表于 2013-3-10 19:31 | 只看该作者
不错!

使用道具 举报

回复
求职 : 信息技术专员
论坛徽章:
11
双黄蛋
日期:2011-06-21 16:17:24马上有对象
日期:2014-02-18 16:44:082014年新春福章
日期:2014-02-18 16:44:08兰博基尼
日期:2013-10-14 10:53:32双黄蛋
日期:2013-07-24 14:31:58ITPUB社区千里马徽章
日期:2013-06-09 10:15:34鲜花蛋
日期:2013-03-13 12:58:012013年新春福章
日期:2013-02-25 14:51:24迷宫蛋
日期:2013-01-08 15:17:14ITPUB十周年纪念徽章
日期:2011-11-01 16:26:29
22#
 楼主| 发表于 2013-5-13 15:15 | 只看该作者
abap运行时间

ABAP/4的程序会需要花费大量的时间执行,而且会使其它进程被迫暂停以等待当前程序运行结束。这里提供一些建议以提高你的程序运行速度和系统荷载。
  1.最主要的是尽量减少I/O操作,然后是内存占用,在再就是CPU的负载。类似对硬盘的读写的I/O操作是最耗费时间的。如果对内存的操作不加以控制,可能有些时候不得不对硬盘的交换空间操作,这样就增加了对磁盘的I/O读写操作。
  CPU的负载可以通过优化程序来改善,在程序中尽量使用诸如SUM(SQL语句)或者COLLECT(ABAP语句)。
  2.Field-groups对于多层次的排序和显示是非常有用的。它是将数据写入系统的页面文件,而不是内存(内表是使用内存的)。基于这个原因,field-groups比较适合于处理大量数据的列表(一般超过50000条记录)。如果涉及大量的数据处理,应该首先和系统管理员协商来决定这个程序最多能使用多少内存,以计算这个程序需要使用多少资源。然后你就可以决定是把数据写入内存还是交换空间。
  3.尽可能多地使用表的键值作为Where分句的条件选项。尽可能让程序只读取一定范围内的记录(比如说,你只准备操作一个月之内的业务数据,那么对于这一个月的业务就应该有一定的范围取值,如1000~2000。)
  4.尽量使用这样的选择语句Select A B C INTO TABLE ITAB。
  5.尽量把更多选择项放在用户选择界面上,以避免程序一次选出大量的数据。
  6.用OCCURS NUM_RECS声明内表,NUM_RECS参数是你估计(或希望)使用到的数据条数。如果使用到的记录条数超出NUM_RECS参数的限制,数据将被存放在硬盘上的交换空间(不是内存)。
  7.尽量使用Select A B C INTO TABLE ITAB这样的语句。这个操作会将所有符合条件的数据一次性地读进内表,这比在Select A B C INTO ITAB... ENDSelect的循环中添加数据到内表要快。请注意,这里声明的内表还应该符合第6条的条件。
  8.如果读出的记录条数在持续增长,你应该把这些数据分割成几个固定大小的数据块。比如说,你想调出一年的数据,就可以按照月份把一年的数据分成12个月调出。这样做能减少I/O的操作。
  9.学会用效率比较高的COLLECT语句。
  10.尽可能使用Select SINGLE语句。
  11.许多表包括TOTAL字段(比如GLT0表,包含了各科目按财务期间存放的改期借方和贷方的发生额)。使用这些表可以省去在程序中计算和值的过程。
  ABAP原程序中直接使用structure 和function。

使用道具 举报

回复
论坛徽章:
121
紫蛋头
日期:2013-07-02 19:27:392014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:112014年世界杯参赛球队: 波黑
日期:2014-06-07 00:05:53喜羊羊
日期:2015-03-04 14:49:392015年新春福章
日期:2015-03-06 11:57:31
23#
发表于 2013-5-13 18:43 | 只看该作者
it_daijh 发表于 2013-5-13 15:15
abap运行时间

ABAP/4的程序会需要花费大量的时间执行,而且会使其它进程被迫暂停以等待当前程序运行结束。 ...

"6.用OCCURS NUM_RECS声明内表,NUM_RECS参数是你估计(或希望)使用到的数据条数。如果使用到的记录条数超出NUM_RECS参数的限制,数据将被存放在硬盘上的交换空间(不是内存)。"

关于这一点,请参考INITIAL SIZE n的说明文档:
If the initial memory area is not large enough, further blocks are created using a duplicate strategy until a maximum size is reached. After this, all blocks are created with a constant size between eight and 16 KB.

使用道具 举报

回复
论坛徽章:
3
紫蛋头
日期:2013-04-01 14:43:212015年新春福章
日期:2015-03-04 14:53:162015年新春福章
日期:2015-03-06 11:58:39
24#
发表于 2013-5-14 08:28 | 只看该作者
支持分享

使用道具 举报

回复
论坛徽章:
8
迷宫蛋
日期:2013-01-11 10:00:112013年新春福章
日期:2013-02-25 14:51:24紫蛋头
日期:2013-03-18 16:23:51ITPUB社区12周年站庆徽章
日期:2013-10-08 17:44:422014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:092014年世界杯参赛球队:巴西
日期:2014-06-25 09:44:08青年奥林匹克运动会-七人制橄榄球
日期:2014-09-09 13:48:46
25#
发表于 2013-5-15 14:25 | 只看该作者
good,good

使用道具 举报

回复
论坛徽章:
9
会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53奥运会纪念徽章:自行车
日期:2008-07-18 11:33:00奥运会纪念徽章:垒球
日期:2008-08-02 18:14:392009日食纪念
日期:2009-07-22 09:30:00祖国60周年纪念徽章
日期:2009-10-09 08:28:00喜羊羊
日期:2015-03-04 14:49:392015年新春福章
日期:2015-03-06 11:57:31
26#
发表于 2013-5-15 16:49 | 只看该作者
论坛多一些这样的帖子就好了~~可惜.....

使用道具 举报

回复
论坛徽章:
121
紫蛋头
日期:2013-07-02 19:27:392014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:112014年世界杯参赛球队: 波黑
日期:2014-06-07 00:05:53喜羊羊
日期:2015-03-04 14:49:392015年新春福章
日期:2015-03-06 11:57:31
27#
发表于 2013-5-15 19:37 | 只看该作者
gqlny 发表于 2013-5-15 16:49
论坛多一些这样的帖子就好了~~可惜.....

你把压箱底的拿点出来

使用道具 举报

回复
论坛徽章:
9
会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53奥运会纪念徽章:自行车
日期:2008-07-18 11:33:00奥运会纪念徽章:垒球
日期:2008-08-02 18:14:392009日食纪念
日期:2009-07-22 09:30:00祖国60周年纪念徽章
日期:2009-10-09 08:28:00喜羊羊
日期:2015-03-04 14:49:392015年新春福章
日期:2015-03-06 11:57:31
28#
发表于 2013-5-15 19:43 | 只看该作者
rosefish 发表于 2013-5-15 19:37
你把压箱底的拿点出来

不敢班门弄斧献丑了....你来吧....

使用道具 举报

回复
论坛徽章:
121
紫蛋头
日期:2013-07-02 19:27:392014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:112014年世界杯参赛球队: 波黑
日期:2014-06-07 00:05:53喜羊羊
日期:2015-03-04 14:49:392015年新春福章
日期:2015-03-06 11:57:31
29#
发表于 2013-5-15 20:23 | 只看该作者
gqlny 发表于 2013-5-15 19:43
不敢班门弄斧献丑了....你来吧....

我想献丑可是没斧头

使用道具 举报

回复
论坛徽章:
94
 2014年世界杯参赛球队: 德国
日期:2014-06-18 18:46:432013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:192015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24ITPUB长老会成员
日期:2015-05-07 15:11:10秀才
日期:2015-07-06 10:38:32秀才
日期:2015-07-06 10:38:32秀才
日期:2015-07-15 13:06:49秀才
日期:2015-07-30 08:48:442012数据库大会纪念章
日期:2015-04-23 10:33:19
30#
发表于 2013-5-16 09:05 | 只看该作者
saprain 发表于 2013-3-10 18:58
谢谢分享,不过,原没有我整理的SD群讨论问题汇总

嗯,确实

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表