このステップでは、ユーザー・エージェントからデータを受け取って処理し、ユーザー・エージェントにデータを返すLANSA RDMLXサーバー・ファンクションを作成します。 

  1. Visual LANSA 開発環境を使用する場合、演習用に指定された区画にサインオンします。
  2. iiiPRO03 ユーザー エージェント サーバー テスト プロセスという名前で新しい LANSA プロセスを作成します。iii は一意の 3 文字です(同じ名前のプロセスがすでにある場合は、iiiに対して別の文字セットを選択します)。
  3. プロセス iiiPRO03 に属する iiiFN03 給与修正の受信と処理という名前で RDMLX 対応の新規のファンクションを作成します。iii は一意の 3 文字です。RDMLX チェックボックスはチェックしてください。 
  4. テンプレートのリストからテンプレート JSMXSKEL を選択して、[作成] ボタンをクリックします。 
  5. 以下の表に示すようにテンプレートの質問に回答します。

    質問

    回答

    コメント

    JSMサービスをロードしますか?

    HTTPSERVICE



  6. ファンクション iiiFN03 の RDMLX コードを編集します。
    このファンクションには 2 つの作業リストが必要です。

作業リスト S_RECEIVE を使って、ユーザー・エージェントから送信された CSV ファイルのデータを受け取ることができます。CSV ファイルに他の情報が含まれていますが、このファンクションでは、社員番号と給与のみを使用します。

作業リスト S_SEND を使って、このサーバー・ファンクションからユーザー・エージェントに応答を返すことができます。受信リストの更新は許可されていないため、このリストは受信リストとは別のリストにしてください。この場合、ユーザー・エージェントに返されるデータは、社員番号、社員の一部詳細、新しい給与、更新の成功や失敗を示すメッセージを含むテキスト・フィールドになります。

また、エラーを処理するフィールド S_ERROR も定義する必要があります。

RDMLX コードは以下のようになります。

DEF_LIST  NAME(#S_RECEIVE) FIELDS(#EMPNO #SALARY) TYPE(*WORKING)
DEFINE    FIELD(#S_ERROR) TYPE(*CHAR) LENGTH(132) INPUT_ATR(LC)
DEF_LIST  NAME(#S_SEND) FIELDS(#EMPNO #GIVENAME #SURNAME #SALARY #S_ERROR)TYPE(*WORKING) 

  1. SERVICE_LOAD コマンドを修正します。  KEYWRD サブルーチンを使用するコードを追加して、SERVICE_LOAD コマンドに以下のキーワードを追加します。




      

キーワード

SERVICE_CONTENT

'*HTTP'

TRACE

'*YES'

  1.          SERVICE_CONTENT(*HTTP) は、HTTPのポストされたコンテンツを受け取る場合に必要です。
             TRACE(*YES) は、テストを行う際に役立ちます。実稼働システムへの配布前にトレースを削除する必要があります。
             完了したコードは次のようになります。変更された箇所は赤で示されています。
  1.          RDMLX コードは以下のようになります。