0

我在 sap abap 中创建了一个功能模块池。当用户按下输入字段中的值不消失时,我怎样才能使它成为可能?

MODULE user_command_0200 INPUT.
      CASE ok_code.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
        WHEN 'BACK'.
          CALL SCREEN 100.
        WHEN 'DISPLAY' .
          SELECT SINGLE * FROM ekpo
          WHERE ebeln = ekpo-ebeln AND ebelp = ekpo-ebelp.
          ssn = 400.
      ENDCASE.
       CLEAR: ekpo-ebeln ,ekpo-ebelp.
      CLEAR ok_code.

    ENDMODULE.

我错过了什么 CLEAR: ekpo-ebeln ,ekpo-ebelp。如果即使我更改屏幕也删除了这些字段仍然填写。如何将值保留在字段中,即使用户按下回车也不应该发生任何事情。

4

2 回答 2

0

给你,伙计:

 WHEN 'BACK'.
        CLEAR: ekpo-ebeln ,ekpo-ebelp.
        ssn = '500'.
于 2017-08-03T13:47:53.607 回答
0

虽然公认的答案解决了 Dynpro 0200 中的明显问题,但这并不是最好的做法。

在我看来,您希望在下次出现 dynpro 0200 时控制字段的初始值。

清除/设置调用Dynpro 0200 的 Dynpro 的 PAI 中的字段。(有时 Dynpro 0200 的 PBO 也是一个好地方,但可能不适用于您的情况)。

于 2017-08-05T10:23:24.933 回答