独自プログラムの実装方法 ############################################################################################################################### | 取込/出力対象判定プログラム、取込/出力値変換プログラムの実装についてのリファレンスです。 | 以下のリファレンスに従い独自プログラムを作成してください。 .. |addon-link-im-01| raw:: html intra-mart Accel Platform IM-LogicDesigner ユーザ操作ガイド .. contents:: :local: :depth: 2 :backlinks: none 取込/出力対象判定プログラムの作成 ******************************************************************************************************************************* | 取込/出力対象判定プログラムは、実行対象のエンティティに対して、レコード毎に取込/出力対象、対象外とするかを独自に判定することができるアドオンプログラムです。 | マッピング定義登録・編集画面の基本情報に取込/出力対象判定ロジックを設定する場合は、以下のプログラムを作成してください。 Java で作成する場合 =============================================================================================================================== | クラス「 **jp.co.itc.imic.foundation.mapping.checker.AbstractMappingChecker** 」を継承したJavaクラスを作成してください。 * | **取込** | マッピング定義にプログラムタイプがJavaで取込対象判定ロジックを設定する場合、取込処理内で以下のメソッドを実行するので、作成したJavaクラスの中で以下のメソッドを業務要件に合わせて実装してください。 | #checkImportLine(ArrayList csvData, ExecImpAddonParamDto addonParamDto) * | **第1引数 ArrayList csvData** | 取込対象のCSVデータ(1レコード分)が、ファイル定義の項目順で格納されます。 * | **第2引数 ExecImpAddonParamDto addonParamDto** | 取込対象のCSVデータに紐づく以下の情報が格納されます。 .. list-table:: :widths: 200 150 100 250 :header-rows: 1 * - 物理名 - 論理名 - 型 - 内容 * - companyCd - 会社コード - String - 処理対象の会社コード * - localeId - ロケールID - String - 処理対象のロケールID * - mappingId - マッピングID - String - 処理対象のマッピングID * - mappingName - マッピング定義名 - String - 処理対象のマッピング定義名 * - domainClassId - ドメイン分類ID - String - 処理対象のドメイン分類ID * - domainClassName - ドメイン分類名 - String - 処理対象のドメイン分類名 * - fileId - ファイルID - String - 処理対象のファイルID * - fileDefName - ファイル定義名 - String - 処理対象のファイル定義名 * - filePath - ファイルパス - String - 処理対象のファイルパス * - dataCategory - データカテゴリ - String - 処理対象のデータカテゴリ * - dataCategoryName - データカテゴリ名 - String - 処理対象のデータカテゴリ名 * - startDate - 取込基準開始日 - String - 処理対象の取込基準開始日 * - endDate - 取込基準終了日 - String - 処理対象の取込基準終了日 * - domainId - ドメインID - String - null * - value - 対象値 - String - null | * | **返却値** | このメソッドの返却値の型はboolean型です。 | 返却値にtrueを設定した場合、Accel-KNIGHTでは「取込対象」と判断し、対象レコードを処理します。 | 返却値にfalseを設定した場合、Accel-KNIGHTでは「取込対象外」と判断し、対象レコードをスキップします。(スキップされたレコードは取り込まれません。) | * | **出力** | マッピング定義にプログラムタイプがJavaで出力対象判定ロジックを設定する場合、出力処理内で以下のメソッドを実行するので、作成したJavaクラスの中で以下のメソッドを業務要件に合わせて実装してください。 | #checkExportLine(LinkedHashMap entityData, ExecExpAddonParamDto addonParamDto) * | **第1引数 LinkedHashMap entityData** | 出力対象のエンティティデータ(1レコード分)が格納されます。Key値はエンティティのカラム名、Value値はエンティティのカラム値です。 * | **第2引数 ExecExpAddonParamDto addonParamDto** | 出力対象のエンティティデータに紐づく以下の情報が格納されます。 .. list-table:: :widths: 200 150 100 250 :header-rows: 1 * - 物理名 - 論理名 - 型 - 内容 * - companyCd - 会社コード - String - 処理対象の会社コード * - localeId - ロケールID - String - 処理対象のロケールID * - mappingId - マッピングID - String - 処理対象のマッピングID * - mappingName - マッピング定義名 - String - 処理対象のマッピング定義名 * - domainClassId - ドメイン分類ID - String - 処理対象のドメイン分類ID * - domainClassName - ドメイン分類名 - String - 処理対象のドメイン分類名 * - fileId - ファイルID - String - 処理対象のファイルID * - fileDefName - ファイル定義名 - String - 処理対象のファイル定義名 * - filePath - ファイルパス - String - 処理対象のファイルパス * - dataCategory - データカテゴリ - String - 処理対象のデータカテゴリ * - dataCategoryName - データカテゴリ名 - String - 処理対象のデータカテゴリ名 * - referenceDate - 出力基準日 - String - 処理対象の出力基準日 * - domainId - ドメインID - String - null * - value - 対象値 - String - null | * | **返却値** | このメソッドの返却値の型はboolean型です。 | 返却値にtrueを設定した場合、Accel-KNIGHTでは「出力対象」と判断し、対象レコードを処理します。 | 返却値にfalseを設定した場合、Accel-KNIGHTでは「出力対象外」と判断し、対象レコードをスキップします。(スキップされたレコードは出力されません。) .. note:: 判定プログラム内でエラー(例外)終了させる場合 - 判定プログラム内でエラー(例外)により処理を終了(中断)させたい場合は、Exceptionをthrowすることで処理を終了することができます。 Accel-KNIGHTがExceptionをcatchした時点でバッチ処理は異常終了となり、エラーの内容がログに出力されます。 JavaScript で作成する場合 =============================================================================================================================== * | **取込** | マッピング定義にプログラムタイプがJavaScriptで取込対象判定ロジックを設定する場合、取込処理内で以下のファンクションを実行するので、以下のファンクションを業務要件に合わせて実装してください。 | checkImportLine(csvData, addonParam) * | **第1引数 csvData** | 取込対象のCSVデータ(1レコード分)が、ファイル定義の項目順で格納されます。 * | **第2引数 addonParam** | 取込対象のCSVデータに紐づく以下の情報が格納されます。 .. list-table:: :widths: 200 150 100 250 :header-rows: 1 * - 物理名 - 論理名 - 型 - 内容 * - companyCd - 会社コード - String - 処理対象の会社コード * - localeId - ロケールID - String - 処理対象のロケールID * - mappingId - マッピングID - String - 処理対象のマッピングID * - mappingName - マッピング定義名 - String - 処理対象のマッピング定義名 * - domainClassId - ドメイン分類ID - String - 処理対象のドメイン分類ID * - domainClassName - ドメイン分類名 - String - 処理対象のドメイン分類名 * - fileId - ファイルID - String - 処理対象のファイルID * - fileDefName - ファイル定義名 - String - 処理対象のファイル定義名 * - filePath - ファイルパス - String - 処理対象のファイルパス * - dataCategory - データカテゴリ - String - 処理対象のデータカテゴリ * - dataCategoryName - データカテゴリ名 - String - 処理対象のデータカテゴリ名 * - startDate - 取込基準開始日 - String - 処理対象の取込基準開始日 * - endDate - 取込基準終了日 - String - 処理対象の取込基準終了日 * - domainId - ドメインID - String - null * - value - 対象値 - String - null | * | **返却値** | このメソッドの返却値の型はboolean型です。 | 返却値にtrueを設定した場合、Accel-KNIGHTでは「取込対象」と判断し、対象レコードを処理します。 | 返却値にfalseを設定した場合、Accel-KNIGHTでは「取込対象外」と判断し、対象レコードをスキップします。(スキップされたレコードは取り込まれません。) | ※返却値がnullの場合は、取込対象の判定を行いません。(trueを返却した時と同等の動作となります。) * | **出力** | マッピング定義にプログラムタイプがJavaScriptで出力対象判定ロジックを設定する場合、取込処理内で以下のファンクションを実行するので、以下のファンクションを業務要件に合わせて実装してください。 | checkExportLine(entityKeyList, entityValueList, addonParam) * | **第1引数 entityKeyList** | 出力対象のエンティティデータ(1レコード分)のKey値が格納されます。Key値はエンティティのカラム名です。 * | **第2引数 entityValueList** | 出力対象のエンティティデータ(1レコード分)のValue値が格納されます。Value値はエンティティカラム値です。 * | **第3引数 addonParam** | 出力対象のエンティティデータに紐づく以下の情報が格納されます。 .. list-table:: :widths: 200 150 100 250 :header-rows: 1 * - 物理名 - 論理名 - 型 - 内容 * - companyCd - 会社コード - String - 処理対象の会社コード * - localeId - ロケールID - String - 処理対象のロケールID * - mappingId - マッピングID - String - 処理対象のマッピングID * - mappingName - マッピング定義名 - String - 処理対象のマッピング定義名 * - domainClassId - ドメイン分類ID - String - 処理対象のドメイン分類ID * - domainClassName - ドメイン分類名 - String - 処理対象のドメイン分類名 * - fileId - ファイルID - String - 処理対象のファイルID * - fileDefName - ファイル定義名 - String - 処理対象のファイル定義名 * - filePath - ファイルパス - String - 処理対象のファイルパス * - dataCategory - データカテゴリ - String - 処理対象のデータカテゴリ * - dataCategoryName - データカテゴリ名 - String - 処理対象のデータカテゴリ名 * - referenceDate - 出力基準日 - String - 処理対象の出力基準日 * - domainId - ドメインID - String - null * - value - 対象値 - String - null | | ※intra-martのJavaScript関数実行APIの仕様上、Map型のオブジェクトを渡すことができないためAccel-KNIGHTではエンティティデータのKey配列とエンティティデータのValue配列とで分けて渡しています。 | エンティティデータの特定の項目の値を取得する場合は、エンティティデータのKey配列、エンティティデータのValue配列から連想配列を作成する等して取得してください。 | * | **返却値** | このメソッドの返却値の型はboolean型です。 | 返却値にtrueを設定した場合、Accel-KNIGHTでは「出力対象」と判断し、対象レコードを処理します。 | 返却値にfalseを設定した場合、Accel-KNIGHTでは「出力対象外」と判断し、対象レコードをスキップします。(スキップされたレコードは出力されません。) | ※返却値がnullの場合は、出力対象の判定を行いません。(trueを返却した時と同等の動作となります。) .. note:: 判定プログラム内でエラー(例外)終了させる場合 - 判定プログラム内でエラー(例外)により処理を終了(中断)させたい場合は、Errorオブジェクトをthrowすることで処理を終了することができます。 Accel-KNIGHTがExceptionをcatchした時点でバッチ処理は異常終了となり、エラーの内容がログに出力されます。 IM-LogicDesigner で作成する場合 =============================================================================================================================== | IM-LogicDesignerの概要、ロジックフローの作成方法等についての詳しい内容は『 |addon-link-im-01| 』を参照してください。 * | **取込** | マッピング定義にプログラムタイプがLogicDesignerで取込対象判定ロジックを設定する場合、ロジックフローを業務要件に合わせて作成してください。 | その際、ロジックフローの入出力設定(入力)にはAccel-KNIGHTからの引数を受け取るためのパラメータの定義、入出力設定(出力)にはAccel-KNIGHTに渡す返却値の定義をしてください。 * | **入出力設定(入力)** .. list-table:: :widths: 100 100 200 :header-rows: 1 * - キー名 - 型 - 内容 * - executeType - string - 処理区分(00:取込、10:出力、30:取込+洗い替え)が格納されます。 * - csvData - string[] - 取込対象のCSVデータ(1レコード分)が、ファイル定義の項目順で格納されます。 * - addonParam - map - 取込対象のCSVデータに紐づく以下の情報が格納されます。 | * | addonParam に格納される情報 .. list-table:: :widths: 200 150 100 250 :header-rows: 1 * - 物理名 - 論理名 - 型 - 内容 * - companyCd - 会社コード - String - 処理対象の会社コード * - localeId - ロケールID - String - 処理対象のロケールID * - mappingId - マッピングID - String - 処理対象のマッピングID * - mappingName - マッピング定義名 - String - 処理対象のマッピング定義名 * - domainClassId - ドメイン分類ID - String - 処理対象のドメイン分類ID * - domainClassName - ドメイン分類名 - String - 処理対象のドメイン分類名 * - fileId - ファイルID - String - 処理対象のファイルID * - fileDefName - ファイル定義名 - String - 処理対象のファイル定義名 * - filePath - ファイルパス - String - 処理対象のファイルパス * - dataCategory - データカテゴリ - String - 処理対象のデータカテゴリ * - dataCategoryName - データカテゴリ名 - String - 処理対象のデータカテゴリ名 * - startDate - 取込基準開始日 - String - 処理対象の取込基準開始日 * - endDate - 取込基準終了日 - String - 処理対象の取込基準終了日 * - domainId - ドメインID - String - null * - value - 対象値 - String - null | * | **入出力設定(出力)** .. list-table:: :widths: 100 100 200 :header-rows: 1 * - キー名 - 型 - 内容 * - result - boolean - | 返却値にtrueを設定した場合、Accel-KNIGHTでは「取込対象」と判断し、対象レコードを処理します。 | 返却値にfalseを設定した場合、Accel-KNIGHTでは「取込対象外」と判断し、対象レコードをスキップします。(スキップされたレコードは取り込まれません。) | * | **出力** | マッピング定義にプログラムタイプがLogicDesignerで出力対象判定ロジックを設する場合、ロジックフローを業務要件に合わせて作成してください。 | その際、ロジックフローの入出力設定(入力)にはAccel-KNIGHTからの引数を受け取るためのパラメータの定義、入出力設定(出力)にはAccel-KNIGHTに渡す返却値の定義をしてください。 * | **入出力設定(入力)** .. list-table:: :widths: 100 100 200 :header-rows: 1 * - キー名 - 型 - 内容 * - executeType - string - 処理区分(00:取込、10:出力、30:取込+洗い替え)が格納されます。 * - entityData - map - | 出力対象のエンティティデータ(1レコード分)が格納されます。 | Key値はエンティティのカラム名、Value値はエンティティのカラム値です。 * - addonParam - map - 出力対象のエンティティデータに紐づく以下の情報が格納されます。 | * | addonParam に格納される情報 .. list-table:: :widths: 200 150 100 250 :header-rows: 1 * - 物理名 - 論理名 - 型 - 内容 * - companyCd - 会社コード - String - 処理対象の会社コード * - localeId - ロケールID - String - 処理対象のロケールID * - mappingId - マッピングID - String - 処理対象のマッピングID * - mappingName - マッピング定義名 - String - 処理対象のマッピング定義名 * - domainClassId - ドメイン分類ID - String - 処理対象のドメイン分類ID * - domainClassName - ドメイン分類名 - String - 処理対象のドメイン分類名 * - fileId - ファイルID - String - 処理対象のファイルID * - fileDefName - ファイル定義名 - String - 処理対象のファイル定義名 * - filePath - ファイルパス - String - 処理対象のファイルパス * - dataCategory - データカテゴリ - String - 処理対象のデータカテゴリ * - dataCategoryName - データカテゴリ名 - String - 処理対象のデータカテゴリ名 * - referenceDate - 出力基準日 - String - 処理対象の出力基準日 * - domainId - ドメインID - String - null * - value - 対象値 - String - null | * | **入出力設定(出力)** .. list-table:: :widths: 100 100 200 :header-rows: 1 * - キー名 - 型 - 内容 * - result - boolean - | 返却値にtrueを設定した場合、Accel-KNIGHTでは「出力対象」と判断し、対象レコードを処理します。 | 返却値にfalseを設定した場合、Accel-KNIGHTでは「出力対象外」と判断し、対象レコードをスキップします。(スキップされたレコードは出力されません。) .. note:: ロジックフロー内でエラー(例外)終了させる場合 - ロジックフロー内でエラー(例外)により処理を終了(中断)させたい場合は、「エラー終了」タスクを使用することで処理を終了することができます。 Accel-KNIGHTがExceptionをcatchした時点でバッチ処理は異常終了となり、エラーの内容がログに出力されます。 取込/出力値変換プログラムの作成 ******************************************************************************************************************************* | 取込/出力値変換プログラムは、実行対象のエンティティに対して、独自に項目値の変換(置き換え)をすることができるアドオンプログラムです。 | マッピング定義登録・編集画面の項目明細に変換ロジックを設定する場合は、以下のプログラムを作成してください。 Java で作成する場合 =============================================================================================================================== | クラス「 **jp.co.itc.imic.foundation.mapping.convertor.AbstractMappingConvertor** 」を継承したJavaクラスを作成してください。 * | **取込** | マッピング定義の項目明細にプログラムタイプがJavaで取込時の変換ロジックを設定する場合、取込処理内で以下のメソッドを実行するので、作成したJavaクラスの中で以下のメソッドを業務要件に合わせて実装してください。 | #convertImportItem(ArrayList csvData, ExecImpAddonParamDto addonParamDto) * | **第1引数 ArrayList csvData** | 取込対象のCSVデータ(1レコード分)が、ファイル定義の項目順で格納されます。 * | **第2引数 ExecImpAddonParamDto addonParamDto** | 取込対象のCSVデータに紐づく以下の情報が格納されます。 .. list-table:: :widths: 200 150 100 250 :header-rows: 1 * - 物理名 - 論理名 - 型 - 内容 * - companyCd - 会社コード - String - 処理対象の会社コード * - localeId - ロケールID - String - 処理対象のロケールID * - mappingId - マッピングID - String - 処理対象のマッピングID * - mappingName - マッピング定義名 - String - 処理対象のマッピング定義名 * - domainClassId - ドメイン分類ID - String - 処理対象のドメイン分類ID * - domainClassName - ドメイン分類名 - String - 処理対象のドメイン分類名 * - fileId - ファイルID - String - 処理対象のファイルID * - fileDefName - ファイル定義名 - String - 処理対象のファイル定義名 * - filePath - ファイルパス - String - 処理対象のファイルパス * - dataCategory - データカテゴリ - String - 処理対象のデータカテゴリ * - dataCategoryName - データカテゴリ名 - String - 処理対象のデータカテゴリ名 * - startDate - 取込基準開始日 - String - 処理対象の取込基準開始日 * - endDate - 取込基準終了日 - String - 処理対象の取込基準終了日 * - domainId - ドメインID - String - 処理対象のドメインID * - value - 対象値 - String - 処理対象のCSVデータの項目値(置換前の値) | * | **返却値** | このメソッドの返却値の型はString型です。 | Accel-KNIGHTでは元のCSVデータの項目値をこの返却値の値に置き換えて処理します。 | * | **出力** | マッピング定義の項目明細にプログラムタイプがJavaで出力時の変換ロジックを設定する場合、出力処理内で以下のメソッドを実行するので、作成したJavaクラスの中で以下のメソッドを業務要件に合わせて実装してください。 | #convertExportItem(LinkedHashMap entityData, ExecExpAddonParamDto addonParamDto) * | **第1引数 LinkedHashMap entityData** | 出力対象のエンティティデータ(1レコード分)が格納されます。Key値はエンティティのカラム名、Value値はエンティティのカラム値です。 * | **第2引数 ExecExpAddonParamDto addonParamDto** | 出力対象のエンティティデータに紐づく以下の情報が格納されます。 .. list-table:: :widths: 200 150 100 250 :header-rows: 1 * - 物理名 - 論理名 - 型 - 内容 * - companyCd - 会社コード - String - 処理対象の会社コード * - localeId - ロケールID - String - 処理対象のロケールID * - mappingId - マッピングID - String - 処理対象のマッピングID * - mappingName - マッピング定義名 - String - 処理対象のマッピング定義名 * - domainClassId - ドメイン分類ID - String - 処理対象のドメイン分類ID * - domainClassName - ドメイン分類名 - String - 処理対象のドメイン分類名 * - fileId - ファイルID - String - 処理対象のファイルID * - fileDefName - ファイル定義名 - String - 処理対象のファイル定義名 * - filePath - ファイルパス - String - 処理対象のファイルパス * - dataCategory - データカテゴリ - String - 処理対象のデータカテゴリ * - dataCategoryName - データカテゴリ名 - String - 処理対象のデータカテゴリ名 * - referenceDate - 出力基準日 - String - 処理対象の出力基準日 * - domainId - ドメインID - String - 処理対象のドメインID * - value - 対象値 - String - 処理対象のエンティティデータの項目値(置換前の値) | * | **返却値** | このメソッドの返却値の型はString型です。 | Accel-KNIGHTでは元のエンティティデータの項目値をこの返却値の値に置き換えて処理します。 .. note:: 変換プログラム内でエラー(例外)終了させる場合 - 変換プログラム内でエラー(例外)により処理を終了(中断)させたい場合は、Exceptionをthrowすることで処理を終了することができます。 Accel-KNIGHTがExceptionをcatchした時点でバッチ処理は異常終了となり、エラーの内容がログに出力されます。 JavaScript で作成する場合 =============================================================================================================================== * | **取込** | マッピング定義にプログラムタイプがJavaScriptで取込時の変換ロジックを設定する場合、取込処理内で以下のファンクションを実行するので、以下のファンクションを業務要件に合わせて実装してください。 | convertImportItem(csvData, addonParam) * | **第1引数 csvData** | 取込対象のCSVデータ(1レコード分)が、ファイル定義の項目順で格納されます。 * | **第2引数 addonParam** | 取込対象のCSVデータに紐づく以下の情報が格納されます。 .. list-table:: :widths: 200 150 100 250 :header-rows: 1 * - 物理名 - 論理名 - 型 - 内容 * - companyCd - 会社コード - String - 処理対象の会社コード * - localeId - ロケールID - String - 処理対象のロケールID * - mappingId - マッピングID - String - 処理対象のマッピングID * - mappingName - マッピング定義名 - String - 処理対象のマッピング定義名 * - domainClassId - ドメイン分類ID - String - 処理対象のドメイン分類ID * - domainClassName - ドメイン分類名 - String - 処理対象のドメイン分類名 * - fileId - ファイルID - String - 処理対象のファイルID * - fileDefName - ファイル定義名 - String - 処理対象のファイル定義名 * - filePath - ファイルパス - String - 処理対象のファイルパス * - dataCategory - データカテゴリ - String - 処理対象のデータカテゴリ * - dataCategoryName - データカテゴリ名 - String - 処理対象のデータカテゴリ名 * - startDate - 取込基準開始日 - String - 処理対象の取込基準開始日 * - endDate - 取込基準終了日 - String - 処理対象の取込基準終了日 * - domainId - ドメインID - String - 処理対象のドメインID * - value - 対象値 - String - 処理対象のCSVデータの項目値(置換前の値) | * | **返却値** | このメソッドの返却値の型はString型です。 | Accel-KNIGHTでは元のCSVデータの項目値をこの返却値の値に置き換えて処理します。 | ※返却値がnullの場合は、置き換えません。(元のCSVデータの項目値で処理を行います。) | * | **出力** | マッピング定義にプログラムタイプがJavaScriptで出力時の変換ロジックを設定する場合、出力処理内で以下のファンクションを実行するので、以下のファンクションを業務要件に合わせて実装してください。 | convertExportItem(entityKeyList, entityValueList, addonParam) * | **第1引数 entityKeyList** | 出力対象のエンティティデータ(1レコード分)のKey値が格納されます。Key値はエンティティのカラム名です。 * | **第2引数 entityValueList** | 出力対象のエンティティデータ(1レコード分)のValue値が格納されます。Value値はエンティティカラム値です。 * | **第3引数 addonParam** | 出力対象のエンティティデータに紐づく以下の情報が格納されます。 .. list-table:: :widths: 200 150 100 250 :header-rows: 1 * - 物理名 - 論理名 - 型 - 内容 * - companyCd - 会社コード - String - 処理対象の会社コード * - localeId - ロケールID - String - 処理対象のロケールID * - mappingId - マッピングID - String - 処理対象のマッピングID * - mappingName - マッピング定義名 - String - 処理対象のマッピング定義名 * - domainClassId - ドメイン分類ID - String - 処理対象のドメイン分類ID * - domainClassName - ドメイン分類名 - String - 処理対象のドメイン分類名 * - fileId - ファイルID - String - 処理対象のファイルID * - fileDefName - ファイル定義名 - String - 処理対象のファイル定義名 * - filePath - ファイルパス - String - 処理対象のファイルパス * - dataCategory - データカテゴリ - String - 処理対象のデータカテゴリ * - dataCategoryName - データカテゴリ名 - String - 処理対象のデータカテゴリ名 * - referenceDate - 出力基準日 - String - 処理対象の出力基準日 * - domainId - ドメインID - String - 処理対象のドメインID * - value - 対象値 - String - 処理対象のエンティティデータの項目値(置換前の値) | | ※intra-martのJavaScript関数実行APIの仕様上、Map型のオブジェクトを渡すことができないためAccel-KNIGHTではエンティティデータのKey配列とエンティティデータのValue配列とで分けて渡しています。 | エンティティデータの特定の項目の値を取得する場合は、エンティティデータのKey配列、エンティティデータのValue配列から連想配列を作成する等して取得してください。 | * | **返却値** | このメソッドの返却値の型はString型です。 | Accel-KNIGHTでは元のエンティティデータの項目値をこの返却値の値に置き換えて処理します。 | ※返却値がnullの場合は、置き換えません。(元のエンティティデータの項目値で処理を行います。) .. note:: 変換プログラム内でエラー(例外)終了させる場合 - 変換プログラム内でエラー(例外)により処理を終了(中断)させたい場合は、Errorオブジェクトをthrowすることで処理を終了することができます。 Accel-KNIGHTがExceptionをcatchした時点でバッチ処理は異常終了となり、エラーの内容がログに出力されます。 IM-LogicDesigner で作成する場合 =============================================================================================================================== | IM-LogicDesignerの概要、ロジックフローの作成方法等についての詳しい内容は『 |addon-link-im-01| 』を参照してください。 * | **取込** | マッピング定義の項目明細にプログラムタイプがLogicDesignerで取込時の変換ロジックを設定する場合、ロジックフローを業務要件に合わせて作成してください。 | その際、ロジックフローの入出力設定(入力)にはAccel-KNIGHTからの引数を受け取るためのパラメータの定義、入出力設定(出力)にはAccel-KNIGHTに渡す返却値の定義をしてください。 * | **入出力設定(入力)** .. list-table:: :widths: 100 100 200 :header-rows: 1 * - キー名 - 型 - 内容 * - executeType - string - 処理区分(00:取込、10:出力、30:取込+洗い替え)が格納されます。 * - csvData - string[] - 取込対象のCSVデータ(1レコード分)が、ファイル定義の項目順で格納されます。 * - addonParam - map - 取込対象のCSVデータに紐づく以下の情報が格納されます。 | * | addonParam に格納される情報 .. list-table:: :widths: 200 150 100 250 :header-rows: 1 * - 物理名 - 論理名 - 型 - 内容 * - companyCd - 会社コード - String - 処理対象の会社コード * - localeId - ロケールID - String - 処理対象のロケールID * - mappingId - マッピングID - String - 処理対象のマッピングID * - mappingName - マッピング定義名 - String - 処理対象のマッピング定義名 * - domainClassId - ドメイン分類ID - String - 処理対象のドメイン分類ID * - domainClassName - ドメイン分類名 - String - 処理対象のドメイン分類名 * - fileId - ファイルID - String - 処理対象のファイルID * - fileDefName - ファイル定義名 - String - 処理対象のファイル定義名 * - filePath - ファイルパス - String - 処理対象のファイルパス * - dataCategory - データカテゴリ - String - 処理対象のデータカテゴリ * - dataCategoryName - データカテゴリ名 - String - 処理対象のデータカテゴリ名 * - startDate - 取込基準開始日 - String - 処理対象の取込基準開始日 * - endDate - 取込基準終了日 - String - 処理対象の取込基準終了日 * - domainId - ドメインID - String - 処理対象のドメインID * - value - 対象値 - String - 処理対象のCSVデータの項目値(置換前の値) | * | **入出力設定(出力)** .. list-table:: :widths: 100 100 200 :header-rows: 1 * - キー名 - 型 - 内容 * - result - string - | Accel-KNIGHTでは元のCSVデータの項目値をこの返却値の値に置き換えて処理します。 | * | **出力** | マッピング定義にプログラムタイプがLogicDesignerで出力時の変換ロジックを設定する場合、ロジックフローを業務要件に合わせて作成してください。 | その際、ロジックフローの入出力設定(入力)にはAccel-KNIGHTからの引数を受け取るためのパラメータの定義、入出力設定(出力)にはAccel-KNIGHTに渡す返却値の定義をしてください。 * | **入出力設定(入力)** .. list-table:: :widths: 100 100 200 :header-rows: 1 * - キー名 - 型 - 内容 * - executeType - string - 処理区分(00:取込、10:出力、30:取込+洗い替え)が格納されます。 * - entityData - map - | 出力対象のエンティティデータ(1レコード分)が格納されます。 | Key値はエンティティのカラム名、Value値はエンティティのカラム値です。 * - addonParam - map - 出力対象のエンティティデータに紐づく以下の情報が格納されます。 | * | addonParam に格納される情報 .. list-table:: :widths: 200 150 100 250 :header-rows: 1 * - 物理名 - 論理名 - 型 - 内容 * - companyCd - 会社コード - String - 処理対象の会社コード * - localeId - ロケールID - String - 処理対象のロケールID * - mappingId - マッピングID - String - 処理対象のマッピングID * - mappingName - マッピング定義名 - String - 処理対象のマッピング定義名 * - domainClassId - ドメイン分類ID - String - 処理対象のドメイン分類ID * - domainClassName - ドメイン分類名 - String - 処理対象のドメイン分類名 * - fileId - ファイルID - String - 処理対象のファイルID * - fileDefName - ファイル定義名 - String - 処理対象のファイル定義名 * - filePath - ファイルパス - String - 処理対象のファイルパス * - dataCategory - データカテゴリ - String - 処理対象のデータカテゴリ * - dataCategoryName - データカテゴリ名 - String - 処理対象のデータカテゴリ名 * - referenceDate - 出力基準日 - String - 処理対象の出力基準日 * - domainId - ドメインID - String - 処理対象のドメインID * - value - 対象値 - String - 処理対象のエンティティデータの項目値(置換前の値) | * | **入出力設定(出力)** .. list-table:: :widths: 100 100 200 :header-rows: 1 * - キー名 - 型 - 内容 * - result - string - | Accel-KNIGHTでは元のエンティティデータの項目値をこの返却値の値に置き換えて処理します。 .. note:: ロジックフロー内でエラー(例外)終了させる場合 - ロジックフロー内でエラー(例外)により処理を終了(中断)させたい場合は、「エラー終了」タスクを使用することで処理を終了することができます。 Accel-KNIGHTがExceptionをcatchした時点でバッチ処理は異常終了となり、エラーの内容がログに出力されます。 | .. note:: JavaScriptで実装する場合の注意点 - | Accel-KNIGHTでは、マッピング機能にてJavaScriptのアドオンプログラムが設定されている場合、intra-martが提供するJavaScript関数実行APIを使用し、Accel-KNIGHTで規定するファンクションを呼び出します。 | その際、規定のファンクションが存在しない場合はエラー終了とならず、処理はそのまま継続されますのでご注意ください。 | (intram-martのJavaScript実行APIの仕様上、ファンクションが存在しない場合はnullが返却されるため、Accel-KNIGHT側でエラーかどうかの判断がつかないためです。)