/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKKUpdSvcKeiNetCC
*   ソースファイル名：JKKUpdSvcKeiNetCC.java
*   作成者          ：富士通
*   日付            ：2011年06月21日
*＜機能概要＞
*   eo光ネット変更部品
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/06/21   FJ）松田    新規作成
*   v4.00.00    2012/07/09   FJ) 三浦    【ANK-0397-00-00】申込書番号の発番検討における対応
*   V4.00.00    2012/08/09   FJ) 渡邉    【ANK-0392-00-00】eo光ネット長期継続利用割引契約対応
*   v4.00.00    2012/09/14   FJ) 谷口    【ANK-0546-00-00】宅内ＰＦ
*   v4.00.00    2012/10/16   FJ）松田    【ANK-1199-00-00】申込書明細番号の自動発番について
*   v4.01.00	2012/12/18   FJ) 多田    【ST4-2012-0000132】申込情報検索レスポンス対応
*   v5.00.00    2013/07/04   FJ) 中山    【IT2-2013-0000579】割賦契約の更新の修正
*   v7.00.00    2013/11/05   FJ) 高橋    【ANK-1578-00-00】多機能ルーター（機器追加）
*   v9.00.00    2014/04/23   FJ) 高橋    【ANK-2054-00-00】スマートリンク端末補償
*   v9.01.00    2014/05/27   FJ) 中山    【OM-2014-0001912】EKK2811C240_機器オプションサービス契約手続中料金プラン変更のI/Fの変更対応
*   v31.00.00   2017/11/30   FJ) 麻生    【ANK-3136-00-00】OPMSハードウエア保守切れ対応(STEP2-2)
*   v52.00.00	2021/01/06	 FJ) 西窪	 【ANK-3987-00-00】Netflix導入対応（STEP2）
*   v54.00.00	2021/08/23	 FJ) 平野	 【ANK-4096-00-00】宅調宅工同時実施のための聞取り強化対応
*   v56.00.00	2021/12/10	 FJ) 杉本	 【ANK-4174-00-00】開通前マイページ関連業務改善（2022年1月下旬リリース）
*   v57.00.00	2021/02/04	 FJ) 吉村	 【ANK-4088-00-00】宅内調査の日程調整業務における省人化施策(Step2)
*   v73.00.00	2024/10/25	 FJ) 舘山	 【ANK-4427-00-00】NTT卸対応
*	v75.00.00	2025/02/19	 FJ) 寺田	 【ANK-4640-00-00】typeN：追加要件対応
**********************************************************************/
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 eo.common.constant.JKKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.ejb.cbs.cbsmsg.EKK0021C040CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081C100CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0091C040CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0091D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161C160CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0171D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C330CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0391D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451C070CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811C110CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811C240CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811D010CBSMsg;

/**
 * eo光ネット変更部品
 * <br>
 * @author 富士通
 */
public class JKKUpdSvcKeiNetCC extends AbstractCommonComponent
{
	/** リターンメッセージ */
	private static final String RETURN_MESSAGE_STRING = "RETURN_MESSAGE_";
	/** リターンメッセージ */
	private static final String RETURN_MESSAGE_FORMAT = "%1$04d";
	/** エラー用 */
	private static final String SC_ERROR_STRING = "サービスコンポーネントエラー";
	/** 作業マップ名 */
	private static final String CC_WORK_AREA_NAME = "JKKUpdSvcKeiNetCCWork";
	/** 機器提供サービス契約登録リスト名 */
	private static final String KIKI_ADD_LIST = "kktk_add_list";
	/** 機器提供サービス契約変更リスト名 */
	private static final String KIKI_UPD_LIST = "kktk_update_list";
	/** 機器提供サービス契約キャンセルリスト名 */
	private static final String KIKI_CANCEL_LIST = "kktk_cancel_list";
	/** 機器オプションサービス契約登録リスト名 */
	private static final String KKOP_ADD_LIST = "kkop_add_list";
	/** 機器オプションサービス契約手続中料金プラン変更リスト名 */
	private static final String KKOP_UPD_LIST = "kkop_upd_list";
	/** 機器オプションサービス契約キャンセルリスト名 */
	private static final String KKOP_CANCEL_LIST = "kkop_cancel_list";
	/** 割引サービス契約キャンセルリスト名 */
	private static final String WRIB_CANCEL_LIST = "wrib_cancel_list";
	/** 割引サービス契約登録リスト名 */
	private static final String WRIB_ADD_LIST = "wrib_add_list";
	/** 割賦契約登録リスト名 */
	private static final String KAP_ADD_LIST = "kap_add_list";
	/** サービス契約内訳＜eo光ネット＞登録用プレフィックス */
	private static final String PREFIX_NET_UCWK = "kk0171_";
	/** 割引サービス契約登録用プレフィックス */
	private static final String PREFIX_WRIB = "kk0451_";
	/** 機器提供サービス契約登録用プレフィックス */
	private static final String PREFIX_KIKI_ADD = "kk0341_";
	/** 機器オプションサービス契約登録用プレフィックス */
	private static final String PREFIX_KKOP_ADD = "kk281102_";
	/** 機器オプションサービス契約手続中料金プラン変更用プレフィックス */
	private static final String PREFIX_KKOP_UPD = "kk281103_";
	/** 機器オプションサービス契約キャンセル用プレフィックス */
	private static final String PREFIX_KKOP_CANCEL = "kk281101_";

	/** 割引サービス契約自動登録マップ */
	private static final String CC_WORK_AREA_NAME_KKSV008028 = "KKSV008028CC";
	/** 割引サービス契約自動登録マップ */
	private static final String CC_WORK_AREA_NAME_KKSV008253 = "KKSV008253CC";

	/** サービス契約番号 */
	private String svcKeiNo = null;
	/** 申込明細番号 */
	private String mskmDtlNo = null;

	/**
	 * eo光ネット変更処理を行います。
	 * <br>
	 * @param handle
	 * @param param リクエストパラメータ
	 * @param fixedText
	 * @return リクエストパラメータ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite updSvcKeiNet(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		HashMap<String, Object> paramMap = setSCInputCommonData(param, new HashMap<String, Object>());
		Map<?, ?> result = null;
		CAANMsg template = null;

		HashMap inMap = (HashMap)param.getData(fixedText);

		// マップに値が設定されていない場合は処理を行わない。
		if (inMap == null)
		{
			return param;
		}

		// 申込明細情報変更
		template = editInEKK0021C040(param, fixedText); // 上りマッピング
		result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
		editRetEKK0021C040(result, param, fixedText); // 下りマッピング
		if (getReturnCode(param) >= JPCModelConstant.SINGLEDATA_ERR)
		{ // ステータスが単項目エラー以上であれば例外をスロー
			throw new CCException(SC_ERROR_STRING, new Exception());
		}

		if (getMapValue(param, fixedText, "kk0081_svc_kei_no") != null)
		{
			// サービス契約手続中料金プラン変更
			template = editInEKK0081C100(param, fixedText); // 上りマッピング
			result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
			editRetEKK0081C100(result, param, fixedText); // 下りマッピング
			if (getReturnCode(param) >= JPCModelConstant.SINGLEDATA_ERR)
			{ // ステータスが単項目エラー以上であれば例外をスロー
				throw new CCException(SC_ERROR_STRING, new Exception());
			}
		}

		if (getMapValue(param, fixedText, "kk0161_svc_kei_ucwk_no") != null)
		{
			// サービス契約内訳キャンセル
			template = editInEKK0161C160(param, fixedText); // 上りマッピング
			result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
			editRetEKK0161C160(result, param, fixedText); // 下りマッピング
			if (getReturnCode(param) >= JPCModelConstant.SINGLEDATA_ERR)
			{ // ステータスが単項目エラー以上であれば例外をスロー
				throw new CCException(SC_ERROR_STRING, new Exception());
			}

			// サービス契約内訳＜eo光ネット＞登録
			template = editInEKK0171D010(param, fixedText, PREFIX_NET_UCWK); // 上りマッピング
			result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
			editRetEKK0171D010(result, param, fixedText, PREFIX_NET_UCWK); // 下りマッピング
			if (getReturnCode(param) >= JPCModelConstant.SINGLEDATA_ERR)
			{ // ステータスが単項目エラー以上であれば例外をスロー
				throw new CCException(SC_ERROR_STRING, new Exception());
			}
		}

		int devCnt = 0;
		
		if(null != inMap.get(KIKI_CANCEL_LIST))
		{
			devCnt = ((ArrayList)inMap.get(KIKI_CANCEL_LIST)).size();
			for (int i = 0; i < devCnt; i++)
			{
				// 機器提供サービス契約キャンセル
				template = editInEKK0341C330(param, fixedText, i); // 上りマッピング
				result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
				editRetEKK0341C330(result, param, fixedText, i); // 下りマッピング
				if (getReturnCode(param) >= JPCModelConstant.SINGLEDATA_ERR)
				{ // ステータスが単項目エラー以上であれば例外をスロー
					throw new CCException(SC_ERROR_STRING, new Exception());
				}
			}
		}

		ArrayList dataList = null;
		if(null != inMap.get(KIKI_ADD_LIST))
		{
			dataList = (ArrayList)inMap.get(KIKI_ADD_LIST);
			devCnt = dataList.size();
			for (int i = 0; i < devCnt; i++)
			{
				// 機器提供サービス契約登録
				editInKktkSvcKei(param, fixedText, i, KIKI_ADD_LIST, PREFIX_KIKI_ADD);
				JKKBpCommon.addKktkSvcKei(handle, param, (HashMap)dataList.get(i), PREFIX_KIKI_ADD);
				editOutKktkSvcKei(param, fixedText, i, KIKI_ADD_LIST, PREFIX_KIKI_ADD);
			}
		}

		if (null != inMap.get(KIKI_UPD_LIST))
		{
			dataList = (ArrayList)inMap.get(KIKI_UPD_LIST);
			devCnt = dataList.size();
			HashMap mp = null;
			for (int i = 0; i < devCnt; i++)
			{
				mp = (HashMap)dataList.get(i);
				if(0 == mp.size())
				{
					continue;
				}
				
				// 機器提供サービス契約変更
				editInKktkSvcKei(param, fixedText, i, KIKI_UPD_LIST, "");
				JKKBpCommon.updKktkSvcKei(handle, param, (HashMap)dataList.get(i), "");
				editOutKktkSvcKei(param, fixedText, i, KIKI_UPD_LIST, "");
			}
		}

		if(null != inMap.get(KKOP_CANCEL_LIST))
		{
			dataList = (ArrayList<HashMap<String, Object>>)inMap.get(KKOP_CANCEL_LIST);
			devCnt = dataList.size();
			for (int i = 0; i < devCnt; i++)
			{
				// 機器オプションサービス契約キャンセル
				template = editInEKK2811C110Msg(param, fixedText, i, KKOP_CANCEL_LIST, PREFIX_KKOP_CANCEL); // 上りマッピング
				result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
				editOutEKK2811C110Msg(result, param, fixedText, i, KKOP_CANCEL_LIST, PREFIX_KKOP_CANCEL); // 下りマッピング
				if (getReturnCode(param) >= JPCModelConstant.SINGLEDATA_ERR)
				{ // ステータスが単項目エラー以上であれば例外をスロー
					throw new CCException(SC_ERROR_STRING, new Exception());
				}
			}
		}

		if(null != inMap.get(KKOP_ADD_LIST))
		{
			dataList = (ArrayList<HashMap<String, Object>>)inMap.get(KKOP_ADD_LIST);
			devCnt = dataList.size();
			for (int i = 0; i < devCnt; i++)
			{
				// 機器オプションサービス契約登録
				template = editInEKK2811D010Msg(param, fixedText, i, KKOP_ADD_LIST, PREFIX_KKOP_ADD); // 上りマッピング
				result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
				editOutEKK2811D010Msg(result, param, fixedText, i, KKOP_ADD_LIST, PREFIX_KKOP_ADD); // 下りマッピング
				if (getReturnCode(param) >= JPCModelConstant.SINGLEDATA_ERR)
				{ // ステータスが単項目エラー以上であれば例外をスロー
					throw new CCException(SC_ERROR_STRING, new Exception());
				}
			}
		}

		if(null != inMap.get(KKOP_UPD_LIST))
		{
			dataList = (ArrayList<HashMap<String, Object>>)inMap.get(KKOP_UPD_LIST);
			devCnt = dataList.size();
			for (int i = 0; i < devCnt; i++)
			{
				// 機器オプションサービス契約手続中料金プラン変更
				template = editInEKK2811C240Msg(param, fixedText, i, KKOP_UPD_LIST, PREFIX_KKOP_UPD); // 上りマッピング
				result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
				editOutEKK2811C240Msg(result, param, fixedText, i, KKOP_UPD_LIST, PREFIX_KKOP_UPD); // 下りマッピング
				if (getReturnCode(param) >= JPCModelConstant.SINGLEDATA_ERR)
				{ // ステータスが単項目エラー以上であれば例外をスロー
					throw new CCException(SC_ERROR_STRING, new Exception());
				}
			}
		}

		// オプションサービス契約キャンセル部品呼び出し
		JKKBpCommon.cancelOpSvcKei(handle, param, fixedText, (String)inMap.get("kk0081_svc_kei_no"));
		
// ANK-4427-00-00 ADD START
		// オプションサービス契約更新部品呼び出し
		JKKBpCommon.updOpSvcKeiISP(handle, param, fixedText, (String)inMap.get("kk0081_svc_kei_no"));
		
// ANK-4427-00-00 ADD END
		// オプションサービス契約<ISP>登録部品呼び出し
		JKKBpCommon.addOpSvcKeiISP(handle, param, fixedText, (String)inMap.get("kk0081_svc_kei_no"));

		if (getMapValue(param, fixedText, "kk0391_op_svc_cd") != null)
		{
			// オプションサービス契約<サポート>登録（リモートサポートプラス用）
			template = editInEKK0391D010(param, fixedText); // 上りマッピング
			result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
			editRetEKK0391D010(result, param, fixedText); // 下りマッピング
			if (getReturnCode(param) >= JPCModelConstant.SINGLEDATA_ERR)
			{ // ステータスが単項目エラー以上であれば例外をスロー
				throw new CCException(SC_ERROR_STRING, new Exception());
			}
		}

		if (getMapValue(param, fixedText, "kk0091_svc_kei_no") != null)
		{
			// サービス契約<eo光ネット>情報変更（審査結果用）
			template = editInEKK0091C040(param, fixedText); // 上りマッピング
			result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
			editRetEKK0091C040(result, param, fixedText); // 下りマッピング
			if (getReturnCode(param) >= JPCModelConstant.SINGLEDATA_ERR)
			{ // ステータスが単項目エラー以上であれば例外をスロー
				throw new CCException(SC_ERROR_STRING, new Exception());
			}
		}

		if(null != inMap.get(WRIB_CANCEL_LIST))
		{
			devCnt = ((ArrayList)inMap.get(WRIB_CANCEL_LIST)).size();
			for (int i = 0; i < devCnt; i++)
			{
				// 割引サービス契約キャンセル
				template = editInEKK0451C070(param, fixedText, i); // 上りマッピング
				result = scCall.run(putParamMap(paramMap, template), handle); // SC呼び出し
				editRetEKK0451C070(result, param, fixedText, i); // 下りマッピング
				if (getReturnCode(param) >= JPCModelConstant.SINGLEDATA_ERR)
				{ // ステータスが単項目エラー以上であれば例外をスロー
					throw new CCException(SC_ERROR_STRING, new Exception());
				}
			}
		}

		if(null != inMap.get(WRIB_ADD_LIST))
		{
			dataList = (ArrayList)inMap.get(WRIB_ADD_LIST);
			devCnt = ((ArrayList)inMap.get(WRIB_ADD_LIST)).size();
			for (int i = 0; i < devCnt; i++)
			{
				// 割引サービス契約登録
				editInAddWribSvcKei(param, fixedText, i, WRIB_ADD_LIST, PREFIX_WRIB); // 上りマッピング
				JKKBpCommon.addWribSvcKei(handle, param, (HashMap)dataList.get(i), PREFIX_WRIB); // SC呼び出し
				editOutAddWribSvcKei(param, fixedText, i, WRIB_ADD_LIST, PREFIX_WRIB); // 下りマッピング
			}
		}

		// 割賦契約キャンセル部品呼び出し
		JKKBpCommon.cancelKapKei(handle, param, fixedText);

		// 割賦契約登録部品呼び出し
		editInAddkapKei(param, fixedText);
		JKKBpCommon.addKapKei(handle, param, fixedText);

		// 割賦契約変更部品呼び出し
		JKKBpCommon.updKapKei(handle, param, fixedText);
		
// ANK-3987-00-00 ADD START
		// 端末購入通知書情報登録部品呼び出し
		editInAddTmknTshoInf(param, fixedText);
		JKKBpCommon.addTmknTshoInf(handle, param, fixedText);

		// 端末購入通知書情報変更部品呼び出し
		JKKBpCommon.updTmknTshoInf(handle, param, fixedText);
// ANK-3987-00-00 ADD END

		// 個別照査情報補正部品呼び出し
		JKKBpCommon.hoseiKbtShosaInfo(handle, param, fixedText);

		// ファミリーパック自動登録用マッピング
		setFamipaData(param);

		return param;
	}

	/**
	 * SCの実行ステータスの取得処理を行います。
	 * <br>
	 * @param param リクエストパラメータ
	 * @return SCの実行ステータス
	 * @throws Exception
	 */
	private int getReturnCode(IRequestParameterReadWrite param) throws Exception
	{
		return Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
	}

	/**
	 * CAANMsgに必要なデータのマッピング処理を行います。
	 * <br>
	 * @param handle
	 * @param param リクエストパラメータ
	 * @param fixedText 
	 * @return パラメータマップ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> getInvokeCBS(SessionHandle handle, IRequestParameterReadWrite param, String fixedText)
			throws RequestParameterException
	{
		ArrayList<CAANMsg> msgList = new ArrayList<CAANMsg>();

		HashMap checkMap = (HashMap)param.getData(fixedText);

		// マップに値が設定されていない場合は処理を行わない。
		if (checkMap == null)
		{
			return null;
		}

		// 申込明細情報変更
		msgList.add(editInEKK0021C040(param, fixedText));

		if (getMapValue(param, fixedText, "kk0081_svc_kei_no") != null)
		{
			// サービス契約手続中料金プラン変更
			msgList.add(editInEKK0081C100(param, fixedText)); // 上りマッピング
		}

		if (getMapValue(param, fixedText, "kk0161_svc_kei_ucwk_no") != null)
		{
			// サービス契約内訳キャンセル
			msgList.add(editInEKK0161C160(param, fixedText)); // 上りマッピング
			// サービス契約内訳＜eo光ネット＞登録
			msgList.add(editInEKK0171D010(param, fixedText, PREFIX_NET_UCWK)); // 上りマッピング
		}

		HashMap inMap = (HashMap)param.getData(fixedText);

		int devCnt = 0;
		if(null != inMap.get(KIKI_CANCEL_LIST))
		{
			devCnt = ((ArrayList)inMap.get(KIKI_CANCEL_LIST)).size();
			for (int i = 0; i < devCnt; i++)
			{
				// 機器提供サービス契約キャンセル
				msgList.add(editInEKK0341C330(param, fixedText, i)); // 上りマッピング
			}
		}

		if (getMapValue(param, fixedText, "kk0391_op_svc_cd") != null)
		{
			// オプションサービス契約<サポート>登録（リモートサポートプラス用）
			msgList.add(editInEKK0391D010(param, fixedText)); // 上りマッピング
		}

		if (getMapValue(param, fixedText, "kk0091_svc_kei_no") != null)
		{
			// サービス契約<eo光ネット>情報変更
			msgList.add(editInEKK0091C040(param, fixedText)); // 上りマッピング
		}

		if(null != inMap.get(WRIB_CANCEL_LIST))
		{
			devCnt = ((ArrayList)inMap.get(WRIB_CANCEL_LIST)).size();
			for (int i = 0; i < devCnt; i++)
			{
				// 割引サービス契約キャンセル
				msgList.add(editInEKK0451C070(param, fixedText, i)); // 上りマッピング
			}
		}

		int msgCnt = msgList.size();
		CAANMsg[] templates = new CAANMsg[msgCnt];
		for (int i = 0; i < msgCnt; i++)
		{
			templates[i] = msgList.get(i);
		}

		HashMap<String, Object> paramMap = setSCInputCommonData(param, new HashMap<String, Object>());
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * リクエストパラメータのキーに対応する値を返却します。
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText
	 * @param key 取得する値のキー
	 * @return 取得した値
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private String getMapValue(IRequestParameterReadWrite param, String fixedText, String key) throws RequestParameterException
	{
		HashMap inMap = (HashMap)(param.getData(fixedText));
		String result = (String)inMap.get(key);
		if ("".equals(result))
		{
			result = null;
		}

		return result;
	}

	/**
	 * 作業マップの値を取得します。
	 * 
	 * <br>
	 * @param param
	 * @param key
	 * @return 取得した値
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private String getWorkMapValue(IRequestParameterReadWrite param, String key) throws RequestParameterException
	{
		// 作業領域の取得
		Map workMap = param.getMappingWorkArea();

		HashMap inMap = null;
		/* 作業項目情報 */
		if (workMap != null)
		{
			inMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);
		}

		String result = null;
		if (inMap != null)
		{
			result = (String)inMap.get(key);
		}

		if ("".equals(result))
		{
			result = null;
		}

		return result;
	}

	/**
	 * 単一CAANMsgのマッピング処理です。
	 * <br>
	 * @param paramMap
	 * @param template
	 * @return パラメータマップ
	 * @throws RequestParameterException
	 */
	private HashMap<String, Object> putParamMap(HashMap<String, Object> paramMap, CAANMsg template) throws RequestParameterException
	{
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * SCインプット共通データ設定処理です。
	 * <br>
	 * @param param
	 * @param paramMap
	 * @return パラメータマップ
	 * @throws RequestParameterException
	 */
	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;
	}

	/**
	 * サービス契約手続中料金プラン変更の上りマッピング処理を行います。
	 * <br>
	 * @param param
	 * @param fixedText
	 * @return CAANMsg
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg editInEKK0081C100(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0081C100CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0081C100CBSMsg.TEMPLATEID, "EKK0081C100");

		// 機能コード（デフォルト：１）
		template.set(EKK0081C100CBSMsg.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);

		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機能コード
		if (inMap != null)
		{
			template.set(EKK0081C100CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		// サービス契約番号 → サービス契約手続中料金プラン変更.サービス契約番号
		if (inMap == null || inMap.get("kk0081_svc_kei_no") == null || "".equals(inMap.get("kk0081_svc_kei_no")))
		{
			template.setNull(EKK0081C100CBSMsg.SVC_KEI_NO);
		}
		else
		{
			template.set(EKK0081C100CBSMsg.SVC_KEI_NO, (String)inMap.get("kk0081_svc_kei_no"));
		}

		// 申込明細番号 → サービス契約手続中料金プラン変更.申込明細番号
		if (inMap == null || inMap.get("kk0081_mskm_dtl_no") == null || "".equals(inMap.get("kk0081_mskm_dtl_no")))
		{
			template.setNull(EKK0081C100CBSMsg.MSKM_DTL_NO);
		}
		else
		{
			template.set(EKK0081C100CBSMsg.MSKM_DTL_NO, (String)inMap.get("kk0081_mskm_dtl_no"));
		}

		// 料金グループコード → サービス契約手続中料金プラン変更.料金グループコード
		if (inMap == null || inMap.get("kk0081_prc_grp_cd") == null || "".equals(inMap.get("kk0081_prc_grp_cd")))
		{
			template.setNull(EKK0081C100CBSMsg.PRC_GRP_CD);
		}
		else
		{
			template.set(EKK0081C100CBSMsg.PRC_GRP_CD, (String)inMap.get("kk0081_prc_grp_cd"));
		}

		// 料金コースコード → サービス契約手続中料金プラン変更.料金コースコード
		if (inMap == null || inMap.get("kk0081_pcrs_cd") == null || "".equals(inMap.get("kk0081_pcrs_cd")))
		{
			template.setNull(EKK0081C100CBSMsg.PCRS_CD);
		}
		else
		{
			template.set(EKK0081C100CBSMsg.PCRS_CD, (String)inMap.get("kk0081_pcrs_cd"));
		}

		// 料金プランコード → サービス契約手続中料金プラン変更.料金プランコード
		if (inMap == null || inMap.get("kk0081_pplan_cd") == null || "".equals(inMap.get("kk0081_pplan_cd")))
		{
			template.setNull(EKK0081C100CBSMsg.PPLAN_CD);
		}
		else
		{
			template.set(EKK0081C100CBSMsg.PPLAN_CD, (String)inMap.get("kk0081_pplan_cd"));
		}

		// 提供方式契約番号 → サービス契約手続中料金プラン変更.提供方式契約番号
		if (inMap == null || inMap.get("kk0081_tk_hoshiki_kei_no") == null || "".equals(inMap.get("kk0081_tk_hoshiki_kei_no")))
		{
			template.setNull(EKK0081C100CBSMsg.TK_HOSHIKI_KEI_NO);
		}
		else
		{
			template.set(EKK0081C100CBSMsg.TK_HOSHIKI_KEI_NO, (String)inMap.get("kk0081_tk_hoshiki_kei_no"));
		}


		// 違約金発生コード → サービス契約手続中料金プラン変更.違約金発生コード
		if (inMap == null || inMap.get("kk0081_pnlty_hassei_cd") == null || "".equals(inMap.get("kk0081_pnlty_hassei_cd")))
		{
			template.setNull(EKK0081C100CBSMsg.PNLTY_HASSEI_CD);
		}
		else
		{
			template.set(EKK0081C100CBSMsg.PNLTY_HASSEI_CD, (String)inMap.get("kk0081_pnlty_hassei_cd"));
		}

		// 更新年月日時分秒(更新前) → サービス契約手続中料金プラン変更.更新年月日時分秒(更新前)
		if (inMap == null || inMap.get("kk0081_upd_dtm_bf") == null || "".equals(inMap.get("kk0081_upd_dtm_bf")))
		{
			template.setNull(EKK0081C100CBSMsg.UPD_DTM_BF);
		}
		else
		{
			String lastDtm = JKKBpCommon.getLastDtmBySvcKeiNo(param, (String)inMap.get("kk0081_svc_kei_no"),
					(String)inMap.get("kk0081_upd_dtm_bf"));
			template.set(EKK0081C100CBSMsg.UPD_DTM_BF, lastDtm);
		}

		return template;
	}

	/**
	 * 機器提供サービス契約キャンセルの上りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @param index
	 * @return CAANMsg
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg editInEKK0341C330(IRequestParameterReadWrite param, String fixedText, int index) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0341C330CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0341C330CBSMsg.TEMPLATEID, "EKK0341C330");

		// 機能コード（デフォルト：１）
		template.set(EKK0341C330CBSMsg.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);

		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機能コード
		if (inMap != null)
		{
			template.set(EKK0341C330CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		ArrayList inList = (ArrayList)((HashMap)param.getData(fixedText)).get(KIKI_CANCEL_LIST);
		if (inList != null)
		{
			inMap = (HashMap)inList.get(index);
		}

		// 機器提供サービス契約キャンセル.機器提供サービス契約番号（機器提供サービス契約） → 機器提供サービス契約番号
		if (inMap == null || inMap.get("kk0341_kktk_svc_kei_no") == null || "".equals(inMap.get("kk0341_kktk_svc_kei_no")))
		{
			template.setNull(EKK0341C330CBSMsg.KKTK_SVC_KEI_NO);
		}
		else
		{
			template.set(EKK0341C330CBSMsg.KKTK_SVC_KEI_NO, (String)inMap.get("kk0341_kktk_svc_kei_no"));
		}

		// 機器提供サービス契約キャンセル.申込明細番号（機器提供サービス契約） → 申込明細番号
		if (inMap == null || inMap.get("kk0341_mskm_dtl_no") == null || "".equals(inMap.get("kk0341_mskm_dtl_no")))
		{
			template.setNull(EKK0341C330CBSMsg.MSKM_DTL_NO);
		}
		else
		{
			template.set(EKK0341C330CBSMsg.MSKM_DTL_NO, (String)inMap.get("kk0341_mskm_dtl_no"));
		}

		// 機器提供サービス契約キャンセル.サービスキャンセル理由コード（機器提供サービス契約） → サービスキャンセル理由コード
		if (inMap == null || inMap.get("kk0341_svc_cancel_rsn_cd") == null || "".equals(inMap.get("kk0341_svc_cancel_rsn_cd")))
		{
			template.setNull(EKK0341C330CBSMsg.SVC_CANCEL_RSN_CD);
		}
		else
		{
			template.set(EKK0341C330CBSMsg.SVC_CANCEL_RSN_CD, (String)inMap.get("kk0341_svc_cancel_rsn_cd"));
		}

		// 機器提供サービス契約キャンセル.異動区分（機器提供サービス契約） → 異動区分
		if (inMap == null || inMap.get("kk0341_ido_div") == null || "".equals(inMap.get("kk0341_ido_div")))
		{
			template.setNull(EKK0341C330CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK0341C330CBSMsg.IDO_DIV, (String)inMap.get("kk0341_ido_div"));
		}

		HashMap svcMap = (HashMap)param.getData(fixedText);

		// 機器提供サービス契約キャンセル.更新年月日時分秒（更新前）（機器提供サービス契約） → 更新年月日時分秒(更新前)
		if (inMap == null || inMap.get("kk0341_upd_dtm_bf") == null || "".equals(inMap.get("kk0341_upd_dtm_bf")))
		{
			template.setNull(EKK0341C330CBSMsg.UPD_DTM_BF);
		}
		else
		{
			String lastDtm = JKKBpCommon.getLastDtmBySvcKeiNo(param, (String)svcMap.get("kk0081_svc_kei_no"),
					(String)inMap.get("kk0341_upd_dtm_bf"));
			template.set(EKK0341C330CBSMsg.UPD_DTM_BF, lastDtm);
		}

		return template;
	}

	/**
	 * オプションサービス契約<サポート>登録の上りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @return CAANMsg
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg editInEKK0391D010(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0391D010CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0391D010CBSMsg.TEMPLATEID, "EKK0391D010");

		// 機能コード（デフォルト：１）
		template.set(EKK0391D010CBSMsg.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);

		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機能コード
		if (inMap != null)
		{
			template.set(EKK0391D010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		// サービス契約番号
		if (inMap == null || inMap.get("kk0391_svc_kei_no") == null || "".equals(inMap.get("kk0391_svc_kei_no")))
		{
			template.setNull(EKK0391D010CBSMsg.SVC_KEI_NO);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.SVC_KEI_NO, (String)inMap.get("kk0391_svc_kei_no"));
		}

		// 申込明細番号
		if (inMap == null || inMap.get("kk0391_mskm_dtl_no") == null || "".equals(inMap.get("kk0391_mskm_dtl_no")))
		{
			template.setNull(EKK0391D010CBSMsg.MSKM_DTL_NO);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.MSKM_DTL_NO, (String)inMap.get("kk0391_mskm_dtl_no"));
		}

		// オプションサービスコード → オプションサービス契約<サポート>登録.オプションサービスコード
		if (inMap == null || inMap.get("kk0391_op_svc_cd") == null || "".equals(inMap.get("kk0391_op_svc_cd")))
		{
			template.setNull(EKK0391D010CBSMsg.OP_SVC_CD);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.OP_SVC_CD, (String)inMap.get("kk0391_op_svc_cd"));
		}

		// 料金コースコード → オプションサービス契約<サポート>登録.料金コースコード
		if (inMap == null || inMap.get("kk0391_pcrs_cd") == null || "".equals(inMap.get("kk0391_pcrs_cd")))
		{
			template.setNull(EKK0391D010CBSMsg.PCRS_CD);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.PCRS_CD, (String)inMap.get("kk0391_pcrs_cd"));
		}

		// 料金プランコード → オプションサービス契約<サポート>登録.料金プランコード
		if (inMap == null || inMap.get("kk0391_pplan_cd") == null || "".equals(inMap.get("kk0391_pplan_cd")))
		{
			template.setNull(EKK0391D010CBSMsg.PPLAN_CD);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.PPLAN_CD, (String)inMap.get("kk0391_pplan_cd"));
		}

		// サービス契約内訳番号 → オプションサービス契約<サポート>登録.サービス契約内訳番号
		if (inMap == null || inMap.get("kk0391_svc_kei_ucwk_no") == null || "".equals(inMap.get("kk0391_svc_kei_ucwk_no")))
		{
			template.setNull(EKK0391D010CBSMsg.SVC_KEI_UCWK_NO);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.SVC_KEI_UCWK_NO, (String)inMap.get("kk0391_svc_kei_ucwk_no"));
		}

		// SYSID → オプションサービス契約<サポート>登録.SYSID
		if (inMap == null || inMap.get("kk0391_sysid") == null || "".equals(inMap.get("kk0391_sysid")))
		{
			template.setNull(EKK0391D010CBSMsg.SYSID);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.SYSID, (String)inMap.get("kk0391_sysid"));
		}

		// 試用加入年月日 → オプションサービス契約<サポート>登録.試用加入年月日
		if (inMap == null || inMap.get("kk0391_ftrial_kanyu_ymd") == null || "".equals(inMap.get("kk0391_ftrial_kanyu_ymd")))
		{
			template.setNull(EKK0391D010CBSMsg.FTRIAL_KANYU_YMD);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.FTRIAL_KANYU_YMD, (String)inMap.get("kk0391_ftrial_kanyu_ymd"));
		}

		// 試用期間終了年月日 → オプションサービス契約<サポート>登録.試用期間終了年月日
		if (inMap == null || inMap.get("kk0391_ftrial_prd_endymd") == null || "".equals(inMap.get("kk0391_ftrial_prd_endymd")))
		{
			template.setNull(EKK0391D010CBSMsg.FTRIAL_PRD_ENDYMD);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.FTRIAL_PRD_ENDYMD, (String)inMap.get("kk0391_ftrial_prd_endymd"));
		}

		// 本加入年月日 → オプションサービス契約<サポート>登録.本加入年月日
		if (inMap == null || inMap.get("kk0391_honkanyu_ymd") == null || "".equals(inMap.get("kk0391_honkanyu_ymd")))
		{
			template.setNull(EKK0391D010CBSMsg.HONKANYU_YMD);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.HONKANYU_YMD, (String)inMap.get("kk0391_honkanyu_ymd"));
		}

		// 本加入移行期限年月日 → オプションサービス契約<サポート>登録.本加入移行期限年月日
		if (inMap == null || inMap.get("kk0391_honkanyu_iko_kigen_ymd") == null || "".equals(inMap.get("kk0391_honkanyu_iko_kigen_ymd")))
		{
			template.setNull(EKK0391D010CBSMsg.HONKANYU_IKO_KIGEN_YMD);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.HONKANYU_IKO_KIGEN_YMD, (String)inMap.get("kk0391_honkanyu_iko_kigen_ymd"));
		}

		// サービス利用開始希望年月日 → オプションサービス契約<サポート>登録.サービス利用開始希望年月日
		if (inMap == null || inMap.get("kk0391_svc_use_sta_kibo_ymd") == null || "".equals(inMap.get("kk0391_svc_use_sta_kibo_ymd")))
		{
			template.setNull(EKK0391D010CBSMsg.SVC_USE_STA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.SVC_USE_STA_KIBO_YMD, (String)inMap.get("kk0391_svc_use_sta_kibo_ymd"));
		}

		// 予約適用開始希望年月日 → オプションサービス契約<サポート>登録.予約適用開始希望年月日
		if (inMap == null || inMap.get("kk0391_rsv_tsta_kibo_ymd") == null || "".equals(inMap.get("kk0391_rsv_tsta_kibo_ymd")))
		{
			template.setNull(EKK0391D010CBSMsg.RSV_TSTA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.RSV_TSTA_KIBO_YMD, (String)inMap.get("kk0391_rsv_tsta_kibo_ymd"));
		}

		// 違約金発生コード → オプションサービス契約<サポート>登録.違約金発生コード
		if (inMap == null || inMap.get("kk0391_pnlty_hassei_cd") == null || "".equals(inMap.get("kk0391_pnlty_hassei_cd")))
		{
			template.setNull(EKK0391D010CBSMsg.PNLTY_HASSEI_CD);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.PNLTY_HASSEI_CD, (String)inMap.get("kk0391_pnlty_hassei_cd"));
		}

		// 異動区分 → オプションサービス契約<サポート>登録.異動区分
		if (inMap == null || inMap.get("kk0391_ido_div") == null || "".equals(inMap.get("kk0391_ido_div")))
		{
			template.setNull(EKK0391D010CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.IDO_DIV, (String)inMap.get("kk0391_ido_div"));
		}

		// 親契約識別コード → オプションサービス契約<サポート>登録.親契約識別コード
		if (inMap == null || inMap.get("kk0391_oya_kei_skbt_cd") == null || "".equals(inMap.get("kk0391_oya_kei_skbt_cd")))
		{
			template.setNull(EKK0391D010CBSMsg.OYA_KEI_SKBT_CD);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.OYA_KEI_SKBT_CD, (String)inMap.get("kk0391_oya_kei_skbt_cd"));
		}

		// 請求契約番号 → オプションサービス契約<サポート>登録.請求契約番号
		if (inMap == null || inMap.get("kk0391_seiky_kei_no") == null || "".equals(inMap.get("kk0391_seiky_kei_no")))
		{
			template.setNull(EKK0391D010CBSMsg.SEIKY_KEI_NO);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.SEIKY_KEI_NO, (String)inMap.get("kk0391_seiky_kei_no"));
		}

		// 料金項目コード → オプションサービス契約<サポート>登録.料金項目コード
		if (inMap == null || inMap.get("kk0391_prc_kmk_cd") == null || "".equals(inMap.get("kk0391_prc_kmk_cd")))
		{
			template.setNull(EKK0391D010CBSMsg.PRC_KMK_CD);
		}
		else
		{
			template.set(EKK0391D010CBSMsg.PRC_KMK_CD, (String)inMap.get("kk0391_prc_kmk_cd"));
		}

		HashMap svcMap = (HashMap)param.getData(fixedText);

		// 更新年月日時分秒(更新前) → オプションサービス契約<サポート>登録.更新年月日時分秒(更新前)
		if (inMap == null || inMap.get("kk0391_upd_dtm_bf") == null || "".equals(inMap.get("kk0391_upd_dtm_bf")))
		{
			template.setNull(EKK0391D010CBSMsg.UPD_DTM_BF);
		}
		else
		{
			String lastDtm = JKKBpCommon.getLastDtmBySvcKeiNo(param, (String)svcMap.get("kk0081_svc_kei_no"),
					(String)inMap.get("kk0391_upd_dtm_bf"));
			template.set(EKK0391D010CBSMsg.UPD_DTM_BF, lastDtm);
		}

		return template;
	}

	/**
	 * サービス契約<eo光ネット>情報変更（審査結果用）の上りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @return CAANMsg
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg editInEKK0091C040(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0091C040CBSMsg.class.getName());
		
		// テンプレートID
		template.set(EKK0091C040CBSMsg.TEMPLATEID, "EKK0091C040");

		// 機能コード（デフォルト：１）
		template.set(EKK0091C040CBSMsg.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);

		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機能コード
		if (inMap != null)
		{
			template.set(EKK0091C040CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		// サービス契約番号 → サービス契約<eo光ネット>情報変更.サービス契約番号
		if (inMap == null || inMap.get("kk0091_svc_kei_no") == null || "".equals(inMap.get("kk0091_svc_kei_no")))
		{
			template.setNull(EKK0091C040CBSMsg.SVC_KEI_NO);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.SVC_KEI_NO, (String)inMap.get("kk0091_svc_kei_no"));
			svcKeiNo = (String)inMap.get("kk0091_svc_kei_no");
			// 契約新規申込ワークエリアへ登録
			JKKBpCommon.setWkSvcKeiNoNet(param, (String)inMap.get("kk0091_svc_kei_no"));
		}

		// 申込明細番号 → サービス契約<eo光ネット>情報変更.申込明細番号
		if (inMap == null || inMap.get("kk0091_mskm_dtl_no") == null || "".equals(inMap.get("kk0091_mskm_dtl_no")))
		{
			template.setNull(EKK0091C040CBSMsg.MSKM_DTL_NO);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.MSKM_DTL_NO, (String)inMap.get("kk0091_mskm_dtl_no"));
		}

		// 整理番号 → サービス契約<eo光ネット>情報変更.整理番号
		if (inMap == null || inMap.get("kk0091_seiri_no") == null || "".equals(inMap.get("kk0091_seiri_no")))
		{
			template.setNull(EKK0091C040CBSMsg.SEIRI_NO);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.SEIRI_NO, (String)inMap.get("kk0091_seiri_no"));
		}

		// 面開発案件番号 → サービス契約<eo光ネット>情報変更.面開発案件番号
		if (inMap == null || inMap.get("kk0091_menkaihat_anken_no") == null || "".equals(inMap.get("kk0091_menkaihat_anken_no")))
		{
			template.setNull(EKK0091C040CBSMsg.MENKAIHAT_ANKEN_NO);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.MENKAIHAT_ANKEN_NO, (String)inMap.get("kk0091_menkaihat_anken_no"));
		}

		// サービス利用開始希望年月日 → サービス契約<eo光ネット>情報変更.サービス利用開始希望年月日
		if (inMap == null || inMap.get("kk0091_svc_use_sta_kibo_ymd") == null || "".equals(inMap.get("kk0091_svc_use_sta_kibo_ymd")))
		{
			template.setNull(EKK0091C040CBSMsg.SVC_USE_STA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.SVC_USE_STA_KIBO_YMD, (String)inMap.get("kk0091_svc_use_sta_kibo_ymd"));
		}

		// ID速報書出力要否 → サービス契約<eo光ネット>情報変更.ID速報書出力要否
		if (inMap == null || inMap.get("kk0091_id_sokhosho_output_yh") == null || "".equals(inMap.get("kk0091_id_sokhosho_output_yh")))
		{
			template.setNull(EKK0091C040CBSMsg.ID_SOKHOSHO_OUTPUT_YH);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.ID_SOKHOSHO_OUTPUT_YH, (String)inMap.get("kk0091_id_sokhosho_output_yh"));
		}

		// 審査結果コード → サービス契約<eo光ネット>情報変更.審査結果コード
		if (inMap == null || inMap.get("kk0091_skekka_cd") == null || "".equals(inMap.get("kk0091_skekka_cd")))
		{
			template.setNull(EKK0091C040CBSMsg.SKEKKA_CD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.SKEKKA_CD, (String)inMap.get("kk0091_skekka_cd"));
		}

		// 審査結果詳細コード → サービス契約<eo光ネット>情報変更.審査結果詳細コード
		if (inMap == null || inMap.get("kk0091_skekka_dtl_cd") == null || "".equals(inMap.get("kk0091_skekka_dtl_cd")))
		{
			template.setNull(EKK0091C040CBSMsg.SKEKKA_DTL_CD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.SKEKKA_DTL_CD, (String)inMap.get("kk0091_skekka_dtl_cd"));
		}

		// 審査結果補記コード → サービス契約<eo光ネット>情報変更.審査結果補記コード
		if (inMap == null || inMap.get("kk0091_skekka_hoki_cd") == null || "".equals(inMap.get("kk0091_skekka_hoki_cd")))
		{
			template.setNull(EKK0091C040CBSMsg.SKEKKA_HOKI_CD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.SKEKKA_HOKI_CD, (String)inMap.get("kk0091_skekka_hoki_cd"));
		}

		// 審査結果送信コード → サービス契約<eo光ネット>情報変更.審査結果送信コード
		if (inMap == null || inMap.get("kk0091_skekka_send_cd") == null || "".equals(inMap.get("kk0091_skekka_send_cd")))
		{
			template.setNull(EKK0091C040CBSMsg.SKEKKA_SEND_CD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.SKEKKA_SEND_CD, (String)inMap.get("kk0091_skekka_send_cd"));
		}

		// 支払い方法継続フラグ → サービス契約<eo光ネット>情報変更.支払い方法継続フラグ
		if (inMap == null || inMap.get("kk0091_payway_keizoku_flg") == null || "".equals(inMap.get("kk0091_payway_keizoku_flg")))
		{
			template.setNull(EKK0091C040CBSMsg.PAYWAY_KEIZOKU_FLG);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.PAYWAY_KEIZOKU_FLG, (String)inMap.get("kk0091_payway_keizoku_flg"));
		}

		// 試用加入年月日 → サービス契約<eo光ネット>情報変更.試用加入年月日
		if (inMap == null || inMap.get("kk0091_ftrial_kanyu_ymd") == null || "".equals(inMap.get("kk0091_ftrial_kanyu_ymd")))
		{
			template.setNull(EKK0091C040CBSMsg.FTRIAL_KANYU_YMD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.FTRIAL_KANYU_YMD, (String)inMap.get("kk0091_ftrial_kanyu_ymd"));
		}

		// 試用期間終了年月日 → サービス契約<eo光ネット>情報変更.試用期間終了年月日
		if (inMap == null || inMap.get("kk0091_ftrial_prd_endymd") == null || "".equals(inMap.get("kk0091_ftrial_prd_endymd")))
		{
			template.setNull(EKK0091C040CBSMsg.FTRIAL_PRD_ENDYMD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.FTRIAL_PRD_ENDYMD, (String)inMap.get("kk0091_ftrial_prd_endymd"));
		}

		// 本加入年月日 → サービス契約<eo光ネット>情報変更.本加入年月日
		if (inMap == null || inMap.get("kk0091_honkanyu_ymd") == null || "".equals(inMap.get("kk0091_honkanyu_ymd")))
		{
			template.setNull(EKK0091C040CBSMsg.HONKANYU_YMD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.HONKANYU_YMD, (String)inMap.get("kk0091_honkanyu_ymd"));
		}

		// 本加入移行期限年月日 → サービス契約<eo光ネット>情報変更.本加入移行期限年月日
		if (inMap == null || inMap.get("kk0091_honkanyu_iko_kigen_ymd") == null || "".equals(inMap.get("kk0091_honkanyu_iko_kigen_ymd")))
		{
			template.setNull(EKK0091C040CBSMsg.HONKANYU_IKO_KIGEN_YMD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.HONKANYU_IKO_KIGEN_YMD, (String)inMap.get("kk0091_honkanyu_iko_kigen_ymd"));
		}

		// レター発送仕分区分 → サービス契約<eo光ネット>情報変更.レター発送仕分区分
		if (inMap == null || inMap.get("kk0091_letter_hasso_shiwake_div") == null || "".equals(inMap.get("kk0091_letter_hasso_shiwake_div")))
		{
			template.setNull(EKK0091C040CBSMsg.LETTER_HASSO_SHIWAKE_DIV);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.LETTER_HASSO_SHIWAKE_DIV, (String)inMap.get("kk0091_letter_hasso_shiwake_div"));
		}

		// サンキューレター送付先コード → サービス契約<eo光ネット>情報変更.サンキューレター送付先コード
		if (inMap == null || inMap.get("kk0091_thnx_letter_shs_cd") == null || "".equals(inMap.get("kk0091_thnx_letter_shs_cd")))
		{
			template.setNull(EKK0091C040CBSMsg.THNX_LETTER_SHS_CD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.THNX_LETTER_SHS_CD, (String)inMap.get("kk0091_thnx_letter_shs_cd"));
		}

		// WEBオプション追加不可フラグ → サービス契約<eo光ネット>情報変更.WEBオプション追加不可フラグ
		if (inMap == null || inMap.get("kk0091_web_op_add_fail_flg") == null || "".equals(inMap.get("kk0091_web_op_add_fail_flg")))
		{
			template.setNull(EKK0091C040CBSMsg.WEB_OP_ADD_FAIL_FLG);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.WEB_OP_ADD_FAIL_FLG, (String)inMap.get("kk0091_web_op_add_fail_flg"));
		}

		// 変更元法人eo読替サービス契約番号 → サービス契約<eo光ネット>情報変更.変更元法人eo読替サービス契約番号
		if (inMap == null || inMap.get("kk0091_chmt_hjin_eo_ykae_svkei_no") == null || "".equals(inMap.get("kk0091_chmt_hjin_eo_ykae_svkei_no")))
		{
			template.setNull(EKK0091C040CBSMsg.CHMT_HJIN_EO_YKAE_SVKEI_NO);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.CHMT_HJIN_EO_YKAE_SVKEI_NO, (String)inMap.get("kk0091_chmt_hjin_eo_ykae_svkei_no"));
		}

		// 違約金発生コード → サービス契約<eo光ネット>情報変更.違約金発生コード
		if (inMap == null || inMap.get("kk0091_pnlty_hassei_cd") == null || "".equals(inMap.get("kk0091_pnlty_hassei_cd")))
		{
			template.setNull(EKK0091C040CBSMsg.PNLTY_HASSEI_CD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.PNLTY_HASSEI_CD, (String)inMap.get("kk0091_pnlty_hassei_cd"));
		}

		// 異動区分 → サービス契約<eo光ネット>情報変更.異動区分
		if (inMap == null || inMap.get("kk0091_ido_div") == null || "".equals(inMap.get("kk0091_ido_div")))
		{
			template.setNull(EKK0091C040CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.IDO_DIV, (String)inMap.get("kk0091_ido_div"));
		}

		// 紹介コード → サービス契約<eo光ネット>情報変更.紹介コード
		if (inMap == null || inMap.get("kk0091_intr_cd") == null || "".equals(inMap.get("kk0091_intr_cd")))
		{
			template.setNull(EKK0091C040CBSMsg.INTR_CD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.INTR_CD, (String)inMap.get("kk0091_intr_cd"));
		}

		// 異動NG状態コード → サービス契約<eo光ネット>情報変更.異動NG状態コード
		if (inMap == null || inMap.get("kk0091_ido_ng_stat_cd") == null || "".equals(inMap.get("kk0091_ido_ng_stat_cd")))
		{
			template.setNull(EKK0091C040CBSMsg.IDO_NG_STAT_CD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.IDO_NG_STAT_CD, (String)inMap.get("kk0091_ido_ng_stat_cd"));
		}

		// 業務連絡備考 → サービス契約<eo光ネット>情報変更.業務連絡備考
		if (inMap == null || inMap.get("kk0091_work_rrk_biko") == null || "".equals(inMap.get("kk0091_work_rrk_biko")))
		{
			template.setNull(EKK0091C040CBSMsg.WORK_RRK_BIKO);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.WORK_RRK_BIKO, (String)inMap.get("kk0091_work_rrk_biko"));
		}

		// 自動照査処理状態コード → サービス契約<eo光ネット>情報変更.自動照査処理状態コード
		if (inMap == null || inMap.get("kk0091_auto_shosa_tran_stat_cd") == null || "".equals(inMap.get("kk0091_auto_shosa_tran_stat_cd")))
		{
			template.setNull(EKK0091C040CBSMsg.AUTO_SHOSA_TRAN_STAT_CD);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.AUTO_SHOSA_TRAN_STAT_CD, (String)inMap.get("kk0091_auto_shosa_tran_stat_cd"));
		}

		// 更新年月日時分秒(更新前) → サービス契約<eo光ネット>情報変更.更新年月日時分秒(更新前)
		if (inMap == null || inMap.get("kk0091_upd_dtm_bf") == null || "".equals(inMap.get("kk0091_upd_dtm_bf")))
		{
			template.setNull(EKK0091C040CBSMsg.UPD_DTM_BF);
		}
		else
		{
			String lastDtm = JKKBpCommon.getLastDtmBySvcKeiNo(param, (String)inMap.get("kk0091_svc_kei_no"),
					(String)inMap.get("kk0091_upd_dtm_bf"));
			template.set(EKK0091C040CBSMsg.UPD_DTM_BF, lastDtm);
		}

		// 固定IPアドレス引継ぎ有無 → サービス契約<eo光ネット>情報変更.固定IPアドレス引継ぎ有無
		if (inMap == null || inMap.get("kk0091_kotei_ip_ad_hktgi_um") == null || "".equals(inMap.get("kk0091_kotei_ip_ad_hktgi_um")))
		{
			template.setNull(EKK0091C040CBSMsg.KOTEI_IP_AD_HKTGI_UM);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.KOTEI_IP_AD_HKTGI_UM, (String)inMap.get("kk0091_kotei_ip_ad_hktgi_um"));
		}

		// PCパック有無 → サービス契約<eo光ネット>情報変更.PCパック有無
		if (inMap == null || inMap.get("kk0091_pc_pack_um") == null || "".equals(inMap.get("kk0091_pc_pack_um")))
		{
			template.setNull(EKK0091C040CBSMsg.PC_PACK_UM);
		}
		else
		{
			template.set(EKK0091C040CBSMsg.PC_PACK_UM, (String)inMap.get("kk0091_pc_pack_um"));
		}

// ANK-4427-00-00 ADD START
		// 転送項目定義リスト（マップキー（接頭語を除く）、転送先項目名）
		String[][] itemList = {
				{"kk0091_wao_haken_yh_kibo", 		EKK0091C040CBSMsg.WAO_HAKEN_YH_KIBO},		// 派遣要否希望
				{"kk0091_wao_koji_kibo_ymd_1", 		EKK0091C040CBSMsg.WAO_KOJI_KIBO_YMD_1},		// 工事希望年月日1
				{"kk0091_wao_koji_kibo_timez_1", 	EKK0091C040CBSMsg.WAO_KOJI_KIBO_TIMEZ_1},	// 工事希望時間帯1
				{"kk0091_wao_koji_kibo_ymd_2", 		EKK0091C040CBSMsg.WAO_KOJI_KIBO_YMD_2},		// 工事希望年月日2
				{"kk0091_wao_koji_kibo_timez_2", 	EKK0091C040CBSMsg.WAO_KOJI_KIBO_TIMEZ_2},	// 工事希望時間帯2
				{"kk0091_wao_koji_kibo_ymd_3", 		EKK0091C040CBSMsg.WAO_KOJI_KIBO_YMD_3},		// 工事希望年月日3
				{"kk0091_wao_koji_kibo_timez_3", 	EKK0091C040CBSMsg.WAO_KOJI_KIBO_TIMEZ_3},	// 工事希望時間帯3
				{"kk0091_wao_kocomp_rrk_jiko", 		EKK0091C040CBSMsg.WAO_KOCOMP_RRK_JIKO},		// WAO工事会社連絡事項
				{"kk0091_wao_tenyo_div", 			EKK0091C040CBSMsg.WAO_TENYO_DIV},			// WAO転用区分
				{"kk0091_wao_tenyo_shodaku_no",		EKK0091C040CBSMsg.WAO_TENYO_SHODAKU_NO}, 	// WAO転用承諾番号
				{"kk0091_wao_yk_kigen", 			EKK0091C040CBSMsg.WAO_YK_KIGEN},			// WAO転用承諾番号
				{"kk0091_wao_ad_bnchi_memo", 		EKK0091C040CBSMsg.WAO_AD_BNCHI_MEMO}, 		// WAO住所番地メモ
		};
		
		// 項目転送する
		for (String[] item : itemList)
		{
			if (inMap == null || inMap.get(item[0]) == null || "".equals(inMap.get(item[0])))
			{
				template.setNull(item[1]);
			}
			else
			{
				template.set(item[1], (String)inMap.get(item[0]));
			}
		}
// ANK-4427-00-00 ADD END
		return template;
	}

	/**
	 * 申込明細情報変更の上りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @return CAANMsg
	 * @exception RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg editInEKK0021C040(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0021C040CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0021C040CBSMsg.TEMPLATEID, "EKK0021C040");

		// 機能コード（デフォルト：１）
		template.set(EKK0021C040CBSMsg.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);

		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機能コード
		if (inMap != null)
		{
			template.set(EKK0021C040CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		// 申込明細番号
		if (inMap == null || inMap.get("kk002101_mskm_dtl_no") == null || "".equals(inMap.get("kk002101_mskm_dtl_no")))
		{
			template.setNull(EKK0021C040CBSMsg.MSKM_DTL_NO);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MSKM_DTL_NO, (String)inMap.get("kk002101_mskm_dtl_no"));
			mskmDtlNo = (String)inMap.get("kk002101_mskm_dtl_no");
			JKKBpCommon.setMskmDtlNo(param, template.getString(EKK0021C040CBSMsg.MSKM_DTL_NO));
			// 契約新規申込ワークエリアへ登録
			JKKBpCommon.setWkMskmDtlNoNet(param, template.getString(EKK0021C040CBSMsg.MSKM_DTL_NO));
		}

		// 申込書番号
		if (inMap == null || inMap.get("kk002101_mskmsho_no") == null || "".equals(inMap.get("kk002101_mskmsho_no")))
		{
			template.setNull(EKK0021C040CBSMsg.MSKMSHO_NO);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MSKMSHO_NO, (String)inMap.get("kk002101_mskmsho_no"));
		}

		// 申込年月日
		if (inMap == null || inMap.get("kk002101_mskm_ymd") == null || "".equals(inMap.get("kk002101_mskm_ymd")))
		{
			template.setNull(EKK0021C040CBSMsg.MSKM_YMD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MSKM_YMD, (String)inMap.get("kk002101_mskm_ymd"));
		}

		// 申込形態コード
		if (inMap == null || inMap.get("kk002101_mskm_form_cd") == null || "".equals(inMap.get("kk002101_mskm_form_cd")))
		{
			template.setNull(EKK0021C040CBSMsg.MSKM_FORM_CD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MSKM_FORM_CD, (String)inMap.get("kk002101_mskm_form_cd"));
		}

		// 申込明細種別コード
		if (inMap == null || inMap.get("kk002101_mskm_dtl_sbt_cd") == null || "".equals(inMap.get("kk002101_mskm_dtl_sbt_cd")))
		{
			template.setNull(EKK0021C040CBSMsg.MSKM_DTL_SBT_CD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MSKM_DTL_SBT_CD, (String)inMap.get("kk002101_mskm_dtl_sbt_cd"));
		}

		// 連絡先携帯電話番号
		if (inMap == null || inMap.get("kk002101_rrks_ktai_telno") == null || "".equals(inMap.get("kk002101_rrks_ktai_telno")))
		{
			template.setNull(EKK0021C040CBSMsg.RRKS_KTAI_TELNO);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.RRKS_KTAI_TELNO, (String)inMap.get("kk002101_rrks_ktai_telno"));
		}

		// 連絡先勤務先名
		if (inMap == null || inMap.get("kk002101_rrks_offc_nm") == null || "".equals(inMap.get("kk002101_rrks_offc_nm")))
		{
			template.setNull(EKK0021C040CBSMsg.RRKS_OFFC_NM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.RRKS_OFFC_NM, (String)inMap.get("kk002101_rrks_offc_nm"));
		}

		// 昼間連絡先電話番号
		if (inMap == null || inMap.get("kk002101_dt_rrks_telno") == null || "".equals(inMap.get("kk002101_dt_rrks_telno")))
		{
			template.setNull(EKK0021C040CBSMsg.DT_RRKS_TELNO);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.DT_RRKS_TELNO, (String)inMap.get("kk002101_dt_rrks_telno"));
		}

		// 新規申込種別コード
		if (inMap == null || inMap.get("kk002101_new_mskm_sbt_cd") == null || "".equals(inMap.get("kk002101_new_mskm_sbt_cd")))
		{
			template.setNull(EKK0021C040CBSMsg.NEW_MSKM_SBT_CD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.NEW_MSKM_SBT_CD, (String)inMap.get("kk002101_new_mskm_sbt_cd"));
		}

		// 申込契機コード
		if (inMap == null || inMap.get("kk002101_mskm_optnty_cd") == null || "".equals(inMap.get("kk002101_mskm_optnty_cd")))
		{
			template.setNull(EKK0021C040CBSMsg.MSKM_OPTNTY_CD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MSKM_OPTNTY_CD, (String)inMap.get("kk002101_mskm_optnty_cd"));
		}

		// 宅内調査希望アポ期限年月日
		if (inMap == null || inMap.get("kk002101_takcho_kibo_apo_kigen_ymd") == null || "".equals(inMap.get("kk002101_takcho_kibo_apo_kigen_ymd")))
		{
			template.setNull(EKK0021C040CBSMsg.TAKCHO_KIBO_APO_KIGEN_YMD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.TAKCHO_KIBO_APO_KIGEN_YMD, (String)inMap.get("kk002101_takcho_kibo_apo_kigen_ymd"));
		}

		// 工事アポ連絡先指定コード
		if (inMap == null || inMap.get("kk002101_koji_apo_rrks_shitei_cd") == null || "".equals(inMap.get("kk002101_koji_apo_rrks_shitei_cd")))
		{
			template.setNull(EKK0021C040CBSMsg.KOJI_APO_RRKS_SHITEI_CD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.KOJI_APO_RRKS_SHITEI_CD, (String)inMap.get("kk002101_koji_apo_rrks_shitei_cd"));
		}

		// 工事アポ連絡先電話番号
		if (inMap == null || inMap.get("kk002101_koji_apo_rrks_telno") == null || "".equals(inMap.get("kk002101_koji_apo_rrks_telno")))
		{
			template.setNull(EKK0021C040CBSMsg.KOJI_APO_RRKS_TELNO);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.KOJI_APO_RRKS_TELNO, (String)inMap.get("kk002101_koji_apo_rrks_telno"));
		}

		// 連絡事項登録年月日時分秒
		if (inMap == null || inMap.get("kk002101_rrk_jiko_add_dtm") == null || "".equals(inMap.get("kk002101_rrk_jiko_add_dtm")))
		{
			template.setNull(EKK0021C040CBSMsg.RRK_JIKO_ADD_DTM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.RRK_JIKO_ADD_DTM, (String)inMap.get("kk002101_rrk_jiko_add_dtm"));
		}

		// 申込連絡先メールアドレス
		if (inMap == null || inMap.get("kk002101_mskm_rrks_mlad") == null || "".equals(inMap.get("kk002101_mskm_rrks_mlad")))
		{
			template.setNull(EKK0021C040CBSMsg.MSKM_RRKS_MLAD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MSKM_RRKS_MLAD, (String)inMap.get("kk002101_mskm_rrks_mlad"));
		}

		// 工事進捗通知メールアドレス
		if (inMap == null || inMap.get("kk002101_koji_prg_tchi_mlad") == null || "".equals(inMap.get("kk002101_koji_prg_tchi_mlad")))
		{
			template.setNull(EKK0021C040CBSMsg.KOJI_PRG_TCHI_MLAD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.KOJI_PRG_TCHI_MLAD, (String)inMap.get("kk002101_koji_prg_tchi_mlad"));
		}

		// 連絡事項
		if (inMap == null || inMap.get("kk002101_rrk_jiko") == null || "".equals(inMap.get("kk002101_rrk_jiko")))
		{
			template.setNull(EKK0021C040CBSMsg.RRK_JIKO);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.RRK_JIKO, (String)inMap.get("kk002101_rrk_jiko"));
		}

		// 最新照会年月日
		if (inMap == null || inMap.get("kk002101_rcnt_shokai_ymd") == null || "".equals(inMap.get("kk002101_rcnt_shokai_ymd")))
		{
			template.setNull(EKK0021C040CBSMsg.RCNT_SHOKAI_YMD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.RCNT_SHOKAI_YMD, (String)inMap.get("kk002101_rcnt_shokai_ymd"));
		}

		// Web照会回数
		if (inMap == null || inMap.get("kk002101_web_shokai_cnt") == null || "".equals(inMap.get("kk002101_web_shokai_cnt")))
		{
			template.setNull(EKK0021C040CBSMsg.WEB_SHOKAI_CNT);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.WEB_SHOKAI_CNT, (String)inMap.get("kk002101_web_shokai_cnt"));
		}

		// PC照会回数
		if (inMap == null || inMap.get("kk002101_pc_shokai_cnt") == null || "".equals(inMap.get("kk002101_pc_shokai_cnt")))
		{
			template.setNull(EKK0021C040CBSMsg.PC_SHOKAI_CNT);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.PC_SHOKAI_CNT, (String)inMap.get("kk002101_pc_shokai_cnt"));
		}

		// 携帯照会回数
		if (inMap == null || inMap.get("kk002101_ktai_shokai_cnt") == null || "".equals(inMap.get("kk002101_ktai_shokai_cnt")))
		{
			template.setNull(EKK0021C040CBSMsg.KTAI_SHOKAI_CNT);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.KTAI_SHOKAI_CNT, (String)inMap.get("kk002101_ktai_shokai_cnt"));
		}

		// 工事進捗通知携帯メールアドレス
		if (inMap == null || inMap.get("kk002101_kjsc_tch_ktai_mlad") == null || "".equals(inMap.get("kk002101_kjsc_tch_ktai_mlad")))
		{
			template.setNull(EKK0021C040CBSMsg.KJSC_TCH_KTAI_MLAD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.KJSC_TCH_KTAI_MLAD, (String)inMap.get("kk002101_kjsc_tch_ktai_mlad"));
		}

		// 工事進捗通知PCメールアドレス変更年月日
		if (inMap == null || inMap.get("kk002101_kjsc_tch_pc_mlad_chg_ymd") == null || "".equals(inMap.get("kk002101_kjsc_tch_pc_mlad_chg_ymd")))
		{
			template.setNull(EKK0021C040CBSMsg.KJSC_TCH_PC_MLAD_CHG_YMD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.KJSC_TCH_PC_MLAD_CHG_YMD, (String)inMap.get("kk002101_kjsc_tch_pc_mlad_chg_ymd"));
		}

		// 工事進捗通知携帯メールアドレス変更年月日
		if (inMap == null || inMap.get("kk002101_kjsc_tch_ktai_mlad_chg_ymd") == null || "".equals(inMap.get("kk002101_kjsc_tch_ktai_mlad_chg_ymd")))
		{
			template.setNull(EKK0021C040CBSMsg.KJSC_TCH_KTAI_MLAD_CHG_YMD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.KJSC_TCH_KTAI_MLAD_CHG_YMD, (String)inMap.get("kk002101_kjsc_tch_ktai_mlad_chg_ymd"));
		}

		// メール送信除外フラグ
		if (inMap == null || inMap.get("kk002101_ml_send_jgi_flg") == null || "".equals(inMap.get("kk002101_ml_send_jgi_flg")))
		{
			template.setNull(EKK0021C040CBSMsg.ML_SEND_JGI_FLG);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.ML_SEND_JGI_FLG, (String)inMap.get("kk002101_ml_send_jgi_flg"));
		}

		// メール送信除外理由メモ
		if (inMap == null || inMap.get("kk002101_ml_send_jgi_rsn_memo") == null || "".equals(inMap.get("kk002101_ml_send_jgi_rsn_memo")))
		{
			template.setNull(EKK0021C040CBSMsg.ML_SEND_JGI_RSN_MEMO);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.ML_SEND_JGI_RSN_MEMO, (String)inMap.get("kk002101_ml_send_jgi_rsn_memo"));
		}

		// 番ポ申込連絡先電話番号
		if (inMap == null || inMap.get("kk002101_bmp_mskm_rrks_tln") == null || "".equals(inMap.get("kk002101_bmp_mskm_rrks_tln")))
		{
			template.setNull(EKK0021C040CBSMsg.BMP_MSKM_RRKS_TLN);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.BMP_MSKM_RRKS_TLN, (String)inMap.get("kk002101_bmp_mskm_rrks_tln"));
		}

		// オプションサービス引継有無
		if (inMap == null || inMap.get("kk002101_op_svc_hktgi_um") == null || "".equals(inMap.get("kk002101_op_svc_hktgi_um")))
		{
			//**********↓障害対応(IT1-2012-0000024)**********/
//			template.setNull(EKK0021C040CBSMsg.OP_SVC_HKTGI_UM);
			template.set(EKK0021C040CBSMsg.OP_SVC_HKTGI_UM, JKKStrConst.CD_DIV_UM_NASHI);
			//**********↑障害対応(IT1-2012-0000024)**********/
		}
		else
		{
			template.set(EKK0021C040CBSMsg.OP_SVC_HKTGI_UM, (String)inMap.get("kk002101_op_svc_hktgi_um"));
		}

		// 解約書類送付希望有無
		if (inMap == null || inMap.get("kk002101_dsl_aticle_sohu_kibo_um") == null || "".equals(inMap.get("kk002101_dsl_aticle_sohu_kibo_um")))
		{
			template.setNull(EKK0021C040CBSMsg.DSL_ATICLE_SOHU_KIBO_UM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.DSL_ATICLE_SOHU_KIBO_UM, (String)inMap.get("kk002101_dsl_aticle_sohu_kibo_um"));
		}

		// 連絡手段補記
		if (inMap == null || inMap.get("kk002101_rrk_way_hoki") == null || "".equals(inMap.get("kk002101_rrk_way_hoki")))
		{
			template.setNull(EKK0021C040CBSMsg.RRK_WAY_HOKI);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.RRK_WAY_HOKI, (String)inMap.get("kk002101_rrk_way_hoki"));
		}

		// 新築物件コード
		if (inMap == null || inMap.get("kk002101_newconst_bukken_cd") == null || "".equals(inMap.get("kk002101_newconst_bukken_cd")))
		{
			template.setNull(EKK0021C040CBSMsg.NEWCONST_BUKKEN_CD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.NEWCONST_BUKKEN_CD, (String)inMap.get("kk002101_newconst_bukken_cd"));
		}

		// 復活案件フラグ
		if (inMap == null || inMap.get("kk002101_hukkat_anken_flg") == null || "".equals(inMap.get("kk002101_hukkat_anken_flg")))
		{
			template.setNull(EKK0021C040CBSMsg.HUKKAT_ANKEN_FLG);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.HUKKAT_ANKEN_FLG, (String)inMap.get("kk002101_hukkat_anken_flg"));
		}

		// 同一設備再申込コード
		if (inMap == null || inMap.get("kk002101_same_equip_re_mskm_cd") == null || "".equals(inMap.get("kk002101_same_equip_re_mskm_cd")))
		{
			template.setNull(EKK0021C040CBSMsg.SAME_EQUIP_RE_MSKM_CD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.SAME_EQUIP_RE_MSKM_CD, (String)inMap.get("kk002101_same_equip_re_mskm_cd"));
		}

		// 本人確認書類種別コード
		if (inMap == null || inMap.get("kk002101_hnin_cfm_aticle_sbt_cd") == null || "".equals(inMap.get("kk002101_hnin_cfm_aticle_sbt_cd")))
		{
			template.setNull(EKK0021C040CBSMsg.HNIN_CFM_ATICLE_SBT_CD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.HNIN_CFM_ATICLE_SBT_CD, (String)inMap.get("kk002101_hnin_cfm_aticle_sbt_cd"));
		}

		// 契約付加コード
		if (inMap == null || inMap.get("kk002101_kei_huka_cd") == null || "".equals(inMap.get("kk002101_kei_huka_cd")))
		{
			template.setNull(EKK0021C040CBSMsg.KEI_HUKA_CD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.KEI_HUKA_CD, (String)inMap.get("kk002101_kei_huka_cd"));
		}

		// 地図添付有無
		if (inMap == null || inMap.get("kk002101_map_temp_um") == null || "".equals(inMap.get("kk002101_map_temp_um")))
		{
			template.setNull(EKK0021C040CBSMsg.MAP_TEMP_UM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MAP_TEMP_UM, (String)inMap.get("kk002101_map_temp_um"));
		}

		// KCNSTB申込台数
		if (inMap == null || inMap.get("kk002101_kcn_stb_mskm_cnt") == null || "".equals(inMap.get("kk002101_kcn_stb_mskm_cnt")))
		{
			template.setNull(EKK0021C040CBSMsg.KCN_STB_MSKM_CNT);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.KCN_STB_MSKM_CNT, (String)inMap.get("kk002101_kcn_stb_mskm_cnt"));
		}

		// KCNSTB種類コード
		if (inMap == null || inMap.get("kk002101_kcn_stb_kind_cd") == null || "".equals(inMap.get("kk002101_kcn_stb_kind_cd")))
		{
			template.setNull(EKK0021C040CBSMsg.KCN_STB_KIND_CD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.KCN_STB_KIND_CD, (String)inMap.get("kk002101_kcn_stb_kind_cd"));
		}

		// マンション設備システム連携用記事欄
		if (inMap == null || inMap.get("kk002101_manssbsys_rnki_yo_kijiran") == null || "".equals(inMap.get("kk002101_manssbsys_rnki_yo_kijiran")))
		{
			template.setNull(EKK0021C040CBSMsg.MANSSBSYS_RNKI_YO_KIJIRAN);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MANSSBSYS_RNKI_YO_KIJIRAN, (String)inMap.get("kk002101_manssbsys_rnki_yo_kijiran"));
		}

		// マンションID
		if (inMap == null || inMap.get("kk002101_mansion_id") == null || "".equals(inMap.get("kk002101_mansion_id")))
		{
			template.setNull(EKK0021C040CBSMsg.MANSION_ID);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MANSION_ID, (String)inMap.get("kk002101_mansion_id"));
		}

		// CAT-ID
		if (inMap == null || inMap.get("kk002101_catid") == null || "".equals(inMap.get("kk002101_catid")))
		{
			template.setNull(EKK0021C040CBSMsg.CATID);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.CATID, (String)inMap.get("kk002101_catid"));
		}

		// 申込受付種別コード
		if (inMap == null || inMap.get("kk002101_mkm_uk_sbt_cd") == null || "".equals(inMap.get("kk002101_mkm_uk_sbt_cd")))
		{
			template.setNull(EKK0021C040CBSMsg.MKM_UK_SBT_CD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MKM_UK_SBT_CD, (String)inMap.get("kk002101_mkm_uk_sbt_cd"));
		}

		// 申込書取扱情報担当者名
		if (inMap == null || inMap.get("kk002101_mskmsho_trat_if_tntsha_nm") == null || "".equals(inMap.get("kk002101_mskmsho_trat_if_tntsha_nm")))
		{
			template.setNull(EKK0021C040CBSMsg.MSKMSHO_TRAT_IF_TNTSHA_NM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MSKMSHO_TRAT_IF_TNTSHA_NM, (String)inMap.get("kk002101_mskmsho_trat_if_tntsha_nm"));
		}

		// 申込書取扱情報電話番号
		if (inMap == null || inMap.get("kk002101_mskmsho_trat_if_telno") == null || "".equals(inMap.get("kk002101_mskmsho_trat_if_telno")))
		{
			template.setNull(EKK0021C040CBSMsg.MSKMSHO_TRAT_IF_TELNO);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MSKMSHO_TRAT_IF_TELNO, (String)inMap.get("kk002101_mskmsho_trat_if_telno"));
		}

		// 更新年月日時分秒(更新前)
		if (inMap == null || inMap.get("kk002101_upd_dtm_bf") == null || "".equals(inMap.get("kk002101_upd_dtm_bf")))
		{
			template.setNull(EKK0021C040CBSMsg.UPD_DTM_BF);
		}
		else
		{
			String lastDtm = JKKBpCommon.getLastDtmByMskm(param, (String)inMap.get("kk002101_upd_dtm_bf"));
			template.set(EKK0021C040CBSMsg.UPD_DTM_BF, lastDtm);
		}
		
		// 申込書明細番号
		if (inMap == null || inMap.get("kk002101_mskmsho_dtl_no") == null || "".equals(inMap.get("kk002101_mskmsho_dtl_no")))
		{
			if (JKKBpCommon.getWkMskmshoDtlNoNetTel(param) == null || "".equals(JKKBpCommon.getWkMskmshoDtlNoNetTel(param)))
			{
				template.setNull(EKK0021C040CBSMsg.MSKMSHO_DTL_NO);
			}
			else
			{
				template.set(EKK0021C040CBSMsg.MSKMSHO_DTL_NO, JKKBpCommon.getWkMskmshoDtlNoNetTel(param));
			}
		}
		else
		{
			template.set(EKK0021C040CBSMsg.MSKMSHO_DTL_NO, (String)inMap.get("kk002101_mskmsho_dtl_no"));
			JKKBpCommon.setWkMskmshoDtlNoNetTel(param, template.getString(EKK0021C040CBSMsg.MSKMSHO_DTL_NO));
		}

		// 本人確認書類名
		if (inMap == null || inMap.get("kk002101_hnin_cfm_aticle_nm") == null || "".equals(inMap.get("kk002101_hnin_cfm_aticle_nm")))
		{
			template.setNull(EKK0021C040CBSMsg.HNIN_CFM_ATICLE_NM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.HNIN_CFM_ATICLE_NM, (String)inMap.get("kk002101_hnin_cfm_aticle_nm"));
		}

		// ANK-3136-00-00 ADD START
		// 他システム連携_宅内調査要否
		if (inMap == null || inMap.get("kk002101_tsyrn_takcho_yh") == null || "".equals(inMap.get("kk002101_tsyrn_takcho_yh")))
		{
			template.setNull(EKK0021C040CBSMsg.TSYRN_TAKCHO_YH);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.TSYRN_TAKCHO_YH, (String)inMap.get("kk002101_tsyrn_takcho_yh"));
		}

		// 他システム連携_工事連絡先氏名
		if (inMap == null || inMap.get("kk002101_tsyrn_kj_rrks_nm") == null || "".equals(inMap.get("kk002101_tsyrn_kj_rrks_nm")))
		{
			template.setNull(EKK0021C040CBSMsg.TSYRN_KJ_RRKS_NM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.TSYRN_KJ_RRKS_NM, (String)inMap.get("kk002101_tsyrn_kj_rrks_nm"));
		}

		// 他システム連携_工事連絡先電話番号
		if (inMap == null || inMap.get("kk002101_tsyrn_kj_rrks_tln") == null || "".equals(inMap.get("kk002101_tsyrn_kj_rrks_tln")))
		{
			template.setNull(EKK0021C040CBSMsg.TSYRN_KJ_RRKS_TLN);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.TSYRN_KJ_RRKS_TLN, (String)inMap.get("kk002101_tsyrn_kj_rrks_tln"));
		}

		// 他システム連携_宅内調査時連絡先氏名
		if (inMap == null || inMap.get("kk002101_tsyrn_takcho_ji_rrks_nm") == null || "".equals(inMap.get("kk002101_tsyrn_takcho_ji_rrks_nm")))
		{
			template.setNull(EKK0021C040CBSMsg.TSYRN_TAKCHO_JI_RRKS_NM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.TSYRN_TAKCHO_JI_RRKS_NM, (String)inMap.get("kk002101_tsyrn_takcho_ji_rrks_nm"));
		}

		// 他システム連携_宅内調査時連絡先電話番号
		if (inMap == null || inMap.get("kk002101_tsyrn_takcho_ji_rrks_tln") == null || "".equals(inMap.get("kk002101_tsyrn_takcho_ji_rrks_tln")))
		{
			template.setNull(EKK0021C040CBSMsg.TSYRN_TAKCHO_JI_RRKS_TLN);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.TSYRN_TAKCHO_JI_RRKS_TLN, (String)inMap.get("kk002101_tsyrn_takcho_ji_rrks_tln"));
		}

		// 他システム連携_連絡希望日時
		if (inMap == null || inMap.get("kk002101_tsyrn_rrk_kibo_date") == null || "".equals(inMap.get("kk002101_tsyrn_rrk_kibo_date")))
		{
			template.setNull(EKK0021C040CBSMsg.TSYRN_RRK_KIBO_DATE);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.TSYRN_RRK_KIBO_DATE, (String)inMap.get("kk002101_tsyrn_rrk_kibo_date"));
		}

		// 他システム連携_地図有無
		if (inMap == null || inMap.get("kk002101_tsyrn_map_um") == null || "".equals(inMap.get("kk002101_tsyrn_map_um")))
		{
			template.setNull(EKK0021C040CBSMsg.TSYRN_MAP_UM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.TSYRN_MAP_UM, (String)inMap.get("kk002101_tsyrn_map_um"));
		}

		// 他システム連携_既存契約情報
		if (inMap == null || inMap.get("kk002101_tsyrn_kzn_kei_inf") == null || "".equals(inMap.get("kk002101_tsyrn_kzn_kei_inf")))
		{
			template.setNull(EKK0021C040CBSMsg.TSYRN_KZN_KEI_INF);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.TSYRN_KZN_KEI_INF, (String)inMap.get("kk002101_tsyrn_kzn_kei_inf"));
		}

		// 他システム連携_不備解消年月日
		if (inMap == null || inMap.get("kk002101_tsyrn_hbi_kaishou_ymd") == null || "".equals(inMap.get("kk002101_tsyrn_hbi_kaishou_ymd")))
		{
			template.setNull(EKK0021C040CBSMsg.TSYRN_HBI_KAISHOU_YMD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.TSYRN_HBI_KAISHOU_YMD, (String)inMap.get("kk002101_tsyrn_hbi_kaishou_ymd"));
		}

		// 設備流用有無
		if (inMap == null || inMap.get("kk002101_equip_ryuyo_um") == null || "".equals(inMap.get("kk002101_equip_ryuyo_um")))
		{
			template.setNull(EKK0021C040CBSMsg.EQUIP_RYUYO_UM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.EQUIP_RYUYO_UM, (String)inMap.get("kk002101_equip_ryuyo_um"));
		}

		// 流用元工事案件番号
		if (inMap == null || inMap.get("kk002101_ryuyo_moto_kjak_no") == null || "".equals(inMap.get("kk002101_ryuyo_moto_kjak_no")))
		{
			template.setNull(EKK0021C040CBSMsg.RYUYO_MOTO_KJAK_NO);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.RYUYO_MOTO_KJAK_NO, (String)inMap.get("kk002101_ryuyo_moto_kjak_no"));
		}

		// 設備流用工事完了希望年月日
		if (inMap == null || inMap.get("kk002101_sbry_kj_fin_kiboymd") == null || "".equals(inMap.get("kk002101_sbry_kj_fin_kiboymd")))
		{
			template.setNull(EKK0021C040CBSMsg.SBRY_KJ_FIN_KIBOYMD);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.SBRY_KJ_FIN_KIBOYMD, (String)inMap.get("kk002101_sbry_kj_fin_kiboymd"));
		}
		// ANK-3136-00-00 ADD END
		// ANK-4096-00-00 ADD START
		// 現在利用先契約回線区分
		if (inMap == null || inMap.get("kk002101_now_use_sk_kei_kisn_div") == null || "".equals(inMap.get("kk002101_now_use_sk_kei_kisn_div")))
		{
			template.setNull(EKK0021C040CBSMsg.NOW_USE_SK_KEI_KISN_DIV);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.NOW_USE_SK_KEI_KISN_DIV, (String)inMap.get("kk002101_now_use_sk_kei_kisn_div"));
		}
		
		// 機器設置場所変更有無
		if (inMap == null || inMap.get("kk002101_kiki_setplc_chgum") == null || "".equals(inMap.get("kk002101_kiki_setplc_chgum")))
		{
			template.setNull(EKK0021C040CBSMsg.KIKI_SETPLC_CHGUM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.KIKI_SETPLC_CHGUM, (String)inMap.get("kk002101_kiki_setplc_chgum"));
		}
		
		// 同日実施希望有無
		if (inMap == null || inMap.get("kk002101_dojitu_jssi_kbum") == null || "".equals(inMap.get("kk002101_dojitu_jssi_kbum")))
		{
			template.setNull(EKK0021C040CBSMsg.DOJITU_JSSI_KBUM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.DOJITU_JSSI_KBUM, (String)inMap.get("kk002101_dojitu_jssi_kbum"));
		}
		
		// 早期開通早期連絡希望有無
		if (inMap == null || inMap.get("kk002101_early_open_early_rrk_kbum") == null || "".equals(inMap.get("kk002101_early_open_early_rrk_kbum")))
		{
			template.setNull(EKK0021C040CBSMsg.EARLY_OPEN_EARLY_RRK_KBUM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.EARLY_OPEN_EARLY_RRK_KBUM, (String)inMap.get("kk002101_early_open_early_rrk_kbum"));
		}
		// ANK-4096-00-00 ADD END
		// ANK-4174-00-00 ADD START
		// 電子交付同意有無
		if (inMap == null || inMap.get("kk002101_dnskh_doi_um") == null || "".equals(inMap.get("kk002101_dnskh_doi_um")))
		{
			template.setNull(EKK0021C040CBSMsg.DNSKH_DOI_UM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.DNSKH_DOI_UM, (String)inMap.get("kk002101_dnskh_doi_um"));
		}
		// ANK-4174-00-00 ADD END
		// ANK-4088-00-00 ADD START
		// 宅内調査のアポ架電希望
		if (inMap == null || inMap.get("kk002101_takcho_apo_kaden_kibo_um") == null || "".equals(inMap.get("kk002101_takcho_apo_kaden_kibo_um")))
		{
			template.setNull(EKK0021C040CBSMsg.TAKCHO_APO_KADEN_KIBO_UM);
		}
		else
		{
			template.set(EKK0021C040CBSMsg.TAKCHO_APO_KADEN_KIBO_UM, (String)inMap.get("kk002101_takcho_apo_kaden_kibo_um"));
		}
		// ANK-4088-00-00 ADD END
		
// ANK-4640-00-00 ADD START
		// WAO注文連携抑止フラグ
		if (!(inMap == null) && inMap.containsKey("kk002101_wao_chumn_rnki_yoksi_flg"))
		{
			// inMapがnullでない　かつ　MapKeyを設定している場合に下記を処理する。
			// 設定しない場合は、Keyを設定せずJSYejbEKK0021C040CBSMsgCVへ渡して前回データを引き継ぐ形とする。
			// Keyが設定され中身がNull、空文字の場合はWAO注文連携抑止フラグをNullで登録する。
			if (inMap.get("kk002101_wao_chumn_rnki_yoksi_flg") == null || "".equals(inMap.get("kk002101_wao_chumn_rnki_yoksi_flg")))
			{
				template.setNull(EKK0021C040CBSMsg.WAO_CHUMN_RNKI_YOKSI_FLG);
			}
			else
			{
				template.set(EKK0021C040CBSMsg.WAO_CHUMN_RNKI_YOKSI_FLG, (String) inMap.get("kk002101_wao_chumn_rnki_yoksi_flg"));
			}
		}
// ANK-4640-00-00 ADD END

		return template;
	}

	/**
	 * サービス契約内訳キャンセルの上りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @return CAANMsg
	 * @exception RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg editInEKK0161C160(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0161C160CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0161C160CBSMsg.TEMPLATEID, "EKK0161C160");

		// 機能コード（デフォルト：１）
		template.set(EKK0161C160CBSMsg.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);

		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機能コード
		if (inMap != null)
		{
			template.set(EKK0161C160CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		// サービス契約内訳番号
		if (inMap == null || inMap.get("kk0161_svc_kei_ucwk_no") == null || "".equals(inMap.get("kk0161_svc_kei_ucwk_no")))
		{
			template.setNull(EKK0161C160CBSMsg.SVC_KEI_UCWK_NO);
		}
		else
		{
			template.set(EKK0161C160CBSMsg.SVC_KEI_UCWK_NO, (String)inMap.get("kk0161_svc_kei_ucwk_no"));
		}

		// 申込明細番号
		if (inMap == null || inMap.get("kk0161_mskm_dtl_no") == null || "".equals(inMap.get("kk0161_mskm_dtl_no")))
		{
			template.setNull(EKK0161C160CBSMsg.MSKM_DTL_NO);
		}
		else
		{
			template.set(EKK0161C160CBSMsg.MSKM_DTL_NO, (String)inMap.get("kk0161_mskm_dtl_no"));
		}

		// サービスキャンセル理由コード
		if (inMap == null || inMap.get("kk0161_svc_cancel_rsn_cd") == null || "".equals(inMap.get("kk0161_svc_cancel_rsn_cd")))
		{
			template.setNull(EKK0161C160CBSMsg.SVC_CANCEL_RSN_CD);
		}
		else
		{
			template.set(EKK0161C160CBSMsg.SVC_CANCEL_RSN_CD, (String)inMap.get("kk0161_svc_cancel_rsn_cd"));
		}

		// 異動区分
		if (inMap == null || inMap.get("kk0161_ido_div") == null || "".equals(inMap.get("kk0161_ido_div")))
		{
			template.setNull(EKK0161C160CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK0161C160CBSMsg.IDO_DIV, (String)inMap.get("kk0161_ido_div"));
		}

		HashMap svcMap = (HashMap)param.getData(fixedText);

		// 更新年月日時分秒(更新前)
		if (inMap == null || inMap.get("kk0161_upd_dtm_bf") == null || "".equals(inMap.get("kk0161_upd_dtm_bf")))
		{
			template.setNull(EKK0161C160CBSMsg.UPD_DTM_BF);
		}
		else
		{
			String lastDtm = JKKBpCommon.getLastDtmBySvcKeiNo(param, (String)svcMap.get("kk0081_svc_kei_no"),
					(String)inMap.get("kk0161_upd_dtm_bf"));
			template.set(EKK0161C160CBSMsg.UPD_DTM_BF, lastDtm);
		}

		return template;
	}

	/**
	 * サービス契約内訳＜eo光ネット＞登録の上りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @param prefix
	 * @return CAANMsg
	 * @exception RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg editInEKK0171D010(IRequestParameterReadWrite param, String fixedText, String prefix) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0171D010CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0171D010CBSMsg.TEMPLATEID, "EKK0171D010");

		// 機能コード（デフォルト：１）
		template.set(EKK0171D010CBSMsg.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);

		HashMap inMap = null;

		/* ユーザデータ情報 */
		inMap = (HashMap)(param.getData(fixedText));

		// 機能コード
		if (inMap != null)
		{
			template.set(EKK0171D010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}
		
		// サービス契約番号
		if (inMap == null || inMap.get(prefix + "svc_kei_no") == null || "".equals(inMap.get(prefix + "svc_kei_no")))
		{
			template.setNull(EKK0171D010CBSMsg.SVC_KEI_NO);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.SVC_KEI_NO, (String)inMap.get(prefix + "svc_kei_no"));
		}

		// 申込明細番号
		if (inMap == null || inMap.get(prefix + "mskm_dtl_no") == null || "".equals(inMap.get(prefix + "mskm_dtl_no")))
		{
			template.setNull(EKK0171D010CBSMsg.MSKM_DTL_NO);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.MSKM_DTL_NO, (String)inMap.get(prefix + "mskm_dtl_no"));
		}

		// 提供方式契約番号
		if (inMap == null || inMap.get(prefix + "tk_hoshiki_kei_no") == null || "".equals(inMap.get(prefix + "tk_hoshiki_kei_no")))
		{
			template.setNull(EKK0171D010CBSMsg.TK_HOSHIKI_KEI_NO);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.TK_HOSHIKI_KEI_NO, (String)inMap.get(prefix + "tk_hoshiki_kei_no"));
		}

		// 支払方法継続フラグ
		if (inMap == null || inMap.get(prefix + "payway_keizoku_flg") == null || "".equals(inMap.get(prefix + "payway_keizoku_flg")))
		{
			template.setNull(EKK0171D010CBSMsg.PAYWAY_KEIZOKU_FLG);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.PAYWAY_KEIZOKU_FLG, (String)inMap.get(prefix + "payway_keizoku_flg"));
		}

		// WEBオプション追加不可フラグ
		if (inMap == null || inMap.get(prefix + "web_op_add_fail_flg") == null || "".equals(inMap.get(prefix + "web_op_add_fail_flg")))
		{
			template.setNull(EKK0171D010CBSMsg.WEB_OP_ADD_FAIL_FLG);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.WEB_OP_ADD_FAIL_FLG, (String)inMap.get(prefix + "web_op_add_fail_flg"));
		}

		// 業務連絡備考
		if (inMap == null || inMap.get(prefix + "work_rrk_biko") == null || "".equals(inMap.get(prefix + "work_rrk_biko")))
		{
			template.setNull(EKK0171D010CBSMsg.WORK_RRK_BIKO);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.WORK_RRK_BIKO, (String)inMap.get(prefix + "work_rrk_biko"));
		}

		// サービス利用開始希望年月日
		if (inMap == null || inMap.get(prefix + "svc_use_sta_kibo_ymd") == null || "".equals(inMap.get(prefix + "svc_use_sta_kibo_ymd")))
		{
			template.setNull(EKK0171D010CBSMsg.SVC_USE_STA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.SVC_USE_STA_KIBO_YMD, (String)inMap.get(prefix + "svc_use_sta_kibo_ymd"));
		}

		// 予約適用開始希望年月日
		if (inMap == null || inMap.get(prefix + "rsv_tsta_kibo_ymd") == null || "".equals(inMap.get(prefix + "rsv_tsta_kibo_ymd")))
		{
			template.setNull(EKK0171D010CBSMsg.RSV_TSTA_KIBO_YMD);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.RSV_TSTA_KIBO_YMD, (String)inMap.get(prefix + "rsv_tsta_kibo_ymd"));
		}

		// 試用加入年月日
		if (inMap == null || inMap.get(prefix + "ftrial_kanyu_ymd") == null || "".equals(inMap.get(prefix + "ftrial_kanyu_ymd")))
		{
			template.setNull(EKK0171D010CBSMsg.FTRIAL_KANYU_YMD);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.FTRIAL_KANYU_YMD, (String)inMap.get(prefix + "ftrial_kanyu_ymd"));
		}

		// 試用期間終了年月日
		if (inMap == null || inMap.get(prefix + "ftrial_prd_endymd") == null || "".equals(inMap.get(prefix + "ftrial_prd_endymd")))
		{
			template.setNull(EKK0171D010CBSMsg.FTRIAL_PRD_ENDYMD);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.FTRIAL_PRD_ENDYMD, (String)inMap.get(prefix + "ftrial_prd_endymd"));
		}

		// 本加入年月日
		if (inMap == null || inMap.get(prefix + "honkanyu_ymd") == null || "".equals(inMap.get(prefix + "honkanyu_ymd")))
		{
			template.setNull(EKK0171D010CBSMsg.HONKANYU_YMD);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.HONKANYU_YMD, (String)inMap.get(prefix + "honkanyu_ymd"));
		}

		// 本加入移行期限年月日
		if (inMap == null || inMap.get(prefix + "honkanyu_iko_kigen_ymd") == null || "".equals(inMap.get(prefix + "honkanyu_iko_kigen_ymd")))
		{
			template.setNull(EKK0171D010CBSMsg.HONKANYU_IKO_KIGEN_YMD);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.HONKANYU_IKO_KIGEN_YMD, (String)inMap.get(prefix + "honkanyu_iko_kigen_ymd"));
		}
		// 違約金発生コード
		if (inMap == null || inMap.get(prefix + "pnlty_hassei_cd") == null || "".equals(inMap.get(prefix + "pnlty_hassei_cd")))
		{
			template.setNull(EKK0171D010CBSMsg.PNLTY_HASSEI_CD);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.PNLTY_HASSEI_CD, (String)inMap.get(prefix + "pnlty_hassei_cd"));
		}

		// 異動区分
		if (inMap == null || inMap.get(prefix + "ido_div") == null || "".equals(inMap.get(prefix + "ido_div")))
		{
			template.setNull(EKK0171D010CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.IDO_DIV, (String)inMap.get(prefix + "ido_div"));
		}

		// 提供帯域コード
		if (inMap == null || inMap.get(prefix + "tk_taiiki_cd") == null || "".equals(inMap.get(prefix + "tk_taiiki_cd")))
		{
			template.setNull(EKK0171D010CBSMsg.TK_TAIIKI_CD);
		}
		else
		{
			template.set(EKK0171D010CBSMsg.TK_TAIIKI_CD, (String)inMap.get(prefix + "tk_taiiki_cd"));
		}

		HashMap svcMap = (HashMap)param.getData(fixedText);

		// 更新年月日時分秒(更新前)
		if (inMap == null || inMap.get(prefix + "upd_dtm_bf") == null || "".equals(inMap.get(prefix + "upd_dtm_bf")))
		{
			template.setNull(EKK0171D010CBSMsg.UPD_DTM_BF);
		}
		else
		{
			String lastDtm = JKKBpCommon.getLastDtmBySvcKeiNo(param, (String)svcMap.get("kk0081_svc_kei_no"),
					(String)inMap.get(prefix + "upd_dtm_bf"));
			template.set(EKK0171D010CBSMsg.UPD_DTM_BF, lastDtm);
		}

		return template;
	}

	/**
	 * 機器オプションサービス契約キャンセルの上りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @param index
	 * @param kkopListNm
	 * @param prefix
	 * @return CAANMsg
	 * @exception RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg editInEKK2811C110Msg(IRequestParameterReadWrite param, String fixedText, int index, String kkopListNm, String prefix) 
	throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK2811C110CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK2811C110CBSMsg.TEMPLATEID, "EKK2811C110");

		// 機能コード（デフォルト：１）
		template.set(EKK2811C110CBSMsg.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);

		/* ユーザデータ情報 */
		HashMap inMap = (HashMap)param.getData(fixedText);
		HashMap kkopMap = null;
		ArrayList inList = (ArrayList)(inMap.get(kkopListNm));
		kkopMap = (HashMap)inList.get(index);

		// 機能コード
		if (inMap != null)
		{
			template.set(EKK2811C110CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		// 機器オプションサービス契約番号
		if (kkopMap == null || kkopMap.get(prefix + "kkop_svc_kei_no") == null || "".equals(kkopMap.get(prefix + "kkop_svc_kei_no")))
		{
			template.setNull(EKK2811C110CBSMsg.KKOP_SVC_KEI_NO);
		}
		else
		{
			template.set(EKK2811C110CBSMsg.KKOP_SVC_KEI_NO, (String)kkopMap.get(prefix + "kkop_svc_kei_no"));
		}

		// 申込明細番号
		if (kkopMap == null || kkopMap.get(prefix + "mskm_dtl_no") == null || "".equals(kkopMap.get(prefix + "mskm_dtl_no")))
		{
			template.setNull(EKK2811C110CBSMsg.MSKM_DTL_NO);
		}
		else
		{
			template.set(EKK2811C110CBSMsg.MSKM_DTL_NO, (String)kkopMap.get(prefix + "mskm_dtl_no"));
		}

		// サービスキャンセル理由コード
		if (kkopMap == null || kkopMap.get(prefix + "svc_cancel_rsn_cd") == null || "".equals(kkopMap.get(prefix + "svc_cancel_rsn_cd")))
		{
			template.setNull(EKK2811C110CBSMsg.SVC_CANCEL_RSN_CD);
		}
		else
		{
			template.set(EKK2811C110CBSMsg.SVC_CANCEL_RSN_CD, (String)kkopMap.get(prefix + "svc_cancel_rsn_cd"));
		}

		// 異動区分
		if (kkopMap == null || kkopMap.get(prefix + "ido_div") == null || "".equals(kkopMap.get(prefix + "ido_div")))
		{
			template.setNull(EKK2811C110CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK2811C110CBSMsg.IDO_DIV, (String)kkopMap.get(prefix + "ido_div"));
		}

		HashMap svcMap = (HashMap)param.getData(fixedText);

		// 更新年月日時分秒(更新前)
		if (kkopMap == null || kkopMap.get(prefix + "upd_dtm_bf") == null || "".equals(kkopMap.get(prefix + "upd_dtm_bf")))
		{
			template.setNull(EKK2811C110CBSMsg.UPD_DTM_BF);
		}
		else
		{
			String lastDtm = JKKBpCommon.getLastDtmBySvcKeiNo(param, (String)svcMap.get("kk0081_svc_kei_no"),
					(String)kkopMap.get(prefix + "upd_dtm_bf"));
			template.set(EKK2811C110CBSMsg.UPD_DTM_BF, lastDtm);
		}

		return template;
	}

	/**
	 * 機器オプションサービス契約登録の上りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @param index
	 * @param kkopListNm
	 * @param prefix
	 * @return CAANMsg
	 * @exception RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg editInEKK2811D010Msg(IRequestParameterReadWrite param, String fixedText, int index, String kkopListNm, String prefix) 
	throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK2811D010CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK2811D010CBSMsg.TEMPLATEID, "EKK2811D010");

		// 機能コード（デフォルト：１）
		template.set(EKK2811D010CBSMsg.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);

		/* ユーザデータ情報 */
		HashMap inMap = (HashMap)param.getData(fixedText);
		HashMap kkopMap = null;
		ArrayList inList = (ArrayList)(inMap.get(kkopListNm));
		kkopMap = (HashMap)inList.get(index);

		// 機能コード
		if (inMap != null)
		{
			template.set(EKK2811D010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		// 機器オプションサービスコード
		if (kkopMap == null || kkopMap.get(prefix + "kkop_svc_cd") == null || "".equals(kkopMap.get(prefix + "kkop_svc_cd")))
		{
			template.setNull(EKK2811D010CBSMsg.KKOP_SVC_CD);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.KKOP_SVC_CD, (String)kkopMap.get(prefix + "kkop_svc_cd"));
		}

		// 料金コースコード
		if (kkopMap == null || kkopMap.get(prefix + "pcrs_cd") == null || "".equals(kkopMap.get(prefix + "pcrs_cd")))
		{
			template.setNull(EKK2811D010CBSMsg.PCRS_CD);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.PCRS_CD, (String)kkopMap.get(prefix + "pcrs_cd"));
		}

		// 料金プランコード
		if (kkopMap == null || kkopMap.get(prefix + "pplan_cd") == null || "".equals(kkopMap.get(prefix + "pplan_cd")))
		{
			template.setNull(EKK2811D010CBSMsg.PPLAN_CD);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.PPLAN_CD, (String)kkopMap.get(prefix + "pplan_cd"));
		}

		// 機器提供サービス契約番号
		if (kkopMap == null || kkopMap.get(prefix + "kktk_svc_kei_no") == null || "".equals(kkopMap.get(prefix + "kktk_svc_kei_no")))
		{
			String kktkSvcKeiNo = "";
			
			// 機器オプションサービスコードの設定有無
			if (kkopMap == null || kkopMap.get(prefix + "kkop_svc_cd") == null || "".equals(kkopMap.get(prefix + "kkop_svc_cd")))
			{
				// 機器提供サービス契約番号は設定しない
			}
			else
			{
				// 機器オプションサービスコードが端末補償の場合
				if (JKKStrConst.KKOP_SVC_CD_TNMT_COMPS.equals(kkopMap.get(prefix + "kkop_svc_cd")))
				{
					// 機器提供サービス契約番号を設定する
					kktkSvcKeiNo = getWorkMapValue(param, "kktk_svc_kei_no");
				}
				else
				{
					// 機器提供サービス契約番号は設定しない
				}
			}
			
			if (null == kktkSvcKeiNo || "".equals(kktkSvcKeiNo))
			{
				template.setNull(EKK2811D010CBSMsg.KKTK_SVC_KEI_NO);
			}
			else
			{
				template.set(EKK2811D010CBSMsg.KKTK_SVC_KEI_NO, kktkSvcKeiNo);
			}
		}
		else
		{
			template.set(EKK2811D010CBSMsg.KKTK_SVC_KEI_NO, (String)kkopMap.get(prefix + "kktk_svc_kei_no"));
		}

		// SYSID
		if (kkopMap == null || kkopMap.get(prefix + "sysid") == null || "".equals(kkopMap.get(prefix + "sysid")))
		{
			template.setNull(EKK2811D010CBSMsg.SYSID);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.SYSID, (String)kkopMap.get(prefix + "sysid"));
		}

		// 申込明細番号
		if (kkopMap == null || kkopMap.get(prefix + "mskm_dtl_no") == null || "".equals(kkopMap.get(prefix + "mskm_dtl_nomskm_dtl_no")))
		{
			template.setNull(EKK2811D010CBSMsg.MSKM_DTL_NO);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.MSKM_DTL_NO, (String)kkopMap.get(prefix + "mskm_dtl_no"));
		}

		// 試用加入年月日
		if (kkopMap == null || kkopMap.get(prefix + "ftrial_kanyu_ymd") == null || "".equals(kkopMap.get(prefix + "ftrial_kanyu_ymd")))
		{
			template.setNull(EKK2811D010CBSMsg.FTRIAL_KANYU_YMD);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.FTRIAL_KANYU_YMD, (String)kkopMap.get(prefix + "ftrial_kanyu_ymd"));
		}

		// 試用期間終了年月日
		if (kkopMap == null || kkopMap.get(prefix + "ftrial_prd_endymd") == null || "".equals(kkopMap.get(prefix + "ftrial_prd_endymd")))
		{
			template.setNull(EKK2811D010CBSMsg.FTRIAL_PRD_ENDYMD);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.FTRIAL_PRD_ENDYMD, (String)kkopMap.get(prefix + "ftrial_prd_endymd"));
		}

		// 本加入年月日
		if (kkopMap == null || kkopMap.get(prefix + "honkanyu_ymd") == null || "".equals(kkopMap.get(prefix + "honkanyu_ymd")))
		{
			template.setNull(EKK2811D010CBSMsg.HONKANYU_YMD);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.HONKANYU_YMD, (String)kkopMap.get(prefix + "honkanyu_ymd"));
		}

		// 本加入移行期限年月日
		if (kkopMap == null || kkopMap.get(prefix + "honkanyu_iko_kigen_ymd") == null || "".equals(kkopMap.get(prefix + "honkanyu_iko_kigen_ymd")))
		{
			template.setNull(EKK2811D010CBSMsg.HONKANYU_IKO_KIGEN_YMD);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.HONKANYU_IKO_KIGEN_YMD, (String)kkopMap.get(prefix + "honkanyu_iko_kigen_ymd"));
		}

		// サービス利用開始希望年月日
		if (kkopMap == null || kkopMap.get(prefix + "svc_use_sta_kibo_ymd") == null || "".equals(kkopMap.get(prefix + "svc_use_sta_kibo_ymd")))
		{
			template.setNull(EKK2811D010CBSMsg.SVC_USE_STA_KIBO_YMD);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.SVC_USE_STA_KIBO_YMD, (String)kkopMap.get(prefix + "svc_use_sta_kibo_ymd"));
		}

		// 予約適用開始希望年月日
		if (kkopMap == null || kkopMap.get(prefix + "rsv_tsta_kibo_ymd") == null || "".equals(kkopMap.get(prefix + "rsv_tsta_kibo_ymd")))
		{
			template.setNull(EKK2811D010CBSMsg.RSV_TSTA_KIBO_YMD);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.RSV_TSTA_KIBO_YMD, (String)kkopMap.get(prefix + "rsv_tsta_kibo_ymd"));
		}

		// 違約金発生コード
		if (kkopMap == null || kkopMap.get(prefix + "pnlty_hassei_cd") == null || "".equals(kkopMap.get(prefix + "pnlty_hassei_cd")))
		{
			template.setNull(EKK2811D010CBSMsg.PNLTY_HASSEI_CD);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.PNLTY_HASSEI_CD, (String)kkopMap.get(prefix + "pnlty_hassei_cd"));
		}

		// 異動区分
		if (kkopMap == null || kkopMap.get(prefix + "ido_div") == null || "".equals(kkopMap.get(prefix + "ido_div")))
		{
			template.setNull(EKK2811D010CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.IDO_DIV, (String)kkopMap.get(prefix + "ido_div"));
		}
		
		// 機器連帯契約変更手続中フラグ
		if (kkopMap == null || kkopMap.get(prefix + "kiki_rntai_kei_chgechu_flg") == null || "".equals(kkopMap.get(prefix + "kiki_rntai_kei_chgechu_flg")))
		{
			template.setNull(EKK2811D010CBSMsg.KIKI_RNTAI_KEI_CHGECHU_FLG);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.KIKI_RNTAI_KEI_CHGECHU_FLG, (String)kkopMap.get(prefix + "kiki_rntai_kei_chgechu_flg"));
		}

		// 請求契約番号
		if (kkopMap == null || kkopMap.get(prefix + "seiky_kei_no") == null || "".equals(kkopMap.get(prefix + "seiky_kei_no")))
		{
			template.setNull(EKK2811D010CBSMsg.SEIKY_KEI_NO);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.SEIKY_KEI_NO, (String)kkopMap.get(prefix + "seiky_kei_no"));
		}

		// 料金項目コード
		if (kkopMap == null || kkopMap.get(prefix + "prc_kmk_cd") == null || "".equals(kkopMap.get(prefix + "prc_kmk_cd")))
		{
			template.setNull(EKK2811D010CBSMsg.PRC_KMK_CD);
		}
		else
		{
			template.set(EKK2811D010CBSMsg.PRC_KMK_CD, (String)kkopMap.get(prefix + "prc_kmk_cd"));
		}

		HashMap svcMap = (HashMap)param.getData(fixedText);

		// 更新年月日時分秒(更新前)
		if (kkopMap == null || kkopMap.get(prefix + "upd_dtm_bf") == null || "".equals(kkopMap.get(prefix + "upd_dtm_bf")))
		{
			template.setNull(EKK2811D010CBSMsg.UPD_DTM_BF);
		}
		else
		{
			String lastDtm = JKKBpCommon.getLastDtmBySvcKeiNo(param, (String)svcMap.get("kk0081_svc_kei_no"),
					(String)kkopMap.get(prefix + "upd_dtm_bf"));
			template.set(EKK2811D010CBSMsg.UPD_DTM_BF, lastDtm);
		}

		return template;
	}

	/**
	 * 機器オプションサービス契約手続中料金プラン変更の上りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @param index
	 * @param kkopListNm
	 * @param prefix
	 * @return CAANMsg
	 * @exception RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg editInEKK2811C240Msg(IRequestParameterReadWrite param, String fixedText, int index, String kkopListNm, String prefix) 
	throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK2811C240CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK2811C240CBSMsg.TEMPLATEID, "EKK2811C240");

		// 機能コード（デフォルト：１）
		template.set(EKK2811C240CBSMsg.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);

		/* ユーザデータ情報 */
		HashMap inMap = (HashMap)param.getData(fixedText);
		HashMap kkopMap = null;
		ArrayList inList = (ArrayList)(inMap.get(kkopListNm));
		kkopMap = (HashMap)inList.get(index);

		// 機能コード
		if (inMap != null)
		{
			template.set(EKK2811C240CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		// 機器オプションサービス契約番号
		if (kkopMap == null || kkopMap.get(prefix + "kkop_svc_kei_no") == null || "".equals(kkopMap.get(prefix + "kkop_svc_kei_no")))
		{
			template.setNull(EKK2811C240CBSMsg.KKOP_SVC_KEI_NO);
		}
		else
		{
			template.set(EKK2811C240CBSMsg.KKOP_SVC_KEI_NO, (String)kkopMap.get(prefix + "kkop_svc_kei_no"));
		}

		// 料金コースコード
		if (kkopMap == null || kkopMap.get(prefix + "pcrs_cd") == null || "".equals(kkopMap.get(prefix + "pcrs_cd")))
		{
			template.setNull(EKK2811C240CBSMsg.PCRS_CD);
		}
		else
		{
			template.set(EKK2811C240CBSMsg.PCRS_CD, (String)kkopMap.get(prefix + "pcrs_cd"));
		}

		// 料金プランコード
		if (kkopMap == null || kkopMap.get(prefix + "pplan_cd") == null || "".equals(kkopMap.get(prefix + "pplan_cd")))
		{
			template.setNull(EKK2811C240CBSMsg.PPLAN_CD);
		}
		else
		{
			template.set(EKK2811C240CBSMsg.PPLAN_CD, (String)kkopMap.get(prefix + "pplan_cd"));
		}

		// 申込明細番号
		if (kkopMap == null || kkopMap.get(prefix + "mskm_dtl_no") == null || "".equals(kkopMap.get(prefix + "mskm_dtl_nomskm_dtl_no")))
		{
			template.setNull(EKK2811C240CBSMsg.MSKM_DTL_NO);
		}
		else
		{
			template.set(EKK2811C240CBSMsg.MSKM_DTL_NO, (String)kkopMap.get(prefix + "mskm_dtl_no"));
		}

		// 違約金発生コード
		if (kkopMap == null || kkopMap.get(prefix + "pnlty_hassei_cd") == null || "".equals(kkopMap.get(prefix + "pnlty_hassei_cd")))
		{
			template.setNull(EKK2811C240CBSMsg.PNLTY_HASSEI_CD);
		}
		else
		{
			template.set(EKK2811C240CBSMsg.PNLTY_HASSEI_CD, (String)kkopMap.get(prefix + "pnlty_hassei_cd"));
		}

		HashMap svcMap = (HashMap)param.getData(fixedText);

		// 更新年月日時分秒(更新前)
		if (kkopMap == null || kkopMap.get(prefix + "upd_dtm_bf") == null || "".equals(kkopMap.get(prefix + "upd_dtm_bf")))
		{
			template.setNull(EKK2811C240CBSMsg.UPD_DTM_BF);
		}
		else
		{
			String lastDtm = JKKBpCommon.getLastDtmBySvcKeiNo(param, (String)svcMap.get("kk0081_svc_kei_no"),
					(String)kkopMap.get(prefix + "upd_dtm_bf"));
			template.set(EKK2811C240CBSMsg.UPD_DTM_BF, lastDtm);
		}

		return template;
	}

	/**
	 * 割引サービス契約キャンセルの上りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @param index
	 * @return CAANMsg
	 * @exception RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg editInEKK0451C070(IRequestParameterReadWrite param, String fixedText, int index) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0451C070CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0451C070CBSMsg.TEMPLATEID, "EKK0451C070");

		// 機能コード（デフォルト：１）
		template.set(EKK0451C070CBSMsg.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);

		ArrayList inList = (ArrayList)((HashMap)param.getData(fixedText)).get(WRIB_CANCEL_LIST);
		if (inList == null)
		{
			inList = new ArrayList();
			((HashMap)param.getData(fixedText)).put(WRIB_CANCEL_LIST, inList);
		}
		HashMap inMap = (HashMap)inList.get(index);
		if (inMap == null)
		{
			inMap = new HashMap();
			inList.set(index, inMap);
		}

		// 割引サービス契約キャンセル.割引サービス契約番号 → 割引サービス契約番号
		if (inMap == null || inMap.get("kk0451_wrib_svc_kei_no") == null || "".equals(inMap.get("kk0451_wrib_svc_kei_no")))
		{
			template.setNull(EKK0451C070CBSMsg.WRIB_SVC_KEI_NO);
		}
		else
		{
			template.set(EKK0451C070CBSMsg.WRIB_SVC_KEI_NO, (String)inMap.get("kk0451_wrib_svc_kei_no"));
		}

		// 割引サービス契約キャンセル.申込明細番号 → 申込明細番号
		if (inMap == null || inMap.get("kk0451_mskm_dtl_no") == null || "".equals(inMap.get("kk0451_mskm_dtl_no")))
		{
			template.setNull(EKK0451C070CBSMsg.MSKM_DTL_NO);
		}
		else
		{
			template.set(EKK0451C070CBSMsg.MSKM_DTL_NO, (String)inMap.get("kk0451_mskm_dtl_no"));
		}

		// 割引サービス契約キャンセル.サービスキャンセル理由コード → サービスキャンセル理由コード
		if (inMap == null || inMap.get("kk0451_svc_cancel_rsn_cd") == null || "".equals(inMap.get("kk0451_svc_cancel_rsn_cd")))
		{
			template.setNull(EKK0451C070CBSMsg.SVC_CANCEL_RSN_CD);
		}
		else
		{
			template.set(EKK0451C070CBSMsg.SVC_CANCEL_RSN_CD, (String)inMap.get("kk0451_svc_cancel_rsn_cd"));
		}

		// 割引サービス契約キャンセル.異動区分 → 異動区分
		if (inMap == null || inMap.get("kk0451_ido_div") == null || "".equals(inMap.get("kk0451_ido_div")))
		{
			template.setNull(EKK0451C070CBSMsg.IDO_DIV);
		}
		else
		{
			template.set(EKK0451C070CBSMsg.IDO_DIV, (String)inMap.get("kk0451_ido_div"));
		}

		// 割引サービス契約キャンセル.割引解約キャンセル契機コード → 割引解約キャンセル契機コード
		if (inMap == null || inMap.get("kk0451_wrib_dsl_cncl_opty_cd") == null || "".equals(inMap.get("kk0451_wrib_dsl_cncl_opty_cd")))
		{
			template.setNull(EKK0451C070CBSMsg.WRIB_DSL_CNCL_OPTY_CD);
		}
		else
		{
			template.set(EKK0451C070CBSMsg.WRIB_DSL_CNCL_OPTY_CD, (String)inMap.get("kk0451_wrib_dsl_cncl_opty_cd"));
		}

		HashMap svcMap = (HashMap)param.getData(fixedText);

		// 割引サービス契約キャンセル.更新年月日時分秒(更新前) → 更新年月日時分秒(更新前)
		if (inMap == null || inMap.get("kk0451_upd_dtm_bf") == null || "".equals(inMap.get("kk0451_upd_dtm_bf")))
		{
			template.setNull(EKK0451C070CBSMsg.UPD_DTM_BF);
		}
		else
		{
			String lastDtm = JKKBpCommon.getLastDtmBySvcKeiNo(param, (String)svcMap.get("kk0081_svc_kei_no"),
					(String)inMap.get("kk0451_upd_dtm_bf"));
			template.set(EKK0451C070CBSMsg.UPD_DTM_BF, lastDtm);
		}

		return template;
	}

	/**
	 * サービス契約手続中料金プラン変更の下りマッピング処理
	 * <br>
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @return CAANMsg
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editRetEKK0081C100(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}
		HashMap workDataMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);
		if (workDataMap == null)
		{
			workDataMap = new HashMap();
			workMap.put(CC_WORK_AREA_NAME, workDataMap);
		}

		HashMap dataMap = (HashMap)param.getData(fixedText);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}

		// 更新年月日時分秒
		if (template.isNull(EKK0081C100CBSMsg.UPD_DTM))
		{
			dataMap.put("kk0081_upd_dtm", "");
		}
		else
		{
			dataMap.put("kk0081_upd_dtm", template.getString(EKK0081C100CBSMsg.UPD_DTM));

			HashMap inMap = (HashMap)param.getData(fixedText);
			JKKBpCommon.setLastDtmBySvcKeiNo(param, (String)inMap.get("kk0081_svc_kei_no"),
					template.getString(EKK0081C100CBSMsg.UPD_DTM));
		}

		// 更新オペレータアカウント ← サービス契約手続中料金プラン変更.更新オペレータアカウント
		if (template.isNull(EKK0081C100CBSMsg.UPD_OPEACNT))
		{
			dataMap.put("kk0081_upd_opeacnt", "");
		}
		else
		{
			dataMap.put("kk0081_upd_opeacnt", template.getString(EKK0081C100CBSMsg.UPD_OPEACNT));
		}

		param.setData(fixedText, dataMap);

		// エラー情報の設定
		editErrInfoEKK0081C100(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>
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @param index
	 * @return リクエストパラメータ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editRetEKK0341C330(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText, int index)
			throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}
		HashMap workDataMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);
		if (workDataMap == null)
		{
			workDataMap = new HashMap();
			workMap.put(CC_WORK_AREA_NAME, workDataMap);
		}

		ArrayList dataList = (ArrayList)((HashMap)param.getData(fixedText)).get(KIKI_CANCEL_LIST);
		if (dataList == null)
		{
			dataList = new ArrayList();
			((HashMap)param.getData(fixedText)).put(KIKI_CANCEL_LIST, dataList);
		}
		HashMap dataMap = (HashMap)dataList.get(index);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			dataList.set(index, dataMap);
		}

		// 機器提供サービス契約キャンセルマップ.世代登録年月日時分秒（機器提供サービス契約） ← 世代登録年月日時分秒
		if (template.isNull(EKK0341C330CBSMsg.GENE_ADD_DTM))
		{
			dataMap.put("kk0341_gene_add_dtm", "");
		}
		else
		{
			dataMap.put("kk0341_gene_add_dtm", template.getString(EKK0341C330CBSMsg.GENE_ADD_DTM));
		}

		// 機器提供サービス契約キャンセルマップ.機器提供サービス契約ステータス（機器提供サービス契約） ← 機器提供サービス契約ステータス
		if (template.isNull(EKK0341C330CBSMsg.KKTK_SVC_KEI_STAT))
		{
			dataMap.put("kk0341_kktk_svc_kei_stat", "");
		}
		else
		{
			dataMap.put("kk0341_kktk_svc_kei_stat", template.getString(EKK0341C330CBSMsg.KKTK_SVC_KEI_STAT));
		}

		// 機器提供サービス契約キャンセルマップ.予約適用年月日（機器提供サービス契約） ← 予約適用年月日
		if (template.isNull(EKK0341C330CBSMsg.RSV_APLY_YMD))
		{
			dataMap.put("kk0341_rsv_aply_ymd", "");
		}
		else
		{
			dataMap.put("kk0341_rsv_aply_ymd", template.getString(EKK0341C330CBSMsg.RSV_APLY_YMD));
		}

		// 機器提供サービス契約キャンセルマップ.予約適用コード（機器提供サービス契約） ← 予約適用コード
		if (template.isNull(EKK0341C330CBSMsg.RSV_APLY_CD))
		{
			dataMap.put("kk0341_rsv_aply_cd", "");
		}
		else
		{
			dataMap.put("kk0341_rsv_aply_cd", template.getString(EKK0341C330CBSMsg.RSV_APLY_CD));
		}

		// 機器提供サービス契約キャンセルマップ.サービスキャンセル年月日（機器提供サービス契約） ← サービスキャンセル年月日
		if (template.isNull(EKK0341C330CBSMsg.SVC_CANCEL_YMD))
		{
			dataMap.put("kk0341_svc_cancel_ymd", "");
		}
		else
		{
			dataMap.put("kk0341_svc_cancel_ymd", template.getString(EKK0341C330CBSMsg.SVC_CANCEL_YMD));
		}

		// サービスキャンセル取消年月日
		if (template.isNull(EKK0341C330CBSMsg.SVC_CANCEL_CL_YMD))
		{
			dataMap.put("kk0341_svc_cancel_cl_ymd", "");
		}
		else
		{
			dataMap.put("kk0341_svc_cancel_cl_ymd", template.getString(EKK0341C330CBSMsg.SVC_CANCEL_CL_YMD));
		}

		// 機器提供サービス契約キャンセルマップ.登録年月日時分秒（機器提供サービス契約） ← 登録年月日時分秒
		if (template.isNull(EKK0341C330CBSMsg.ADD_DTM))
		{
			dataMap.put("kk0341_add_dtm", "");
		}
		else
		{
			dataMap.put("kk0341_add_dtm", template.getString(EKK0341C330CBSMsg.ADD_DTM));
		}

		// 機器提供サービス契約キャンセルマップ.登録オペレータアカウント（機器提供サービス契約） ← 登録オペレータアカウント
		if (template.isNull(EKK0341C330CBSMsg.ADD_OPEACNT))
		{
			dataMap.put("kk0341_add_opeacnt", "");
		}
		else
		{
			dataMap.put("kk0341_add_opeacnt", template.getString(EKK0341C330CBSMsg.ADD_OPEACNT));
		}

		// 機器提供サービス契約キャンセルマップ.更新年月日時分秒（機器提供サービス契約） ← 更新年月日時分秒
		if (template.isNull(EKK0341C330CBSMsg.UPD_DTM))
		{
			dataMap.put("kk0341_upd_dtm", "");
		}
		else
		{
			dataMap.put("kk0341_upd_dtm", template.getString(EKK0341C330CBSMsg.UPD_DTM));

			HashMap inMap = (HashMap)param.getData(fixedText);
			JKKBpCommon.setLastDtmBySvcKeiNo(param, (String)inMap.get("kk0081_svc_kei_no"),
					template.getString(EKK0341C330CBSMsg.UPD_DTM));
		}

		// 機器提供サービス契約キャンセルマップ.更新オペレータアカウント（機器提供サービス契約） ← 更新オペレータアカウント
		if (template.isNull(EKK0341C330CBSMsg.UPD_OPEACNT))
		{
			dataMap.put("kk0341_upd_opeacnt", "");
		}
		else
		{
			dataMap.put("kk0341_upd_opeacnt", template.getString(EKK0341C330CBSMsg.UPD_OPEACNT));
		}

		// 機器提供サービス契約キャンセルマップ.無効フラグ（機器提供サービス契約） ← 無効フラグ
		if (template.isNull(EKK0341C330CBSMsg.MK_FLG))
		{
			dataMap.put("kk0341_mk_flg", "");
		}
		else
		{
			dataMap.put("kk0341_mk_flg", template.getString(EKK0341C330CBSMsg.MK_FLG));
		}

		// エラー情報の設定
		editErrInfoEKK0341C330(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>
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @return リクエストパラメータ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editRetEKK0391D010(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}
		HashMap workDataMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);
		if (workDataMap == null)
		{
			workDataMap = new HashMap();
			workMap.put(CC_WORK_AREA_NAME, workDataMap);
		}

		HashMap dataMap = (HashMap)param.getData(fixedText);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}

		// オプションサービス契約番号 ← オプションサービス契約<サポート>登録.オプションサービス契約番号
		if (template.isNull(EKK0391D010CBSMsg.OP_SVC_KEI_NO))
		{
			dataMap.put("kk0391_op_svc_kei_no", "");
		}
		else
		{
			dataMap.put("kk0391_op_svc_kei_no", template.getString(EKK0391D010CBSMsg.OP_SVC_KEI_NO));
		}

		// 世代登録年月日時分秒(オプションサービス契約) ← オプションサービス契約<サポート>登録.世代登録年月日時分秒(オプションサービス契約)
		if (template.isNull(EKK0391D010CBSMsg.KK0351_GENE_ADD_DTM))
		{
			dataMap.put("kk0391_kk0351_gene_add_dtm", "");
		}
		else
		{
			dataMap.put("kk0391_kk0351_gene_add_dtm", template.getString(EKK0391D010CBSMsg.KK0351_GENE_ADD_DTM));
		}

		// オプションサービス契約ステータス ← オプションサービス契約<サポート>登録.オプションサービス契約ステータス
		if (template.isNull(EKK0391D010CBSMsg.OP_SVC_KEI_STAT))
		{
			dataMap.put("kk0391_op_svc_kei_stat", "");
		}
		else
		{
			dataMap.put("kk0391_op_svc_kei_stat", template.getString(EKK0391D010CBSMsg.OP_SVC_KEI_STAT));
		}

		// 予約適用年月日 ← オプションサービス契約<サポート>登録.予約適用年月日
		if (template.isNull(EKK0391D010CBSMsg.RSV_APLY_YMD))
		{
			dataMap.put("kk0391_rsv_aply_ymd", "");
		}
		else
		{
			dataMap.put("kk0391_rsv_aply_ymd", template.getString(EKK0391D010CBSMsg.RSV_APLY_YMD));
		}

		// 予約適用コード ← オプションサービス契約<サポート>登録.予約適用コード
		if (template.isNull(EKK0391D010CBSMsg.RSV_APLY_CD))
		{
			dataMap.put("kk0391_rsv_aply_cd", "");
		}
		else
		{
			dataMap.put("kk0391_rsv_aply_cd", template.getString(EKK0391D010CBSMsg.RSV_APLY_CD));
		}

		// 世代登録年月日時分秒(オプションサービス契約<サポート>) ←
		// オプションサービス契約<サポート>登録.世代登録年月日時分秒(オプションサービス契約<サポート>)
		if (template.isNull(EKK0391D010CBSMsg.KK0391_GENE_ADD_DTM))
		{
			dataMap.put("kk0391_kk0391_gene_add_dtm", "");
		}
		else
		{
			dataMap.put("kk0391_kk0391_gene_add_dtm", template.getString(EKK0391D010CBSMsg.KK0391_GENE_ADD_DTM));
		}

		// 登録年月日時分秒 ← オプションサービス契約<サポート>登録.登録年月日時分秒
		if (template.isNull(EKK0391D010CBSMsg.ADD_DTM))
		{
			dataMap.put("kk0391_add_dtm", "");
		}
		else
		{
			dataMap.put("kk0391_add_dtm", template.getString(EKK0391D010CBSMsg.ADD_DTM));
		}

		// 登録オペレータアカウント ← オプションサービス契約<サポート>登録.登録オペレータアカウント
		if (template.isNull(EKK0391D010CBSMsg.ADD_OPEACNT))
		{
			dataMap.put("kk0391_add_opeacnt", "");
		}
		else
		{
			dataMap.put("kk0391_add_opeacnt", template.getString(EKK0391D010CBSMsg.ADD_OPEACNT));
		}

		// 更新年月日時分秒 ← オプションサービス契約<サポート>登録.更新年月日時分秒
		if (template.isNull(EKK0391D010CBSMsg.UPD_DTM))
		{
			dataMap.put("kk0391_upd_dtm", "");
		}
		else
		{
			dataMap.put("kk0391_upd_dtm", template.getString(EKK0391D010CBSMsg.UPD_DTM));

			HashMap inMap = (HashMap)param.getData(fixedText);
			JKKBpCommon.setLastDtmBySvcKeiNo(param, (String)inMap.get("kk0081_svc_kei_no"),
					template.getString(EKK0391D010CBSMsg.UPD_DTM));
		}

		// 更新オペレータアカウント ← オプションサービス契約<サポート>登録.更新オペレータアカウント
		if (template.isNull(EKK0391D010CBSMsg.UPD_OPEACNT))
		{
			dataMap.put("kk0391_upd_opeacnt", "");
		}
		else
		{
			dataMap.put("kk0391_upd_opeacnt", template.getString(EKK0391D010CBSMsg.UPD_OPEACNT));
		}

		// 無効フラグ ← オプションサービス契約<サポート>登録.無効フラグ
		if (template.isNull(EKK0391D010CBSMsg.MK_FLG))
		{
			dataMap.put("kk0391_mk_flg", "");
		}
		else
		{
			dataMap.put("kk0391_mk_flg", template.getString(EKK0391D010CBSMsg.MK_FLG));
		}

		// 課金先番号 ← オプションサービス契約<サポート>登録.課金先番号
		if (template.isNull(EKK0391D010CBSMsg.KAKINS_NO))
		{
			dataMap.put("kk0391_kakins_no", "");
		}
		else
		{
			dataMap.put("kk0391_kakins_no", template.getString(EKK0391D010CBSMsg.KAKINS_NO));
		}

		// 課金先適用開始年月日 ← オプションサービス契約<サポート>登録.課金先適用開始年月日
		if (template.isNull(EKK0391D010CBSMsg.KAKINS_TSTAYMD))
		{
			dataMap.put("kk0391_kakins_tstaymd", "");
		}
		else
		{
			dataMap.put("kk0391_kakins_tstaymd", template.getString(EKK0391D010CBSMsg.KAKINS_TSTAYMD));
		}

		// 課金先適用終了年月日 ← オプションサービス契約<サポート>登録.課金先適用終了年月日
		if (template.isNull(EKK0391D010CBSMsg.KAKINS_TENDYMD))
		{
			dataMap.put("kk0391_kakins_tendymd", "");
		}
		else
		{
			dataMap.put("kk0391_kakins_tendymd", template.getString(EKK0391D010CBSMsg.KAKINS_TENDYMD));
		}

		param.setData(fixedText, dataMap);

		// エラー情報の設定
		editErrInfoEKK0391D010(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 msgList
	 * @param param
	 * @param fixedText
	 * @return IRequestParameterReadWrite
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editRetEKK0091C040(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}
		HashMap workDataMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);
		if (workDataMap == null)
		{
			workDataMap = new HashMap();
			workMap.put(CC_WORK_AREA_NAME, workDataMap);
		}

		HashMap dataMap = (HashMap)param.getData(fixedText);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}

		// 世代登録年月日時分秒(サービス契約) ← サービス契約<eo光ネット>情報変更.世代登録年月日時分秒(サービス契約)
		if (template.isNull(EKK0091C040CBSMsg.KK0081_GENE_ADD_DTM))
		{
			dataMap.put("kk0091_kk0081_gene_add_dtm", "");
		}
		else
		{
			dataMap.put("kk0091_kk0081_gene_add_dtm", template.getString(EKK0091C040CBSMsg.KK0081_GENE_ADD_DTM));
		}

		// 予約適用年月日 ← サービス契約<eo光ネット>情報変更.予約適用年月日
		if (template.isNull(EKK0091C040CBSMsg.RSV_APLY_YMD))
		{
			dataMap.put("kk0091_rsv_aply_ymd", "");
		}
		else
		{
			dataMap.put("kk0091_rsv_aply_ymd", template.getString(EKK0091C040CBSMsg.RSV_APLY_YMD));
		}

		// 予約適用コード ← サービス契約<eo光ネット>情報変更.予約適用コード
		if (template.isNull(EKK0091C040CBSMsg.RSV_APLY_CD))
		{
			dataMap.put("kk0091_rsv_aply_cd", "");
		}
		else
		{
			dataMap.put("kk0091_rsv_aply_cd", template.getString(EKK0091C040CBSMsg.RSV_APLY_CD));
		}

		// 登録年月日時分秒 ← サービス契約<eo光ネット>情報変更.登録年月日時分秒
		if (template.isNull(EKK0091C040CBSMsg.ADD_DTM))
		{
			dataMap.put("kk0091_add_dtm", "");
		}
		else
		{
			dataMap.put("kk0091_add_dtm", template.getString(EKK0091C040CBSMsg.ADD_DTM));
		}

		// 登録オペレータアカウント ← サービス契約<eo光ネット>情報変更.登録オペレータアカウント
		if (template.isNull(EKK0091C040CBSMsg.ADD_OPEACNT))
		{
			dataMap.put("kk0091_add_opeacnt", "");
		}
		else
		{
			dataMap.put("kk0091_add_opeacnt", template.getString(EKK0091C040CBSMsg.ADD_OPEACNT));
		}

		// 更新年月日時分秒 ← サービス契約<eo光ネット>情報変更.更新年月日時分秒
		if (template.isNull(EKK0091C040CBSMsg.UPD_DTM))
		{
			dataMap.put("kk0091_upd_dtm", "");
		}
		else
		{
			dataMap.put("kk0091_upd_dtm", template.getString(EKK0091C040CBSMsg.UPD_DTM));

			HashMap inMap = (HashMap)param.getData(fixedText);
			JKKBpCommon.setLastDtmBySvcKeiNo(param, (String)inMap.get("kk0091_svc_kei_no"),
					template.getString(EKK0091C040CBSMsg.UPD_DTM));
		}

		// 更新オペレータアカウント ← サービス契約<eo光ネット>情報変更.更新オペレータアカウント
		if (template.isNull(EKK0091C040CBSMsg.UPD_OPEACNT))
		{
			dataMap.put("kk0091_upd_opeacnt", "");
		}
		else
		{
			dataMap.put("kk0091_upd_opeacnt", template.getString(EKK0091C040CBSMsg.UPD_OPEACNT));
		}

		// 無効フラグ ← サービス契約<eo光ネット>情報変更.無効フラグ
		if (template.isNull(EKK0091C040CBSMsg.MK_FLG))
		{
			dataMap.put("kk0091_mk_flg", "");
		}
		else
		{
			dataMap.put("kk0091_mk_flg", template.getString(EKK0091C040CBSMsg.MK_FLG));
		}

		// 世代登録年月日時分秒(サービス契約<eo光ネット>) ← サービス契約<eo光ネット>情報変更.世代登録年月日時分秒(サービス契約<eo光ネット>)
		if (template.isNull(EKK0091C040CBSMsg.KK0091_GENE_ADD_DTM))
		{
			dataMap.put("kk0091_kk0091_gene_add_dtm", "");
		}
		else
		{
			dataMap.put("kk0091_kk0091_gene_add_dtm", template.getString(EKK0091C040CBSMsg.KK0091_GENE_ADD_DTM));
		}

		param.setData(fixedText, dataMap);

		// エラー情報の設定
		editErrInfoEKK0091C040(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>
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @return リクエストパラメータ
	 * @exception Exception
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editRetEKK0021C040(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}

		HashMap dataMap = (HashMap)param.getData(fixedText);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}

		// 世代登録年月日時分秒
		if (template.isNull(EKK0021C040CBSMsg.GENE_ADD_DTM))
		{
			dataMap.put("kk002101_gene_add_dtm", "");
		}
		else
		{
			dataMap.put("kk002101_gene_add_dtm", template.getString(EKK0021C040CBSMsg.GENE_ADD_DTM));
		}

		// 登録年月日時分秒
		if (template.isNull(EKK0021C040CBSMsg.ADD_DTM))
		{
			dataMap.put("kk002101_add_dtm", "");
		}
		else
		{
			dataMap.put("kk002101_add_dtm", template.getString(EKK0021C040CBSMsg.ADD_DTM));
		}

		// 登録オペレータアカウント
		if (template.isNull(EKK0021C040CBSMsg.ADD_OPEACNT))
		{
			dataMap.put("kk002101_add_opeacnt", "");
		}
		else
		{
			dataMap.put("kk002101_add_opeacnt", template.getString(EKK0021C040CBSMsg.ADD_OPEACNT));
		}

		// 更新年月日時分秒
		if (template.isNull(EKK0021C040CBSMsg.UPD_DTM))
		{
			dataMap.put("kk002101_upd_dtm", "");
		}
		else
		{
			dataMap.put("kk002101_upd_dtm", template.getString(EKK0021C040CBSMsg.UPD_DTM));

			JKKBpCommon.setLastDtmByMskm(param, template.getString(EKK0021C040CBSMsg.UPD_DTM));
		}

		// 更新オペレータアカウント
		if (template.isNull(EKK0021C040CBSMsg.UPD_OPEACNT))
		{
			dataMap.put("kk002101_upd_opeacnt", "");
		}
		else
		{
			dataMap.put("kk002101_upd_opeacnt", template.getString(EKK0021C040CBSMsg.UPD_OPEACNT));
		}

		// 無効フラグ
		if (template.isNull(EKK0021C040CBSMsg.MK_FLG))
		{
			dataMap.put("kk002101_mk_flg", "");
		}
		else
		{
			dataMap.put("kk002101_mk_flg", template.getString(EKK0021C040CBSMsg.MK_FLG));
		}

		param.setData(fixedText, dataMap);

		// エラー情報の設定
		editErrInfoEKK0021C040(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>
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @return リクエストパラメータ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editRetEKK0161C160(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}
		HashMap workDataMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);
		if (workDataMap == null)
		{
			workDataMap = new HashMap();
			workMap.put(CC_WORK_AREA_NAME, workDataMap);
		}

		HashMap dataMap = (HashMap)param.getData(fixedText);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}

		// サービス契約内訳キャンセルマップ.世代登録年月日時分秒 ← 世代登録年月日時分秒
		if (template.isNull(EKK0161C160CBSMsg.GENE_ADD_DTM))
		{
			dataMap.put("kk0161_gene_add_dtm", "");
		}
		else
		{
			dataMap.put("kk0161_gene_add_dtm", template.getString(EKK0161C160CBSMsg.GENE_ADD_DTM));
		}

		// サービス契約内訳キャンセルマップ.サービス契約内訳ステータス ← サービス契約内訳ステータス
		if (template.isNull(EKK0161C160CBSMsg.SVC_KEI_UCWK_STAT))
		{
			dataMap.put("kk0161_svc_kei_ucwk_stat", "");
		}
		else
		{
			dataMap.put("kk0161_svc_kei_ucwk_stat", template.getString(EKK0161C160CBSMsg.SVC_KEI_UCWK_STAT));
		}

		// サービス契約内訳キャンセルマップ.予約適用年月日 ← 予約適用年月日
		if (template.isNull(EKK0161C160CBSMsg.RSV_APLY_YMD))
		{
			dataMap.put("kk0161_rsv_aply_ymd", "");
		}
		else
		{
			dataMap.put("kk0161_rsv_aply_ymd", template.getString(EKK0161C160CBSMsg.RSV_APLY_YMD));
		}

		// サービス契約内訳キャンセルマップ.予約適用コード ← 予約適用コード
		if (template.isNull(EKK0161C160CBSMsg.RSV_APLY_CD))
		{
			dataMap.put("kk0161_rsv_aply_cd", "");
		}
		else
		{
			dataMap.put("kk0161_rsv_aply_cd", template.getString(EKK0161C160CBSMsg.RSV_APLY_CD));
		}

		// サービス契約内訳キャンセルマップ.サービスキャンセル年月日 ← サービスキャンセル年月日
		if (template.isNull(EKK0161C160CBSMsg.SVC_CANCEL_YMD))
		{
			dataMap.put("kk0161_svc_cancel_ymd", "");
		}
		else
		{
			dataMap.put("kk0161_svc_cancel_ymd", template.getString(EKK0161C160CBSMsg.SVC_CANCEL_YMD));
		}

		// サービス契約内訳キャンセルマップ.サービスキャンセル取消年月日 ← サービスキャンセル取消年月日
		if (template.isNull(EKK0161C160CBSMsg.SVC_CANCEL_CL_YMD))
		{
			dataMap.put("kk0161_svc_cancel_cl_ymd", "");
		}
		else
		{
			dataMap.put("kk0161_svc_cancel_cl_ymd", template.getString(EKK0161C160CBSMsg.SVC_CANCEL_CL_YMD));
		}

		// サービス契約内訳キャンセルマップ.登録年月日時分秒 ← 登録年月日時分秒
		if (template.isNull(EKK0161C160CBSMsg.ADD_DTM))
		{
			dataMap.put("kk0161_add_dtm", "");
		}
		else
		{
			dataMap.put("kk0161_add_dtm", template.getString(EKK0161C160CBSMsg.ADD_DTM));
		}

		// サービス契約内訳キャンセルマップ.登録オペレータアカウント ← 登録オペレータアカウント
		if (template.isNull(EKK0161C160CBSMsg.ADD_OPEACNT))
		{
			dataMap.put("kk0161_add_opeacnt", "");
		}
		else
		{
			dataMap.put("kk0161_add_opeacnt", template.getString(EKK0161C160CBSMsg.ADD_OPEACNT));
		}

		// サービス契約内訳キャンセルマップ.更新年月日時分秒 ← 更新年月日時分秒
		if (template.isNull(EKK0161C160CBSMsg.UPD_DTM))
		{
			dataMap.put("kk0161_upd_dtm", "");
		}
		else
		{
			dataMap.put("kk0161_upd_dtm", template.getString(EKK0161C160CBSMsg.UPD_DTM));

			HashMap inMap = (HashMap)param.getData(fixedText);
			JKKBpCommon.setLastDtmBySvcKeiNo(param, (String)inMap.get("kk0081_svc_kei_no"),
					template.getString(EKK0161C160CBSMsg.UPD_DTM));
		}

		// サービス契約内訳キャンセルマップ.更新オペレータアカウント ← 更新オペレータアカウント
		if (template.isNull(EKK0161C160CBSMsg.UPD_OPEACNT))
		{
			dataMap.put("kk0161_upd_opeacnt", "");
		}
		else
		{
			dataMap.put("kk0161_upd_opeacnt", template.getString(EKK0161C160CBSMsg.UPD_OPEACNT));
		}

		// サービス契約内訳キャンセルマップ.無効フラグ ← 無効フラグ
		if (template.isNull(EKK0161C160CBSMsg.MK_FLG))
		{
			dataMap.put("kk0161_mk_flg", "");
		}
		else
		{
			dataMap.put("kk0161_mk_flg", template.getString(EKK0161C160CBSMsg.MK_FLG));
		}

		param.setData(fixedText, dataMap);

		// エラー情報の設定
		editErrInfoEKK0161C160(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 msgList
	 * @param param
	 * @param fixedText
	 * @param prefix
	 * @return リクエストパラメータ
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editRetEKK0171D010(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText, String prefix)
			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 = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}

		/* 業務データ設定 */
		HashMap dataMap = (HashMap)param.getData(fixedText);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}

		// サービス契約内訳番号
		if (template.isNull(EKK0171D010CBSMsg.SVC_KEI_UCWK_NO))
		{
			dataMap.put(prefix + "svc_kei_ucwk_no", "");
		}
		else
		{
			dataMap.put(prefix + "svc_kei_ucwk_no", template.getString(EKK0171D010CBSMsg.SVC_KEI_UCWK_NO));
		}
		// 世代登録年月日時分秒(サービス契約内訳)
		if (template.isNull(EKK0171D010CBSMsg.KK0161_GENE_ADD_DTM))
		{
			dataMap.put(prefix + "kk0161_gene_add_dtm", "");
		}
		else
		{
			dataMap.put(prefix + "kk0161_gene_add_dtm", template.getString(EKK0171D010CBSMsg.KK0161_GENE_ADD_DTM));
		}
		// サービス契約内訳ステータス
		if (template.isNull(EKK0171D010CBSMsg.SVC_KEI_UCWK_STAT))
		{
			dataMap.put(prefix + "svc_kei_ucwk_stat", "");
		}
		else
		{
			dataMap.put(prefix + "svc_kei_ucwk_stat", template.getString(EKK0171D010CBSMsg.SVC_KEI_UCWK_STAT));
		}
		// WEBオプション追加不可フラグ（出力）
		if (template.isNull(EKK0171D010CBSMsg.WEB_OP_ADD_FAIL_FLG_O))
		{
			dataMap.put(prefix + "web_op_add_fail_flg_o", "");
		}
		else
		{
			dataMap.put(prefix + "web_op_add_fail_flg_o", template.getString(EKK0171D010CBSMsg.WEB_OP_ADD_FAIL_FLG_O));
		}
		// 予約適用年月日
		if (template.isNull(EKK0171D010CBSMsg.RSV_APLY_YMD))
		{
			dataMap.put(prefix + "rsv_aply_ymd", "");
		}
		else
		{
			dataMap.put(prefix + "rsv_aply_ymd", template.getString(EKK0171D010CBSMsg.RSV_APLY_YMD));
		}
		// 予約適用コード
		if (template.isNull(EKK0171D010CBSMsg.RSV_APLY_CD))
		{
			dataMap.put(prefix + "rsv_aply_cd", "");
		}
		else
		{
			dataMap.put(prefix + "rsv_aply_cd", template.getString(EKK0171D010CBSMsg.RSV_APLY_CD));
		}
		// 世代登録年月日時分秒(サービス契約内訳<eo光ネット>)
		if (template.isNull(EKK0171D010CBSMsg.KK0171_GENE_ADD_DTM))
		{
			dataMap.put(prefix + "kk0171_gene_add_dtm", "");
		}
		else
		{
			dataMap.put(prefix + "kk0171_gene_add_dtm", template.getString(EKK0171D010CBSMsg.KK0171_GENE_ADD_DTM));
		}
		// 登録年月日時分秒
		if (template.isNull(EKK0171D010CBSMsg.ADD_DTM))
		{
			dataMap.put(prefix + "add_dtm", "");
		}
		else
		{
			dataMap.put(prefix + "add_dtm", template.getString(EKK0171D010CBSMsg.ADD_DTM));
		}
		// 登録オペレータアカウント
		if (template.isNull(EKK0171D010CBSMsg.ADD_OPEACNT))
		{
			dataMap.put(prefix + "add_opeacnt", "");
		}
		else
		{
			dataMap.put(prefix + "add_opeacnt", template.getString(EKK0171D010CBSMsg.ADD_OPEACNT));
		}
		// 更新年月日時分秒
		if (template.isNull(EKK0171D010CBSMsg.UPD_DTM))
		{
			dataMap.put(prefix + "upd_dtm", "");
		}
		else
		{
			dataMap.put(prefix + "upd_dtm", template.getString(EKK0171D010CBSMsg.UPD_DTM));

			HashMap inMap = (HashMap)param.getData(fixedText);
			JKKBpCommon.setLastDtmBySvcKeiNo(param, (String)inMap.get("kk0081_svc_kei_no"),
					template.getString(EKK0171D010CBSMsg.UPD_DTM));
		}
		// 更新オペレータアカウント
		if (template.isNull(EKK0171D010CBSMsg.UPD_OPEACNT))
		{
			dataMap.put(prefix + "upd_opeacnt", "");
		}
		else
		{
			dataMap.put(prefix + "upd_opeacnt", template.getString(EKK0171D010CBSMsg.UPD_OPEACNT));
		}
		// 無効フラグ
		if (template.isNull(EKK0171D010CBSMsg.MK_FLG))
		{
			dataMap.put(prefix + "mk_flg", "");
		}
		else
		{
			dataMap.put(prefix + "mk_flg", template.getString(EKK0171D010CBSMsg.MK_FLG));
		}

		/* 作業項目情報 */
		HashMap addSvcKeiNetWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);
		if (addSvcKeiNetWorkMap == null)
		{
			addSvcKeiNetWorkMap = new HashMap();
			workMap.put(CC_WORK_AREA_NAME, addSvcKeiNetWorkMap);
		}

		// サービス契約内訳番号
		if (template.isNull(EKK0171D010CBSMsg.SVC_KEI_UCWK_NO))
		{
			addSvcKeiNetWorkMap.put("svc_kei_ucwk_no", "");
		}
		else
		{
			addSvcKeiNetWorkMap.put("svc_kei_ucwk_no", template.getString(EKK0171D010CBSMsg.SVC_KEI_UCWK_NO));
		}

		// エラー情報の設定
		editErrInfoEKK0171D010(param, template, (Integer)returnCode, fixedText, prefix);

		// エラー情報のマップを取得
		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>
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @param index
	 * @param kkopListNm
	 * @param prefix
	 * @return リクエストパラメータ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editOutEKK2811C110Msg(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText, 
			int index, String kkopListNm, String prefix) throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		ArrayList dataList = (ArrayList)((HashMap)param.getData(fixedText)).get(kkopListNm);

		if (dataList == null)
		{
			dataList = new ArrayList();
			((HashMap)param.getData(fixedText)).put(kkopListNm, dataList);
		}

		HashMap dataMap = (HashMap)dataList.get(index);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			dataList.set(index, dataMap);
		}

		// 機器オプションサービス契約キャンセルマップ.世代登録年月日時分秒 ← 世代登録年月日時分秒
		if (template.isNull(EKK2811C110CBSMsg.GENE_ADD_DTM))
		{
			dataMap.put(prefix + "gene_add_dtm", "");
		}
		else
		{
			dataMap.put(prefix + "gene_add_dtm", template.getString(EKK2811C110CBSMsg.GENE_ADD_DTM));
		}

		// 機器オプションサービス契約キャンセルマップ.機器オプションサービス契約ステータス ← 機器オプションサービス契約ステータス
		if (template.isNull(EKK2811C110CBSMsg.KKOP_SVC_KEI_STAT))
		{
			dataMap.put(prefix + "kkop_svc_kei_stat", "");
		}
		else
		{
			dataMap.put(prefix + "kkop_svc_kei_stat", template.getString(EKK2811C110CBSMsg.KKOP_SVC_KEI_STAT));
		}

		// 機器オプションサービス契約キャンセルマップ.予約適用年月日 ← 予約適用年月日
		if (template.isNull(EKK2811C110CBSMsg.RSV_APLY_YMD))
		{
			dataMap.put(prefix + "rsv_aply_ymd", "");
		}
		else
		{
			dataMap.put(prefix + "rsv_aply_ymd", template.getString(EKK2811C110CBSMsg.RSV_APLY_YMD));
		}

		// 機器オプションサービス契約キャンセルマップ.予約適用コード ← 予約適用コード
		if (template.isNull(EKK2811C110CBSMsg.RSV_APLY_CD))
		{
			dataMap.put(prefix + "rsv_aply_cd", "");
		}
		else
		{
			dataMap.put(prefix + "rsv_aply_cd", template.getString(EKK2811C110CBSMsg.RSV_APLY_CD));
		}

		// 機器オプションサービス契約キャンセルマップ.サービスキャンセル年月日 ← サービスキャンセル年月日
		if (template.isNull(EKK2811C110CBSMsg.SVC_CANCEL_YMD))
		{
			dataMap.put(prefix + "svc_cancel_ymd", "");
		}
		else
		{
			dataMap.put(prefix + "svc_cancel_ymd", template.getString(EKK2811C110CBSMsg.SVC_CANCEL_YMD));
		}

		// 機器オプションサービス契約キャンセルマップ.サービスキャンセル取消年月日 ← サービスキャンセル取消年月日
		if (template.isNull(EKK2811C110CBSMsg.SVC_CANCEL_CL_YMD))
		{
			dataMap.put(prefix + "svc_cancel_cl_ymd", "");
		}
		else
		{
			dataMap.put(prefix + "svc_cancel_cl_ymd", template.getString(EKK2811C110CBSMsg.SVC_CANCEL_CL_YMD));
		}

		// 機器オプションサービス契約キャンセルマップ.登録年月日時分秒 ← 登録年月日時分秒
		if (template.isNull(EKK2811C110CBSMsg.ADD_DTM))
		{
			dataMap.put(prefix + "add_dtm", "");
		}
		else
		{
			dataMap.put(prefix + "add_dtm", template.getString(EKK2811C110CBSMsg.ADD_DTM));
		}

		// 機器オプションサービス契約キャンセルマップ.登録オペレータアカウント ← 登録オペレータアカウント
		if (template.isNull(EKK2811C110CBSMsg.ADD_OPEACNT))
		{
			dataMap.put(prefix + "add_opeacnt", "");
		}
		else
		{
			dataMap.put(prefix + "add_opeacnt", template.getString(EKK2811C110CBSMsg.ADD_OPEACNT));
		}

		// 機器オプションサービス契約キャンセルマップ.更新年月日時分秒 ← 更新年月日時分秒
		if (template.isNull(EKK2811C110CBSMsg.UPD_DTM))
		{
			dataMap.put(prefix + "upd_dtm", "");
		}
		else
		{
			dataMap.put(prefix + "upd_dtm", template.getString(EKK2811C110CBSMsg.UPD_DTM));

			HashMap inMap = (HashMap)param.getData(fixedText);
			JKKBpCommon.setLastDtmBySvcKeiNo(param, (String)inMap.get("kk0081_svc_kei_no"),
					template.getString(EKK2811C110CBSMsg.UPD_DTM));
		}

		// 機器オプションサービス契約キャンセルマップ.更新オペレータアカウント ← 更新オペレータアカウント
		if (template.isNull(EKK2811C110CBSMsg.UPD_OPEACNT))
		{
			dataMap.put(prefix + "upd_opeacnt", "");
		}
		else
		{
			dataMap.put(prefix + "upd_opeacnt", template.getString(EKK2811C110CBSMsg.UPD_OPEACNT));
		}

		// 機器オプションサービス契約キャンセルマップ.無効フラグ ← 無効フラグ
		if (template.isNull(EKK2811C110CBSMsg.MK_FLG))
		{
			dataMap.put(prefix + "mk_flg", "");
		}
		else
		{
			dataMap.put(prefix + "mk_flg", template.getString(EKK2811C110CBSMsg.MK_FLG));
		}

		// エラー情報の設定
		editErrInfoEKK2811C110(param, template, (Integer)returnCode, fixedText, index, kkopListNm, prefix);

		// エラー情報のマップを取得
		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>
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @param index
	 * @param kkopListNm
	 * @param prefix
	 * @return リクエストパラメータ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editOutEKK2811D010Msg(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText, 
			int index, String kkopListNm, String prefix) throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		ArrayList dataList = (ArrayList)((HashMap)param.getData(fixedText)).get(kkopListNm);

		if (dataList == null)
		{
			dataList = new ArrayList();
			((HashMap)param.getData(fixedText)).put(kkopListNm, dataList);
		}

		HashMap dataMap = (HashMap)dataList.get(index);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			dataList.set(index, dataMap);
		}

		// 機器オプションサービス契約登録マップ.機器オプションサービス契約番号 ← 機器オプションサービス契約番号
		if (template.isNull(EKK2811D010CBSMsg.KKOP_SVC_KEI_NO))
		{
			dataMap.put(prefix + "kkop_svc_kei_no", "");
		}
		else
		{
			dataMap.put(prefix + "kkop_svc_kei_no", template.getString(EKK2811D010CBSMsg.KKOP_SVC_KEI_NO));
		}

		// 機器オプションサービス契約登録マップ.世代登録年月日時分秒 ← 世代登録年月日時分秒
		if (template.isNull(EKK2811D010CBSMsg.GENE_ADD_DTM))
		{
			dataMap.put(prefix + "gene_add_dtm", "");
		}
		else
		{
			dataMap.put(prefix + "gene_add_dtm", template.getString(EKK2811D010CBSMsg.GENE_ADD_DTM));
		}

		// 機器オプションサービス契約登録マップ.機器オプションサービス契約ステータス ← 機器オプションサービス契約ステータス
		if (template.isNull(EKK2811D010CBSMsg.KKOP_SVC_KEI_STAT))
		{
			dataMap.put(prefix + "kkop_svc_kei_stat", "");
		}
		else
		{
			dataMap.put(prefix + "kkop_svc_kei_stat", template.getString(EKK2811D010CBSMsg.KKOP_SVC_KEI_STAT));
		}

		// 機器オプションサービス契約登録マップ.予約適用年月日 ← 予約適用年月日
		if (template.isNull(EKK2811D010CBSMsg.RSV_APLY_YMD))
		{
			dataMap.put(prefix + "rsv_aply_ymd", "");
		}
		else
		{
			dataMap.put(prefix + "rsv_aply_ymd", template.getString(EKK2811D010CBSMsg.RSV_APLY_YMD));
		}

		// 機器オプションサービス契約登録マップ.予約適用コード ← 予約適用コード
		if (template.isNull(EKK2811D010CBSMsg.RSV_APLY_CD))
		{
			dataMap.put(prefix + "rsv_aply_cd", "");
		}
		else
		{
			dataMap.put(prefix + "rsv_aply_cd", template.getString(EKK2811D010CBSMsg.RSV_APLY_CD));
		}

		// 機器オプションサービス契約登録マップ.登録年月日時分秒 ← 登録年月日時分秒
		if (template.isNull(EKK2811D010CBSMsg.ADD_DTM))
		{
			dataMap.put(prefix + "add_dtm", "");
		}
		else
		{
			dataMap.put(prefix + "add_dtm", template.getString(EKK2811D010CBSMsg.ADD_DTM));
		}

		// 機器オプションサービス契約登録マップ.登録オペレータアカウント ← 登録オペレータアカウント
		if (template.isNull(EKK2811D010CBSMsg.ADD_OPEACNT))
		{
			dataMap.put(prefix + "add_opeacnt", "");
		}
		else
		{
			dataMap.put(prefix + "add_opeacnt", template.getString(EKK2811D010CBSMsg.ADD_OPEACNT));
		}

		// 機器オプションサービス契約登録マップ.更新年月日時分秒 ← 更新年月日時分秒
		if (template.isNull(EKK2811D010CBSMsg.UPD_DTM))
		{
			dataMap.put(prefix + "upd_dtm", "");
		}
		else
		{
			dataMap.put(prefix + "upd_dtm", template.getString(EKK2811D010CBSMsg.UPD_DTM));

			HashMap inMap = (HashMap)param.getData(fixedText);
			JKKBpCommon.setLastDtmBySvcKeiNo(param, (String)inMap.get("kk0081_svc_kei_no"),
					template.getString(EKK2811D010CBSMsg.UPD_DTM));
		}

		// 機器オプションサービス契約登録マップ.更新オペレータアカウント ← 更新オペレータアカウント
		if (template.isNull(EKK2811D010CBSMsg.UPD_OPEACNT))
		{
			dataMap.put(prefix + "upd_opeacnt", "");
		}
		else
		{
			dataMap.put(prefix + "upd_opeacnt", template.getString(EKK2811D010CBSMsg.UPD_OPEACNT));
		}

		// 機器オプションサービス契約登録マップ.無効フラグ ← 無効フラグ
		if (template.isNull(EKK2811D010CBSMsg.MK_FLG))
		{
			dataMap.put(prefix + "mk_flg", "");
		}
		else
		{
			dataMap.put(prefix + "mk_flg", template.getString(EKK2811D010CBSMsg.MK_FLG));
		}

		// 機器オプションサービス契約登録マップ.課金先番号 ← 課金先番号
		if (template.isNull(EKK2811D010CBSMsg.KAKINS_NO))
		{
			dataMap.put(prefix + "kakins_no", "");
		}
		else
		{
			dataMap.put(prefix + "kakins_no", template.getString(EKK2811D010CBSMsg.KAKINS_NO));
		}

		// 機器オプションサービス契約登録マップ.課金先適用開始年月日 ← 課金先適用開始年月日
		if (template.isNull(EKK2811D010CBSMsg.KAKINS_TSTAYMD))
		{
			dataMap.put(prefix + "kakins_tstaymd", "");
		}
		else
		{
			dataMap.put(prefix + "kakins_tstaymd", template.getString(EKK2811D010CBSMsg.KAKINS_TSTAYMD));
		}

		// 機器オプションサービス契約登録マップ.課金先適用終了年月日 ← 課金先適用終了年月日
		if (template.isNull(EKK2811D010CBSMsg.KAKINS_TENDYMD))
		{
			dataMap.put(prefix + "kakins_tendymd", "");
		}
		else
		{
			dataMap.put(prefix + "kakins_tendymd", template.getString(EKK2811D010CBSMsg.KAKINS_TENDYMD));
		}

		// エラー情報の設定
		editErrInfoEKK2811D010(param, template, (Integer)returnCode, fixedText, index, kkopListNm, prefix);

		// エラー情報のマップを取得
		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>
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @param index
	 * @param kkopListNm
	 * @param prefix
	 * @return リクエストパラメータ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editOutEKK2811C240Msg(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText, 
			int index, String kkopListNm, String prefix) throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		ArrayList dataList = (ArrayList)((HashMap)param.getData(fixedText)).get(kkopListNm);

		if (dataList == null)
		{
			dataList = new ArrayList();
			((HashMap)param.getData(fixedText)).put(kkopListNm, dataList);
		}

		HashMap dataMap = (HashMap)dataList.get(index);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			dataList.set(index, dataMap);
		}

		// 機器オプションサービス契約登録マップ.世代登録年月日時分秒 ← 世代登録年月日時分秒
		if (template.isNull(EKK2811C240CBSMsg.GENE_ADD_DTM))
		{
			dataMap.put(prefix + "gene_add_dtm", "");
		}
		else
		{
			dataMap.put(prefix + "gene_add_dtm", template.getString(EKK2811C240CBSMsg.GENE_ADD_DTM));
		}

		// 機器オプションサービス契約登録マップ.更新年月日時分秒 ← 更新年月日時分秒
		if (template.isNull(EKK2811C240CBSMsg.UPD_DTM))
		{
			dataMap.put(prefix + "upd_dtm", "");
		}
		else
		{
			dataMap.put(prefix + "upd_dtm", template.getString(EKK2811C240CBSMsg.UPD_DTM));

			HashMap inMap = (HashMap)param.getData(fixedText);
			JKKBpCommon.setLastDtmBySvcKeiNo(param, (String)inMap.get("kk0081_svc_kei_no"),
					template.getString(EKK2811C240CBSMsg.UPD_DTM));
		}

		// 機器オプションサービス契約登録マップ.更新オペレータアカウント ← 更新オペレータアカウント
		if (template.isNull(EKK2811C240CBSMsg.UPD_OPEACNT))
		{
			dataMap.put(prefix + "upd_opeacnt", "");
		}
		else
		{
			dataMap.put(prefix + "upd_opeacnt", template.getString(EKK2811C240CBSMsg.UPD_OPEACNT));
		}

		// エラー情報の設定
		editErrInfoEKK2811C240(param, template, (Integer)returnCode, fixedText, index, kkopListNm, prefix);

		// エラー情報のマップを取得
		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>
	 * @param msgList
	 * @param param
	 * @param fixedText
	 * @param index
	 * @return リクエストパラメータ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editRetEKK0451C070(Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText, int index)
			throws Exception
	{
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		Object returnCode = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}
		HashMap workDataMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);
		if (workDataMap == null)
		{
			workDataMap = new HashMap();
			workMap.put(CC_WORK_AREA_NAME, workDataMap);
		}

		ArrayList dataList = (ArrayList)((HashMap)param.getData(fixedText)).get(WRIB_CANCEL_LIST);
		if (dataList == null)
		{
			dataList = new ArrayList();
			((HashMap)param.getData(fixedText)).put(WRIB_CANCEL_LIST, dataList);
		}
		HashMap dataMap = (HashMap)dataList.get(index);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			dataList.set(index, dataMap);
		}

		// 割引サービス契約キャンセルマップ.世代登録年月日時分秒 ← 世代登録年月日時分秒
		if (template.isNull(EKK0451C070CBSMsg.GENE_ADD_DTM))
		{
			dataMap.put("kk0451_gene_add_dtm", "");
		}
		else
		{
			dataMap.put("kk0451_gene_add_dtm", template.getString(EKK0451C070CBSMsg.GENE_ADD_DTM));
		}

		// 割引サービス契約キャンセルマップ.割引サービス契約ステータス ← 割引サービス契約ステータス
		if (template.isNull(EKK0451C070CBSMsg.WRIB_SVC_KEI_STAT))
		{
			dataMap.put("kk0451_wrib_svc_kei_stat", "");
		}
		else
		{
			dataMap.put("kk0451_wrib_svc_kei_stat", template.getString(EKK0451C070CBSMsg.WRIB_SVC_KEI_STAT));
		}

		// 割引サービス契約キャンセルマップ.予約適用年月日 ← 予約適用年月日
		if (template.isNull(EKK0451C070CBSMsg.RSV_APLY_YMD))
		{
			dataMap.put("kk0451_rsv_aply_ymd", "");
		}
		else
		{
			dataMap.put("kk0451_rsv_aply_ymd", template.getString(EKK0451C070CBSMsg.RSV_APLY_YMD));
		}

		// 割引サービス契約キャンセルマップ.予約適用コード ← 予約適用コード
		if (template.isNull(EKK0451C070CBSMsg.RSV_APLY_CD))
		{
			dataMap.put("kk0451_rsv_aply_cd", "");
		}
		else
		{
			dataMap.put("kk0451_rsv_aply_cd", template.getString(EKK0451C070CBSMsg.RSV_APLY_CD));
		}

		// 割引サービス契約キャンセルマップ.サービスキャンセル年月日 ← サービスキャンセル年月日
		if (template.isNull(EKK0451C070CBSMsg.SVC_CANCEL_YMD))
		{
			dataMap.put("kk0451_svc_cancel_ymd", "");
		}
		else
		{
			dataMap.put("kk0451_svc_cancel_ymd", template.getString(EKK0451C070CBSMsg.SVC_CANCEL_YMD));
		}

		// 割引サービス契約キャンセルマップ.サービスキャンセル取消年月日 ← サービスキャンセル取消年月日
		if (template.isNull(EKK0451C070CBSMsg.SVC_CANCEL_CL_YMD))
		{
			dataMap.put("kk0451_svc_cancel_cl_ymd", "");
		}
		else
		{
			dataMap.put("kk0451_svc_cancel_cl_ymd", template.getString(EKK0451C070CBSMsg.SVC_CANCEL_CL_YMD));
		}

		// 割引サービス契約キャンセルマップ.登録年月日時分秒 ← 登録年月日時分秒
		if (template.isNull(EKK0451C070CBSMsg.ADD_DTM))
		{
			dataMap.put("kk0451_add_dtm", "");
		}
		else
		{
			dataMap.put("kk0451_add_dtm", template.getString(EKK0451C070CBSMsg.ADD_DTM));
		}

		// 割引サービス契約キャンセルマップ.登録オペレータアカウント ← 登録オペレータアカウント
		if (template.isNull(EKK0451C070CBSMsg.ADD_OPEACNT))
		{
			dataMap.put("kk0451_add_opeacnt", "");
		}
		else
		{
			dataMap.put("kk0451_add_opeacnt", template.getString(EKK0451C070CBSMsg.ADD_OPEACNT));
		}

		// 割引サービス契約キャンセルマップ.更新年月日時分秒 ← 更新年月日時分秒
		if (template.isNull(EKK0451C070CBSMsg.UPD_DTM))
		{
			dataMap.put("kk0451_upd_dtm", "");
		}
		else
		{
			dataMap.put("kk0451_upd_dtm", template.getString(EKK0451C070CBSMsg.UPD_DTM));

			HashMap inMap = (HashMap)param.getData(fixedText);
			JKKBpCommon.setLastDtmBySvcKeiNo(param, (String)inMap.get("kk0081_svc_kei_no"),
					template.getString(EKK0451C070CBSMsg.UPD_DTM));
		}

		// 割引サービス契約キャンセルマップ.更新オペレータアカウント ← 更新オペレータアカウント
		if (template.isNull(EKK0451C070CBSMsg.UPD_OPEACNT))
		{
			dataMap.put("kk0451_upd_opeacnt", "");
		}
		else
		{
			dataMap.put("kk0451_upd_opeacnt", template.getString(EKK0451C070CBSMsg.UPD_OPEACNT));
		}

		// 割引サービス契約キャンセルマップ.無効フラグ ← 無効フラグ
		if (template.isNull(EKK0451C070CBSMsg.MK_FLG))
		{
			dataMap.put("kk0451_mk_flg", "");
		}
		else
		{
			dataMap.put("kk0451_mk_flg", template.getString(EKK0451C070CBSMsg.MK_FLG));
		}

		dataList.set(index, dataMap);

		// エラー情報の設定
		editErrInfoEKK0451C070(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>
	 * @param param
	 * @param templates
	 * @param returnCode
	 * @param fixedText
	 * @return リクエストパラメータ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite editErrorInfo(IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
			throws RequestParameterException
	{
		int index = 0;
	
		HashMap inMap = (HashMap)param.getData(fixedText);

		// マップに値が設定されていない場合は処理を行わない。
		if (inMap == null)
		{
			return param;
		}

		// 申込明細情報変更
		editErrInfoEKK0021C040(param, templates[index++], returnCode, fixedText);

		if (getMapValue(param, fixedText, "kk0081_svc_kei_no") != null)
		{
			// サービス契約手続中料金プラン変更
			editErrInfoEKK0081C100(param, templates[index++], returnCode, fixedText);
		}

		if (getMapValue(param, fixedText, "kk0161_svc_kei_ucwk_no") != null)
		{
			// サービス契約内訳キャンセル
			editErrInfoEKK0161C160(param, templates[index++], returnCode, fixedText);
			// サービス契約内訳＜eo光ネット＞登録
			editErrInfoEKK0171D010(param, templates[index++], returnCode, fixedText, PREFIX_NET_UCWK);
		}

		//HashMap inMap = (HashMap)param.getData(fixedText);

		int devCnt = 0;

		if(null != inMap.get(KIKI_CANCEL_LIST))
		{
			devCnt = ((ArrayList)inMap.get(KIKI_CANCEL_LIST)).size();
			for (int i = 0; i < devCnt; i++)
			{
				// 機器提供サービス契約キャンセル
				editErrInfoEKK0341C330(param, templates[index++], returnCode, fixedText, i);
			}
		}

		if (getMapValue(param, fixedText, "kk0391_op_svc_cd") != null)
		{
			// オプションサービス契約<サポート>登録（リモートサポートプラス用）
			editErrInfoEKK0391D010(param, templates[index++], returnCode, fixedText);
		}

		if (getMapValue(param, fixedText, "kk0091_svc_kei_no") != null)
		{
			// サービス契約<eo光ネット>情報変更（審査結果用）
			editErrInfoEKK0091C040(param, templates[index++], returnCode, fixedText);
		}

		if(null != inMap.get(WRIB_CANCEL_LIST))
		{
			devCnt = ((ArrayList)inMap.get(WRIB_CANCEL_LIST)).size();
			for (int i = 0; i < devCnt; i++)
			{
				// 割引サービス契約キャンセル
				editErrInfoEKK0451C070(param, templates[index++], returnCode, fixedText, i);
			}
		}

		return param;
	}

	/**
	 * コントロールマップエラー情報格納処理を行います。
	 * <br>
	 * @param param
	 * @param itemplateStatus
	 * @param returnCode
	 * @return リクエストパラメータ
	 * @throws RequestParameterException
	 */
	private IRequestParameterReadWrite setControlMapErrInfo(IRequestParameterReadWrite param, int itemplateStatus, int returnCode)
			throws RequestParameterException
	{
		int templateStatus = itemplateStatus;

		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString(RETURN_MESSAGE_STRING + String.format(RETURN_MESSAGE_FORMAT, templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			String formatStatus = String.format(RETURN_MESSAGE_FORMAT, templateStatus);
			String message = JCMAPLConstMgr.getString(RETURN_MESSAGE_STRING + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}
		return param;
	}

	/**
	 * サービス契約手続中料金プラン変更のエラー情報マッピング処理を行います。
	 * <br>
	 * @param iparam
	 * @param template
	 * @param returnCode
	 * @param fixedText
	 * @return リクエストパラメータ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrInfoEKK0081C100(IRequestParameterReadWrite iparam, CAANMsg template, int returnCode, String fixedText)
			throws RequestParameterException
	{
		IRequestParameterReadWrite param = setControlMapErrInfo(iparam, template.getInt(EKK0081C100CBSMsg.STATUS), returnCode);

		HashMap inMap = (HashMap)param.getData(fixedText);

		// サービス契約手続中料金プラン変更.サービス契約番号 → サービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0081C100CBSMsg.SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey("kk0081_svc_kei_no_err"))
			{
				inMap.put("kk0081_svc_kei_no_err", template.getString(EKK0081C100CBSMsg.SVC_KEI_NO_ERR));
			}
		}

		// サービス契約手続中料金プラン変更.申込明細番号 → 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0081C100CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey("kk0081_mskm_dtl_no_err"))
			{
				inMap.put("kk0081_mskm_dtl_no_err", template.getString(EKK0081C100CBSMsg.MSKM_DTL_NO_ERR));
			}
		}

		// サービス契約手続中料金プラン変更.料金グループコード → 料金グループコード のエラー情報返却
		if (!template.isNull(EKK0081C100CBSMsg.PRC_GRP_CD_ERR))
		{
			if (!inMap.containsKey("kk0081_prc_grp_cd_err"))
			{
				inMap.put("kk0081_prc_grp_cd_err", template.getString(EKK0081C100CBSMsg.PRC_GRP_CD_ERR));
			}
		}

		// サービス契約手続中料金プラン変更.料金コースコード → 料金コースコード のエラー情報返却
		if (!template.isNull(EKK0081C100CBSMsg.PCRS_CD_ERR))
		{
			if (!inMap.containsKey("kk0081_pcrs_cd_err"))
			{
				inMap.put("kk0081_pcrs_cd_err", template.getString(EKK0081C100CBSMsg.PCRS_CD_ERR));
			}
		}

		// サービス契約手続中料金プラン変更.料金プランコード → 料金プランコード のエラー情報返却
		if (!template.isNull(EKK0081C100CBSMsg.PPLAN_CD_ERR))
		{
			if (!inMap.containsKey("kk0081_pplan_cd_err"))
			{
				inMap.put("kk0081_pplan_cd_err", template.getString(EKK0081C100CBSMsg.PPLAN_CD_ERR));
			}
		}

		// サービス契約手続中料金プラン変更.提供方式契約番号 → 提供方式契約番号 のエラー情報返却
		if (!template.isNull(EKK0081C100CBSMsg.TK_HOSHIKI_KEI_NO_ERR))
		{
			if (!inMap.containsKey("kk0081_tk_hoshiki_kei_no_err"))
			{
				inMap.put("kk0081_tk_hoshiki_kei_no_err", template.getString(EKK0081C100CBSMsg.TK_HOSHIKI_KEI_NO_ERR));
			}
		}

		// サービス契約手続中料金プラン変更.違約金発生コード → 違約金発生コード のエラー情報返却
		if (!template.isNull(EKK0081C100CBSMsg.PNLTY_HASSEI_CD_ERR))
		{
			if (!inMap.containsKey("kk0081_pnlty_hassei_cd_err"))
			{
				inMap.put("kk0081_pnlty_hassei_cd_err", template.getString(EKK0081C100CBSMsg.PNLTY_HASSEI_CD_ERR));
			}
		}

		// サービス契約手続中料金プラン変更.更新年月日時分秒(更新前) → 更新年月日時分秒(更新前) のエラー情報返却
		if (!template.isNull(EKK0081C100CBSMsg.UPD_DTM_BF_ERR))
		{
			if (!inMap.containsKey("kk0081_upd_dtm_bf_err"))
			{
				inMap.put("kk0081_upd_dtm_bf_err", template.getString(EKK0081C100CBSMsg.UPD_DTM_BF_ERR));
			}
		}

		return param;
	}

	/**
	 * 機器提供サービス契約キャンセルのエラー情報マッピング処理を行います。
	 * <br>
	 * @param iparam
	 * @param template
	 * @param returnCode
	 * @param fixedText
	 * @param index
	 * @return リクエストパラメータ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrInfoEKK0341C330(IRequestParameterReadWrite iparam, CAANMsg template, int returnCode, String fixedText,
			int index) throws RequestParameterException
	{
		IRequestParameterReadWrite param = setControlMapErrInfo(iparam, template.getInt(EKK0341C330CBSMsg.STATUS), returnCode);

		ArrayList inList = (ArrayList)((HashMap)param.getData(fixedText)).get(KIKI_CANCEL_LIST);
		if (inList == null)
		{
			inList = new ArrayList();
			((HashMap)param.getData(fixedText)).put(KIKI_CANCEL_LIST, inList);
		}
		HashMap inMap = (HashMap)inList.get(index);
		if (inMap == null)
		{
			inMap = new HashMap();
			inList.set(index, inMap);
		}

		// 機器提供サービス契約キャンセルマップ.機器提供サービス契約番号 → 機器提供サービス契約番号（機器提供サービス契約） のエラー情報返却
		if (!template.isNull(EKK0341C330CBSMsg.KKTK_SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey("kk0341_kktk_svc_kei_no_err"))
			{
				inMap.put("kk0341_kktk_svc_kei_no_err", template.getString(EKK0341C330CBSMsg.KKTK_SVC_KEI_NO_ERR));
			}
		}

		// 機器提供サービス契約キャンセルマップ.申込明細番号 → 申込明細番号（機器提供サービス契約） のエラー情報返却
		if (!template.isNull(EKK0341C330CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey("kk0341_mskm_dtl_no_err"))
			{
				inMap.put("kk0341_mskm_dtl_no_err", template.getString(EKK0341C330CBSMsg.MSKM_DTL_NO_ERR));
			}
		}

		// 機器提供サービス契約キャンセルマップ.サービスキャンセル理由コード → サービスキャンセル理由コード（機器提供サービス契約） のエラー情報返却
		if (!template.isNull(EKK0341C330CBSMsg.SVC_CANCEL_RSN_CD_ERR))
		{
			if (!inMap.containsKey("kk0341_svc_cancel_rsn_cd_err"))
			{
				inMap.put("kk0341_svc_cancel_rsn_cd_err", template.getString(EKK0341C330CBSMsg.SVC_CANCEL_RSN_CD_ERR));
			}
		}

		// 機器提供サービス契約キャンセルマップ.異動区分 → 異動区分（機器提供サービス契約） のエラー情報返却
		if (!template.isNull(EKK0341C330CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey("kk0341_ido_div_err"))
			{
				inMap.put("kk0341_ido_div_err", template.getString(EKK0341C330CBSMsg.IDO_DIV_ERR));
			}
		}

		// 機器提供サービス契約キャンセルマップ.更新年月日時分秒(更新前) → 更新年月日時分秒（更新前）（機器提供サービス契約） のエラー情報返却
		if (!template.isNull(EKK0341C330CBSMsg.UPD_DTM_BF_ERR))
		{
			if (!inMap.containsKey("kk0341_upd_dtm_bf_err"))
			{
				inMap.put("kk0341_upd_dtm_bf_err", template.getString(EKK0341C330CBSMsg.UPD_DTM_BF_ERR));
			}
		}

		return param;
	}

	/**
	 *  オプションサービス契約<サポート>登録のエラー情報マッピング処理を行います。
	 * <br>
	 * @param iparam
	 * @param template
	 * @param returnCode
	 * @param fixedText
	 * @return リクエストパラメータ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrInfoEKK0391D010(IRequestParameterReadWrite iparam, CAANMsg template, int returnCode, String fixedText)
			throws RequestParameterException
	{
		IRequestParameterReadWrite param = setControlMapErrInfo(iparam, template.getInt(EKK0391D010CBSMsg.STATUS), returnCode);

		HashMap inMap = (HashMap)param.getData(fixedText);

		// オプションサービス契約<サポート>登録.オプションサービスコード → オプションサービスコード のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.OP_SVC_CD_ERR))
		{
			if (!inMap.containsKey("kk0391_op_svc_cd_err"))
			{
				inMap.put("kk0391_op_svc_cd_err", template.getString(EKK0391D010CBSMsg.OP_SVC_CD_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.料金コースコード → 料金コースコード のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.PCRS_CD_ERR))
		{
			if (!inMap.containsKey("kk0391_pcrs_cd_err"))
			{
				inMap.put("kk0391_pcrs_cd_err", template.getString(EKK0391D010CBSMsg.PCRS_CD_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.料金プランコード → 料金プランコード のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.PPLAN_CD_ERR))
		{
			if (!inMap.containsKey("kk0391_pplan_cd_err"))
			{
				inMap.put("kk0391_pplan_cd_err", template.getString(EKK0391D010CBSMsg.PPLAN_CD_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.サービス契約番号 → サービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey("kk0391_svc_kei_no_err"))
			{
				inMap.put("kk0391_svc_kei_no_err", template.getString(EKK0391D010CBSMsg.SVC_KEI_NO_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.サービス契約内訳番号 → サービス契約内訳番号 のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.SVC_KEI_UCWK_NO_ERR))
		{
			if (!inMap.containsKey("kk0391_svc_kei_ucwk_no_err"))
			{
				inMap.put("kk0391_svc_kei_ucwk_no_err", template.getString(EKK0391D010CBSMsg.SVC_KEI_UCWK_NO_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.SYSID → SYSID のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.SYSID_ERR))
		{
			if (!inMap.containsKey("kk0391_sysid_err"))
			{
				inMap.put("kk0391_sysid_err", template.getString(EKK0391D010CBSMsg.SYSID_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.申込明細番号 → 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey("kk0391_mskm_dtl_no_err"))
			{
				inMap.put("kk0391_mskm_dtl_no_err", template.getString(EKK0391D010CBSMsg.MSKM_DTL_NO_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.試用加入年月日 → 試用加入年月日 のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.FTRIAL_KANYU_YMD_ERR))
		{
			if (!inMap.containsKey("kk0391_ftrial_kanyu_ymd_err"))
			{
				inMap.put("kk0391_ftrial_kanyu_ymd_err", template.getString(EKK0391D010CBSMsg.FTRIAL_KANYU_YMD_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.試用期間終了年月日 → 試用期間終了年月日 のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.FTRIAL_PRD_ENDYMD_ERR))
		{
			if (!inMap.containsKey("kk0391_ftrial_prd_endymd_err"))
			{
				inMap.put("kk0391_ftrial_prd_endymd_err", template.getString(EKK0391D010CBSMsg.FTRIAL_PRD_ENDYMD_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.本加入年月日 → 本加入年月日 のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.HONKANYU_YMD_ERR))
		{
			if (!inMap.containsKey("kk0391_honkanyu_ymd_err"))
			{
				inMap.put("kk0391_honkanyu_ymd_err", template.getString(EKK0391D010CBSMsg.HONKANYU_YMD_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.本加入移行期限年月日 → 本加入移行期限年月日 のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR))
		{
			if (!inMap.containsKey("kk0391_honkanyu_iko_kigen_ymd_err"))
			{
				inMap.put("kk0391_honkanyu_iko_kigen_ymd_err", template.getString(EKK0391D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.サービス利用開始希望年月日 → サービス利用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey("kk0391_svc_use_sta_kibo_ymd_err"))
			{
				inMap.put("kk0391_svc_use_sta_kibo_ymd_err", template.getString(EKK0391D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.予約適用開始希望年月日 → 予約適用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey("kk0391_rsv_tsta_kibo_ymd_err"))
			{
				inMap.put("kk0391_rsv_tsta_kibo_ymd_err", template.getString(EKK0391D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.違約金発生コード → 違約金発生コード のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.PNLTY_HASSEI_CD_ERR))
		{
			if (!inMap.containsKey("kk0391_pnlty_hassei_cd_err"))
			{
				inMap.put("kk0391_pnlty_hassei_cd_err", template.getString(EKK0391D010CBSMsg.PNLTY_HASSEI_CD_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.異動区分 → 異動区分 のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey("kk0391_ido_div_err"))
			{
				inMap.put("kk0391_ido_div_err", template.getString(EKK0391D010CBSMsg.IDO_DIV_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.親契約識別コード → 親契約識別コード のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.OYA_KEI_SKBT_CD_ERR))
		{
			if (!inMap.containsKey("kk0391_oya_kei_skbt_cd_err"))
			{
				inMap.put("kk0391_oya_kei_skbt_cd_err", template.getString(EKK0391D010CBSMsg.OYA_KEI_SKBT_CD_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.請求契約番号 → 請求契約番号 のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.SEIKY_KEI_NO_ERR))
		{
			if (!inMap.containsKey("kk0391_seiky_kei_no_err"))
			{
				inMap.put("kk0391_seiky_kei_no_err", template.getString(EKK0391D010CBSMsg.SEIKY_KEI_NO_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.料金項目コード → 料金項目コード のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.PRC_KMK_CD_ERR))
		{
			if (!inMap.containsKey("kk0391_prc_kmk_cd_err"))
			{
				inMap.put("kk0391_prc_kmk_cd_err", template.getString(EKK0391D010CBSMsg.PRC_KMK_CD_ERR));
			}
		}

		// オプションサービス契約<サポート>登録.更新年月日時分秒(更新前) → 更新年月日時分秒(更新前) のエラー情報返却
		if (!template.isNull(EKK0391D010CBSMsg.UPD_DTM_BF_ERR))
		{
			if (!inMap.containsKey("kk0391_upd_dtm_bf_err"))
			{
				inMap.put("kk0391_upd_dtm_bf_err", template.getString(EKK0391D010CBSMsg.UPD_DTM_BF_ERR));
			}
		}

		return param;
	}

	/**
	 * サービス契約<eo光ネット>情報変更（審査結果用）のエラー情報マッピング処理
	 * <br>
	 * @param iparam
	 * @param template
	 * @param returnCode
	 * @param fixedText
	 * @return リクエストパラメータ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrInfoEKK0091C040(IRequestParameterReadWrite iparam, CAANMsg template, int returnCode, String fixedText)
			throws RequestParameterException
	{
		IRequestParameterReadWrite param = setControlMapErrInfo(iparam, template.getInt(EKK0091C040CBSMsg.STATUS), returnCode);

		HashMap inMap = (HashMap)param.getData(fixedText);

		// サービス契約<eo光ネット>情報変更.サービス契約番号 → サービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey("kk0091_svc_kei_no_err"))
			{
				inMap.put("kk0091_svc_kei_no_err", template.getString(EKK0091C040CBSMsg.SVC_KEI_NO_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.申込明細番号 → 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey("kk0091_mskm_dtl_no_err"))
			{
				inMap.put("kk0091_mskm_dtl_no_err", template.getString(EKK0091C040CBSMsg.MSKM_DTL_NO_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.整理番号 → 整理番号 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.SEIRI_NO_ERR))
		{
			if (!inMap.containsKey("kk0091_seiri_no_err"))
			{
				inMap.put("kk0091_seiri_no_err", template.getString(EKK0091C040CBSMsg.SEIRI_NO_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.面開発案件番号 → 面開発案件番号 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.MENKAIHAT_ANKEN_NO_ERR))
		{
			if (!inMap.containsKey("kk0091_menkaihat_anken_no_err"))
			{
				inMap.put("kk0091_menkaihat_anken_no_err", template.getString(EKK0091C040CBSMsg.MENKAIHAT_ANKEN_NO_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.サービス利用開始希望年月日 → サービス利用開始希望年月日 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.SVC_USE_STA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey("kk0091_svc_use_sta_kibo_ymd_err"))
			{
				inMap.put("kk0091_svc_use_sta_kibo_ymd_err", template.getString(EKK0091C040CBSMsg.SVC_USE_STA_KIBO_YMD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.ID速報書出力要否 → ID速報書出力要否 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.ID_SOKHOSHO_OUTPUT_YH_ERR))
		{
			if (!inMap.containsKey("kk0091_id_sokhosho_output_yh_err"))
			{
				inMap.put("kk0091_id_sokhosho_output_yh_err", template.getString(EKK0091C040CBSMsg.ID_SOKHOSHO_OUTPUT_YH_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.審査結果コード → 審査結果コード のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.SKEKKA_CD_ERR))
		{
			if (!inMap.containsKey("kk0091_skekka_cd_err"))
			{
				inMap.put("kk0091_skekka_cd_err", template.getString(EKK0091C040CBSMsg.SKEKKA_CD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.審査結果詳細コード → 審査結果詳細コード のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.SKEKKA_DTL_CD_ERR))
		{
			if (!inMap.containsKey("kk0091_skekka_dtl_cd_err"))
			{
				inMap.put("kk0091_skekka_dtl_cd_err", template.getString(EKK0091C040CBSMsg.SKEKKA_DTL_CD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.審査結果補記コード → 審査結果補記コード のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.SKEKKA_HOKI_CD_ERR))
		{
			if (!inMap.containsKey("kk0091_skekka_hoki_cd_err"))
			{
				inMap.put("kk0091_skekka_hoki_cd_err", template.getString(EKK0091C040CBSMsg.SKEKKA_HOKI_CD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.審査結果送信コード → 審査結果送信コード のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.SKEKKA_SEND_CD_ERR))
		{
			if (!inMap.containsKey("kk0091_skekka_send_cd_err"))
			{
				inMap.put("kk0091_skekka_send_cd_err", template.getString(EKK0091C040CBSMsg.SKEKKA_SEND_CD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.支払い方法継続フラグ → 支払い方法継続フラグ のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.PAYWAY_KEIZOKU_FLG_ERR))
		{
			if (!inMap.containsKey("kk0091_payway_keizoku_flg_err"))
			{
				inMap.put("kk0091_payway_keizoku_flg_err", template.getString(EKK0091C040CBSMsg.PAYWAY_KEIZOKU_FLG_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.試用加入年月日 → 試用加入年月日 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.FTRIAL_KANYU_YMD_ERR))
		{
			if (!inMap.containsKey("kk0091_ftrial_kanyu_ymd_err"))
			{
				inMap.put("kk0091_ftrial_kanyu_ymd_err", template.getString(EKK0091C040CBSMsg.FTRIAL_KANYU_YMD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.試用期間終了年月日 → 試用期間終了年月日 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.FTRIAL_PRD_ENDYMD_ERR))
		{
			if (!inMap.containsKey("kk0091_ftrial_prd_endymd_err"))
			{
				inMap.put("kk0091_ftrial_prd_endymd_err", template.getString(EKK0091C040CBSMsg.FTRIAL_PRD_ENDYMD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.本加入年月日 → 本加入年月日 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.HONKANYU_YMD_ERR))
		{
			if (!inMap.containsKey("kk0091_honkanyu_ymd_err"))
			{
				inMap.put("kk0091_honkanyu_ymd_err", template.getString(EKK0091C040CBSMsg.HONKANYU_YMD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.本加入移行期限年月日 → 本加入移行期限年月日 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR))
		{
			if (!inMap.containsKey("kk0091_honkanyu_iko_kigen_ymd_err"))
			{
				inMap.put("kk0091_honkanyu_iko_kigen_ymd_err", template.getString(EKK0091C040CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.レター発送仕分区分 → レター発送仕分区分 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.LETTER_HASSO_SHIWAKE_DIV_ERR))
		{
			if (!inMap.containsKey("kk0091_letter_hasso_shiwake_div_err"))
			{
				inMap.put("kk0091_letter_hasso_shiwake_div_err", template.getString(EKK0091C040CBSMsg.LETTER_HASSO_SHIWAKE_DIV_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.サンキューレター送付先コード → サンキューレター送付先コード のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.THNX_LETTER_SHS_CD_ERR))
		{
			if (!inMap.containsKey("kk0091_thnx_letter_shs_cd_err"))
			{
				inMap.put("kk0091_thnx_letter_shs_cd_err", template.getString(EKK0091C040CBSMsg.THNX_LETTER_SHS_CD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.WEBオプション追加不可フラグ → WEBオプション追加不可フラグ のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.WEB_OP_ADD_FAIL_FLG_ERR))
		{
			if (!inMap.containsKey("kk0091_web_op_add_fail_flg_err"))
			{
				inMap.put("kk0091_web_op_add_fail_flg_err", template.getString(EKK0091C040CBSMsg.WEB_OP_ADD_FAIL_FLG_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.変更元法人eo読替サービス契約番号 → 変更元法人eo読替サービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.CHMT_HJIN_EO_YKAE_SVKEI_NO_ERR))
		{
			if (!inMap.containsKey("kk0091_chmt_hjin_eo_ykae_svkei_no_err"))
			{
				inMap.put("kk0091_chmt_hjin_eo_ykae_svkei_no_err", template.getString(EKK0091C040CBSMsg.CHMT_HJIN_EO_YKAE_SVKEI_NO_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.違約金発生コード → 違約金発生コード のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.PNLTY_HASSEI_CD_ERR))
		{
			if (!inMap.containsKey("kk0091_pnlty_hassei_cd_err"))
			{
				inMap.put("kk0091_pnlty_hassei_cd_err", template.getString(EKK0091C040CBSMsg.PNLTY_HASSEI_CD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.異動区分 → 異動区分 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey("kk0091_ido_div_err"))
			{
				inMap.put("kk0091_ido_div_err", template.getString(EKK0091C040CBSMsg.IDO_DIV_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.紹介コード → 紹介コード のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.INTR_CD_ERR))
		{
			if (!inMap.containsKey("kk0091_intr_cd_err"))
			{
				inMap.put("kk0091_intr_cd_err", template.getString(EKK0091C040CBSMsg.INTR_CD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.異動NG状態コード → 異動NG状態コード のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.IDO_NG_STAT_CD_ERR))
		{
			if (!inMap.containsKey("kk0091_ido_ng_stat_cd_err"))
			{
				inMap.put("kk0091_ido_ng_stat_cd_err", template.getString(EKK0091C040CBSMsg.IDO_NG_STAT_CD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.業務連絡備考 → 業務連絡備考 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.WORK_RRK_BIKO_ERR))
		{
			if (!inMap.containsKey("kk0091_work_rrk_biko_err"))
			{
				inMap.put("kk0091_work_rrk_biko_err", template.getString(EKK0091C040CBSMsg.WORK_RRK_BIKO_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.更新年月日時分秒(更新前) → 更新年月日時分秒(更新前) のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.UPD_DTM_BF_ERR))
		{
			if (!inMap.containsKey("kk0091_upd_dtm_bf_err"))
			{
				inMap.put("kk0091_upd_dtm_bf_err", template.getString(EKK0091C040CBSMsg.UPD_DTM_BF_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.自動照査処理状態コード → 自動照査処理状態コード のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.AUTO_SHOSA_TRAN_STAT_CD_ERR))
		{
			if (!inMap.containsKey("kk0091_auto_shosa_tran_stat_cd_err"))
			{
				inMap.put("kk0091_auto_shosa_tran_stat_cd_err", template.getString(EKK0091C040CBSMsg.AUTO_SHOSA_TRAN_STAT_CD_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.固定IPアドレス引継ぎ有無 → 固定IPアドレス引継ぎ有無 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.KOTEI_IP_AD_HKTGI_UM_ERR))
		{
			if (!inMap.containsKey("kk0091_kotei_ip_ad_hktgi_um_err"))
			{
				inMap.put("kk0091_kotei_ip_ad_hktgi_um_err", template.getString(EKK0091C040CBSMsg.KOTEI_IP_AD_HKTGI_UM_ERR));
			}
		}

		// サービス契約<eo光ネット>情報変更.PCパック有無 → PCパック有無 のエラー情報返却
		if (!template.isNull(EKK0091C040CBSMsg.PC_PACK_UM_ERR))
		{
			if (!inMap.containsKey("kk0091_pc_pack_um_err"))
			{
				inMap.put("kk0091_pc_pack_um_err", template.getString(EKK0091C040CBSMsg.PC_PACK_UM_ERR));
			}
		}

		return param;
	}

	/**
	 * 申込明細情報変更のエラー情報マッピング処理
	 * <br>
	 * @param iparam
	 * @param template
	 * @param returnCode
	 * @param fixedText
	 * @return リクエストパラメータ
	 * @exception RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrInfoEKK0021C040(IRequestParameterReadWrite iparam, CAANMsg template, int returnCode, String fixedText)
			throws RequestParameterException
	{
		IRequestParameterReadWrite param = setControlMapErrInfo(iparam, template.getInt(EKK0021C040CBSMsg.STATUS), returnCode);

		HashMap inMap = (HashMap)param.getData(fixedText);

		// 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey("kk002101_mskm_dtl_no_err"))
			{
				inMap.put("kk002101_mskm_dtl_no_err", template.getString(EKK0021C040CBSMsg.MSKM_DTL_NO_ERR));
			}
		}

		// 申込書番号 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MSKMSHO_NO_ERR))
		{
			if (!inMap.containsKey("kk002101_mskmsho_no_err"))
			{
				inMap.put("kk002101_mskmsho_no_err", template.getString(EKK0021C040CBSMsg.MSKMSHO_NO_ERR));
			}
		}

		// 申込年月日 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MSKM_YMD_ERR))
		{
			if (!inMap.containsKey("kk002101_mskm_ymd_err"))
			{
				inMap.put("kk002101_mskm_ymd_err", template.getString(EKK0021C040CBSMsg.MSKM_YMD_ERR));
			}
		}

		// 申込形態コード のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MSKM_FORM_CD_ERR))
		{
			if (!inMap.containsKey("kk002101_mskm_form_cd_err"))
			{
				inMap.put("kk002101_mskm_form_cd_err", template.getString(EKK0021C040CBSMsg.MSKM_FORM_CD_ERR));
			}
		}

		// 申込明細種別コード のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MSKM_DTL_SBT_CD_ERR))
		{
			if (!inMap.containsKey("kk002101_mskm_dtl_sbt_cd_err"))
			{
				inMap.put("kk002101_mskm_dtl_sbt_cd_err", template.getString(EKK0021C040CBSMsg.MSKM_DTL_SBT_CD_ERR));
			}
		}

		// 連絡先携帯電話番号 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.RRKS_KTAI_TELNO_ERR))
		{
			if (!inMap.containsKey("kk002101_rrks_ktai_telno_err"))
			{
				inMap.put("kk002101_rrks_ktai_telno_err", template.getString(EKK0021C040CBSMsg.RRKS_KTAI_TELNO_ERR));
			}
		}

		// 連絡先勤務先名 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.RRKS_OFFC_NM_ERR))
		{
			if (!inMap.containsKey("kk002101_rrks_offc_nm_err"))
			{
				inMap.put("kk002101_rrks_offc_nm_err", template.getString(EKK0021C040CBSMsg.RRKS_OFFC_NM_ERR));
			}
		}

		// 昼間連絡先電話番号 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.DT_RRKS_TELNO_ERR))
		{
			if (!inMap.containsKey("kk002101_dt_rrks_telno_err"))
			{
				inMap.put("kk002101_dt_rrks_telno_err", template.getString(EKK0021C040CBSMsg.DT_RRKS_TELNO_ERR));
			}
		}

		// 新規申込種別コード のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.NEW_MSKM_SBT_CD_ERR))
		{
			if (!inMap.containsKey("kk002101_new_mskm_sbt_cd_err"))
			{
				inMap.put("kk002101_new_mskm_sbt_cd_err", template.getString(EKK0021C040CBSMsg.NEW_MSKM_SBT_CD_ERR));
			}
		}

		// 申込契機コード のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MSKM_OPTNTY_CD_ERR))
		{
			if (!inMap.containsKey("kk002101_mskm_optnty_cd_err"))
			{
				inMap.put("kk002101_mskm_optnty_cd_err", template.getString(EKK0021C040CBSMsg.MSKM_OPTNTY_CD_ERR));
			}
		}

		// 宅内調査希望アポ期限年月日 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.TAKCHO_KIBO_APO_KIGEN_YMD_ERR))
		{
			if (!inMap.containsKey("kk002101_takcho_kibo_apo_kigen_ymd_err"))
			{
				inMap.put("kk002101_takcho_kibo_apo_kigen_ymd_err", template.getString(EKK0021C040CBSMsg.TAKCHO_KIBO_APO_KIGEN_YMD_ERR));
			}
		}

		// 工事アポ連絡先指定コード のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.KOJI_APO_RRKS_SHITEI_CD_ERR))
		{
			if (!inMap.containsKey("kk002101_koji_apo_rrks_shitei_cd_err"))
			{
				inMap.put("kk002101_koji_apo_rrks_shitei_cd_err", template.getString(EKK0021C040CBSMsg.KOJI_APO_RRKS_SHITEI_CD_ERR));
			}
		}

		// 工事アポ連絡先電話番号 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.KOJI_APO_RRKS_TELNO_ERR))
		{
			if (!inMap.containsKey("kk002101_koji_apo_rrks_telno_err"))
			{
				inMap.put("kk002101_koji_apo_rrks_telno_err", template.getString(EKK0021C040CBSMsg.KOJI_APO_RRKS_TELNO_ERR));
			}
		}

		// 連絡事項登録年月日時分秒 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.RRK_JIKO_ADD_DTM_ERR))
		{
			if (!inMap.containsKey("kk002101_rrk_jiko_add_dtm_err"))
			{
				inMap.put("kk002101_rrk_jiko_add_dtm_err", template.getString(EKK0021C040CBSMsg.RRK_JIKO_ADD_DTM_ERR));
			}
		}

		// 申込連絡先メールアドレス のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MSKM_RRKS_MLAD_ERR))
		{
			if (!inMap.containsKey("kk002101_mskm_rrks_mlad_err"))
			{
				inMap.put("kk002101_mskm_rrks_mlad_err", template.getString(EKK0021C040CBSMsg.MSKM_RRKS_MLAD_ERR));
			}
		}

		// 工事進捗通知メールアドレス のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.KOJI_PRG_TCHI_MLAD_ERR))
		{
			if (!inMap.containsKey("kk002101_koji_prg_tchi_mlad_err"))
			{
				inMap.put("kk002101_koji_prg_tchi_mlad_err", template.getString(EKK0021C040CBSMsg.KOJI_PRG_TCHI_MLAD_ERR));
			}
		}

		// 連絡事項 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.RRK_JIKO_ERR))
		{
			if (!inMap.containsKey("kk002101_rrk_jiko_err"))
			{
				inMap.put("kk002101_rrk_jiko_err", template.getString(EKK0021C040CBSMsg.RRK_JIKO_ERR));
			}
		}

		// 最新照会年月日 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.RCNT_SHOKAI_YMD_ERR))
		{
			if (!inMap.containsKey("kk002101_rcnt_shokai_ymd_err"))
			{
				inMap.put("kk002101_rcnt_shokai_ymd_err", template.getString(EKK0021C040CBSMsg.RCNT_SHOKAI_YMD_ERR));
			}
		}

		// Web照会回数 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.WEB_SHOKAI_CNT_ERR))
		{
			if (!inMap.containsKey("kk002101_web_shokai_cnt_err"))
			{
				inMap.put("kk002101_web_shokai_cnt_err", template.getString(EKK0021C040CBSMsg.WEB_SHOKAI_CNT_ERR));
			}
		}

		// PC照会回数 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.PC_SHOKAI_CNT_ERR))
		{
			if (!inMap.containsKey("kk002101_pc_shokai_cnt_err"))
			{
				inMap.put("kk002101_pc_shokai_cnt_err", template.getString(EKK0021C040CBSMsg.PC_SHOKAI_CNT_ERR));
			}
		}

		// 携帯照会回数 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.KTAI_SHOKAI_CNT_ERR))
		{
			if (!inMap.containsKey("kk002101_ktai_shokai_cnt_err"))
			{
				inMap.put("kk002101_ktai_shokai_cnt_err", template.getString(EKK0021C040CBSMsg.KTAI_SHOKAI_CNT_ERR));
			}
		}

		// 工事進捗通知携帯メールアドレス のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.KJSC_TCH_KTAI_MLAD_ERR))
		{
			if (!inMap.containsKey("kk002101_kjsc_tch_ktai_mlad_err"))
			{
				inMap.put("kk002101_kjsc_tch_ktai_mlad_err", template.getString(EKK0021C040CBSMsg.KJSC_TCH_KTAI_MLAD_ERR));
			}
		}

		// 工事進捗通知PCメールアドレス変更年月日 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.KJSC_TCH_PC_MLAD_CHG_YMD_ERR))
		{
			if (!inMap.containsKey("kk002101_kjsc_tch_pc_mlad_chg_ymd_err"))
			{
				inMap.put("kk002101_kjsc_tch_pc_mlad_chg_ymd_err", template.getString(EKK0021C040CBSMsg.KJSC_TCH_PC_MLAD_CHG_YMD_ERR));
			}
		}

		// 工事進捗通知携帯メールアドレス変更年月日 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.KJSC_TCH_KTAI_MLAD_CHG_YMD_ERR))
		{
			if (!inMap.containsKey("kk002101_kjsc_tch_ktai_mlad_chg_ymd_err"))
			{
				inMap.put("kk002101_kjsc_tch_ktai_mlad_chg_ymd_err", template.getString(EKK0021C040CBSMsg.KJSC_TCH_KTAI_MLAD_CHG_YMD_ERR));
			}
		}

		// メール送信除外フラグ のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.ML_SEND_JGI_FLG_ERR))
		{
			if (!inMap.containsKey("kk002101_ml_send_jgi_flg_err"))
			{
				inMap.put("kk002101_ml_send_jgi_flg_err", template.getString(EKK0021C040CBSMsg.ML_SEND_JGI_FLG_ERR));
			}
		}

		// メール送信除外理由メモ のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.ML_SEND_JGI_RSN_MEMO_ERR))
		{
			if (!inMap.containsKey("kk002101_ml_send_jgi_rsn_memo_err"))
			{
				inMap.put("kk002101_ml_send_jgi_rsn_memo_err", template.getString(EKK0021C040CBSMsg.ML_SEND_JGI_RSN_MEMO_ERR));
			}
		}

		// 番ポ申込連絡先電話番号 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.BMP_MSKM_RRKS_TLN_ERR))
		{
			if (!inMap.containsKey("kk002101_bmp_mskm_rrks_tln_err"))
			{
				inMap.put("kk002101_bmp_mskm_rrks_tln_err", template.getString(EKK0021C040CBSMsg.BMP_MSKM_RRKS_TLN_ERR));
			}
		}

		// オプションサービス引継有無 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.OP_SVC_HKTGI_UM_ERR))
		{
			if (!inMap.containsKey("kk002101_op_svc_hktgi_um_err"))
			{
				inMap.put("kk002101_op_svc_hktgi_um_err", template.getString(EKK0021C040CBSMsg.OP_SVC_HKTGI_UM_ERR));
			}
		}

		// 解約書類送付希望有無 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.DSL_ATICLE_SOHU_KIBO_UM_ERR))
		{
			if (!inMap.containsKey("kk002101_dsl_aticle_sohu_kibo_um_err"))
			{
				inMap.put("kk002101_dsl_aticle_sohu_kibo_um_err", template.getString(EKK0021C040CBSMsg.DSL_ATICLE_SOHU_KIBO_UM_ERR));
			}
		}

		// 連絡手段補記 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.RRK_WAY_HOKI_ERR))
		{
			if (!inMap.containsKey("kk002101_rrk_way_hoki_err"))
			{
				inMap.put("kk002101_rrk_way_hoki_err", template.getString(EKK0021C040CBSMsg.RRK_WAY_HOKI_ERR));
			}
		}

		// 新築物件コード のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.NEWCONST_BUKKEN_CD_ERR))
		{
			if (!inMap.containsKey("kk002101_newconst_bukken_cd_err"))
			{
				inMap.put("kk002101_newconst_bukken_cd_err", template.getString(EKK0021C040CBSMsg.NEWCONST_BUKKEN_CD_ERR));
			}
		}

		// 復活案件フラグ のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.HUKKAT_ANKEN_FLG_ERR))
		{
			if (!inMap.containsKey("kk002101_hukkat_anken_flg_err"))
			{
				inMap.put("kk002101_hukkat_anken_flg_err", template.getString(EKK0021C040CBSMsg.HUKKAT_ANKEN_FLG_ERR));
			}
		}

		// 同一設備再申込コード のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.SAME_EQUIP_RE_MSKM_CD_ERR))
		{
			if (!inMap.containsKey("kk002101_same_equip_re_mskm_cd_err"))
			{
				inMap.put("kk002101_same_equip_re_mskm_cd_err", template.getString(EKK0021C040CBSMsg.SAME_EQUIP_RE_MSKM_CD_ERR));
			}
		}

		// 本人確認書類種別コード のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.HNIN_CFM_ATICLE_SBT_CD_ERR))
		{
			if (!inMap.containsKey("kk002101_hnin_cfm_aticle_sbt_cd_err"))
			{
				inMap.put("kk002101_hnin_cfm_aticle_sbt_cd_err", template.getString(EKK0021C040CBSMsg.HNIN_CFM_ATICLE_SBT_CD_ERR));
			}
		}

		// 契約付加コード のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.KEI_HUKA_CD_ERR))
		{
			if (!inMap.containsKey("kk002101_kei_huka_cd_err"))
			{
				inMap.put("kk002101_kei_huka_cd_err", template.getString(EKK0021C040CBSMsg.KEI_HUKA_CD_ERR));
			}
		}

		// 地図添付有無 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MAP_TEMP_UM_ERR))
		{
			if (!inMap.containsKey("kk002101_map_temp_um_err"))
			{
				inMap.put("kk002101_map_temp_um_err", template.getString(EKK0021C040CBSMsg.MAP_TEMP_UM_ERR));
			}
		}

		// KCNSTB申込台数 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.KCN_STB_MSKM_CNT_ERR))
		{
			if (!inMap.containsKey("kk002101_kcn_stb_mskm_cnt_err"))
			{
				inMap.put("kk002101_kcn_stb_mskm_cnt_err", template.getString(EKK0021C040CBSMsg.KCN_STB_MSKM_CNT_ERR));
			}
		}

		// KCNSTB種類コード のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.KCN_STB_KIND_CD_ERR))
		{
			if (!inMap.containsKey("kk002101_kcn_stb_kind_cd_err"))
			{
				inMap.put("kk002101_kcn_stb_kind_cd_err", template.getString(EKK0021C040CBSMsg.KCN_STB_KIND_CD_ERR));
			}
		}

		// マンション設備システム連携用記事欄 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MANSSBSYS_RNKI_YO_KIJIRAN_ERR))
		{
			if (!inMap.containsKey("kk002101_manssbsys_rnki_yo_kijiran_err"))
			{
				inMap.put("kk002101_manssbsys_rnki_yo_kijiran_err", template.getString(EKK0021C040CBSMsg.MANSSBSYS_RNKI_YO_KIJIRAN_ERR));
			}
		}

		// マンションID のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MANSION_ID_ERR))
		{
			if (!inMap.containsKey("kk002101_mansion_id_err"))
			{
				inMap.put("kk002101_mansion_id_err", template.getString(EKK0021C040CBSMsg.MANSION_ID_ERR));
			}
		}

		// CAT-ID のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.CATID_ERR))
		{
			if (!inMap.containsKey("kk002101_catid_err"))
			{
				inMap.put("kk002101_catid_err", template.getString(EKK0021C040CBSMsg.CATID_ERR));
			}
		}

		// 申込受付種別コード のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MKM_UK_SBT_CD_ERR))
		{
			if (!inMap.containsKey("kk002101_mkm_uk_sbt_cd_err"))
			{
				inMap.put("kk002101_mkm_uk_sbt_cd_err", template.getString(EKK0021C040CBSMsg.MKM_UK_SBT_CD_ERR));
			}
		}

		// 申込書取扱情報担当者名 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MSKMSHO_TRAT_IF_TNTSHA_NM_ERR))
		{
			if (!inMap.containsKey("kk002101_mskmsho_trat_if_tntsha_nm_err"))
			{
				inMap.put("kk002101_mskmsho_trat_if_tntsha_nm_err", template.getString(EKK0021C040CBSMsg.MSKMSHO_TRAT_IF_TNTSHA_NM_ERR));
			}
		}

		// 申込書取扱情報電話番号 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MSKMSHO_TRAT_IF_TELNO_ERR))
		{
			if (!inMap.containsKey("kk002101_mskmsho_trat_if_telno_err"))
			{
				inMap.put("kk002101_mskmsho_trat_if_telno_err", template.getString(EKK0021C040CBSMsg.MSKMSHO_TRAT_IF_TELNO_ERR));
			}
		}

		// 更新年月日時分秒(更新前) のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.UPD_DTM_BF_ERR))
		{
			if (!inMap.containsKey("kk002101_upd_dtm_bf_err"))
			{
				inMap.put("kk002101_upd_dtm_bf_err", template.getString(EKK0021C040CBSMsg.UPD_DTM_BF_ERR));
			}
		}
		
		// 申込書明細番号 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.MSKMSHO_DTL_NO_ERR))
		{
			if (!inMap.containsKey("kk002101_mskmsho_dtl_no_err"))
			{
				inMap.put("kk002101_mskmsho_dtl_no_err", template.getString(EKK0021C040CBSMsg.MSKMSHO_DTL_NO_ERR));
			}
		}

		// 本人確認書類名 のエラー情報返却
		if (!template.isNull(EKK0021C040CBSMsg.HNIN_CFM_ATICLE_NM_ERR))
		{
			if (!inMap.containsKey("kk002101_hnin_cfm_aticle_nm_err"))
			{
				inMap.put("kk002101_hnin_cfm_aticle_nm_err", template.getString(EKK0021C040CBSMsg.HNIN_CFM_ATICLE_NM_ERR));
			}
		}
		
// ANK-4640-00-00 ADD START
		// WAO注文連携抑止フラグ
		if (!template.isNull(EKK0021C040CBSMsg.WAO_CHUMN_RNKI_YOKSI_FLG_ERR))
		{
			if (!inMap.containsKey("kk002101_wao_chumn_rnki_yoksi_flg_err"))
			{
				inMap.put("kk002101_wao_chumn_rnki_yoksi_flg_err", template.getString(EKK0021C040CBSMsg.WAO_CHUMN_RNKI_YOKSI_FLG_ERR));
			}
		}
// ANK-4640-00-00 ADD END
		
		return param;
	}

	/**
	 * サービス契約内訳キャンセルのエラー情報マッピング処理を行います。
	 * <br>
	 * @param iparam
	 * @param template
	 * @param returnCode
	 * @param fixedText
	 * @param index
	 * @return リクエストパラメータ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrInfoEKK0161C160(IRequestParameterReadWrite iparam, CAANMsg template, int returnCode, String fixedText)
			throws RequestParameterException
	{
		IRequestParameterReadWrite param = setControlMapErrInfo(iparam, template.getInt(EKK0161C160CBSMsg.STATUS), returnCode);

		HashMap inMap = (HashMap)param.getData(fixedText);

		// サービス契約内訳キャンセルマップ.サービス契約内訳番号 → サービス契約内訳番号 のエラー情報返却
		if (!template.isNull(EKK0161C160CBSMsg.SVC_KEI_UCWK_NO_ERR))
		{
			if (!inMap.containsKey("kk0161_svc_kei_ucwk_no_err"))
			{
				inMap.put("kk0161_svc_kei_ucwk_no_err", template.getString(EKK0161C160CBSMsg.SVC_KEI_UCWK_NO_ERR));
			}
		}

		// サービス契約内訳キャンセルマップ.申込明細番号 → 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0161C160CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey("kk0161_mskm_dtl_no_err"))
			{
				inMap.put("kk0161_mskm_dtl_no_err", template.getString(EKK0161C160CBSMsg.MSKM_DTL_NO_ERR));
			}
		}

		// サービス契約内訳キャンセルマップ.サービスキャンセル理由コード → サービスキャンセル理由コード のエラー情報返却
		if (!template.isNull(EKK0161C160CBSMsg.SVC_CANCEL_RSN_CD_ERR))
		{
			if (!inMap.containsKey("kk0161_svc_cancel_rsn_cd_err"))
			{
				inMap.put("kk0161_svc_cancel_rsn_cd_err", template.getString(EKK0161C160CBSMsg.SVC_CANCEL_RSN_CD_ERR));
			}
		}

		// サービス契約内訳キャンセルマップ.異動区分 → 異動区分 のエラー情報返却
		if (!template.isNull(EKK0161C160CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey("kk0161_ido_div_err"))
			{
				inMap.put("kk0161_ido_div_err", template.getString(EKK0161C160CBSMsg.IDO_DIV_ERR));
			}
		}

		// サービス契約内訳キャンセルマップ.更新年月日時分秒(更新前) → 更新年月日時分秒（更新前） のエラー情報返却
		if (!template.isNull(EKK0161C160CBSMsg.UPD_DTM_BF_ERR))
		{
			if (!inMap.containsKey("kk0161_upd_dtm_bf_err"))
			{
				inMap.put("kk0161_upd_dtm_bf_err", template.getString(EKK0161C160CBSMsg.UPD_DTM_BF_ERR));
			}
		}

		return param;
	}

	/**
	 * サービス契約内訳＜eo光ネット＞登録のエラー情報マッピング処理を行います。
	 * 
	 * <br>
	 * @param param
	 * @param template
	 * @param returnCode
	 * @param fixedText
	 * @param prefix
	 * @return リクエストパラメータ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrInfoEKK0171D010(IRequestParameterReadWrite param, CAANMsg template, int returnCode,
			String fixedText, String prefix) throws RequestParameterException
	{
		int templateStatus = template.getInt(EKK0171D010CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString(RETURN_MESSAGE_STRING + String.format(RETURN_MESSAGE_FORMAT, templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			String formatStatus = String.format(RETURN_MESSAGE_FORMAT, templateStatus);
			String message = JCMAPLConstMgr.getString(RETURN_MESSAGE_STRING + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = (HashMap)(param.getData(fixedText));

		// サービス契約番号
		if (!template.isNull(EKK0171D010CBSMsg.SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey(prefix + "svc_kei_no_err"))
			{
				inMap.put(prefix + "svc_kei_no_err", template.getString(EKK0171D010CBSMsg.SVC_KEI_NO_ERR));
			}
		}

		// 申込明細番号
		if (!template.isNull(EKK0171D010CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey(prefix + "mskm_dtl_no_err"))
			{
				inMap.put(prefix + "mskm_dtl_no_err", template.getString(EKK0171D010CBSMsg.MSKM_DTL_NO_ERR));
			}
		}

		// 提供方式契約番号
		if (!template.isNull(EKK0171D010CBSMsg.TK_HOSHIKI_KEI_NO_ERR))
		{
			if (!inMap.containsKey(prefix + "tk_hoshiki_kei_no_err"))
			{
				inMap.put(prefix + "tk_hoshiki_kei_no_err", template.getString(EKK0171D010CBSMsg.TK_HOSHIKI_KEI_NO_ERR));
			}
		}

		// 支払方法継続フラグ
		if (!template.isNull(EKK0171D010CBSMsg.PAYWAY_KEIZOKU_FLG_ERR))
		{
			if (!inMap.containsKey(prefix + "payway_keizoku_flg_err"))
			{
				inMap.put(prefix + "payway_keizoku_flg_err", template.getString(EKK0171D010CBSMsg.PAYWAY_KEIZOKU_FLG_ERR));
			}
		}

		// WEBオプション追加不可フラグ
		if (!template.isNull(EKK0171D010CBSMsg.WEB_OP_ADD_FAIL_FLG_ERR))
		{
			if (!inMap.containsKey(prefix + "web_op_add_fail_flg_err"))
			{
				inMap.put(prefix + "web_op_add_fail_flg_err", template.getString(EKK0171D010CBSMsg.WEB_OP_ADD_FAIL_FLG_ERR));
			}
		}

		// 業務連絡備考
		if (!template.isNull(EKK0171D010CBSMsg.WORK_RRK_BIKO_ERR))
		{
			if (!inMap.containsKey(prefix + "work_rrk_biko_err"))
			{
				inMap.put(prefix + "work_rrk_biko_err", template.getString(EKK0171D010CBSMsg.WORK_RRK_BIKO_ERR));
			}
		}

		// サービス利用開始希望年月日
		if (!template.isNull(EKK0171D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey(prefix + "svc_use_sta_kibo_ymd_err"))
			{
				inMap.put(prefix + "svc_use_sta_kibo_ymd_err", template.getString(EKK0171D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR));
			}
		}

		// 予約適用開始希望年月日
		if (!template.isNull(EKK0171D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey(prefix + "rsv_tsta_kibo_ymd_err"))
			{
				inMap.put(prefix + "rsv_tsta_kibo_ymd_err", template.getString(EKK0171D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR));
			}
		}

		// 試用加入年月日
		if (!template.isNull(EKK0171D010CBSMsg.FTRIAL_KANYU_YMD_ERR))
		{
			if (!inMap.containsKey(prefix + "ftrial_kanyu_ymd_err"))
			{
				inMap.put(prefix + "ftrial_kanyu_ymd_err", template.getString(EKK0171D010CBSMsg.FTRIAL_KANYU_YMD_ERR));
			}
		}

		// 試用期間終了年月日
		if (!template.isNull(EKK0171D010CBSMsg.FTRIAL_PRD_ENDYMD_ERR))
		{
			if (!inMap.containsKey(prefix + "ftrial_prd_endymd_err"))
			{
				inMap.put(prefix + "ftrial_prd_endymd_err", template.getString(EKK0171D010CBSMsg.FTRIAL_PRD_ENDYMD_ERR));
			}
		}

		// 本加入年月日
		if (!template.isNull(EKK0171D010CBSMsg.HONKANYU_YMD_ERR))
		{
			if (!inMap.containsKey(prefix + "honkanyu_ymd_err"))
			{
				inMap.put(prefix + "honkanyu_ymd_err", template.getString(EKK0171D010CBSMsg.HONKANYU_YMD_ERR));
			}
		}

		// 本加入移行期限年月日
		if (!template.isNull(EKK0171D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR))
		{
			if (!inMap.containsKey(prefix + "honkanyu_iko_kigen_ymd_err"))
			{
				inMap.put(prefix + "honkanyu_iko_kigen_ymd_err", template.getString(EKK0171D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR));
			}
		}

		// 違約金発生コード
		if (!template.isNull(EKK0171D010CBSMsg.PNLTY_HASSEI_CD_ERR))
		{
			if (!inMap.containsKey(prefix + "pnlty_hassei_cd_err"))
			{
				inMap.put(prefix + "pnlty_hassei_cd_err", template.getString(EKK0171D010CBSMsg.PNLTY_HASSEI_CD_ERR));
			}
		}

		// 異動区分
		if (!template.isNull(EKK0171D010CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey(prefix + "ido_div_err"))
			{
				inMap.put(prefix + "ido_div_err", template.getString(EKK0171D010CBSMsg.IDO_DIV_ERR));
			}
		}

		// 提供帯域コード
		if (!template.isNull(EKK0171D010CBSMsg.TK_TAIIKI_CD_ERR))
		{
			if (!inMap.containsKey(prefix + "tk_taiiki_cd_err"))
			{
				inMap.put(prefix + "tk_taiiki_cd_err", template.getString(EKK0171D010CBSMsg.TK_TAIIKI_CD_ERR));
			}
		}

		// 更新年月日時分秒(更新前)
		if (!template.isNull(EKK0171D010CBSMsg.UPD_DTM_BF_ERR))
		{
			if (!inMap.containsKey(prefix + "upd_dtm_bf_err"))
			{
				inMap.put(prefix + "upd_dtm_bf_err", template.getString(EKK0171D010CBSMsg.UPD_DTM_BF_ERR));
			}
		}

		return param;
	}

	/**
	 * 機器オプションサービス契約キャンセルのエラー情報マッピング処理を行います。
	 * @param iparam
	 * @param template
	 * @param returnCode
	 * @param fixedText
	 * @param index
	 * @param kkopListNm
	 * @param prefix
	 * @return リクエストパラメータ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrInfoEKK2811C110(IRequestParameterReadWrite iparam, CAANMsg template, int returnCode, String fixedText,
			int index, String kkopListNm, String prefix) throws RequestParameterException
	{
		IRequestParameterReadWrite param = setControlMapErrInfo(iparam, template.getInt(EKK2811C110CBSMsg.STATUS), returnCode);

		ArrayList inList = (ArrayList)((HashMap)param.getData(fixedText)).get(kkopListNm);
		if (inList == null)
		{
			inList = new ArrayList();
			((HashMap)param.getData(fixedText)).put(kkopListNm, inList);
		}
		HashMap inMap = (HashMap)inList.get(index);
		if (inMap == null)
		{
			inMap = new HashMap();
			inList.set(index, inMap);
		}

		// 機器オプションサービス契約番号
		if (!template.isNull(EKK2811C110CBSMsg.KKOP_SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey(prefix + "kkop_svc_kei_no_err"))
			{
				inMap.put(prefix + "kkop_svc_kei_no_err", template.getString(EKK2811C110CBSMsg.KKOP_SVC_KEI_NO_ERR));
			}
		}

		// 申込明細番号
		if (!template.isNull(EKK2811C110CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey(prefix + "mskm_dtl_no_err"))
			{
				inMap.put(prefix + "mskm_dtl_no_err", template.getString(EKK2811C110CBSMsg.MSKM_DTL_NO_ERR));
			}
		}

		// サービスキャンセル理由コード
		if (!template.isNull(EKK2811C110CBSMsg.SVC_CANCEL_RSN_CD_ERR))
		{
			if (!inMap.containsKey(prefix + "svc_cancel_rsn_cd_err"))
			{
				inMap.put(prefix + "svc_cancel_rsn_cd_err", template.getString(EKK2811C110CBSMsg.SVC_CANCEL_RSN_CD_ERR));
			}
		}

		// 異動区分
		if (!template.isNull(EKK2811C110CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey(prefix + "ido_div_err"))
			{
				inMap.put(prefix + "ido_div_err", template.getString(EKK2811C110CBSMsg.IDO_DIV_ERR));
			}
		}

		// 更新年月日時分秒(更新前)
		if (!template.isNull(EKK2811C110CBSMsg.UPD_DTM_BF_ERR))
		{
			if (!inMap.containsKey(prefix + "upd_dtm_bf_err"))
			{
				inMap.put(prefix + "upd_dtm_bf_err", template.getString(EKK2811C110CBSMsg.UPD_DTM_BF_ERR));
			}
		}

		return param;
	}

	/**
	 * 機器オプションサービス契約登録のエラー情報マッピング処理を行います。
	 * @param iparam
	 * @param template
	 * @param returnCode
	 * @param fixedText
	 * @param index
	 * @param kkopListNm
	 * @param prefix
	 * @return リクエストパラメータ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrInfoEKK2811D010(IRequestParameterReadWrite iparam, CAANMsg template, int returnCode, String fixedText,
			int index, String kkopListNm, String prefix) throws RequestParameterException
	{
		IRequestParameterReadWrite param = setControlMapErrInfo(iparam, template.getInt(EKK2811D010CBSMsg.STATUS), returnCode);

		ArrayList inList = (ArrayList)((HashMap)param.getData(fixedText)).get(kkopListNm);
		if (inList == null)
		{
			inList = new ArrayList();
			((HashMap)param.getData(fixedText)).put(kkopListNm, inList);
		}
		HashMap inMap = (HashMap)inList.get(index);
		if (inMap == null)
		{
			inMap = new HashMap();
			inList.set(index, inMap);
		}

		// 機器オプションサービスコード
		if (!template.isNull(EKK2811D010CBSMsg.KKOP_SVC_CD_ERR))
		{
			if (!inMap.containsKey(prefix + "kkop_svc_cd_err"))
			{
				inMap.put(prefix + "kkop_svc_cd_err", template.getString(EKK2811D010CBSMsg.KKOP_SVC_CD_ERR));
			}
		}

		// 料金コースコード
		if (!template.isNull(EKK2811D010CBSMsg.PCRS_CD_ERR))
		{
			if (!inMap.containsKey(prefix + "pcrs_cd_err"))
			{
				inMap.put(prefix + "pcrs_cd_err", template.getString(EKK2811D010CBSMsg.PCRS_CD_ERR));
			}
		}

		// 料金プランコード
		if (!template.isNull(EKK2811D010CBSMsg.PPLAN_CD_ERR))
		{
			if (!inMap.containsKey(prefix + "pplan_cd_err"))
			{
				inMap.put(prefix + "pplan_cd_err", template.getString(EKK2811D010CBSMsg.PPLAN_CD_ERR));
			}
		}

		// 機器提供サービス契約番号
		if (!template.isNull(EKK2811D010CBSMsg.KKTK_SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey(prefix + "kktk_svc_kei_no_err"))
			{
				inMap.put(prefix + "kktk_svc_kei_no_err", template.getString(EKK2811D010CBSMsg.KKTK_SVC_KEI_NO_ERR));
			}
		}

		// SYSID
		if (!template.isNull(EKK2811D010CBSMsg.SYSID_ERR))
		{
			if (!inMap.containsKey(prefix + "sysid_err"))
			{
				inMap.put(prefix + "sysid_err", template.getString(EKK2811D010CBSMsg.SYSID_ERR));
			}
		}

		// 申込明細番号
		if (!template.isNull(EKK2811D010CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey(prefix + "mskm_dtl_no_err"))
			{
				inMap.put(prefix + "mskm_dtl_no_err", template.getString(EKK2811D010CBSMsg.MSKM_DTL_NO_ERR));
			}
		}

		// 試用加入年月日
		if (!template.isNull(EKK2811D010CBSMsg.FTRIAL_KANYU_YMD_ERR))
		{
			if (!inMap.containsKey(prefix + "ftrial_kanyu_ymd_err"))
			{
				inMap.put(prefix + "ftrial_kanyu_ymd_err", template.getString(EKK2811D010CBSMsg.FTRIAL_KANYU_YMD_ERR));
			}
		}

		// 試用期間終了年月日
		if (!template.isNull(EKK2811D010CBSMsg.FTRIAL_PRD_ENDYMD_ERR))
		{
			if (!inMap.containsKey(prefix + "ftrial_prd_endymd_err"))
			{
				inMap.put(prefix + "ftrial_prd_endymd_err", template.getString(EKK2811D010CBSMsg.FTRIAL_PRD_ENDYMD_ERR));
			}
		}

		// 本加入年月日
		if (!template.isNull(EKK2811D010CBSMsg.HONKANYU_YMD_ERR))
		{
			if (!inMap.containsKey(prefix + "honkanyu_ymd_err"))
			{
				inMap.put(prefix + "honkanyu_ymd_err", template.getString(EKK2811D010CBSMsg.HONKANYU_YMD_ERR));
			}
		}

		// 本加入移行期限年月日
		if (!template.isNull(EKK2811D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR))
		{
			if (!inMap.containsKey(prefix + "honkanyu_iko_kigen_ymd_err"))
			{
				inMap.put(prefix + "honkanyu_iko_kigen_ymd_err", template.getString(EKK2811D010CBSMsg.HONKANYU_IKO_KIGEN_YMD_ERR));
			}
		}

		// サービス利用開始希望年月日
		if (!template.isNull(EKK2811D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey(prefix + "svc_use_sta_kibo_ymd_err"))
			{
				inMap.put(prefix + "svc_use_sta_kibo_ymd_err", template.getString(EKK2811D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR));
			}
		}

		// 予約適用開始希望年月日
		if (!template.isNull(EKK2811D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR))
		{
			if (!inMap.containsKey(prefix + "rsv_tsta_kibo_ymd_err"))
			{
				inMap.put(prefix + "rsv_tsta_kibo_ymd_err", template.getString(EKK2811D010CBSMsg.RSV_TSTA_KIBO_YMD_ERR));
			}
		}

		// 違約金発生コード
		if (!template.isNull(EKK2811D010CBSMsg.PNLTY_HASSEI_CD_ERR))
		{
			if (!inMap.containsKey(prefix + "pnlty_hassei_cd_err"))
			{
				inMap.put(prefix + "pnlty_hassei_cd_err", template.getString(EKK2811D010CBSMsg.PNLTY_HASSEI_CD_ERR));
			}
		}

		// 異動区分
		if (!template.isNull(EKK2811D010CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey(prefix + "ido_div_err"))
			{
				inMap.put(prefix + "ido_div_err", template.getString(EKK2811D010CBSMsg.IDO_DIV_ERR));
			}
		}

		// 機器連帯契約変更手続中フラグ
		if (!template.isNull(EKK2811D010CBSMsg.KIKI_RNTAI_KEI_CHGECHU_FLG_ERR))
		{
			if (!inMap.containsKey(prefix + "kiki_rntai_kei_chgechu_flg_err"))
			{
				inMap.put(prefix + "kiki_rntai_kei_chgechu_flg_err", template.getString(EKK2811D010CBSMsg.KIKI_RNTAI_KEI_CHGECHU_FLG_ERR));
			}
		}

		// 請求契約番号
		if (!template.isNull(EKK2811D010CBSMsg.SEIKY_KEI_NO_ERR))
		{
			if (!inMap.containsKey(prefix + "seiky_kei_no_err"))
			{
				inMap.put(prefix + "seiky_kei_no_err", template.getString(EKK2811D010CBSMsg.SEIKY_KEI_NO_ERR));
			}
		}

		// 料金項目コード
		if (!template.isNull(EKK2811D010CBSMsg.PRC_KMK_CD_ERR))
		{
			if (!inMap.containsKey(prefix + "prc_kmk_cd_err"))
			{
				inMap.put(prefix + "prc_kmk_cd_err", template.getString(EKK2811D010CBSMsg.PRC_KMK_CD_ERR));
			}
		}

		// 更新年月日時分秒(更新前)
		if (!template.isNull(EKK2811D010CBSMsg.UPD_DTM_BF_ERR))
		{
			if (!inMap.containsKey(prefix + "upd_dtm_bf_err"))
			{
				inMap.put(prefix + "upd_dtm_bf_err", template.getString(EKK2811D010CBSMsg.UPD_DTM_BF_ERR));
			}
		}

		return param;
	}

	/**
	 * 機器オプションサービス契約登録のエラー情報マッピング処理を行います。
	 * @param iparam
	 * @param template
	 * @param returnCode
	 * @param fixedText
	 * @param index
	 * @param kkopListNm
	 * @param prefix
	 * @return リクエストパラメータ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrInfoEKK2811C240(IRequestParameterReadWrite iparam, CAANMsg template, int returnCode, String fixedText,
			int index, String kkopListNm, String prefix) throws RequestParameterException
	{
		IRequestParameterReadWrite param = setControlMapErrInfo(iparam, template.getInt(EKK2811C240CBSMsg.STATUS), returnCode);

		ArrayList inList = (ArrayList)((HashMap)param.getData(fixedText)).get(kkopListNm);
		if (inList == null)
		{
			inList = new ArrayList();
			((HashMap)param.getData(fixedText)).put(kkopListNm, inList);
		}
		HashMap inMap = (HashMap)inList.get(index);
		if (inMap == null)
		{
			inMap = new HashMap();
			inList.set(index, inMap);
		}

		// 機器オプションサービスコード
		if (!template.isNull(EKK2811C240CBSMsg.KKOP_SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey(prefix + "kkop_svc_kei_no_err"))
			{
				inMap.put(prefix + "kkop_svc_kei_no_err", template.getString(EKK2811C240CBSMsg.KKOP_SVC_KEI_NO_ERR));
			}
		}

		// 料金コースコード
		if (!template.isNull(EKK2811C240CBSMsg.PCRS_CD_ERR))
		{
			if (!inMap.containsKey(prefix + "pcrs_cd_err"))
			{
				inMap.put(prefix + "pcrs_cd_err", template.getString(EKK2811C240CBSMsg.PCRS_CD_ERR));
			}
		}

		// 料金プランコード
		if (!template.isNull(EKK2811C240CBSMsg.PPLAN_CD_ERR))
		{
			if (!inMap.containsKey(prefix + "pplan_cd_err"))
			{
				inMap.put(prefix + "pplan_cd_err", template.getString(EKK2811C240CBSMsg.PPLAN_CD_ERR));
			}
		}

		// 申込明細番号
		if (!template.isNull(EKK2811C240CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey(prefix + "mskm_dtl_no_err"))
			{
				inMap.put(prefix + "mskm_dtl_no_err", template.getString(EKK2811C240CBSMsg.MSKM_DTL_NO_ERR));
			}
		}

		// 違約金発生コード
		if (!template.isNull(EKK2811C240CBSMsg.PNLTY_HASSEI_CD_ERR))
		{
			if (!inMap.containsKey(prefix + "pnlty_hassei_cd_err"))
			{
				inMap.put(prefix + "pnlty_hassei_cd_err", template.getString(EKK2811C240CBSMsg.PNLTY_HASSEI_CD_ERR));
			}
		}

		// 更新年月日時分秒(更新前)
		if (!template.isNull(EKK2811C240CBSMsg.UPD_DTM_BF_ERR))
		{
			if (!inMap.containsKey(prefix + "upd_dtm_bf_err"))
			{
				inMap.put(prefix + "upd_dtm_bf_err", template.getString(EKK2811C240CBSMsg.UPD_DTM_BF_ERR));
			}
		}

		return param;
	}

	/**
	 * 割引サービス契約キャンセルのエラー情報マッピング処理を行います。
	 * <br>
	 * @param iparam
	 * @param template
	 * @param returnCode
	 * @param fixedText
	 * @param index
	 * @return リクエストパラメータ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrInfoEKK0451C070(IRequestParameterReadWrite iparam,
			CAANMsg template, int returnCode, String fixedText, int index) throws RequestParameterException
	{
		IRequestParameterReadWrite param = setControlMapErrInfo(iparam, template.getInt(EKK0451C070CBSMsg.STATUS), returnCode);

		ArrayList inList = (ArrayList)((HashMap)param.getData(fixedText)).get(WRIB_CANCEL_LIST);
		if (inList == null)
		{
			inList = new ArrayList();
			((HashMap)param.getData(fixedText)).put(WRIB_CANCEL_LIST, inList);
		}
		HashMap inMap = (HashMap)inList.get(index);
		if (inMap == null)
		{
			inMap = new HashMap();
			inList.set(index, inMap);
		}

		// 割引サービス契約キャンセル.割引サービス契約番号 → 割引サービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0451C070CBSMsg.WRIB_SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey("kk0451_wrib_svc_kei_no_err"))
			{
				inMap.put("kk0451_wrib_svc_kei_no_err", template.getString(EKK0451C070CBSMsg.WRIB_SVC_KEI_NO_ERR));
			}
		}

		// 割引サービス契約キャンセル.申込明細番号 → 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0451C070CBSMsg.MSKM_DTL_NO_ERR))
		{
			if (!inMap.containsKey("kk0451_mskm_dtl_no_err"))
			{
				inMap.put("kk0451_mskm_dtl_no_err", template.getString(EKK0451C070CBSMsg.MSKM_DTL_NO_ERR));
			}
		}

		// 割引サービス契約キャンセル.サービスキャンセル理由コード → サービスキャンセル理由コード のエラー情報返却
		if (!template.isNull(EKK0451C070CBSMsg.SVC_CANCEL_RSN_CD_ERR))
		{
			if (!inMap.containsKey("kk0451_svc_cancel_rsn_cd_err"))
			{
				inMap.put("kk0451_svc_cancel_rsn_cd_err", template.getString(EKK0451C070CBSMsg.SVC_CANCEL_RSN_CD_ERR));
			}
		}

		// 割引サービス契約キャンセル.異動区分 → 異動区分 のエラー情報返却
		if (!template.isNull(EKK0451C070CBSMsg.IDO_DIV_ERR))
		{
			if (!inMap.containsKey("kk0451_ido_div_err"))
			{
				inMap.put("kk0451_ido_div_err", template.getString(EKK0451C070CBSMsg.IDO_DIV_ERR));
			}
		}

		// 割引サービス契約キャンセル.割引解約キャンセル契機コード → 割引解約キャンセル契機コード のエラー情報返却
		if (!template.isNull(EKK0451C070CBSMsg.WRIB_DSL_CNCL_OPTY_CD_ERR))
		{
			if (!inMap.containsKey("kk0451_wrib_dsl_cncl_opty_cd_err"))
			{
				inMap.put("kk0451_wrib_dsl_cncl_opty_cd_err", template.getString(EKK0451C070CBSMsg.WRIB_DSL_CNCL_OPTY_CD_ERR));
			}
		}

		// 割引サービス契約キャンセル.更新年月日時分秒(更新前) → 更新年月日時分秒(更新前) のエラー情報返却
		if (!template.isNull(EKK0451C070CBSMsg.UPD_DTM_BF_ERR))
		{
			if (!inMap.containsKey("kk0451_upd_dtm_bf_err"))
			{
				inMap.put("kk0451_upd_dtm_bf_err", template.getString(EKK0451C070CBSMsg.UPD_DTM_BF_ERR));
			}
		}

		return param;
	}

	/**
	 * ファミリーパック自動登録用マッピングを行います。
	 * @param param IRequestParameterReadWrite
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private void setFamipaData(IRequestParameterReadWrite param) throws RequestParameterException
	{

		HashMap kksv008028Map = (HashMap)param.getData(CC_WORK_AREA_NAME_KKSV008028);
		if (kksv008028Map == null)
		{
			kksv008028Map = new HashMap();
			param.setData(CC_WORK_AREA_NAME_KKSV008028, kksv008028Map);
		}

		HashMap kksv008253Map = (HashMap)param.getData(CC_WORK_AREA_NAME_KKSV008253);
		if (kksv008253Map == null)
		{
			kksv008253Map = new HashMap();
			param.setData(CC_WORK_AREA_NAME_KKSV008253, kksv008253Map);
		}

		// 申込明細番号
		kksv008028Map.put("mskm_dtl_no", mskmDtlNo);
		kksv008253Map.put("mskm_dtl_no", mskmDtlNo);

		// サービス契約番号
		kksv008028Map.put("key_svc_kei_no", svcKeiNo);
		kksv008253Map.put("key_svc_kei_no", svcKeiNo);
	}
	
	/**
	 * 機器提供サービス契約登録部品の上りマッピング処理を行います。
	 * @param param
	 * @param fixedText
	 * @param index
	 * @param svcListNm
	 * @param prefix
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private void editInKktkSvcKei(IRequestParameterReadWrite param, String fixedText, int index, String svcListNm, String prefix)
	throws RequestParameterException
	{
		/* ユーザデータ情報 */
		HashMap inMap = (HashMap)param.getData(fixedText);
		
		HashMap svcMap = null;
		ArrayList inList = (ArrayList)(inMap.get(svcListNm));
		if (inList == null)
		{
			svcMap = inMap;
		}
		else
		{
			svcMap = (HashMap)inList.get(index);
		}
		
		svcMap.put(JCMConstants.FUNC_CODE_KEY, inMap.get(JCMConstants.FUNC_CODE_KEY));
		
		// 更新年月日時分秒(更新前)
		String lastDtm = JKKBpCommon.getLastDtmBySvcKeiNo(param, (String)inMap.get("kk0081_svc_kei_no"),
				(String)inMap.get(prefix + "upd_dtm_bf"));
		svcMap.put(prefix + "upd_dtm_bf", lastDtm);
	}
	
	/**
	 * 機器提供サービス契約登録部品の下りマッピング処理を行います。
	 * @param param
	 * @param fixedText
	 * @param index
	 * @param svcListNm
	 * @param prefix
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private void editOutKktkSvcKei(IRequestParameterReadWrite param, String fixedText, int index, String svcListNm, String prefix)
	throws RequestParameterException
	{
		ArrayList dataList = (ArrayList)((HashMap)param.getData(fixedText)).get(svcListNm);
		if (dataList == null)
		{
			dataList = new ArrayList();
			((HashMap)param.getData(fixedText)).put(svcListNm, dataList);
		}
		/* 業務データ設定 */
		HashMap dataMap = (HashMap)dataList.get(index);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}
		
		// 更新年月日時分秒
		String lastDtm = (String)dataMap.get(prefix + "upd_dtm");
		JKKBpCommon.setLastDtmBySvcKeiNo(param, (String)dataMap.get("kk0081_svc_kei_no"), lastDtm);

		// 作業領域の取得
		Map workMap = param.getMappingWorkArea();

		/* 作業項目情報 */
		HashMap addSvcKeiNetWorkMap = (HashMap)workMap.get(CC_WORK_AREA_NAME);
		if (addSvcKeiNetWorkMap == null)
		{
			addSvcKeiNetWorkMap = new HashMap();
			workMap.put(CC_WORK_AREA_NAME, addSvcKeiNetWorkMap);
		}

		// 機器提供サービスコード
		String kktkSvcCd = (String)dataMap.get(prefix + "kktk_svc_cd");
		if (JKKStrConst.KKTK_SVC_CD_TABLET.equals(kktkSvcCd))
		{
			// 機器提供サービス契約番号
			String kktkSvcKeiNo = (String)dataMap.get(prefix + "kktk_svc_kei_no");
			addSvcKeiNetWorkMap.put("kktk_svc_kei_no", kktkSvcKeiNo);

			// 機器提供変更番号
			String kikiChgNo = (String)dataMap.get(prefix + "kiki_chg_no");
			addSvcKeiNetWorkMap.put("kiki_chg_no", kikiChgNo);
		}
		
// ANK-3987-00-00 ADD START
		else if (JKKStrConst.KKTK_SVC_CD_IP_STB.equals(kktkSvcCd))
		{
			// 機器提供サービス契約番号
			String kktkSvcKeiNo_Smp = (String)dataMap.get(prefix + "kktk_svc_kei_no");
			addSvcKeiNetWorkMap.put("kktk_svc_kei_no_smp", kktkSvcKeiNo_Smp);

		}
// ANK-3987-00-00 ADD END
	
	}
	
	/**
	 * 割引サービス契約登録の上りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @param index
	 * @param svcListNm
	 * @param prefix
	 * @exception RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private void editInAddWribSvcKei(IRequestParameterReadWrite param, String fixedText, int index, String svcListNm, String prefix)
	throws RequestParameterException
	{
		/* ユーザデータ情報 */
		HashMap inMap = (HashMap)param.getData(fixedText);
		
		HashMap svcMap = null;
		ArrayList inList = (ArrayList)(inMap.get(svcListNm));
		if (inList == null)
		{
			svcMap = inMap;
		}
		else
		{
			svcMap = (HashMap)inList.get(index);
		}
		
		svcMap.put(JCMConstants.FUNC_CODE_KEY, inMap.get(JCMConstants.FUNC_CODE_KEY));

		// 更新年月日時分秒(更新前)
		String lastDtm = JKKBpCommon.getLastDtmBySvcKeiNo(param, (String)svcMap.get("kk0081_svc_kei_no"),
				(String)inMap.get(prefix + "upd_dtm_bf"));
		svcMap.put(prefix + "upd_dtm_bf", lastDtm);
	}

	/**
	 *  割引サービス契約登録の下りマッピング処理
	 * <br>
	 * @param param
	 * @param fixedText
	 * @param index
	 * @param svcListNm
	 * @param prefix
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	private void editOutAddWribSvcKei(IRequestParameterReadWrite param, String fixedText, int index, String svcListNm, String prefix)
	throws Exception
	{
		ArrayList dataList = (ArrayList)((HashMap)param.getData(fixedText)).get(svcListNm);
		if (dataList == null)
		{
			dataList = new ArrayList();
			((HashMap)param.getData(fixedText)).put(svcListNm, dataList);
		}
		/* 業務データ設定 */
		HashMap dataMap = (HashMap)dataList.get(index);
		if (dataMap == null)
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}

		// 更新年月日時分秒
		String lastDtm = (String)dataMap.get(prefix + "upd_dtm");
		JKKBpCommon.setLastDtmBySvcKeiNo(param, (String)dataMap.get("kk0081_svc_kei_no"), lastDtm);
	}

	/**
	 * 割賦契約登録部品の上りマッピング処理を行います。
	 * @param param
	 * @param fixedText
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private void editInAddkapKei(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		/* ユーザデータ情報 */
		HashMap inMap = (HashMap)param.getData(fixedText);
		
		ArrayList inList = (ArrayList)(inMap.get(KAP_ADD_LIST));

		if(null != inList)
		{
			int opListCnt = 0;
			opListCnt = inList.size();
			for (int i = 0; i < opListCnt; i++)
			{
				HashMap svcMap = (HashMap)inList.get(i);

				// 機器提供サービス契約番号
				if (getWorkMapValue(param, "kktk_svc_kei_no") != null)
				{
					svcMap.put("kk2541_kktk_svc_kei_no", getWorkMapValue(param, "kktk_svc_kei_no"));
				}
				// 登録時機器変更番号
				if (getWorkMapValue(param, "kiki_chg_no") != null)
				{
					svcMap.put("kk2541_add_ji_kiki_chg_no", getWorkMapValue(param, "kiki_chg_no"));
				}

			}
		}
	}
	// ANK-3987-00-00 ADD START
	/**
	 * 端末購入通知書情報登録部品の上りマッピング処理を行います。
	 * @param param
	 * @param fixedText
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private void editInAddTmknTshoInf(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		/* ユーザデータ情報 */
		HashMap inMap = (HashMap)param.getData(fixedText);
		
		HashMap tmknTshoInfMap  = (HashMap)inMap.get("tsho_add");

		if(null != tmknTshoInfMap)
		{
			// 機器提供サービス契約番号
			if (getWorkMapValue(param, "kktk_svc_kei_no_smp") != null)
			{
				tmknTshoInfMap.put("kk3271_kktk_svc_kei_no", getWorkMapValue(param, "kktk_svc_kei_no_smp"));
			}
		}
	}

	// ANK-3987-00-00 ADD END

}
