「İptal」ボタンをクリックしたときに必須フィールドをスキップしたい。
しかし、「必須」なしで必須フィールドを制御したくありません。スクリーンショットのようにテキストボックスにチェックマークを表示したい。
必須フィールドがない場合、通常、「iptal」ボタンは別の画面を呼び出します。
注: 画面は標準の選択画面です。
実行する必要があるのは、機能タイプが「終了」の画面上の押ボタンに機能コードを割り当てることです。
次に、レポートでイベントを使用できますAT SELECTION-SCREEN ON EXIT-COMMAND
(選択画面について話しているので、レポートについて話していると思います)。このイベントは、画面上のフィールドを検証する前にシステムによって呼び出されます。ここで、必要なすべてのロジックを実装できます。
ただし、それを行う方法を考えることができる唯一の方法は、標準のGUIステータス%_00
をプログラムからプログラムにコピーしRSSYSTDB
、関数コードを追加してタイプを「終了」にすることです。次にAT SELECTION-SCREEN OUTPUT
、コマンドを使用しSET PF-STATUS
て標準の GUI ステータスをオーバーライドできます。(それ以外の場合、プッシュボタンに機能コードを割り当てても、ON EXIT-COMMAND
イベントをトリガーするための特別な処理は受け取られません)。
編集:
これを試してみましたが、機能しますが、機能コードを押しボタンに割り当てるときは機能しません(を使用SELECTION-SCREEN PUSHBUTTON
)。代わりに、関数コードをツールバーのボタンとして追加する必要がありました。次に、イベントをトリガーしAT SELECTION-SCREEN OUTPUT
ます)。
編集 2: (注意することが重要なので、コメントを下からここにコピーしただけです)ところで、コピーしたときに %_00 GUI ステータスの名前を別の名前に変更する必要がありました。そうしないと、SET PF-STATUS で追加の FROM PROGRAM を指定した場合でも、RSSYSTDB からの古い GUI ステータスが引き続き使用されます。