ステップ2. Department Sectionsに詳細コマンド・ハンドラーを作成する
このステップでは、選択した課の社員を表示する詳細コマンド ハンドラーを作成します。
1. コード ウィザードを起動します。
2. iii HRアプリケーションでDepartment Sectionsビジネス・オブジェクトを選択します。
3. [コマンド ハンドラー] -> [詳細]を選択します。
4. [Web (WAMコンポーネントを使用)]をプラットフォームとして選択します。
5. [スケルトンコマンドハンドラー]を選択します。
6. [次へ]をクリックします。
7. オプション[標準の保存ボタンとロジックを含む]が選択されていないことを確認します。
8. [コード生成]をクリックします。
9. [生成されたソースコード]ページで、コマンド・ハンドラー名をiiiCOM13、説明にSection Detailsと指定します(ここでiiiは入力者のイニシャルです。Visual LANSAの非ライセンス版または試行版を使っている場合は、iiiの部分をDEMとする必要があります)。
10. [作成]をクリックします。
11. コンポーネントが作成されたことを示すメッセージが表示されるまで待機します。
12. Visual LANSAエディターに切り替えます。
13. このフォームで使用するマップフィールド。というコメントを探します。
14. このコメントの下に次のステートメントを追加します。
Def_list Name(#WAM_LIST) type(*working) Fields(#EMPNO #SURNAME #GIVENAME)
Web_Map For(*both) Fields(#WAM_LIST)
WAM_LIST作業リストはコマンド・ハンドラーに表示されるフィールドを指定します。Web_Mapステートメントはフィールドを表示します。
コードは、次のようになります。
15. 次のコードを#avFrameworkManager.uInitializeを処理するルーチンに追加して選択されているセクションを特定します。
Invoke #avListManager.GetCurrentInstance Found(#Ret_Code) AKey1(#DEPTMENT) AKey2(#SECTION)
エラー・メッセージは無視します。コードは、次のようになります。
16. 次のコードを#avFrameworkManager.uExecute eventを処理するルーチンに追加します。
Define #Ret_Code reffld(#IO$STS)
Def_cond Name(*RetOkay) Cond('#Ret_Code = OK')
Clr_list #WAM_LIST
Select fields(#WAM_LIST) from_file(PSLMST1) with_Key(#DEPTMENT #SECTION)
Add_Entry #WAM_LIST
EndSelect
avListManager.GetCurrentInstanceメソッドからの戻りコードがOKである場合は、次のコードでPSLMST1論理ビューから社員フィールドが選択されてコマンド・ハンドラーに追加されます。
コードは、次のようになります。
16. コマンド・ハンドラーをコンパイルします。
17. [デザイン]タブを表示してコマンド・ハンドラー・ユーザー・インターフェースを参照します。
コマンド・ハンドラーにはコード ウィザードで作成されたボタンが1つだけ必要です。
18. [PUSHB2]を選択して右クリックし、オプション[ウェブレット:ub_pushb2の削除]を選択します。
19. 残ったボタンを右に寄せるには、それを含むテーブルを選択し、[詳細]タブを表示して[align]プロパティを[right]に設定します。
コマンド・ハンドラーは、次のようになります。
20. コマンド・ハンドラーを保存してコンパイルします。
21. [コンパイル]オプションを選択して、WAMと関連するレイアウト・ウェブレットをサーバーにチェックインします。
22. フレームワークで、コマンド・ハンドラーをDepartment Sectionsビジネス・オブジェクトの詳細コマンドにスナップインします。
23. フレームワークを保存し、詳細をサーバーにアップロードします。
24. Webアプリケーションとしてフレームワークを実行します。
25. コマンド・ハンドラーをテストします。
26. アプリケーションを終了します。