【JPIERE-0302】入金データ取込みウィンドウ にインポートテーブル(中間テーブル)経由で、インポートすることができます。
この事により、色々な形式の入金データを汎用的にインポートできます。
組織マスタのバリデート処理
「組織(検索キー)[JP_Org_Value]」に入力した値と、組織マスタの検索キーの値を照合して、「組織[AD_Org_ID]」フィールドに入力します。「組織(検索キー)[JP_Org_Value]」に入力が無い場合は、アカウント[C_BankAccount_ID]の値を照合した後で、アカウントの組織の値が、「組織[AD_Org_ID]」フィールドに入力されます。
「組織[AD_Org_ID]」の値が、入金データ取込みウィンドウの組織に代入されますので、インポート処理する際には、組織の値は"*"以外の組織の値になっている必要があります。
【ポイント】組織マスタのバリデート処理
組織[AD_Org_ID]には、アカウント[C_BankAccount_ID]のバリデート処理後に、アカウントに設定されている組織を代入するのが基本です。そのため無理に、「組織(検索キー)[JP_Org_Value]」を入力する必要はありません。
取引組織マスタのバリデート処理
「組織組織(検索キー)[JP_OrgTrx_Value]」に入力した値と、組織マスタの検索キーの値を照合して、「取引組織[AD_OrgTrx_ID]」フィールドに入力します。
「取引組織[AD_OrgTrx_ID]」の値は、入金データ取込みウィンドウの取引組織フィールドに代入されますが、任意入力フィールドなので、入力が無くてもインポートできます。
【ポイント】取引組織マスタのバリデート処理
入金データ取込みウィンドウの取引先マスタフィールドに入力しないのであれば、「組織組織(検索キー)[JP_OrgTrx_Value]」や「取引組織[AD_OrgTrx_ID]」フィールドの入力は不要です。
銀行のバリデート処理
「ルーティングNo」、「銀行名称」、「銀行名(半角カナ)」のいずれかから、銀行マスタを照合し、「銀行[C_Bank_ID]」フィールドに入力します。
「銀行[C_Bank_ID]」フィールドの値は、この後のアカウントの照合に使用されます。
【ポイント】銀行のバリデート処理
アカウント[C_BankAccount_ID]を正確に割り出すために銀行[C_Bank_ID]の情報が必要になりますので、「ルーディングNo」、「銀行名称」、「銀行名(半角カン)」の3つのうち、いずれか1つは入力して下さい。
アカウントタイプのバリデート処理
預金出別フィールドからアカウントタイプを照合して入力することを想定していますが、預金種別[JP_BankAccountType]フィールドに入力する文字列から、アカウントタイプ[BankAccountType]を割り出す処理は、インポートするデータの種類ごとに色々と考えられるために、インポートプロセスでは実装せずに、インポートバリデーターで各々実装しすること想定しています。
【ポイント】JPiereのデフォルトのインポートバリデータ
JPiereでは、入金データインポートプロセス[JPiereImportBankDataクラス]のインポートバリデータとして、JPiereImportDataValidatorクラスがあります。JPiereImportDataValidatorクラスでは、預金種別フィールドに入力されている文字列からアカウントタイプを割り出す処理をサンプル的に実装していますので、必要に応じて修正して活用して下さい。
★JPiereImportDataValidatorクラスのロジック
- 預金種別フィールドに"1"もしくは"普通"と入力されていたら、アカウントタイプフィールドに普通預金[S]をセットする。
- 預金種別フィールドに"2"もしくは"当座"と入力されていたら、アカウントタイプフィールドに当座預金[C]をセットする。
アカウントのバリデート処理
はじめに、「支店番号[JP_BranchCode]」、「支店名[JP_BranchName]」、「支店名(半角カナ)[JP_BranchName_Kana]」のいずれかと、「口座番号[AccountNo]」と「銀行[C_Bank_ID]」とアカウントタイプ[BankAccountType]で、アカウントと照合し、「アカウント[C_BankAccount_ID]」フィールドに入力します。
次に、上記で照合できなかったデータに対して「支店番号」、「支店名」、「支店名(半角カナ)」のいずれかと、「口座番号」と「銀行」でアカウントと照合します。
【ポイント】アカウントのバリデート処理
アカウント[C_BankAccount_ID]は、インポート処理には必ず必要となる重要なマスタです。アカウントは、"銀行の情報"と"支店の情報"と"口座番号"で照合できます。"銀行の情報"とはC_Bank_IDのフィールドの値です。”支店の情報”とは、「支店番号」、「支店名」、「支店名(半角カナ)」のいずれかのフィールドに入力されている情報です。この3つのうちいずれかには必ず支店の情報を入力して下さい。
それでも「アカウント[C_BankAccount_ID]」フィールドに代入できない場合は、「アカウント(検索キー)[JP_BankAccount_Value]」とアカウントの検索キーの値を照合して、「アカウント[C_BankAccount_ID]」フィールドに代入します。
アカウントのバリデート処理をおこなって、「アカウント[C_BankAccount_ID]」フィールドに入力が無いデータはエラーになります。
社内担当者のバリデート処理
プロセスの実行条件で選択した、「インポート社内担当者識別情報」に従って社内担当者を照合します。社内担当者は任意入力です。
記帳日付のバリデート処理
月と日の文字列から、記帳日付を入力します。その際に年は、プロセスの実行条件で指定した年になります。
転記日付のバリデート処理
転記月と転記日の文字列から、転記日付を入力します。その際に年は、プロセスの実行条件で指定した年になります。
【ポイント】記帳日付と転記日付
記帳日付と転記日付のどちらかの入力は必須です。直接、記帳日付や転記日付をインポートしてもOKです!!一方の入力しかない場合は、入力されているもう一方の日付が、入金データ取込みウィンドウの記帳日付と転記日付フィールドに代入されます。
明細情報のバリデート処理
明細情報には、特にバリデート処理はありません。
インポート処理
同じ「アカント」と「組織」と「記帳日付」と「転記日付」のデータ毎に、入金データ取込みのデータを作成します。「アカント」と「組織」と「記帳日付」と「転記日付」のいずれかが異なった場合は、別の入金データ取込みのデータとなります。
作成する入金データの名称フィールドには、インポートした日時が入るようになっています。
インポートする情報(カラム)を追加できます!!
入金データインポートテーブル(I_BankDateJP)のカラムと、同じカラムが入金データ取込み(JP_BankDateテーブルとJP_BankDateLineテーブル)にあれば、値が引き継がれます。
ANSER-APIの振込入金明細のフォーマット用
ANSER-APIの振込入金明細のヘッダーとフッターを削除して明細データだけにしたCSVデータをインポートするのに使用することを想定したサンプルフォーマットも用意しました。
追加したテーブル
◆I_BankDataJP
追加したクラス
◆I_I_BankDataJP
◆X_I_BankDataJP
◆JPiereImportBankData
◆JPiereImportBankDataValidator
- 【iDempiere Lab】入金データ取込みウィンドウでのインポートファイルローダーの活用
- 【JPIERE-0594(v10)】[全銀]振込入金通知ファイル(CSV)インポート
- 【JPIERE-0542(v9)】[全銀]振込入金通知ファイル(固定長)インポート
- 【JPIERE-0308】入金データから伝票作成プロセス(デフォルト)
- 【JPIERE-0307】入金データと入金伝票の照合プロセス(デフォルト)
- 【JPIERE-0306】入金データとまとめ請求書の照合プロセス(デフォルト)
- 【JPIERE-0305】入金データと売上請求伝票の照合プロセス(デフォルト)
- 【JPIERE-0304】入金データと取引先マスタの照合プロセス(デフォルト)
- 【JPIERE-0303】入金データインポートプロセス(デフォルト)
- 【JPIERE-0302】入金データ取込みウィンドウ
- 【JPIERE-0301】入金データインポートスキーマ
- 【JPIERE-0101】全銀協規定フォーマットのデータ(FBデータ)作成