在消息类型e之后,程序不';t返回选择屏幕ABAP

在消息类型e之后,程序不';t返回选择屏幕ABAP,abap,sap-selection-screens,Abap,Sap Selection Screens,我正在尝试在报告中使用消息类型E。问题是,当消息被触发时,程序不会返回到选择屏幕。有人能帮我吗?下面是我用来实现这一点的代码: IF rb_tri IS NOT INITIAL AND p_trim-low IS INITIAL. MESSAGE e038. ENDIF. 谢谢:)我找到了答案。我应该使用S消息,并将其显示为E类型消息。为了回到选择屏幕,我不得不使用休假列表处理。代码如下: START-OF-SELECTION. IF rb_tri IS NOT INITIAL AN

我正在尝试在报告中使用消息类型E。问题是,当消息被触发时,程序不会返回到选择屏幕。有人能帮我吗?下面是我用来实现这一点的代码:

IF rb_tri IS NOT INITIAL AND p_trim-low IS INITIAL.

  MESSAGE e038.

ENDIF.

谢谢:)

我找到了答案。我应该使用S消息,并将其显示为E类型消息。为了回到选择屏幕,我不得不使用休假列表处理。代码如下:

START-OF-SELECTION.

IF rb_tri IS NOT INITIAL AND p_trim-low IS INITIAL.

  MESSAGE s038 DISPLAY LIKE 'E'.
  Leave list-processing.

ENDIF.

无论如何,谢谢你。

当我将你的问题与我提出的另一个解决方案结合起来时:

启动流程后不要进行测试(
START-OF-SELECTION
),而是在选择屏幕上:

PARAMETER: p_test.

AT SELECTION-SCREEN.
  IF p_test IS INITIAL.
    MESSAGE e038(00).
  ENDIF.
在问题解决之前,该电子邮件会阻止选择屏幕

Message text-001 TYPE 'S' Display LIKE 'E' 


请提供一个完整的例子。在您提供的代码中,根本不会触发任何电子邮件。此外,MESSAGE语句的行为在很大程度上取决于调用它的程序块。对不起,我应该写消息e038,而不是w038。是的。这就是选择屏幕验证的方式。更好的是,如果可能的话,将其放在P_测试或类似测试的选择屏幕上的事件中。
At selection screen on radiobutton group rad1.
  if condition
    message text-001 type 'I' display like 'E'.
    set screen 1000.
    leave screen.
  endif