/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom, 2011
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKKIdoRsvHaneiMapperCC
*   ソースファイル名：JKKIdoRsvHaneiMapperCC.java
*   作成者          ：富士通
*   日付            ：2011年11月15日
*＜機能概要＞
*   解約実行CCで使用するマッパークラスです。
*＜修正履歴＞
*   バージョン       修正日       修正者      修正内容
*   v1.00.00         2011/11/25   FJ）        新規作成
*   ST3-2013-0000626 2013/03/08   FJ)中野     異動区分の指定を00025に変更
*   v9.00.00		 2014/04/30   FJ)北谷     ANK-2056-00-00対応
*   v9.01.00		 2014/05/15   FJ)北谷     IT1-2014-0000137対応
*   v9.02.00         2014/05/16   FJ)北谷     IT1-2014-0000146対応
*   v10.00.00        2014/07/15   FJ)谷口    【ANK-1918-00-00】ＵＳ管理Ｓ向けｅｏ顧客ＳのＩ／Ｆ改修
*   v11.00.00        2014/12/15   FJ)松本    【OM-2014-0003696】解約起算日が撤去工事完了の連携日(運用日)になっている
*   v22.00.00        2016/02/16   FJ)中野    【OM-2016-0000017】対応
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.JKKDslRunConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKIdoRsvHaneiConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKKojiAnkenConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKPauseChgRsvClConstCC;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadOnly;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
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.JPCModelConstant;
import eo.common.util.JPCDateUtil;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0011C120CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0201B001CBSMsg;
import eo.ejb.cbs.cbsmsg.ECN0131B001CBSMsg;
import eo.ejb.cbs.cbsmsg.ECN0131B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECN0131C010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECN0131D010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECN0131E010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0021A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0021A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081B007CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081C250CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161B004CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161B004CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0191A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0191B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0321B005CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0321C020CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0341B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C340CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C350CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0351C011CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351C011CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0361A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0361A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0361C040CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0371A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0371A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0371C040CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0381C040CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0391C040CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0401A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0401B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0401B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0411A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0411C050CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0421C040CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0431C040CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0451C220CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0481B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0491A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1091B502CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1091D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1091D010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK1681A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1681B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1681C010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0181A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0181A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EZM0181B020CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0181B020CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EZM0181C010CBSMsg;

/**
 * 異動予約反映マッピングクラス
 * @author FJ
 */
public class JKKIdoRsvHaneiMapperCC
{

	/** 
	 * --------------------------------------------------------------------------------------------
	 * 
	 * 上りマッピング処理 START 
	 * 
	 * --------------------------------------------------------------------------------------------
	 */
	
	/**
	 * ECK0011A010_お客様一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param sysid sysid
	 * @param trnDate 処理年月日
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgECK0011A010(
			IRequestParameterReadWrite param,
			String sysid,
			String trnDate)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(ECK0011A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new ECK0011A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(ECK0011A010CBSMsg.TEMPLATEID, "ECK0011A010");

		// 機能コード
		template.set(ECK0011A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		// ＫＥＹ＿ＳＹＳＩＤ
		template.set(
				ECK0011A010CBSMsg.KEY_SYSID, 
				sysid);

		// ＫＥＹ＿予約適用年月日
		template.set(
				ECK0011A010CBSMsg.KEY_RSV_APLY_YMD, 
				trnDate);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * ECK0011C120_会員種別変更
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param msgECK0011A010 お客様一意照会データ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgECK0011C120(
			IRequestParameterReadWrite param,
			CAANMsg msgECK0011A010)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(ECK0011C120CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new ECK0011C120CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(ECK0011C120CBSMsg.TEMPLATEID, "ECK0011C120");

		// 機能コード
		template.set(ECK0011C120CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 業務データの取得
		String sysid = msgECK0011A010.getString(ECK0011A010CBSMsg1List.SYSID);
		String memberSbtCd = getMemberSbtCd(msgECK0011A010);
		String lastUpdDtm = msgECK0011A010.getString(ECK0011A010CBSMsg1List.LAST_UPD_DTM);

		// ＳＹＳＩＤ
		template.set(
				ECK0011C120CBSMsg.SYSID, 
				sysid);

		// 会員種別コード
		template.set(
				ECK0011C120CBSMsg.MEMBER_SBT_CD, 
				memberSbtCd);

		// 更新年月日時分秒（更新前）
		template.set(
				ECK0011C120CBSMsg.UPD_DTM_BF, 
				lastUpdDtm);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * 会員種別コードの取得
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param msgECK0011A010 お客様一意照会データ
	 * @return 会員種別コード
	 */
	private String getMemberSbtCd(CAANMsg msgECK0011A010)
	{
		String chbfMemberSbtCd = msgECK0011A010.getString(ECK0011A010CBSMsg1List.MEMBER_SBT_CD);
		String keishaTypeCd = msgECK0011A010.getString(ECK0011A010CBSMsg1List.KEISHA_TYPE_CD);
		String chafMemberSbtCd = null;

		// 会員種別コードの設定
		// ※会員種別がマスター会員（個人）、マスター会員（法人）の場合は
		// 　変更の必要がないため会員種別変更処理はCallされない
		if (JKKIdoRsvHanei.MEMBER_SBT_CD_NOT_EO.equals(chbfMemberSbtCd))
		{
			// 非eo会員
			
			// 契約者タイプコードの判定
			if (JKKIdoRsvHanei.KEISHA_TYPE_CD_KOJIN.equals(keishaTypeCd))
			{
				// 個人
				chafMemberSbtCd = JKKIdoRsvHanei.MEMBER_SBT_CD_MST_KOJIN;
			}
			else
			{
				// 個人以外
				chafMemberSbtCd = JKKIdoRsvHanei.MEMBER_SBT_CD_MST_HOJIN;
			}
		}
		else if (JKKIdoRsvHanei.MEMBER_SBT_CD_FAMILY_KOJIN.equals(chbfMemberSbtCd))
		{
			// ファミリー会員（個人）
			
			// 契約者タイプコードの判定
			if (JKKIdoRsvHanei.KEISHA_TYPE_CD_KOJIN.equals(keishaTypeCd))
			{
				// 個人
				chafMemberSbtCd = JKKIdoRsvHanei.MEMBER_SBT_CD_MST_KOJIN;
			}
			else
			{
				// 個人以外
				chafMemberSbtCd = chbfMemberSbtCd;
			}
		}
		else if (JKKIdoRsvHanei.MEMBER_SBT_CD_FAMILY_HOJIN.equals(chbfMemberSbtCd))
		{
			// ファミリー会員（法人）
			
			// 契約者タイプコードの判定
			if (JKKIdoRsvHanei.KEISHA_TYPE_CD_KOJIN.equals(keishaTypeCd))
			{
				// 個人
				chafMemberSbtCd = JKKIdoRsvHanei.MEMBER_SBT_CD_MST_HOJIN;
			}
			else
			{
				// 個人以外
				chafMemberSbtCd = chbfMemberSbtCd;
			}
		}
		else if (JKKIdoRsvHanei.MEMBER_SBT_CD_OPEN.equals(chbfMemberSbtCd))
		{
			// オープン会員
			
			// 契約者タイプコードの判定
			if (JKKIdoRsvHanei.KEISHA_TYPE_CD_KOJIN.equals(keishaTypeCd))
			{
				// 個人
				chafMemberSbtCd = JKKIdoRsvHanei.MEMBER_SBT_CD_MST_KOJIN;
			}
			else
			{
				// 個人以外
				chafMemberSbtCd = JKKIdoRsvHanei.MEMBER_SBT_CD_MST_HOJIN;
			}
		}
		
		return chafMemberSbtCd;
	}

	/**
	 * ECK0201B001_連絡先一覧照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param sysid sysid
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgECK0201B001(
			IRequestParameterReadWrite param,
			String sysid)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(ECK0201B001CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new ECK0201B001CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(ECK0201B001CBSMsg.TEMPLATEID, "ECK0201B001");

		// 機能コード
		template.set(ECK0201B001CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// ＫＥＹ＿ＳＹＳＩＤ
		template.set(
				ECK0201B001CBSMsg.KEY_SYSID, 
				sysid);

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * ECN0131B001_支払い方法入力支援一覧照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param sysid sysid
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgECN0131B001(
			IRequestParameterReadWrite param,
			String sysid)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(ECN0131B001CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new ECN0131B001CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(ECN0131B001CBSMsg.TEMPLATEID, "ECN0131B001");

		// 機能コード
		template.set(ECN0131B001CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// ＫＥＹ＿ＳＹＳＩＤ
		template.set(ECN0131B001CBSMsg.KEY_SYSID, sysid);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * ECN0131C010_支払方法入力支援更新
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param msgECN0131B001 支払い方法入力支援一覧照会データ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgECN0131C010(
			IRequestParameterReadWrite param,
			CAANMsg msgECN0131B001)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(ECN0131C010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new ECN0131C010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(ECN0131C010CBSMsg.TEMPLATEID, "ECN0131C010");

		// 機能コード
		template.set(ECN0131C010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 業務データの取得
		String paywayNo = msgECN0131B001.getString(ECN0131B001CBSMsg1List.PAYWAY_NO);
		String updDtm = msgECN0131B001.getString(ECN0131B001CBSMsg1List.UPD_DTM);
		String sysid = msgECN0131B001.getString(ECN0131B001CBSMsg1List.SYSID);
		String paywayInputShienCd = msgECN0131B001.getString(ECN0131B001CBSMsg1List.PAYWAY_INPUT_SHIEN_CD);
		String crecardId = msgECN0131B001.getString(ECN0131B001CBSMsg1List.CRECARD_ID);
		String ispKssaiSvcKeiNo = msgECN0131B001.getString(ECN0131B001CBSMsg1List.ISP_KSSAI_SVC_KEI_NO);
		String tsyrnPaySeq = "10001";
		
		// 支払い方法番号
		template.set(
				ECN0131C010CBSMsg.KEY_PAYWAY_NO, 
				paywayNo);

		// 更新年月日時分秒
		template.set(
				ECN0131C010CBSMsg.KEY_ADD_DTM, 
				updDtm);

		// ＳＹＳＩＤ
		template.set(
				ECN0131C010CBSMsg.KEY_SYSID, 
				sysid);

		// 支払い方法入力支援コード
		template.set(
				ECN0131C010CBSMsg.PAYWAY_INPUT_SHIEN_CD, 
				paywayInputShienCd);

		// クレジットカードＩＤ
		template.set(
				ECN0131C010CBSMsg.CRECARD_ID, 
				crecardId);

		// ＩＳＰ決済サービス契約番号
		template.set(
				ECN0131C010CBSMsg.ISP_KSSAI_SVC_KEI_NO, 
				ispKssaiSvcKeiNo);

		// 他システム連携支払い通番
		template.set(
				ECN0131C010CBSMsg.TSYRN_PAY_SEQ, 
				tsyrnPaySeq);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * ECN0131D010_支払方法入力支援登録
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param trgtData 対象データ
	 * @param sysid sysid
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgECN0131D010(
			IRequestParameterReadWrite param,
			HashMap<String, Object> trgtData,
			String sysid)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(ECN0131D010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new ECN0131D010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(ECN0131D010CBSMsg.TEMPLATEID, "ECN0131D010");

		// 機能コード
		template.set(ECN0131D010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 業務データの取得
		String ispKssaiSvcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.SVC_KEI_NO);
		String tsyrnPaySeq = "10001";
		
		// ＳＹＳＩＤ
		template.set(
				ECN0131D010CBSMsg.SYSID, 
				sysid);

		// 支払い方法入力支援コード
		template.set(
				ECN0131D010CBSMsg.PAYWAY_INPUT_SHIEN_CD, 
				JKKIdoRsvHanei.PAYWAY_INPUT_SHIEN_CD_ISP);

		// クレジットカードＩＤ
		template.set(
				ECN0131D010CBSMsg.CRECARD_ID, 
				"");

		// ＩＳＰ決済サービス契約番号
		template.set(
				ECN0131D010CBSMsg.ISP_KSSAI_SVC_KEI_NO, 
				ispKssaiSvcKeiNo);

		// 他システム連携支払い通番
		template.set(
				ECN0131D010CBSMsg.TSYRN_PAY_SEQ, 
				tsyrnPaySeq);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * ECN0131E010_支払方法入力支援削除
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param msgECN0131B001 支払い方法入力支援一覧照会データ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgECN0131E010(
			IRequestParameterReadWrite param,
			CAANMsg msgECN0131B001)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(ECN0131E010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new ECN0131E010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(ECN0131E010CBSMsg.TEMPLATEID, "ECN0131E010");

		// 機能コード
		template.set(ECN0131E010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 業務データの取得
		String paywayNo = msgECN0131B001.getString(ECN0131B001CBSMsg1List.PAYWAY_NO);
		String updDtm = msgECN0131B001.getString(ECN0131B001CBSMsg1List.UPD_DTM);
		
		// ＫＥＹ＿支払い方法番号
		template.set(
				ECN0131E010CBSMsg.KEY_PAYWAY_NO, 
				paywayNo);

		// ＫＥＹ＿更新年月日時分秒
		template.set(
				ECN0131E010CBSMsg.KEY_ADD_DTM, 
				updDtm);

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0021A010_申込明細一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param mskmDtlNo 申込明細番号
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0021A010(
			IRequestParameterReadWrite param,
			String mskmDtlNo)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0021A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0021A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0021A010CBSMsg.TEMPLATEID, "EKK0021A010");

		// 機能コード
		template.set(EKK0021A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		// ＫＥＹ＿申込明細番号
		template.set(
				EKK0021A010CBSMsg.KEY_MSKM_DTL_NO, 
				mskmDtlNo);

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0081C250_サービス契約お客様変更
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param trgtData 対象データ
	 * @param sysid sysid
	 * @param msgEKK0081A010 サービス契約一意照会データ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0081C250(
			IRequestParameterReadWrite param,
			HashMap<String, Object> trgtData,
			String sysid,
			CAANMsg msgEKK0081A010)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0081C250CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0081C250CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0081C250CBSMsg.TEMPLATEID, "EKK0081C250");

		// 機能コード
		template.set(EKK0081C250CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 業務データの取得
		String svcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.SVC_KEI_NO);
		String mskmDtlNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.MSKM_DTL_NO);
		String rsvAplyYmd = (String)trgtData.get(JKKIdoRsvHaneiConstCC.RSV_APLY_YMD);
		String idoDiv = (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV);
		String idoRsnCd = null;
		String autoAply = JKKIdoRsvHanei.AUTO_APLY_ARI;
		String lastUpdDtm = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.LAST_UPD_DTM);

		if (JKKIdoRsvHanei.IDO_DIV_CUST_HEIGO.equals(idoDiv))
		{
			idoRsnCd = JKKIdoRsvHanei.IDO_RSN_CD_CUST_HEIGO;
		}
		else
		{
			idoRsnCd = JKKIdoRsvHanei.IDO_RSN_CD_CUST_BNKT;
		}
		
		// サービス契約番号
		template.set(
				EKK0081C250CBSMsg.SVC_KEI_NO, 
				svcKeiNo);

		// ＳＹＳＩＤ
		template.set(
				EKK0081C250CBSMsg.SYSID, 
				sysid);

		// 申込明細番号
		template.set(
				EKK0081C250CBSMsg.MSKM_DTL_NO, 
				mskmDtlNo);

		// 予約適用年月日
		template.set(
				EKK0081C250CBSMsg.RSV_APLY_YMD, 
				rsvAplyYmd);

		// 異動区分
		template.set(
				EKK0081C250CBSMsg.IDO_DIV, 
				idoDiv);

		// 更新年月日時分秒（更新前）
		template.set(
				EKK0081C250CBSMsg.UPD_DTM_BF, 
				lastUpdDtm);

		// 異動理由コード
		template.set(
				EKK0081C250CBSMsg.IDO_RSN_CD, 
				idoRsnCd);

		// 事務手数料自動適用要否
		template.set(
				EKK0081C250CBSMsg.RULE0059_AUTO_APLY, 
				autoAply);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK1091B502_進捗一覧照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param trgtData 対象データ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK1091B502(
			IRequestParameterReadWrite param,
			HashMap<String, Object> trgtData)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK1091B502CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK1091B502CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK1091B502CBSMsg.TEMPLATEID, "EKK1091B502");

		// 機能コード
		template.set(EKK1091B502CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 業務データの取得
		String mskmDtlNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.MSKM_DTL_NO);
		String idoDiv = (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV);
		
		// ＫＥＹ＿申込明細番号
		template.set(
				EKK1091B502CBSMsg.KEY_MSKM_DTL_NO, 
				mskmDtlNo);

		// ＫＥＹ＿異動区分
		template.set(
				EKK1091B502CBSMsg.KEY_IDO_DIV, 
				idoDiv);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK1091D010_進捗登録
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param trgtData 対象データ
	 * @param prgStat 進捗ステータス
	 * @param msgEKK1091B502 進捗一覧照会データ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK1091D010(
			IRequestParameterReadWrite param,
			HashMap<String, Object> trgtData,
			String prgStat,
			String idoDtm,
			String[] prgTkjk
	) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK1091D010CBSMsg.class.getName());
		CAANMsg[] templateArray = null;

		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK1091D010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK1091D010CBSMsg.TEMPLATEID, "EKK1091D010");

		// 機能コード
		template.set(EKK1091D010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 業務データの取得
		String seikyKeiNo   = (String)trgtData.get(JKKIdoRsvHaneiConstCC.SEIKY_KEI_NO);
		String svcKeiNo     = (String)trgtData.get(JKKIdoRsvHaneiConstCC.SVC_KEI_NO);
		String svcKeiUcwkNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.SVC_KEI_UCWK_NO);
		String kktkSvcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.KKTK_SVC_KEI_NO);
		String opSvcKeiNo   = (String)trgtData.get(JKKIdoRsvHaneiConstCC.OP_SVC_KEI_NO);
		String sbopSvcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.SBOP_SVC_KEI_NO);
		String wribSvcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.WRIB_SVC_KEI_NO);

		// 申込明細番号
		template.set(EKK1091D010CBSMsg.MSKM_DTL_NO, (String)trgtData.get(JKKIdoRsvHaneiConstCC.MSKM_DTL_NO));

		// 請求契約番号
		if (seikyKeiNo != null && !"".equals(seikyKeiNo))
		{
			template.set(EKK1091D010CBSMsg.SEIKY_KEI_NO,    seikyKeiNo);
		}
		// サービス契約番号
		if (svcKeiNo != null && !"".equals(svcKeiNo))
		{
			template.set(EKK1091D010CBSMsg.SVC_KEI_NO,      svcKeiNo);
		}
		// サービス契約内訳番号
		if (svcKeiUcwkNo != null && !"".equals(svcKeiUcwkNo))
		{
			template.set(EKK1091D010CBSMsg.SVC_KEI_UCWK_NO, svcKeiUcwkNo);
		}
		// 機器提供サービス契約番号
		if (kktkSvcKeiNo != null && !"".equals(kktkSvcKeiNo))
		{
			template.set(EKK1091D010CBSMsg.KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		}
		// オプションサービス契約番号
		if (opSvcKeiNo != null && !"".equals(opSvcKeiNo))
		{
			template.set(EKK1091D010CBSMsg.OP_SVC_KEI_NO,   opSvcKeiNo);
		}
		// サブオプションサービス契約番号
		if (sbopSvcKeiNo != null && !"".equals(sbopSvcKeiNo))
		{
			template.set(EKK1091D010CBSMsg.SBOP_SVC_KEI_NO, sbopSvcKeiNo);
		}
		// 割引サービス契約番号
		if (wribSvcKeiNo != null && !"".equals(wribSvcKeiNo))
		{
			template.set(EKK1091D010CBSMsg.WRIB_SVC_KEI_NO, wribSvcKeiNo);
		}

		// 異動区分
		template.set(EKK1091D010CBSMsg.IDO_DIV,  (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV));
		// 異動年月日時分秒
		template.set(EKK1091D010CBSMsg.IDO_DTM,  idoDtm);
		// 進捗ステータス
		template.set(EKK1091D010CBSMsg.PRG_STAT, prgStat);

		// 進捗特記事項１
		if (prgTkjk[0] != null && !"".equals(prgTkjk[0]))
		{
			template.set(EKK1091D010CBSMsg.PRG_TKJK_1, prgTkjk[0]);
		}
		// 進捗特記事項２
		if (prgTkjk[1] != null && !"".equals(prgTkjk[1]))
		{
			template.set(EKK1091D010CBSMsg.PRG_TKJK_2, prgTkjk[1]);
		}

		// 異動理由明細
		templateArray = template.getCAANMsgList(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST);

		if (templateArray == null)
		{
			templateArray = new CAANMsg[1];
		}

		CAANMsg childTemplate = new CAANMsg(EKK1091D010CBSMsg1List.class.getName());

		// nullマッピングを実施
		fillCAANMSGNullMapping(childTemplate, new EKK1091D010CBSMsg1List().getContents());

		// 異動理由明細.異動理由コード
		childTemplate.set(EKK1091D010CBSMsg1List.IDO_RSN_CD, "56");

		templateArray[0] = childTemplate;

		template.set(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST, templateArray);

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EZM0181A010_電話番号予約一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param msgEZM0181B020 電話番号予約一覧照会データ
	 * @param trnDate 処理年月日
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEZM0181A010(
			IRequestParameterReadWrite param,
			CAANMsg msgEZM0181B020,
			String trnDate)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EZM0181A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EZM0181A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EZM0181A010CBSMsg.TEMPLATEID, "EZM0181A010");

		// 機能コード
		template.set(EZM0181A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 業務データの取得
		String telnoRsvNo = (String)msgEZM0181B020.getString(EZM0181B020CBSMsg1List.TELNO_RSV_NO);
		
		// ＫＥＹ＿電話番号予約番号
		template.set(
				EZM0181A010CBSMsg.KEY_TELNO_RSV_NO, 
				telnoRsvNo);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EZM0181B020_電話番号予約一覧照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param sysid sysid
	 * @param svcKeiNo サービス契約番号
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEZM0181B020(
			IRequestParameterReadWrite param,
			String sysid,
			String svcKeiNo)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EZM0181B020CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EZM0181B020CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EZM0181B020CBSMsg.TEMPLATEID, "EZM0181B020");

		// 機能コード
		template.set(EZM0181B020CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// ＫＥＹ＿予約者SYSID
		template.set(
				EZM0181B020CBSMsg.KEY_YOYAKSHA_SYSID, 
				sysid);
		
		// ＫＥＹ＿予約者サービス契約番号
		template.set(
				EZM0181B020CBSMsg.KEY_YOYAKSHA_SVC_KEI_NO,
				svcKeiNo);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EZM0181C010_電話番号予約変更
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param sysid sysid
	 * @param msgEZM0181A010 電話番号予約一意照会データ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEZM0181C010(
			IRequestParameterReadWrite param,
			String sysid,
			CAANMsg msgEZM0181A010)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EZM0181C010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EZM0181C010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EZM0181C010CBSMsg.TEMPLATEID, "EZM0181C010");

		// 機能コード
		template.set(EZM0181C010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 業務データの取得
		String telnoRsvNo = msgEZM0181A010.getString(EZM0181A010CBSMsg1List.TELNO_RSV_NO);
		String telno = msgEZM0181A010.getString(EZM0181A010CBSMsg1List.TELNO);
		String telnoRsvSbtCd = msgEZM0181A010.getString(EZM0181A010CBSMsg1List.TELNO_RSV_SBT_CD);
		String yoyakshaSvcKeiNo = msgEZM0181A010.getString(EZM0181A010CBSMsg1List.YOYAKSHA_SVC_KEI_NO);
		String yoyakshaProscstNo = msgEZM0181A010.getString(EZM0181A010CBSMsg1List.YOYAKSHA_PROSCST_NO);
		String taioKirokNo = msgEZM0181A010.getString(EZM0181A010CBSMsg1List.TAIO_KIROK_NO);
		String rsvSkbtKey1 = msgEZM0181A010.getString(EZM0181A010CBSMsg1List.RSV_SKBT_KEY_1);
		String rsvSkbtKey2 = msgEZM0181A010.getString(EZM0181A010CBSMsg1List.RSV_SKBT_KEY_2);
		String telnoRsvStaDtm = msgEZM0181A010.getString(EZM0181A010CBSMsg1List.TELNO_RSV_STA_DTM);
		String telnoRsvYkKigen = msgEZM0181A010.getString(EZM0181A010CBSMsg1List.TELNO_RSV_YK_KIGEN);
		String telnoRsvTntUserId = msgEZM0181A010.getString(EZM0181A010CBSMsg1List.TELNO_RSV_TNT_USER_ID);
		String updDtm = msgEZM0181A010.getString(EZM0181A010CBSMsg1List.UPD_DTM);
		
		// 電話番号予約番号
		template.set(
				EZM0181C010CBSMsg.TELNO_RSV_NO, 
				telnoRsvNo);

		// 電話番号
		template.set(
				EZM0181C010CBSMsg.TELNO,
				telno);

		// 電話番号予約種別コード
		template.set(
				EZM0181C010CBSMsg.TELNO_RSV_SBT_CD, 
				telnoRsvSbtCd);

		// 予約者ＳＹＳＩＤ
		template.set(
				EZM0181C010CBSMsg.YOYAKSHA_SYSID, 
				sysid);

		// 予約者サービス契約番号
		template.set(
				EZM0181C010CBSMsg.YOYAKSHA_SVC_KEI_NO, 
				yoyakshaSvcKeiNo);

		// 予約者問合せ客番号
		template.set(
				EZM0181C010CBSMsg.YOYAKSHA_PROSCST_NO, 
				yoyakshaProscstNo);

		// 対応記録番号
		template.set(
				EZM0181C010CBSMsg.TAIO_KIROK_NO, 
				taioKirokNo);

		// 予約識別キー１
		template.set(
				EZM0181C010CBSMsg.RSV_SKBT_KEY_1, 
				rsvSkbtKey1);

		// 予約識別キー２
		template.set(
				EZM0181C010CBSMsg.RSV_SKBT_KEY_2, 
				rsvSkbtKey2);

		// 電話番号予約開始年月日時分秒
		template.set(
				EZM0181C010CBSMsg.TELNO_RSV_STA_DTM, 
				telnoRsvStaDtm);

		// 電話番号予約有効期限
		template.set(
				EZM0181C010CBSMsg.TELNO_RSV_YK_KIGEN, 
				telnoRsvYkKigen);

		// 電話番号予約担当ユーザーＩＤ
		template.set(
				EZM0181C010CBSMsg.TELNO_RSV_TNT_USER_ID, 
				telnoRsvTntUserId);

		// 更新前最終年月日時分秒
		template.set(
				EZM0181C010CBSMsg.LAST_UPD_DTM_BF, 
				updDtm);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * 
	 * KojiAnkenCC_工事案件CC
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param trgtData 業務情報を保持するマップ
	 * @param workFixedText ワーク領域文字列
	 * @param sysid sysid
	 * @param rrksTelno 連絡先電話番号
	 * @param msgECK0011A010 お客様一意照会データ
	 * @param msgEKK0021A010 申込明細一意照会結果
	 * @return void
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public void editMapKojiAnken(
			IRequestParameterReadWrite param, 
			HashMap<String, Object> trgtData,
			String workFixedText,
			String sysid,
			String rrksTelno,
			CAANMsg msgECK0011A010,
			CAANMsg msgEKK0021A010)
	throws RequestParameterException 
	{
		HashMap<String, Object> outMap = (HashMap)param.getData(workFixedText);

		// 業務データの取得
		String custNm = msgECK0011A010.getString(ECK0011A010CBSMsg1List.CUST_NM);
		String custKana = msgECK0011A010.getString(ECK0011A010CBSMsg1List.CUST_KANA);
		String custHomeTelNo = msgECK0011A010.getString(ECK0011A010CBSMsg1List.KEISHA_TELNO);
		String keishaAdCd = msgECK0011A010.getString(ECK0011A010CBSMsg1List.KEISHA_AD_CD);
		String keishaPcd = msgECK0011A010.getString(ECK0011A010CBSMsg1List.KEISHA_PCD);
		String keishaStateNm = msgECK0011A010.getString(ECK0011A010CBSMsg1List.KEISHA_STATE_NM);
		String keishaCityNm = msgECK0011A010.getString(ECK0011A010CBSMsg1List.KEISHA_CITY_NM);
		String keishaOaztsuNm = msgECK0011A010.getString(ECK0011A010CBSMsg1List.KEISHA_OAZTSU_NM);
		String keishaAzchoNm = msgECK0011A010.getString(ECK0011A010CBSMsg1List.KEISHA_AZCHO_NM);
		String keishaAdBnchigo = msgECK0011A010.getString(ECK0011A010CBSMsg1List.KEISHA_BNCHIGO);
		String keishaAdrttm = msgECK0011A010.getString(ECK0011A010CBSMsg1List.KEISHA_ADRTTM);
		String keishaAdrrm = msgECK0011A010.getString(ECK0011A010CBSMsg1List.KEISHA_ADRRM);
		String custKtaiTelNo = msgEKK0021A010.getString(EKK0021A010CBSMsg1List.RRKS_KTAI_TELNO);
		String rrksOffcNm = msgEKK0021A010.getString(EKK0021A010CBSMsg1List.RRKS_OFFC_NM);

		// 工事受付コード
		outMap.put(
				JKKKojiAnkenConstCC.KOJI_UK_CD, 
				JKKIdoRsvHanei.KOJI_UK_CD_NAIYO_CHG);
		
		// 工事受付詳細コード
		outMap.put(
				JKKKojiAnkenConstCC.KOJI_UK_DTL_CD, 
				JKKIdoRsvHanei.KOJI_UK_DTAIL_CD_CUST_CHG);
		
		//2012-05-15追加、工事案件CCが必要としているため指定
		//サービス契約番号
		String svcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.SVC_KEI_NO);
		outMap.put(JKKKojiAnkenConstCC.SVC_KEI_NO, svcKeiNo);
		
		//申込番号
		String mskmNo = msgEKK0021A010.getString(EKK0021A010CBSMsg1List.MSKM_NO);
		outMap.put(JKKKojiAnkenConstCC.MSKM_NO, mskmNo);

		//申込明細番号
		String mskmDtlNo = msgEKK0021A010.getString(EKK0021A010CBSMsg1List.MSKM_DTL_NO);
		outMap.put(JKKKojiAnkenConstCC.MSKM_DTL_NO, mskmDtlNo);
		//2012-05-15追加、工事案件CCが必要としているため指定

		// SYSID
		outMap.put(
				JKKKojiAnkenConstCC.SYSID, 
				sysid);
		
		// お客様名
		outMap.put(
				JKKKojiAnkenConstCC.CUST_NM, 
				custNm);

		// お客様カナ名
		outMap.put(
				JKKKojiAnkenConstCC.CUST_KANA, 
				custKana);

		// お客様自宅電話番号
		outMap.put(
				JKKKojiAnkenConstCC.CUST_HOME_TEL_NO, 
				custHomeTelNo);

		// 契約者住所コード
		outMap.put(
				JKKKojiAnkenConstCC.KEISHA_AD_CD, 
				keishaAdCd);

		// 契約者郵便番号
		outMap.put(
				JKKKojiAnkenConstCC.KEISHA_PCD, 
				keishaPcd);

		// 契約者都道府県名
		outMap.put(
				JKKKojiAnkenConstCC.KEISHA_STATE_NM, 
				keishaStateNm);

		// 契約者市区町村名
		outMap.put(
				JKKKojiAnkenConstCC.KEISHA_CITY_NM, 
				keishaCityNm);

		// 契約者大字通称名
		outMap.put(
				JKKKojiAnkenConstCC.KEISHA_OAZTSU_NM, 
				keishaOaztsuNm);

		// 契約者字丁目名
		outMap.put(
				JKKKojiAnkenConstCC.KEISHA_AZCHO_NM, 
				keishaAzchoNm);

		// 契約者住所番地号
		outMap.put(
				JKKKojiAnkenConstCC.KEISHA_AD_BNCHIGO, 
				keishaAdBnchigo);

		// 契約者住所補記・建物名
		if (null != keishaAdrttm && 0 < keishaAdrttm.length())		//あればセット
		{
			outMap.put(JKKKojiAnkenConstCC.KEISHA_ADRTTM, keishaAdrttm);
		}

		// 契約者住所補記・部屋番号
		if (null != keishaAdrrm && 0 < keishaAdrrm.length())		//あればセット
		{
			outMap.put(JKKKojiAnkenConstCC.KEISHA_ADRRM, keishaAdrrm);
		}

		// お客様連絡先電話番号
		if (null != rrksTelno && 0 < rrksTelno.length())		//あればセット
		{
			outMap.put(JKKKojiAnkenConstCC.CUST_RRKS_TEL_NO, rrksTelno);
		}

		// お客様携帯電話番号
		if (null != keishaAdrrm && 0 < keishaAdrrm.length())		//あればセット
		{
			outMap.put(JKKKojiAnkenConstCC.CUST_KTAI_TEL_NO, custKtaiTelNo);
		}

		// 連絡先勤務先名
		if (null != keishaAdrrm && 0 < keishaAdrrm.length())		//あればセット
		{
			outMap.put(JKKKojiAnkenConstCC.RRKS_OFFC_NM, rrksOffcNm);
		}
		
		// ANK-1386-00-00 工事費算出のために工事案件スキーマへの異動区分更新 ADD START
		// 異動区分
		String idoDiv = (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV);
		outMap.put(JKKKojiAnkenConstCC.IDO_DIV, idoDiv);
		// ANK-1386-00-00 工事費算出のために工事案件スキーマへの異動区分更新 ADD END
		
	}

	/**
	 * 
	 * DslRun_サービス契約解約
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param trgtData 業務情報を保持するマップ
	 * @param workFixedText ワーク領域文字列
	 * @param msgEKK0081A010 サービス契約一意照会結果データ
	 * @return マップ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> editMapDslRun(
			IRequestParameterReadWrite param, 
			HashMap<String, Object> trgtData,
			String workFixedText,
			CAANMsg msgEKK0081A010,
			String idoDtm
	) throws RequestParameterException 
	{
		HashMap<String, Object> outMap = (HashMap)param.getData(workFixedText);

		// 異動理由データリスト
		ArrayList<HashMap<String, Object>> idoRsnDataList = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> idoRsnData = new HashMap<String, Object>();

		// 業務データの取得
		String sysid         = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SYSID);			// SYSID
		String svcKeiNo      = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_KEI_NO);		// サービス契約番号
		String svcKeiUcwkNo  = (String)trgtData.get(JKKIdoRsvHaneiConstCC.SVC_KEI_UCWK_NO);		// サービス契約内訳番号
		String mskmDtlNo     = (String)trgtData.get(JKKIdoRsvHaneiConstCC.MSKM_DTL_NO);			// 申込明細番号
		String idoDiv        = (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV);				// 異動区分
		String kojiakNo      = (String)trgtData.get(JKKIdoRsvHaneiConstCC.KOJIAK_NO);			// 工事案件番号
		String svcEndymd     = (String)trgtData.get(JKKIdoRsvHaneiConstCC.RSV_APLY_YMD);		// サービス終了年月日
		String adchgIdoDiv   = (String)trgtData.get(JKKDslRunConstCC.ADCHG_IDO_DIV);			// 住所変更内異動区分
		String pnltyHasseiCD = (String)trgtData.get(JKKIdoRsvHaneiConstCC.PNLTY_HASSEI_CD);		// 違約金発生区分

		// 異動理由コード
		idoRsnData.put(JKKDslRunConstCC.IDO_RSN_CD, JKKIdoRsvHanei.IDO_RSN_CD_OTHER);
		// 異動理由データリスト
		idoRsnDataList.add(idoRsnData);

		// 起動元コード
		outMap.put(JKKDslRunConstCC.KIDO_CD,         JKKIdoRsvHanei.KIDO_CD_BAT);
		// SYSID
		outMap.put(JKKDslRunConstCC.SYSID,           sysid);
		// サービス契約番号
		outMap.put(JKKDslRunConstCC.SVC_KEI_NO,      svcKeiNo);
		// サービス契約内訳番号
		outMap.put(JKKDslRunConstCC.SVC_KEI_UCWK_NO, svcKeiUcwkNo);
		// 異動区分
		outMap.put(JKKDslRunConstCC.IDO_DIV,         idoDiv);
		// 工事案件番号
		outMap.put(JKKDslRunConstCC.KOJIAK_NO,       kojiakNo);
		// サービス終了年月日
		outMap.put(JKKDslRunConstCC.SVC_ENDYMD,      svcEndymd);
		// 異動理由データリスト
		outMap.put(JKKDslRunConstCC.IDO_LIST,        idoRsnDataList);
		// 申込明細番号
		outMap.put(JKKDslRunConstCC.MSKM_DTL_NO,     mskmDtlNo);
		// 住所変更内異動区分
		outMap.put(JKKDslRunConstCC.ADCHG_IDO_DIV,   adchgIdoDiv);
		// 違約金発生区分
		outMap.put(JKKDslRunConstCC.PNLTY_HASSEI_CD, pnltyHasseiCD);
		// ▼▼▼▼▼ 2013/07/29 UPD START ▼▼▼▼▼
		// 進捗異動年月日時分秒
		outMap.put(JKKDslRunConstCC.PRG_IDO_DTM,     idoDtm);
		// ▲▲▲▲▲ 2013/07/29 UPD E N D ▲▲▲▲▲

		return outMap;
	}

	/**
	 * 
	 * PauseReceptu_休止変更・予約取消
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param trgtData 業務情報を保持するマップ
	 * @param workFixedText ワーク領域文字列
	 * @param msgEKK0081A010 サービス契約一意照会結果データ
	 * @param svcPauseYmd サービス休止年月日
	 * @param svcPauseRlsYmd サービス休止解除年月日
	 * @return void
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public void editMapPauseChgRsvCl(
			IRequestParameterReadWrite param, 
			HashMap<String, Object> trgtData,
			String workFixedText,
			CAANMsg msgEKK0081A010,
			String svcPauseYmd,
			String svcPauseRlsYmd,
			String svcPauseChrgYmd,
			String idoRsvRsnMemo,
			String idoDtm
	) throws RequestParameterException 
	{
		HashMap<String, Object> outMap = (HashMap)param.getData(workFixedText);

		// 異動理由データリスト
		ArrayList<HashMap<String, Object>> idoRsnDataList = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> idoRsnData = new HashMap<String, Object>();

		// 業務データの取得
		String idoDiv    = (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV);
		String svcKeiNo  = (String)trgtData.get(JKKIdoRsvHaneiConstCC.SVC_KEI_NO);
		String mskmDtlNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.MSKM_DTL_NO);
		String pauseMemo = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_PAUSE_RSN_MEMO);

		// サービス休止課金開始年月日
		String svcPauseChrgStaYmd = msgEKK0081A010.getString(EKK0081A010CBSMsg1List.SVC_PAUSE_CHRG_STA_YMD);

		// 休止料金提供年月
		String pausePrcTkYm = null;

		if (svcPauseChrgStaYmd != null && 6 <= svcPauseChrgStaYmd.length())
		{
			pausePrcTkYm = svcPauseChrgStaYmd.substring(0, 6);
		}

		// 異動理由コード
		idoRsnData.put(JKKPauseChgRsvClConstCC.IDO_RSN_CD, JKKIdoRsvHanei.IDO_RSN_CD_OTHER);
		// 異動理由データリスト
		idoRsnDataList.add(idoRsnData);

		// 休止受付マップ
		HashMap<String, Object> pauseReceptMap = new HashMap<String, Object>();
		outMap.put(JKKPauseChgRsvClConstCC.PAUSE_RECEPT_MAP, pauseReceptMap);

		// 起動元コード
		pauseReceptMap.put(JKKPauseChgRsvClConstCC.KIDO_CD,           JKKPauseChgRsvClCC.KIDO_CD_BATCH);
		// 異動区分
		pauseReceptMap.put(JKKPauseChgRsvClConstCC.IDO_DIV,           idoDiv);
		// サービス契約番号
		pauseReceptMap.put(JKKPauseChgRsvClConstCC.SVC_KEI_NO,        svcKeiNo);
		// サービス休止年月日
		pauseReceptMap.put(JKKPauseChgRsvClConstCC.SVC_PAUSE_YMD,     svcPauseYmd);
		// 休止料金提供年月
		pauseReceptMap.put(JKKPauseChgRsvClConstCC.PAUSE_PRC_TK_YM,   pausePrcTkYm);
		// 休止メモ
		pauseReceptMap.put(JKKPauseChgRsvClConstCC.PAUSE_MEMO,        pauseMemo);
		// サービス休止解除年月日
		pauseReceptMap.put(JKKPauseChgRsvClConstCC.SVC_PAUSE_RLS_YMD, svcPauseRlsYmd);
		// 異動理由データリスト
		pauseReceptMap.put(JKKPauseChgRsvClConstCC.IDO_RSN_DATA_LIST, idoRsnDataList);
		// 申込明細番号
		pauseReceptMap.put(JKKPauseChgRsvClConstCC.MSKM_DTL_NO,       mskmDtlNo);
		// 異動予約理由メモ
		pauseReceptMap.put(JKKPauseChgRsvClConstCC.PAUSE_MEMO,        idoRsvRsnMemo);
		// TG1-2013-0000927 2013/08/07 start
		// サービス休止課金開始年月日
		pauseReceptMap.put(JKKPauseChgRsvClConstCC.SVC_PAUSE_CHRG_STA_YMD,  svcPauseChrgYmd);
		// TG1-2013-0000927 2013/08/07 end
		// ▼▼▼▼▼ 2013/07/29 UPD START ▼▼▼▼▼
		// 進捗異動年月日時分秒
		pauseReceptMap.put(JKKDslRunConstCC.PRG_IDO_DTM,              idoDtm);
		// ▲▲▲▲▲ 2013/07/29 UPD E N D ▲▲▲▲▲
	}
	
	/**
	 * EKK0081A010_サービス契約一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param svcKeiNo サービス契約番号
	 * @param trnDate 処理年月日
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0081A010(
			IRequestParameterReadWrite param,
			String svcKeiNo,
			String trnDate)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0081A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0081A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0081A010CBSMsg.TEMPLATEID, "EKK0081A010");

		// 機能コード
		template.set(EKK0081A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		// ＫＥＹ＿サービス契約番号
		template.set(
				EKK0081A010CBSMsg.KEY_SVC_KEI_NO,
				svcKeiNo);
		// ＫＥＹ＿予約適用年月日
		template.set(
				EKK0081A010CBSMsg.KEY_RSV_APLY_YMD,
				trnDate);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0161A010_サービス契約内訳一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @param trnDate 処理年月日
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0161A010(
			IRequestParameterReadWrite param,
			String svcKeiUcwkNo,
			String trnDate)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0161A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0161A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0161A010CBSMsg.TEMPLATEID, "EKK0161A010");

		// 機能コード
		template.set(EKK0161A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		// ＫＥＹ＿サービス契約内訳番号
		template.set(
				EKK0161A010CBSMsg.KEY_SVC_KEI_UCWK_NO,
				svcKeiUcwkNo);
		// ＫＥＹ＿予約適用年月日
		template.set(
				EKK0161A010CBSMsg.KEY_RSV_APLY_YMD,
				trnDate);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0351A010_オプションサービス契約一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param opSvcKeiNo オプションサービス契約番号
	 * @param trnDate 処理年月日
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0351A010(
			IRequestParameterReadWrite param,
			String opSvcKeiNo,
			String trnDate)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0351A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0351A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0351A010CBSMsg.TEMPLATEID, "EKK0351A010");

		// 機能コード
		template.set(EKK0351A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		// ＫＥＹ＿オプションサービス契約番号
		template.set(
				EKK0351A010CBSMsg.KEY_OP_SVC_KEI_NO,
				opSvcKeiNo);
		
		// ＫＥＹ＿予約適用年月日
		template.set(
				EKK0351A010CBSMsg.KEY_RSV_APLY_YMD,
				trnDate);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0361A010_オプションサービス契約<ISP>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param opSvcKeiNo オプションサービス契約番号
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0361A010(
			IRequestParameterReadWrite param,
			String opSvcKeiNo)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0361A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0361A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0361A010CBSMsg.TEMPLATEID, "EKK0361A010");

		// 機能コード
		template.set(EKK0361A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		// ＫＥＹ＿オプションサービス契約番号
		template.set(
				EKK0361A010CBSMsg.KEY_OP_SVC_KEI_NO,
				opSvcKeiNo);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0371A010_オプションサービス契約<電話>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param opSvcKeiNo オプションサービス契約番号
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0371A010(
			IRequestParameterReadWrite param,
			String opSvcKeiNo)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0371A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0371A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0371A010CBSMsg.TEMPLATEID, "EKK0371A010");

		// 機能コード
		template.set(EKK0371A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		// ＫＥＹ＿オプションサービス契約番号
		template.set(
				EKK0371A010CBSMsg.KEY_OP_SVC_KEI_NO,
				opSvcKeiNo);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}

	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/07 START
	/**
	 * EKK0401A010_サブオプションサービス契約一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param opSvcKeiNo オプションサービス契約番号
	 * @param sbopSvcKeiNo サブオプションサービス契約番号
	 * @param trnDate 処理年月日
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0401A010(
			IRequestParameterReadWrite param,
			String opSvcKeiNo,
			String sbopSvcKeiNo,
			String trnDate)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0401A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0401A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0401A010CBSMsg.TEMPLATEID, "EKK0401A010");

		// 機能コード
		template.set(EKK0401A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		// ＫＥＹ＿オプションサービス契約番号
		template.set(
				EKK0401A010CBSMsg.KEY_OP_SVC_KEI_NO,
				opSvcKeiNo);

		// ＫＥＹ＿サブオプションサービス契約番号
		template.set(
				EKK0401A010CBSMsg.KEY_SBOP_SVC_KEI_NO,
				sbopSvcKeiNo);

		// ＫＥＹ＿予約適用年月日
		template.set(
				EKK0401A010CBSMsg.KEY_RSV_APLY_YMD,
				trnDate);

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	// OM-2014-0000032 非通知着信拒否オプションの開始予約が反映されない 2014/01/07 END

	/**
	 * EKK0401B001_サブオプションサービス契約一覧照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param opSvcKeiNo オプションサービス契約番号
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0401B001(
			IRequestParameterReadWrite param,
			String opSvcKeiNo)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0401B001CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0401B001CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0401B001CBSMsg.TEMPLATEID, "EKK0401B001");

		// 機能コード
		template.set(EKK0401B001CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// ＫＥＹ＿オプションサービス契約番号
		template.set(
				EKK0401B001CBSMsg.KEY_OP_SVC_KEI_NO,
				opSvcKeiNo);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0411A010_サブオプションサービス契約<ISP>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param opSvcKeiNo オプションサービス契約番号
	 * @param sbopSvcKeiNo サブオプションサービス契約番号
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0411A010(
			IRequestParameterReadWrite param,
			String opSvcKeiNo,
			String sbopSvcKeiNo)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0411A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0411A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0411A010CBSMsg.TEMPLATEID, "EKK0411A010");

		// 機能コード
		template.set(EKK0411A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		// ＫＥＹ＿オプションサービス契約番号
		template.set(
				EKK0411A010CBSMsg.KEY_OP_SVC_KEI_NO,
				opSvcKeiNo);
		
		// ＫＥＹ＿サブオプションサービス契約番号
		template.set(
				EKK0411A010CBSMsg.KEY_SBOP_SVC_KEI_NO,
				sbopSvcKeiNo);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0361C040_オプションサービス契約<ISP>開始
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param trgtData 対象データ
	 * @param msgEKK0351A010 オプションサービス契約一意照会データ
	 * @param msgEKK0361A010 オプションサービス契約<ISP>一意照会データ
	 * @param lastUpdDtm 最終更新年月日時分秒
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0361C040(
			IRequestParameterReadWrite param,
			HashMap trgtData,
			CAANMsg msgEKK0351A010,
			CAANMsg msgEKK0361A010,
			String lastUpdDtm)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0361C040CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0361C040CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0361C040CBSMsg.TEMPLATEID, "EKK0361C040");

		// 対象データから業務情報を取得
		String opSvcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.OP_SVC_KEI_NO); 
		String idoDiv = (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV);
	
		// 機能コード
		template.set(EKK0361C040CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// オプションサービス契約番号
		template.set(
				EKK0361C040CBSMsg.OP_SVC_KEI_NO,
				opSvcKeiNo);
		
		// 異動区分
		template.set(
				EKK0361C040CBSMsg.IDO_DIV,
				idoDiv);
		
		// マルチセッション用認証ID
		template.set(
				EKK0361C040CBSMsg.MLTISE_NINSHO_ID,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.MLTISE_NINSHO_ID));
		
		// マルチセッション用認証IDパスワード
		template.set(
				EKK0361C040CBSMsg.MLTISE_NINSHO_ID_PWD,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.MLTISE_NINSHO_ID_PWD));
		
		// 固定IPアドレス
		template.set(
				EKK0361C040CBSMsg.KOTEI_IP_AD,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.KOTEI_IP_AD));
		
		// ネットマスク
		template.set(
				EKK0361C040CBSMsg.NETMASK,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.NETMASK));
		
		// メールアドレス
		template.set(
				EKK0361C040CBSMsg.MLAD,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.MLAD));
		
		// 容量
		template.set(
				EKK0361C040CBSMsg.CAPA,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.CAPA));
		
		// ホスティングメール管理者メールアドレス
		template.set(
				EKK0361C040CBSMsg.HOSML_KRISHA_MLAD,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.HOSML_KRISHA_MLAD));
		
		// ホスティングメール管理者メールボックス容量
		template.set(
				EKK0361C040CBSMsg.HOSML_KRISHA_MAIL_BOX_CAPA,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.HOSML_KRISHA_MAIL_BOX_CAPA));
		
		// ダイヤルパッドメールアドレス
		template.set(
				EKK0361C040CBSMsg.DPAD_MLAD,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.DPAD_MLAD));
		
		// VoIPユーザーID
		template.set(
				EKK0361C040CBSMsg.VOIP_USER_ID,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.VOIP_USER_ID));
		
		// VOIP電話番号
		template.set(
				EKK0361C040CBSMsg.VOIP_TELNO,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.VOIP_TELNO));
		
		// メールゲートウェイ管理者ID
		template.set(
				EKK0361C040CBSMsg.MAIL_GW_KRISHA_ID,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.MAIL_GW_KRISHA_ID));
		
		// メールゲートウェイ管理者IDパスワード
		template.set(
				EKK0361C040CBSMsg.MAIL_GW_KRISHA_ID_PWD,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.MAIL_GW_KRISHA_ID_PWD));
		
		// メールゲートウェイ管理者メールアドレス
		template.set(
				EKK0361C040CBSMsg.MAIL_GW_KRISHA_MLAD,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.MAIL_GW_KRISHA_MLAD));
		
		// メールゲートウェイ受信メールサーバーIPアドレス
		template.set(
				EKK0361C040CBSMsg.MAIL_GW_RCV_MSERVER_IP_AD,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.MAIL_GW_RCV_MSERVER_IP_AD));
		
		// メールゲートウェイ送信メールサーバーIPアドレス
		template.set(
				EKK0361C040CBSMsg.MAIL_GW_SEND_MSERVER_IP_AD,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.MAIL_GW_SEND_MSERVER_IP_AD));
		
		// メールゲートウェイアカウント数
		template.set(
				EKK0361C040CBSMsg.ML_GW_ACCOUNT_CNT,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.ML_GW_ACCOUNT_CNT));
		
		// 公衆網電話番号
		template.set(
				EKK0361C040CBSMsg.KOSHUMO_TELNO,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.KOSHUMO_TELNO));
		
		// 更新年月日時分秒(更新前)
		template.set(
				EKK0361C040CBSMsg.UPD_DTM_BF,
				lastUpdDtm);
		
		// 即時/翌月
		template.set(
				EKK0361C040CBSMsg.SKJ_YKGT,
				JKKIdoRsvHanei.SKJ_YKGT_SOKUJI);
		
		// ▼▼▼▼▼ OM-2016-0000017 2016/02/16 ADD START ▼▼▼▼▼
		// IPv6アドレスフィールドの値を引継いでいない為、マッピング追加
		
		// IPv6アドレス(インターフェイスID)
		template.set(
				EKK0361C040CBSMsg.IPV6_AD_IFID,
				msgEKK0361A010.getString(EKK0361A010CBSMsg1List.IPV6_AD_IFID));
		// ▲▲▲▲▲ OM-2016-0000017 2016/02/16 ADD END   ▲▲▲▲▲
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0371C040_オプションサービス契約<電話>開始
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param trgtData 対象データ
	 * @param msgEKK0351A010 オプションサービス契約一意照会データ
	 * @param msgEKK0371A010 オプションサービス契約<電話>一意照会データ
	 * @param lastUpdDtm 最終更新年月日時分秒
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0371C040(
			IRequestParameterReadWrite param,
			HashMap trgtData,
			CAANMsg msgEKK0351A010,
			CAANMsg msgEKK0371A010,
			String lastUpdDtm)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0371C040CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0371C040CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0371C040CBSMsg.TEMPLATEID, "EKK0371C040");

		// 対象データから業務情報を取得
		String opSvcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.OP_SVC_KEI_NO); 
		String idoDiv = (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV);

		// 機能コード
		template.set(EKK0371C040CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// オプションサービス契約番号
		template.set(
				EKK0371C040CBSMsg.OP_SVC_KEI_NO,
				opSvcKeiNo);
		
		// 異動区分
		template.set(
				EKK0371C040CBSMsg.IDO_DIV,
				idoDiv);
		
		// 050オプション電話番号
		template.set(
				EKK0371C040CBSMsg.N_050_OP_TELNO,
				msgEKK0371A010.getString(EKK0371A010CBSMsg1List.N_050_OP_TELNO));
		
		// 更新年月日時分秒(更新前)
		template.set(
				EKK0371C040CBSMsg.UPD_DTM_BF,
				lastUpdDtm);
		
		// 即時/翌月
		template.set(
				EKK0371C040CBSMsg.SKJ_YKGT,
				JKKIdoRsvHanei.SKJ_YKGT_SOKUJI);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0381C040_オプションサービス契約<TV>開始
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param trgtData 対象データ
	 * @param msgEKK0351A010 オプションサービス契約一意照会データ
	 * @param lastUpdDtm 最終更新年月日時分秒
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0381C040(
			IRequestParameterReadWrite param,
			HashMap trgtData,
			CAANMsg msgEKK0351A010,
			String lastUpdDtm)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0381C040CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0381C040CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0381C040CBSMsg.TEMPLATEID, "EKK0381C040");

		// 対象データから業務情報を取得
		String opSvcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.OP_SVC_KEI_NO); 
		String idoDiv = (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV);
	
		// 機能コード
		template.set(EKK0381C040CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// オプションサービス契約番号
		template.set(
				EKK0381C040CBSMsg.OP_SVC_KEI_NO,
				opSvcKeiNo);
		
		// サービス開始年月日
			template.set(
				EKK0381C040CBSMsg.SVC_STAYMD,
				(String)trgtData.get(JKKIdoRsvHaneiConstCC.RSV_APLY_YMD));   //予約適用年月日
		
		// 異動区分
		template.set(
				EKK0381C040CBSMsg.IDO_DIV,
				idoDiv);
		
		// 更新年月日時分秒(更新前)
		template.set(
				EKK0381C040CBSMsg.UPD_DTM_BF,
				lastUpdDtm);
		
		// ST2-2012-0001575 2012/08/30 start
		// 即時/翌月
		template.set(
				EKK0381C040CBSMsg.SKJ_YKGT,
				JKKIdoRsvHanei.SKJ_YKGT_NASHI);
		// ST2-2012-0001575 2012/08/30 end
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0391C040_オプションサービス契約<サポート>開始
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param trgtData 対象データ
	 * @param msgEKK0351A010 オプションサービス契約一意照会データ
	 * @param lastUpdDtm 最終更新年月日時分秒
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0391C040(
			IRequestParameterReadWrite param,
			HashMap trgtData,
			CAANMsg msgEKK0351A010,
			String lastUpdDtm)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0391C040CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0391C040CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0391C040CBSMsg.TEMPLATEID, "EKK0391C040");

		// 対象データから業務情報を取得
		String opSvcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.OP_SVC_KEI_NO); 
		String idoDiv = (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV);

		// 機能コード
		template.set(EKK0391C040CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// オプションサービス契約番号
		template.set(
				EKK0391C040CBSMsg.OP_SVC_KEI_NO,
				opSvcKeiNo);
		
		// 異動区分
		template.set(
				EKK0391C040CBSMsg.IDO_DIV,
				idoDiv);
		
		// 更新年月日時分秒(更新前)
		template.set(
				EKK0391C040CBSMsg.UPD_DTM_BF,
				lastUpdDtm);
		
		// 即時/翌月
		template.set(
				EKK0391C040CBSMsg.SKJ_YKGT,
				JKKIdoRsvHanei.SKJ_YKGT_SOKUJI);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0411C050_サブオプションサービス契約<ISP>使用開始
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param trgtData 対象データ
	 * @param msgEKK0401B001 サブオプションサービス契約一覧照会データ
	 * @param lastUpdDtm 最終更新年月日時分秒
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0411C050(
			IRequestParameterReadWrite param,
			HashMap trgtData,
			CAANMsg msgEKK0401B001,
			String lastUpdDtm)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0411C050CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0411C050CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0411C050CBSMsg.TEMPLATEID, "EKK0411C050");

		// 対象データから業務情報を取得
		String opSvcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.OP_SVC_KEI_NO);
		String idoDiv = (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV);

		// 機能コード
		template.set(EKK0411C050CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// オプションサービス契約番号
		template.set(
				EKK0411C050CBSMsg.OP_SVC_KEI_NO,
				opSvcKeiNo);
		
		// サブオプションサービス契約番号
		template.set(
				EKK0411C050CBSMsg.SBOP_SVC_KEI_NO,
				msgEKK0401B001.getString(EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO));
		
		// 異動区分
		template.set(
				EKK0411C050CBSMsg.IDO_DIV,
				idoDiv);
		
		// 更新年月日時分秒(更新前)
		template.set(
				EKK0411C050CBSMsg.UPD_DTM_BF,
				lastUpdDtm);
		
		// 即時/翌月
		template.set(
				EKK0411C050CBSMsg.SKJ_YKGT,
				JKKIdoRsvHanei.SKJ_YKGT_SOKUJI);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0431C040_サブオプションサービス契約<電話>使用開始
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param trgtData 対象データ
	 * @param msgEKK0401B001 サブオプションサービス契約一覧照会データ
	 * @param lastUpdDtm 最終更新年月日時分秒
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0431C040(
			IRequestParameterReadWrite param,
			HashMap trgtData,
			CAANMsg msgEKK0401B001,
			String lastUpdDtm)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0431C040CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0431C040CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0431C040CBSMsg.TEMPLATEID, "EKK0431C040");

		// 対象データから業務情報を取得
		String opSvcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.OP_SVC_KEI_NO); 
		String idoDiv = (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV);

		// 機能コード
		template.set(EKK0431C040CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// オプションサービス契約番号
		template.set(
				EKK0431C040CBSMsg.OP_SVC_KEI_NO,
				opSvcKeiNo);
		
		// サブオプションサービス契約番号
		template.set(
				EKK0431C040CBSMsg.SBOP_SVC_KEI_NO,
				msgEKK0401B001.getString(EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO));
		
		// 異動区分
		template.set(
				EKK0431C040CBSMsg.IDO_DIV,
				idoDiv);
		
		// 更新年月日時分秒(更新前)
		template.set(
				EKK0431C040CBSMsg.UPD_DTM_BF,
				lastUpdDtm);
		
		// 即時/翌月
		template.set(
				EKK0431C040CBSMsg.SKJ_YKGT,
				JKKIdoRsvHanei.SKJ_YKGT_SOKUJI);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0421C040_サブオプションサービス契約<TV>使用開始
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param trgtData 対象データ
	 * @param msgEKK0401B001 サブオプションサービス契約一覧照会データ
	 * @param lastUpdDtm 最終更新年月日時分秒
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0421C040(
			IRequestParameterReadWrite param,
			HashMap trgtData,
			CAANMsg msgEKK0401B001,
			String lastUpdDtm)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0421C040CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0421C040CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0421C040CBSMsg.TEMPLATEID, "EKK0421C040");

		// 対象データから業務情報を取得
		String opSvcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.OP_SVC_KEI_NO); 
		String trnDate = (String)trgtData.get(JKKIdoRsvHaneiConstCC.TRN_DATE);
		String idoDiv = (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV);

		// 機能コード
		template.set(EKK0421C040CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// オプションサービス契約番号
		template.set(
				EKK0421C040CBSMsg.OP_SVC_KEI_NO,
				opSvcKeiNo);
		
		// サブオプションサービス契約番号
		template.set(
				EKK0421C040CBSMsg.SBOP_SVC_KEI_NO,
				msgEKK0401B001.getString(EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO));
		
		// サービス開始年月日
		template.set(
				EKK0421C040CBSMsg.SVC_STAYMD,
				trnDate);
		
		// サービス課金開始年月日
		template.set(
				EKK0421C040CBSMsg.SVC_CHRG_STAYMD,
				trnDate);
		
		// 異動区分
		template.set(
				EKK0421C040CBSMsg.IDO_DIV,
				idoDiv);
		
		// 更新年月日時分秒(更新前)
		template.set(
				EKK0421C040CBSMsg.UPD_DTM_BF,
				lastUpdDtm);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0081B007_回線利用中サービス契約一覧照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param svcKeiKaisenUcwkNo サービス契約回線内訳番号
	 * @param trnDate 処理年月日
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0081B007(
			IRequestParameterReadWrite param,
			String svcKeiKaisenUcwkNo,
			String trnDate)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0081B007CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0081B007CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0081B007CBSMsg.TEMPLATEID, "EKK0081B007");

		// 機能コード
		template.set(EKK0081B007CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// ＫＥＹ＿サービス契約回線内訳番号
		template.set(
				EKK0081B007CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO,
				svcKeiKaisenUcwkNo);
		// ＫＥＹ＿運用日付
		template.set(
				EKK0081B007CBSMsg.KEY_OPE_YMD,
				trnDate);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0341A010_機器提供サービス契約一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param trnDate 処理年月日
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0341A010(
			IRequestParameterReadWrite param,
			String kktkSvcKeiNo,
			String trnDate)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0341A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0341A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0341A010CBSMsg.TEMPLATEID, "EKK0341A010");

		// 機能コード
		template.set(EKK0341A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		// ＫＥＹ＿機器提供サービス契約番号
		template.set(
				EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO,
				kktkSvcKeiNo);
		// ＫＥＹ＿予約適用年月日
		template.set(
				EKK0341A010CBSMsg.KEY_RSV_APLY_YMD,
				trnDate);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0341C340_機器提供サービス契約解約
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param trgtData 対象データ
	 * @param msgEKK0341A010 機器提供サービス契約一意照会データ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0341C340(
			IRequestParameterReadWrite param,
			HashMap trgtData,
			CAANMsg msgEKK0341A010)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0341C340CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0341C340CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0341C340CBSMsg.TEMPLATEID, "EKK0341C340");

		// 機能コード
		template.set(EKK0341C340CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 対象データから業務情報を取得
		String kktkSvcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.KKTK_SVC_KEI_NO); 
		String trnDate = (String)trgtData.get(JKKIdoRsvHaneiConstCC.TRN_DATE);
		String mskmDtlNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.MSKM_DTL_NO);
		String idoDiv = (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV);
		String rsvTstaKiboYmd = msgEKK0341A010.getString(EKK0341A010CBSMsg1List.RSV_TSTA_KIBO_YMD);
		String zanchiFlg = msgEKK0341A010.getString(EKK0341A010CBSMsg1List.ZANCHI_FLG);
		String pnltyHasseiCd = msgEKK0341A010.getString(EKK0341A010CBSMsg1List.PNLTY_HASSEI_CD);
		String taknkikiIdoCd = msgEKK0341A010.getString(EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD);
		String updDtm = msgEKK0341A010.getString(EKK0341A010CBSMsg1List.LAST_UPD_DTM);
		// OM-2013-0001636 異動予約反映で設定される機器提供サービス契約の課金終了年月日が誤っている 2013/09/09 START
		String chrgEndymd = JPCDateUtil.addDay(trnDate, -1);
		// OM-2013-0001636 異動予約反映で設定される機器提供サービス契約の課金終了年月日が誤っている 2013/09/09 END

		// 機器提供サービス契約番号
		template.set(
				EKK0341C340CBSMsg.KKTK_SVC_KEI_NO,
				kktkSvcKeiNo);
		// 申込明細番号
		template.set(
				EKK0341C340CBSMsg.MSKM_DTL_NO,
				mskmDtlNo);
		// 予約適用開始希望年月日
		template.set(
				EKK0341C340CBSMsg.RSV_TSTA_KIBO_YMD,
				rsvTstaKiboYmd);
		// サービス終了年月日
		template.set(
				EKK0341C340CBSMsg.SVC_ENDYMD,
				trnDate);
		// サービス課金終了年月日
		// OM-2013-0001636 異動予約反映で設定される機器提供サービス契約の課金終了年月日が誤っている 2013/09/09 START
		template.set(
				EKK0341C340CBSMsg.SVC_CHRG_ENDYMD,
//				trnDate);
				chrgEndymd);
		// OM-2013-0001636 異動予約反映で設定される機器提供サービス契約の課金終了年月日が誤っている 2013/09/09 END
		// サービス解約理由コード
		template.set(
				EKK0341C340CBSMsg.SVC_DLRE_CD,
				JKKIdoRsvHanei.SVC_DLRE_TUJYO_DSL);
		// サービス解約理由メモ
		// 未設定
		// 残置フラグ
		template.set(
				EKK0341C340CBSMsg.ZANCHI_FLG,
				zanchiFlg);
		// 違約金発生コード
		template.set(
				EKK0341C340CBSMsg.PNLTY_HASSEI_CD,
				pnltyHasseiCd);
		// 異動区分
		template.set(
				EKK0341C340CBSMsg.IDO_DIV,
				idoDiv);
		// 宅内機器異動コード
		template.set(
				EKK0341C340CBSMsg.TAKNKIKI_IDO_CD,
				taknkikiIdoCd);
		// 更新年月日時分秒(更新前)
		template.set(
				EKK0341C340CBSMsg.UPD_DTM_BF,
				updDtm);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0341C350_機器提供サービス契約解約確定
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param trgtData 対象データ
	 * @param msgEKK0341A010 機器提供サービス契約一意照会データ
	 * @param msgEKK0341C340 機器提供サービス契約解約データ
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0341C350(
			IRequestParameterReadWrite param,
			HashMap trgtData,
			CAANMsg msgEKK0341A010,
			CAANMsg msgEKK0341C340)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0341C350CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0341C350CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0341C350CBSMsg.TEMPLATEID, "EKK0341C350");

		// 機能コード
		template.set(EKK0341C350CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 対象データから業務情報を取得
		String kktkSvcKeiNo = (String)trgtData.get(JKKIdoRsvHaneiConstCC.KKTK_SVC_KEI_NO);
		// OM-2014-0003696 ADD START
		// 対象データから予約適用年月日を取得
		String rsvAplyYmd = (String)trgtData.get(JKKIdoRsvHaneiConstCC.RSV_APLY_YMD); 
		// OM-2014-0003696 ADD END
		String trnDate = (String)trgtData.get(JKKIdoRsvHaneiConstCC.TRN_DATE);
		String zanchiFlg = msgEKK0341A010.getString(EKK0341A010CBSMsg1List.ZANCHI_FLG);
		String taknkikiIdoCd = msgEKK0341A010.getString(EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD);
		String updDtm = msgEKK0341C340.getString(EKK0341C340CBSMsg.UPD_DTM);
		// OM-2014-0003696 MOD START
		// OM-2013-0001636 異動予約反映で設定される機器提供サービス契約の課金終了年月日が誤っている 2013/09/09 START
		//String chrgEndymd = JPCDateUtil.addDay(trnDate, -1);
		// OM-2013-0001636 異動予約反映で設定される機器提供サービス契約の課金終了年月日が誤っている 2013/09/09 END
		String chrgEndymd = JPCDateUtil.addDay(rsvAplyYmd, -1);
		// OM-2014-0003696 MOD END
		// 機器提供サービス契約番号
		template.set(
				EKK0341C350CBSMsg.KKTK_SVC_KEI_NO,
				kktkSvcKeiNo);
		// サービス終了年月日
		template.set(
				EKK0341C350CBSMsg.SVC_ENDYMD,
				trnDate);
		// サービス課金終了年月日
		// OM-2013-0001636 異動予約反映で設定される機器提供サービス契約の課金終了年月日が誤っている 2013/09/09 START
		template.set(
				EKK0341C350CBSMsg.SVC_CHRG_ENDYMD,
//				trnDate);
				chrgEndymd);
		// OM-2013-0001636 異動予約反映で設定される機器提供サービス契約の課金終了年月日が誤っている 2013/09/09 END
		// サービス解約理由コード
		template.set(
				EKK0341C350CBSMsg.SVC_DLRE_CD,
				JKKIdoRsvHanei.SVC_DLRE_TUJYO_DSL);
		// サービス解約理由メモ
		// 未設定
		// 残置フラグ
		template.set(
				EKK0341C350CBSMsg.ZANCHI_FLG,
				zanchiFlg);
		// 宅内機器異動コード
		template.set(
				EKK0341C350CBSMsg.TAKNKIKI_IDO_CD,
				taknkikiIdoCd);
		// 更新年月日時分秒(更新前)
		template.set(
				EKK0341C350CBSMsg.UPD_DTM_BF,
				updDtm);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK1681C010 異動予約状態変更S-IF入力マップ編集<br/>
	 * <br/>
	 * @param param
	 * @param ido_rsv_no
	 * @param ido_rsv_hanei_ymd
	 * @param ido_rsv_cl_ymd
	 * @param ido_rsv_stat_cd
	 * @param upd_dtm_bf
	 * @throws RequestParameterException
	 * @since 2011-12-26
	 */
	protected HashMap<String, Object> editInMsgEKK1681C010(IRequestParameterReadWrite param, 
			String ido_rsv_no, String ido_rsv_hanei_ymd, String ido_rsv_cl_ymd, String ido_rsv_stat_cd, String upd_dtm_bf) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK1681C010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK1681C010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK1681C010CBSMsg.TEMPLATEID, "EKK1681C010");

		// 機能コード
		template.set(EKK1681C010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		//異動予約番号
		template.set(EKK1681C010CBSMsg.IDO_RSV_NO, ido_rsv_no);

		//異動予約反映年月日
		template.set(EKK1681C010CBSMsg.IDO_RSV_HANEI_YMD, ido_rsv_hanei_ymd);

		//異動予約取消年月日
		template.set(EKK1681C010CBSMsg.IDO_RSV_CL_YMD, ido_rsv_cl_ymd);

		//異動予約状態コード
		template.set(EKK1681C010CBSMsg.IDO_RSV_STAT_CD, ido_rsv_stat_cd);

		//更新年月日時分秒(更新前)
		template.set(EKK1681C010CBSMsg.UPD_DTM_BF, upd_dtm_bf);

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}

	/**
	 * EKK1681B001_異動予約一覧照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param mskmDtlNo 申込明細番号
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK1681B001_01(
			IRequestParameterReadWrite param,
			String mskmDtlNo)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK1681B001CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK1681B001CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK1681B001CBSMsg.TEMPLATEID, "EKK1681B001");

		// 機能コード
		template.set(EKK1681B001CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// ST3-2013-0000626 2013/03/08 MOD START
		// 異動予約から休止解除レコードを特定する際に異動区分を「休止解除」に変更
		// ＫＥＹ＿異動区分
//		template.set(
//				EKK1681B001CBSMsg.KEY_IDO_DIV,
//				JKKIdoRsvHanei.IDO_DIV_PAUSE_UK);
		template.set(
				EKK1681B001CBSMsg.KEY_IDO_DIV,
				JKKIdoRsvHanei.IDO_DIV_PAUSE_HEN);
		// ST3-2013-0000626 2013/03/08 MOD END
		
		// ＫＥＹ＿異動予約詳細コード
		template.set(
				EKK1681B001CBSMsg.KEY_IDO_RSV_DTL_CD,
				JKKIdoRsvHanei.IDO_RSV_DTL_CD_SVC_PAUSE_RLS);
		
		// ＫＥＹ＿申込明細番号
		template.set(
				EKK1681B001CBSMsg.KEY_MSKM_DTL_NO,
				mskmDtlNo);
		
		// ＫＥＹ＿ソート項目Ｎｏ
		template.set(
				EKK1681B001CBSMsg.KEY_SORT_ITEM_NO,
				"1");
		
		// ＫＥＹ＿ソート区分
		template.set(
				EKK1681B001CBSMsg.KEY_SORT_KBN,
				"1");
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK1681B001_異動予約一覧照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param rsvAplyYmd 予約適用年月日
	 * @param idoRsvStatCd 異動予約状態コード
	 * @param mskmDtlNo 申込明細番号
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK1681B001_02(
			IRequestParameterReadWrite param,
			String rsvAplyYmd,
			String idoRsvStatCd,
			String mskmDtlNo)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK1681B001CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK1681B001CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK1681B001CBSMsg.TEMPLATEID, "EKK1681B001");

		// 機能コード
		template.set(EKK1681B001CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// ＫＥＹ＿予約適用年月日
		template.set(
				EKK1681B001CBSMsg.KEY_RSV_APLY_YMD,
				idoRsvStatCd);
		
		// ＫＥＹ＿異動予約状態コード
		template.set(
				EKK1681B001CBSMsg.KEY_IDO_RSV_STAT_CD,
				idoRsvStatCd);
		
		// ＫＥＹ＿申込明細番号
		template.set(
				EKK1681B001CBSMsg.KEY_MSKM_DTL_NO,
				mskmDtlNo);
		
		// ＫＥＹ＿ソート項目Ｎｏ
		template.set(
				EKK1681B001CBSMsg.KEY_SORT_ITEM_NO,
				"1");
		
		// ＫＥＹ＿ソート区分
		template.set(
				EKK1681B001CBSMsg.KEY_SORT_KBN,
				"1");
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}


	/**
	 * 異動予約一意照会S-IF　上りマッピング<br/>
	 * 異動予約を更新する際、割引サービス契約自動適用CC内で交信される可能性があるため、
	 * 最新の更新年月日時分秒をこれで取得<br/>
	 * 
	 * @param param
	 * @param idoRsvNo
	 * @return
	 * @throws RequestParameterException
	 * @since 2012-03-01 IT障害1023対応のPT障害改修
	 */
	public HashMap<String, Object> editInMsgEKK1681A010(
			IRequestParameterReadWrite param,
			String idoRsvNo) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK1681A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK1681A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK1681A010CBSMsg.TEMPLATEID, "EKK1681A010");

		// 機能コード
		template.set(EKK1681A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// ＫＥＹ＿異動予約状態コード
		template.set(EKK1681A010CBSMsg.KEY_IDO_RSV_NO, idoRsvNo);

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}

	
	/**
	 * EKK0191B001_サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param svcKeiNo サービス契約番号
	 * @param trnDate 処理年月日
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0191B001(
			IRequestParameterReadWrite param,
			String svcKeiNo,
			String trnDate)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0191B001CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0191B001CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0191B001CBSMsg.TEMPLATEID, "EKK0191B001");

		// 機能コード
		template.set(EKK0191B001CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// ＫＥＹ＿サービス契約番号
		template.set(
				EKK0191B001CBSMsg.KEY_SVC_KEI_NO,
				svcKeiNo);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	// ST2-2013-0001739 2013-04-16 ADD_START
	
	/**
	 * EKK0491A010_請求契約一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param trgtData 
	 * @param seikyKeiNo 請求契約番号
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0491A010(
			IRequestParameterReadWrite param, HashMap trgtData, String seikyKeiNo)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0491A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0491A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0491A010CBSMsg.TEMPLATEID, "EKK0491A010");

		// 機能コード
		template.set(EKK0491A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		// 予約適用年月日
		String rsvAprlYmd = (String)trgtData.get(JKKIdoRsvHaneiConstCC.RSV_APLY_YMD);
		
		// ＫＥＹ＿請求契約番号
		template.set(EKK0491A010CBSMsg.KEY_SEIKY_KEI_NO, seikyKeiNo);
		
		// ＫＥＹ＿世代登録年月日時分秒
		template.setNull(EKK0491A010CBSMsg.KEY_GENE_ADD_DTM);
		
		// ＫＥＹ＿予約適用年月日
		template.set(EKK0491A010CBSMsg.KEY_RSV_APLY_YMD, rsvAprlYmd);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0321B005_サービス契約内訳＜eo光電話＞一覧照会（サービス契約番号）
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param svcKeiNo サービス契約番号
	 * @param trnDate 処理年月日
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0321B005(
			IRequestParameterReadWrite param, String svcKeiNo)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0321B005CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0321B005CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0321B005CBSMsg.TEMPLATEID, "EKK0321B005");

		// 機能コード
		template.set(EKK0321B005CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// ＫＥＹ＿サービス契約番号
		template.set(EKK0321B005CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0321C020_課金先請求契約変更
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param trgtData 対象データ
	 * @param kakinsNo 課金先番号
	 * @param idoDiv 異動区分
	 * @param updDtm 更新年月日時分秒（更新前）
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0321C020(
			IRequestParameterReadWrite param,
			HashMap<String, Object> trgtData,
			String kakinsNo,
			String seikyKeiNo,
			String idoDiv,
			String updDtm
	) throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0321C020CBSMsg.class.getName());

		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0321C020CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0321C020CBSMsg.TEMPLATEID, "EKK0321C020");

		// 機能コード
		template.set(EKK0321C020CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 業務データの取得

		// 申込明細番号
		String mskmDtlNo  = (String)trgtData.get(JKKIdoRsvHaneiConstCC.MSKM_DTL_NO);
		// 予約適用年月日
		String rsvAplyYmd = (String)trgtData.get(JKKIdoRsvHaneiConstCC.RSV_APLY_YMD);

		// 課金先番号
		template.set(EKK0321C020CBSMsg.KAKINS_NO, kakinsNo);

		// 請求契約番号
		template.set(EKK0321C020CBSMsg.SEIKY_KEI_NO, seikyKeiNo);

		// 課金先適用開始年月日
		template.set(EKK0321C020CBSMsg.KAKINS_TSTAYMD, rsvAplyYmd);

		// 異動区分
		template.set(EKK0321C020CBSMsg.IDO_DIV, idoDiv);

		// 更新年月日時分秒（更新前）
		template.set(EKK0321C020CBSMsg.UPD_DTM_BF, updDtm);

		// 申込明細番号
		template.set(EKK0321C020CBSMsg.MSKM_DTL_NO, mskmDtlNo);

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	// ST2-2013-0001739 2013-04-16 ADD_END

	/** 
	 * --------------------------------------------------------------------------------------------
	 * 
	 * 上りマッピング処理 END 
	 * 
	 * --------------------------------------------------------------------------------------------
	 */
	
	/** 
	 * --------------------------------------------------------------------------------------------
	 * 
	 * エラーマッピング処理 START 
	 * 
	 * --------------------------------------------------------------------------------------------
	 */
	
	/**
	 * <pre>
	 * サービスコンポーネント実行後に、IRequestParameterReadWriteに必要なデータをマッピングする
	 * 
	 * 2011-12-26,更新,EKK1681C010 異動予約状態変更S-IFのエラーマッピング処理を追加
	 * </pre>
	 * @param msgList CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite editResultRP(
			Map<?, ?> msgList,
			IRequestParameterReadWrite param,
			String fixedText) 
			throws Throwable 
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		// リターンコード取得
		Integer returnCode = (Integer)msgList.get(JCMConstants.RET_CD_INT_KEY);

		// テンプレートID、ステータス取得
		String templateId = template.getString(JCMConstants.TEMPLATE_ID_KEY);
		int templateStatus = template.getInt(JCMConstants.STATUS_INT_KEY);
		
		if (returnCode.intValue() != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_"
				+ String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_"
					+ formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		/* ユーザデータ情報 */
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ユーザデータ情報にエラー情報をマッピング
		Object[][] contents = null;
		if ("ECK0011A010".equals(templateId))
		{
			contents = new ECK0011A010CBSMsg().getContents();
		}
		else if ("ECK0011C120".equals(templateId))
		{
			contents = new ECK0011C120CBSMsg().getContents();
		}
		else if ("ECK0201B001".equals(templateId))
		{
			contents = new ECK0201B001CBSMsg().getContents();
		}
		else if ("ECN0131B001".equals(templateId))
		{
			contents = new ECN0131B001CBSMsg().getContents();
		}
		else if ("ECN0131C010".equals(templateId))
		{
			contents = new ECN0131C010CBSMsg().getContents();
		}
		else if ("ECN0131D010".equals(templateId))
		{
			contents = new ECN0131D010CBSMsg().getContents();
		}
		else if ("ECN0131E010".equals(templateId))
		{
			contents = new ECN0131E010CBSMsg().getContents();
		}
		else if ("EKK0021A010".equals(templateId))
		{
			contents = new EKK0021A010CBSMsg().getContents();
		}
		else if ("EKK0081A010".equals(templateId))
		{
			contents = new EKK0081A010CBSMsg().getContents();
		}
		else if ("EKK0081B007".equals(templateId))
		{
			contents = new EKK0081B007CBSMsg().getContents();
		}
		else if ("EKK0081C250".equals(templateId))
		{
			contents = new EKK0081C250CBSMsg().getContents();
		}
		else if ("EKK0341A010".equals(templateId))
		{
			contents = new EKK0341A010CBSMsg().getContents();
		}
		else if ("EKK0341C340".equals(templateId))
		{
			contents = new EKK0341C340CBSMsg().getContents();
		}
		else if ("EKK0341C350".equals(templateId))
		{
			contents = new EKK0341C350CBSMsg().getContents();
		}
		else if ("EKK0351A010".equals(templateId))
		{
			contents = new EKK0351A010CBSMsg().getContents();
		}
		else if ("EKK0361A010".equals(templateId))
		{
			contents = new EKK0361A010CBSMsg().getContents();
		}
		else if ("EKK0361C040".equals(templateId))
		{
			contents = new EKK0361C040CBSMsg().getContents();
		}
		else if ("EKK0371A010".equals(templateId))
		{
			contents = new EKK0371A010CBSMsg().getContents();
		}
		else if ("EKK0371C040".equals(templateId))
		{
			contents = new EKK0371C040CBSMsg().getContents();
		}
		else if ("EKK0381C040".equals(templateId))
		{
			contents = new EKK0381C040CBSMsg().getContents();
		}
		else if ("EKK0391C040".equals(templateId))
		{
			contents = new EKK0391C040CBSMsg().getContents();
		}
		else if ("EKK0401B001".equals(templateId))
		{
			contents = new EKK0401B001CBSMsg().getContents();
		}
		else if ("EKK0411A010".equals(templateId))
		{
			contents = new EKK0411A010CBSMsg().getContents();
		}
		else if ("EKK0411C050".equals(templateId))
		{
			contents = new EKK0411C050CBSMsg().getContents();
		}
		else if ("EKK0421C040".equals(templateId))
		{
			contents = new EKK0421C040CBSMsg().getContents();
		}
		else if ("EKK0431C040".equals(templateId))
		{
			contents = new EKK0431C040CBSMsg().getContents();
		}
		else if ("EKK1091B502".equals(templateId))
		{
			contents = new EKK1091B502CBSMsg().getContents();
		}
		else if ("EKK1091D010".equals(templateId))
		{
			contents = new EKK1091D010CBSMsg().getContents();
			
			ArrayList inList = (ArrayList)inMap.get("EKK1091D010CBSMsg1List");
			if (inList == null)
			{
				inList = new ArrayList();
				inMap.put("EKK1091D010CBSMsg1List", inList);
			}

			CAANMsg[] templateArray = template.getCAANMsgList(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST);

			if (templateArray != null)
			{
				for (int i = 0; i < templateArray.length; i++)
				{
					if (i >= inList.size())
					{
						inList.add(new HashMap());
					}
				
					HashMap childMap = (HashMap)inList.get(i);
					CAANMsg childTemplate = templateArray[i];

					// 対象データ.異動理由明細.異動理由コード → 異動理由明細.異動理由コード のエラー情報返却
					if (!childTemplate.isNull(EKK1091D010CBSMsg1List.IDO_RSN_CD_ERR))
					{
						if (!childMap.containsKey("ido_rsn_cd_err"))
						{
							childMap.put("ido_rsn_cd_err", childTemplate.getString(EKK1091D010CBSMsg1List.IDO_RSN_CD_ERR));
						}
					}
					// 対象データ.異動理由明細.異動理由メモ → 異動理由明細.異動理由メモ のエラー情報返却
					if (!childTemplate.isNull(EKK1091D010CBSMsg1List.IDO_RSN_MEMO_ERR))
					{
						if (!childMap.containsKey("ido_rsn_memo_err"))
						{
							childMap.put("ido_rsn_memo_err", childTemplate.getString(EKK1091D010CBSMsg1List.IDO_RSN_MEMO_ERR));
						}
					}
				}
			}
		}
		//↓↓↓2012-03-01追加↓↓↓
		else if ("EKK1681A010".equals(templateId))
		{
			//異動予約番号
			if (!template.isNull(EKK1681A010CBSMsg.KEY_IDO_RSV_NO_ERR))
			{
				inMap.put("key_ido_rsv_no_err", template.getString(EKK1681A010CBSMsg.KEY_IDO_RSV_NO_ERR));
			}
		}
		//↑↑↑2012-03-01追加↑↑↑
		else if ("EKK1681B001".equals(templateId))
		{
			contents = new EKK1681B001CBSMsg().getContents();
		}
		else if ("EKK1681C010".equals(templateId))		//2011-12-26 異動予約状態変更S-IF
		{
			contents = new EKK1681C010CBSMsg().getContents();
		}
		else if ("EZM0181A010".equals(templateId))
		{
			contents = new EZM0181A010CBSMsg().getContents();
		}
		else if ("EZM0181B020".equals(templateId))
		{
			contents = new EZM0181B020CBSMsg().getContents();
		}
		else if ("EZM0181C010".equals(templateId))
		{
			contents = new EZM0181C010CBSMsg().getContents();
		}
		
// ST2-2013-0001739 2013-04-16 ADD_START
		else if ("EKK0321B005".equals(templateId))
		{
			contents = new EKK0321B005CBSMsg().getContents();
		}
		else if ("EKK0321C020".equals(templateId))
		{
			contents = new EKK0321C020CBSMsg().getContents();
		}
		else if ("EKK0491A010".equals(templateId))
		{
			contents = new EKK0491A010CBSMsg().getContents();
		}
// ST2-2013-0001739 2013-04-16 ADD_END
// ▼▼▼▼▼ IT2-2013-0000585 2013/07/10 割込電話の予約反映時に機器提供サービス契約番号、世代が必要 ADD START ▼▼▼▼▼
		else if ("EKK0191A010".equals(templateId))
		{
			contents = new EKK0191A010CBSMsg().getContents();
		}
		else if ("EKK0341B002".equals(templateId))
		{
			contents = new EKK0341B002CBSMsg().getContents();
		}
// ▲▲▲▲▲ IT2-2013-0000585 2013/07/10 割込電話の予約反映時に機器提供サービス契約番号、世代が必要 ADD END   ▲▲▲▲▲
		// 20130724 IT1-2013-0001434 オプション引継予約対応 ADD START
		else if ("EKK0351C011".equals(templateId))
		{
			contents = new EKK0351C011CBSMsg().getContents();
		}
		else if ("EKK0161B004".equals(templateId))
		{
			contents = new EKK0161B004CBSMsg().getContents();
		}
		// 20130724 IT1-2013-0001434 オプション引継予約対応 ADD END
		for(int i = 0 ; contents != null && i < contents.length ; i++)
		{
			String element = null;
			element = (String)contents[i][0];
			if (element.indexOf("_err") > 0)
			{
				if (!template.isNull(element))
				{
					if (!inMap.containsKey(element))
					{
						inMap.put(element, template.getString(element));
					}
				}
			}
		}
		
		//エラー情報のマップを取得
		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;
	}
	
	/** 
	 * --------------------------------------------------------------------------------------------
	 * 
	 * エラーマッピング処理 END 
	 * 
	 * --------------------------------------------------------------------------------------------
	 */
	
	/** 
	 * --------------------------------------------------------------------------------------------
	 * 
	 * ユーティリティメソッド START 
	 * 
	 * --------------------------------------------------------------------------------------------
	 */
	
	/**
	 * 条件部の共通する項目の設定する
	 * 
	 * @param param リクエストパラメータ
	 * @param template template 条件の設定先
	 * @throws RequestParameterException
	 */
	private void editInMsgBasicCmn(IRequestParameterReadOnly param, CAANMsg template)
	throws RequestParameterException
	{
		
		// オペレータ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);
		
	}
	
	/**
	 * サービスI/F実行用の上り情報を生成する
	 * 
	 * @param param リクエストパラメータ
	 * @param template 条件の設定先
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 * @exception RequestParameterException
	 */
	private HashMap<String, Object> editInMsgCmn(IRequestParameterReadOnly param, CAANMsg template)
	throws RequestParameterException 
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		/* 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));

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;

	}
	
	/**
	 * 持ちうるフィールドにNullマッピングで埋める
	 * 
	 * @param msg 対象クラス
	 * @param contents 対応クラスのフィールド列挙
	 */
	private void fillCAANMSGNullMapping(CAANMsg msg, Object[][] contents)
	{
		// 要素ごとのループ
		for(int i = 0 ; i < contents.length ; i++)
		{
			Object element = null;
			// キーに該当する箇所の取得
			element = contents[i][0];
			// Nullでマッピング
			msg.setNull((String)element);
		}
	}
	
	/** 
	 * --------------------------------------------------------------------------------------------
	 * 
	 * ユーティリティメソッド END 
	 * 
	 * --------------------------------------------------------------------------------------------
	 */
// ▼▼▼▼▼ IT2-2013-0000585 2013/07/10 割込電話の予約反映時に機器提供サービス契約番号、世代が必要 ADD START ▼▼▼▼▼
	/**
	 * EKK0191A010_サービス契約内訳<eo光電話>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0191A010(
			IRequestParameterReadWrite param,
			String svcKeiUcwkNo)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0191A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0191A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0191A010CBSMsg.TEMPLATEID, "EKK0191A010");

		// 機能コード
		template.set(EKK0191A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_3);
		
		// ＫＥＹ＿サービス契約内訳番号
		template.set(
				EKK0191A010CBSMsg.KEY_SVC_KEI_UCWK_NO,
				svcKeiUcwkNo);

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}

	/**
	 * EKK0341B002_機器提供サービス契約一覧照会（サービス契約番号）
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param svcKeiNo サービス契約番号
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0341B002(
			IRequestParameterReadWrite param,
			String svcKeiNo)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0341B002CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0341B002CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0341B002CBSMsg.TEMPLATEID, "EKK0341B002");

		// 機能コード
// IT1-2014-0000019 2014-01-18 MOD_START
//		template.set(EKK0341B002CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		template.set(EKK0341B002CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_6);
// IT1-2014-0000019 2014-01-18 MOD_END
		
		// ＫＥＹ＿サービス契約番号
		template.set(
				EKK0341B002CBSMsg.KEY_SVC_KEI_NO,
				svcKeiNo);

		// ＫＥＹ＿ソート区分
		template.set(
				EKK0341B002CBSMsg.KEY_SORT_KBN,
				"2");
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	// ▲▲▲▲▲ IT2-2013-0000585 2013/07/10 割込電話の予約反映時に機器提供サービス契約番号、世代が必要 ADD END   ▲▲▲▲▲
	// 20130724 IT1-2013-0001434 オプション引継予約対応 ADD START
	/**
	 * EKK0351C011_オプションサービス引継チェック
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param String 適用開始年月日
	 * @param CAANMsg 引継元サービス契約情報（サービス契約一意照会結果）
	 * @param CAANMsg 引継先サービス契約情報（サービス契約一意照会結果）
	 * @param CAANMsg 引継元サービス内訳契約情報（サービス内訳一覧照会結果）
	 * @param CAANMsg 引継元オプションサービス契約情報（オプションサービス一意照会結果）
	 * 
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0351C011(
			IRequestParameterReadWrite param,
			String aplyYmd,
			CAANMsg msgEKK0081A01HktgiMt,
			CAANMsg msgEKK0081A01HktgiSk,
			CAANMsg msgEKK0161B004HktgiMt,
			CAANMsg msgEKK0351A010HktgiMt
			)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0351C011CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0351C011CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0351C011CBSMsg.TEMPLATEID, "EKK0351C011");

		// 機能コード
		template.set(EKK0351C011CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 適用開始年月日
		template.set(
				EKK0351C011CBSMsg.APLY_YMD,
				aplyYmd);
		
		
		// 引継元サービス契約番号
		template.set(
				EKK0351C011CBSMsg.HKTGI_MT_SVC_KEI_NO,
				msgEKK0081A01HktgiMt.getString(EKK0081A010CBSMsg1List.SVC_KEI_NO));
		
		
		// 引継先サービス契約番号
		template.set(
				EKK0351C011CBSMsg.HKTGI_SK_SVC_KEI_NO,
				msgEKK0081A01HktgiSk.getString(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		// 引継元サービス契約内訳番号
		template.set(
				EKK0351C011CBSMsg.HKTGI_MT_SVC_KEI_UCWK_NO,
				msgEKK0161B004HktgiMt.getString(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO));
		
		// 引継元料金コースコード
		template.set(
				EKK0351C011CBSMsg.HKTGI_MT_PCRS_CD,
				msgEKK0081A01HktgiMt.getString(EKK0081A010CBSMsg1List.PCRS_CD));
		
		// 引継先料金コースコード
		template.set(
				EKK0351C011CBSMsg.HKTGI_SK_PCRS_CD,
				msgEKK0081A01HktgiSk.getString(EKK0081A010CBSMsg1List.PCRS_CD));
		
		
		// 引継対象オプションサービス契約明細
		CAANMsg[] templateArray = new CAANMsg[1];
		
		CAANMsg childTemplate = new CAANMsg(EKK0351C011CBSMsg1List.class.getName());
		
		// 引継対象オプションサービス契約番号
		childTemplate.set(
				EKK0351C011CBSMsg1List.HKTGI_TRG_OP_SVC_KEI_NO, 
				msgEKK0351A010HktgiMt.getString(EKK0351A010CBSMsg1List.OP_SVC_KEI_NO));
		
		// 引継対象オプションサービスコード
		childTemplate.set(
				EKK0351C011CBSMsg1List.HKTGI_TRG_OP_SVC_CD, 
				msgEKK0351A010HktgiMt.getString(EKK0351A010CBSMsg1List.OP_SVC_CD));
		
		templateArray[0] = childTemplate;
		
		template.set(EKK0351C011CBSMsg.EKK0351C011CBSMSG1LIST, templateArray);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	/**
	 * EKK0161B004_サービス契約内訳一覧照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param svcKeiNo サービス契約番号
	 * 
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0161B004(
			IRequestParameterReadWrite param,
			String svcKeiNo
			)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0161B004CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0161B004CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0161B004CBSMsg.TEMPLATEID, "EKK0161B004");

		// 機能コード
		template.set(EKK0161B004CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// ＫＥＹ＿サービス契約番号
		template.set(
				EKK0161B004CBSMsg.KEY_SVC_KEI_NO,
				svcKeiNo);
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	// 20130724 IT1-2013-0001434 オプション引継予約対応 ADD END
	
	// ANK-2056-00-00 2014/04/28 start
	/**
	 * EKK0191A010_サービス契約内訳<eo光電話>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0451A010(
			IRequestParameterReadWrite param,
			String wribSvcKeiNo,
			String trnDate)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0451A010CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0451A010CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0451A010CBSMsg.TEMPLATEID, "EKK0451A010");

		// 機能コード
		template.set(EKK0451A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		// ＫＥＹ＿割引サービス契約番号
		template.set(EKK0451A010CBSMsg.KEY_WRIB_SVC_KEI_NO, wribSvcKeiNo);

		// ＫＥＹ＿予約適用年月日
		template.set(EKK0451A010CBSMsg.KEY_RSV_APLY_YMD, trnDate);

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	
	/**
	 * EKK0451C220_割引サービス契約＜置換型＞開始
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * 
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0451C220(
			IRequestParameterReadWrite param,
			CAANMsg rsltMsgEKK0451A010,
			String idoDiv,
			// IT1-2014-0000146 2014/05/16 add start
			String lastUpdDtm,
			String rsvAplyYmd)
			// IT1-2014-0000146 2014/05/16 add end
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0451C220CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0451C220CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0451C220CBSMsg.TEMPLATEID, "EKK0451C220");

		// 機能コード
		template.set(EKK0451C220CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 割引サービス契約番号
		template.set(EKK0451C220CBSMsg.WRIB_SVC_KEI_NO,
				rsltMsgEKK0451A010.getString(EKK0451A010CBSMsg1List.WRIB_SVC_KEI_NO));
		
		// IT1-2014-0000146 2014/05/16 add start
		// サービス開始年月日
		template.set(EKK0451C220CBSMsg.SVC_STA_YMD, rsvAplyYmd);
		// IT1-2014-0000146 2014/05/16 add end
		
		// 異動区分
		template.set(EKK0451C220CBSMsg.IDO_DIV, idoDiv);
				
		// 更新年月日時分秒(更新前)
		// IT1-2014-0000146 2014/05/16 mod start
		//template.set(EKK0451C220CBSMsg.UPD_DTM_BF,
		//		rsltMsgEKK0451A010.getString(EKK0081A010CBSMsg1List.UPD_DTM));
		template.set(EKK0451C220CBSMsg.UPD_DTM_BF,lastUpdDtm);
		// IT1-2014-0000146 2014/05/16 mod end
		
		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	// ANK-2056-00-00 2014/04/28 end
	
	// IT1-2014-0000137 2014/05/15 start
	/**
	 * EKK0191A010_サービス契約内訳<eo光電話>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param param リクエストパラメータ
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @return S/I上り情報
	 * @throws RequestParameterException
	 */
	public HashMap<String, Object> editInMsgEKK0481B001(
			IRequestParameterReadWrite param,
			String wribSvcKeiNo)
			throws RequestParameterException
	{
		CAANMsg template = new CAANMsg(EKK0481B001CBSMsg.class.getName());
		
		// nullマッピングを実施
		fillCAANMSGNullMapping(template, new EKK0481B001CBSMsg().getContents());

		// 共通部を設定
		editInMsgBasicCmn(param, template);

		// テンプレートID(SIFのID)
		template.set(EKK0481B001CBSMsg.TEMPLATEID, "EKK0481B001");

		// 機能コード
		template.set(EKK0481B001CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// ＫＥＹ＿割引サービス契約番号
		template.set(EKK0481B001CBSMsg.KEY_WRIB_SVC_KEI_NO, wribSvcKeiNo);

		// 上り情報を生成
		return editInMsgCmn(param, template);
	}
	// IT1-2014-0000137 2014/05/15 end
	
	// ANK-1918-00-00 2014/07/15 ADD START
	/**
	 *<DL>
	 *<DT>処理概要:工事案件CC(スマートリンクプレミアム諸変更)
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param	param			(I) 業務データ取得用I/F
	 * @param	workFixedText	ワーク領域
	 * @param	trgtData		対象データ
	 * @param	msgEKK0021A010  申込明細一意照会結果
	 * @return					サービスコンポーネント実行用CAANMsg
	 * @throws	RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public void mappingKojiAnkenCCSmlnChg(
			IRequestParameterReadWrite param, 
			String workFixedText,
			HashMap<String, Object> trgtData,
			CAANMsg msgEKK0021A010
	) throws RequestParameterException 
	{
		HashMap outMap = null;
		if (param.getData(workFixedText) == null)
		{
			param.setData(workFixedText, new HashMap<String, Object>());
		}
		outMap = (HashMap)param.getData(workFixedText);

		// サービス契約番号
		outMap.put(JKKKojiAnkenConstCC.SVC_KEI_NO, (String)trgtData.get(JKKIdoRsvHaneiConstCC.SVC_KEI_NO));

		// 申込明細番号
		outMap.put(JKKKojiAnkenConstCC.MSKM_DTL_NO, (String)trgtData.get(JKKIdoRsvHaneiConstCC.MSKM_DTL_NO));
		
		// 申込番号
		outMap.put(JKKKojiAnkenConstCC.MSKM_NO, msgEKK0021A010.getString(EKK0021A010CBSMsg1List.MSKM_NO));

		// 工事受付コード（内容変更）
		outMap.put(JKKKojiAnkenConstCC.KOJI_UK_CD, "070");

		// 工事受付詳細コード（スマートリンク契約変える）
		outMap.put(JKKKojiAnkenConstCC.KOJI_UK_DTL_CD, "AB");

		// SYSID
		outMap.put(JKKKojiAnkenConstCC.SYSID, (String)trgtData.get(JKKIdoRsvHaneiConstCC.SYSID));
		
		// スマートリンクオプション契約有無
		outMap.put(JKKKojiAnkenConstCC.SMLN_OP_KEI_UM, "0");

		// 異動区分
		outMap.put(JKKKojiAnkenConstCC.IDO_DIV, (String)trgtData.get(JKKIdoRsvHaneiConstCC.IDO_DIV));

	}
	// ANK-1918-00-00 2014/07/15 ADD END
}
