ABAP数据库操作系列(4)

1735473


3. into 详解:
* into [wa] :把数据选择出来放入工作区[wa]中。

注意:如果是select f1 f2 … fn into wa的时候,wa中的字段数一定要大于等于n的个数,不然会出现runtime error 。
如果数据库中只有一条记录,那么endselect语句被忽略。
因为是每次选出一条记录,所以endselect语句是必须的。
实例:
DATA: BEGIN OF wa1,
client   TYPE scarr-mandt,
carrid   TYPE scarr-carrid,
carrname TYPE scarr-carrname,
url      TYPE scarr-url,
rest(100),
END OF wa1.
SELECT * INTO wa1 FROM SCARR.
WRITE: / wa1-carrid, wa1-carrname.
ENDSELECT.
* INTO CORRESPONDING FIELDS OF wa:把数据选择到wa中的相应字段中。这个语句和上面的语句唯一的区别就是,指定的字段名称问题。因为选择数据的时候数据库中会有一个比较的过程,所以这个方式不如上面的方式速度快。只要注意wa中字段命名的问题,可以避免使用corresponding语句。
* INTO (f1, …, fn):把选择出来的数据分别放到几个变量中,into的变量数和select的变量的个数必须相等。
实例:
DATA:  carrid   TYPE scarr-carrid,
carrname TYPE scarr-carrname.
CARRNAME LIKE SCARR-CARRNAME,
SELECT carrid carrname
INTO (carrid, carrname)
FROM scarr.
WRITE: / carrid, carrname.
ENDSELECT.

* INTO TABLE itab
* INTO CORRESPONDING FIELDS OF TABLE itab
这两个语句的区别同into wa 和into corresponding field of wa一样,因为这个是把选择出来的数据放到内表中,所以不需要endselect语句了。
* APPENDING TABLE itab
* APPENDING CORRESPONDING FIELDS OF TABLE itab :和上面的into table itab等一样,也是把取得的数据加到内表中,无需endselect 。


About The Author

从事SAP行业有些年头,对SAP技术稍有了解; 如无特别声明,本博客文章为原创,转载请注明; 博主MSN:xuchunbo0901@hotmail.com; 博主邮箱:bob.xu@abaptech.com。

No Comments

Leave A Reply


注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

无觅相关文章插件,快速提升流量