ステップ1. 実際のWAMフィルターを作成する
このステップでは、WAMを作成して独自のフィルターを作ります。これをスナップインとしてVisual LANSAフレームワークに組み込むことになります。
1. フレームワーク詳細タブで、フレームワークでWAMを使用可能オプションがオンになっていることを確認してください。Visual LANSAエディターで、新しいWAMを作成できることを確認します(Webでシステムが使用可能になっている場合は、このオプションは使用できます)。
2. (フレームワーク)メニューを使用して、フレームワークでコード ウィザードを起動します。
[コード ウィザード]ウィンドウが表示されます。このウィンドウを使用すると、フィルター、インスタンス・リストおよびコマンド・ハンドラーにプラグインできる各種コンポーネントを作成できます。フレームワークを初めて使用する場合は、コード ウィザードを使用することを強くお勧めします。
初めは大抵は、実行可能なコンポーネント(例:CRUDフィルター(作成/読み取り/更新/削除)、ファイルやビューを検索するフィルター)を生成するフィルターを使用します。使い慣れてくるに従って、スケルトン・フィルターを使用したり、作成するものに似たフィルターをコピーするだけになります。
3. 英語以外のシステムを使用している場合は、左上のツリー・ビューで[フレームワーク] -> [フレームワーク]をクリックします。下側にコード生成オプションの設定 オプションが現れるので、このオプションを選択してプリファレンスを設定します。
4. [iii HR]アプリケーションを選択し、次に[By Name]フィルターを選択します。
5. [Web (WAM コンポーネントの使用)]をプラットフォームとして選択し、[ファイルもしくはビューを使用した検索を行うフィルター]を選択します。
6. [次へ]ボタンをクリックします。
7. PSLMSTを[このビジネスオブジェクトに一番近い物理ファイル]として指定します。
コード ウィザードにより、必要なビジュアル識別子とプログラム的識別子が検出されます。
8. [次へ]ボタンをクリックします。
9. 次のページで、[フィルター/検索に使用するビューを選択して下さい]にPSLMST2を指定します。
10. [検索に使用するキーを選択して下さい]にSURNAMEを指定します。
11. [コード生成]ボタンをクリックします。
次のページの[生成されたソースコード]に、フィルターのソース・コードが表示されます。ここでこのコードを含むコンポーネントを作成する必要があります。
12. 実際のフィルター名としてiiiCOM04、説明にBy Nameフィルターと指定します(Visual LANSAの非ライセンス版または試行版を使っている場合は、iiiの部分をDEMとする必要があります)。
13. [作成]ボタンをクリックしてWAMを作成します。
少し遅れて、WAMが作成されたことを示すメッセージが表示されます。
14. Visual LANSAエディターに切り替えます。フィルターがVisual LANSAエディターに表示されています。
15. コードを調べます。
このステートメントは、インスタンス・リストに新しいエントリーがまもなく追加されることをフレームワークに通知します。
#avListManager.BeginListUpdate
このステートメントは、インスタンス・リストをクリアします。
#avListManager.ClearList
このステートメントは、ユーザーが入力した姓に一致するレコードを読み取ります。
Select Fields(#XG_Ident) From_File(PSLMST2) With_key(#XG_Keys) Generic(*yes) Nbr_Keys(*Compute)
このステートメントは、ビジュアル識別子を設定します。
#UF_VisID1 := #EMPNO
#UF_VisID2 := #SURNAME
#UF_VISID2 := #UF_VISID2.BlankConcat(#GIVENAME )
このステートメントは、インスタンス・リストにデータを追加します。
Invoke #avListManager.AddtoList Visualid1(#UF_VisID1) Visualid2(#UF_VisID2) AKey1(#EMPNO)
VisualId1はインスタンス リストの列1に、VisualId2は列2に表示されます。Akey1は従業員を一意的に識別するキーです(この場合、フィールドは英数字なので、Nkey1ではなくAkey1)。
このステートメントは、フレームワークに対し、インスタンス リストにエントリーを追加し終えた旨をフレームワークに通知します。
#avListManager.EndListUpdate
WAMの構築方法については、「WAMフィルターおよびコマンド・ハンドラーの構造」を参照することもできます。
16. 言語がNATの区画を使用している場合は、#UB_SEARCHフィールドのデフォルト値をSEARCHに変更し、Web_Mapステートメントを次のように変更します。
Web_Map For(*both) Fields(#XG_Keys (#UB_SEARCH *Desc))
17. [検査]メニューでデザイナオプションを選択します。
18. Generate XSLオプションに[全てのWebroutine]オプションが選択されていることを確認します。
19. コンパイルが成功したことを確認します。
20. サーバーに対して変更をチェックインします。まず始めにWAMのレイアウト・ウェブレットをチェックインします。
a. リポジトリのウェブレットの下にある自身のWAMのレイアウト・ウェブレットを探します。 iiiCOM04_layoutという名前です。(iii はイニシャルです。)
b. このウェブレットで右クリックして関連するポップアップ・メニューを開き、[チェックイン]オプションを選択します。
c. [OK]をクリックします。
次にWAMに移動して、チェックインします。
a. WAMを右クリックして関連するポップアップ・メニューを開き、チェックインオプションを選択します。
b. Generate XSLオプションに[全てのWebroutine]オプションが選択されていることを確認します。
c. [OK]をクリックするとチェックインされます。
d. コンパイルには多少時間がかかります。