`
zjut_xiongfeng
  • 浏览: 271975 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ranges 语法

阅读更多



RANGES语句:要用与选择表相同的结构创建内表,可使用RANGES语句,如下所示:
语法:RANGES <seltab> FOR <f>.
该语句创建选择表<seltab>,该表参考数据库表的列<f>或内部字段<f>。选择表<seltab>必须在程序中填充。不必在程序中再用TABLES语句声明数据库表。
RANGES语句是下列语句的短格式:
DATA: BEGIN OF <seltab> OCCURS 10,
SIGN(1),
OPTION(2)
LOW LIKE <f>,
HIGH LIKE <f>,
END OF <seltab>.

用RANGES创建的内表与选择表结构相同,但功能不同。
用RANGES语句创建的选择表:
1)不是选择屏幕的一部分:
它们在程序<prog>中不能用于数据传递,该程序由下列语句启动:SUBMIT <prog> WITH <seltab> IN <table>. 请注意,表<table>可以在调用程序中用RANGES创建(参见《调用报表》)。
2)不与数据库表相链接。这意味着:
它们不被传递给连接数据库(参见《自定义选择标准与逻辑数据库》)。
它们不能与逻辑表达式的短格式一起使用(参见《在逻辑表达式中使用选择表》)
它们不能与《在GET事件中与CHECK语句一起使用选择表》中描述的变体CHECK SELECT-OPTIONS一起使用。
您可以象使用真正的选择表一样在开放式SQL语句的WHERE子句中和在带IN参数(参见《使用报表的选择标准》)的逻辑表达式中使用这些内表。
RANGES S_CARRID FOR SPFLI-CARRID.
S_CARRID-SIGN = 'I'.
S_CARRID-OPTION = 'EQ'.
S_CARRID-LOW = 'LH'.
APPEND S_CARRID.
该示例中,内表S_CARRID按选择表的结构创建,并参考数据库表SPFLI的列CARRID。字段S_CARRID-LOW和S_CARRID- HIGH具有相同的类型CARRID。内表S_CARRID的表头行被填充并添加到表中。表中定义的选择条件与下列逻辑表达式的功能相同:
SPFLI-CARRID EQ 'LH'

SELECT-OPTIONS选择表:
系统为每个SELECT-OPTIONS语句创建选择表。选择表的目的是按标准化的方式保存复合选择限制。它们可按多种方式使用。它们的主要目的是使用Open SQL语句的WHERE子句(参见《使用报表的选择标准》)把选择标准直接传输到数据库表。
选择表是一个带表头行的内表。它的行结构是字段字符串,由四个组件构成,即SIGN、OPTION、LOW和HIGH。每个选择表行表示数据选择的条件:
Ø SIGN :SIGN的数据类型是C,长度为1。SIGN是标志,表示保存在OPTION中的运算符是否需要翻转。允许值是I和E。
ü I表示“包含”(包含标准-运算符不翻转)
ü E表示“排除”(排除标准-运算符翻转)
Ø OPTION:OPTION的数据类型是C,长度为2。OPTION包含选择运算符。如果SIGN包含E,运算符的作用就象它的前面有NOT(有关NOT的详细信息,参见《组合几个逻辑表达式》)一样。下列运算符是可用的:
ü 如果HIGH是空的,您可以使用EQ、NE、GT、LE、LT、CP和NP。这些运算符在《编程逻辑表达式》中描述。运算符CP和NP没有它们在通常逻辑表达式中所具有的范围。只有当在输入字段中使用了通配符(“*”或“+”)时它们才是有效的。没有定义退出符号。
ü 如果HIGH已被填充,则可以使用BT(位于)和NB(不位于)。这些运算符的功能与BETWEEN和NOT BETWEEN一样(参见《检查字段是否属于某一范围》)。
Ø LOW:LOW的数据类型与数据库表的列类型相同,该表与选择标准相连接。
ü 如果HIGH为空,LOW的内容定义单值选择。它与OPTION中的运算符相结合,为数据库选择指定了条件。
ü 如果HIGH已填充,LOW和HIGH中的内容为间隔选择指定上界和下界。与OPTION中的运算符相结合,该间隔为数据库选择指定了条件。
Ø HIGH:HIGH的数据类型与数据库表的列类型相同,该表与选择标准相连接。HIGH中的内容为间隔选择指定了上界。与OPTION中的运算符相结合,该间隔为数据库选择指定了条件。

如果选择表包含多行,系统将按下列规则执行数据选择:
Ø 组成在SIGN字段值为I(包含)的行上定义的集合联合。
Ø 去掉在SIGN字段值为E(排除)的行上定义的集合联合。
Ø 选择结果集合。

如果选择表只具有SIGN字段等于E的行,系统将选择这些行所指定的集合之外的所有数据。
除了用SELECT-OPTIONS 语句创建选择表,您可以用在《创建和处理内表》中描述的语句或RANGES语句,按相同的结构创建内表。这些表可以用与SELECT-OPTIONS语句创建的真正的选择表相似方法使用,但是有限制。有关RANGES语句的详细信息,参见《RANGES语句》
分享到:
评论

相关推荐

    Android:Kotlin详细入门学习指南-基础语法(一).md

    2. 讲解了Kotlin的基础语法,包括定义包名、函数、变量、注释、字符串模板、条件表达式、可空值处理、循环、when表达式、ranges的使用、集合的使用方式等。 3. 列举了一些Kotlin中常见的习惯用语,如创建数据类、使用...

    Excel RANGE&CELLS用法详解

    Excel VBA RANGE、CELLS对象用法详解及应用示例

    Kotlin 中文文档.pdf

    多重申明 Ranges 类型检查和自动转换 This表达式 等式 运算符重载 空安全 异常 注解 反射 动态类型 参考 API 语法 互用性 Introduction 6 与 java 交互 工具 Kotlin代码文档 使用Maven 使用Ant 使用Griffon 使用...

    rx-ranges:接收

    这是C ++ 17的类似于范围的库,它提供了类似管道的语法的零开销列表列表。 可以对标准容器进行过滤,转换,通过各种算法进行传递,以优化循环,如果用手工编写,循环效率将更高。 目的是提供编写更具可读性的循环...

    Device Tree机制.mmap

    3. 设备树中dts、dtsi文件的基本语法 3.1. chosen node 3.2. aliases node 3.3. memory node 3.4. 其他节点 3.4.1. Reg属性 3.4.2. Compatible属性 3.4.3. Interrupts属性 3.4.4. Ranges属性 4. ...

    TCL TK 语言8.5编程指导

    Replacing ranges of characters contained within a string 60 Creating a reverse string 61 Converting a string to lowercase 62 Converting a string to title 62 Converting a string to uppercase 63 ...

    正则表达式C#实现帮助类

    正则表达式是一种用于匹配和操作文本的工具,它基于特定的语法规则。以下是一些常见的正则表达式规则: 1. 字符类(Character classes):字符类用方括号 [ ] 表示,可以匹配其中的任何一个字符。例如,[abc] 表示...

    gosemki:Golang源代码索引器

    语法和语义错误 代码折叠提示 Gosemki使用客户端/服务器体系结构在将来的版本中实现缓存。 JSON格式 JSON格式的结果使用以下方案: { "Ranges": [{ // List of hints for identifiers highlighting in editor ...

    analyst:声明性的,类似于SQL的DSL,用于数据集成任务

    直观:与SQL相似的语法,但是外部程序(例如MS Excel)的任何选项都使用本机约定(例如Excel Ranges) 可维护:通过诸如INCLUDE和EXTERN类的语言功能支持大型作业和代码重用 可扩展:使用stdin / stdout协议和管道...

    LINGO软件的学习

    定义一个原始集,用下面的语法: setname[/member_list/][:attribute_list]; 注意:用“[]”表示该部分内容可选。下同,不再赘述。 Setname是你选择的来标记集的名字,最好具有较强的可读性。集名字必须严格符合标准...

    HTTP协议详解

    2 符号习惯和一般语法 2.1 扩充的BNF(扩充的 巴科斯-诺尔范式) 2.2基本规则 (basic rule) 3 协议参数 3.1 HTTP版本 3.2 统一资源标识符(URI) 3.2.1一般语法 3.2.2 http URL 3.2.3 URI 比较 3.3 日期/时间格式...

    -C++参考大全(第四版) (2010 年度畅销榜

    34.52 swap_ranges 34.53 transform 34.54 unique和unique_copy 34.55 upper_bound 第35章 STL迭代器、分配器和函数对象 35.1 迭代器 35.2 函数对象 35.3 分配器 第36章 字符串类 36.1 basic_string类 36.2 char_...

    postgres-range:适用于PostgreSQL范围类型的Laravel软件包支持

    Daniil Romazanov 如何在Laravel 5中扩展或覆盖查询语法 https://laravelpackage.com/-用于开发laravel软件包的优秀教程 Laravel包装样板。 所有贡献者 执照 MIT许可证(MIT)。 请参阅许可证文件以获取更多信息...

    STL源码剖析.pdg

    1.9可能令你困惑的c++ 语法 026 1.9.1 stl_config.h 中的各种组态 027 组态3:static template member 027 组态5:class template partial specialization 028 组态6:function template partial order 028 ...

    STL 源码剖析(侯捷先生译著)

    1.9可能令你困惑的C++ 语法 026 1.9.1 stl_config.h 中的各种组态 027 组态3:static template member 027 组态5:class template partial specialization 028 组态6:function template partial order 028 ...

    SAP屠夫作品汇总

    7.4.1.1 Define Number Ranges for Actual Postings 501 7.4.1.2 Maintain Characteristic Groups 502 7.4.1.3 Assign Cha. Grp. for Assignment Screen 502 7.4.1.4 Assing Char. Grp. For Line Item Screen 503 ...

Global site tag (gtag.js) - Google Analytics