技術的な注意事項 

一般情報

確認プロンプトの入ったダイアログボックスは、入力されたデータが失われる可能性があるときにだけ表示して下さい。システムフラグ SY-DATAR を用いることで、この場合に該当するかどうかを調べることができます。 Dynpro がロードされると、(メッセージを表示するダイアログボックスの場合とは異なり)このフラグはシステムによって SPACE ”にリセットされます。ユーザが、その前に ENTER を押さずに項目にデータを入力したり項目内のデータを変更すると、フラグは X ”にセットされます。これは PAI においてテストすることができます。このフラグに基づき、例えば、 MODULE x AT EXIT COMMAND によって定義されているモジュール x ”内で、確認プロンプトを表示させるかどうかを決めることができます。どこかで ENTER が押されたときは、そのタスクは、データがすでに変更されたかどうかを別のフラグで管理しなければなりません。

汎用モジュール

開発者は、各種のプロンプト用に汎用モジュールを利用することができます(汎用グループ SPO1 ”、トランザクション UNIT ”のマニュアル参照)。以下の項では、各汎用モジュールのパラメータ、戻り値、機能について説明します。

すべての汎用モジュールは、対応するテキストと押ボタンとを、ダイアログボックスによって提供される場所に位置させ、特定の応答オプションを選択し、選択ロジックを保証し、特に指定されないときにはタスクウィンドウの中央に規定のサイズでダイアログボックスを配置します。

パラメータ

プロンプト

プロンプトは、別々の2行で汎用モジュールに転送されます。テキストプールの中で異なる2つの番号のもとにテキストが格納されていると、翻訳時に問題が発生することがあります。このため、少なくともテキストごとに通し番号を割り当てて下さい。

表題バー

表題バーは、下記に示す汎用モジュールすべてに転送されることが必要です。できれば、表題バーには、影響を受ける<オブジェクト>と選択された<アクション>を入れて下さい( 表題バーを参照してください)。

POPUP_TO_CONFIRM_STEP

転送される値

機能

このモジュールは、可変の質問と応答オプションとをダイアログボックスの中に配置します。パラメータとして転送されたオプションがデフォルトになっています。

戻り値

Yes ”は“ Y ”、“ No ”は“ N ”、“ Canselled ”は“ C ”です。

POPUP_TO_CONFIRM_ WITH_VALUE

この汎用モジュールは、下記の機能以外は汎用モジュール POPUP_TO_CONFIRM_STEP と同一です。

明示的に指定されるオブジェクトもパラメータとして転送することができます。質問は、“入力した文書をまず登録しますか?”ではなく、下記のようになっています。“文書 4711 をまず登録しますか?”

POPUP_TO_CONFIRM_ LOSS_OF_DATA

転送される値

質問は、下記の構文を持っています。“<オブジェクト>に対し、<あらかじめ選択したアクション>を実行しますか?”例えば次のとおりです。“一次原価の転送を中止しますか?”あるいは“一覧画面からリターンしますか?”

質問は、2行以下、それぞれ 35 文字以下で転送されます。“しますか?”で終わります。

機能

このモジュールは、可変テキスト以外に、定義済みの診断テキストや応答オプションをダイアログボックスの中に表示します(“ No ”が選択された状態)。

戻り値

Yes ”は“ Y ”、“ No ”は“ N ”、“ Canselled ”は“ C ”です。

POPUP_TO_CONFIRM_ WITH_MESSAGE

下記の値が転送されます。

機能

このモジュールは、可変メッセージ、可変質問、応答オプション(“ No ”をデフォルトにすることができます)をダイアログボックスに表示します。

戻り値

Yes ”は Y ”、“ No ”は“ N ”、“ Canselled ”は“ C ”です。

POPUP_TO_DECIDE and POPUP_TO_DECIDE_WITH_ MESSAGE

下記の値が転送されます。

機能

このモジュールは、可変メッセージ、可変質問、可変応答オプションをダイアログボックスに表示し、指定された応答オプションを選択状態にします。ウィンドウの中でのダイアログボックスの位置はあらかじめ定義されています。

戻り値

1 ”は最初のオプション、“2”は2番目のオプション、“ C ”は“ Cancel ”です。

アイコン

メッセージと確認プロンプトは、1行で定義しますが、3行と4文字幅のスペースを占有します。