RAMP-TSAD03 ステップ1. プロンプタを表示する状況を理解する
「RAMP-TS010:特別なフィールド・ハンドラーの使用」で学習したように、プロンプトはRAMP-TSセッションに関連付けられているテーブルで設定されます。
1. RAMPツールを開き、左側の画面とスクリプトのリストで[セッション]ノードをクリックします。
2. セッションの詳細の[特別なフィールド受け渡し]テーブルを見つけます。テーブルでは、フィールドutxtDepartmentが5250画面にあり、ユーザーがF2キーを押した場合に特別なフィールド・ハンドラーDF_PRM04を呼び出すことが定義されています。
DF_PRM04は、Visual LANSAのコンポーネントです。これは、ソース・コードとともにVL環境にあります。
この場合、選択したファンクション・キーF2は5250画面で使用できません。ユーザーがこのキーを押すと、要求は遮断され、クライアントPCで完全に処理されます。
ただし、5250画面で許可されているキー/ボタンを使用し、フィールドの特別なハンドラーをこのキーに関連付けた場合でも、要求は遮断され、クライアントPCで処理されます。これを理解するには、以下の手順を実行します。
3. DisplayEmployee画面に関連付けられているスクリプトを開きます。
4. vHandle_BUTTONCLICKファンクションを見つけます。
HANDLE_PROMPT()ファンクション呼び出しは、RAMPで提供されるファンクションを呼び出します。
使用されている5250画面のフォーカス・フィールドの名前とファンクション・キーを使って、このファンクションは特別なフィールド・ハンドラーを呼び出す必要があるかどうかを判定します。
· 呼び出す必要がある場合、HANDLE_PROMPT()はtrueを返し、要求を処理します。ボタン・スクリプトが戻し処理を介して即座に終了するのはこのためです。
· HANDLE_PROMPT()は、特別なフィールド・ハンドラーを呼び出さなかった場合、falseを返します。ボタン・スクリプトは独自のロジックを使用してボタン・クリックを引き続き処理します。
ほとんどの場合、プロンプト要求はサーバーによる処理のために5250画面に送信されます。その理由は特別なフィールド・ハンドラーがないためです。
5. これをテストするには、DisplayEmployee画面でF2キーを無効にし、F4キーを有効にします。
6. 変更を保存し、フレームワークを再起動します。
7. 人事アプリケーションでEmployeesビジネス・オブジェクトを見つけて、社員の詳細を表示します。
8. [部門コード]フィールドのF4を押します。5250プロンプタが表示されます。
9. RAMPツールを起動し、F4を使用するように[utxtDepartment]フィールドの特別なフィールド受け渡しを変更します。
10. RAMP定義を保存し、フレームワークを再起動します。
11. 人事アプリケーションで社員の詳細を表示し、F4を押します。特別なフィールド・ハンドラーが表示されます。