/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom, 2011
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKKKyoseiDslRunCC
*   ソースファイル名：JKKKyoseiDslRunCC.java
*   作成者          ：富士通
*   日付            ：2011年09月19日
*＜機能概要＞
*   強制解約対象の抽出、強制解約実行を行う。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/09/19   FJ）        新規作成
*   v8.00.00    2014/04/07   FJ)藤田     【ANK-1988-00-00】マンション全戸一括オプション停止（ファミパ割対応）
*   v8.01.00    2014/05/08   FJ)藤本     【OM-2014-0001746】強制解約処理でV-ONUの解約時に排他エラーが発生
*   v9.00.00    2014/05/02   FJ)齋藤     【ANK-2056-00-00】光電話セレクトオプションパック
*   v9.01.00    2014/05/07   FJ)江藤     【ANK-2054-00-00】スマートリンク端末補償
*   v9.02.00    2014/05/09   FJ) 藤田    【IT1-2014-0000120】 光電話セレクトオプションパック解約時の課金区分誤り
*   v9.03.00    2014/05/16   FJ)谷口     【IT1-2014-0000139】 スマートリンク端末補償 機器オプションサービス契約キャンセル時にエラー
*   v72.00.00	2024/08/14   FJ)張 	     【ANK-4494-00-00】【eo定期】双方向番ポ対応_STEP2
*   v75.00.00   2025/05/20   FJ)藤井     【ANK-4685-00-00】【eo】双方向番ポSTEP3
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.JKKKkopHiChrgJdgConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKKojiAnkenConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKSvcConst;
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.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.bp.x21.sc.exception.SCException;
import com.fujitsu.futurity.model.base.CAANMsg;

import eo.common.constant.JKKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.constant.JPCStrConst;
import eo.common.util.JPCDateUtil;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0141B005CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0141B005CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0141C030CBSMsg;
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.EKK0081B009CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081B009CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081B526CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081C180CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081C260CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0111A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0161B004CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161C180CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161C190CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0171A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0191A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0221A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0241B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0241B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0241B003CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0251B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0321A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0321A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0321B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0321B002CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0341A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0341B012CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341B504CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C330CBSMsg;
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.EKK0351C220CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351C240CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351C250CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0361A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0361A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0371A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0401A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0401A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0401C150CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0401C170CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0401C180CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0411A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0441A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0441A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0441C210CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0441C230CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0441C240CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0771A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0861B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1021B003CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1021B003CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK1021C010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1091D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1091D010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK1681B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2091B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2541B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2541B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK2541C170CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2801A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK2811B010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811C110CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811C140CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811C150CBSMsg;
import eo.ejb.cbs.cbsmsg.EKU0081B020CBSMsg;
import eo.ejb.cbs.cbsmsg.ESC0021D010CBSMsg;
import eo.ejb.cbs.cbsmsg.ETU0011B018CBSMsg;
import eo.ejb.cbs.cbsmsg.ETU0051B010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0111B030CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0111C010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0321A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0121A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0121C010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0121A010CBSMsg1List;


/**
 * 
 * 強制解約実行CCクラス
 * @author 富士通
 */
@SuppressWarnings("unchecked")
public class JKKKyoseiDslRunMapperCC extends AbstractCommonComponent
{
	/** 運用日付 */
	private String oPE_DATE = "";

	public void setOpeDate(String oPE_DATE)
	{
		this.oPE_DATE = oPE_DATE;
	}

	/**
	 * EKK0081B007の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0081B007のテンプレートリスト
	 * @return				EKK0081B007の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK0081B007SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK0081B007CBSMsg.EKK0081B007CBSMSG1LIST);
		if(msgs != null)
		{
			for(int i = 0 ; i < msgs.length ; i++)
			{
				retHashList.add(msgs[i].getMsgData());
			}
		}

		return retHashList;
	}

	/**
	 * templateに対してEKK0081B007の条件に関する部分を設定する
	 * @param	template		条件の設定先
	 * @param	requestParam	
	 * @param	kaisenUcwkNo	
	 */
	public void mappingEKK0081B007InMsg(CAANMsg template, HashMap<String, Object> requestParam, String kaisenUcwkNo)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0081B007CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0081B007CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0081B007);

		// 機能コード--回線利用中サービス契約一覧照会
		template.set(EKK0081B007CBSMsg.FUNC_CODE, "1");

		// ＫＥＹ＿サービス契約回線内訳番号
		template.set(EKK0081B007CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, kaisenUcwkNo);

		// ＫＥＹ＿運用日付
		template.set(EKK0081B007CBSMsg.KEY_OPE_YMD, oPE_DATE);
	}

	/**
	 * templateに対してEKK0341A010の条件に関する部分を設定する
	 * @param	template		条件の設定先
	 * @param	kktkSvcKeiNo	
	 */
	public void mappingEKK0341A010InMsg2(CAANMsg template, String kktkSvcKeiNo)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0341A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0341A010);

		// 機能コード--機器提供サービス契約一意照会(ここだけはカレント)
		template.set(EKK0341A010CBSMsg.FUNC_CODE, "2");

		// ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo);

		// ＫＥＹ＿予約適用年月日
		template.set(EKK0341A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);
	}

	/**
	 * CAANMsg[]の結果をHashとして抽出する（一意照会用）
	 * @param	workMapKey	テンプレートリストのマップキー
	 * @param	resultMsgs	テンプレートリスト
	 * @return				EKK0081A010SCの結果部分
	 */
	public HashMap<String, Object> mappingCAANOutMsgOne(String workMapKey, CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0].getCAANMsgList(workMapKey)[0];

		if(msg != null)
		{
			retHash = msg.getMsgData();
		}

		return retHash;
	}

	/**
	 * EKK0341B504の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0341B504のテンプレートリスト
	 * @return				EKK0341B504の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK0341B504SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK0341B504CBSMsg.EKK0341B504CBSMSG1LIST);
		if(msgs != null)
		{
			for(int i = 0 ; i < msgs.length ; i++)
			{
				retHashList.add(msgs[i].getMsgData());
			}
		}

		return retHashList;
	}

	/**
	 * templateに対してEKK0341B504の条件に関する部分を設定する
	 * @param	template		条件の設定先
	 * @param	requestParam	
	 * @param	kaisenUcwkNo	
	 */
	public void mappingEKK0341B504InMsg(CAANMsg template, HashMap<String, Object> requestParam, String kaisenUcwkNo)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341B504CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0341B504CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0341B504);

		// 機能コード -- 回線対象サービス契約一覧照会
		template.set(EKK0341B504CBSMsg.FUNC_CODE, "1");

		// ＫＥＹ＿サービス契約回線内訳番号
		template.set(EKK0341B504CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, kaisenUcwkNo);
	}

	/**
	 * EKK0241B003の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0241B003のテンプレートリスト
	 * @return				EKK0241B003の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK0241B003SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK0241B003CBSMsg.EKK0241B003CBSMSG1LIST);
		if(msgs != null)
		{
			for(int i = 0 ; i < msgs.length ; i++)
			{
				retHashList.add(msgs[i].getMsgData());
			}
		}

		return retHashList;
	}

	/**
	 * templateに対してEKK0241B003の条件に関する部分を設定する
	 * @param	template			条件の設定先
	 * @param	eKK0081A010Hash		
	 */
	public void mappingEKK0241B003InMsg(CAANMsg template, HashMap<String, Object> eKK0081A010Hash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0241B003CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0241B003CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0241B003);

		// 機能コード -- 回線対象サービス契約一覧照会（サービス契約番号）
		template.set(EKK0241B003CBSMsg.FUNC_CODE, "1");

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0241B003CBSMsg.KEY_SVC_KEI_NO, (String)eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));
	}

	/**
	 * EKK0241B002の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0241B002のテンプレートリスト
	 * @return				EKK0241B002の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK0241B002SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK0241B002CBSMsg.EKK0241B002CBSMSG1LIST);
		if(msgs != null)
		{
			for(int i = 0 ; i < msgs.length ; i++)
			{
				retHashList.add(msgs[i].getMsgData());
			}
		}

		return retHashList;
	}

	/**
	 * templateに対してEKK0241B002の条件に関する部分を設定する
	 * @param	template		条件の設定先
	 * @param	requestParam	
	 * @param	kaisenUcwkNo	
	 */
	public void mappingEKK0241B002InMsg(CAANMsg template, HashMap<String, Object> requestParam, String kaisenUcwkNo)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0241B002CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0241B002CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0241B002);

		// 機能コード -- 回線対象サービス契約一覧照会
		template.set(EKK0241B002CBSMsg.FUNC_CODE, "1");

		// ＫＥＹ＿サービス契約回線内訳番号
		template.set(EKK0241B002CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, kaisenUcwkNo);
	}

	/**
	 * EKK0321B002の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0321B002のテンプレートリスト
	 * @return				EKK0321B002の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK0321B002SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK0321B002CBSMsg.EKK0321B002CBSMSG1LIST);
		for(int i = 0 ; i < msgs.length ; i++)
		{
			retHashList.add(msgs[i].getMsgData());
		}

		return retHashList;
	}

	/**
	 * templateに対してEKK0321B002の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 */
	public void mappingEKK0321B002InMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0321B002CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0321B002CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0321B002);

		// 機能コード--課金先一覧照会
		//IT1-2013-0001709 nakashima Mod start
		//template.set(EKK0321B002CBSMsg.FUNC_CODE, "1");
		template.set(EKK0321B002CBSMsg.FUNC_CODE, "3");
		//IT1-2013-0001709 nakashima Mod end

		// ＫＥＹ＿請求契約番号
		template.set(EKK0321B002CBSMsg.KEY_SEIKY_KEI_NO, inHash.get(JKKKyoseiDslRunCC.SEIKY_KEI_NO));
	}

	/**
	 * EKK0861B002の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0861B002のテンプレートリスト
	 * @return				EKK0861B002の結果部分
	 */
	public HashMap<String, Object> mappingEKK0861B002SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK0861B002CBSMsg.EKK0861B002CBSMSG1LIST);
		if(msgList == null || msgList.length == 0)
		{
			retHash = null;
		}
		else
		{
			retHash = msgList[0].getMsgData();
		}

		return retHash;
	}

	/**
	 * EKK0321A010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0321A010のテンプレートリスト
	 * @return				EKK0321A010の結果部分
	 */
	public HashMap<String, Object> mappingEKK0321A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK0321A010CBSMsg.EKK0321A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * templateに対してEKK0321A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0321A010InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0321A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0321A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0321A010);

		// 機能コード--課金先一意照会
		template.set(EKK0321A010CBSMsg.FUNC_CODE, "1");

		// ＫＥＹ＿課金先番号
		template.set(EKK0321A010CBSMsg.KEY_KAKINS_NO, inHash.get(EKK0321B002CBSMsg1List.KAKINS_NO));
	}

	/**
	 * EKK0081A010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0081A010のテンプレートリスト
	 * @return				EKK0081A010の結果部分
	 */
	public HashMap<String, Object> mappingEKK0081A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK0081A010CBSMsg.EKK0081A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * templateに対してEKK0081A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 */
	public void mappingEKK0081A010InMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0081A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0081A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0081A010);

		// 機能コード--サービス契約一意照会(ここだけはカレント)
		template.set(EKK0081A010CBSMsg.FUNC_CODE, "2");

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0081A010CBSMsg.KEY_SVC_KEI_NO, inHash.get(JKKKyoseiDslRunCC.SVC_KEI_NO));

		// ＫＥＹ＿予約適用年月日
		template.set(EKK0081A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);

		// ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.setNull(EKK0081A010CBSMsg.KEY_GENE_ADD_DTM);
	}

	/**
	 * EKK0161B004の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0161B004のテンプレートリスト
	 * @return				EKK0161B004の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK0161B004SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK0161B004CBSMsg.EKK0161B004CBSMSG1LIST);
		for(int i = 0 ; i < msgs.length ; i++)
		{
			retHashList.add(msgs[i].getMsgData());
		}

		return retHashList;
	}
	
	/**
	 * templateに対してEKK0161B004の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 */
	public void mappingEKK0161B004InMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0161B004CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0161B004CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0161B004);

		// 機能コード--サービス契約内訳一覧照会
		template.set(EKK0161B004CBSMsg.FUNC_CODE, "3");

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0161B004CBSMsg.KEY_SVC_KEI_NO, inHash.get(JKKKyoseiDslRunCC.SVC_KEI_NO));
	}

	/**
	 * EKK0161A010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0161A010のテンプレートリスト
	 * @return				EKK0161A010の結果部分
	 */
	public HashMap<String, Object> mappingEKK0161A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK0161A010CBSMsg.EKK0161A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * templateに対してEKK0161A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 */
	public void mappingEKK0161A010InMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0161A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0161A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0161A010);

		// 機能コード--サービス契約内訳一意照会(カレント)
		template.set(EKK0161A010CBSMsg.FUNC_CODE, "2");

		// ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0161A010CBSMsg.KEY_SVC_KEI_UCWK_NO, inHash.get(JKKKyoseiDslRunCC.SVC_KEI_UCWK_NO));

		// ＫＥＹ＿予約適用年月日
		template.set(EKK0161A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);

		// ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.set(EKK0161A010CBSMsg.KEY_GENE_ADD_DTM, oPE_DATE + "000000000");
	}

	/**
	 * EKK0351A010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0351A010のテンプレートリスト
	 * @return				EKK0351A010の結果部分
	 */
	public HashMap<String, Object> mappingEKK0351A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK0351A010CBSMsg.EKK0351A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * templateに対してEKK0351A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 */
	public void mappingEKK0351A010InMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0351A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0351A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0351A010);

		// 機能コード--オプションサービス契約一意照会(ここだけはカレント)
		template.set(EKK0351A010CBSMsg.FUNC_CODE, "2");

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0351A010CBSMsg.KEY_OP_SVC_KEI_NO, inHash.get(JKKKyoseiDslRunCC.OP_SVC_KEI_NO));

		// ＫＥＹ＿予約適用年月日
		template.set(EKK0351A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);

		// ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.set(EKK0351A010CBSMsg.KEY_GENE_ADD_DTM, oPE_DATE + "000000000");
	}

	/**
	 * EKK0401A010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0401A010のテンプレートリスト
	 * @return				EKK0401A010の結果部分
	 */
	public HashMap<String, Object> mappingEKK0401A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK0401A010CBSMsg.EKK0401A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * templateに対してEKK0401A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 */
	public void mappingEKK0401A010InMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0401A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0401A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0401A010);

		// 機能コード--サブオプションサービス契約一意照会(カレント)
		template.set(EKK0401A010CBSMsg.FUNC_CODE, "2");

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0401A010CBSMsg.KEY_OP_SVC_KEI_NO, inHash.get(EKK0401A010CBSMsg1List.OP_SVC_KEI_NO));

		// ＫＥＹ＿サブオプションサービス契約番号
		template.set(EKK0401A010CBSMsg.KEY_SBOP_SVC_KEI_NO, inHash.get(EKK0401A010CBSMsg1List.SBOP_SVC_KEI_NO));

		// ＫＥＹ＿予約適用年月日
		template.set(EKK0401A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);

		// ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.set(EKK0401A010CBSMsg.KEY_GENE_ADD_DTM, oPE_DATE + "000000000");
	}

	/**
	 *<DL>
	 *<DT>処理概要:マンション情報一覧照会
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param param (I) 業務データ取得用I/F
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 * @since 2011.06.07
	 */
	public void mappingEKK0861B002InMsg(
			CAANMsg template, 
			HashMap<String, Object> inHash,
			HashMap<String, Object> resultHash
	) throws RequestParameterException, SCException
	{
		HashMap<String, Object> eKK0081A010Hash = null;

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0861B002CBSMsg().getContents());

		eKK0081A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0081A010);

		// テンプレートID
		template.set(EKK0861B002CBSMsg.TEMPLATEID, "EKK0861B002");

		// 機能コード（デフォルト：１）
		template.set(EKK0861B002CBSMsg.FUNC_CODE, "2");

		// サービス契約番号の設定
		template.set(EKK0861B002CBSMsg.KEY_SVC_KEI_NO, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		// 予約適用年月日の設定
//↓↓↓2013-07-05変更　巻取BLT-2013-0000241（オンライン日付で更新されたサービスが強制解約されない）↓↓↓
		template.set(EKK0861B002CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);
//↑↑↑2013-07-05変更　巻取BLT-2013-0000241（オンライン日付で更新されたサービスが強制解約されない）↑↑↑
	}

	/**
	 * EKK0341A010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0341A010のテンプレートリスト
	 * @return				EKK0341A010の結果部分
	 */
	public HashMap<String, Object> mappingEKK0341A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK0341A010CBSMsg.EKK0341A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * templateに対してEKK0341A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0341A010InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0341A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0341A010);

		// 機能コード--機器提供サービス契約一意照会(ここだけはカレント)
		template.set(EKK0341A010CBSMsg.FUNC_CODE, "2");

		// 課金先一意照会の結果取得
		HashMap<String, Object> eKK0321A010Hash = null;
		eKK0321A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0321A010);

		// ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, eKK0321A010Hash.get(EKK0321A010CBSMsg1List.KKTK_SVC_KEI_NO));

		// ＫＥＹ＿予約適用年月日
		template.set(EKK0341A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);

		// ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.set(EKK0341A010CBSMsg.KEY_GENE_ADD_DTM, oPE_DATE + "000000000");
	}

	/**
	 * EKK0081C180の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0081C180のテンプレートリスト
	 * @return				EKK0081C180の結果部分
	 */
	public HashMap<String, Object> mappingEKK0081C180SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0081C180の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0081C180InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash, String svcKeiUpdDtm)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0081C180CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0081C180CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0081C180);

		// 機能コード--チェック＆登録
		template.set(EKK0081C180CBSMsg.FUNC_CODE, "1");

		// サービス契約一意照会の結果取得
		HashMap<String, Object> eKK0081A010Hash = null;
		eKK0081A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0081A010);

		// サービス契約番号
		template.set(EKK0081C180CBSMsg.SVC_KEI_NO, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		// サービス終了年月日
// KT1-2013-0000691 2013/07/06 START
		template.set(EKK0081C180CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス課金終了年月日
		template.set(EKK0081C180CBSMsg.SVC_CHRG_ENDYMD, inHash.get(JKKKyoseiDslRunCC.SVC_CHRG_ENDYMD));

		// サービス解約理由コード(強制解約)固定
		template.set(EKK0081C180CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// 異動区分(強制解約)固定
		template.set(EKK0081C180CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK0081C180CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);

		// 申込明細番号
		template.set(EKK0081C180CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));

		// 20130307 ST2-2013-0001182 ADD STAR
		// 違約金発生コード(1:有)固定
		template.set(EKK0081C180CBSMsg.PNLTY_HASSEI_CD, "1");
		// 20130307 ST2-2013-0001182ADD END

		// 工事なし登録チェック実施フラグ(0:チェックしない)固定
		template.set(EKK0081C180CBSMsg.NO_KOJI_CHK_FLG, "0");
	}

	/**
	 * EKK0161C180の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0161C180のテンプレートリスト
	 * @return				EKK0161C180の結果部分
	 */
	public HashMap<String, Object> mappingEKK0161C180SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0161C180の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0161C180InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash, String svcKeiUpdDtm)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0161C180CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0161C180CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0161C180);

		// 機能コード--チェック＆登録
		template.set(EKK0161C180CBSMsg.FUNC_CODE, "1");

		// サービス契約内訳一意照会の結果取得
		HashMap<String, Object> eKK0161A010Hash = null;
		eKK0161A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0161A010);

		// サービス契約内訳番号
		template.set(EKK0161C180CBSMsg.SVC_KEI_UCWK_NO, eKK0161A010Hash.get(EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO));

		// サービス終了年月日
// KT1-2013-0000691 2013/07/06 START
		template.set(EKK0161C180CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス課金終了年月日
		template.set(EKK0161C180CBSMsg.SVC_CHRG_ENDYMD, inHash.get(JKKKyoseiDslRunCC.SVC_CHRG_ENDYMD));

		// サービス解約理由コード(強制解約)固定
		template.set(EKK0161C180CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// 異動区分(強制解約)固定
		template.set(EKK0161C180CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK0161C180CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);

		// 申込明細番号
		template.set(EKK0161C180CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));

		// 20130307 ST2-2013-0001182 ADD START
		// 違約金発生コード(1:有)固定
		template.set(EKK0161C180CBSMsg.PNLTY_HASSEI_CD, "1");
		// 20130307 ST2-2013-0001182 ADD END
	}

	/**
	 * EKK0351C220の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0351C220のテンプレートリスト
	 * @return				EKK0351C220の結果部分
	 */
	public HashMap<String, Object> mappingEKK0351C220SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0351C220の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0351C220InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash, String svcKeiUpdDtm)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0351C220CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0351C220CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0351C220);

		// 機能コード--チェック＆登録
		template.set(EKK0351C220CBSMsg.FUNC_CODE, "1");

		// オプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK0351A010Hash = null;
		eKK0351A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0351A010);

		// オプションサービス契約番号
		template.set(EKK0351C220CBSMsg.OP_SVC_KEI_NO, eKK0351A010Hash.get(EKK0351A010CBSMsg1List.OP_SVC_KEI_NO));

		// サービスキャンセル理由コード(強制解約)固定
		template.set(EKK0351C220CBSMsg.SVC_CANCEL_RSN_CD, JKKKyoseiDslRunCC.SVC_CANCEL_RSN_CD_KYOSEI);

		// 異動区分(強制解約)固定
		template.set(EKK0351C220CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK0351C220CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);

		// 申込明細番号
		template.set(EKK0351C220CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));
	}

	/**
	 * EKK0351C240の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0351C240のテンプレートリスト
	 * @return				EKK0351C240の結果部分
	 */
	public HashMap<String, Object> mappingEKK0351C240SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0351C240の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template				条件の設定先
	 * @param	inHash					設定条件
	 * @param	resultHash				アプリ固有のパラメータ
	 * @param	jdgHiChrgMapSvcKei		非課金判定部品結果＜サービス＞
	 */
	public void mappingEKK0351C240InMsg(
			CAANMsg template,
			HashMap<String, Object> inHash,
			HashMap<String, Object> resultHash,
			HashMap<String, Object> jdgHiChrgMapSvcKei,
			String svcKeiUpdDtm
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0351C240CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0351C240CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0351C240);

		// 機能コード--チェック＆登録
		template.set(EKK0351C240CBSMsg.FUNC_CODE, "1");

		// オプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK0351A010Hash = null;
		eKK0351A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0351A010);

		// オプションサービス契約番号
		template.set(EKK0351C240CBSMsg.OP_SVC_KEI_NO, eKK0351A010Hash.get(EKK0351A010CBSMsg1List.OP_SVC_KEI_NO));

		// サービス終了年月日
// KT1-2013-0000691 2013/07/06 START
		template.set(EKK0351C240CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス課金終了年月日
		if(jdgHiChrgMapSvcKei == null)
		{
			// サービス課金終了年月日を設定
			template.set(EKK0351C240CBSMsg.SVC_CHRG_ENDYMD, inHash.get(JKKKyoseiDslRunCC.SVC_CHRG_ENDYMD));
		}
		else
		{
			template.set(EKK0351C240CBSMsg.SVC_CHRG_ENDYMD, jdgHiChrgMapSvcKei.get("svcChrgEndYmd"));
		}

		// サービス解約理由コード(強制解約)固定
		template.set(EKK0351C240CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// 異動区分(強制解約)固定
		template.set(EKK0351C240CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK0351C240CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);

		// 申込明細番号
		template.set(EKK0351C240CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));

		// 20130307 ST2-2013-0001182 ADD START
		// 違約金発生コード(1:有)固定
		template.set(EKK0351C240CBSMsg.PNLTY_HASSEI_CD, "1");
		// 20130307 ST2-2013-0001182 ADD END
	}

	/**
	 * EKK0401C150の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0401C150のテンプレートリスト
	 * @return				EKK0401C150の結果部分
	 */
	public HashMap<String, Object> mappingEKK0401C150SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0401C150の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0401C150InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash, String svcKeiUpdDtm)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0401C150CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0401C150CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0401C150);

		// 機能コード--チェック＆登録
		template.set(EKK0401C150CBSMsg.FUNC_CODE, "1");

		// サブオプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK0401A010Hash = null;
		eKK0401A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0401A010);

		// オプションサービス契約番号
		template.set(EKK0401C150CBSMsg.OP_SVC_KEI_NO, eKK0401A010Hash.get(EKK0401A010CBSMsg1List.OP_SVC_KEI_NO));

		// サブオプションサービス契約番号
		template.set(EKK0401C150CBSMsg.SBOP_SVC_KEI_NO, eKK0401A010Hash.get(EKK0401A010CBSMsg1List.SBOP_SVC_KEI_NO));

		// サービスキャンセル理由コード(強制解約)固定
		template.set(EKK0401C150CBSMsg.SVC_CANCEL_RSN_CD, JKKKyoseiDslRunCC.SVC_CANCEL_RSN_CD_KYOSEI);

		// 異動区分(強制解約)固定
		template.set(EKK0401C150CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK0401C150CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);

		// 申込明細番号
		template.set(EKK0401C150CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));
	}

	/**
	 * EKK0401C170の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0401C170のテンプレートリスト
	 * @return				EKK0401C170の結果部分
	 */
	public HashMap<String, Object> mappingEKK0401C170SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0401C170の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template				条件の設定先
	 * @param	inHash					設定条件
	 * @param	resultHash				アプリ固有のパラメータ
	 * @param	jdgHiChrgMapSvcKei		非課金判定部品結果＜サービス＞
	 */
	public void mappingEKK0401C170InMsg(
			CAANMsg template,
			HashMap<String, Object> inHash,
			HashMap<String, Object> resultHash,
			HashMap<String, Object> jdgHiChrgMapSvcKei,
			String svcKeiUpdDtm
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0401C170CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0401C170CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0401C170);

		// 機能コード--チェック＆登録
		template.set(EKK0401C170CBSMsg.FUNC_CODE, "1");

		// サブオプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK0401A010Hash = null;
		eKK0401A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0401A010);

		// オプションサービス契約番号
		template.set(EKK0401C170CBSMsg.OP_SVC_KEI_NO, eKK0401A010Hash.get(EKK0401A010CBSMsg1List.OP_SVC_KEI_NO));

		// サブオプションサービス契約番号
		template.set(EKK0401C170CBSMsg.SBOP_SVC_KEI_NO, eKK0401A010Hash.get(EKK0401A010CBSMsg1List.SBOP_SVC_KEI_NO));

		// サービス終了年月日
// KT1-2013-0000691 2013/07/06 START
		template.set(EKK0401C170CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス課金終了年月日
		if(jdgHiChrgMapSvcKei == null)
		{
			// サービス課金終了年月日を設定
			template.set(EKK0401C170CBSMsg.SVC_CHRG_ENDYMD, inHash.get(JKKKyoseiDslRunCC.SVC_CHRG_ENDYMD));
		}
		else
		{
			template.set(EKK0401C170CBSMsg.SVC_CHRG_ENDYMD, jdgHiChrgMapSvcKei.get("svcChrgEndYmd"));
		}

		// サービス解約理由コード(強制解約)固定
		template.set(EKK0401C170CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// 異動区分(強制解約)固定
		template.set(EKK0401C170CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK0401C170CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);

		// 申込明細番号
		template.set(EKK0401C170CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));

		// 20130307 ST2-2013-0001182 ADD START
		// 違約金発生コード(1:有)固定
		template.set(EKK0401C170CBSMsg.PNLTY_HASSEI_CD, "1");
		// 20130307 ST2-2013-0001182 ADD END
	}

	/**
	 * EKK0341C330の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0341C330のテンプレートリスト
	 * @return				EKK0341C330の結果部分
	 */
	public HashMap<String, Object> mappingEKK0341C330SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0341C330の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0341C330InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash, String svcKeiUpdDtm)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341C330CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0341C330CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0341C330);

		// 機能コード--チェック＆登録
		template.set(EKK0341C330CBSMsg.FUNC_CODE, "1");

		// 機器提供サービス契約一意照会の結果取得
		HashMap<String, Object> eKK0341A010Hash = null;
		eKK0341A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0341A010);

		// 機器提供サービス契約番号
		template.set(EKK0341C330CBSMsg.KKTK_SVC_KEI_NO, eKK0341A010Hash.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));

		// サービスキャンセル理由コード(強制解約)固定
		template.set(EKK0341C330CBSMsg.SVC_CANCEL_RSN_CD, JKKKyoseiDslRunCC.SVC_CANCEL_RSN_CD_KYOSEI);

		// 異動区分(強制解約)固定
		template.set(EKK0341C330CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		// OM-2014-0001746 強制解約処理でV-ONUの解約時に排他エラーが発生 2014/05/08 START
//		template.set(EKK0341C330CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
		template.set(EKK0341C330CBSMsg.UPD_DTM_BF, (String)eKK0341A010Hash.get(EKK0341A010CBSMsg1List.LAST_UPD_DTM));
		// OM-2014-0001746 強制解約処理でV-ONUの解約時に排他エラーが発生 2014/05/08 END

		// 申込明細番号
		template.set(EKK0341C330CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));
	}

	/**
	 * EKK0341C340の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0341C340のテンプレートリスト
	 * @return				EKK0341C340の結果部分
	 */
	public HashMap<String, Object> mappingEKK0341C340SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0341C340の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0341C340InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash, String svcKeiUpdDtm)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341C340CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0341C340CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0341C340);

		// 機能コード--チェック＆登録
		template.set(EKK0341C340CBSMsg.FUNC_CODE, "1");

		// 機器提供サービス契約一意照会の結果取得
		HashMap<String, Object> eKK0341A010Hash = null;
		eKK0341A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0341A010);

		// ANK-1421-00-00 2013/02/08 ADD START
		// 機器提供サービス一意照会の結果取得
		HashMap<String, Object> eKK0771A010Hash = null;
		eKK0771A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0771A010);
		String pnltyHasseiUm = JKKStrConst.CD_DIV_UM_NASHI;
		if (eKK0771A010Hash != null)
		{
			pnltyHasseiUm = (String)eKK0771A010Hash.get(EKK0771A010CBSMsg1List.PNLTY_HASSEI_UM);
		}
		// ANK-1421-00-00 2013/02/08 ADD END

		// 機器提供サービス契約番号
		template.set(EKK0341C340CBSMsg.KKTK_SVC_KEI_NO, eKK0341A010Hash.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));

		// サービス終了年月日
// KT1-2013-0000691 2013/07/06 START
		template.set(EKK0341C340CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス課金終了年月日
		template.set(EKK0341C340CBSMsg.SVC_CHRG_ENDYMD, inHash.get(JKKKyoseiDslRunCC.SVC_CHRG_ENDYMD));

		// サービス解約理由コード(強制解約)固定
		template.set(EKK0341C340CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// ANK-1421-00-00 2013/02/08 ADD START
		if (JKKStrConst.CD_DIV_UM_ARI.equals(pnltyHasseiUm))
		{
			// 違約金発生コード
			template.set(EKK0341C340CBSMsg.PNLTY_HASSEI_CD, JKKStrConst.CD01375_PNLTY_HASSEI );
		}
		else
		{
			// 違約金発生コード
			template.set(EKK0341C340CBSMsg.PNLTY_HASSEI_CD, JKKStrConst.CD01375_PNLTY_NASHI );
		}
		// ANK-1421-00-00 2013/02/08 ADD END

		// 異動区分(強制解約)固定
		template.set(EKK0341C340CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		// OM-2014-0001746 強制解約処理でV-ONUの解約時に排他エラーが発生 2014/05/08 START
//		template.set(EKK0341C340CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
		template.set(EKK0341C340CBSMsg.UPD_DTM_BF, (String)eKK0341A010Hash.get(EKK0341A010CBSMsg1List.LAST_UPD_DTM));
		// OM-2014-0001746 強制解約処理でV-ONUの解約時に排他エラーが発生 2014/05/08 END

		// 申込明細番号
		template.set(EKK0341C340CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));

		// 20130307 ST2-2013-0001182 ADD START
		// 違約金発生コード(1:有)固定
		template.set(EKK0341C340CBSMsg.PNLTY_HASSEI_CD, "1");
		// 20130307 ST2-2013-0001182 ADD END

		// 20131022 OM-2013-0002975 ADD START
		// 宅内機器異動コード
		template.set(EKK0341C340CBSMsg.TAKNKIKI_IDO_CD, eKK0341A010Hash.get(EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD));
		// 20131022 OM-2013-0002975 ADD END
	}

	/**
	 * EKK0081C260の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0081C260のテンプレートリスト
	 * @return				EKK0081C260の結果部分
	 */
	public HashMap<String, Object> mappingEKK0081C260SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0081C260の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0081C260InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash, String svcKeiUpdDtm)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0081C260CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0081C260CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0081C260);

		// 機能コード--チェック＆登録
		template.set(EKK0081C260CBSMsg.FUNC_CODE, "1");

		// サービス契約一意照会の結果取得
		HashMap<String, Object> eKK0081A010Hash = null;
		eKK0081A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0081A010);

		// サービス契約番号
		template.set(EKK0081C260CBSMsg.SVC_KEI_NO, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		// サービス終了年月日
// KT1-2013-0000691 2013/07/06 START
		template.set(EKK0081C260CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス解約起算年月日
		template.set(EKK0081C260CBSMsg.SVC_DSL_KISAN_YMD, inHash.get(JKKKyoseiDslRunCC.SVC_DSL_KISAN_YMD));

		// サービス解約理由コード(強制解約)固定
		template.set(EKK0081C260CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// 工事費自動適用要否
		template.set(EKK0081C260CBSMsg.RULE0079_AUTO_APLY, "0");

		// 更新年月日時分秒(更新前)
		template.set(EKK0081C260CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}

	/**
	 * EKK0161C190の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0161C190のテンプレートリスト
	 * @return				EKK0161C190の結果部分
	 */
	public HashMap<String, Object> mappingEKK0161C190SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0161C190の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0161C190InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash, String svcKeiUpdDtm)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0161C190CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0161C190CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0161C190);

		// 機能コード--チェック＆更新
		template.set(EKK0161C190CBSMsg.FUNC_CODE, "1");

		// サービス契約内訳一意照会の結果取得
		HashMap<String, Object> eKK0161A010Hash = null;
		eKK0161A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0161A010);

		// サービス契約内訳番号
		template.set(EKK0161C190CBSMsg.SVC_KEI_UCWK_NO, eKK0161A010Hash.get(EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO));

		// サービス終了年月日
// KT1-2013-0000691 2013/07/06
			template.set(EKK0161C190CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス解約起算年月日
		template.set(EKK0161C190CBSMsg.SVC_DSL_KISAN_YMD, inHash.get(JKKKyoseiDslRunCC.SVC_DSL_KISAN_YMD));

		// サービス解約理由コード(強制解約)固定
		template.set(EKK0161C190CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK0161C190CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);

		// IT1-2013-0000793 番号変更中の解約→回復ができていない 2013/04/10 START
		// 異動区分
		template.set(EKK0161C190CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);
		// IT1-2013-0000793 番号変更中の解約→回復ができていない 2013/04/10 END

	}

	/**
	 * EKK0351C250の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0351C250のテンプレートリスト
	 * @return				EKK0351C250の結果部分
	 */
	public HashMap<String, Object> mappingEKK0351C250SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0351C250の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template				条件の設定先
	 * @param	inHash					設定条件
	 * @param	resultHash				アプリ固有のパラメータ
	 * @param	jdgHiChrgMapSvcKei		非課金判定部品結果＜サービス＞
	 * @param	jdgHiChrgMapOpSvcKei	非課金判定部品結果＜オプションサービス＞
	 */
	public void mappingEKK0351C250InMsg(
			CAANMsg template,
			HashMap<String, Object> inHash,
			HashMap<String, Object> resultHash,
			HashMap<String, Object> jdgHiChrgMapSvcKei,
			HashMap<String, Object> jdgHiChrgMapOpSvcKei,
			String svcKeiUpdDtm
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0351C250CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0351C250CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0351C250);

		// 機能コード--チェック＆更新
		template.set(EKK0351C250CBSMsg.FUNC_CODE, "1");

		// オプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK0351A010Hash = null;
		eKK0351A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0351A010);

		// オプションサービス契約番号
		template.set(EKK0351C250CBSMsg.OP_SVC_KEI_NO, eKK0351A010Hash.get(EKK0351A010CBSMsg1List.OP_SVC_KEI_NO));

		// サービス終了年月日
// KT1-2013-0000691 2013/07/06 START
		template.set(EKK0351C250CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス課金終了年月日
		if(jdgHiChrgMapSvcKei == null)
		{
			// サービス課金終了年月日を設定
			template.set(EKK0351C250CBSMsg.SVC_CHRG_ENDYMD, inHash.get(JKKKyoseiDslRunCC.SVC_CHRG_ENDYMD));
		}
		else
		{
			template.set(EKK0351C250CBSMsg.SVC_CHRG_ENDYMD, jdgHiChrgMapSvcKei.get("svcChrgEndYmd"));
		}

		// サービス解約理由コード(強制解約)固定
		template.set(EKK0351C250CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// 異動区分(強制解約)固定
		template.set(EKK0351C250CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK0351C250CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);

		// SEP-0020-00-00 現行ICS指摘対応：337 ADD START
		String chrgFlg = "0";
		if(jdgHiChrgMapOpSvcKei != null)
		{
			chrgFlg = (String)jdgHiChrgMapOpSvcKei.get("chrgFlg");
		}

		// 解約時課金フラグ
		template.set(EKK0351C250CBSMsg.DSLJI_CHRG_FLG, chrgFlg);
		// SEP-0020-00-00 ADD END
	}

	/**
	 * EKK0401C180の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0401C180のテンプレートリスト
	 * @return				EKK0401C180の結果部分
	 */
	public HashMap<String, Object> mappingEKK0401C180SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0401C180の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template					条件の設定先
	 * @param	inHash						設定条件
	 * @param	resultHash					アプリ固有のパラメータ
	 * @param	jdgHiChrgMapSvcKei			非課金判定部品結果＜サービス＞
	 * @param	jdgHiChrgMapSbopSvcKei		非課金判定部品結果＜サブオプション＞
	 */
	public void mappingEKK0401C180InMsg(
			CAANMsg template,
			HashMap<String, Object> inHash,
			HashMap<String, Object> resultHash,
			HashMap<String, Object> jdgHiChrgMapSvcKei,
			HashMap<String, Object> jdgHiChrgMapSbopSvcKei,
			String svcKeiUpdDtm
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0401C180CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0401C180CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0401C180);

		// 機能コード--チェック＆更新
		template.set(EKK0401C180CBSMsg.FUNC_CODE, "1");

		// サブオプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK0401A010Hash = null;
		eKK0401A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0401A010);

		// オプションサービス契約番号
		template.set(EKK0401C180CBSMsg.OP_SVC_KEI_NO, eKK0401A010Hash.get(EKK0401A010CBSMsg1List.OP_SVC_KEI_NO));

		// サブオプションサービス契約番号
		template.set(EKK0401C180CBSMsg.SBOP_SVC_KEI_NO, eKK0401A010Hash.get(EKK0401A010CBSMsg1List.SBOP_SVC_KEI_NO));

		// サービス終了年月日
// KT1-2013-0000691 2013/07/06 START
		template.set(EKK0401C180CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス課金終了年月日
		if(jdgHiChrgMapSvcKei == null)
		{
			template.set(EKK0401C180CBSMsg.SVC_CHRG_ENDYMD, inHash.get(JKKKyoseiDslRunCC.SVC_CHRG_ENDYMD));
		}
		else
		{
			template.set(EKK0401C180CBSMsg.SVC_CHRG_ENDYMD, jdgHiChrgMapSvcKei.get("svcChrgEndYmd"));
		}

		// サービス解約理由コード(強制解約)固定
		template.set(EKK0401C180CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK0401C180CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);

		// SEP-0020-00-00 現行ICS指摘対応：337 ADD START
		String chrgFlg = "0";
		if(jdgHiChrgMapSbopSvcKei != null)
		{
			chrgFlg = (String)jdgHiChrgMapSbopSvcKei.get("chrgFlg");
		}

		// 解約時課金フラグ
		template.set(EKK0401C180CBSMsg.DSLJI_CHRG_FLG, chrgFlg);
		// SEP-0020-00-00 ADD END
	}

	/**
	 * EKK0341C350の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0341C350のテンプレートリスト
	 * @return				EKK0341C350の結果部分
	 */
	public HashMap<String, Object> mappingEKK0341C350SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0341C350の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0341C350InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash, String svcKeiUpdDtm)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341C350CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0341C350CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0341C350);

		// 機能コード--チェック＆更新
		template.set(EKK0341C350CBSMsg.FUNC_CODE, "1");

		// 機器提供サービス契約一意照会の結果取得
		HashMap<String, Object> eKK0341A010Hash = null;
		eKK0341A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0341A010);

		// 機器提供サービス契約番号
		template.set(EKK0341C350CBSMsg.KKTK_SVC_KEI_NO, eKK0341A010Hash.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));

		// サービス終了年月日
// KT1-2013-0000691 2013/07/06 STARt
		template.set(EKK0341C350CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス課金終了年月日
		template.set(EKK0341C350CBSMsg.SVC_CHRG_ENDYMD, inHash.get(JKKKyoseiDslRunCC.SVC_CHRG_ENDYMD));

		// サービス解約理由コード(強制解約)固定
		template.set(EKK0341C350CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK0341C350CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);

		// 20131022 OM-2013-0002975 ADD START
		// 宅内機器異動コード
		template.set(EKK0341C340CBSMsg.TAKNKIKI_IDO_CD, eKK0341A010Hash.get(EKK0341A010CBSMsg1List.TAKNKIKI_IDO_CD));
		// 20131022 OM-2013-0002975 ADD END
	}

	/**
	 * ECK0011A010の結果をHashとして抽出する
	 * @param	resultMsgs	ECK0011A010のテンプレートリスト
	 * @return				ECK0011A010の結果部分
	 */
	public HashMap<String, Object> mappingECK0011A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(ECK0011A010CBSMsg.ECK0011A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * templateに対してECK0011A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingECK0011A010InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new ECK0011A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(ECK0011A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_ECK0011A010);

		// 機能コード--お客様一意照会(カレント)
		template.set(ECK0011A010CBSMsg.FUNC_CODE, "2");

		// ＫＥＹ＿SYSID
		template.set(ECK0011A010CBSMsg.KEY_SYSID, inHash.get(ECK0011A010CBSMsg1List.SYSID));

		// ＫＥＹ＿予約適用年月日
		template.set(ECK0011A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);
	}

	/**
	 * EKK0191A010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0191A010のテンプレートリスト
	 * @return				EKK0191A010の結果部分
	 */
	public HashMap<String, Object> mappingEKK0191A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK0191A010CBSMsg.EKK0191A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * templateに対してEKK0191A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0191A010InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0191A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0191A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0191A010);

		// 機能コード--サービス契約内訳＜eo光電話＞一意照会
		template.set(EKK0191A010CBSMsg.FUNC_CODE, "1");

		// サービス契約内訳一意照会の結果取得
		HashMap<String, Object> eKK0161A010Hash = null;
		eKK0161A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0161A010);

		// ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0191A010CBSMsg.KEY_SVC_KEI_UCWK_NO, eKK0161A010Hash.get(EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO));

		// ＫＥＹ＿世代登録年月日時分秒
		template.set(EKK0191A010CBSMsg.KEY_GENE_ADD_DTM, eKK0161A010Hash.get(EKK0161A010CBSMsg1List.GENE_ADD_DTM));
	}

	/**
	 * EKK0171A010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0171A010のテンプレートリスト
	 * @return				EKK0171A010の結果部分
	 */
	public HashMap<String, Object> mappingEKK0171A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK0171A010CBSMsg.EKK0171A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * templateに対してEKK0171A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0171A010InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0171A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0171A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0171A010);

		// 機能コード--サービス契約内訳＜eo光ネット＞一意照会
		template.set(EKK0171A010CBSMsg.FUNC_CODE, "1");

		// サービス契約内訳一意照会の結果取得
		HashMap<String, Object> eKK0161A010Hash = null;
		eKK0161A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0161A010);

		// ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0171A010CBSMsg.KEY_SVC_KEI_UCWK_NO, eKK0161A010Hash.get(EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO));

		// ＫＥＹ＿世代登録年月日時分秒
		template.set(EKK0171A010CBSMsg.KEY_GENE_ADD_DTM, eKK0161A010Hash.get(EKK0161A010CBSMsg1List.GENE_ADD_DTM));
	}

	/**
	 * EKK0361A010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0361A010のテンプレートリスト
	 * @return				EKK0361A010の結果部分
	 */
	public HashMap<String, Object> mappingEKK0361A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		if(msg != null)
		{
			msgList = (CAANMsg[])msg.getMsgData().get(EKK0361A010CBSMsg.EKK0361A010CBSMSG1LIST);

			if(msgList.length != 0)
			{
				retHash = msgList[0].getMsgData();
			}
		}

		return retHash;
	}

	/**
	 * templateに対してEKK0361A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	結果のハッシュ
	 */
	public void mappingEKK0361A010SCInMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0361A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0361A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0361A010);

		// 機能コード--オプションサービス契約＜ISP＞一意照会
		template.set(EKK0361A010CBSMsg.FUNC_CODE, "1");

		// オプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK0351A010Hash = null;
		eKK0351A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0351A010);

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0361A010CBSMsg.KEY_OP_SVC_KEI_NO, eKK0351A010Hash.get(EKK0351A010CBSMsg1List.OP_SVC_KEI_NO));

		// ＫＥＹ＿世代登録年月日時分秒
		template.set(EKK0361A010CBSMsg.KEY_GENE_ADD_DTM, eKK0351A010Hash.get(EKK0351A010CBSMsg1List.GENE_ADD_DTM));
	}

	/**
	 * EKK0411A010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0411A010のテンプレートリスト
	 * @return				EKK0411A010の結果部分
	 */
	public HashMap<String, Object> mappingEKK0411A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		if(msg != null)
		{
			msgList = (CAANMsg[])msg.getMsgData().get(EKK0411A010CBSMsg.EKK0411A010CBSMSG1LIST);

			if(msgList.length != 0)
			{
				retHash = msgList[0].getMsgData();
			}
		}

		return retHash;
	}

	/**
	 * templateに対してEKK0411A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	結果のハッシュ
	 */
	public void mappingEKK0411A010InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0411A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0411A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0411A010);

		// 機能コード--サブオプションサービス契約<ISP>一意照会
		template.set(EKK0411A010CBSMsg.FUNC_CODE, "1");

		// サブオプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK0401A010Hash = null;
		eKK0401A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0401A010);

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0411A010CBSMsg.KEY_OP_SVC_KEI_NO, eKK0401A010Hash.get(EKK0401A010CBSMsg1List.OP_SVC_KEI_NO));

		// ＫＥＹ＿サブオプションサービス契約番号
		template.set(EKK0411A010CBSMsg.KEY_SBOP_SVC_KEI_NO, eKK0401A010Hash.get(EKK0401A010CBSMsg1List.SBOP_SVC_KEI_NO));

		// ＫＥＹ＿世代登録年月日時分秒
		template.set(EKK0411A010CBSMsg.KEY_GENE_ADD_DTM, eKK0401A010Hash.get(EKK0401A010CBSMsg1List.GENE_ADD_DTM));
	}

	/**
	 * ECK0141B005の結果をHashとして抽出する
	 * @param	resultMsgs	ECK0141B005のテンプレートリスト
	 * @return				ECK0141B005の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingECK0141B005SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(ECK0141B005CBSMsg.ECK0141B005CBSMSG1LIST);
		for(int i = 0 ; i < msgs.length ; i++)
		{
			retHashList.add(msgs[i].getMsgData());
		}

		return retHashList;
	}

	/**
	 * templateに対してECK0141B005の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingECK0141B005InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new ECK0141B005CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(ECK0141B005CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_ECK0141B005);

		// 機能コード--オプトインメール受信設定一覧照会（SYSID）２
		template.set(ECK0141B005CBSMsg.FUNC_CODE, "1");

		// オプションサービス契約データ取得
		HashMap<String, Object> eKK0351A010Hash = null;
		eKK0351A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0351A010);

		// オプションサービス契約<ISP>一意照会の結果取得
		HashMap<String, Object> eKK0361A010Hash = null;
		eKK0361A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0361A010);

		// ＫＥＹ＿SYSID
		template.set(ECK0141B005CBSMsg.KEY_SYSID, eKK0351A010Hash.get(EKK0351A010CBSMsg1List.SYSID));

		// ＫＥＹ＿メールアドレス
		template.set(ECK0141B005CBSMsg.KEY_MLAD, eKK0361A010Hash.get(EKK0361A010CBSMsg1List.MLAD));
	}

	/**
	 * ECK0141C030の結果をHashとして抽出する
	 * @param	resultMsgs	ECK0141C030のテンプレートリスト
	 * @return				ECK0141C030の結果部分
	 */
	public HashMap<String, Object> mappingECK0141C030SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してECK0141C030の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	upd_dtm		更新年月日時分秒
	 */
	public void mappingECK0141C030InMsg(CAANMsg template, HashMap<String, Object> inHash, String upd_dtm)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new ECK0141C030CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(ECK0141C030CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_ECK0141C030);

		// 機能コード--チェック＆登録
		template.set(ECK0141C030CBSMsg.FUNC_CODE, "1");

		// オプトインメール番号
		template.set(ECK0141C030CBSMsg.OPTINM_NO, inHash.get(ECK0141B005CBSMsg1List.OPTINM_NO));

		// SYSID
		template.set(ECK0141C030CBSMsg.SYSID, inHash.get(ECK0141B005CBSMsg1List.SYSID));

		// メールアドレス
		template.set(ECK0141C030CBSMsg.MLAD, inHash.get(ECK0141B005CBSMsg1List.MLAD));

		// 更新年月日時分秒(更新前)
		template.set(ECK0141C030CBSMsg.UPD_DTM_BF, upd_dtm);
	}

	/**
	 * EZM0111B030の結果をHashとして抽出する
	 * @param	resultMsgs	EZM0111B030のテンプレートリスト
	 * @return				EZM0111B030の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEZM0111B030SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EZM0111B030CBSMsg.EZM0111B030CBSMSG1LIST);
		if(msgs != null)
		{
			for(int i = 0 ; i < msgs.length ; i++)
			{
				retHashList.add(msgs[i].getMsgData());
			}
		}

		return retHashList;
	}

	/**
	 * templateに対してEZM0111B030の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 */
	public void mappingEZM0111B030InMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EZM0111B030CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EZM0111B030CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EZM0111B030);

		// 機能コード-- エイジング一覧照会(エイジング対象値)
		template.set(EZM0111B030CBSMsg.FUNC_CODE, "1");

		// ＫＥＹ＿エイジング種別コード
		template.set(EZM0111B030CBSMsg.KEY_AGING_SBT_CD, inHash.get(JKKKyoseiDslRunCC.AGING_SBT_CD));

		// ＫＥＹ＿エイジング対象値
		template.set(EZM0111B030CBSMsg.KEY_AGING_TG_VALUE, inHash.get(JKKKyoseiDslRunCC.AGING_TG_VALUE));
	}

	/**
	 * EZM0111C010の結果をHashとして抽出する
	 * @param	resultMsgs	EZM0111C010のテンプレートリスト
	 * @return				EZM0111C010の結果部分
	 */
	public HashMap<String, Object> mappingEZM0111C010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEZM0111C010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 */
	public void mappingEZM0111C010SCInMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EZM0111C010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EZM0111C010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EZM0111C010);

		// 機能コード
		template.set(EZM0111C010CBSMsg.FUNC_CODE, "1");

		// ＫＥＹ＿エイジング種別コード
		template.set(EZM0111C010CBSMsg.AGING_SBT_CD, inHash.get(JKKKyoseiDslRunCC.AGING_SBT_CD));

		// ＫＥＹ＿エイジング対象値
		template.set(EZM0111C010CBSMsg.AGING_TG_VALUE, inHash.get(JKKKyoseiDslRunCC.AGING_TG_VALUE));

		// 更新前最終年月日時分秒
		template.set(EZM0111C010CBSMsg.LAST_UPD_DTM_BF, inHash.get(JKKKyoseiDslRunCC.AGING_TG_UPD_DTM));
	}

	/**
	 * ESC0021D010の結果をHashとして抽出する
	 * @param	resultMsgs	ESC0021D010のテンプレートリスト
	 * @return				ESC0021D010の結果部分
	 */
	public HashMap<String, Object> mappingESC0021D010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してESC0021D010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	kojiankNo	工事案件番号
	 */
	public void mappingESC0021D010SCInMsg(CAANMsg template, HashMap<String, Object> inHash, String kojiankNo)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new ESC0021D010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(ESC0021D010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_ESC0021D010);

		// 機能コード
		template.set(ESC0021D010CBSMsg.FUNC_CODE, "1");

		// サービス契約番号
		template.set(ESC0021D010CBSMsg.SVC_KEI_NO, inHash.get(JKKKyoseiDslRunCC.SVC_KEI_NO));

		// 要求元アプリ種別コード
		template.set(ESC0021D010CBSMsg.YOKYU_MT_APL_SBT_CD, JKKKyoseiDslRunCC.YOKYU_MT_APL_SBT_CD_BAT);

		// VLANオーダコード
		template.set(ESC0021D010CBSMsg.VLAN_ORDER_CD, JKKKyoseiDslRunCC.VLAN_ORDER_CD_VLAN);

		// 要求種別コード
		template.set(ESC0021D010CBSMsg.YOKYU_SBT_CD, JKKKyoseiDslRunCC.YOKYU_SBT_CD_KAIYK);

		// VLANサーバコード
		template.set(ESC0021D010CBSMsg.VLAN_SERVER_CD, JKKKyoseiDslRunCC.VLAN_SERVER_CD_STB_KANRI);

		// 2012-08-06 [ANK-0342-00-00] add start
		// 依頼時工事案件番号
		template.set(ESC0021D010CBSMsg.REQ_JI_KJAK_NO, kojiankNo);
		// 2012-08-06 [ANK-0342-00-00] add end
	}

	/**
	 * EKK1091D010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0081A010のテンプレートリスト
	 * @return				EKK1091D010の結果部分
	 */
	public HashMap<String, Object> mappingEKK1091D010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * templateに対してEKK1091D010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 */
	public void mappingEKK1091D010SCInMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK1091D010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK1091D010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK1091D010);

		// 機能コード
		template.set(EKK1091D010CBSMsg.FUNC_CODE, "1");

		// 請求契約番号
		template.set(EKK1091D010CBSMsg.SEIKY_KEI_NO, inHash.get(JKKKyoseiDslRunCC.SEIKY_KEI_NO));

		// サービス契約番号
		template.set(EKK1091D010CBSMsg.SVC_KEI_NO, inHash.get(JKKKyoseiDslRunCC.SVC_KEI_NO));

		// 異動区分(強制解約)
		template.set(EKK1091D010CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 異動年月日時分秒(システム日時)
		template.set(EKK1091D010CBSMsg.IDO_DTM, JCCBPCommon.getSysDateTimeStamp());

		// 進捗ステータス(強制解約完了)
		template.set(EKK1091D010CBSMsg.PRG_STAT, JKKKyoseiDslRunCC.PRG_STAT_KYOKAI_FIN);

		// 異動理由コード(強制解約(料金滞納))
		CAANMsg idoRsnTemp = new CAANMsg(EKK1091D010CBSMsg1List.class.getName());
		idoRsnTemp.set(EKK1091D010CBSMsg1List.IDO_RSN_CD, JKKKyoseiDslRunCC.IDO_RSN_CD_KYOKAI_TAINO);
		// 異動理由メモ
		idoRsnTemp.setNull(EKK1091D010CBSMsg1List.IDO_RSN_MEMO);

		// 異動理由明細
		CAANMsg[] list = new CAANMsg[1];
		list[0] = idoRsnTemp;
		template.set(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST, list);

		// IT-2012-0000642 2012-06-01 ADD START
		// 申込明細番号
		template.set(EKK1091D010CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));
		// IT-2012-0000642 2012-06-01 ADD END
	}

	/**
	 * 持ちうるフィールドにNullマッピングで埋める
	 * @param	msg			対象クラス
	 * @param	contents	対応クラスのフィールド列挙
	 */
	public 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);
		}
	}
	//▼▼▼▼▼【ANK-2056-00-00】光電話セレクトオプションパックADD START▼▼▼▼▼
	/**
	 *<DL>
	 *<DT>電話セレクトオプションパック操作部品
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param outMap 処理対象マップ
	 * @param subMap	情報引渡しマップ
	 * @param trnDiv 処理区分
	 * @param packDiv パック区分
	 * @param SvcKeiUcwkNo　サービス契約内訳番号 
	 * @param fixedText ユーザ任意文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 * @since 2011.12.12
	 */
	public void editJKKTelSelectOpPackOperate(
			IRequestParameterReadWrite param,
			HashMap<String, Object> subMap, 
			String trnDiv,
			String packDiv,
			String SvcKeiUcwkNo,
			String svcKeiUpdDtm,
			String fixedText) 
	throws RequestParameterException
	{
		HashMap outMap = (HashMap)param.getData(fixedText);
		
		if (param.getData(fixedText) == null)
		{
			outMap = new HashMap<String, Object>();
			param.setData(fixedText, outMap);
		}
		//機能コード(チェック＆登録)
		outMap.put("func_cd", JPCModelConstant.FUNC_CD_1);
		//処理区分(解約)
		outMap.put("trn_div", trnDiv);
		// サービス契約番号
		outMap.put("svc_kei_no", subMap.get("svc_kei_no"));
		//サービス契約内訳番号
		outMap.put("svc_kei_ucwk_no",SvcKeiUcwkNo);
		
		// 照会モード("00")の場合は下記項目は設定しない
		if (!"00".equals(trnDiv))
		{
			//SYSID
			outMap.put("sysid", subMap.get("sysid"));
			// 申込明細番号
			outMap.put("mskm_dtl_no", subMap.get("mskm_dtl_no"));
			//サービス解約理由コード
			outMap.put("svc_dlre_cd", JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);
			//サービスキャンセル理由コード
			outMap.put("svc_cancel_rsn_cd",(JKKKyoseiDslRunCC.SVC_CANCEL_RSN_CD_KYOSEI));
			//起算日
			outMap.put("kisan_ymd", subMap.get("kisan_ymd"));
			//異動区分
			outMap.put("ido_div",JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);
			//パック割区分
			outMap.put("pack_div",packDiv);
			//課金区分
	    	// IT1-2014-0000120 光電話セレクトオプションパック解約時の課金区分誤り 2014/05/09 藤田 DEL START
//			outMap.put("kakin_div", "2");
	    	// IT1-2014-0000120 光電話セレクトオプションパック解約時の課金区分誤り 2014/05/09 藤田 DEL END
			//違約金区分
			outMap.put("pnlty_div", "0");
			//更新年月日時分秒（更新前)
			outMap.put("kk0081_upd_dtm", svcKeiUpdDtm);
		}
	}
	//▲▲▲▲▲【ANK-2056-00-00】光電話セレクトオプションパック ADD E N D▲▲▲▲▲
	/**
	 *<DL>
	 *<DT>処理概要:割引サービス自動適用CC
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param outMap 処理対象マップ
	 * @param idoDiv 異動区分
	 * @param mskmNo 申込番号
	 * @param resultHash 
	 * @param requestParam
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 * @since 2011.12.12
	 * @see JKKDslRunMapperCC#editMapWrisvcAutoAply(IRequestParameterReadWrite, HashMap, String, String, String, CAANMsg)
	 */
	public void editMapWrisvcAutoAply(
			HashMap outMap,
			String idoDiv,
			HashMap resultHash,
			HashMap<String, Object> requestParam,
			String kidoCd
	) throws RequestParameterException
	{
		String svcEndymd     = (String)requestParam.get(JKKKyoseiDslRunCC.REQYMD);			// 依頼年月日を設定
		String svcChrgEndymd = (String)requestParam.get(JKKKyoseiDslRunCC.SVC_CHRG_ENDYMD);	// サービス課金終了年月日を設定

		HashMap<String, Object> ekk0081a010Map = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0081A010);

		// ＳＹＳＩＤ
		outMap.put("sysid", ekk0081a010Map.get(EKK0081A010CBSMsg1List.SYSID));

		// 登録／変更区分（解約）
		outMap.put("add_chge_div", JKKKyoseiDslRunCC.ADD_CHGE_DIV_DSL);

		// 申込番号
		HashMap<String, Object> ekk0021a010Map = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0021A010);
		String mskmNo = (String) ekk0021a010Map.get(EKK0021A010CBSMsg1List.MSKM_NO);
		outMap.put("mskm_no", mskmNo);

		// 申込種別コード
		outMap.put("mskm_sbt_cd", "00005");

		// 異動区分
		outMap.put("ido_div", idoDiv);

		// 機能コード
		outMap.put("func_code", JPCModelConstant.FUNC_CD_1);

		// サービス解約理由コード
		outMap.put("svc_dlre_cd", JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// サービス契約グループリスト
		ArrayList<HashMap> workSvcKeiArray = new ArrayList<HashMap>();
		HashMap<String, Object> workSvcKeiMap = new HashMap<String, Object>();

		// グループ区分
		workSvcKeiMap.put("grp_div", JKKKyoseiDslRunCC.GRP_DIV_STDARD);

		// サービス契約リスト
		ArrayList<HashMap> workSvcKeiList = new ArrayList<HashMap>();
		HashMap<String, Object> workSvcKeiData = new HashMap<String, Object>();
		
		// ＳＹＳＩＤ
		workSvcKeiData.put("sysid", ekk0081a010Map.get(EKK0081A010CBSMsg1List.SYSID));

		// 対象契約識別コード
		workSvcKeiData.put("tg_kei_skbt_cd", JKKKyoseiDslRunCC.TG_KEI_SKBT_CD_SVC_KEI);

		// サービス契約番号
		workSvcKeiData.put("svc_kei_no", ekk0081a010Map.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		// サービス契約ステータス
		workSvcKeiData.put("svc_kei_stat", ekk0081a010Map.get(EKK0081A010CBSMsg1List.SVC_KEI_STAT));

		// サービスコード
		workSvcKeiData.put("svc_cd", ekk0081a010Map.get(EKK0081A010CBSMsg1List.SVC_CD));

		// 料金グループコード
		workSvcKeiData.put("prc_grp_cd", ekk0081a010Map.get(EKK0081A010CBSMsg1List.PRC_GRP_CD));

		// 料金コースコード
		workSvcKeiData.put("pcrs_cd", ekk0081a010Map.get(EKK0081A010CBSMsg1List.PCRS_CD));

		// 料金プランコード
		workSvcKeiData.put("pplan_cd", ekk0081a010Map.get(EKK0081A010CBSMsg1List.PPLAN_CD));

		// 2013/04/16 MOD KT1-2013-0000418 強制解約バッチからの呼び出し時、依頼年月日に１日加算する START
		if (JKKKyoseiDslRunCC.KIDO_CD_BAT.equals(kidoCd))
		{
			// サービス終了年月日
			workSvcKeiData.put("svc_endymd", JPCDateUtil.addDay(svcEndymd, 1));
		}
		else
		{
			// サービス終了年月日
			workSvcKeiData.put("svc_endymd", svcEndymd);
		}
		// 2013/04/16 MOD KT1-2013-0000418 強制解約バッチからの呼び出し時、依頼年月日に１日加算する END

		// サービス課金終了年月日
		workSvcKeiData.put("svc_chrg_endymd", svcChrgEndymd);

		workSvcKeiList.add(workSvcKeiData);

		workSvcKeiMap.put("svc_kei_list", workSvcKeiList);

		workSvcKeiArray.add(workSvcKeiMap);

		outMap.put("svc_kei_grp_list", workSvcKeiArray);
	}

	/**
	 * 申込明細一意照会の結果処理
	 * 
	 * @param	resultMsgs
	 * @return	
	 */
	public Object mappingEKK0021A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK0021A010CBSMsg.EKK0021A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * 申込明細一意照会の呼び出し事前処理
	 * 
	 * @param	template
	 * @param	inHash
	 */
	public void mappingEKK0021A010InMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0021A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0021A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0021A010);

		// 機能コード--カレント
		template.set(EKK0021A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);

		// ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0021A010CBSMsg.KEY_MSKM_DTL_NO, (String) inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));
	}

	/**
	 * サービス契約＜eo光電話＞一意照会　入力マッピング
	 * 
	 * @param	template
	 * @param	inHash
	 */
	public void mappingEKK0111A010InMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// テンプレートID
		template.set(EKK0111A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0111A010);

		// 機能コード（デフォルト：2）
		template.set(EKK0111A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);

		// サービス契約＜eo光電話＞一意照会マップ.ＫＥＹ＿サービス契約番号 → ＫＥＹ＿サービス契約番号
		template.set(EKK0111A010CBSMsg.KEY_SVC_KEI_NO, (String) inHash.get(JKKKyoseiDslRunCC.SVC_KEI_NO));

		// サービス契約＜eo光電話＞一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → ＫＥＹ＿世代登録年月日時分秒
		template.setNull(EKK0111A010CBSMsg.KEY_GENE_ADD_DTM);
	}

	/**
	 * サービス契約＜eo光電話＞一意照会　出力マッピング
	 * 
	 * @param	resultMsgs
	 * @return	
	 */
	public Object mappingEKK0111A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK0111A010CBSMsg.EKK0111A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * サービス契約＜eo光電話＞一意照会　入力マッピング
	 * 
	 * @param	template
	 * @param	inHash
	 */
	public void mappingEKK0221A010InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
		// テンプレートID
		template.set(EKK0221A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0221A010);

		// 機能コード（デフォルト：2）
		template.set(EKK0221A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);

		// サービス契約内訳一意照会の結果取得
		HashMap<String, Object> eKK0161A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0161A010);

		// サービス契約＜eo光電話＞一意照会マップ.ＫＥＹ＿サービス契約番号 → ＫＥＹ＿サービス契約番号
		template.set(EKK0221A010CBSMsg.KEY_SVC_KEI_UCWK_NO, (String) eKK0161A010Hash.get(EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO));

		// サービス契約＜eo光電話＞一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → ＫＥＹ＿世代登録年月日時分秒
		template.setNull(EKK0221A010CBSMsg.KEY_GENE_ADD_DTM);
	}

	/**
	 * サービス契約＜eo光電話＞一意照会　出力マッピング
	 * 
	 * @param	resultMsgs
	 * @return	
	 */
	public Object mappingEKK0221A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK0221A010CBSMsg.EKK0221A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * EKK0371A010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0371A010のテンプレートリスト
	 * @return				EKK0371A010の結果部分
	 */
	public HashMap<String, Object> mappingEKK0371A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		if(msg != null)
		{
			msgList = (CAANMsg[])msg.getMsgData().get(EKK0371A010CBSMsg.EKK0371A010CBSMSG1LIST);
			if(msgList.length != 0)
			{
				retHash = msgList[0].getMsgData();
			}
		}

		return retHash;
	}


	/**
	 * templateに対してEKK0371A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	結果のハッシュ
	 */
	public void mappingEKK0371A010SCInMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
//		// まずは全条件のNullマッピング
//		fillCAANMSGNullMapping(template, new EKK0371A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0371A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0371A010);

		// 機能コード--オプションサービス契約＜ISP＞一意照会
		template.set(EKK0371A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);

		// オプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK0351A010Hash = null;
		eKK0351A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0351A010);

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0371A010CBSMsg.KEY_OP_SVC_KEI_NO, eKK0351A010Hash.get(EKK0351A010CBSMsg1List.OP_SVC_KEI_NO));

		// ＫＥＹ＿世代登録年月日時分秒
		template.setNull(EKK0371A010CBSMsg.KEY_GENE_ADD_DTM);
	}

	/**
	 * templateに対してEZM0321A010の条件に関する部分を設定する
	 * @param	template		条件の設定先
	 * @param	workParamId		業務パラメータID
	 */
	public void mappingEZM0321A010InMsg(CAANMsg template, String workParamId)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EZM0321A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EZM0321A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EZM0321A010);

		// 機能コード-- 業務パラメータ管理一意照会
		template.set(EZM0321A010CBSMsg.FUNC_CODE, "1");

		// ＫＥＹ＿業務パラメータID
		template.set(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID, workParamId);
	}

	/**
	 * EZM0321A010の結果をHashとして抽出する
	 * @param	resultMsgs	EZM0321A010のテンプレートリスト
	 * @return				EZM0321A010の結果部分
	 */
	public HashMap<String, Object> mappingEZM0321A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EZM0321A010CBSMsg.EZM0321A010CBSMSG1LIST);
		if (msgList != null && msgList.length > 0)
		{
			retHash = msgList[0].getMsgData();
		}

		return retHash;
	}

	/**
	 * templateに対してEKK0081B009の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 */
	public void mappingEKK0081B009InMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// テンプレートID(SIFのID)
		template.set(EKK0081B009CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0081B009);

		// 機能コード-- サービス契約一覧照会
		template.set(EKK0081B009CBSMsg.FUNC_CODE, "1");

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0081B009CBSMsg.KEY_SVC_KEI_NO, (String)inHash.get(EKK0081B009CBSMsg1List.SVC_KEI_NO));
	}

	/**
	 * EKK0081B009の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0081B009のテンプレートリスト
	 * @return				EKK0081B009の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK0081B009SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK0081B009CBSMsg.EKK0081B009CBSMSG1LIST);
		if(msgs != null)
		{
			for(int i = 0 ; i < msgs.length ; i++)
			{
				retHashList.add(msgs[i].getMsgData());
			}
		}

		return retHashList;
	}

	/**
	 * EKK0341B012の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0341B012のテンプレートリスト
	 * @return				EKK0341B012の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK0341B012SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK0341B012CBSMsg.EKK0341B012CBSMSG1LIST);
		if(msgs != null)
		{
			for(int i = 0 ; i < msgs.length ; i++)
			{
				retHashList.add(msgs[i].getMsgData());
			}
		}

		return retHashList;
	}

	/**
	 * templateに対してEKK0341B012の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0341B012InMsg(
			CAANMsg template, 
			HashMap<String, Object> inHash, 
			HashMap<String, Object> resultHash
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341B012CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0341B012CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0341B012);

		// 機能コード--機器提供サービス契約一覧照会(接続機器情報)(カレントレコードの取得)
		template.set(EKK0341B012CBSMsg.FUNC_CODE, "1");

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0341B012CBSMsg.KEY_SVC_KEI_NO, inHash.get(EKK0081B009CBSMsg1List.SVC_KEI_NO));
	}

	/**
	 * templateに対してEKK0241B001の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0241B001InMsg(
			CAANMsg template, 
			HashMap<String, Object> inHash, 
			HashMap<String, Object> resultHash
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0241B001CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0241B001CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0241B001);

		// 機能コード
		template.set(EKK0241B001CBSMsg.FUNC_CODE, "1");

		// サービス契約番号
		template.set(EKK0241B001CBSMsg.KEY_SVC_KEI_NO, inHash.get(JKKKyoseiDslRunCC.SVC_KEI_NO));
	}

	/**
	 * EKK0241B001の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0241B001のテンプレートリスト
	 * @return				EKK0241B001の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK0241B001SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK0241B001CBSMsg.EKK0241B001CBSMSG1LIST);
		if(msgs != null)
		{
			for(int i = 0 ; i < msgs.length ; i++)
			{
				retHashList.add(msgs[i].getMsgData());
			}
		}

		return retHashList;
	}

	/**
	 * templateに対してEKU0081B020の条件に関する部分を設定する
	 * @param	template			条件の設定先
	 * @param	inHash				設定条件
	 * @param	resultHash			アプリ固有のパラメータ
	 * @param	svcKeiKaisenUcwkNo	サービス契約回線内訳番号
	 */
	public void mappingEKU0081B020InMsg(
			CAANMsg template, 
			HashMap<String, Object> inHash, 
			HashMap<String, Object> resultHash,
			String svcKeiKaisenUcwkNo
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKU0081B020CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKU0081B020CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKU0081B020);

		// 機能コード
		template.set(EKU0081B020CBSMsg.FUNC_CODE, "1");

		// サービス契約_工事案件一覧照会(基本工事取得).サービス契約番号 → サービス契約番号
		template.set(EKU0081B020CBSMsg.KEY_SVC_KEI_NO, (String) inHash.get(JKKKyoseiDslRunCC.SVC_KEI_NO));

		// サービス契約_工事案件一覧照会(基本工事取得).サービス契約内訳番号 → サービス契約内訳番号
		template.set(EKU0081B020CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkNo);
	}

	/**
	 * EKU0081B020の結果をHashとして抽出する
	 * @param	resultMsgs	EKU0081B020のテンプレートリスト
	 * @return				EKU0081B020の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKU0081B020SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKU0081B020CBSMsg.EKU0081B020CBSMSG1LIST);
		if(msgs != null)
		{
			for(int i = 0 ; i < msgs.length ; i++)
			{
				retHashList.add(msgs[i].getMsgData());
			}
		}

		return retHashList;
	}

	/**
	 * EKK0251B001の結果をHashとして抽出する
	 * @param	resultMsgs	EKK0251B001のテンプレートリスト
	 * @return				EKK0251B001の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK0251B001SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK0251B001CBSMsg.EKK0251B001CBSMSG1LIST);
		for(int i = 0 ; i < msgs.length ; i++)
		{
			retHashList.add(msgs[i].getMsgData());
		}

		return retHashList;
	}

	/**
	 * templateに対してEKK0251B001の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 */
	public void mappingEKK0251B001InMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0251B001CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0251B001CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0251B001);

		// 機能コード--課金先一覧照会
		template.set(EKK0251B001CBSMsg.FUNC_CODE, "1");

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0251B001CBSMsg.KEY_SVC_KEI_NO, inHash.get(JKKKyoseiDslRunCC.SVC_KEI_NO));
	}

	/**
	 * templateに対してEKK0441A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 */
	public void mappingEKK0441A010InMsg(CAANMsg template, HashMap<String, Object> inHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0441A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0441A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0441A010);

		// 機能コード--オプションサービス契約一意照会(ここだけはカレント)
		template.set(EKK0441A010CBSMsg.FUNC_CODE, "2");

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0441A010CBSMsg.KEY_SEIOPSVC_KEI_NO, inHash.get(JKKKyoseiDslRunCC.SEIOP_SVC_KEI_NO));

		// ＫＥＹ＿予約適用年月日
		template.set(EKK0441A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);
	}

	/**
	 * templateに対してEKK0441C210の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0441C210InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash, String svcKeiUpdDtm)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0441C210CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0441C210CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0441C210);

		// 機能コード--チェック＆登録
		template.set(EKK0441C210CBSMsg.FUNC_CODE, "1");

		// オプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK0441A010Hash = null;
		eKK0441A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0441A010);

		// 請求オプションサービス契約番号
		template.set(EKK0441C210CBSMsg.SEIOPSVC_KEI_NO, eKK0441A010Hash.get(EKK0441A010CBSMsg1List.SEIOPSVC_KEI_NO));

		// サービスキャンセル理由コード(強制解約)固定
		template.set(EKK0441C210CBSMsg.SVC_CANCEL_RSN_CD, JKKKyoseiDslRunCC.SVC_CANCEL_RSN_CD_KYOSEI);

		// 異動区分(強制解約)固定
		template.set(EKK0441C210CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK0441C210CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);

		// 申込明細番号
		template.set(EKK0441C210CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));
	}

	/**
	 * templateに対してEKK0441C230の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0441C230InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0441C230CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0441C230CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0441C230);

		// 機能コード--チェック＆登録
		template.set(EKK0441C230CBSMsg.FUNC_CODE, "1");

		// オプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK0441A010Hash = null;
		eKK0441A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0441A010);

		// 請求オプションサービス契約番号
		template.set(EKK0441C230CBSMsg.SEIOPSVC_KEI_NO, eKK0441A010Hash.get(EKK0441A010CBSMsg1List.SEIOPSVC_KEI_NO));

		// サービス終了年月日
// KT1-2013-0000691 2013/07/06 START
		template.set(EKK0441C230CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス課金終了年月日
		template.set(EKK0441C230CBSMsg.SVC_CHRG_ENDYMD, inHash.get(JKKKyoseiDslRunCC.SVC_CHRG_ENDYMD));

		// サービス解約年月日
// KT1-2013-0000691 2013/07/06 START
		template.set(EKK0441C230CBSMsg.SVC_DSL_YMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス解約理由コード(強制解約)
		template.set(EKK0441C230CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// 異動区分(強制解約)固定
		template.set(EKK0441C230CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK0441C230CBSMsg.UPD_DTM_BF, eKK0441A010Hash.get(EKK0441A010CBSMsg1List.LAST_UPD_DTM));

		// 申込明細番号
		template.set(EKK0441C230CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));

		// 20130307 ST2-2013-0001182 ADD START
		// 違約金発生コード(1:有)固定
		template.set(EKK0441C230CBSMsg.PNLTY_HASSEI_CD, "1");
		// 20130307 ST2-2013-0001182 ADD END
	}

	/**
	 * templateに対してEKK0441C240の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0441C240InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0441C240CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0441C240CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0441C240);

		// 機能コード--チェック＆登録
		template.set(EKK0441C240CBSMsg.FUNC_CODE, "1");

		// オプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK0441A010Hash = null;
		eKK0441A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0441A010);

		HashMap<String, Object> eKK0441C230Hash = null;
		eKK0441C230Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0441C230);

		// オプションサービス契約番号
		template.set(EKK0441C240CBSMsg.SEIOPSVC_KEI_NO, eKK0441A010Hash.get(EKK0441A010CBSMsg1List.SEIOPSVC_KEI_NO));

		// 世代登録年月日時分秒
		template.set(EKK0441C240CBSMsg.GENE_ADD_DTM, eKK0441C230Hash.get(EKK0441C230CBSMsg.GENE_ADD_DTM));

		// サービス終了年月日
// KT1-2013-0000691 2013/07/06 START
		template.set(EKK0441C240CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス課金終了年月日
		template.set(EKK0441C240CBSMsg.SVC_CHRG_ENDYMD, inHash.get(JKKKyoseiDslRunCC.SVC_CHRG_ENDYMD));

		// サービス解約年月日
// KT1-2013-0000691 2013/07/06 START
		template.set(EKK0441C240CBSMsg.SVC_DSL_YMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
// KT1-2013-0000691 2013/07/06 END

		// サービス解約理由コード
		template.set(EKK0441C240CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// 更新年月日時分秒(更新前)
		//↓↓↓2012-12-28変更　ロット２IT1内部障害398（PTバグ改修）↓↓↓
		template.set(EKK0441C240CBSMsg.UPD_DTM_BF, eKK0441C230Hash.get(EKK0441C230CBSMsg.UPD_DTM));
		//↑↑↑2012-12-28変更　ロット２IT1内部障害398（PTバグ改修）↑↑↑
	}

	/**
	 * templateに対してEKK0081B526の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK0081B526InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0081B526CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0081B526CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0081B526);

		// 機能コード（デフォルト：１）
		template.set(EKK0081B526CBSMsg.FUNC_CODE, "1");

		// 請求契約番号の設定
		template.set(EKK0081B526CBSMsg.KEY_SEIKY_KEI_NO, inHash.get(JKKKyoseiDslRunCC.SEIKY_KEI_NO));
	}

	/**
	 * 結果をHashとして抽出する
	 * @param	resultMsgs	テンプレートリスト
	 * @return				結果部分
	 */
	public HashMap<String, Object> mappingEKK0441A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		CAANMsg[] msgList = (CAANMsg[])msg.getMsgData().get(EKK0441A010CBSMsg.EKK0441A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}

	/**
	 * 結果をHashとして抽出する
	 * @param	resultMsgs	テンプレートリスト
	 * @return				結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK0081B526SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK0081B526CBSMsg.EKK0081B526CBSMSG1LIST);
		for(int i = 0 ; i < msgs.length ; i++)
		{
			retHashList.add(msgs[i].getMsgData());
		}

		return retHashList;
	}

	/**
	 * 結果をHashとして抽出する
	 * @param	resultMsgs	テンプレートリスト
	 * @return				結果部分
	 */
	public HashMap<String, Object> mappingEKK0441CSCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK2541B001の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	resultHash	設定条件
	 */
	public void mappingEKK2541B001InMsg(CAANMsg template, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2541B001CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK2541B001CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2541B001);

		// 機能コード
		template.set(EKK2541B001CBSMsg.FUNC_CODE, "1");

		// 割賦契約一覧照会（機器提供サービス契約番号）の結果取得
		HashMap<String, Object> eKK0321A010Hash = null;
		eKK0321A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0321A010);

		// ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK2541B001CBSMsg.KEY_KKTK_SVC_KEI_NO, eKK0321A010Hash.get(EKK0321A010CBSMsg1List.KKTK_SVC_KEI_NO));
	}

	/**
	 * templateに対してEKK2541C170の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK2541C170InMsg(CAANMsg template, HashMap<String, Object> inHash, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2541C170CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK2541C170CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2541C170);

		// 機能コード--チェック＆登録
		template.set(EKK2541C170CBSMsg.FUNC_CODE, "1");

		// 割賦契約一覧照会の結果取得
		HashMap<String, Object> eKK2541B001Hash = null;
		eKK2541B001Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2541B001 + "tmp");

		// 割賦契約番号
		template.set(EKK2541C170CBSMsg.KAP_KEI_NO, eKK2541B001Hash.get(EKK2541B001CBSMsg1List.KAP_KEI_NO));

		// 申込明細番号
		template.set(EKK2541C170CBSMsg.MSKM_DTL_NO, eKK2541B001Hash.get(EKK2541B001CBSMsg1List.MSKM_DTL_NO));

		// 異動区分(強制解約)固定
		template.set(EKK2541C170CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK2541C170CBSMsg.UPD_DTM_BF, eKK2541B001Hash.get(EKK2541B001CBSMsg1List.UPD_DTM));
	}

	/**
	 * 結果をHashとして抽出する
	 * @param	resultMsgs	テンプレートリスト
	 * @return				結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK2541B001SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK2541B001CBSMsg.EKK2541B001CBSMSG1LIST);
		for(int i = 0 ; i < msgs.length ; i++)
		{
			retHashList.add(msgs[i].getMsgData());
		}

		return retHashList;
	}

	/**
	 * 結果をHashとして抽出する
	 * @param	resultMsgs	テンプレートリスト
	 * @return				結果部分
	 */
	public HashMap<String, Object> mappingEKK2541C170CSCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * CAANMsg[]の結果をHashとして抽出する（一覧照会用）
	 * @param	workMapKey	テンプレートリストのマップキー
	 * @param	resultMsgs	テンプレートリスト
	 * @return				サービスＩＦ実行の結果部分(ArrayListのハッシュマップ)
	 */
	public ArrayList<HashMap<String, Object>> mappingCAANOutMsg(String workMapKey, CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(workMapKey);

		if(msgs != null)
		{
			for(int i = 0 ; i < msgs.length ; i++)
			{
				retHashList.add(msgs[i].getMsgData());
			}
		}

		return retHashList;
	}

	/**
	 * CAANMsg[]の結果をHashとして抽出する
	 * @param	resultMsgs	テンプレートリスト
	 * @return				サービスＩＦ実行の結果部分
	 */
	public HashMap<String, Object> mappingCAANOutMsgAdd(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 *<DL>
	 *<DT>処理概要:工事案件CC
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param	param			(I) 業務データ取得用I/F
	 * @param	fixedText		ユーザ任意文字列
	 * @param	workFixedText	ワーク領域
	 * @param	mskmNo			申込番号
	 * @param	mskmDtlNo		申込明細番号
	 * @param	msgEKK0081A010	サービス契約一意照会結果
	 * @return					サービスコンポーネント実行用CAANMsg
	 * @throws	RequestParameterException
	 */
	public void editMapKojiAnken(
			IRequestParameterReadWrite param, 
			String fixedText,
			String workFixedText,
			String mskmNo,
			String mskmDtlNo,
			HashMap<String, Object> eKK0081A010Hash
	) 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.KOJI_UK_CD, JKKDslRun.KOJI_UK_CD_NOT_USE);

		// 工事受付詳細コード
		outMap.put(JKKKojiAnkenConstCC.KOJI_UK_DTL_CD, JKKDslRun.KOJI_UK_DTAIL_CD_DSL);

		// SYSID
		outMap.put(JKKKojiAnkenConstCC.SYSID, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SYSID));

		// 申込番号
		outMap.put(JKKKojiAnkenConstCC.MSKM_NO, mskmNo);

		// 申込明細番号
		outMap.put(JKKKojiAnkenConstCC.MSKM_DTL_NO, mskmDtlNo);

		// サービス契約番号
		outMap.put(JKKKojiAnkenConstCC.SVC_KEI_NO, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		// 解約希望　年月日
//↓↓↓2013-07-05変更　巻取BLT-2013-0000241（オンライン日付で更新されたサービスが強制解約されない）↓↓↓
		outMap.put(JKKKojiAnkenConstCC.DSL_KIBO_YMD, oPE_DATE);
//↑↑↑2013-07-05変更　巻取BLT-2013-0000241（オンライン日付で更新されたサービスが強制解約されない）↑↑↑

		// 宅内機器情報リストを設定
		Map<String, Object> workHash = (HashMap<String, Object>)param.getData(JKKKyoseiDslRunCC.WORK_KEY);
		// IT2-2012-0002084 2012/12/14 start
		if(workHash != null)
		{
			List<Map<String, Object>> taknkikiInfoList = (ArrayList<Map<String, Object>>)workHash.get(JKKKojiAnkenConstCC.TAKNKIKI_INFO_LIST);
			if (taknkikiInfoList != null && taknkikiInfoList.size() > 0)
			{
				outMap.put(JKKKojiAnkenConstCC.TAKNKIKI_INFO_LIST, taknkikiInfoList);
			}
		}
		// IT2-2012-0002084 2012/12/14 end

		// ANK-1386-00-00 工事費算出のために工事案件スキーマへの異動区分更新 ADD START
		// 異動区分
		outMap.put(JKKKojiAnkenConstCC.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);
		// ANK-1386-00-00 工事費算出のために工事案件スキーマへの異動区分更新 ADD END
	}

	// ▼▼▼▼▼ 2012/11/22 IT2-2012-0001766 UPD START ▼▼▼▼▼
	/**
	 *<DL>
	 *<DT>処理概要:非課金判定部品のマッピング処理
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param	inMap			業務情報を保持するマップ
	 * @param	msgEKK0081A010	サービス契約一意照会結果
	 * @param	msgEKK0161A010	サービス契約内訳一意照会結果
	 * @param	msgEKK0351A010	オプションサービス契約一意照会結果
	 * @param	msgEKK0401A010	サブオプションサービス契約一意照会結果
	 * @param	dslSbtFlg		解約対象フラグ
	 * @throws	RequestParameterException
	 * @since	2011.06.07
	 */
	public HashMap<String, Object> editMapHiChrgJdgUtil(
			HashMap<String, Object> inMap,
			HashMap<String, Object> msgEKK0081A010,
			HashMap<String, Object> msgEKK0161A010,
			HashMap<String, Object> msgEKK0351A010,
			HashMap<String, Object> msgEKK0401A010,
			String dslSbtFlg
	) throws RequestParameterException 
	{
		HashMap<String, Object> workMap = new HashMap<String, Object>();
		JKKDslRunMapperCC dslRunMapper = new JKKDslRunMapperCC();

		// ▼▼▼▼▼ 2013/09/11 OM-2013-0001096 UPD START ▼▼▼▼▼
		// 解約種別に応じて、処理を変える
		// ======================================================================= //
		// サービス契約解約＆オプションサービス契約解約                            //
		// ======================================================================= //
		if(
				JKKDslRun.DSL_SBT_FLG_SVC_KEI_DSL.equals(dslSbtFlg)
				|| JKKDslRun.DSL_SBT_FLG_OP_SVC_KEI_DSL.equals(dslSbtFlg)
		)
		{
			workMap.put("svcKeiChrgEndYmd", inMap.get(JKKKyoseiDslRunCC.SVC_CHRG_ENDYMD));
		}

		// ======================================================================= //
		// オプションサービス契約解約                                              //
		// ======================================================================= //
		if(JKKDslRun.DSL_SBT_FLG_OP_SVC_KEI_DSL.equals(dslSbtFlg))
		{
			workMap.put("opSvcUseEndYmd", inMap.get(JKKKyoseiDslRunCC.REQYMD));
		}

		// ======================================================================= //
		// サブオプションサービス契約解約                                          //
		// ======================================================================= //
		if(JKKDslRun.DSL_SBT_FLG_SBOP_SVC_KEI_DSL.equals(dslSbtFlg))
		{
			workMap.put("subOpSvcUseEndYmd", inMap.get(JKKKyoseiDslRunCC.REQYMD));
		}
		// ▲▲▲▲▲ 2013/09/11 OM-2013-0001096 UPD E N D ▲▲▲▲▲

		// 解約CCマッパーの非課金判定情報設定処理を共通化
		return dslRunMapper.editMapHiChrgJdgUtil(
					inMap,
					msgEKK0081A010,
					msgEKK0161A010,
					msgEKK0351A010,
					msgEKK0401A010,
					dslSbtFlg,
					workMap
				);
	}
	// ▲▲▲▲▲ 2012/11/22 IT2-2012-0001766 UPD E N D ▲▲▲▲▲

	/**
	 * templateに対してEKK2091B001の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 */
	public void mappingEKK2091B001InMsg(CAANMsg template, String mskmNo, String svcKeiKaisenUcwkNo)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2091B001CBSMsg().getContents());

		// テンプレートID
		template.set(EKK2091B001CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2091B001);

		// 機能コード
		template.set(EKK2091B001CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿申込番号
		template.set(EKK2091B001CBSMsg.KEY_MSKM_NO, mskmNo);

		// ＫＥＹ＿移転元サービス契約回線内訳番号
		template.set(EKK2091B001CBSMsg.KEY_ITNM_SVKEI_KISUW_NO, svcKeiKaisenUcwkNo);
	}

	/**
	 * templateに対してETU0011B018の条件に関する部分を設定する
	 * @param	template			条件の設定先
	 * @param	svcKeiNo			
	 * @param	bmpMskmshoTypeCd	
	 */
	public void mappingETU0011B018InMsg(CAANMsg template, String svcKeiNo, String bmpMskmshoTypeCd)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new ETU0011B018CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(ETU0011B018CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_ETU0011B018);

		// 機能コード-- 番ポ工事一覧照会（番ポ申込書タイプ）
		template.set(ETU0011B018CBSMsg.FUNC_CODE, "1");

		// ＫＥＹ＿サービス契約番号
		template.set(ETU0011B018CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);

		// ＫＥＹ＿番ポ申込書タイプコード
		template.set(ETU0011B018CBSMsg.KEY_BMP_MSKMSHO_TYPE_CD, bmpMskmshoTypeCd);
	}

	/**
	 * ETU0011B018の結果をHashとして抽出する
	 * @param	resultMsgs	ETU0011B018のテンプレートリスト
	 * @return				ETU0011B018の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingETU0011B018SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(ETU0011B018CBSMsg.ETU0011B018CBSMSG1LIST);
		for(int i = 0 ; i < msgs.length ; i++)
		{
			retHashList.add(msgs[i].getMsgData());
		}

		return retHashList;
	}

	/**
	 * templateに対してEKK1681B001の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template		条件の設定先
	 * @param	svcKeiNo		サービス契約番号
	 */
	public void mappingEKK1681B001InMsg(CAANMsg template, String svcKeiNo)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK1681B001CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK1681B001CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK1681B001);

		// 機能コード--異動予約一覧照会
		template.set(EKK1681B001CBSMsg.FUNC_CODE, "1");

		// ＫＥＹ＿サービス契約番号
		template.set(EKK1681B001CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);

		// ＫＥＹ＿異動区分
		template.set(EKK1681B001CBSMsg.KEY_IDO_DIV, JKKStrConst.CD00576_TK_DSL);

		// ＫＥＹ＿異動予約状態コード
		template.set(EKK1681B001CBSMsg.KEY_IDO_RSV_STAT_CD, JKKSvcConst.IDO_RSV_STAT_00);
	}

	/**
	 * EKK1681B001の結果をHashとして抽出する<br>
	 * <br>
	 * @param	resultMsgs	EKK1681B001のテンプレートリスト
	 * @return				EKK1681B001の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK1681B001SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK1681B001CBSMsg.EKK1681B001CBSMSG1LIST);
		for(int i = 0 ; i < msgs.length ; i++)
		{
			retHashList.add(msgs[i].getMsgData());
		}

		return retHashList;
	}

	/**
	 * templateに対してEKK1021B003の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template		条件の設定先
	 * @param	resultHash		
	 */
	public void mappingEKK1021B003InMsg(CAANMsg template, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK1021B003CBSMsg().getContents());

		// テンプレートID
		template.set(EKK1021B003CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK1021B003);

		// 機能コード
		template.set(EKK1021B003CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		//機器提供サービス契約一意照会の結果取得
		HashMap<String, Object> eKK0341A010Hash = null;
		eKK0341A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0341A010);

		// 申込明細番号
		template.set(EKK1021B003CBSMsg.KEY_MSKM_DTL_NO, eKK0341A010Hash.get(EKK0341A010CBSMsg1List.MSKM_DTL_NO));
	}

	/**
	 * templateに対してEKK1021C010の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template		条件の設定先
	 * @param	resultHash		
	 */
	public void mappingEKK1021C010InMsg(CAANMsg template, HashMap<String, Object> resultHash)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK1021C010CBSMsg().getContents());

		// 一時金設定一覧照会の結果取得
		HashMap<String, Object> eKK1021B003Hash = null;
		eKK1021B003Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK1021B003 + "tmp");

		// テンプレートID
		template.set(EKK1021C010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK1021C010);

		// 機能コード
		template.set(EKK1021C010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 一時金設定番号
		template.set(EKK1021C010CBSMsg.ICJKN_SETTE_NO, eKK1021B003Hash.get(EKK1021B003CBSMsg1List.ICJKN_SETTE_NO));

		// 一時支払料金番号
		template.set(EKK1021C010CBSMsg.TMP_PAY_PRC_NO, eKK1021B003Hash.get(EKK1021B003CBSMsg1List.TMP_PAY_PRC_NO));

		// 一時金設定コード
		template.set(EKK1021C010CBSMsg.ICJKN_SETTE_CD, eKK1021B003Hash.get(EKK1021B003CBSMsg1List.ICJKN_SETTE_CD));

		// 一時金指定率
		template.set(EKK1021C010CBSMsg.ICJKN_SHITEI_RT, eKK1021B003Hash.get(EKK1021B003CBSMsg1List.ICJKN_SHITEI_RT));

		// 一時金指定額
		template.set(EKK1021C010CBSMsg.ICJKN_SHITEI_AMNT, eKK1021B003Hash.get(EKK1021B003CBSMsg1List.ICJKN_SHITEI_AMNT));

		// 完了状態コード(NULLを設定)
		template.setNull(EKK1021C010CBSMsg.FIN_STAT_CD);

		// 更新年月日時分秒(更新前)
		template.set(EKK1021C010CBSMsg.UPD_DTM_BF, eKK1021B003Hash.get(EKK1021B003CBSMsg1List.UPD_DTM));
	}
	
	//2013/12/14 ANK-1578-00-00 nakashima Add start
	/**
	 *<DL>
	 *<DT>処理概要:工事案件CC
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param	param			(I) 業務データ取得用I/F
	 * @param	fixedText		ユーザ任意文字列
	 * @param	workFixedText	ワーク領域
	 * @param	msgEKK0081A010	サービス契約一意照会結果
	 * @return					サービスコンポーネント実行用CAANMsg
	 * @throws	RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public void editkkopUsekkUpdCC(
				IRequestParameterReadWrite param, 
				String fixedText,
				String workFixedText,
				String svcKeiUpdDtm,
				HashMap<String, Object> inHash,
				HashMap<String, Object> resultHash)
	throws Throwable
	{
		HashMap outMap = null;

		if (param.getData(workFixedText) == null)
		{
			param.setData(workFixedText, new HashMap<String, Object>());
		}
		outMap = (HashMap)param.getData(workFixedText);

		// 対象データリスト
		ArrayList<HashMap> workArray = new ArrayList<HashMap>();

		// 機器オプションサービス利用機器契約更新マップ
		HashMap<String, Object> workMap = new HashMap<String, Object>();

		// サービス契約一意照会の結果取得
		HashMap<String, Object> eKK0081A010Hash = null;
		eKK0081A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0081A010);

		// 機器提供サービス契約一意照会の結果取得
		HashMap<String, Object> eKK0341A010Hash = null;
		eKK0341A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0341A010);

		// 機器提供サービス一意照会の結果取得
		HashMap<String, Object> eKK0771A010Hash = null;
		eKK0771A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK0771A010);
		String pnltyHasseiUm = JKKStrConst.CD_DIV_UM_NASHI;
		if (eKK0771A010Hash != null)
		{
			pnltyHasseiUm = (String)eKK0771A010Hash.get(EKK0771A010CBSMsg1List.PNLTY_HASSEI_UM);
		}

		// サービス契約番号
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_SVC_KEI_NO, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		// 異動区分(強制解約)固定
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 機器提供サービス契約番号
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_KKTK_SVC_KEI_NO, eKK0341A010Hash.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));

		// 申込明細番号
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));

		// 違約金発生コード
		if (JKKStrConst.CD_DIV_UM_ARI.equals(pnltyHasseiUm))
		{
			workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_PNLTY_HASSEI_CD, JKKStrConst.CD01375_PNLTY_HASSEI );
		}
		else
		{
			workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_PNLTY_HASSEI_CD, JKKStrConst.CD01375_PNLTY_NASHI );
		}

		// サービス終了年月日
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));

		// サービス課金終了年月日
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_SVC_CHRG_ENDYMD, inHash.get(JKKKyoseiDslRunCC.SVC_CHRG_ENDYMD));

		// 更新年月日時分秒(更新前)
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_UPD_DTM_BF, svcKeiUpdDtm);

		workArray.add(workMap);

		outMap.put("trgt_data_list", workArray);

	}
	//2013/12/14 ANK-1578-00-00 nakashima Add start

	//ANK-1988-00-00 マンション全戸一括オプション停止（ファミパ割対応） 2014/04/07 藤田 ADD START
	/**
	 * ファミリーパック割引操作部品CCに渡すデータのマッピング
	 * <br>
	 * @param param リクエストパラメータ
	 * @param workFixedText CCが参照するマップのキー
	 * @param svcKeiNo サービス契約番号
	 * @param svcDslYmd 解約起算日
	 * @param mskmDtlNo 申込明細番号
	 * @throws RequestParameterException
	 */
	public void editMapFamipaWribOperate(
			IRequestParameterReadWrite param, 
			String workFixedText,
			String svcKeiNo,
			String svcDslYmd,
			String mskmDtlNo
	) throws RequestParameterException 
	{
		HashMap outMap = null;
		if (param.getData(workFixedText) == null)
		{
			param.setData(workFixedText, new HashMap<String, Object>());
		}
		outMap = (HashMap)param.getData(workFixedText);

		// 機能コード
		outMap.put("func_cd", "1");
		// 処理区分 → "01": 解約処理
		outMap.put("action_div", "01");
		// サービス契約番号
		outMap.put("svc_kei_no", svcKeiNo);
		// 解約起算日
		outMap.put("svc_dsl_ymd", svcDslYmd);
		// 解約理由コード → "02": 強制解約
		outMap.put("svc_dlre_cd", JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);
		// キャンセル理由コード → "07": 強制解約によるキャンセル
		outMap.put("svc_cancel_cd", JKKKyoseiDslRunCC.SVC_CANCEL_RSN_CD_KYOSEI);
		// 申込明細番号
		outMap.put("mskm_dtl_no", mskmDtlNo);
		// 異動区分
		outMap.put("ido_div", JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);
	}
	//ANK-1988-00-00 マンション全戸一括オプション停止（ファミパ割対応） 2014/04/07 藤田 ADD END
	// 20140507 ANK-2054-00-00 ADD START
	/**
	 *<DL>
	 *<DT>処理概要:機器オプションサービス契約一覧照会
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param	template		条件の設定先
	 * @param	kktkSvcKeiNo	機器提供サービス契約番号
	 * @param	kktkSvcCd		機器オプションサービスコード
	 */
	public void mappingEKK2811B010InMsg(
			CAANMsg template
			,String kktkSvcKeiNo
			,String kkopSvcCd
	)
	{
		// nullを設定
		fillCAANMSGNullMapping(template, new EKK2811B010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK2811B010CBSMsg.TEMPLATEID, "EKK2811B010");

		// 機能コード（デフォルト：１）
		template.set(EKK2811B010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// IN機器提供サービス契約番号 → ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK2811B010CBSMsg.KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		
		// IN機器オプションコード → ＫＥＹ＿機器オプションコード
		template.set(EKK2811B010CBSMsg.KEY_KKOP_SVC_CD, kkopSvcCd);
		
	}
	/**
	 * EKK2811B010の結果をHashとして抽出する<br>
	 * <br>
	 * @param	resultMsgs	EKK2811B010のテンプレートリスト
	 * @return				EKK2811B010の結果部分
	 */
	public ArrayList<HashMap<String, Object>> mappingEKK2811B010SCOutMsg(CAANMsg[] resultMsgs)
	{
		ArrayList<HashMap<String, Object>> retHashList = null;
		CAANMsg[] msgs = null;

		// 結果の抽出
		retHashList = new ArrayList<HashMap<String, Object>>();
		msgs = resultMsgs[0].getCAANMsgList(EKK2811B010CBSMsg.EKK2811B010CBSMSG1LIST);
		for(int i = 0 ; i < msgs.length ; i++)
		{
			retHashList.add(msgs[i].getMsgData());
		}

		return retHashList;
	}
	
	/**
	 * templateに対してEKK2811A010の条件に関する部分を設定する
	 * @param	template		条件の設定先
	 * @param	kkopSvcKeiNo	機器オプションサービス契約番号
	 */
	public void mappingEKK2811A010InMsg(CAANMsg template, String kkopSvcKeiNo)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2811A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK2811A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2811A010);

		// 機能コード-
		template.set(EKK2811A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);

		// ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK2811A010CBSMsg.KEY_KKOP_SVC_KEI_NO, kkopSvcKeiNo);

		// ＫＥＹ＿予約適用年月日
		template.set(EKK2811A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);
	}
	
	/**
	 * EKK2811A010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK2801A010のテンプレートリスト
	 * @return				EKK2801A010の結果部分
	 */
	public HashMap<String, Object> mappingEKK2811A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK2811A010CBSMsg.EKK2811A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}
	
	/**
	 * templateに対してEKK2801A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	kkopSvcCd	機器オプションサービスコード
	 */
	public void mappingEKK2801A010InMsg(
			CAANMsg template 
			,String kkopSvcCd
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2801A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK2801A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2811A010);

		// 機能コード-
		template.set(EKK2801A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 機器オプションサービスコード
		template.set(EKK2801A010CBSMsg.KEY_KKOP_SVC_CD, kkopSvcCd);

	}
	
	/**
	 * EKK2801A010の結果をHashとして抽出する
	 * @param	resultMsgs	EKK2801A010のテンプレートリスト
	 * @return				EKK2801A010の結果部分
	 */
	public HashMap<String, Object> mappingEKK2801A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EKK2801A010CBSMsg.EKK2801A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}
	
	/**
	 * templateに対してEKK2811C110の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK2811C110InMsg(
			CAANMsg template
			,HashMap<String, Object> inHash
			,HashMap<String, Object> resultHash
			,String svcKeiUpdDtm
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2811C110CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK2811C110CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2811C110);

		// 機能コード--チェック＆登録
		template.set(EKK2811C110CBSMsg.FUNC_CODE, "1");
		
		// 機器オプションサービス契約一意照会の結果取得
		// IT1-2014-0000139 CHG START
//		HashMap<String, Object> eKK2811C110Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2811C110);
		HashMap<String, Object> eKK2811A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2811A010);
		// IT1-2014-0000139 CHG END
		
		// 機器オプションサービス契約番号
		// IT1-2014-0000139 CHG START
//		template.set(EKK2811C110CBSMsg.KKOP_SVC_KEI_NO, eKK2811C110Hash.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
		template.set(EKK2811C110CBSMsg.KKOP_SVC_KEI_NO, eKK2811A010Hash.get(EKK2811A010CBSMsg1List.KKOP_SVC_KEI_NO));
		// IT1-2014-0000139 CHG END
		
		// サービスキャンセル理由コード(強制解約)固定
		template.set(EKK2811C110CBSMsg.SVC_CANCEL_RSN_CD, JKKKyoseiDslRunCC.SVC_CANCEL_RSN_CD_KYOSEI);

		// 異動区分(強制解約)固定
		template.set(EKK2811C110CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK2811C110CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);

		// 申込明細番号
		template.set(EKK2811C110CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));
	}

	/**
	 * EKK2811C110の結果をHashとして抽出する
	 * @param	resultMsgs	EKK2811C110のテンプレートリスト
	 * @return				EKK2811C110の結果部分
	 */
	public HashMap<String, Object> mappingEKK2811C110SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}
	
	/**
	 * templateに対してEKK2811C140の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK2811C140InMsg(
			CAANMsg template
			,HashMap<String, Object> inHash
			,HashMap<String, Object> resultHash
			,String svcKeiUpdDtm
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2811C140CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK2811C140CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2811C140);

		// 機能コード--チェック＆登録
		template.set(EKK2811C140CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 機器オプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK2811A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2811A010);

		// 機器オプションサービス一意照会の結果取得
		HashMap<String, Object> eKK2801A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2801A010);
		
		// 機器オプションサービス非課金判定処理結果取得
		HashMap<String, Object> kkopHiChrgJdgHash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.MAP_KEY_JKKKKOPHICHRGJDG);

		// 機器オプションサービス契約番号
		template.set(EKK2811C140CBSMsg.KKOP_SVC_KEI_NO, eKK2811A010Hash.get(EKK2811A010CBSMsg1List.KKOP_SVC_KEI_NO));
		
		// 申込明細番号
		template.set(EKK2811C140CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));
		
		// 予約適用開始希望年月日
		template.set(EKK2811C140CBSMsg.RSV_TSTA_KIBO_YMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
		
		// サービス終了年月日
		template.set(EKK2811C140CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
		
		// サービス課金終了年月日
		template.set(EKK2811C140CBSMsg.SVC_CHRG_ENDYMD, (String)kkopHiChrgJdgHash.get(JKKKkopHiChrgJdgConstCC.KKOP_SVC_CHRG_ENDYMD));
		
		// サービス解約理由コード(強制解約)固定
		template.set(EKK2811C140CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// 異動区分(強制解約)固定
		template.set(EKK2811C140CBSMsg.IDO_DIV, JKKKyoseiDslRunCC.IDO_DIV_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK2811C140CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
		
		// 違約金発生コード
		String pnltyHasseiUm = JKKStrConst.CD_DIV_UM_NASHI;
		if (eKK2801A010Hash != null)
		{
			pnltyHasseiUm = (String)eKK2801A010Hash.get(EKK0771A010CBSMsg1List.PNLTY_HASSEI_UM);
		}
		if (JKKStrConst.CD_DIV_UM_ARI.equals(pnltyHasseiUm))
		{
			template.set(EKK2811C140CBSMsg.PNLTY_HASSEI_CD, JKKStrConst.CD01375_PNLTY_HASSEI);
		}
		else
		{
			template.set(EKK2811C140CBSMsg.PNLTY_HASSEI_CD, JKKStrConst.CD01375_PNLTY_NASHI);
		}

	}

	/**
	 * EKK2811C140の結果をHashとして抽出する
	 * @param	resultMsgs	EKK2811C110のテンプレートリスト
	 * @return				EKK2811C110の結果部分
	 */
	public HashMap<String, Object> mappingEKK2811C140SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}
	
	/**
	 * templateに対してEKK2811C150の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEKK2811C150InMsg(
			CAANMsg template
			,HashMap<String, Object> inHash
			,HashMap<String, Object> resultHash
			,String svcKeiUpdDtm
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2811C150CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK2811C150CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2811C150);

		// 機能コード--チェック＆登録
		template.set(EKK2811C150CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);
		
		// 機器オプションサービス契約一意照会の結果取得
		HashMap<String, Object> eKK2811A010Hash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.TEMPLATE_ID_EKK2811A010);
		
		// 機器オプションサービス非課金判定処理結果取得
		HashMap<String, Object> kkopHiChrgJdgHash = (HashMap<String, Object>)resultHash.get(JKKKyoseiDslRunCC.MAP_KEY_JKKKKOPHICHRGJDG);
		
		// 機器オプションサービス契約番号
		template.set(EKK2811C150CBSMsg.KKOP_SVC_KEI_NO, eKK2811A010Hash.get(EKK2811A010CBSMsg1List.KKOP_SVC_KEI_NO));
		
		// 申込明細番号
		template.set(EKK2811C150CBSMsg.MSKM_DTL_NO, inHash.get(JKKKyoseiDslRunCC.MSKM_DTL_NO));
		
		// サービス終了年月日
		template.set(EKK2811C150CBSMsg.SVC_ENDYMD, inHash.get(JKKKyoseiDslRunCC.REQYMD));
		
		// サービス課金終了年月日
		template.set(EKK2811C150CBSMsg.SVC_CHRG_ENDYMD, (String)kkopHiChrgJdgHash.get(JKKKkopHiChrgJdgConstCC.KKOP_SVC_CHRG_ENDYMD));
		
		// サービス解約理由コード(強制解約)固定
		template.set(EKK2811C150CBSMsg.SVC_DLRE_CD, JKKKyoseiDslRunCC.SVC_DLRE_CD_KYOSEI);

		// 更新年月日時分秒(更新前)
		template.set(EKK2811C150CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
		
		// 解約時課金
		template.set(EKK2811C150CBSMsg.DSL_JI_CHRG, (String)kkopHiChrgJdgHash.get(JKKKkopHiChrgJdgConstCC.DSLJI_CHRG_FLG));

	}

	/**
	 * EKK2811C150の結果をHashとして抽出する
	 * @param	resultMsgs	EKK2811C140のテンプレートリスト
	 * @return				EKK2811C140の結果部分
	 */
	public HashMap<String, Object> mappingEKK2811C150SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	// 20140507 ANK-2054-00-00 ADD END
	// ANK-3949-00-00 ADD START
	/**
	 *<DL>
	 *<DT>処理概要:
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param adchgNo 住所変更番号
	 * @return サービスコンポーネント実行用CAANMsg
	 * @since 2012.12.05
	 */
	@SuppressWarnings("unchecked")
	public void setNetflixCC(IRequestParameterReadWrite param, String svcKeiNo)
	throws Throwable 
	{
		
		HashMap targetMap = null;

		// ユーザデータ情報
		targetMap = (HashMap)param.getData("NETFLIXCC");
		if (null == targetMap)
		{
			targetMap = new HashMap<String, Object>();
			param.setData("NETFLIXCC", targetMap);
		}
		else
		{
			targetMap.clear();
		}
		
		// サービス契約番号
		targetMap.put("svc_kei_no", (String) svcKeiNo);

		// 処理区分
		targetMap.put("syori_kbn", "01"); // 01：解約・強制解約・キャンセル
		
		
	}
	// ANK-3949-00-00 ADD END
	
	// ANK-4494-00-00 ADD START
	/**
	 * templateに対してEZM0121A010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingEZM0121A010InMsg(CAANMsg template, String telNo)
	{
		// nullを設定
		fillCAANMSGNullMapping(template, new EZM0121A010CBSMsg().getContents());

		// テンプレートID
		template.set(EZM0121A010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EZM0121A010);

		// 機能コード（デフォルト：１）
		template.set(EZM0121A010CBSMsg.FUNC_CODE, "1");

		// 電話番号の設定
		template.set(EZM0121A010CBSMsg.KEY_TELNO, telNo);
	}
	
	
	/**
	 * EZM0121A010の結果をHashとして抽出する
	 * @param	resultMsgs	EZM0121A010のテンプレートリスト
	 * @return				EZM0121A010の結果部分
	 */
	public HashMap<String, Object> mappingEZM0121A010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(EZM0121A010CBSMsg.EZM0121A010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}
	
	/**
	 * templateに対してEZM0121C010の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template		条件の設定先
	 * @param	resultHash		
	 */
	public void mappingEZM0121C010InMsg(CAANMsg template, HashMap<String, Object> resultHash, String kojinHojinTlnTaiCd, HashMap<String, Object> eZM0121A010HashList)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EZM0121C010CBSMsg().getContents());


		// テンプレートID
		template.set(EZM0121C010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_EZM0121C010);

		// 機能コード
		template.set(EZM0121C010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 電話番号
		template.set(EZM0121C010CBSMsg.TELNO, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.TELNO));

		// 局番
		template.set(EZM0121C010CBSMsg.KYOKU_NO, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.KYOKU_NO));

		// 番号コード
		template.set(EZM0121C010CBSMsg.NO_CD, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.NO_CD));

		// 割当通信事業者コード
		template.set(EZM0121C010CBSMsg.WARIATE_TSJGS_CD, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.WARIATE_TSJGS_CD));

		// 使用通信事業者コード
		template.set(EZM0121C010CBSMsg.USE_TSJGS_CD, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.USE_TSJGS_CD));

		// サービス区分
		template.set(EZM0121C010CBSMsg.SVC_DIV, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.SVC_DIV));

		// 引当制約種別コード
		template.set(EZM0121C010CBSMsg.HKAT_SIYK_SBT_CD, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.HKAT_SIYK_SBT_CD));

		// 引当制約設定年月日時分秒
		template.set(EZM0121C010CBSMsg.HKAT_SIYK_SET_DTM, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.HKAT_SIYK_SET_DTM));

		// 電話番号説明
		template.set(EZM0121C010CBSMsg.TLN_SETMEI, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.TLN_SETMEI));

		
		// 個人法人電話番号帯コード
		template.set(EZM0121C010CBSMsg.KOJIN_HOJIN_TLN_TAI_CD, kojinHojinTlnTaiCd);

		// Ｃ５サーバ号機識別コード
		template.set(EZM0121C010CBSMsg.C5_SERVER_GOKI_SKBT_CD, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.C5_SERVER_GOKI_SKBT_CD));

		// 電話番号適用開始年月日
		template.set(EZM0121C010CBSMsg.TELNO_TSTAYMD, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.TELNO_TSTAYMD));

		// 電話番号適用終了年月日
		template.set(EZM0121C010CBSMsg.TELNO_TENDYMD, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.TELNO_TENDYMD));

		// ＮＲＮ番号
		template.set(EZM0121C010CBSMsg.NRN_NO, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.NRN_NO));

		// 初回割当年月日
		template.set(EZM0121C010CBSMsg.FIRST_WARIATE_YMD, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.FIRST_WARIATE_YMD));

		// 更新年月日時分秒(更新前)
		template.set(EZM0121C010CBSMsg.LAST_UPD_DTM_BF, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.UPD_DTM));
		// 初期個人法人電話番号帯コード
		template.set(EZM0121C010CBSMsg.SHK_KOJIN_HOJIN_TLN_TAI_CD, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.SHK_KOJIN_HOJIN_TLN_TAI_CD));

		// 電話番号取得通信事業者コード
		template.set(EZM0121C010CBSMsg.TLN_STKU_TSJGS_CD, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.TLN_STKU_TSJGS_CD));

		// 移転元通信事業者コード
		template.set(EZM0121C010CBSMsg.ITNM_TSJGS_CD, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.ITNM_TSJGS_CD));

		// 移転先通信事業者コード
		template.set(EZM0121C010CBSMsg.ITNS_TSJGS_CD, eZM0121A010HashList.get(EZM0121A010CBSMsg1List.ITNS_TSJGS_CD));

	}
	// ANK-4494-00-00 ADD END
	// ANK-4685-00-00 ADD START
	/**
	 * templateに対してETU0051B010の条件に関する部分を設定する
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 */
	public void mappingETU0051B010InMsg(CAANMsg template)
	{
		// nullを設定
		fillCAANMSGNullMapping(template, new ETU0051B010CBSMsg().getContents());

		// テンプレートID
		template.set(ETU0051B010CBSMsg.TEMPLATEID, JKKKyoseiDslRunCC.TEMPLATE_ID_ETU0051B010);

		// 機能コード（デフォルト：１）
		template.set(ETU0051B010CBSMsg.FUNC_CODE, "1");
		
		// 検索処理パターン
		template.set(ETU0051B010CBSMsg.SEARCH_TYPE, "1");
		
		// 最大検索件数
		template.set(ETU0051B010CBSMsg.MAX_SEARCH_NUM, "100");
		
		// ＫＥＹ＿自社他社フラグ
		template.set(ETU0051B010CBSMsg.KEY_JISHA_TASHA_FLG, JKKStrConst.CD00189_JISHA);
	}
	
	
	/**
	 * ETU0051B010の結果をHashとして抽出する
	 * @param	resultMsgs	ETU0051B010のテンプレートリスト
	 * @return				ETU0051B010の結果部分
	 */
	public HashMap<String, Object> mappingETU0051B010SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;
		CAANMsg[] msgList = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		msgList = (CAANMsg[])msg.getMsgData().get(ETU0051B010CBSMsg.ETU0051B010CBSMSG1LIST);
		retHash = msgList[0].getMsgData();

		return retHash;
	}
	// ANK-4685-00-00 ADD END
}
