/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JFUAddSvcKeiTvCC
*   ソースファイル名：JFUAddSvcKeiTvCC.java
*   作成者          ：富士通
*   日付            ：2011年06月01日
*＜機能概要＞
*   ｅｏ光テレビ登録部品
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/06/01   FJ）        新規作成
*   v1.01.00    2013/04/23   FJ)大塚     No708 エラー情報マッピング不備対応
*   v10.00.00   2014/07/09   FJ)清水     【ANK-2135-00-00】BSオプションチャンネル「スターチャンネル」とのセット割検討
*   v39.00.00   2018/09/12   FJ)岡井     【ANK-3488-00-00】4KSTB（ACASチップ）導入対応
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
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.CCException;
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.JFUStrConst;
import eo.ejb.cbs.cbsmsg.EKK0101D010CBSMsg; //import eo.ejb.cbs.cbsmsg.EKK0171D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0181D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341D010CBSMsg;

//IT1-2012-0001150 不要インポート削除 2012/10/16 h.iwamoto

/**
 * ｅｏ光テレビ登録部品
 * <br>
 * @author 富士通
 */
public class JFUAddSvcKeiTvCC extends AbstractCommonComponent
{
	/** テンプレートID */
	public static final String TEMPLATE_ID_TV = "EKK0101D010"; // サービス契約＜TV＞登録マップ
	public static final String TEMPLATE_ID_TV_UTC = "EKK0181D010"; //サービス契約内訳＜TV＞登録マップ 
	public static final String TEMPLATE_ID_KK = "EKK0341D010Tv"; // 機器提供サービス契約登録マップ
	/** 作業マップ名 */
	private static final String CC_WORK_AREA_NAME = "JFUAddSvcKeiTvCCWork";
	private static final String CC_WORK_AREA_NAME_KEISHA = "JFUAddKeishaServiceCCWork";
	private static final String CC_WORK_AREA_NAME_MSKM = "JFUAddMskmSCWork";
	private static final String CC_WORK_AREA_NAME_MSKM_LIST = "JFUAddMskmServiceCCWorkList";
	private static final String CC_WORK_AREA_NAME_SKK = "JFUAddSkkSCWork";

	/** 割引サービス自動適用CC用マップ名 */
	private static final String CC_WRI_SVC_AUTO_APLY_MAP = "JKKWrisvcAutoAplyCCMap";

	/** サービス契約グループリスト */
	private static final String SVC_KEI_GRP_LIST = "svc_kei_grp_list";

	/** サービス契約リスト */
	private static final String SVC_KEI_LIST = "svc_kei_list";

	/** リターンメッセージ */
	private static final String RETURN_MESSAGE_STRING = "RETURN_MESSAGE_";
	private static final String RETURN_MESSAGE_FORMAT = "%1$04d";
	/** エラー用 */
	private static final int TMCK_ERR_STATUS = 1000;
	private static final String SC_ERROR_STRING = "サービスコンポーネントエラー";
	
	/** スターチャンネルセット割マップ名 */
	private static final String FUSV015229CC = "FUSV015229CC";
	/** SYSID */
	private static final String SYSID = "sysid";
	/** サービス契約番号 */
	private static final String SVC_KEI_NO = "svc_kei_no";
	/** 申込明細番号 */
	private static final String MSKM_DTL_NO = "mskm_dtl_no";
	/** EKK0101申込明細番号 */
	private static final String EKK0101_MSKM_DTL_NO = "ekk0101_mskm_dtl_no";
	/** 更新年月日時分秒（更新前） */
	private static final String KK0081_UPD_DTM = "kk0081_upd_dtm";
	/** 更新年月日 */
	private static final String UPD_DTM = "upd_dtm";
	
	/** 申込時登録不可契約予約登録マップ名 */
	private static final String EKK2931D010 = "EKK2931D010";
	/** 設定対象契約番号 */
	private static final String SETE_TG_KEI_NO = "sete_tg_kei_no";
	/** 更新年月日時分秒(更新前) */
	private static final String UPD_DTM_BF = "upd_dtm_bf";
	
	/**
	 * 作業エリア
	 */
	private String getWorkMapValue(IRequestParameterReadWrite param, String key, String fixText) throws RequestParameterException
	{
		// 作業領域の取得
		Map workMap = (Map)param.getMappingWorkArea();

		HashMap inMap = null;
		/* 作業項目情報 */
		if (workMap != null)
		{
			inMap = (HashMap)workMap.get(fixText);
		}
		else
		{
			inMap = null;
		}

		String result = null;
		if (inMap != null)
		{
			result = (String)inMap.get(key);
		}

		if ("".equals(result))
		{
			result = null;
		}

		return result;
	}

	/**
	 * チェック処理<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
	{
		ArrayList<CAANMsg> msgList = new ArrayList<CAANMsg>();
		int devCnt = 0;
		HashMap inWorkMap = null;

		// サービス契約＜TV＞登録マップがなければ、処理終了
		HashMap inMap = (HashMap)param.getData(TEMPLATE_ID_TV);
		if (inMap == null)
		{
			return null;
		}

		// サービス契約＜TV＞登録
		msgList.add(editInEKK0101D010(param, TEMPLATE_ID_TV));

		// STB台数取得
		inMap = (HashMap)param.getData(TEMPLATE_ID_TV_UTC);
		if (inMap != null)
		{
			devCnt = ((ArrayList)inMap.get("EKK0181D010List")).size();
			for (int i = 0; i < devCnt; i++)
			{
				// サービス契約内訳＜TV＞登録
				msgList.add(editInEKK0181D010(param, TEMPLATE_ID_TV_UTC, i));
			}

			// 機器台数取得
			inMap = (HashMap)param.getData(TEMPLATE_ID_KK);
			devCnt = ((ArrayList)inMap.get("EKK0341D010TvList")).size();
			for (int i = 0; i < devCnt; i++)
			{
				// 機器提供サービス契約登録
				msgList.add(editInEKK0341D010(param, TEMPLATE_ID_KK, i));
			}
		}

		int msgCnt = msgList.size();
		CAANMsg[] templates = new CAANMsg[msgCnt];
		for (int i = 0; i < msgCnt; i++)
		{
			templates[i] = msgList.get(i);
		}

		HashMap<String, Object> paramMap = setSCInputCommonData(param, new HashMap<String, Object>());
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * ｅｏ光テレビ登録処理
	 * <br>
	 * @param handle
	 * @param param
	 * @param fixedText
	 * @return
	 */
	public IRequestParameterReadWrite addTvTrk(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> paramMap = setSCInputCommonData(param, new HashMap<String, Object>());
		Map<?, ?> result = null;
		CAANMsg template = null;
		boolean bcasAddFlg = true;

		/* ユーザデータ情報 */
		HashMap inMapChk = (HashMap)(param.getData(TEMPLATE_ID_TV));
		if (inMapChk == null)
		{
			return param;
		}

		// サービス契約＜TV＞登録
		template = editInEKK0101D010(param, TEMPLATE_ID_TV); // 上りマッピング
		result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
		editRetEKK0101D010(result, param, TEMPLATE_ID_TV); // 下りマッピング
		if (getReturnCode(param) >= TMCK_ERR_STATUS)
		{ // ステータスが単項目エラー以上であれば例外をスロー
			throw new CCException(SC_ERROR_STRING, new Exception());
		}

		// STB台数取得
		HashMap inMap = (HashMap)param.getData(TEMPLATE_ID_TV_UTC);
		if (inMap != null)
		{
			// B-CAS不要HDD容量コードを取得
			List<String> bcasFuyoStbHddCapaCd = JFUBPCommon.getWorkParamSplit(handle, param, JFUStrConst.KK_HDD_CAPA_BCASNONE);
			if(bcasFuyoStbHddCapaCd == null || bcasFuyoStbHddCapaCd.size() == 0)
			{
				bcasFuyoStbHddCapaCd = new ArrayList<String>();
			}

			int devCnt = ((ArrayList)inMap.get("EKK0181D010List")).size();
			for (int i = 0; i < devCnt; i++)
			{
				// サービス契約内訳＜TV＞登録
				template = editInEKK0181D010(param, TEMPLATE_ID_TV_UTC, i); // 上りマッピング
				result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
				editRetEKK0181D010(result, param, TEMPLATE_ID_TV_UTC, i); // 下りマッピング
				if (getReturnCode(param) >= TMCK_ERR_STATUS)
				{ // ステータスが単項目エラー以上であれば例外をスロー
					throw new CCException(SC_ERROR_STRING, new Exception());
				}
			}

			// 機器台数
			inMap = (HashMap)param.getData(TEMPLATE_ID_KK);
			devCnt = ((ArrayList)inMap.get("EKK0341D010TvList")).size();
			for (int i = 0; i < devCnt; i++)
			{
				HashMap childMap = (HashMap)((ArrayList)inMap.get("EKK0341D010TvList")).get(i);

				// 以下の判定処理は、@STB AB-CAS BC-CAS 順の組み合わせを繰り返すことが前提
				// 現在はDBMapperでインデックス固定でマッピングしているので問題なし
				String hddCapaCd = (String)childMap.get("hdd_capa_cd");
				String taknkikiSbtCd = (String)childMap.get("taknkiki_sbt_cd");

				if(JFUStrConst.TKNI_KIKI_SBT_CD_A0.equals(taknkikiSbtCd))
				{
					// STB機器で判定を初期化
					bcasAddFlg = true;

					if(!JFUBPCommon.isNull(hddCapaCd) && bcasFuyoStbHddCapaCd.contains(hddCapaCd))
					{
						// B-CAS登録不要STBの場合、フラグを変更
						bcasAddFlg = false;
					}
				}

				if(JFUStrConst.TKNI_KIKI_SBT_CD_B0.equals(taknkikiSbtCd) && !bcasAddFlg)
				{
					// B-CASで登録不要の場合、処理をスキップ
					continue;
				}

				// 機器提供サービス契約登録
				template = editInEKK0341D010(param, TEMPLATE_ID_KK, i); // 上りマッピング
				result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
				editRetEKK0341D010(result, param, TEMPLATE_ID_KK, i); // 下りマッピング
				if (getReturnCode(param) >= TMCK_ERR_STATUS)
				{ // ステータスが単項目エラー以上であれば例外をスロー
					throw new CCException(SC_ERROR_STRING, new Exception());
				}
			}
		}

		// 2012/04/30 一括登録対応 START
		// eo光テレビオプション登録の上りマッピングをする
		if (null != (HashMap)param.getData("EKK0381D010"))
		{
			editInEKK0381D010(param, "EKK0381D010");
		}

		// 進捗登録の上りマッピングをする
		editInEKK1091D010(param, "EKK1091D010");
		// 2012/04/30 一括登録対応 END

		return param;
	}

	/**
	 * SCの実行ステータスの取得処理
	 * <br>
	 * @param param
	 * @return
	 */
	private int getReturnCode(IRequestParameterReadWrite param) throws Exception
	{
		return Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
	}

	/**
	 * 単一CAANMsgのマッピング処理
	 * <br>
	 * @param paramMap
	 * @param template
	 * @return
	 */
	private HashMap<String, Object> putParamMap(HashMap<String, Object> paramMap, CAANMsg template) throws RequestParameterException
	{
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * SCインプット共通データ設定処理
	 * <br>
	 * @param param
	 * @param paramMap
	 * @return
	 */
	private HashMap<String, Object> setSCInputCommonData(IRequestParameterReadWrite param, HashMap<String, Object> paramMap)
			throws RequestParameterException
	{
		/* SCインプット共通データ */
		// **********************************************
		// 【取得元：電文ヘッダ(ヘッダ)】
		// **********************************************
		// 電文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;
	}

	/**
	 * サービス契約＜TV＞登録の上りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @return
	 */
	private CAANMsg editInEKK0101D010(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0101D010CBSMsg.class.getName());
		CAANMsg[] templateArray = null;

		HashMap inMap = null;
		ArrayList inList = null;

		// テンプレートID
		template.set(EKK0101D010CBSMsg.TEMPLATEID, fixedText);

		// 機能コード（デフォルト：１）
		template.set(EKK0101D010CBSMsg.FUNC_CODE, "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);

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);

		// 機能コード
		if (inMap != null)
		{
			template.set(EKK0101D010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.ＳＹＳＩＤ → SYSID
		if (inMap == null || inMap.get("sysid") == null || "".equals(inMap.get("sysid")))
		{
			// ++++++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++++++++ */
			// template.setNull(EKK0101D010CBSMsg.SYSID);
			String sysid = getWorkMapValue(param, "sysid", CC_WORK_AREA_NAME_KEISHA);
			if (sysid == null)
			{
				template.setNull(EKK0101D010CBSMsg.SYSID);
			}
			else
			{
				template.set(EKK0101D010CBSMsg.SYSID, sysid);
			}
			// +++++++++++++++++++ v1.00.00 追加終了 ++++++++++++++++++++++++++++++++ */
		}
		else
		{
			template.set(EKK0101D010CBSMsg.SYSID, (String)inMap.get("sysid"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.サービスコード → サービスコード
		if (inMap == null || inMap.get("svc_cd") == null || "".equals(inMap.get("svc_cd")))
		{
			template.setNull(EKK0101D010CBSMsg.SVC_CD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.SVC_CD, (String)inMap.get("svc_cd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.申込明細番号 → 申込明細番号
		if (inMap == null || inMap.get("mskm_dtl_no") == null || "".equals(inMap.get("mskm_dtl_no")))
		{
			/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++ */
			//template.setNull(EKK0101D010CBSMsg.MSKM_DTL_NO);
			String mskm_dtl_no = getWorkMapValue(param, "ekk0101_mskm_dtl_no", CC_WORK_AREA_NAME_MSKM);
			if (mskm_dtl_no == null)
			{
				template.setNull(EKK0101D010CBSMsg.MSKM_DTL_NO);
				;
			}
			else
			{
				template.set(EKK0101D010CBSMsg.MSKM_DTL_NO, mskm_dtl_no);
			}
			/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++ */
		}
		else
		{
			template.set(EKK0101D010CBSMsg.MSKM_DTL_NO, (String)inMap.get("mskm_dtl_no"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.面開発案件番号 → 面開発案件番号
		if (inMap == null || inMap.get("menkaihat_anken_no") == null || "".equals(inMap.get("menkaihat_anken_no")))
		{
			template.setNull(EKK0101D010CBSMsg.MENKAIHAT_ANKEN_NO);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.MENKAIHAT_ANKEN_NO, (String)inMap.get("menkaihat_anken_no"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.料金グループコード → 料金グループコード
		if (inMap == null || inMap.get("prc_grp_cd") == null || "".equals(inMap.get("prc_grp_cd")))
		{
			template.setNull(EKK0101D010CBSMsg.PRC_GRP_CD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.PRC_GRP_CD, (String)inMap.get("prc_grp_cd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.料金コースコード → 料金コースコード
		if (inMap == null || inMap.get("pcrs_cd") == null || "".equals(inMap.get("pcrs_cd")))
		{
			template.setNull(EKK0101D010CBSMsg.PCRS_CD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.PCRS_CD, (String)inMap.get("pcrs_cd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.料金プランコード → 料金プランコード
		if (inMap == null || inMap.get("pplan_cd") == null || "".equals(inMap.get("pplan_cd")))
		{
			template.setNull(EKK0101D010CBSMsg.PPLAN_CD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.PPLAN_CD, (String)inMap.get("pplan_cd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.提供方式契約番号 → 提供方式契約番号
		if (inMap == null || inMap.get("tk_hoshiki_kei_no") == null || "".equals(inMap.get("tk_hoshiki_kei_no")))
		{
			template.setNull(EKK0101D010CBSMsg.TK_HOSHIKI_KEI_NO);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.TK_HOSHIKI_KEI_NO, (String)inMap.get("tk_hoshiki_kei_no"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.サービス利用開始希望年月日 → サービス利用開始希望年月日
		if (inMap == null || inMap.get("svc_use_sta_kibo_ymd") == null || "".equals(inMap.get("svc_use_sta_kibo_ymd")))
		{
			template.setNull(EKK0101D010CBSMsg.SVC_USE_STA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.SVC_USE_STA_KIBO_YMD, (String)inMap.get("svc_use_sta_kibo_ymd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.予約適用開始希望年月日 → 予約適用開始希望年月日
		if (inMap == null || inMap.get("rsv_tsta_kibo_ymd") == null || "".equals(inMap.get("rsv_tsta_kibo_ymd")))
		{
			template.setNull(EKK0101D010CBSMsg.RSV_TSTA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.RSV_TSTA_KIBO_YMD, (String)inMap.get("rsv_tsta_kibo_ymd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.ＩＤ速報書出力要否 → ID速報書出力要否
		if (inMap == null || inMap.get("id_sokhosho_output_yh") == null || "".equals(inMap.get("id_sokhosho_output_yh")))
		{
			template.setNull(EKK0101D010CBSMsg.ID_SOKHOSHO_OUTPUT_YH);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.ID_SOKHOSHO_OUTPUT_YH, (String)inMap.get("id_sokhosho_output_yh"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.支払方法継続フラグ → 支払方法継続フラグ
		if (inMap == null || inMap.get("payway_keizoku_flg") == null || "".equals(inMap.get("payway_keizoku_flg")))
		{
			template.setNull(EKK0101D010CBSMsg.PAYWAY_KEIZOKU_FLG);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.PAYWAY_KEIZOKU_FLG, (String)inMap.get("payway_keizoku_flg"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.試用加入年月日 → 試用加入年月日
		if (inMap == null || inMap.get("ftrial_kanyu_ymd") == null || "".equals(inMap.get("ftrial_kanyu_ymd")))
		{
			template.setNull(EKK0101D010CBSMsg.FTRIAL_KANYU_YMD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.FTRIAL_KANYU_YMD, (String)inMap.get("ftrial_kanyu_ymd"));
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.試用期間終了年月日 → 試用期間終了年月日
		if (inMap == null || inMap.get("ftrial_prd_endymd") == null || "".equals(inMap.get("ftrial_prd_endymd")))
		{
			template.setNull(EKK0101D010CBSMsg.FTRIAL_PRD_ENDYMD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.FTRIAL_PRD_ENDYMD, (String)inMap.get("ftrial_prd_endymd"));
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.本加入年月日 → 本加入年月日
		if (inMap == null || inMap.get("honkanyu_ymd") == null || "".equals(inMap.get("honkanyu_ymd")))
		{
			template.setNull(EKK0101D010CBSMsg.HONKANYU_YMD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.HONKANYU_YMD, (String)inMap.get("honkanyu_ymd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.本加入移行期限年月日 → 本加入移行期限年月日
		if (inMap == null || inMap.get("honkanyu_iko_kigen_ymd") == null || "".equals(inMap.get("honkanyu_iko_kigen_ymd")))
		{
			template.setNull(EKK0101D010CBSMsg.HONKANYU_IKO_KIGEN_YMD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.HONKANYU_IKO_KIGEN_YMD, (String)inMap.get("honkanyu_iko_kigen_ymd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.レター発送仕分区分 → レター発送仕分区分
		if (inMap == null || inMap.get("letter_hasso_shiwake_div") == null || "".equals(inMap.get("letter_hasso_shiwake_div")))
		{
			template.setNull(EKK0101D010CBSMsg.LETTER_HASSO_SHIWAKE_DIV);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.LETTER_HASSO_SHIWAKE_DIV, (String)inMap.get("letter_hasso_shiwake_div"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.サンキューレター送付先コード → サンキューレター送付先コード
		if (inMap == null || inMap.get("thnx_letter_shs_cd") == null || "".equals(inMap.get("thnx_letter_shs_cd")))
		{
			template.setNull(EKK0101D010CBSMsg.THNX_LETTER_SHS_CD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.THNX_LETTER_SHS_CD, (String)inMap.get("thnx_letter_shs_cd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.ＷＥＢオプション追加不可フラグ → WEBオプション追加不可フラグ
		if (inMap == null || inMap.get("web_op_add_fail_flg") == null || "".equals(inMap.get("web_op_add_fail_flg")))
		{
			template.setNull(EKK0101D010CBSMsg.WEB_OP_ADD_FAIL_FLG);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.WEB_OP_ADD_FAIL_FLG, (String)inMap.get("web_op_add_fail_flg"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.変更元法人サービス契約受付番号 → 変更元法人サービス契約受付番号
		if (inMap == null || inMap.get("chge_mt_hojinsvkei_uk_no") == null || "".equals(inMap.get("chge_mt_hojinsvkei_uk_no")))
		{
			template.setNull(EKK0101D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NO);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NO, (String)inMap.get("chge_mt_hojinsvkei_uk_no"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.変更元法人サービス契約受付番号子 → 変更元法人サービス契約受付番号子
		if (inMap == null || inMap.get("chge_mt_hojinsvkei_uk_nopt") == null || "".equals(inMap.get("chge_mt_hojinsvkei_uk_nopt")))
		{
			template.setNull(EKK0101D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NOPT);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NOPT, (String)inMap.get("chge_mt_hojinsvkei_uk_nopt"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.違約金発生コード → 違約金発生コード
		if (inMap == null || inMap.get("pnlty_hassei_cd") == null || "".equals(inMap.get("pnlty_hassei_cd")))
		{
			template.setNull(EKK0101D010CBSMsg.PNLTY_HASSEI_CD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.PNLTY_HASSEI_CD, (String)inMap.get("pnlty_hassei_cd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.異動区分 → 異動区分
		if (inMap == null || inMap.get("ido_div") == null || "".equals(inMap.get("ido_div")))
		{
			template.setNull(EKK0101D010CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.IDO_DIV, (String)inMap.get("ido_div"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.紹介コード → 紹介コード
		if (inMap == null || inMap.get("intr_cd") == null || "".equals(inMap.get("intr_cd")))
		{
			template.setNull(EKK0101D010CBSMsg.INTR_CD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.INTR_CD, (String)inMap.get("intr_cd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.業務連絡備考 → 業務連絡備考
		if (inMap == null || inMap.get("biko") == null || "".equals(inMap.get("work_rrk_biko")))
		{
			template.setNull(EKK0101D010CBSMsg.WORK_RRK_BIKO);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.WORK_RRK_BIKO, (String)inMap.get("work_rrk_biko"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.自動照査処理状態コード → 自動照査処理状態コード
		if (inMap == null || inMap.get("auto_shosa_tran_stat_cd") == null || "".equals(inMap.get("auto_shosa_tran_stat_cd")))
		{
			template.setNull(EKK0101D010CBSMsg.AUTO_SHOSA_TRAN_STAT_CD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.AUTO_SHOSA_TRAN_STAT_CD, (String)inMap.get("auto_shosa_tran_stat_cd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.電波障害案件番号 → 電波障害案件番号
		if (inMap == null || inMap.get("dmps_anken_no") == null || "".equals(inMap.get("dmps_anken_no")))
		{
			template.setNull(EKK0101D010CBSMsg.DMPS_ANKEN_NO);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.DMPS_ANKEN_NO, (String)inMap.get("dmps_anken_no"));
		}

		// ----- 2012/05/07 サービスインターフェイス取込対応 h.iwamoto START -----
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.再送信提供サービス種別コード → 自動照査処理状態コード
		if (inMap == null || inMap.get("re_send_tk_svc_sbt_cd") == null || "".equals("re_send_tk_svc_sbt_cd"))
		{
			template.setNull(EKK0101D010CBSMsg.RE_SEND_TK_SVC_SBT_CD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.RE_SEND_TK_SVC_SBT_CD, (String)inMap.get("re_send_tk_svc_sbt_cd"));
		}
		// ----- 2012/05/07 サービスインターフェイス取込対応 h.iwamoto END -----

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.ＴＶ営業地区コード → TV営業地区コード
		if (inMap == null || inMap.get("tv_business_chik_cd") == null || "".equals(inMap.get("tv_business_chik_cd")))
		{
			template.setNull(EKK0101D010CBSMsg.TV_BUSINESS_CHIK_CD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.TV_BUSINESS_CHIK_CD, (String)inMap.get("tv_business_chik_cd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.ＴＶ営業担当ユーザーＩＤ → TV営業担当ユーザーID
		if (inMap == null || inMap.get("tv_business_tnt_user_id") == null || "".equals(inMap.get("tv_business_tnt_user_id")))
		{
			template.setNull(EKK0101D010CBSMsg.TV_BUSINESS_TNT_USER_ID);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.TV_BUSINESS_TNT_USER_ID, (String)inMap.get("tv_business_tnt_user_id"));
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.課金先番号
		if (inMap == null || inMap.get("kakins_no") == null || "".equals(inMap.get("kakins_no")))
		{
			template.setNull(EKK0101D010CBSMsg.KAKINS_NO);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.KAKINS_NO, (String)inMap.get("kakins_no"));
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.請求契約番号
		if (inMap == null || inMap.get("seiky_kei_no") == null || "".equals(inMap.get("seiky_kei_no")))
		{
			/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++ */
			//template.setNull(EKK0101D010CBSMsg.SEIKY_KEI_NO);
			String seiky_kei_no = getWorkMapValue(param, "seiky_kei_no", CC_WORK_AREA_NAME_SKK);
			if (seiky_kei_no == null)
			{
				template.setNull(EKK0101D010CBSMsg.SEIKY_KEI_NO);
				;
			}
			else
			{
				template.set(EKK0101D010CBSMsg.SEIKY_KEI_NO, seiky_kei_no);
			}
			/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++ */
		}
		else
		{
			template.set(EKK0101D010CBSMsg.SEIKY_KEI_NO, (String)inMap.get("seiky_kei_no"));
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.料金項目コード
		if (inMap == null || inMap.get("prc_kmk_cd") == null || "".equals(inMap.get("prc_kmk_cd")))
		{
			template.setNull(EKK0101D010CBSMsg.PRC_KMK_CD);
		}
		else
		{
			template.set(EKK0101D010CBSMsg.PRC_KMK_CD, (String)inMap.get("prc_kmk_cd"));
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録.工事費自動適用要否 → 工事費自動適用要否
		if ("".equals(inMap.get("rule0079_auto_aply")))
		{
			template.setNull("rule0079_auto_aply");
		}
		else
		{
			template.set("rule0079_auto_aply", (String)inMap.get("rule0079_auto_aply"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録.事務手数料自動適用要否 → 事務手数料自動適用要否
		if ("".equals(inMap.get("rule0059_auto_aply")))
		{
			template.setNull("rule0059_auto_aply");
		}
		else
		{
			template.set("rule0059_auto_aply", (String)inMap.get("rule0059_auto_aply"));
		}

		return template;
	}

	/**
	 * サービス契約内訳＜TV＞登録の上りマッピング
	 * <br>
	 * @param param
	 * @param fixedText
	 * @param index
	 * @return
	 */
	private CAANMsg editInEKK0181D010(IRequestParameterReadWrite param, String fixedText, int index) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0181D010CBSMsg.class.getName());
		CAANMsg[] templateArray = null;

		HashMap inMap = null;
		ArrayList inList = null;

		// テンプレートID
		template.set(EKK0181D010CBSMsg.TEMPLATEID, fixedText);

		// 機能コード（デフォルト：１）
		template.set(EKK0181D010CBSMsg.FUNC_CODE, "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);

		// 作業領域の取得
		Map workMap = (Map)param.getMappingWorkArea();

		/* ユーザデータ情報 */
		inMap = (HashMap<String, Object>)param.getData(fixedText);

		/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++ */
		inMap = (HashMap)((ArrayList)inMap.get("EKK0181D010List")).get(index);
		/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++ */

		// 機能コード
		template.set(EKK0181D010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.サービス契約番号 → サービス契約番号
		if (inMap == null || inMap.get("svc_kei_no") == null || "".equals(inMap.get("svc_kei_no")))
		{
			//template.setNull(EKK0181D010CBSMsg.SVC_KEI_NO);
			String svc_kei_no = getWorkMapValue(param, "svc_kei_no", CC_WORK_AREA_NAME);
			if (svc_kei_no == null)
			{
				template.setNull(EKK0181D010CBSMsg.SVC_KEI_NO);
			}
			else
			{
				template.set(EKK0181D010CBSMsg.SVC_KEI_NO, svc_kei_no);
			}
			/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++ */
		}
		else
		{
			template.set(EKK0181D010CBSMsg.SVC_KEI_NO, (String)inMap.get("svc_kei_no"));
		}

		// 申込登録.申込明細番号 → 申込明細番号
		if (inMap == null || inMap.get("mskm_dtl_no") == null || "".equals(inMap.get("mskm_dtl_no")))
		{
			/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++ */
			//template.setNull(EKK0181D010CBSMsg.MSKM_DTL_NO);
			String mskm_dtl_no = getWorkMapValue(param, "ekk0101_mskm_dtl_no", CC_WORK_AREA_NAME_MSKM);
			if (mskm_dtl_no == null)
			{
				template.setNull(EKK0181D010CBSMsg.MSKM_DTL_NO);
				;
			}
			else
			{
				template.set(EKK0181D010CBSMsg.MSKM_DTL_NO, mskm_dtl_no);
			}
			/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++ */
		}
		else
		{
			template.set(EKK0181D010CBSMsg.MSKM_DTL_NO, (String)inMap.get("mskm_dtl_no"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.料金コースコード → 料金コースコード
		if (inMap == null || inMap.get("") == null || "".equals(inMap.get("EKK0181D010Msg1List")))
		{
			if (inMap == null || inMap.get("pcrs_cd") == null || "".equals(inMap.get("pcrs_cd")))
			{
				template.setNull(EKK0181D010CBSMsg.PCRS_CD);
			}
			else
			{
				template.set(EKK0181D010CBSMsg.PCRS_CD, (String)inMap.get("pcrs_cd"));
			}
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.料金プランコード → 料金プランコード
		if (inMap == null || inMap.get("pplan_cd") == null || "".equals(inMap.get("pplan_cd")))
		{
			template.setNull(EKK0181D010CBSMsg.PPLAN_CD);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.PPLAN_CD, (String)inMap.get("pplan_cd"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.提供方式契約番号 → 提供方式契約番号
		if (inMap == null || inMap.get("tk_hoshiki_kei_no") == null || "".equals(inMap.get("tk_hoshiki_kei_no")))
		{
			template.setNull(EKK0181D010CBSMsg.TK_HOSHIKI_KEI_NO);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.TK_HOSHIKI_KEI_NO, (String)inMap.get("tk_hoshiki_kei_no"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.支払方法継続フラグ → 支払方法継続フラグ
		if (inMap == null || inMap.get("payway_keizoku_flg") == null || "".equals(inMap.get("payway_keizoku_flg")))
		{
			template.setNull(EKK0181D010CBSMsg.PAYWAY_KEIZOKU_FLG);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.PAYWAY_KEIZOKU_FLG, (String)inMap.get("payway_keizoku_flg"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.ＷＥＢオプション追加不可フラグ → WEBオプション追加不可フラグ
		if (inMap == null || inMap.get("web_op_add_fail_flg") == null || "".equals(inMap.get("web_op_add_fail_flg")))
		{
			template.setNull(EKK0181D010CBSMsg.WEB_OP_ADD_FAIL_FLG);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.WEB_OP_ADD_FAIL_FLG, (String)inMap.get("web_op_add_fail_flg"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.業務連絡備考 → 業務連絡備考
		if (inMap == null || inMap.get("work_rrk_biko") == null || "".equals(inMap.get("work_rrk_biko")))
		{
			template.setNull(EKK0181D010CBSMsg.WORK_RRK_BIKO);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.WORK_RRK_BIKO, (String)inMap.get("work_rrk_biko"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.サービス利用開始希望年月日 → サービス利用開始希望年月日
		if (inMap == null || inMap.get("svc_use_sta_kibo_ymd") == null || "".equals(inMap.get("svc_use_sta_kibo_ymd")))
		{
			template.setNull(EKK0181D010CBSMsg.SVC_USE_STA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.SVC_USE_STA_KIBO_YMD, (String)inMap.get("svc_use_sta_kibo_ymd"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.予約適用開始希望年月日 → 予約適用開始希望年月日
		if (inMap == null || inMap.get("rsv_tsta_kibo_ymd") == null || "".equals(inMap.get("rsv_tsta_kibo_ymd")))
		{
			template.setNull(EKK0181D010CBSMsg.RSV_TSTA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.RSV_TSTA_KIBO_YMD, (String)inMap.get("rsv_tsta_kibo_ymd"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.試用加入年月日 → 試用加入年月日
		if (inMap == null || inMap.get("ftrial_kanyu_ymd") == null || "".equals(inMap.get("ftrial_kanyu_ymd")))
		{
			template.setNull(EKK0181D010CBSMsg.FTRIAL_KANYU_YMD);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.FTRIAL_KANYU_YMD, (String)inMap.get("ftrial_kanyu_ymd"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.試用期間終了年月日 → 試用期間終了年月日
		if (inMap == null || inMap.get("ftrial_prd_endymd") == null || "".equals(inMap.get("ftrial_prd_endymd")))
		{
			template.setNull(EKK0181D010CBSMsg.FTRIAL_PRD_ENDYMD);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.FTRIAL_PRD_ENDYMD, (String)inMap.get("ftrial_prd_endymd"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.本加入年月日 → 本加入年月日
		if (inMap == null || inMap.get("honkanyu_ymd") == null || "".equals(inMap.get("honkanyu_ymd")))
		{
			template.setNull(EKK0181D010CBSMsg.HONKANYU_YMD);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.HONKANYU_YMD, (String)inMap.get("honkanyu_ymd"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.本加入移行期限年月日 → 本加入移行期限年月日
		if (inMap == null || inMap.get("honkanyu_iko_kigen_ymd") == null || "".equals(inMap.get("honkanyu_iko_kigen_ymd")))
		{
			template.setNull(EKK0181D010CBSMsg.HONKANYU_IKO_KIGEN_YMD);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.HONKANYU_IKO_KIGEN_YMD, (String)inMap.get("honkanyu_iko_kigen_ymd"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.違約金発生コード → 違約金発生コード
		if (inMap == null || inMap.get("pnlty_hassei_cd") == null || "".equals(inMap.get("pnlty_hassei_cd")))
		{
			template.setNull(EKK0181D010CBSMsg.PNLTY_HASSEI_CD);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.PNLTY_HASSEI_CD, (String)inMap.get("pnlty_hassei_cd"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.異動区分 → 異動区分
		if (inMap == null || inMap.get("ido_div") == null || "".equals(inMap.get("ido_div")))
		{
			template.setNull(EKK0181D010CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.IDO_DIV, (String)inMap.get("ido_div"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.撤去工事希望年月日 → 撤去工事希望年月日
		if (inMap == null || inMap.get("tekkyo_koji_kibo_ymd") == null || "".equals(inMap.get("tekkyo_koji_kibo_ymd")))
		{
			template.setNull(EKK0181D010CBSMsg.TEKKYO_KOJI_KIBO_YMD);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.TEKKYO_KOJI_KIBO_YMD, (String)inMap.get("tekkyo_koji_kibo_ymd"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.アダルトフラグ → アダルトフラグ
		if (inMap == null || inMap.get("adult_flg") == null || "".equals(inMap.get("adult_flg")))
		{
			template.setNull(EKK0181D010CBSMsg.ADULT_FLG);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.ADULT_FLG, (String)inMap.get("adult_flg"));
		}

		// 請求契約登録マップ.請求契約番号 → 請求契約番号
		if (inMap == null || inMap.get("seiky_kei_no") == null || "".equals(inMap.get("seiky_kei_no")))
		{
			/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++ */
			//template.setNull(EKK0181D010CBSMsg.SEIKY_KEI_NO);
			String seiky_kei_no = getWorkMapValue(param, "seiky_kei_no", CC_WORK_AREA_NAME_SKK);
			if (seiky_kei_no == null)
			{
				template.setNull(EKK0181D010CBSMsg.SEIKY_KEI_NO);
				;
			}
			else
			{
				template.set(EKK0181D010CBSMsg.SEIKY_KEI_NO, seiky_kei_no);
			}
			/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++ */

		}
		else
		{
			template.set(EKK0181D010CBSMsg.SEIKY_KEI_NO, (String)inMap.get("seiky_kei_no"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.料金項目CD → 料金項目CD
		if (inMap == null || inMap.get("prc_kmk_cd") == null || "".equals(inMap.get("prc_kmk_cd")))
		{
			template.setNull(EKK0181D010CBSMsg.PRC_KMK_CD);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.PRC_KMK_CD, (String)inMap.get("prc_kmk_cd"));
		}

		// ----- 2012/05/07 サービスインターフェイス取込対応 h.iwamoto START -----
		// 更新年月日時分秒(更新前)
		String upd_dtm_bf = (String)((HashMap)(param.getData("EKK0101D010"))).get(EKK0101D010CBSMsg.UPD_DTM);
		if (upd_dtm_bf == null)
		{
			template.setNull(EKK0181D010CBSMsg.UPD_DTM_BF);
		}
		else
		{
			template.set(EKK0181D010CBSMsg.UPD_DTM_BF, upd_dtm_bf);
		}
		// ----- 2012/05/07 サービスインターフェイス取込対応 h.iwamoto END -----

		return template;
	}

	/**
	 * 機器提供サービス契約登録の上りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @param index
	 * @return
	 */
	private CAANMsg editInEKK0341D010(IRequestParameterReadWrite param, String fixedText, int index) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0341D010CBSMsg.class.getName());
		HashMap inMap = null;
		HashMap useplaceAddressMap = null;
//ANK-4498-00-00 ADD START
		HashMap kikiSohusAddressMap = null;
//ANK-4498-00-00 ADD END
		String post = null;

		// テンプレートID
		template.set(EKK0341D010CBSMsg.TEMPLATEID, fixedText);

		// 機能コード（デフォルト：１）
		template.set(EKK0341D010CBSMsg.FUNC_CODE, "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);

		// 作業領域の取得
		Map workMap = (Map)param.getMappingWorkArea();

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);

		/* 分割後の利用所住所情報 */
		useplaceAddressMap = (HashMap)param.getData("FUSV015211CC");

		// 2012/09/25 add by Otsuka
		// 分割後利用場所住所情報  一括登録
		if (null == useplaceAddressMap)
		{
			useplaceAddressMap = (HashMap)param.getData("FUSV016102CC");
		}

//ANK-4498-00-00 ADD START
		//機器送付先用住所
		//マンションの場合
		if("1".equals(inMap.get("MSKM_MNS_TYPE")))
		{
			//分割後契約者住所情報 仮登録 一括登録
			kikiSohusAddressMap=(HashMap)param.getData("FUSV015212CC");

			//分割後契約者住所登録 本登録
			if(null==kikiSohusAddressMap)
			{
				kikiSohusAddressMap=(HashMap)param.getData("FUSV016007CC");
			}
		}
		//ホーム・メゾンの場合
		else
		{
			// 分割後利用場所住所情報  本登録
			kikiSohusAddressMap = (HashMap)param.getData("FUSV015211CC");

			// 2012/09/25 add by Otsuka
			// 分割後利用場所住所情報  一括登録
			if (null == kikiSohusAddressMap)
			{
				kikiSohusAddressMap = (HashMap)param.getData("FUSV016102CC");
			}
		}
		// 2012/09/25 add by Otsuka
//ANK-4498-00-00 ADD END

		/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++++++++++ */
		inMap = (HashMap)((ArrayList)inMap.get("EKK0341D010TvList")).get(index);
		/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++++++++++ */

		// 機能コード
		template.set(EKK0341D010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));

		// 機器提供サービス契約登録マップ.機器提供サービスコード → 機器提供サービスコード
		if (inMap == null || inMap.get("kktk_svc_cd") == null || "".equals(inMap.get("kktk_svc_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.KKTK_SVC_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KKTK_SVC_CD, (String)inMap.get("kktk_svc_cd"));
		}

		// 機器提供サービス契約登録マップ.料金コースコード → 料金コースコード
		if (inMap == null || inMap.get("pcrs_cd") == null || "".equals(inMap.get("pcrs_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.PCRS_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.PCRS_CD, (String)inMap.get("pcrs_cd"));
		}

		// 機器提供サービス契約登録マップ.料金プランコード → 料金プランコード
		if (inMap == null || inMap.get("pplan_cd") == null || "".equals(inMap.get("pplan_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.PPLAN_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.PPLAN_CD, (String)inMap.get("pplan_cd"));
		}
		// 機器提供種別コード
		if (inMap == null || inMap.get("kktk_sbt_cd") == null || "".equals(inMap.get("kktk_sbt_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.KKTK_SBT_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KKTK_SBT_CD, (String)inMap.get("kktk_sbt_cd"));
		}
		// 機器提供サービス契約登録マップ.ＨＤＤ容量コード → HDD容量コード
		if (inMap == null || inMap.get("hdd_capa_cd") == null || "".equals(inMap.get("hdd_capa_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.HDD_CAPA_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.HDD_CAPA_CD, (String)inMap.get("hdd_capa_cd"));
		}

		// 機器提供サービス契約登録マップ.サービス利用開始希望年月日 → サービス利用開始希望年月日
		if (inMap == null || inMap.get("svc_use_sta_kibo_ymd") == null || "".equals(inMap.get("svc_use_sta_kibo_ymd")))
		{
			template.setNull(EKK0341D010CBSMsg.SVC_USE_STA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.SVC_USE_STA_KIBO_YMD, (String)inMap.get("svc_use_sta_kibo_ymd"));
		}

		// 機器提供サービス契約登録マップ.予約適用開始希望年月日 → 予約適用開始希望年月日
		if (inMap == null || inMap.get("rsv_tsta_kibo_ymd") == null || "".equals(inMap.get("rsv_tsta_kibo_ymd")))
		{
			template.setNull(EKK0341D010CBSMsg.RSV_TSTA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.RSV_TSTA_KIBO_YMD, (String)inMap.get("rsv_tsta_kibo_ymd"));
		}

		// 機器提供サービス契約登録マップ.希望メーカーコード → 希望メーカーコード
		if (inMap == null || inMap.get("kibo_maker_cd") == null || "".equals(inMap.get("kibo_maker_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.KIBO_MAKER_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIBO_MAKER_CD, (String)inMap.get("kibo_maker_cd"));
		}

		// 機器提供サービス契約登録マップ.販売種別コード → 販売種別コード
		if (inMap == null || inMap.get("hambai_sbt_cd") == null || "".equals(inMap.get("hambai_sbt_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.HAMBAI_SBT_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.HAMBAI_SBT_CD, (String)inMap.get("hambai_sbt_cd"));
		}

		// 機器提供サービス契約登録マップ.通信機器セットコード → 通信機器セットコード
		if (inMap == null || inMap.get("tsushin_kiki_set_cd") == null || "".equals(inMap.get("tsushin_kiki_set_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.TSUSHIN_KIKI_SET_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.TSUSHIN_KIKI_SET_CD, (String)inMap.get("tsushin_kiki_set_cd"));
		}

		// 機器提供サービス契約登録マップ.宅内機器種別コード → 宅内機器種別コード
		if (inMap == null || inMap.get("taknkiki_sbt_cd") == null || "".equals(inMap.get("taknkiki_sbt_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.TAKNKIKI_SBT_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.TAKNKIKI_SBT_CD, (String)inMap.get("taknkiki_sbt_cd"));
		}

		// 機器提供サービス契約登録マップ.宅内機器型式コード → 宅内機器型式コード
		if (inMap == null || inMap.get("taknkiki_model_cd") == null || "".equals(inMap.get("taknkiki_model_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.TAKNKIKI_MODEL_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.TAKNKIKI_MODEL_CD, (String)inMap.get("taknkiki_model_cd"));
		}

		// 機器提供サービス契約登録マップ.宅内機器セット品型コード → 宅内機器セット品型コード
		if (inMap == null || inMap.get("taknkiki_sethin_model_cd") == null || "".equals(inMap.get("taknkiki_sethin_model_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.TAKNKIKI_SETHIN_MODEL_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.TAKNKIKI_SETHIN_MODEL_CD, (String)inMap.get("taknkiki_sethin_model_cd"));
		}

		// 機器提供サービス契約登録マップ.付属品種別コード → 付属品種別コード
		if (inMap == null || inMap.get("huzokuhin_sbt_cd") == null || "".equals(inMap.get("huzokuhin_sbt_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.HUZOKUHIN_SBT_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.HUZOKUHIN_SBT_CD, (String)inMap.get("huzokuhin_sbt_cd"));
		}

		// 機器提供サービス契約登録マップ.機器設置先場所番号 → 機器設置先場所番号
		if (inMap == null || inMap.get("kiki_stc_saki_place_no") == null || "".equals(inMap.get("kiki_stc_saki_place_no")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_PLACE_NO);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SAKI_PLACE_NO, (String)inMap.get("kiki_stc_saki_place_no"));
		}

		// 機器提供サービス.親契約識別コード → 親契約識別コード
		if (inMap == null || inMap.get("oya_kei_skbt_cd") == null || "".equals(inMap.get("oya_kei_skbt_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.OYA_KEI_SKBT_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.OYA_KEI_SKBT_CD, (String)inMap.get("oya_kei_skbt_cd"));
		}

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.サービス契約番号 → サービス契約番号
		if (inMap == null || inMap.get("svc_kei_no") == null || "".equals(inMap.get("svc_kei_no")))
		{
			/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++ */
			//template.setNull(EKK0341D010CBSMsg.SVC_KEI_NO);
			String svc_kei_no = getWorkMapValue(param, "svc_kei_no", CC_WORK_AREA_NAME);
			if (svc_kei_no == null)
			{
				template.setNull(EKK0341D010CBSMsg.SVC_KEI_NO);
			}
			else
			{
				template.set(EKK0341D010CBSMsg.SVC_KEI_NO, svc_kei_no);
			}
			/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++ */

		}
		else
		{
			template.set(EKK0341D010CBSMsg.SVC_KEI_NO, (String)inMap.get("svc_kei_no"));
		}

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.サービス契約内訳番号 → サービス契約内訳番号
		if (inMap == null || inMap.get("svc_kei_ucwk_no") == null || "".equals(inMap.get("svc_kei_ucwk_no")))
		{
			/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++ */
			//template.setNull(EKK0341D010CBSMsg.SVC_KEI_UCWK_NO);
			String svc_kei_ucwk_no = null;
			// 内訳インデックス取得
			post = String.valueOf(index / 3);
			svc_kei_ucwk_no = getWorkMapValue(param, "svc_kei_ucwk_no_" + post, CC_WORK_AREA_NAME);
			if (svc_kei_ucwk_no == null)
			{
				template.setNull(EKK0341D010CBSMsg.SVC_KEI_UCWK_NO);
			}
			else
			{
				template.set(EKK0341D010CBSMsg.SVC_KEI_UCWK_NO, svc_kei_ucwk_no);
			}
			/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++ */
		}
		else
		{
			template.set(EKK0341D010CBSMsg.SVC_KEI_UCWK_NO, (String)inMap.get("svc_kei_ucwk_no"));
		}

		// 機器提供サービス契約登録マップ.サービス契約回線内訳番号 → サービス契約回線内訳番号
		if (inMap == null || inMap.get("svc_kei_kaisen_ucwk_no") == null || "".equals(inMap.get("svc_kei_kaisen_ucwk_no")))
		{
			template.setNull(EKK0341D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, (String)inMap.get("svc_kei_kaisen_ucwk_no"));
		}

		// 機器提供サービス契約登録マップ.オプションサービス契約番号 → オプションサービス契約番号
		if (inMap == null || inMap.get("op_svc_kei_no") == null || "".equals(inMap.get("op_svc_kei_no")))
		{
			template.setNull(EKK0341D010CBSMsg.OP_SVC_KEI_NO);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.OP_SVC_KEI_NO, (String)inMap.get("op_svc_kei_no"));
		}

		// 機器提供サービス契約登録マップ.ＳＹＳＩＤ → SYSID
		if (inMap == null || inMap.get("sysid") == null || "".equals(inMap.get("sysid")))
		{
			// ++++++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++++++++ */
			// template.setNull(EKK0341D010CBSMsg.SYSID);
			String sysid = getWorkMapValue(param, "sysid", CC_WORK_AREA_NAME_KEISHA);
			if (sysid == null)
			{
				template.setNull(EKK0341D010CBSMsg.SYSID);
			}
			else
			{
				template.set(EKK0341D010CBSMsg.SYSID, sysid);
			}
			// +++++++++++++++++++ v1.00.00 追加終了 ++++++++++++++++++++++++++++++++ */
		}
		else
		{
			template.set(EKK0341D010CBSMsg.SYSID, (String)inMap.get("sysid"));
		}

		// 機器提供サービス契約登録マップ.申込明細番号 → 申込明細番号
		if (inMap == null || inMap.get("mskm_dtl_no") == null || "".equals(inMap.get("mskm_dtl_no")))
		{
			/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++ */
			//template.setNull(EKK0341D010CBSMsg.MSKM_DTL_NO);
			String mskm_dtl_no = getWorkMapValue(param, "ekk0101_mskm_dtl_no", CC_WORK_AREA_NAME_MSKM);
			if (mskm_dtl_no == null)
			{
				template.setNull(EKK0341D010CBSMsg.MSKM_DTL_NO);
				;
			}
			else
			{
				template.set(EKK0341D010CBSMsg.MSKM_DTL_NO, mskm_dtl_no);
			}
			/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++ */
		}
		else
		{
			template.set(EKK0341D010CBSMsg.MSKM_DTL_NO, (String)inMap.get("mskm_dtl_no"));
		}

		// 機器提供サービス契約登録マップ.リンクＳＴＢフラグ → リンクSTBフラグ
		if (inMap == null || inMap.get("link_stb_flg") == null || "".equals(inMap.get("link_stb_flg")))
		{
			template.setNull(EKK0341D010CBSMsg.LINK_STB_FLG);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.LINK_STB_FLG, (String)inMap.get("link_stb_flg"));
		}

		// ↓↓ ■2011/10/15 項目追加■ ↓↓ 
		// 機器提供サービス.機器引当指定倉庫コード → 機器引当指定倉庫コード
		if ("".equals(inMap.get("kiki_hkat_shitei_soko_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD, (String)inMap.get("kiki_hkat_shitei_soko_cd"));
		}

		// 機器提供サービス.機器引当指定倉庫棚コード → 機器引当指定倉庫棚コード
		if ("".equals(inMap.get("kiki_hkat_shitei_skdn_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD, (String)inMap.get("kiki_hkat_shitei_skdn_cd"));
		}
		// ↑↑ ■2011/10/15 項目追加■ ↑↑ 

		// 機器提供サービス契約登録マップ.機器送料有無 → 機器送料有無
		if (inMap == null || inMap.get("kiki_soryo_um") == null || "".equals(inMap.get("kiki_soryo_um")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SORYO_UM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SORYO_UM, (String)inMap.get("kiki_soryo_um"));
		}

		// 機器提供サービス契約登録マップ.機器送料作成年月日 → 機器送料作成年月日
		if (inMap == null || inMap.get("kiki_soryo_saksei_ymd") == null || "".equals(inMap.get("kiki_soryo_saksei_ymd")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SORYO_SAKSEI_YMD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SORYO_SAKSEI_YMD, (String)inMap.get("kiki_soryo_saksei_ymd"));
		}

		// 機器提供サービス契約登録マップ.機器送付先名 → 機器送付先名
		if (inMap == null || inMap.get("kiki_sohus_nm") == null || "".equals(inMap.get("kiki_sohus_nm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_NM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SOHUS_NM, (String)inMap.get("kiki_sohus_nm"));
		}

		// 機器提供サービス契約登録マップ.機器送付先カナ名 → 機器送付先カナ名
		if (inMap == null || inMap.get("kiki_sohus_kana") == null || "".equals(inMap.get("kiki_sohus_kana")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_KANA);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SOHUS_KANA, (String)inMap.get("kiki_sohus_kana"));
		}

		// =================== ↓↓分割処理後の住所情報を設定するよう修正 2011/10/8 ↓↓ ====================
//ANK-4498-00-00 MOD START
		// 機器提供サービス契約登録マップ.機器送付先住所コード → 機器送付先住所コード
		if (kikiSohusAddressMap == null || kikiSohusAddressMap.get("ad_cd") == null || "".equals(kikiSohusAddressMap.get("ad_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_AD_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SOHUS_AD_CD, (String)kikiSohusAddressMap.get("ad_cd"));
		}

		// 機器提供サービス契約登録マップ.機器送付先郵便番号 → 機器送付先郵便番号
		if (inMap == null || inMap.get("kiki_sohus_pcd") == null || "".equals(inMap.get("kiki_sohus_pcd")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_PCD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SOHUS_PCD, (String)inMap.get("kiki_sohus_pcd"));
		}

		// 機器提供サービス契約登録マップ.機器送付先都道府県名 → 機器送付先都道府県名
		if (kikiSohusAddressMap == null || kikiSohusAddressMap.get("state_nm") == null || "".equals(kikiSohusAddressMap.get("state_nm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_STATE_NM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SOHUS_STATE_NM, (String)kikiSohusAddressMap.get("state_nm"));
		}

		// 機器提供サービス契約登録マップ.機器送付先市区町村名 → 機器送付先市区町村名
		if (kikiSohusAddressMap == null || kikiSohusAddressMap.get("city_nm") == null || "".equals(kikiSohusAddressMap.get("city_nm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_CITY_NM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SOHUS_CITY_NM, (String)kikiSohusAddressMap.get("city_nm"));
		}

		// 機器提供サービス契約登録マップ.機器送付先大字通称名 → 機器送付先大字通称名
		if (kikiSohusAddressMap == null || kikiSohusAddressMap.get("oaztsu_nm") == null || "".equals(kikiSohusAddressMap.get("oaztsu_nm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_OAZTSU_NM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SOHUS_OAZTSU_NM, (String)kikiSohusAddressMap.get("oaztsu_nm"));
		}

		// 機器提供サービス契約登録マップ.機器送付先字丁目名 → 機器送付先字丁目名
		if (kikiSohusAddressMap == null || kikiSohusAddressMap.get("azcho_nm") == null || "".equals(kikiSohusAddressMap.get("azcho_nm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_AZCHO_NM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SOHUS_AZCHO_NM, (String)kikiSohusAddressMap.get("azcho_nm"));
		}

		// 機器提供サービス契約登録マップ.機器送付先番地号 → 機器送付先番地号
		if (kikiSohusAddressMap == null || kikiSohusAddressMap.get("after_bnchi") == null || "".equals(kikiSohusAddressMap.get("after_bnchi")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_BNCHIGO);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SOHUS_BNCHIGO, (String)kikiSohusAddressMap.get("after_bnchi"));
		}
//ANK-4498-00-00 MOD END
		// =================== ↑↑分割処理後の住所情報を設定するよう修正 2011/10/8 ↑↑ ====================

		// 機器提供サービス契約登録マップ.機器送付先住所補記・建物名 → 機器送付先住所補記・建物名
		if (inMap == null || inMap.get("kiki_sohus_adrttm") == null || "".equals(inMap.get("kiki_sohus_adrttm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_ADRTTM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SOHUS_ADRTTM, (String)inMap.get("kiki_sohus_adrttm"));
		}

		// 機器提供サービス契約登録マップ.機器送付先住所補記・部屋番号 → 機器送付先住所補記・部屋番号
		if (inMap == null || inMap.get("kiki_sohus_adrrm") == null || "".equals(inMap.get("kiki_sohus_adrrm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_ADRRM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SOHUS_ADRRM, (String)inMap.get("kiki_sohus_adrrm"));
		}

		// 機器提供サービス契約登録マップ.機器送付先電話番号 → 機器送付先電話番号
		if (inMap == null || inMap.get("kiki_sohus_telno") == null || "".equals(inMap.get("kiki_sohus_telno")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_TELNO);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SOHUS_TELNO, (String)inMap.get("kiki_sohus_telno"));
		}

		// 機器提供サービス契約登録マップ.マンション物件番号 → マンション物件番号
		if (inMap == null || inMap.get("mansion_bukken_no") == null || "".equals(inMap.get("mansion_bukken_no")))
		{
			template.setNull(EKK0341D010CBSMsg.MANSION_BUKKEN_NO);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.MANSION_BUKKEN_NO, (String)inMap.get("mansion_bukken_no"));
		}

		// 機器提供サービス契約登録マップ.機器送付先＿契約者住所差異フラグ → 機器送付先_契約者住所差異フラグ
		if (inMap == null || inMap.get("kiki_sohus_ksh_ad_sai_flg") == null || "".equals(inMap.get("kiki_sohus_ksh_ad_sai_flg")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG, (String)inMap.get("kiki_sohus_ksh_ad_sai_flg"));
		}

		// 機器提供サービス契約登録マップ.機器送付先個別指定フラグ → 機器送付先個別指定フラグ
		if (inMap == null || inMap.get("kiki_shs_kbt_shitei_flg") == null || "".equals(inMap.get("kiki_shs_kbt_shitei_flg")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SHS_KBT_SHITEI_FLG);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SHS_KBT_SHITEI_FLG, (String)inMap.get("kiki_shs_kbt_shitei_flg"));
		}

		// 機器提供サービス契約登録マップ.機器送付先補足コード１ → 機器送付先補足コード1
		if (inMap == null || inMap.get("kiki_shs_hsk_cd_1") == null || "".equals(inMap.get("kiki_shs_hsk_cd_1")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SHS_HSK_CD_1);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SHS_HSK_CD_1, (String)inMap.get("kiki_shs_hsk_cd_1"));
		}

		// 機器提供サービス契約登録マップ.機器送付先補足コード２ → 機器送付先補足コード2
		if (inMap == null || inMap.get("kiki_shs_hsk_cd_2") == null || "".equals(inMap.get("kiki_shs_hsk_cd_2")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SHS_HSK_CD_2);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SHS_HSK_CD_2, (String)inMap.get("kiki_shs_hsk_cd_2"));
		}

		// 機器提供サービス契約登録マップ.機器送付先補足メモ → 機器送付先補足メモ
		if (inMap == null || inMap.get("kiki_shs_hsk_memo") == null || "".equals(inMap.get("kiki_shs_hsk_memo")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SHS_HSK_MEMO);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SHS_HSK_MEMO, (String)inMap.get("kiki_shs_hsk_memo"));
		}

		// 機器提供サービス契約登録マップ.機器設置先名 → 機器設置先名
		if (inMap == null || inMap.get("kiki_stc_saki_nm") == null || "".equals(inMap.get("kiki_stc_saki_nm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_NM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SAKI_NM, (String)inMap.get("kiki_stc_saki_nm"));
		}

		// 機器提供サービス契約登録マップ.機器設置先カナ名 → 機器設置先カナ名
		if (inMap == null || inMap.get("kiki_stc_saki_kana") == null || "".equals(inMap.get("kiki_stc_saki_kana")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_KANA);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SAKI_KANA, (String)inMap.get("kiki_stc_saki_kana"));
		}

		// =================== ↓↓分割処理後の住所情報を設定するよう修正 2011/10/8 ↓↓ ====================
		// 機器提供サービス契約登録マップ.機器設置先住所コード → 機器設置先住所コード
		if (useplaceAddressMap == null || useplaceAddressMap.get("ad_cd") == null || "".equals(useplaceAddressMap.get("ad_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_AD_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SAKI_AD_CD, (String)useplaceAddressMap.get("ad_cd"));
		}

		// 機器提供サービス契約登録マップ.機器設置先郵便番号 → 機器設置先郵便番号
		if (inMap == null || inMap.get("kiki_stc_saki_pcd") == null || "".equals(inMap.get("kiki_stc_saki_pcd")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_PCD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SAKI_PCD, (String)inMap.get("kiki_stc_saki_pcd"));
		}

		// 機器提供サービス契約登録マップ.機器設置先都道府県名 → 機器設置先都道府県名
		if (useplaceAddressMap == null || useplaceAddressMap.get("state_nm") == null || "".equals(useplaceAddressMap.get("state_nm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_STATE_NM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SAKI_STATE_NM, (String)useplaceAddressMap.get("state_nm"));
		}

		// 機器提供サービス契約登録マップ.機器設置先市区町村名 → 機器設置先市区町村名
		if (useplaceAddressMap == null || useplaceAddressMap.get("city_nm") == null || "".equals(useplaceAddressMap.get("city_nm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_CITY_NM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SAKI_CITY_NM, (String)useplaceAddressMap.get("city_nm"));
		}

		// 機器提供サービス契約登録マップ.機器設置先大字通称名 → 機器設置先大字通称名
		if (useplaceAddressMap == null || useplaceAddressMap.get("oaztsu_nm") == null || "".equals(useplaceAddressMap.get("oaztsu_nm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_OAZTSU_NM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SAKI_OAZTSU_NM, (String)useplaceAddressMap.get("oaztsu_nm"));
		}

		// 機器提供サービス契約登録マップ.機器設置先字丁目名 → 機器設置先字丁目名
		if (useplaceAddressMap == null || useplaceAddressMap.get("azcho_nm") == null || "".equals(useplaceAddressMap.get("azcho_nm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_AZCHO_NM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SAKI_AZCHO_NM, (String)useplaceAddressMap.get("azcho_nm"));
		}

		// 機器提供サービス契約登録マップ.機器設置先番地号 → 機器設置先番地号
		if (useplaceAddressMap == null || useplaceAddressMap.get("after_bnchi") == null || "".equals(useplaceAddressMap.get("after_bnchi")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_BNCHIGO);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SAKI_BNCHIGO, (String)useplaceAddressMap.get("after_bnchi"));
		}
		// =================== ↑↑分割処理後の住所情報を設定するよう修正 2011/10/8 ↑↑ ====================

		// 機器提供サービス契約登録マップ.機器設置先住所補記・建物名 → 機器設置先住所補記・建物名
		if (inMap == null || inMap.get("kiki_stc_saki_adrttm") == null || "".equals(inMap.get("kiki_stc_saki_adrttm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRTTM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRTTM, (String)inMap.get("kiki_stc_saki_adrttm"));
		}

		// 機器提供サービス契約登録マップ.機器設置先住所補記・部屋番号 → 機器設置先住所補記・部屋番号
		if (inMap == null || inMap.get("kiki_stc_saki_adrrm") == null || "".equals(inMap.get("kiki_stc_saki_adrrm")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRRM);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRRM, (String)inMap.get("kiki_stc_saki_adrrm"));
		}

		// 機器提供サービス契約登録マップ.機器設置先＿契約者住所差異フラグ → 機器設置先_契約者住所差異フラグ
		if (inMap == null || inMap.get("kiki_stc_sk_ksh_ad_sai_flg") == null || "".equals(inMap.get("kiki_stc_sk_ksh_ad_sai_flg")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG, (String)inMap.get("kiki_stc_sk_ksh_ad_sai_flg"));
		}

		// 機器提供サービス契約登録マップ.機器設置先電話番号 → 機器設置先電話番号
		if (inMap == null || inMap.get("kiki_stc_sk_telno") == null || "".equals(inMap.get("kiki_stc_sk_telno")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STC_SK_TELNO);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STC_SK_TELNO, (String)inMap.get("kiki_stc_sk_telno"));
		}

		// 機器提供サービス契約登録マップ.機器設置先区画整理中フラグ → 機器設置先区画整理中フラグ
		if (inMap == null || inMap.get("kiki_sts_kkk_seiri_chu_flg") == null || "".equals(inMap.get("kiki_sts_kkk_seiri_chu_flg")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG, (String)inMap.get("kiki_sts_kkk_seiri_chu_flg"));
		}

		// ↓↓ ■2011/10/15 項目追加■ ↓↓ 
		// 機器提供サービス.住所未確定フラグ → 住所未確定フラグ
		if ("".equals(inMap.get("ad_mi_fix_flg")))
		{
			template.setNull(EKK0341D010CBSMsg.AD_MI_FIX_FLG);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.AD_MI_FIX_FLG, (String)inMap.get("ad_mi_fix_flg"));
		}
		// ↑↑ ■2011/10/15 項目追加■ ↑↑ 

		// 機器提供サービス契約登録マップ.機器設置先補足コード１ → 機器設置先補足コード1
		if (inMap == null || inMap.get("kiki_sts_hsk_cd_1") == null || "".equals(inMap.get("kiki_sts_hsk_cd_1")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STS_HSK_CD_1);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STS_HSK_CD_1, (String)inMap.get("kiki_sts_hsk_cd_1"));
		}

		// 機器提供サービス契約登録マップ.機器設置先補足コード２ → 機器設置先補足コード2
		if (inMap == null || inMap.get("kiki_sts_hsk_cd_2") == null || "".equals(inMap.get("kiki_sts_hsk_cd_2")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STS_HSK_CD_2);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STS_HSK_CD_2, (String)inMap.get("kiki_sts_hsk_cd_2"));
		}

		// 機器提供サービス契約登録マップ.機器設置先補足メモ → 機器設置先補足メモ
		if (inMap == null || inMap.get("kiki_sts_hsk_memo") == null || "".equals(inMap.get("kiki_sts_hsk_memo")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_STS_HSK_MEMO);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_STS_HSK_MEMO, (String)inMap.get("kiki_sts_hsk_memo"));
		}

		// 機器提供サービス契約登録マップ.配送区分 → 配送区分
		if (inMap == null || inMap.get("haiso_div") == null || "".equals(inMap.get("haiso_div")))
		{
			template.setNull(EKK0341D010CBSMsg.HAISO_DIV);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.HAISO_DIV, (String)inMap.get("haiso_div"));
		}

		// 機器提供サービス契約登録マップ.試用加入年月日 → 試用加入年月日
		if (inMap == null || inMap.get("ftrial_kanyu_ymd") == null || "".equals(inMap.get("ftrial_kanyu_ymd")))
		{
			template.setNull(EKK0341D010CBSMsg.FTRIAL_KANYU_YMD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.FTRIAL_KANYU_YMD, (String)inMap.get("ftrial_kanyu_ymd"));
		}
		// IT1-2012-0001150 参照誤り修正 2012/10/16 h.iwamoto START
		// 試用期間終了年月日 → 試用期間終了年月日
		if (inMap == null || inMap.get("ftrial_prd_endymd") == null || "".equals(inMap.get("ftrial_prd_endymd")))
		{
			template.setNull(EKK0341D010CBSMsg.FTRIAL_PRD_ENDYMD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.FTRIAL_PRD_ENDYMD, (String)inMap.get("ftrial_prd_endymd"));
		}
		// IT1-2012-0001150 参照誤り修正 2012/10/16 h.iwamoto END
		// 機器提供サービス契約登録マップ.本加入年月日 → 本加入年月日
		if (inMap == null || inMap.get("honkanyu_ymd") == null || "".equals(inMap.get("honkanyu_ymd")))
		{
			template.setNull(EKK0341D010CBSMsg.HONKANYU_YMD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.HONKANYU_YMD, (String)inMap.get("honkanyu_ymd"));
		}

		// 機器提供サービス契約登録マップ.本加入移行期限年月日 → 本加入移行期限年月日
		if (inMap == null || inMap.get("honkanyu_iko_kigen_ymd") == null || "".equals(inMap.get("honkanyu_iko_kigen_ymd")))
		{
			template.setNull(EKK0341D010CBSMsg.HONKANYU_IKO_KIGEN_YMD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.HONKANYU_IKO_KIGEN_YMD, (String)inMap.get("honkanyu_iko_kigen_ymd"));
		}

		// 機器提供サービス契約登録マップ.保証コード → 保証コード
		if (inMap == null || inMap.get("hosho_cd") == null || "".equals(inMap.get("hosho_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.HOSHO_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.HOSHO_CD, (String)inMap.get("hosho_cd"));
		}

		// 機器提供サービス契約登録マップ.保証開始年月日 → 保証開始年月日
		if (inMap == null || inMap.get("hosho_staymd") == null || "".equals(inMap.get("hosho_staymd")))
		{
			template.setNull(EKK0341D010CBSMsg.HOSHO_STAYMD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.HOSHO_STAYMD, (String)inMap.get("hosho_staymd"));
		}

		// 機器提供サービス契約登録マップ.違約金発生コード → 違約金発生コード
		if (inMap == null || inMap.get("pnlty_hassei_cd") == null || "".equals(inMap.get("pnlty_hassei_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.PNLTY_HASSEI_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.PNLTY_HASSEI_CD, (String)inMap.get("pnlty_hassei_cd"));
		}

		// 機器提供サービス契約登録マップ.異動区分 → 異動区分
		if (inMap == null || inMap.get("ido_div") == null || "".equals(inMap.get("ido_div")))
		{
			template.setNull(EKK0341D010CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.IDO_DIV, (String)inMap.get("ido_div"));
		}

		// ↓↓ ■2011/10/15 項目追加■ ↓↓ 
		// 機器提供サービス.宅内機器異動コード → 宅内機器異動コード
		if ("".equals(inMap.get("taknkiki_ido_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.TAKNKIKI_IDO_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.TAKNKIKI_IDO_CD, (String)inMap.get("taknkiki_ido_cd"));
		}
		// ↑↑ ■2011/10/15 項目追加■ ↑↑

		// 機器提供サービス契約登録マップ.ＣＡＳカード使用許諾年月日 → CASカード使用許諾年月日
		if (inMap == null || inMap.get("cas_card_use_kyodak_ymd") == null || "".equals(inMap.get("cas_card_use_kyodak_ymd")))
		{
			template.setNull(EKK0341D010CBSMsg.CAS_CARD_USE_KYODAK_YMD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.CAS_CARD_USE_KYODAK_YMD, (String)inMap.get("cas_card_use_kyodak_ymd"));
		}

		// ↓↓ ■2011/10/15 項目追加■ ↓↓ 
		// 機器提供サービス.機器付加情報コード → 機器付加情報コード
		if ("".equals(inMap.get("kiki_huka_info_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_HUKA_INFO_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_HUKA_INFO_CD, (String)inMap.get("kiki_huka_info_cd"));
		}
		// ↑↑ ■2011/10/15 項目追加■ ↑↑

		// 配送方法コード
		if ("".equals(inMap.get("haiso_way_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.HAISO_WAY_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.HAISO_WAY_CD, (String)inMap.get("haiso_way_cd"));
		}

		/** 2012/2/22 楠山 追加 START */
		// 配送依頼指定年月日
		if (inMap == null || inMap.get("haiso_req_shitei_ymd") == null || "".equals(inMap.get("haiso_req_shitei_ymd")))
		{
			template.setNull(EKK0341D010CBSMsg.HAISO_REQ_SHITEI_YMD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.HAISO_REQ_SHITEI_YMD, (String)inMap.get("haiso_req_shitei_ymd"));
		}
		/** 2012/2/22 楠山 追加 END */

		// 請求契約登録マップ.請求契約番号 → 請求契約番号
		if (inMap == null || inMap.get("seiky_kei_no") == null || "".equals(inMap.get("seiky_kei_no")))
		{
			// ++++++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++++++++ */
			// template.setNull(EKK0341D010CBSMsg.SEIKY_KEI_NO);
			if (getWorkMapValue(param, "seiky_kei_no", CC_WORK_AREA_NAME_SKK) == null)
			{
				template.setNull(EKK0341D010CBSMsg.SEIKY_KEI_NO);
			}
			else
			{
				template.set(EKK0341D010CBSMsg.SEIKY_KEI_NO, getWorkMapValue(param, "seiky_kei_no", CC_WORK_AREA_NAME_SKK));
			}
			// +++++++++++++++++++ v1.00.00 追加終了 ++++++++++++++++++++++++++++++++ */
		}
		else
		{
			template.set(EKK0341D010CBSMsg.SEIKY_KEI_NO, (String)inMap.get("seiky_kei_no"));
		}
		// 料金項目コード
		if (inMap == null || inMap.get("prc_kmk_cd") == null || "".equals(inMap.get("prc_kmk_cd")))
		{
			template.setNull(EKK0341D010CBSMsg.PRC_KMK_CD);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.PRC_KMK_CD, (String)inMap.get("prc_kmk_cd"));
		}
		// 機器製造番号
		if (inMap == null || inMap.get("kiki_seizo_no") == null || "".equals(inMap.get("kiki_seizo_no")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SEIZO_NO);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SEIZO_NO, (String)inMap.get("kiki_seizo_no"));
		}

		/** 2012/2/22 楠山 追加 START */
		// 更新年月日時分秒(更新前)
		String upd_dtm_bf = (String)((HashMap)(param.getData("EKK0101D010"))).get(EKK0101D010CBSMsg.UPD_DTM);
		if (upd_dtm_bf == null)
		{
			template.setNull(EKK0341D010CBSMsg.UPD_DTM_BF);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.UPD_DTM_BF, upd_dtm_bf);
		}

		// 機器送付先住所手動入力フラグ
		if (inMap == null || inMap.get("kiki_shs_ad_man_input_flg") == null || "".equals(inMap.get("kiki_shs_ad_man_input_flg")))
		{
			template.setNull(EKK0341D010CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG);
		}
		else
		{
			template.set(EKK0341D010CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG, (String)inMap.get("kiki_shs_ad_man_input_flg"));
		}

		/** 2012/2/22 楠山 追加 END */

		return template;
	}

	/**
	 * eo光テレビオプション登録 <br>
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ
	 * @throws Exception Exception
	 */
	private void editInEKK0381D010(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}

		// 契約者情報WORK取得
		HashMap addKeishaServiceCCWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME_KEISHA);

		// 請求先情報WORK取得
		HashMap addSkkSCWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME_SKK);

		// 申込WORK取得
		HashMap addMskmSCWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME_MSKM);

		// eo光テレビ登録情報
		HashMap tvMap = (HashMap)param.getData("EKK0101D010");

		// eo光テレビオプション登録マップ作成
		HashMap tvOpMap = (HashMap)param.getData("EKK0381D010");

		String sysId = "";
		String mskmDtlNo = "";
		String svcKeiNo = "";
		String seikyKeiNo = "";
		String updDtm = "";

		// サービス契約番号設定
		if (tvOpMap.containsKey("svc_kei_no"))
		{
			svcKeiNo = (String)tvOpMap.get("svc_kei_no");
		}
		if ("".equals(svcKeiNo))
		{
			tvOpMap.put("svc_kei_no", (String)tvMap.get("svc_kei_no"));
		}

		// ＳＹＳＩＤ設定
		if (tvOpMap.containsKey("sysid"))
		{
			sysId = (String)tvOpMap.get("sysid");
		}
		if ("".equals(sysId))
		{
			tvOpMap.put("sysid", (String)addKeishaServiceCCWorkMap.get("sysid"));
		}

		// 申込明細番号
		if (tvOpMap.containsKey("mskm_dtl_no"))
		{
			svcKeiNo = (String)tvOpMap.get("mskm_dtl_no");
		}
		if ("".equals(svcKeiNo))
		{
			tvOpMap.put("mskm_dtl_no", (String)addMskmSCWorkMap.get("ekk0101_mskm_dtl_no"));
		}

		// 請求契約番号
		if (tvOpMap.containsKey("seiky_kei_no"))
		{
			svcKeiNo = (String)tvOpMap.get("seiky_kei_no");
		}
		if ("".equals(svcKeiNo))
		{
			tvOpMap.put("seiky_kei_no", (String)addSkkSCWorkMap.get("seiky_kei_no"));
		}

		// 更新年月日時分秒(更新前)
		if (tvOpMap.containsKey("upd_dtm_bf"))
		{
			updDtm = (String)tvOpMap.get("upd_dtm_bf");
		}
		if ("".equals(updDtm))
		{
			tvOpMap.put("upd_dtm_bf", (String)tvMap.get("upd_dtm"));
		}
	}

	/**
	 * 進捗登録上りマッピングをする<br>
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ
	 * @throws Exception Exception
	 */
	private void editInEKK1091D010(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}

		// 契約者情報WORK取得
		HashMap addKeishaServiceCCWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME_KEISHA);

		// 請求先情報WORK取得
		HashMap addSkkSCWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME_SKK);

		// 申込WORK取得
		HashMap addMskmSCWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME_MSKM);

		// サービス契約(eo光テレビ)WORK取得
		HashMap addSvcKeiTvCCWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);

		// 進捗登録マップ作成
		HashMap prgMap = (HashMap)param.getData(fixedText);

		// 進捗登録マップリスト
		ArrayList prgMapList = (ArrayList)prgMap.get("EKK1091D010List");

		if (null == prgMapList || 1 > prgMapList.size())
		{
			return;
		}

		// 進捗ステータスを取得する
		String prgStat = (String)((HashMap)prgMapList.get(0)).get("prg_stat");

		// この時点で進捗ステータスが"0200"の場合、仮登録処理ではないので一括登録用のマッピング処理を行う
		if (!"0200".equals(prgStat))
		{
			return;
		}

		// サービス契約グループリストマップ
		HashMap prgMapListMap = new HashMap();

		String mskmDtlNo = "";
		String svcKeiNo = "";
		String seikyKeiNo = "";

		for (int i = 0; i < prgMapList.size(); i++)
		{

			prgMapListMap = new HashMap();

			prgMapListMap = (HashMap)prgMapList.get(i);

			// サービス契約番号設定
			if (prgMapListMap.containsKey("svc_kei_no"))
			{
				svcKeiNo = (String)prgMapListMap.get("svc_kei_no");
			}
			// 申込明細番号
			if (prgMapListMap.containsKey("mskm_dtl_no"))
			{
				mskmDtlNo = (String)prgMapListMap.get("mskm_dtl_no");
			}

			// 請求契約番号
			if (prgMapListMap.containsKey("seiky_kei_no"))
			{
				seikyKeiNo = (String)prgMapListMap.get("seiky_kei_no");
			}
			if ("".equals(svcKeiNo) || "".equals(mskmDtlNo) || "".equals(seikyKeiNo))
			{
				prgMapListMap.put("svc_kei_no", (String)addSvcKeiTvCCWorkMap.get("svc_kei_no"));
				prgMapListMap.put("mskm_dtl_no", (String)addMskmSCWorkMap.get("ekk0101_mskm_dtl_no"));
				prgMapListMap.put("seiky_kei_no", (String)addSkkSCWorkMap.get("seiky_kei_no"));
				return;
			}

		}

	}

	/**
	 * サービス契約＜TV＞登録の下りマッピング処理
	 * <br>
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @return
	 */
	private IRequestParameterReadWrite editRetEKK0101D010(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		// リターンコード取得
		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}
		HashMap workDataMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);
		if (workDataMap == null)
		{
			workDataMap = new HashMap();
			workMap.put(CC_WORK_AREA_NAME, workDataMap);
		}

		/* 業務データ設定 */
		HashMap dataMap = (HashMap)param.getData(fixedText);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}

		// 2012/4/5 割引サービス自動適用対応 START
		String sysId = "";
		String mskmNo = "";

		/* eo光テレビ情報 */
		HashMap tvMap = (HashMap)(param.getData("EKK0101D010"));

		// 契約者情報WORK取得
		HashMap addKeishaServiceCCWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME_KEISHA);

		// 申込情報WORK取得
		HashMap addMskmSCWork = (HashMap)workMap.get(CC_WORK_AREA_NAME_MSKM);

		// 割引サービス自動適用マップ作成
		HashMap wriSvcAutoAplyMap = (HashMap)param.getData(CC_WRI_SVC_AUTO_APLY_MAP);
		
		// スターチャンネルセット割CCマップ作成
		HashMap starChannelSetwariMAP = (HashMap)param.getData(FUSV015229CC);
		
		// 申込時登録不可契約予約登録CCマップ作成
		HashMap jFUAddMkjAddfKeiRvCCMAP = (HashMap)param.getData(EKK2931D010);

		// サービス契約グループリストマップ
		HashMap svcKeiGrpListMap = new HashMap();
		
		// サービス契約グループリスト
		ArrayList svcKeiGrpList = (ArrayList)wriSvcAutoAplyMap.get(SVC_KEI_GRP_LIST);

		// サービス契約リストマップ
		HashMap svcKeiListMap = new HashMap();

		// サービス契約リスト
		ArrayList svcKeiList = new ArrayList();
		// 2012/4/5 割引サービス自動適用対応 END

		// サービス契約＜ＴＶ＞登録マップ.サービス契約番号（サービス契約＜ｅｏ光ＴＶ＞） ← サービス契約番号
		if (template.isNull(EKK0101D010CBSMsg.SVC_KEI_NO))
		{
			dataMap.put("svc_kei_no", "");
			// 2012/4/5 割引サービス自動適用対応 START
			svcKeiListMap.put("svc_kei_no", "");
			// 2012/4/5 割引サービス自動適用対応 END
		}
		else
		{
			dataMap.put("svc_kei_no", template.getString(EKK0101D010CBSMsg.SVC_KEI_NO));
			workDataMap.put("svc_kei_no", template.getString(EKK0101D010CBSMsg.SVC_KEI_NO));
			// 2012/4/5 割引サービス自動適用対応 START
			svcKeiListMap.put("svc_kei_no", template.getString(EKK0101D010CBSMsg.SVC_KEI_NO));
			// 2012/4/5 割引サービス自動適用対応 END
		}

		// サービス契約＜ＴＶ＞登録マップ.世代登録年月日時分秒（サービス契約） ← 世代登録年月日時分秒
		if (template.isNull(EKK0101D010CBSMsg.GENE_ADD_DTM))
		{
			dataMap.put("kk0081_gene_add_dtm", "");
		}
		else
		{
			dataMap.put("kk0081_gene_add_dtm", template.getString(EKK0101D010CBSMsg.GENE_ADD_DTM));
		}

		// サービス契約＜ＴＶ＞登録マップ.サービス契約ステータス（サービス契約＜ｅｏ光ＴＶ＞） ← サービス契約ステータス
		if (template.isNull(EKK0101D010CBSMsg.SVC_KEI_STAT))
		{
			dataMap.put("svc_kei_stat", "");
		}
		else
		{
			dataMap.put("svc_kei_stat", template.getString(EKK0101D010CBSMsg.SVC_KEI_STAT));
		}

		// サービス契約＜ＴＶ＞登録マップ.試用期間終了年月日（サービス契約＜ｅｏ光ＴＶ＞） ← 試用期間終了年月日
		if (template.isNull(EKK0101D010CBSMsg.FTRIAL_PRD_ENDYMD))
		{
			dataMap.put("ftrial_prd_endymd", "");
		}
		else
		{
			dataMap.put("ftrial_prd_endymd", template.getString(EKK0101D010CBSMsg.FTRIAL_PRD_ENDYMD));
		}

		// サービス契約＜ＴＶ＞登録マップ.予約適用年月日（サービス契約＜ｅｏ光ＴＶ＞） ← 予約適用年月日
		if (template.isNull(EKK0101D010CBSMsg.RSV_APLY_YMD))
		{
			dataMap.put("rsv_aply_ymd", "");
		}
		else
		{
			dataMap.put("rsv_aply_ymd", template.getString(EKK0101D010CBSMsg.RSV_APLY_YMD));
		}

		// サービス契約＜ＴＶ＞登録マップ.予約適用コード（サービス契約＜ｅｏ光ＴＶ＞） ← 予約適用コード
		if (template.isNull(EKK0101D010CBSMsg.RSV_APLY_CD))
		{
			dataMap.put("rsv_aply_cd", "");
		}
		else
		{
			dataMap.put("rsv_aply_cd", template.getString(EKK0101D010CBSMsg.RSV_APLY_CD));
		}

		// サービス契約＜ＴＶ＞登録マップ.世代登録年月日時分秒（サービス契約＜ｅｏ光ＴＶ＞） ← 世代登録年月日時分秒(サービス契約<eo光TV>)
		if (template.isNull(EKK0101D010CBSMsg.KK0101_GENE_ADD_DTM))
		{
			dataMap.put("gene_add_dtm", "");
		}
		else
		{
			dataMap.put("gene_add_dtm", template.getString(EKK0101D010CBSMsg.KK0101_GENE_ADD_DTM));
		}

		// サービス契約＜ＴＶ＞登録マップ.登録年月日時分秒（サービス契約＜ｅｏ光ＴＶ＞） ← 登録年月日時分秒
		if (template.isNull(EKK0101D010CBSMsg.ADD_DTM))
		{
			dataMap.put("add_dtm", "");
		}
		else
		{
			dataMap.put("add_dtm", template.getString(EKK0101D010CBSMsg.ADD_DTM));
		}

		// サービス契約＜ＴＶ＞登録マップ.登録オペレータアカウント（サービス契約＜ｅｏ光ＴＶ＞） ← 登録オペレータアカウント
		if (template.isNull(EKK0101D010CBSMsg.ADD_OPEACNT))
		{
			dataMap.put("add_opeacnt", "");
		}
		else
		{
			dataMap.put("add_opeacnt", template.getString(EKK0101D010CBSMsg.ADD_OPEACNT));
		}

		// サービス契約＜ＴＶ＞登録マップ.更新年月日時分秒（サービス契約＜ｅｏ光ＴＶ＞） ← 更新年月日時分秒
		if (template.isNull(EKK0101D010CBSMsg.UPD_DTM))
		{
			dataMap.put("upd_dtm", "");
		}
		else
		{
			dataMap.put("upd_dtm", template.getString(EKK0101D010CBSMsg.UPD_DTM));
		}

		// サービス契約＜ＴＶ＞登録マップ.更新オペレータアカウント（サービス契約＜ｅｏ光ＴＶ＞） ← 更新オペレータアカウント
		if (template.isNull(EKK0101D010CBSMsg.UPD_OPEACNT))
		{
			dataMap.put("upd_opeacnt", "");
		}
		else
		{
			dataMap.put("upd_opeacnt", template.getString(EKK0101D010CBSMsg.UPD_OPEACNT));
		}

		// サービス契約＜ＴＶ＞登録マップ.無効フラグ（サービス契約＜ｅｏ光ＴＶ＞） ← 無効フラグ
		if (template.isNull(EKK0101D010CBSMsg.MK_FLG))
		{
			dataMap.put("mk_flg", "");
		}
		else
		{
			dataMap.put("mk_flg", template.getString(EKK0101D010CBSMsg.MK_FLG));
		}

		// 2012/4/5 割引サービス自動適用対応 START
		// サービス契約グループリストからサービス契約グループリストマップを取得する
		svcKeiGrpListMap = (HashMap)svcKeiGrpList.get(0);

		// サービスグループリストマップからサービス契約リストを取得する
		if (svcKeiGrpListMap.containsKey(SVC_KEI_LIST))
		{
			svcKeiList = (ArrayList)svcKeiGrpListMap.get(SVC_KEI_LIST);
		}

		// ＳＹＳＩＤ設定
		if (wriSvcAutoAplyMap.containsKey("sysid"))
		{
			sysId = (String)wriSvcAutoAplyMap.get("sysid");
		}
		if ("".equals(sysId))
		{
			wriSvcAutoAplyMap.put("sysid", (String)addKeishaServiceCCWorkMap.get("sysid"));
		}

		// 申込番号設定
		if (wriSvcAutoAplyMap.containsKey("mskm_no"))
		{
			mskmNo = (String)wriSvcAutoAplyMap.get("mskm_no");
		}
		if ("".equals(mskmNo))
		{
			wriSvcAutoAplyMap.put("mskm_no", (String)addMskmSCWork.get("mskm_no"));
		}

		// サービス契約リストマップ.対象契約識別コード
		svcKeiListMap.put("tg_kei_skbt_cd", "01");

		// サービス契約リストマップ.サービス契約ステータス "010"：受付済み
		svcKeiListMap.put("svc_kei_stat", "010");

		// サービス契約リストマップ.サービスコード
		svcKeiListMap.put("svc_cd", tvMap.get("svc_cd"));

		// サービス契約リストマップ.料金グループコード
		svcKeiListMap.put("prc_grp_cd", tvMap.get("prc_grp_cd"));

		// サービス契約リストマップ.料金コースコード
		svcKeiListMap.put("pcrs_cd", tvMap.get("pcrs_cd"));

		// サービス契約リストマップ.料金プランコード
		svcKeiListMap.put("pplan_cd", tvMap.get("pplan_cd"));

		// サービス契約リストにサービス契約リストマップを格納する
		svcKeiList.add(svcKeiListMap);

		// サービスグループリストマップにサービス契約リストが存在しない場合
		// サービスグループリストマップにサービス契約リストを追加する
		if (!svcKeiGrpListMap.containsKey(SVC_KEI_LIST))
		{
			svcKeiGrpListMap.put(SVC_KEI_LIST, svcKeiList);
		}
		// 2012/4/5 割引サービス自動適用対応 END

		// スターチャンネルセット割マップにSYSIDを設定
		starChannelSetwariMAP.put(SYSID, (String)addKeishaServiceCCWorkMap.get(SYSID));
		
		// スターチャンネルセット割マップにサービス契約番号を設定
		starChannelSetwariMAP.put(SVC_KEI_NO, (String)tvMap.get(SVC_KEI_NO));
		
		// スターチャンネルセット割マップに申込明細番号を設定
		starChannelSetwariMAP.put(MSKM_DTL_NO, (String)addMskmSCWork.get(EKK0101_MSKM_DTL_NO));
		
		// スターチャンネルセット割マップに更新年月日時分秒（更新前）を設定
		starChannelSetwariMAP.put(KK0081_UPD_DTM, (String)tvMap.get(UPD_DTM));
		
		// 申込時登録不可契約予約登録マップに申込明細番号を設定
		jFUAddMkjAddfKeiRvCCMAP.put(MSKM_DTL_NO, (String)addMskmSCWork.get(EKK0101_MSKM_DTL_NO));
		
		// 申込時登録不可契約予約登録マップにを設定
		jFUAddMkjAddfKeiRvCCMAP.put(SETE_TG_KEI_NO, (String)tvMap.get(SVC_KEI_NO));
		
		// 申込時登録不可契約予約登録マップにを設定
		jFUAddMkjAddfKeiRvCCMAP.put(UPD_DTM_BF, (String)tvMap.get(UPD_DTM));
		
		param.setData(fixedText, dataMap);

		// エラー情報の設定
		editErrInfoEKK0101D010(param, template, (Integer)returnCode, fixedText);

		// エラー情報のマップを取得
		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));

		return param;
	}

	/**
	 * サービス契約内訳＜TV＞登録の下りマッピング処理
	 * <br>
	 */
	private IRequestParameterReadWrite editRetEKK0181D010(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText, int index)
			throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}

		/* +++++++++++++++++++++++++++++++++++++++++++++*/
		/* 作業項目情報 */
		HashMap workDataMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);
		if (workDataMap == null)
		{
			workDataMap = new HashMap();
			workMap.put(CC_WORK_AREA_NAME, workDataMap);
		}
		/* +++++++++++++++++++++++++++++++++++++++++++++*/

		// 結果を詰めるマップを取得。
		HashMap dataMap = null;
		ArrayList dataList = null;

		/* 業務データ設定 */
		dataMap = (HashMap)param.getData(fixedText);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}

		// ++++++++++++++++++++ v1.00.00 追加開始 ++++++++++++++++++++++++++ */
		dataList = (ArrayList)dataMap.get("EKK0181D010List");
		if (dataList == null)
		{
			dataList = new ArrayList();
			dataMap.put("EKK0181D010List", dataList);
		}

		HashMap childMap = (HashMap)dataList.get(index);
		if (childMap == null)
		{
			childMap = new HashMap();
			dataList.add(index, childMap);
		}
		// +++++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++++ */

		// 2012/4/24 割引サービス自動適用対応 START
		String sysId = "";
		String mskmNo = "";

		/* サービス契約＜eo光テレビ＞情報 */
		HashMap tvMap = (HashMap)(param.getData("EKK0101D010"));

		// 契約者情報WORK取得
		HashMap addKeishaServiceCCWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME_KEISHA);

		// 申込情報WORK取得
		HashMap addMskmSCWork = (HashMap)workMap.get(CC_WORK_AREA_NAME_MSKM);

		// 割引サービス自動適用マップ作成
		HashMap wriSvcAutoAplyMap = (HashMap)param.getData(CC_WRI_SVC_AUTO_APLY_MAP);

		// サービス契約グループリストマップ
		HashMap svcKeiGrpListMap = new HashMap();
		;

		// サービス契約グループリスト
		ArrayList svcKeiGrpList = (ArrayList)wriSvcAutoAplyMap.get(SVC_KEI_GRP_LIST);

		// サービス契約リストマップ
		HashMap svcKeiListMap = new HashMap();

		// サービス契約リスト
		ArrayList svcKeiList = new ArrayList();
		// 2012/4/24 割引サービス自動適用対応 END

		// サービス契約内訳＜ＴＶ＞登録マップ.サービス契約内訳番号（サービス契約内訳＜ｅｏ光ＴＶ＞） ← サービス契約内訳番号
		if (template.isNull(EKK0181D010CBSMsg.SVC_KEI_UCWK_NO))
		{
			childMap.put("svc_kei_ucwk_no", "");
			// 2012/4/24 割引サービス自動適用対応 START
			svcKeiListMap.put("svc_kei_ucwk_no", "");
			// 2012/4/24 割引サービス自動適用対応 END
		}
		else
		{
			childMap.put("svc_kei_ucwk_no", template.getString(EKK0181D010CBSMsg.SVC_KEI_UCWK_NO));
			// ++++++++++++++++++++ v1.00.00 追加開始 ++++++++++++++++++++++++++ */
			workDataMap.put("svc_kei_ucwk_no_" + index, template.getString(EKK0181D010CBSMsg.SVC_KEI_UCWK_NO));
			// +++++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++++ */
			// 2012/4/24 割引サービス自動適用対応 START
			svcKeiListMap.put("svc_kei_ucwk_no", template.getString(EKK0181D010CBSMsg.SVC_KEI_UCWK_NO));
			// 2012/4/24 割引サービス自動適用対応 END
		}

		// サービス契約内訳＜ＴＶ＞登録マップ.世代登録年月日時分秒(サービス契約内訳) ← 世代登録年月日時分秒(サービス契約内訳)
		if (template.isNull(EKK0181D010CBSMsg.KK0161_GENE_ADD_DTM))
		{
			childMap.put("kk0161_gene_add_dtm", "");
		}
		else
		{
			childMap.put("kk0161_gene_add_dtm", template.getString(EKK0181D010CBSMsg.KK0161_GENE_ADD_DTM));
			// ++++++++++++++++++++ v1.00.00 追加開始 ++++++++++++++++++++++++++ */
			workDataMap.put("kk0161_gene_add_dtm" + index, template.getString(EKK0181D010CBSMsg.KK0161_GENE_ADD_DTM));
			// +++++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++++ */
		}

		// サービス契約内訳＜ＴＶ＞登録マップ.サービス契約内訳ステータス（サービス契約内訳＜ｅｏ光ＴＶ＞） ← サービス契約内訳ステータス
		if (template.isNull(EKK0181D010CBSMsg.SVC_KEI_UCWK_STAT))
		{
			childMap.put("svc_kei_ucwk_stat", "");
		}
		else
		{
			childMap.put("svc_kei_ucwk_stat", template.getString(EKK0181D010CBSMsg.SVC_KEI_UCWK_STAT));
		}

		// サービス契約内訳＜ＴＶ＞登録マップ.予約適用年月日（サービス契約内訳＜ｅｏ光ＴＶ＞） ← 予約適用年月日
		if (template.isNull(EKK0181D010CBSMsg.RSV_APLY_YMD))
		{
			childMap.put("rsv_aply_ymd", "");
		}
		else
		{
			childMap.put("rsv_aply_ymd", template.getString(EKK0181D010CBSMsg.RSV_APLY_YMD));
		}

		// サービス契約内訳＜ＴＶ＞登録マップ.予約適用コード（サービス契約内訳＜ｅｏ光ＴＶ＞） ← 予約適用コード
		if (template.isNull(EKK0181D010CBSMsg.RSV_APLY_CD))
		{
			childMap.put("rsv_aply_cd", "");
		}
		else
		{
			childMap.put("rsv_aply_cd", template.getString(EKK0181D010CBSMsg.RSV_APLY_CD));
		}

		// サービス契約内訳＜ＴＶ＞登録マップ.違約金発生コード（サービス契約内訳＜ｅｏ光ＴＶ＞） ← 違約金発生コード
		if (template.isNull(EKK0181D010CBSMsg.PNLTY_HASSEI_CD))
		{
			childMap.put("pnlty_hassei_cd", "");
		}
		else
		{
			childMap.put("pnlty_hassei_cd", template.getString(EKK0181D010CBSMsg.PNLTY_HASSEI_CD));
		}

		// サービス契約内訳＜ＴＶ＞登録マップ.異動区分（サービス契約内訳＜ｅｏ光ＴＶ＞） ← 異動区分
		if (template.isNull(EKK0181D010CBSMsg.IDO_DIV))
		{
			childMap.put("ido_div", "");
		}
		else
		{
			childMap.put("ido_div", template.getString(EKK0181D010CBSMsg.IDO_DIV));
		}

		// サービス契約内訳＜ＴＶ＞登録マップ.世代登録年月日時分秒（サービス契約内訳＜ｅｏ光ＴＶ＞） ← 世代登録年月日時分秒(サービス契約内訳<eo光TV>)
		if (template.isNull(EKK0181D010CBSMsg.KK0181_GENE_ADD_DTM))
		{
			childMap.put("gene_add_dtm", "");
		}
		else
		{
			childMap.put("gene_add_dtm", template.getString(EKK0181D010CBSMsg.KK0181_GENE_ADD_DTM));
		}

		// サービス契約内訳＜ＴＶ＞登録マップ.登録年月日時分秒（サービス契約内訳＜ｅｏ光ＴＶ＞） ← 登録年月日時分秒
		if (template.isNull(EKK0181D010CBSMsg.ADD_DTM))
		{
			childMap.put("add_dtm", "");
		}
		else
		{
			childMap.put("add_dtm", template.getString(EKK0181D010CBSMsg.ADD_DTM));
		}

		// サービス契約内訳＜ＴＶ＞登録マップ.登録オペレータアカウント（サービス契約内訳＜ｅｏ光ＴＶ＞） ← 登録オペレータアカウント
		if (template.isNull(EKK0181D010CBSMsg.ADD_OPEACNT))
		{
			childMap.put("add_opeacnt", "");
		}
		else
		{
			childMap.put("add_opeacnt", template.getString(EKK0181D010CBSMsg.ADD_OPEACNT));
		}

		// サービス契約内訳＜ＴＶ＞登録マップ.更新年月日時分秒（サービス契約内訳＜ｅｏ光ＴＶ＞） ← 更新年月日時分秒
		if (template.isNull(EKK0181D010CBSMsg.UPD_DTM))
		{
			childMap.put("upd_dtm", "");
		}
		else
		{
			childMap.put("upd_dtm", template.getString(EKK0181D010CBSMsg.UPD_DTM));
		}

		// サービス契約内訳＜ＴＶ＞登録マップ.更新オペレータアカウント（サービス契約内訳＜ｅｏ光ＴＶ＞） ← 更新オペレータアカウント
		if (template.isNull(EKK0181D010CBSMsg.UPD_OPEACNT))
		{
			childMap.put("upd_opeacnt", "");
		}
		else
		{
			childMap.put("upd_opeacnt", template.getString(EKK0181D010CBSMsg.UPD_OPEACNT));
		}

		// サービス契約内訳＜ＴＶ＞登録マップ.無効フラグ（サービス契約内訳＜ｅｏ光ＴＶ＞） ← 無効フラグ
		if (template.isNull(EKK0181D010CBSMsg.MK_FLG))
		{
			childMap.put("mk_flg", "");
		}
		else
		{
			childMap.put("mk_flg", template.getString(EKK0181D010CBSMsg.MK_FLG));
		}

		// 2012/4/5 割引サービス自動適用対応 START
		// サービス契約グループリストからサービス契約グループリストマップを取得する
		svcKeiGrpListMap = (HashMap)svcKeiGrpList.get(0);

		// サービスグループリストマップからサービス契約リストを取得する
		if (svcKeiGrpListMap.containsKey(SVC_KEI_LIST))
		{
			svcKeiList = (ArrayList)svcKeiGrpListMap.get(SVC_KEI_LIST);
		}

		// ＳＹＳＩＤ設定
		if (wriSvcAutoAplyMap.containsKey("sysid"))
		{
			sysId = (String)wriSvcAutoAplyMap.get("sysid");
		}
		if ("".equals(sysId))
		{
			wriSvcAutoAplyMap.put("sysid", (String)addKeishaServiceCCWorkMap.get("sysid"));
		}

		// 申込番号設定
		if (wriSvcAutoAplyMap.containsKey("mskm_no"))
		{
			mskmNo = (String)wriSvcAutoAplyMap.get("mskm_no");
		}
		if ("".equals(mskmNo))
		{
			wriSvcAutoAplyMap.put("mskm_no", (String)addMskmSCWork.get("mskm_no"));
		}

		// サービス契約リストマップ.対象契約識別コード
		svcKeiListMap.put("tg_kei_skbt_cd", "03");

		// サービス契約リストマップ.サービス契約内訳ステータス "010"：受付済
		svcKeiListMap.put("svc_kei_ucwk_stat", "010");

		// サービス契約リストマップ.料金コースコード
		svcKeiListMap.put("pcrs_cd", tvMap.get("pcrs_cd"));

		// サービス契約リストマップ.料金プランコード
		svcKeiListMap.put("pplan_cd", tvMap.get("pplan_cd"));

		// サービス契約リストにサービス契約リストマップを格納する
		svcKeiList.add(svcKeiListMap);

		// サービスグループリストマップにサービス契約リストが存在しない場合
		// サービスグループリストマップにサービス契約リストを追加する
		if (!svcKeiGrpListMap.containsKey(SVC_KEI_LIST))
		{
			svcKeiGrpListMap.put(SVC_KEI_LIST, svcKeiList);
		}
		// 2012/4/5 割引サービス自動適用対応 END

		// エラー情報の設定
		editErrInfoEKK0181D010(param, template, (Integer)returnCode, fixedText, index);

		// エラー情報のマップを取得
		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));
		return param;
	}

	/**
	 * 機器提供サービス契約登録の下りマッピング処理
	 * <br>
	 */
	private IRequestParameterReadWrite editRetEKK0341D010(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText, int index)
			throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 作業領域の取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}

		/* 業務データ設定 */
		HashMap dataMap = (HashMap)param.getData(fixedText);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}

		// ++++++++++++++++++++ v1.00.00 追加開始 ++++++++++++++++++++++++++ */
		ArrayList dataList = (ArrayList)dataMap.get("EKK0341D010TvList");
		if (dataList == null)
		{
			dataList = new ArrayList();
			dataMap.put("EKK0341D010TvList", dataList);
		}

		HashMap childMap = (HashMap)dataList.get(index);
		if (childMap == null)
		{
			childMap = new HashMap();
			dataList.add(index, childMap);
		}
		// +++++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++++ */

		// 2012/4/24 割引サービス自動適用対応 START
		String sysId = "";
		String mskmNo = "";

		// 契約者情報WORK取得
		HashMap addKeishaServiceCCWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME_KEISHA);

		// 申込情報WORK取得
		HashMap addMskmSCWork = (HashMap)workMap.get(CC_WORK_AREA_NAME_MSKM);

		// 割引サービス自動適用マップ作成
		HashMap wriSvcAutoAplyMap = (HashMap)param.getData(CC_WRI_SVC_AUTO_APLY_MAP);

		// サービス契約グループリストマップ
		HashMap svcKeiGrpListMap = new HashMap();
		;

		// サービス契約グループリスト
		ArrayList svcKeiGrpList = (ArrayList)wriSvcAutoAplyMap.get(SVC_KEI_GRP_LIST);

		// サービス契約リストマップ
		HashMap svcKeiListMap = new HashMap();

		// サービス契約リスト
		ArrayList svcKeiList = new ArrayList();
		// 2012/4/24 割引サービス自動適用対応 END

		// 機器提供サービス契約登録マップ.機器提供サービス契約番号（機器提供サービス契約） ← 機器提供サービス契約番号
		if (template.isNull(EKK0341D010CBSMsg.KKTK_SVC_KEI_NO))
		{
			childMap.put("kktk_svc_kei_no", "");
			// 2012/4/24 割引サービス自動適用対応 START
			svcKeiListMap.put("kktk_svc_kei_no", "");
			// 2012/4/24 割引サービス自動適用対応 END
		}
		else
		{
			childMap.put("kktk_svc_kei_no", template.getString(EKK0341D010CBSMsg.KKTK_SVC_KEI_NO));
			// 2012/4/24 割引サービス自動適用対応 START
			svcKeiListMap.put("kktk_svc_kei_no", template.getString(EKK0341D010CBSMsg.KKTK_SVC_KEI_NO));
			// 2012/4/24 割引サービス自動適用対応 END
		}

		// 機器提供サービス契約登録マップ.世代登録年月日時分秒（機器提供サービス契約） ← 世代登録年月日時分秒
		if (template.isNull(EKK0341D010CBSMsg.GENE_ADD_DTM))
		{
			childMap.put("gene_add_dtm", "");
		}
		else
		{
			childMap.put("gene_add_dtm", template.getString(EKK0341D010CBSMsg.GENE_ADD_DTM));
		}

		// 機器提供サービス契約登録マップ.機器提供サービス契約ステータス（機器提供サービス契約） ← 機器提供サービス契約ステータス
		if (template.isNull(EKK0341D010CBSMsg.KKTK_SVC_KEI_STAT))
		{
			childMap.put("kktk_svc_kei_stat", "");
		}
		else
		{
			childMap.put("kktk_svc_kei_stat", template.getString(EKK0341D010CBSMsg.KKTK_SVC_KEI_STAT));
		}

		// 機器提供サービス契約登録マップ.試用期間終了年月日（機器提供サービス契約） ← 試用期間終了年月日
		if (template.isNull(EKK0341D010CBSMsg.FTRIAL_PRD_ENDYMD))
		{
			childMap.put("ftrial_prd_endymd", "");
		}
		else
		{
			childMap.put("ftrial_prd_endymd", template.getString(EKK0341D010CBSMsg.FTRIAL_PRD_ENDYMD));
		}

		// 機器提供サービス契約登録マップ.予約適用年月日（機器提供サービス契約） ← 予約適用年月日
		if (template.isNull(EKK0341D010CBSMsg.RSV_APLY_YMD))
		{
			childMap.put("rsv_aply_ymd", "");
		}
		else
		{
			childMap.put("rsv_aply_ymd", template.getString(EKK0341D010CBSMsg.RSV_APLY_YMD));
		}

		// 機器提供サービス契約登録マップ.予約適用コード（機器提供サービス契約） ← 予約適用コード
		if (template.isNull(EKK0341D010CBSMsg.RSV_APLY_CD))
		{
			childMap.put("rsv_aply_cd", "");
		}
		else
		{
			childMap.put("rsv_aply_cd", template.getString(EKK0341D010CBSMsg.RSV_APLY_CD));
		}

		// 機器提供サービス契約登録マップ.登録年月日時分秒（機器提供サービス契約） ← 登録年月日時分秒
		if (template.isNull(EKK0341D010CBSMsg.ADD_DTM))
		{
			childMap.put("add_dtm", "");
		}
		else
		{
			childMap.put("add_dtm", template.getString(EKK0341D010CBSMsg.ADD_DTM));
		}

		// 機器提供サービス契約登録マップ.登録オペレータアカウント（機器提供サービス契約） ← 登録オペレータアカウント
		if (template.isNull(EKK0341D010CBSMsg.ADD_OPEACNT))
		{
			childMap.put("add_opeacnt", "");
		}
		else
		{
			childMap.put("add_opeacnt", template.getString(EKK0341D010CBSMsg.ADD_OPEACNT));
		}

		// 機器提供サービス契約登録マップ.更新年月日時分秒（機器提供サービス契約） ← 更新年月日時分秒
		if (template.isNull(EKK0341D010CBSMsg.UPD_DTM))
		{
			childMap.put("upd_dtm", "");
		}
		else
		{
			childMap.put("upd_dtm", template.getString(EKK0341D010CBSMsg.UPD_DTM));
		}

		// 機器提供サービス契約登録マップ.更新オペレータアカウント（機器提供サービス契約） ← 更新オペレータアカウント
		if (template.isNull(EKK0341D010CBSMsg.UPD_OPEACNT))
		{
			childMap.put("upd_opeacnt", "");
		}
		else
		{
			childMap.put("upd_opeacnt", template.getString(EKK0341D010CBSMsg.UPD_OPEACNT));
		}

		// 機器提供サービス契約登録マップ.無効フラグ（機器提供サービス契約） ← 無効フラグ
		if (template.isNull(EKK0341D010CBSMsg.MK_FLG))
		{
			childMap.put("mk_flg", "");
		}
		else
		{
			childMap.put("mk_flg", template.getString(EKK0341D010CBSMsg.MK_FLG));
		}

		// 2012/4/24 割引サービス自動適用対応 START
		// サービス契約グループリストからサービス契約グループリストマップを取得する
		svcKeiGrpListMap = (HashMap)svcKeiGrpList.get(0);

		// サービスグループリストマップからサービス契約リストを取得する
		if (svcKeiGrpListMap.containsKey(SVC_KEI_LIST))
		{
			svcKeiList = (ArrayList)svcKeiGrpListMap.get(SVC_KEI_LIST);
		}

		// ＳＹＳＩＤ設定
		if (wriSvcAutoAplyMap.containsKey("sysid"))
		{
			sysId = (String)wriSvcAutoAplyMap.get("sysid");
		}
		if ("".equals(sysId))
		{
			wriSvcAutoAplyMap.put("sysid", (String)addKeishaServiceCCWorkMap.get("sysid"));
		}

		// 申込番号設定
		if (wriSvcAutoAplyMap.containsKey("mskm_no"))
		{
			mskmNo = (String)wriSvcAutoAplyMap.get("mskm_no");
		}
		if ("".equals(mskmNo))
		{
			wriSvcAutoAplyMap.put("mskm_no", (String)addMskmSCWork.get("mskm_no"));
		}

		// サービス契約リストマップ.対象契約識別コード
		svcKeiListMap.put("tg_kei_skbt_cd", "06");

		// サービス契約リストマップ.機器提供サービス契約ステータス "010"：受付済
		svcKeiListMap.put("kktk_svc_kei_stat", "010");

		// サービス契約リストマップ.料金コースコード
		svcKeiListMap.put("pcrs_cd", childMap.get("pcrs_cd"));

		// サービス契約リストマップ.料金プランコード
		svcKeiListMap.put("pplan_cd", childMap.get("pplan_cd"));

		// サービス契約リストマップ.機器提供サービスコード
		svcKeiListMap.put("kktk_svc_cd", childMap.get("kktk_svc_cd"));

		// サービス契約リストマップ.機器提供種別コード
		svcKeiListMap.put("kktk_sbt_cd", childMap.get("kktk_sbt_cd"));

		// サービス契約リストにサービス契約リストマップを格納する
		svcKeiList.add(svcKeiListMap);

		// サービスグループリストマップにサービス契約リストが存在しない場合
		// サービスグループリストマップにサービス契約リストを追加する
		if (!svcKeiGrpListMap.containsKey(SVC_KEI_LIST))
		{
			svcKeiGrpListMap.put(SVC_KEI_LIST, svcKeiList);
		}
		// 2012/4/24 割引サービス自動適用対応 END

		// エラー情報の設定
		editErrInfoEKK0341D010(param, template, (Integer)returnCode, fixedText, index);

		// エラー情報のマップを取得
		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));

		return param;
	}

	/**
	 * エラー情報のマッピング処理
	 * <br>
	 */
	public IRequestParameterReadWrite editErrorInfo(IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode)
			throws RequestParameterException
	{
		/* ユーザデータ情報 */
		HashMap inMapChk = (HashMap)(param.getData("EKK0101D010"));
		if (inMapChk == null)
		{
			return param;
		}
		// No708 2013/04/24 Otsuka start
		int idx = 0;

		// サービス契約＜TV＞登録
		editErrInfoEKK0101D010(param, templates[idx], returnCode, "EKK0101D010");
		idx++; // 2013/04/23 Otsuka

		// STB台数取得
		HashMap inMap = (HashMap)param.getData("EKK0181D010");
		if (inMap != null)
		{
			int devCnt = ((ArrayList)inMap.get("EKK0181D010List")).size();
			for (int i = 0; i < devCnt; i++)
			{
				// サービス契約内訳＜TV＞登録
				editErrInfoEKK0181D010(param, templates[idx + i], returnCode, "EKK0181D010", i);
			}
			idx = devCnt + idx;

			// 機器台数取得
			inMap = (HashMap)param.getData("EKK0341D010Tv");
			devCnt = ((ArrayList)inMap.get("EKK0341D010TvList")).size();
			for (int i = 0; i < devCnt; i++)
			{
				// 機器提供サービス契約登録
				editErrInfoEKK0341D010(param, templates[idx + i], returnCode, "EKK0341D010Tv", i);
			}
		}
		// No708 2013/04/24 Otsuka end

		return param;
	}

	/**
	 * コントロールマップエラー情報格納処理
	 * <br>
	 */
	private IRequestParameterReadWrite setControlMapErrInfo(IRequestParameterReadWrite param, int templateStatus, int returnCode)
			throws RequestParameterException
	{
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString(RETURN_MESSAGE_STRING + String.format(RETURN_MESSAGE_FORMAT, 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)
		{
			String formatStatus = String.format(RETURN_MESSAGE_FORMAT, templateStatus);
			String message = JCMAPLConstMgr.getString(RETURN_MESSAGE_STRING + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}
		return param;
	}

	/**
	 * サービス契約＜TV＞登録のエラー情報マッピング処理
	 * <br>
	 */
	private IRequestParameterReadWrite editErrInfoEKK0101D010(IRequestParameterReadWrite param, CAANMsg template, int returnCode, String fixedText)
			throws RequestParameterException
	{
		param = setControlMapErrInfo(param, template.getInt(EKK0101D010CBSMsg.STATUS), returnCode);

		/* ユーザデータ情報 */
		HashMap inMap = (HashMap)param.getData(fixedText);

		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.ＳＹＳＩＤ → SYSID のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.SYSID_ERR))
		{
			if (!inMap.containsKey("kk0101_sysid_err"))
			{
				inMap.put("kk0101_sysid_err", template.getString(EKK0101D010CBSMsg.SYSID_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.サービスコード → サービスコード のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.SVC_CD_ERR))
		{
			if (!inMap.containsKey("kk0101_svc_cd_err"))
			{
				inMap.put("kk0101_svc_cd_err", template.getString(EKK0101D010CBSMsg.SVC_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.申込明細番号 → 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey("kk0101_mskm_dtl_no_err"))
			{
				inMap.put("kk0101_mskm_dtl_no_err", template.getString(EKK0101D010CBSMsg.MSKM_DTL_NO_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.面開発案件番号 → 面開発案件番号 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.MENKAIHAT_ANKEN_NO_ERR))
		{
			if (!inMap.containsKey("kk0101_menkaihat_anken_no_err"))
			{
				inMap.put("kk0101_menkaihat_anken_no_err", template.getString(EKK0101D010CBSMsg.MENKAIHAT_ANKEN_NO_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.料金グループコード → 料金グループコード のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.PRC_GRP_CD_ERR))
		{
			if (!inMap.containsKey("kk0101_prc_grp_cd_err"))
			{
				inMap.put("kk0101_prc_grp_cd_err", template.getString(EKK0101D010CBSMsg.PRC_GRP_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.料金コースコード → 料金コースコード のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.PCRS_CD_ERR))
		{
			if (!inMap.containsKey("kk0101_pcrs_cd_err"))
			{
				inMap.put("kk0101_pcrs_cd_err", template.getString(EKK0101D010CBSMsg.PCRS_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.料金プランコード → 料金プランコード のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.PPLAN_CD_ERR))
		{
			if (!inMap.containsKey("kk0101_pplan_cd_err"))
			{
				inMap.put("kk0101_pplan_cd_err", template.getString(EKK0101D010CBSMsg.PPLAN_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.提供方式契約番号 → 提供方式契約番号 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.TK_HOSHIKI_KEI_NO_ERR))
		{
			if (!inMap.containsKey("kk0101_tk_hoshiki_kei_no_err"))
			{
				inMap.put("kk0101_tk_hoshiki_kei_no_err", template.getString(EKK0101D010CBSMsg.TK_HOSHIKI_KEI_NO_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.サービス利用開始希望年月日 → サービス利用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey("kk0101_svc_use_sta_kibo_ymd_err"))
			{
				inMap.put("kk0101_svc_use_sta_kibo_ymd_err", template.getString(EKK0101D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.予約適用開始希望年月日 → 予約適用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey("kk0101_rsv_tsta_kibo_ymd_err"))
			{
				inMap.put("kk0101_rsv_tsta_kibo_ymd_err", template.getString(EKK0101D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.ＩＤ速報書出力要否 → ID速報書出力要否 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.ID_SOKHOSHO_OUTPUT_YH_ERR))
		{
			if (!inMap.containsKey("kk0101_id_sokhosho_output_yh_err"))
			{
				inMap.put("kk0101_id_sokhosho_output_yh_err", template.getString(EKK0101D010CBSMsg.ID_SOKHOSHO_OUTPUT_YH_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.支払方法継続フラグ → 支払方法継続フラグ のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.PAYWAY_KEIZOKU_FLG_ERR))
		{
			if (!inMap.containsKey("kk0101_payway_keizoku_flg_err"))
			{
				inMap.put("kk0101_payway_keizoku_flg_err", template.getString(EKK0101D010CBSMsg.PAYWAY_KEIZOKU_FLG_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.試用加入年月日 → 試用加入年月日 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.FTRIAL_KANYU_YMD_ERR))
		{
			if (!inMap.containsKey("kk0101_ftrial_kanyu_ymd_err"))
			{
				inMap.put("kk0101_ftrial_kanyu_ymd_err", template.getString(EKK0101D010CBSMsg.FTRIAL_KANYU_YMD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.本加入年月日 → 本加入年月日 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.HONKANYU_YMD_ERR))
		{
			if (!inMap.containsKey("kk0101_honkanyu_ymd_err"))
			{
				inMap.put("kk0101_honkanyu_ymd_err", template.getString(EKK0101D010CBSMsg.HONKANYU_YMD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.本加入移行期限年月日 → 本加入移行期限年月日 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR))
		{
			if (!inMap.containsKey("kk0101_honkanyu_iko_kigen_ymd_err"))
			{
				inMap.put("kk0101_honkanyu_iko_kigen_ymd_err", template.getString(EKK0101D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.レター発送仕分区分 → レター発送仕分区分 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.LETTER_HASSO_SHIWAKE_DIV_ERR))
		{
			if (!inMap.containsKey("kk0101_letter_hasso_shiwake_div_err"))
			{
				inMap.put("kk0101_letter_hasso_shiwake_div_err", template.getString(EKK0101D010CBSMsg.LETTER_HASSO_SHIWAKE_DIV_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.サンキューレター送付先コード → サンキューレター送付先コード のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.THNX_LETTER_SHS_CD_ERR))
		{
			if (!inMap.containsKey("kk0101_thnx_letter_shs_cd_err"))
			{
				inMap.put("kk0101_thnx_letter_shs_cd_err", template.getString(EKK0101D010CBSMsg.THNX_LETTER_SHS_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.ＷＥＢオプション追加不可フラグ → WEBオプション追加不可フラグ のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.WEB_OP_ADD_FAIL_FLG_ERR))
		{
			if (!inMap.containsKey("kk0101_web_op_add_fail_flg_err"))
			{
				inMap.put("kk0101_web_op_add_fail_flg_err", template.getString(EKK0101D010CBSMsg.WEB_OP_ADD_FAIL_FLG_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.変更元法人サービス契約受付番号 → 変更元法人サービス契約受付番号 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NO_ERR))
		{
			if (!inMap.containsKey("kk0101_chge_mt_hojinsvkei_uk_no_err"))
			{
				inMap.put("kk0101_chge_mt_hojinsvkei_uk_no_err", template.getString(EKK0101D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NO_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.変更元法人サービス契約受付番号子 → 変更元法人サービス契約受付番号子 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NOPT_ERR))
		{
			if (!inMap.containsKey("kk0101_chge_mt_hojinsvkei_uk_nopt_err"))
			{
				inMap.put("kk0101_chge_mt_hojinsvkei_uk_nopt_err", template.getString(EKK0101D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NOPT_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.違約金発生コード → 違約金発生コード のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.PNLTY_HASSEI_CD_ERR))
		{
			if (!inMap.containsKey("kk0101_pnlty_hassei_cd_err"))
			{
				inMap.put("kk0101_pnlty_hassei_cd_err", template.getString(EKK0101D010CBSMsg.PNLTY_HASSEI_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.異動区分 → 異動区分 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey("kk0101_ido_div_err"))
			{
				inMap.put("kk0101_ido_div_err", template.getString(EKK0101D010CBSMsg.IDO_DIV_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.紹介コード → 紹介コード のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.INTR_CD_ERR))
		{
			if (!inMap.containsKey("kk0101_intr_cd_err"))
			{
				inMap.put("kk0101_intr_cd_err", template.getString(EKK0101D010CBSMsg.INTR_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.業務連絡備考 → 業務連絡備考 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.WORK_RRK_BIKO_ERR))
		{
			if (!inMap.containsKey("work_rrk_biko_err"))
			{
				inMap.put("work_rrk_biko_err", template.getString(EKK0101D010CBSMsg.WORK_RRK_BIKO_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.自動照査処理状態コード → 自動照査処理状態コード考 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.AUTO_SHOSA_TRAN_STAT_CD_ERR))
		{
			if (!inMap.containsKey("kk0101_auto_shosa_tran_stat_cd_err"))
			{
				inMap.put("kk0101_auto_shosa_tran_stat_cd_err", template.getString(EKK0101D010CBSMsg.AUTO_SHOSA_TRAN_STAT_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.電波障害案件番号 → 電波障害案件番号 のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.DMPS_ANKEN_NO_ERR))
		{
			if (!inMap.containsKey("kk0101_dmps_anken_no_err"))
			{
				inMap.put("kk0101_dmps_anken_no_err", template.getString(EKK0101D010CBSMsg.DMPS_ANKEN_NO_ERR));
			}
		}
		// ----- 2012/05/07 サービスインターフェイス取込対応 h.iwamoto START -----
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.再送信提供サービス種別コード → 再送信提供サービス種別コード のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.RE_SEND_TK_SVC_SBT_CD_ERR))
		{
			if (!inMap.containsKey("re_send_tk_svc_sbt_cd"))
			{
				inMap.put("re_send_tk_svc_sbt_cd", template.getString(EKK0101D010CBSMsg.RE_SEND_TK_SVC_SBT_CD_ERR));
			}
		}
		// ----- 2012/05/07 サービスインターフェイス取込対応 h.iwamoto END -----
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.ＴＶ営業地区コード → TV営業地区コード のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.TV_BUSINESS_CHIK_CD_ERR))
		{
			if (!inMap.containsKey("kk0101_tv_business_chik_cd_err"))
			{
				inMap.put("kk0101_tv_business_chik_cd_err", template.getString(EKK0101D010CBSMsg.TV_BUSINESS_CHIK_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光ＴＶ＞登録マップ.ＴＶ営業担当ユーザーＩＤ → TV営業担当ユーザーID のエラー情報返却
		if (!template.isNull(EKK0101D010CBSMsg.TV_BUSINESS_TNT_USER_ID_ERR))
		{
			if (!inMap.containsKey("kk0101_tv_business_tnt_user_id_err"))
			{
				inMap.put("kk0101_tv_business_tnt_user_id_err", template.getString(EKK0101D010CBSMsg.TV_BUSINESS_TNT_USER_ID_ERR));
			}
		}

		return param;
	}

	/**
	 * サービス契約内訳＜TV＞登録のエラー情報マッピング処理
	 * <br>
	 */
	private IRequestParameterReadWrite editErrInfoEKK0181D010(IRequestParameterReadWrite param, CAANMsg template, int returnCode, String fixedText,
			int index) throws RequestParameterException
	{
		param = setControlMapErrInfo(param, template.getInt(EKK0181D010CBSMsg.STATUS), returnCode);

		/* ユーザデータ情報 */
		HashMap inMap = (HashMap)param.getData(fixedText);
		/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++ */
		inMap = (HashMap)((ArrayList)((HashMap)param.getData(fixedText)).get("EKK0181D010List")).get(index);
		/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++ */

		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.サービス契約番号 → サービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey("svc_kei_no_err"))
			{
				inMap.put("svc_kei_no_err", template.getString(EKK0181D010CBSMsg.SVC_KEI_NO_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.申込明細番号 → 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey("mskm_dtl_no_err"))
			{
				inMap.put("mskm_dtl_no_err", template.getString(EKK0181D010CBSMsg.MSKM_DTL_NO_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.料金コースコード → 料金コースコード のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.PCRS_CD_ERR))
		{
			if (!inMap.containsKey("pcrs_cd_err"))
			{
				inMap.put("pcrs_cd_err", template.getString(EKK0181D010CBSMsg.PCRS_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.料金プランコード → 料金プランコード のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.PPLAN_CD_ERR))
		{
			if (!inMap.containsKey("pplan_cd_err"))
			{
				inMap.put("pplan_cd_err", template.getString(EKK0181D010CBSMsg.PPLAN_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.提供方式契約番号 → 提供方式契約番号 のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.TK_HOSHIKI_KEI_NO_ERR))
		{
			if (!inMap.containsKey("tk_hoshiki_kei_no_err"))
			{
				inMap.put("tk_hoshiki_kei_no_err", template.getString(EKK0181D010CBSMsg.TK_HOSHIKI_KEI_NO_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.支払方法継続フラグ → 支払方法継続フラグ のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.PAYWAY_KEIZOKU_FLG_ERR))
		{
			if (!inMap.containsKey("payway_keizoku_flg_err"))
			{
				inMap.put("payway_keizoku_flg_err", template.getString(EKK0181D010CBSMsg.PAYWAY_KEIZOKU_FLG_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.ＷＥＢオプション追加不可フラグ → WEBオプション追加不可フラグ のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.WEB_OP_ADD_FAIL_FLG_ERR))
		{
			if (!inMap.containsKey("web_op_add_fail_flg_err"))
			{
				inMap.put("web_op_add_fail_flg_err", template.getString(EKK0181D010CBSMsg.WEB_OP_ADD_FAIL_FLG_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.業務連絡備考 → 業務連絡備考 のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.WORK_RRK_BIKO))
		{
			if (!inMap.containsKey("biko_err"))
			{
				inMap.put("biko_err", template.getString(EKK0181D010CBSMsg.WORK_RRK_BIKO));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.サービス利用開始希望年月日 → サービス利用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey("svc_use_sta_kibo_ymd_err"))
			{
				inMap.put("svc_use_sta_kibo_ymd_err", template.getString(EKK0181D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.予約適用開始希望年月日 → 予約適用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey("rsv_tsta_kibo_ymd_err"))
			{
				inMap.put("rsv_tsta_kibo_ymd_err", template.getString(EKK0181D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.試用加入年月日 → 試用加入年月日 のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.FTRIAL_KANYU_YMD_ERR))
		{
			if (!inMap.containsKey("ftrial_kanyu_ymd_err"))
			{
				inMap.put("ftrial_kanyu_ymd_err", template.getString(EKK0181D010CBSMsg.FTRIAL_KANYU_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.試用期間終了年月日 → 試用期間終了年月日 のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.FTRIAL_PRD_ENDYMD_ERR))
		{
			if (!inMap.containsKey("ftrial_prd_endymd_err"))
			{
				inMap.put("ftrial_prd_endymd_err", template.getString(EKK0181D010CBSMsg.FTRIAL_PRD_ENDYMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.本加入年月日 → 本加入年月日 のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.HONKANYU_YMD_ERR))
		{
			if (!inMap.containsKey("honkanyu_ymd_err"))
			{
				inMap.put("honkanyu_ymd_err", template.getString(EKK0181D010CBSMsg.HONKANYU_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.本加入移行期限年月日 → 本加入移行期限年月日 のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR))
		{
			if (!inMap.containsKey("honkanyu_iko_kigen_ymd_err"))
			{
				inMap.put("honkanyu_iko_kigen_ymd_err", template.getString(EKK0181D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.違約金発生コード → 違約金発生コード のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.PNLTY_HASSEI_CD_ERR))
		{
			if (!inMap.containsKey("pnlty_hassei_cd_err"))
			{
				inMap.put("pnlty_hassei_cd_err", template.getString(EKK0181D010CBSMsg.PNLTY_HASSEI_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.異動区分 → 異動区分 のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey("ido_div_err"))
			{
				inMap.put("ido_div_err", template.getString(EKK0181D010CBSMsg.IDO_DIV_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.撤去工事希望年月日 → 撤去工事希望年月日 のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.TEKKYO_KOJI_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey("tekkyo_koji_kibo_ymd_err"))
			{
				inMap.put("tekkyo_koji_kibo_ymd_err", template.getString(EKK0181D010CBSMsg.TEKKYO_KOJI_KIBO_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光ＴＶ＞登録マップ.アダルトフラグ → アダルトフラグ のエラー情報返却
		if (!template.isNull(EKK0181D010CBSMsg.ADULT_FLG_ERR))
		{
			if (!inMap.containsKey("adult_flg_err"))
			{
				inMap.put("adult_flg_err", template.getString(EKK0181D010CBSMsg.ADULT_FLG_ERR));
			}
		}

		return param;
	}

	/**
	 * 機器提供サービス契約登録のエラー情報マッピング処理
	 * <br>
	 */
	private IRequestParameterReadWrite editErrInfoEKK0341D010(IRequestParameterReadWrite param, CAANMsg template, int returnCode, String fixedText,
			int index) throws RequestParameterException
	{

		int templateStatus = template.getInt(EKK0341D010CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString(RETURN_MESSAGE_STRING + String.format(RETURN_MESSAGE_FORMAT, 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)
		{
			String formatStatus = String.format(RETURN_MESSAGE_FORMAT, templateStatus);
			String message = JCMAPLConstMgr.getString(RETURN_MESSAGE_STRING + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		/* ユーザデータ情報 */
		HashMap inMap = (HashMap)param.getData(fixedText);
		/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++ */
		inMap = (HashMap)((ArrayList)((HashMap)param.getData(fixedText)).get("EKK0341D010TvList")).get(index);
		/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++ */

		// 機器提供サービス契約登録マップ.機器提供サービスコード → 機器提供サービスコード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KKTK_SVC_CD_ERR))
		{
			if (!inMap.containsKey("kktk_svc_cd_err"))
			{
				inMap.put("kktk_svc_cd_err", template.getString(EKK0341D010CBSMsg.KKTK_SVC_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.料金コースコード → 料金コースコード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.PCRS_CD_ERR))
		{
			if (!inMap.containsKey("pcrs_cd_err"))
			{
				inMap.put("pcrs_cd_err", template.getString(EKK0341D010CBSMsg.PCRS_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.料金プランコード → 料金プランコード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.PPLAN_CD_ERR))
		{
			if (!inMap.containsKey("pplan_cd_err"))
			{
				inMap.put("pplan_cd_err", template.getString(EKK0341D010CBSMsg.PPLAN_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.ＨＤＤ容量コード → HDD容量コード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.HDD_CAPA_CD_ERR))
		{
			if (!inMap.containsKey("hdd_capa_cd_err"))
			{
				inMap.put("hdd_capa_cd_err", template.getString(EKK0341D010CBSMsg.HDD_CAPA_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.サービス利用開始希望年月日 → サービス利用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey("svc_use_sta_kibo_ymd_err"))
			{
				inMap.put("svc_use_sta_kibo_ymd_err", template.getString(EKK0341D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.予約適用開始希望年月日 → 予約適用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey("rsv_tsta_kibo_ymd_err"))
			{
				inMap.put("rsv_tsta_kibo_ymd_err", template.getString(EKK0341D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.希望メーカーコード → 希望メーカーコード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIBO_MAKER_CD_ERR))
		{
			if (!inMap.containsKey("kibo_maker_cd_err"))
			{
				inMap.put("kibo_maker_cd_err", template.getString(EKK0341D010CBSMsg.KIBO_MAKER_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.販売種別コード → 販売種別コード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.HAMBAI_SBT_CD_ERR))
		{
			if (!inMap.containsKey("hambai_sbt_cd_err"))
			{
				inMap.put("hambai_sbt_cd_err", template.getString(EKK0341D010CBSMsg.HAMBAI_SBT_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.通信機器セットコード → 通信機器セットコード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.TSUSHIN_KIKI_SET_CD_ERR))
		{
			if (!inMap.containsKey("tsushin_kiki_set_cd_err"))
			{
				inMap.put("tsushin_kiki_set_cd_err", template.getString(EKK0341D010CBSMsg.TSUSHIN_KIKI_SET_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.宅内機器種別コード → 宅内機器種別コード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.TAKNKIKI_SBT_CD_ERR))
		{
			if (!inMap.containsKey("taknkiki_sbt_cd_err"))
			{
				inMap.put("taknkiki_sbt_cd_err", template.getString(EKK0341D010CBSMsg.TAKNKIKI_SBT_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.宅内機器型式コード → 宅内機器型式コード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.TAKNKIKI_MODEL_CD_ERR))
		{
			if (!inMap.containsKey("taknkiki_model_cd_err"))
			{
				inMap.put("taknkiki_model_cd_err", template.getString(EKK0341D010CBSMsg.TAKNKIKI_MODEL_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.宅内機器セット品型コード → 宅内機器セット品型コード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.TAKNKIKI_SETHIN_MODEL_CD_ERR))
		{
			if (!inMap.containsKey("taknkiki_sethin_model_cd_err"))
			{
				inMap.put("taknkiki_sethin_model_cd_err", template.getString(EKK0341D010CBSMsg.TAKNKIKI_SETHIN_MODEL_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.付属品種別コード → 付属品種別コード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.HUZOKUHIN_SBT_CD_ERR))
		{
			if (!inMap.containsKey("huzokuhin_sbt_cd_err"))
			{
				inMap.put("huzokuhin_sbt_cd_err", template.getString(EKK0341D010CBSMsg.HUZOKUHIN_SBT_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先場所番号 → 機器設置先場所番号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_PLACE_NO_ERR))
		{
			if (!inMap.containsKey("kiki_stc_saki_place_no_err"))
			{
				inMap.put("kiki_stc_saki_place_no_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SAKI_PLACE_NO_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.サービス契約番号 → サービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey("svc_kei_no_err"))
			{
				inMap.put("svc_kei_no_err", template.getString(EKK0341D010CBSMsg.SVC_KEI_NO_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.サービス契約内訳番号 → サービス契約内訳番号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.SVC_KEI_UCWK_NO_ERR))
		{
			if (!inMap.containsKey("svc_kei_ucwk_no_err"))
			{
				inMap.put("svc_kei_ucwk_no_err", template.getString(EKK0341D010CBSMsg.SVC_KEI_UCWK_NO_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.サービス契約回線内訳番号 → サービス契約回線内訳番号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO_ERR))
		{
			if (!inMap.containsKey("svc_kei_kaisen_ucwk_no_err"))
			{
				inMap.put("svc_kei_kaisen_ucwk_no_err", template.getString(EKK0341D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.オプションサービス契約番号 → オプションサービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.OP_SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey("op_svc_kei_no_err"))
			{
				inMap.put("op_svc_kei_no_err", template.getString(EKK0341D010CBSMsg.OP_SVC_KEI_NO_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.ＳＹＳＩＤ → SYSID のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.SYSID_ERR))
		{
			if (!inMap.containsKey("sysid_err"))
			{
				inMap.put("sysid_err", template.getString(EKK0341D010CBSMsg.SYSID_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.申込明細番号 → 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey("mskm_dtl_no_err"))
			{
				inMap.put("mskm_dtl_no_err", template.getString(EKK0341D010CBSMsg.MSKM_DTL_NO_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.リンクＳＴＢフラグ → リンクSTBフラグ のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.LINK_STB_FLG_ERR))
		{
			if (!inMap.containsKey("link_stb_flg_err"))
			{
				inMap.put("link_stb_flg_err", template.getString(EKK0341D010CBSMsg.LINK_STB_FLG_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送料有無 → 機器送料有無 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SORYO_UM_ERR))
		{
			if (!inMap.containsKey("kiki_soryo_um_err"))
			{
				inMap.put("kiki_soryo_um_err", template.getString(EKK0341D010CBSMsg.KIKI_SORYO_UM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送料作成年月日 → 機器送料作成年月日 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SORYO_SAKSEI_YMD_ERR))
		{
			if (!inMap.containsKey("kiki_soryo_saksei_ymd_err"))
			{
				inMap.put("kiki_soryo_saksei_ymd_err", template.getString(EKK0341D010CBSMsg.KIKI_SORYO_SAKSEI_YMD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先名 → 機器送付先名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SOHUS_NM_ERR))
		{
			if (!inMap.containsKey("kiki_sohus_nm_err"))
			{
				inMap.put("kiki_sohus_nm_err", template.getString(EKK0341D010CBSMsg.KIKI_SOHUS_NM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先カナ名 → 機器送付先カナ名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SOHUS_KANA_ERR))
		{
			if (!inMap.containsKey("kiki_sohus_kana_err"))
			{
				inMap.put("kiki_sohus_kana_err", template.getString(EKK0341D010CBSMsg.KIKI_SOHUS_KANA_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先住所コード → 機器送付先住所コード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SOHUS_AD_CD_ERR))
		{
			if (!inMap.containsKey("kiki_sohus_ad_cd_err"))
			{
				inMap.put("kiki_sohus_ad_cd_err", template.getString(EKK0341D010CBSMsg.KIKI_SOHUS_AD_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先郵便番号 → 機器送付先郵便番号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SOHUS_PCD_ERR))
		{
			if (!inMap.containsKey("kiki_sohus_pcd_err"))
			{
				inMap.put("kiki_sohus_pcd_err", template.getString(EKK0341D010CBSMsg.KIKI_SOHUS_PCD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先都道府県名 → 機器送付先都道府県名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SOHUS_STATE_NM_ERR))
		{
			if (!inMap.containsKey("kiki_sohus_state_nm_err"))
			{
				inMap.put("kiki_sohus_state_nm_err", template.getString(EKK0341D010CBSMsg.KIKI_SOHUS_STATE_NM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先市区町村名 → 機器送付先市区町村名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SOHUS_CITY_NM_ERR))
		{
			if (!inMap.containsKey("kiki_sohus_city_nm_err"))
			{
				inMap.put("kiki_sohus_city_nm_err", template.getString(EKK0341D010CBSMsg.KIKI_SOHUS_CITY_NM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先大字通称名 → 機器送付先大字通称名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SOHUS_OAZTSU_NM_ERR))
		{
			if (!inMap.containsKey("kiki_sohus_oaztsu_nm_err"))
			{
				inMap.put("kiki_sohus_oaztsu_nm_err", template.getString(EKK0341D010CBSMsg.KIKI_SOHUS_OAZTSU_NM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先字丁目名 → 機器送付先字丁目名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SOHUS_AZCHO_NM_ERR))
		{
			if (!inMap.containsKey("kiki_sohus_azcho_nm_err"))
			{
				inMap.put("kiki_sohus_azcho_nm_err", template.getString(EKK0341D010CBSMsg.KIKI_SOHUS_AZCHO_NM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先番地号 → 機器送付先番地号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SOHUS_BNCHIGO_ERR))
		{
			if (!inMap.containsKey("kiki_sohus_bnchigo_err"))
			{
				inMap.put("kiki_sohus_bnchigo_err", template.getString(EKK0341D010CBSMsg.KIKI_SOHUS_BNCHIGO_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先住所補記・建物名 → 機器送付先住所補記・建物名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SOHUS_ADRTTM_ERR))
		{
			if (!inMap.containsKey("kiki_sohus_adrttm_err"))
			{
				inMap.put("kiki_sohus_adrttm_err", template.getString(EKK0341D010CBSMsg.KIKI_SOHUS_ADRTTM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先住所補記・部屋番号 → 機器送付先住所補記・部屋番号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SOHUS_ADRRM_ERR))
		{
			if (!inMap.containsKey("kiki_sohus_adrrm_err"))
			{
				inMap.put("kiki_sohus_adrrm_err", template.getString(EKK0341D010CBSMsg.KIKI_SOHUS_ADRRM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先電話番号 → 機器送付先電話番号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SOHUS_TELNO_ERR))
		{
			if (!inMap.containsKey("kiki_sohus_telno_err"))
			{
				inMap.put("kiki_sohus_telno_err", template.getString(EKK0341D010CBSMsg.KIKI_SOHUS_TELNO_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.マンション物件番号 → マンション物件番号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.MANSION_BUKKEN_NO_ERR))
		{
			if (!inMap.containsKey("mansion_bukken_no_err"))
			{
				inMap.put("mansion_bukken_no_err", template.getString(EKK0341D010CBSMsg.MANSION_BUKKEN_NO_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先＿契約者住所差異フラグ → 機器送付先_契約者住所差異フラグ のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG_ERR))
		{
			if (!inMap.containsKey("kiki_sohus_ksh_ad_sai_flg_err"))
			{
				inMap.put("kiki_sohus_ksh_ad_sai_flg_err", template.getString(EKK0341D010CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG_ERR));
			}
		}

		// 機器提供サービス契約登録マップ.機器送付先個別指定フラグ → 機器送付先個別指定フラグ のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SHS_KBT_SHITEI_FLG_ERR))
		{
			if (!inMap.containsKey("kiki_shs_kbt_shitei_flg_err"))
			{
				inMap.put("kiki_shs_kbt_shitei_flg_err", template.getString(EKK0341D010CBSMsg.KIKI_SHS_KBT_SHITEI_FLG_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先補足コード１ → 機器送付先補足コード1 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SHS_HSK_CD_1_ERR))
		{
			if (!inMap.containsKey("kiki_shs_hsk_cd_1_err"))
			{
				inMap.put("kiki_shs_hsk_cd_1_err", template.getString(EKK0341D010CBSMsg.KIKI_SHS_HSK_CD_1_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先補足コード２ → 機器送付先補足コード2 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SHS_HSK_CD_2_ERR))
		{
			if (!inMap.containsKey("kiki_shs_hsk_cd_2_err"))
			{
				inMap.put("kiki_shs_hsk_cd_2_err", template.getString(EKK0341D010CBSMsg.KIKI_SHS_HSK_CD_2_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器送付先補足メモ → 機器送付先補足メモ のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_SHS_HSK_MEMO_ERR))
		{
			if (!inMap.containsKey("kiki_shs_hsk_memo_err"))
			{
				inMap.put("kiki_shs_hsk_memo_err", template.getString(EKK0341D010CBSMsg.KIKI_SHS_HSK_MEMO_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先名 → 機器設置先名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_NM_ERR))
		{
			if (!inMap.containsKey("kiki_stc_saki_nm_err"))
			{
				inMap.put("kiki_stc_saki_nm_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SAKI_NM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先カナ名 → 機器設置先カナ名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_KANA_ERR))
		{
			if (!inMap.containsKey("kiki_stc_saki_kana_err"))
			{
				inMap.put("kiki_stc_saki_kana_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SAKI_KANA_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先住所コード → 機器設置先住所コード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_AD_CD_ERR))
		{
			if (!inMap.containsKey("kiki_stc_saki_ad_cd_err"))
			{
				inMap.put("kiki_stc_saki_ad_cd_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SAKI_AD_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先郵便番号 → 機器設置先郵便番号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_PCD_ERR))
		{
			if (!inMap.containsKey("kiki_stc_saki_pcd_err"))
			{
				inMap.put("kiki_stc_saki_pcd_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SAKI_PCD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先都道府県名 → 機器設置先都道府県名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_STATE_NM_ERR))
		{
			if (!inMap.containsKey("kiki_stc_saki_state_nm_err"))
			{
				inMap.put("kiki_stc_saki_state_nm_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SAKI_STATE_NM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先市区町村名 → 機器設置先市区町村名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_CITY_NM_ERR))
		{
			if (!inMap.containsKey("kiki_stc_saki_city_nm_err"))
			{
				inMap.put("kiki_stc_saki_city_nm_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SAKI_CITY_NM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先大字通称名 → 機器設置先大字通称名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_OAZTSU_NM_ERR))
		{
			if (!inMap.containsKey("kiki_stc_saki_oaztsu_nm_err"))
			{
				inMap.put("kiki_stc_saki_oaztsu_nm_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SAKI_OAZTSU_NM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先字丁目名 → 機器設置先字丁目名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_AZCHO_NM_ERR))
		{
			if (!inMap.containsKey("kiki_stc_saki_azcho_nm_err"))
			{
				inMap.put("kiki_stc_saki_azcho_nm_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SAKI_AZCHO_NM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先番地号 → 機器設置先番地号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_BNCHIGO_ERR))
		{
			if (!inMap.containsKey("kiki_stc_saki_bnchigo_err"))
			{
				inMap.put("kiki_stc_saki_bnchigo_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SAKI_BNCHIGO_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先住所補記・建物名 → 機器設置先住所補記・建物名 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRTTM_ERR))
		{
			if (!inMap.containsKey("kiki_stc_saki_adrttm_err"))
			{
				inMap.put("kiki_stc_saki_adrttm_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRTTM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先住所補記・部屋番号 → 機器設置先住所補記・部屋番号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRRM_ERR))
		{
			if (!inMap.containsKey("kiki_stc_saki_adrrm_err"))
			{
				inMap.put("kiki_stc_saki_adrrm_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SAKI_ADRRM_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先＿契約者住所差異フラグ → 機器設置先_契約者住所差異フラグ のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG_ERR))
		{
			if (!inMap.containsKey("kiki_stc_sk_ksh_ad_sai_flg_err"))
			{
				inMap.put("kiki_stc_sk_ksh_ad_sai_flg_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先電話番号 → 機器設置先電話番号 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STC_SK_TELNO_ERR))
		{
			if (!inMap.containsKey("kiki_stc_sk_telno_err"))
			{
				inMap.put("kiki_stc_sk_telno_err", template.getString(EKK0341D010CBSMsg.KIKI_STC_SK_TELNO_ERR));
			}
		}

		// 機器提供サービス契約登録マップ.機器設置先区画整理中フラグ → 機器設置先区画整理中フラグ のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG_ERR))
		{
			if (!inMap.containsKey("kiki_sts_kkk_seiri_chu_flg_err"))
			{
				inMap.put("kiki_sts_kkk_seiri_chu_flg_err", template.getString(EKK0341D010CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先補足コード１ → 機器設置先補足コード1 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STS_HSK_CD_1_ERR))
		{
			if (!inMap.containsKey("kiki_sts_hsk_cd_1_err"))
			{
				inMap.put("kiki_sts_hsk_cd_1_err", template.getString(EKK0341D010CBSMsg.KIKI_STS_HSK_CD_1_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先補足コード２ → 機器設置先補足コード2 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STS_HSK_CD_2_ERR))
		{
			if (!inMap.containsKey("kiki_sts_hsk_cd_2_err"))
			{
				inMap.put("kiki_sts_hsk_cd_2_err", template.getString(EKK0341D010CBSMsg.KIKI_STS_HSK_CD_2_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.機器設置先補足メモ → 機器設置先補足メモ のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.KIKI_STS_HSK_MEMO_ERR))
		{
			if (!inMap.containsKey("kiki_sts_hsk_memo_err"))
			{
				inMap.put("kiki_sts_hsk_memo_err", template.getString(EKK0341D010CBSMsg.KIKI_STS_HSK_MEMO_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.配送区分 → 配送区分 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.HAISO_DIV_ERR))
		{
			if (!inMap.containsKey("haiso_div_err"))
			{
				inMap.put("haiso_div_err", template.getString(EKK0341D010CBSMsg.HAISO_DIV_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.試用加入年月日 → 試用加入年月日 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.FTRIAL_KANYU_YMD_ERR))
		{
			if (!inMap.containsKey("ftrial_kanyu_ymd_err"))
			{
				inMap.put("ftrial_kanyu_ymd_err", template.getString(EKK0341D010CBSMsg.FTRIAL_KANYU_YMD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.本加入年月日 → 本加入年月日 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.HONKANYU_YMD_ERR))
		{
			if (!inMap.containsKey("honkanyu_ymd_err"))
			{
				inMap.put("honkanyu_ymd_err", template.getString(EKK0341D010CBSMsg.HONKANYU_YMD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.本加入移行期限年月日 → 本加入移行期限年月日 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR))
		{
			if (!inMap.containsKey("honkanyu_iko_kigen_ymd_err"))
			{
				inMap.put("honkanyu_iko_kigen_ymd_err", template.getString(EKK0341D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.保証コード → 保証コード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.HOSHO_CD_ERR))
		{
			if (!inMap.containsKey("hosho_cd_err"))
			{
				inMap.put("hosho_cd_err", template.getString(EKK0341D010CBSMsg.HOSHO_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.保証開始年月日 → 保証開始年月日 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.HOSHO_STAYMD_ERR))
		{
			if (!inMap.containsKey("hosho_staymd_err"))
			{
				inMap.put("hosho_staymd_err", template.getString(EKK0341D010CBSMsg.HOSHO_STAYMD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.違約金発生コード → 違約金発生コード のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.PNLTY_HASSEI_CD_ERR))
		{
			if (!inMap.containsKey("pnlty_hassei_cd_err"))
			{
				inMap.put("pnlty_hassei_cd_err", template.getString(EKK0341D010CBSMsg.PNLTY_HASSEI_CD_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.異動区分 → 異動区分 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey("ido_div_err"))
			{
				inMap.put("ido_div_err", template.getString(EKK0341D010CBSMsg.IDO_DIV_ERR));
			}
		}
		// 機器提供サービス契約登録マップ.ＣＡＳカード使用許諾年月日 → CASカード使用許諾年月日 のエラー情報返却
		if (!template.isNull(EKK0341D010CBSMsg.CAS_CARD_USE_KYODAK_YMD_ERR))
		{
			if (!inMap.containsKey("cas_card_use_kyodak_ymd_err"))
			{
				inMap.put("cas_card_use_kyodak_ymd_err", template.getString(EKK0341D010CBSMsg.CAS_CARD_USE_KYODAK_YMD_ERR));
			}
		}

		return param;
	}
}
