次の表では、画面処理モードが、画面上のフィールドの変更可能/変更不可にどのように影響するかについて説明します。
*INOUTCONDフィールド条件付け属性を使用して、フィールドを使用可能または使用不可にするタイミングを制御するフィールドに対して、この表に示すルールは適用されません。
|
リストをINZ_LISTコマンドで初期化するとき、またはADD_ENTRYコマンドでリストにエントリーを追加またはUPD_ENTRYコマンドでリストを更新するとき、モードが「設定」されるのは、リストが表示されるときではなく、コマンドが実行されるときです。
例えば、次のようにコマンドを指定したとします。
SET_MODE TO(*DISPLAY)
ADD_ENTRY TO_LIST(#BROWSE)
または、次のように指定します。
ADD_ENTRY TO_LIST(#BROWSE) WITH_MODE(*DISPLAY)
その後、次のように指定します。
SET_MODE TO(*CHANGE)
ADD_ENTRY TO_LIST(#BROWSE)
または、次のように指定します。
ADD_ENTRY TO_LIST(#BROWSE) WITH_MODE(*CHANGE)
これによって、リストの1番目のエントリーが「保護」され、リストの2番目のエントリーは「入力可能」になります。これは、リスト・エントリーのモードが「設定」されるのは、リストが表示される時点ではなく、エントリーがリストに追加(または更新)される時点であるためです。
SELECTLISTコマンドには、リスト内のエントリーが最後に追加または更新されたときにアクティブだった「モード」に一致するエントリーだけを処理するというオプションがあります。詳細については、SELECTLISTコマンドを参照してください。
注:ADD_ENTRY、UPD_ENTRYなどのすべてのリスト処理コマンドには、プログラムの現在のモードに関係なく、リスト・エントリーのモードを個別に設定できるオプションのパラメータがあります。この例は、上記の「または、次のように指定します。」に示した部分にあたります。