2012-08-06 55 views
2

我試圖在報告中使用消息類型E.事情是當消息被觸發時,程序不會返回到選擇屏幕。誰能幫我?下面是我用它來實現這個代碼:消息類型e後,程序不會返回到選擇屏幕ABAP

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

    MESSAGE e038. 

ENDIF. 

謝謝:)

+2

請提供一個完整的例子。在您提供的代碼中,根本不會觸發E消息。此外,MESSAGE語句的行爲在很大程度上取決於它從中調用的程序塊。 – vwegert 2012-08-06 17:52:15

+0

對不起,我要寫MESSAGE e038,而不是w038。 – 2012-08-07 10:59:07

回答

5

當我與your answer結合你的問題,我提供了另一種解決方案:

不要讓你的測試啓動進程(START-OF-SELECTION)之後,但在選擇屏幕上:

PARAMETER: p_test. 

AT SELECTION-SCREEN. 
    IF p_test IS INITIAL. 
    MESSAGE e038(00). 
    ENDIF. 

的E-消息阻止選擇屏幕直到問題解決。

+1

是的。這是如何進行選擇屏幕驗證的。更好的是,如果可能的話,在P_TEST或類似的選擇屏幕上進行。 – Eric 2013-09-04 13:39:37

4

我發現aswer。我應該使用S消息並將其顯示爲E型消息。要回到選擇屏幕,我不得不使用LEAVE LIST_PRECESSING。代碼如下:

START-OF-SELECTION. 

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

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

ENDIF. 

無論如何謝謝你。

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

At selection screen on radiobutton group rad1. 
    if condition 
    message text-001 type 'I' display like 'E'. 
    set screen 1000. 
    leave screen. 
    endif