`

sap parameters 与select-options区别

阅读更多
我们经常会遇到如下的需求,在页面的几个输入框中输入参数,然后在根据输入条件显示结果集列表。这是最常见的report形式。可是问题是,在使用parameters作为参数的时候,某一项的值没有输入,sql执行后的结果与我们期望的不相符,根源在于某一字段为空,查询条件就会去搜索这一字段为空的值,结果往往是没有符合条件的结果。

对应这种情况,可以采取多种方法解决,如使用range,或者使用动态sql语句。但是也可以使用select options 来代替parameters进行输入参数定义。因为select options定义出来的实际上是一个内表,在查询的时候使用IN,即使没有输入,查询语句会忽略这一项的匹配,而不会取数据库里找寻没有值或为空的记录匹配。这样的查询结果才是我们所需要的。

然而,select options 默认会产生两个输入框,这与parameters有些不同,不过没有关系,在定义select options的时候只需要加上一些特殊操作即可以只显示第一个输入框,这样在外观上与parameters就很相似了。

如: SELECT-OPTIONS: so_gjahr FOR bsik-gjahr NO INTERVALS . 这样在查询的时候就不能按照 '=' 来设置查询条件了,而应该应 'IN' 来设置这个条件,即:…… where bsik-gjahr IN so_gjahr ……。这样,即使so_gjahr即使没有输入也不会影响到最终查询的结果。


abap 面试!

37. What are select options and how are they different from parameters?
select options provide
ranges where as parameters do not.
SELECT-OPTIONS declares an internal table which is automatically filled with values
or ranges
of values entered by the end user. For each SELECT-OPTIONS , the system creates a selection table.
SELECT-OPTIONS FOR .
A selection table is an internal table with fields SIGN, OPTION, LOW and
HIGH.
The type of LOW and HIGH is the same as that of .
The SIGN field can take the following values: I
Inclusive (should apply) E Exclusive (should not apply)
The OPTION field can take the following values: EQ Equal GT
Greater than NE Not equal BT Between LE Less
than or equal NB Not between LT Less than CP Contains pattern GE Greater
than or equal NP No pattern.
Select Options vs Parameters
PARAMETERS allow users to enter a single
value into an internal field within a report.
SELECT-OPTIONS allow users to fill an internal table with a range of
values.
For each PARAMETERS or SELECT-OPTIONS statement you should define text elements by choosing
Goto - Text
elements - Selection texts - Change.
Eg:- Parameters name(30).
when the user executes the ABAP/4 program,an
input field for 'name' will appear on the selection screen.You can change the comments on the left side of the input fields
by using text elements as described in Selection Texts.
分享到:
评论

相关推荐

    SAP Partner function

    SELECT-OPTIONS: s_parvw FOR ihpa-parvw DEFAULT ‘SP’. ``` 然而,输出结果却让人大跌眼镜百思不得其解。为什么默认值 SP 不会被显示出来呢?经过多次的调试,我们终于发现了问题的根源所在。原来,Sold-to ...

    批量更新价格的程序SAP

    - **Parameters/Select-options Declarations** - **解释**:这部分用于声明程序的参数及选择项。 - **示例代码**: ```abap *Parameters/Select-options Declarations* *... PARAMETERS: P_FILE LIKE RLGRP-...

    SAP ABAP视频班教学共21课-L13 选择屏幕.7z

    除单一值(PARAMETERS)外,还有复杂选择(SELECT-OPTIONS) 可输入间隔、范围、比较条件等为限制条件。 使用字典元素(如数据元素)定义输入字段使用F1输入字段中显示字段文档(数据元素文档)通过F4调用附加到字典...

    SAP ABAP开发学习——第13课:选择屏幕(视频教程)

    - **标准选择屏幕**:使用`SELECT-OPTIONS`声明,适用于范围查询。 - **参数选择屏幕**:使用`PARAMETERS`声明,用于非范围查询或单个值输入。 4. **自定义屏幕布局**: 通过使用`SCREEN`指令,可以设置字段的...

    ALV报表 abap报表

    SELECT-OPTIONS: s_matnr FOR EINA-MATNR MEMORY ID MAT. "物料编号 SELECT-OPTIONS: s_lifnr FOR EINA-LIFNR MEMORY ID LIF. "供应商编号 SELECT-OPTIONS: s_erdat FOR EINE-ERDAT MEMORY ID erd. "创建日期 ...

    SAP BC402-ABAP进阶教程(中文版).pdf

    根据提供的文件信息,可以看出这份文档主要涉及的是SAP BC402-ABAP的进阶教程,特别是关于程序结构、变量定义与使用、数据选择等内容。下面将详细解析这些知识点。 ### 一、ABAP程序结构 #### 1. 程序的主要组成...

    实战SAP程序开发01

    - 通过使用SELECT-OPTIONS和PARAMETERS,开发者能为用户提供灵活的筛选条件。 5. **数据字典和数据表的读取**: - 数据字典是SAP系统中的元数据存储库,它定义了数据库表、字段和结构。 - 使用ABAP可以访问这些...

    SAP-ABAP实例讲解

    在定义输入屏幕时,我们使用`SELECTION-SCREEN`语句,配合`PARAMETERS`和`SELECT-OPTIONS`语句来创建用户输入界面,以获取筛选条件。事件块如`INITIALIZATION`、`AT SELECTION-SCREEN`、`START-OF-SELECTION`等,是...

    abap实例讲解----SAP学习好帮手

    - `SELECT-OPTIONS`语句用于定义选择选项。 - **事件块详解**: - **事件块列表**: - `INITIALIZATION`:程序初始化时调用。 - `AT SELECTION-SCREEN`:在用户输入时调用。 - `START-OF-SELECTION`:用户离开...

    很全的ABAP入门资料

    - **PARAMETERS 与 select-options**: - PARAMETERS 通常用于设置必填的屏幕参数。 - 如果参数不是必填项,则应使用 select-options。 - 在 SELECT WHERE 子句中,PARAMETERS 的语法为 “数据字段 = 屏幕字段”...

    ABAP代码规范二例

    ABAP代码规范二例 ...select-options : s_ 函数参数命名规则: IMPORTING parameters IM_<parameter name> EXPORTING parameters EX_ CHANGING parameters CH_<parameter name> 返回参数 RE_<result>

    SAP BC406 课程中文自学笔记

    - **实现方法**:通过具体的ABAP语法示例,如 `PARAMETERS` 和 `SELECT-OPTIONS` 的高级用法来演示如何实现这些功能。 #### 四、程序接口 - **概念简介**:介绍如何在ABAP程序之间进行数据交换。 - **接口类型**:...

    ABAP程序相互调用

    这将根据select-options参数来调用zreport报表,并将参数传递给报表。 四、带Parameters的Submit用法 带Parameters的Submit用法可以实现报表的参数化调用。例如: ```abap SUBMIT zreport WITH p_param1 = 'value'...

    ABAP实例讲解PPT--石化培训

    在用户界面方面,`SELECTION-SCREEN`语句用于定义输入屏幕,`PARAMETERS`和`SELECT-OPTIONS`语句分别用于创建参数和筛选选项,以获取用户输入。此外,还有与屏幕交互相关的事件块,如`INITIALIZATION`在屏幕初始化时...

    SUBMIT的几种情况

    当需要在提交的报告中使用`SELECT-OPTIONS`时,可以预先填充参数表,然后传递给`SUBMIT`。例如: ```abap DATA: seltab type table of rsparams, seltab_wa like line of seltab. seltab_wa-selname = 'PNPPERNR...

    SAP ABAP编程实战基础

    在报表的ABAP编程中,需要学习如何处理屏幕输入、使用PARAMETERS语句和SELECT-OPTIONS语句。另外,屏幕中的交互式操作、分页、滚动窗口和颜色设置也是提升用户界面体验的关键知识点。 8. 批量输入: 批量输入...

    SAPBAPI函数使用及示例

    SELECT-OPTIONS p_bname FOR usr21-bname. SELECTION-SCREEN END OF BLOCK blk1. * 初始化选择屏上的变量 INITIALIZATION. p_bname-sign = 'I'. p_bname-option = 'EQ'. p_bname-low = 'AD003'. APPEND p_bname...

    ABAP的程序的类型

    ABAP(Advanced Business Application Programming)是一种由SAP公司开发的编程语言,主要用于SAP系统的应用程序开发与维护。ABAP程序通常运行在SAP NetWeaver ABAP平台上,并且能够访问SAP系统中的各种资源,如...

    ABAP ALV 报表基础模板(两种)

    SELECT-OPTIONS : S_CONNID FOR ZAH_VIEW-CONNID MODIF ID cos. SELECTION-SCREEN SKIP 1. ``` 在此示例中,选择屏幕被设计为包含多个控件,如文本框 (`P_NAME`) 和单选按钮 (`P_RD1`, `P_RD2`)。此外,还定义...

Global site tag (gtag.js) - Google Analytics