我当前的屏幕构建如下所示:
但是当我尝试从屏幕250(称为屏幕)返回到 100(调用屏幕)时,它只会离开程序。
CASE OK_CODE.
*Navigation back to the calling screen
WHEN 'BACK'.
SET SCREEN 0.
我希望你们能帮助我。谢谢!
您可能想尝试LEAVE TO SCREEN 100
而不是SET SCREEN 0
.
这篇文章提供了有关它的详细信息。
解决了
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 值没有改变。
将屏幕 250 中的 OK 代码字段分配给 OK_CODE。在屏幕画家中,将屏幕中的 OK 代码(它是 OK 类型的底部属性)设置为 OK_CODE,您的原始代码应该可以工作。
离开屏幕 0
或者
设置屏幕 0
两种变体都可以返回上一个屏幕,但重要的是您调用下一个屏幕
呼叫屏幕“1234”
所以它的行为就像一堆屏幕。
代替
设置屏幕“1234”
(后者将用新屏幕替换当前屏幕,因此不可能“从屏幕堆栈弹出”)