- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SAP ABAP语法实例
调试
1 调试键
F8 跳过后面所有断点,程序执行完
2 外部、会话、调试断点
调试断点 -debug 时打的断点,程序远程完后就会消失
会话断点 - 程序运行前通过 会话断点按钮打的断点,在同一登录会话不同窗口都有效,用户注
销后消失
外部断点 - 程序运行前通过 外部断点按钮打的断点, 用户注销后再登录还是有效, 但只针对同
一用户有效
Select
SELECTresult FROMsource INTO target [WHEREcondition] [GROUPBY fields]
[HAVING cond] [ORDER BY fields].
GROUP BY:用于将一组数据条目压缩为一个单行作为选择最终结果;
HAVING:用于限定 ORDER BY子句子数据目组的选择条件;
ORDER BY:用于限定行排序;
SELECT整体语法结构。
示例:
以上示例查询的是: 至期间销售订单为 JR01,且销售量大于 50 的单据的订单号、 创建日期、
创建者、类型以及合计销量,并按销售订单升序排序。
这里需要强调的是, 如果要使用函数 (如SUM、MAX、MIN),则需要将 其他字段 通过 GROUPBY
进行分组。
如果需要继续对使用函数进行条件筛选,则可以使用关键字 HAVING。
关键字 ORDER BY决定查询结果的排序方法, ASCENDING为升序, DESCENDING为降序。
1 SELECT SINGLE单行数据 :
SELECT SINGLE RESULT INTO target FROM source ...
如果系统找到一个完全符合指定条件的行, SY-SUBRC返回 0 ,否则返回 4 。一般不需要指明
所有字段, 而是在 SELECT后用 * 符号 , 若指定多个数据对象, 则需要将这些对象放在括号
中,并用逗号隔开,而且其顺序需要与 SELECT子句中指明的表字段顺序一致。
这里的 target 为结构非内表。
示例:
TABLES: sflight .
DATA: sum TYPE i VALUE 0 .
SELECT SINGLE SUM( seatsocc ) INTO sum FROM sflight WHERE carrid =L
H .
WRITE: / sum.
以上实现的是航线为 LH 的合计座位数。
区别以下代码,上面代码只输出一行,下面则输出多行:
2 SELECT / ENDSELECT循环
通过 SELECT / ENDSELECT循环从数据库中读取多行。
SELECT [DISTINCT] result...statement block ENDSELECT.
注:使用 DISTINCT 自动去掉重复的行; SY-DBCNT(系统字段 ) 为每次循环计数 .
示例:
使用 distinct 达到的效果与 select single 一样,建议使用 select single 语句。
3 一次性 SELECT ...INTO
一次性把数据选择到一个内表中去。
SELECT ...INTO|APPENDING[CORRESPONDING FIELDS OF]TABLE itab.
该情况下 SELECT并不启动循环, 因而不需要使用 ENDSELECT语句;如果 itab 非空,则 SELECT
语句将用读取的数据覆盖其中的内容,使用 APPENDING代替 INTO 将不覆盖内表,若结构不
完全相同,也可使用 CORRESPONDING FIELDS选项将同名区域相对应。
SQL编写注意事项 - 性能实例
1 直接内表操作优先
尽量不要在频率较高的循环语句中使用 update\insert\delete\modify 等操作,即尽量不要
通过工作区实现,直接通过操作内表实现。
示例:
2 select
文档评论(0)