/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JFUAddSvcKeiTelCC
*   ソースファイル名：JFUAddSvcKeiTelCC.java
*   作成者          ：富士通
*   日付            ：2011年10月01日
*＜機能概要＞
*   eo光電話登録コモンコンポーネント部品
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v4.00.00	2012/10/16	FJ)岩元		IT1-2012-0001150 仮申込フラグへのマッピング追加
*	v4.01.00	2012/10/31	FJ)矢野		IT1-2012-0001714 eo電話仮登録時のオプション契約サービスへのサービス契約番号登録を削除
*	v4.02.00	2012/11/23	FJ)齋藤		IT2-2012-0001783 番ポ情報更新障害対応
*	v4.03.00	2013/03/18	FJ)藤原		No.414 マンション電話事務手数料対応
*	v4.04.00	2013/03/21	FJ)大塚		ST1-2013-0000487 緊急通報用契約者カナ名対応
*	v5.00.00	2013/04/05	FJ)大村	   【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応
*	v5.01.00	2013/04/16	FJ)大村	   【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応
*   v5.02.00    2013/04/23  FJ)大塚     No708 エラー情報マッピング不備対応
*   v7.00.00	2013/12/02	FJ)川瀬    【ANK-1578-00-00】多機能ルーター(機器追加)
*   v9.00.00	2014/05/12	FJ)川瀬    【ANK-2056-00-00】【ＮＯ．９４９】光TELセレクトオプションパック
*   v50.00.00   2020/07/29  FJ)西川    【ANK-3754-00-00】トビラフォン対応
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.bp.x21.bpm.ServiceComponentRequestInvoker;
import com.fujitsu.futurity.bp.x21.bpm.db.SessionHandle;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.bp.x21.cc.exception.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 com.fujitsu.futurity.model.common.check.MixCharCheck;

import eo.common.constant.JFUStrConst;
import eo.common.util.JPCConvertString;
import eo.ejb.cbs.cbsmsg.EKK0111D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0191D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0371D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0321A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0321A010CBSMsg1List;

//IT1-2012-0001150 不要インポート削除 2012/10/16 h.iwamoto

/**
 * eo光電話登録コモンコンポーネント部品.<br>
 * 
 * @author user
 * 
 */
public class JFUAddSvcKeiTelCC extends AbstractCommonComponent
{

	/** テンプレートID **/
	//	private static final String TEMPLATE_ID_TEL = "EKK0111D010"; // サービス契約<eo光電話>登録
	//	private static final String TEMPLATE_ID_TEL_UTC = "EKK0191D010"; // サービス契約内訳<eo光電話>登録
	//	private static final String TEMPLATE_ID_KIKI = "EKK0341D010Tel"; // 機器提供サービス契約登録
	//	private static final String TEMPLATE_ID_EZM0321A010 = "EZM0321A010"; // オプションサービス契約＜電話＞登録
	private static final String TEMPLATE_ID_EKK0371D010 = "EKK0371D010"; // オプションサービス契約＜電話＞登録
	/** 作業マップ名 */
	private static final String CC_WORK_AREA_NAME = "JFUAddSvcKeiTelCCWork";
	private static final String CC_WORK_AREA_NAME_KEISHA = "JFUAddKeishaServiceCCWork";
	private static final String CC_WORK_AREA_NAME_USE = "JFUAddUsePlaceInfoCCWork";
	private static final String CC_WORK_AREA_NAME_MSKM = "JFUAddMskmSCWork";
	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 FUNC_1 = "1";

	/**
	 * eo光テレビ情報作業エリア
	 */
	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;
	}

	private String getKeishaWorkMapValue(IRequestParameterReadWrite param, String key) throws RequestParameterException
	{
		// 作業領域の取得
		Map workMap = (Map)param.getMappingWorkArea();

		HashMap inMap = null;
		/* 契約者作業項目情報 */
		if (workMap != null)
		{
			inMap = (HashMap)workMap.get(CC_WORK_AREA_NAME_KEISHA);
		}
		else
		{
			inMap = null;
		}

		String result = null;
		if (inMap != null)
		{
			result = (String)inMap.get(key);
		}

		if ("".equals(result))
		{
			result = null;
		}

		return result;
	}

	private String getMskmWorkMapValue(IRequestParameterReadWrite param, String key) throws RequestParameterException
	{
		// 作業領域の取得
		Map workMap = (Map)param.getMappingWorkArea();

		HashMap inMap = null;
		/* 申込作業項目情報 */
		if (workMap != null)
		{
			inMap = (HashMap)workMap.get(CC_WORK_AREA_NAME_MSKM);
		}
		else
		{
			inMap = null;
		}

		String result = null;
		if (inMap != null)
		{
			result = (String)inMap.get(key);
		}

		if ("".equals(result))
		{
			result = null;
		}

		return result;
	}

	public HashMap<String, Object> getInvokeCBS(SessionHandle handle, IRequestParameterReadWrite param, String fixedText)
			throws RequestParameterException
	{
		ArrayList<CAANMsg> msgList = new ArrayList<CAANMsg>();
		int telCnt = 0;
		int telKikiCnt = 0;
		HashMap inWorkMap = null;

		/* ユーザデータ情報 */
		HashMap inMap = (HashMap)param.getData("EKK0111D010");
		if (inMap == null)
		{
			return null;
		}

		// サービス契約<eo光電話>登録
		msgList.add(editInEKK0111D010(param, "EKK0111D010"));

		// 電話番号登録Cnt
		inMap = (HashMap)(param.getData("EKK0191D010"));
		telCnt = ((ArrayList)inMap.get("EKK0191D010List")).size();
		for (int i = 0; i < telCnt; i++)
		{
			// サービス契約内訳<eo光電話>登録
			msgList.add(editInEKK0191D010(param, "EKK0191D010", i));
		}

		// 機器提供サービス契約登録
		//JFUAddKktSvcKeiCCに移動

		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;
	}

	/**
	 * eo光電話登録処理.<br>
	 * 
	 * @param handle
	 *            セッションハンドル
	 * @param param
	 *            リクエストパラメータ
	 * @param fixedText
	 *            サービスメッセージ
	 * @return リクエストパラメータ
	 * @throws Exception
	 *             Exception
	 */
	public IRequestParameterReadWrite addTelTrk(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		//		final String RETURN_MESSAGE_STRING = "RETURN_MESSAGE_";
		//		final String RETURN_MESSAGE_FORMAT = "%1$04d";
		//		final int TMCK_ERR_STATUS = 1000;
		//		final String SC_ERROR_STRING = "サービスコンポーネントエラー";
		//		final String CC_WORK_AREA_NAME = "JFUAddSvcKeiTelCCWork";
		//		String preFix = "";

		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> paramMap = setSCInputCommonData(param, new HashMap<String, Object>());
		Map<?, ?> result = null;
		CAANMsg template = null;
		int telCnt = 0;
		int telKikiCnt = 0;
		int telOpCnt = 0;

		// サービス契約<eo光電話>登録用マップデータ取得
		HashMap inMap = (HashMap)param.getData("EKK0111D010");
		if (inMap == null || inMap.size() == 0)
		{
			return param;
		}

		// サービス契約<eo光電話>登録
		template = editInEKK0111D010(param, "EKK0111D010"); // 上りマッピング
		result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
		editRetEKK0111D010(result, param, "EKK0111D010"); // 下りマッピング
		if (getReturnCode(param) >= TMCK_ERR_STATUS) // ステータスが単項目エラー以上であれば例外をスロー
		{
			throw new CCException(SC_ERROR_STRING, new Exception());
		}

		inMap = (HashMap)(param.getData("EKK0191D010"));
		telCnt = ((ArrayList)inMap.get("EKK0191D010List")).size();
		for (int i = 0; i < telCnt; i++)
		{
			// サービス契約内訳<eo光電話>登録
			template = editInEKK0191D010(param, "EKK0191D010", i); // 上りマッピング
			result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
			editRetEKK0191D010(result, param, "EKK0191D010", i); // 下りマッピング
			if (getReturnCode(param) >= TMCK_ERR_STATUS) // ステータスが単項目エラー以上であれば例外をスロー
			{
				throw new CCException(SC_ERROR_STRING, new Exception());
			}
		}

		// 機器提供サービス契約登録
		//JFUAddKktSvcKeiCCに移動

		// 業務パラメータ管理一意照会
		template = editInEZM0321A010(param, "EZM0321A010"); // 上りマッピング
		result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
		editRetEZM0321A010(result, param, "EZM0321A010"); // 下りマッピング
		if (getReturnCode(param) >= TMCK_ERR_STATUS) // ステータスが単項目エラー以上であれば例外をスロー
		{
			throw new CCException(SC_ERROR_STRING, new Exception());
		}

		// オプションサービス契約＜電話＞登録
		inMap = (HashMap)(param.getData("EKK0371D010Tel"));
		if (inMap != null)
		{
			if (inMap.containsKey("EKK0371D010TelList"))
			{
				telOpCnt = ((ArrayList)inMap.get("EKK0371D010TelList")).size();
				for (int i = 0; i < telOpCnt; i++)
				{
					template = editInEKK0371D010(param, "EKK0371D010Tel", i); // 上りマッピング
					paramMap = putParamMap(paramMap, template);
					result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
					editRetEKK0371D010(result, param, "EKK0371D010Tel", 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("EKK0191C012"))
		{
			// 
			editInEKK0191C012(param, "EKK0191C012"); // 上りマッピング
		}

		if (null != (HashMap)param.getData("EKK0371D010"))
		{
			// オプションサービス契約＜電話＞登録の上りマッピングをする（ｅｏ光電話オプション登録ＣＣ）
			editInEKK0371D010(param, "EKK0371D010");
		}

		if (null != (HashMap)param.getData("EKK0431D010"))
		{
			// サブオプションサービス契約＜電話＞登録の上りマッピングをする（ｅｏ光電話オプション登録ＣＣ）
			editInEKK0431D010(param, "EKK0431D010");
		}

		if (null != (HashMap)param.getData("EKK0451D01001"))
		{
			// 割引サービス契約登録＜eo光電話パック＞の上りマッピングをする（電話セレクトオプションパック操作ＣＣ）1番号用
			editInEKK0451D01001(param, "EKK0451D01001");
		}

		if (null != (HashMap)param.getData("EKK0451D01002"))
		{
			// 割引サービス契約登録＜eo光電話パック＞の上りマッピングをする（電話セレクトオプションパック操作ＣＣ）2番号用
			editInEKK0451D01002(param, "EKK0451D01002");
		}

		// 進捗登録の上りマッピングをする
		editInEKK1091D010(param, "EKK1091D010");
		// 2012/04/30 一括登録対応 END

		return param;
	}

	/**
	 * 単一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
	 * @return
	 */
	private int getReturnCode(IRequestParameterReadWrite param) throws Exception
	{
		return Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
	}

	/**
	 * 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;
	}

	/**
	 * サービス契約<eo光電話>登録の上りマッピング処理 <br>
	 * 
	 * @param param
	 * @param fixedText
	 * @return
	 */
	private CAANMsg editInEKK0111D010(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0111D010CBSMsg.class.getName());
		CAANMsg[] templateArray = null;

		HashMap inMap = null;
		HashMap inWorkMap = null;
		ArrayList inList = null;

		// テンプレートID
		template.set(EKK0111D010CBSMsg.TEMPLATEID, fixedText);

		// 機能コード（デフォルト：１）
		template.set(EKK0111D010CBSMsg.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.get(JCMConstants.FUNC_CODE_KEY) != null)
		{
			template.set(EKK0111D010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.サービスコード → サービスコード
		if (inMap == null || inMap.get("svc_cd") == null || "".equals(inMap.get("svc_cd")))
		{
			template.setNull(EKK0111D010CBSMsg.SVC_CD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.SVC_CD, (String)inMap.get("svc_cd"));
		}

		// お客様登録.SYSID → SYSID
		if (inMap == null || inMap.get("sysid") == null || "".equals(inMap.get("sysid")))
		{
			// ++++++++++++++++++++ v1.00.00 追加開始
			// +++++++++++++++++++++++++++++++ */
			// template.setNull(EKK0111D010CBSMsg.SYSID);
			String sysid = getKeishaWorkMapValue(param, "sysid");
			if (sysid == null)
			{
				template.setNull(EKK0111D010CBSMsg.SYSID);
			}
			else
			{
				template.set(EKK0111D010CBSMsg.SYSID, sysid);
			}
			// +++++++++++++++++++ v1.00.00 追加終了
			// ++++++++++++++++++++++++++++++++ */
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.MSKM_DTL_NO);
			String mskm_dtl_no = getMskmWorkMapValue(param, "ekk0111_mskm_dtl_no");
			if (mskm_dtl_no == null)
			{
				template.setNull(EKK0111D010CBSMsg.MSKM_DTL_NO);
				;
			}
			else
			{
				template.set(EKK0111D010CBSMsg.MSKM_DTL_NO, mskm_dtl_no);
			}
			/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++ */
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.MENKAIHAT_ANKEN_NO);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.PRC_GRP_CD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.PRC_GRP_CD, (String)inMap.get("prc_grp_cd"));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.料金コースコード → 料金コースコード
		if (inMap == null || inMap.get("pcrs_cd") == null || "".equals(inMap.get("pcrs_cd")))
		{
			template.setNull(EKK0111D010CBSMsg.PCRS_CD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.PCRS_CD, (String)inMap.get("pcrs_cd"));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.料金プランコード → 料金プランコード
		if (inMap == null || inMap.get("pplan_cd") == null || "".equals(inMap.get("pplan_cd")))
		{
			template.setNull(EKK0111D010CBSMsg.PPLAN_CD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.TK_HOSHIKI_KEI_NO);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.SVC_USE_STA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.RSV_TSTA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.ID_SOKHOSHO_OUTPUT_YH);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.PAYWAY_KEIZOKU_FLG);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.FTRIAL_KANYU_YMD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.FTRIAL_PRD_ENDYMD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.FTRIAL_PRD_ENDYMD, (String)inMap.get("ftrial_prd_endymd"));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.本加入年月日 → 本加入年月日
		if (inMap == null || inMap.get("honkanyu_ymd") == null || "".equals(inMap.get("honkanyu_ymd")))
		{
			template.setNull(EKK0111D010CBSMsg.HONKANYU_YMD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.HONKANYU_IKO_KIGEN_YMD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.LETTER_HASSO_SHIWAKE_DIV);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.THNX_LETTER_SHS_CD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.WEB_OP_ADD_FAIL_FLG);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NO);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NOPT);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.PNLTY_HASSEI_CD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.PNLTY_HASSEI_CD, (String)inMap.get("pnlty_hassei_cd"));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.異動区分 → 異動区分
		if (inMap == null || inMap.get("ido_div") == null || "".equals(inMap.get("ido_div")))
		{
			template.setNull(EKK0111D010CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.IDO_DIV, (String)inMap.get("ido_div"));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.紹介コード → 紹介コード
		if (inMap == null || inMap.get("intr_cd") == null || "".equals(inMap.get("intr_cd")))
		{
			template.setNull(EKK0111D010CBSMsg.INTR_CD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.INTR_CD, (String)inMap.get("intr_cd"));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.業務連絡備考 → 業務連絡備考
		if (inMap == null || inMap.get("biko") == null || "".equals(inMap.get("work_rrk_biko")))
		{
			template.setNull(EKK0111D010CBSMsg.WORK_RRK_BIKO);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.AUTO_SHOSA_TRAN_STAT_CD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.AUTO_SHOSA_TRAN_STAT_CD, (String)inMap.get("auto_shosa_tran_stat_cd"));
		}

		// 請求契約登録マップ.請求契約番号 → 請求契約番号
		if (inMap == null || inMap.get("seiky_kei_no") == null || "".equals(inMap.get("seiky_kei_no")))
		{
			/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++ */
			// template.setNull(EKK0111D010CBSMsg.SEIKY_KEI_NO);
			String seiky_kei_no = getWorkMapValue(param, "seiky_kei_no", CC_WORK_AREA_NAME_SKK);
			if (seiky_kei_no == null)
			{
				template.setNull(EKK0111D010CBSMsg.SEIKY_KEI_NO);
				;
			}
			else
			{
				template.set(EKK0111D010CBSMsg.SEIKY_KEI_NO, seiky_kei_no);
			}
			/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++ */

		}
		else
		{
			template.set(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.PRC_KMK_CD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.PRC_KMK_CD, (String)inMap.get("prc_kmk_cd"));
		}

		/** IT資材対応 2011/12/20 h.iwamoto START */
		// 事務手数料自動適用要否
		if (inMap == null || inMap.get("rule0059_auto_aply") == null || "".equals(inMap.get("rule0059_auto_aply")))
		{
			template.setNull(EKK0111D010CBSMsg.RULE0059_AUTO_APLY);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.RULE0059_AUTO_APLY, (String)inMap.get("rule0059_auto_aply"));
		}

		// 工事費自動適用要否
		if (inMap == null || inMap.get("rule0079_auto_aply") == null || "".equals(inMap.get("rule0079_auto_aply")))
		{
			template.setNull(EKK0111D010CBSMsg.RULE0079_AUTO_APLY);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.RULE0079_AUTO_APLY, (String)inMap.get("rule0079_auto_aply"));
		}

		/** IT資材対応 2011/12/20 h.iwamoto END */

		// 2013/03/18 Fujiwara Add Start
		// マンション識別コード
		if (inMap == null || inMap.get("mans_skbt_cd") == null || "".equals(inMap.get("mans_skbt_cd")))
		{
			template.setNull(EKK0111D010CBSMsg.MANS_SKBT_CD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.MANS_SKBT_CD, (String)inMap.get("mans_skbt_cd"));
		}
		// 2013/03/18 Fujiwara Add Start

		// 【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 >>>
		// 機器提供種別コード
		if (inMap == null || inMap.get("kktk_sbt_cd") == null || "".equals(inMap.get("kktk_sbt_cd")))
		{
			template.setNull(EKK0111D010CBSMsg.KKTK_SBT_CD);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.KKTK_SBT_CD, (String)inMap.get("kktk_sbt_cd"));
		}
		// 【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 <<<E

		// 【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 >>>
		// サービス契約回線内訳番号
		if (inMap == null || inMap.get("svc_kei_kaisen_ucwk_no") == null || "".equals(inMap.get("svc_kei_kaisen_ucwk_no")))
		{
			template.setNull(EKK0111D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO);
		}
		else
		{
			template.set(EKK0111D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, (String)inMap.get("svc_kei_kaisen_ucwk_no"));
		}
		// 【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 <<<E

		return template;
	}

	/**
	 * サービス契約<eo光電話>登録の下りマッピング処理 <br>
	 * 
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @return
	 * @throws Exception
	 */
	private IRequestParameterReadWrite editRetEKK0111D010(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];
		CAANMsg[] templateArray = null;

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}

		// 結果を詰めるマップを取得。
		HashMap dataMap = null;
		ArrayList dataList = null;

		HashMap workDataMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);
		if (workDataMap == null)
		{
			workDataMap = new HashMap();
			workMap.put(CC_WORK_AREA_NAME, workDataMap);
		}

		/* 業務データ設定 */
		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 telMap = (HashMap)(param.getData("EKK0111D010"));

		// 契約者情報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/5 割引サービス自動適用対応 END

		// サービス契約＜ｅｏ光電話＞登録マップ.サービス契約番号 ← サービス契約番号
		if (template.isNull(EKK0111D010CBSMsg.SVC_KEI_NO))
		{
			dataMap.put("svc_kei_no", new String());
			// 2012/4/5 割引サービス自動適用対応 START
			svcKeiListMap.put("svc_kei_no", "");
			// 2012/4/5 割引サービス自動適用対応 END
		}
		else
		{
			dataMap.put("svc_kei_no", template.getString(EKK0111D010CBSMsg.SVC_KEI_NO));
			workDataMap.put("svc_kei_no", template.getString(EKK0111D010CBSMsg.SVC_KEI_NO));

			// 2012/4/5 割引サービス自動適用対応 START
			svcKeiListMap.put("svc_kei_no", template.getString(EKK0111D010CBSMsg.SVC_KEI_NO));
			// 2012/4/5 割引サービス自動適用対応 END

		}

		// ++++++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++++++++ */
		// 請求契約登録.請求契約番号 → 請求契約番号
		if (template.isNull(EKK0111D010CBSMsg.SEIKY_KEI_NO))
		{
			dataMap.put("seiky_kei_no", "");
		}
		else
		{
			dataMap.put(EKK0111D010CBSMsg.SEIKY_KEI_NO, getWorkMapValue(param, "seiky_kei_no", CC_WORK_AREA_NAME_SKK));
		}
		// +++++++++++++++++++ v1.00.00 追加終了 ++++++++++++++++++++++++++++++++ */

		// サービス契約＜ｅｏ光電話＞登録マップ.世代登録年月日時分秒 ← 世代登録年月日時分秒
		if (template.isNull(EKK0111D010CBSMsg.GENE_ADD_DTM))
		{
			dataMap.put("gene_add_dtm", new String());
		}
		else
		{
			dataMap.put("gene_add_dtm", template.getString(EKK0111D010CBSMsg.GENE_ADD_DTM));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.サービス契約ステータス ← サービス契約ステータス
		if (template.isNull(EKK0111D010CBSMsg.SVC_KEI_STAT))
		{
			dataMap.put("svc_kei_stat", new String());
		}
		else
		{
			dataMap.put("svc_kei_stat", template.getString(EKK0111D010CBSMsg.SVC_KEI_STAT));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.試用期間終了年月日 ← 試用期間終了年月日
		if (template.isNull(EKK0111D010CBSMsg.FTRIAL_PRD_ENDYMD))
		{
			dataMap.put("ftrial_prd_endymd", new String());
		}
		else
		{
			dataMap.put("ftrial_prd_endymd", template.getString(EKK0111D010CBSMsg.FTRIAL_PRD_ENDYMD));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.予約適用年月日 ← 予約適用年月日
		if (template.isNull(EKK0111D010CBSMsg.RSV_APLY_YMD))
		{
			dataMap.put("rsv_aply_ymd", new String());
		}
		else
		{
			dataMap.put("rsv_aply_ymd", template.getString(EKK0111D010CBSMsg.RSV_APLY_YMD));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.予約適用コード ← 予約適用コード
		if (template.isNull(EKK0111D010CBSMsg.RSV_APLY_CD))
		{
			dataMap.put("rsv_aply_cd", new String());
		}
		else
		{
			dataMap.put("rsv_aply_cd", template.getString(EKK0111D010CBSMsg.RSV_APLY_CD));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.世代登録年月日時分秒（サービス契約＜ｅｏ光電話＞） ←
		// 世代登録年月日時分秒(サービス契約<eo光電話>)
		if (template.isNull(EKK0111D010CBSMsg.KK0111_GENE_ADD_DTM))
		{
			dataMap.put("kk0111_gene_add_dtm", new String());
		}
		else
		{
			dataMap.put("kk0111_gene_add_dtm", template.getString(EKK0111D010CBSMsg.KK0111_GENE_ADD_DTM));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.ＰＰＰ認証ＩＤ ← PPP認証ID
		if (template.isNull(EKK0111D010CBSMsg.PPP_NINSHO_ID))
		{
			dataMap.put("ppp_ninsho_id", new String());
		}
		else
		{
			dataMap.put("ppp_ninsho_id", template.getString(EKK0111D010CBSMsg.PPP_NINSHO_ID));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.ＰＰＰ認証ＩＤパスワード ← PPP認証IDパスワード
		if (template.isNull(EKK0111D010CBSMsg.PPP_NINSHO_ID_PWD))
		{
			dataMap.put("ppp_ninsho_id_pwd", new String());
		}
		else
		{
			dataMap.put("ppp_ninsho_id_pwd", template.getString(EKK0111D010CBSMsg.PPP_NINSHO_ID_PWD));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.登録年月日時分秒 ← 登録年月日時分秒
		if (template.isNull(EKK0111D010CBSMsg.ADD_DTM))
		{
			dataMap.put("add_dtm", new String());
		}
		else
		{
			dataMap.put("add_dtm", template.getString(EKK0111D010CBSMsg.ADD_DTM));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.登録オペレータアカウント ← 登録オペレータアカウント
		if (template.isNull(EKK0111D010CBSMsg.ADD_OPEACNT))
		{
			dataMap.put("add_opeacnt", new String());
		}
		else
		{
			dataMap.put("add_opeacnt", template.getString(EKK0111D010CBSMsg.ADD_OPEACNT));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.更新年月日時分秒 ← 更新年月日時分秒
		if (template.isNull(EKK0111D010CBSMsg.UPD_DTM))
		{
			dataMap.put("upd_dtm", new String());
		}
		else
		{
			dataMap.put("upd_dtm", template.getString(EKK0111D010CBSMsg.UPD_DTM));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.更新オペレータアカウント ← 更新オペレータアカウント
		if (template.isNull(EKK0111D010CBSMsg.UPD_OPEACNT))
		{
			dataMap.put("upd_opeacnt", new String());
		}
		else
		{
			dataMap.put("upd_opeacnt", template.getString(EKK0111D010CBSMsg.UPD_OPEACNT));
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.無効フラグ ← 無効フラグ
		if (template.isNull(EKK0111D010CBSMsg.MK_FLG))
		{
			dataMap.put("mk_flg", new String());
		}
		else
		{
			dataMap.put("mk_flg", template.getString(EKK0111D010CBSMsg.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", telMap.get("svc_cd"));

		// サービス契約リストマップ.料金グループコード
		svcKeiListMap.put("prc_grp_cd", telMap.get("prc_grp_cd"));

		// サービス契約リストマップ.料金コースコード
		svcKeiListMap.put("pcrs_cd", telMap.get("pcrs_cd"));

		// サービス契約リストマップ.料金プランコード
		svcKeiListMap.put("pplan_cd", telMap.get("pplan_cd"));

		// サービス契約リストにサービス契約リストマップを格納する
		svcKeiList.add(svcKeiListMap);

		// サービスグループリストマップにサービス契約リストが存在しない場合
		// サービスグループリストマップにサービス契約リストを追加する
		if (!svcKeiGrpListMap.containsKey(SVC_KEI_LIST))
		{
			svcKeiGrpListMap.put(SVC_KEI_LIST, svcKeiList);
		}
		// 2012/4/5 割引サービス自動適用対応 END

		// エラー情報の設定
		editErrInfoEKK0111D010(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;
	}

	/**
	 * サービス契約内訳＜eo光電話＞情報変更の上りマッピングをする（ｅｏ光電話オプション登録ＣＣ）<br>
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ
	 * @throws Exception Exception
	 */
	private void editInEKK0191C012(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 telMap = (HashMap)param.getData("EKK0111D010");

		// eo光電話サービス契約内訳登録情報マップ
		HashMap telSvcUcwkMap = (HashMap)param.getData("EKK0191D010");

		// eo光電話サービス契約内訳登録情報マップリスト
		ArrayList telSvcUcwkMapList = (ArrayList)telSvcUcwkMap.get("EKK0191D010List");

		// サービス契約内訳＜eo光電話＞情報変更（ｅｏ光電話オプション登録ＣＣ）マップ作成
		HashMap telOpMap = (HashMap)param.getData(fixedText);

		// サービス契約内訳＜eo光電話＞情報変更（ｅｏ光電話オプション登録ＣＣ）マップリスト
		ArrayList telOpMapList = (ArrayList)telOpMap.get("EKK0191C012List");

		// サービス契約リストマップ
		HashMap telOpMapListMap = new HashMap();

		// eo光電話サービス契約内訳登録情報リストマップ
		HashMap telSvcUcwkMapListMap = new HashMap();

		String sysId = "";
		String mskmDtlNo = "";
		String svcKeiUcwkNo = "";
		String updDtm = "";

		/* 2012/11/23 IT2-2012-0001783 Y.Saitou ADD-START */
		// 契約内訳登録情報マップリスト ≠ 契約内訳変更情報マップリストの場合
		if (telSvcUcwkMapList.size() != telOpMapList.size())
		{
			ArrayList tempTelSvcUcwkMapList = telSvcUcwkMapList;
			telSvcUcwkMapList = new ArrayList();
			for (int i = 0; i < tempTelSvcUcwkMapList.size(); i++)
			{
				telSvcUcwkMapListMap = (HashMap)tempTelSvcUcwkMapList.get(i);
				// 「番ポ利用有無 利用する」の場合
				if (JFUStrConst.USE_BMP_USE.equals(telSvcUcwkMapListMap.get("bmp_um")))
				{
					telSvcUcwkMapList.add(tempTelSvcUcwkMapList.get(i));
				}
			}
		}
		/* 2012/11/23 IT2-2012-0001783 Y.Saitou ADD-END */

		for (int i = 0; i < telOpMapList.size(); i++)
		{

			telOpMapListMap = new HashMap();

			telSvcUcwkMapListMap = new HashMap();

			telOpMapListMap = (HashMap)telOpMapList.get(i);

			telSvcUcwkMapListMap = (HashMap)telSvcUcwkMapList.get(i);

			// サービス契約内訳番号設定
			if (telOpMapListMap.containsKey("svc_kei_ucwk_no"))
			{
				svcKeiUcwkNo = (String)telOpMapListMap.get("svc_kei_ucwk_no");
			}
			if ("".equals(svcKeiUcwkNo))
			{
				telOpMapListMap.put("svc_kei_ucwk_no", (String)telSvcUcwkMapListMap.get("svc_kei_ucwk_no"));
			}
			// 申込明細番号
			if (telOpMapListMap.containsKey("mskm_dtl_no"))
			{
				mskmDtlNo = (String)telOpMapListMap.get("mskm_dtl_no");
			}
			if ("".equals(mskmDtlNo))
			{
				telOpMapListMap.put("mskm_dtl_no", (String)addMskmSCWorkMap.get("ekk0111_mskm_dtl_no"));
			}

			// 更新年月日時分秒(更新前)
			if (telOpMapListMap.containsKey("upd_dtm_bf"))
			{
				updDtm = (String)telOpMapListMap.get("upd_dtm_bf");
			}
			if ("".equals(updDtm))
			{
				telOpMapListMap.put("upd_dtm_bf", (String)telMap.get("upd_dtm"));
			}

		}

	}

	/**
	 * オプションサービス契約＜電話＞登録の上りマッピングをする（ｅｏ光電話オプション登録ＣＣ）<br>
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ
	 * @throws Exception Exception
	 */
	private void editInEKK0371D010(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 telMap = (HashMap)param.getData("EKK0111D010");

		// eo光電話サービス契約内訳登録情報マップ
		HashMap telSvcUcwkMap = (HashMap)param.getData("EKK0191D010");

		// eo光電話サービス契約内訳登録情報マップリスト
		ArrayList telSvcUcwkMapList = (ArrayList)telSvcUcwkMap.get("EKK0191D010List");

		// オプションサービス契約＜電話＞登録ｅｏ光電話オプション登録ＣＣ）マップ作成
		HashMap telOpMap = (HashMap)param.getData(fixedText);

		// オプションサービス契約＜電話＞登録（ｅｏ光電話オプション登録ＣＣ）マップリスト
		ArrayList telOpMapList = (ArrayList)telOpMap.get("EKK0371D010List");

		if (null == telOpMapList)
		{
			return;
		}

		// サービス契約リストマップ
		HashMap telOpMapListMap = new HashMap();

		// eo光電話サービス契約内訳登録情報リストマップ
		HashMap telSvcUcwkMapListMap = new HashMap();

		String sysId = "";
		String mskmDtlNo = "";
		String svcKeiUcwkNo = "";
		String seikyKeiNo = "";
		String updDtm = "";
		String opSvcCd = "";
		String telSvcNo = "";
		int ucwkCnt = 0;

		for (int i = 0; i < telOpMapList.size(); i++)
		{

			telOpMapListMap = new HashMap();

			telSvcUcwkMapListMap = new HashMap();

			telOpMapListMap = (HashMap)telOpMapList.get(i);

			if (telOpMapListMap.containsKey("op_svc_cd"))
			{
				opSvcCd = (String)telOpMapListMap.get("op_svc_cd");
			}

			if (telOpMapListMap.containsKey("tel_svc_no"))
			{
				telSvcNo = (String)telOpMapListMap.get("tel_svc_no");
			}
			// １番号の場合
			if ("1".equals(telSvcNo))
			{
				ucwkCnt = 0;
			}
			// ２番号の場合
			if ("2".equals(telSvcNo))
			{
				ucwkCnt = 1;
			}

			if ("B025".equals(opSvcCd) || "B022".equals(opSvcCd) || "B023".equals(opSvcCd) || "B024".equals(opSvcCd) || "B026".equals(opSvcCd)
					|| "B027".equals(opSvcCd)|| "B135".equals(opSvcCd))
			{
				telSvcUcwkMapListMap = (HashMap)telSvcUcwkMapList.get(ucwkCnt);

				// サービス契約内訳番号設定
				if (telOpMapListMap.containsKey("svc_kei_ucwk_no"))
				{
					svcKeiUcwkNo = (String)telOpMapListMap.get("svc_kei_ucwk_no");
				}
				if ("".equals(svcKeiUcwkNo))
				{
					telOpMapListMap.put("svc_kei_ucwk_no", (String)telSvcUcwkMapListMap.get("svc_kei_ucwk_no"));
				}

				// ＳＹＳＩＤ設定
				if (telOpMapListMap.containsKey("sysid"))
				{
					sysId = (String)telOpMapListMap.get("sysid");
				}
				if ("".equals(sysId))
				{
					telOpMapListMap.put("sysid", (String)addKeishaServiceCCWorkMap.get("sysid"));
				}

				// 申込明細番号
				if (telOpMapListMap.containsKey("mskm_dtl_no"))
				{
					mskmDtlNo = (String)telOpMapListMap.get("mskm_dtl_no");
				}
				if ("".equals(mskmDtlNo))
				{
					telOpMapListMap.put("mskm_dtl_no", (String)addMskmSCWorkMap.get("ekk0111_mskm_dtl_no"));
				}

				// 請求契約番号
				if (telOpMapListMap.containsKey("seiky_kei_no"))
				{
					seikyKeiNo = (String)telOpMapListMap.get("seiky_kei_no");
				}
				if ("".equals(seikyKeiNo))
				{
					telOpMapListMap.put("seiky_kei_no", (String)addSkkSCWorkMap.get("seiky_kei_no"));
				}

				// 更新年月日時分秒(更新前)
				if (telOpMapListMap.containsKey("upd_dtm_bf"))
				{
					updDtm = (String)telOpMapListMap.get("upd_dtm_bf");
				}
				if ("".equals(updDtm))
				{
					telOpMapListMap.put("upd_dtm_bf", (String)telMap.get("upd_dtm"));
				}
			}
		}

	}

	/**
	 * サブオプションサービス契約＜電話＞登録の上りマッピングをする（ｅｏ光電話オプション登録ＣＣ）<br>
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ
	 * @throws Exception Exception
	 */
	private void editInEKK0431D010(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);

		// 申込マップ
		HashMap mskmMap = (HashMap)param.getData("EKK0011D020");

		// 電話オプションサービスマップ
		HashMap telopMap = (HashMap)param.getData("EKK0371D010");

		// eo光電話サービス契約内訳登録情報マップ
		HashMap telSvcUcwkMap = (HashMap)param.getData("EKK0191D010");

		// eo光電話サービス契約内訳登録情報マップリスト
		ArrayList telSvcUcwkMapList = (ArrayList)telSvcUcwkMap.get("EKK0191D010List");

		// サブオプションサービス契約＜電話＞登録ｅｏ光電話オプション登録ＣＣ）マップ作成
		HashMap telSubOpMap = (HashMap)param.getData(fixedText);

		// サブオプションサービス契約＜電話＞登録（ｅｏ光電話オプション登録ＣＣ）マップリスト
		ArrayList telSubOpMapList = (ArrayList)telSubOpMap.get("EKK0431D010List");

		// サービス契約リストマップ
		HashMap telSubOpMapListMap = new HashMap();

		// eo光電話サービス契約内訳登録情報リストマップ
		HashMap telSvcUcwkMapListMap = new HashMap();

		String sysId = "";
		String mskmDtlNo = "";
		String svcKeiUcwkNo = "";
		String seikyKeiNo = "";
		String updDtm = "";
		String sbopSvcCd = "";
		String telSvcNo = "";
		int ucwkCnt = 0;

		for (int i = 0; i < telSubOpMapList.size(); i++)
		{

			telSubOpMapListMap = new HashMap();

			telSvcUcwkMapListMap = new HashMap();

			telSubOpMapListMap = (HashMap)telSubOpMapList.get(i);

			if (telSubOpMapListMap.containsKey("sbop_svc_cd"))
			{
				sbopSvcCd = (String)telSubOpMapListMap.get("sbop_svc_cd");
			}

			if (telSubOpMapListMap.containsKey("tel_svc_no"))
			{
				telSvcNo = (String)telSubOpMapListMap.get("tel_svc_no");
			}
			// １番号の場合
			if ("1".equals(telSvcNo))
			{
				ucwkCnt = 0;
			}
			// ２番号の場合
			if ("2".equals(telSvcNo))
			{
				ucwkCnt = 1;
			}

			if ("D07".equals(sbopSvcCd) || "D08".equals(sbopSvcCd))
			{
				telSvcUcwkMapListMap = (HashMap)telSvcUcwkMapList.get(ucwkCnt);

				// サービス契約内訳番号設定
				if (telSubOpMapListMap.containsKey("svc_kei_ucwk_no"))
				{
					svcKeiUcwkNo = (String)telSubOpMapListMap.get("svc_kei_ucwk_no");
				}
				if ("".equals(svcKeiUcwkNo))
				{
					telSubOpMapListMap.put("svc_kei_ucwk_no", (String)telSvcUcwkMapListMap.get("svc_kei_ucwk_no"));
				}

				// 申込明細番号
				if (telSubOpMapListMap.containsKey("mskm_dtl_no"))
				{
					mskmDtlNo = (String)telSubOpMapListMap.get("mskm_dtl_no");
				}
				if ("".equals(mskmDtlNo))
				{
					telSubOpMapListMap.put("mskm_dtl_no", (String)addMskmSCWorkMap.get("ekk0111_mskm_dtl_no"));
				}

				// 請求契約番号
				if (telSubOpMapListMap.containsKey("seiky_kei_no"))
				{
					seikyKeiNo = (String)telSubOpMapListMap.get("seiky_kei_no");
				}
				if ("".equals(seikyKeiNo))
				{
					telSubOpMapListMap.put("seiky_kei_no", (String)addSkkSCWorkMap.get("seiky_kei_no"));
				}

				// 更新年月日時分秒(更新前)
				if (telSubOpMapListMap.containsKey("upd_dtm_bf"))
				{
					updDtm = (String)telSubOpMapListMap.get("upd_dtm_bf");
				}
				if ("".equals(updDtm))
				{
					telSubOpMapListMap.put("upd_dtm_bf", (String)telopMap.get("upd_dtm"));
				}
			}
		}

	}

	/**
	 * 割引サービス契約登録＜eo光電話パック＞の上りマッピングをする（電話セレクトオプションパック操作ＣＣ）1番号用 <br>
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ
	 * @throws Exception Exception
	 */
	private void editInEKK0451D01001(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 addMskmSCWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME_MSKM);

		// eo光電話マップ
		HashMap telMap = (HashMap)param.getData("EKK0111D010");

		// eo光電話サービス契約内訳登録情報マップ
		HashMap telSvcUcwkMap = (HashMap)param.getData("EKK0191D010");

		// eo光電話サービス契約内訳登録情報マップリスト
		ArrayList telSvcUcwkMapList = (ArrayList)telSvcUcwkMap.get("EKK0191D010List");

		// 割引サービス契約登録＜eo光電話パック＞（電話セレクトオプションパック操作ＣＣ）1番号用マップ作成
		HashMap eohtlPackMap = (HashMap)param.getData(fixedText);

		if (null == eohtlPackMap)
		{
			return;
		}

		// サービス契約リストマップ
		//HashMap eohtlPackMapListMap = new HashMap();

		// eo光電話サービス契約内訳登録情報リストマップ
		HashMap telSvcUcwkMapListMap = new HashMap();

		String sysId = "";
		String svcKeiNo = "";
		String mskmDtlNo = "";
		String svcKeiUcwkNo = "";
		String updDtm = "";
		String packDiv = "";

		//eohtlPackMapListMap = (HashMap)eohtlPackMap.get(0);

		if (eohtlPackMap.containsKey("pack_div"))
		{
			packDiv = (String)eohtlPackMap.get("pack_div");
		}

		if ("1".equals(packDiv) || "2".equals(packDiv)|| "3".equals(packDiv))
		{
			telSvcUcwkMapListMap = (HashMap)telSvcUcwkMapList.get(0);

			// サービス契約内訳番号設定
			if (eohtlPackMap.containsKey("svc_kei_ucwk_no"))
			{
				svcKeiUcwkNo = (String)eohtlPackMap.get("svc_kei_ucwk_no");
			}
			if ("".equals(svcKeiUcwkNo))
			{
				eohtlPackMap.put("svc_kei_ucwk_no", (String)telSvcUcwkMapListMap.get("svc_kei_ucwk_no"));
			}

			// ＳＹＳＩＤ設定
			if (eohtlPackMap.containsKey("sysid"))
			{
				sysId = (String)eohtlPackMap.get("sysid");
			}
			if ("".equals(sysId))
			{
				eohtlPackMap.put("sysid", (String)addKeishaServiceCCWorkMap.get("sysid"));
			}

			// サービス契約番号
			if (eohtlPackMap.containsKey("svc_kei_no"))
			{
				svcKeiNo = (String)eohtlPackMap.get("svc_kei_no");
			}
			if ("".equals(svcKeiNo))
			{
				eohtlPackMap.put("svc_kei_no", (String)telMap.get("svc_kei_no"));
			}

			// 申込明細番号
			if (eohtlPackMap.containsKey("mskm_dtl_no"))
			{
				mskmDtlNo = (String)eohtlPackMap.get("mskm_dtl_no");
			}
			if ("".equals(mskmDtlNo))
			{
				eohtlPackMap.put("mskm_dtl_no", (String)addMskmSCWorkMap.get("ekk0111_mskm_dtl_no"));
			}

			// 更新年月日時分秒(更新前)
			if (eohtlPackMap.containsKey("kk0081_upd_dtm"))
			{
				updDtm = (String)eohtlPackMap.get("kk0081_upd_dtm");
			}
			if ("".equals(updDtm))
			{
				eohtlPackMap.put("kk0081_upd_dtm", (String)telMap.get("kk0081_upd_dtm"));
			}

		}
	}

	/**
	 * 割引サービス契約登録＜eo光電話パック＞の上りマッピングをする（電話セレクトオプションパック操作ＣＣ）2番号用 <br>
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ
	 * @throws Exception Exception
	 */
	private void editInEKK0451D01002(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 addMskmSCWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME_MSKM);

		// eo光電話マップ
		HashMap telMap = (HashMap)param.getData("EKK0111D010");

		// eo光電話サービス契約内訳登録情報マップ
		HashMap telSvcUcwkMap = (HashMap)param.getData("EKK0191D010");

		// eo光電話サービス契約内訳登録情報マップリスト
		ArrayList telSvcUcwkMapList = (ArrayList)telSvcUcwkMap.get("EKK0191D010List");

		// 割引サービス契約登録＜eo光電話パック＞（電話セレクトオプションパック操作ＣＣ）2番号用マップ作成
		HashMap eohtlPack2noMap = (HashMap)param.getData(fixedText);

		if (null == eohtlPack2noMap)
		{
			return;
		}

		// サービス契約リストマップ
		//HashMap eohtlPack2MapListMap = new HashMap();

		// eo光電話サービス契約内訳登録情報リストマップ
		HashMap telSvcUcwkMapListMap = new HashMap();

		String sysId = "";
		String svcKeiNo = "";
		String mskmDtlNo = "";
		String svcKeiUcwkNo = "";
		String updDtm = "";
		String packDiv = "";

		//eohtlPack2MapListMap = (HashMap)eohtlPack2Map.get(0);

		if (eohtlPack2noMap.containsKey("pack_div"))
		{
			packDiv = (String)eohtlPack2noMap.get("pack_div");
		}

		if ("1".equals(packDiv) || "2".equals(packDiv) || "3".equals(packDiv))
		{
			telSvcUcwkMapListMap = (HashMap)telSvcUcwkMapList.get(1);

			// サービス契約内訳番号設定
			if (eohtlPack2noMap.containsKey("svc_kei_ucwk_no"))
			{
				svcKeiUcwkNo = (String)eohtlPack2noMap.get("svc_kei_ucwk_no");
			}
			if ("".equals(svcKeiUcwkNo))
			{
				eohtlPack2noMap.put("svc_kei_ucwk_no", (String)telSvcUcwkMapListMap.get("svc_kei_ucwk_no"));
			}

			// ＳＹＳＩＤ設定
			if (eohtlPack2noMap.containsKey("sysid"))
			{
				sysId = (String)eohtlPack2noMap.get("sysid");
			}
			if ("".equals(sysId))
			{
				eohtlPack2noMap.put("sysid", (String)addKeishaServiceCCWorkMap.get("sysid"));
			}

			// サービス契約番号
			if (eohtlPack2noMap.containsKey("svc_kei_no"))
			{
				svcKeiNo = (String)eohtlPack2noMap.get("svc_kei_no");
			}
			if ("".equals(svcKeiNo))
			{
				eohtlPack2noMap.put("svc_kei_no", (String)telMap.get("svc_kei_no"));
			}

			// 申込明細番号
			if (eohtlPack2noMap.containsKey("mskm_dtl_no"))
			{
				mskmDtlNo = (String)eohtlPack2noMap.get("mskm_dtl_no");
			}
			if ("".equals(mskmDtlNo))
			{
				eohtlPack2noMap.put("mskm_dtl_no", (String)addMskmSCWorkMap.get("ekk0111_mskm_dtl_no"));
			}

			// 更新年月日時分秒(更新前)
			if (eohtlPack2noMap.containsKey("kk0081_upd_dtm"))
			{
				updDtm = (String)eohtlPack2noMap.get("kk0081_upd_dtm");
			}
			if ("".equals(updDtm))
			{
				eohtlPack2noMap.put("kk0081_upd_dtm", (String)telMap.get("kk0081_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 addSvcKeiTelCCWorkMap = (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)addSvcKeiTelCCWorkMap.get("svc_kei_no"));
				prgMapListMap.put("mskm_dtl_no", (String)addMskmSCWorkMap.get("ekk0111_mskm_dtl_no"));
				prgMapListMap.put("seiky_kei_no", (String)addSkkSCWorkMap.get("seiky_kei_no"));
				return;
			}

		}

	}

	/**
	 * サービス契約＜電話＞登録のエラー情報マッピング処理 <br>
	 */
	public IRequestParameterReadWrite editErrInfoEKK0111D010(IRequestParameterReadWrite param, CAANMsg template, int returnCode, String fixedText)
			throws RequestParameterException
	{
		int templateStatus = template.getInt(EKK0111D010CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;
		ArrayList inList = null;

		// 作業項目領域
		Map workMap = (Map)param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData("EKK0111D010");
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData("EKK0111D010", inMap);
		}

		// サービス契約＜ｅｏ光電話＞登録マップ.ＳＹＳＩＤ → SYSID のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.SYSID_ERR))
		{
			if (!inMap.containsKey("sysid_err"))
			{
				inMap.put("sysid_err", template.getString(EKK0111D010CBSMsg.SYSID_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.サービスコード → サービスコード のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.SVC_CD_ERR))
		{
			if (!inMap.containsKey("svc_cd_err"))
			{
				inMap.put("svc_cd_err", template.getString(EKK0111D010CBSMsg.SVC_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.申込明細番号 → 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey("mskm_dtl_no_err"))
			{
				inMap.put("mskm_dtl_no_err", template.getString(EKK0111D010CBSMsg.MSKM_DTL_NO_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.面開発案件番号 → 面開発案件番号 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.MENKAIHAT_ANKEN_NO_ERR))
		{
			if (!inMap.containsKey("menkaihat_anken_no_err"))
			{
				inMap.put("menkaihat_anken_no_err", template.getString(EKK0111D010CBSMsg.MENKAIHAT_ANKEN_NO_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.料金グループコード → 料金グループコード のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.PRC_GRP_CD_ERR))
		{
			if (!inMap.containsKey("prc_grp_cd_err"))
			{
				inMap.put("prc_grp_cd_err", template.getString(EKK0111D010CBSMsg.PRC_GRP_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.料金コースコード → 料金コースコード のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.PCRS_CD_ERR))
		{
			if (!inMap.containsKey("pcrs_cd_err"))
			{
				inMap.put("pcrs_cd_err", template.getString(EKK0111D010CBSMsg.PCRS_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.料金プランコード → 料金プランコード のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.PPLAN_CD_ERR))
		{
			if (!inMap.containsKey("pplan_cd_err"))
			{
				inMap.put("pplan_cd_err", template.getString(EKK0111D010CBSMsg.PPLAN_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.提供方式契約番号 → 提供方式契約番号 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.TK_HOSHIKI_KEI_NO_ERR))
		{
			if (!inMap.containsKey("tk_hoshiki_kei_no_err"))
			{
				inMap.put("tk_hoshiki_kei_no_err", template.getString(EKK0111D010CBSMsg.TK_HOSHIKI_KEI_NO_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.サービス利用開始希望年月日 → サービス利用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.予約適用開始希望年月日 → 予約適用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey("rsv_tsta_kibo_ymd_err"))
			{
				inMap.put("rsv_tsta_kibo_ymd_err", template.getString(EKK0111D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.ＩＤ速報書出力要否 → ID速報書出力要否 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.ID_SOKHOSHO_OUTPUT_YH_ERR))
		{
			if (!inMap.containsKey("id_sokhosho_output_yh_err"))
			{
				inMap.put("id_sokhosho_output_yh_err", template.getString(EKK0111D010CBSMsg.ID_SOKHOSHO_OUTPUT_YH_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.支払方法継続フラグ → 支払方法継続フラグ のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.PAYWAY_KEIZOKU_FLG_ERR))
		{
			if (!inMap.containsKey("payway_keizoku_flg_err"))
			{
				inMap.put("payway_keizoku_flg_err", template.getString(EKK0111D010CBSMsg.PAYWAY_KEIZOKU_FLG_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.試用加入年月日 → 試用加入年月日 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.FTRIAL_KANYU_YMD_ERR))
		{
			if (!inMap.containsKey("ftrial_kanyu_ymd_err"))
			{
				inMap.put("ftrial_kanyu_ymd_err", template.getString(EKK0111D010CBSMsg.FTRIAL_KANYU_YMD_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.本加入年月日 → 本加入年月日 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.HONKANYU_YMD_ERR))
		{
			if (!inMap.containsKey("honkanyu_ymd_err"))
			{
				inMap.put("honkanyu_ymd_err", template.getString(EKK0111D010CBSMsg.HONKANYU_YMD_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.本加入移行期限年月日 → 本加入移行期限年月日 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR))
		{
			if (!inMap.containsKey("honkanyu_iko_kigen_ymd_err"))
			{
				inMap.put("honkanyu_iko_kigen_ymd_err", template.getString(EKK0111D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.レター発送仕分区分 → レター発送仕分区分 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.LETTER_HASSO_SHIWAKE_DIV_ERR))
		{
			if (!inMap.containsKey("letter_hasso_shiwake_div_err"))
			{
				inMap.put("letter_hasso_shiwake_div_err", template.getString(EKK0111D010CBSMsg.LETTER_HASSO_SHIWAKE_DIV_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.サンキューレター送付先コード → サンキューレター送付先コード のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.THNX_LETTER_SHS_CD_ERR))
		{
			if (!inMap.containsKey("thnx_letter_shs_cd_err"))
			{
				inMap.put("thnx_letter_shs_cd_err", template.getString(EKK0111D010CBSMsg.THNX_LETTER_SHS_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.ＷＥＢオプション追加不可フラグ → WEBオプション追加不可フラグ のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.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(EKK0111D010CBSMsg.WEB_OP_ADD_FAIL_FLG_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.変更元法人サービス契約受付番号 → 変更元法人サービス契約受付番号 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NO_ERR))
		{
			if (!inMap.containsKey("chge_mt_hojinsvkei_uk_no_err"))
			{
				inMap.put("chge_mt_hojinsvkei_uk_no_err", template.getString(EKK0111D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NO_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.変更元法人サービス契約受付番号子 → 変更元法人サービス契約受付番号子 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NOPT_ERR))
		{
			if (!inMap.containsKey("chge_mt_hojinsvkei_uk_nopt_err"))
			{
				inMap.put("chge_mt_hojinsvkei_uk_nopt_err", template.getString(EKK0111D010CBSMsg.CHGE_MT_HOJINSVKEI_UK_NOPT_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.違約金発生コード → 違約金発生コード のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.PNLTY_HASSEI_CD_ERR))
		{
			if (!inMap.containsKey("pnlty_hassei_cd_err"))
			{
				inMap.put("pnlty_hassei_cd_err", template.getString(EKK0111D010CBSMsg.PNLTY_HASSEI_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.異動区分 → 異動区分 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey("ido_div_err"))
			{
				inMap.put("ido_div_err", template.getString(EKK0111D010CBSMsg.IDO_DIV_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.紹介コード → 紹介コード のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.INTR_CD_ERR))
		{
			if (!inMap.containsKey("intr_cd_err"))
			{
				inMap.put("intr_cd_err", template.getString(EKK0111D010CBSMsg.INTR_CD_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.備考 → 備考 のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.WORK_RRK_BIKO_ERR))
		{
			if (!inMap.containsKey("work_rrk_biko_err"))
			{
				inMap.put("work_rrk_biko_err", template.getString(EKK0111D010CBSMsg.WORK_RRK_BIKO_ERR));
			}
		}
		// サービス契約＜ｅｏ光電話＞登録マップ.自動照査処理状態コード → 自動照査処理状態コード のエラー情報返却
		if (!template.isNull(EKK0111D010CBSMsg.AUTO_SHOSA_TRAN_STAT_CD_ERR))
		{
			if (!inMap.containsKey("auto_shosa_tran_stat_cd_err"))
			{
				inMap.put("auto_shosa_tran_stat_cd_err", template.getString(EKK0111D010CBSMsg.AUTO_SHOSA_TRAN_STAT_CD_ERR));
			}
		}
		// 料金項目コード
		if (!template.isNull(EKK0111D010CBSMsg.PRC_KMK_CD_ERR))
		{
			if (!inMap.containsKey("prc_kmk_cd_err"))
			{
				inMap.put("prc_kmk_cd_err", template.getString(EKK0111D010CBSMsg.PRC_KMK_CD_ERR));
			}
		}

		/** IT資材対応 2011/12/20 h.iwamoto START */
		// 事務手数料自動適用要否
		if (!template.isNull(EKK0111D010CBSMsg.RULE0059_AUTO_APLY_ERR))
		{
			if (!inMap.containsKey("rule0059_auto_aply_err"))
			{
				inMap.put("rule0059_auto_aply_err", template.getString(EKK0111D010CBSMsg.RULE0059_AUTO_APLY_ERR));
			}
		}

		// 工事費自動適用要否
		if (!template.isNull(EKK0111D010CBSMsg.RULE0079_AUTO_APLY_ERR))
		{
			if (!inMap.containsKey("rule0079_auto_aply_err"))
			{
				inMap.put("rule0079_auto_aply_err", template.getString(EKK0111D010CBSMsg.RULE0079_AUTO_APLY_ERR));
			}
		}

		/** IT資材対応 2011/12/20 h.iwamoto END */

		return param;
	}

	/**
	 * サービス契約内訳<eo光電話>登録の上りマッピング処理 <br>
	 * 
	 * @param param
	 * @param fixedText
	 * @return
	 */
	private CAANMsg editInEKK0191D010(IRequestParameterReadWrite param, String fixedText, int index) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0191D010CBSMsg.class.getName());
		CAANMsg[] templateArray = null;

		HashMap inMap = null;
		ArrayList inList = null;

		// テンプレートID
		template.set(EKK0191D010CBSMsg.TEMPLATEID, fixedText);

		// 機能コード（デフォルト：１）
		template.set(EKK0191D010CBSMsg.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);

		/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++++++++++++ */
		inMap = (HashMap)((ArrayList)inMap.get("EKK0191D010List")).get(index);
		/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++++++++++++ */

		// 機能コード
		template.set(EKK0191D010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));

		// サービス契約＜ｅｏ光電話＞登録マップ.サービス契約番号 → サービス契約番号
		if (inMap == null || inMap.get("svc_kei_no") == null || "".equals(inMap.get("svc_kei_no")))
		{
			/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++++++ */
			// template.setNull(EKK0191D010CBSMsg.SVC_KEI_NO);
			String svc_kei_no = getWorkMapValue(param, "svc_kei_no", CC_WORK_AREA_NAME);
			if (svc_kei_no == null)
			{
				template.setNull(EKK0191D010CBSMsg.SVC_KEI_NO);
			}
			else
			{
				template.set(EKK0191D010CBSMsg.SVC_KEI_NO, svc_kei_no);
			}
			/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++ */
		}
		else
		{
			template.set(EKK0191D010CBSMsg.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(EKK0191D010CBSMsg.MSKM_DTL_NO);
			String mskm_dtl_no = getMskmWorkMapValue(param, "ekk0111_mskm_dtl_no");
			if (mskm_dtl_no == null)
			{
				template.setNull(EKK0191D010CBSMsg.MSKM_DTL_NO);
				;
			}
			else
			{
				template.set(EKK0191D010CBSMsg.MSKM_DTL_NO, mskm_dtl_no);
			}
			/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++ */
		}
		else
		{
			template.set(EKK0191D010CBSMsg.MSKM_DTL_NO, (String)inMap.get("mskm_dtl_no"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.提供方式契約番号 → 提供方式契約番号
		if (inMap == null || inMap.get("tk_hoshiki_kei_no") == null || "".equals(inMap.get("tk_hoshiki_kei_no")))
		{
			template.setNull(EKK0191D010CBSMsg.TK_HOSHIKI_KEI_NO);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.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(EKK0191D010CBSMsg.PAYWAY_KEIZOKU_FLG);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.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(EKK0191D010CBSMsg.WEB_OP_ADD_FAIL_FLG);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.WEB_OP_ADD_FAIL_FLG, (String)inMap.get("web_op_add_fail_flg"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.業務連絡備考 → 業務連絡備考
		if (inMap == null || inMap.get("biko") == null || "".equals(inMap.get("work_rrk_biko")))
		{
			template.setNull(EKK0191D010CBSMsg.WORK_RRK_BIKO);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.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(EKK0191D010CBSMsg.SVC_USE_STA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.SVC_USE_STA_KIBO_YMD, (String)inMap.get("svc_use_sta_kibo_ymd"));
		}

		/** 2012/2/22 楠山 追加 START */
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.サービス利用開始希望時間帯コード → サービス利用開始希望時間帯コード
		if (inMap == null || inMap.get("svc_uest_kbtmz_cd") == null || "".equals(inMap.get("svc_uest_kbtmz_cd")))
		{
			template.setNull(EKK0191D010CBSMsg.SVC_UEST_KBTMZ_CD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.SVC_UEST_KBTMZ_CD, (String)inMap.get("svc_uest_kbtmz_cd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.サービス利用開始希望時間コード → サービス利用開始希望時間コード
		if (inMap == null || inMap.get("svc_uest_kbtm_cd") == null || "".equals(inMap.get("svc_uest_kbtm_cd")))
		{
			template.setNull(EKK0191D010CBSMsg.SVC_UEST_KBTM_CD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.SVC_UEST_KBTM_CD, (String)inMap.get("svc_uest_kbtm_cd"));
		}
		/** 2012/2/22 楠山 追加 END */

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.予約適用開始希望年月日 → 予約適用開始希望年月日
		if (inMap == null || inMap.get("rsv_tsta_kibo_ymd") == null || "".equals(inMap.get("rsv_tsta_kibo_ymd")))
		{
			template.setNull(EKK0191D010CBSMsg.RSV_TSTA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.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(EKK0191D010CBSMsg.FTRIAL_KANYU_YMD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.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(EKK0191D010CBSMsg.FTRIAL_PRD_ENDYMD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.FTRIAL_PRD_ENDYMD, (String)inMap.get("ftrial_prd_endymd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.本加入年月日 → 本加入年月日
		if (inMap == null || inMap.get("honkanyu_ymd") == null || "".equals(inMap.get("honkanyu_ymd")))
		{
			template.setNull(EKK0191D010CBSMsg.HONKANYU_YMD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.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(EKK0191D010CBSMsg.HONKANYU_IKO_KIGEN_YMD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.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(EKK0191D010CBSMsg.PNLTY_HASSEI_CD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.PNLTY_HASSEI_CD, (String)inMap.get("pnlty_hassei_cd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.異動区分 → 異動区分
		if (inMap == null || inMap.get("ido_div") == null || "".equals(inMap.get("ido_div")))
		{
			template.setNull(EKK0191D010CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.IDO_DIV, (String)inMap.get("ido_div"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.電話番号 → 電話番号
		if (inMap == null || inMap.get("telno") == null || "".equals(inMap.get("telno")))
		{
			template.setNull(EKK0191D010CBSMsg.TELNO);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.TELNO, (String)inMap.get("telno"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.電話番号使用場所番号
		if (inMap == null || inMap.get("telno_use_place_no") == null || "".equals(inMap.get("telno_use_place_no")))
		{
			template.setNull(EKK0191D010CBSMsg.TELNO_USE_PLACE_NO);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.TELNO_USE_PLACE_NO, (String)inMap.get("telno_use_place_no"));
		}
		// ST1-2013-0000487 2013/03/21 Otsuka start

		HashMap useplaceAddressMap = null;

		/* 分割後の利用場所住所情報 */
		useplaceAddressMap = (HashMap)param.getData("FUSV015211CC");

		// 分割後利用場所住所情報  一括登録
		if (null == useplaceAddressMap)
		{
			useplaceAddressMap = (HashMap)param.getData("FUSV016102CC");
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用住所コード → 緊急通報用住所コード
		if (useplaceAddressMap == null || useplaceAddressMap.get("ad_cd") == null || "".equals(useplaceAddressMap.get("ad_cd")))
		{
			template.setNull(EKK0191D010CBSMsg.EMG_AD_CD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.EMG_AD_CD, (String)useplaceAddressMap.get("ad_cd"));
		}
		// ST1-2013-0000487 2013/03/21 Otsuka end

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用住所補記・建物名 → 緊急通報用住所補記・建物名
		if (inMap == null || inMap.get("emg_adrttm") == null || "".equals(inMap.get("emg_adrttm")))
		{
			template.setNull(EKK0191D010CBSMsg.EMG_ADRTTM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.EMG_ADRTTM, (String)inMap.get("emg_adrttm"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用住所補記・部屋番号 → 緊急通報用住所補記・部屋番号
		if (inMap == null || inMap.get("emg_adrrm") == null || "".equals(inMap.get("emg_adrrm")))
		{
			template.setNull(EKK0191D010CBSMsg.EMG_ADRRM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.EMG_ADRRM, (String)inMap.get("emg_adrrm"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.電話番号順番 → 電話番号順番
		if (inMap == null || inMap.get("telno_jun") == null || "".equals(inMap.get("telno_jun")))
		{
			template.setNull(EKK0191D010CBSMsg.TELNO_JUN);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.TELNO_JUN, (String)inMap.get("telno_jun"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ番号案内有無 → NTT番号案内有無
		if (inMap == null || inMap.get("ntt_no_guide_um") == null || "".equals(inMap.get("ntt_no_guide_um")))
		{
			template.setNull(EKK0191D010CBSMsg.NTT_NO_GUIDE_UM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.NTT_NO_GUIDE_UM, (String)inMap.get("ntt_no_guide_um"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ハローページ掲載有無 → ハローページ掲載有無
		if (inMap == null || inMap.get("hellopage_keisai_um") == null || "".equals(inMap.get("hellopage_keisai_um")))
		{
			template.setNull(EKK0191D010CBSMsg.HELLOPAGE_KEISAI_UM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.HELLOPAGE_KEISAI_UM, (String)inMap.get("hellopage_keisai_um"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.通話明細公開要否 → 通話明細公開要否
		if (inMap == null || inMap.get("pcall_dtl_kokai_yh") == null || "".equals(inMap.get("tuwa_dtl_kokai_yh")))
		{
			template.setNull(EKK0191D010CBSMsg.TUWA_DTL_KOKAI_YH);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.TUWA_DTL_KOKAI_YH, (String)inMap.get("tuwa_dtl_kokai_yh"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.電番事前通知コード
		if (inMap == null || inMap.get("tel_no_pre_tchi_cd") == null || "".equals(inMap.get("tel_no_pre_tchi_cd")))
		{
			template.setNull(EKK0191D010CBSMsg.TEL_NO_PRE_TCHI_CD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.TEL_NO_PRE_TCHI_CD, (String)inMap.get("tel_no_pre_tchi_cd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.通信事業者コード → 通信事業者コード
		if (inMap == null || inMap.get("tsjgs_cd") == null || "".equals(inMap.get("tsjgs_cd")))
		{
			template.setNull(EKK0191D010CBSMsg.TSJGS_CD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.TSJGS_CD, (String)inMap.get("tsjgs_cd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.解約・休止トーキ希望有無 → 解約・休止トーキ希望有無
		if (inMap == null || inMap.get("dsl_pause_toki_kibo_um") == null || "".equals(inMap.get("dsl_pause_toki_kibo_um")))
		{
			template.setNull(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_KIBO_UM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_KIBO_UM, (String)inMap.get("dsl_pause_toki_kibo_um"));
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.解約・休止トーキ種別コード → 解約・休止トーキ種別コード
		if (inMap == null || inMap.get("dsl_pause_toki_sbt_cd") == null || "".equals(inMap.get("dsl_pause_toki_sbt_cd")))
		{
			template.setNull(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_SBT_CD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_SBT_CD, (String)inMap.get("dsl_pause_toki_sbt_cd"));
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.タウンページ掲載カナ名 → タウンページ掲載カナ名
		if (inMap == null || inMap.get("townpage_keisai_kana") == null || "".equals(inMap.get("townpage_keisai_kana")))
		{
			template.setNull(EKK0191D010CBSMsg.TOWNPAGE_KEISAI_KANA);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.TOWNPAGE_KEISAI_KANA, (String)inMap.get("townpage_keisai_kana"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.タウンページ掲載名 → タウンページ掲載名
		if (inMap == null || inMap.get("townpage_keisai_nm") == null || "".equals(inMap.get("townpage_keisai_nm")))
		{
			template.setNull(EKK0191D010CBSMsg.TOWNPAGE_KEISAI_NM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.TOWNPAGE_KEISAI_NM, (String)inMap.get("townpage_keisai_nm"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.番ポ有無 → 番ポ有無
		if (inMap == null || inMap.get("bmp_um") == null || "".equals(inMap.get("bmp_um")))
		{
			template.setNull(EKK0191D010CBSMsg.BMP_UM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.BMP_UM, (String)inMap.get("bmp_um"));
		}

		// ----- 2012/05/07 サービスインターフェイス取込対応 h.iwamoto START -----
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.番ポ同時工事希望有無 → 番ポ同時工事希望有無
		if (inMap == null || inMap.get("bmp_doji_koji_kibo_um") == null || "".equals(inMap.get("bmp_doji_koji_kibo_um")))
		{
			template.setNull(EKK0191D010CBSMsg.BMP_DOJI_KOJI_KIBO_UM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.BMP_DOJI_KOJI_KIBO_UM, inMap.get("bmp_doji_koji_kibo_um"));
		}
		// ----- 2012/05/07 サービスインターフェイス取込対応 h.iwamoto END -----

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.番ポ同時開通年月日 → 番ポ同時開通年月日
		if (inMap == null || inMap.get("bmp_doji_open_ymd") == null || "".equals(inMap.get("bmp_doji_open_ymd")))
		{
			template.setNull(EKK0191D010CBSMsg.BMP_DOJI_OPEN_YMD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.BMP_DOJI_OPEN_YMD, (String)inMap.get("bmp_doji_open_ymd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用補正郵便番号 → 緊急通報用補正郵便番号
		if (inMap == null || inMap.get("emg_hosei_pcd") == null || "".equals(inMap.get("emg_hosei_pcd")))
		{
			template.setNull(EKK0191D010CBSMsg.EMG_HOSEI_PCD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.EMG_HOSEI_PCD, (String)inMap.get("emg_hosei_pcd"));
		}

		// 2012/04/26 SIFの項目追加対応 START

		// ST1-2013-0000487 2013/03/21 Otsuka start
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用都道府県名 → 緊急通報用都道府県名
		if (useplaceAddressMap == null || useplaceAddressMap.get("state_nm") == null || "".equals(useplaceAddressMap.get("state_nm")))
		{
			template.setNull(EKK0191D010CBSMsg.EMG_STATE_NM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.EMG_STATE_NM, (String)useplaceAddressMap.get("state_nm"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用市区町村名 → 緊急通報用市区町村名
		if (useplaceAddressMap == null || useplaceAddressMap.get("city_nm") == null || "".equals(useplaceAddressMap.get("city_nm")))
		{
			template.setNull(EKK0191D010CBSMsg.EMG_CITY_NM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.EMG_CITY_NM, (String)useplaceAddressMap.get("city_nm"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用大字通称名 → 緊急通報用大字通称名
		if (useplaceAddressMap == null || useplaceAddressMap.get("oaztsu_nm") == null || "".equals(useplaceAddressMap.get("oaztsu_nm")))
		{
			template.setNull(EKK0191D010CBSMsg.EMG_OAZTSU_NM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.EMG_OAZTSU_NM, (String)useplaceAddressMap.get("oaztsu_nm"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用字丁目名 → 緊急通報用字丁目名
		if (useplaceAddressMap == null || useplaceAddressMap.get("azcho_nm") == null || "".equals(useplaceAddressMap.get("azcho_nm")))
		{
			template.setNull(EKK0191D010CBSMsg.EMG_AZCHO_NM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.EMG_AZCHO_NM, (String)useplaceAddressMap.get("azcho_nm"));
		}
		// 2012/04/26 SIFの項目追加対応 END

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用番地号 → 緊急通報用番地号
		if (useplaceAddressMap == null || useplaceAddressMap.get("after_bnchi") == null || "".equals(useplaceAddressMap.get("after_bnchi")))
		{
			template.setNull(EKK0191D010CBSMsg.EMG_BNCHIGO);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.EMG_BNCHIGO, (String)useplaceAddressMap.get("after_bnchi"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用契約者個別指定フラグ → 緊急通報用契約者個別指定フラグ
		if (inMap == null || inMap.get("emg_ksh_ksitei_flg") == null || "".equals(inMap.get("emg_ksh_ksitei_flg")))
		{
			template.setNull(EKK0191D010CBSMsg.EMG_KSH_KSITEI_FLG);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.EMG_KSH_KSITEI_FLG, (String)inMap.get("emg_ksh_ksitei_flg"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用契約者名 → 緊急通報用契約者名
		if (inMap == null || inMap.get("emg_ksh_nm") == null || "".equals(inMap.get("emg_ksh_nm")))
		{
			template.setNull(EKK0191D010CBSMsg.EMG_KSH_NM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.EMG_KSH_NM, (String)inMap.get("emg_ksh_nm"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用契約者カナ名 → 緊急通報用契約者カナ名
		if (inMap == null || inMap.get("emg_ksh_kana") == null || "".equals(inMap.get("emg_ksh_kana")))
		{
			template.setNull(EKK0191D010CBSMsg.EMG_KSH_KANA);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.EMG_KSH_KANA, this.chkAndCnvEmgKshKana((String)inMap.get("emg_ksh_kana")));
		}
		// ST1-2013-0000487 2013/03/21 Otsuka end

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者住所コード → NTT契約者住所コード
		if (inMap == null || inMap.get("ntt_keisha_ad_cd") == null || "".equals(inMap.get("ntt_keisha_ad_cd")))
		{
			template.setNull(EKK0191D010CBSMsg.NTT_KEISHA_AD_CD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.NTT_KEISHA_AD_CD, (String)inMap.get("ntt_keisha_ad_cd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者郵便番号 → NTT契約者郵便番号
		if (inMap == null || inMap.get("ntt_keisha_pcd") == null || "".equals(inMap.get("ntt_keisha_pcd")))
		{
			template.setNull(EKK0191D010CBSMsg.NTT_KEISHA_PCD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.NTT_KEISHA_PCD, (String)inMap.get("ntt_keisha_pcd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者都道府県名 → NTT契約者都道府県名
		if (inMap == null || inMap.get("ntt_keisha_state_nm") == null || "".equals(inMap.get("ntt_keisha_state_nm")))
		{
			template.setNull(EKK0191D010CBSMsg.NTT_KEISHA_STATE_NM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.NTT_KEISHA_STATE_NM, (String)inMap.get("ntt_keisha_state_nm"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者市区町村名 → NTT契約者市区町村名
		if (inMap == null || inMap.get("ntt_keisha_city_nm") == null || "".equals(inMap.get("ntt_keisha_city_nm")))
		{
			template.setNull(EKK0191D010CBSMsg.NTT_KEISHA_CITY_NM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.NTT_KEISHA_CITY_NM, (String)inMap.get("ntt_keisha_city_nm"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者大字通称名 → NTT契約者大字通称名
		if (inMap == null || inMap.get("ntt_keisha_oaztsu_nm") == null || "".equals(inMap.get("ntt_keisha_oaztsu_nm")))
		{
			template.setNull(EKK0191D010CBSMsg.NTT_KEISHA_OAZTSU_NM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.NTT_KEISHA_OAZTSU_NM, (String)inMap.get("ntt_keisha_oaztsu_nm"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者字丁目名 → NTT契約者字丁目名
		if (inMap == null || inMap.get("ntt_keisha_azcho_nm") == null || "".equals(inMap.get("ntt_keisha_azcho_nm")))
		{
			template.setNull(EKK0191D010CBSMsg.NTT_KEISHA_AZCHO_NM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.NTT_KEISHA_AZCHO_NM, (String)inMap.get("ntt_keisha_azcho_nm"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者番地号 → NTT契約者番地号
		if (inMap == null || inMap.get("ntt_keisha_bnchigo") == null || "".equals(inMap.get("ntt_keisha_bnchigo")))
		{
			template.setNull(EKK0191D010CBSMsg.NTT_KEISHA_BNCHIGO);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.NTT_KEISHA_BNCHIGO, (String)inMap.get("ntt_keisha_bnchigo"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者住所補記・建物名 → NTT契約者住所補記・建物名
		if (inMap == null || inMap.get("ntt_keisha_adrttm") == null || "".equals(inMap.get("ntt_keisha_adrttm")))
		{
			template.setNull(EKK0191D010CBSMsg.NTT_KEISHA_ADRTTM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.NTT_KEISHA_ADRTTM, (String)inMap.get("ntt_keisha_adrttm"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者住所補記・部屋番号 → NTT契約者住所補記・部屋番号
		if (inMap == null || inMap.get("ntt_keisha_adrrm") == null || "".equals(inMap.get("ntt_keisha_adrrm")))
		{
			template.setNull(EKK0191D010CBSMsg.NTT_KEISHA_ADRRM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.NTT_KEISHA_ADRRM, (String)inMap.get("ntt_keisha_adrrm"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者カナ名 → NTT契約者カナ名
		if (inMap == null || inMap.get("ntt_keisha_kana") == null || "".equals(inMap.get("ntt_ksh_kana")))
		{
			template.setNull(EKK0191D010CBSMsg.NTT_KSH_KANA);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.NTT_KSH_KANA, (String)inMap.get("ntt_ksh_kana"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者名 → NTT契約者名
		if (inMap == null || inMap.get("ntt_keisha_nm") == null || "".equals(inMap.get("ntt_keisha_nm")))
		{
			template.setNull(EKK0191D010CBSMsg.NTT_KEISHA_NM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.NTT_KEISHA_NM, (String)inMap.get("ntt_keisha_nm"));
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者住所＿契約者住所差異フラグ → NTT契約者住所_契約者住所差異フラグ
		if (inMap == null || inMap.get("ntt_ksh_ad_ksh_ad_sai_flg") == null || "".equals(inMap.get("ntt_ksh_ad_ksh_ad_sai_flg")))
		{
			template.setNull(EKK0191D010CBSMsg.NTT_KSH_AD_KSH_AD_SAI_FLG);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.NTT_KSH_AD_KSH_AD_SAI_FLG, (String)inMap.get("ntt_ksh_ad_ksh_ad_sai_flg"));
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.手動切替予定年月日時分秒

		if (inMap == null || inMap.get("man_switch_rsv_dtm") == null || "".equals(inMap.get("man_switch_rsv_dtm")))
		{
			template.setNull(EKK0191D010CBSMsg.MAN_SWITCH_RSV_DTM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.MAN_SWITCH_RSV_DTM, (String)inMap.get("man_switch_rsv_dtm"));
		}

		// 2012/09/25 Otsuka Chenged

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.解約・休止トーキ転送先電話番号
		if (inMap == null || inMap.get("dsl_pause_toki_tss_tln") == null || "".equals(inMap.get("dsl_pause_toki_tss_tln")))
		{
			template.setNull(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_TSS_TLN);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_TSS_TLN, (String)inMap.get("dsl_pause_toki_tss_tln"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.解約・休止トーキ開始年月日
		if (inMap == null || inMap.get("dsl_pause_toki_sta_ymd") == null || "".equals(inMap.get("dsl_pause_toki_sta_ymd")))
		{
			template.setNull(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_STA_YMD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_STA_YMD, (String)inMap.get("dsl_pause_toki_sta_ymd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.解約・休止トーキ終了予定年月日
		if (inMap == null || inMap.get("dsl_pause_toki_end_rsymd") == null || "".equals(inMap.get("dsl_pause_toki_end_rsymd")))
		{
			template.setNull(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_END_RSYMD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_END_RSYMD, (String)inMap.get("dsl_pause_toki_end_rsymd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.解約・休止トーキ終了年月日
		if (inMap == null || inMap.get("dsl_pause_toki_end_ymd") == null || "".equals(inMap.get("dsl_pause_toki_end_ymd")))
		{
			template.setNull(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_END_YMD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_END_YMD, (String)inMap.get("dsl_pause_toki_end_ymd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.解約・休止トーキ登録コード
		if (inMap == null || inMap.get("dsl_pause_toki_add_cd") == null || "".equals(inMap.get("dsl_pause_toki_add_cd")))
		{
			template.setNull(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_ADD_CD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_ADD_CD, (String)inMap.get("dsl_pause_toki_add_cd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.解約・休止トーキ開始予定年月日
		if (inMap == null || inMap.get("dsl_pause_toki_sta_rsymd") == null || "".equals(inMap.get("dsl_pause_toki_sta_rsymd")))
		{
			template.setNull(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_STA_RSYMD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_STA_RSYMD, (String)inMap.get("dsl_pause_toki_sta_rsymd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.VA宅内機器型式コード
		if (inMap == null || inMap.get("va_taknkiki_model_cd") == null || "".equals(inMap.get("va_taknkiki_model_cd")))
		{
			template.setNull(EKK0191D010CBSMsg.VA_TAKNKIKI_MODEL_CD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.VA_TAKNKIKI_MODEL_CD, (String)inMap.get("va_taknkiki_model_cd"));
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.VA機器製造番号
		if (inMap == null || inMap.get("va_kiki_seizo_no") == null || "".equals(inMap.get("va_kiki_seizo_no")))
		{
			template.setNull(EKK0191D010CBSMsg.VA_KIKI_SEIZO_NO);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.VA_KIKI_SEIZO_NO, (String)inMap.get("va_kiki_seizo_no"));
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.VAポート番号
		if (inMap == null || inMap.get("va_port_no") == null || "".equals(inMap.get("va_port_no")))
		{
			template.setNull(EKK0191D010CBSMsg.VA_PORT_NO);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.VA_PORT_NO, (String)inMap.get("va_port_no"));
		}
		// ----- 2012/05/07 サービスインターフェイス取込対応 h.iwamoto START -----
		// 更新年月日時分秒(更新前)
		String upd_dtm_bf = (String)((HashMap)(param.getData("EKK0111D010"))).get(EKK0111D010CBSMsg.UPD_DTM);
		if (upd_dtm_bf == null)
		{
			template.setNull(EKK0191D010CBSMsg.UPD_DTM_BF);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.UPD_DTM_BF, upd_dtm_bf);
		}
		// ----- 2012/05/07 サービスインターフェイス取込対応 h.iwamoto END -----

		// ----- PCON課題No.2012-0000003 2012/06/18 h.iwamoto START -----
		if (inMap == null || inMap.get("rule0059_auto_aply") == null || "".equals(inMap.get("rule0059_auto_aply")))
		{
			template.setNull(EKK0191D010CBSMsg.RULE0059_AUTO_APLY);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.RULE0059_AUTO_APLY, inMap.get("rule0059_auto_aply"));
		}
		// ----- PCON課題No.2012-0000003 2012/06/18 h.iwamoto END -----

		// 2012.09.21 Otsuka Add Start 
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.同番移転判定コード
		if (inMap == null || inMap.get("dobaniten_jdg_cd") == null || "".equals(inMap.get("dobaniten_jdg_cd")))
		{
			template.setNull(EKK0191D010CBSMsg.DOBANITEN_JDG_CD);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.DOBANITEN_JDG_CD, (String)inMap.get("dobaniten_jdg_cd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.移転先開通後トーキ希望有無
		if (inMap == null || inMap.get("itens_opaf_toki_kibo_um") == null || "".equals(inMap.get("itens_opaf_toki_kibo_um")))
		{
			template.setNull(EKK0191D010CBSMsg.ITENS_OPAF_TOKI_KIBO_UM);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.ITENS_OPAF_TOKI_KIBO_UM, (String)inMap.get("itens_opaf_toki_kibo_um"));
		}
		// 2012.09.21 Otsuka Add End

		// IT1-2012-0001150 2012/10/16 h.iwamoto START
		if (inMap == null || inMap.get("kari_mskm_flg") == null)
		{
			template.setNull(EKK0191D010CBSMsg.KARI_MSKM_FLG);
		}
		else
		{
			template.set(EKK0191D010CBSMsg.KARI_MSKM_FLG, (String)inMap.get("kari_mskm_flg"));
		}
		// IT1-2012-0001150 2012/10/16 h.iwamoto END

		return template;
	}

	/**
	 * サービス契約内訳<eo光電話>登録の下りマッピング処理 <br>
	 * 
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @return
	 * @throws Exception
	 */
	private IRequestParameterReadWrite editRetEKK0191D010(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText, int index)
			throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		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("EKK0191D010List");
		if (dataList == null)
		{
			dataList = new ArrayList();
			dataMap.put("EKK0191D010List", 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 telMap = (HashMap)(param.getData("EKK0111D010"));

		// 契約者情報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(EKK0191D010CBSMsg.SVC_KEI_UCWK_NO))
		{
			childMap.put("svc_kei_ucwk_no", new String());
			// 2012/4/24 割引サービス自動適用対応 START
			svcKeiListMap.put("svc_kei_ucwk_no", "");
			// 2012/4/24 割引サービス自動適用対応 END
		}
		else
		{
			childMap.put("svc_kei_ucwk_no", template.getString(EKK0191D010CBSMsg.SVC_KEI_UCWK_NO));
			// ++++++++++++++++++++ v1.00.00 追加開始 ++++++++++++++++++++++++++ */
			workDataMap.put("svc_kei_ucwk_no_" + index, template.getString(EKK0191D010CBSMsg.SVC_KEI_UCWK_NO));
			// +++++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++++ */
			// 2012/4/24 割引サービス自動適用対応 START
			svcKeiListMap.put("svc_kei_ucwk_no", template.getString(EKK0191D010CBSMsg.SVC_KEI_UCWK_NO));
			// 2012/4/24 割引サービス自動適用対応 END
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.世代登録年月日時分秒（サービス契約内訳） ← 世代登録年月日時分秒(サービス契約内訳)
		if (template.isNull(EKK0191D010CBSMsg.KK0161_GENE_ADD_DTM))
		{
			childMap.put("kk0161_gene_add_dtm", new String());
		}
		else
		{
			childMap.put("kk0161_gene_add_dtm", template.getString(EKK0191D010CBSMsg.KK0161_GENE_ADD_DTM));
			// ++++++++++++++++++++ v1.00.00 追加開始 ++++++++++++++++++++++++++ */
			workDataMap.put("kk0161_gene_add_dtm" + index, template.getString(EKK0191D010CBSMsg.KK0161_GENE_ADD_DTM));
			// +++++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++++++++ */
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.サービス契約内訳ステータス ← サービス契約内訳ステータス
		if (template.isNull(EKK0191D010CBSMsg.SVC_KEI_UCWK_STAT))
		{
			childMap.put("svc_kei_ucwk_stat", new String());
		}
		else
		{
			dataMap.put("svc_kei_ucwk_stat", template.getString(EKK0191D010CBSMsg.SVC_KEI_UCWK_STAT));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.予約適用年月日 ← 予約適用年月日
		if (template.isNull(EKK0191D010CBSMsg.RSV_APLY_YMD))
		{
			childMap.put("rsv_aply_ymd", new String());
		}
		else
		{
			childMap.put("rsv_aply_ymd", template.getString(EKK0191D010CBSMsg.RSV_APLY_YMD));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.予約適用コード ← 予約適用コード
		if (template.isNull(EKK0191D010CBSMsg.RSV_APLY_CD))
		{
			childMap.put("rsv_aply_cd", new String());
		}
		else
		{
			childMap.put("rsv_aply_cd", template.getString(EKK0191D010CBSMsg.RSV_APLY_CD));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.世代登録年月日時分秒（サービス契約内訳＜ｅｏ光電話＞） ←
		// 世代登録年月日時分秒(サービス契約内訳<eo光電話>)
		if (template.isNull(EKK0191D010CBSMsg.KK0191_GENE_ADD_DTM))
		{
			childMap.put("kk0191_gene_add_dtm", new String());
		}
		else
		{
			childMap.put("kk0191_gene_add_dtm", template.getString(EKK0191D010CBSMsg.KK0191_GENE_ADD_DTM));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.登録年月日時分秒 ← 登録年月日時分秒
		if (template.isNull(EKK0191D010CBSMsg.ADD_DTM))
		{
			childMap.put("add_dtm", new String());
		}
		else
		{
			childMap.put("add_dtm", template.getString(EKK0191D010CBSMsg.ADD_DTM));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.登録オペレータアカウント ← 登録オペレータアカウント
		if (template.isNull(EKK0191D010CBSMsg.ADD_OPEACNT))
		{
			childMap.put("add_opeacnt", new String());
		}
		else
		{
			childMap.put("add_opeacnt", template.getString(EKK0191D010CBSMsg.ADD_OPEACNT));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.更新年月日時分秒 ← 更新年月日時分秒
		if (template.isNull(EKK0191D010CBSMsg.UPD_DTM))
		{
			childMap.put("upd_dtm", new String());
		}
		else
		{
			childMap.put("upd_dtm", template.getString(EKK0191D010CBSMsg.UPD_DTM));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.更新オペレータアカウント ← 更新オペレータアカウント
		if (template.isNull(EKK0191D010CBSMsg.UPD_OPEACNT))
		{
			childMap.put("upd_opeacnt", new String());
		}
		else
		{
			childMap.put("upd_opeacnt", template.getString(EKK0191D010CBSMsg.UPD_OPEACNT));
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.無効フラグ ← 無効フラグ
		if (template.isNull(EKK0191D010CBSMsg.MK_FLG))
		{
			childMap.put("mk_flg", new String());
		}
		else
		{
			childMap.put("mk_flg", template.getString(EKK0191D010CBSMsg.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", "03");

		// サービス契約リストマップ.サービス契約内訳ステータス "010"：受付済
		svcKeiListMap.put("svc_kei_ucwk_stat", "010");

		// サービス契約リストマップ.料金コースコード
		svcKeiListMap.put("pcrs_cd", telMap.get("pcrs_cd"));

		// サービス契約リストマップ.料金プランコード
		svcKeiListMap.put("pplan_cd", telMap.get("pplan_cd"));

		// サービス契約リストにサービス契約リストマップを格納する
		svcKeiList.add(svcKeiListMap);

		// サービスグループリストマップにサービス契約リストが存在しない場合
		// サービスグループリストマップにサービス契約リストを追加する
		if (!svcKeiGrpListMap.containsKey(SVC_KEI_LIST))
		{
			svcKeiGrpListMap.put(SVC_KEI_LIST, svcKeiList);
		}
		// 2012/4/24 割引サービス自動適用対応 END

		// エラー情報の設定
		editErrInfoEKK0191D010(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 editErrInfoEKK0191D010(IRequestParameterReadWrite param, CAANMsg template, int returnCode, String fixedText,
			int index) throws RequestParameterException
	{
		int templateStatus = template.getInt(EKK0191D010CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;
		ArrayList inList = null;

		// 作業項目領域
		Map workMap = (Map)param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}

		/* ユーザデータ情報 */
		inMap = (HashMap<String, Object>)param.getData("EKK0191D010");
		/* ++++++++++++++++ v1.00.00 追加開始 +++++++++++++++++++++ */
		inMap = (HashMap)((ArrayList)inMap.get("EKK0191D010List")).get(index);
		/* ++++++++++++++++ v1.00.00 追加終了 +++++++++++++++++++++ */

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.サービス契約番号 → サービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey("svc_kei_no_err"))
			{
				inMap.put("svc_kei_no_err", template.getString(EKK0191D010CBSMsg.SVC_KEI_NO_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.申込明細番号 → 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey("mskm_dtl_no_err"))
			{
				inMap.put("mskm_dtl_no_err", template.getString(EKK0191D010CBSMsg.MSKM_DTL_NO_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.提供方式契約番号 → 提供方式契約番号 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.TK_HOSHIKI_KEI_NO_ERR))
		{
			if (!inMap.containsKey("tk_hoshiki_kei_no_err"))
			{
				inMap.put("tk_hoshiki_kei_no_err", template.getString(EKK0191D010CBSMsg.TK_HOSHIKI_KEI_NO_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.支払方法継続フラグ → 支払方法継続フラグ のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.PAYWAY_KEIZOKU_FLG_ERR))
		{
			if (!inMap.containsKey("payway_keizoku_flg_err"))
			{
				inMap.put("payway_keizoku_flg_err", template.getString(EKK0191D010CBSMsg.PAYWAY_KEIZOKU_FLG_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＷＥＢオプション追加不可フラグ → WEBオプション追加不可フラグ のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.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(EKK0191D010CBSMsg.WEB_OP_ADD_FAIL_FLG_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.業務連絡備考 → 業務連絡備考 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.WORK_RRK_BIKO_ERR))
		{
			if (!inMap.containsKey("biko_err"))
			{
				inMap.put("biko_err", template.getString(EKK0191D010CBSMsg.WORK_RRK_BIKO_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.サービス利用開始希望年月日 → サービス利用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.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(EKK0191D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.予約適用開始希望年月日 → 予約適用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey("rsv_tsta_kibo_ymd_err"))
			{
				inMap.put("rsv_tsta_kibo_ymd_err", template.getString(EKK0191D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.試用加入年月日 → 試用加入年月日 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.FTRIAL_KANYU_YMD_ERR))
		{
			if (!inMap.containsKey("ftrial_kanyu_ymd_err"))
			{
				inMap.put("ftrial_kanyu_ymd_err", template.getString(EKK0191D010CBSMsg.FTRIAL_KANYU_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.試用期間終了年月日 → 試用期間終了年月日 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.FTRIAL_PRD_ENDYMD_ERR))
		{
			if (!inMap.containsKey("ftrial_prd_endymd_err"))
			{
				inMap.put("ftrial_prd_endymd_err", template.getString(EKK0191D010CBSMsg.FTRIAL_PRD_ENDYMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.本加入年月日 → 本加入年月日 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.HONKANYU_YMD_ERR))
		{
			if (!inMap.containsKey("honkanyu_ymd_err"))
			{
				inMap.put("honkanyu_ymd_err", template.getString(EKK0191D010CBSMsg.HONKANYU_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.本加入移行期限年月日 → 本加入移行期限年月日 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR))
		{
			if (!inMap.containsKey("honkanyu_iko_kigen_ymd_err"))
			{
				inMap.put("honkanyu_iko_kigen_ymd_err", template.getString(EKK0191D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.違約金発生コード → 違約金発生コード のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.PNLTY_HASSEI_CD_ERR))
		{
			if (!inMap.containsKey("pnlty_hassei_cd_err"))
			{
				inMap.put("pnlty_hassei_cd_err", template.getString(EKK0191D010CBSMsg.PNLTY_HASSEI_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.異動区分 → 異動区分 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey("ido_div_err"))
			{
				inMap.put("ido_div_err", template.getString(EKK0191D010CBSMsg.IDO_DIV_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.電話番号 → 電話番号 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.TELNO_ERR))
		{
			if (!inMap.containsKey("telno_err"))
			{
				inMap.put("telno_err", template.getString(EKK0191D010CBSMsg.TELNO_ERR));
			}
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用住所コード → 緊急通報用住所コード のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.EMG_AD_CD_ERR))
		{
			if (!inMap.containsKey("emg_ad_cd_err"))
			{
				inMap.put("emg_ad_cd_err", template.getString(EKK0191D010CBSMsg.EMG_AD_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用住所補記・建物名 → 緊急通報用住所補記・建物名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.EMG_ADRTTM_ERR))
		{
			if (!inMap.containsKey("emg_adrttm_err"))
			{
				inMap.put("emg_adrttm_err", template.getString(EKK0191D010CBSMsg.EMG_ADRTTM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用住所補記・部屋番号 → 緊急通報用住所補記・部屋番号 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.EMG_ADRRM_ERR))
		{
			if (!inMap.containsKey("emg_adrrm_err"))
			{
				inMap.put("emg_adrrm_err", template.getString(EKK0191D010CBSMsg.EMG_ADRRM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.電話番号順番 → 電話番号順番 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.TELNO_JUN_ERR))
		{
			if (!inMap.containsKey("telno_jun_err"))
			{
				inMap.put("telno_jun_err", template.getString(EKK0191D010CBSMsg.TELNO_JUN_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ番号案内有無 → NTT番号案内有無 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.NTT_NO_GUIDE_UM_ERR))
		{
			if (!inMap.containsKey("ntt_no_guide_um_err"))
			{
				inMap.put("ntt_no_guide_um_err", template.getString(EKK0191D010CBSMsg.NTT_NO_GUIDE_UM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ハローページ掲載有無 → ハローページ掲載有無 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.HELLOPAGE_KEISAI_UM_ERR))
		{
			if (!inMap.containsKey("hellopage_keisai_um_err"))
			{
				inMap.put("hellopage_keisai_um_err", template.getString(EKK0191D010CBSMsg.HELLOPAGE_KEISAI_UM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.通話明細公開要否 → 通話明細公開要否 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.TUWA_DTL_KOKAI_YH_ERR))
		{
			if (!inMap.containsKey("pcall_dtl_kokai_yh_err"))
			{
				inMap.put("pcall_dtl_kokai_yh_err", template.getString(EKK0191D010CBSMsg.TUWA_DTL_KOKAI_YH_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.通信事業者コード → 通信事業者コード のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.TSJGS_CD_ERR))
		{
			if (!inMap.containsKey("tsjgs_cd_err"))
			{
				inMap.put("tsjgs_cd_err", template.getString(EKK0191D010CBSMsg.TSJGS_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.解約・休止トーキ希望有無 → 解約・休止トーキ希望有無 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_KIBO_UM_ERR))
		{
			if (!inMap.containsKey("dsl_pause_toki_kibo_um_err"))
			{
				inMap.put("dsl_pause_toki_kibo_um_err", template.getString(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_KIBO_UM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.解約・休止トーキ種別コード → 解約・休止トーキ種別コード のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_SBT_CD_ERR))
		{
			if (!inMap.containsKey("dsl_pause_toki_sbt_cd_err"))
			{
				inMap.put("dsl_pause_toki_sbt_cd_err", template.getString(EKK0191D010CBSMsg.DSL_PAUSE_TOKI_SBT_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.タウンページ掲載カナ名 → タウンページ掲載カナ名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.TOWNPAGE_KEISAI_KANA_ERR))
		{
			if (!inMap.containsKey("townpage_keisai_kana_err"))
			{
				inMap.put("townpage_keisai_kana_err", template.getString(EKK0191D010CBSMsg.TOWNPAGE_KEISAI_KANA_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.タウンページ掲載名 → タウンページ掲載名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.TOWNPAGE_KEISAI_NM_ERR))
		{
			if (!inMap.containsKey("townpage_keisai_nm_err"))
			{
				inMap.put("townpage_keisai_nm_err", template.getString(EKK0191D010CBSMsg.TOWNPAGE_KEISAI_NM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.番ポ同時開通年月日 → 番ポ同時開通年月日 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.BMP_DOJI_OPEN_YMD_ERR))
		{
			if (!inMap.containsKey("bmp_doji_open_ymd_err"))
			{
				inMap.put("bmp_doji_open_ymd_err", template.getString(EKK0191D010CBSMsg.BMP_DOJI_OPEN_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用補正郵便番号 → 緊急通報用補正郵便番号 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.EMG_HOSEI_PCD_ERR))
		{
			if (!inMap.containsKey("emg_hosei_pcd_err"))
			{
				inMap.put("emg_hosei_pcd_err", template.getString(EKK0191D010CBSMsg.EMG_HOSEI_PCD_ERR));
			}
		}
		// 2012/04/26 SIFの項目追加対応 START
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用都道府県名 → 緊急通報用都道府県名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.EMG_STATE_NM_ERR))
		{
			if (!inMap.containsKey("emg_state_nm_err"))
			{
				inMap.put("emg_state_nm_err", template.getString(EKK0191D010CBSMsg.EMG_STATE_NM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用市区町村名 → 緊急通報用市区町村名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.EMG_CITY_NM_ERR))
		{
			if (!inMap.containsKey("emg_city_nm_err"))
			{
				inMap.put("emg_city_nm_err", template.getString(EKK0191D010CBSMsg.EMG_CITY_NM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用大字通称名 → 緊急通報用大字通称名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.EMG_OAZTSU_NM_ERR))
		{
			if (!inMap.containsKey("emg_oaztsu_nm_err"))
			{
				inMap.put("emg_oaztsu_nm_err", template.getString(EKK0191D010CBSMsg.EMG_OAZTSU_NM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用字丁目名 → 緊急通報用字丁目名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.EMG_AZCHO_NM_ERR))
		{
			if (!inMap.containsKey("emg_azcho_nm_err"))
			{
				inMap.put("emg_azcho_nm_err", template.getString(EKK0191D010CBSMsg.EMG_AZCHO_NM_ERR));
			}
		}
		// 2012/04/26 SIFの項目追加対応 END
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用番地号 → 緊急通報用番地号 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.EMG_BNCHIGO_ERR))
		{
			if (!inMap.containsKey("emg_bnchigo_err"))
			{
				inMap.put("emg_bnchigo_err", template.getString(EKK0191D010CBSMsg.EMG_BNCHIGO_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用契約者個別指定フラグ → 緊急通報用契約者個別指定フラグ のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.EMG_KSH_KSITEI_FLG_ERR))
		{
			if (!inMap.containsKey("emg_ksh_ksitei_flg_err"))
			{
				inMap.put("emg_ksh_ksitei_flg_err", template.getString(EKK0191D010CBSMsg.EMG_KSH_KSITEI_FLG_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用契約者名 → 緊急通報用契約者名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.EMG_KSH_NM_ERR))
		{
			if (!inMap.containsKey("emg_ksh_nm_err"))
			{
				inMap.put("emg_ksh_nm_err", template.getString(EKK0191D010CBSMsg.EMG_KSH_NM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.緊急通報用契約者カナ名 → 緊急通報用契約者カナ名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.EMG_KSH_KANA_ERR))
		{
			if (!inMap.containsKey("emg_ksh_kana_err"))
			{
				inMap.put("emg_ksh_kana_err", template.getString(EKK0191D010CBSMsg.EMG_KSH_KANA_ERR));
			}
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者住所コード → NTT契約者住所コード のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.NTT_KEISHA_AD_CD_ERR))
		{
			if (!inMap.containsKey("ntt_keisha_ad_cd_err"))
			{
				inMap.put("ntt_keisha_ad_cd_err", template.getString(EKK0191D010CBSMsg.NTT_KEISHA_AD_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者郵便番号 → NTT契約者郵便番号 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.NTT_KEISHA_PCD_ERR))
		{
			if (!inMap.containsKey("ntt_keisha_pcd_err"))
			{
				inMap.put("ntt_keisha_pcd_err", template.getString(EKK0191D010CBSMsg.NTT_KEISHA_PCD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者都道府県名 → NTT契約者都道府県名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.NTT_KEISHA_STATE_NM_ERR))
		{
			if (!inMap.containsKey("ntt_keisha_state_nm_err"))
			{
				inMap.put("ntt_keisha_state_nm_err", template.getString(EKK0191D010CBSMsg.NTT_KEISHA_STATE_NM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者市区町村名 → NTT契約者市区町村名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.NTT_KEISHA_CITY_NM_ERR))
		{
			if (!inMap.containsKey("ntt_keisha_city_nm_err"))
			{
				inMap.put("ntt_keisha_city_nm_err", template.getString(EKK0191D010CBSMsg.NTT_KEISHA_CITY_NM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者大字通称名 → NTT契約者大字通称名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.NTT_KEISHA_OAZTSU_NM_ERR))
		{
			if (!inMap.containsKey("ntt_keisha_oaztsu_nm_err"))
			{
				inMap.put("ntt_keisha_oaztsu_nm_err", template.getString(EKK0191D010CBSMsg.NTT_KEISHA_OAZTSU_NM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者字丁目名 → NTT契約者字丁目名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.NTT_KEISHA_AZCHO_NM_ERR))
		{
			if (!inMap.containsKey("ntt_keisha_azcho_nm_err"))
			{
				inMap.put("ntt_keisha_azcho_nm_err", template.getString(EKK0191D010CBSMsg.NTT_KEISHA_AZCHO_NM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者番地号 → NTT契約者番地号 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.NTT_KEISHA_BNCHIGO_ERR))
		{
			if (!inMap.containsKey("ntt_keisha_bnchigo_err"))
			{
				inMap.put("ntt_keisha_bnchigo_err", template.getString(EKK0191D010CBSMsg.NTT_KEISHA_BNCHIGO_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者住所補記・建物名 → NTT契約者住所補記・建物名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.NTT_KEISHA_ADRTTM_ERR))
		{
			if (!inMap.containsKey("ntt_keisha_adrttm_err"))
			{
				inMap.put("ntt_keisha_adrttm_err", template.getString(EKK0191D010CBSMsg.NTT_KEISHA_ADRTTM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者住所補記・部屋番号 → NTT契約者住所補記・部屋番号 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.NTT_KEISHA_ADRRM_ERR))
		{
			if (!inMap.containsKey("ntt_keisha_adrrm_err"))
			{
				inMap.put("ntt_keisha_adrrm_err", template.getString(EKK0191D010CBSMsg.NTT_KEISHA_ADRRM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者カナ名 → NTT契約者カナ名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.NTT_KEISHA_AD_CD_ERR))
		{
			if (!inMap.containsKey("ntt_keisha_kana_err"))
			{
				inMap.put("ntt_keisha_kana_err", template.getString(EKK0191D010CBSMsg.NTT_KEISHA_AD_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者名 → NTT契約者名 のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.NTT_KEISHA_NM_ERR))
		{
			if (!inMap.containsKey("ntt_keisha_nm_err"))
			{
				inMap.put("ntt_keisha_nm_err", template.getString(EKK0191D010CBSMsg.NTT_KEISHA_NM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.ＮＴＴ契約者住所＿契約者住所差異フラグ → NTT契約者住所_契約者住所差異フラグ
		// のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.NTT_KSH_AD_KSH_AD_SAI_FLG_ERR))
		{
			if (!inMap.containsKey("ntt_ksh_ad_ksh_ad_sai_flg_err"))
			{
				inMap.put("ntt_ksh_ad_ksh_ad_sai_flg_err", template.getString(EKK0191D010CBSMsg.NTT_KSH_AD_KSH_AD_SAI_FLG_ERR));
			}
		}

		// 2012.09.21 Otsuka Add Start 
		// サービス契約内訳＜ｅｏ光電話＞登録マップ.同番移転判定コード → 同番移転判定コードのエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.DOBANITEN_JDG_CD_ERR))
		{
			if (!inMap.containsKey("dobaniten_jdg_cd_err"))
			{
				inMap.put("dobaniten_jdg_cd_err", template.getString(EKK0191D010CBSMsg.DOBANITEN_JDG_CD_ERR));
			}
		}

		// サービス契約内訳＜ｅｏ光電話＞登録マップ.移転先開通後トーキ希望有無 → 移転先開通後トーキ希望有無のエラー情報返却
		if (!template.isNull(EKK0191D010CBSMsg.ITENS_OPAF_TOKI_KIBO_UM_ERR))
		{
			if (!inMap.containsKey("itens_opaf_toki_kibo_um_err"))
			{
				inMap.put("itens_opaf_toki_kibo_um_err", template.getString(EKK0191D010CBSMsg.ITENS_OPAF_TOKI_KIBO_UM_ERR));
			}
		}

		// 2012.09.21 Otsuka Add End

		return param;
	}

	//TODO 機器提供サービス契約登録
	//JFUAddKktSvcKeiCCに移動

	/**
	 * エラー情報のマッピング処理 <br>
	 */
	public IRequestParameterReadWrite editErrorInfo(IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode)
			throws RequestParameterException
	{
		/* ユーザデータ情報 */
		HashMap inMapChk = (HashMap)(param.getData("EKK0111D010"));
		if (inMapChk == null)
		{
			return param;
		}
		// No708 2013/04/24 Otsuka start
		int idx = 0;

		// サービス契約<eo光電話>登録
		editErrInfoEKK0111D010(param, templates[idx], (Integer)returnCode, "EKK0111D010");

		// 電話番号登録Cnt
		HashMap inMap = (HashMap)(param.getData("EKK0191D010"));
		int telCnt = ((ArrayList)inMap.get("EKK0191D010List")).size();
		for (int i = 0; i < telCnt; i++)
		{
			// サービス契約内訳<eo光電話>登録
			editErrInfoEKK0191D010(param, templates[i + idx], (Integer)returnCode, "EKK0191D010", i);
		}

		return param;
	}

	/**
	 * 業務パラメータ管理一意照会の上りマッピング処理 <br>
	 * 
	 * @param param
	 * @param fixedText
	 * @return
	 */
	private CAANMsg editInEZM0321A010(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EZM0321A010CBSMsg.class.getName());
		CAANMsg[] templateArray = null;

		HashMap inMap = null;
		HashMap inWorkMap = null;
		ArrayList inList = null;

		// テンプレートID
		template.set(EZM0321A010CBSMsg.TEMPLATEID, fixedText);

		// 機能コード（デフォルト：１）
		template.set(EZM0321A010CBSMsg.FUNC_CODE, FUNC_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 || inMap.get(JCMConstants.FUNC_CODE_KEY) == null || "".equals(inMap.get(JCMConstants.FUNC_CODE_KEY)))
		{
			// 未設定の場合はデフォルト値を使用する為、スルーする。
			//template.setNull(EKK0371D010CBSMsg.FUNC_CODE);
		}
		else
		{
			template.set(EZM0321A010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		// 業務パラメータ管理一意照会マップ.ＫＥＹ＿業務パラメータID → ＫＥＹ＿業務パラメータＩＤ
		if (inMap == null || inMap.get("key_work_param_id") == null || "".equals(inMap.get("key_work_param_id")))
		{
			template.setNull(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID);
		}
		else
		{
			template.set(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID, (String)inMap.get("key_work_param_id"));
		}

		return template;
	}

	/**
	 * 業務パラメータ管理一意照会の下りマッピング処理 <br>
	 * 
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @return
	 * @throws Exception
	 */
	private IRequestParameterReadWrite editRetEZM0321A010(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];
		CAANMsg[] templateArray = null;

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}

		// 結果を詰めるマップを取得。
		HashMap dataMap = null;
		ArrayList dataList = null;

		HashMap workDataMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);
		if (workDataMap == null)
		{
			workDataMap = new HashMap();
			workMap.put(CC_WORK_AREA_NAME, workDataMap);
		}

		/* 業務データ設定 */
		dataMap = (HashMap)param.getData(fixedText);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}

		templateArray = template.getCAANMsgList(EZM0321A010CBSMsg.EZM0321A010CBSMSG1LIST);
		dataList = (ArrayList)dataMap.get("EZM0321A010CBSMsg1List");

		if (dataList == null)
		{
			dataList = new ArrayList();
		}

		if (templateArray != null)
		{
			for (int i = 0; i < templateArray.length; i++)
			{
				CAANMsg childTemplate = templateArray[i];
				if (i >= dataList.size())
				{
					dataList.add(new HashMap());
				}
				HashMap childMap = (HashMap)dataList.get(i);

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.業務パラメータID ← 業務パラメータ管理一意照会明細.業務パラメータＩＤ
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.WORK_PARAM_ID))
				{
					childMap.put("work_param_id", new String());
				}
				else
				{
					childMap.put("work_param_id", childTemplate.getString(EZM0321A010CBSMsg1List.WORK_PARAM_ID));
				}

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.業務パラメータ適用開始年月日 ← 業務パラメータ管理一意照会明細.業務パラメータ適用開始年月日
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.WORK_PARAM_TSTAYMD))
				{
					childMap.put("work_param_tstaymd", new String());
				}
				else
				{
					childMap.put("work_param_tstaymd", childTemplate.getString(EZM0321A010CBSMsg1List.WORK_PARAM_TSTAYMD));
				}

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.業務パラメータ適用終了年月日 ← 業務パラメータ管理一意照会明細.業務パラメータ適用終了年月日
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.WORK_PARAM_TENDYMD))
				{
					childMap.put("work_param_tendymd", new String());
				}
				else
				{
					childMap.put("work_param_tendymd", childTemplate.getString(EZM0321A010CBSMsg1List.WORK_PARAM_TENDYMD));
				}

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.業務パラメータ名 ← 業務パラメータ管理一意照会明細.業務パラメータ名
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.WORK_PARAM_NM))
				{
					childMap.put("work_param_nm", new String());
				}
				else
				{
					childMap.put("work_param_nm", childTemplate.getString(EZM0321A010CBSMsg1List.WORK_PARAM_NM));
				}

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.業務パラメータ説明 ← 業務パラメータ管理一意照会明細.業務パラメータ説明
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.WORK_PARAM_SETMEI))
				{
					childMap.put("work_param_setmei", new String());
				}
				else
				{
					childMap.put("work_param_setmei", childTemplate.getString(EZM0321A010CBSMsg1List.WORK_PARAM_SETMEI));
				}

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.業務パラメータ設定値 ← 業務パラメータ管理一意照会明細.業務パラメータ設定値
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.WORK_PARAM_SETTE_VALUE))
				{
					childMap.put("work_param_sette_value", new String());
				}
				else
				{
					childMap.put("work_param_sette_value", childTemplate.getString(EZM0321A010CBSMsg1List.WORK_PARAM_SETTE_VALUE));
				}

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.登録年月日時分秒 ← 業務パラメータ管理一意照会明細.登録年月日時分秒
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.ADD_DTM))
				{
					childMap.put("add_dtm", new String());
				}
				else
				{
					childMap.put("add_dtm", childTemplate.getString(EZM0321A010CBSMsg1List.ADD_DTM));
				}

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.登録オペレータアカウント ← 業務パラメータ管理一意照会明細.登録オペレータアカウント
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.ADD_OPEACNT))
				{
					childMap.put("add_opeacnt", new String());
				}
				else
				{
					childMap.put("add_opeacnt", childTemplate.getString(EZM0321A010CBSMsg1List.ADD_OPEACNT));
				}

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.更新年月日時分秒 ← 業務パラメータ管理一意照会明細.更新年月日時分秒
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.UPD_DTM))
				{
					childMap.put("upd_dtm", new String());
				}
				else
				{
					childMap.put("upd_dtm", childTemplate.getString(EZM0321A010CBSMsg1List.UPD_DTM));
				}

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.更新オペレータアカウント ← 業務パラメータ管理一意照会明細.更新オペレータアカウント
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.UPD_OPEACNT))
				{
					childMap.put("upd_opeacnt", new String());
				}
				else
				{
					childMap.put("upd_opeacnt", childTemplate.getString(EZM0321A010CBSMsg1List.UPD_OPEACNT));
				}

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.削除年月日時分秒 ← 業務パラメータ管理一意照会明細.削除年月日時分秒
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.DEL_DTM))
				{
					childMap.put("del_dtm", new String());
				}
				else
				{
					childMap.put("del_dtm", childTemplate.getString(EZM0321A010CBSMsg1List.DEL_DTM));
				}

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.削除オペレータアカウント ← 業務パラメータ管理一意照会明細.削除オペレータアカウント
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.DEL_OPEACNT))
				{
					childMap.put("del_opeacnt", new String());
				}
				else
				{
					childMap.put("del_opeacnt", childTemplate.getString(EZM0321A010CBSMsg1List.DEL_OPEACNT));
				}

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.無効フラグ ← 業務パラメータ管理一意照会明細.無効フラグ
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.MK_FLG))
				{
					childMap.put("mk_flg", new String());
				}
				else
				{
					childMap.put("mk_flg", childTemplate.getString(EZM0321A010CBSMsg1List.MK_FLG));
				}

				// 業務パラメータ管理一意照会マップ.業務パラメータ管理一意照会明細.無効フラグ名称 ← 業務パラメータ管理一意照会明細.無効フラグ名称
				if (childTemplate.isNull(EZM0321A010CBSMsg1List.MK_FLG_NM))
				{
					childMap.put("mk_flg_nm", new String());
				}
				else
				{
					childMap.put("mk_flg_nm", childTemplate.getString(EZM0321A010CBSMsg1List.MK_FLG_NM));
				}
			}
		}
		dataMap.put("EZM0321A010CBSMsg1List", dataList);

		// エラー情報の設定
		editErrInfoEZM0321A010(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;
	}

	/**
	 * 業務パラメータ管理一意照会のエラー情報マッピング処理 <br>
	 */
	public IRequestParameterReadWrite editErrInfoEZM0321A010(IRequestParameterReadWrite param, CAANMsg template, int returnCode, String fixedText)
			throws RequestParameterException
	{
		int templateStatus = template.getInt(EZM0321A010CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;
		ArrayList inList = null;

		// 作業項目領域
		Map workMap = (Map)param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		// 業務パラメータ管理一意照会マップ.ＫＥＹ＿業務パラメータID → ＫＥＹ＿業務パラメータＩＤ のエラー情報返却
		if (!template.isNull(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID_ERR))
		{
			if (!inMap.containsKey("key_work_param_id_err"))
			{
				inMap.put("key_work_param_id_err", template.getString(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID_ERR));
			}
		}

		return param;
	}

	/**
	 * オプションサービス契約＜電話＞登録の上りマッピング処理 <br>
	 * 
	 * @param param
	 * @param fixedText
	 * @return
	 */
	private CAANMsg editInEKK0371D010(IRequestParameterReadWrite param, String fixedText, int index) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0371D010CBSMsg.class.getName());
		HashMap inMap = null;
		ArrayList inList = null;

		// テンプレートID
		template.set(EKK0371D010CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0371D010);

		// 機能コード（デフォルト：１）
		template.set(EKK0371D010CBSMsg.FUNC_CODE, FUNC_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);

		/* ユーザデータ情報 */
		HashMap dataMap = (HashMap)param.getData(fixedText);
		if (dataMap != null)
		{
			// MAPが存在する
			inList = (ArrayList)dataMap.get("EKK0371D010TelList");
			if (inList != null)
			{
				// リストが存在する
				inMap = (HashMap)inList.get(index);
			}
		}

		if (inMap == null || inMap.get(JCMConstants.FUNC_CODE_KEY) == null || "".equals(inMap.get(JCMConstants.FUNC_CODE_KEY)))
		{
			// 未設定の場合はデフォルト値を使用する為、スルーする。
			//template.setNull(EKK0371D010CBSMsg.FUNC_CODE);
		}
		else
		{
			// 機能コード
			template.set(EKK0371D010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		// オプションサービス契約＜電話＞登録マップ.オプションサービスコード → オプションサービスコード
		if (inMap == null || inMap.get("op_svc_cd") == null || "".equals(inMap.get("op_svc_cd")))
		{
			template.setNull(EKK0371D010CBSMsg.OP_SVC_CD);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.OP_SVC_CD, (String)inMap.get("op_svc_cd"));
		}

		// オプションサービス契約＜電話＞登録マップ.料金コースコード → 料金コースコード
		if (inMap == null || inMap.get("pcrs_cd") == null || "".equals(inMap.get("pcrs_cd")))
		{
			template.setNull(EKK0371D010CBSMsg.PCRS_CD);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.PCRS_CD, (String)inMap.get("pcrs_cd"));
		}

		// オプションサービス契約＜電話＞登録マップ.料金プランコード → 料金プランコード
		if (inMap == null || inMap.get("pplan_cd") == null || "".equals(inMap.get("pplan_cd")))
		{
			template.setNull(EKK0371D010CBSMsg.PPLAN_CD);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.PPLAN_CD, (String)inMap.get("pplan_cd"));
		}

		// オプションサービス契約＜電話＞登録マップ.親契約識別コード → 親契約識別コード
		if (inMap == null || inMap.get("oya_kei_skbt_cd") == null || "".equals(inMap.get("oya_kei_skbt_cd")))
		{
			template.setNull(EKK0371D010CBSMsg.OYA_KEI_SKBT_CD);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.OYA_KEI_SKBT_CD, (String)inMap.get("oya_kei_skbt_cd"));
		}

		// オプションサービス契約＜電話＞登録マップ.SYSID → SYSID
		if (inMap == null || inMap.get("sysid") == null || "".equals(inMap.get("sysid")))
		{
			String sysid = getKeishaWorkMapValue(param, "sysid");
			if (sysid == null)
			{
				template.setNull(EKK0371D010CBSMsg.SYSID);
			}
			else
			{
				template.set(EKK0371D010CBSMsg.SYSID, sysid);
			}
		}
		else
		{
			template.set(EKK0371D010CBSMsg.SYSID, (String)inMap.get("sysid"));
		}

		// オプションサービス契約＜電話＞登録マップ.試用加入年月日 → 試用加入年月日
		if (inMap == null || inMap.get("ftrial_kanyu_ymd") == null || "".equals(inMap.get("ftrial_kanyu_ymd")))
		{
			template.setNull(EKK0371D010CBSMsg.FTRIAL_KANYU_YMD);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.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(EKK0371D010CBSMsg.FTRIAL_PRD_ENDYMD);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.FTRIAL_PRD_ENDYMD, (String)inMap.get("ftrial_prd_endymd"));
		}

		// オプションサービス契約＜電話＞登録マップ.本加入年月日 → 本加入年月日
		if (inMap == null || inMap.get("honkanyu_ymd") == null || "".equals(inMap.get("honkanyu_ymd")))
		{
			template.setNull(EKK0371D010CBSMsg.HONKANYU_YMD);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.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(EKK0371D010CBSMsg.HONKANYU_IKO_KIGEN_YMD);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.HONKANYU_IKO_KIGEN_YMD, (String)inMap.get("honkanyu_iko_kigen_ymd"));
		}

		// オプションサービス契約＜電話＞登録マップ.サービス利用開始希望年月日 → サービス利用開始希望年月日
		if (inMap == null || inMap.get("svc_use_sta_kibo_ymd") == null || "".equals(inMap.get("svc_use_sta_kibo_ymd")))
		{
			template.setNull(EKK0371D010CBSMsg.SVC_USE_STA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.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(EKK0371D010CBSMsg.RSV_TSTA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.RSV_TSTA_KIBO_YMD, (String)inMap.get("rsv_tsta_kibo_ymd"));
		}

		// オプションサービス契約＜電話＞登録マップ.違約金発生コード → 違約金発生コード
		if (inMap == null || inMap.get("pnlty_hassei_cd") == null || "".equals(inMap.get("pnlty_hassei_cd")))
		{
			template.setNull(EKK0371D010CBSMsg.PNLTY_HASSEI_CD);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.PNLTY_HASSEI_CD, (String)inMap.get("pnlty_hassei_cd"));
		}

		// オプションサービス契約＜電話＞登録マップ.異動区分 → 異動区分
		if (inMap == null || inMap.get("ido_div") == null || "".equals(inMap.get("ido_div")))
		{
			template.setNull(EKK0371D010CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.IDO_DIV, (String)inMap.get("ido_div"));
		}

		// オプションサービス契約＜電話＞登録マップ.050オプション電話番号 → 050オプション電話番号
		if (inMap == null || inMap.get("n_050_op_telno") == null || "".equals(inMap.get("n_050_op_telno")))
		{
			template.setNull(EKK0371D010CBSMsg.N_050_OP_TELNO);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.N_050_OP_TELNO, (String)inMap.get("n_050_op_telno"));
		}

		// オプションサービス契約＜電話＞登録マップ.料金項目コード → 料金項目コード
		if (inMap == null || inMap.get("prc_kmk_cd") == null || "".equals(inMap.get("prc_kmk_cd")))
		{
			template.setNull(EKK0371D010CBSMsg.PRC_KMK_CD);
		}
		else
		{
			template.set(EKK0371D010CBSMsg.PRC_KMK_CD, (String)inMap.get("prc_kmk_cd"));
		}

		// IT1-2012-0001714 2012/10/31 S.Yano DEL-S
		// 電話登録時にはサービス契約番号を設定しない様に修正する
		//// 部品呼び出し → サービス契約番号
		//template.set(EKK0371D010CBSMsg.SVC_KEI_NO, com.fujitsu.futurity.bp.custom.common.JFUBPCommon.getBPValueString(param, "EKK0111D010",
		//		"svc_kei_no"));
		// IT1-2012-0001714 2012/10/31 S.Yano DEL-E

		// 部品呼び出し → サービス契約内訳番号
		template.set(EKK0371D010CBSMsg.SVC_KEI_UCWK_NO, com.fujitsu.futurity.bp.custom.common.JFUBPCommon.getBPListValueString(param, "EKK0191D010",
				"EKK0191D010List", index, "svc_kei_ucwk_no"));

		// 部品呼び出し → 申込明細番号
		//template.set(EKK0371D010CBSMsg.MSKM_DTL_NO, com.fujitsu.futurity.bp.custom.common.JFUBPCommon.getBPValueString(param, "EKK0011D010", "ekk0111_mskm_dtl_no"));
		// サービス契約＜ｅｏ光電話＞登録マップ.申込明細番号 → 申込明細番号
		if (inMap == null || inMap.get("mskm_dtl_no") == null || "".equals(inMap.get("mskm_dtl_no")))
		{
			String mskm_dtl_no = getMskmWorkMapValue(param, "ekk0111_mskm_dtl_no");
			if (mskm_dtl_no == null)
			{
				template.setNull(EKK0111D010CBSMsg.MSKM_DTL_NO);
				;
			}
			else
			{
				template.set(EKK0111D010CBSMsg.MSKM_DTL_NO, mskm_dtl_no);
			}
		}
		else
		{
			template.set(EKK0111D010CBSMsg.MSKM_DTL_NO, (String)inMap.get("mskm_dtl_no"));
		}

		// 部品呼び出し → 請求契約番号
		//template.set(EKK0371D010CBSMsg.SEIKY_KEI_NO, com.fujitsu.futurity.bp.custom.common.JFUBPCommon.getBPValueString(param, "EKK0491D010", "seiky_kei_no"));
		// 請求契約登録マップ.請求契約番号 → 請求契約番号
		if (inMap == null || inMap.get("seiky_kei_no") == null || "".equals(inMap.get("seiky_kei_no")))
		{
			String seiky_kei_no = getWorkMapValue(param, "seiky_kei_no", CC_WORK_AREA_NAME_SKK);
			if (seiky_kei_no == null)
			{
				template.setNull(EKK0371D010CBSMsg.SEIKY_KEI_NO);
				;
			}
			else
			{
				template.set(EKK0371D010CBSMsg.SEIKY_KEI_NO, seiky_kei_no);
			}
		}
		else
		{
			template.set(EKK0371D010CBSMsg.SEIKY_KEI_NO, (String)inMap.get("seiky_kei_no"));
		}

		// 部品呼び出し → 更新年月日時分秒(更新前)
		template.set(EKK0371D010CBSMsg.UPD_DTM_BF, com.fujitsu.futurity.bp.custom.common.JFUBPCommon
				.getBPValueString(param, "EKK0111D010", "upd_dtm"));

		// 部品呼び出し → 通話料指定額到達通知指定金額
		template.set(EKK0371D010CBSMsg.TWRYO_STIAM_TTU_TCHI_STIAM, com.fujitsu.futurity.bp.custom.common.JFUBPCommon.getBPListValueString(param,
				"EZM0321A010", "EZM0321A010CBSMsg1List", 0, "work_param_sette_value"));

		return template;
	}

	/**
	 * オプションサービス契約＜電話＞登録の下りマッピング処理 <br>
	 * 
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @return
	 * @throws Exception
	 */
	private IRequestParameterReadWrite editRetEKK0371D010(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText, int index)
			throws Exception
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		// リターンコード取得
		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 作業領域の取得
		Map workMap = (Map)param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}

		// 結果を詰めるマップを取得
		HashMap dataMap = null;
		ArrayList dataList = null;

		/* 業務データ設定 */
		dataMap = (HashMap)param.getData(fixedText);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}
		dataList = (ArrayList)dataMap.get("EKK0371D010TelList");
		if (dataList == null)
		{
			dataList = new ArrayList();
			dataMap.put("EKK0371D010TelList", dataList);
		}

		HashMap childMap = (HashMap)dataList.get(index);
		if (childMap == null)
		{
			childMap = new HashMap();
			dataList.add(index, childMap);
		}

		// オプションサービス契約＜電話＞登録マップ.オプションサービス契約番号 ← オプションサービス契約番号
		if (template.isNull(EKK0371D010CBSMsg.OP_SVC_KEI_NO))
		{
			childMap.put("op_svc_kei_no", new String());
		}
		else
		{
			childMap.put("op_svc_kei_no", template.getString(EKK0371D010CBSMsg.OP_SVC_KEI_NO));
		}

		// オプションサービス契約＜電話＞登録マップ.世代登録年月日時分秒（オプションサービス契約） ← 世代登録年月日時分秒(オプションサービス契約)
		if (template.isNull(EKK0371D010CBSMsg.KK0351_GENE_ADD_DTM))
		{
			childMap.put("kk0351_gene_add_dtm", new String());
		}
		else
		{
			childMap.put("kk0351_gene_add_dtm", template.getString(EKK0371D010CBSMsg.KK0351_GENE_ADD_DTM));
		}

		// オプションサービス契約＜電話＞登録マップ.オプションサービス契約ステータス ← オプションサービス契約ステータス
		if (template.isNull(EKK0371D010CBSMsg.OP_SVC_KEI_STAT))
		{
			childMap.put("op_svc_kei_stat", new String());
		}
		else
		{
			childMap.put("op_svc_kei_stat", template.getString(EKK0371D010CBSMsg.OP_SVC_KEI_STAT));
		}

		// オプションサービス契約＜電話＞登録マップ.予約適用年月日 ← 予約適用年月日
		if (template.isNull(EKK0371D010CBSMsg.RSV_APLY_YMD))
		{
			childMap.put("rsv_aply_ymd", new String());
		}
		else
		{
			childMap.put("rsv_aply_ymd", template.getString(EKK0371D010CBSMsg.RSV_APLY_YMD));
		}

		// オプションサービス契約＜電話＞登録マップ.予約適用コード ← 予約適用コード
		if (template.isNull(EKK0371D010CBSMsg.RSV_APLY_CD))
		{
			childMap.put("rsv_aply_cd", new String());
		}
		else
		{
			childMap.put("rsv_aply_cd", template.getString(EKK0371D010CBSMsg.RSV_APLY_CD));
		}

		// オプションサービス契約＜電話＞登録マップ.登録年月日時分秒 ← 登録年月日時分秒
		if (template.isNull(EKK0371D010CBSMsg.ADD_DTM))
		{
			childMap.put("add_dtm", new String());
		}
		else
		{
			childMap.put("add_dtm", template.getString(EKK0371D010CBSMsg.ADD_DTM));
		}

		// オプションサービス契約＜電話＞登録マップ.登録オペレータアカウント ← 登録オペレータアカウント
		if (template.isNull(EKK0371D010CBSMsg.ADD_OPEACNT))
		{
			childMap.put("add_opeacnt", new String());
		}
		else
		{
			childMap.put("add_opeacnt", template.getString(EKK0371D010CBSMsg.ADD_OPEACNT));
		}

		// オプションサービス契約＜電話＞登録マップ.更新年月日時分秒 ← 更新年月日時分秒
		if (template.isNull(EKK0371D010CBSMsg.UPD_DTM))
		{
			childMap.put("upd_dtm", new String());
		}
		else
		{
			childMap.put("upd_dtm", template.getString(EKK0371D010CBSMsg.UPD_DTM));
		}

		// オプションサービス契約＜電話＞登録マップ.更新オペレータアカウント ← 更新オペレータアカウント
		if (template.isNull(EKK0371D010CBSMsg.UPD_OPEACNT))
		{
			childMap.put("upd_opeacnt", new String());
		}
		else
		{
			childMap.put("upd_opeacnt", template.getString(EKK0371D010CBSMsg.UPD_OPEACNT));
		}

		// オプションサービス契約＜電話＞登録マップ.無効フラグ ← 無効フラグ
		if (template.isNull(EKK0371D010CBSMsg.MK_FLG))
		{
			childMap.put("mk_flg", new String());
		}
		else
		{
			childMap.put("mk_flg", template.getString(EKK0371D010CBSMsg.MK_FLG));
		}

		// オプションサービス契約＜電話＞登録マップ.世代登録年月日時分秒（オプションサービス契約＜電話＞） ← 世代登録年月日時分秒(オプションサービス契約<電話>)
		if (template.isNull(EKK0371D010CBSMsg.KK0371_GENE_ADD_DTM))
		{
			childMap.put("kk0371_gene_add_dtm", new String());
		}
		else
		{
			childMap.put("kk0371_gene_add_dtm", template.getString(EKK0371D010CBSMsg.KK0371_GENE_ADD_DTM));
		}

		// オプションサービス契約＜電話＞登録マップ.課金先番号 ← 課金先番号
		if (template.isNull(EKK0371D010CBSMsg.KAKINS_NO))
		{
			childMap.put("kakins_no", new String());
		}
		else
		{
			childMap.put("kakins_no", template.getString(EKK0371D010CBSMsg.KAKINS_NO));
		}

		// オプションサービス契約＜電話＞登録マップ.課金先適用開始年月日 ← 課金先適用開始年月日
		if (template.isNull(EKK0371D010CBSMsg.KAKINS_TSTAYMD))
		{
			childMap.put("kakins_tstaymd", new String());
		}
		else
		{
			childMap.put("kakins_tstaymd", template.getString(EKK0371D010CBSMsg.KAKINS_TSTAYMD));
		}

		// オプションサービス契約＜電話＞登録マップ.課金先適用終了年月日 ← 課金先適用終了年月日
		if (template.isNull(EKK0371D010CBSMsg.KAKINS_TENDYMD))
		{
			childMap.put("kakins_tendymd", new String());
		}
		else
		{
			childMap.put("kakins_tendymd", template.getString(EKK0371D010CBSMsg.KAKINS_TENDYMD));
		}

		// エラー情報の設定
		editErrInfoEKK0371D010(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 editErrInfoEKK0371D010(IRequestParameterReadWrite param, CAANMsg template, int returnCode, String fixedText,
			int index) throws RequestParameterException
	{
		int templateStatus = template.getInt(EKK0371D010CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;
		ArrayList inList = null;

		// 作業項目領域
		Map workMap = (Map)param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		if (inMap == null)
		{
			// MAPが無ければ作成
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}
		inList = (ArrayList)inMap.get("EKK0371D010TelList");
		if (inList == null)
		{
			// リストが無ければ作成
			inList = new ArrayList();
			inMap.put("EKK0371D010TelList", inList);
		}
		inMap = (HashMap)inList.get(index);
		if (inMap == null)
		{
			inMap = new HashMap();
			inList.add(index, inMap);
		}

		// オプションサービス契約＜電話＞登録マップ.オプションサービスコード → オプションサービスコード のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.OP_SVC_CD_ERR))
		{
			if (!inMap.containsKey("op_svc_cd_err"))
			{
				inMap.put("op_svc_cd_err", template.getString(EKK0371D010CBSMsg.OP_SVC_CD_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.料金コースコード → 料金コースコード のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.PCRS_CD_ERR))
		{
			if (!inMap.containsKey("pcrs_cd_err"))
			{
				inMap.put("pcrs_cd_err", template.getString(EKK0371D010CBSMsg.PCRS_CD_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.料金プランコード → 料金プランコード のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.PPLAN_CD_ERR))
		{
			if (!inMap.containsKey("pplan_cd_err"))
			{
				inMap.put("pplan_cd_err", template.getString(EKK0371D010CBSMsg.PPLAN_CD_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.親契約識別コード → 親契約識別コード のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.OYA_KEI_SKBT_CD_ERR))
		{
			if (!inMap.containsKey("oya_kei_skbt_cd_err"))
			{
				inMap.put("oya_kei_skbt_cd_err", template.getString(EKK0371D010CBSMsg.OYA_KEI_SKBT_CD_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.SYSID → SYSID のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.SYSID_ERR))
		{
			if (!inMap.containsKey("sysid_err"))
			{
				inMap.put("sysid_err", template.getString(EKK0371D010CBSMsg.SYSID_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.試用加入年月日 → 試用加入年月日 のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.FTRIAL_KANYU_YMD_ERR))
		{
			if (!inMap.containsKey("ftrial_kanyu_ymd_err"))
			{
				inMap.put("ftrial_kanyu_ymd_err", template.getString(EKK0371D010CBSMsg.FTRIAL_KANYU_YMD_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.試用期間終了年月日 → 試用期間終了年月日 のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.FTRIAL_PRD_ENDYMD_ERR))
		{
			if (!inMap.containsKey("ftrial_prd_endymd_err"))
			{
				inMap.put("ftrial_prd_endymd_err", template.getString(EKK0371D010CBSMsg.FTRIAL_PRD_ENDYMD_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.本加入年月日 → 本加入年月日 のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.HONKANYU_YMD_ERR))
		{
			if (!inMap.containsKey("honkanyu_ymd_err"))
			{
				inMap.put("honkanyu_ymd_err", template.getString(EKK0371D010CBSMsg.HONKANYU_YMD_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.本加入移行期限年月日 → 本加入移行期限年月日 のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR))
		{
			if (!inMap.containsKey("honkanyu_iko_kigen_ymd_err"))
			{
				inMap.put("honkanyu_iko_kigen_ymd_err", template.getString(EKK0371D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.サービス利用開始希望年月日 → サービス利用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.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(EKK0371D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.予約適用開始希望年月日 → 予約適用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey("rsv_tsta_kibo_ymd_err"))
			{
				inMap.put("rsv_tsta_kibo_ymd_err", template.getString(EKK0371D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.違約金発生コード → 違約金発生コード のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.PNLTY_HASSEI_CD_ERR))
		{
			if (!inMap.containsKey("pnlty_hassei_cd_err"))
			{
				inMap.put("pnlty_hassei_cd_err", template.getString(EKK0371D010CBSMsg.PNLTY_HASSEI_CD_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.異動区分 → 異動区分 のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey("ido_div_err"))
			{
				inMap.put("ido_div_err", template.getString(EKK0371D010CBSMsg.IDO_DIV_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.050オプション電話番号 → 050オプション電話番号 のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.N_050_OP_TELNO_ERR))
		{
			if (!inMap.containsKey("n_050_op_telno_err"))
			{
				inMap.put("n_050_op_telno_err", template.getString(EKK0371D010CBSMsg.N_050_OP_TELNO_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.通話料指定額到達通知指定金額 → 通話料指定額到達通知指定金額 のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.TWRYO_STIAM_TTU_TCHI_STIAM_ERR))
		{
			if (!inMap.containsKey("twryo_stiam_ttu_tchi_stiam_err"))
			{
				inMap.put("twryo_stiam_ttu_tchi_stiam_err", template.getString(EKK0371D010CBSMsg.TWRYO_STIAM_TTU_TCHI_STIAM_ERR));
			}
		}
		// オプションサービス契約＜電話＞登録マップ.料金項目コード → 料金項目コード のエラー情報返却
		if (!template.isNull(EKK0371D010CBSMsg.PRC_KMK_CD_ERR))
		{
			if (!inMap.containsKey("prc_kmk_cd_err"))
			{
				inMap.put("prc_kmk_cd_err", template.getString(EKK0371D010CBSMsg.PRC_KMK_CD_ERR));
			}
		}

		return param;
	}

	// ST1-2013-0000487 2013/03/21 Otsuka start
	/**
	 * 緊急通報用カナ名ドメインチェックを行います
	 * @param emgKshKana 緊急通報用氏名カナ
	 */
	public String chkAndCnvEmgKshKana(String emgKshKana)
	{
		if (emgKshKana != null && !"".equals(emgKshKana))
		{
			// 緊急通報用氏名カナドメインチェック
			if (!MixCharCheck.isEmgEnNumKanaCheck(emgKshKana) || JPCConvertString.convFullToHalfByKata(emgKshKana).length() > 36)
			{
				// ドメインエラーの場合はNULLを返却します。
				return null;
			}
		}
		return emgKshKana;
	}
	// ST1-2013-0000487 2013/03/21 Otsuka end
}
