値*PROMPTを指定すると、\[プロンプト\]キーが使用されたかどうかを検査することができます。ただし、多くのRDMLプログラムでは、関連するパラメータがPROMPT_KEY(*YES *AUTO)としてコーディングされているため、\[プロンプト\]キーの処理は自動的に実行されます。\[プロンプト\]キーが自動的に処理されないようにするには、PROMPT_KEY(*YES *NEXT)またはPROMPT_KEY(*YES L10)をコーディングします(L10はコマンド・ラベルです)。この場合、\[プロンプト\]キーがRDMLプログラムで処理されるものと見なされるため、IF_KEYコマンドでその使用を検査できるようになります。 |
*EXITHIGHおよび*EXITLOWを検査する場合は、関連付けられたDISPLAY、REQUEST、またはPOP_UPコマンドでEXIT_KEYパラメータによって高位または低位の\[終了\]キーを適切に有効にする必要があります。1つのDISPLAY、REQUEST、またはPOP_UPコマンドで高位および低位の\[終了\]キーを両方有効にすることはできません。 |
以下は、このフィールドの使用例です。
DISPLAY USER_KEYS((15 'Purge')(16 'Commit')(17 'Save') (*ROLLUP 'Up')(*ROLLDOWN 'Down')) CASE OF_FIELD(#IO$KEY) WHEN VALUE_IS('= ''15''') WHEN VALUE_IS('= ''16''') WHEN VALUE_IS('= ''17''') WHEN VALUE_IS('= ''UP''') WHEN VALUE_IS('= ''DN''') ENDCASE
ファンクション・キー番号(01~24)を使用して、フィールド#IO$KEYを通常のファンクション・キーと比較することができます。ただし、RDMLプログラムの実行中に#IO$KEYがその他の値になることもあります。例えば、レコードの自動前進/\[OK\]キーが押されたことを示す'RA'、上スクロール・キーが押されたことを示す'UP'、下スクロール・キーが押されたことを示す'DN'などです。これらの値はAIDS値と呼ばれ、実際にはIBM i オペレーティング・システムの一部です。 |
例えば、42個の項目で構成されるブラウズ・リストが表示されている場合(画面の各「ページ」に15個の項目が表示されるものとする)、上スクロール・キーが3回使用されるまでは、上スクロール処理はIBM i オペレーティング・システムによって自動的に処理されます。3回目の使用でユーザーはブラウズ・リストの「端」に達するため、制御がRDMLプログラムに戻されます。下スクロール処理についても同様です。