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语句》
Python 控制 Keysight N9010B/N9020/N9030 频谱仪 为什么要实现频谱仪的控制呢?起因是因为我司RF的同事们需要对通信模块进行GSM的带内杂散进行测试,由于该测试的频点涉及900多个,所以急需开发一款自动化测试工具。该工具需同时实现对无线通讯仪和频谱仪的控制,这篇文章主要介绍一下频谱仪的控制!做通信的应该对频谱仪都不陌生,不过我之前做的都是软件相关行业,所以我对频谱仪其实还是很陌生的;不过好在我的同时们都很热心,加上仪器的文档,一段时间下来,也算是熟悉了一些。 阅读详情

相关推荐

Class AB OPA STB仿真相位异常:从corner case到碰撞电离的排查与规避

本文深入分析了Class AB运算放大器(OPA)在STB稳定性仿真中,特定工艺角(corner case)下出现相位从0°开始的异常现象。排查发现,其根本原因在于高Vds引发的碰撞电离效应,通过衬底和电源网络引入了隐藏的正反馈通路。文章对比了修改衬底连接与优化电路降低Vds两种解决方案,并基于工程实践推荐了代价更小、兼容性更好的电路优化方案,成功规避了问题并完成流片验证。

grape的博客 636

面向对象和C++基础—ranges篇

面向对象和C++基础—ranges篇

Voltline的博客 1446

自动驾驶轨迹规划算法——Apollo Lattice Planner

Apollo Lattice Planner是百度Apollo自动驾驶系统中的一种基于采样的实时轨迹规划算法。其核心思想是在离散化的状态空间中,对终端状态进行采样,并通过多项式曲线连接当前状态与候选终端状态,形成候选轨迹集,最后基于代价函数选择最优轨迹。该算法将车辆可达状态按纵向距离、横向偏移和速度等维度规则离散化,形成"格点"状态空间。 Lattice Planner通过三个主要步骤实现轨迹规划:1)终端状态采样,在规划时域内枚举多种驾驶意图;2)轨迹生成,使用五次多项式连接起点与各终

swaggytiger的博客 1623

【C++】C++20:ranges库(范围库)

C++ Ranges 是 C++20 引入的革命性特性,它重构了序列操作范式,提供声明式、可组合和惰性求值的操作方式。

weixin_43510208的博客 1754

思岚A1 上手教程

前言 寒假在家闲着也是闲着,索性就向是实验室借了一个思岚 A1激光雷达,来进一步完成自己的实验室实习项目。经过一个月在Linux上和ROS上的摸爬滚打,我已经对机器人开发和SLAM有了初步了解,现在就写个上手教程吧(以防自己以后忘了)。 Basic Support 硬件 一台电脑 思岚 A1激光雷达 软件 安装Virtual Box虚拟机 在虚拟机安装Ubuntu 16操作系统 在Ubuntu 16搭建ROS kinetic 简要步骤 1.现在w..

ajxdhe的博客 6383

加密算法:深度解析Ed25519原理

在 Solana 开发过程中,我一直对 Ed25519 加密算法 如何生成公钥、签名以及验证签名的机制感到困惑。为了弄清这一点,我查阅了大量相关资料,终于对其流程有了更清晰的理解。在此记录实现过程,方便日后查阅。

盹猫的博客 1万+

RANGE变量的使用

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

Cruise_bolg的博客 1511

Windows 11 安装 OpenClaw(龙虾):不用WSL、不用虚拟机、启动、使用、停止、卸载

本文详解 Windows 11 原生安装 OpenClaw(龙虾)全流程,无需 WSL 或虚拟机。涵盖环境配置、安全警示、模型接入(如通义千问)及技能初始化。提供启动、文件自动化操作、停止与卸载的完整指南,并附常见认证过期解决方案。助您快速部署本地 AI 智能体,实现电脑操作自动化,提升工作效率。

寒水馨 · 轻量级技术文档 · hanshuixin.org 899

Python中range()函数的用法

先列几个range()函数的几个用法:                函数原型:range(start, end, scan): 参数含义:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);               end:技术到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没

在代码身上,用心去飞翔 8万+

YOLOv11 改进入门篇 | 轻量级涨点技巧:GhostConv 替代普通卷积的实战指南

摘要: 本文介绍如何通过GhostConv改进YOLOv11,实现轻量化涨点。YOLOv11深度增加导致参数量、延迟和内存占用上升,GhostConv通过“本征特征+线性变换”策略,在精度几乎无损的情况下降低30%-50%计算量。文章详细解析GhostConv原理,对比普通卷积的参数量和FLOPs优势,并提供完整的代码级改造流程,包括模块实现、注册及网络配置。实验表明,该方法有效提升边缘端推理效率,适用于移动端等资源受限场景。

shrgegrb的博客 1654

基于学术研究于NASA官网GPM卫星数据下载详细教程

基于学术研究于NASA官网GPM卫星数据下载详细教程

珞瑜的博客 8654

SAP ABAP编程 Ranges用法

在SAP中,有时候需要把单值的结构变成区间的结构,也就是类似SELECTION-OPTION的功能,SAP提供了RANGES来实现该功能. (SAP 中SELECTION-OPTION 是个很强大的功能,在程序中也经常需要类似SELECTION-OPTION的功能,如果不画屏幕的话,SAP提供了RANGE来实现该功能) 实例如下: DATA: table_t LIKE TABLE OF spfli, table_wa LIKE spfli. RANGES:g_ranges FOR spfli-

心丨悦 的专栏 3万+

基于STM32、HAL库的BMP585 气压传感器 驱动程序设计

define BMP585_I2C_ADDR_PRIMARY 0x76 << 1 /* 0x76地址左移一位 */#define BMP585_I2C_ADDR_SECONDARY 0x77 << 1 /* 0x77地址左移一位 *//* I2C句柄 *//* I2C地址 *//* 设置新的温度过采样率 *//* 设置新的滤波器系数 *//* 芯片ID *//* 清除温度过采样位 *//* 转换为hPa *//* 设置新的压力过采样率 *//* 设置新的电源模式 *//* 清除压力过采样位 */

corlin6688的博客 459

C++的std--ranges算法投影参数与成员函数指针的简洁调用语法

例如,对Person对象集合按年龄排序只需写成ranges::sort(people, {}, &Person::age)。假设需要筛选出成年人的姓名,传统写法需嵌套多个lambda,而新语法可表达为people | views::filter(&Person::isAdult) | views::transform(&Person::name)。C++20引入的std::ranges库为算法操作带来了革命性改进,其中投影参数与成员函数指针的结合使用,显著提升了代码的表达力与简洁性。投影机制简化数据提取。

kpgpnd_772的博客 36

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

金色传说:SAP-ABAP-RANGES使用技巧:查询透明表的数据放置在RANGES直接使用

金色传说:SAP-ABAP-RANGES使用技巧:查询透明表的数据放置在RANGES直接使用

Easystudios博客 2050

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Kotlin 基础语法—while、when、ranges、双引号

Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与Java高度可互操作,可以同时用在一个项目中1、教程 - Kotlin 语言中文站 (优化版)2、官方 - Kotlin 中文文档 (原版)

csdn_aiyang的博客 4137

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

SAP RANGES

定义示例 RANGES s_bwart FOR resb-bwart. DATA ls_bwart LIKE LINE OF s_bwart. *移动类型RESB-BWART=301/311的行项目 ls_bwart-sign = 'I'. ls_bwart-option = 'EQ'. ls_bwart-low = '301'. APPEND ls_bwart TO s_bwart. ls_bwart-sign = 'I'. ls_bwart-option = 'EQ'.

谁的博客来着? 1103

全面深入了解C++20 范围库(std::ranges)

C++20范围库(std::ranges)是对传统STL的重大升级,基于五大核心能力:概念(Concept)、范围(Range)、视图(View)、管道语法和投影(Projection)。它解决了传统STL的繁琐写法、组合困难等问题,支持线性链式调用和惰性求值。主要内容包括:1) 范围的概念定义,所有标准容器天然是范围;2) 哨兵(Sentinel)机制,支持更灵活的序列终止判断;3) 视图(View)的非拥有性、惰性计算特性;4) 管道语法实现声明式编程风格;5) 投影(Projection)简化结构体操

红军不怕远征难,万水千山只等闲 779
上一篇: 开发的误区
下一篇: 审批策略
java_smalltalk
博客等级 码龄20年 8粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值