ステップ3. Sectionsビジネス・オブジェクトからEmployeesビジネス・オブジェクトに切り替えるためのロジックを追加する

Visual LANSA

ステップ3. Sectionsビジネス・オブジェクトからEmployeesビジネス・オブジェクトに切り替えるためのロジックを追加する


このステップでは、Sectionsの詳細コマンド・ハンドラーにロジックを追加して、Employeesビジネス・オブジェクトの詳細コマンド・ハンドラーに選択した社員の詳細を表示します。

Employeesの詳細コマンド・ハンドラーへの切り替えは、ボタン・クリック・イベントで実行します。

 

1.    詳細コマンド・ハンドラーの[デザイン]タブを表示します。

2.    プッシュ・ボタンを[共通の制御]タブからコマンド・ハンドラーの右側パネル(PANL_1)にドラッグします。

3.    ボタンのキャプションを[詳細]にします。

 

4.    ボタンにクリック・イベントを追加します。

5.    クリック・イベントに、Employeesビジネス・オブジェクトの詳細コマンド・ハンドラーに切り替えるステートメントを追加します。

 

#avframeworkmanager.avSwitch To(BUSINESSOBJECT) NAMED(EMPLOYEES) EXECUTE(DETAILS) Caller(#com_owner) ClearInstanceList(TRUE)

 

 

·         Toパラメータには、ビジネス・オブジェクトへの切り替えであることを示すBUSINESSOBJECTが含まれています(フレームワークまたはアプリケーションに切り替えることもできます)。

·         NAMEDパラメータには、実際のビジネス・オブジェクト名が含まれている必要があります。

·         EXECUTEパラメータには、実行するコマンドの名前が含まれている必要があります。

·         ClearInstancListパラメータを指定すると、オプションでインスタンス・リストをクリアできます。

 

6.    次に、グリッドの社員の値に基づいて表示するインスタンスをEmployeesビジネス・オブジェクトに指定する次のイベント・ルーチンを追加します。

Evtroutine Handling(#avFrameworkManager.avAddSwitchInstances) Caller(#Caller) Options(*NOCLEARERRORS *NOCLEARMESSAGES)

 

* Make sure the caller is this component

If_ref #Caller is_not(*Equal_to #Com_Owner)

Return

Endif

 

 

Invoke Method(#avFrameworkManager.avAddSwitchInstance) BusinessObjectType(EMPLOYEES) Visualid1(#EMPNO) Visualid2(#SURNAME) Akey1(#EMPNO)

 

Endroutine

  

·         avAddSwitchInstancesイベント・ルーチンは、常に、avSwitchメソッドを使用して切り替えを実行した直後に実行されます。このイベントを使用すると、対象のビジネス・オブジェクトのインスタンス・リストに配置されるデータを制御することができます。このイベントを通知するコンポーネントがCallerパラメータに渡されます。

·         このイベントを通知したコンポーネントがそのコンポーネント自体である場合は、このイベントでコードを実行することだけが重要です。したがって、呼び出し元が#com_ownerでない場合は、このイベント・ルーチンから戻る必要があります。#Callerおよび#Com_Ownerを比較するのにis_not(*Equal_toがどのように使用されているのかに注意してください。単純な文字列ではなく、コンポーネント自体を比較していることから、この構文を使用する必要があります。

·         avAddSwitchInstanceメソッドは対象のインスタンス・リストに追加するデータを指定します。

·         avAddSwitchInstanceメソッドを繰り返し呼び出して、複数のエントリーを対象のビジネス・オブジェクトのインスタンス・リストに配置するとができます。

  

コードは、次のようになります。


 

7.    コマンド・ハンドラーをコンパイルします。

8.    切り替えをテストします。Sectionsの詳細コマンド・ハンドラーで社員を選択して[詳細]ボタンをクリックすると、選択した社員の詳細を含むEmployeesビジネス・オブジェクトが表示されます。