仅在"选择选项"对话框中显示"排除单个值"选项卡

2020-08-23 19:41发布

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

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


大家好,

要求是在选择选项中仅显示选项卡"排除单个值",即不希望显示其他3个选项卡。 目前,我在下面的代码中获得2个标签,但是我想禁止标签"选择单个值",而仅显示"排除单个值"。 这可能吗? 积分将得到丰厚的奖励。

这是我的代码:

初始化。
   进行strict_lgtyp。

 [...]

 FORMstrict_lgtyp。

 *包括类型池SSCR
   TYPE-POOLS sscr。

 *定义要传递给RESTRICTION参数的对象
   数据限制类型sscr_restrict。

 *填充RESTRICT的辅助对象
   数据opt_list类型sscr_opt_list。
   数据屁股类型sscr_ass。

 * JUST_EQ:仅允许EQ
   清除opt_list。
   将" JUST_EQ"移动到opt_list-name。
   将" X"移动到opt_list-options-eq。
   APPEND opt_list限制-opt_list_tab。

   清除屁股。
   移动:" S"代表屁股,
         'S_LGTYP'TO屁股名称,
         "我"是ass-sg_main,
         '*'到ass-sg_addy,
         'JUST_EQ'至ass-op_main。

   将屁股追加到strict-ass_tab。

 *通话功能模块
   通话功能" SELECT_OPTIONS_RESTRICT"
     出口
       限制=限制
     例外情况
       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
       repeat_kind_a = 11
       其他= 12。

 * 异常处理
   检查sy-subrc <> 0。
   带有文本e00的消息e010。

 ENDFORM。  " restrict_lgtyp 

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

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


大家好,

要求是在选择选项中仅显示选项卡"排除单个值",即不希望显示其他3个选项卡。 目前,我在下面的代码中获得2个标签,但是我想禁止标签"选择单个值",而仅显示"排除单个值"。 这可能吗? 积分将得到丰厚的奖励。

这是我的代码:

初始化。
   进行strict_lgtyp。

 [...]

 FORMstrict_lgtyp。

 *包括类型池SSCR
   TYPE-POOLS sscr。

 *定义要传递给RESTRICTION参数的对象
   数据限制类型sscr_restrict。

 *填充RESTRICT的辅助对象
   数据opt_list类型sscr_opt_list。
   数据屁股类型sscr_ass。

 * JUST_EQ:仅允许EQ
   清除opt_list。
   将" JUST_EQ"移动到opt_list-name。
   将" X"移动到opt_list-options-eq。
   APPEND opt_list限制-opt_list_tab。

   清除屁股。
   移动:" S"代表屁股,
         'S_LGTYP'TO屁股名称,
         "我"是ass-sg_main,
         '*'到ass-sg_addy,
         'JUST_EQ'至ass-op_main。

   将屁股追加到strict-ass_tab。

 *通话功能模块
   通话功能" SELECT_OPTIONS_RESTRICT"
     出口
       限制=限制
     例外情况
       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
       repeat_kind_a = 11
       其他= 12。

 * 异常处理
   检查sy-subrc <> 0。
   带有文本e00的消息e010。

 ENDFORM。  " restrict_lgtyp 
付费偷看设置
发送
7条回答
哎,真难
1楼 · 2020-08-23 20:05.采纳回答

嗨,

检查此

 *包括类型池SSCR
 TYPE-POOLS sscr。

 表格:
 马克

 *定义选择屏幕
 选择选项:
 s_matnr for marc-matnr,


 *定义要传递给RESTRICTION参数的对象
 数据限制类型sscr_restrict。

 *填充RESTRICT的辅助对象
 数据:optlist TYPE sscr_opt_list,
 屁股类型sscr_ass。

 初始化。

 *将MATNR选择限制为仅EQ和'BT'。
 optlist-name ='OBJECTKEY1'。
 optlist-options-eq ='X'。
 optlist-options-bt ='X'。
 在END-opt_list_tab中追加optlist。

 ass-kind ='S'。
 资产名称='S_MATNR'。
 ass-sg_main ='我'。
 ass-sg_addy =空间。
 ass-op_main ='OBJECTKEY1'。
 将屁股追加到strict-ass_tab。


 通话功能" SELECT_OPTIONS_RESTRICT"
 出口
 限制=限制
 例外情况
 TOO_LATE = 1
 重复= 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。


 
太Q了
2楼-- · 2020-08-23 20:13

否,您弄错了。

单击选择选项扩展按钮时,将出现一个带有4个选项卡的对话框。 我的要求是仅显示选项卡"排除单个价目表"并禁止其他价目表。

欢呼声。

SC_Yao
3楼-- · 2020-08-23 20:03

检查此结构RSOPTIONS,它可以帮助您解决问题。

关于此,

SaiRam

骆驼绵羊
4楼-- · 2020-08-23 20:10

我理解,但是问题是我可以将什么值传递给ass-sg_main,以便第一个选项卡被禁止? 当我想传递'E'时,它给了我一个生成错误,看起来只允许'I'和空格?

吹牛啤
5楼-- · 2020-08-23 19:53

Hi,

功能模块SELECT_OPTIONS_RESTRICT 根据以SSCR_RESTRICT形式的结构传递给它的限制条件,限制给定程序的一个或多个选择选项的功能。 该结构由两个内部表组成。 第一个(具有结构SSCR_ASS)保存我们希望控制的那些选择选项的名称。 第二个(具有结构SSCR_OPT_LIST)确切指定了第一个内部表中命名的每个选择选项允许或不允许的功能。

aRs

歪着头看世界
6楼-- · 2020-08-23 20:03

请共享 如何做到这一点。 在此先感谢:-)

Nir深蓝
7楼-- · 2020-08-23 19:59

似乎没有人知道是否有包括我在内的解决方案! 我已经在所需程序中使用其他逻辑对其进行了处理。

一周热门 更多>