写点什么

SAP | 如何使用内部表

作者:暮春零贰
  • 2022-10-24
    广东
  • 本文字数:774 字

    阅读完需:约 3 分钟

SAP | 如何使用内部表

前面已经了解到了内部表的三种类型,接下来将讨论内部表使用的不同方法。

追加

如果想对内部表增加新的数据时,可以采用 APPEND 语句,它会在内部表的末尾进行数据的追加。

值得注意的一点是,不能让 APPEND 语句和哈希表一起使用,因为哈希表仅支持 INSERT 语句。


以下为用 APPEND 语句向内部标准表追加记录的实例:


TYPES : BEGIN OF ty_sflight,					CARRID TYPE S_CARR_ID,					CONNID TYPE S_CONN_ID,					FLDATE TYPE S_DATE,			  END OF ty_sflight.DATA :it_sflight TYPE STANDARD TABLE OF ty_sflight,      wa_sflight TYPE ty_sflight.      	wa_sflight-carrid = ' A1 '.	wa_sflight-connid = ' 0101 '.	wa_sflight-fldate = ' 20240501 '.	APPEND wa_sflight TO it_sflight.	wa_sflight-carrid = 'A2'.	wa_sflight-connid = '0203'.	wa_sflight-fldate = '20180506'.	APPEND wa_sflight TO it_sflight.
复制代码

读取

可以使用 READ 和 LOOP 语句来读取内部表中的数据。若要读取单个数据,可以使用 READ,但是,如果你要读取多行数据,那么就需要使用 LOOP。LOOP 语句可以用于多行处理,程序在 LOOP...ENDLOOP 之间循环,一次读取一行到工作区。


以下示例为使用 LOOP 语句的语法:

LOOP AT it_sflight INTO wa_sflight.*用于处理该行的语句代码ENDLOOP.
复制代码

也可以给循环加 WHERE 条件,以此来查询特定条件:

LOOP AT it_sflight INTO wa_sflight WHERE connid EQ '0201'.*用于处理该行的语句代码ENDLOOP.
复制代码

更新

MODIFY 关键字用于修改内部表的数据。而且只能修改非键字段,同时,还需要注意键值匹配问题,如果不匹配,那么就会导致运行时错误。

以下示例为使用索引的 MODIFY 语句:

MODIFY it_sflight FROM wa_sflight INDEX 3.
复制代码

有了索引,内部表的内容就会根据工作区相应的行来修改。

删除

DELETE 关键字用于删除内部表中的数据。语句如下所示:

DELETE it_sflight WHERE connid EQ '0304'.
复制代码



发布于: 刚刚阅读数: 6
用户头像

暮春零贰

关注

每日羊了个羊🐏,不如今日码了再码 2022-03-13 加入

🏆-------SAP开发初学者--------🏆 🏆InfoQ写作平台-从未签约作者 🏆

评论

发布
暂无评论
SAP | 如何使用内部表_SAP_暮春零贰_InfoQ写作社区