/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKCrdtPaywayChgIkttrk
*	ソースファイル名	：JBSbatKKCrdtPaywayChgIkttrk.java
*	作成者				：FJ)柳
*	作成日				：2017年12月15日
*＜機能概要＞
*　クレジット支払方法変更一括登録部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v36.00.00	2017/12/15	FJ)柳		【ANK-3313-00-00】クレジットカード非通過対応
*	v36.00.01	2018/03/09	FJ)原田		【ANK-3313-04-00】クリアパスから連携されるオーソリ結果ファイルの「カード識別コード」の桁数変更
*   v36.00.02	2018/03/20	FJ)孫        IT1-2018-0000041_システムインターフェイスエラーメッセージ対応
*	v45.00.00	2019/07/18	FJ)上間		【ANK-3602-00-00】特定クレジットカードの売上オーソリ実施対応
*   v58.00.00   2022/03/17  GDC)j.lawsin 【ANK-3846-00-00】【クレカ】クリアパス→ペイジェント移行
*   v58.00.01   2022/08/19  FJ)謝		【ST-2022-0000014】対応
*********************************************************************/
package eo.business.service;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JCCbatDenshiFileUtil;
import eo.business.common.JKKBatConst;
import eo.business.common.JKKBatNameStkuUtil;
import eo.business.common.JKKBatOutputUtil;
import eo.business.util.file.JBSbatKKIFM772;
import eo.business.util.file.JBSbatKKLST10901;
import eo.common.constant.JKKStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.common.util.JKKCommonUtil;
import eo.common.util.JPCDateUtil;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.util.JBSbatAplConst;
import eo.framework.util.JBSbatCheckUtil;
import eo.framework.util.JBSbatDateUtil;
import eo.framework.util.JCCBatchEsbInterface;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.file.JBSbatDefFileUtil;
import eo.framework.file.JBSbatInputFileUtil;

/**
* オーソリ結果ファイル（eo）を元にクレジットカード情報の登録と請求契約情報の変更を行う。
* また、チェック処理にてエラーとなったデータについては「クレジット支払方法変更エラーリスト」に出力する。
*<BR>
* @author FJ)柳
*/
public class JBSbatKKCrdtPaywayChgIkttrk extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	/** テーブル(サービス契約) */
	private static final String TBL_KK_T_SVC_KEI = "KK_T_SVC_KEI";
	/** テーブル(請求契約) */
	private static final String TBL_KK_T_SEIKY_KEI = "KK_T_SEIKY_KEI";
	/** テーブル(コード名称管理) */
	private static final String TBL_ZM_M_CD_NM_KANRI = "ZM_M_CD_NM_KANRI";
	/** テーブル(ダウンロードファイル管理) */
	private static final String TBL_ZM_T_DL_FILE_KANRI = "ZM_T_DL_FILE_KANRI";
	
	/** SQL定義キー(サービス契約　SELECT_345) */
	private static final String KK_T_SVC_KEI_KK_SELECT_345 = "KK_SELECT_345";
	/** SQL定義キー(請求契約　SELECT_068) */
	private static final String KK_T_SEIKY_KEI_KK_SELECT_068 = "KK_SELECT_068";
	/** SQL定義キー(ダウンロードファイル管理　INSERT_002) */
	private static final String ZM_T_DL_FILE_KANRI_KK_INSERT_002 = "KK_INSERT_002";
	
	/** DBアクセスクラス(サービス契約) */
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;
	/** DBアクセスクラス(請求契約) */
	private JBSbatSQLAccess db_KK_T_SEIKY_KEI = null;
	/** DBアクセスクラス(コード名称管理) */
	private JBSbatSQLAccess db_ZM_M_CD_NM_KANRI = null;
	/** DBアクセスクラス(ダウンロードファイル管理) */
	private JBSbatSQLAccess db_ZM_T_DL_FILE_KANRI = null;
	
	/** エラー項目　有効期限 */
	private static final String ERR_KMK_YK_KIGEN = "有効期限";
	/** エラー項目　請求契約番号 */
	private static final String ERR_KMK_SEIKY_KEI_NO = "請求契約番号";
// ANK-3846-00-00 DEL START
	/** エラー項目　事業者コード */
	// private static final String ERR_KMK_JIGYOSHA_CD = "事業者コード";
// ANK-3846-00-00 DEL END
	/** エラー項目　顧客ID */
	private static final String ERR_KMK_CUST_ID = "請求契約番号";
// ANK-3846-00-00 DEL START
	/** エラー項目　仕向先会社コード */
	// private static final String ERR_KMK_SHIKOSAKI_COMP_CD = "仕向先会社コード";
	/** エラー項目　カードブランドコード */
	// private static final String ERR_KMK_CARD_BRAND_CD = "カードブランドコード";
	/** エラー項目　問合せ用カード番号 */
	// private static final String ERR_KMK_TOIAWASE_CARD_NO = "問合せ用カード番号";
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 ADD START
	/** エラー項目_サイトID */
	private static final String ERR_KMK_SITE_ID = "サイトID";
	/** エラー項目　取扱カード会社コード */
	private static final String ERR_KMK_TRAT_CARD_COMP_CD = "取扱カード会社コード";
	/** エラー項目　カードブランド */
	private static final String ERR_KMK_CARD_BRAND = "カードブランド";
	/** エラー項目　マスクされたカード番号 */
	private static final String ERR_KMK_MASK_CARD_NO = "マスクされたカード番号";
	/** フィンガープリント */
	private static final String ERR_KMK_FINGER_PRINT = "フィンガープリント";
	/** デビット・プリペイド判定結果 */
	private static final String ERR_KMK_DEBIT_PREPAID_JDGRSLT = "デビット・プリペイド判定結果";
// ANK-3846-00-00 ADD END
	/** エラー項目　クレジットカード有効期限 */
	private static final String ERR_KMK_CRECARD_YK_KIGEN = "クレジットカード有効期限";
// ANK-3846-00-00 DEL START
	/** エラー項目　オーソリ承認番号 */
	// private static final String ERR_KMK_AUTHORI_SHONIN_NO = "オーソリ承認番号";
// ANK-3846-00-00 DEL END
	/** エラー項目　クレジットカード番号預りID */
	private static final String ERR_KMK_CRECARD_NO_AZKRI_ID = "クレジットカード番号預りID";
// ANK-3846-00-00 DEL START
	/** エラー項目　クリアパス取引ID */
	// private static final String ERR_KMK_CLEARPASS_DEAL_ID = "クリアパス取引ID";
	/** エラー項目　カード識別コード */
	// private static final String ERR_KMK_CARD_SKCD = "カード識別コード";
// ANK-3846-00-00 DEL END
	/** エラー項目　MINEO識別コード */
	private static final String ERR_KMK_MINEO_SKBT_CD = "MINEO識別コード";
	/** エラー項目　発送日 */
	private static final String ERR_KMK_HASSO_NITI = "発送日";
	/** エラー項目　送付日 */
	private static final String ERR_KMK_SOHU_NITI = "送付日";
// ANK-3602-00-00 ADD START
	/** エラー項目　識別番号 */
	private static final String ERR_KMK_SKBT_NO = "識別番号";
// ANK-3846-00-00 DEL START
	/** エラー項目　クレジットカード種別コード */
	// private static final String ERR_KMK_CRECARD_SBT_CD = "クレジットカード種別コード";
// ANK-3846-00-00 DEL END	
	/** エラー項目　クレジットイシュア区分 */
	private static final String ERR_KMK_CRDT_ISSUER_DIV = "クレジットイシュア区分";
// ANK-3602-00-00 ADD END
	/** サービスID(サービスユースケースID）*/
	private static final String SVC_USECASE_ID = "KKSV0883";
	/** コード種別コード　クレジット支払方法一括登録エラーコード */
	private static final String CD_SBT_CD_CRDT_PAYWAY_IKTTRK_ERR_CD = "CD01728";
	/** ファイルコード */
	private static final String FILE_CD = "0000";
	/** 出力ファイルパス */
	private String outputFilePath = "";
	/** 出力ファイル名 */
	private String outputFileNm = "";
	/** クレジットカード有効期間 */
	private String ykKigen = "";
	/** 入力ファイル改行 */
	private String line = "";
	/** 実行カウント */
	private Integer counterLine = 0;
	/** 入力ファイル改行リスト */
	private ArrayList<String> lineList = new  ArrayList<String>();
	/** エラーリストファイル改行リスト */
	private ArrayList<String> errLineList = new  ArrayList<String>();
	/** エラーリストリスト */
	private ArrayList<String> errCdList = new  ArrayList<String>();
	/** エラー配列 */
	private String[] errAry = {"", ""};
	/** 出力レコードカウンタ */
	private int outputRecCnt = 0;
	/** フリー項目*/
	private String[] freeItem = null;
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		
		// フリー項目より以下を取得
		// ・出力ファイルパス
		// ・出力ファイル名
		String[] freeParam = commonItem.getFreeItem().split(JKKBatConst.S_PARAM_DELIM);
		outputFilePath = freeParam[0];
		outputFileNm = freeParam[1];
		
		// DBアクセスクラス生成
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, TBL_KK_T_SVC_KEI);
		db_KK_T_SEIKY_KEI = new JBSbatSQLAccess(commonItem, TBL_KK_T_SEIKY_KEI);
		db_ZM_M_CD_NM_KANRI = new JBSbatSQLAccess(commonItem, TBL_ZM_M_CD_NM_KANRI);
		db_ZM_T_DL_FILE_KANRI = new JBSbatSQLAccess(commonItem, TBL_ZM_T_DL_FILE_KANRI);
		
		// フリーアイテムで渡されたファイル名を取得します
		String inFIleName = commonItem.getFreeItem();
		
		freeItem = inFIleName.split(";");
		
		JBSbatInputFileUtil inFileObj = new JBSbatInputFileUtil(freeItem[2]);
		inFileObj.setEncode(JKKBatConst.SJIS);
		inFileObj.createReader();
		
		// 入力ファイル取得処理
		while(true)
		{
			// 入力ファイルの一行目を取得する
			line = inFileObj.readLine();
			
			if(line == null)
			{
				break;
			}
			else
			{
				lineList.add(line);
			}
		}
		
		// カウント初期化
		counterLine = 0;
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		
		// -------------------------
		// ◆項目クリア処理
		// -------------------------

// ANK-3846-00-00 DEL START
		// 事業者コード
		// String jigyoshaCd = "";
// ANK-3846-00-00 DEL END
		// 顧客ID 
		String custId = "";
// ANK-3846-00-00 DEL START
		// 仕向先会社コード 
		// String shikosakiCompCd = "";
		// カードブランドコード 
		// String cardBrandCd = "";
		// 問合せ用カード番号 
		// String toiawaseCardNo = "";
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 ADD START
		// サイトID
		String siteId = "";
		// 取扱カード会社コード
		String tratCardCompCd = "";
		// カードブランド
		String cardBrand = "";
		// マスクされたカード番号
		String maskCardNo = "";
		// フィンガープリント
		String fingerPrint = "";
		// デビット・プリペイド判定結果
		String debitPrepaidJdgrslt = "";
// ANK-3846-00-00 ADD END
		// クレジットカード有効期限 
		String crecardYkKigen = "";
// ANK-3846-00-00 MOD START
		// オーソリ承認番号 
// ST-2022-0000014 MOD START
//		String authoriShoninNo = null;
		String authoriShoninNo = "";
// ST-2022-0000014 MOD END
// ANK-3846-00-00 MOD END
		// クレジットカード番号預りID 
		String crecardNoAzkriId = "";
// ANK-3846-00-00 MOD START
		// クリアパス取引ID 
		String clearpassDealId = null;
// ANK-3846-00-00 MOD END
// ANK-3846-00-00 DEL START
		// カード識別コード 
		// String cardSkcd = "";
// ANK-3846-00-00 DEL END
		// MINEO識別コード 
		String mineoSkbtCd = "";
		// 発送日 
		String hassoNiti = "";
		// 送付日 
		String sohuNiti = "";
		// クレジットカード有効期間
		ykKigen = "";
// ANK-3602-00-00 ADD START
		// 識別番号
		String skbtNo = "";
// ANK-3846-00-00 DEL START
		// クレジットカード種別コード
		// String crecardSbtCd = "";
// ANK-3846-00-00 DEL END
		// クレジットイシュア区分
		String crdtIssuerDiv = "";
// ANK-3602-00-00 ADD END
		
		// -------------------------
		// ◆データ登録前チェック
		// -------------------------
		// エラーコード
		String errCd = "";
		// エラー項目
		String errKmk = "";
		
		// -------------------------
		// フォーマットチェック
		// -------------------------
		// 項目数に対して入力ファイルの項目が多い または 少ない場合、チェックエラー
		if (inMap.isInputErrorFlg())
		{
			// リターンコード設定
			errCd = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FILE;
		}
		else
		{
			// -------------------------
			// ◆サービスへ渡す項目を設定
			// -------------------------
// ANK-3846-00-00 DEL START
			// jigyoshaCd = inMap.getString(JBSbatKKIFM772.JIGYOSHA_CD);
// ANK-3846-00-00 DEL END			
			custId = inMap.getString(JBSbatKKIFM772.CUST_ID);
// ANK-3846-00-00 ADD START
			siteId = inMap.getString(JBSbatKKIFM772.SITE_ID);
			tratCardCompCd = inMap.getString(JBSbatKKIFM772.TRAT_CARD_COMP_CD);
			cardBrand = inMap.getString(JBSbatKKIFM772.CARD_BRAND);
			maskCardNo = inMap.getString(JBSbatKKIFM772.MASK_CARD_NO);
			fingerPrint = inMap.getString(JBSbatKKIFM772.FINGER_PRINT);
			debitPrepaidJdgrslt = inMap.getString(JBSbatKKIFM772.DEBIT_PREPAID_JDGRSLT);
// ANK-3846-00-00 ADD END
// ANK-3846-00-00 DEL START
			// shikosakiCompCd = inMap.getString(JBSbatKKIFM772.SHIKOSAKI_COMP_CD);
			// cardBrandCd = inMap.getString(JBSbatKKIFM772.CARD_BRAND_CD);
			// toiawaseCardNo = inMap.getString(JBSbatKKIFM772.TOIAWASE_CARD_NO);
// ANK-3846-00-00 DEL END
			crecardYkKigen = inMap.getString(JBSbatKKIFM772.CRECARD_YK_KIGEN);
// ST-2022-0000014 DEL START
//			authoriShoninNo = inMap.getString(JBSbatKKIFM772.AUTHORI_SHONIN_NO);
// ST-2022-0000014 DEL END
			crecardNoAzkriId = inMap.getString(JBSbatKKIFM772.CRECARD_NO_AZKRI_ID);
			clearpassDealId = inMap.getString(JBSbatKKIFM772.CLEARPASS_DEAL_ID);
// ANK-3846-00-00 DEL START
			// cardSkcd = inMap.getString(JBSbatKKIFM772.CARD_SKCD);
// ANK-3846-00-00 DEL END
			mineoSkbtCd = inMap.getString(JBSbatKKIFM772.MINEO_SKBT_CD);
			hassoNiti = inMap.getString(JBSbatKKIFM772.HASSO_NITI);
			sohuNiti = inMap.getString(JBSbatKKIFM772.SOHU_NITI);
// ANK-3602-00-00 ADD START
			skbtNo = inMap.getString(JBSbatKKIFM772.SKBT_NO);
// ANK-3846-00-00 DEL START
			// crecardSbtCd = inMap.getString(JBSbatKKIFM772.CRECARD_SBT_CD);
// ANK-3846-00-00 DEL END
			crdtIssuerDiv = inMap.getString(JBSbatKKIFM772.CRDT_ISSUER_DIV);
// ANK-3602-00-00 ADD END
			
			
			// -------------------------
			// 必須・属性・桁数チェック
			// -------------------------
			// 必須項目が未設定、形式が対象外、桁数(文字数)が対象外の場合、チェックエラー
			if (!isSingleCheckKKIFM772(inMap.getMap()))
			{
				errCd = errAry[0];
				errKmk = errAry[1];
			}
			else
			{
				// ------------------------------
				// ◆クレジット支払方法一括登録
				// ------------------------------
				// ---------------------------------------------
				// 更新対象サービス契約・お客様情報の取得処理
				// ---------------------------------------------
				// 請求契約番号
				// (eo顧客基幹システムでは顧客IDを請求契約番号として扱う)
				String seikyKeiNo = inMap.getString(JBSbatKKIFM772.CUST_ID);
				
				// パラメータの設定
				String[] whereParam345 = {
						seikyKeiNo
						, opeDate
						, opeDate
				};
				
				// サービス契約を検索
				executeKK_T_SVC_KEI_KK_SELECT_345(whereParam345);
				
				// 結果を取得
				JBSbatCommonDBInterface svcKeiMap = new JBSbatCommonDBInterface();
				// 結果が存在する場合
				// (サービスコード昇順にソートされているため、最初行を取得)
				if ((svcKeiMap = db_KK_T_SVC_KEI.selectNext()) != null)
				{
					// ----------------------------------------
					// 請求契約番号の未来レコード存在チェック
					// ----------------------------------------
					// パラメータの設定
					String[] whereParam068 = {
							seikyKeiNo
							, opeDate
					};
					
					// 請求契約を検索
					executeKK_T_SEIKY_KEI_KK_SELECT_068(whereParam068);
					
					// 結果を取得
					JBSbatCommonDBInterface seikyKeiMap = new JBSbatCommonDBInterface();
					// 結果が存在する場合、チェックエラー
					if ((seikyKeiMap = db_KK_T_SEIKY_KEI.selectNext()) != null)
					{
						errCd = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FTRSV;
						errKmk = ERR_KMK_SEIKY_KEI_NO;
					}
					else
					{
						// ---------------
						// データ登録処理
						// ---------------
						// ユースケースIDを格納するMAP
						HashMap<String, Object> paramMap = new HashMap<String, Object>();
						// ユースケースIDを設定
						paramMap.put(JCCBatchEsbInterface.TELEGRAM_INFO_USECASE_ID, SVC_USECASE_ID);
						
						// サービスに渡す業務データを格納するMAP
						HashMap<String, Object> inputMap = new HashMap<String, Object>();
						
						// InputMapに項目を設定
// ANK-3846-00-00 DEL START
						// inputMap.put("jigyosha_cd", jigyoshaCd);
// ANK-3846-00-00 DEL END
						inputMap.put("cust_id", custId);
// ANK-3846-00-00 DEL START
						// inputMap.put("shikosaki_comp_cd", shikosakiCompCd);
						// inputMap.put("card_brand_cd", cardBrandCd);
						// inputMap.put("toiawase_card_no", toiawaseCardNo);
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 ADD START
						inputMap.put("site_id", siteId);
						inputMap.put("trat_card_comp_cd", tratCardCompCd);
						inputMap.put("card_brand", cardBrand);
						inputMap.put("crecard_no", maskCardNo.replaceAll("\\*", "0"));
						inputMap.put("finger_print", fingerPrint);
						inputMap.put("debit_prepaid_jdgrslt", debitPrepaidJdgrslt);
// ANK-3846-00-00 ADD END
						inputMap.put("crecard_yk_kigen", crecardYkKigen);
// ANK-3846-00-00 MOD START
						inputMap.put("authori_shonin_no", authoriShoninNo);
// ANK-3846-00-00 MOD END
						inputMap.put("crecard_no_azkri_id", crecardNoAzkriId);
						inputMap.put("clearpass_deal_id", clearpassDealId);
// ANK-3846-00-00 DEL START
						// inputMap.put("card_skcd", cardSkcd);
// ANK-3846-00-00 DEL END
						inputMap.put("mineo_skbt_cd", mineoSkbtCd);
						inputMap.put("hasso_niti", hassoNiti);
						inputMap.put("sohu_niti", sohuNiti);
						inputMap.put("ykKigen", ykKigen);					
// ANK-3602-00-00 ADD START
// ANK-3846-00-00 DEL START
						// inputMap.put("crecard_sbt_cd", crecardSbtCd);
// ANK-3846-00-00 DEL START
						inputMap.put("crdt_issuer_div", crdtIssuerDiv);
// ANK-3602-00-00 ADD END
						inputMap.put("sysid", svcKeiMap.getString("SYSID"));
						inputMap.put("svc_kei_no", svcKeiMap.getString("SVC_KEI_NO"));
						
						// サービスの処理結果が格納されるMAP
						HashMap<String, Object> outputMap = new HashMap<String, Object>();
						
						// サービス呼び出し
						JCCBatchEsbInterface.invokeService(this.commonItem, paramMap, inputMap, outputMap);
						
						// サービスから項目を取得
						
						HashMap<String, Object> output = (HashMap<String, Object>) outputMap.get("KKSV088301CC");
						// IT1-2018-0000041 MOD START
						
						// エラーコード
						//errCd = (String)output.get("err_cd");
						// エラー項目
						//errKmk = (String) output.get("err_kmk");
						
						// リターンコード取得
						String returnCode = (String) outputMap.get(JCCBatchEsbInterface.RETURN_CODE);
						// リターンコードが「0000：正常終了」の場合
						if(JCCBatchEsbInterface.RETURN_CODE_SUCCESS.equals(returnCode))
						{
							// エラーコード設定
							errCd = (String)output.get("err_cd");
							// エラー項目設定
							errKmk = (String) output.get("err_kmk");
						}
						// リターンコードが「0000：正常終了」以外の場合
						else
						{
							// エラーコード設定
							errCd = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_EXC;
							// エラー項目設定
							errKmk = ERR_KMK_CUST_ID;
							// エラーログ出力
							commonItem.getLogPrint().printBusinessErrorLog(JPCBatchMessageConstant.EKKB1220CI,
									new String[]{"請求契約番号：" + custId});
						}
						// IT1-2018-0000041 MOD END
						
						counterLine++;
					}
				}
				// 結果が存在しない場合、チェックエラー
				else
				{
					errCd = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_CUST_ID;
					errKmk = ERR_KMK_SEIKY_KEI_NO;
				}
			}
		}

	// ---------------------------------------------
	// ◆クレジット支払方法変更エラーリスト出力
	// ---------------------------------------------
	// ファイル出力用オブジェクト生成
	JBSbatOutputItem outputBean = new JBSbatOutputItem();
	
	// エラーコードが存在する場合
	if (!JKKCommonUtil.isNull(errCd))
	{
		// ---------------
		// エラー内容特定
		// ---------------
		// コード名称管理からエラー内容を取得
		String errNaiyo = JKKBatNameStkuUtil.getCdDivName(this.commonItem, CD_SBT_CD_CRDT_PAYWAY_IKTTRK_ERR_CD, errCd);
		
		// ----------------------------------------
		// クレジット支払方法変更エラーリスト出力
		// ----------------------------------------
		
		// ファイル出力用インスタンス生成
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		
		// 出力ファイル設定
		outMap.setString(JBSbatKKLST10901.ERR_CD, errCd);							// エラーコード
		outMap.setString(JBSbatKKLST10901.ERR_NAIYO, errNaiyo);						// エラー内容
		outMap.setString(JBSbatKKLST10901.ERR_KMK, errKmk);							// エラー項目
		
		// 入力ファイルが存在する場合かつ、エラーコードが「E010」の場合
		if(lineList.get(outputRecCnt) != null && JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FILE.equals(errCd))
		{
// ANK-3846-00-00 MOD START
			// エラーリスト行を全部「事業者コード」項目に設定する
			outMap.setString(JBSbatKKLST10901.SITE_ID, lineList.get(outputRecCnt));
// ANK-3846-00-00 MOD END
		}
		else
		{
// ANK-3846-00-00 DEL START
			// outMap.setString(JBSbatKKLST10901.JIGYOSHA_CD, jigyoshaCd);					// 事業者コード
// ANK-3846-00-00 DEL END
			outMap.setString(JBSbatKKLST10901.CUST_ID, custId);							// 顧客ID
// ANK-3846-00-00 DEL START
			// outMap.setString(JBSbatKKLST10901.SHIKOSAKI_COMP_CD, shikosakiCompCd);		// 仕向先会社コード
			// outMap.setString(JBSbatKKLST10901.CARD_BRAND_CD, cardBrandCd);				// カードブランドコード
			// outMap.setString(JBSbatKKLST10901.TOIAWASE_CARD_NO, toiawaseCardNo);		// 問合せ用カード番号
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 ADD START
			outMap.setString(JBSbatKKLST10901.SITE_ID, siteId);
			outMap.setString(JBSbatKKLST10901.TRAT_CARD_COMP_CD, tratCardCompCd);		// 取扱カード会社コード
			outMap.setString(JBSbatKKLST10901.CARD_BRAND, cardBrand);					// カードブランド
			outMap.setString(JBSbatKKLST10901.MASK_CARD_NO, maskCardNo.replaceAll("\\*", "0"));				// マスクされたカード番号
			outMap.setString(JBSbatKKLST10901.FINGER_PRINT, null);						// フィンガープリント
			outMap.setString(JBSbatKKLST10901.DEBIT_PREPAID_JDGRSLT, debitPrepaidJdgrslt); // デビット・プリペイド判定結果
// ANK-3846-00-00 ADD END
			outMap.setString(JBSbatKKLST10901.CRECARD_YK_KIGEN, crecardYkKigen);		// クレジットカード有効期限
			outMap.setString(JBSbatKKLST10901.AUTHORI_SHONIN_NO, authoriShoninNo);		            // オーソリ承認番号
			outMap.setString(JBSbatKKLST10901.CRECARD_NO_AZKRI_ID, crecardNoAzkriId);	// クレジットカード番号預りID
			outMap.setString(JBSbatKKLST10901.CLEARPASS_DEAL_ID, clearpassDealId);		            // クリアパス取引ID
// ANK-3846-00-00 DEL START
			// outMap.setString(JBSbatKKLST10901.CARD_SKCD, cardSkcd);						// カード識別コード
// ANK-3846-00-00 DEL END
			outMap.setString(JBSbatKKLST10901.MINEO_SKBT_CD, mineoSkbtCd);				// MINEO識別コード
			outMap.setString(JBSbatKKLST10901.HASSO_NITI, hassoNiti);					// 発送日
			outMap.setString(JBSbatKKLST10901.SOHU_NITI, sohuNiti);						// 送付日
// ANK-3602-00-00 ADD START
			outMap.setString(JBSbatKKLST10901.SKBT_NO, skbtNo);							// 識別番号
            // ANK-3846-00-00 DEL START
			// outMap.setString(JBSbatKKLST10901.CRECARD_SBT_CD, crecardSbtCd);			// クレジットカード種別コード
			// ANK-3846-00-00 DEL END
			outMap.setString(JBSbatKKLST10901.CRDT_ISSUER_DIV, crdtIssuerDiv);			// クレジットイシュア区分
// ANK-3602-00-00 ADD END
		}
		
		// 出力レコード数をカウントアップ
		outputRecCnt++;
		
		// 出力フラグの設定
		outMap.setOutFlg(true);
		
		// 出力ファイルリストに設定
		outputBean.addOutMapList(outMap);
	}
	
	counterLine++;
	
	return outputBean;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
		/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
		// -------------------------
		// 電子ファイル管理登録
		// ダウンロードファイル管理登録
		// ------------------------------
		
		// 電子ファイル登録前にファイルを閉じる。
		// （明示的にファイルと閉じないと、ファイルの書き込みが終了する前に電話ファイルを登録する可能性があるため）
		super.commonItem.getOutPutFile().close();
		
		// 運用日付取得
		String opeDate = this.commonItem.getOpeDate();
		// 運用日付+1ヶ月を設定
		String delYmd = JPCDateUtil.addMonth(opeDate, 1);
		
		// ファイル出力用オブジェクト生成
		JBSbatOutputItem outputBean = new JBSbatOutputItem();
		
		// エラーリストファイルを取得する
		JBSbatInputFileUtil inFileObj = new JBSbatInputFileUtil(freeItem[0]);
		inFileObj.setEncode(JKKBatConst.SJIS);
		inFileObj.createReader();
		
		// ファイル定義オブジェクト作成
		JBSbatDefFileUtil defFileUtl =
			new JBSbatDefFileUtil(JBSbatAplConst.getAplConstValue("IND") + freeItem[3] + ".def", inFileObj);
		
		String[] errCdSet = null;
		
		// エラーリストファイルカウント
		int recCnt = 0;
		
		// エラーリスト取得処理
		while(true)
		{
			// エラーリストを1行目を取得
			line = inFileObj.readLine();
			
			if(line == null)
			{
				break;
			}
			else
			{
				errLineList.add(line);
				errCdSet = line.split(",");
				// エラーコードを保存する
				errCdList.add(errCdSet[0]);
				
				recCnt++;
			}
		}
		
		//エラーコードソート(昇順)
		Collections.sort(errCdList);
		
		// エラーリスト項目取得
		for(int i = 0; i < errLineList.size(); i++)
		{
			// ファイル出力用インスタンス生成
			JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
			
			// ソートしたエラーコード取得
			for(int j = 0; j < errLineList.size(); j++)
			{
				// エラーリスト項目を取得する
				String[] errListLine = errLineList.get(j).split(",");
				
				// エラーコードが存在する場合
				if(errCdList.get(i).equals(errListLine[0]))
				{
					// エラーコードが「E010」場合、エラーリスト内容を入力する
					if("E010".equals(errListLine[0]))
					{
						outMap.setString(JBSbatKKLST10901.ERR_CD, errListLine[0]);
						outMap.setString(JBSbatKKLST10901.ERR_NAIYO, errListLine[1]);
						
						// 無効内容削除
						String[] errListSet = errLineList.get(j).split(errListLine[0]+","+errListLine[1]+",,");
// ANK-3602-00-00 MOD START
//						String errSet = errListSet[1].replace(",,,,,,,,,,,,", "");
						String errSet = errListSet[1].replace(",,,,,,,,,,,,,,,", "");
// ANK-3602-00-00 MOD END
						
						// エラーリストメッセージ作成
						outMap.setString(JBSbatKKLST10901.ERR_KMK, "");
// ANK-3846-00-00 DEL START
						// outMap.setString(JBSbatKKLST10901.JIGYOSHA_CD, errSet);
// ANK-3846-00-00 DEL END
						outMap.setString(JBSbatKKLST10901.CUST_ID, "");
// ANK-3846-00-00 DEL START
						// outMap.setString(JBSbatKKLST10901.SHIKOSAKI_COMP_CD, "");
						// outMap.setString(JBSbatKKLST10901.CARD_BRAND_CD, "");
						// outMap.setString(JBSbatKKLST10901.TOIAWASE_CARD_NO, "");
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 ADD START
						outMap.setString(JBSbatKKLST10901.SITE_ID, errSet);
						outMap.setString(JBSbatKKLST10901.TRAT_CARD_COMP_CD, "");
						outMap.setString(JBSbatKKLST10901.CARD_BRAND, "");
						outMap.setString(JBSbatKKLST10901.MASK_CARD_NO, "");
						outMap.setString(JBSbatKKLST10901.FINGER_PRINT, "");
						outMap.setString(JBSbatKKLST10901.DEBIT_PREPAID_JDGRSLT, "");
// ANK-3846-00-00 ADD END
						outMap.setString(JBSbatKKLST10901.CRECARD_YK_KIGEN, "");
						outMap.setString(JBSbatKKLST10901.AUTHORI_SHONIN_NO, "");
						outMap.setString(JBSbatKKLST10901.CRECARD_NO_AZKRI_ID, "");
						outMap.setString(JBSbatKKLST10901.CLEARPASS_DEAL_ID, "");
// ANK-3846-00-00 DEL START
						// outMap.setString(JBSbatKKLST10901.CARD_SKCD, "");
// ANK-3846-00-00 DEL END
						outMap.setString(JBSbatKKLST10901.MINEO_SKBT_CD, "");
						outMap.setString(JBSbatKKLST10901.HASSO_NITI, "");
						outMap.setString(JBSbatKKLST10901.SOHU_NITI, "");
// ANK-3602-00-00 ADD START
						outMap.setString(JBSbatKKLST10901.SKBT_NO, "");
// ANK-3846-00-00 DEL START
						// outMap.setString(JBSbatKKLST10901.CRECARD_SBT_CD, "");
// ANK-3846-00-00 DEL END
						outMap.setString(JBSbatKKLST10901.CRDT_ISSUER_DIV, "");
// ANK-3602-00-00 ADD END
					}
					// エラーコードが「E010」がない場合、エラーリスト内容を入力する
					else
					{
						JBSbatServiceInterfaceMap recMap = defFileUtl.lineToObject(errLineList.get(j), inFileObj, j);
						
						// エラーリストメッセージ作成
						outMap.setString(JBSbatKKLST10901.ERR_CD, recMap.getString(JBSbatKKLST10901.ERR_CD));	// エラーコード
						outMap.setString(JBSbatKKLST10901.ERR_NAIYO, recMap.getString(JBSbatKKLST10901.ERR_NAIYO));						// エラー内容
						outMap.setString(JBSbatKKLST10901.ERR_KMK, recMap.getString(JBSbatKKLST10901.ERR_KMK));
// ANK-3846-00-00 DEL START
						// outMap.setString(JBSbatKKLST10901.JIGYOSHA_CD, recMap.getString(JBSbatKKLST10901.JIGYOSHA_CD));
// ANK-3846-00-00 DEL END
						outMap.setString(JBSbatKKLST10901.CUST_ID, recMap.getString(JBSbatKKLST10901.CUST_ID));
// ANK-3846-00-00 DEL START
						// outMap.setString(JBSbatKKLST10901.SHIKOSAKI_COMP_CD, recMap.getString(JBSbatKKLST10901.SHIKOSAKI_COMP_CD));
						// outMap.setString(JBSbatKKLST10901.CARD_BRAND_CD, recMap.getString(JBSbatKKLST10901.CARD_BRAND_CD));
						// outMap.setString(JBSbatKKLST10901.TOIAWASE_CARD_NO, recMap.getString(JBSbatKKLST10901.TOIAWASE_CARD_NO));
// ANK-3846-00-00 DEL END
// ANK-3846-00-00 ADD START
						outMap.setString(JBSbatKKLST10901.SITE_ID, recMap.getString(JBSbatKKLST10901.SITE_ID));
						outMap.setString(JBSbatKKLST10901.TRAT_CARD_COMP_CD, recMap.getString(JBSbatKKLST10901.TRAT_CARD_COMP_CD));
						outMap.setString(JBSbatKKLST10901.CARD_BRAND, recMap.getString(JBSbatKKLST10901.CARD_BRAND));
						outMap.setString(JBSbatKKLST10901.MASK_CARD_NO, recMap.getString(JBSbatKKLST10901.MASK_CARD_NO));
						outMap.setString(JBSbatKKLST10901.FINGER_PRINT, recMap.getString(JBSbatKKLST10901.FINGER_PRINT));
						outMap.setString(JBSbatKKLST10901.DEBIT_PREPAID_JDGRSLT, recMap.getString(JBSbatKKLST10901.DEBIT_PREPAID_JDGRSLT));
// ANK-3846-00-00 ADD END
						outMap.setString(JBSbatKKLST10901.CRECARD_YK_KIGEN, recMap.getString(JBSbatKKLST10901.CRECARD_YK_KIGEN));
						outMap.setString(JBSbatKKLST10901.AUTHORI_SHONIN_NO, recMap.getString(JBSbatKKLST10901.AUTHORI_SHONIN_NO));
						outMap.setString(JBSbatKKLST10901.CRECARD_NO_AZKRI_ID, recMap.getString(JBSbatKKLST10901.CRECARD_NO_AZKRI_ID));
						outMap.setString(JBSbatKKLST10901.CLEARPASS_DEAL_ID, recMap.getString(JBSbatKKLST10901.CLEARPASS_DEAL_ID));
// ANK-3846-00-00 DEL START
						// outMap.setString(JBSbatKKLST10901.CARD_SKCD, recMap.getString(JBSbatKKLST10901.CARD_SKCD));
// ANK-3846-00-00 DEL END						
						outMap.setString(JBSbatKKLST10901.MINEO_SKBT_CD, recMap.getString(JBSbatKKLST10901.MINEO_SKBT_CD));
						outMap.setString(JBSbatKKLST10901.HASSO_NITI, recMap.getString(JBSbatKKLST10901.HASSO_NITI));
						outMap.setString(JBSbatKKLST10901.SOHU_NITI, recMap.getString(JBSbatKKLST10901.SOHU_NITI));
// ANK-3602-00-00 ADD START
						outMap.setString(JBSbatKKLST10901.SKBT_NO, recMap.getString(JBSbatKKLST10901.SKBT_NO));
// ANK-3846-00-00 DEL START
						// outMap.setString(JBSbatKKLST10901.CRECARD_SBT_CD, recMap.getString(JBSbatKKLST10901.CRECARD_SBT_CD));
// ANK-3846-00-00 DEL END
						outMap.setString(JBSbatKKLST10901.CRDT_ISSUER_DIV, recMap.getString(JBSbatKKLST10901.CRDT_ISSUER_DIV));
// ANK-3602-00-00 ADD END
					}
					// 設定完了行をクリアする
					errLineList.set(j, "");
					// for門終了
					j = errLineList.size();
				}
			}
			// 出力フラグの設定
			outMap.setOutFlg(true);
			
			// 出力ファイルリストに設定
			outputBean.addOutMapList(outMap);
		}
		// エラーリストDEFファイル名
		String chkRsltFileId = freeItem[3];
		// エラーリスト経路
		String chkRsltFileDir = freeItem[0].replace(freeItem[1], "");
		
		// ファイル出力
		JKKBatOutputUtil.editOutFile(super.commonItem, outputBean, chkRsltFileId, chkRsltFileDir, outputFileNm);
		
		// 電子ファイル登録前にファイルを閉じる。
		// （明示的にファイルと閉じないと、ファイルの書き込みが終了する前に電話ファイルを登録する可能性があるため）
		super.commonItem.getOutPutFile().close();
		
		// 電子ファイル管理・ダウンロードファイル管理登録
		addEfileKanriDlFileKanri(outputRecCnt, FILE_CD, delYmd, outputFileNm);
		
		// DBアクセスクラス解放
		db_KK_T_SVC_KEI.close();
		db_KK_T_SEIKY_KEI.close();
		db_ZM_M_CD_NM_KANRI.close();
		db_ZM_T_DL_FILE_KANRI.close();
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/

	/**
	 *入力情報（オーソリ結果ファイル(eo)）の単項目チェックを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.単項目チェックを行います。<br>
	 * 
	 * 2.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		rsMap:(項目、値)を(key、value)として、データをrsMapに入れます
	 *		itemvalueMap:埋め込み文字の値をitemvalueMapに入れます。キーの値は、以下に説明します。
	 *			 TXT-KKIFM772-INF1.SITE_ID			オーソリ結果ファイル(eo).サイトID
	 *			 TXT-KKIFM772-INF1.CUST_ID			オーソリ結果ファイル(eo).顧客ID
	 *			 TXT-KKIFM772-INF1.TRAT_CARD_COMP_CD			オーソリ結果ファイル(eo).取扱カード会社コード
	 *			 TXT-KKIFM772-INF1.CARD_BRAND			オーソリ結果ファイル(eo).カードブランド
	 *			 TXT-KKIFM772-INF1.MASK_CARD_NO			オーソリ結果ファイル(eo).マスクされたカード番号
	 *			 TXT-KKIFM772-INF1.CRECARD_YK_KIGEN			オーソリ結果ファイル(eo).クレジットカード有効期限
	 *			 TXT-KKIFM772-INF1.AUTHORI_SHONIN_NO			オーソリ結果ファイル(eo).オーソリ承認番号
	 *			 TXT-KKIFM772-INF1.CRECARD_NO_AZKRI_ID			オーソリ結果ファイル(eo).クレジットカード番号預りID
	 *			 TXT-KKIFM772-INF1.CLEARPASS_DEAL_ID			オーソリ結果ファイル(eo).クリアパス取引ID
	 *			 TXT-KKIFM772-INF1.FINGER_PRINT			オーソリ結果ファイル(eo).フィンガープリント
	 *			 TXT-KKIFM772-INF1.MINEO_SKBT_CD			オーソリ結果ファイル(eo).MINEO識別コード
	 *			 TXT-KKIFM772-INF1.HASSO_NITI			オーソリ結果ファイル(eo).発送日
	 *			 TXT-KKIFM772-INF1.SOHU_NITI			オーソリ結果ファイル(eo).送付日
	 *			 TXT-KKIFM772-INF1.SKBT_NO			オーソリ結果ファイル(eo).識別番号
	 *			 TXT-KKIFM772-INF1.DEBIT_PREPAID_JDGRSLT			オーソリ結果ファイル(eo).デビット・プリペイド判定結果
	 *			 TXT-KKIFM772-INF1.CRDT_ISSUER_DIV			オーソリ結果ファイル(eo).クレジットイシュア区分
	 * </pre>
	 * <p>
	 * @param rsMap 入力データ（TXT又はDB）を格納されたHashMap。
	 * @return  boolean trueである場合、エラーがありません。falseである場合、エラーを発生しました。
	 */
	private boolean isSingleCheckKKIFM772(HashMap rsMap)
	{
		// 単項目チェックを行います
		String strValue = null;
		
		// エラーコードクリア
		errAry[0] = null;
		errAry[1] = null;

// ANK-3846-00-00 DEL START
//		// 事業者コード項目チェック
//		strValue = (String)rsMap.get(JBSbatKKIFM772.JIGYOSHA_CD);		
//		// 必須チェック
//		if (JKKCommonUtil.isNull(strValue))
//		{
//			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
//		}
//		else
//		{
//			// 桁数チェック
//			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "15"}))
//			{
//				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
//		    }
//			else
//			{
//				// 属性チェック
//				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
//				{
//					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
//				}
//			}
//		}
//		// エラーコードが存在する場合、エラー項目を設定する
//		if (!JKKCommonUtil.isNull(errAry[0]))
//		{
//			errAry[1] = ERR_KMK_JIGYOSHA_CD;
//			return false;
//		}
// ANK-3846-00-00 DEL END
		
// ANK-3846-00-00 ADD START
		// サイトIDチェック
		strValue = (String)rsMap.get(JBSbatKKIFM772.SITE_ID);
		
		// 必須チェックエラーが
		if (JKKCommonUtil.isNull(strValue)) 
		{
			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
		} 
		else 
		{
			// 桁数チェックエラーが
			if (!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "4"}))
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			} 
			else 
			{
				// 属性チェックエラーが
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_SITE_ID;
			return false;
		}
// ANK-3846-00-00 ADD END
		
		// 顧客ID項目チェック
		strValue = (String)rsMap.get(JBSbatKKIFM772.CUST_ID);
		// 必須チェック
		if (JKKCommonUtil.isNull(strValue))
		{
			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
		}
		else
		{
			// ANK-3846-00-00 MOD START
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "10"}))
			// ANK-3846-00-00 MOD END
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			}
			else
			{
				// ANK-3846-00-00 MOD START
				// 属性チェック
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
				// ANK-3846-00-00 MOD END
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_CUST_ID;
			return false;
		}

// ANK-3846-00-00 DEL START
//		// 仕向先会社コード項目チェック
//		strValue = (String)rsMap.get(JBSbatKKIFM772.SHIKOSAKI_COMP_CD);
//		// 必須チェック
//		if (JKKCommonUtil.isNull(strValue))
//		{
//			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
//		}
//		else
//		{
//			// 桁数チェック
//			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "5"}))
//			{
//				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
//			}
//			else
//			{
//				// 属性チェック
//				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
//				{
//					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
//				}
//			}
//		}
//		// エラーコードが存在する場合、エラー項目を設定する
//		if (!JKKCommonUtil.isNull(errAry[0]))
//		{
//			errAry[1] = ERR_KMK_SHIKOSAKI_COMP_CD;
//			return false;
//		}
//		
//		// カードブランドコード項目チェック
//		strValue = (String)rsMap.get(JBSbatKKIFM772.CARD_BRAND_CD);
//		// 必須チェック
//		if (JKKCommonUtil.isNull(strValue))
//		{
//			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
//		}
//		else
//		{
//			// 桁数チェック
//			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "5"}))
//			{
//				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
//			}
//			else
//			{
//				// 属性チェック
//				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
//				{
//					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
//				}
//			}
//		}
//		// エラーコードが存在する場合、エラー項目を設定する
//		if (!JKKCommonUtil.isNull(errAry[0]))
//		{
//			errAry[1] = ERR_KMK_CARD_BRAND_CD;
//			return false;
//		}
//		
//		// 問合せ用カード番号項目チェック
//		strValue = (String)rsMap.get(JBSbatKKIFM772.TOIAWASE_CARD_NO);
//		// 必須チェック
//		if (JKKCommonUtil.isNull(strValue))
//		{
//			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
//		}
//		else
//		{
//			// 桁数チェック
//			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "16"}))
//			{
//				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
//			}
//			else
//			{
//				// 属性チェック
//				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
//				{
//					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
//				}
//			}
//		}
//		// エラーコードが存在する場合、エラー項目を設定する
//		if (!JKKCommonUtil.isNull(errAry[0]))
//		{
//			errAry[1] = ERR_KMK_TOIAWASE_CARD_NO;
//			return false;
//		}
// ANK-3846-00-00 DEL END
		
// ANK-3846-00-00 ADD START
		// 取扱カード会社コード番号項目チェック
		strValue = (String)rsMap.get(JBSbatKKIFM772.TRAT_CARD_COMP_CD);
		// 必須チェック
		if (JKKCommonUtil.isNull(strValue))
		{
			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
		}
		else
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "5"}))
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			}
			else
			{
				// 属性チェック
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_TRAT_CARD_COMP_CD;
			return false;
		}
		
		// カードブランド番号項目チェック
		strValue = (String)rsMap.get(JBSbatKKIFM772.CARD_BRAND);
		// 必須チェック
		if (JKKCommonUtil.isNull(strValue))
		{
			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
		}
		else
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "1", "24"}))
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			}
			else
			{
				// 属性チェック
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakueji1"}))
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_CARD_BRAND;
			return false;
		}
		
		// マスクされたカード番号番号項目チェック
		strValue = (String)rsMap.get(JBSbatKKIFM772.MASK_CARD_NO);
		// 必須チェック
		if (JKKCommonUtil.isNull(strValue))
		{
			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
		}
		else
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "14", "16"}))
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			}
			else
			{
				// 属性チェック
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji2"}))
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_MASK_CARD_NO;
			return false;
		}
// ANK-3846-00-00 ADD END
		
		// クレジットカード有効期限項目チェック
		strValue = (String)rsMap.get(JBSbatKKIFM772.CRECARD_YK_KIGEN);
		// 必須チェック
		if (JKKCommonUtil.isNull(strValue))
		{
			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
		}
		else
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "4"}))
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			}
			else
			{
				// 属性チェック
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
				else
				{
					// -------------------------
					// 有効期限日付形式チェック
					// -------------------------
					// 入力ファイルの有効期限を"20YYMM"形式へ編集を行う
					// (クリアパスからは「MMYY」の形式で設定される)
					/*String ykKigenMM = rsMap.getString(JBSbatKKIFM772.CRECARD_YK_KIGEN).substring(0, 2);
					String ykkigenYY = rsMap.getString(JBSbatKKIFM772.CRECARD_YK_KIGEN).substring(2, 4);*/
					
					String ykKigenMM = rsMap.get(JBSbatKKIFM772.CRECARD_YK_KIGEN).toString().substring(0, 2);
					String ykkigenYY = rsMap.get(JBSbatKKIFM772.CRECARD_YK_KIGEN).toString().substring(2, 4);
					
					StringBuffer buf = new StringBuffer();
					buf.append("20");			// 20XX年決め打ちで設計者と認識合わせ済
					buf.append(ykkigenYY);
					buf.append(ykKigenMM);
					// 有効期限
					ykKigen = buf.toString();
					
					// 有効期限が日付形式でなかった場合、チェックエラー
					if (!JBSbatDateUtil.checkDate(ykKigen, 6))
					{
						if(!JBSbatDateUtil.checkDate(ykKigen, 5)){
							
						}
						errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_YK_KIGEN;
						errAry[1] = ERR_KMK_YK_KIGEN;
					}
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_CRECARD_YK_KIGEN;
			return false;
		}

// ANK-3846-00-00 DEL START
//		// オーソリ承認番号項目チェック
//		strValue = (String)rsMap.get(JBSbatKKIFM772.AUTHORI_SHONIN_NO);
//		// 必須チェック
//		if (JKKCommonUtil.isNull(strValue))
//		{
//			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
//		}
//		else
//		{
//			// 桁数チェック
//			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "7"}))
//			{
//				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
//			}
//			else
//			{
//				// 属性チェック
//				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
//				{
//					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
//				}
//			}
//		}
//		// エラーコードが存在する場合、エラー項目を設定する
//		if (!JKKCommonUtil.isNull(errAry[0]))
//		{
//			errAry[1] = ERR_KMK_AUTHORI_SHONIN_NO;
//			return false;
//		}
// ANK-3846-00-00 DEL END
		
		// クレジットカード番号預りID項目チェック
		strValue = (String)rsMap.get(JBSbatKKIFM772.CRECARD_NO_AZKRI_ID);
		// 必須チェック
		if (JKKCommonUtil.isNull(strValue))
		{
			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
		}
		else
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "16"}))
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			}
			else
			{
				// 属性チェック
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_CRECARD_NO_AZKRI_ID;
			return false;
		}
		
// ANK-3846-00-00 DEL START
//		// クリアパス取引ID項目チェック
//		strValue = (String)rsMap.get(JBSbatKKIFM772.CLEARPASS_DEAL_ID);
//		// 必須チェック
//		if (JKKCommonUtil.isNull(strValue))
//		{
//			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
//		}
//		else
//		{
//			// 桁数チェック
//			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "20"}))
//			{
//				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
//			}
//			else
//			{
//				// 属性チェック
//				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
//				{
//					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
//				}
//			}
//		}
//		// エラーコードが存在する場合、エラー項目を設定する
//		if (!JKKCommonUtil.isNull(errAry[0]))
//		{
//			errAry[1] = ERR_KMK_CLEARPASS_DEAL_ID;
//			return false;
//		}
		
//		// カード識別コード項目チェック
//		strValue = (String)rsMap.get(JBSbatKKIFM772.CARD_SKCD);
//		// 必須チェック
//		if (JKKCommonUtil.isNull(strValue))
//		{
//			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
//		}
//		else
//		{
//			// 桁数チェック
//			// ANK-3313-04-00 MOD START
//			//if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "129"}))
//			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "128"}))
//			// ANK-3313-04-00 MOD END
//			{
//				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
//			}
//			else
//			{
//				// 属性チェック
//				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
//				{
//					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
//				}
//			}
//		}
//		// エラーコードが存在する場合、エラー項目を設定する
//		if (!JKKCommonUtil.isNull(errAry[0]))
//		{
//			errAry[1] = ERR_KMK_CARD_SKCD;
//			return false;
//		}
// ANK-3846-00-00 DEL END

// ANK-3846-00-00 ADD START
		// フィンガープリント項目チェック
		strValue = (String)rsMap.get(JBSbatKKIFM772.FINGER_PRINT);
		// フィンガープリント項目が存在する場合、チェックを行う
		if (JKKCommonUtil.isNull(strValue))
		{
			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
		}
		else
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "64"}))
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			}
			else
			{
				// 属性チェック
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_FINGER_PRINT;
			return false;
		}
// ANK-3846-00-00 ADD END
		
		// MINEO識別コード項目チェック
		strValue = (String)rsMap.get(JBSbatKKIFM772.MINEO_SKBT_CD);
		// MINEO識別コード項目が存在する場合、チェックを行う
		if (!JKKCommonUtil.isNull(strValue))
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "1"}))
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			}
			else
			{
				// 属性チェック
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_MINEO_SKBT_CD;
			return false;
		}
		
		// 発送日項目チェック
		strValue = (String)rsMap.get(JBSbatKKIFM772.HASSO_NITI);
		// 必須チェック
		if (JKKCommonUtil.isNull(strValue))
		{
			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
		}
		else
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "8"}))
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			}
			else
			{
				// 属性チェック
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month_day1"}))
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_HASSO_NITI;
			return false;
		}
		
		// 送付日項目チェック
		strValue = (String)rsMap.get(JBSbatKKIFM772.SOHU_NITI);
		// 必須チェック
		if (JKKCommonUtil.isNull(strValue))
		{
			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
		}
		else
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "8"}))
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			}
			else
			{
				// 属性チェック
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"year_month_day1"}))
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_SOHU_NITI;
			return false;
		}
// ANK-3602-00-00 ADD START
		// 識別番号項目チェック
		strValue = (String)rsMap.get(JBSbatKKIFM772.SKBT_NO);
		// 必須チェック
		if (JKKCommonUtil.isNull(strValue))
		{
			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
		}
		else
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "10"}))
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			}
			else
			{
				// 属性チェック
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakuesuuji1"}))
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_SKBT_NO;
			return false;
		}

// ANK-3846-00-00 DEL START
//		// クレジットカード種別コード
//		strValue = (String)rsMap.get(JBSbatKKIFM772.CRECARD_SBT_CD);
//		// 必須チェック
//		if (JKKCommonUtil.isNull(strValue))
//		{
//			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
//		}
//		else
//		{
//			// 桁数チェック
//			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "1"}))
//			{
//				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
//			}
//			else
//			{
//				// 属性チェック
//				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
//				{
//					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
//				}
//			}
//		}
//		// エラーコードが存在する場合、エラー項目を設定する
//		if (!JKKCommonUtil.isNull(errAry[0]))
//		{
//			errAry[1] = ERR_KMK_CRECARD_SBT_CD;
//			return false;
//		}
// ANK-3846-00-00 DEL END

// ANK-3846-00-00 ADD START
		// デビット・プリペイド判定結果
		strValue = (String)rsMap.get(JBSbatKKIFM772.DEBIT_PREPAID_JDGRSLT);
		// 必須チェック
		if (JKKCommonUtil.isNull(strValue))
		{
			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
		}
		else
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu2", "1", "7"}))
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			}
			else
			{
				// 属性チェック
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakueji1"}))
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_DEBIT_PREPAID_JDGRSLT;
			return false;
		}
// ANK-3846-00-00 ADD END
		
		// クレジットイシュア区分
		strValue = (String)rsMap.get(JBSbatKKIFM772.CRDT_ISSUER_DIV);
		// 必須チェック
		if (JKKCommonUtil.isNull(strValue))
		{
			errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_HISSU;
		}
		else
		{
			// 桁数チェック
			if(!JBSbatCheckUtil.invoke(strValue, new String[]{"ketasuu1", "1"}))
			{
				errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_DIGITNO;
			}
			else
			{
				// 属性チェック
				if(!JBSbatCheckUtil.invoke(strValue, new String[]{"hannkakusuuji1"}))
				{
					errAry[0] = JKKStrConst.CD_DIV_CRDT_PAYWAY_IKTTRK_ERR_CD_FORMAT;
				}
			}
		}
		// エラーコードが存在する場合、エラー項目を設定する
		if (!JKKCommonUtil.isNull(errAry[0]))
		{
			errAry[1] = ERR_KMK_CRDT_ISSUER_DIV;
			return false;
		}
// ANK-3602-00-00 ADD END
		
		return true;
	}
	
	/**
	 * SQLKEY(KK_SELECT_345)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *			SEIKY_KEI_NO
	 *			OPE_DATE
	 *			OPE_DATE
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_KK_SELECT_345(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		
		// 件数分設定
		for (int i = 0; i < param.length; i++)
		{
			paramList.setValue(param[i]);
		}
		
		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_345);
	}
	
	/**
	 * SQLKEY(KK_SELECT_068)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *			SEIKY_KEI_NO
	 *			OPE_DATE
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SEIKY_KEI_KK_SELECT_068(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		
		// 件数分設定
		for (int i = 0; i < param.length; i++)
		{
			paramList.setValue(param[i]);
		}
		
		// DBアクセスを実行します
		db_KK_T_SEIKY_KEI.selectBySqlDefine(paramList, KK_T_SEIKY_KEI_KK_SELECT_068);
	}
	
	/**
	 * 電子ファイル管理・ダウンロードファイル管理へ登録します。
	 * <br>
	 * @param dataCnt データ件数
	 * @param fileCd ファイルコード
	 * @param fileDelYmd ファイル削除年月日
	 * @param dlFileNm ダウンロードファイル名
	 * @throws Exception 例外が発生した場合
	 */
	private void addEfileKanriDlFileKanri(int dataCnt, String fileCd,
			String fileDelYmd, String dlFileNm) throws Exception
	{
		// 電子ファイル管理登録
		String[] ret = JCCbatDenshiFileUtil.createDenshiFile(this.commonItem, fileCd,
				outputFilePath, fileDelYmd);
		
		// ダウンロードファイル管理登録
		String[] paramIns = {
				JKKStrConst.TRAN_KANRI_NO_CRDT_PAYWAY_CHG_ERR_LIST		// 処理管理番号
				, dlFileNm												// ダウンロードファイル名
				, String.valueOf(dataCnt)								// データ件数
				, ret[0]												// 電子ファイル管理番号
				, ret[1]												// 世代登録年月日時分秒
		};
		
		executeZM_T_DL_FILE_KANRI_KK_INSERT_002(paramIns);
	}
	
	/**
	 * SQLKEY(KK_INSERT_002)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *			TRN_KANRI_NO
	 *			FILE_NM
	 *			DATA_CNT
	 *			EFILE_KANRI_NO
	 *			GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_T_DL_FILE_KANRI_KK_INSERT_002(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		
		// DBアクセスを実行します
		db_ZM_T_DL_FILE_KANRI.executeBySqlDefine(paramList, ZM_T_DL_FILE_KANRI_KK_INSERT_002);
	}
}
