You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

ステップ 6. 列見出しを無視する

INT003 - LANSAユーザー・エージェントの使用
このステップでは、ファンクション iiiFN03 を修正して、列見出しを無視して、作業リスト S_RECEIVE に定義されたフィールドを使用してデータをマッピングします。
1.      ファンクション iiiFN03 を編集します。
         ユーザー・エージェントからのデータの受け取りに使用する作業リストの定義を探します。作業リストは #S_RECEIVE という名前で、以下のように表示されます。
DEF_LIST NAME(#S_RECEIVE) FIELDS(#EMPNO #SALARY) TYPE(*WORKING)
 
2.      S_RECEIVE の定義を修正して、CSV ファイルの形式に一致するようにします。コードは以下のようになります。
DEF_LIST NAME(#S_RECEIVE) FIELDS(#EMPNO #SALARY #STARTDTER #DEPTMENT #SECTION) TYPE(*WORKING)
 
3.      KEYWRD サブルーチンを実行するコマンドを探して、RECEIVE コマンドを作成します。SVMODE キーワードの値を *IGNORE に変更します。*IGNORE を使用する理由の1つは、列見出しが LANSA フィールド名ではない場合があるからです。例えば、サーバーは、列見出しがフィールド名 EMPNO ではなく「社員番号」というラベルの CSV ファイルを受信する可能性もあります。
         コードは以下のようになります。
CHANGE FIELD(#JSMXCMD) TO(RECEIVE)
EXECUTE SUBROUTINE(KEYWRD) WITH_PARMS(#JSMXCMD HANDLER InboundSeparatedValue)
EXECUTE SUBROUTINE(KEYWRD) WITH_PARMS(#JSMXCMD SVMODE '*IGNORE') 
USE BUILTIN(JSMX_COMMAND) WITH_ARGS(#JSMXHDLE1 #JSMXCMD) TO_GET(#JSMSTS #JSMMSG #S_RECEIVE)
EXECUTE SUBROUTINE(CHECK_STS)
 
4.      ファンクション iiiFN03 をコンパイルします。
5.      ユーザー・エージェントを使用して、前回と同様にファンクションをテストします。結果はまったく同じになるはずです。
6.      (オプション)CSVファイルを編集して、『番号、年収、開始日、部門、課コード」などの列見出しを含め、変更を保存します。ユーザー・エージェントがまだ開いている場合は、[ファイル]、[ソースデータを閉じる] を使って、修正されたCSVファイルを開いて送信します。再度、同じ結果が得られます。

  • No labels