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'.
最初のタブには必須フィールドはありません。もう一方はもう一方は行います。
私が抱えている問題は、ユーザーが2番目のタブに行かず、代わりにF8ですぐにプログラムを起動すると、パラメータp2
の義務チェックがまったく実行されないということです。 AT SELECTION-SCREEN
のようなイベントはすべて、表示されている従属画面の現在のタブのエゴに対してのみ実行されているようです。
回避策はありますか?私の現在の解決策は、悲しいことに、OBLIGATORY
のキーワードを取り除き、START-OF-SELECTION
(私の実際のプログラムには多くのタブがある)の後にチェックをしています。
回答ありがとうございますが、これが私が実際に回避策としてやっていることです。 'OBLIGATORY'マークアップを取り除かなくても、他の方法ではこれを扱うことができないと信じるのは難しいです。 – Jagger