我正在尝试使用我制作的表格检查字段是否在 sm30 中初始离开。我已经转到表维护生成器,然后是环境>修改->事件,并使用以下代码使用类型为 01(在将数据保存在数据库中之前)创建了一个名为 check_class 的条目:
FORM CHECK_CLASS.
IF z10ficlassfica-z_class IS INITIAL.
MESSAGE text-001 TYPE 'E'.
ENDIF.
ENDFORM.
它工作正常,除了当 z10ficlassfica 是初始时,它不会停留在表的维护中并进入 sm30 第一个屏幕。如何让它停留在sm30的维护屏幕上?希望我已经说清楚了。谢谢。
请参阅此链接:
- 您可以使用事件,
- 并且应该使用它们,不要修改生成的屏幕,这就是SAP提供事件的原因。
- 您只需要 2 件事即可停止保存并留在屏幕上
-
MESSAGE 'Currency must be USD or IDR' TYPE 'S' DISPLAY LIKE 'E'.
-
vim_abort_saving = 'X'.
-
- 阅读该链接,其中有很多您需要的信息。
- 作为一种很好的做法,请使用错误消息中出错的记录的键,以便用户可以在输入数千条新记录时找回记录
请编辑您的原始问题,而不是添加另一个问题。我已经在那里回答了这个问题:不要使用事件,而是修改生成的屏幕。事件不适合在这里,因为您必须在屏幕LOOP
语句中提高MESSAGE
。