在ABAP中,RANGE表包含SIGN,OPTION,LOW,HIGH那它能不能和普通表一样进行操作,比如LOOP,APPEND,READ等等

为什么在检索DB时IN后面可以加RANGE表,在这个时候IN语句会自动去匹配LOW,HIGH的值吗?为什么普通的标准表不可以?还有,RANGE表使用时除了数据量的要求外还... 为什么在检索DB时IN后面可以加RANGE表,在这个时候IN语句会自动去匹配LOW,HIGH的值吗?
为什么普通的标准表不可以?
还有,RANGE表使用时除了数据量的要求外还要注意什么? INDEX ,MODIFY之类的可以用吗?效率怎样?
不要从网上摘抄的,我自己也会做测试,但我需要专业的解释,知道的大侠讲一下啊,谢谢
展开
 我来答
neutc
推荐于2017-10-10 · TA获得超过683个赞
知道小有建树答主
回答量:428
采纳率:100%
帮助的人:466万
展开全部
为什么在检索DB时IN后面可以加RANGE表,在这个时候IN语句会自动去匹配LOW,HIGH的值吗?
--->是的,这是ABAP Open SQL 特有的功能。
为什么普通的标准表不可以?
--->如果内表有根range table 一样的结构的话,那么也是可以的。range table也是一种内表,只不过它的表结构被特定化了。
还有,RANGE表使用时除了数据量的要求外还要注意什么? INDEX ,MODIFY之类的可以用吗?效率怎样?
--->注意sing和option的值必须是大写,例如:“I” 不能为“i”。 INDEX 和 MODIFY也是可以用的,因为Range table也是一种内表。
追问
那也就是说LOOP.READ.DELETE这些命令也可以用到RANGE表里去是吗?
IN语句自动匹配LOW,HIGH值,只是ABAP OPEN SQL的特有功能吗?还是在其余的数据库里面也可以实现?谢谢
追答
那也就是说LOOP.READ.DELETE这些命令也可以用到RANGE表里去是吗?
-->是的
IN语句自动匹配LOW,HIGH值,只是ABAP OPEN SQL的特有功能吗?还是在其余的数据库里面也可以实现?谢谢
-->Open SQL是ABAP中的数据检索语言,它将底层的数据库封装起来,也就是说不管SAP连接的是什么数据库系统(SQL Server,DB2。。。。)ABAP开发人员都不需要去写对应不同数据库的SQL语句,OPEN SQL一套就够了,所有的数据库都可以检索操作数据。至于IN能不能在其他的数据库中实现,我不太了解。
lupkid
推荐于2018-03-13 · 超过38用户采纳过TA的回答
知道答主
回答量:157
采纳率:0%
帮助的人:115万
展开全部
Range table 和select-option 的变量是差不多的
sign = 'I' 或 sign = 'E' 是指INCLUED 和 EXCLUDE
OPTION = 'EQ' 或其他操作符。。
LOW 是指最少值(操作符是范围的话)
HIGH ( 如果操作符是‘EQ’,该field没用)
如果
data: lv_ebeln type ekko-ebeln.

ranges: r_ebeln for lv_ebeln.

r_ebeln-sign = 'I'.
r_ebeln-option = 'EQ'.
r_ebeln-low = '123456'.
append r_ebeln.

r_ebeln-sign = 'I'.
r_ebeln-option = 'EQ'.
r_ebeln-low = '234567'.
append r_ebeln.

r_ebeln-sign = 'I'.
r_ebeln-option = 'EQ'.
r_ebeln-low = '345678'.
append r_ebeln.

select * from ekko
into table XXX where ebeln in r_ebeln.
就会把EKKO表里的EBELN = '123456' OR EBELN = '234567' OR EBELN = '345678'的纪录选出来
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式