ABAP开发中一些总结.pdf

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SAP R/3 ABAP 开发过程中一些总结 1、ST05 是用于在开发 ABAP 程序时,对应事务码取得的字段是“数据结构”而不是“透明表” 的时候,通过ST05 的“SQL 跟踪”来获得相关“Select”的语句;一般查看“REC”列耗时比较多的 “Select”语句; 2、跟踪时如果有涉及到“数量”这类有对数据表进行更新或插入操作的,则直接去查Update 和Insert 的SQL 语句; 3、在跟踪后,直接双击“对象名”列的名称,点选“表格”转到“SE11”的表字段表; 4 、ABAP 程序开头的Tables:“数据表名” ,只有在屏幕中有用到的表,才需要声明;在程序中 用到的表则不需要进行在Tables 内声名; 5、抓SAP“文本”字段的数据,要先自定义变量,然后通过SE37 的函数“FUNCTION ’ZREAD_TEXT’” 取回文本数据; 6、新建的ABAP 程序,在测试运行的时候要先进行“激活” ,才能测试运行; 7、SE93 :把ABAP 写好的程序指定一个事务码执行; 8、abap 引号内的字符’’必须要是大写; 9、ABAP select 里面的语句,不能像mssql 有那么丰富的函数使用,需要导到内表后再对数 据进行操作; 10、’EQ’是单个数据值,’BT’是between 区间的意思。 11、在写select inner join 里面,要注意是否需要加上销售组织的条件;on 条件1 and 销售 组织条件。 12、SELECTION-SCREEN,里面有两个子项,PARAMETERS 和select-options 。 PARAMETERS 一般是用于必输项的屏幕参数设置,如果这个参数不是必输项的,就要用 select-options 。在select ...where 条件里,用PARAMETERS 的条件语法是“数据字段 = 屏幕字 段” ;而select-options 的条件语法是“数据字段 in 屏幕字段” 。 13、在where 判断一个日期型数据是空,不是DEAKT = ’’,也不是DEAKT is initial,而应该写成 DEAKT = (8 个0) 。 14、一对多的inner join,如果取出的数据有重复,前面加上distinct,用法和MSSQL 相同。 15、sy-subrc,指上一个语句执行是否成功;执行成功返回0 ,执行不成功返回非0 。用if 判 断。 16、如果一个语句中,该名称同时可能代表内表或者同名表工作区,则需要在内表名称之后 加“*+”指明当前操作的是内表对象。不提倡使用带有表头行的内表,而是应该总是声明结构 相同的其他数据对象作为显示工作区进行内表行操作。 如何调整ABAP 程序的性能(copy) 1、使用where 语句 不推荐 Select * from zflight. Check : zflight-airln = ‘LF’ and zflight-fligh = ‘BW222’. Endselect. 推荐 Select * from zflight where airln = ‘LF’ and fligh = ‘222’. Endselect. 2、使用聚合函数 不推荐 Maxnu = 0. Select * from zflight where airln = ‘LF’ and cntry = ‘IN’. Check zflight-fligh maxnu. Maxnu = zflight-fligh. Endselect. 推荐 Select max( fligh ) from zflight into maxnu where airln = ‘LF’ and cntry = ‘IN’. 3、使用视图代替基本表查询 不推荐 Select * from zcntry where cntry like ‘IN%’. *Page+ Select single * from zflight where cntry = zcntry-cntry and airln = ‘LF’. Endselect. 推荐 Select * from zcnfl where cntry like ‘IN%’ and airln = ‘LF’. Endselect. 4 、使用INTO table 代替select endselect 不推荐 Refresh: int_fligh. Select

文档评论(0)

chqs52 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档