/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKKGetSvcKeiAdslCC
*   ソースファイル名：JKKGetSvcKeiAdslCC.java
*   作成者          ：富士通
*   日付            ：2011年10月17日
*＜機能概要＞
*   eoADSLの照会を行います。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/10/17   FJ）湯地    新規作成
*   v4.00.00    2012/10/16   FJ）松田    【ANK-1199-00-00】申込書明細番号の自動発番について
*   v4.01.00    2012/12/20   FJ）松田    【KAD-2012-0001108】書面での受付番号の申込イメージの紐付けについて
*   v5.00.00	2013/01/25   FJ) 谷口	 【ANK-1270-02-00】１G値下げに伴う200M申込受付停止及びファミパ・無線ルータ値下げ対応
*   v5.01.00    2013/02/07   FJ) 中山    【ST2-2013-0000666】DB照会データがNULLの場合の空文字列変換
**********************************************************************/

package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.fujitsu.futurity.bp.x21.bpm.ServiceComponentRequestInvoker;
import com.fujitsu.futurity.bp.x21.bpm.db.SessionHandle;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.bp.x21.cc.ICommonComponent;
import com.fujitsu.futurity.bp.x21.cc.exception.CCException;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.model.base.CAANMsg;

import eo.common.constant.JKKStrConst;
import eo.ejb.cbs.cbsmsg.EKK0021A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0021A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0141A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0141A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0161A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0221A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0221A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0351B512CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351B512CBSMsg1List;



/**
 * eoADSLの照会を行います。
 * <BR>
 * @author 富士通
 */
public class JKKGetSvcKeiAdslCC extends AbstractCommonComponent implements ICommonComponent
{
	/** エラー発生時メッセージ */
	private static final String SC_ERROR_STRING = "eoADSL照会CCで例外が発生しました";
	
	/** 作業項目マップID 申込明細 */
	private static final String MAP_ID_MSKM_DTL = "MSKM_DTL";

	/** 作業項目マップID サービス契約 */
	private static final String MAP_ID_SVC_KEI = "SVC_KEI";

	/** 作業項目マップID サービス契約内訳 */
	private static final String MAP_ID_SVC_KEI_UCWK = "SVC_KEI_UCWK";
	
	/** 作業マップ名 */
	private static final String PREVIOUS_CC_WORK = "JKKGetMskmSvcKeiUcwkListCCWork";	
	
	/** ワークマップから取得したADSLのサービス契約番号 */
	private String wkSvcKeiNo = "";


	/**
	 * eoADSL照会処理
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param ccName ユーザ定義文字列
	 * @return リクエストパラメータ
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite getSvcKeiAdsl(SessionHandle handle, IRequestParameterReadWrite param, String ccName) throws Throwable
	{
		Map<String, Object> ccParam = (Map<String, Object>)param.getData(ccName);
		if (ccParam == null)
		{
			return param;
		}

		// ワークエリアからeoADSLのサービス契約情報を取得する
		HashMap svcKeiMap = getWorkSvcKeiMap(param);
		if (svcKeiMap == null)
		{
			// eoADSLのサービス契約が存在しなければ、処理終了
			return param;
		}

		// 作業用変数の初期化
		Map<?, ?> result = null;

		// データ返却用のマップオブジェクト
		Map resUserMap = new HashMap();

		// 作業領域のマップを取得
		HashMap mskmDtlMap = getWorkMskmDtlMap(param);

		ArrayList childList = null;

		childList = (ArrayList)mskmDtlMap.get("svc_kei_list");

		HashMap childMap = (HashMap)childList.get(0);
		
		wkSvcKeiNo = (String)childMap.get("svc_kei_no");

		boolean errFlg = false;
		/****************************************************/
		/** 申込明細一意照会                            */
		/****************************************************/
		result = callGetMskmDtl(handle, param, "2", ccName, resUserMap);
		if (!JKKBpCommon.isSuccess(result))
		{
			// エラー情報のセット
			JKKBpCommon.setResultCtrlData(param, result, "EKK0021A010");
			errFlg = true;
		}

		/****************************************************/
		/** サービス契約一意照会                            */
		/****************************************************/
		result = callGetServiceKeiyaku(handle, param, "2", ccName, resUserMap);
		if (!JKKBpCommon.isSuccess(result))
		{
			// エラー情報のセット
			JKKBpCommon.setResultCtrlData(param, result, "EKK0081A010");
			errFlg = true;
		}

		/****************************************************/
		/** サービス契約<eoADSL>一意照会                    */
		/****************************************************/
		result = callGetSvcKeiAdsl(handle, param, "2", ccName, resUserMap);
		if (!JKKBpCommon.isSuccess(result))
		{
			// エラー情報のセット
			JKKBpCommon.setResultCtrlData(param, result, "EKK0141A010");
			errFlg = true;
		}

		if (getWorkSvcUcwkData(param, "svc_kei_ucwk_no") != null)
		{
			/****************************************************/
			/** サービス契約内訳一意照会                    */
			/****************************************************/
			result = callGetSvcKeiUcwk(handle, param, "2", ccName, resUserMap);
			if (!JKKBpCommon.isSuccess(result))
			{
				// エラー情報のセット
				JKKBpCommon.setResultCtrlData(param, result, "EKK0161A010");
				errFlg = true;
			}

			/****************************************************/
			/** サービス契約内訳<eoADSL>一意照会                    */
			/****************************************************/
			result = callGetSvcKeiUcwkAdsl(handle, param, "2", ccName, resUserMap);
			if (!JKKBpCommon.isSuccess(result))
			{
				// エラー情報のセット
				JKKBpCommon.setResultCtrlData(param, result, "EKK0221A010");
				errFlg = true;
			}
		}

		/****************************************************/
		/** オプションサービス契約一覧照会                  */
		/****************************************************/
		result = callGetSvcKeiOpt(handle, param, "2", ccName, resUserMap);
		if (!JKKBpCommon.isSuccess(result))
		{
			// エラー情報のセット
			JKKBpCommon.setResultCtrlData(param, result, "EKK0351B512");
			errFlg = true;
		}

		/***************************************************/
		/** 下りデータマッピング処理開始                   */
		/***************************************************/
		if (errFlg)
		{
			throw new CCException(SC_ERROR_STRING, new Exception());
		}
		JKKBpCommon.setResultUserData(param, ccName, resUserMap);
		JKKBpCommon.setResultCtrlData(param, result, ccName, 0, 0);

		return param;
	}
	
	/**
	 * ワーク領域の申込明細情報格納マップの値の取得を行います。
	 * <br>
	 * @param param
	 * @param key
	 * @return ワーク領域の申込明細情報格納マップの値
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private String getWorkMskmDtlData(IRequestParameterReadWrite param, String key) throws RequestParameterException
	{
		HashMap<String, Object> mskmDtlMap = getWorkMskmMap(param, MAP_ID_MSKM_DTL);
		if (mskmDtlMap == null)
		{
			// 申込明細：サービス契約＜eoADSL＞に紐付くものなし
			return null;
		}
		
		String result  = (String)mskmDtlMap.get(key);
		if ("".equals(result))
		{
			result = null;
		}
		return result;
	}
	
	/**
	 * ワーク領域のサービス契約内訳情報格納マップの値の取得を行います。
	 * <br>
	 * @param param
	 * @param key
	 * @return ワーク領域のサービス契約内訳情報格納マップの値
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private String getWorkSvcUcwkData(IRequestParameterReadWrite param, String key) throws RequestParameterException
	{
		HashMap<String, Object> svcKeiUcwkMap = getWorkMskmMap(param, MAP_ID_SVC_KEI_UCWK);
		if (svcKeiUcwkMap == null)
		{
			// サービス契約内訳：サービス契約＜eoADSL＞に紐付くものなし
			return null;
		}
		String result  = (String)svcKeiUcwkMap.get(key);
		if ("".equals(result))
		{
			result = null;
		}
		return result;
	}
	
	/**
	 * ワーク領域のADSL申込情報格納マップの取得を行います。
	 * <br>
	 * @param param
	 * @param mapId どのマップを取得するかを指定します。<br>
	 * "MSKM_DTL"=申込明細、"SVC_KEI"=サービス契約、"SVC_KEI_UCWK"=サービス契約内訳
	 * @return ワーク領域のADSL申込情報格納マップ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private HashMap getWorkMskmMap(IRequestParameterReadWrite param, String mapId) throws RequestParameterException
	{

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			return null;
		}

		// 申込サービス契約内訳一覧照会ＣＣの作業領域のマップを取得
		HashMap mskmSvcKeiUcwkWorkMap = (HashMap)workMap.get("JKKGetMskmSvcKeiUcwkListCCWork");
		if (mskmSvcKeiUcwkWorkMap == null)
		{
			return null;
		}

		// 申込明細明細リストを取得
		ArrayList<HashMap> mskmDtlList = (ArrayList<HashMap>)mskmSvcKeiUcwkWorkMap.get("mskm_dtl_list");
		if (mskmDtlList == null)
		{
			return null;
		}

		// 申込明細のサービス契約リストからサービス契約：eoADSLを検索
		for (HashMap mskmDtlMap : mskmDtlList)
		{
			ArrayList<HashMap> svcKeiList = (ArrayList<HashMap>)mskmDtlMap.get("svc_kei_list");
			for (HashMap svcKeiMap : svcKeiList)
			{
				if (JKKStrConst.CD00133_05.equals((String)svcKeiMap.get("prc_grp_cd")) ||   // eAccess
						JKKStrConst.CD00133_06.equals((String)svcKeiMap.get("prc_grp_cd"))) // フレッツ
				{
					if (MAP_ID_MSKM_DTL.equals(mapId))
					{
						return mskmDtlMap;
					}
					else if (MAP_ID_SVC_KEI.equals(mapId))
					{
						return svcKeiMap;
					}
					else if (MAP_ID_SVC_KEI_UCWK.equals(mapId))
					{
						ArrayList<HashMap> svcKeiUcwkList = (ArrayList<HashMap>)svcKeiMap.get("svc_kei_ucwk_list");
						if (svcKeiUcwkList == null || svcKeiUcwkList.size() == 0)
						{
							return null;
						}
						HashMap svcKeiUcwkMap = (HashMap)svcKeiUcwkList.get(0);
						return svcKeiUcwkMap;
					}
				}
			}
		}

		// サービス契約：eoADSLなし
		return null;
	}

	/**
	 * 申込明細一意照会SCの実行
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param funcCd 機能コード
	 * @param ccName CC名
	 * @param outMap 返却用マップ
	 * @return 実行結果
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private Map<?, ?> callGetMskmDtl(
							SessionHandle handle,
							IRequestParameterReadWrite param,
							String funcCd,
							String ccName,
							Map outMap) throws Throwable
	{
		/***************************************************/
		/** 申込明細一意照会SCへの上りマッピング       */
		/***************************************************/
		Map<Object, Object> inMap = new HashMap<Object, Object>();
		inMap.put(EKK0021A010CBSMsg.KEY_MSKM_DTL_NO, getWorkMskmDtlData(param, "mskm_dtl_no"));
		HashMap<String, Object> paramMap = JKKBpCommon.createScParamForSearch(
				param, EKK0021A010CBSMsg.TEMPLATEID, EKK0021A010CBSMsg.class,
				inMap, funcCd);

		/***************************************************/
		/** ＳＣ呼出実行                                   */
		/***************************************************/
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		if (JKKBpCommon.isSuccess(result))
		{
			CAANMsg[] list = JKKBpCommon.getResultMsgList(result, "EKK0021A010CBSMsg1List");
			if ((list != null) && (list.length > 0))
			{
				setDataMap(outMap, "kk0021_mskm_dtl_no", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_DTL_NO));
				setDataMap(outMap, "kk0021_gene_add_dtm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.GENE_ADD_DTM));
				setDataMap(outMap, "kk0021_mskm_dtl_stat", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_DTL_STAT));
				setDataMap(outMap, "kk0021_mskm_dtl_stat_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_DTL_STAT_NM));
				setDataMap(outMap, "kk0021_mskm_no", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_NO));
				setDataMap(outMap, "kk0021_mskmsho_no", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKMSHO_NO));
				setDataMap(outMap, "kk0021_mskmsho_dtl_no", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKMSHO_DTL_NO));
				setDataMap(outMap, "kk0021_mskm_ymd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_YMD));
				setDataMap(outMap, "kk0021_sysid", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.SYSID));
				setDataMap(outMap, "kk0021_sysid_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.SYSID_NM));
				setDataMap(outMap, "kk0021_web_uk_no", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.WEB_UK_NO));
				setDataMap(outMap, "kk0021_mskm_form_cd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_FORM_CD));
				setDataMap(outMap, "kk0021_mskm_form_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_FORM_CD_NM));
				setDataMap(outMap, "kk0021_mskm_dtl_sbt_cd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_DTL_SBT_CD));
				setDataMap(outMap, "kk0021_rrks_ktai_telno", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.RRKS_KTAI_TELNO));
				setDataMap(outMap, "kk0021_rrks_offc_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.RRKS_OFFC_NM));
				setDataMap(outMap, "kk0021_dt_rrks_telno", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.DT_RRKS_TELNO));
				setDataMap(outMap, "kk0021_new_mskm_sbt_cd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.NEW_MSKM_SBT_CD));
				setDataMap(outMap, "kk0021_mskm_optnty_cd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_OPTNTY_CD));
				setDataMap(outMap, "kk0021_mskm_optnty_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_OPTNTY_CD_NM));
				setDataMap(outMap, "kk0021_takcho_kibo_apo_kigen_ymd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.TAKCHO_KIBO_APO_KIGEN_YMD));
				setDataMap(outMap, "kk0021_koji_apo_rrks_shitei_cd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.KOJI_APO_RRKS_SHITEI_CD));
				setDataMap(outMap, "kk0021_koji_apo_rrks_telno", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.KOJI_APO_RRKS_TELNO));
				setDataMap(outMap, "kk0021_rrk_jiko_add_dtm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.RRK_JIKO_ADD_DTM));
				setDataMap(outMap, "kk0021_mskm_dtl_shosa_dtm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_DTL_SHOSA_DTM));
				setDataMap(outMap, "kk0021_mskm_dtl_shosa_cl_ymd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_DTL_SHOSA_CL_YMD));
				setDataMap(outMap, "kk0021_kzkwrk_reqymd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.KZKWRK_REQYMD));
				setDataMap(outMap, "kk0021_mskm_dtl_cancel_ymd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_DTL_CANCEL_YMD));
				setDataMap(outMap, "kk0021_mskm_dtl_cancel_rsn_cd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_DTL_CANCEL_RSN_CD));
				setDataMap(outMap, "kk0021_mskm_dtl_cancel_rsn_memo", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_DTL_CANCEL_RSN_MEMO));
				setDataMap(outMap, "kk0021_mskm_dtl_cancel_cl_ymd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_DTL_CANCEL_CL_YMD));
				setDataMap(outMap, "kk0021_mskm_rrks_mlad", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKM_RRKS_MLAD));
				setDataMap(outMap, "kk0021_koji_prg_tchi_mlad", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.KOJI_PRG_TCHI_MLAD));
				setDataMap(outMap, "kk0021_rrk_jiko", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.RRK_JIKO));
				setDataMap(outMap, "kk0021_rcnt_shokai_ymd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.RCNT_SHOKAI_YMD));
				setDataMap(outMap, "kk0021_web_shokai_cnt", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.WEB_SHOKAI_CNT));
				setDataMap(outMap, "kk0021_pc_shokai_cnt", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.PC_SHOKAI_CNT));
				setDataMap(outMap, "kk0021_ktai_shokai_cnt", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.KTAI_SHOKAI_CNT));
				setDataMap(outMap, "kk0021_kjsc_tch_ktai_mlad", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.KJSC_TCH_KTAI_MLAD));
				setDataMap(outMap, "kk0021_kjsc_tch_pc_mlad_chg_ymd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.KJSC_TCH_PC_MLAD_CHG_YMD));
				setDataMap(outMap, "kk0021_kjsc_tch_ktai_mlad_chg_ymd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.KJSC_TCH_KTAI_MLAD_CHG_YMD));
				setDataMap(outMap, "kk0021_prg_ml_last_send_dtm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.PRG_ML_LAST_SEND_DTM));
				setDataMap(outMap, "kk0021_ml_send_jgi_flg", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.ML_SEND_JGI_FLG));
				setDataMap(outMap, "kk0021_ml_send_jgi_rsn_memo", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.ML_SEND_JGI_RSN_MEMO));
				setDataMap(outMap, "kk0021_bmp_mskm_rrks_tln", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.BMP_MSKM_RRKS_TLN));
				setDataMap(outMap, "kk0021_op_svc_hktgi_um", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.OP_SVC_HKTGI_UM));
				setDataMap(outMap, "kk0021_op_svc_hktgi_um_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.OP_SVC_HKTGI_UM_NM));
				setDataMap(outMap, "kk0021_dsl_aticle_sohu_kibo_um", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.DSL_ATICLE_SOHU_KIBO_UM));
				setDataMap(outMap, "kk0021_dsl_aticle_sohu_kibo_um_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.DSL_ATICLE_SOHU_KIBO_UM_NM));
				setDataMap(outMap, "kk0021_rrk_way_hoki", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.RRK_WAY_HOKI));
				setDataMap(outMap, "kk0021_newconst_bukken_cd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.NEWCONST_BUKKEN_CD));
				setDataMap(outMap, "kk0021_newconst_bukken_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.NEWCONST_BUKKEN_CD_NM));
				setDataMap(outMap, "kk0021_hukkat_anken_flg", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.HUKKAT_ANKEN_FLG));
				setDataMap(outMap, "kk0021_hukkat_anken_flg_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.HUKKAT_ANKEN_FLG_NM));
				setDataMap(outMap, "kk0021_same_equip_re_mskm_cd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.SAME_EQUIP_RE_MSKM_CD));
				setDataMap(outMap, "kk0021_same_equip_re_mskm_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.SAME_EQUIP_RE_MSKM_CD_NM));
				setDataMap(outMap, "kk0021_hnin_cfm_aticle_sbt_cd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.HNIN_CFM_ATICLE_SBT_CD));
				setDataMap(outMap, "kk0021_hnin_cfm_aticle_sbt_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.HNIN_CFM_ATICLE_SBT_CD_NM));
				setDataMap(outMap, "kk0021_mskmsho_sbt_cd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKMSHO_SBT_CD));
				setDataMap(outMap, "kk0021_mskmsho_sbt_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKMSHO_SBT_CD_NM));
				setDataMap(outMap, "kk0021_kei_huka_cd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.KEI_HUKA_CD));
				setDataMap(outMap, "kk0021_map_temp_um", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MAP_TEMP_UM));
				setDataMap(outMap, "kk0021_map_temp_um_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MAP_TEMP_UM_NM));
				setDataMap(outMap, "kk0021_kcn_stb_mskm_cnt", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.KCN_STB_MSKM_CNT));
				setDataMap(outMap, "kk0021_kcn_stb_kind_cd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.KCN_STB_KIND_CD));
				setDataMap(outMap, "kk0021_manssbsys_rnki_yo_kijiran", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MANSSBSYS_RNKI_YO_KIJIRAN));
				setDataMap(outMap, "kk0021_mansion_id", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MANSION_ID));
				setDataMap(outMap, "kk0021_catid", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.CATID));
				setDataMap(outMap, "kk0021_mkm_uk_sbt_cd", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MKM_UK_SBT_CD));
				setDataMap(outMap, "kk0021_mkm_uk_sbt_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MKM_UK_SBT_CD_NM));
				setDataMap(outMap, "kk0021_mskmsho_trat_if_tntsha_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKMSHO_TRAT_IF_TNTSHA_NM));
				setDataMap(outMap, "kk0021_mskmsho_trat_if_telno", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MSKMSHO_TRAT_IF_TELNO));
				setDataMap(outMap, "kk0021_wrib_auto_aply_tg_gai_flg", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.WRIB_AUTO_APLY_TG_GAI_FLG));
				setDataMap(outMap, "kk0021_add_dtm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.ADD_DTM));
				setDataMap(outMap, "kk0021_add_opeacnt", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.ADD_OPEACNT));
				setDataMap(outMap, "kk0021_upd_dtm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.UPD_DTM));
				setDataMap(outMap, "kk0021_upd_opeacnt", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.UPD_OPEACNT));
				setDataMap(outMap, "kk0021_del_dtm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.DEL_DTM));
				setDataMap(outMap, "kk0021_del_opeacnt", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.DEL_OPEACNT));
				setDataMap(outMap, "kk0021_mk_flg", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MK_FLG));
				setDataMap(outMap, "kk0021_mk_flg_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.MK_FLG_NM));
				setDataMap(outMap, "kk0021_last_upd_dtm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.LAST_UPD_DTM));
				setDataMap(outMap, "kk0021_hnin_cfm_aticle_nm", JKKBpCommon.getResultString(result,
						"EKK0021A010CBSMsg1List[0]." + EKK0021A010CBSMsg1List.HNIN_CFM_ATICLE_NM));
			}
		}

		return result;
	}

	/**
	 * サービス契約一意照会SCの実行
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param funcCd 機能コード
	 * @param ccName CC名
	 * @param outMap 返却用マップ
	 * @return 実行結果
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private Map<?, ?> callGetServiceKeiyaku(
							SessionHandle handle,
							IRequestParameterReadWrite param,
							String funcCd,
							String ccName,
							Map outMap) throws Throwable
	{
		/***************************************************/
		/** サービス契約一意照会SCへの上りマッピング       */
		/***************************************************/
		Map<Object, Object> inMap = new HashMap<Object, Object>();
		Map<String, Object> ccParam = (Map<String, Object>)param.getData(ccName);
		inMap.put(EKK0081A010CBSMsg.KEY_SVC_KEI_NO, wkSvcKeiNo);
		inMap.put(EKK0081A010CBSMsg.KEY_RSV_APLY_YMD, (String)ccParam.get("kk8113_ope_date"));
		HashMap<String, Object> paramMap = JKKBpCommon.createScParamForSearch(
				param, EKK0081A010CBSMsg.TEMPLATEID, EKK0081A010CBSMsg.class,
				inMap, funcCd);

		/***************************************************/
		/** ＳＣ呼出実行                                   */
		/***************************************************/
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		if (JKKBpCommon.isSuccess(result))
		{
			CAANMsg[] list = JKKBpCommon.getResultMsgList(result, "EKK0081A010CBSMsg1List");
			if ((list != null) && (list.length > 0))
			{
				setDataMap(outMap, "kk8113_prc_grp_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PRC_GRP_CD));
				setDataMap(outMap, "kk8113_pcrs_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PCRS_CD));
				setDataMap(outMap, "kk8113_pplan_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PPLAN_CD));
				setDataMap(outMap, "kk8113_svc_kei_no", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_KEI_NO));
				setDataMap(outMap, "kk8113_skekka_send_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SKEKKA_SEND_CD));
				setDataMap(outMap, "kk8113_skekka_send_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SKEKKA_SEND_CD_NM));
				setDataMap(outMap, "kk8113_skekka_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SKEKKA_CD));
				setDataMap(outMap, "kk8113_skekka_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SKEKKA_CD_NM));
				setDataMap(outMap, "kk8113_skekka_dtl_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SKEKKA_DTL_CD));
				setDataMap(outMap, "kk8113_skekka_hoki_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SKEKKA_HOKI_CD));
				setDataMap(outMap, "kk8113_skekka_hoki_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SKEKKA_HOKI_CD_NM));
				setDataMap(outMap, "kk8113_mskm_dtl_no", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.MSKM_DTL_NO));
				setDataMap(outMap, "kk8113_tk_hoshiki_kei_no", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.TK_HOSHIKI_KEI_NO));
				setDataMap(outMap, "kk8113_svc_use_sta_kibo_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_USE_STA_KIBO_YMD));
				setDataMap(outMap, "kk8113_payway_keizoku_flg", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PAYWAY_KEIZOKU_FLG));
				setDataMap(outMap, "kk8113_intr_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.INTR_CD));
				setDataMap(outMap, "kk8113_auto_shosa_tran_stat_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.AUTO_SHOSA_TRAN_STAT_CD));
				setDataMap(outMap, "kk8113_kk0081_upd_dtm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.UPD_DTM));
				setDataMap(outMap, "kk8113_svc_kei_stat", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_KEI_STAT));
				setDataMap(outMap, "kk8113_svc_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_CD));
				setDataMap(outMap, "kk8113_work_rrk_biko", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.WORK_RRK_BIKO));
				setDataMap(outMap, "kk0081_seiri_no", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SEIRI_NO));
				setDataMap(outMap, "kk0081_gene_add_dtm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.GENE_ADD_DTM));
				setDataMap(outMap, "kk0081_svc_kei_stat", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_KEI_STAT));
				setDataMap(outMap, "kk0081_svc_kei_stat_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_KEI_STAT_NM));
				setDataMap(outMap, "kk0081_sysid", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SYSID));
				setDataMap(outMap, "kk0081_sysid_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SYSID_NM));
				setDataMap(outMap, "kk0081_svc_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_CD));
				setDataMap(outMap, "kk0081_svc_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_CD_NM));
				setDataMap(outMap, "kk0081_menkaihat_anken_no", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.MENKAIHAT_ANKEN_NO));
				setDataMap(outMap, "kk0081_prc_grp_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PRC_GRP_CD_NM));
				setDataMap(outMap, "kk0081_pcrs_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PCRS_CD_NM));
				setDataMap(outMap, "kk0081_pplan_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PPLAN_CD_NM));
				setDataMap(outMap, "kk0081_rsv_tsta_kibo_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.RSV_TSTA_KIBO_YMD));
				setDataMap(outMap, "kk0081_id_sokhosho_output_yh", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.ID_SOKHOSHO_OUTPUT_YH));
				setDataMap(outMap, "kk0081_id_sokhosho_output_yh_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.ID_SOKHOSHO_OUTPUT_YH_NM));
				setDataMap(outMap, "kk0081_svc_kei_kzkwrk_reqymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_KEI_KZKWRK_REQYMD));
				setDataMap(outMap, "kk0081_shosa_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SHOSA_YMD));
				setDataMap(outMap, "kk0081_shosa_cl_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SHOSA_CL_YMD));
				setDataMap(outMap, "kk0081_payway_keizoku_flg_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PAYWAY_KEIZOKU_FLG_NM));
				setDataMap(outMap, "kk0081_ftrial_kanyu_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.FTRIAL_KANYU_YMD));
				setDataMap(outMap, "kk0081_ftrial_prd_endymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.FTRIAL_PRD_ENDYMD));
				setDataMap(outMap, "kk0081_honkanyu_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.HONKANYU_YMD));
				setDataMap(outMap, "kk0081_honkanyu_iko_kigen_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.HONKANYU_IKO_KIGEN_YMD));
				setDataMap(outMap, "kk0081_kei_cnc_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.KEI_CNC_YMD));
				setDataMap(outMap, "kk0081_plan_staymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PLAN_STAYMD));
				setDataMap(outMap, "kk0081_plan_endymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PLAN_ENDYMD));
				setDataMap(outMap, "kk0081_plan_chrg_staymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PLAN_CHRG_STAYMD));
				setDataMap(outMap, "kk0081_plan_chrg_endymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PLAN_CHRG_ENDYMD));
				setDataMap(outMap, "kk0081_plan_end_sbt_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PLAN_END_SBT_CD));
				setDataMap(outMap, "kk0081_plan_end_sbt_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PLAN_END_SBT_CD_NM));
				setDataMap(outMap, "kk0081_rsv_aply_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.RSV_APLY_YMD));
				setDataMap(outMap, "kk0081_rsv_cl_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.RSV_CL_YMD));
				setDataMap(outMap, "kk0081_rsv_aply_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.RSV_APLY_CD));
				setDataMap(outMap, "kk0081_rsv_aply_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.RSV_APLY_CD_NM));
				setDataMap(outMap, "kk0081_svc_cancel_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_CANCEL_YMD));
				setDataMap(outMap, "kk0081_svc_cancel_rsn_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_CANCEL_RSN_CD));
				setDataMap(outMap, "kk0081_svc_sta_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_STA_YMD));
				setDataMap(outMap, "kk0081_svc_chrg_staymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_CHRG_STAYMD));
				setDataMap(outMap, "kk0081_keizk_svc_staymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.KEIZK_SVC_STAYMD));
				setDataMap(outMap, "kk0081_keizk_svc_chrg_staymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.KEIZK_SVC_CHRG_STAYMD));
				setDataMap(outMap, "kk0081_letter_hasso_shiwake_div", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.LETTER_HASSO_SHIWAKE_DIV));
				setDataMap(outMap, "kk0081_letter_hasso_shiwake_div_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.LETTER_HASSO_SHIWAKE_DIV_NM));
				setDataMap(outMap, "kk0081_thnx_letter_shs_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.THNX_LETTER_SHS_CD));
				setDataMap(outMap, "kk0081_web_op_add_fail_flg", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.WEB_OP_ADD_FAIL_FLG));
				setDataMap(outMap, "kk0081_svc_stp_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_STP_YMD));
				setDataMap(outMap, "kk0081_svc_stp_rsn_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_STP_RSN_CD));
				setDataMap(outMap, "kk0081_svc_stp_rls_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_STP_RLS_YMD));
				setDataMap(outMap, "kk0081_svc_stp_rls_rsn_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_STP_RLS_RSN_CD));
				setDataMap(outMap, "kk0081_pause_stp_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PAUSE_STP_CD));
				setDataMap(outMap, "kk0081_pause_stp_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PAUSE_STP_CD_NM));
				setDataMap(outMap, "kk0081_svc_pause_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_PAUSE_YMD));
				setDataMap(outMap, "kk0081_svc_pause_rsn_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_PAUSE_RSN_CD));
				setDataMap(outMap, "kk0081_svc_pause_rsn_memo", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_PAUSE_RSN_MEMO));
				setDataMap(outMap, "kk0081_svc_pause_rls_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_PAUSE_RLS_YMD));
				setDataMap(outMap, "kk0081_svc_pause_rls_rsn_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_PAUSE_RLS_RSN_CD));
				setDataMap(outMap, "kk0081_svc_pause_rls_rsn_memo", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_PAUSE_RLS_RSN_MEMO));
				setDataMap(outMap, "kk0081_svc_endymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_ENDYMD));
				setDataMap(outMap, "kk0081_svc_chrg_endymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_CHRG_ENDYMD));
				setDataMap(outMap, "kk0081_svc_dsl_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_DSL_YMD));
				setDataMap(outMap, "kk0081_svc_dlre_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_DLRE_CD));
				setDataMap(outMap, "kk0081_svc_dlre_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_DLRE_CD_NM));
				setDataMap(outMap, "kk0081_svc_dlre_memo", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_DLRE_MEMO));
				setDataMap(outMap, "kk0081_svc_dsl_ttdki_fin_flg", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_DSL_TTDKI_FIN_FLG));
				setDataMap(outMap, "kk0081_kaihk_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.KAIHK_YMD));
				setDataMap(outMap, "kk0081_svc_cancel_cl_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_CANCEL_CL_YMD));
				setDataMap(outMap, "kk0081_svc_dsl_cl_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_DSL_CL_YMD));
				setDataMap(outMap, "kk0081_chge_mt_hojinsvkei_uk_no", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.CHGE_MT_HOJINSVKEI_UK_NO));
				setDataMap(outMap, "kk0081_chge_mt_hojinsvkei_uk_nopt", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.CHGE_MT_HOJINSVKEI_UK_NOPT));
				setDataMap(outMap, "kk0081_chge_sk_hojinsvkei_uk_no", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.CHGE_SK_HOJINSVKEI_UK_NO));
				setDataMap(outMap, "kk0081_chge_sk_hojinsvkei_uk_nopt", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.CHGE_SK_HOJINSVKEI_UK_NOPT));
				setDataMap(outMap, "kk0081_chmt_hjin_eo_ykae_svkei_no", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.CHMT_HJIN_EO_YKAE_SVKEI_NO));
				setDataMap(outMap, "kk0081_chsk_hjin_eo_ykae_svkei_no", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.CHSK_HJIN_EO_YKAE_SVKEI_NO));
				setDataMap(outMap, "kk0081_hojinsvkei_hktgi_sbt_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.HOJINSVKEI_HKTGI_SBT_CD));
				setDataMap(outMap, "kk0081_hojinsvkei_hktgi_sbt_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.HOJINSVKEI_HKTGI_SBT_CD_NM));
				setDataMap(outMap, "kk0081_pnlty_hassei_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PNLTY_HASSEI_CD));
				setDataMap(outMap, "kk0081_pnlty_chge_rsn_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PNLTY_CHGE_RSN_CD));
				setDataMap(outMap, "kk0081_pnlty_chge_rsn_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.PNLTY_CHGE_RSN_CD_NM));
				setDataMap(outMap, "kk0081_ido_div", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.IDO_DIV));
				setDataMap(outMap, "kk0081_ido_div_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.IDO_DIV_NM));
				setDataMap(outMap, "kk0081_shk_dflt_pwd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SHK_DFLT_PWD));
				setDataMap(outMap, "kk0081_menkaihat_anken_kr_add_flg", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.MENKAIHAT_ANKEN_KR_ADD_FLG));
				setDataMap(outMap, "kk0081_menkaihat_anken_kr_add_flg_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.MENKAIHAT_ANKEN_KR_ADD_FLG_NM));
				setDataMap(outMap, "kk0081_shosa_dsl_fin_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SHOSA_DSL_FIN_CD));
				setDataMap(outMap, "kk0081_shosa_dsl_fin_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SHOSA_DSL_FIN_CD_NM));
				setDataMap(outMap, "kk0081_ido_ng_stat_cd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.IDO_NG_STAT_CD));
				setDataMap(outMap, "kk0081_ido_ng_stat_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.IDO_NG_STAT_CD_NM));
				setDataMap(outMap, "kk0081_chrg_sta_ymd_hosei_um", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.CHRG_STA_YMD_HOSEI_UM));
				setDataMap(outMap, "kk0081_chrg_sta_ymd_hosei_um_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.CHRG_STA_YMD_HOSEI_UM_NM));
				setDataMap(outMap, "kk0081_svc_pause_chrg_sta_ymd", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVC_PAUSE_CHRG_STA_YMD));
				setDataMap(outMap, "kk0081_work_rrk_biko", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.WORK_RRK_BIKO));
				setDataMap(outMap, "kk0081_auto_shosa_tran_stat_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.AUTO_SHOSA_TRAN_STAT_CD_NM));
				setDataMap(outMap, "kk0081_kiki_miadd_list_oputzm_flg", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.KIKI_MIADD_LIST_OPUTZM_FLG));
				setDataMap(outMap, "kk0081_kiki_miadd_list_oputzm_flg_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.KIKI_MIADD_LIST_OPUTZM_FLG_NM));
				setDataMap(outMap, "kk0081_kaihk_fail_kei_cst_zm_flg", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.KAIHK_FAIL_KEI_CST_ZM_FLG));
				setDataMap(outMap, "kk0081_kaihk_fail_kei_cst_zm_flg_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.KAIHK_FAIL_KEI_CST_ZM_FLG_NM));
				setDataMap(outMap, "kk0081_add_dtm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.ADD_DTM));
				setDataMap(outMap, "kk0081_add_opeacnt", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.ADD_OPEACNT));
				setDataMap(outMap, "kk0081_upd_opeacnt", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.UPD_OPEACNT));
				setDataMap(outMap, "kk0081_del_dtm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.DEL_DTM));
				setDataMap(outMap, "kk0081_del_opeacnt", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.DEL_OPEACNT));
				setDataMap(outMap, "kk0081_mk_flg", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.MK_FLG));
				setDataMap(outMap, "kk0081_mk_flg_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.MK_FLG_NM));
				setDataMap(outMap, "kk0081_last_upd_dtm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.LAST_UPD_DTM));
				setDataMap(outMap, "kk0081_svctk_but_del_trn_jssi_dtm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.SVCTK_BUT_DEL_TRN_JSSI_DTM));
				setDataMap(outMap, "kk0081_juryo_chok_tchi_yh", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.JURYO_CHOK_TCHI_YH));
				setDataMap(outMap, "kk0081_juryo_chok_tchi_yh_nm", JKKBpCommon.getResultString(result,
						"EKK0081A010CBSMsg1List[0]." + EKK0081A010CBSMsg1List.JURYO_CHOK_TCHI_YH_NM));
			}
		}

		return result;
	}

	/**
	 * サービス契約<eoADSL>一意照会SCの実行
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param funcCd 機能コード
	 * @param ccName CC名
	 * @param outMap 返却用マップ
	 * @return 実行結果
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private Map<?, ?> callGetSvcKeiAdsl(
							SessionHandle handle,
							IRequestParameterReadWrite param,
							String funcCd,
							String ccName,
							Map outMap) throws Throwable
	{
		/********************************************************/
		/** サービス契約<eoADSL>一意照会SCへの上りマッピング    */
		/********************************************************/
		Map<Object, Object> inMap = new HashMap<Object, Object>();
		inMap.put(EKK0141A010CBSMsg.KEY_SVC_KEI_NO, wkSvcKeiNo);
		HashMap<String, Object> paramMap = JKKBpCommon.createScParamForSearch(
				param, EKK0141A010CBSMsg.TEMPLATEID, EKK0141A010CBSMsg.class,
				inMap, funcCd);

		/***************************************************/
		/** ＳＣ呼出実行                                   */
		/***************************************************/
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		if (JKKBpCommon.isSuccess(result))
		{
			CAANMsg[] list = JKKBpCommon.getResultMsgList(result, "EKK0141A010CBSMsg1List");
			if ((list != null) && (list.length > 0))
			{
				setDataMap(outMap, "kk8113_adsl_type_cd", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.ADSL_TYPE_CD));
				setDataMap(outMap, "kk8113_adsl_use_telno", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.ADSL_USE_TELNO));
				setDataMap(outMap, "kk8113_adsl_kaisen_meigin_nm", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.ADSL_KAISEN_MEIGIN_NM));
				setDataMap(outMap, "kk8113_adsl_kaisen_sbt_cd", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.ADSL_KAISEN_SBT_CD));
				setDataMap(outMap, "kk8113_adsl_taknikj_cd", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.ADSL_TAKNIKJ_CD));
				setDataMap(outMap, "kk8113_analog_switch_shonin_div", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.ANALOG_SWITCH_SHONIN_DIV));
				setDataMap(outMap, "kk8113_area_judge_kyoku_no", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.AREA_JUDGE_KYOKU_NO));
				setDataMap(outMap, "kk8113_stc_saki_kst_telno", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.STC_SAKI_KST_TELNO));
				setDataMap(outMap, "kk8113_ntt_shyakk_nm", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.NTT_SHYAKK_NM));
				setDataMap(outMap, "kk8113_konai_haisen_cd", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.KONAI_HAISEN_CD));
				setDataMap(outMap, "kk8113_eaccess_agnt_cd", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.EACCESS_AGNT_CD));
				setDataMap(outMap, "kk8113_eaccess_cmp_cd", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.EACCESS_CMP_CD));
				setDataMap(outMap, "kk8113_cpe_tk_yh", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.CPE_TK_YH));
				setDataMap(outMap, "kk8113_rsv_aply_cd", JKKBpCommon.getResultString(result,
						"EKK0141A010CBSMsg1List[0]." + EKK0141A010CBSMsg1List.RSV_APLY_CD));
			}
		}
		return result;
	}
	
	/**
	 * サービス契約内訳一意照会SCの実行
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param funcCd 機能コード
	 * @param ccName CC名
	 * @param outMap 返却用マップ
	 * @return 実行結果
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private Map<?, ?> callGetSvcKeiUcwk(
							SessionHandle handle,
							IRequestParameterReadWrite param,
							String funcCd,
							String ccName,
							Map outMap) throws Throwable
	{
		/********************************************************/
		/** サービス契約内訳一意照会SCへの上りマッピング    */
		/********************************************************/
		Map<Object, Object> inMap = new HashMap<Object, Object>();
		Map<String, Object> ccParam = (Map<String, Object>)param.getData(ccName);
		inMap.put(EKK0161A010CBSMsg.KEY_SVC_KEI_UCWK_NO, getWorkSvcUcwkData(param, "svc_kei_ucwk_no"));
		inMap.put(EKK0161A010CBSMsg.KEY_RSV_APLY_YMD, (String)ccParam.get("kk0161_key_rsv_aply_ymd"));
		HashMap<String, Object> paramMap = JKKBpCommon.createScParamForSearch(
				param, EKK0161A010CBSMsg.TEMPLATEID, EKK0161A010CBSMsg.class,
				inMap, funcCd);

		/***************************************************/
		/** ＳＣ呼出実行                                   */
		/***************************************************/
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		if (JKKBpCommon.isSuccess(result))
		{
			CAANMsg[] list = JKKBpCommon.getResultMsgList(result, "EKK0161A010CBSMsg1List");
			if ((list != null) && (list.length > 0))
			{
				setDataMap(outMap, "kk0161_svc_kei_ucwk_no", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_KEI_UCWK_NO));
				setDataMap(outMap, "kk0161_gene_add_dtm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.GENE_ADD_DTM));
				setDataMap(outMap, "kk0161_svc_kei_ucwk_stat", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_KEI_UCWK_STAT));
				setDataMap(outMap, "kk0161_svc_kei_ucwk_stat_nm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_KEI_UCWK_STAT_NM));
				setDataMap(outMap, "kk0161_svc_kei_no", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_KEI_NO));
				setDataMap(outMap, "kk0161_mskm_dtl_no", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.MSKM_DTL_NO));
				setDataMap(outMap, "kk0161_pcrs_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PCRS_CD));
				setDataMap(outMap, "kk0161_pcrs_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PCRS_CD_NM));
				setDataMap(outMap, "kk0161_pplan_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PPLAN_CD));
				setDataMap(outMap, "kk0161_pplan_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PPLAN_CD_NM));
				setDataMap(outMap, "kk0161_tk_hoshiki_kei_no", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.TK_HOSHIKI_KEI_NO));
				setDataMap(outMap, "kk0161_payway_keizoku_flg", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PAYWAY_KEIZOKU_FLG));
				setDataMap(outMap, "kk0161_payway_keizoku_flg_nm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PAYWAY_KEIZOKU_FLG_NM));
				setDataMap(outMap, "kk0161_web_op_add_fail_flg", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.WEB_OP_ADD_FAIL_FLG));
				setDataMap(outMap, "kk0161_work_rrk_biko", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.WORK_RRK_BIKO));
				setDataMap(outMap, "kk0161_svc_use_sta_kibo_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_USE_STA_KIBO_YMD));
				setDataMap(outMap, "kk0161_rsv_tsta_kibo_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.RSV_TSTA_KIBO_YMD));
				setDataMap(outMap, "kk0161_skekka_send_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SKEKKA_SEND_CD));
				setDataMap(outMap, "kk0161_skekka_send_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SKEKKA_SEND_CD_NM));
				setDataMap(outMap, "kk0161_svc_kei_ucwk_kzkwrk_reqymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_KEI_UCWK_KZKWRK_REQYMD));
				setDataMap(outMap, "kk0161_shosa_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SHOSA_YMD));
				setDataMap(outMap, "kk0161_shosa_cl_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SHOSA_CL_YMD));
				setDataMap(outMap, "kk0161_ftrial_kanyu_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.FTRIAL_KANYU_YMD));
				setDataMap(outMap, "kk0161_ftrial_prd_endymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.FTRIAL_PRD_ENDYMD));
				setDataMap(outMap, "kk0161_honkanyu_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.HONKANYU_YMD));
				setDataMap(outMap, "kk0161_honkanyu_iko_kigen_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.HONKANYU_IKO_KIGEN_YMD));
				setDataMap(outMap, "kk0161_kei_cnc_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.KEI_CNC_YMD));
				setDataMap(outMap, "kk0161_rsv_aply_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.RSV_APLY_YMD));
				setDataMap(outMap, "kk0161_rsv_cl_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.RSV_CL_YMD));
				setDataMap(outMap, "kk0161_rsv_aply_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.RSV_APLY_CD));
				setDataMap(outMap, "kk0161_rsv_aply_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.RSV_APLY_CD_NM));
				setDataMap(outMap, "kk0161_plan_staymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PLAN_STAYMD));
				setDataMap(outMap, "kk0161_plan_endymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PLAN_ENDYMD));
				setDataMap(outMap, "kk0161_plan_chrg_staymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PLAN_CHRG_STAYMD));
				setDataMap(outMap, "kk0161_plan_chrg_endymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PLAN_CHRG_ENDYMD));
				setDataMap(outMap, "kk0161_plan_end_sbt_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PLAN_END_SBT_CD));
				setDataMap(outMap, "kk0161_plan_end_sbt_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PLAN_END_SBT_CD_NM));
				setDataMap(outMap, "kk0161_svc_cancel_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_CANCEL_YMD));
				setDataMap(outMap, "kk0161_svc_cancel_rsn_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_CANCEL_RSN_CD));
				setDataMap(outMap, "kk0161_svc_sta_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_STA_YMD));
				setDataMap(outMap, "kk0161_svc_chrg_staymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_CHRG_STAYMD));
				setDataMap(outMap, "kk0161_svc_stp_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_STP_YMD));
				setDataMap(outMap, "kk0161_svc_stp_rsn_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_STP_RSN_CD));
				setDataMap(outMap, "kk0161_svc_stp_rls_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_STP_RLS_YMD));
				setDataMap(outMap, "kk0161_svc_stp_rls_rsn_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_STP_RLS_RSN_CD));
				setDataMap(outMap, "kk0161_pause_stp_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PAUSE_STP_CD));
				setDataMap(outMap, "kk0161_pause_stp_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PAUSE_STP_CD_NM));
				setDataMap(outMap, "kk0161_svc_pause_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_PAUSE_YMD));
				setDataMap(outMap, "kk0161_svc_pause_rsn_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_PAUSE_RSN_CD));
				setDataMap(outMap, "kk0161_svc_pause_rsn_memo", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_PAUSE_RSN_MEMO));
				setDataMap(outMap, "kk0161_svc_pause_rls_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_PAUSE_RLS_YMD));
				setDataMap(outMap, "kk0161_svc_pause_rls_rsn_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_PAUSE_RLS_RSN_CD));
				setDataMap(outMap, "kk0161_svc_pause_rls_rsn_memo", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_PAUSE_RLS_RSN_MEMO));
				setDataMap(outMap, "kk0161_svc_endymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_ENDYMD));
				setDataMap(outMap, "kk0161_svc_chrg_endymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_CHRG_ENDYMD));
				setDataMap(outMap, "kk0161_svc_dsl_kisan_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_DSL_KISAN_YMD));
				setDataMap(outMap, "kk0161_svc_dsl_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_DSL_YMD));
				setDataMap(outMap, "kk0161_svc_dlre_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_DLRE_CD));
				setDataMap(outMap, "kk0161_svc_dlre_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_DLRE_CD_NM));
				setDataMap(outMap, "kk0161_svc_dlre_memo", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_DLRE_MEMO));
				setDataMap(outMap, "kk0161_svc_dsl_ttdki_fin_flg", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_DSL_TTDKI_FIN_FLG));
				setDataMap(outMap, "kk0161_kaihk_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.KAIHK_YMD));
				setDataMap(outMap, "kk0161_svc_cancel_cl_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_CANCEL_CL_YMD));
				setDataMap(outMap, "kk0161_svc_dsl_cl_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_DSL_CL_YMD));
				setDataMap(outMap, "kk0161_svkeiuw_hkhasymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVKEIUW_HKHASYMD));
				setDataMap(outMap, "kk0161_chrg_sta_ymd_hosei_um", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.CHRG_STA_YMD_HOSEI_UM));
				setDataMap(outMap, "kk0161_svc_pause_chrg_sta_ymd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVC_PAUSE_CHRG_STA_YMD));
				setDataMap(outMap, "kk0161_pnlty_hassei_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.PNLTY_HASSEI_CD));
				setDataMap(outMap, "kk0161_ido_div", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.IDO_DIV));
				setDataMap(outMap, "kk0161_ido_div_nm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.IDO_DIV_NM));
				setDataMap(outMap, "kk0161_shosa_dsl_fin_cd", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SHOSA_DSL_FIN_CD));
				setDataMap(outMap, "kk0161_shosa_dsl_fin_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SHOSA_DSL_FIN_CD_NM));
				setDataMap(outMap, "kk0161_svctk_but_del_trn_jssi_dtm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.SVCTK_BUT_DEL_TRN_JSSI_DTM));
				setDataMap(outMap, "kk0161_add_dtm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.ADD_DTM));
				setDataMap(outMap, "kk0161_add_opeacnt", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.ADD_OPEACNT));
				setDataMap(outMap, "kk0161_upd_dtm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.UPD_DTM));
				setDataMap(outMap, "kk0161_upd_opeacnt", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.UPD_OPEACNT));
				setDataMap(outMap, "kk0161_del_dtm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.DEL_DTM));
				setDataMap(outMap, "kk0161_del_opeacnt", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.DEL_OPEACNT));
				setDataMap(outMap, "kk0161_mk_flg", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.MK_FLG));
				setDataMap(outMap, "kk0161_mk_flg_nm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.MK_FLG_NM));
				setDataMap(outMap, "kk0161_last_upd_dtm", JKKBpCommon.getResultString(result,
						"EKK0161A010CBSMsg1List[0]." + EKK0161A010CBSMsg1List.LAST_UPD_DTM));
			}
		}
		return result;
	}
	
	/**
	 * サービス契約内訳<eoADSL>一意照会SCの実行
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param funcCd 機能コード
	 * @param ccName CC名
	 * @param outMap 返却用マップ
	 * @return 実行結果
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private Map<?, ?> callGetSvcKeiUcwkAdsl(
							SessionHandle handle,
							IRequestParameterReadWrite param,
							String funcCd,
							String ccName,
							Map outMap) throws Throwable
	{
		/********************************************************/
		/** サービス契約内訳<eoADSL>一意照会SCへの上りマッピング    */
		/********************************************************/
		Map<Object, Object> inMap = new HashMap<Object, Object>();
		inMap.put(EKK0221A010CBSMsg.KEY_SVC_KEI_UCWK_NO, getWorkSvcUcwkData(param, "svc_kei_ucwk_no"));
		HashMap<String, Object> paramMap = JKKBpCommon.createScParamForSearch(
				param, EKK0221A010CBSMsg.TEMPLATEID, EKK0221A010CBSMsg.class,
				inMap, funcCd);

		/***************************************************/
		/** ＳＣ呼出実行                                   */
		/***************************************************/
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		if (JKKBpCommon.isSuccess(result))
		{
			CAANMsg[] list = JKKBpCommon.getResultMsgList(result, "EKK0221A010CBSMsg1List");
			if ((list != null) && (list.length > 0))
			{
				setDataMap(outMap, "kk0221_svc_kei_ucwk_no", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.SVC_KEI_UCWK_NO));
				setDataMap(outMap, "kk0221_gene_add_dtm", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.GENE_ADD_DTM));
				setDataMap(outMap, "kk0221_adsl_ninsho_id", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.ADSL_NINSHO_ID));
				setDataMap(outMap, "kk0221_adsl_ninsho_id_pwd", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.ADSL_NINSHO_ID_PWD));
				setDataMap(outMap, "kk0221_adsl_taknikj_cd", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.ADSL_TAKNIKJ_CD));
				setDataMap(outMap, "kk0221_adsl_taknikj_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.ADSL_TAKNIKJ_CD_NM));
				setDataMap(outMap, "kk0221_adsl_koji_reqymd", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.ADSL_KOJI_REQYMD));
				setDataMap(outMap, "kk0221_rsv_aply_cd", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.RSV_APLY_CD));
				setDataMap(outMap, "kk0221_rsv_aply_cd_nm", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.RSV_APLY_CD_NM));
				setDataMap(outMap, "kk0221_add_dtm", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.ADD_DTM));
				setDataMap(outMap, "kk0221_add_opeacnt", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.ADD_OPEACNT));
				setDataMap(outMap, "kk0221_upd_dtm", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.UPD_DTM));
				setDataMap(outMap, "kk0221_upd_opeacnt", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.UPD_OPEACNT));
				setDataMap(outMap, "kk0221_del_dtm", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.DEL_DTM));
				setDataMap(outMap, "kk0221_del_opeacnt", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.DEL_OPEACNT));
				setDataMap(outMap, "kk0221_mk_flg", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.MK_FLG));
				setDataMap(outMap, "kk0221_mk_flg_nm", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.MK_FLG_NM));
				setDataMap(outMap, "kk0221_last_upd_dtm", JKKBpCommon.getResultString(result,
						"EKK0221A010CBSMsg1List[0]." + EKK0221A010CBSMsg1List.LAST_UPD_DTM));
			}
		}
		return result;
	}

	/**
	 * オプションサービス契約一覧照会SCの実行
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param funcCd 機能コード
	 * @param ccName CC名
	 * @param outMap 返却用マップ
	 * @return 実行結果
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private Map<?, ?> callGetSvcKeiOpt(
							SessionHandle handle,
							IRequestParameterReadWrite param,
							String funcCd,
							String ccName,
							Map outMap) throws Throwable
	{
		/***********************************************************/
		/** オプションサービス契約一覧照会SCへの上りマッピング     */
		/***********************************************************/
		Map<Object, Object> inMap = new HashMap<Object, Object>();
		inMap.put(EKK0351B512CBSMsg.KEY_SVC_KEI_NO, wkSvcKeiNo);
		HashMap<String, Object> paramMap = JKKBpCommon.createScParamForSearch(
				param, EKK0351B512CBSMsg.TEMPLATEID, EKK0351B512CBSMsg.class,
				inMap, "1");

		/***************************************************/
		/** ＳＣ呼出実行                                   */
		/***************************************************/
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		if (JKKBpCommon.isSuccess(result))
		{
			ArrayList msg1List = new ArrayList();
			outMap.put("kk0351_EKK0351B512CBSMsg1List", msg1List);
			outMap.put("kk8113_modem_rental", "0");
			
			CAANMsg[] list = JKKBpCommon.getResultMsgList(result, "EKK0351B512CBSMsg1List");
			if ((list != null) && (list.length > 0))
			{
				for (int idx = 0; idx < list.length; idx++)
				{
					HashMap<String, Object> childMap = new HashMap<String, Object>();
					msg1List.add(childMap);

					String opSvcCd = JKKBpCommon.getResultString(result,
											"EKK0351B512CBSMsg1List[" + idx + "]." + EKK0351B512CBSMsg1List.KK0351_OP_SVC_CD);
					if (JKKStrConst.OP_SVC_CD_MDM_EM.equals(opSvcCd))
					{
						// B030:ADSLモデム
						outMap.put("kk8113_modem_rental", "1");
					}

					setDataMap(childMap, "kk0351_op_svc_kei_no", JKKBpCommon.getResultString(result,
							"EKK0351B512CBSMsg1List[" + idx + "]." + EKK0351B512CBSMsg1List.KK0351_OP_SVC_KEI_NO));
					setDataMap(childMap, "kk0351_op_svc_cd", JKKBpCommon.getResultString(result,
							"EKK0351B512CBSMsg1List[" + idx + "]." + EKK0351B512CBSMsg1List.KK0351_OP_SVC_CD));
					setDataMap(childMap, "kk0351_mskm_dtl_no", JKKBpCommon.getResultString(result,
							"EKK0351B512CBSMsg1List[" + idx + "]." + EKK0351B512CBSMsg1List.KK0351_MSKM_DTL_NO));
					setDataMap(childMap, "kk0351_ido_div", JKKBpCommon.getResultString(result,
							"EKK0351B512CBSMsg1List[" + idx + "]." + EKK0351B512CBSMsg1List.KK0351_IDO_DIV));
					setDataMap(childMap, "kk0351_last_upd_dtm", JKKBpCommon.getResultString(result,
							"EKK0351B512CBSMsg1List[" + idx + "]." + EKK0351B512CBSMsg1List.KK0351_LAST_UPD_DTM));
					//サブオプションサービス契約＿サブオプションサービスコード
					setDataMap(childMap, "kk0401_sbop_svc_cd", JKKBpCommon.getResultString(result,
							"EKK0351B512CBSMsg1List[" + idx + "]." + EKK0351B512CBSMsg1List.KK0401_SBOP_SVC_CD));
					//オプションサービス契約＿料金コースコード
					setDataMap(childMap, "kk0351_pcrs_cd", JKKBpCommon.getResultString(result,
							"EKK0351B512CBSMsg1List[" + idx + "]." + EKK0351B512CBSMsg1List.KK0351_PCRS_CD));
					//オプションサービス契約＿料金プランコード
					setDataMap(childMap, "kk0351_pplan_cd", JKKBpCommon.getResultString(result,
							"EKK0351B512CBSMsg1List[" + idx + "]." + EKK0351B512CBSMsg1List.KK0351_PPLAN_CD));
					//サブオプションサービス契約＿料金コースコード
					setDataMap(childMap, "kk0401_pcrs_cd", JKKBpCommon.getResultString(result,
							"EKK0351B512CBSMsg1List[" + idx + "]." + EKK0351B512CBSMsg1List.KK0401_PCRS_CD));
					//サブオプションサービス契約＿料金プランコード
					setDataMap(childMap, "kk0401_pplan_cd", JKKBpCommon.getResultString(result,
							"EKK0351B512CBSMsg1List[" + idx + "]." + EKK0351B512CBSMsg1List.KK0401_PPLAN_CD));
				}
			}
		}
		return result;
	}

	/**
	 * ＢＰチェック用の入力パラメータを作成する。
	 * <br />
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText ユーザ定義文字列
	 * @return ＢＰチェック用パラメータ
	 */
	@SuppressWarnings("unchecked")
	public HashMap getInvokeCBS(SessionHandle handle, IRequestParameterReadWrite param, String fixedText)
	{
		// BPチェックは行わない(0件のCAANMsg配列を返却)
		HashMap param4BpChek = new HashMap();
		param4BpChek.put(JCMConstants.TEMPLATE_LIST_KEY, new CAANMsg[]{});
		return param4BpChek;
	}

	/**
	 * ＢＰチェック結果を編集する。
	 * <br />
	 * @param param リクエストパラメータ
	 * @param caanMsgs サービスインターフェイス用のパラメータ配列
	 * @param returnCode リターンコード
	 * @return リクエストパラメータ
	 */
	public IRequestParameterReadWrite editErrorInfo(IRequestParameterReadWrite param, CAANMsg[] caanMsgs, Integer returnCode)
	{
		// BPチェックを行わない為、チェック結果の編集も不要
		return param;
	}
	
	/**
	 * ワーク領域のサービス契約情報格納マップの取得を行います。
	 * <br>
	 * @param param
	 * @return ワーク領域のサービス契約情報格納マップ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private HashMap getWorkSvcKeiMap(IRequestParameterReadWrite param) throws RequestParameterException
	{

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			return null;
		}

		// 申込サービス契約内訳一覧照会ＣＣの作業領域のマップを取得
		HashMap mskmSvcKeiUcwkWorkMap = (HashMap)workMap.get(PREVIOUS_CC_WORK);
		if (mskmSvcKeiUcwkWorkMap == null)
		{
			return null;
		}

		// 申込明細明細リストを取得
		ArrayList<HashMap> mskmDtlList = (ArrayList<HashMap>)mskmSvcKeiUcwkWorkMap.get("mskm_dtl_list");
		if (mskmDtlList == null)
		{
			return null;
		}

		// 申込明細のサービス契約リストからサービス契約：eoADSLを検索
		for (HashMap mskmDtlMap : mskmDtlList)
		{
			ArrayList<HashMap> svcKeiList = (ArrayList<HashMap>)mskmDtlMap.get("svc_kei_list");
			for (HashMap svcKeiMap : svcKeiList)
			{
				if (JKKStrConst.CD00133_05.equals((String)svcKeiMap.get("prc_grp_cd")) || 	// ｅｏＡＤＳＬ（ｅＡｃｃｅｓｓ）
						JKKStrConst.CD00133_06.equals((String)svcKeiMap.get("prc_grp_cd")))   // ｅｏＡＤＳＬ（フレッツ）
				{
					return svcKeiMap;
				}
			}
		}

		// サービス契約：eoADSLなし
		return null;
	}

	/**
	 * ワーク領域の申込明細情報格納マップの取得を行います。
	 * <br>
	 * @param param
	 * @return ワーク領域の申込明細情報格納マップ
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private HashMap getWorkMskmDtlMap(IRequestParameterReadWrite param) throws RequestParameterException
	{

		// 作業領域のマップを取得
		Map workMap = param.getMappingWorkArea();
		if (workMap == null)
		{
			return null;
		}

		// 申込サービス契約内訳一覧照会ＣＣの作業領域のマップを取得
		HashMap mskmSvcKeiUcwkWorkMap = (HashMap)workMap.get(PREVIOUS_CC_WORK);
		if (mskmSvcKeiUcwkWorkMap == null)
		{
			return null;
		}

		// 申込明細明細リストを取得
		ArrayList<HashMap> mskmDtlList = (ArrayList<HashMap>)mskmSvcKeiUcwkWorkMap.get("mskm_dtl_list");
		if (mskmDtlList == null)
		{
			return null;
		}

		// 申込明細のサービス契約リストからサービス契約：eoADSLを検索
		for (HashMap mskmDtlMap : mskmDtlList)
		{
			ArrayList<HashMap> svcKeiList = (ArrayList<HashMap>)mskmDtlMap.get("svc_kei_list");
			for (HashMap svcKeiMap : svcKeiList)
			{
				if (JKKStrConst.CD00133_05.equals((String)svcKeiMap.get("prc_grp_cd")) || 	// ｅｏＡＤＳＬ（ｅＡｃｃｅｓｓ）
						JKKStrConst.CD00133_06.equals((String)svcKeiMap.get("prc_grp_cd")))   // ｅｏＡＤＳＬ（フレッツ）
				{
					return mskmDtlMap;
				}
			}
		}

		// 申込明細：サービス契約＜eoADSL＞に紐付くものなし
		return null;
	}

	/**
	 * ユーザデータ情報に値を設定します。<br>
	 * 　@getValueにデータが存在する場合、dataMapに設定します。<br>
	 * 　A上記以外の場合、空文字を設定します。<br>
	 * @param dataMap 値を設定するユーザデータ情報
	 * @param setKey ユーザデータ情報のキー名
	 * @param getValue メッセージキャリアからの取得値
	 */
	@SuppressWarnings("unchecked")
	private void setDataMap(Map dataMap, String setKey, String getValue)
	{
		if (null == getValue)
		{
			dataMap.put(setKey, "");
		}
		else
		{
			dataMap.put(setKey, getValue);
		}
	}
}
