[ |../../index.htm#lansa/lansa050_0655.htm]
現在地: RAMP-TSガイド > RAMP VLF-WIN のチュートリアル > 上級 RAMP Womdows チュートリアル > RAMP-WINAD03 ステップ 7. ハンドラーと通信する
RAMP-WINAD03 ステップ 7. ハンドラーと通信する
ハンドラーに追加の目的や情報を伝達するには、2つの方法があります。
最初の方法では、HANDLE_PROMPT()要求で情報を渡します。
1. RAMP ツールを開始します。
2. DisplayEmployee 画面のスクリプトで、ボタン・スクリプトの HANDLE_PROMPT() ファンクション呼び出しを見つけて、その呼び出しに文字列パラメータを以下のように追加します。
HANDLE_PROMPT("My Parm1","My Parm2","My Parm3")
コードは次のようになるはずです。
![]()
3. 変更をコミットし、RAMP 定義の部分的な保存を行います。
4. [フレームワーク] ウィンドウで、社員の詳細を表示し、画面の変更されたスクリプトを実行します。
5. Enter を押して [部門コード] フィールドをプロンプトし、テスト/デバッグ・ハンドラー DF_PRM06 を表示します。すると次のように表示されます。
![]()
HANDLE_PROMPT()ファンクションに渡される引数は、シンボル名(UARG1、UARG2、UARG3など)でハンドラーに渡されます。Visual LANSAハンドラーは コード内で次のようなメソッド呼び出しを使用してこれらの値を取得できます。
Invoke Method(#Com_Owner.uGet5250Field) Name(UARG1) Value(#Std_Text) /* Get UARG1 value into #STD_Text */
このテクニックは、特定のハンドラーに対話しているのか、またはすべてのハンドラーに対話しているのかを開発者が理解していることが重要です。また、このテクニックでは、UARG1、UARG2 などの使用目的についての規則が必要になる可能性があることも意味します。
特定のハンドラーと通信するには、次のテクニックを使用します。
2 つめは、SET_SPECIAL_FIELD_HANDLER() ファンクションを使用してハンドラーに情報を添付する方法です。
これは、ファンクション呼び出しの最後で 3 つのオプション・パラメータを使用して行われます。
6. 前のステップで作成した SET_SPECIAL_FIELD_HANDLER ステートメントを以下のように変更します。
SET_SPECIAL_FIELD_HANDLER("utxtDepartment",KeyEnter,"DF_PRM06", "Other 1","Other 2","Other3");
7. 変更をコミットし、部分保存を実行します。次に、社員を選択し、画面のスクリプトをもう一度実行します。
8. VF_PRM06 ハンドラーを呼び出します。次のように表示されます。
![]()
これら 3 つの情報ブロックを使用して、適切なハンドラーに情報を伝達することができます。以下のサンプルのように、Visual LANSA ハンドラーはこれらの値をプロパティとして取得できます。
#Product := #Com_Owner.uHandlerInfo1 #Customer := #Com_Owner.uHandlerInfo2 #ZipCode = #Com_Owner.uHandlerInfo1.toNumber()
[
|../../index.htm#lansa/lansa050_0655.htm]