/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom, 2011
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム
 *   モジュール名    ：JKKCancelSvcKeiMapperCC
 *   ソースファイル名：JKKCancelSvcKeiMapperCC.java
 *   作成者          ：富士通
 *   日付            ：2011年09月29日
 *＜機能概要＞
 *   サービス契約キャンセル実行CCで使用するマッパークラスです。
 *＜修正履歴＞
 *   バージョン        修正日       修正者      修正内容
 *   v1.00.00          2013/04/15   FJ）        新規作成
 *   v8.00.00          2014/03/27   FJ）藤本    【OM-2013-0002656】対応履歴情報に「テスト用全機能利用権限者」と登録される
 *   v8.01.00          2014/04/24   FJ）藤本    【OM-2014-0001140】照査取消後にID通知書が出力されない
 *   v9.00.00          2014/05/02   FJ) 齋藤    【ANK-2056-00-00】光電話セレクトオプションパック
 *   v9.00.01          2014/04/16   FJ)江藤     【ANK-2054-00-00】スマートリンク端末補償
 *   v9.02.00          2014/05/09   FJ) 藤田    【IT1-2014-0000120】 光電話セレクトオプションパック解約時の課金区分誤り
 *   v9.03.00          2014/06/12   FJ) 寺田    【ANK-2095-00-00】【Ｎｏ．１４５９】タブレット誤出荷対応
 *  v10.01.00          2014/07/25   FJ)北谷     【ANK-2138-00-00】スマリン端末のトムソンケース同梱
 *  v10.02.00          2014/09/29   FJ)北谷     【IT1-2014-0000315】クレードル一体のタブレットの対応
 *  v11.00.00          2014/12/24   FJ)中野     【OM-2014-0003778】工事連携契約キャンセルからの呼出で電話単独チェックにかかってしまう。
 *  v22.00.00          2016/01/13   FJ)清水     【ANK-2293-00-00】対応 モバイルセット割が外れない
 *  v47.00.00          2019/12/02   FJ)谷川     【ANK-3732-00-00】【OPMS再構築フォロー】住変確定後の工事取消取込対応
 *  v47.00.01          2019/12/16   FJ)谷川     【IT1-2019-0000085】工事案件取消エラー対応
 *  v72.00.00          2024/12/10   FJ)星野     【ANK-4494-00-00】【eo定期】双方向番ポ対応_STEP2
 *  v74.00.00          2025/02/17   FJ)森下     【ANK-4592-00-00】テレビ新コース（スカパー用）導入対応
 *  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.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.JKKAddBmpTaiorrkiConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKDslRunConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKKojiAnkenConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKSvkeiShosaClConstCC;
import com.fujitsu.futurity.bp.x21.bpm.db.SessionHandle;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadOnly;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.common.x01.sc.SCControlMapKeys;
import com.fujitsu.futurity.mapping.bp.common.TemplateErrorUtil;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.common.JCMAPLConstMgr;

import eo.common.constant.JKKStrConst;
import eo.common.constant.JPCModelConstant;
import eo.ejb.cbs.cbsmsg.*;



/**
 * サービス契約キャンセル実行CCクラス
 * @author 富士通
 */
@SuppressWarnings("unchecked")
public class JKKCancelSvcKeiMapperCC extends AbstractCommonComponent 
{
	/**************************************************************************/
	/** 呼び出しパターン番号                                                 **/
	/**************************************************************************/
	/** 呼び出しパターン番号 4 （ 現在は「サービス契約更新画面」のみ） */
	private static final String CALL_PTN_NO_4 = "4";

	/**************************************************************************/
	/** 機能コード                                                           **/
	/**************************************************************************/
	/** 機能コード 1 */
	private static final String FUNC_CODE_ONE = JPCModelConstant.FUNC_CD_1;
	/** 機能コード 2 */
	private static final String FUNC_CODE_TWO = JPCModelConstant.FUNC_CD_2;

	/**************************************************************************/
	/** 申込種別コード                                                       **/
	/**************************************************************************/
	/** キャンセル */
	private static final String MKSBT_CD_CANCEL = "00006";

	/**************************************************************************/
	/** 異動区分                                                             **/
	/**************************************************************************/
	/** 解約 */
	private static final String IDO_KBN_DSL      = "00005";
	/** キャンセル */
	private static final String IDO_KBN_CANCEL   = "00008";
	/** 住所変更・登録 */
	private static final String IDO_KBN_ADCHGADD = "00019";

	/**************************************************************************/
	/** 異動理由コード                                                       **/
	/**************************************************************************/
	/** その他 */
	private static final String IDO_RSN_CD_56 = "56";

	// ▼▼▼▼▼LT-2013-0000381 2013/07/11 工事取消キャンセルにて工事案件中止理由コードが設定されない ADD START▼▼▼▼▼
	/** 宅内NG等工事都合NG */
	private static final String IDO_RSN_CD_E9 = "E9";
	// ▲▲▲▲▲LT-2013-0000381 2013/07/11 工事取消キャンセルにて工事案件中止理由コードが設定されない ADD END  ▲▲▲▲▲

	/**************************************************************************/
	/** サービス解約理由コード                                               **/
	/**************************************************************************/
	/** キャンセルによる解約 */
	private static final String SVC_DLRE_CD_CANCEL = "03"; 

	//▼▼▼▼▼ LT-2013-0000447 2013/07/13 割引CCに渡すパラメータが不正 ADD START ▼▼▼▼▼
	/** 通常解約 */
	private static final String SVC_DLRE_CD_NORMAL = "01"; 
	//▲▲▲▲▲ LT-2013-0000447 2013/07/13 割引CCに渡すパラメータが不正 ADD END   ▲▲▲▲▲
	
	/**************************************************************************/
	/** 工事受付コード                                                       **/
	/**************************************************************************/
	/** 工事受付コード 回線使わなくなる **/
	private static final String KOJIUKCD_KOJIDNTUSE = "002";
	/** 工事受付コード 内容変更 **/
	private static final String KOJIUKCD_NAIYO_CHG  = "070";

	/**************************************************************************/
	/** 工事受付詳細コード                                                   **/
	/**************************************************************************/
	/** 工事受付詳細コード 取消 **/
	private static final String KOJI_UK_DTL_CD_CANSEL       = "C0";
	/** 工事受付詳細コード 解約(回線残す) */
	private static final String KOJI_UK_DTL_CD_DSL_KISN_ZAN = "21";
	/** 工事受付詳細コード 機器情報変える */
	private static final String KOJI_UK_DTL_CD_KKIF_CHG     = "A6";

	/**************************************************************************/
	/** 申込明細ステータス                                                   **/
	/**************************************************************************/
	/** 申込明細ステータス：キャンセル済 */
	private static final String MSKM_DTL_STAT_CANCEL_ZM = "920";

	//▼▼▼▼▼ LT-2013-0000447 2013/07/13 割引CCに渡すパラメータが不正 ADD START ▼▼▼▼▼
	/**************************************************************************/
	/** サービス契約ステータス                                                   **/
	/**************************************************************************/

	/** サービス契約ステータス：締結済 */
	private static final String SVC_KEI_STAT_CNC_ZM = "030";

//IT1-2019-0000085 ADD START
	/** サービス契約ステータス：サービス提供中 */
	private static final String SVC_KEI_STAT_SVCTK_CHU = JKKStrConst.CD00037_SVCTK_CHU;
	
	/** サービス契約ステータス：休止・中断中 */
	private static final String SVC_KEI_STAT_STAT_PAUSE = JKKStrConst.CD00037_STAT_PAUSE;
	
	/** サービス契約ステータス：停止中 */
	private static final String SVC_KEI_STAT_STAT_STP = JKKStrConst.CD00037_STAT_STP;
//IT1-2019-0000085 ADD END

	/** サービス契約ステータス：解約済 */
	private static final String SVC_KEI_STAT_DSL_ZM = "910";

	/** サービス契約ステータス：キャンセル済 */
	private static final String SVC_KEI_STAT_CANCEL_ZM = "920";

	//▲▲▲▲▲ LT-2013-0000447 2013/07/13 割引CCに渡すパラメータが不正 ADD END   ▲▲▲▲▲

//ANK-3732-00-00 ADD START
	/**************************************************************************/
	/** 予約適用コード                                                       **/
	/**************************************************************************/
	/** 予約適用コード：予約取消*/
	private static final String RSV_APLY_CD_RSV_CL = "3";
//ANK-3732-00-00 ADD END

	/**************************************************************************/
	/** テンプレートＩＤ                                                     **/
	/**************************************************************************/
	/** サービス契約一意照会 **/
	private static final String TEMPLATE_ID_EKK0081A010 = "EKK0081A010";
	/** 機器提供サービス一意照会 */
	private static final String TEMPLATE_ID_EKK0771A010 = "EKK0771A010";
	/** 割賦契約一覧照会（機器提供サービス契約番号） */
	private static final String TEMPLATE_ID_EKK2541B001 = "EKK2541B001";
	/** 割賦契約キャンセル */
	private static final String TEMPLATE_ID_EKK2541C170 = "EKK2541C170";
	/**  */
	private static final String TEMPLATE_ID_EKK1021B003 = "EKK1021B003";
	/**  */
	private static final String TEMPLATE_ID_EKK1021C010 = "EKK1021C010";
	// LT-2013-0000163 2013/07/10 ADD START 割賦のステータスにより処理を切り分け
	/** 割賦契約解約 */
	private static final String TEMPLATE_ID_EKK2541C190 = "EKK2541C190";
	/** 割賦契約情報変更 */
	private static final String TEMPLATE_ID_EKK2541C080 = "EKK2541C080";
	// LT-2013-0000163 2013/07/10 ADD END 割賦のステータスにより処理を切り分け
// 20140612 ANK-2095-00-00 Add Start
	/** 機器提供サービス契約情報更新 */
	private static final String TEMPLATE_ID_EKK0341C230 = "EKK0341C230";
// 20140612 ANK-2095-00-00 Add End
//ANK-3732-00-00 ADD START
	/** 機器提供サービス契約一覧照会（サービス契約番号） */
	private static final String TEMPLATE_ID_EKK0341B002 = "EKK0341B002";
	/** 機器提供サービス契約機器変更手続中止 */
	private static final String TEMPLATE_ID_EKK0341C540 = "EKK0341C540";
	/** 機器提供サービス契約料金コース変更中止 */
	private static final String TEMPLATE_ID_EKK0341C170 = "EKK0341C170";
//ANK-3732-00-00 ADD END

	/**************************************************************************/
	/** 番ポキャンセル通知                                                   **/
	/**************************************************************************/
	private static final String CANCEL_TCHI = "02";

	/** ----- VLANオーダ受付パラメータ ----- */
	/** VLANオーダコード */
	private static final String VLAN_ORDER_CD_VLAN = "01";
	/** 要求種別コード */
	private static final String YOKYU_SBT_CD_DSL = "03";
	/** VLANサーバコード (固定１)*/
	private static final String VLAN_SERVER_CD = "1";

	/** 運用日付 */
	private String oPE_DATE = "";
	/** 運用日時 */
	private String oPE_DATE_TIME = "";

	/** サービス契約排他制御 更新年月日時分秒 */
	private String svcKeiUpdDtm = "";

	/** 請求契約 更新年月日時分秒 */
	private String seikyKeiUpdDtm = "";

	/** お客様排他制御　項新年月日時分秒 */
	private String custUpdDtm = "";

	/** 対象のサービス契約ステータスが受付済かどうかのフラグ **/
	private boolean isTrgtSvcStatUk = false;

	// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 START
	/** 工事受付コード 内容変更 **/
	public static final String KOJI_UK_CD_NAIYO_CHANGE = "070";

	/** 工事受付詳細コード 機器情報変える */
	public static final String KOJI_UK_DTAIL_CD_KIKI_INFO_CHANGE = "A6";
	// ANK-2138-00-00 スマリン端末のトムソンケース同梱 2014/08/02 END

	// ▼▼▼▼▼ OM-2014-0003778 2014/12/24 ADD START ▼▼▼▼▼
	// 工事連携契約キャンセルからの呼出かを判断(工事連携契約キャンセルからの場合は電話単独チェックを行わない)
	/** バッチのときのオペレータID*/
	private static final String BATSERVICE = "BATSERVICE";
	// ▲▲▲▲▲ OM-2014-0003778 2014/12/24 ADD END ▲▲▲▲▲	

	// ANK-4592-00-00 ADD START
	/** 作業マップ名 */
	private static final String CC_WORK_SPTVDSL_STP_PAUSE = "JKKSptvDslStpPause";
	
	/** 処理コード 解約・停止・休止 */
	private static final String SHORI_CD_DSL_STP_PAUSE = "4";
	
	/** 操作区分 休止  */
	private static final String OPE_DIV_KAIYAKU = "1";
	// ANK-4592-00-00 ADD END
	
	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	public HashMap<String, Object> editInMsg(
			IRequestParameterReadOnly param,
			String fixedText,
			HashMap<String, Object> inHash
	) throws RequestParameterException
	{
		HashMap<String, Object> paramMap = null;

		// サービスIF共通の情報を設定
		paramMap = editInMsgCmn(param);
		// サービス契約一意照会のマッピング
		CAANMsg template = new CAANMsg(EKK0081A010CBSMsg.class.getName());

		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0081A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0081A010CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0081A010);

		// 機能コード--サービス契約一意照会
		template.set(EKK0081A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0081A010CBSMsg.KEY_SVC_KEI_NO, inHash.get(JKKCancelSvcKeiCC.REQ_PARAM_SVC_KEI_NO));

		// ＫＥＹ＿予約適用年月日
		template.set(EKK0081A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);

		editBasicCmn(param, template);

		// リクエスト用クラスの設定
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, new CAANMsg[]{template});

		return paramMap;
	}


	/**
	 * templateに対してEKK0081A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingEKK0081A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0081A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0081A010CBSMsg.TEMPLATEID, "EKK0081A010");

		//機能コード--サービス契約一意照会
		template.set(EKK0081A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0081A010CBSMsg.KEY_SVC_KEI_NO, inHash.get(JKKCancelSvcKeiCC.REQ_PARAM_SVC_KEI_NO));

		//ＫＥＹ＿予約適用年月日
		template.set(EKK0081A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);
	}

	/**
	 * templateに対してEKK0161B004SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingEKK0161B004SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0161B004CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0161B004CBSMsg.TEMPLATEID, "EKK0161B004");

		//機能コード--サービス契約内訳一覧照会
		template.set(EKK0161B004CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0161B004CBSMsg.KEY_SVC_KEI_NO, inHash.get(JKKCancelSvcKeiCC.REQ_PARAM_SVC_KEI_NO));
	}

	/**
	 * templateに対してEKK0161A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingEKK0161A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0161A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0161A010CBSMsg.TEMPLATEID, "EKK0161A010");

		//機能コード--サービス契約一意照会
		template.set(EKK0161A010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0161A010CBSMsg.KEY_SVC_KEI_UCWK_NO, inHash.get(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO));

		//ＫＥＹ＿世代登録年月日時分秒
		template.set(EKK0161A010CBSMsg.KEY_GENE_ADD_DTM, inHash.get(EKK0161B004CBSMsg1List.GENE_ADD_DTM));
	}

	/**
	 * templateに対してEKK0171A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingEKK0171A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0171A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0171A010CBSMsg.TEMPLATEID, "EKK0171A010");

		//機能コード--サービス契約一意照会
		template.set(EKK0171A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0171A010CBSMsg.KEY_SVC_KEI_UCWK_NO, inHash.get(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO));

		//ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.set(EKK0171A010CBSMsg.KEY_GENE_ADD_DTM, inHash.get(EKK0161B004CBSMsg1List.GENE_ADD_DTM));
	}

	/**
	 * templateに対してEKK0191A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingEKK0191A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0191A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0191A010CBSMsg.TEMPLATEID, "EKK0191A010");

		//機能コード--サービス契約一意照会
		template.set(EKK0191A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0191A010CBSMsg.KEY_SVC_KEI_UCWK_NO, inHash.get(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO));

		//ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.set(EKK0191A010CBSMsg.KEY_GENE_ADD_DTM, inHash.get(EKK0161B004CBSMsg1List.GENE_ADD_DTM));
	}

	/**
	 * templateに対してEKK0351B010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingEKK0351B010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0351B010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0351B010CBSMsg.TEMPLATEID, "EKK0351B010");

		//機能コード-オプションサービス契約一覧照会（カレント）
		template.set(EKK0351B010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0351B010CBSMsg.KEY_SVC_KEI_NO, inHash.get(JKKCancelSvcKeiCC.REQ_PARAM_SVC_KEI_NO));
	}

	/**
	 * templateに対してEKK0351A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingEKK0351A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0351A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0351A010CBSMsg.TEMPLATEID, "EKK0351A010");

		//機能コード-オプションサービス契約一覧照会（カレント）
		template.set(EKK0351A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0351A010CBSMsg.KEY_OP_SVC_KEI_NO, inHash.get(EKK0351B010CBSMsg1List.OP_SVC_KEI_NO));

		//ＫＥＹ＿予約適用年月日
		template.set(EKK0351A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);
	}



	/**
	 * templateに対してEKK0361A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingEKK0361A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0361A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0361A010CBSMsg.TEMPLATEID, "EKK0361A010");

		//機能コード-オプションサービス契約一覧照会（カレント）
		template.set(EKK0361A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0361A010CBSMsg.KEY_OP_SVC_KEI_NO, inHash.get(EKK0351A010CBSMsg1List.OP_SVC_KEI_NO));
	}

	/**
	 * templateに対してEKK0371A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingEKK0371A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0371A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0371A010CBSMsg.TEMPLATEID, "EKK0371A010");

		//機能コード-オプションサービス契約一覧照会（カレント）
		template.set(EKK0371A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0371A010CBSMsg.KEY_OP_SVC_KEI_NO, inHash.get(EKK0351A010CBSMsg1List.OP_SVC_KEI_NO));

		//ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.set(EKK0371A010CBSMsg.KEY_GENE_ADD_DTM,  inHash.get(EKK0351A010CBSMsg1List.GENE_ADD_DTM));
	}

	/**
	 * templateに対してEKK0401B001SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingEKK0401B001SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0401B001CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0401B001CBSMsg.TEMPLATEID, "EKK0401B001");

		//機能コード-オプションサービス契約一覧照会（カレント）
		template.set(EKK0401B001CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0401B001CBSMsg.KEY_OP_SVC_KEI_NO, inHash.get(EKK0351A010CBSMsg1List.OP_SVC_KEI_NO));
	}

	/**
	 * templateに対してEKK0401A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingEKK0401A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0401A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0401A010CBSMsg.TEMPLATEID, "EKK0401A010");

		//機能コード-オプションサービス契約一覧照会（カレント）
		template.set(EKK0401A010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0401A010CBSMsg.KEY_OP_SVC_KEI_NO, inHash.get(EKK0401B001CBSMsg1List.OP_SVC_KEI_NO));

		//ＫＥＹ＿サブオプションサービス契約番号
		template.set(EKK0401A010CBSMsg.KEY_SBOP_SVC_KEI_NO, inHash.get(EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO));

		//ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.set(EKK0401A010CBSMsg.KEY_GENE_ADD_DTM,  inHash.get(EKK0401B001CBSMsg1List.GENE_ADD_DTM));
	}


	/**
	 * templateに対してEKK0411A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingEKK0411A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0411A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0411A010CBSMsg.TEMPLATEID, "EKK0411A010");

		//機能コード-オプションサービス契約一覧照会（カレント）
		template.set(EKK0411A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0411A010CBSMsg.KEY_OP_SVC_KEI_NO, inHash.get(EKK0401B001CBSMsg1List.OP_SVC_KEI_NO));

		//ＫＥＹ＿サブオプションサービス契約番号
		template.set(EKK0411A010CBSMsg.KEY_SBOP_SVC_KEI_NO, inHash.get(EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO));

		//ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.set(EKK0411A010CBSMsg.KEY_GENE_ADD_DTM,  inHash.get(EKK0401B001CBSMsg1List.GENE_ADD_DTM));
	}

	/**
	 * templateに対してECK0141B005SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	csvMlad		
	 * @param	inHash		条件用Hash (サービス契約一意照会の結果)
	 * @return
	 */
	public void mappingECK0141B005SCInMsg(
			CAANMsg template,
			String csvMlad,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new ECK0141B005CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(ECK0141B005CBSMsg.TEMPLATEID, "ECK0141B003");

		//機能コード-オプションサービス契約一覧照会（カレント）
		template.set(ECK0141B005CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿ＳＹＳＩＤ
		template.set(ECK0141B005CBSMsg.KEY_SYSID, inHash.get(EKK0081A010CBSMsg1List.SYSID));

		//ＫＥＹ＿メール
		template.set(ECK0141B005CBSMsg.KEY_MLAD, csvMlad);
	}

	/**
	 * templateに対してETU0081B010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappingETU0081B010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new ETU0081B010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(ETU0081B010CBSMsg.TEMPLATEID, "ETU0081B010");

		//機能コード-オプションサービス契約一覧照会（カレント）
		template.set(ETU0081B010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//2011-11-28追加開始
		template.set(ETU0081B010CBSMsg.SEARCH_TYPE, JPCModelConstant.SAERCH_TYPE_BBN);		//検索タイプ
		template.set(ETU0081B010CBSMsg.MAX_SEARCH_NUM,   "10000000");						//最大検索件数
		template.set(ETU0081B010CBSMsg.DISPLAY_NUM,      "10000000");						//表示件数
		template.set(ETU0081B010CBSMsg.DISPLAY_PAGE_NUM, "1");								//表示ページ番号

		//ＫＥＹ＿サービス契約番号
		template.set(ETU0081B010CBSMsg.KEY_SVC_KEI_NO, inHash.get(JKKCancelSvcKeiCC.REQ_PARAM_SVC_KEI_NO));
	}

	/**
	 * templateに対してETU0091A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappingETU0091A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new ETU0091A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(ETU0091A010CBSMsg.TEMPLATEID, "ETU0091A010");

		//機能コード-オプションサービス契約一覧照会（カレント）
		template.set(ETU0091A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿電話帳申込番号
		template.set(ETU0091A010CBSMsg.KEY_DNWACHO_MSKM_NO, inHash.get(ETU0081B010CBSMsg1List.DNWACHO_MSKM_NO));

		//ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.set(ETU0091A010CBSMsg.KEY_GENE_ADD_DTM,  inHash.get(ETU0081B010CBSMsg1List.GENE_ADD_DTM));

		// 2012/08/20 ST2-2012-0001551 ADD START 電話帳申込内容番号を追加
		//ＫＥＹ＿電話帳申込内容番号
		template.set(ETU0091A010CBSMsg.KEY_DNWACHO_MSKM_NAIYO_NO, inHash.get(ETU0081B010CBSMsg1List.DNWACHO_MSKM_NAIYO_NO_NEW));
		// 2012/08/20 ST2-2012-0001551 ADD END
	}


	/**
	 * templateに対してEKK0441B001SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappingEKK0441B001SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0441B001CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0441B001CBSMsg.TEMPLATEID, "EKK0441B001");

		//機能コード-請求オプションサービス契約一覧照会（カレント）
		template.set(EKK0441B001CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0441B001CBSMsg.KEY_SVC_KEI_NO, inHash.get(JKKCancelSvcKeiCC.REQ_PARAM_SVC_KEI_NO));

		//ＫＥＹ＿基準年月日
		template.set(EKK0441B001CBSMsg.KEY_BASE_YMD,  oPE_DATE);
	}


	/**
	 * templateに対してEKK0441A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappingEKK0441A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0441A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0441A010CBSMsg.TEMPLATEID, "EKK0441A010");

		//機能コード-請求オプションサービス契約一意照会（カレント）
		template.set(EKK0441A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿請求オプションサービス契約番号
		template.set(EKK0441A010CBSMsg.KEY_SEIOPSVC_KEI_NO, inHash.get(EKK0441B001CBSMsg1List.SEIOPSVC_KEI_NO));

		//ＫＥＹ＿請求オプションサービス契約番号
		template.set(EKK0441A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);
	}

	/**
	 * templateに対してEKK0251B001SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappingEKK0251B001SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0251B001CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0251B001CBSMsg.TEMPLATEID, "EKK0251B001");

		//機能コード-サービス契約回線一覧照会（カレント）
		template.set(EKK0251B001CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0251B001CBSMsg.KEY_SVC_KEI_NO, inHash.get(JKKCancelSvcKeiCC.REQ_PARAM_SVC_KEI_NO));
	}

	/**
	 * templateに対してEKK0251A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappingEKK0251A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0251A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0251A010CBSMsg.TEMPLATEID, "EKK0251A010");

		//機能コードサービス契約回線内訳一意照会（カレント）
		template.set(EKK0251A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0251A010CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, inHash.get(EKK0251B001CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO));

		//ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.set(EKK0251A010CBSMsg.KEY_GENE_ADD_DTM, inHash.get(EKK0251B001CBSMsg1List.GENE_ADD_DTM));
	}

	/**
	 * templateに対してEKK0341B011SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappingEKK0341B011SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341B011CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0341B011CBSMsg.TEMPLATEID, "EKK0341B011");

		//機能コード--サービス契約一意照会
		template.set(EKK0341B011CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0341B011CBSMsg.KEY_SVC_KEI_NO, inHash.get(JKKCancelSvcKeiCC.REQ_PARAM_SVC_KEI_NO));
	}


	/**
	 * templateに対してEKK0341A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template		条件の設定先
	 * @param	inHash			条件用hash
	 * @param	callMethodFlg	呼びだしメソッドフラグ
	 */
	public void mappingEKK0341A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash,
			String callMethodFlg
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0341A010CBSMsg.TEMPLATEID, "EKK0341A010");

		//機能コード--サービス契約一意照会
		template.set(EKK0341A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);


		if( callMethodFlg.equals(JKKCancelSvcKeiCC.SVC_KEI) )
		{
			//ＫＥＹ＿機器提供サービス契約番号
			template.set(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, inHash.get(EKK0341B011CBSMsg1List.KKTK_SVC_KEI_NO));

			//ＫＥＹ＿運用年月日
			template.set(EKK0341A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);
		}
	}


	/**
	 * templateに対してEKK0081C160SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	アプリ固有のパラメータ
	 * @param	inHash		条件用hash
	 * @param	workField	
	 */
	public void mappinEKK0081C160SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> inHash,
			HashMap<String, Object> workField
	)
	{

		// SEP-0016-00-00 照査前の契約キャンセル・回復時の更新仕様について ADD START
		String tmpMskmDtlNo = null;

		// サービス契約ステータスが受付済の場合は、前世代のを継承
		if(this.isTrgtSvcStatUk)
		{
			//申込明細番号
			tmpMskmDtlNo = (String)inHash.get(EKK0081A010CBSMsg1List.MSKM_DTL_NO);
		}
		// SEP-0016-00-00  ADD END
		else
		{
			//申込明細番号
			tmpMskmDtlNo = (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);
		}

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0081C160CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0081C160CBSMsg.TEMPLATEID, "EKK0081C160");

		//機能コード--チェック＆登録
		template.set(EKK0081C160CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0081C160CBSMsg.SVC_KEI_NO, inHash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		//ＫＥＹ＿サービス契約キャンセル理由コード
		template.set(EKK0081C160CBSMsg.SVC_CANCEL_RSN_CD, (String) workField.get(JKKCancelSvcKeiCC.CANCEL_RSN_CD));

		//ＫＥＹ＿異動区分
		// IKK-2013-0000782対応 START 住所変更からの場合はパラメータの値を使用
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK0081C160CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK0081C160CBSMsg.IDO_DIV, IDO_KBN_CANCEL);
		}
		// IKK-2013-0000782対応 END 住所変更からの場合はパラメータの値を使用

		//ＫＥＹ＿申込明細番号
		template.set(EKK0081C160CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);

		//ＫＥＹ＿更新年月日時分秒（更新前）
		template.set(EKK0081C160CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}

	/**
	 * templateに対してEKK0081C180SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	アプリ固有のパラメータ
	 * @param	inHash		条件用hash
	 * @param	workField	
	 * @return
	 */
	public void mappinEKK0081C180SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> inHash,
			HashMap<String, Object> workField
	// ▼▼▼▼▼ OM-2014-0003778 2014/12/24 MOD START ▼▼▼▼▼
	// 工事連携契約キャンセルからの呼出かを判断(工事連携契約キャンセルからの場合は電話単独チェックを行わない)
			,IRequestParameterReadWrite param
	)throws Throwable
	// ▲▲▲▲▲ OM-2014-0003778 2014/12/24 MOD END   ▲▲▲▲▲
	{

		//申込明細番号
		String tmpMskmDtlNo = (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0081C180CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0081C180CBSMsg.TEMPLATEID, "EKK0081C180");

		//機能コード--チェック＆登録
		template.set(EKK0081C180CBSMsg.FUNC_CODE, FUNC_CODE_ONE);


		//ＫＥＹ＿サービス契約番号
		template.set(EKK0081C180CBSMsg.SVC_KEI_NO, inHash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		//ＫＥＹ＿サービス終了年月日
		template.set(EKK0081C180CBSMsg.SVC_ENDYMD, oPE_DATE);

		//ＫＥＹ＿サービス課金終了年月日
		template.set(EKK0081C180CBSMsg.SVC_CHRG_ENDYMD, oPE_DATE);

		//ＫＥＹ＿サービス解約理由コード キャンセル理由
		template.set(EKK0081C180CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		//ＫＥＹ＿異動区分
		// IKK-2013-0000782対応 START 住所変更からの場合はパラメータの値を使用
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK0081C180CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK0081C180CBSMsg.IDO_DIV, IDO_KBN_DSL);
		}
		// IKK-2013-0000782対応 END 住所変更からの場合はパラメータの値を使用

		//ＫＥＹ＿申込明細番号
		template.set(EKK0081C180CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);

		//ＫＥＹ＿更新年月日時分秒
		template.set(EKK0081C180CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);

		//2012-05-31 IT1-2012-0000637 ADD_START
		//工事なし登録チェック実施フラグ(0:チェックしない)固定
		template.set(EKK0081C180CBSMsg.NO_KOJI_CHK_FLG, "0");
		//2012-05-31 IT1-2012-0000637 ADD_END
		
		// ▼▼▼▼▼ OM-2014-0003778 2014/12/24 ADD START ▼▼▼▼▼
		// 工事連携契約キャンセルからの呼出かを判断(工事連携契約キャンセルからの場合は電話単独チェックを行わない)
		// ユーザＩＤから判断する
		String opeID = (String)param.getControlMapData(SCControlMapKeys.OPERATOR_ID);

		if(BATSERVICE.equals(opeID))
		{
			//バッチからの呼出の場合は電話単独チェックを行わない
			template.set(EKK0081C180CBSMsg.TEL_SNGLKEI_FAIL_CHK_FLG, "1");
		}
		else
		{
			//バッチ以外からの呼出では何もしない
		}
		// ▲▲▲▲▲ OM-2014-0003778 2014/12/24 ADD END ▲▲▲▲▲
	}


	/**
	 * templateに対してEKK0081C260SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template		条件の設定先
	 * @param	inHash			条件用hash
	 * @return
	 */
	public void mappinEKK0081C260SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	// ▼▼▼▼▼ OM-2014-0003778 2014/12/24 MOD START ▼▼▼▼▼
			// 工事連携契約キャンセルからの呼出かを判断(工事連携契約キャンセルからの場合は電話単独チェックを行わない)
			,IRequestParameterReadWrite param
	)throws Throwable
	// ▲▲▲▲▲ OM-2014-0003778 2014/12/24 MOD END   ▲▲▲▲▲
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0081C260CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0081C260CBSMsg.TEMPLATEID, "EKK0081C260");

		//機能コード--チェック＆登録
		template.set(EKK0081C260CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0081C260CBSMsg.SVC_KEI_NO,  inHash.get(EKK0081C180CBSMsg.SVC_KEI_NO));

		//ＫＥＹ＿サービス終了年月日
		template.set(EKK0081C260CBSMsg.SVC_ENDYMD, oPE_DATE);

		//↓↓↓2012-04-24更新　巻@断面合わせ↓↓↓
		//ＫＥＹ＿サービス解約起算年月日
		template.set(EKK0081C260CBSMsg.SVC_DSL_KISAN_YMD, oPE_DATE);
		//↑↑↑2012-04-24更新　巻@断面合わせ↑↑↑

		//ＫＥＹ＿工事費自動適用要否 ※ＳＳ上存在しないが、必須項目の模様。暫定で対応
		template.set(EKK0081C260CBSMsg.RULE0079_AUTO_APLY, "0");

		//ＫＥＹ＿サービス解約理由コード キャンセル理由
		template.set(EKK0081C260CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		//ＫＥＹ＿更新年月日時分秒（更新前）
		template.set(EKK0081C260CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
		
		// ▼▼▼▼▼ OM-2014-0003778 2014/12/24 ADD START ▼▼▼▼▼
		// 工事連携契約キャンセルからの呼出かを判断(工事連携契約キャンセルからの場合は電話単独チェックを行わない)
		// ユーザＩＤから判断する
		String opeID = (String)param.getControlMapData(SCControlMapKeys.OPERATOR_ID);

		if(BATSERVICE.equals(opeID))
		{
			//バッチからの呼出の場合は電話単独チェックを行わない
			template.set(EKK0081C260CBSMsg.TEL_SNGLKEI_FAIL_CHK_FLG, "1");
		}
		else
		{
			//バッチ以外からの呼出では何もしない
		}
		// ▲▲▲▲▲ OM-2014-0003778 2014/12/24 ADD END ▲▲▲▲▲
	}

	/**
	 * templateに対してEKK0161C160SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template		条件の設定先
	 * @param	trgt_data		
	 * @param	workField		
	 * @param	inHash			条件用hash
	 * @return
	 */
	public void mappinEKK0161C160SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> workField,
			HashMap<String, Object> inHash
	)
	{

		// SEP-0016-00-00 照査前の契約キャンセル・回復時の更新仕様について ADD START
		String tmpMskmDtlNo = null;

		// サービス契約ステータスが受付済の場合は、前世代のを継承
		if(this.isTrgtSvcStatUk)
		{
			//申込明細番号
			tmpMskmDtlNo = (String)inHash.get((EKK0161A010CBSMsg1List.MSKM_DTL_NO));
		}
		// SEP-0016-00-00  ADD END
		else
		{
			//申込明細番号
			tmpMskmDtlNo = (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);
		}

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0161C160CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0161C160CBSMsg.TEMPLATEID, "EKK0161C160");

		//機能コード--チェック＆登録
		template.set(EKK0161C160CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿申込明細番号
		template.set(EKK0161C160CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);

		//ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0161C160CBSMsg.SVC_KEI_UCWK_NO, inHash.get(EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO));

		//ＫＥＹ＿サービス契約キャンセル理由コード
		template.set(EKK0161C160CBSMsg.SVC_CANCEL_RSN_CD, (String) workField.get(JKKCancelSvcKeiCC.CANCEL_RSN_CD));


		//ＫＥＹ＿異動区分
		// IKK-2013-0000782対応 START 住所変更からの場合はパラメータの値を使用
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK0161C160CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK0161C160CBSMsg.IDO_DIV, IDO_KBN_CANCEL);
		}
		// IKK-2013-0000782対応 END 住所変更からの場合はパラメータの値を使用

		//ＫＥＹ＿更新年月日時分秒（更新前）
		template.set(EKK0161C160CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}


	/**
	 * templateに対してEKK0341B504SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template			条件の設定先
	 * @param	svcKeiKaiUcwkNo		サービス契約回線内訳番号
	 * @return
	 */
	public void mappingEKK0341B504SCInMsg(
			CAANMsg template,
			String svcKeiKaiUcwkNo
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341B504CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0341B504CBSMsg.TEMPLATEID, "EKK0341B504");

		//機能コード--サービスIFDBアクセス部品
		template.set(EKK0341B504CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約回線内訳番号
		template.set(EKK0341B504CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO,svcKeiKaiUcwkNo);
	}

	/**
	 * templateに対してEKK0081B007SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template			条件の設定先
	 * @param	svcKeiKaiUcwkNo		サービス契約回線内訳番号
	 * @return
	 */
	public void mappingEKK0081B007SCInMsg(
			CAANMsg template,
			String svcKeiKaiUcwkNo
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0081B007CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0081B007CBSMsg.TEMPLATEID, "EKK0081B007");

		//機能コード--サービスIFDBアクセス部品
		template.set(EKK0081B007CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK0081B007CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO,svcKeiKaiUcwkNo);

		//ＫＥＹ＿運用日付
		template.set(EKK0081B007CBSMsg.KEY_OPE_YMD,oPE_DATE);
	}

	/**
	 * templateに対してEKK0161C180SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	
	 * @param	inHash		条件用hash
	 * @param	workField	
	 * @return
	 */
	public void mappinEKK0161C180SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> inHash,
			HashMap<String, Object> workField
	)
	{

		// 申込明細番号
		String tmpMskmDtlNo = (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0161C180CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0161C180CBSMsg.TEMPLATEID, "EKK0161C180");

		//機能コード--チェック＆登録
		template.set(EKK0161C180CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0161C180CBSMsg.SVC_KEI_UCWK_NO, inHash.get(EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO));

		//ＫＥＹ＿申込明細番号
		template.set(EKK0161C180CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);

		//ＫＥＹ＿サービス終了年月日
		template.set(EKK0161C180CBSMsg.SVC_ENDYMD, oPE_DATE);

		//ＫＥＹ＿サービス課金終了年月日
		template.set(EKK0161C180CBSMsg.SVC_CHRG_ENDYMD, oPE_DATE);

		//ＫＥＹ＿サービス解約理由コード キャンセル理由
		template.set(EKK0161C180CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		//ＫＥＹ＿異動区分
		// IKK-2013-0000782対応 START 住所変更からの場合はパラメータの値を使用
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK0161C180CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK0161C180CBSMsg.IDO_DIV, IDO_KBN_DSL);
		}
		// IKK-2013-0000782対応 END 住所変更からの場合はパラメータの値を使用

		//ＫＥＹ＿更新年月日時分秒
		template.set(EKK0161C180CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}

	/**
	 * templateに対してEKK0161C190SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappinEKK0161C190SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0161C190CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0161C190CBSMsg.TEMPLATEID, "EKK0161C190");

		//機能コード--チェック＆登録
		template.set(EKK0161C190CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0161C190CBSMsg.SVC_KEI_UCWK_NO, inHash.get(EKK0161C180CBSMsg.SVC_KEI_UCWK_NO));

		//ＫＥＹ＿サービス終了年月日
		template.set(EKK0161C190CBSMsg.SVC_ENDYMD, oPE_DATE);

		//2012-05-31 IT1-2012-0000637 MOD_START
		//ＫＥＹ＿サービス解約起算年月日
		template.set(EKK0161C190CBSMsg.SVC_DSL_KISAN_YMD, oPE_DATE);
		//2012-05-31 IT1-2012-0000637 MOD_END

		//ＫＥＹ＿サービス解約理由コード キャンセル理由
		template.set(EKK0161C190CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		//ＫＥＹ＿更新年月日時分秒
		template.set(EKK0161C190CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}

	/**
	 * templateに対してEKK0351C220SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	
	 * @param	workField	
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappinEKK0351C220SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> workField,
			HashMap<String, Object> inHash
	)
	{

		// SEP-0016-00-00 照査前の契約キャンセル・回復時の更新仕様について ADD START
		String tmpMskmDtlNo = null;

		// サービス契約ステータスが受付済の場合は、前世代のを継承
		if(this.isTrgtSvcStatUk)
		{
			tmpMskmDtlNo = (String)inHash.get(EKK0351A010CBSMsg1List.MSKM_DTL_NO);
		}
		// SEP-0016-00-00  ADD END
		else
		{
			// 申込明細番号
			tmpMskmDtlNo = (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);
		}

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0351C220CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0351C220CBSMsg.TEMPLATEID, "EKK0351C220");

		//機能コード--チェック＆登録
		template.set(EKK0351C220CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0351C220CBSMsg.OP_SVC_KEI_NO, inHash.get(EKK0351A010CBSMsg1List.OP_SVC_KEI_NO));

		//ＫＥＹ＿申込明細番号
		template.set(EKK0351C220CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);

		//ＫＥＹ＿サービス契約キャンセル理由コード
		template.set(EKK0351C220CBSMsg.SVC_CANCEL_RSN_CD,  (String) workField.get(JKKCancelSvcKeiCC.CANCEL_RSN_CD));

		//ＫＥＹ＿異動区分
		// IKK-2013-0000782対応 START 住所変更からの場合はパラメータの値を使用
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK0351C220CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK0351C220CBSMsg.IDO_DIV, IDO_KBN_CANCEL);
		}
		// IKK-2013-0000782対応 END 住所変更からの場合はパラメータの値を使用

		//ＫＥＹ＿更新年月日時分秒（更新前）
		template.set(EKK0351C220CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}

	/**
	 * templateに対してEKK0351C240SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template				条件の設定先
	 * @param	trgt_data				
	 * @param	inHash					条件用hash
	 * @param	workField				
	 * @param	jdgHiChrgMapSvcKei		非課金判定部品結果＜サービス＞
	 * @return 
	 */
	public void mappinEKK0351C240SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> inHash,
			HashMap<String, Object> workField,
			HashMap<String, Object> jdgHiChrgMapSvcKei
	)
	{

		// 申込明細番号
		String tmpMskmDtlNo = (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0351C240CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0351C240CBSMsg.TEMPLATEID, "EKK0351C240");

		//機能コード--チェック＆登録
		template.set(EKK0351C240CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0351C240CBSMsg.OP_SVC_KEI_NO, inHash.get(EKK0351A010CBSMsg1List.OP_SVC_KEI_NO));

		//ＫＥＹ＿申込明細番号
		template.set(EKK0351C240CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);

		//ＫＥＹ＿サービス終了年月日
		template.set(EKK0351C240CBSMsg.SVC_ENDYMD, oPE_DATE);

		// SEP-0020-00-00 現行ICS指摘対応：337 ADD START
		if(jdgHiChrgMapSvcKei == null)
		{
			// SEP-0020-00-00 ADD END
			//ＫＥＹ＿サービス課金終了年月日
			template.set(EKK0351C240CBSMsg.SVC_CHRG_ENDYMD, oPE_DATE);
		}
		// SEP-0020-00-00 現行ICS指摘対応：337 ADD START
		else
		{
			template.set(EKK0351C240CBSMsg.SVC_CHRG_ENDYMD, jdgHiChrgMapSvcKei.get("svcChrgEndYmd"));
		}
		// SEP-0020-00-00 ADD END

		//ＫＥＹ＿サービス解約理由コード キャンセル理由
		template.set(EKK0351C240CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		//ＫＥＹ＿異動区分
		// IKK-2013-0000782対応 START 住所変更からの場合はパラメータの値を使用
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK0351C240CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK0351C240CBSMsg.IDO_DIV, IDO_KBN_DSL);
		}
		// IKK-2013-0000782対応 END 住所変更からの場合はパラメータの値を使用

		//ＫＥＹ＿更新年月日時分秒
		template.set(EKK0351C240CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}


	/**
	 * templateに対してEKK0351C250SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template					条件の設定先
	 * @param	inHash						条件用hash
	 * @param	jdgHiChrgMapSvcKei			非課金判定部品結果＜サービス＞
	 * @param	jdgHiChrgMapOpSvcKei		非課金判定部品結果＜オプションサービス＞
	 * @return
	 */
	public void mappinEKK0351C250SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash,
			HashMap<String, Object> jdgHiChrgMapSvcKei,
			HashMap<String, Object> jdgHiChrgMapOpSvcKei
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0351C250CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0351C250CBSMsg.TEMPLATEID, "EKK0351C250");

		//機能コード--チェック＆登録
		template.set(EKK0351C250CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0351C250CBSMsg.OP_SVC_KEI_NO, inHash.get(EKK0351C240CBSMsg.OP_SVC_KEI_NO));

		//ＫＥＹ＿サービス終了年月日
		template.set(EKK0351C250CBSMsg.SVC_ENDYMD, oPE_DATE);

		// SEP-0020-00-00 現行ICS指摘対応：337 ADD START
		if(jdgHiChrgMapSvcKei == null)
		{
			// SEP-0020-00-00 ADD END
			//ＫＥＹ＿サービス課金終了年月日
			template.set(EKK0351C250CBSMsg.SVC_CHRG_ENDYMD, oPE_DATE);
		}
		// SEP-0020-00-00 現行ICS指摘対応：337 ADD START
		else
		{
			template.set(EKK0351C250CBSMsg.SVC_CHRG_ENDYMD, getDayOfBefore((String)jdgHiChrgMapSvcKei.get("svcChrgEndYmd")));
		}
		// SEP-0020-00-00 ADD END

		//ＫＥＹ＿サービス解約理由コード キャンセル理由
		template.set(EKK0351C250CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		//ＫＥＹ＿異動区分
		template.set(EKK0351C250CBSMsg.IDO_DIV, IDO_KBN_DSL);

		//ＫＥＹ＿更新年月日時分秒
		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
	}

	/**
	 * templateに対してEKK0401C150SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	
	 * @param	workField	
	 * @param	inHash		条件用hash
	 */
	public void mappinEKK0401C150SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> workField,
			HashMap<String, Object> inHash
	)
	{

		// SEP-0016-00-00 照査前の契約キャンセル・回復時の更新仕様について ADD START
		String tmpMskmDtlNo = null;

		// サービス契約ステータスが受付済の場合は、前世代のを継承
		if(this.isTrgtSvcStatUk)
		{
			tmpMskmDtlNo = (String)inHash.get(EKK0401A010CBSMsg1List.MSKM_DTL_NO);
		}
		// SEP-0016-00-00  ADD END
		else
		{
			// 申込明細番号
			tmpMskmDtlNo = (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);
		}

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0401C150CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0401C150CBSMsg.TEMPLATEID, "EKK0401C150");

		//機能コード--チェック＆登録
		template.set(EKK0401C150CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0401C150CBSMsg.OP_SVC_KEI_NO, inHash.get(EKK0401A010CBSMsg1List.OP_SVC_KEI_NO));

		//ＫＥＹ＿申込明細番号
		template.set(EKK0401C150CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);

		//ＫＥＹ＿サブオプションサービス契約番号
		template.set(EKK0401C150CBSMsg.SBOP_SVC_KEI_NO, inHash.get(EKK0401A010CBSMsg1List.SBOP_SVC_KEI_NO));

		//ＫＥＹ＿サービス契約キャンセル理由コード
		template.set(EKK0401C150CBSMsg.SVC_CANCEL_RSN_CD,  (String) workField.get(JKKCancelSvcKeiCC.CANCEL_RSN_CD));

		//ＫＥＹ＿異動区分
		// IKK-2013-0000782対応 START 住所変更からの場合はパラメータの値を使用
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK0401C150CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK0401C150CBSMsg.IDO_DIV, IDO_KBN_CANCEL);
		}
		// IKK-2013-0000782対応 END 住所変更からの場合はパラメータの値を使用

		//ＫＥＹ＿更新年月日時分秒（更新前）
		template.set(EKK0401C150CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}


	/**
	 * templateに対してEKK0401C170SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template				条件の設定先
	 * @param	trgt_data				
	 * @param	inHash					条件用hash
	 * @param	workField				
	 * @param	jdgHiChrgMapSvcKei		非課金判定部品結果＜サービス＞
	 * @return
	 */
	public void mappinEKK0401C170SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> inHash,
			HashMap<String, Object> workField,
			HashMap<String, Object> jdgHiChrgMapSvcKei
	)
	{

		// 申込明細番号
		String tmpMskmDtlNo = (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0401C170CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0401C170CBSMsg.TEMPLATEID, "EKK0401C170");

		//機能コード--チェック＆登録
		template.set(EKK0401C170CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0401C170CBSMsg.OP_SVC_KEI_NO, inHash.get(EKK0401A010CBSMsg1List.OP_SVC_KEI_NO));

		//ＫＥＹ＿サブオプションサービス契約番号
		template.set(EKK0401C170CBSMsg.SBOP_SVC_KEI_NO, inHash.get(EKK0401A010CBSMsg1List.SBOP_SVC_KEI_NO));

		//ＫＥＹ＿申込明細番号
		template.set(EKK0401C170CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);

		//ＫＥＹ＿サービス終了年月日
		template.set(EKK0401C170CBSMsg.SVC_ENDYMD, oPE_DATE);

		// SEP-0020-00-00 現行ICS指摘対応：337 ADD START
		if(jdgHiChrgMapSvcKei == null)
		{
			// SEP-0020-00-00 ADD END
			//ＫＥＹ＿サービス課金終了年月日
			template.set(EKK0401C170CBSMsg.SVC_CHRG_ENDYMD, oPE_DATE);
		}
		// SEP-0020-00-00 現行ICS指摘対応：337 ADD START
		else
		{
			template.set(EKK0401C170CBSMsg.SVC_CHRG_ENDYMD, jdgHiChrgMapSvcKei.get("svcChrgEndYmd"));
		}
		// SEP-0020-00-00 ADD END

		//ＫＥＹ＿サービス解約理由コード キャンセル理由
		template.set(EKK0401C170CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		//ＫＥＹ＿異動区分
		// IKK-2013-0000782対応 START 住所変更からの場合はパラメータの値を使用
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK0401C170CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK0401C170CBSMsg.IDO_DIV, IDO_KBN_DSL);
		}
		// IKK-2013-0000782対応 END 住所変更からの場合はパラメータの値を使用

		//ＫＥＹ＿更新年月日時分秒
		template.set(EKK0401C170CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}


	/**
	 * templateに対してEKK0401C180SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template					条件の設定先
	 * @param	inHash						条件用hash
	 * @param	jdgHiChrgMapSvcKei			
	 * @param	jdgHiChrgMapSbopSvcKei		
	 * @return
	 */
	public void mappinEKK0401C180SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash,
			HashMap<String, Object> jdgHiChrgMapSvcKei,
			HashMap<String, Object> jdgHiChrgMapSbopSvcKei
	)
	{

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0401C180CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0401C180CBSMsg.TEMPLATEID, "EKK0401C180");

		//機能コード--チェック＆登録
		template.set(EKK0401C180CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0401C180CBSMsg.OP_SVC_KEI_NO, inHash.get(EKK0401C170CBSMsg.OP_SVC_KEI_NO));

		//ＫＥＹ＿サブオプションサービス契約番号
		template.set(EKK0401C180CBSMsg.SBOP_SVC_KEI_NO, inHash.get(EKK0401C170CBSMsg.SBOP_SVC_KEI_NO));

		//ＫＥＹ＿サービス終了年月日
		template.set(EKK0401C180CBSMsg.SVC_ENDYMD, oPE_DATE);

		// SEP-0020-00-00 現行ICS指摘対応：337 ADD START
		if(jdgHiChrgMapSvcKei == null)
		{
			// SEP-0020-00-00 DEL END
			//ＫＥＹ＿サービス課金終了年月日
			template.set(EKK0401C180CBSMsg.SVC_CHRG_ENDYMD, oPE_DATE);
		}
		// SEP-0020-00-00 現行ICS指摘対応：337 ADD START
		else
		{
			template.set(EKK0401C180CBSMsg.SVC_CHRG_ENDYMD, getDayOfBefore((String)jdgHiChrgMapSvcKei.get("svcChrgEndYmd")));
		}
		// SEP-0020-00-00 DEL END

		//ＫＥＹ＿サービス解約理由コード キャンセル理由
		template.set(EKK0401C180CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		//ＫＥＹ＿更新年月日時分秒
		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
	}


	/**
	 * templateに対してEKK0441C210SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	
	 * @param	workField	
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappinEKK0441C210SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> workField,
			HashMap<String, Object> inHash
	)
	{

		// 呼び出しパターン番号
		String tmpcallPtnNo = (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_CALL_PTN_NO);	
		// 申込明細番号
		String tmpMskmDtlNo = (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0441C210CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0441C210CBSMsg.TEMPLATEID, "EKK0441C210");

		//機能コード--チェック＆登録
		template.set(EKK0441C210CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿請求オプションサービス契約番号
		template.set(EKK0441C210CBSMsg.SEIOPSVC_KEI_NO, inHash.get(EKK0441A010CBSMsg1List.SEIOPSVC_KEI_NO));

		// 呼び出しパターンが4(サービス契約更新画面)の場合
		if (tmpcallPtnNo.equals( CALL_PTN_NO_4 ))
		{
			//ＫＥＹ＿申込明細番号
			template.set(EKK0441C210CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);
		}

		//ＫＥＹ＿サービス契約キャンセル理由コード
		template.set(EKK0441C210CBSMsg.SVC_CANCEL_RSN_CD, (String) workField.get(JKKCancelSvcKeiCC.CANCEL_RSN_CD));

		//ＫＥＹ＿異動区分
		// IKK-2013-0000782対応 START 住所変更からの場合はパラメータの値を使用
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK0441C210CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK0441C210CBSMsg.IDO_DIV, IDO_KBN_CANCEL);
		}
		// IKK-2013-0000782対応 END 住所変更からの場合はパラメータの値を使用

		//ＫＥＹ＿更新年月日時分秒（更新前）
		template.set(EKK0441C210CBSMsg.UPD_DTM_BF, seikyKeiUpdDtm);
	}

	/**
	 * templateに対してEKK0441C230SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappinEKK0441C230SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> inHash
	)
	{

		// 申込明細番号
		String tmpMskmDtlNo = (String)trgt_data.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0441C230CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0441C230CBSMsg.TEMPLATEID, "EKK0441C230");

		//機能コード--チェック＆登録
		template.set(EKK0441C230CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿請求オプションサービス契約番号
		template.set(EKK0441C230CBSMsg.SEIOPSVC_KEI_NO, inHash.get(EKK0441A010CBSMsg1List.SEIOPSVC_KEI_NO));

		//ＫＥＹ＿申込明細番号
		template.set(EKK0441C230CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);

		//ＫＥＹ＿サービス終了年月日
		template.set(EKK0441C230CBSMsg.SVC_ENDYMD, oPE_DATE);

		//ＫＥＹ＿サービス課金終了年月日
		template.set(EKK0441C230CBSMsg.SVC_CHRG_ENDYMD, oPE_DATE);

		//ＫＥＹ＿サービス解約年月日
		template.set(EKK0441C230CBSMsg.SVC_DSL_YMD, oPE_DATE);

		//ＫＥＹ＿サービス解約理由コード キャンセル理由
		template.set(EKK0441C230CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		//ＫＥＹ＿異動区分
		// IKK-2013-0000782対応 START 住所変更からの場合はパラメータの値を使用
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK0441C230CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK0441C230CBSMsg.IDO_DIV, IDO_KBN_DSL);
		}
		// IKK-2013-0000782対応 END 住所変更からの場合はパラメータの値を使用

		//ＫＥＹ＿更新年月日時分秒
		template.set(EKK0441C230CBSMsg.UPD_DTM_BF, seikyKeiUpdDtm);
	}


	/**
	 * templateに対してEKK0441C240SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappinEKK0441C240SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0441C240CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0441C240CBSMsg.TEMPLATEID, "EKK0441C240");

		//機能コード--チェック＆登録
		template.set(EKK0441C240CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿請求オプションサービス契約番号
		template.set(EKK0441C240CBSMsg.SEIOPSVC_KEI_NO, inHash.get(EKK0441C230CBSMsg.SEIOPSVC_KEI_NO));

		//ＫＥＹ＿世代登録年月日時分秒
		template.set(EKK0441C240CBSMsg.GENE_ADD_DTM, inHash.get(EKK0441C230CBSMsg.GENE_ADD_DTM));

		//ＫＥＹ＿サービス終了年月日
		template.set(EKK0441C240CBSMsg.SVC_ENDYMD, oPE_DATE);

		//ＫＥＹ＿サービス課金終了年月日
		template.set(EKK0441C240CBSMsg.SVC_CHRG_ENDYMD, oPE_DATE);

		//ＫＥＹ＿サービス解約年月日
		template.set(EKK0441C240CBSMsg.SVC_DSL_YMD, oPE_DATE);

		//ＫＥＹ＿サービス解約理由コード キャンセル理由
		template.set(EKK0441C240CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		//ＫＥＹ＿更新年月日時分秒
		template.set(EKK0441C240CBSMsg.UPD_DTM_BF, inHash.get(EKK0441C230CBSMsg.UPD_DTM));
	}

	/**
	 * templateに対してEKK0251C070SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	
	 * @param	workField	
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappinEKK0251C070SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> workField,
			HashMap<String, Object> inHash
	)
	{
		// 呼び出しパターン番号
		String tmpcallPtnNo = (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_CALL_PTN_NO);	

		// SEP-0016-00-00 照査前の契約キャンセル・回復時の更新仕様について ADD START
		String tmpMskmDtlNo = null;

		// サービス契約ステータスが受付済の場合は、前世代のを継承
		if(this.isTrgtSvcStatUk)
		{
			tmpMskmDtlNo = (String)inHash.get(EKK0251A010CBSMsg1List.MSKM_DTL_NO);
		}
		// SEP-0016-00-00  ADD END
		else
		{
			// 申込明細番号
			tmpMskmDtlNo = (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);
		}

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0251C070CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0251C070CBSMsg.TEMPLATEID, "EKK0251C070");

		//機能コード--チェック＆登録
		template.set(EKK0251C070CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿請求オプションサービス契約番号
		template.set(EKK0251C070CBSMsg.SVC_KEI_KAISEN_UCWK_NO, inHash.get(EKK0251A010CBSMsg1List.SVC_KEI_KAISEN_UCWK_NO));

		// 呼び出しパターンが4(サービス契約更新画面)の場合
		if (tmpcallPtnNo.equals( CALL_PTN_NO_4 ))
		{
			//ＫＥＹ＿申込明細番号
			template.set(EKK0441C230CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);
		} 

		//ＫＥＹ＿サービス契約キャンセル理由コード
		template.set(EKK0251C070CBSMsg.SVC_CANCEL_RSN_CD,  (String) workField.get(JKKCancelSvcKeiCC.CANCEL_RSN_CD));

		//ＫＥＹ＿更新年月日時分秒（更新前）
		template.set(EKK0251C070CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}

	/**
	 * templateに対してEKK0341C330SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @param	workField	
	 * @param	trgt_data	
	 * @return
	 */
	public void mappinEKK0341C330SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash,
			HashMap<String, Object> workField,
			HashMap<String, Object> trgt_data
	)
	{
		// SEP-0016-00-00 照査前の契約キャンセル・回復時の更新仕様について ADD START
		String tmpMskmDtlNo = null;

		// サービス契約ステータスが受付済の場合は、前世代のを継承
		if(this.isTrgtSvcStatUk)
		{
			tmpMskmDtlNo = (String)inHash.get(EKK0341A010CBSMsg1List.MSKM_DTL_NO);
		}
		// SEP-0016-00-00  ADD END
		else
		{
			// 申込明細番号
			tmpMskmDtlNo = (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);
		}

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341C330CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0341C330CBSMsg.TEMPLATEID, "EKK0341C330");

		//機能コード--チェック＆登録
		template.set(EKK0341C330CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK0341C330CBSMsg.KKTK_SVC_KEI_NO, inHash.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));

		//ＫＥＹ＿申込明細番号
		template.set(EKK0341C330CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);

		//ＫＥＹ＿サービス契約キャンセル理由コード
		template.set(EKK0341C330CBSMsg.SVC_CANCEL_RSN_CD,  (String) workField.get(JKKCancelSvcKeiCC.CANCEL_RSN_CD));

		//ＫＥＹ＿異動区分
		// IKK-2013-0000782対応 START 住所変更からの場合はパラメータの値を使用
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK0341C330CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK0341C330CBSMsg.IDO_DIV, IDO_KBN_CANCEL);
		}
		// IKK-2013-0000782対応 END 住所変更からの場合はパラメータの値を使用

		//ＫＥＹ＿更新年月日時分秒（更新前）
		template.set(EKK0341C330CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}

	/**
	 * templateに対してEKK0341C340SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	
	 * @param	workField	
	 * @param	inHash		条件用hash
	 * @param	resultHash	EKK0341C340SCの結果
	 * @return
	 */
	public void mappinEKK0341C340SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> workField,
			HashMap<String, Object> inHash,
			HashMap<String, Object> resultHash
	)
	{
		// 申込明細番号
		String tmpMskmDtlNo = (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);
		// ANK-1421-00-00 2013/02/07 ADD START
		// 機器提供サービス一意照会の結果取得
		HashMap<String, Object> eKK0771A010Hash = null;
		eKK0771A010Hash = (HashMap<String, Object>)resultHash.get(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/07 ADD END
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341C340CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0341C340CBSMsg.TEMPLATEID, "EKK0341C340");

		//機能コード--チェック＆登録
		template.set(EKK0341C340CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK0341C340CBSMsg.KKTK_SVC_KEI_NO, inHash.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));

		//ＫＥＹ＿申込明細番号
		template.set(EKK0341C340CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);

		//ＫＥＹ＿サービス終了年月日
		template.set(EKK0341C340CBSMsg.SVC_ENDYMD, oPE_DATE);

		//ＫＥＹ＿サービス課金終了年月日
		template.set(EKK0341C340CBSMsg.SVC_CHRG_ENDYMD, oPE_DATE);

		//ＫＥＹ＿サービス解約理由コード キャンセル理由
		template.set(EKK0341C340CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		// ANK-1421-00-00 2013/02/07 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/07 ADD END

		//ＫＥＹ＿異動区分
		// IKK-2013-0000782対応 START 住所変更からの場合はパラメータの値を使用
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK0341C340CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK0341C340CBSMsg.IDO_DIV, IDO_KBN_DSL);
		}
		// IKK-2013-0000782対応 END 住所変更からの場合はパラメータの値を使用

		//ＫＥＹ＿更新年月日時分秒
		template.set(EKK0341C340CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}


	/**
	 * templateに対してEKK0341C350SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappinEKK0341C350SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341C350CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0341C350CBSMsg.TEMPLATEID, "EKK0341C350");

		//機能コード--チェック＆登録
		template.set(EKK0341C350CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK0341C350CBSMsg.KKTK_SVC_KEI_NO, inHash.get(EKK0341C340CBSMsg.KKTK_SVC_KEI_NO));

		//ＫＥＹ＿サービス終了年月日
		template.set(EKK0341C350CBSMsg.SVC_ENDYMD, oPE_DATE);

		//ＫＥＹ＿サービス課金終了年月日
		template.set(EKK0341C350CBSMsg.SVC_CHRG_ENDYMD, oPE_DATE);

		//ＫＥＹ＿サービス解約理由コード キャンセル理由
		template.set(EKK0341C350CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		//ＫＥＹ＿更新年月日時分秒
		template.set(EKK0341C350CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}

	/**
	 * templateに対してECK0141C030SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappinECK0141C030SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new ECK0141C030CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(ECK0141C030CBSMsg.TEMPLATEID, "ECK0141C030");

		//機能コード--チェック＆登録
		template.set(ECK0141C030CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿支払方法番号
		template.set(ECK0141C030CBSMsg.OPTINM_NO, inHash.get(ECK0141B005CBSMsg1List.OPTINM_NO));

		//ＫＥＹ＿ＳＹＳ＿ＩＤ
		template.set(ECK0141C030CBSMsg.SYSID, inHash.get(ECK0141B005CBSMsg1List.SYSID));

		//ＫＥＹ＿メールアドレス
		template.set(ECK0141C030CBSMsg.MLAD, inHash.get(ECK0141B005CBSMsg1List.MLAD));

		//ＫＥＹ＿更新年月日時分秒（更新前）
		template.set(ECK0141C030CBSMsg.UPD_DTM_BF, custUpdDtm);		//inHash.get(ECK0141B005CBSMsg1List.UPD_DTM));
	}


	/**
	 * templateに対してEZM0111B030SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappinEZM0111B030SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EZM0111B030CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EZM0111B030CBSMsg.TEMPLATEID, "EZM0111B030");

		//機能コード--チェック＆登録
		template.set(EZM0111B030CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿エイジング種別コード
		template.set(EZM0111B030CBSMsg.KEY_AGING_SBT_CD, inHash.get(JKKCancelSvcKeiCC.PARAM_AGING_SBT_CD));

		//ＫＥＹ＿エイジング対象値
		template.set(EZM0111B030CBSMsg.KEY_AGING_TG_VALUE, inHash.get(JKKCancelSvcKeiCC.PARAM_AGING_TG_VALUE));
	}

	/**
	 * templateに対してEZM0111C010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash1		条件用hash1
	 * @param	inHash2		条件用hash2
	 * @return
	 */
	public void mappinEZM0111C010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash1,
			HashMap<String, Object> inHash2
	)
	{
		//使用終了年月日時分秒
		Object operateDateTime = JCCBPCommon.getOpeDateTimeStamp(null);

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EZM0111C010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EZM0111C010CBSMsg.TEMPLATEID, "EZM0111C010");

		//機能コード--チェック＆登録
		template.set(EZM0111C010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿エイジング番号
		template.set(EZM0111C010CBSMsg.AGING_NO, inHash2.get(EZM0111B030CBSMsg1List.AGING_NO));

		//ＫＥＹ＿エイジング種別コード
		template.set(EZM0111C010CBSMsg.AGING_SBT_CD, inHash1.get(JKKCancelSvcKeiCC.PARAM_AGING_SBT_CD));

		//ＫＥＹ＿エイジング対象値
		template.set(EZM0111C010CBSMsg.AGING_TG_VALUE, inHash1.get(JKKCancelSvcKeiCC.PARAM_AGING_TG_VALUE));

		//ＫＥＹ＿使用終了年月日時分秒
		template.set(EZM0111C010CBSMsg.USE_END_DTM, (String)operateDateTime);

		//ＫＥＹ＿更新前最終年月日時分秒
		template.set(EZM0111C010CBSMsg.LAST_UPD_DTM_BF, inHash2.get(EZM0111B030CBSMsg1List.UPD_DTM));
	}

	/**
	 * templateに対してEKK0021A010の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	mskmDtlNo	申込明細番号
	 * @return 
	 */
	public void mappinEKK0021A010SCInMsg(
			CAANMsg template,
			String mskmDtlNo
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0021A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0021A010CBSMsg.TEMPLATEID, "EKK0021A010");

		//機能コード--チェック＆登録
		template.set(EKK0021A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿申込明細番号
		template.set(EKK0021A010CBSMsg.KEY_MSKM_DTL_NO,mskmDtlNo);

		//ＫＥＹ＿世代登録年月日時分秒
		template.setNull(EKK0021A010CBSMsg.KEY_GENE_ADD_DTM);
	}

	/**
	 * templateに対してEKU0081B010の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	svcKeiNo	サービス契約番号
	 * @return
	 */
	public void mappinEKU0081B010SCInMsg(
			CAANMsg template,
			String svcKeiNo
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKU0081B010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKU0081B010CBSMsg.TEMPLATEID, "EKU0081B010");

		//機能コード--チェック＆登録
		template.set(EKU0081B010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約番号
		template.set(EKU0081B010CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);
	}

	/**
	 * templateに対してEKU0081B020の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template			条件の設定先
	 * @param	svcKeiNo			サービス契約番号
	 * @param	svcKeiKaisenUcwkNo	
	 * @return
	 */
	public void mappinEKU0081B020SCInMsg(
			CAANMsg template,
			String svcKeiNo,
			String svcKeiKaisenUcwkNo
	)
	{
		//全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKU0081B020CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKU0081B020CBSMsg.TEMPLATEID, "EKU0081B020");

		//機能コード--チェック＆登録
		template.set(EKU0081B020CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約番号
		template.set(EKU0081B020CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);

		//ＫＥＹ＿サービス契約番号
		template.set(EKU0081B020CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkNo);
	}


	/**
	 * templateに対してESC0021D010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @param	workField	
	 * @param	kojiakNo	
	 * @return
	 */
	public void mappinESC0021D010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash,
			HashMap<String, Object> workField,
			String kojiakNo,
			String svcKeiNo
	)
	{
		HashMap<String, Object> eKK0021A010Hash = (HashMap<String, Object>)workField.get(JKKCancelSvcKeiCC.MSKM_DTL);
		String mskmshoNo = null;
		if (eKK0021A010Hash != null)
		{
			mskmshoNo = (String)eKK0021A010Hash.get(EKK0021A010CBSMsg1List.MSKMSHO_NO);
		}

		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new ESC0021D010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(ESC0021D010CBSMsg.TEMPLATEID, "ESC0021D010");

		// 機能コード--チェック＆登録
		template.set(ESC0021D010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		// サービス契約番号
		if (svcKeiNo != null && !"".equals(svcKeiNo)) {
			template.set(ESC0021D010CBSMsg.SVC_KEI_NO, svcKeiNo);
		} else {
			template.set(ESC0021D010CBSMsg.SVC_KEI_NO, inHash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));
		}

		// 要求元アプリ種別コード
		template.set(ESC0021D010CBSMsg.YOKYU_MT_APL_SBT_CD, "W");

		// VLANオーダコード
		template.set(ESC0021D010CBSMsg.VLAN_ORDER_CD, VLAN_ORDER_CD_VLAN);

		// 要求種別コード
		template.set(ESC0021D010CBSMsg.YOKYU_SBT_CD, YOKYU_SBT_CD_DSL);

		// VLANサーバコード
		template.set(ESC0021D010CBSMsg.VLAN_SERVER_CD, VLAN_SERVER_CD);

		// 20120610 IT2-2012-0000737 START
		// 依頼時申込書番号
		template.set(ESC0021D010CBSMsg.REQ_JI_MSKMSHO_NO,  mskmshoNo);

		// 依頼時工事案件番号
		template.set(ESC0021D010CBSMsg.REQ_JI_KJAK_NO,  kojiakNo);
		// 20120610 IT2-2012-0000737 END
	}

	/**
	 * templateに対してEKK1091D010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	
	 * @param	inHash		条件用hash
	 * @param	workField	
	 */
	public void mappinEKK1091D010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> inHash,
			HashMap<String,Object> workField
	)
	{
		CAANMsg[] templateArray = null;
		ArrayList idoRsnDataList = null;

		//サービス呼び出し区分
		String callPtnNo = (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_CALL_PTN_NO) ;


		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK1091D010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK1091D010CBSMsg.TEMPLATEID, "EKK1091D010");

		//機能コード--チェック＆登録
		template.set(EKK1091D010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK1091D010CBSMsg.SVC_KEI_NO, inHash.get(EKK0441A010CBSMsg1List.SVC_KEI_NO));

		//ＫＥＹ＿異動年月日時分秒
		// 20130111 IT1-2013-0000039 MDD START
		template.set(EKK1091D010CBSMsg.IDO_DTM, JCCBPCommon.getSysDateTimeStamp());
		// 20130111 IT1-2013-0000039 MDD END

		//ＫＥＹ＿異動区分
		template.set(EKK1091D010CBSMsg.IDO_DIV, trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));

		//ＫＥＹ＿進捗ステータス
		template.set(EKK1091D010CBSMsg.PRG_STAT, trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_PRG_STAT));

		if (callPtnNo.equals(CALL_PTN_NO_4))
		{
			idoRsnDataList = (ArrayList) trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_RSN_DATA_LIST);

			templateArray = template.getCAANMsgList(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST);

			if (templateArray == null)
			{
				templateArray = new CAANMsg[idoRsnDataList.size()];
			}

			for (int i = 0; i < idoRsnDataList.size(); i++)
			{
				HashMap childMap = (HashMap) idoRsnDataList.get(i);

				CAANMsg childTemplate = templateArray[i];
				if (childTemplate == null)
				{
					childTemplate = new CAANMsg(EKK1091D010CBSMsg1List.class.getName());
				}

				//異動理由明細.異動理由コード
				childTemplate.setNull(EKK1091D010CBSMsg1List.IDO_RSN_CD);
				childTemplate.set(EKK1091D010CBSMsg1List.IDO_RSN_CD, (String) childMap.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_RSN_CD));

				//異動理由明細.異動理由メモ
				childTemplate.setNull(EKK1091D010CBSMsg1List.IDO_RSN_MEMO);

				templateArray[i] = childTemplate;

				template.set(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST, templateArray);
			}
		}
		else
		{
			//異動理由コード(その他)
			CAANMsg idoRsnTemp = new CAANMsg(EKK1091D010CBSMsg1List.class.getName());
			idoRsnTemp.set(EKK1091D010CBSMsg1List.IDO_RSN_CD, IDO_RSN_CD_56);
			//異動理由明細.異動理由メモ
			idoRsnTemp.setNull(EKK1091D010CBSMsg1List.IDO_RSN_MEMO);

			//異動理由明細
			CAANMsg[] list = new CAANMsg[1];
			list[0] = idoRsnTemp;
			template.set(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST, list);

			// OM-2013-0003304 住所変更キャンセル時のスマートバリュー異動情報登録処理でシステムエラー 2013/10/17 START
			// JKKCancelSvcKeiCC.executeSmtvlIdoInfAddCCに移動＋設定する条件を追加
//			// ▼▼▼▼▼LT-2013-0000381 2013/07/11 工事取消キャンセルにて工事案件中止理由コードが設定されない ADD START▼▼▼▼▼
//			// 異動理由リストが空の場合(バッチ起動の場合)はその他をつめる
//			ArrayList idoRsnList = new ArrayList();
//			HashMap<String,Object> idoRsnHash = new HashMap();
//
//			idoRsnHash.put("ido_rsn_cd",IDO_RSN_CD_E9);
//			idoRsnList.add(idoRsnHash);
//			trgt_data.put("ido_rsn_data_list",idoRsnList);
//			// ▲▲▲▲▲LT-2013-0000381 2013/07/11 工事取消キャンセルにて工事案件中止理由コードが設定されない ADD END  ▲▲▲▲▲
			// OM-2013-0003304 住所変更キャンセル時のスマートバリュー異動情報登録処理でシステムエラー 2013/10/17 END
		}

		//申込明細番号
		template.set(EKK1091D010CBSMsg.MSKM_DTL_NO, workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO));
	}

	// ANK-2293-00-00 対応 FJ)清水 2016/01/13 ADD START
	/**
	 * templateに対してEKK1091D010SCの条件に関する部分を設定する(割引対応)<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	
	 * @param	inHash		条件用hash
	 * @param	workField	
	 */
	public void mappinEKK1091D010SCInMsgWrib(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> inHash,
			HashMap<String,Object> workField
	)
	{
		CAANMsg[] templateArray = null;
		ArrayList idoRsnDataList = null;

		//サービス呼び出し区分
		String callPtnNo = (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_CALL_PTN_NO) ;

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK1091D010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK1091D010CBSMsg.TEMPLATEID, "EKK1091D010");

		//機能コード--チェック＆登録
		template.set(EKK1091D010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK1091D010CBSMsg.SVC_KEI_NO, inHash.get(EKK0441A010CBSMsg1List.SVC_KEI_NO));

		//ＫＥＹ＿異動年月日時分秒
		// 20130111 IT1-2013-0000039 MDD START
		template.set(EKK1091D010CBSMsg.IDO_DTM, JCCBPCommon.getSysDateTimeStamp());
		// 20130111 IT1-2013-0000039 MDD END

		//ＫＥＹ＿異動区分
		template.set(EKK1091D010CBSMsg.IDO_DIV, workField.get(JKKCancelSvcKeiCC.WRIB_IDO_DIV));

		//ＫＥＹ＿進捗ステータス
		template.set(EKK1091D010CBSMsg.PRG_STAT, workField.get(JKKCancelSvcKeiCC.WRIB_PRG_STAT));

		if (callPtnNo.equals(CALL_PTN_NO_4))
		{
			idoRsnDataList = (ArrayList) trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_RSN_DATA_LIST);

			templateArray = template.getCAANMsgList(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST);

			if (templateArray == null)
			{
				templateArray = new CAANMsg[idoRsnDataList.size()];
			}

			for (int i = 0; i < idoRsnDataList.size(); i++)
			{
				HashMap childMap = (HashMap) idoRsnDataList.get(i);

				CAANMsg childTemplate = templateArray[i];
				if (childTemplate == null)
				{
					childTemplate = new CAANMsg(EKK1091D010CBSMsg1List.class.getName());
				}

				//異動理由明細.異動理由コード
				childTemplate.setNull(EKK1091D010CBSMsg1List.IDO_RSN_CD);
				childTemplate.set(EKK1091D010CBSMsg1List.IDO_RSN_CD, (String) childMap.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_RSN_CD));

				//異動理由明細.異動理由メモ
				childTemplate.setNull(EKK1091D010CBSMsg1List.IDO_RSN_MEMO);

				templateArray[i] = childTemplate;

				template.set(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST, templateArray);
			}
		}
		else
		{
			//異動理由コード(その他)
			CAANMsg idoRsnTemp = new CAANMsg(EKK1091D010CBSMsg1List.class.getName());
			idoRsnTemp.set(EKK1091D010CBSMsg1List.IDO_RSN_CD, IDO_RSN_CD_56);
			//異動理由明細.異動理由メモ
			idoRsnTemp.setNull(EKK1091D010CBSMsg1List.IDO_RSN_MEMO);

			//異動理由明細
			CAANMsg[] list = new CAANMsg[1];
			list[0] = idoRsnTemp;
			template.set(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST, list);
		}

		//申込明細番号
		template.set(EKK1091D010CBSMsg.MSKM_DTL_NO, workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO));
	}
	// ANK-2293-00-00 対応 FJ)清水 2016/01/13 ADD END
	/**
	 * templateに対してEKK0081C014SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	
	 * @param	inHash		条件用hash
	 * @param	geneAddDtm	
	 * @return
	 */
	public void mappinEKK0081C014SCInMsg(
			CAANMsg template,
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> inHash,
			String geneAddDtm
	)
	{
		// 業務連絡備考
		String tmpWorkRrkBiko = (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_WORK_RRK_BIKO);

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0081C014CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0081C014CBSMsg.TEMPLATEID, "EKK0081C014");

		//機能コード--チェック＆登録
		template.set(EKK0081C014CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//サービス契約番号
		template.set(EKK0081C014CBSMsg.SVC_KEI_NO,  inHash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		//世代登録年月日時分秒
		template.set(EKK0081C014CBSMsg.GENE_ADD_DTM, geneAddDtm);

		//業務連絡備考
		template.set(EKK0081C014CBSMsg.WORK_RRK_BIKO, tmpWorkRrkBiko);

		//更新年月日時分秒（更新前）
		template.set(EKK0081C014CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}

	/**
	 * templateに対してEKK0111A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappingEKK0111A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
//		//まずは全条件のNullマッピング
//		fillCAANMSGNullMapping(template, new EKK0111A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0111A010CBSMsg.TEMPLATEID, "EKK0111A010");

		//機能コード--サービス契約一意照会
		template.set(EKK0111A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0111A010CBSMsg.KEY_SVC_KEI_NO, inHash.get(JKKCancelSvcKeiCC.REQ_PARAM_SVC_KEI_NO));

		//ＫＥＹ＿世代登録年月日時分秒
		template.setNull(EKK0111A010CBSMsg.KEY_GENE_ADD_DTM);
	}

	/**
	 * templateに対してEKK0221A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappingEKK0221A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
//		//まずは全条件のNullマッピング
//		fillCAANMSGNullMapping(template, new EKK0221A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0221A010CBSMsg.TEMPLATEID, "EKK0221A010");

		//機能コード--サービス契約一意照会
		template.set(EKK0221A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0221A010CBSMsg.KEY_SVC_KEI_UCWK_NO, inHash.get(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO));

		//ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.setNull(EKK0221A010CBSMsg.KEY_GENE_ADD_DTM);
	}

	/**
	 * templateに対してEZM0321A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template		条件の設定先
	 * @param	workParamId		業務パラメータID
	 * @return
	 */
	public void mappinEZM0321A010SCInMsg(
			CAANMsg template,
			String workParamId
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EZM0321A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EZM0321A010CBSMsg.TEMPLATEID, "EZM0321A010");

		//機能コード--業務パラメータ管理一意照会
		template.set(EZM0321A010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿業務パラメータID
		template.set(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID, workParamId);
	}

	/**
	 * templateに対してEKU0011A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	kojiakNo	工事案件番号
	 * @return
	 */
	public void mappinEKU0011A010SCInMsg(
			CAANMsg template,
			String kojiakNo
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKU0011A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKU0011A010CBSMsg.TEMPLATEID, "EKU0011A010");

		//機能コード--チェック＆登録
		template.set(EKU0011A010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿工事案件番号
		template.set(EKU0011A010CBSMsg.KEY_KOJIAK_NO, kojiakNo);
	}

	/**
	 * templateに対してEKK0251C050SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template			条件の設定先
	 * @param	svcKeiKaisenUcwkNo	サービス契約回線内訳番号
	 * @param	svcKeiNo			サービス契約番号
	 * @return
	 */
	public void mappinEKK0251C050SCInMsg(
			CAANMsg template,
			String svcKeiKaisenUcwkNo,
			String svcKeiNo
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0251C050CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0251C050CBSMsg.TEMPLATEID, "EKK0251C050");

		// 機能コード--チェック＆登録
		template.set(EKK0251C050CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		// サービス契約回線内訳番号
		template.set(EKK0251C050CBSMsg.SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkNo);

		// 使用終了年月日
		template.set(EKK0251C050CBSMsg.USE_ENDYMD, oPE_DATE);

		// 更新年月日時分秒(更新前)(サービス契約回線内訳)
		template.set(EKK0251C050CBSMsg.KK0251_UPD_DTM_BF, svcKeiUpdDtm);

		// 回線対象サービス契約明細
		CAANMsg childTemplate = new CAANMsg(EKK0251C050CBSMsg1List.class.getName());

		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(childTemplate, new EKK0251C050CBSMsg1List().getContents());

		// 回線対象サービス契約明細.サービス契約番号
		childTemplate.set(EKK0251C050CBSMsg1List.SVC_KEI_NO, svcKeiNo);

		// 回線対象サービス契約明細.更新年月日時分秒(更新前)(回線対象サービス契約)
		childTemplate.set(EKK0251C050CBSMsg1List.KK0241_UPD_DTM_BF, svcKeiUpdDtm);

		CAANMsg[] templateArray = new CAANMsg[]{childTemplate};
		template.set(EKK0251C050CBSMsg.EKK0251C050CBSMSG1LIST, templateArray);
	}

	/**
	 * templateに対してEKK0011D020SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @param	trgt_data	
	 * @return
	 */
	public void mappinEKK0011D020SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash, 
			HashMap<String,Object> trgt_data
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0011D020CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0011D020CBSMsg.TEMPLATEID, "EKK0011D020");

		//機能コード--チェック＆登録
		template.set(EKK0011D020CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//SYSID
		template.set(EKK0011D020CBSMsg.SYSID, inHash.get(EKK0011D020CBSMsg.SYSID));

		//申込種別コード 00006:キャンセル申込
		template.set(EKK0011D020CBSMsg.MSKM_SBT_CD, MKSBT_CD_CANCEL);

		//申込受付年月日時分秒
		template.set(EKK0011D020CBSMsg.MSKM_UK_DTM, oPE_DATE_TIME);

		//申込年月日
		template.set(EKK0011D020CBSMsg.MSKM_YMD, oPE_DATE);

		//コンシューマ営業用申込状態識別コード 04:承認済
		template.set(EKK0011D020CBSMsg.CONSMBSN_MSKM_STAT_SKBT_CD, "04");

		//申込明細
		CAANMsg childTemplate = new CAANMsg(EKK0011D020CBSMsg1List.class.getName());

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(childTemplate, new EKK0011D020CBSMsg1List().getContents());

		// 申込内容承認登録明細.申込形態コード
		childTemplate.set(EKK0011D020CBSMsg1List.MSKM_FORM_CD, "05");

		// 申込内容承認登録明細.連絡事項登録年月日時分秒
		childTemplate.set(EKK0011D020CBSMsg1List.RRK_JIKO_ADD_DTM, oPE_DATE_TIME);

		//ANK-0397-00-00：申込書番号の発番検討における対応について（申込書番号入力可能へ） 2012/09/20 ADD START
		//申込書番号
		childTemplate.set(EKK0011D020CBSMsg1List.MSKMSHO_NO, trgt_data.get(JKKCancelSvcKeiCC.REQ_MSKMSHO_NO));

		//申込書明細番号
		childTemplate.set(EKK0011D020CBSMsg1List.MSKMSHO_DTL_NO, trgt_data.get(JKKCancelSvcKeiCC.REQ_MSKMSHO_DTL_NO));
		//ANK-0397-00-00：申込書番号の発番検討における対応について（申込書番号入力可能へ） 2012/09/20 ADD END

		CAANMsg[] templateArray = new CAANMsg[]{childTemplate};
		template.set(EKK0011D020CBSMsg.EKK0011D020CBSMSG1LIST, templateArray);
	}

	/**
	 * templateに対してEKK0021C060SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template		条件の設定先
	 * @param	trgt_data		業務パラメータ
	 * @param	msgEKK0011D020	申込内容承認登録の実行結果
	 * @return
	 */
	public void mappinEKK0021C060SCInMsg(
			CAANMsg template,
			HashMap<String,Object> trgt_data,
			CAANMsg msgEKK0011D020
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0021C060CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0021C060CBSMsg.TEMPLATEID, "EKK0021C060");

		//機能コード--チェック＆登録
		template.set(EKK0021C060CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		// IT2-2012-000716 2012/07/09 DEL START
		// 業務連絡備考
		// IT2-2012-000716 2012/07/09 DEL END
		String idoDiv = (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV);

		CAANMsg msg1EKK0011D020 = msgEKK0011D020.getCAANMsgList(EKK0011D020CBSMsg.EKK0011D020CBSMSG1LIST)[0];
		String updDtm    = msgEKK0011D020.getString(EKK0011D020CBSMsg.UPD_DTM);
		String mskmDtlNo = msg1EKK0011D020.getString(EKK0011D020CBSMsg1List.MSKM_DTL_NO);

		// 申込明細番号
		template.set(EKK0021C060CBSMsg.MSKM_DTL_NO, mskmDtlNo);

		// 連絡事項登録年月日時分秒
		template.set(EKK0021C060CBSMsg.RRK_JIKO_ADD_DTM, oPE_DATE_TIME);

		// 後続業務依頼年月日
		template.set(EKK0021C060CBSMsg.KZKWRK_REQYMD, oPE_DATE);

		// 更新年月日時分秒(更新前)
		template.set(EKK0021C060CBSMsg.UPD_DTM_BF, updDtm);

		// 異動区分
		template.set(EKK0021C060CBSMsg.IDO_DIV, convEmptyToNull(idoDiv));
	}

	/**
	 * templateに対してEKK0081B013SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	svcKeiNo	サービス契約番号
	 * @return
	 */
	public void mappinEKK0081B013SCInMsg(
			CAANMsg template,
			String svcKeiNo
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0081B013CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0081B013CBSMsg.TEMPLATEID, "EKK0081B013");

		//機能コード--チェック＆登録
		template.set(EKK0081B013CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		// サービス契約番号
		template.set(EKK0081B013CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);
		// 予約適用年月日
		template.set(EKK0081B013CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);
	}

	/**
	 * templateに対してEKK0011B001SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	mskmNo		申込番号
	 * @return
	 */
	public void mappinEKK0011B001SCInMsg(
			CAANMsg template,
			String mskmNo
	)
	{

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0011B001CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0011B001CBSMsg.TEMPLATEID, "EKK0011B001");

		//機能コード--申込サービス契約内訳一覧照会
		template.set(EKK0011B001CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		// ＫＥＹ＿申込番号
		template.set(EKK0011B001CBSMsg.KEY_MSKM_NO, mskmNo);

		// ＫＥＹ＿予約適用年月日
		template.set(EKK0011B001CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);
	}

	/**
	 * templateに対してEKK0011C060の入力項目を設定する<br>
	 * <br>
	 * @param	template			条件の設定先
	 * @param	mskmDtlInfoList		申込明細一意照会結果リスト
	 * @return
	 */
	public void mappinEKK0011C060SCInMsg(
			CAANMsg template,
			ArrayList<HashMap<String, Object>> mskmDtlInfoList
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0011C060CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0011C060CBSMsg.TEMPLATEID, "EKK0011C060");

		//機能コード--チェック＆登録
		template.set(EKK0011C060CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		HashMap<String, Object> mskmDtlInfo = mskmDtlInfoList.get(0);

		//申込番号
		template.set(EKK0011C060CBSMsg.MSKM_NO, mskmDtlInfo.get(EKK0021A010CBSMsg1List.MSKM_NO));

		//申込キャンセル理由コード
		// 2012/12/18 IT1-2012-0002456 MOD START
		template.set(EKK0011C060CBSMsg.MSKM_CANCEL_RSN_CD, "30");
		// 2012/12/18 IT1-2012-0002456 MOD END

		//更新年月日時分秒(更新前)(申込)
		template.set(EKK0011C060CBSMsg.KK0011_UPD_DTM_BF, mskmDtlInfo.get(EKK0021A010CBSMsg1List.LAST_UPD_DTM));

		// コンシューマ営業用申込状態識別コード
		template.set(EKK0011C060CBSMsg.CONSMBSN_MSKM_STAT_SKBT_CD, "04");

		// ST2-2012-0000889 2012/05/13 MOD START
		List<CAANMsg> childTemplateArrayList = new ArrayList<CAANMsg>();
		// ST2-2012-0000889 2012/05/13 ADD END

		for (HashMap<String, Object> tmpMskmDtlInfo : mskmDtlInfoList)
		{
			// ST2-2012-0000889 2012/05/13 ADD START
			// キャンセル済の明細は渡さない
			if (MSKM_DTL_STAT_CANCEL_ZM.equals(tmpMskmDtlInfo.get(EKK0021A010CBSMsg1List.MSKM_DTL_STAT)))
			{
				continue;
			}
			// ST2-2012-0000889 2012/05/13 ADD END

			CAANMsg childTemplate = new CAANMsg(EKK0011C060CBSMsg1List.class.getName());

			// まずは全条件のNullマッピング
			fillCAANMSGNullMapping(childTemplate, new EKK0011C060CBSMsg1List().getContents());

			// 申込明細番号
			childTemplate.set(EKK0011C060CBSMsg1List.MSKM_DTL_NO, tmpMskmDtlInfo.get(EKK0021A010CBSMsg1List.MSKM_DTL_NO));

			// 申込明細キャンセル理由コード
			childTemplate.set(EKK0011C060CBSMsg1List.MSKM_DTL_CANCEL_RSN_CD, "30");

			// ST2-2012-0000889 2012/05/13 MOD START
			childTemplateArrayList.add(childTemplate);
			// ST2-2012-0000889 2012/05/13 MOD END
		}

		// ST2-2012-0000889 2012/05/13 MOD START
		CAANMsg[] childTemplateArray = new CAANMsg[childTemplateArrayList.size()];
		for (int i = 0; i < childTemplateArrayList.size(); i++)
		{
			childTemplateArray[i] = childTemplateArrayList.get(i);
		}
		// ST2-2012-0000889 2012/05/13 MOD END

		// ST2-2012-0000889 2012/05/13 MOD START
		template.set(EKK0011C060CBSMsg.EKK0011C060CBSMSG1LIST, childTemplateArray);
		// ST2-2012-0000889 2012/05/13 MOD END
	}

	/**
	 * templateに対してEKK0021C070の入力項目を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	mskmDtlNo	申込明細番号
	 * @param	updDtm		更新年月日時分秒
	 * @return
	 */
	public void mappinEKK0021C070SCInMsg(
			CAANMsg template,
			String mskmDtlNo,
			String updDtm
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0021C070CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0021C070CBSMsg.TEMPLATEID, "EKK0021C070");

		//機能コード--チェック＆登録
		template.set(EKK0021C070CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//申込明細番号
		template.set(EKK0021C070CBSMsg.MSKM_DTL_NO, mskmDtlNo);

		//申込明細キャンセル理由コード
		// 2012/11/15 IT1-2012-0002044 MOD START
		template.set(EKK0021C070CBSMsg.MSKM_DTL_CANCEL_RSN_CD, "30");
		// 2012/11/15 IT1-2012-0002044 MOD END

		//更新年月日時分秒(更新前)
		template.set(EKK0021C070CBSMsg.UPD_DTM_BF, updDtm);
	}

	/**
	 * templateに対してEKK2541B001の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	resultHash	設定条件
	 * @return
	 */
	public void mappingEKK2541B001InMsg(
			CAANMsg template,
			HashMap<String, Object> resultHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2541B001CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK2541B001CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK2541B001);

		//機能コード
		template.set(EKK2541B001CBSMsg.FUNC_CODE, "1");

		//ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK2541B001CBSMsg.KEY_KKTK_SVC_KEI_NO, resultHash.get(EKK2541B001CBSMsg1List.KKTK_SVC_KEI_NO));
	}

	/**
	 * templateに対してEKK2541C170の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 * @return
	 */
	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, TEMPLATE_ID_EKK2541C170);

		//機能コード--チェック＆登録
		template.set(EKK2541C170CBSMsg.FUNC_CODE, "1");

		//割賦契約一覧照会の結果取得
		HashMap<String, Object> eKK2541B001Hash = null;
		eKK2541B001Hash = (HashMap<String, Object>)resultHash.get(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, IDO_KBN_CANCEL);

		//更新年月日時分秒(更新前)
		template.set(EKK2541C170CBSMsg.UPD_DTM_BF, eKK2541B001Hash.get(EKK2541B001CBSMsg1List.UPD_DTM));
	}

	/**
	 * templateに対してETU0011B018SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingETU0011B018SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{

		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new ETU0011B018CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(ETU0011B018CBSMsg.TEMPLATEID, "ETU0011B018");

		//機能コード--サービス契約一意照会
		template.set(ETU0011B018CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約番号
		template.set(ETU0011B018CBSMsg.KEY_SVC_KEI_NO, inHash.get(EKK0161B004CBSMsg1List.SVC_KEI_NO));
	}

	/**
	 * templateに対してEKK0771A010の入力項目を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappinEKK0771A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0771A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0771A010CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0771A010);

		// 機能コード
		template.set(EKK0771A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 機器提供サービスコード
		template.set(EKK0771A010CBSMsg.KEY_KKTK_SVC_CD, inHash.get(EKK0341A010CBSMsg1List.KKTK_SVC_CD));
	}

	/**
	 * templateに対してEKK1021B003の入力項目を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappinEKK1021B003SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK1021B003CBSMsg().getContents());

		// テンプレートID
		template.set(EKK1021B003CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK1021B003);

		// 機能コード
		template.set(EKK1021B003CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 申込明細番号
		template.set(EKK1021B003CBSMsg.KEY_MSKM_DTL_NO, inHash.get(EKK0341A010CBSMsg1List.MSKM_DTL_NO));
	}

	/**
	 * templateに対してEKK1021C010の入力項目を設定する<br>
	 * <br>
	 * @param	template		条件の設定先
	 * @param	inHash			条件用Hash
	 * @param	eKK1021B003Hash	
	 * @return
	 */
	public void mappinEKK1021C010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash,
			HashMap<String, Object> eKK1021B003Hash
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK1021B003CBSMsg().getContents());

		// テンプレートID
		template.set(EKK1021C010CBSMsg.TEMPLATEID, 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));
	}

	/**
	 * templateに対してECK0011A010の入力項目を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappinECK0011A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new ECK0011A010CBSMsg().getContents());

		// テンプレートID
		template.set(ECK0011A010CBSMsg.TEMPLATEID, "ECK0011A010");

		// 機能コード
		template.set(ECK0011A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);

		// SYSID
		template.set(ECK0011A010CBSMsg.KEY_SYSID, (String) inHash.get(EKK0081A010CBSMsg1List.SYSID));

		// 予約適用年月日
		template.set(ECK0011A010CBSMsg.KEY_RSV_APLY_YMD, JKKBpCommon.getOpeDate(null));
	}

	/**
	 * 工事案件ＣＣマッピング<br>
	 * <br>
	 * @param	trgt_data		
	 * @param	workField		
	 * @param	eKK0021A010Hash	
	 * @param	eKK0081A010Hash	
	 * @param	eKU0081B010Hash	
	 * @return
	 */
	public HashMap<String, Object> mappingKojiCC(
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> workField,
			HashMap<String, Object> eKK0021A010Hash,
			HashMap<String, Object> eKK0081A010Hash,
			HashMap<String, Object> eKU0081B010Hash
	)
	{
		HashMap targetMap = new HashMap<String, Object>();

		// 工事受付コード
		targetMap.put(JKKKojiAnkenConstCC.KOJI_UK_CD, KOJIUKCD_KOJIDNTUSE);

		// ST2-2012-0000889 2012/05/13 MOD START
		// 工事受付詳細コード
		List<Map<String, Object>> enableServices = (List<Map<String, Object>>)workField.get(JKKCancelSvcKeiCC.WORK_FIELD_ENABLE_SERVICES);
		if (enableServices == null || enableServices.size() == 0)
		{
			targetMap.put(JKKKojiAnkenConstCC.KOJI_UK_DTL_CD, KOJI_UK_DTL_CD_CANSEL);
		}
		else
		{
			targetMap.put(JKKKojiAnkenConstCC.KOJI_UK_DTL_CD, KOJI_UK_DTL_CD_DSL_KISN_ZAN);
			targetMap.put(JKKKojiAnkenConstCC.DSL_KIBO_YMD, JCCBPCommon.getOpeDate(null));
		}
		// ST2-2012-0000889 2012/05/13 MOD END

		// SYSID
		targetMap.put(JKKKojiAnkenConstCC.SYSID, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SYSID));

		// 申込番号
		targetMap.put(JKKKojiAnkenConstCC.MSKM_NO, workField.get(JKKCancelSvcKeiCC.MSKM_NO));

		// 申込明細番号
		targetMap.put(JKKKojiAnkenConstCC.MSKM_DTL_NO, workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO));

		// サービス契約番号
		targetMap.put(JKKKojiAnkenConstCC.SVC_KEI_NO, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		// 工事案件番号
		targetMap.put(JKKKojiAnkenConstCC.KOJIAK_NO, eKU0081B010Hash.get(EKU0081B010CBSMsg1List.KOJIAK_NO));

		// 旧SYSID
		targetMap.put(JKKKojiAnkenConstCC.OLD_SYSID, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SYSID));

		// 旧申込番号
		targetMap.put(JKKKojiAnkenConstCC.OLD_MSKM_NO, eKK0021A010Hash.get(EKK0021A010CBSMsg1List.MSKM_NO));

		// 旧申込明細番号
		targetMap.put(JKKKojiAnkenConstCC.OLD_MSKM_DTL_NO, eKK0021A010Hash.get(EKK0021A010CBSMsg1List.MSKM_DTL_NO));

		// 旧サービス契約番号
		targetMap.put(JKKKojiAnkenConstCC.OLD_SVC_KEI_NO, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		// 旧サービス契約番号
		targetMap.put(JKKKojiAnkenConstCC.OLD_KOJIAK_NO, eKU0081B010Hash.get(EKU0081B010CBSMsg1List.KOJIAK_NO));

		// ANK-1386-00-00 工事費算出のために工事案件スキーマへの異動区分更新 ADD START
		// 異動区分
		targetMap.put(JKKKojiAnkenConstCC.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		// ANK-1386-00-00 工事費算出のために工事案件スキーマへの異動区分更新 ADD END

		return targetMap;
	}

	/**
	 * 工事案件ＣＣマッピング<br>
	 * <br>
	 * @param	trgt_data					
	 * @param	workField					
	 * @param	eKK0021A010Hash				
	 * @param	eKK0081A010Hash				
	 * @param	eKU0081B010Hash				
	 * @param	eKK0341A010HashListKojiak	
	 * @return
	 */
	public HashMap<String, Object> mappingKojiakCCKkifChg(
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> workField,
			HashMap<String, Object> eKK0021A010Hash,
			HashMap<String, Object> eKK0081A010Hash,
			HashMap<String, Object> eKU0081B010Hash,
			ArrayList<HashMap<String, Object>> eKK0341A010HashListKojiak
	)
	{
		HashMap targetMap = new HashMap<String, Object>();

		// 工事受付コード
		targetMap.put(JKKKojiAnkenConstCC.KOJI_UK_CD, KOJIUKCD_NAIYO_CHG);

		// 工事受付詳細コード
		targetMap.put(JKKKojiAnkenConstCC.KOJI_UK_DTL_CD, KOJI_UK_DTL_CD_KKIF_CHG);

		// SYSID
		targetMap.put(JKKKojiAnkenConstCC.SYSID, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SYSID));

		// 申込番号
		targetMap.put(JKKKojiAnkenConstCC.MSKM_NO, workField.get(JKKCancelSvcKeiCC.MSKM_NO));

		// 申込明細番号
		targetMap.put(JKKKojiAnkenConstCC.MSKM_DTL_NO, workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO));

		// サービス契約番号
		targetMap.put(JKKKojiAnkenConstCC.SVC_KEI_NO, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		// 工事案件番号
		targetMap.put(JKKKojiAnkenConstCC.KOJIAK_NO, eKU0081B010Hash.get(EKU0081B010CBSMsg1List.KOJIAK_NO));

		// 旧SYSID
		targetMap.put(JKKKojiAnkenConstCC.OLD_SYSID, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SYSID));

		// 旧申込番号
		targetMap.put(JKKKojiAnkenConstCC.OLD_MSKM_NO, eKK0021A010Hash.get(EKK0021A010CBSMsg1List.MSKM_NO));

		// 旧申込明細番号
		targetMap.put(JKKKojiAnkenConstCC.OLD_MSKM_DTL_NO, eKK0021A010Hash.get(EKK0021A010CBSMsg1List.MSKM_DTL_NO));

		// 旧サービス契約番号
		targetMap.put(JKKKojiAnkenConstCC.OLD_SVC_KEI_NO, eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		// 旧工事案件番号
		targetMap.put(JKKKojiAnkenConstCC.OLD_KOJIAK_NO, eKU0081B010Hash.get(EKU0081B010CBSMsg1List.KOJIAK_NO));

		// 宅内機器情報一覧
		ArrayList<HashMap<String, Object>> taknkikiInfoList = new ArrayList<HashMap<String, Object>>();
		targetMap.put(JKKKojiAnkenConstCC.TAKNKIKI_INFO_LIST, taknkikiInfoList);

		for(HashMap<String, Object> eKK0341A010Hash : eKK0341A010HashListKojiak)
		{
			HashMap<String, Object> taknkikiInfo = new HashMap<String, Object>();
			taknkikiInfoList.add(taknkikiInfo);

			// 機器提供サービス契約番号
			taknkikiInfo.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO, eKK0341A010Hash.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));

			// 機器提供サービス契約番号_世代登録年月日時分秒
			taknkikiInfo.put(JKKKojiAnkenConstCC.KKTK_SVC_KEI_NO_GENE_ADD_DTM, eKK0341A010Hash.get(EKK0341A010CBSMsg1List.GENE_ADD_DTM));

			// 変更前機器提供サービス契約番号
			taknkikiInfo.put(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO, eKK0341A010Hash.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));

			// 変更前機器提供サービス契約番号_世代登録年月日時分秒
			taknkikiInfo.put(JKKKojiAnkenConstCC.CHGBF_KKTK_SVC_KEI_NO_GENE_ADD_DTM, eKK0341A010Hash.get(EKK0341A010CBSMsg1List.GENE_ADD_DTM));
		}

		// ANK-1386-00-00 工事費算出のために工事案件スキーマへの異動区分更新 ADD START
		// 異動区分
		targetMap.put(JKKKojiAnkenConstCC.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		// ANK-1386-00-00 工事費算出のために工事案件スキーマへの異動区分更新 ADD END

		return targetMap;
	}

	/**
	 * 
	 * @param	trgt_data
	 * @param	workField
	 * @param	eKK0081A010Hash
	 * @return
	 */
	public HashMap<String, Object> mappinguButuryuCC(
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> workField,
			HashMap<String, Object> eKK0081A010Hash,
			String svcKeiNoPair
	)
	{
		// 物流マップ
		HashMap<String, Object> buturyu_map = new HashMap<String, Object>();

		// 異動区分：キャンセル
		buturyu_map.put("ido_div", (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		// SYSID
		buturyu_map.put("sysid", (String)eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SYSID));
		// サービス契約番号
		buturyu_map.put("svc_kei_no", (String)eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));
		// 料金グループコード
		buturyu_map.put("prc_grp_cd", (String)eKK0081A010Hash.get(EKK0081A010CBSMsg1List.PRC_GRP_CD));
		// 申込明細番号
		buturyu_map.put("mskm_dtl_no",  (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO));
		// 工事案件ステータス
		buturyu_map.put("kojiak_stat", "");
		// 工事案件番号
		buturyu_map.put("kojiak_no", "");
		if (svcKeiNoPair != null && !"".equals(svcKeiNoPair)) {
			buturyu_map.put("pea_svc_kei_no", svcKeiNoPair);
		}
		// OM-2013-0004633 買取機器の返品データが作成されない ADD START
		buturyu_map.put("kaitori_kiki_hmpin_flg",  "1");
		// OM-2013-0004633 買取機器の返品データが作成されない ADD END

		return buturyu_map;
	}

	/**
	 * 通知書登録CCの上りマッピングを行います。
	 * <br>
	 * @param	trgt_data 対象データ
	 * @param	workField ワーク領域
	 * @param	eKK0081A010Hash サービス契約一意照会明細
	 * @param	eKK0561B002Hash 通知書一覧照会（SYSID）明細
	 * @return 通知書登録CCの入力パラメータ
	 */
	public HashMap<String, Object> mappingTchishoAddCC(
			HashMap<String, Object> trgt_data,
			HashMap<String, Object> workField,
			HashMap<String, Object> eKK0081A010Hash,
			// OM-2014-0001140 照査取消後にID通知書が出力されない 2014/04/24 START
			HashMap<String, Object> eKK0561B002Hash
			// OM-2014-0001140 照査取消後にID通知書が出力されない 2014/04/24 END
	)
	{
		// 対象データ
		HashMap<String, Object> workMap = new HashMap<String, Object>(); 

		// SYSID
		workMap.put("sysid", (String)eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SYSID));

		// OM-2014-0001140 照査取消後にID通知書が出力されない 2014/04/24 START
//		// サービス契約番号
//		workMap.put("svc_kei_no", (String)eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));
//
//		// 料金グループコード
//		workMap.put("prc_grp_cd", (String)eKK0081A010Hash.get(EKK0081A010CBSMsg1List.PRC_GRP_CD));
//		
//		// 配送番号
//		workMap.put("haiso_no", "");
//
//		// 申込明細番号
//		workMap.put("mskm_dtl_no", (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO));
//
//		// 申込書番号
//		workMap.put("mskmsho_no", "");
//
//		// 工事案件番号
//		workMap.put("kojiak_no", "");
//
//		// 倉庫コード
//		workMap.put("soko_cd", "");

		// 通知書番号
		workMap.put("tchisho_no", (String)eKK0561B002Hash.get(EKK0561B002CBSMsg1List.TCHISHO_NO));

		// サービス契約番号リスト
		String svcKeiNo = (String)eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO);
		ArrayList<String> svcKeiNoList = new ArrayList<String>();
		svcKeiNoList.add(svcKeiNo);
		workMap.put("svc_kei_no_list", svcKeiNoList);
		// OM-2014-0001140 照査取消後にID通知書が出力されない 2014/04/24 END

		return workMap;
	}

	/**
	 * 結果をHashとして抽出する<br>
	 * <br>
	 * @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として抽出する<br>
	 * <br>
	 * @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;
	}
	
	//▼▼▼▼▼【ANK-2056-00-00】光電話セレクトオプションパックADD START▼▼▼▼▼
	/**
	 *<DL>
	 *<DT>処理概要:電話セレクトオプションパック操作部品
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param	param			(I) 業務データ取得用I/F
	 * @param	fixedText		ユーザ任意文字列
	 * @param	idoDiv			
	 * @param	mskmNo			申込番号
	 * @param	ekk0081a010Map	サービス契約一意照会結果
	 * @param	workField		
	 * @return
	 * @throws	RequestParameterException
	 */
	public void editJKKTelSelectOpPackOperate(
			IRequestParameterReadWrite param,
			HashMap<String, Object>trgt_data,
			HashMap<String, Object> eKK0081A010Hash,
			String trnDiv,
			String packDiv,
			String SvcKeiUcwkNo,
			HashMap<String, Object> workField,
			String fixedText)
	throws RequestParameterException 
	{
		HashMap outMap = (HashMap)param.getData(fixedText);
		if (outMap == null)
		{
			outMap= new HashMap();
			param.setData(fixedText, outMap);
		}
		
		//機能コード(チェック＆登録)
		outMap.put("func_cd", JPCModelConstant.FUNC_CD_1);
		//処理区分
		outMap.put("trn_div", trnDiv);
		//SYSID
		outMap.put("sysid", eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SYSID));
		// サービス契約番号
		outMap.put("svc_kei_no", eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));
		//サービス契約内訳番号
		outMap.put("svc_kei_ucwk_no", SvcKeiUcwkNo);
		// 申込明細番号
		outMap.put("mskm_dtl_no", workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO));
		
		//サービス解約理由コード
		outMap.put("svc_dlre_cd", SVC_DLRE_CD_NORMAL);
		//起算日
		outMap.put("kisan_ymd", oPE_DATE);
		//サービスキャンセル理由コード
		outMap.put("svc_cancel_rsn_cd",workField.get(JKKCancelSvcKeiCC.CANCEL_RSN_CD));
		//異動区分
		outMap.put("ido_div",IDO_KBN_CANCEL);
		//パック割区分
		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	param			(I) 業務データ取得用I/F
	 * @param	fixedText		ユーザ任意文字列
	 * @param	idoDiv			
	 * @param	mskmNo			申込番号
	 * @param	ekk0081a010Map	サービス契約一意照会結果
	 * @param	workField		
	 * @return
	 * @throws	RequestParameterException
	 */
	public void editMapWrisvcAutoAply(
			IRequestParameterReadWrite param,
			String fixedText,
			String idoDiv,
			String mskmNo,
			HashMap ekk0081a010Map,
			HashMap<String,Object> workField
	) throws RequestParameterException 
	{
		String svcEndymd     = oPE_DATE;
		String svcChrgEndymd = oPE_DATE;

		HashMap outMap = (HashMap)param.getData(fixedText);

		// ＳＹＳＩＤ
		outMap.put("sysid", ekk0081a010Map.get(EKK0081A010CBSMsg1List.SYSID));

		//▼▼▼▼▼ LT-2013-0000447 2013/07/13 割引CCに渡すパラメータが不正 MOD START ▼▼▼▼▼
//IT1-2019-0000085 MOD START
//		if (SVC_KEI_STAT_CNC_ZM.equals((String)ekk0081a010Map.get(EKK0081A010CBSMsg1List.SVC_KEI_STAT)))
		// 締結済、サービス提供中、休止・中断中、停止中の場合
		if (
				SVC_KEI_STAT_CNC_ZM.equals((String)ekk0081a010Map.get(EKK0081A010CBSMsg1List.SVC_KEI_STAT))
				|| SVC_KEI_STAT_SVCTK_CHU.equals((String)ekk0081a010Map.get(EKK0081A010CBSMsg1List.SVC_KEI_STAT))
				|| SVC_KEI_STAT_STAT_PAUSE.equals((String)ekk0081a010Map.get(EKK0081A010CBSMsg1List.SVC_KEI_STAT))
				|| SVC_KEI_STAT_STAT_STP.equals((String)ekk0081a010Map.get(EKK0081A010CBSMsg1List.SVC_KEI_STAT))
		)
//IT1-2019-0000085 MOD END
		{
			// 処理実行前のサービス契約ステータスが「締結済」の場合
			// 登録／変更区分
			outMap.put("add_chge_div", "03");
			// サービス解約理由コード
			outMap.put("svc_dlre_cd", SVC_DLRE_CD_NORMAL);
		}
		else
		{
			// 処理実行前サービス契約ステータスが「締結済」以外の場合(実質照査済しか存在しない)
			// 登録／変更区分
			outMap.put("add_chge_div", "05");
			// サービスキャンセル理由コード
			outMap.put("svc_cancel_rsn_cd", workField.get(JKKCancelSvcKeiCC.CANCEL_RSN_CD));
		}
//		// 登録／変更区分
//		outMap.put("add_chge_div", "05");
		//▲▲▲▲▲ LT-2013-0000447 2013/07/13 割引CCに渡すパラメータが不正 MOD END   ▲▲▲▲▲

		// 申込番号
		outMap.put("mskm_no", mskmNo);

		// 申込種別コード
		outMap.put("mskm_sbt_cd", MKSBT_CD_CANCEL);

		// 異動区分
		outMap.put("ido_div", idoDiv);

		// 機能コード
		outMap.put("func_code", JPCModelConstant.FUNC_CD_1);

		//▼▼▼▼▼ LT-2013-0000447 2013/07/13 割引CCに渡すパラメータが不正 DEL START ▼▼▼▼▼
		//上に移動
		//		// サービスキャンセル理由コード
//		outMap.put("svc_cancel_rsn_cd", workField.get(JKKCancelSvcKeiCC.CANCEL_RSN_CD));
		//▲▲▲▲▲ LT-2013-0000447 2013/07/13 割引CCに渡すパラメータが不正 DEL END   ▲▲▲▲▲

		// サービス契約グループリスト
		ArrayList<HashMap> workSvcKeiArray = new ArrayList<HashMap>();
		HashMap<String, Object> workSvcKeiMap = new HashMap<String, Object>();

		// グループ区分
		workSvcKeiMap.put("grp_div", JKKDslRun.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", JKKDslRun.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));

		// サービス終了年月日
		if (svcEndymd == null || "".equals(svcEndymd))
		{
			workSvcKeiData.put("svc_endymd", ekk0081a010Map.get(EKK0081A010CBSMsg1List.SVC_ENDYMD));
		}
		else
		{
			workSvcKeiData.put("svc_endymd", svcEndymd);
		}

		// サービス課金終了年月日
		if (svcChrgEndymd == null || "".equals(svcChrgEndymd))
		{
			workSvcKeiData.put("svc_chrg_endymd", ekk0081a010Map.get(EKK0081A010CBSMsg1List.SVC_CHRG_ENDYMD));
		}
		else
		{
			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);
	}

	/**
	 *<DL>
	 *<DT>処理概要:番ポ対応履歴登録部品
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param	param			(I) 業務データ取得用I/F
	 * @param	msgEKK0081A010	サービス契約一意照会結果
	 * @param	msgETU0011A010	番ポ工事一意照会結果
	 * @param	msgECK0011A010	お客様一意照会結果
	 * @param	opeID			
	 * @param orgCd 組織コード
	 * @param orgNm 組織名
	 * @return 番ポ対応履歴登録部品パラメータ
	 */
	@SuppressWarnings("unchecked")
	public  HashMap<String, Object>  editMapBmpTaiorrki(
			IRequestParameterReadWrite param,
			HashMap<String, Object> msgEKK0081A010,
			HashMap<String, Object> msgETU0011A010,
			HashMap<String, Object> msgECK0011A010,
			// OM-2013-0002656 対応履歴情報に「テスト用全機能利用権限者」と登録される 2014/03/27 START
//			String opeID
			String opeID,
			String orgCd,
			String orgNm
			// OM-2013-0002656 対応履歴情報に「テスト用全機能利用権限者」と登録される 2014/03/27 END
	)
	{
		HashMap<String, Object> taiorrk = new HashMap<String, Object>();

		// 登録種別
		taiorrk.put(JKKAddBmpTaiorrkiConstCC.TRK_SBT, CANCEL_TCHI);

		// SYSID
		taiorrk.put(JKKAddBmpTaiorrkiConstCC.SYSID, null);

		// お客様名
		taiorrk.put(JKKAddBmpTaiorrkiConstCC.CUST_NM, msgECK0011A010.get(ECK0011A010CBSMsg1List.CUST_NM));

		// 申込日
		taiorrk.put(JKKAddBmpTaiorrkiConstCC.MSKM_YMD, JCCBPCommon.getOpeDate(null));

		// NTT受付番号
		taiorrk.put(JKKAddBmpTaiorrkiConstCC.NTT_UKE_NO, msgETU0011A010.get(ETU0011A010CBSMsg1List.NTT_UK_NO));

		// 電話番号
		taiorrk.put(JKKAddBmpTaiorrkiConstCC.TELNO, null);

		// 設置場所住所コード
		taiorrk.put(JKKAddBmpTaiorrkiConstCC.SETPLACE_AD_CD, null);

		// サービス契約番号
		taiorrk.put(JKKAddBmpTaiorrkiConstCC.SVC_KEI_NO, msgEKK0081A010.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		// ユーザID
		taiorrk.put(JKKAddBmpTaiorrkiConstCC.USER_ID, opeID);

		// 工事日時
		taiorrk.put(JKKAddBmpTaiorrkiConstCC.KOJI_DTM, null);

		// OM-2013-0002656 対応履歴情報に「テスト用全機能利用権限者」と登録される 2014/03/27 START
		// 組織コード
		taiorrk.put(JKKAddBmpTaiorrkiConstCC.ORG_CD, orgCd);

		// 組織名
		taiorrk.put(JKKAddBmpTaiorrkiConstCC.ORG_NM, orgNm);
		// OM-2013-0002656 対応履歴情報に「テスト用全機能利用権限者」と登録される 2014/03/27 END

		return taiorrk;
	}

	/**
	 * templateに対してETU0011A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappingETU0011A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0191A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(ETU0011A010CBSMsg.TEMPLATEID, "ETU0011A010");

		//機能コード--サービス契約一意照会
		template.set(ETU0011A010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿サービス契約内訳番号
		template.set(ETU0011A010CBSMsg.KEY_BMP_KOJI_NO, inHash.get(ETU0011B018CBSMsg1List.BMP_KOJI_NO));

		//ＫＥＹ＿世代登録年月日時分（形だけの設定）
		template.set(ETU0011A010CBSMsg.KEY_GENE_ADD_DTM, inHash.get(ETU0011B018CBSMsg1List.GENE_ADD_DTM));
	}


	/************************************************************************************************/
	/** 共通処理                                                                                   **/
	/************************************************************************************************/
	/**
	 * 各S/IFが保持する項目の配列を取得する
	 * 
	 * @param templateId サービスIF_ID
	 * @return 項目の配列
	 */
	private Object[][] getContents(String templateId)
	{
		Object[][] contents = null;

		if ("EKK0011B020".equals(templateId))
		{
			contents = new EKK0011B020CBSMsg().getContents();
		}
		else if ("EKK0011B020CBSMsg1List".equals(templateId))
		{
			contents = new EKK0011B020CBSMsg1List().getContents();
		}
		else if ("EKK0011C060".equals(templateId))
		{
			contents = new EKK0011C060CBSMsg().getContents();
		}
		else if ("EKK0011C060CBSMsg1List".equals(templateId))
		{
			contents = new EKK0011C060CBSMsg1List().getContents();
		}
		else if ("EKK0011D020".equals(templateId))
		{
			contents = new EKK0011D020CBSMsg().getContents();
		}
		else if ("EKK0011D020CBSMsg1List".equals(templateId))
		{
			contents = new EKK0011D020CBSMsg1List().getContents();
		}
		else if ("EKK0021C060".equals(templateId))
		{
			contents = new EKK0021C060CBSMsg().getContents();
		}
		else if ("EKK0021C070".equals(templateId))
		{
			contents = new EKK0021C070CBSMsg().getContents();
		}
		else if ("EKK0251C050".equals(templateId))
		{
			contents = new EKK0251C050CBSMsg().getContents();
		}
		else if ("EKK0251C050CBSMsg1List".equals(templateId))
		{
			contents = new EKK0251C050CBSMsg1List().getContents();
		}
		else if ("EKU0011A010".equals(templateId))
		{
			contents = new EKU0011A010CBSMsg().getContents();
		}
		else if ("EKU0011A010CBSMsg1List".equals(templateId))
		{
			contents = new EKU0011A010CBSMsg1List().getContents();
		}
		// ANK-1306-00-00 2013/01/24 ADD START
		else if ("EKK1021B003".equals(templateId))
		{
			contents = new EKK1021B003CBSMsg().getContents();
		}
		else if ("EKK1021B003CBSMsg1List".equals(templateId))
		{
			contents = new EKK1021B003CBSMsg1List().getContents();
		}
		else if ("EKK1021C010".equals(templateId))
		{
			contents = new EKK1021C010CBSMsg().getContents();
		}
		// ANK-1306-00-00 2013/01/24 ADD END
		// ANK-1421-00-00 2013/02/07 ADD START
		else if ("EKK0771A010".equals(templateId))
		{
			contents = new EKK0771A010CBSMsg().getContents();
		}
		else if ("EKK0771A010CBSMsg1List".equals(templateId))
		{
			contents = new EKK0771A010CBSMsg1List().getContents();
		}
		// ANK-1421-00-00 2013/02/07 ADD END
// ANK-4494-00-00 Step2品質強化対応No.33 20241204 星野 ADD START
		else if ("EZM0121A010".equals(templateId))
		{
			contents = new EZM0121A010CBSMsg().getContents();
		}
		else if ("EZM0121A010CBSMsg1List".equals(templateId))
		{
			contents = new EZM0121A010CBSMsg1List().getContents();
		}
		else if ("EZM0121C010".equals(templateId))
		{
			contents = new EZM0121C010CBSMsg().getContents();
		}
// ANK-4494-00-00 Step2品質強化対応No.33 20241204 星野 ADD END
		

		return contents;
	}

	/**
	 * サービスI/F実行用の共通部を設定します<br>
	 * <br>
	 * @param	param		(I) 業務データ取得用I/F
	 * @return	HashMap		
	 */
	public HashMap<String, Object> editInMsgCmn(IRequestParameterReadOnly param)
	throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// 電文ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());

		// ユースケースID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());

		// オペレーションID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());

		// サービス呼び出し区分
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());

		// 依頼先ホスト名
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));

		// 依頼元IPアドレス
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));

		// 依頼元画面ID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));

		// オペレータID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));

		return paramMap;
	}

	/**
	 * 条件部の共通する項目の設定<br>
	 * <br>
	 * @param	param		リクエストパラメータ
	 * @param	template	条件の設定先
	 * @throws	RequestParameterException
	 */
	public void editBasicCmn(IRequestParameterReadOnly param, CAANMsg template)
	throws RequestParameterException
	{
		// オペレータID
		Object operatorId = param.getControlMapData(SCControlMapKeys.OPERATOR_ID);
		template.set(JCMConstants.OPERATOR_ID_KEY, operatorId);

		// 運用日付
		Object operateDate = param.getControlMapData(SCControlMapKeys.OPE_DATE);
		template.set(JCMConstants.OPERATE_DATE_KEY, operateDate);

		// 運用日時
		Object operateDateTime = param.getControlMapData(SCControlMapKeys.OPE_TIME);
		template.set(JCMConstants.OPERATE_DATETIME_KEY, operateDateTime);
	}


	/**
	 * 持ちうるフィールドにNullマッピングで埋める
	 * @param msg 対象クラス
	 * @param contents 対応クラスのフィールド列挙
	 */
	private void fillCAANMSGNullMapping(CAANMsg msg, Object[][] contents)
	{
		// 要素ごとのループ
		for(int i = 0 ; i < contents.length ; i++)
		{
			Object element = null;

			// キーに該当する箇所の取得
			element = contents[i][0];

			// Nullでマッピング
			msg.setNull((String)element);
		}
	}


	/**
	 * <pre>
	 * サービスコンポーネント実行後に、IRequestParameterReadWriteに必要なデータをマッピングする
	 * 
	 * </pre>
	 * @param msgList CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable
	 */
	public IRequestParameterReadWrite editResultRP(
			Map<?, ?> msgList,
			IRequestParameterReadWrite param,
			String fixedText
	) throws Throwable 
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg template = templates[0];

		// リターンコード取得
		Integer returnCode = (Integer)msgList.get(JCMConstants.RET_CD_INT_KEY);

		// テンプレートID、ステータス取得
		String templateId = template.getString(JCMConstants.TEMPLATE_ID_KEY);
		int templateStatus = template.getInt(JCMConstants.STATUS_INT_KEY);

		if (returnCode.intValue() != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		/* ユーザデータ情報 */
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ユーザデータ情報にエラー情報をマッピング
		// 項目の配列を取得
		Object[][] contents = getContents(templateId);
		// エラーIDをマッピング
		mappingErrId(inMap, template, contents);

		// 明細に対するマッピング処理
		// ※明細1のみ対応
		String msg1ListId = templateId + "CBSMsg1List";
		CAANMsg[] templateArray = template.getCAANMsgList(msg1ListId);
		if (templateArray != null)
		{
			ArrayList inList = (ArrayList)inMap.get(msg1ListId);
			if (inList == null)
			{
				inList = new ArrayList();
				inMap.put(msg1ListId, inList);
			}

			for (int i = 0; i < templateArray.length; i++)
			{
				if (i >= inList.size())
				{
					inList.add(new HashMap());
				}

				HashMap childMap = (HashMap)inList.get(i);
				CAANMsg childTemplate = templateArray[i];

				Object[][] msg1ListContents = getContents(msg1ListId);

				mappingErrId(childMap, childTemplate, msg1ListContents);
			}
		}

		// エラー情報のマップを取得
		ArrayList<Object> errList = (ArrayList<Object>)param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if(errList == null)
		{
			errList = new ArrayList<Object>();
		}

		// コントロールマップに設定
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(msgList, errList));

		return param;
	}


	/**
	 * 各S/IFのエラーIDをマッピングする
	 * 
	 * @param inMap 入力マップ
	 * @param template サービスIFマップ
	 * @param contents サービスIFの項目配列
	 */
	private void mappingErrId(
			HashMap inMap,
			CAANMsg template,
			Object[][] contents
	)
	{
		for(int i = 0 ; contents != null && i < contents.length ; i++)
		{
			String element = null;
			element = (String)contents[i][0];
			if (element.indexOf("_err") > 0)
			{
				if (!template.isNull(element))
				{
					if (!inMap.containsKey(element))
					{
						inMap.put(element, template.getString(element));
					}
				}
			}
		}
	}

	// SEP-0020-00-00 現行ICS指摘対応：337 ADD START
	/**
	 * 非課金判定部品実行処理
	 * 
	 * @param inMap 業務情報を保持するマップ
	 * @param workField ワーク領域
	 * @param msgEKK0081A010 サービス契約一意照会結果
	 * @param msgEKK0161A010 サービス契約内訳一意照会結果
	 * @param msgEKK0351A010 オプションサービス契約一意照会結果
	 * @param msgEKK0401A010 サブオプションサービス契約一意照会結果
	 * @param dslSbtFlg 解約対象フラグ
	 * @throws RequestParameterException
	 * @throws Throwable 
	 */
	public HashMap<String, Object> runHiChrgJdgUtil(
			SessionHandle handle,
			IRequestParameterReadWrite param,
			HashMap<String, Object> inMap,
			HashMap<String, Object> workField,
			HashMap<String, Object> msgEKK0081A010,
			HashMap<String, Object> msgEKK0161A010,
			HashMap<String, Object> msgEKK0351A010,
			HashMap<String, Object> msgEKK0401A010,
			String dslSbtFlg
	) throws Throwable
	{
		// 引数チェック
		if(dslSbtFlg == null)
		{
			throw new IllegalArgumentException("解約種別フラグが設定されていません");
		}
		else if(msgEKK0081A010 == null)
		{
			throw new IllegalArgumentException("サービス契約一意照会結果が設定されていません");
		}
		else if(
				!JKKCancelSvcKeiCC.DSL_SBT_FLG_SVC_KEI_DSL.equals(dslSbtFlg)
				&& !JKKCancelSvcKeiCC.DSL_SBT_FLG_OP_SVC_KEI_DSL.equals(dslSbtFlg)
				&& !JKKCancelSvcKeiCC.DSL_SBT_FLG_SBOP_SVC_KEI_DSL.equals(dslSbtFlg)
		)
		{	// サポート外の解約種別フラグを選択された場合、エラー

			throw new IllegalArgumentException("不正な解約種別フラグが選択されました。");
		}
		else if(
				(JKKCancelSvcKeiCC.DSL_SBT_FLG_OP_SVC_KEI_DSL.equals(dslSbtFlg) && (msgEKK0351A010 == null))
				|| (JKKCancelSvcKeiCC.DSL_SBT_FLG_SBOP_SVC_KEI_DSL.equals(dslSbtFlg) && (msgEKK0401A010 == null))
		)
		{	// 指定した解約種別フラグに対応した結果オブジェクトが設定されていない場合、エラー

			throw new IllegalArgumentException("指定した解約種別フラグに応じた結果オブジェクトが設定されていません");
		}

		// ▼▼▼▼▼ 2012/11/16 IT1-2012-0002095 DEL START ▼▼▼▼▼
//		// サービス契約解約指定で、ワーク領域に存在する場合、ワーク領域から削除する
//		if(DSL_SBT_FLG_SVC_KEI_DSL.equals(dslSbtFlg) && getWorkjdgHiChrgJdgUtil(workField) != null)
		// ワーク領域に存在する場合、ワーク領域から削除する
		if(getWorkjdgHiChrgJdgUtil(workField) != null)
		{
			delWorkJdgHiChrgJdgUtil(workField);
		}
		// ▲▲▲▲▲ 2012/11/16 IT1-2012-0002095 DEL E N D ▲▲▲▲▲

		HashMap<String, Object> trgtData = null;
		HashMap<String, Object> resultMap = null;

		// 必要な情報をマッピングする
		trgtData = editMapHiChrgJdgUtil(inMap, msgEKK0081A010, msgEKK0161A010, msgEKK0351A010, msgEKK0401A010, dslSbtFlg);

		// マッピングがNULLの場合は実行しない
		if(trgtData != null)
		{
			// ▼▼▼▼▼ 2013/09/11 OM-2013-0001096 UPD START ▼▼▼▼▼
			resultMap = JKKBpCommon.jdgHiChrgKK(handle, param, trgtData, dslSbtFlg);
			// ▲▲▲▲▲ 2013/09/11 OM-2013-0001096 UPD E N D ▲▲▲▲▲

			// ▼▼▼▼▼ 2012/11/16 IT1-2012-0002095 DEL START ▼▼▼▼▼
//			// サービス契約解約指定の場合、結果をワーク領域に保持する
//			if(DSL_SBT_FLG_SVC_KEI_DSL.equals(dslSbtFlg) && resultMap != null)
			// 結果をワーク領域に保持する
			if(resultMap != null)
			{
				setWorkJdgHiChrgJdgUtil(workField, resultMap);
			}
			// ▲▲▲▲▲ 2012/11/16 IT1-2012-0002095 DEL E N D ▲▲▲▲▲
		}

		return resultMap;
	}

	// ▼▼▼▼▼ 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
	 */
	@SuppressWarnings("unchecked")
	private 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", oPE_DATE);
		}

		// ======================================================================= //
		// オプションサービス契約解約                                              //
		// ======================================================================= //
		if(JKKDslRun.DSL_SBT_FLG_OP_SVC_KEI_DSL.equals(dslSbtFlg))
		{
			workMap.put("opSvcUseEndYmd", oPE_DATE);
		}

		// ======================================================================= //
		// サブオプションサービス契約解約                                          //
		// ======================================================================= //
		if(JKKDslRun.DSL_SBT_FLG_SBOP_SVC_KEI_DSL.equals(dslSbtFlg))
		{
			workMap.put("subOpSvcUseEndYmd", oPE_DATE);
		}
		// ▲▲▲▲▲ 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 ▲▲▲▲▲

	/**
	 * 非課金判定部品実行結果登録処理
	 * 
	 * @param workField ワーク領域
	 * @param inMap 入力パラメータ
	 * @param HiChrgJdgResultMap 非課金判定部品実行結果
	 */
	private void setWorkJdgHiChrgJdgUtil(HashMap<String, Object> workField, HashMap<String, Object> jdgHiChrgJdgResultMap)
	{
		workField.put("jdgHiChrgJdgMap", jdgHiChrgJdgResultMap);
	}

	/**
	 * 非課金判定部品実行結果取得処理
	 * 
	 * @param workField ワーク領域
	 * @return 非課金判定部品実行結果
	 * @throws RequestParameterException 
	 * @throws Throwable 
	 */
	private Object getWorkjdgHiChrgJdgUtil(HashMap<String, Object> workField) throws RequestParameterException
	{
		return workField.get("jdgHiChrgJdgMap");
	}

	/**
	 * 非課金判定部品実行結果削除処理
	 * 
	 * @param workField ワーク領域
	 * @param inMap 入力パラメータ
	 * @param HiChrgJdgResultMap 非課金判定部品実行結果
	 * @throws RequestParameterException 
	 * @throws Throwable 
	 */
	private void delWorkJdgHiChrgJdgUtil(HashMap<String, Object> workField) throws RequestParameterException
	{
		workField.remove("jdgHiChrgJdgMap");
	}
	// SEP-0020-00-00 ADD END

	/**
	 * 処理概要:サービス契約一意照会結果を取得する。<br>
	 * サービスコンポーネント実行後に、IRequestParameterReadWriteに必要なデータをマッピングする<br>
	 * <br>
	 * @param	param			パラメータオブジェクト
	 * @param	gettemplates	メッセージキャリアクラスの配列
	 * @return					業務データ取得・書込用I/F
	 */
	public IRequestParameterReadWrite editResultRPEKK0081A010(
			IRequestParameterReadWrite param,
			CAANMsg[]  gettemplates
	) throws Throwable 
	{
		HashMap<?, ?> outMsg = null;

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg template = gettemplates[0];

		/* ユーザデータ情報 */
		HashMap inMap = getUserDataField(param);

		// リクエストパラメータ.サービス契約番号 → ＫＥＹ＿サービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0081A010CBSMsg.KEY_SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey("svc_kei_no_err"))
			{
				inMap.put("svc_kei_no_err", template.getString(EKK0081A010CBSMsg.KEY_SVC_KEI_NO_ERR));
			}
		}

		//エラー情報のマップを取得
		ArrayList<Object> errList = (ArrayList<Object>)param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if(errList == null)
		{
			errList = new ArrayList<Object>();
		}

		// コントロールマップに設定
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(outMsg, errList));

		return param;
	}

	/**
	 * 前日取得処理<br>
	 * <br>
	 * @param	ymd		日付(yyyyMMdd形式)
	 * @return			インプットの前日(yyyyMMdd形式)
	 */
	private String getDayOfBefore(String ymd)
	{
		// 年月日の抽出
		int year  = Integer.parseInt(ymd.substring(0, 4));
		int month = Integer.parseInt(ymd.substring(4, 6));
		int day   = Integer.parseInt(ymd.substring(6, 8));

		Calendar cal = Calendar.getInstance();
		cal.set(year, month - 1, day);
		// 前日を算出
		cal.add(Calendar.DATE, -1);

		return String.format("%tY%tm%td", cal, cal, cal);
	}

	/**
	 * ユーザー定義領域取得処理<br>
	 * param上のユーザー定義領域を取得する処理<br>
	 * <br>
	 * @param	param	パラメータオブジェクト
	 * @return			ユーザー定義領域
	 */
	private HashMap getUserDataField( IRequestParameterReadWrite param )
	throws Throwable
	{
		// 本来はfixedTextが望ましい。(呼び出し元の設定に左右される。)
		// 影響箇所局所化のためメソッド化する。
		HashMap inMap = null;
		inMap = (HashMap)param.getData(JKKCancelSvcKeiCC.REQ_TRGT_DATA);
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData(JKKCancelSvcKeiCC.REQ_TRGT_DATA, inMap);
		}

		return inMap;
	}

	/**
	 * 処理対象文字列が空文字の場合、nullに変換する<br>
	 * <br>
	 * @param	value	処理対象文字列
	 * @return	String	変換後文字列
	 */
	private String convEmptyToNull(String value)
	{
		if ("".equals(value))
		{
			return null;
		}
		return value;
	}

	/**
	 * 
	 * @param	isTrgtSvcStatUk
	 */
	public void setIsTrgtSvcStatUk(boolean isTrgtSvcStatUk)
	{
		this.isTrgtSvcStatUk = isTrgtSvcStatUk;
	}

	public void setOpeDate(String opeDate)
	{
		this.oPE_DATE = opeDate;
	}

	public void setOpeDateTime(String opeDateTime)
	{
		this.oPE_DATE_TIME = opeDateTime;
	}

	public void setSvcKeiUpdDtm(String svcKeiUpdDtm)
	{
		this.svcKeiUpdDtm = svcKeiUpdDtm;
	}

	public void setCustUpdDtm(String custUpdDtm)
	{
		this.custUpdDtm = custUpdDtm;
	}
	
// LT-2013-0000163 2013/07/10 ADD START 割賦のステータスにより処理を切り分け
	/**
	 * templateに対してEKK2541C190の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 * @param	eKK2541A010map	割賦契約一意照会結果
	 * @return
	 */
	public void mappingEKK2541C190InMsg(
			CAANMsg template,
			HashMap<String, Object> inHash,
			HashMap<String, Object> resultHash,
			HashMap<String, Object> eKK2541A010map
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2541C190CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK2541C190CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK2541C190);

		//機能コード--チェック＆登録
		template.set(EKK2541C190CBSMsg.FUNC_CODE, "1");

		//割賦契約一覧照会の結果取得
		HashMap<String, Object> eKK2541B001Hash = null;
		eKK2541B001Hash = (HashMap<String, Object>)resultHash.get(TEMPLATE_ID_EKK2541B001 + "tmp");

		//割賦契約番号
		template.set(EKK2541C190CBSMsg.KAP_KEI_NO, eKK2541B001Hash.get(EKK2541B001CBSMsg1List.KAP_KEI_NO));

		//申込明細番号
		template.set(EKK2541C190CBSMsg.MSKM_DTL_NO, eKK2541B001Hash.get(EKK2541B001CBSMsg1List.MSKM_DTL_NO));

		//異動区分(強制解約)固定
		template.set(EKK2541C190CBSMsg.IDO_DIV, IDO_KBN_CANCEL);

		//割賦請求終了年月日
		template.set(EKK2541C190CBSMsg.KAP_SEIKY_ENDYMD, getDayOfBefore(JKKBpCommon.getOpeDate(null)));

		//割賦契約解約年月日
		template.set(EKK2541C190CBSMsg.KAP_KEI_DSL_YMD, JKKBpCommon.getOpeDate(null));

		//違約金発生コード
		template.set(EKK2541C190CBSMsg.PNLTY_HASSEI_CD, (String)eKK2541A010map.get(EKK2541A010CBSMsg1List.PNLTY_HASSEI_CD));

		//更新年月日時分秒(更新前)
		template.set(EKK2541C190CBSMsg.UPD_DTM_BF, eKK2541B001Hash.get(EKK2541B001CBSMsg1List.UPD_DTM));
	}
	
	/**
	 * templateに対してEKK2541C080の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		設定条件
	 * @param	resultHash	アプリ固有のパラメータ
	 * @return
	 */
	public void mappingEKK2541C080InMsg(
			CAANMsg template,
			HashMap<String, Object> inHash,
			HashMap<String, Object> resultHash
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2541C080CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK2541C080CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK2541C080);

		//機能コード--チェック＆登録
		template.set(EKK2541C080CBSMsg.FUNC_CODE, "1");

		//割賦契約番号
		template.set(EKK2541C080CBSMsg.KAP_KEI_NO, (String)resultHash.get(EKK2541A010CBSMsg1List.KAP_KEI_NO));

		//申込明細番号
		template.set(EKK2541C080CBSMsg.MSKM_DTL_NO, (String)resultHash.get(EKK2541A010CBSMsg1List.MSKM_DTL_NO));

		//異動区分(強制解約)固定
		template.set(EKK2541C080CBSMsg.IDO_DIV, IDO_KBN_CANCEL);

		//割賦一括請求切替年月
		template.set(EKK2541C080CBSMsg.KAP_IKT_SIKY_SWCH_YM, (String)resultHash.get(EKK2541A010CBSMsg1List.KAP_IKT_SIKY_SWCH_YM));

		//割賦請求開始年月
		template.set(EKK2541C080CBSMsg.KAP_SEIKY_STA_YM, (String)resultHash.get(EKK2541A010CBSMsg1List.KAP_SEIKY_STA_YM));

		//割賦支払い残回数
		template.set(EKK2541C080CBSMsg.KAP_PAY_ZAN_CNT, "0");

		//プレミアムオプション再契約時割引非適用フラグ
		template.set(EKK2541C080CBSMsg.PRMOP_REKEIJI_WRBHIAPL_FLG, (String)resultHash.get(EKK2541A010CBSMsg1List.PRMOP_REKEIJI_WRBHIAPL_FLG));

		//端末購入通知書出力識別コード
		template.set(EKK2541C080CBSMsg.TNMT_BUY_TCHISHO_OPUT_SKCD, (String)resultHash.get(EKK2541A010CBSMsg1List.TNMT_BUY_TCHISHO_OPUT_SKCD));

		//端末購入受付担当者名
		template.set(EKK2541C080CBSMsg.TNMT_BUY_UK_TNTSHA_NM, (String)resultHash.get(EKK2541A010CBSMsg1List.TNMT_BUY_UK_TNTSHA_NM));

		//更新年月日時分秒(更新前)
		template.set(EKK2541C080CBSMsg.UPD_DTM_BF, resultHash.get(EKK2541A010CBSMsg1List.LAST_UPD_DTM));
	}
	
	/**
	 * templateに対してEKK2541A010の入力項目を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用Hash
	 * @return
	 */
	public void mappinEKK2541A010SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2541A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK2541A010CBSMsg.TEMPLATEID, "EKK2541A010");

		// 機能コード
		template.set(EKK2541A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);
		
		//割賦契約一覧照会の結果取得
		HashMap<String, Object> eKK2541B001Hash = null;
		eKK2541B001Hash = (HashMap<String, Object>)inHash.get(TEMPLATE_ID_EKK2541B001 + "tmp");

		// 割賦契約番号
		template.set(EKK2541A010CBSMsg.KEY_KAP_KEI_NO, (String) eKK2541B001Hash.get(EKK2541B001CBSMsg1List.KAP_KEI_NO));

		// 予約適用年月日
		template.set(EKK2541A010CBSMsg.KEY_RSV_APLY_YMD, JKKBpCommon.getOpeDate(null));
	}
// LT-2013-0000163 2013/07/10 ADD END 割賦のステータスにより処理を切り分け
	
	// ANK-1578-00-00 ADD 2013/12/09 START
	/**
	 *<DL>
	 *<DT>処理概要:機器オプションサービス利用機器契約更新CC
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param	param			(I) 業務データ取得用I/F
	 * @param	inMap			業務情報を保持するマップ
	 * @param	fixedText		ユーザ任意文字列
	 * @param	workFixedText	ワーク領域
	 * @param	mskmDtlNo		申込明細番号
	 * @param	kojiakNo		工事案件番号
	 * @param	msgEKK0081A010	サービス契約一意照会結果
	 * @return					サービスコンポーネント実行用CAANMsg
	 * @throws Throwable 
	 * @since 2011.06.07
	 */
	@SuppressWarnings("unchecked")
	public void editMapKKkopSvcUseKeiUpd(
			IRequestParameterReadWrite param, 
			HashMap<String, Object> inMap,
			String workFixedText,
			String svcKeiNo,
			HashMap<String, Object> mskmDtlMap,
			String tmpKktkSvcKeiNo,
			String tmpLastUpdDtm,
			HashMap<String, Object> resultHash
	)
	throws Throwable 
	{
		HashMap outMap = null;
		String idoDiv = null;

		outMap = (HashMap)param.getData(workFixedText);
		// 異動区分取得
		idoDiv = (String)inMap.get(JKKDslRunConstCC.IDO_DIV);

		// 対象データリスト
		ArrayList<HashMap> workArray = new ArrayList<HashMap>();

		// 機器オプションサービス利用機器契約更新マップ
		HashMap<String, Object> workMap = new HashMap<String, Object>();
		
		// サービス契約番号
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_SVC_KEI_NO, svcKeiNo);

		// 異動区分
		if (IDO_KBN_ADCHGADD.equals(idoDiv))
		{
			workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_IDO_DIV, idoDiv );
		}
		else
		{
			workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_IDO_DIV, IDO_KBN_CANCEL);
		}

		// 機器提供サービス契約番号
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_KKTK_SVC_KEI_NO, tmpKktkSvcKeiNo);

		// 申込明細番号
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_MSKM_DTL_NO,(String)mskmDtlMap.get(JKKCancelSvcKeiCC.MSKM_DTL_NO) );
		
		// 更新年月日時分秒
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_UPD_DTM_BF, tmpLastUpdDtm);
		
		String operateDate = JCCBPCommon.getOpeDate(null);
		
		// 運用日 → サービス終了年月日
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_SVC_ENDYMD, (String) operateDate);

		// リクエストパラメータ.サービス終了年月日（予約適用年月日）−１日 → サービス課金終了年月日
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_SVC_CHRG_ENDYMD, JKKDslRun.addYYYYMMDD((String) operateDate, -1));
		
		// サービスキャンセル理由コード
		workMap.put(JKKKkopSvcUseKeiUpdCC.KEY_SVC_CANCEL_RSN_CD, (String) mskmDtlMap.get(JKKCancelSvcKeiCC.CANCEL_RSN_CD));
		
		// KEY_PNLTY_HASSEI_CD 違約金発生コード
		// 機器提供サービス一意照会の結果取得
		HashMap<String, Object> eKK0771A010Hash = null;
		eKK0771A010Hash = (HashMap<String, Object>)resultHash.get(TEMPLATE_ID_EKK0771A010);
		String pnltyHasseiUm = JKKStrConst.CD_DIV_UM_NASHI;
		if (eKK0771A010Hash != null)
		{
			pnltyHasseiUm = (String)eKK0771A010Hash.get(EKK0771A010CBSMsg1List.PNLTY_HASSEI_UM);
		}
		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);
		}
		
		workArray.add(workMap);

		outMap.put("trgt_data_list", workArray);
	}
	// ANK-1578-00-00 ADD 2013/12/09 END
	// 20140507 ANK-2054-00-00 ADD START
	/**
	 * templateに対してEKK2811A010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template		条件の設定先
	 * @param	kkopSvcKeiNo	機器オプションサービス契約番号
	 */
	public void mappingEKK2811A010SCInMsg(
			CAANMsg template
			,String kkopSvcKeiNo
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2811A010CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK2811A010CBSMsg.TEMPLATEID, "EKK2811A010");

		//機能コード
		template.set(EKK2811A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿機器オプションサービス契約番号
		template.set(EKK2811A010CBSMsg.KEY_KKOP_SVC_KEI_NO, kkopSvcKeiNo);

		//ＫＥＹ＿運用年月日
		template.set(EKK2811A010CBSMsg.KEY_RSV_APLY_YMD, oPE_DATE);
		
	}
	
	/**
	 * templateに対してEKK2801A010の入力項目を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	kkopSvcCd	機器オプションサービスコード
	 * @return
	 */
	public void mappinEKK2801A010SCInMsg(
			CAANMsg template
			,String kkopSvcCd
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2801A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK2801A010CBSMsg.TEMPLATEID, "EKK2801A010");

		// 機能コード
		template.set(EKK2801A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// 機器オプションサービスコード
		template.set(EKK2801A010CBSMsg.KEY_KKOP_SVC_CD, kkopSvcCd);
	}

	/**
	 * templateに対してEKK2811B010SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	kktkSvcKeiNo	機器提供サービス契約番号
	 * @param	kkopSvcCd		機器オプションサービス契約番号
	 * @return
	 */
	public void mappingEKK2811B010SCInMsg(
			CAANMsg template
			,HashMap<String, Object> inHash
			,String kktkSvcKeiNo
			,String kkopSvcCd
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2811B010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK2811B010CBSMsg.TEMPLATEID, "EKK2811B010");

		// 機能コード
		template.set(EKK2811B010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		// ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK2811B010CBSMsg.KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		
		// ＫＥＹ＿機器オプションコード
		template.set(EKK2811B010CBSMsg.KEY_KKOP_SVC_CD, kkopSvcCd);
	}
	/**
	 * templateに対してEKK2811C110SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @param	workField	
	 * @param	trgt_data	
	 * @return
	 */
	public void mappinEKK2811C110SCInMsg(
			CAANMsg template,
			HashMap<String, Object> inHash,
			HashMap<String, Object> workField,
			HashMap<String, Object> trgt_data
	)
	{
		String tmpMskmDtlNo = null;

		// サービス契約ステータスが受付済の場合は、前世代のを継承
		if(this.isTrgtSvcStatUk)
		{
			tmpMskmDtlNo = (String)inHash.get(EKK2811A010CBSMsg1List.MSKM_DTL_NO);
		}
		else
		{
			// 申込明細番号
			tmpMskmDtlNo = (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO);
		}

		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2811C110CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK2811C110CBSMsg.TEMPLATEID, "EKK2811C110");

		// 機能コード--チェック＆登録
		template.set(EKK2811C110CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		// 機器オプションサービス契約番号
		template.set(EKK2811C110CBSMsg.KKOP_SVC_KEI_NO, inHash.get(EKK2811A010CBSMsg1List.KKOP_SVC_KEI_NO));		

		// 申込明細番号
		template.set(EKK2811C110CBSMsg.MSKM_DTL_NO, tmpMskmDtlNo);

		// サービス契約キャンセル理由コード
		template.set(EKK2811C110CBSMsg.SVC_CANCEL_RSN_CD,  (String) workField.get(JKKCancelSvcKeiCC.CANCEL_RSN_CD));

		// 異動区分
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK2811C110CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK2811C110CBSMsg.IDO_DIV, IDO_KBN_CANCEL);
		}

		// 更新年月日時分秒（更新前）
		template.set(EKK2811C110CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
	}
	
	/**
	 * templateに対してEKK2811C140SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	
	 * @param	workField	
	 * @param	inHash		条件用hash
	 * @param	resultHash	EKK2811C140SCの結果
	 * @return
	 */
	public void mappinEKK2811C140SCInMsg(
			CAANMsg template
			,HashMap<String, Object> trgt_data
			,HashMap<String, Object> workField
			,HashMap<String, Object> eKK2811A010Hash
			,HashMap<String, Object> eKK2801A010Hash
			,HashMap<String, Object> resultHash
	)
	{
		
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2811C140CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK2811C140CBSMsg.TEMPLATEID, "EKK2811C140");

		// 機能コード--チェック＆登録
		template.set(EKK2811C140CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		// 機器オプションサービス契約番号
		template.set(EKK2811C140CBSMsg.KKOP_SVC_KEI_NO, eKK2811A010Hash.get(EKK2811A010CBSMsg1List.KKOP_SVC_KEI_NO));

		// 申込明細番号
		template.set(EKK2811C140CBSMsg.MSKM_DTL_NO, (String)workField.get(JKKCancelSvcKeiCC.MSKM_DTL_NO));

		// 予約適用開始希望年月日
		template.set(EKK2811C140CBSMsg.RSV_TSTA_KIBO_YMD, oPE_DATE);

		// サービス終了年月日
		template.set(EKK2811C140CBSMsg.SVC_ENDYMD, oPE_DATE);

		// サービス課金終了年月日 ※本来、運用日−１日だが、締結済からの解約しかないため、他スキーマにあわせて運用日とする
		template.set(EKK2811C140CBSMsg.SVC_CHRG_ENDYMD, oPE_DATE);

		// サービス解約理由コード キャンセル理由
		template.set(EKK2811C140CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		// 機器オプションサービス一意照会の結果取得
		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);
		}

		// 異動区分
		if (IDO_KBN_ADCHGADD.equals((String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV)))
		{
			template.set(EKK2811C140CBSMsg.IDO_DIV, (String)trgt_data.get(JKKCancelSvcKeiCC.REQ_PARAM_IDO_DIV));
		}
		else
		{
			template.set(EKK2811C140CBSMsg.IDO_DIV, IDO_KBN_DSL);
		}

		// 更新年月日時分秒
		template.set(EKK2811C140CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
		
	}
	/**
	 * templateに対してEKK2811C150SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	inHash		条件用hash
	 * @return
	 */
	public void mappinEKK2811C150SCInMsg(
			CAANMsg template
			,HashMap<String, Object> inHash
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK2811C150CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK2811C150CBSMsg.TEMPLATEID, "EKK2811C150");

		// 機能コード --チェック＆登録
		template.set(EKK2811C150CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		// 機器オプションサービス契約番号
		template.set(EKK2811C150CBSMsg.KKOP_SVC_KEI_NO, (String)inHash.get(EKK2811A010CBSMsg1List.KKOP_SVC_KEI_NO));

		// サービス解約理由コード キャンセル理由
		template.set(EKK2811C150CBSMsg.SVC_DLRE_CD, SVC_DLRE_CD_CANCEL);

		// サービス終了年月日
		template.set(EKK2811C150CBSMsg.SVC_ENDYMD, oPE_DATE);

		// サービス課金終了年月日 ※本来、運用日−１日だが、締結済からの解約しかないため、他スキーマにあわせて運用日とする
		template.set(EKK2811C150CBSMsg.SVC_CHRG_ENDYMD, oPE_DATE);

		// 更新年月日時分秒
		template.set(EKK2811C150CBSMsg.UPD_DTM_BF, svcKeiUpdDtm);
		
		// 解約時課金　キャンセルCC経由で課金するケースはありえないため、非課金固定
		template.set(EKK2811C150CBSMsg.DSL_JI_CHRG, "0");
		
	}
	// 20140507 ANK-2054-00-00 ADD END

	// OM-2014-0001140 照査取消後にID通知書が出力されない 2014/04/24 START
	/**
	 * templateに対してEKK0561B002の入力項目を設定する<br>
	 * <br>
	 * @param template 条件の設定先
	 * @param sysid SYSID
	 */
	public void mappinEKK0561B002SCInMsg(
			CAANMsg template,
			String sysid
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0561B002CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0561B002CBSMsg.TEMPLATEID, "EKK0561B002");

		// 機能コード
		template.set(EKK0561B002CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿ＳＹＳＩＤ
		template.set(EKK0561B002CBSMsg.KEY_SYSID, sysid);
	}
	// OM-2014-0001140 照査取消後にID通知書が出力されない 2014/04/24 END

// 20140612 ANK-2095-00-00 Add Start
	/**
	 * templateに対してEKK0341B028の入力項目を設定する<br>
	 * <br>
	 * @param template 条件の設定先
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param kktkSvcKeiStat 機器提供サービス契約ステータス
	 * @param svcStaJiHsjksbCd サービス開始時配送対象識別コード
	 * @param svcKeiNo サービス契約番号
	 * @return
	 */
	public void mappinEKK0341B028SCInMsg(
			CAANMsg template, 
			int userDataIndex, 
			String[] kktkSvcKeiStat, 
			String svcStaJiHsjksbCd, 
			String svcKeiNo)
	throws RequestParameterException 
	{
		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0341B028CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0341B028CBSMsg.TEMPLATEID, "EKK0341B028");

		// 機能コード
		template.set(EKK0341B028CBSMsg.FUNC_CODE, JKKSvkeiShosaClConstCC.FUNC_CODE_LIST);

		// 同一請求契約内配送待ち機器提供サービス契約一覧照会.ＫＥＹ＿サービス契約番号 → ＫＥＹ＿サービス契約番号
		if ("".equals(svcKeiNo)) 
		{
			template.setNull(EKK0341B028CBSMsg.KEY_SVC_KEI_NO);
		} 
		else
		{
			template.set(EKK0341B028CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);
		}
		
		String keyStat = "";
		for (int i = 0; i < kktkSvcKeiStat.length; i++)
		{
			
			keyStat += kktkSvcKeiStat[i];
			
			if (i != kktkSvcKeiStat.length)
			{
				keyStat += ",";
			}
		}
		
		// ＫＥＹ＿機器提供サービス契約ステータス（複数）
		template.set(EKK0341B028CBSMsg.KEY_KKTK_SVC_KEI_STAT, keyStat);
		
		// ＫＥＹ＿サービス開始時配送状況識別コード
		template.set(EKK0341B028CBSMsg.KEY_SVC_STA_JI_HIS_JOKYO_SKCD, svcStaJiHsjksbCd);
		
	}

	/**
	 * templateに対してEKK0341C230の条件に関する部分を設定する<br>
	 * <br>
	 * @param template 条件の設定先
	 * @param svcStaJiHisJkSkCd サービス開始時配送状況識別コード
	 * @param updDtm 更新日時
	 * @param EKK0341A010Msg 機器提供サービス契約一意照会結果データ
	 * @return
	 */
	public void mappingEKK0341C230InMsg(
			CAANMsg template,
			String svcStaJiHsjksbCd, 
			String updDtm,
			CAANMsg EKK0341A010Msg)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341C230CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0341C230CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0341C230);

		//機能コード--チェック＆登録
		template.set(EKK0341C230CBSMsg.FUNC_CODE, "1");

		//機器提供サービス契約番号
		template.set(EKK0341C230CBSMsg.KKTK_SVC_KEI_NO,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));

		//機器提供種別コード
		template.set(EKK0341C230CBSMsg.KKTK_SBT_CD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KKTK_SBT_CD));

		//販売種別コード
		template.set(EKK0341C230CBSMsg.HAMBAI_SBT_CD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.HAMBAI_SBT_CD));

		//宅内機器型式コード
		template.set(EKK0341C230CBSMsg.TAKNKIKI_MODEL_CD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));

		//機器製造番号
		template.set(EKK0341C230CBSMsg.KIKI_SEIZO_NO,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SEIZO_NO));

		//ＨＤＤ容量コード
		template.set(EKK0341C230CBSMsg.HDD_CAPA_CD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.HDD_CAPA_CD));

		//通信機器セットコード
		template.set(EKK0341C230CBSMsg.TSUSHIN_KIKI_SET_CD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.TSUSHIN_KIKI_SET_CD));

		//リンクＳＴＢフラグ
		template.set(EKK0341C230CBSMsg.LINK_STB_FLG,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.LINK_STB_FLG));

		//機器引当指定倉庫コード
		template.set(EKK0341C230CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_HKAT_SHITEI_SOKO_CD));

		//機器引当指定倉庫棚コード
		template.set(EKK0341C230CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_HKAT_SHITEI_SKDN_CD));

		//機器送料有無
		template.set(EKK0341C230CBSMsg.KIKI_SORYO_UM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SORYO_UM));

		//機器送付先名
		template.set(EKK0341C230CBSMsg.KIKI_SOHUS_NM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SOHUS_NM));

		//機器送付先カナ名
		template.set(EKK0341C230CBSMsg.KIKI_SOHUS_KANA,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SOHUS_KANA));

		//機器送付先住所コード
		template.set(EKK0341C230CBSMsg.KIKI_SOHUS_AD_CD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SOHUS_AD_CD));

		//機器送付先郵便番号
		template.set(EKK0341C230CBSMsg.KIKI_SOHUS_PCD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SOHUS_PCD));

		//機器送付先都道府県名
		template.set(EKK0341C230CBSMsg.KIKI_SOHUS_STATE_NM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SOHUS_STATE_NM));

		//機器送付先市区町村名
		template.set(EKK0341C230CBSMsg.KIKI_SOHUS_CITY_NM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SOHUS_CITY_NM));

		//機器送付先大字通称名
		template.set(EKK0341C230CBSMsg.KIKI_SOHUS_OAZTSU_NM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SOHUS_OAZTSU_NM));

		//機器送付先字丁目名
		template.set(EKK0341C230CBSMsg.KIKI_SOHUS_AZCHO_NM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SOHUS_AZCHO_NM));

		//機器送付先番地号
		template.set(EKK0341C230CBSMsg.KIKI_SOHUS_BNCHIGO,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SOHUS_BNCHIGO));

		//機器送付先住所補記・建物名
		template.set(EKK0341C230CBSMsg.KIKI_SOHUS_ADRTTM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRTTM));

		//機器送付先住所補記・部屋番号
		template.set(EKK0341C230CBSMsg.KIKI_SOHUS_ADRRM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SOHUS_ADRRM));

		//機器送付先電話番号
		template.set(EKK0341C230CBSMsg.KIKI_SOHUS_TELNO,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SOHUS_TELNO));

		//機器送付先_契約者住所差異フラグ
		template.set(EKK0341C230CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SOHUS_KSH_AD_SAI_FLG));

		//機器送付先個別指定フラグ
		template.set(EKK0341C230CBSMsg.KIKI_SHS_KBT_SHITEI_FLG,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SHS_KBT_SHITEI_FLG));

		//機器設置先名
		template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_NM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STC_SAKI_NM));

		//機器設置先カナ名
		template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_KANA,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STC_SAKI_KANA));

		//機器設置先住所コード
		template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_AD_CD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STC_SAKI_AD_CD));

		//機器設置先郵便番号
		template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_PCD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STC_SAKI_PCD));

		//機器設置先都道府県名
		template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_STATE_NM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STC_SAKI_STATE_NM));

		//機器設置先市区町村名
		template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_CITY_NM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STC_SAKI_CITY_NM));

		//機器設置先大字通称名
		template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_OAZTSU_NM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STC_SAKI_OAZTSU_NM));

		//機器設置先字丁目名
		template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_AZCHO_NM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STC_SAKI_AZCHO_NM));

		//機器設置先番地号
		template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_BNCHIGO,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STC_SAKI_BNCHIGO));

		//機器設置先住所補記・建物名
		template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_ADRTTM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STC_SAKI_ADRTTM));

		//機器設置先住所補記・部屋番号
		template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_ADRRM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STC_SAKI_ADRRM));

		//機器設置先_契約者住所差異フラグ
		template.set(EKK0341C230CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STC_SK_KSH_AD_SAI_FLG));

		//機器設置先電話番号
		template.set(EKK0341C230CBSMsg.KIKI_STC_SK_TELNO,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STC_SK_TELNO));

		//機器設置先区画整理中フラグ
		template.set(EKK0341C230CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_STS_KKK_SEIRI_CHU_FLG));

		//住所未確定フラグ
		template.set(EKK0341C230CBSMsg.AD_MI_FIX_FLG,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.AD_MI_FIX_FLG));

		//配送区分
		template.set(EKK0341C230CBSMsg.HAISO_DIV,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.HAISO_DIV));

		//試用加入年月日
		template.set(EKK0341C230CBSMsg.FTRIAL_KANYU_YMD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.FTRIAL_KANYU_YMD));

		//試用期間終了年月日
		template.set(EKK0341C230CBSMsg.FTRIAL_PRD_ENDYMD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.FTRIAL_PRD_ENDYMD));

		//本加入年月日
		template.set(EKK0341C230CBSMsg.HONKANYU_YMD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.HONKANYU_YMD));

		//本加入移行期限年月日
		template.set(EKK0341C230CBSMsg.HONKANYU_IKO_KIGEN_YMD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.HONKANYU_IKO_KIGEN_YMD));

		//保証コード
		template.set(EKK0341C230CBSMsg.HOSHO_CD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.HOSHO_CD));

		//違約金発生コード
		template.set(EKK0341C230CBSMsg.PNLTY_HASSEI_CD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.PNLTY_HASSEI_CD));

		//異動区分
		template.set(EKK0341C230CBSMsg.IDO_DIV, 
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.IDO_DIV));

		//ＣＡＳカード使用許諾年月日
		template.set(EKK0341C230CBSMsg.CAS_CARD_USE_KYODAK_YMD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.CAS_CARD_USE_KYODAK_YMD));

		//機器付加情報コード
		template.set(EKK0341C230CBSMsg.KIKI_HUKA_INFO_CD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_HUKA_INFO_CD));

		//配送方法コード
		template.set(EKK0341C230CBSMsg.HAISO_WAY_CD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.HAISO_WAY_CD));

		//機器移転先移動実施者識別コード
		template.set(EKK0341C230CBSMsg.KIKI_ITENS_MV_JSSIS_SKCD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_ITENS_MV_JSSIS_SKCD));

		//配送依頼指定年月日
		template.set(EKK0341C230CBSMsg.HAISO_REQ_SHITEI_YMD,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.HAISO_REQ_SHITEI_YMD));

		//更新年月日時分秒(更新前)
		template.set(EKK0341C230CBSMsg.UPD_DTM_BF, updDtm);

		//機器送付先住所手動入力フラグ
		template.set(EKK0341C230CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KIKI_SHS_AD_MAN_INPUT_FLG));

		//回収機器有無
		template.set(EKK0341C230CBSMsg.KAISHU_KIKI_UM,
				EKK0341A010Msg.getString(EKK0341A010CBSMsg1List.KAISHU_KIKI_UM));

		//サービス開始時配送状況識別コード
		template.set(EKK0341C230CBSMsg.SVC_STA_JI_HIS_JOKYO_SKCD, svcStaJiHsjksbCd);
	}

	/**
	 * 結果をHashとして抽出する<br>
	 * <br>
	 * @param	resultMsgs	テンプレートリスト
	 * @return				結果部分
	 */
	public HashMap<String, Object> mappingEKK0341C230SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}
// 20140612 ANK-2095-00-00 Add End
	
	// ANK-2138-00-00 2014/08/07 add start
	/**
	 * templateに対してEKK0491B005の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	sysid
	 * @return
	 */
	public void mappingEKK0491B005SCInMsg(
			CAANMsg template
			,String sysid
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0491B005CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0491B005CBSMsg.TEMPLATEID, "EKK0491B005");

		// 機能コード
		template.set(EKK0491B005CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿ＳＹＳＩＤ
		template.set(EKK0491B005CBSMsg.KEY_SYSID, sysid);
	}

	/**
	 * templateに対してEKK0341B002の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	svcKeiNo	サービス契約番号
	 * @return
	 */
	public void mappingEKK0341B002SCInMsg(
			CAANMsg template
			,String svcKeiNo
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341B002CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0341B002CBSMsg.TEMPLATEID, "EKK0341B002");

		// 機能コード
		template.set(EKK0341B002CBSMsg.FUNC_CODE, "4");

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0341B002CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);
	}

//ANK-3732-00-00 ADD START
	/**
	 * templateに対してEKK0341B002の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template		条件の設定先
	 * @param	funcCd			機能コード
	 * @param	svcKeiNo		サービス契約番号
	 * @param	kktkSvcCd		機器提供サービスコード
	 * @param	kktkSvcKeiNo	機器提供サービス契約番号
	 * @param	sortKbn			ソート区分
	 * @return
	 */
	public void mappingEKK0341B002SCInMsg(
			CAANMsg template
			,String funcCd
			,String svcKeiNo
			,String kktkSvcCd
			,String kktkSvcKeiNo
			,String sortKbn
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341B002CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0341B002CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0341B002);

		// 機能コード
		template.set(EKK0341B002CBSMsg.FUNC_CODE, funcCd);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0341B002CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);

		//ＫＥＹ＿機器提供サービスコード
		template.set(EKK0341B002CBSMsg.KEY_KKTK_SVC_CD, kktkSvcCd);

		//ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK0341B002CBSMsg.KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo);

		//ＫＥＹ＿ソート区分
		template.set(EKK0341B002CBSMsg.KEY_SORT_KBN, sortKbn);
	}
//ANK-3732-00-00 ADD END

	/**
	 * templateに対してEKU0011B010の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	svcKeiNo	サービス契約番号
	 * @return
	 */
	public void mappingEKU0011B010SCInMsg(
			CAANMsg template
			,String svcKeiNo
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKU0011B010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKU0011B010CBSMsg.TEMPLATEID, "EKU0011B010");

		// 機能コード
		template.set(EKU0011B010CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//検索パターン
		template.set(EKU0011B010CBSMsg.SEARCH_TYPE, JPCModelConstant.SAERCH_TYPE_BBN);

		//最大検索件数
		template.set(EKU0011B010CBSMsg.MAX_SEARCH_NUM, "999999");

		//表示件数
		template.set(EKU0011B010CBSMsg.DISPLAY_NUM, "999999");

		//表示ページ番号
		template.set(EKU0011B010CBSMsg.DISPLAY_PAGE_NUM, "1");

		//ＫＥＹ＿工事案件番号／サービス契約番号
		template.set(EKU0011B010CBSMsg.KEY_KOJIAK_NO_SVC_KEI_NO, svcKeiNo);
	}
	
	/**
	 * templateに対してEKK0341A010の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	kktkSvcKeiNo	機器提供サービス契約番号
	 * @return
	 */
	public void mappingEKK0341A010SCInMsg(
			CAANMsg template
			,String kktkSvcKeiNo
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341A010CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EKK0341A010CBSMsg.TEMPLATEID, "EKK0341A010");

		// 機能コード
		template.set(EKK0341A010CBSMsg.FUNC_CODE, FUNC_CODE_TWO);

		//ＫＥＹ＿サービス契約番号
		template.set(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		//ＫＥＹ＿予約適用年月日
		template.set(EKK0341A010CBSMsg.KEY_RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));
	}
	
	/**
	 *<DL>
	 *<DT>処理概要:工事案件CC
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param msgEKK0021A010 申込明細一意照会結果
	 * @param msgEKK0081A010 サービス契約一意照会結果
	 * @param idoDiv 異動区分
	 * @param tabletHaisoKbn タブレット配送区分
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public void editMapKojiAnkenKikiChg(IRequestParameterReadWrite param, String sysid, 
			HashMap<String, Object> eKK0021A010Map, HashMap<String, Object> eKK0081A010Hash,
			String idoDiv, String tabletHaisoKbn)
	throws RequestParameterException 
	{
		HashMap targetMap = null;

		// ユーザデータ情報
		targetMap = (HashMap)param.getData("fixedTextTabletAddKoji");
		if (null == targetMap)
		{
			targetMap = new HashMap<String, Object>();
			param.setData("fixedTextTabletAddKoji", targetMap);
		}
		else
		{
			targetMap.clear();
		}

		// 工事受付コード
		targetMap.put(JKKKojiAnkenConstCC.KOJI_UK_CD, KOJI_UK_CD_NAIYO_CHANGE);

		// 工事受付詳細コード
		targetMap.put(JKKKojiAnkenConstCC.KOJI_UK_DTL_CD, KOJI_UK_DTAIL_CD_KIKI_INFO_CHANGE);

		// SYSID
		targetMap.put(JKKKojiAnkenConstCC.SYSID, sysid);

		// 申込番号
		targetMap.put(JKKKojiAnkenConstCC.MSKM_NO, (String)eKK0021A010Map.get(EKK0021A010CBSMsg1List.MSKM_NO));

		// 申込明細番号
		targetMap.put(JKKKojiAnkenConstCC.MSKM_DTL_NO, (String)eKK0081A010Hash.get(EKK0081A010CBSMsg1List.MSKM_DTL_NO));

		// サービス契約番号
		targetMap.put(JKKKojiAnkenConstCC.SVC_KEI_NO, (String)eKK0081A010Hash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));

		// 異動区分
		targetMap.put(JKKKojiAnkenConstCC.IDO_DIV, idoDiv);

		// 宅内機器情報一覧
		// ※工事案件CCで取得するため設定しない
		targetMap.put(JKKKojiAnkenConstCC.TAKNKIKI_INFO_LIST, null);

		// タブレット配送区分
		targetMap.put(JKKKojiAnkenConstCC.TABLET_HAISO_KBN, tabletHaisoKbn);
	}
	
	/**
	 *<DL>
	 *<DT>処理概要:機器提供サービス契約情報更新
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param param (I) 業務データ取得用I/F
	 * @param caanMsg 照会結果データ
	 * @param svcStaJiHisJkSkCd サービス開始時配送状況識別コード
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	public void mappinEKK0341C230SCInMsg(CAANMsg template, CAANMsg caanMsg, String svcStaJiHisJkSkCd, String updDtmBf)
	throws RequestParameterException
	{
		fillCAANMSGNullMapping(template, new EKK2811C150CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0341C230CBSMsg.TEMPLATEID, "EKK0341C230");

		// 機能コード（デフォルト：１）
		template.set(EKK0341C230CBSMsg.FUNC_CODE, JKKSvkeiShosaClConstCC.FUNC_CODE_SHOSA);

		// 機器提供サービス契約変更マップ.機器提供サービス契約番号 → 機器提供サービス契約番号
		if (caanMsg.isNull(EKK0341C230CBSMsg.KKTK_SVC_KEI_NO))
		{
			template.setNull(EKK0341C230CBSMsg.KKTK_SVC_KEI_NO);
		}
		else
		{
			template.set(EKK0341C230CBSMsg.KKTK_SVC_KEI_NO, caanMsg.getString(EKK0341C230CBSMsg.KKTK_SVC_KEI_NO));
		}
		
		// 機器提供サービス契約変更マップ.機器提供種別コード → 機器提供種別コード
		if (caanMsg.isNull(EKK0341C230CBSMsg.KKTK_SVC_KEI_NO))
		{
			template.setNull(EKK0341C230CBSMsg.KKTK_SBT_CD);
		} else {
			template.set(EKK0341C230CBSMsg.KKTK_SBT_CD, (String) caanMsg.getString(EKK0341C230CBSMsg.KKTK_SBT_CD));
		}

		// 機器提供サービス契約変更マップ.販売種別コード → 販売種別コード
		if (caanMsg.isNull(EKK0341C230CBSMsg.HAMBAI_SBT_CD))
		{
			template.setNull(EKK0341C230CBSMsg.HAMBAI_SBT_CD);
		} else {
			template.set(EKK0341C230CBSMsg.HAMBAI_SBT_CD, (String) caanMsg.getString(EKK0341C230CBSMsg.HAMBAI_SBT_CD));
		}

		// 機器提供サービス契約変更マップ.宅内機器型式コード → 宅内機器型式コード
		if (caanMsg.isNull(EKK0341C230CBSMsg.TAKNKIKI_MODEL_CD))
		{
			template.setNull(EKK0341C230CBSMsg.TAKNKIKI_MODEL_CD);
		} else {
			template.set(EKK0341C230CBSMsg.TAKNKIKI_MODEL_CD, (String) caanMsg.getString(EKK0341C230CBSMsg.TAKNKIKI_MODEL_CD));
		}

		// 機器提供サービス契約変更マップ.機器製造番号 → 機器製造番号
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SEIZO_NO))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SEIZO_NO);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SEIZO_NO, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SEIZO_NO));
		}

		// 機器提供サービス契約変更マップ.ＨＤＤ容量コード → ＨＤＤ容量コード
		if (caanMsg.isNull(EKK0341C230CBSMsg.HDD_CAPA_CD))
		{
			template.setNull(EKK0341C230CBSMsg.HDD_CAPA_CD);
		} else {
			template.set(EKK0341C230CBSMsg.HDD_CAPA_CD, (String) caanMsg.getString(EKK0341C230CBSMsg.HDD_CAPA_CD));
		}

		// 機器提供サービス契約変更マップ.通信機器セットコード → 通信機器セットコード
		if (caanMsg.isNull(EKK0341C230CBSMsg.TSUSHIN_KIKI_SET_CD))
		{
			template.setNull(EKK0341C230CBSMsg.TSUSHIN_KIKI_SET_CD);
		} else {
			template.set(EKK0341C230CBSMsg.TSUSHIN_KIKI_SET_CD, (String) caanMsg.getString(EKK0341C230CBSMsg.TSUSHIN_KIKI_SET_CD));
		}

		// 機器提供サービス契約変更マップ.リンクＳＴＢフラグ → リンクＳＴＢフラグ
		if (caanMsg.isNull(EKK0341C230CBSMsg.LINK_STB_FLG))
		{
			template.setNull(EKK0341C230CBSMsg.LINK_STB_FLG);
		} else {
			template.set(EKK0341C230CBSMsg.LINK_STB_FLG, (String) caanMsg.getString(EKK0341C230CBSMsg.LINK_STB_FLG));
		}

		// 機器提供サービス契約変更マップ.機器引当指定倉庫コード → 機器引当指定倉庫コード
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD));
		}

		// 機器提供サービス契約変更マップ.機器引当指定倉庫棚コード → 機器引当指定倉庫棚コード
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD));
		}

		// 機器提供サービス契約変更マップ.機器送料有無 → 機器送料有無
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SORYO_UM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SORYO_UM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SORYO_UM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SORYO_UM));
		}

		// 機器提供サービス契約変更マップ.機器送付先名 → 機器送付先名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SOHUS_NM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SOHUS_NM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SOHUS_NM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SOHUS_NM));
		}

		// 機器提供サービス契約変更マップ.機器送付先カナ名 → 機器送付先カナ名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SOHUS_KANA))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SOHUS_KANA);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SOHUS_KANA, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SOHUS_KANA));
		}

		// 機器提供サービス契約変更マップ.機器送付先住所コード → 機器送付先住所コード
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SOHUS_AD_CD))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SOHUS_AD_CD);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SOHUS_AD_CD, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SOHUS_AD_CD));
		}

		// 機器提供サービス契約変更マップ.機器送付先郵便番号 → 機器送付先郵便番号
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SOHUS_PCD))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SOHUS_PCD);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SOHUS_PCD, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SOHUS_PCD));
		}

		// 機器提供サービス契約変更マップ.機器送付先都道府県名 → 機器送付先都道府県名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SOHUS_STATE_NM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SOHUS_STATE_NM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SOHUS_STATE_NM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SOHUS_STATE_NM));
		}

		// 機器提供サービス契約変更マップ.機器送付先市区町村名 → 機器送付先市区町村名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SOHUS_CITY_NM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SOHUS_CITY_NM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SOHUS_CITY_NM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SOHUS_CITY_NM));
		}

		// 機器提供サービス契約変更マップ.機器送付先大字通称名 → 機器送付先大字通称名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SOHUS_OAZTSU_NM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SOHUS_OAZTSU_NM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SOHUS_OAZTSU_NM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SOHUS_OAZTSU_NM));
		}

		// 機器提供サービス契約変更マップ.機器送付先字丁目名 → 機器送付先字丁目名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SOHUS_AZCHO_NM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SOHUS_AZCHO_NM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SOHUS_AZCHO_NM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SOHUS_AZCHO_NM));
		}

		// 機器提供サービス契約変更マップ.機器送付先番地号 → 機器送付先番地号
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SOHUS_BNCHIGO))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SOHUS_BNCHIGO);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SOHUS_BNCHIGO, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SOHUS_BNCHIGO));
		}

		// 機器提供サービス契約変更マップ.機器送付先住所補記・建物名 → 機器送付先住所補記・建物名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SOHUS_ADRTTM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SOHUS_ADRTTM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SOHUS_ADRTTM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SOHUS_ADRTTM));
		}

		// 機器提供サービス契約変更マップ.機器送付先住所補記・部屋番号 → 機器送付先住所補記・部屋番号
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SOHUS_ADRRM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SOHUS_ADRRM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SOHUS_ADRRM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SOHUS_ADRRM));
		}

		// 機器提供サービス契約変更マップ.機器送付先電話番号 → 機器送付先電話番号
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SOHUS_TELNO))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SOHUS_TELNO);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SOHUS_TELNO, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SOHUS_TELNO));
		}

		// 機器提供サービス契約変更マップ.機器送付先_契約者住所差異フラグ → 機器送付先_契約者住所差異フラグ
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG));
		}

		// 機器提供サービス契約変更マップ.機器送付先個別指定フラグ → 機器送付先個別指定フラグ
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SHS_KBT_SHITEI_FLG))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SHS_KBT_SHITEI_FLG);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SHS_KBT_SHITEI_FLG, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SHS_KBT_SHITEI_FLG));
		}

		// 機器提供サービス契約変更マップ.機器設置先名 → 機器設置先名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_NM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_NM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_NM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STC_SAKI_NM));
		}

		// 機器提供サービス契約変更マップ.機器設置先カナ名 → 機器設置先カナ名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_KANA))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_KANA);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_KANA, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STC_SAKI_KANA));
		}

		// 機器提供サービス契約変更マップ.機器設置先住所コード → 機器設置先住所コード
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_AD_CD))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_AD_CD);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_AD_CD, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STC_SAKI_AD_CD));
		}

		// 機器提供サービス契約変更マップ.機器設置先郵便番号 → 機器設置先郵便番号
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_PCD))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_PCD);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_PCD, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STC_SAKI_PCD));
		}

		// 機器提供サービス契約変更マップ.機器設置先都道府県名 → 機器設置先都道府県名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_STATE_NM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_STATE_NM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_STATE_NM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STC_SAKI_STATE_NM));
		}

		// 機器提供サービス契約変更マップ.機器設置先市区町村名 → 機器設置先市区町村名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_CITY_NM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_CITY_NM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_CITY_NM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STC_SAKI_CITY_NM));
		}

		// 機器提供サービス契約変更マップ.機器設置先大字通称名 → 機器設置先大字通称名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_OAZTSU_NM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_OAZTSU_NM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_OAZTSU_NM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STC_SAKI_OAZTSU_NM));
		}

		// 機器提供サービス契約変更マップ.機器設置先字丁目名 → 機器設置先字丁目名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_AZCHO_NM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_AZCHO_NM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_AZCHO_NM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STC_SAKI_AZCHO_NM));
		}

		// 機器提供サービス契約変更マップ.機器設置先番地号 → 機器設置先番地号
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_BNCHIGO))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_BNCHIGO);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_BNCHIGO, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STC_SAKI_BNCHIGO));
		}

		// 機器提供サービス契約変更マップ.機器設置先住所補記・建物名 → 機器設置先住所補記・建物名
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_ADRTTM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_ADRTTM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_ADRTTM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STC_SAKI_ADRTTM));
		}

		// 機器提供サービス契約変更マップ.機器設置先住所補記・部屋番号 → 機器設置先住所補記・部屋番号
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_ADRRM))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STC_SAKI_ADRRM);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STC_SAKI_ADRRM, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STC_SAKI_ADRRM));
		}

		// 機器提供サービス契約変更マップ.機器設置先_契約者住所差異フラグ → 機器設置先_契約者住所差異フラグ
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STC_SK_KSH_AD_SAI_FLG));
		}

		// 機器提供サービス契約変更マップ.機器設置先電話番号 → 機器設置先電話番号
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STC_SK_TELNO))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STC_SK_TELNO);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STC_SK_TELNO, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STC_SK_TELNO));
		}

		// 機器提供サービス契約変更マップ.機器設置先区画整理中フラグ → 機器設置先区画整理中フラグ
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_STS_KKK_SEIRI_CHU_FLG));
		}

		// 機器提供サービス契約変更マップ.住所未確定フラグ → 住所未確定フラグ
		if (caanMsg.isNull(EKK0341C230CBSMsg.AD_MI_FIX_FLG))
		{
			template.setNull(EKK0341C230CBSMsg.AD_MI_FIX_FLG);
		} else {
			template.set(EKK0341C230CBSMsg.AD_MI_FIX_FLG, (String) caanMsg.getString(EKK0341C230CBSMsg.AD_MI_FIX_FLG));
		}

		// 機器提供サービス契約変更マップ.配送区分 → 配送区分
		if (caanMsg.isNull(EKK0341C230CBSMsg.HAISO_DIV))
		{
			template.setNull(EKK0341C230CBSMsg.HAISO_DIV);
		} else {
			template.set(EKK0341C230CBSMsg.HAISO_DIV, (String) caanMsg.getString(EKK0341C230CBSMsg.HAISO_DIV));
		}

		// 機器提供サービス契約変更マップ.試用加入年月日 → 試用加入年月日
		if (caanMsg.isNull(EKK0341C230CBSMsg.FTRIAL_KANYU_YMD))
		{
			template.setNull(EKK0341C230CBSMsg.FTRIAL_KANYU_YMD);
		} else {
			template.set(EKK0341C230CBSMsg.FTRIAL_KANYU_YMD, (String) caanMsg.getString(EKK0341C230CBSMsg.FTRIAL_KANYU_YMD));
		}

		// 機器提供サービス契約変更マップ.試用期間終了年月日 → 試用期間終了年月日
		if (caanMsg.isNull(EKK0341C230CBSMsg.FTRIAL_PRD_ENDYMD))
		{
			template.setNull(EKK0341C230CBSMsg.FTRIAL_PRD_ENDYMD);
		} else {
			template.set(EKK0341C230CBSMsg.FTRIAL_PRD_ENDYMD, (String) caanMsg.getString(EKK0341C230CBSMsg.FTRIAL_PRD_ENDYMD));
		}

		// 機器提供サービス契約変更マップ.本加入年月日 → 本加入年月日
		if (caanMsg.isNull(EKK0341C230CBSMsg.HONKANYU_YMD))
		{
			template.setNull(EKK0341C230CBSMsg.HONKANYU_YMD);
		} else {
			template.set(EKK0341C230CBSMsg.HONKANYU_YMD, (String) caanMsg.getString(EKK0341C230CBSMsg.HONKANYU_YMD));
		}

		// 機器提供サービス契約変更マップ.本加入移行期限年月日 → 本加入移行期限年月日
		if (caanMsg.isNull(EKK0341C230CBSMsg.HONKANYU_IKO_KIGEN_YMD))
		{
			template.setNull(EKK0341C230CBSMsg.HONKANYU_IKO_KIGEN_YMD);
		} else {
			template.set(EKK0341C230CBSMsg.HONKANYU_IKO_KIGEN_YMD, (String) caanMsg.getString(EKK0341C230CBSMsg.HONKANYU_IKO_KIGEN_YMD));
		}

		// 機器提供サービス契約変更マップ.保証コード → 保証コード
		if (caanMsg.isNull(EKK0341C230CBSMsg.HOSHO_CD))
		{
			template.setNull(EKK0341C230CBSMsg.HOSHO_CD);
		} else {
			template.set(EKK0341C230CBSMsg.HOSHO_CD, (String) caanMsg.getString(EKK0341C230CBSMsg.HOSHO_CD));
		}

		// 機器提供サービス契約変更マップ.違約金発生コード → 違約金発生コード
		if (caanMsg.isNull(EKK0341C230CBSMsg.PNLTY_HASSEI_CD))
		{
			template.setNull(EKK0341C230CBSMsg.PNLTY_HASSEI_CD);
		} else {
			template.set(EKK0341C230CBSMsg.PNLTY_HASSEI_CD, (String) caanMsg.getString(EKK0341C230CBSMsg.PNLTY_HASSEI_CD));
		}

		// 機器提供サービス契約変更マップ.異動区分 → 異動区分
		if (caanMsg.isNull(EKK0341C230CBSMsg.IDO_DIV))
		{
			template.setNull(EKK0341C230CBSMsg.IDO_DIV);
		} else {
			template.set(EKK0341C230CBSMsg.IDO_DIV, (String) caanMsg.getString(EKK0341C230CBSMsg.IDO_DIV));
		}

		// 機器提供サービス契約変更マップ.ＣＡＳカード使用許諾年月日 → ＣＡＳカード使用許諾年月日
		if (caanMsg.isNull(EKK0341C230CBSMsg.CAS_CARD_USE_KYODAK_YMD))
		{
			template.setNull(EKK0341C230CBSMsg.CAS_CARD_USE_KYODAK_YMD);
		} else {
			template.set(EKK0341C230CBSMsg.CAS_CARD_USE_KYODAK_YMD, (String) caanMsg.getString(EKK0341C230CBSMsg.CAS_CARD_USE_KYODAK_YMD));
		}

		// 機器提供サービス契約変更マップ.機器付加情報コード → 機器付加情報コード
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_HUKA_INFO_CD))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_HUKA_INFO_CD);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_HUKA_INFO_CD, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_HUKA_INFO_CD));
		}

		// 機器提供サービス契約変更マップ.配送方法コード → 配送方法コード
		if (caanMsg.isNull(EKK0341C230CBSMsg.HAISO_WAY_CD))
		{
			template.setNull(EKK0341C230CBSMsg.HAISO_WAY_CD);
		} else {
			template.set(EKK0341C230CBSMsg.HAISO_WAY_CD, (String) caanMsg.getString(EKK0341C230CBSMsg.HAISO_WAY_CD));
		}

		// 機器提供サービス契約変更マップ.機器移転先移動実施者識別コード → 機器移転先移動実施者識別コード
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_ITENS_MV_JSSIS_SKCD))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_ITENS_MV_JSSIS_SKCD);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_ITENS_MV_JSSIS_SKCD, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_ITENS_MV_JSSIS_SKCD));
		}

		// 機器提供サービス契約変更マップ.配送依頼指定年月日 → 配送依頼指定年月日
		if (caanMsg.isNull(EKK0341C230CBSMsg.HAISO_REQ_SHITEI_YMD))
		{
			template.setNull(EKK0341C230CBSMsg.HAISO_REQ_SHITEI_YMD);
		} else {
			template.set(EKK0341C230CBSMsg.HAISO_REQ_SHITEI_YMD, (String) caanMsg.getString(EKK0341C230CBSMsg.HAISO_REQ_SHITEI_YMD));
		}

		// 機器提供サービス契約変更マップ.更新年月日時分秒(更新前) → 更新年月日時分秒(更新前)
		if(updDtmBf != null){
			template.set(EKK0341C230CBSMsg.UPD_DTM_BF, updDtmBf);
		}else{
			if (caanMsg.isNull(EKK0341C230CBSMsg.UPD_DTM_BF))
			{
				template.setNull(EKK0341C230CBSMsg.UPD_DTM_BF);
			} else {
				template.set(EKK0341C230CBSMsg.UPD_DTM_BF, (String) caanMsg.getString(EKK0341C230CBSMsg.UPD_DTM_BF));
			}
		}

		// 機器提供サービス契約変更マップ.機器送付先住所手動入力フラグ → 機器送付先住所手動入力フラグ
		if (caanMsg.isNull(EKK0341C230CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG))
		{
			template.setNull(EKK0341C230CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG);
		} else {
			template.set(EKK0341C230CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG, (String) caanMsg.getString(EKK0341C230CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG));
		}

		// 機器提供サービス契約変更マップ.回収機器有無 → 回収機器有無
		if (caanMsg.isNull(EKK0341C230CBSMsg.KAISHU_KIKI_UM))
		{
			template.setNull(EKK0341C230CBSMsg.KAISHU_KIKI_UM);
		} else {
			template.set(EKK0341C230CBSMsg.KAISHU_KIKI_UM, (String) caanMsg.getString(EKK0341C230CBSMsg.KAISHU_KIKI_UM));
		}
		
		// 機器提供サービス契約変更マップ.サービス開始時配送状況識別コード → サービス開始時配送状況識別コード
		if (svcStaJiHisJkSkCd == null || "".equals(svcStaJiHisJkSkCd))
		{
			template.setNull(EKK0341C230CBSMsg.SVC_STA_JI_HIS_JOKYO_SKCD);
		} else {
			template.set(EKK0341C230CBSMsg.SVC_STA_JI_HIS_JOKYO_SKCD, svcStaJiHisJkSkCd);
		}
	}
	// ANK-2138-00-00 2014/08/07 add end
	
	// IT1-2014-0000315 2014/09/29 add start
	/**
	 * templateに対してEDK0011B090の条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	svcKeiNo	サービス契約番号
	 * @return
	 */
	public void mappingEDK0011B090SCInMsg(
			CAANMsg template
			,String haisoTaibpinNo
	)
	{
		// まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EDK0011B090CBSMsg().getContents());

		// テンプレートID(SIFのID)
		template.set(EDK0011B090CBSMsg.TEMPLATEID, "EDK0011B090");

		// 機能コード
		template.set(EDK0011B090CBSMsg.FUNC_CODE, FUNC_CODE_ONE);

		//ＫＥＹ＿配送対象物品番号
		template.set(EDK0011B090CBSMsg.KEY_HAISO_TAIBPIN_NO, haisoTaibpinNo);
	}
	// IT1-2014-0000315 2014/09/29 add end

//ANK-3732-00-00 ADD START
	/**
	 * templateに対してEKK0341C170SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	アプリ固有のパラメータ
	 * @param	inHash		条件用hash
	 * @param	workField	
	 */
	public void mappinEKK0341C170SCInMsg(
			CAANMsg template,
			String funcCd,
			String tgKKtkSvcKeiNo,
			String geneAddDtm,
			String updDtmBf
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341C170CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0341C170CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0341C170);

		//機能コード--チェック＆更新
		template.set(EKK0341C170CBSMsg.FUNC_CODE, funcCd);

		//機器提供サービス契約番号
		template.set(EKK0341C170CBSMsg.KKTK_SVC_KEI_NO, tgKKtkSvcKeiNo);

		//世代登録年月日時分秒
		template.set(EKK0341C170CBSMsg.GENE_ADD_DTM, geneAddDtm);

		//更新年月日時分秒（更新前）
		template.set(EKK0341C170CBSMsg.UPD_DTM_BF, updDtmBf);
	}

	/**
	 * 結果をHashとして抽出する<br>
	 * <br>
	 * @param	resultMsgs	テンプレートリスト
	 * @return				結果部分
	 */
	public HashMap<String, Object> mappingEKK0341C170SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}

	/**
	 * templateに対してEKK0341C170SCの条件に関する部分を設定する<br>
	 * <br>
	 * @param	template	条件の設定先
	 * @param	trgt_data	アプリ固有のパラメータ
	 * @param	inHash		条件用hash
	 * @param	workField	
	 */
	public void mappinEKK0341C540SCInMsg(
			CAANMsg template,
			String funcCd,
			String tgKKtkSvcKeiNo,
			String geneAddDtm,
			String updDtmBf
	)
	{
		//まずは全条件のNullマッピング
		fillCAANMSGNullMapping(template, new EKK0341C540CBSMsg().getContents());

		//テンプレートID(SIFのID)
		template.set(EKK0341C540CBSMsg.TEMPLATEID, TEMPLATE_ID_EKK0341C540);

		//機能コード--チェック＆更新
		template.set(EKK0341C540CBSMsg.FUNC_CODE, funcCd);

		//機器提供サービス契約番号
		template.set(EKK0341C540CBSMsg.KKTK_SVC_KEI_NO, tgKKtkSvcKeiNo);

		//世代登録年月日時分秒
		template.set(EKK0341C540CBSMsg.GENE_ADD_DTM, geneAddDtm);

		//予約取消年月日
		template.set(EKK0341C540CBSMsg.RSV_CL_YMD, (String) oPE_DATE);

		//予約適用コード
		template.set(EKK0341C540CBSMsg.RSV_APLY_CD, RSV_APLY_CD_RSV_CL);

		//更新年月日時分秒（更新前）
		template.set(EKK0341C540CBSMsg.UPD_DTM_BF, updDtmBf);
	}

	/**
	 * 結果をHashとして抽出する<br>
	 * <br>
	 * @param	resultMsgs	テンプレートリスト
	 * @return				結果部分
	 */
	public HashMap<String, Object> mappingEKK0341C540SCOutMsg(CAANMsg[] resultMsgs)
	{
		HashMap<String, Object> retHash = null;
		CAANMsg msg = null;

		// 結果の抽出
		msg = resultMsgs[0];

		// 結果の取得
		retHash = msg.getHashMap();

		return retHash;
	}
//ANK-3732-00-00 ADD END
	
// ANK-4494-00-00 Step2品質強化対応No.33 20241204 星野 ADD START
	/**
	 *<DL>
	 *<DT>処理概要:電話番号一意照会
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param telNo 電話番号
	 * @return サービスコンポーネント実行用CAANMsg
	 * @since 2011.09.21
	 */
	public void mappingEZM0121A010SCInMsg(CAANMsg template, String telNo) throws Throwable 
	{

		String funcCode = "1";

		// nullを設定
		fillCAANMSGNullMapping(template, new EZM0121A010CBSMsg().getContents());

		// テンプレートID
		template.set(EZM0121A010CBSMsg.TEMPLATEID, "EZM0121A010");

		// 機能コード（デフォルト：１）
		template.set(EZM0121A010CBSMsg.FUNC_CODE, funcCode);

		// サービス契約内訳＜eo光電話＞一意照会.電話番号 → ＫＥＹ＿電話番号
		template.set(EZM0121A010CBSMsg.KEY_TELNO, telNo);
	}
	
	/**
	 *<DL>
	 *<DT>電話番号変更(網内番号用)
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param telNo 電話番号
	 * @param UpdDtm 更新年月日時分秒
	 * @return サービスコンポーネント実行用CAANMsg
	 * @since 2024.04.30
	 */
	public void mappinEZM0121C010SCInMsg(
			CAANMsg template,
			CAANMsg msgEZM0121A010
	)
	{
		String funcCode = "1";

		// nullを設定
		fillCAANMSGNullMapping(template, new EZM0121C010CBSMsg().getContents());

		// テンプレートID
		template.set(EZM0121C010CBSMsg.TEMPLATEID, "EZM0121C010");

		// 機能コード（デフォルト：１）
		template.set(EZM0121C010CBSMsg.FUNC_CODE, funcCode);

		// 電話番号
		template.set(EZM0121C010CBSMsg.TELNO, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.TELNO));

		// 局番
		template.set(EZM0121C010CBSMsg.KYOKU_NO, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.KYOKU_NO));

		// 番号コード
		template.set(EZM0121C010CBSMsg.NO_CD, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.NO_CD));

		// 割当通信事業者コード
		template.set(EZM0121C010CBSMsg.WARIATE_TSJGS_CD, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.WARIATE_TSJGS_CD));

		// 使用通信事業者コード
		template.set(EZM0121C010CBSMsg.USE_TSJGS_CD, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.USE_TSJGS_CD));

		// サービス区分
		template.set(EZM0121C010CBSMsg.SVC_DIV, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.SVC_DIV));

		// 引当制約種別コード
		template.set(EZM0121C010CBSMsg.HKAT_SIYK_SBT_CD, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.HKAT_SIYK_SBT_CD));

		// 引当制約設定年月日時分秒
		template.set(EZM0121C010CBSMsg.HKAT_SIYK_SET_DTM, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.HKAT_SIYK_SET_DTM));

		// 電話番号説明
		template.set(EZM0121C010CBSMsg.TLN_SETMEI, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.TLN_SETMEI));

		// 個人法人電話番号帯コード　法人
		template.set(EZM0121C010CBSMsg.KOJIN_HOJIN_TLN_TAI_CD, JKKStrConst.CD00410_HOJIN);

		// Ｃ５サーバ号機識別コード
		template.set(EZM0121C010CBSMsg.C5_SERVER_GOKI_SKBT_CD, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.C5_SERVER_GOKI_SKBT_CD));

		// 電話番号適用開始年月日
		template.set(EZM0121C010CBSMsg.TELNO_TSTAYMD, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.TELNO_TSTAYMD));

		// 電話番号適用終了年月日
		template.set(EZM0121C010CBSMsg.TELNO_TENDYMD, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.TELNO_TENDYMD));

		// ＮＲＮ番号
		template.set(EZM0121C010CBSMsg.NRN_NO, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.NRN_NO));

		// 初回割当年月日
		template.set(EZM0121C010CBSMsg.FIRST_WARIATE_YMD, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.FIRST_WARIATE_YMD));

		// 更新前最終年月日時分秒
		template.set(EZM0121C010CBSMsg.LAST_UPD_DTM_BF, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.UPD_DTM));

		// 初期個人法人電話番号帯コード
		template.set(EZM0121C010CBSMsg.SHK_KOJIN_HOJIN_TLN_TAI_CD, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.SHK_KOJIN_HOJIN_TLN_TAI_CD));

		// 電話番号取得通信事業者コード
		template.set(EZM0121C010CBSMsg.TLN_STKU_TSJGS_CD, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.TLN_STKU_TSJGS_CD));

		// 移転元通信事業者コード
		template.set(EZM0121C010CBSMsg.ITNM_TSJGS_CD, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.ITNM_TSJGS_CD));

		// 移転先通信事業者コード
		template.set(EZM0121C010CBSMsg.ITNS_TSJGS_CD, msgEZM0121A010.getString(EZM0121A010CBSMsg1List.ITNS_TSJGS_CD));
	}
// ANK-4494-00-00 Step2品質強化対応No.33 20241204 星野 ADD END

	// ANK-4592-00-00 ADD START
	/**
	 *<DL>
	 *<DT>処理概要:スカパー鍵情報操作部品
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param	param			(I) 業務データ取得用I/F
	 * @param	fixedText		ユーザ任意文字列
	 * @param	idoDiv			
	 * @param	mskmNo			申込番号
	 * @param	ekk0081a010Map	サービス契約一意照会結果
	 * @param	workField		
	 * @return
	 * @throws	RequestParameterException
	 */
	public void editJKKSptvKeyInfOperate(
			IRequestParameterReadWrite param,
			HashMap<String, Object>trgt_data,
			HashMap<String, Object> inHash)
	throws RequestParameterException 
	{
		HashMap targetMap = new HashMap<String, Object>();
		
		// 機能コード
		targetMap.put("func_cd", JPCModelConstant.FUNC_CD_1);
		
		// 処理コード
		targetMap.put("shori_cd", SHORI_CD_DSL_STP_PAUSE);
		
		// サービス契約番号
		targetMap.put("svc_kei_no", (String) inHash.get(EKK0081A010CBSMsg1List.SVC_KEI_NO));
		
		// 算出元日付
		targetMap.put("snst_mt_ymd", oPE_DATE);
		
		// 操作区分
		targetMap.put("ope_div", OPE_DIV_KAIYAKU);
		
		param.setData(CC_WORK_SPTVDSL_STP_PAUSE, targetMap);
	}
	// ANK-4592-00-00 ADD END
	// ANK-4685-00-00 ADD START
	/**
	 *<DL>
	 *<DT>処理概要:通信事業者一覧照会
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * 
	 * @param	template	条件の設定先
	 * @since 2025.05.20
	 */
	public void mappinETU0051B010SCInMsg(CAANMsg template) 
	throws Throwable 
	{

		String funcCode = "1";

		// nullを設定
		fillCAANMSGNullMapping(template, new ETU0051B010CBSMsg().getContents());

		// テンプレートID
		template.set(ETU0051B010CBSMsg.TEMPLATEID, "ETU0051B010");

		// 機能コード（デフォルト：１）
		template.set(ETU0051B010CBSMsg.FUNC_CODE, funcCode);

		// 機能コード
		template.set(ETU0051B010CBSMsg.FUNC_CODE, funcCode);

		// 検索処理パターン
		template.set(ETU0051B010CBSMsg.SEARCH_TYPE, "1");

		// 最大検索件数
		template.set(ETU0051B010CBSMsg.MAX_SEARCH_NUM, "100");

		// ＫＥＹ＿自社他社フラグ
		template.set(ETU0051B010CBSMsg.KEY_JISHA_TASHA_FLG, JKKStrConst.CD00189_JISHA);
	}
	// ANK-4685-00-00 ADD END

}