0

我当前的屏幕构建如下所示:

当前程序

但是当我尝试从屏幕250(称为屏幕)返回到 100(调用屏幕)时,它只会离开程序。

    CASE OK_CODE.
*Navigation back to the calling screen
    WHEN 'BACK'.
      SET SCREEN 0.

我希望你们能帮助我。谢谢!

4

4 回答 4

3

您可能想尝试LEAVE TO SCREEN 100而不是SET SCREEN 0.

这篇文章提供了有关它的详细信息。

于 2016-11-08T08:16:51.483 回答
2

解决了

ok_code = sy-ucomm.
*updating the value of the ok_code
CASE OK_CODE.
*Navigation back to the calling screen
    WHEN 'BACK'.
         SET SCREEN 0.
*all not applicable conditions        
    WHEN OTHERS.
  ENDCASE.
ENDMODULE.

必须设置ok_code = sy-ucomm因为 ok_code 值没有改变。

于 2016-11-08T08:57:21.410 回答
1

将屏幕 250 中的 OK 代码字段分配给 OK_CODE。在屏幕画家中,将屏幕中的 OK 代码(它是 OK 类型的底部属性)设置为 OK_CODE,您的原始代码应该可以工作。

于 2016-11-08T23:43:09.967 回答
0

离开屏幕 0

或者

设置屏幕 0

两种变体都可以返回上一个屏幕,但重要的是您调用下一个屏幕

呼叫屏幕“1234”

所以它的行为就像一堆屏幕。

代替

设置屏幕“1234”

(后者将用新屏幕替换当前屏幕,因此不可能“从屏幕堆栈弹出”)

于 2018-01-10T13:55:17.090 回答