ページのトップに戻る
Interstage Data Effector ユーザーズガイド

6.3.1 条件に一致するデータを連結する

入力ジャーナルファイルと入力マスタファイルに対し、連結条件に指定した条件に一致するデータを連結関数を使って連結します。

連結関数のハンドル取得から解放までの、処理シーケンスを以下に示します。

図6.2 連結関数の処理シーケンス

記述例

/* 連結ハンドルの取得 */
status = AsisAllocHandleReplace( &handle, logFile );             (1)

/* 環境パラメタの設定 */ envName = ASIS_ENV_SubstituteZeroForEmpty; envValue = "NO"; status = AsisSetEnvironment( handle, envName, envValue ); (2)

/* 連結条件の設定 */ jnlFile = "Journal ¥"C:¥¥shunAsis¥¥sample¥¥journal.csv¥""; mstFile = "{Master1 ¥"C:¥¥shunAsis¥¥sample¥¥master1.csv¥"" ",Master2 ¥"C:¥¥shunAsis¥¥sample¥¥master2.csv¥"}"; listDef = "{document(Journal){$Kbn Kbn,$Number Number,$Code Code,$Name Name,$Val Val}" ",document(Master1){$Kcode Kcode,$Kname Kname}" ",document(Master2){$Ncode Ncode,$Nname Nname}}"; outputDef = "{$Kbn,$Kname,$Number,$Nname,$Code,$Name,$Val}"; Jcondition = "{join (Journal, Master1, $Kbn == $Kcode, ¥"LEFT¥"), join (Journal, Master2, $Number == $Ncode, ¥"LEFT¥")}"; status = AsisInitReplace( handle, CharacterCode, inFileType,
jnlFile, mstFile, listDef,
outFileType, outputDef, NULL,
Jcondition, outFile, NULL, NULL, NULL); (3)

/* エラーデータ出力ファイルの指定 */ status = AsisSetErrFile( handle, FileName, MaxErrDataCnt ); (4) /* 連結の実行 */ status = AsisExecuteReplace( handle ); (5)

/* 連結ハンドルの解放 */ status = AsisFreeHandleReplace( handle ); (6)
(1) 連結ハンドルの取得

事前に、AsisAllocHandleReplace関数でハンドルを指定して割り当てます。


(2) 環境パラメタの設定

環境パラメタの設定は、共通関数であるAsisSetEnvironment関数で指定します。

注意

環境パラメタの設定は、ハンドルの取得直後に実施してください。
それ以外では、環境パラメタの設定が有効にならない場合があります。


(3) 連結条件の設定

AsisInitReplace関数のパラメタに、ListDef(入力項目定義)、Jcondition(連結条件式)、OutputDef(リターン式)および文字コードなど、連結関数に必要な条件を指定します。


(4) エラーデータ出力ファイルの指定

入力ファイルタイプがCSVでエラーデータの処理をする場合は、AsisSetErrFile関数のパラメタに、エラーデータ出力ファイルの情報を指定します。


(5) 連結の実行

AsisExecuteReplace関数で、データの連結を実行します。


(6) ハンドルの解放

データの連結が完了したら、AsisFreeHandlReplace関数で、ハンドルを解放します。

参照

  • 連結関数の詳細については、“C.2 連結関数”を参照してください。

  • データを連結するサンプルプログラムは、“F.2 データの連結”を参照してください。