ABAP range 用法
转自http://www.sapjx.com/abap-range-table.html
1. Range Table 概述
Range Table 为 SAP R/3系统标准内表的一种,结构与 Selection Table 一致,
由 SIGN, OPTION, LOW 和 HIGH字段组成;
可以通过 TYPE RANGE OF 语句或 RANGES 关键字定义 Range Table。
Range Table 常用于Open SQL语句中的条件筛选,可以优化取数效率与程序性能。
2.定义Range Table
可以通过两种方式定义:
1) TYPE RANGE OF…
DATA rtab {TYPE RANGE OF type}|{LIKE RANGE OF dobj}
[INITIAL SIZE n]
[WITH HEADER LINE]
[VALUE IS INITIAL]
[READ-ONLY].
2) RANGES
语法:
RANGES rtab FOR dobj [OCCURS n].
* 全局变量
DATA: gt_marc TYPE STANDARD TABLE OF marc. *-------------------------------------------
* 通过 RANGE OF 定义
*-------------------------------------------
DATA: gr_werks TYPE RANGE OF werks_d,
gw_werks LIKE LINE OF gr_werks. * 宏定义
DEFINE set_range.
gw_werks-sign = 'I'.
gw_werks-option = 'EQ'.
gw_werks-low = &.
append gw_werks to gr_werks.
END-OF-DEFINITION. set_range ''.
set_range ''. SELECT *
FROM marc
INTO CORRESPONDING FIELDS OF TABLE gt_marc
WHERE werks IN gr_werks. *-------------------------------------------
* 通过 RANGES 定义
*-------------------------------------------
TABLES:marc. RANGES: gr_matnr FOR marc-matnr.
这里需要注意,For后面字段必须为参考表的字段,不能使用 Data Element 来定义,否则系统会报出错误。
3. 在 Subroutine 中传输 Range Table
TABLES: mara. * 全局变量
DATA: gt_mara TYPE STANDARD TABLE OF mara. DATA: gr_matnr TYPE RANGE OF mara-matnr WITH HEADER LINE,
gl_matnr LIKE LINE OF gr_matnr. *&---------------------------------------------------------------------*
*& Form frm_get_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PT_MARA text
* -->PR_MATNR text
*----------------------------------------------------------------------*
FORM frm_get_data TABLES pt_mara STRUCTURE mara
pr_matnr STRUCTURE gr_matnr. SELECT matnr mtart matkl
FROM mara
INTO CORRESPONDING FIELDS OF TABLE pt_mara
WHERE matnr IN pr_matnr. ENDFORM. " F_GET_DATA
4. 在 Function Module 中传输 Range Table
当需要在 Function Module 中传输Range Table 时,可以直接参考预定义类型 Table:

FIELD-SYMBOLS < fs_line > TYPE ANY.
FIELD-SYMBOLS < fs_value > TYPE ANY. DATA lv_value TYPE char40. LOOP AT t_selection ASSIGNING < fs_line >. ASSIGN COMPONENT 'LOW' OF STRUCTURE < fs_line > TO < fs_value >.
lv_value = < fs_value >. …
ENDLOOP.
ABAP range 用法的更多相关文章
- Python基础学习Day4 列表的使用方法、range 用法、in用法
一.列表 1.1列表:python基础数据类型之一:其他语言也有列表的概念,js 数组,可索引 ,可切片,可加步长 1.2列表的索引,切片,切片+ 步长 结果: 注意:列表里元素的数据类型,就是它本身 ...
- python之变量的数据类型(2)list 、 tuple 及range用法
一.变量的数据类型(2) 1.list 类型 列表的特点: 列表是一个可变的数据类型 列表由[]来表示, 每一项元素使用逗号隔开. 列表什么都能装. 能装对象的对象. 列表可以装大量的数据 列表的索引 ...
- 转 python range 用法
详细记录python的range()函数用法 使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的 ...
- python基础-range用法_python2.x和3.x的区别
#range帮助创建连续的数字,通过设置步长来指定不连续 python2.7 #直接就在内存中创建出来(0-99) >>> range(100)[0, 1, 2, 3, 4, 5, ...
- abap append 用法
[转自http://blog.chinaunix.net/uid-7982817-id-91999.html]Append用法总结 2008-11-14 11:42:19 分类: Syntax APP ...
- 转:http range 用法与说明
转: http://www.cnblogs.com/Googler/archive/2010/08/19/1803700.html HTTP RANGE Range,是在 HTTP/1.1(http: ...
- day5 range 用法示例
函数语法 range(start, stop[, step]) 参数说明: start: 计数从 start 开始.默认是从 0 开始.例如range(5)等价于range(0, 5); stop: ...
- python range用法
1. range(n) 相当于枚举 从0<=i<n的整数 增量为1 for i in range(4): print(i) 结果:0 1 2 3 2. range(5,10) 相当于枚举 ...
- Python3---常见函数---range()用法
0X01函数说明: python range() 函数可创建一个整数列表,一般用在 for 循环中. 0X02函数语法: range(start,stop[,step]) start: 计数从 sta ...
随机推荐
- 【Luogu】P1072Hankson的趣味题(gcd)
这题真TM的趣味. 可以说我的动手能力还是不行,想到了算法却写不出来.以后说自己数论会GCD的时候只好虚了…… 我们首先这么想. x与a0的最大公约数为a1,那么我们把x/=a1,a0/=a1之后,x ...
- android Paint属性
** * Paint类介绍 * * Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色, * 样式等绘制信息,指定了如何绘制文本和图形 ...
- ****如何优雅的用Axure装逼?高保真原型心得分享
本文核心内容点:- 啥是高保真原型?(附简单说明原型)- Axure可以画出什么水准的高保真?(给示例,开启装逼模式)- 高保真原型图技巧:- 啥时候上高保真?适用场景 and 不适用场景 啥是高保真 ...
- Vijos——1359 Superprime
Superprime 描述 农民约翰的母牛总是生产出最好的肋骨.你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们. 农民约翰确定他卖给买方的是真正的质数肋骨,是因为从右边开始切下肋骨,每次还 ...
- [BOI2007] Sequence
题目描述 对于一个给定的序列a1, …, an,我们对它进行一个操作reduce(i),该操作将数列中的元素ai和ai+1用一个元素max(ai,ai+1)替代,这样得到一个比原来序列短的新序列.这一 ...
- 数据库设计三范式(3NF)
问:当时你数据库是如何设计的? 答:当时是按照三范式规范设计的: 第一范式: 1:数据库的原子性,即保证数据库表的每一列都不可分割的 第二范式: 1:原子性,即保证数据库表的每一列都不可分割 2:表中 ...
- 航空售票系统设计分析(Markdownpad2图片服务器上传无法显示)
一.体系结构设计 1.系统原型图 2.体系结构环境图 3.构建结构图 二.人机交互界面设计 1.用户分析结果及建议 本次分析的主要目标关注用户评论反馈,对反馈进行归纳,设计出用户喜欢的界面样式.用户的 ...
- hadoop+yarn+hbase+storm+kafka+spark+zookeeper)高可用集群详细配置
配置 hadoop+yarn+hbase+storm+kafka+spark+zookeeper 高可用集群,同时安装相关组建:JDK,MySQL,Hive,Flume 文章目录 环境介绍 节点介绍 ...
- 修复OS X的Finder中文档 打开方式中重复程序的问题
如上图,OS X在使用一段时间后,有些软件就会重复注册打开方式,对于有洁癖的人,这是难以接受的事. 不过有个命令可以很简单的把重复项给去掉. /System/Library/Frameworks/Co ...
- PR物料KFF弹出LOV - WHERE条件重写
PROCEDURE event (event_name VARCHAR2)IS---- This procedure allows you to execute your code at specif ...