SAP ABAP——OPEN SQL(一)【INTO语句】

简介: 本文主要介绍SAP ABAP中OPEN SQL的INTO语句

本文主要介绍SAP ABAP中OPEN SQL的INTO语句



结构体插入(插入一条语句时)

SELECT...INTO [CORRESPONDING FIELDS OF] <wa> FROM <db> WHERE <condition>.


内表插入(插入多条语句时)

SELECT...INTO|APPENDING [CORRESPONDING FIELDS OF] TABLE <itab>
      FROM <db> WHERE <condition>

1. 当不需要连续查询多条语句并且依次插入内表时使用"INTO",因为每次使用INTO语句将数据插入内表都会先清空内表,示例代码及效果如下

REPORT ZWYZTEST_FOR_MANGO.
DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT.
DATA:GS_SFLIGHT TYPE SFLIGHT.
SELECT CARRID INTO CORRESPONDING FIELDS OF TABLE GT_SFLIGHT FROM SFLIGHT WHERE CARRID = 'AC'.
SELECT CARRID INTO CORRESPONDING FIELDS OF TABLE GT_SFLIGHT FROM SFLIGHT WHERE CARRID = 'AF'.
LOOP AT GT_SFLIGHT INTO GS_SFLIGHT.
   WRITE:GS_SFLIGHT-CARRID.
ENDLOOP.

ddbb5f588f6e416344cd530a893ee8b.png


2.当需要连续查询多条语句并且依次插入内表时使用"APPENDING",因为每次使用APPENDING语句将数据插入内表不会清空内表,保留先前的插入数据,示例代码及效果如下

REPORT ZWYZTEST_FOR_MANGO.
DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT.
DATA:GS_SFLIGHT TYPE SFLIGHT.
SELECT CARRID APPENDING CORRESPONDING FIELDS OF TABLE GT_SFLIGHT FROM SFLIGHT WHERE CARRID = 'AC'.
SELECT CARRID APPENDING CORRESPONDING FIELDS OF TABLE GT_SFLIGHT FROM SFLIGHT WHERE CARRID = 'AF'.
LOOP AT GT_SFLIGHT INTO GS_SFLIGHT.
    WRITE:GS_SFLIGHT-CARRID.
ENDLOOP.

7ccb69fd987b9ec924f77d790a26652.png


SFLIGHT数据库表(下方示例代码也采用该数据库表)

955902441b320d8bb0dd1dddde8a38b.png



PACKAGE用法

    使用PACKAGE可以限制每次追加到内表里的数据件数,假设当n为5时,则每次只读取5条数据添加到内表中,注意!使用PACKAGE,结尾一定要使用ENDSELECT语句结束!

SELECT...INTO|APPENDING [CORRESPONDING FIELDS OF] TABLE <itab>
       PACKAGE SIZE <n>
       FROM <db> WHERE <condition>.
    ENDSELECT.


Single Field

SELECT...INTO(f1,f2...)...

示例代码及效果:

REPORT ZWYZTEST_FOR_MANGO.
DATA:GV_CARRID TYPE SFLIGHT-CARRID.
DATA:GV_CONNID TYPE SFLIGHT-CONNID.
SELECT CARRID CONNID INTO (GV_CARRID,GV_CONNID) FROM SFLIGHT WHERE CONNID = 2415.
ENDSELECT.
WRITE:GV_CARRID,GV_CONNID.

7a5aae705c63dbdd44614449f19fecb.png

目录
相关文章
|
SQL 设计模式 前端开发
【置顶】SAP ABAP开发实战——从入门到精通系列目录
本文章为SAP ABAP开发实战——从入门到精通系列的目录以及关于该教程的后续写作计划表
1820 0
【置顶】SAP ABAP开发实战——从入门到精通系列目录
SAP ABAP 程序调用设置成后台作业模式
ABAP 程序调用设置成后台作业模式
552 0
SAP ABAP 内表排序 动态字段排序
对于动态内表排序引用ABAP_SORTORDER_TAB
335 0
|
SQL
SAP ABAP-OPENSQL-数值函数简介
S4中针对OPENSQL新提供一些函数
166 0
|
SQL
SAP ABAP-OPENSQL-字符串函数介绍
S4中SQL新语法字符串函数
248 0
|
SQL
SAP ABAP-OPENSQL-日期/时间戳函数
S4提供针对OPENSQL一些新的SQL函数调用,本文展示相关函数的使用
754 0
SAP ABAP-删除工序示例代码
ABAP-删除工序示例代码
191 0
SAP ABAP 检查事务码权限
检查用户是否有自开发事务码的权限
197 0
|
BI
SAP ABAP在线预览文档对象的开发实现
应用场景:有些定制化开发(报表/功能增强等)完成之后,客户需要将其操作手册或者相关文档放在某个报表的初始画面,供实际操作者在线查阅,当然这个功能也同样类似于模板的下载,这里就以在线预览(直接打开)为例进行说明。
251 0
SAP ABAP字符串拼接保留空格
字符串操作保留空格
1194 0