上一页 1 2 3 4 5 6 7 ··· 11 下一页
摘要: ABAP对字符串有很多隐形的操作,有时更方便程序员,有时又比较容易使人困惑。 比如在比较字符串的值时,ABAP会自动忽视有效字符后面的空格,而如果在字符前面有空格,则会影响比较的结果。 比如: ‘X’ 和 ‘X__’ 比较的结果是相等;而’X'和’__X’比较的结果则是不相等。 (这里下划线__代表空格) 运行下面... 阅读全文
posted @ 2009-08-03 19:47 levin 阅读(1520) 评论(0) 推荐(0) 编辑
摘要: Business requirment经常要求某个ID的值只能包含26个字母和10个数字字符,这就要求ABAP程序能够检查相应变量内容,辨别特殊字符。sap-img上的一个例子提供了这样的功能: REPORT ZCHECK_ALPHA_NUMERIC. * Declare the variable * For Length data: serial_length type i. * For Al... 阅读全文
posted @ 2009-08-03 19:45 levin 阅读(1881) 评论(0) 推荐(0) 编辑
摘要: SAP ABAP 性能优化技巧 — 选择条件简单话内表(internal table)SAP ABAP 性能优化技巧 — 集合函数SAP ABAP 性能优化技巧 – 视图取代基本表SAP ABAP 性能优化技巧 – 修改一组纪录SAP ABAP 性能优化技巧 — 向内表添加纪录SAP ABAP 性能优化技巧 — 使用二分查找(... 阅读全文
posted @ 2009-08-03 19:35 levin 阅读(698) 评论(0) 推荐(1) 编辑
摘要: 以下是SAP提供的各种对ABAP对象进行性能分析的工具: 运行实时分析 transaction SE30 这个 transaction 可以给出对一个ABAP程序的所有分析,包括数据库和非数据库处理操作。 SQL 追踪 transaction ST05 追踪列表有很多行不是关于 SELECT 语句的,因为... 阅读全文
posted @ 2009-08-03 19:33 levin 阅读(4800) 评论(0) 推荐(0) 编辑
摘要: order by 命令是在数据库服务器上执行的,而 sort 语句是在应用服务器上执行的。因此,与其在select语句中使用order by命令,不如将数据先读取到内表中然后使用sort命令来将结果排序,因为应用服务器上的执行速度要比数据库服务器快。 阅读全文
posted @ 2009-08-03 19:33 levin 阅读(1725) 评论(0) 推荐(0) 编辑
摘要: 当多个 SAP 表在逻辑上关联的时候,总是建议使用右关联 inner join 来从中读取数据。这会降低网络的负载。 以两个表为例:zairln 和 zflight。表 zairln 有字段 airln 存储了航空公司的代码,和字段 lnnam 存储了航空公司的名称。表 zflight 有航空公司代码字段 airln, 以及其他字段存储了航空公司运行的航班的详细信息。 ... 阅读全文
posted @ 2009-08-03 19:32 levin 阅读(2589) 评论(0) 推荐(0) 编辑
摘要: 建议使用move语句取代 move-corresponding 语句, 因为move-corresponding的执行速度很慢。应该尽量一次性搬移内表的整条记录,而不是一个字段一个字段的取值。move-corresponding会需要这个字段的比较域名,因此速度会很慢。 阅读全文
posted @ 2009-08-03 19:32 levin 阅读(1098) 评论(0) 推荐(0) 编辑
摘要: 当一个基本表有多个索引的时候, where 语句中的字段顺序应该与索引的顺序一致,无论第一索引还是第二索引。 在选择一个索引的时候,优化机会检查where语句中字段名,然后选择一个与这些字段名排列顺序一致的索引。 另外一个提示就是如果一个表是以 客户端编号MANDT 开始的,而索引不是的话,则优化机很有可能不会使用那个索引。 在某些情况下,建议查看是否有新的索引可以加速程序的运行。这在访问财务表的... 阅读全文
posted @ 2009-08-03 19:31 levin 阅读(1418) 评论(0) 推荐(0) 编辑
摘要: 在select语句后面的where附加项中可以使用左关联,这会极大的提高程序速度,但同时也有一些局限,如下: 重复项会被从结果数据集中自动删除,因此要注意在select语句中需要给出详细的唯一关键字组合。 如果 For All Entries IN 字段修饰的内表是空表的话,源表的所有行都会被选入目标表中。因此在使用前一定要首先检查第一个表是否为空,这一点很重要... 阅读全文
posted @ 2009-08-03 19:30 levin 阅读(1249) 评论(0) 推荐(0) 编辑
摘要: 推荐使用缓存表因为它可以显著提高程序速度。但是使用以下语句的时候缓存表会被跳过: Select distinct Select … for update Order by, group by, having字段 Joins 在 select 命令后面使用 bypass buffer 附加语句可以明确跳过缓存表。 阅读全文
posted @ 2009-08-03 19:29 levin 阅读(943) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 11 下一页