选择屏幕的定义
来源:互联网 发布:mac .ssh目录在哪 编辑:程序博客网 时间:2024/06/04 18:44
定义选择屏幕
==========================================================================================
从sap内存中使用缺省值
Parameters语句的memory-id选项允许从全局sap内存使用缺省值
PARAMETERS<p> ...... MEMORY ID<pid>......
使用该选项 时,以名称<pid> 存储在全局 用户相关的 SAP 内存中的值 将作为<p> 的缺省值出现在选择屏幕上。<pid>最长3个字符 并且不能用引号封闭。
可以使用全局sap内存在程序间传递保留在事务限制以外的值,用户在整个终端进程期间都可以利用该内存,并且所有并行进程使用相同的内存。因此SAP 内存包含的 内容要比局 限于事务的 ABAP/4 内存更广泛。
下列报表以 “HK”为 名称在全局 SAP 内存中存储值:
REPORT SAPMZTS1.
SET PARAMETER ID 'HK' FIELD 'TestParameter'.
该值在下列 报表中作为 参数 TEST 的缺省值使 用:
PROGRAM SAPMZTS2.
PARAMETERS TEST(16) MEMORY ID HK.
给参数分配 匹配代码对 象
要给参数分 配匹配代码 对象,请使 用 PARAMETERS 语句的MATCHCODE OBJECT 选项
语法:
PARAMETERS<p> ...... MATCHCODE OBJECT<obj> ......
匹配代码对 象<obj> 的名称必须 是 4 字符的变量名,并且不能用引号封闭。
如果使用该 选项,则可 能的条目按 钮将在参数<p> 的输入字段 之后出现。 用户按下该按钮时,其 结果是为执行输入字段的匹配代码 选择。
匹配代码对 象<obj> 的名称必须 是 4 字符的变量名,并且不能用引号封闭。
这段应该可以理解吧。
--------------------
如果使用该 选项,则可 能的条目按 钮将在参数<p> 的输入字段 之后出现。 用户按下该按钮时,其 结果是为执行输入字段的匹配代码 选择。
就是说,如果使用了 MATCHCODEOBJECT,则参数后面就会出那个小圆疙瘩按钮,按了它,就出<obj>指定的搜索窗口。
PARAMETERS CONN(10) MATCHCODE OBJECTSPFL.
给修改组分配参数
要将参数分配给修改组可以使用parameters modif id选项
PARAMETERS<p> ...... MODIF ID<key> ......
修改组 <key>的名称必须 是不带引号 的 3 字符变量名。
MODIF ID 选项总是把<key> 分配到内表 SCREEN 的 SCREEN-GROUP1列。
在 AT SELECTION-SCREEN OUTPUT事件,分配给修改组的参数可以用 LOOP AT SCREEN/MODIFY SCREEN 语句按整个 组进行处理 。
PARAMETERS: TEST1(10) MODIF ID SC1,
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
ENDLOOP.
在 PARAMETERS 语句中,参 数 TEST1 和 TEST3被分配给组 SC1,而 TEST2 和 TEST4 被分配给组 SC2。在 AT SELECTION-SCREEN OUTPUT事件中,按 照 GROUP1 字段的内容,内表 SCREEN 的字段 INTENSIFIED 被设置为 1 或0。在选择屏幕中,TEST1 和 TEST3 所在行被设 置为高亮度 ,而 TEST2 和 TEST4则不是,一般为红色显示!
使用选择标准
选择标准 存储在特殊 内表中,以 方便设置数 据库访问条 件。每个选择标准通常分配到数据 库表的特定 列。可以用 SELECT-OPTIONS 语句定义选 择标准。
如果在报表 程序中用 SELECT-OPTIONS 语句定义了选择标准,系统将在报 表选择屏幕 中自动创建输入字段。 这样,用户 可以为访问 相关的数据 库表输入条 件。
如果想编 程实现复合 选择,保存 在指定内表 中的 PARAMETERS选择标准是 很有用的, 因为它们使您不用在长 的 WHERE 条件中进行 编码。
使用 SELECT-OPTIONS 语句定义选 择标准。在定义期间,通常把选择 标准连接到 必须在程序中说明的数 据库表的特 定列上。但 是,您也可 以把选择标 准连接到报 表的内部字段。多数情况下每个选 择标准能连 接到一个数 据库表,而 数据库表可 以连接到几个选择标准
如果您使用 SELECT-OPTIONS 语句,报表 用户可以在选择屏幕中输入选择标 准。
保存选择标 准的内表称 为选择表。
选择表
系统为每个 SELECT-OPTIONS 语句创建选 择表。选择表的目的是按标准化的 方式保存复 合选择限制。它们可按 多种方式使 用。它们的 主要目的是 使用 Open SQL 语句的 WHERE子句, 把选择标 准直接传输 到数据库表 。选择表是一 个带表头行的内表。它 的行结构是 字段字符串 ,由四个组 件构成,即SIGN、 OPTION、 LOW 和 HIGH。 每个选择表行表示数据 选择的条件 .
SIGN 的数据类型 是 C,长度为 1。SIGN 是标志,表 示保存在OPTION 中的运算符是否需要翻 转。允许值 是 I 和 E。
-
-
OPTION 的数据类型 是 C,长度为 2。OPTION包含选择运算符。如果 SIGN 包含 E,运算符 的作用就象 它的前面有 NOT一样。下 列运算符是 可用的:
-
-
LOW 的数据类型 与数据库表 的列类型相 同,该表与选择标准相连接。
-
HIGH 的数据类型 与数据库表 的列类型相 同,该表与选择标准相连接。HIGH 中的内容为 间隔选择指 定了上界。 与 OPTION 中的运算符 相结合,该 间隔为数据库选择指定了条件。
如果选择表 包含多行, 系统将按下 列规则执行 数据选择:
1.
2.
3.
如果选择表 只具有 SIGN 字段等于 E 的行,系统将选择这些行所指定的集合之外的 所有数据。
自定义选择 标准与逻辑 数据库
如果逻辑数 据库与报表 程序相连接 ,并且定义 了与连接数据库的数据库表相连接 的选择标准 ,那么必须 区别两种情 况:
中在报表程序中进行检查
通过用 SELECT-OPTIONS 语句为预知 动态选择的数据库表的行定义选择 标准,可以 使系统直接在选择屏幕 上显示动态 选择。要让 它出现,用 户就不能单 击“用户选 择”。其结果就象用户在屏幕上为 动态选择输 入选择限制 一样。
定义选择标准
可以用select-options语句定义选择标准,而且又有几个变体
语法:SELECT-OPTIONS<seltab> FOR<f>.
该语句创建 选择表<seltab>, 该表与数据 库表的列<f> 或内部字段<f> 相连接。该 数据库表必须在程序中 用 TABLES语句声明。
REPORT SAPMZTST.
TABLES SPFLI.
SELECT-OPTIONS AIRLINE FORSPFLI-CARRID.
LOOP AT AIRLINE.
ENDLOOP.
说明选择表是如何用选择屏幕中的用户输入填充的
给选择标准分配缺省值
SELECT-OPTIONS<seltab> FOR<f> DEFAULT<g> [TO<h>] ....
系统在时间事件initialization之前把缺省值传给选择标准,
只设置low字段使用…default<g>
如果设置low和high字段 增加to
…DEFAULT<g> TO<h>.
把选择表限制在一行
要把用户对选择表的访问限制在第 一行,请使 用 SELECT-OPTIONS语句的 NO-EXTENSION.
如果指定该选项,则选择屏幕上不出现右箭头,并且用户不能访问复杂选择窗口,
REPORT SAPMZTST.
TABLES SPFLI.
SELECT-OPTIONS AIRLINE FOR SPFLI-CARRIDNO-EXTENSION.
要将选择屏 幕上选择标 准的外观限 制为单值选 择,请使用SELECT-OPTIONS 语句的 NO INTERVALS
SELECT-OPTIONS<seltab> FOR<f> ..... NO INTERVALS .....
如果指定该 选项,则“ 到”字段不 出现在选择 屏幕上。选择屏幕上的输入将限制 为单值选择
REPORT SAPMZTST.
TABLES SPFLI.
SELECT-OPTIONS AIRLINE FOR SPFLI-CARRIDNO INTERVALS.
用户只能直 接输入单值 选择,但是 ,用户通过 单击屏幕右边的箭头可以输入进一 步选择。
如果增加 NO-EXTENSION 选项,如下 所示:
REPORT SAPMZTST.
TABLES SPFLI.
SELECT-OPTIONS AIRLINE FOR SPFLI-CARRIDNO INTERVALS
避免将选择标准传递到逻辑性数据库
如果逻辑数据库被连接到报表程序,就能把选择标准连接到作为逻辑数据库一部分的数据库表.如果数据库表允许动态选择,则系统将相应的选择标准传递到逻辑数据库
当将选择标准用于其它目的而不是限制数据库访问时,使用SELECT-OPTIONS 语句的 NO DATABASE SELECTION选项,
逻辑数据库 F1S 被连接到下 列报表程序 。数据库表 SPFLI 的列CONNID 具有动态选 择
SELECT-OPTIONS<seltab> FOR<f> ..... NO DATABASE SELECTION.....
REPORT SAPMZTST.
TABLES SPFLI.
SELECT-OPTIONS CONN FOR SPFLI-CONNID NODATABASE SELECTION.
GET SPFLI.
选择屏幕的 第一部分在 逻辑数据库 中定义。最 后一行 (CONN)在报表程序 中定义。
选择标准的其它选项
有很多选项 可以和 SELECT-OPTIONS 语句一起使 用
使用报表的选择屏幕
可以使用选 择表中输入 的选择标准 ,以便在报 表程序中完成三个不同的任务:
在 WHERE 子句中使用 选择表
要在where条件中使用选择表,
......... WHERE<f> IN<seltab>.
<f>是数据库字段的不带前缀的名称,而<seltab>是与该字段相连接的选择表,如果你用开放式sql语句,使用where条件,则系统只访问指定数据库的某些行,
REPORT SAPMZTST.
TABLES SPFLI.
SELECT-OPTIONS AIRLINE FORSPFLI-CARRID.
SELECT * FROM SPFLI WHERE CARRID INAIRLINE.
ENDSELECT.
在逻辑表达式中使用选择表
要控制程序的内部流程,必须用逻辑表达式编写条件,可以用选择表档
标准,
语法
... <f>IN <seltab> ....
示例:
在select循环中,所有的行都从数据库表spfli中读取,使用if语句,程序流程会被子分支成两个流程块,
REPORT SAPMZTST.
TABLES SPFLI.
SELECT-OPTIONS: S_CARRID FORSPFLI-CARRID,
SELECT * FROM SPFLI.
ENDSELECT.
在 SELECT 循环中,系 统从数据库 表 SPFLI中读取所有的行。在这些行中,系 统只把满足 选择表中的 条件的行写 到输出屏幕 。否则,CHECK 语句之后, 系统将离开循环传递。CHECK 语句使用了 逻辑表达式 的短格式。 长格式是:
CHECK: SPFLI-CARRID IN S_CARRID,
在 GET 事件中与 CHECK 语句一起使 用选择表
可以使用 CHECK语句离开,循环,子程序,处理块,该变体只能在读出一条语句之后使用,
要检查该行 的内容是否 满足所有与 该数据库相 连接的选择表中存储的选择标准, 请使用 CHECK 语句
语法
CHECK SELECT-OPTIONS.
使用该语句 ,可以通过 所有选择表 检查实际数 据库表(由 GET给出地址)的内容,数 据库表通过使用不同的 SELECT-OPTIONS 语句连接到 选择表。CHECK 语句的该变体
逻辑数据库 F1S 与下列报表 相连接:
REPORT SAPMZTST.
TABLES: SPFLI,SFLIGHT.
SELECT-OPTIONS:MAX
GET SFLIGHT.
- 选择屏幕的定义
- pushButton,选择屏幕中定义按钮
- 选择屏幕的使用
- 选择屏幕上ALV布局的选择
- 选择屏幕的收缩实例。
- ABAP选择屏幕的例子
- 动态控制选择屏幕的可见
- 选择屏幕的下拉 Test
- 屏幕适配的选择
- Android屏幕方向的选择
- STM32F10X_XX宏定义的选择
- STM32F10X_XX宏定义的选择
- STM32F10X_XX宏定义的选择
- STM32F10X_XX宏定义的选择
- STM32F10X_XX宏定义的选择
- STM32F10X_XX宏定义的选择
- STM32F10X_XX宏定义的选择
- STM32F10X_XX宏定义的选择
- hdu3890Apparent Magnitude 输入星星的坐标,查询不同矩形中星星的数目和亮度和
- 20个不错的CSS页面布局相关资源推荐
- []Ubuntu下安装QT开发环境
- Eclipse快捷键大全
- Microsoft .NET Framework 3.5 sp1离线安装方法
- 选择屏幕的定义
- 闲谈“个人核心竞争力”与“危机感”
- 技能体系整理
- Linux下Socket编程
- JAVA 实现自动监听并更新配置文件内容
- Spring官方已经出来Spring 与 BlazeDS 集成的解决方案
- 30秒破解所有密码
- socket编程,从控制台转到MFC下碰到的几个问题
- 备份.emacs