点击第一个单选按钮做出反应

2020-08-19 02:13发布

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

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


大家好,

我有一个带有几个单选按钮的报告,这些按钮会根据内部表中的记录数而被动态禁用。 第一个单选按钮始终处于启用状态(默认)。 现在,我要单击第一个单选按钮并执行一个操作(例如,显示弹出窗口)。 但是,当我单击单选按钮时,什么也没有发生。 当我有两个或多个单选按钮(在同一组中)并且单击第二个按钮时,将触发该操作。 现在,当我单击第一个时,也会触发该动作。

是否已经选择了第一个单选按钮(在第一次运行时)并单击了该按钮(不进行切换)就可以触发事件?

报告zstb_bijzondere_bepalingen。

 定义radio_but1。
   参数:&1 RADIOBUTTON GROUP GR1用户命令单击默认'X'。
 定义结束。
 定义radio_but2。
   参数:&1 RADIOBUTTON GROUP GR1。
 定义结束。
 radio_but1:new。
 radio_but2:r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15。
 radio_but2:r16,r17,r18,r19,r20,r21,r22,r23,r24,r25,r26,r27,r28,r29,r30。

 数据:rad TYPE char3。
 数据:sy_index TYPE char2。

 初始化。
  计数= 30。

 选择屏幕输出时。

   sy-tfill =计数。  "这是将要创建的无线电按钮的数量
   sy_index = 1。
   环视屏幕。
       CONCATENATE'R'sy_index INTO rad。
       如果屏幕名称= rad。
         如果sy_index GT计数。
           screen-active =" 0"。
           修改屏幕。
           sy_index = sy_index + 1。
           继续。
         万一。
         sy_index = sy_index + 1。
       万一。
   结局。

 在RADIOBUTTON GROUP GR1的选择屏幕上。
 *在选择屏幕上。
   如果sy-ucomm ='CLICK'。
     案例" X"。
       当新的。
         通话功能" POPUP_TO_CONFIRM"
           出口
             text_question ='您是否要继续2'。
       当别人。
         通话功能" POPUP_TO_CONFIRM"
           出口
             text_question ='您要继续吗?
     结束。
   万一。
 

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

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


大家好,

我有一个带有几个单选按钮的报告,这些按钮会根据内部表中的记录数而被动态禁用。 第一个单选按钮始终处于启用状态(默认)。 现在,我要单击第一个单选按钮并执行一个操作(例如,显示弹出窗口)。 但是,当我单击单选按钮时,什么也没有发生。 当我有两个或多个单选按钮(在同一组中)并且单击第二个按钮时,将触发该操作。 现在,当我单击第一个时,也会触发该动作。

是否已经选择了第一个单选按钮(在第一次运行时)并单击了该按钮(不进行切换)就可以触发事件?

报告zstb_bijzondere_bepalingen。

 定义radio_but1。
   参数:&1 RADIOBUTTON GROUP GR1用户命令单击默认'X'。
 定义结束。
 定义radio_but2。
   参数:&1 RADIOBUTTON GROUP GR1。
 定义结束。
 radio_but1:new。
 radio_but2:r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15。
 radio_but2:r16,r17,r18,r19,r20,r21,r22,r23,r24,r25,r26,r27,r28,r29,r30。

 数据:rad TYPE char3。
 数据:sy_index TYPE char2。

 初始化。
  计数= 30。

 选择屏幕输出时。

   sy-tfill =计数。  "这是将要创建的无线电按钮的数量
   sy_index = 1。
   环视屏幕。
       CONCATENATE'R'sy_index INTO rad。
       如果屏幕名称= rad。
         如果sy_index GT计数。
           screen-active =" 0"。
           修改屏幕。
           sy_index = sy_index + 1。
           继续。
         万一。
         sy_index = sy_index + 1。
       万一。
   结局。

 在RADIOBUTTON GROUP GR1的选择屏幕上。
 *在选择屏幕上。
   如果sy-ucomm ='CLICK'。
     案例" X"。
       当新的。
         通话功能" POPUP_TO_CONFIRM"
           出口
             text_question ='您是否要继续2'。
       当别人。
         通话功能" POPUP_TO_CONFIRM"
           出口
             text_question ='您要继续吗?
     结束。
   万一。
 
付费偷看设置
发送
6条回答
hengyuye
1楼-- · 2020-08-19 02:35

也许您可以用参数替换单选按钮并模拟单选按钮的功能。 并使用参数可以将所有参数设置为空。

半个程序猿
2楼-- · 2020-08-19 02:30

请使用调试器!

代楠1984
3楼-- · 2020-08-19 02:44

您可以很容易地完成以下两项操作之一:

< ol>
  • 声明另一个虚拟单选按钮dmy,它不执行任何操作,但默认情况下处于选中状态
    从dmy更改为另一个新按钮或rx按钮的任何操作都会触发事件
    (在第一次从dmy切换之后 到new或rx,您也可以再次隐藏dmy)
  • 通过使用复选框代替自己实现单选按钮功能。
    将所有单选按钮声明为复选框,并且最初都没有选中它们 默认值:
    参数:&1 TYPE char1作为复选框用户命令。
    具有一个影子表,该表存储已检查和未检查的当前值(例如CHAR1 TYPE TABLE或通过宏:DATA:&1 TYPE char1 ,而&1是d1,d2等。)
    在"选择屏幕"中,将当前值与新值进行比较,如果有更改(选择了多个选项),请取消选择之前选择的选项。
  • 天桥码农
    4楼-- · 2020-08-19 02:38

    那是专业 lem! 它不会在任何地方触发。

    软件心理学工程师
    5楼-- · 2020-08-19 02:52

    Michael Kusters ,请继续回答您的公开问题。

    • 评论答案或您的问题是否还有未解决的问题。
    • 否则将答案标记为接受,如果它可以帮助您解决问题
    • 或发布您自己的答案并接受 如果您自己找到了另一个有用的解决方案
    • ,或者将您的问题重定向到另一个相关且对解决您的问题有用的问题
    • 最后,请关闭您的问题
    SC_Yao
    6楼-- · 2020-08-19 02:46

    一周热门 更多>