我希望在单击单选按钮时打开选择选项

2020-08-15 00:28发布

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

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


选择屏幕上有2个单选按钮。 然后选择出现的选项,我将输入信息并在ALV上显示。 我希望为两个按钮打开不同的选择选项。

定义:

参数:p_rad1 RADIOBUTTON GROUP rad1默认'X'用户命令密码,
              p_rad2 RADIOBUTTON GROUP rad1。

 SELECT-OPTIONS:so_lifnr for lfa1-lifnr没有间隔,没有扩展,
                 so_kunnr FOR kna1-kunnr没有间隔,没有扩展,
                 so_bkr_l for lfb1-bukrs没有间隔,没有扩展,
                 so_bkr_k for knb1-bukrs无间隔,无扩展。

我要 p_rad1 SO_KUNNR SO_KUNNR SO_LIFNR SO_BKR_L p_rad2 。 我这样写:

在屏幕上环视。
     IF屏幕名称CS'SO_LIFNR'。
        如果不是p_rad1是INITIAL。
          屏幕激活= 1。
        其他。
          屏幕有效= 0。
        万一。
        修改屏幕。
     ELSEIF屏幕名称CS'SO_BKR_L'。
        如果不是p_rad1是INITIAL。
          屏幕激活= 1。
        其他。
          屏幕有效= 0。
        万一。
        修改屏幕。
     ELSEIF屏幕名称CS'SO_KUNNR'。
        如果不是p_rad2是INITIAL。
          屏幕激活= 1。
        其他。
          屏幕有效= 0。
        万一。
        修改屏幕。
     ELSEIF屏幕名称CS'SO_BKR_K'。
        如果不是p_rad2是INITIAL。
          屏幕激活= 1。
        其他。
          屏幕有效= 0。
        万一。
        修改屏幕。
     万一。
   ENDLOOP。

但是它给了我这样的输出。 它可以正常工作,但是此屏幕是错误的:

我希望它看起来像这个例子一样分开。 两个单选按钮分别显示图像。

对于p_rad1:

对于p_rad2:

我该怎么做?

(58.2 kB)

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

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


选择屏幕上有2个单选按钮。 然后选择出现的选项,我将输入信息并在ALV上显示。 我希望为两个按钮打开不同的选择选项。

定义:

参数:p_rad1 RADIOBUTTON GROUP rad1默认'X'用户命令密码,
              p_rad2 RADIOBUTTON GROUP rad1。

 SELECT-OPTIONS:so_lifnr for lfa1-lifnr没有间隔,没有扩展,
                 so_kunnr FOR kna1-kunnr没有间隔,没有扩展,
                 so_bkr_l for lfb1-bukrs没有间隔,没有扩展,
                 so_bkr_k for knb1-bukrs无间隔,无扩展。

我要 p_rad1 SO_KUNNR SO_KUNNR SO_LIFNR SO_BKR_L p_rad2 。 我这样写:

在屏幕上环视。
     IF屏幕名称CS'SO_LIFNR'。
        如果不是p_rad1是INITIAL。
          屏幕激活= 1。
        其他。
          屏幕有效= 0。
        万一。
        修改屏幕。
     ELSEIF屏幕名称CS'SO_BKR_L'。
        如果不是p_rad1是INITIAL。
          屏幕激活= 1。
        其他。
          屏幕有效= 0。
        万一。
        修改屏幕。
     ELSEIF屏幕名称CS'SO_KUNNR'。
        如果不是p_rad2是INITIAL。
          屏幕激活= 1。
        其他。
          屏幕有效= 0。
        万一。
        修改屏幕。
     ELSEIF屏幕名称CS'SO_BKR_K'。
        如果不是p_rad2是INITIAL。
          屏幕激活= 1。
        其他。
          屏幕有效= 0。
        万一。
        修改屏幕。
     万一。
   ENDLOOP。

但是它给了我这样的输出。 它可以正常工作,但是此屏幕是错误的:

我希望它看起来像这个例子一样分开。 两个单选按钮分别显示图像。

对于p_rad1:

对于p_rad2:

我该怎么做?

(58.2 kB)
付费偷看设置
发送
9条回答
一只江湖小虾
1楼 · 2020-08-15 01:05.采纳回答

根据最新评论和提供的完整代码,总结问题的解决方案( https://answers .sap.com/answers/13097369/view.html ):

问题是:

  • 在执行自定义程序时,
  • (1)ALV 1立即显示,而不是选择屏幕,
  • (2),离开ALV +选择ALV 2时,出现短暂的转储GETWA_NOT_ASSIGNED

原因是 :

  • (1)由于在选择屏幕(AT SELECTION-SCREEN OUTPUT)的PBO中定义了ALV显示的代码,因此会立即显示ALV 1
  • ( 2)之所以发生短转储,是因为在尝试显示ALV 2时,没有清除ALV 1的字段目录,因此ALV显示无法在内部表中找到字段。

解决方法是:

  • (1)仅在显示选择屏幕之后,并且在按F8(执行)之后,通过将ALV代码移动到偶数内,才显示ALV。 t START-OF-SELECTION。
  • (2)在向其添加行之前清除ALV字段目录(CLEAR IT_FCAT)。
xfwsx85
2楼-- · 2020-08-15 01:03

我尝试过,但是它直接进入列表屏幕,而没有选择屏幕。 当我回来时,我选择了p_rad2,它给出了一个错误。 默认的" X"工作正常。 但是正如我所说,选择屏幕无法打开。 当我删除表达式" AT SELECTION-SCREEN OUTPUT"时。 没有变化。这不是我想要的,但是谢谢您的回答。

昵称总是被占用
3楼-- · 2020-08-15 01:02

Sandra Rossi 我的代码正在运行。 谢谢您的回复!

一周热门 更多>