Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Wiki MarkupINT003 - LANSAユーザー・エージェントの使用 このステップでは、CSVファイルを修正して、列見出しを削除します。このためには、RDMLX を修正して、RECEIVE コマンドの SVMODE キーワードを *NONE (CSV ファイルに列見出無し) に変更する必要があります。ただし、ステップ 6 で受信した作業リスト定義を CSV ファイルの列と一致するように変更したため、CSV ファイル受信時にその他の変更を行う必要はありません。実際は、ファンクションは最初の 2 つのフィールドだけが必要なので、EMPNO SALARY のみが含まれるように作業リストを定義できます。

iiiFN03 を指定した SEND コマンドに SVHEAD キーワードを追加します。これによりプロジェクト・エントリーが検索され、このエントリーを HTTPService プロパティ・ファイルに追加することで、CSV ファイルに見出し行が追加されます。 1.      Windows のメモ帳を開いて、この演習の最初に作成した ファイルに見出し行が追加されます。

  1. Windows のメモ帳を開いて、この演習の最初に作成した iii_employee_new_salary.csv

...

  1. ファイルを開きます。ファイルは以下のようになっています。

            EMPNO,SALARY,STARTDTER,DEPTMENT,SECTION

...


  1.         A1004,53400,910521,ADM,01

...


  1.         A1005,53500,950102,ADM,01

...


  1.         A1006,53600,891201,MKT,02

...



  1. 列見出しデータがあるファイルの1行目を削除します。これで、ファイルは以下のようになります。

            A1004,53400,910521,ADM,01

...


  1.         A1005,53500,950102,ADM,01

...


  1.         A1006,53600,891201,MKT,02

...



  1. [ファイル

...

  1. ]

...

  1. メニューで

...

  1. [保存

...

  1. ]

...

  1. を選択し、修正したファイルを保存し、閉じます。

  2. ファンクション iiiFN03 を編集します。 
    ユーザー・エージェントからのデータの受け取りに使用する作業リストの定義を探します。作業リストは #S_RECEIVE

...

  1. という名前で、以下のように表示されます。

...



  1. DEF_

...

  1. LIST NAME(#S_RECEIVE)

...

  1. FIELDS(#EMPNO #SALARY #STARTDTER #DEPTMENT #SECTION) TYPE(*WORKING)

...



  1. KEYWRD サブルーチンを実行するコマンドを探して、RECEIVE コマンドを作成します。  SVMODEキーワードの値を*IGNOREに変更します。
    RDMLX は次のように表示されます。

    CHANGE FIELD(#JSMXCMD) TO(RECEIVE)
    EXECUTE SUBROUTINE(KEYWRD) WITH_PARMS(#JSMXCMD HANDLER InboundSeparatedValue)
    EXECUTE SUBROUTINE(KEYWRD) WITH_PARMS(#JSMXCMD SVMODE '*IGNORE') 

...


  1. USE BUILTIN(JSMX_COMMAND)

...

  1. WITH_ARGS(#JSMXHDLE1

...

  1. #JSMXCMD)

...

  1. TO_GET(

...

  1. #JSMSTS #JSMMSG #S_RECEIVE)

...


  1. EXECUTE SUBROUTINE(CHECK_STS)

...



  1. SEND コマンドの実行 KEYWRD サブルーチンを探します。値 iiiFN03 を指定した SVHEAD キーワードを追加します。コードは以下のようになります。

    * BUILD THE JSM COMMAND
    #JSMXCMD := SEND
    EXECUTE SUBROUTINE(KEYWRD)

...

  1. WITH_PARMS(#JSMXCMD

...

  1. HANDLER

...

  1. InboundSeparatedValue)

...


  1. EXECUTE

...

  1. SUBROUTINE(KEYWRD)

...

  1. WITH_PARMS(#JSMXCMD

...

  1. SVHEAD

...

  1. iiiFN03)

...


  1. USE

...

  1. BUILTIN(JSMX_COMMAND)

...

  1. WITH_ARGS(#JSMXHDLE1

...

  1. #JSMXCMD)

...

  1. TO_GET(#JSMSTS

...

  1. #JSMMSG

...

  1. #S_SEND)

...


  1. EXECUTE

...

  1. SUBROUTINE(CHECK_STS)

...

  1. WITH_PARMS(#JSMXCMD)

...



  1. ファンクション iiiFN03 をコンパイルします。 

  2. このステップでは、プロジェクトの HTTPSERVICE プロパティ・ファイルにセクションを 1 つ追加します。このセクションは、送信された CSV ファイルに使用される列見出しを定義します。
    1. Integrator スタジオで iii 研修プロジェクトを開きます。 [プロジェクト] タブで、研修用に使用しているサーバーを選び、右クリックで [サーバーを開く] をクリックします。 
      Image Added
    2. 右側にサーバー・インスタンスが開きます。
      Image Added
    3. [プロパティ] のレベルを開き、HTTPService.properties までスクロールします。これを選択して、右クリックで [セクションの取得] を選択します。
      Image Added
    4. この時点ではプロジェクトに HTTPService.properties セクションが定義されていないため、以下のようなダイアログ・ボックスが表示されます。[OK] を選択すると、左側の [Integrator]、[プロパティ] の下 (プロジェクト内) に HTTPService.properties エントリーが作成されます。
      Image Added
    5. [Integrator]、[プロパティ]、HTTPService.properties を選択して、右クリック・メニューで [プログラムから開く]、[プロパティ エディター] を選択します。
      Image Added
    6. プロパティ・エディターが開きます。以下のイメージに示されるように、各変数ファイルの列見出しを定義するエントリーを追加します。変更を保存してプロパティ・エディターを閉じます。
      Image Added
          sv.head.iiiFN03=EMPNO,GIVENAME,SURNAME,SALARY,ERRORS

...



    1. プロジェクト内の HTTPService.properties

...

    1. を選択して、右クリック・メニューで

...

    1. [セクションの発行

...

    1. ]

...

    1. を選択します。
      Image Added
    2. 確認のダイアログで [はい] を選択します。プロジェクトの HTTPService.properties ファイルの最後にセクションが追加されます。 
      Image Added
    3. 右側 (JSMサーバー・インスタンス) で右クリックし、[プロパティ]、[HTTPService.properties

...

    1. ]

...

    1. を選択して

...

    1. JSM

...

    1. サーバーの

...

    1. HTTPService

...

    1. プロパティ・ファイルを開きます。最後までスクロールして、追加したエントリーを表示します。
      Image Added

  1. 以前と同じ手順でファンクションをテストします。応答は以下のようになります。
    Image Added