この演習の前のステップでは、Integrator スタジオからユーザー・エージェントを実行しました。このステップでは、バッチ・モードでユーザー・エージェントを実行してXLSファイルを送信します。注: このステップでは、ユーザー・エージェントをスタンドアロン・アプリケーションとしてインストールしておく必要があります。
- ユーザー・エージェント・プロジェクト用に作成されたファイルは、すでに以下のようなディレクトリに存在します。
C:Program FilesLANSAIntegratorStudioworkspaceJMI TrainingsolutionsSendCSVFile
上記のディレクトリから次のファイルを
SendCSVFile.lih
iii_employee_new_salary.xls
以下のような場所にある User Agentworkspaceフォルダにコピーします。
C:Program FilesLANSAIntegratorUserAgentworkspace - このステップでは、メモ帳を使用して、 iii_UPLOAD.BAT ファイルを LANSA ユーザー・エージェントをインストールしたディレクトリ (デフォルトではC:Program FilesLANSAIntegratorUserAgent) 内に作成します。ファイル iii_UPLOAD.BAT は、DOS バッチファイルで、このバッチファイル実行時に必要なパラメータをユーザー・エージェントに渡すことで、ユーザー・エージェントをユーザー インターフェイス無しに実行できるようにします。
メモ帳を開いて以下のファイルを開きます。
C:Program FilesLANSAIntegratorUserAgentworkspaceupload.bat注意:ファイルを開く際は、ファイルの種類で [すべてのファイル] を使用する必要があります。
これは、ユーザー・エージェントを実行するバッチ・ファイルのサンプルです。コードは以下のようになります。
@echo off000clsrem --- Delete previous error log fileif exist useragent.err del useragent.errrem --- Sendjava -Djsf.log=LANSAIntegratoruseragentuseragent.log com.lansa.jsf.useragent.JSFUserAgent acme.lih order.xls xls-order-response.rspif exist useragent.err goto errorrem --- Sendjava -Djsf.log=LANSAIntegratoruseragentuseragent.log com.lansa.jsf.useragent.JSFUserAgent acme.lih order.csv csv-order-response.rspif exist useragent.err goto errorgoto endrem -- An error has occured:errorclsecho Check useragent.err for possible messagesecho Check useragent.log for possible messagesgoto end:end
「rem --- Send』から『goto error』までの 2 番目のコード・ブロックを削除します。提供のサンプルでは、バッチ・ファイルによって 2 つのファイルが送信されることを前提にしています。削除するコードは上記のプログラム・コードで赤で示されています。コードは以下のようになります。@echo offclsrem --- Delete previous error log fileif exist useragent.err del useragent.errrem --- Sendjava -Djsf.log=LANSAIntegratoruseragentuseragent.log com.lansa.jsf.useragent.JSFUserAgent acme.lih order.xls xls-order-response.rspif exist useragent.err goto errorgoto endrem -- An error has occured:errorclsecho Check useragent.err for possible messagesecho Check useragent.log for possible messagesgoto end:end
- 提供のコードは自身の PC 上で操作できるように拡張する必要があります。入力するコードは使用の Windows のバージョンにより異なります。ここに示されているのは、64 ビット PC の Windows 8.1 の例です。コマンド行の最初の "java" をフルパスに置き換えてください。コードは以下のようになります。[赤で示された箇所が新しく追加するコードです。
rem --- SendC:Program FilesJavajre1.8.0_112binJAVAW.EXE "-Djava.ext.dirs=..libext" "-Djava.endorsed.dirs=..libendorsed" "-Djsf.log=.useragent.log" com.lansa.jsf.useragent.JSFUserAgent acme.lih order.xls xls-order-response.rsp - 編集しているコマンド・ラインではJava runtime environment(JRE)でユーザー・エージェントを実行し、使用する構成ファイル(.lih)などの複数のパラメータを渡します。最初のパラメータは"-Djava.ext.dirs=で始まります。このパラメータに lib…ext folder のパスを挿入する必要があります。
C:Program FilesJava のフォルダを確認すると、Java の更新時に残された複数のバージョンの Java のフォルダがあります。
Java の最新のバージョン (もしくは Integrator 設定で指定した実際の Java バージョン) のパスを指定してください。 例えば、C:Program FilesJavajre1.8.0_112libext のようになります。 このパスを以下に示すように最初のパラメータに追加します。変更された箇所は赤で示されています。rem --- SendC:Program FilesJavajre1.8.0_112binJAVAW.EXE "-Djava.ext.dirs= C:Program FilesJavajre1.8.0_112libext;.libext" "-Djava.endorsed.dirs=..libendorsed" "-Djsf.log=.useragent.log" com.lansa.jsf.useragent.JSFUserAgent acme.lih order.xls xls-order-response.rsp このステップでは、構成ファイル(lih)、入力ファイル(xls)、応答ファイル(csv)の正しい実行時のパラメータを設定します。
acme.lihで始まるコマンド文字列の最後を次のように置き換えます。使用するファイル名にイニシャルをつけることを忘れないようにしてください。変更された箇所は赤で示されています。rem --- SendC:Program FilesJavajre1.8.0_112binJAVAW.EXE "-Djava.ext.dirs=C:Program FilesJavajre1.8.0_112libext;.libext" "-Djava.endorsed.dirs=..libendorsed" "-Djsf.log=.useragent.log" com.lansa.jsf.useragent.JSFUserAgent workspaceiiiSendCSVFile.lih workspaceiii_employee_new_salary.xls workspaceiii_employee_response.csv重要:ここではコマンド行1行を編集していることを忘れないでください。上記の例は幅の制限があるため複数行に分けて表示されています。メモ帳を使用してこの行を1行として表示することができます。ただし右端での折り返しが有効になっている場合は、複数行として表示されます。
- 最終的な iii_upload.bat ファイルは以下のようになります。
@echo offclsrem --- Delete previous error log fileif exist useragent.err del useragent.errrem --- SendC:Program FilesJavajre1.8.0_112binJAVAW.EXE "-Djava.ext.dirs=C:Program FilesJavajre1.8.0_112libext;.libext" "-Djava.endorsed.dirs=..libendorsed" "-Djsf.log=.useragent.log" com.lansa.jsf.useragent.JSFUserAgent workspaceiiiSendCSVFile.lih workspaceiii_employee_new_salary.xls workspaceiii_employee_response.csvif exist useragent.err goto errorgoto endrem -- An error has occured:errorclsecho Check useragent.err for possible messagesecho Check useragent.log for possible messagesgoto end送信指示が以下の4つの部分で構成されていることに注意してください。:end- ユーザー・エージェントを開始する命令
- 最初のパラメータ - SendCSVFile.lih (サービスを検索する方法)
- 2 番目のパラメータ - iii_Employee_New_Salary.xls (処理するデータ)
- 3 番目のパラメータ - iii_employee_response.csv (サービスからの応答を受信するファイルの名前)
[ファイル] メニューで [名前を付けて保存] オプションを選択し、以下のオプションを指定します。
保存場所
LANSAユーザー・エージェントをインストールしたディレクトリ (デフォルトでは.....\program files\lansa\integrator\UserAgent) を探します。
ファイル名
iii_UPLOAD.BAT
ファイルの種類
すべてのファイル
注意:…\UserAgent\ not …\UserAgent\workspace\ に保存します。
- iii_UPLOAD.BAT ファイルを実行します。正常に終了すると、ファイル iii_response.csv がディレクトリ …\UserAgent\workspace\ 内に作成されているはずです。Windows はこのファイル (CSV) を Excel で開きます。
問題が発生した場合、LANSA ユーザー・エージェントを手動で開始できるか、ホストの SendCSVFile.lih をロードできるか、ソース iii_Employee_New_Salary.xls を開けるか、応答を送受信できるかを最初に確認してください。詳細については、「ステップ 5. ファンクションiiiFN03 をテストする」を参照してください。