ステップ4. iiiFN10クライアントのラッパー・ファンクションをコード化する
このステップでは、クライアント用のRDML (非RDMLX)ラッパー・ファンクションを作成します。これにより、簡単なWindowsプログラムでサーバーとのやり取りを行うことができます。
1. iiiPRO07 JSM XML Employees Clientという新しいLANSAプロセスを作成します。iiiは一意の3文字です(プロセスがすでにある場合は、iiiに対して別の文字セットを選択します)。
2. プロセスiiiPRO07に属するiiiFN10 Display Department & Employee Clientという新しいファンクションを作成します。テンプレートでファンクションを作成しないでください。ファンクションをRDMLX対応ファンクションにしないでください。
3. このプログラムの基本構造では、ユーザーからの部門コード入力を受け入れ、RDMLXファンクションiiiFN10を呼び出し、結果の社員リストを表示します。参照リストと、このデータを入れる作業リストが必要です。
a. WL_EMPSKLを、FULLNAMEとSKILDESCの作業リストとして定義します。
b. BL_EMPSKLを、FULLNAMEとSKILDESCの参照リストとして定義します。
4. 表示ファンクションの入力、ファンクション呼び出し、出力をコード化します。
a. BEGIN_LOOPコマンドとEND_LOOPコマンドを挿入します。
b. ループ内に、DEPTMENTを要求して参照リストBL_EMPSKLを表示するREQUESTコマンドを挿入します。
c. 作業リストと参照リストの両方を消去します。
d. フィールドDEPTMENTを交換します。
e. ファンクションiiiFN09を呼び出し、作業リストWL_EMPSKLを渡します(投入されたデータを返すことができます)。
f. 作業リストをループして、反復ごとにエントリーを参照リストに追加します。
終了したコードは以下のようになります。
FUNCTION OPTIONS(*DIRECT)
DEF_LIST NAME(#WL_EMPSKL) FIELDS(#FULLNAME #SKILDESC) TYPE(*WORKING) ENTRYS(9999)
DEF_LIST NAME(#BL_EMPSKL) FIELDS(#FULLNAME #SKILDESC) ENTRYS(9999)
BEGIN_LOOP
REQUEST FIELDS(#DEPTMENT) BROWSELIST(#BL_EMPSKL)
CLR_LIST NAMED(#WL_EMPSKL)
CLR_LIST NAMED(#BL_EMPSKL)
EXCHANGE FIELDS(#DEPTMENT)
CALL PROCESS(*DIRECT) FUNCTION(IIIFN09) PASS_LST(#WL_EMPSKL)
SELECTLIST NAMED(#WL_EMPSKL)
ADD_ENTRY TO_LIST(#BL_EMPSKL)
ENDSELECT
END_LOOP
5. ファンクションを保存し、コンパイルして閉じます。