如何禁用SELECT-OPTINS多重选择屏幕的Ranges选项

2020-08-30 16:46发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,这是塞卡尔,

我已经使用了带有"无间隔"选项的Select-options:语句。 现在,我需要限制用户不要在多重选择屏幕的"范围"列中输入值。 我该怎么办......

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,这是塞卡尔,

我已经使用了带有"无间隔"选项的Select-options:语句。 现在,我需要限制用户不要在多重选择屏幕的"范围"列中输入值。 我该怎么办......

付费偷看设置
发送
9条回答
Climb_Ma
1楼-- · 2020-08-30 17:19

,在选择选项上不能使用任何扩展名。

Climb_Ma
2楼-- · 2020-08-30 17:30
选择选项f_fldate表示从wa_flight-FLDATE默认'20140801'到'20141031'无扩展名。
# p#

嗨,

这是SAP标准,您可以最大使用无间隔,但我不认为可以禁用RANGE选项。

可以检查一下 如果在select-option-high中包含一些值。

然后您可以停止处理并显示相应的消息。

* REWARD

3楼-- · 2020-08-30 17:37

嗨,谢卡,

欢迎来到SDN。

chkl此示例代码。

报告Z_CONECT_A。

  • 包括类型池SSCR

TYPE-POOLS sscr。

表:marc。

  • 定义选择屏幕

选择选项:

s_matnr用于marc-matnr,

s_werks for marc-werks。

  • 定义要传递给RESTRICTION参数的对象

数据限制类型 sscr_restrict。

  • 用于填充RESTRICT的辅助对象

DATA:op tlist类型sscr_opt_list,

屁股类型sscr_ass。

初始化。

  • 将MATNR选择限制为仅EQ和'BT'。/p>

optlist-name ='OBJECTKEY1'。

optlist-options-eq ='X'。

optlist-options- bt ='X'。

追加optlist来限制-opt_list_tab。

ass-kind ='S'。

ass-name ='S_MATNR'。

ass-sg_main ='I'。

ass-sg_addy =空间。

ass-op_main ='OBJECTKEY1'。

  • 将WERKS选择限制为CP,GE,LT,NE。

optlist- 名称='OBJECTKEY2'。

optlist-options-cp ='X'。

optlist-options-ge ='X'。

optlist-options -lt ='X'。

optlist-options-ne ='X'。

追加optlist来限制-opt_list_tab。

ass-kind =' S'。

ass-name ='S_WERKS'。

ass-sg_main ='I'。

ass-sg_addy =空间。

ass-op_main ='OBJECTKEY2'。

附加ass到strict-ass_tab中。

调用乐趣 CTION'SELECT_OPTIONS_RESTRICT'

导出

限制=限制

例外情况

TOO_LATE = 1

REPEATED = 2

SELOPT_WITHOUT_OPTIONS = 3

SELOPT_WITHOUT_SIGNS = 4

INVALID_SIGN = 5

EMPTY_OPTION_LIST = 6

INVALID_KIND = 7

REPEATED_KIND_A = 8

其他= 9

如果sy-subrc <> 0。

消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO

与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。

ENDIF。

rgds

anver

消息的编辑者:Anversha s

消息的编辑者:Anversha s

SAP小菜
4楼-- · 2020-08-30 17:24

我不知道地图参数是否可能受到限制

您可以在

上的selecion屏幕上进行控制

在多个选择屏幕的列中检查是否存在数据。

Bunny_CDM
5楼-- · 2020-08-30 17:23

您可以通过以下方式进行操作:

FORM初始化屏幕。

数据:限制类型sscr_restrict,

opt_list类型sscr_opt_list,

屁股类型sscr_ass。

* ......限制选择选项:仅允许包含值........

清除opt_list。

opt_list-name ='OPT_LIST'。

opt_list-options-bt ='X'。

opt_list-options-eq ='X'。

APPEND opt_list来限制-opt_list_tab。

清除屁股。

ass-kind ='B'。

资产名称='SET_SELECTION'。

ass-sg_main ='I'。

ass-op_main ='OPT_LIST'。

APPEND驴子到strict-ass_tab。

通话功能'SELECT_OPTIONS_RESTRICT'

导出

限制=限制。

ENDFORM。

樱桃小丸子0093
6楼-- · 2020-08-30 17:28

您还可以参考以下代码:CHECK OUT SELECT OPTION sel_1_0。

&----


*&报告ZTESTREP

*&

&----


*&

*&

&----


报告ztestrep。

  • 包括类型池SSCR

TYPE-POOLS sscr。

  • 定义要传递给RESTRICTION参数的对象

数据限制类型sscr_restrict。

  • 用于填充RESTRICT的辅助对象

DATA opt_list TYPE sscr_opt_list。

数据屁股类型sscr_ass。

  • 定义选择屏幕对象

  • 第一段:3个选择项

第block_0块的选择屏幕开始,带有FRAME TITLE文本-bl0。

SELECT-OPTIONS sel_0_0用于sy-tvar0。

SELECT-OPTIONS sel_0_1 for sy-tvar1。

用于sy-tvar2的SELECT-OPTIONS sel_0_2。

为sy-tvar3选择选项sel_0_3。

SELECTION-SCREEN END OF BLOCK块_0。

  • 第二个块:2个选择项

第block_1块的选择屏幕开始,其标题为text-bl1。

SELECT-OPTIONS sel_1_0 for sy-subrc。

SELECT-OPTIONS sel_1_1用于sy-repid。

第1个块的选择屏幕结尾。

初始化。

  • 定义选项列表

  • 全部:允许所有选项

将"全部"移到opt_list-name。

将" X"移动到:opt_list-options-bt,

opt_list-options-cp,

opt_list-options-eq,

opt_list-options-ge

opt_list-options-gt,

opt_list-options-le

opt_list-options-lt,

opt_list-options-nb

opt_list-options-ne

opt_list-options-np。

APPEND opt_list来限制-opt_list_tab。

  • 注意:不允许使用CP和NP

清除opt_list。

将" NOPATTERN"移动到opt_list-name。

将" X"移动到:opt_list-options-bt,

opt_list-options-eq,

opt_list-options-ge

opt_list-options-gt,

opt_list-options-le

opt_list-options-lt,

opt_list-options-nb

opt_list-options-ne。

APPEND opt_list来限制-opt_list_tab。

  • 禁止上网:不允许使用BT和NB

清除opt_list。

将" NOINTERVLS"移动到opt_list-name。

将" X"移动到:opt_list-options-cp,

opt_list-options-eq,

opt_list-options-ge

opt_list-options-gt,

opt_list-options-le

opt_list-options-lt,

opt_list-options-ne

opt_list-options-np。

APPEND opt_list来限制-opt_list_tab。

  • EQ_AND_CP:仅允许EQ和CP

清除opt_list。

将" EQ_AND_CP"移动到opt_list-name。

将" X"移动到:opt_list-options-cp,

opt_list-options-eq。

APPEND opt_list来限制-opt_list_tab。

  • JUST_EQ:仅允许EQ

清除opt_list。

将" JUST_EQ"移动到opt_list-name。

将'X'移动到opt_list-options-eq。

APPEND opt_list来限制-opt_list_tab。

  • 将选择屏幕对象分配给选项列表并签名

  • KIND ='A':适用于所有SELECT-OPTIONS

移动:" A"代表屁股,

'*'到ass-sg_main,

'NOPATTERN'到ass-op_main,

'NOINTERVLS'到ass-op_addy。

APPEND驴子到strict-ass_tab。

  • KIND ='B':适用于块BLOCK_0中的所有SELECT-OPTIONS,

  • ,即SEL_0_0,SEL_0_1,SEL_0_2

清除屁股。

移动:" B"代表屁股,

'BLOCK_0'TO屁股名称,

"我"是ass-sg_main,

'*'TO ass-sg_addy,

'NOINTERVLS'到ass-op_main。

APPEND驴子到strict-ass_tab。

  • KIND ='S':适用于SELECT-OPTION SEL-0-2

清除屁股。

移动:" S"代表屁股,

'SEL_0_2'TO屁股名称,

"我"是ass-sg_main,

'*'TO ass-sg_addy,

'EQ_AND_CP'到ass-op_main,

'全部'到ass-op_addy。

APPEND驴子到strict-ass_tab。

  • KIND ='S':适用于SELECT-OPTION SEL_0_3

清除屁股。

移动:" S"代表屁股,

'SEL_0_3'TO屁股名称,

"我"是ass-sg_main,

'N'TO ass-sg_addy,

'JUST_EQ'到ass-op_main。

APPEND驴子到strict-ass_tab。

  • 调用功能模块

通话功能'SELECT_OPTIONS_RESTRICT'

导出

限制=限制

  • DB =''

例外情况

too_late = 1

重复= 2

not_during_submit = 3

db_call_after_report_call = 4

selopt_without_options = 5

selopt_without_signs = 6

invalid_sign = 7

report_call_after_db_error = 8

empty_option_list = 9

invalid_kind = 10

repeating_kind_a = 11

OTHERS = 12。

一周热门 更多>