ステップ8. Excelスプレッドシートを送信する(オプション)
このステップを完了するには、PCにMicrosoft Excelをインストールしておく必要があります。
このステップでは、Excelスプレッドシートを作成し、ユーザー・エージェントで.csvファイルではなく.xlsファイルをソースとして使用できるようにホスト構成ファイルSendCVSFile.lihを修正します。ユーザー・エージェントは、スプレッドシートを読み込み、内容を表示します。その後、ファンクションiiiFN05で処理するためにデータをCSV形式でサーバーに送信します。ファンクションiiiFN05は、LANSAユーザー・エージェントに応答を返します。ファンクションiiiFN05を変更する必要はありません。
最初に、ユーザー・エージェントを使用して、送信するデータを含むファイルを作成する必要があります。ファイルには、社員番号とその社員の新しい給与のリストが含まれます。
1. WindowsでExcelを開始します。
2. 図に示すように、sheet 1の左上15個のセルに以下のデータを入力します。
重要な注意点:
· 値を入力する前に、セルE1からE3をテキストとしてフォーマットします。フォーマットしない場合、入力した値は数値として扱われます。
· Excelスプレッドシートには列見出しが必要です。ファンクションでは、見出しがあることが前提になるため、見出しは無視されます。注:つまり、列見出しの行は含まれず、最初のデータ行は無視されます。
サーバー側RDMLファンクションが実行する区画のPSLMSTファイルに、EMPNO列の社員ID (A1004、A1005、A1006)があることを確認します(データがPSLMSTファイルにない場合は、既存の社員IDを代用します)。残りのデータについては気にしないでください。
3. [ファイル]メニューで[名前を付けて保存]オプションを選択し、以下のオプションを指定します。
保存場所 |
SendCSVFileソリューションを定義したプロジェクト・ディレクトリを探します。例:c:\program files\lansa\integrator\Studio\workspace\iii Training\solutions\SendCSVFile\ |
[ファイル名] |
iii_employee_new_salary.xls |
[フアイルの種類] |
Microsoft Excelワークブック(*.xls) |
4. Excelを終了します。
5. Integratorスタジオでiii Trainingプロジェクトが開いている状態で、SendCSVFile.lihをプロパティ・エディタで開きます。
6. [検索]を使用してxlsエントリーを探します。強調表示されたエントリーがすでに存在しています。この行は、ユーザー・エージェントで.XLSファイルを表示する場合に使用するWindowsアプリケーションを定義します。
7. uriのエントリーを探し、スクリーン・ショットに示すようにxls.uri=/cgi-bin . . .のエントリーを修正します。これは、xlsファイルを処理する際に呼び出すプログラムやファンクションを見つける場合にJSMがDC@W29で検索するサービスを定義します。
WindowsでJSMサーバーを使用している場合、エントリーを以下のように変更します。
xls.uri=/cgi-bin/jsmdirect.exe?iiiFN05_SERVICE
8. 構成ファイルの最後に新しいセクションを追加して、Excelスプレッドシートのどのシートを読み込むべきか、表示する前にスプレッドシートをどのように変換すべきかをLANSAユーザー・エージェントに伝えます。
#
# Excel processing
#
excel.convert=text/comma-separated-values;charset=utf-8
excel.sheet=Sheet1
9. 変更を保存してプロパティ・エディタを閉じます。
10. 以前と同様に、SendCSVFileソリューションのユーザー・エージェントを開き、Excelファイルiii_employee_salary_amendments.xlsを開いてこのファイルをJSMサーバーに送信します。結果は以前と同じになります。