1
我有以下程序。如果使用了TABBED BLOCK,則必須忽略必須的字段檢查
REPORT zz_tab_strip_obligatory.
SELECTION-SCREEN BEGIN OF TABBED BLOCK tab FOR 20 LINES.
SELECTION-SCREEN TAB (54) tab1 USER-COMMAND tab1 DEFAULT SCREEN 100.
SELECTION-SCREEN TAB (54) tab2 USER-COMMAND tab2 DEFAULT SCREEN 200.
SELECTION-SCREEN END OF BLOCK tab.
SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.
PARAMETERS:
p1 TYPE i.
SELECTION-SCREEN END OF SCREEN 100.
SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.
PARAMETERS:
p2 TYPE i OBLIGATORY.
SELECTION-SCREEN END OF SCREEN 200.
INITIALIZATION.
tab1 = 'Tab1'.
tab2 = 'Tab2'.
第一個選項卡沒有必填字段。第二個是另一方面。
我遇到的問題是如果用戶沒有進入第二個選項卡,而是立即用F8啓動程序,那麼根本不會執行參數p2
的強制性檢查。它看起來像AT SELECTION-SCREEN
這樣的所有事件僅對當前顯示的子屏幕的選項卡執行。
有什麼辦法可以解決它嗎?我目前的解決方案現在很遺憾地擺脫OBLIGATORY
關鍵字並在START-OF-SELECTION
(我的真實程序有很多選項卡)之後進行檢查。
感謝您的答案,但這是我實際上正在做的解決方法。很難相信,如果沒有擺脫'OBLIGATORY'標記,就無法以其他更好的方式處理這個問題。 – Jagger