/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JCHSeikyKeiSearchCC
*   ソースファイル名：JCHSeikyKeiSearchCC.java
*   作成者          ：富士通
*   日付            ：2011年09月09日
*＜機能概要＞
*   請求契約一意照会CC部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/09/09	富士通		新規作成
*
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.bp.x21.bpm.ServiceComponentRequestInvoker;
import com.fujitsu.futurity.bp.x21.bpm.db.SessionHandle;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.bp.x21.cc.exception.SCCallException;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.common.x01.sc.SCControlMapKeys;
import com.fujitsu.futurity.mapping.bp.common.TemplateErrorUtil;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.common.JCMAPLConstMgr;

import eo.common.constant.JACStrConst;
import eo.ejb.cbs.cbsmsg.EKK0491A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0491A010CBSMsg1List;

/**
 * 請求収納の各サービスより呼び出される請求契約一意照会CC部品です。<p>
 * <BR>
 * @author 富士通
 */
public class JCHSeikyKeiSearchCC extends AbstractCommonComponent {

	/** 請求契約一意照会マップID */
	private static final String MAP_CC_ID = "SEIKYKEISEARCHCC";

	/** テンプレートID(請求契約一意照会) */
	private static final String TEMPLATE_ID_EKK0491A010 = "EKK0491A010";

	/** 請求契約一意照会マップキー(請求契約明細リスト) */
	private static final String MAP_KEY_SEIKY_KEI_LIST = "seiky_kei_list";

	/** 請求契約一意照会マップキー(ＫＥＹ＿請求契約番号) */
	private static final String MAP_KEY_KEY_SEIKY_KEI_NO = "key_seiky_kei_no";

	/** 請求契約一意照会マップキー(ＫＥＹ＿請求契約番号のエラー項目) */
	private static final String MAP_KEY_KEY_SEIKY_KEI_NO_ERR = "key_seiky_kei_no_err";

	/** 請求契約一意照会マップキー(ＫＥＹ＿世代登録年月日時分秒) */
	private static final String MAP_KEY_KEY_GENE_ADD_DTM = "key_gene_add_dtm";

	/** 請求契約一意照会マップキー(ＫＥＹ＿世代登録年月日時分秒のエラー項目) */
	private static final String MAP_KEY_KEY_GENE_ADD_DTM_ERR = "key_gene_add_dtm_err";

	/** 請求契約一意照会マップキー(ＫＥＹ＿予約適用年月日) */
	private static final String MAP_KEY_KEY_RSV_APLY_YMD = "key_rsv_aply_ymd";

	/** 請求契約一意照会マップキー(ＫＥＹ＿予約適用年月日のエラー項目) */
	private static final String MAP_KEY_KEY_RSV_APLY_YMD_ERR = "key_rsv_aply_ymd_err";

	/** 請求契約一意照会マップキー(請求契約一意照会明細) */
	private static final String MAP_KEY_EKK0491A010CBSMSG1LIST = "EKK0491A010CBSMsg1List";

	/** 請求契約一意照会マップキー(請求契約一意照会明細のエラー項目) */
	private static final String MAP_KEY_EKK0491A010CBSMSG1LIST_ERR = "EKK0491A010CBSMsg1List_err";

	/** 請求契約一意照会マップキー(請求契約番号) */
	private static final String MAP_KEY_SEIKY_KEI_NO = "seiky_kei_no";

	/** 請求契約一意照会マップキー(請求契約番号のエラー項目) */
	private static final String MAP_KEY_SEIKY_KEI_NO_ERR = "seiky_kei_no_err";

	/** 請求契約一意照会マップキー(世代登録年月日時分秒) */
	private static final String MAP_KEY_GENE_ADD_DTM = "gene_add_dtm";

	/** 請求契約一意照会マップキー(世代登録年月日時分秒のエラー項目) */
	private static final String MAP_KEY_GENE_ADD_DTM_ERR = "gene_add_dtm_err";

	/** 請求契約一意照会マップキー(請求契約ステータス) */
	private static final String MAP_KEY_SEIKY_KEI_STAT = "seiky_kei_stat";

	/** 請求契約一意照会マップキー(請求契約ステータスのエラー項目) */
	private static final String MAP_KEY_SEIKY_KEI_STAT_ERR = "seiky_kei_stat_err";

	/** 請求契約一意照会マップキー(請求契約ステータス名称) */
	private static final String MAP_KEY_SEIKY_KEI_STAT_NM = "seiky_kei_stat_nm";

	/** 請求契約一意照会マップキー(請求契約ステータス名称のエラー項目) */
	private static final String MAP_KEY_SEIKY_KEI_STAT_NM_ERR = "seiky_kei_stat_nm_err";

	/** 請求契約一意照会マップキー(SYSID) */
	private static final String MAP_KEY_SYSID = "sysid";

	/** 請求契約一意照会マップキー(SYSIDのエラー項目) */
	private static final String MAP_KEY_SYSID_ERR = "sysid_err";

	/** 請求契約一意照会マップキー(SYSID名称) */
	private static final String MAP_KEY_SYSID_NM = "sysid_nm";

	/** 請求契約一意照会マップキー(SYSID名称のエラー項目) */
	private static final String MAP_KEY_SYSID_NM_ERR = "sysid_nm_err";

	/** 請求契約一意照会マップキー(マンションオーナーID) */
	private static final String MAP_KEY_MANSION_OWNR_ID = "mansion_ownr_id";

	/** 請求契約一意照会マップキー(マンションオーナーIDのエラー項目) */
	private static final String MAP_KEY_MANSION_OWNR_ID_ERR = "mansion_ownr_id_err";

	/** 請求契約一意照会マップキー(マンションオーナーID名称) */
	private static final String MAP_KEY_MANSION_OWNR_ID_NM = "mansion_ownr_id_nm";

	/** 請求契約一意照会マップキー(マンションオーナーID名称のエラー項目) */
	private static final String MAP_KEY_MANSION_OWNR_ID_NM_ERR = "mansion_ownr_id_nm_err";

	/** 請求契約一意照会マップキー(申込明細番号) */
	private static final String MAP_KEY_MSKM_DTL_NO = "mskm_dtl_no";

	/** 請求契約一意照会マップキー(申込明細番号のエラー項目) */
	private static final String MAP_KEY_MSKM_DTL_NO_ERR = "mskm_dtl_no_err";

	/** 請求契約一意照会マップキー(請求方法コード) */
	private static final String MAP_KEY_SEIKY_WAY_CD = "seiky_way_cd";

	/** 請求契約一意照会マップキー(請求方法コードのエラー項目) */
	private static final String MAP_KEY_SEIKY_WAY_CD_ERR = "seiky_way_cd_err";

	/** 請求契約一意照会マップキー(請求方法コード名称) */
	private static final String MAP_KEY_SEIKY_WAY_CD_NM = "seiky_way_cd_nm";

	/** 請求契約一意照会マップキー(請求方法コード名称のエラー項目) */
	private static final String MAP_KEY_SEIKY_WAY_CD_NM_ERR = "seiky_way_cd_nm_err";

	/** 請求契約一意照会マップキー(次回請求方法コード) */
	private static final String MAP_KEY_NEXT_SEIKY_WAY_DIV = "next_seiky_way_div";

	/** 請求契約一意照会マップキー(次回請求方法コードのエラー項目) */
	private static final String MAP_KEY_NEXT_SEIKY_WAY_DIV_ERR = "next_seiky_way_div_err";

	/** 請求契約一意照会マップキー(契約締結年月日) */
	private static final String MAP_KEY_KEI_CNC_YMD = "kei_cnc_ymd";

	/** 請求契約一意照会マップキー(契約締結年月日のエラー項目) */
	private static final String MAP_KEY_KEI_CNC_YMD_ERR = "kei_cnc_ymd_err";

	/** 請求契約一意照会マップキー(請求契約解約年月日) */
	private static final String MAP_KEY_SEIKY_KEI_DSL_YMD = "seiky_kei_dsl_ymd";

	/** 請求契約一意照会マップキー(請求契約解約年月日のエラー項目) */
	private static final String MAP_KEY_SEIKY_KEI_DSL_YMD_ERR = "seiky_kei_dsl_ymd_err";

	/** 請求契約一意照会マップキー(請求契約解約理由コード) */
	private static final String MAP_KEY_SEIKY_KEI_DLRE_CD = "seiky_kei_dlre_cd";

	/** 請求契約一意照会マップキー(請求契約解約理由コードのエラー項目) */
	private static final String MAP_KEY_SEIKY_KEI_DLRE_CD_ERR = "seiky_kei_dlre_cd_err";

	/** 請求契約一意照会マップキー(請求契約解約理由メモ) */
	private static final String MAP_KEY_SEIKY_KEI_DLRE_MEMO = "seiky_kei_dlre_memo";

	/** 請求契約一意照会マップキー(請求契約解約理由メモのエラー項目) */
	private static final String MAP_KEY_SEIKY_KEI_DLRE_MEMO_ERR = "seiky_kei_dlre_memo_err";

	/** 請求契約一意照会マップキー(請求サイクルコード) */
	private static final String MAP_KEY_SEIKY_CYCLE_CD = "seiky_cycle_cd";

	/** 請求契約一意照会マップキー(請求サイクルコードのエラー項目) */
	private static final String MAP_KEY_SEIKY_CYCLE_CD_ERR = "seiky_cycle_cd_err";

	/** 請求契約一意照会マップキー(請求方法変更年月日) */
	private static final String MAP_KEY_SEIKY_WAY_CHGE_YMD = "seiky_way_chge_ymd";

	/** 請求契約一意照会マップキー(請求方法変更年月日のエラー項目) */
	private static final String MAP_KEY_SEIKY_WAY_CHGE_YMD_ERR = "seiky_way_chge_ymd_err";

	/** 請求契約一意照会マップキー(請求契約カナ名) */
	private static final String MAP_KEY_SEIKY_KEI_KANA = "seiky_kei_kana";

	/** 請求契約一意照会マップキー(請求契約カナ名のエラー項目) */
	private static final String MAP_KEY_SEIKY_KEI_KANA_ERR = "seiky_kei_kana_err";

	/** 請求契約一意照会マップキー(請求方法番号(口座)) */
	private static final String MAP_KEY_SEIKY_WAY_NO_KOZA = "seiky_way_no_koza";

	/** 請求契約一意照会マップキー(請求方法番号(口座)のエラー項目) */
	private static final String MAP_KEY_SEIKY_WAY_NO_KOZA_ERR = "seiky_way_no_koza_err";

	/** 請求契約一意照会マップキー(請求方法番号(クレジットカード)) */
	private static final String MAP_KEY_SEIKY_WAY_NO_CRECARD = "seiky_way_no_crecard";

	/** 請求契約一意照会マップキー(請求方法番号(クレジットカード)のエラー項目) */
	private static final String MAP_KEY_SEIKY_WAY_NO_CRECARD_ERR = "seiky_way_no_crecard_err";

	/** 請求契約一意照会マップキー(情報表示コード) */
	private static final String MAP_KEY_INFO_DSP_CD = "info_dsp_cd";

	/** 請求契約一意照会マップキー(情報表示コードのエラー項目) */
	private static final String MAP_KEY_INFO_DSP_CD_ERR = "info_dsp_cd_err";

	/** 請求契約一意照会マップキー(請求書発行要否) */
	private static final String MAP_KEY_SEIKYUS_HAKKO_YH = "seikyus_hakko_yh";

	/** 請求契約一意照会マップキー(請求書発行要否のエラー項目) */
	private static final String MAP_KEY_SEIKYUS_HAKKO_YH_ERR = "seikyus_hakko_yh_err";

	/** 請求契約一意照会マップキー(請求書発行要否名称) */
	private static final String MAP_KEY_SEIKYUS_HAKKO_YH_NM = "seikyus_hakko_yh_nm";

	/** 請求契約一意照会マップキー(請求書発行要否名称のエラー項目) */
	private static final String MAP_KEY_SEIKYUS_HAKKO_YH_NM_ERR = "seikyus_hakko_yh_nm_err";

	/** 請求契約一意照会マップキー(請求書送付先＿契約者住所差異フラグ) */
	private static final String MAP_KEY_SKS_SHS_KSH_AD_SAI_FLG = "sks_shs_ksh_ad_sai_flg";

	/** 請求契約一意照会マップキー(請求書送付先＿契約者住所差異フラグのエラー項目) */
	private static final String MAP_KEY_SKS_SHS_KSH_AD_SAI_FLG_ERR = "sks_shs_ksh_ad_sai_flg_err";

	/** 請求契約一意照会マップキー(請求書送付先名＿お客様名差異フラグ) */
	private static final String MAP_KEY_SKS_SHS_NM_CUST_NM_SAI_FLG = "sks_shs_nm_cust_nm_sai_flg";

	/** 請求契約一意照会マップキー(請求書送付先名＿お客様名差異フラグのエラー項目) */
	private static final String MAP_KEY_SKS_SHS_NM_CUST_NM_SAI_FLG_ERR = "sks_shs_nm_cust_nm_sai_flg_err";

	/** 請求契約一意照会マップキー(送付先法人格種別コード) */
	private static final String MAP_KEY_SHS_HOJIN_SBT_CD = "shs_hojin_sbt_cd";

	/** 請求契約一意照会マップキー(送付先法人格種別コードのエラー項目) */
	private static final String MAP_KEY_SHS_HOJIN_SBT_CD_ERR = "shs_hojin_sbt_cd_err";

	/** 請求契約一意照会マップキー(送付先法人格前後指定コード) */
	private static final String MAP_KEY_SHS_HOJIN_ZENGO_SHITEI_CD = "shs_hojin_zengo_shitei_cd";

	/** 請求契約一意照会マップキー(送付先法人格前後指定コードのエラー項目) */
	private static final String MAP_KEY_SHS_HOJIN_ZENGO_SHITEI_CD_ERR = "shs_hojin_zengo_shitei_cd_err";

	/** 請求契約一意照会マップキー(送付先カナ名) */
	private static final String MAP_KEY_SHS_KANA = "shs_kana";

	/** 請求契約一意照会マップキー(送付先カナ名のエラー項目) */
	private static final String MAP_KEY_SHS_KANA_ERR = "shs_kana_err";

	/** 請求契約一意照会マップキー(送付先名) */
	private static final String MAP_KEY_SOHUS_NM = "sohus_nm";

	/** 請求契約一意照会マップキー(送付先名のエラー項目) */
	private static final String MAP_KEY_SOHUS_NM_ERR = "sohus_nm_err";

	/** 請求契約一意照会マップキー(送付先部課名) */
	private static final String MAP_KEY_SOHUS_BKM = "sohus_bkm";

	/** 請求契約一意照会マップキー(送付先部課名のエラー項目) */
	private static final String MAP_KEY_SOHUS_BKM_ERR = "sohus_bkm_err";

	/** 請求契約一意照会マップキー(送付先担当者名) */
	private static final String MAP_KEY_SOHUS_TNTSHA_NM = "sohus_tntsha_nm";

	/** 請求契約一意照会マップキー(送付先担当者名のエラー項目) */
	private static final String MAP_KEY_SOHUS_TNTSHA_NM_ERR = "sohus_tntsha_nm_err";

	/** 請求契約一意照会マップキー(送付先住所コード) */
	private static final String MAP_KEY_SOHUS_AD_CD = "sohus_ad_cd";

	/** 請求契約一意照会マップキー(送付先住所コードのエラー項目) */
	private static final String MAP_KEY_SOHUS_AD_CD_ERR = "sohus_ad_cd_err";

	/** 請求契約一意照会マップキー(送付先郵便番号) */
	private static final String MAP_KEY_SOHUS_PCD = "sohus_pcd";

	/** 請求契約一意照会マップキー(送付先郵便番号のエラー項目) */
	private static final String MAP_KEY_SOHUS_PCD_ERR = "sohus_pcd_err";

	/** 請求契約一意照会マップキー(送付先都道府県名) */
	private static final String MAP_KEY_SOHUS_STATE_NM = "sohus_state_nm";

	/** 請求契約一意照会マップキー(送付先都道府県名のエラー項目) */
	private static final String MAP_KEY_SOHUS_STATE_NM_ERR = "sohus_state_nm_err";

	/** 請求契約一意照会マップキー(送付先市区町村名) */
	private static final String MAP_KEY_SOHUS_CITY_NM = "sohus_city_nm";

	/** 請求契約一意照会マップキー(送付先市区町村名のエラー項目) */
	private static final String MAP_KEY_SOHUS_CITY_NM_ERR = "sohus_city_nm_err";

	/** 請求契約一意照会マップキー(送付先大字通称名) */
	private static final String MAP_KEY_SOHUS_OAZTSU_NM = "sohus_oaztsu_nm";

	/** 請求契約一意照会マップキー(送付先大字通称名のエラー項目) */
	private static final String MAP_KEY_SOHUS_OAZTSU_NM_ERR = "sohus_oaztsu_nm_err";

	/** 請求契約一意照会マップキー(送付先字丁目名) */
	private static final String MAP_KEY_SOHUS_AZCHO_NM = "sohus_azcho_nm";

	/** 請求契約一意照会マップキー(送付先字丁目名のエラー項目) */
	private static final String MAP_KEY_SOHUS_AZCHO_NM_ERR = "sohus_azcho_nm_err";

	/** 請求契約一意照会マップキー(送付先住所補記・建物名) */
	private static final String MAP_KEY_SOHUS_ADRTTM = "sohus_adrttm";

	/** 請求契約一意照会マップキー(送付先住所補記・建物名のエラー項目) */
	private static final String MAP_KEY_SOHUS_ADRTTM_ERR = "sohus_adrttm_err";

	/** 請求契約一意照会マップキー(送付先住所補記・部屋番号) */
	private static final String MAP_KEY_SOHUS_ADRRM = "sohus_adrrm";

	/** 請求契約一意照会マップキー(送付先住所補記・部屋番号のエラー項目) */
	private static final String MAP_KEY_SOHUS_ADRRM_ERR = "sohus_adrrm_err";

	/** 請求契約一意照会マップキー(送付先番地号) */
	private static final String MAP_KEY_SOHUS_BNCHIGO = "sohus_bnchigo";

	/** 請求契約一意照会マップキー(送付先番地号のエラー項目) */
	private static final String MAP_KEY_SOHUS_BNCHIGO_ERR = "sohus_bnchigo_err";

	/** 請求契約一意照会マップキー(送付先電話番号) */
	private static final String MAP_KEY_SOHUS_TELNO = "sohus_telno";

	/** 請求契約一意照会マップキー(送付先電話番号のエラー項目) */
	private static final String MAP_KEY_SOHUS_TELNO_ERR = "sohus_telno_err";

	/** 請求契約一意照会マップキー(送付先FAX番号) */
	private static final String MAP_KEY_SOHUS_FAX_NO = "sohus_fax_no";

	/** 請求契約一意照会マップキー(送付先FAX番号のエラー項目) */
	private static final String MAP_KEY_SOHUS_FAX_NO_ERR = "sohus_fax_no_err";

	/** 請求契約一意照会マップキー(送付先メールアドレス) */
	private static final String MAP_KEY_SOHUS_MLAD = "sohus_mlad";

	/** 請求契約一意照会マップキー(送付先メールアドレスのエラー項目) */
	private static final String MAP_KEY_SOHUS_MLAD_ERR = "sohus_mlad_err";

	/** 請求契約一意照会マップキー(請求書送付先住所確定後変更可否) */
	private static final String MAP_KEY_SKS_SHS_AD_FIX_AF_CHGE_KH = "sks_shs_ad_fix_af_chge_kh";

	/** 請求契約一意照会マップキー(請求書送付先住所確定後変更可否のエラー項目) */
	private static final String MAP_KEY_SKS_SHS_AD_FIX_AF_CHGE_KH_ERR = "sks_shs_ad_fix_af_chge_kh_err";

	/** 請求契約一意照会マップキー(請求書送付先住所確定後変更可否名称) */
	private static final String MAP_KEY_SKS_SHS_AD_FIX_AF_CHGE_KH_NM = "sks_shs_ad_fix_af_chge_kh_nm";

	/** 請求契約一意照会マップキー(請求書送付先住所確定後変更可否名称のエラー項目) */
	private static final String MAP_KEY_SKS_SHS_AD_FIX_AF_CHGE_KH_NM_ERR = "sks_shs_ad_fix_af_chge_kh_nm_err";

	/** 請求契約一意照会マップキー(請求書送付先変更年月日) */
	private static final String MAP_KEY_SEIKYUS_SOHUS_CHGE_YMD = "seikyus_sohus_chge_ymd";

	/** 請求契約一意照会マップキー(請求書送付先変更年月日のエラー項目) */
	private static final String MAP_KEY_SEIKYUS_SOHUS_CHGE_YMD_ERR = "seikyus_sohus_chge_ymd_err";

	/** 請求契約一意照会マップキー(請求方法適用調整年月日) */
	private static final String MAP_KEY_SEIKY_WAY_APLY_ADJ_YMD = "seiky_way_aply_adj_ymd";

	/** 請求契約一意照会マップキー(請求方法適用調整年月日のエラー項目) */
	private static final String MAP_KEY_SEIKY_WAY_APLY_ADJ_YMD_ERR = "seiky_way_aply_adj_ymd_err";

	/** 請求契約一意照会マップキー(強制窓口フラグ) */
	private static final String MAP_KEY_KYOSEI_MADOGUCHI_FLG = "kyosei_madoguchi_flg";

	/** 請求契約一意照会マップキー(強制窓口フラグのエラー項目) */
	private static final String MAP_KEY_KYOSEI_MADOGUCHI_FLG_ERR = "kyosei_madoguchi_flg_err";

	/** 請求契約一意照会マップキー(予約適用開始希望年月日) */
	private static final String MAP_KEY_RSV_TSTA_KIBO_YMD = "rsv_tsta_kibo_ymd";

	/** 請求契約一意照会マップキー(予約適用開始希望年月日のエラー項目) */
	private static final String MAP_KEY_RSV_TSTA_KIBO_YMD_ERR = "rsv_tsta_kibo_ymd_err";

	/** 請求契約一意照会マップキー(予約適用年月日) */
	private static final String MAP_KEY_RSV_APLY_YMD = "rsv_aply_ymd";

	/** 請求契約一意照会マップキー(予約適用年月日のエラー項目) */
	private static final String MAP_KEY_RSV_APLY_YMD_ERR = "rsv_aply_ymd_err";

	/** 請求契約一意照会マップキー(予約取消年月日) */
	private static final String MAP_KEY_RSV_CL_YMD = "rsv_cl_ymd";

	/** 請求契約一意照会マップキー(予約取消年月日のエラー項目) */
	private static final String MAP_KEY_RSV_CL_YMD_ERR = "rsv_cl_ymd_err";

	/** 請求契約一意照会マップキー(予約適用コード) */
	private static final String MAP_KEY_RSV_APLY_CD = "rsv_aply_cd";

	/** 請求契約一意照会マップキー(予約適用コードのエラー項目) */
	private static final String MAP_KEY_RSV_APLY_CD_ERR = "rsv_aply_cd_err";

	/** 請求契約一意照会マップキー(予約適用コード名称) */
	private static final String MAP_KEY_RSV_APLY_CD_NM = "rsv_aply_cd_nm";

	/** 請求契約一意照会マップキー(予約適用コード名称のエラー項目) */
	private static final String MAP_KEY_RSV_APLY_CD_NM_ERR = "rsv_aply_cd_nm_err";

	/** 請求契約一意照会マップキー(異動区分) */
	private static final String MAP_KEY_IDO_DIV = "ido_div";

	/** 請求契約一意照会マップキー(異動区分のエラー項目) */
	private static final String MAP_KEY_IDO_DIV_ERR = "ido_div_err";

	/** 請求契約一意照会マップキー(異動区分名称) */
	private static final String MAP_KEY_IDO_DIV_NM = "ido_div_nm";

	/** 請求契約一意照会マップキー(異動区分名称のエラー項目) */
	private static final String MAP_KEY_IDO_DIV_NM_ERR = "ido_div_nm_err";

	/** 請求契約一意照会マップキー(初回請求年月) */
	private static final String MAP_KEY_FIRST_SEIKY_YM = "first_seiky_ym";

	/** 請求契約一意照会マップキー(初回請求年月のエラー項目) */
	private static final String MAP_KEY_FIRST_SEIKY_YM_ERR = "first_seiky_ym_err";

	/** 請求契約一意照会マップキー(初回支払申込書送付要否) */
	private static final String MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YH = "first_pay_mskmsho_sohu_yh";

	/** 請求契約一意照会マップキー(初回支払申込書送付要否のエラー項目) */
	private static final String MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YH_ERR = "first_pay_mskmsho_sohu_yh_err";

	/** 請求契約一意照会マップキー(初回支払申込書送付要否名称) */
	private static final String MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YH_NM = "first_pay_mskmsho_sohu_yh_nm";

	/** 請求契約一意照会マップキー(初回支払申込書送付要否名称のエラー項目) */
	private static final String MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YH_NM_ERR = "first_pay_mskmsho_sohu_yh_nm_err";

	/** 請求契約一意照会マップキー(初回支払申込書送付年月日) */
	private static final String MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YMD = "first_pay_mskmsho_sohu_ymd";

	/** 請求契約一意照会マップキー(初回支払申込書送付年月日のエラー項目) */
	private static final String MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YMD_ERR = "first_pay_mskmsho_sohu_ymd_err";

	/** 請求契約一意照会マップキー(初回支払申込書受領年月日) */
	private static final String MAP_KEY_FIRST_PAY_MSKMSHO_RCP_YMD = "first_pay_mskmsho_rcp_ymd";

	/** 請求契約一意照会マップキー(初回支払申込書受領年月日のエラー項目) */
	private static final String MAP_KEY_FIRST_PAY_MSKMSHO_RCP_YMD_ERR = "first_pay_mskmsho_rcp_ymd_err";

	/** 請求契約一意照会マップキー(登録年月日時分秒) */
	private static final String MAP_KEY_ADD_DTM = "add_dtm";

	/** 請求契約一意照会マップキー(登録年月日時分秒のエラー項目) */
	private static final String MAP_KEY_ADD_DTM_ERR = "add_dtm_err";

	/** 請求契約一意照会マップキー(登録オペレータアカウント) */
	private static final String MAP_KEY_ADD_OPEACNT = "add_opeacnt";

	/** 請求契約一意照会マップキー(登録オペレータアカウントのエラー項目) */
	private static final String MAP_KEY_ADD_OPEACNT_ERR = "add_opeacnt_err";

	/** 請求契約一意照会マップキー(更新年月日時分秒) */
	private static final String MAP_KEY_UPD_DTM = "upd_dtm";

	/** 請求契約一意照会マップキー(更新年月日時分秒のエラー項目) */
	private static final String MAP_KEY_UPD_DTM_ERR = "upd_dtm_err";

	/** 請求契約一意照会マップキー(更新オペレータアカウント) */
	private static final String MAP_KEY_UPD_OPEACNT = "upd_opeacnt";

	/** 請求契約一意照会マップキー(更新オペレータアカウントのエラー項目) */
	private static final String MAP_KEY_UPD_OPEACNT_ERR = "upd_opeacnt_err";

	/** 請求契約一意照会マップキー(削除年月日時分秒) */
	private static final String MAP_KEY_DEL_DTM = "del_dtm";

	/** 請求契約一意照会マップキー(削除年月日時分秒のエラー項目) */
	private static final String MAP_KEY_DEL_DTM_ERR = "del_dtm_err";

	/** 請求契約一意照会マップキー(削除オペレータアカウント) */
	private static final String MAP_KEY_DEL_OPEACNT = "del_opeacnt";

	/** 請求契約一意照会マップキー(削除オペレータアカウントのエラー項目) */
	private static final String MAP_KEY_DEL_OPEACNT_ERR = "del_opeacnt_err";

	/** 請求契約一意照会マップキー(無効フラグ) */
	private static final String MAP_KEY_MK_FLG = "mk_flg";

	/** 請求契約一意照会マップキー(無効フラグのエラー項目) */
	private static final String MAP_KEY_MK_FLG_ERR = "mk_flg_err";

	/** 請求契約一意照会マップキー(無効フラグ名称) */
	private static final String MAP_KEY_MK_FLG_NM = "mk_flg_nm";

	/** 請求契約一意照会マップキー(無効フラグ名称のエラー項目) */
	private static final String MAP_KEY_MK_FLG_NM_ERR = "mk_flg_nm_err";

	/** 請求契約一意照会マップキー(最終更新年月日時分秒) */
	private static final String MAP_KEY_LAST_UPD_DTM = "last_upd_dtm";

	/** 請求契約一意照会マップキー(最終更新年月日時分秒のエラー項目) */
	private static final String MAP_KEY_LAST_UPD_DTM_ERR = "last_upd_dtm_err";

	

	/**
	 * 請求契約照会処理チェック処理.<br>
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return HashMap<String, Object>
	 * @throws RequestParameterException RequestParameterException
	 */
	public HashMap<String, Object> getInvokeCBS(SessionHandle handle, 
				IRequestParameterReadWrite param, String fixedText) throws RequestParameterException 
	{
		HashMap<String, Object> paramMap = editInMsgEKK0491A010(param);

		return paramMap;
	}
	
	/**
	 * 請求契約一意照会マップに指定されたリストを基に請求契約照会を行います。
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ
	 * @throws Exception 例外が発生した場合
	 */
	public IRequestParameterReadWrite search(SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		// 上りマッピング
		HashMap<String, Object> paramMap = editInMsgEKK0491A010(param);
		
		// ＳＣ呼出実行
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		// 下りマッピング
		editOutMsgEKK0491A010(result, param);
		
		return param;
	}

	/**
	 * 請求契約一意照会サービスインターフェイス用メッセージ設定処理<br>
	 * @param param リクエストパラメータ
	 * @return HashMap<String, Object>
	 * @throws RequestParameterException
	 */
	private HashMap<String, Object> editInMsgEKK0491A010(IRequestParameterReadWrite param) throws RequestParameterException
	{
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(MAP_CC_ID);
		
		/* ◇パラメータマップ生成 */
		HashMap<String, Object> paramMap = this.createNewParamMap(param);
		
		/* ◇テンプレート生成(請求契約明細リストの件数分) */
		CAANMsg template = null;
		ArrayList<CAANMsg> templateList = new ArrayList<CAANMsg>();
		ArrayList<HashMap<String, Object>> idoList = getMapListItem(param, MAP_KEY_SEIKY_KEI_LIST);
		for (int idx = 0; idx < idoList.size(); idx++)
		{
			HashMap<String, Object> subMap = idoList.get(idx);
			
			/* ◇ユーザデータ情報 */
			template = new CAANMsg(EKK0491A010CBSMsg.class.getName());
			this.setTemplateCommonItem(param, template, 
					EKK0491A010CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0491A010, EKK0491A010CBSMsg.FUNC_CODE);
			
			/* ◇業務データの設定 */
			// 機能コード
			template.set(EKK0491A010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));

			// 請求契約一意照会マップ.ＫＥＹ＿請求契約番号 → ＫＥＹ＿請求契約番号
			if (subMap == null || subMap.get(MAP_KEY_SEIKY_KEI_NO) == null || "".equals(subMap.get(MAP_KEY_SEIKY_KEI_NO))) {
				template.setNull(EKK0491A010CBSMsg.KEY_SEIKY_KEI_NO);
			} else {
				template.set(EKK0491A010CBSMsg.KEY_SEIKY_KEI_NO, (String) subMap.get(MAP_KEY_SEIKY_KEI_NO));
			}

			// 請求契約一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → ＫＥＹ＿世代登録年月日時分秒
			if (subMap == null || subMap.get(MAP_KEY_KEY_GENE_ADD_DTM) == null || "".equals(subMap.get(MAP_KEY_KEY_GENE_ADD_DTM))) {
				template.setNull(EKK0491A010CBSMsg.KEY_GENE_ADD_DTM);
			} else {
				template.set(EKK0491A010CBSMsg.KEY_GENE_ADD_DTM, (String) subMap.get(MAP_KEY_KEY_GENE_ADD_DTM));
			}

			// 部品呼び出し → ＫＥＹ＿予約適用年月日
			template.set(EKK0491A010CBSMsg.KEY_RSV_APLY_YMD, com.fujitsu.futurity.bp.custom.common.JCCBPCommon.getOpeDate("CH"));

			templateList.add(template);
		}
		
		CAANMsg[] templates = templateList.toArray(new CAANMsg[templateList.size()]);
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);
		
		return paramMap;
	}
	
	/**
	 * 請求契約一意照会サービスインターフェイス用メッセージ取得処理<br>
	 * 
	 * @param msgList メッセージリスト
	 * @param param リクエストパラメータ
	 * @return IRequestParameterReadWrite
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editOutMsgEKK0491A010(Map<?, ?> msgList,
			IRequestParameterReadWrite param) throws Exception
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		
		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 業務データ設定
		HashMap<String, Object> dataMap = (HashMap<String, Object>)param.getData(MAP_CC_ID);
		if (dataMap == null)
		{
			dataMap = new HashMap<String, Object>();
			param.setData(MAP_CC_ID, dataMap);
		}
		ArrayList<HashMap<String, Object>> seikyKeiList = (ArrayList<HashMap<String, Object>>) dataMap.get(MAP_KEY_SEIKY_KEI_LIST);
		for (int idx = 0; idx < seikyKeiList.size(); idx++)
		{
			CAANMsg childTemplate;
			CAANMsg parentTemplate = templates[idx];
			HashMap<String, Object> seikyKeiMap = (HashMap<String, Object>)seikyKeiList.get(idx);

			CAANMsg[] templateArray = parentTemplate.getCAANMsgList(EKK0491A010CBSMsg.EKK0491A010CBSMSG1LIST);
			if(templateArray != null && templateArray.length != 0){

				childTemplate = templateArray[0];
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求契約番号 ← 請求契約一意照会明細.請求契約番号
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_KEI_NO)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_NO, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_NO, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_KEI_NO));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.世代登録年月日時分秒 ← 請求契約一意照会明細.世代登録年月日時分秒
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.GENE_ADD_DTM)) {
					seikyKeiMap.put(MAP_KEY_GENE_ADD_DTM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_GENE_ADD_DTM, childTemplate.getString(EKK0491A010CBSMsg1List.GENE_ADD_DTM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求契約ステータス ← 請求契約一意照会明細.請求契約ステータス
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_KEI_STAT)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_STAT, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_STAT, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_KEI_STAT));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求契約ステータス名称 ← 請求契約一意照会明細.請求契約ステータス名称
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_KEI_STAT_NM)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_STAT_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_STAT_NM, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_KEI_STAT_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.SYSID ← 請求契約一意照会明細.SYSID
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SYSID)) {
					seikyKeiMap.put(MAP_KEY_SYSID, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SYSID, childTemplate.getString(EKK0491A010CBSMsg1List.SYSID));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.SYSID名称 ← 請求契約一意照会明細.SYSID名称
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SYSID_NM)) {
					seikyKeiMap.put(MAP_KEY_SYSID_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SYSID_NM, childTemplate.getString(EKK0491A010CBSMsg1List.SYSID_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.マンションオーナーID ← 請求契約一意照会明細.マンションオーナーID
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.MANSION_OWNR_ID)) {
					seikyKeiMap.put(MAP_KEY_MANSION_OWNR_ID, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_MANSION_OWNR_ID, childTemplate.getString(EKK0491A010CBSMsg1List.MANSION_OWNR_ID));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.マンションオーナーID名称 ← 請求契約一意照会明細.マンションオーナーID名称
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.MANSION_OWNR_ID_NM)) {
					seikyKeiMap.put(MAP_KEY_MANSION_OWNR_ID_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_MANSION_OWNR_ID_NM, childTemplate.getString(EKK0491A010CBSMsg1List.MANSION_OWNR_ID_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.申込明細番号 ← 請求契約一意照会明細.申込明細番号
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.MSKM_DTL_NO)) {
					seikyKeiMap.put(MAP_KEY_MSKM_DTL_NO, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_MSKM_DTL_NO, childTemplate.getString(EKK0491A010CBSMsg1List.MSKM_DTL_NO));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求方法コード ← 請求契約一意照会明細.請求方法コード
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_WAY_CD)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_WAY_CD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_WAY_CD, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_WAY_CD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求方法コード名称 ← 請求契約一意照会明細.請求方法コード名称
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_WAY_CD_NM)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_WAY_CD_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_WAY_CD_NM, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_WAY_CD_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.次回請求方法コード ← 請求契約一意照会明細.次回請求方法コード
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.NEXT_SEIKY_WAY_DIV)) {
					seikyKeiMap.put(MAP_KEY_NEXT_SEIKY_WAY_DIV, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_NEXT_SEIKY_WAY_DIV, childTemplate.getString(EKK0491A010CBSMsg1List.NEXT_SEIKY_WAY_DIV));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.契約締結年月日 ← 請求契約一意照会明細.契約締結年月日
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.KEI_CNC_YMD)) {
					seikyKeiMap.put(MAP_KEY_KEI_CNC_YMD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_KEI_CNC_YMD, childTemplate.getString(EKK0491A010CBSMsg1List.KEI_CNC_YMD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求契約解約年月日 ← 請求契約一意照会明細.請求契約解約年月日
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_KEI_DSL_YMD)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_DSL_YMD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_DSL_YMD, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_KEI_DSL_YMD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求契約解約理由コード ← 請求契約一意照会明細.請求契約解約理由コード
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_KEI_DLRE_CD)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_DLRE_CD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_DLRE_CD, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_KEI_DLRE_CD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求契約解約理由メモ ← 請求契約一意照会明細.請求契約解約理由メモ
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_KEI_DLRE_MEMO)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_DLRE_MEMO, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_DLRE_MEMO, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_KEI_DLRE_MEMO));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求サイクルコード ← 請求契約一意照会明細.請求サイクルコード
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_CYCLE_CD)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_CYCLE_CD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_CYCLE_CD, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_CYCLE_CD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求方法変更年月日 ← 請求契約一意照会明細.請求方法変更年月日
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_WAY_CHGE_YMD)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_WAY_CHGE_YMD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_WAY_CHGE_YMD, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_WAY_CHGE_YMD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求契約カナ名 ← 請求契約一意照会明細.請求契約カナ名
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_KEI_KANA)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_KANA, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_KEI_KANA, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_KEI_KANA));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求方法番号（口座） ← 請求契約一意照会明細.請求方法番号(口座)
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_WAY_NO_KOZA)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_WAY_NO_KOZA, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_WAY_NO_KOZA, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_WAY_NO_KOZA));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求方法番号（クレジットカード） ← 請求契約一意照会明細.請求方法番号(クレジットカード)
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_WAY_NO_CRECARD)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_WAY_NO_CRECARD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_WAY_NO_CRECARD, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_WAY_NO_CRECARD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.情報表示コード ← 請求契約一意照会明細.情報表示コード
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.INFO_DSP_CD)) {
					seikyKeiMap.put(MAP_KEY_INFO_DSP_CD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_INFO_DSP_CD, childTemplate.getString(EKK0491A010CBSMsg1List.INFO_DSP_CD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求書発行要否 ← 請求契約一意照会明細.請求書発行要否
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKYUS_HAKKO_YH)) {
					seikyKeiMap.put(MAP_KEY_SEIKYUS_HAKKO_YH, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKYUS_HAKKO_YH, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKYUS_HAKKO_YH));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求書発行要否名称 ← 請求契約一意照会明細.請求書発行要否名称
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKYUS_HAKKO_YH_NM)) {
					seikyKeiMap.put(MAP_KEY_SEIKYUS_HAKKO_YH_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKYUS_HAKKO_YH_NM, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKYUS_HAKKO_YH_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求書送付先＿契約者住所差異フラグ ← 請求契約一意照会明細.請求書送付先_契約者住所差異フラグ
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SKS_SHS_KSH_AD_SAI_FLG)) {
					seikyKeiMap.put(MAP_KEY_SKS_SHS_KSH_AD_SAI_FLG, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SKS_SHS_KSH_AD_SAI_FLG, childTemplate.getString(EKK0491A010CBSMsg1List.SKS_SHS_KSH_AD_SAI_FLG));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求書送付先名＿お客様名差異フラグ ← 請求契約一意照会明細.請求書送付先名_お客様名差異フラグ
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SKS_SHS_NM_CUST_NM_SAI_FLG)) {
					seikyKeiMap.put(MAP_KEY_SKS_SHS_NM_CUST_NM_SAI_FLG, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SKS_SHS_NM_CUST_NM_SAI_FLG, childTemplate.getString(EKK0491A010CBSMsg1List.SKS_SHS_NM_CUST_NM_SAI_FLG));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先法人格種別コード ← 請求契約一意照会明細.送付先法人格種別コード
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SHS_HOJIN_SBT_CD)) {
					seikyKeiMap.put(MAP_KEY_SHS_HOJIN_SBT_CD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SHS_HOJIN_SBT_CD, childTemplate.getString(EKK0491A010CBSMsg1List.SHS_HOJIN_SBT_CD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先法人格前後指定コード ← 請求契約一意照会明細.送付先法人格前後指定コード
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SHS_HOJIN_ZENGO_SHITEI_CD)) {
					seikyKeiMap.put(MAP_KEY_SHS_HOJIN_ZENGO_SHITEI_CD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SHS_HOJIN_ZENGO_SHITEI_CD, childTemplate.getString(EKK0491A010CBSMsg1List.SHS_HOJIN_ZENGO_SHITEI_CD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先カナ名 ← 請求契約一意照会明細.送付先カナ名
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SHS_KANA)) {
					seikyKeiMap.put(MAP_KEY_SHS_KANA, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SHS_KANA, childTemplate.getString(EKK0491A010CBSMsg1List.SHS_KANA));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先名 ← 請求契約一意照会明細.送付先名
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_NM)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_NM, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先部課名 ← 請求契約一意照会明細.送付先部課名
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_BKM)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_BKM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_BKM, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_BKM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先担当者名 ← 請求契約一意照会明細.送付先担当者名
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_TNTSHA_NM)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_TNTSHA_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_TNTSHA_NM, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_TNTSHA_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先住所コード ← 請求契約一意照会明細.送付先住所コード
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_AD_CD)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_AD_CD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_AD_CD, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_AD_CD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先郵便番号 ← 請求契約一意照会明細.送付先郵便番号
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_PCD)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_PCD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_PCD, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_PCD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先都道府県名 ← 請求契約一意照会明細.送付先都道府県名
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_STATE_NM)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_STATE_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_STATE_NM, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_STATE_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先市区町村名 ← 請求契約一意照会明細.送付先市区町村名
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_CITY_NM)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_CITY_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_CITY_NM, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_CITY_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先大字通称名 ← 請求契約一意照会明細.送付先大字通称名
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_OAZTSU_NM)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_OAZTSU_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_OAZTSU_NM, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_OAZTSU_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先字丁目名 ← 請求契約一意照会明細.送付先字丁目名
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_AZCHO_NM)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_AZCHO_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_AZCHO_NM, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_AZCHO_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先住所補記・建物名 ← 請求契約一意照会明細.送付先住所補記・建物名
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_ADRTTM)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_ADRTTM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_ADRTTM, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_ADRTTM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先住所補記・部屋番号 ← 請求契約一意照会明細.送付先住所補記・部屋番号
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_ADRRM)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_ADRRM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_ADRRM, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_ADRRM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先番地号 ← 請求契約一意照会明細.送付先番地号
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_BNCHIGO)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_BNCHIGO, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_BNCHIGO, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_BNCHIGO));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先電話番号 ← 請求契約一意照会明細.送付先電話番号
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_TELNO)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_TELNO, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_TELNO, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_TELNO));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先FAX番号 ← 請求契約一意照会明細.送付先FAX番号
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_FAX_NO)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_FAX_NO, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_FAX_NO, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_FAX_NO));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.送付先メールアドレス ← 請求契約一意照会明細.送付先メールアドレス
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SOHUS_MLAD)) {
					seikyKeiMap.put(MAP_KEY_SOHUS_MLAD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SOHUS_MLAD, childTemplate.getString(EKK0491A010CBSMsg1List.SOHUS_MLAD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求書送付先住所確定後変更可否 ← 請求契約一意照会明細.請求書送付先住所確定後変更可否
//				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SKS_SHS_AD_FIX_AF_CHGE_KH)) {
//					seikyKeiMap.put(MAP_KEY_SKS_SHS_AD_FIX_AF_CHGE_KH, new String());
//				} else {
//					seikyKeiMap.put(MAP_KEY_SKS_SHS_AD_FIX_AF_CHGE_KH, childTemplate.getString(EKK0491A010CBSMsg1List.SKS_SHS_AD_FIX_AF_CHGE_KH));
//				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求書送付先住所確定後変更可否名称 ← 請求契約一意照会明細.請求書送付先住所確定後変更可否名称
//				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SKS_SHS_AD_FIX_AF_CHGE_KH_NM)) {
//					seikyKeiMap.put(MAP_KEY_SKS_SHS_AD_FIX_AF_CHGE_KH_NM, new String());
//				} else {
//					seikyKeiMap.put(MAP_KEY_SKS_SHS_AD_FIX_AF_CHGE_KH_NM, childTemplate.getString(EKK0491A010CBSMsg1List.SKS_SHS_AD_FIX_AF_CHGE_KH_NM));
//				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求書送付先変更年月日 ← 請求契約一意照会明細.請求書送付先変更年月日
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKYUS_SOHUS_CHGE_YMD)) {
					seikyKeiMap.put(MAP_KEY_SEIKYUS_SOHUS_CHGE_YMD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKYUS_SOHUS_CHGE_YMD, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKYUS_SOHUS_CHGE_YMD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.請求方法適用調整年月日 ← 請求契約一意照会明細.請求方法適用調整年月日
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.SEIKY_WAY_APLY_ADJ_YMD)) {
					seikyKeiMap.put(MAP_KEY_SEIKY_WAY_APLY_ADJ_YMD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_SEIKY_WAY_APLY_ADJ_YMD, childTemplate.getString(EKK0491A010CBSMsg1List.SEIKY_WAY_APLY_ADJ_YMD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.強制窓口フラグ ← 請求契約一意照会明細.強制窓口フラグ
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.KYOSEI_MADOGUCHI_FLG)) {
					seikyKeiMap.put(MAP_KEY_KYOSEI_MADOGUCHI_FLG, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_KYOSEI_MADOGUCHI_FLG, childTemplate.getString(EKK0491A010CBSMsg1List.KYOSEI_MADOGUCHI_FLG));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.予約適用開始希望年月日 ← 請求契約一意照会明細.予約適用開始希望年月日
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.RSV_TSTA_KIBO_YMD)) {
					seikyKeiMap.put(MAP_KEY_RSV_TSTA_KIBO_YMD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_RSV_TSTA_KIBO_YMD, childTemplate.getString(EKK0491A010CBSMsg1List.RSV_TSTA_KIBO_YMD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.予約適用年月日 ← 請求契約一意照会明細.予約適用年月日
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.RSV_APLY_YMD)) {
					seikyKeiMap.put(MAP_KEY_RSV_APLY_YMD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_RSV_APLY_YMD, childTemplate.getString(EKK0491A010CBSMsg1List.RSV_APLY_YMD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.予約取消年月日 ← 請求契約一意照会明細.予約取消年月日
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.RSV_CL_YMD)) {
					seikyKeiMap.put(MAP_KEY_RSV_CL_YMD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_RSV_CL_YMD, childTemplate.getString(EKK0491A010CBSMsg1List.RSV_CL_YMD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.予約適用コード ← 請求契約一意照会明細.予約適用コード
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.RSV_APLY_CD)) {
					seikyKeiMap.put(MAP_KEY_RSV_APLY_CD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_RSV_APLY_CD, childTemplate.getString(EKK0491A010CBSMsg1List.RSV_APLY_CD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.予約適用コード名称 ← 請求契約一意照会明細.予約適用コード名称
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.RSV_APLY_CD_NM)) {
					seikyKeiMap.put(MAP_KEY_RSV_APLY_CD_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_RSV_APLY_CD_NM, childTemplate.getString(EKK0491A010CBSMsg1List.RSV_APLY_CD_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.異動区分 ← 請求契約一意照会明細.異動区分
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.IDO_DIV)) {
					seikyKeiMap.put(MAP_KEY_IDO_DIV, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_IDO_DIV, childTemplate.getString(EKK0491A010CBSMsg1List.IDO_DIV));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.異動区分名称 ← 請求契約一意照会明細.異動区分名称
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.IDO_DIV_NM)) {
					seikyKeiMap.put(MAP_KEY_IDO_DIV_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_IDO_DIV_NM, childTemplate.getString(EKK0491A010CBSMsg1List.IDO_DIV_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.初回請求年月 ← 請求契約一意照会明細.初回請求年月
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.FIRST_SEIKY_YM)) {
					seikyKeiMap.put(MAP_KEY_FIRST_SEIKY_YM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_FIRST_SEIKY_YM, childTemplate.getString(EKK0491A010CBSMsg1List.FIRST_SEIKY_YM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.初回支払申込書送付要否 ← 請求契約一意照会明細.初回支払申込書送付要否
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.FIRST_PAY_MSKMSHO_SOHU_YH)) {
					seikyKeiMap.put(MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YH, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YH, childTemplate.getString(EKK0491A010CBSMsg1List.FIRST_PAY_MSKMSHO_SOHU_YH));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.初回支払申込書送付要否名称 ← 請求契約一意照会明細.初回支払申込書送付要否名称
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.FIRST_PAY_MSKMSHO_SOHU_YH_NM)) {
					seikyKeiMap.put(MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YH_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YH_NM, childTemplate.getString(EKK0491A010CBSMsg1List.FIRST_PAY_MSKMSHO_SOHU_YH_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.初回支払申込書送付年月日 ← 請求契約一意照会明細.初回支払申込書送付年月日
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.FIRST_PAY_MSKMSHO_SOHU_YMD)) {
					seikyKeiMap.put(MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YMD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YMD, childTemplate.getString(EKK0491A010CBSMsg1List.FIRST_PAY_MSKMSHO_SOHU_YMD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.初回支払申込書受領年月日 ← 請求契約一意照会明細.初回支払申込書受領年月日
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.FIRST_PAY_MSKMSHO_RCP_YMD)) {
					seikyKeiMap.put(MAP_KEY_FIRST_PAY_MSKMSHO_RCP_YMD, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_FIRST_PAY_MSKMSHO_RCP_YMD, childTemplate.getString(EKK0491A010CBSMsg1List.FIRST_PAY_MSKMSHO_RCP_YMD));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.登録年月日時分秒 ← 請求契約一意照会明細.登録年月日時分秒
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.ADD_DTM)) {
					seikyKeiMap.put(MAP_KEY_ADD_DTM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_ADD_DTM, childTemplate.getString(EKK0491A010CBSMsg1List.ADD_DTM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.登録オペレータアカウント ← 請求契約一意照会明細.登録オペレータアカウント
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.ADD_OPEACNT)) {
					seikyKeiMap.put(MAP_KEY_ADD_OPEACNT, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_ADD_OPEACNT, childTemplate.getString(EKK0491A010CBSMsg1List.ADD_OPEACNT));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.更新年月日時分秒 ← 請求契約一意照会明細.更新年月日時分秒
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.UPD_DTM)) {
					seikyKeiMap.put(MAP_KEY_UPD_DTM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_UPD_DTM, childTemplate.getString(EKK0491A010CBSMsg1List.UPD_DTM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.更新オペレータアカウント ← 請求契約一意照会明細.更新オペレータアカウント
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.UPD_OPEACNT)) {
					seikyKeiMap.put(MAP_KEY_UPD_OPEACNT, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_UPD_OPEACNT, childTemplate.getString(EKK0491A010CBSMsg1List.UPD_OPEACNT));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.削除年月日時分秒 ← 請求契約一意照会明細.削除年月日時分秒
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.DEL_DTM)) {
					seikyKeiMap.put(MAP_KEY_DEL_DTM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_DEL_DTM, childTemplate.getString(EKK0491A010CBSMsg1List.DEL_DTM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.削除オペレータアカウント ← 請求契約一意照会明細.削除オペレータアカウント
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.DEL_OPEACNT)) {
					seikyKeiMap.put(MAP_KEY_DEL_OPEACNT, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_DEL_OPEACNT, childTemplate.getString(EKK0491A010CBSMsg1List.DEL_OPEACNT));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.無効フラグ ← 請求契約一意照会明細.無効フラグ
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.MK_FLG)) {
					seikyKeiMap.put(MAP_KEY_MK_FLG, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_MK_FLG, childTemplate.getString(EKK0491A010CBSMsg1List.MK_FLG));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.無効フラグ名称 ← 請求契約一意照会明細.無効フラグ名称
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.MK_FLG_NM)) {
					seikyKeiMap.put(MAP_KEY_MK_FLG_NM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_MK_FLG_NM, childTemplate.getString(EKK0491A010CBSMsg1List.MK_FLG_NM));
				}
			
				// 請求契約一意照会マップ.請求契約一意照会明細.最終更新年月日時分秒 ← 請求契約一意照会明細.最終更新年月日時分秒
				if (childTemplate.isNull(EKK0491A010CBSMsg1List.LAST_UPD_DTM)) {
					seikyKeiMap.put(MAP_KEY_LAST_UPD_DTM, new String());
				} else {
					seikyKeiMap.put(MAP_KEY_LAST_UPD_DTM, childTemplate.getString(EKK0491A010CBSMsg1List.LAST_UPD_DTM));
				}
			}else{
				// 請求契約が取得できなかった場合、全項目を初期化する
				seikyKeiMap.put(MAP_KEY_SEIKY_KEI_NO, new String());
				seikyKeiMap.put(MAP_KEY_GENE_ADD_DTM, new String());
				seikyKeiMap.put(MAP_KEY_SEIKY_KEI_STAT, new String());
				seikyKeiMap.put(MAP_KEY_SEIKY_KEI_STAT_NM, new String());
				seikyKeiMap.put(MAP_KEY_SYSID, new String());
				seikyKeiMap.put(MAP_KEY_SYSID_NM, new String());
				seikyKeiMap.put(MAP_KEY_MANSION_OWNR_ID, new String());
				seikyKeiMap.put(MAP_KEY_MANSION_OWNR_ID_NM, new String());
				seikyKeiMap.put(MAP_KEY_MSKM_DTL_NO, new String());
				seikyKeiMap.put(MAP_KEY_SEIKY_WAY_CD, new String());
				seikyKeiMap.put(MAP_KEY_SEIKY_WAY_CD_NM, new String());
				seikyKeiMap.put(MAP_KEY_NEXT_SEIKY_WAY_DIV, new String());
				seikyKeiMap.put(MAP_KEY_KEI_CNC_YMD, new String());
				seikyKeiMap.put(MAP_KEY_SEIKY_KEI_DSL_YMD, new String());
				seikyKeiMap.put(MAP_KEY_SEIKY_KEI_DLRE_CD, new String());
				seikyKeiMap.put(MAP_KEY_SEIKY_KEI_DLRE_MEMO, new String());
				seikyKeiMap.put(MAP_KEY_SEIKY_CYCLE_CD, new String());
				seikyKeiMap.put(MAP_KEY_SEIKY_WAY_CHGE_YMD, new String());
				seikyKeiMap.put(MAP_KEY_SEIKY_KEI_KANA, new String());
				seikyKeiMap.put(MAP_KEY_SEIKY_WAY_NO_KOZA, new String());
				seikyKeiMap.put(MAP_KEY_SEIKY_WAY_NO_CRECARD, new String());
				seikyKeiMap.put(MAP_KEY_INFO_DSP_CD, new String());
				seikyKeiMap.put(MAP_KEY_SEIKYUS_HAKKO_YH, new String());
				seikyKeiMap.put(MAP_KEY_SEIKYUS_HAKKO_YH_NM, new String());
				seikyKeiMap.put(MAP_KEY_SKS_SHS_KSH_AD_SAI_FLG, new String());
				seikyKeiMap.put(MAP_KEY_SKS_SHS_NM_CUST_NM_SAI_FLG, new String());
				seikyKeiMap.put(MAP_KEY_SHS_HOJIN_SBT_CD, new String());
				seikyKeiMap.put(MAP_KEY_SHS_HOJIN_ZENGO_SHITEI_CD, new String());
				seikyKeiMap.put(MAP_KEY_SHS_KANA, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_NM, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_BKM, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_TNTSHA_NM, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_AD_CD, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_PCD, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_STATE_NM, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_CITY_NM, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_OAZTSU_NM, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_AZCHO_NM, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_ADRTTM, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_ADRRM, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_BNCHIGO, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_TELNO, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_FAX_NO, new String());
				seikyKeiMap.put(MAP_KEY_SOHUS_MLAD, new String());
				seikyKeiMap.put(MAP_KEY_SKS_SHS_AD_FIX_AF_CHGE_KH, new String());
				seikyKeiMap.put(MAP_KEY_SKS_SHS_AD_FIX_AF_CHGE_KH_NM, new String());
				seikyKeiMap.put(MAP_KEY_SEIKYUS_SOHUS_CHGE_YMD, new String());
				seikyKeiMap.put(MAP_KEY_SEIKY_WAY_APLY_ADJ_YMD, new String());
				seikyKeiMap.put(MAP_KEY_KYOSEI_MADOGUCHI_FLG, new String());
				seikyKeiMap.put(MAP_KEY_RSV_TSTA_KIBO_YMD, new String());
				seikyKeiMap.put(MAP_KEY_RSV_APLY_YMD, new String());
				seikyKeiMap.put(MAP_KEY_RSV_CL_YMD, new String());
				seikyKeiMap.put(MAP_KEY_RSV_APLY_CD, new String());
				seikyKeiMap.put(MAP_KEY_RSV_APLY_CD_NM, new String());
				seikyKeiMap.put(MAP_KEY_IDO_DIV, new String());
				seikyKeiMap.put(MAP_KEY_IDO_DIV_NM, new String());
				seikyKeiMap.put(MAP_KEY_FIRST_SEIKY_YM, new String());
				seikyKeiMap.put(MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YH, new String());
				seikyKeiMap.put(MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YH_NM, new String());
				seikyKeiMap.put(MAP_KEY_FIRST_PAY_MSKMSHO_SOHU_YMD, new String());
				seikyKeiMap.put(MAP_KEY_FIRST_PAY_MSKMSHO_RCP_YMD, new String());
				seikyKeiMap.put(MAP_KEY_ADD_DTM, new String());
				seikyKeiMap.put(MAP_KEY_ADD_OPEACNT, new String());
				seikyKeiMap.put(MAP_KEY_UPD_DTM, new String());
				seikyKeiMap.put(MAP_KEY_UPD_OPEACNT, new String());
				seikyKeiMap.put(MAP_KEY_DEL_DTM, new String());
				seikyKeiMap.put(MAP_KEY_DEL_OPEACNT, new String());
				seikyKeiMap.put(MAP_KEY_MK_FLG, new String());
				seikyKeiMap.put(MAP_KEY_MK_FLG_NM, new String());
				seikyKeiMap.put(MAP_KEY_LAST_UPD_DTM, new String());
			}
		}

		// エラー情報の設定
		editErrorInfoEKK0491A010(param, templates, (Integer)return_code);

		//エラー情報のマップを取得
		ArrayList<Object> errList = (ArrayList<Object>)param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if(errList == null)
		{
			errList = new ArrayList<Object>();
		}
		// コントロールマップに設定
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(msgList, errList));
		
		// 例外通知
		String rtnCode = msgList.get(JCMConstants.RET_CD_INT_KEY).toString();
		String status = (String)param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if(!("0".equals(rtnCode) && 0 == Integer.parseInt(status)))
		{
			throw new SCCallException("INVALID_RETURN_MESSAGE", rtnCode, (Integer)return_code);
		}

		return param;
	}
	
	/**
	 * 請求契約一意照会サービスIF実行後に、IRequestParameterReadWriteにエラー情報をマッピングする
	 * @param param リクエストパラメータ
	 * @param templates テンプレート
	 * @param returnCode リターンコード
	 * @return IRequestParameterReadWrite
	 * @throws RequestParameterException RequestParameterException
	 */
	public IRequestParameterReadWrite editErrorInfoEKK0491A010(IRequestParameterReadWrite param
			, CAANMsg[] templates, int returnCode) throws RequestParameterException
	{
		ArrayList<HashMap<String, Object>> seikyKeiList = getMapListItem(param, MAP_KEY_SEIKY_KEI_LIST);
		for (int idx = 0; idx < seikyKeiList.size(); idx++)
		{
			CAANMsg template = templates[idx];
			HashMap<String, Object> seikyKeiMap = (HashMap<String, Object>)seikyKeiList.get(idx);
			
			int templateStatus = template.getInt(EKK0491A010CBSMsg.STATUS);
			if (returnCode != 0)
			{
				templateStatus = 9000;
			}

			if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
			{
				templateStatus = 0;
			}
			
			int bpStatus = 0;
			Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
			if (obj == null)
			{
				bpStatus = -1;
			}
			else
			{
				bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
			}
			
			if (templateStatus > bpStatus)
			{
				// BPにサービスコンポーネントのステータスを設定する。
				String formatStatus = String.format("%1$04d", templateStatus);
				String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
				param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
				param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
			}

			// 請求契約一意照会マップ.ＫＥＹ＿請求契約番号 → ＫＥＹ＿請求契約番号 のエラー情報返却
			if (!template.isNull(EKK0491A010CBSMsg.KEY_SEIKY_KEI_NO_ERR)) {
				if (!seikyKeiMap.containsKey(MAP_KEY_KEY_SEIKY_KEI_NO_ERR)) {
					seikyKeiMap.put(MAP_KEY_KEY_SEIKY_KEI_NO_ERR, template.getString(EKK0491A010CBSMsg.KEY_SEIKY_KEI_NO_ERR));
				}
			}
			// 請求契約一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → ＫＥＹ＿世代登録年月日時分秒 のエラー情報返却
			if (!template.isNull(EKK0491A010CBSMsg.KEY_GENE_ADD_DTM_ERR)) {
				if (!seikyKeiMap.containsKey(MAP_KEY_KEY_GENE_ADD_DTM_ERR)) {
					seikyKeiMap.put(MAP_KEY_KEY_GENE_ADD_DTM_ERR, template.getString(EKK0491A010CBSMsg.KEY_GENE_ADD_DTM_ERR));
				}
			}
		}

		return param;
	}
	
	// ▼▼ クラス内共通処理 ▼▼
	/**
	 * サービスインタフェースに渡すパラメータマップを新規に作成します。
	 * マップには共通項目である電文ヘッダ、コントロールマップを設定します。
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param childMap 請求契約明細１件のマップ
	 * @throws RequestParameterException パラメータ取得で例外が発生した場合
	 */
	private HashMap<String, Object> createNewParamMap(IRequestParameterReadWrite param) throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		/* ◇電文ヘッダ */
		// 電文ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
		// ユースケースID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
		// オペレーションID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
		// サービス呼び出し区分
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());

		/* ◇コントロールマップ */
		// 依頼先ホスト名
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// 依頼元IPアドレス
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// 依頼元画面ID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// オペレータID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));
		
		return paramMap;
	}

	/**
	 * テンプレートの共通項目を設定します。
	 * <br>
	 * @param param リクエストパラメータ
	 * @param template テンプレート
	 * @param templateIdKey テンプレートIDキー名
	 * @param templateIdVal テンプレートID値
	 * @param templateFuncCdKey テンプレート機能コードキー名
	 * @throws RequestParameterException パラメータ取得で例外が発生した場合
	 */
	private CAANMsg setTemplateCommonItem(IRequestParameterReadWrite param, CAANMsg template, 
											String templateIdKey, String templateIdVal, String templateFuncCdKey) throws RequestParameterException
	{
		// テンプレートID
		template.set(templateIdKey, templateIdVal);

		// 機能コード（デフォルト：１）
		template.set(templateFuncCdKey, "1");

		// オペレータID
		Object operatorId = param.getControlMapData(SCControlMapKeys.OPERATOR_ID);
		template.set(JCMConstants.OPERATOR_ID_KEY, operatorId);

		// 運用日付
		Object operateDate = param.getControlMapData(SCControlMapKeys.OPE_DATE);
		template.set(JCMConstants.OPERATE_DATE_KEY, operateDate);

		// 運用日時
		Object operateDateTime = param.getControlMapData(SCControlMapKeys.OPE_TIME);
		template.set(JCMConstants.OPERATE_DATETIME_KEY, operateDateTime);
		
		return template;
	}

	/**
	 * マップから指定された項目名の値を取得します。
	 * <br>
	 * @param param リクエストパラメータ
	 * @param key 項目名
	 * @return マップ項目値
	 * @throws RequestParameterException パラメータ取得で例外が発生した場合
	 */
	@SuppressWarnings("unchecked")
	private String getMapItem(IRequestParameterReadWrite param, String key) throws RequestParameterException
	{
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(MAP_CC_ID);
		return (String)inMap.get(key);
	}
	
	/**
	 * マップから指定されたリスト項目名の値を取得します。
	 * <br>
	 * @param param リクエストパラメータ
	 * @param key リスト項目名
	 * @return マップ項目値
	 * @throws RequestParameterException パラメータ取得で例外が発生した場合
	 */
	@SuppressWarnings("unchecked")
	private ArrayList<HashMap<String, Object>> getMapListItem(IRequestParameterReadWrite param, String key) throws RequestParameterException
	{
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(MAP_CC_ID);
		return (ArrayList<HashMap<String, Object>>)inMap.get(key);
	}
	// ▲▲ クラス内共通処理 ▲▲
}
