ステップ 5. iiiFN07 クライアントのSET機能をコーディングする

INT008 – 部門&社員クライアント (オプション)
このステップでは、クライアントの RDMLX の作成を開始します。クライアントはサーバーに要求ドキュメントを送信し、INT007 で作成したサービスから社員リストを受け取ります。現時点では、要求 XML の作成と送信のみコーディングします。
完成したクライアント・ファンクション iiiFN07 の全体の構造は以下のようになります。

1.  JSMX_OPEN
2.  SERVICE_LOAD HTTPOutboundXMLBindService
3.  BIND アウトバウンド
4.  SET DepartmentRequest フラグメント
5.  WRITE DepartmentRequest フラグメント
6.  SEND HOST() URI()
7.  BIND サービス IIIPRO07_SERVICE インバウンド
8.  GET EMPLOYEELIST フラグメント
9.  BEGIN_LOOP

         a.  GET EMPLOYEE フラグメント
         b.  LEAVE if NOFRAGMENT
         c.  GET EMPLOYEESKILLS リスト
         d.  SELECT LIST EMPSKILLS
         e.  Add エントリー WL_EMPSKL
         f.  End SELECT

10.  END_LOOP
11.  SERVICE_UNLOAD
12.  JSMX_CLOSE 

1.     iiiPRO07 - JSM XML 社員クライアントという名前で新規 LANSA プロセスを作成します。iiiは一意の3文字です。(同じ名前のプロセスがすでにある場合は、iii に対して別の文字セットを選択します)。
2.      プロセス iiiPRO07 に属する iiiFN07 部門&社員クライアントという名前の新規ファンクションを作成します。(iii は一意の 3 文字)アプリケーションのテンプレートを使用せずにファンクションを作成します。ファンクションはRDMLX 対応にします。
3.      iii 研修プロジェクトで、クライアント XML 社員要求/samples/RDMLX フォルダを展開します。SAMPLE_RDMLX_OUTBOUND_HTTP.TXT のコードをコピーして、ファンクション iiiFN07 の既存のコードと置き換えます。
4.      GROUP_BY DEPARTMENTREQUEST の Name を DEPTREQ に変更します。スタジオのコード・ジェネレータは、現在、RDMLX の名前制限を認識していません。これは、フィールド DEPTMENT をバインドするための参照です。
5.      フォーム iiiFRM03 から作業リストを受け取るよう指定する必要があります。
a.      このフォームで定義されているように、作業リスト WL_EMPSKL を定義します。
b.      作業リスト WL_EMPSKL を受け入れる RCV_LIST キーワードを FUNCTION OPTIONS(*DIRECT) に追加します。
6.      フィールド SKILDESC に対して作業リスト EMPSKILLS を定義します。これは、サーバー・ファンクション iiiFN06 からの応答 XML にバインドすることでデータが投入される社員スキルのリストです。
def_list name(#empskills) fIELDS(#skildesc) type(*working) entrys(*max)
7.      SEND コマンドを完了します。HOSTキーワードは、JSMサーバーに関連するWebサーバーを指し示す必要があります。以下のサンプル・コードでは IBM i ホストを指しています。
        注意:ローカルの Windows Web サーバーや JSM サーバーを使用している場合、URI は以下のようになります。 /cgi-bin/jsmdirect.exe?IIIFN06_SERVICE
         URIキーワードは iiiFN06_SERVICE というサービスを参照します。コードは以下のようになります。