ステップ3. Sectionsビジネス・オブジェクトからEmployeesビジネス・オブジェクトに切り替えるためのロジックを追加する
このステップでは、Sectionsの詳細コマンド・ハンドラーにロジックを追加して、Employeesビジネス・オブジェクトの詳細コマンド・ハンドラーに課の社員の詳細を表示します。
Employeesの詳細コマンド・ハンドラーへの切り替えは、ボタン・クリック・イベントで実行します。
1. 課の詳細コマンド・ハンドラーの[ソース]タブを表示します。
2. Override Field(#UB_PUSHB1)ステートメントを探して次のように変更します。
Override Field(#UB_PUSHB1) Default('Details')
3. #avFrameworkManager.uWAMEvent_1イベント・ルーチン(詳細ボタン・クリック・イベントを処理するルーチン)に、次のコードを追加して社員情報コマンド・ハンドラーのインスタンス・リストをクリアし、選択した課の社員のインスタンス・リストを生成します。
Invoke Method(#avListManager.BeginListUpdate) ForBusineesObject(EMPLOYEES)
Invoke Method(#avListManager.ClearList)
Select Fields(#EMPNO #GIVENAME #SURNAME) From_File(PSLMST1) With_key(#DEPTMENT #SECTION) Generic(*yes) Nbr_Keys(*Compute)
Invoke #avListManager.AddtoList Visualid1(#EMPNO) Visualid2(#SURNAME) AColumn1(#givename)AKey1(#EMPNO)
EndSelect
Invoke Method(#avListManager.EndListUpdate)
WAMコマンド・ハンドラーで、使用するインスタンス・リスト、この場合はビジネス・オブジェクトEMPLOYEESのインスタンス・リストに名前を付けます(Windowsでは、別のビジネス・オブジェクトのインスタンス・リストを操作するのにavAddSwitchInstancesイベントを使用します)。
4. 次に、Employeesビジネス・オブジェクトの詳細コマンド・ハンドラーに切り替えるステートメントを追加します。
#avframeworkmanager.avSwitch To(BUSINESSOBJECT) NAMED(EMPLOYEES) EXECUTE(DETAILS) Caller(#com_owner)
· Toパラメータには、ビジネス・オブジェクトへの切り替えであることを示すBUSINESSOBJECTが含まれています(フレームワークまたはアプリケーションに切り替えることもできます)。
· NAMEDパラメータには、実際のビジネス・オブジェクト名が含まれている必要があります。
· EXECUTEパラメータには、実行するコマンドの名前が含まれている必要があります。
コードは、次のようになります。
5. コマンド・ハンドラーをコンパイルしてチェックインします。
6. Webアプリケーションとしてフレームワークを実行します。
7. 切り替えをテストします。コマンド・ハンドラーで課を選択して[詳細]ボタンをクリックすると、インスタンス・リストに課の社員のデータが記載されたEmployeesビジネス・オブジェクトが表示されます。リストの先頭の社員の詳細が表示されます。
8. アプリケーションを終了します。