/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom, 2011
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKKSvkeiShosaNgClShokaiMapperCC
*   ソースファイル名：JKKSvkeiShosaNgClShokaiMapperCC.java
*   作成者          ：富士通
*   日付            ：2013年02月07日
*＜機能概要＞
*   サービス契約照査ＮＧ取消ＣＣの照会系ＳＩＦのマッパークラスです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v5.00.00    2013/02/07   FJ）江藤    新規作成(IT1-2013-0000148)
*
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.bp.custom.constant.JKKSvkeiShosaConstCC;
import com.fujitsu.futurity.bp.custom.constant.JKKSvkeiShosaNgClConstCC;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadOnly;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.common.x01.sc.SCControlMapKeys;
import com.fujitsu.futurity.model.base.CAANMsg;

import eo.common.constant.JPCModelConstant;
import eo.ejb.cbs.cbsmsg.EKK0021A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0091A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0101A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0111A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0121A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161B004CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161B004CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0171A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0181A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0191A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0201A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341B002CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0351B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351B002CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0361A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0371A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0381A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0391A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0401B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0401B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0411A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0421A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0431A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1091B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK2811B010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2811B011CBSMsg;


/**
 * サービス契約照査ＮＧ取消ＣＣで使用するマッパーです。<p>
 * <BR>
 * @author FJ
 */
public class JKKSvkeiShosaNgClShokaiMapperCC
{
	
	/**
	 * サービス契約一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public List<CAANMsg> editInMsgEKK0081A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex)
	throws RequestParameterException 
	{
		HashMap userMap = null;
		List<Map> shosaList = null;
		HashMap svkeiData = null;

		CAANMsg template = new CAANMsg(EKK0081A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0081A010CBSMsg().getContents());
		
		// ユーザデータ情報
		userMap = (HashMap)param.getData(fixedText);

		shosaList = (List)userMap.get(JKKSvkeiShosaNgClConstCC.TRGT_DATA_LIST);

		svkeiData = (HashMap)shosaList.get(userDataIndex);

		// テンプレートID
		template.set(EKK0081A010CBSMsg.TEMPLATEID, "EKK0081A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0081A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0081A010CBSMsg.KEY_SVC_KEI_NO, (String) svkeiData.get(JKKSvkeiShosaNgClConstCC.SVC_KEI_NO));
		
		// ＫＥＹ＿予約適用年月日
		template.set(EKK0081A010CBSMsg.KEY_RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));
		
		templateList.add(template);

		return templateList;
	}
	
	
	/**
	 * サービス契約<eo光ネット>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public List<CAANMsg> editInMsgEKK0091A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex)
	throws RequestParameterException 
	{
		HashMap userMap = null;
		List<Map> shosaList = null;
		HashMap svkeiData = null;

		CAANMsg template = new CAANMsg(EKK0091A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0091A010CBSMsg().getContents());
		
		// ユーザデータ情報
		userMap = (HashMap)param.getData(fixedText);

		shosaList = (List)userMap.get(JKKSvkeiShosaNgClConstCC.TRGT_DATA_LIST);

		svkeiData = (HashMap)shosaList.get(userDataIndex);

		// テンプレートID
		template.set(EKK0091A010CBSMsg.TEMPLATEID, "EKK0091A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0091A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0091A010CBSMsg.KEY_SVC_KEI_NO, (String) svkeiData.get(JKKSvkeiShosaNgClConstCC.SVC_KEI_NO));
			
		templateList.add(template);

		return templateList;
	}
	
	/**
	 * サービス契約<eo光TV>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public List<CAANMsg> editInMsgEKK0101A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex)
	throws RequestParameterException 
	{
		HashMap userMap = null;
		List<Map> shosaList = null;
		HashMap svkeiData = null;

		CAANMsg template = new CAANMsg(EKK0101A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();
		
		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0101A010CBSMsg().getContents());

		// ユーザデータ情報
		userMap = (HashMap)param.getData(fixedText);

		shosaList = (List)userMap.get(JKKSvkeiShosaNgClConstCC.TRGT_DATA_LIST);

		svkeiData = (HashMap)shosaList.get(userDataIndex);

		// テンプレートID
		template.set(EKK0101A010CBSMsg.TEMPLATEID, "EKK0101A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0101A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0101A010CBSMsg.KEY_SVC_KEI_NO, (String) svkeiData.get(JKKSvkeiShosaNgClConstCC.SVC_KEI_NO));
			
		templateList.add(template);

		return templateList;
	}
	
	/**
	 * サービス契約<eo光電話>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public List<CAANMsg> editInMsgEKK0111A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex)
	throws RequestParameterException 
	{
		HashMap userMap = null;
		List<Map> shosaList = null;
		HashMap svkeiData = null;

		CAANMsg template = new CAANMsg(EKK0111A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0111A010CBSMsg().getContents());
		
		// ユーザデータ情報
		userMap = (HashMap)param.getData(fixedText);

		shosaList = (List)userMap.get(JKKSvkeiShosaNgClConstCC.TRGT_DATA_LIST);

		svkeiData = (HashMap)shosaList.get(userDataIndex);

		// テンプレートID
		template.set(EKK0111A010CBSMsg.TEMPLATEID, "EKK0111A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0111A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0111A010CBSMsg.KEY_SVC_KEI_NO, (String) svkeiData.get(JKKSvkeiShosaNgClConstCC.SVC_KEI_NO));
			
		templateList.add(template);

		return templateList;
	}
	
	/**
	 * サービス契約<eoモバイル>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public List<CAANMsg> editInMsgEKK0121A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex)
	throws RequestParameterException 
	{
		HashMap userMap = null;
		List<Map> shosaList = null;
		HashMap svkeiData = null;

		CAANMsg template = new CAANMsg(EKK0121A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0121A010CBSMsg().getContents());
		
		// ユーザデータ情報
		userMap = (HashMap)param.getData(fixedText);

		shosaList = (List)userMap.get(JKKSvkeiShosaNgClConstCC.TRGT_DATA_LIST);

		svkeiData = (HashMap)shosaList.get(userDataIndex);

		// テンプレートID
		template.set(EKK0121A010CBSMsg.TEMPLATEID, "EKK0121A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0121A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0121A010CBSMsg.KEY_SVC_KEI_NO, (String) svkeiData.get(JKKSvkeiShosaNgClConstCC.SVC_KEI_NO));
			
		templateList.add(template);

		return templateList;
	}
	
	/**
	 * サービス契約内訳一覧照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	public List<CAANMsg> editInMsgEKK0161B004(IRequestParameterReadOnly param, String fixedText, int userDataIndex)
	throws RequestParameterException 
	{
		HashMap userMap = null;
		List<Map> shosaList = null;
		HashMap svkeiData = null;

		CAANMsg template = new CAANMsg(EKK0161B004CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0161B004CBSMsg().getContents());

		// ユーザデータ情報
		userMap = (HashMap)param.getData(fixedText);

		shosaList = (List)userMap.get(JKKSvkeiShosaNgClConstCC.TRGT_DATA_LIST);

		svkeiData = (HashMap)shosaList.get(userDataIndex);

		// テンプレートID
		template.set(EKK0161B004CBSMsg.TEMPLATEID, "EKK0161B004");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0161B004CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0161B004CBSMsg.KEY_SVC_KEI_NO, (String) svkeiData.get(JKKSvkeiShosaNgClConstCC.SVC_KEI_NO));

		templateList.add(template);

		return templateList;
	}

	/**
	 * サービス契約内訳<eo光ネット>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg サービス契約内訳一覧照会結果
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 */
	public List<CAANMsg> editInMsgEKK0171A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0171A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();
		
		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0171A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0171A010CBSMsg.TEMPLATEID, "EKK0171A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0171A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0171A010CBSMsg.KEY_SVC_KEI_UCWK_NO, caanMsg.getString(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO));

		templateList.add(template);

		return templateList;
	}
	
	/**
	 * サービス契約内訳<eo光TV>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg サービス契約内訳一覧照会結果
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 */
	public List<CAANMsg> editInMsgEKK0181A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0181A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();
		
		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0181A010CBSMsg().getContents());
		
		// テンプレートID
		template.set(EKK0181A010CBSMsg.TEMPLATEID, "EKK0181A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0181A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0181A010CBSMsg.KEY_SVC_KEI_UCWK_NO, caanMsg.getString(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO));

		templateList.add(template);

		return templateList;
	}
	
	/**
	 * サービス契約内訳<eo光電話>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg サービス契約内訳一覧照会結果
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 */
	public List<CAANMsg> editInMsgEKK0191A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0191A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();
		
		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0191A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0191A010CBSMsg.TEMPLATEID, "EKK0191A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0191A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0191A010CBSMsg.KEY_SVC_KEI_UCWK_NO, caanMsg.getString(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO));

		templateList.add(template);

		return templateList;
	}
	
	/**
	 * サービス契約内訳<eoモバイル>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg サービス契約内訳一覧照会結果
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	public List<CAANMsg> editInMsgEKK0201A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0201A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0201A010CBSMsg().getContents());
		
		// テンプレートID
		template.set(EKK0201A010CBSMsg.TEMPLATEID, "EKK0201A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0201A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿サービス契約内訳番号
		template.set(EKK0201A010CBSMsg.KEY_SVC_KEI_UCWK_NO, caanMsg.getString(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO));

		templateList.add(template);

		return templateList;
	}
	
	/**
	 * オプションサービス契約一覧照会（サービス契約番号）
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	@SuppressWarnings("unchecked")
	public List<CAANMsg> editInMsgEKK0351B002(IRequestParameterReadOnly param, String fixedText, int userDataIndex)
	throws RequestParameterException 
	{
		HashMap userMap = null;
		List<Map> shosaList = null;
		HashMap svkeiData = null;

		CAANMsg template = new CAANMsg(EKK0351B002CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0351B002CBSMsg().getContents());

		// ユーザデータ情報
		userMap = (HashMap)param.getData(fixedText);

		shosaList = (List)userMap.get(JKKSvkeiShosaNgClConstCC.TRGT_DATA_LIST);

		svkeiData = (HashMap)shosaList.get(userDataIndex);

		// テンプレートID
		template.set(EKK0351B002CBSMsg.TEMPLATEID, "EKK0351B002");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0351B002CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0351B002CBSMsg.KEY_SVC_KEI_NO, (String) svkeiData.get(JKKSvkeiShosaNgClConstCC.SVC_KEI_NO));
		
		templateList.add(template);

		return templateList;
	}

	/**
	 * オプションサービス契約<ISP>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg オプションサービス契約一覧照会（サービス契約番号）結果
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	public List<CAANMsg> editInMsgEKK0361A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0361A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0361A010CBSMsg().getContents());
		
		// テンプレートID
		template.set(EKK0361A010CBSMsg.TEMPLATEID, "EKK0361A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0361A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0361A010CBSMsg.KEY_OP_SVC_KEI_NO, (String)caanMsg.getString(EKK0351B002CBSMsg1List.OP_SVC_KEI_NO));

		templateList.add(template);

		return templateList;
	}
	
	/**
	 * オプションサービス契約<TV>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg オプションサービス契約一覧照会（サービス契約番号）結果
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	public List<CAANMsg> editInMsgEKK0381A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0381A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();
		
		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0381A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0381A010CBSMsg.TEMPLATEID, "EKK0381A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0381A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0381A010CBSMsg.KEY_OP_SVC_KEI_NO, caanMsg.getString(EKK0351B002CBSMsg1List.OP_SVC_KEI_NO));

		templateList.add(template);

		return templateList;
	}
	
	/**
	 * オプションサービス契約<電話>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg オプションサービス契約一覧照会（サービス契約番号）結果
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	public List<CAANMsg> editInMsgEKK0371A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0371A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0371A010CBSMsg().getContents());
		
		// テンプレートID
		template.set(EKK0371A010CBSMsg.TEMPLATEID, "EKK0371A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0371A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0371A010CBSMsg.KEY_OP_SVC_KEI_NO, caanMsg.getString(EKK0351B002CBSMsg1List.OP_SVC_KEI_NO));

		templateList.add(template);

		return templateList;
	}
	
	/**
	 * オプションサービス契約<サポート>一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg オプションサービス契約一覧照会（サービス契約番号）結果
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	public List<CAANMsg> editInMsgEKK0391A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0391A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0391A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0391A010CBSMsg.TEMPLATEID, "EKK0391A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0391A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0391A010CBSMsg.KEY_OP_SVC_KEI_NO, caanMsg.getString(EKK0351B002CBSMsg1List.OP_SVC_KEI_NO));
		
		templateList.add(template);

		return templateList;
	}
	
	/**
	 * サブオプションサービス契約一覧照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg オプションサービス契約一覧照会（サービス契約番号）結果
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	public List<CAANMsg> editInMsgEKK0401B001(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0401B001CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0401B001CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0401B001CBSMsg.TEMPLATEID, "EKK0401B001");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0401B001CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0401B001CBSMsg.KEY_OP_SVC_KEI_NO, caanMsg.getString(EKK0351B002CBSMsg1List.OP_SVC_KEI_NO));
		
		templateList.add(template);

		return templateList;
	}

	/**
	 * サブオプションサービス契約＜ISP＞一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg サブオプションサービス契約一覧照会結果
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	public List<CAANMsg> editInMsgEKK0411A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0411A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0411A010CBSMsg().getContents());
		
		// テンプレートID
		template.set(EKK0411A010CBSMsg.TEMPLATEID, "EKK0411A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0411A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0411A010CBSMsg.KEY_OP_SVC_KEI_NO, caanMsg.getString(EKK0401B001CBSMsg1List.OP_SVC_KEI_NO));

		// ＫＥＹ＿サブオプションサービス契約番号
		template.set(EKK0411A010CBSMsg.KEY_SBOP_SVC_KEI_NO, caanMsg.getString(EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO));

		templateList.add(template);

		return templateList;
	}
	
	/**
	 * サブオプションサービス契約＜TV＞一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg サブオプションサービス契約一覧照会結果
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	public List<CAANMsg> editInMsgEKK0421A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0421A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0421A010CBSMsg().getContents());
		
		// テンプレートID
		template.set(EKK0421A010CBSMsg.TEMPLATEID, "EKK0421A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0421A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0421A010CBSMsg.KEY_OP_SVC_KEI_NO, caanMsg.getString(EKK0401B001CBSMsg1List.OP_SVC_KEI_NO));

		// ＫＥＹ＿サブオプションサービス契約番号
		template.set(EKK0421A010CBSMsg.KEY_SBOP_SVC_KEI_NO, caanMsg.getString(EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO));

		templateList.add(template);

		return templateList;
	}
	
	/**
	 * サブオプションサービス契約＜電話＞一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg サブオプションサービス契約一覧照会結果
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	public List<CAANMsg> editInMsgEKK0431A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0431A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0431A010CBSMsg().getContents());
		
		// テンプレートID
		template.set(EKK0431A010CBSMsg.TEMPLATEID, "EKK0431A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0431A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント

		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0431A010CBSMsg.KEY_OP_SVC_KEI_NO, caanMsg.getString(EKK0401B001CBSMsg1List.OP_SVC_KEI_NO));

		//ＫＥＹ＿サブオプションサービス契約番号
		template.set(EKK0431A010CBSMsg.KEY_SBOP_SVC_KEI_NO, caanMsg.getString(EKK0401B001CBSMsg1List.SBOP_SVC_KEI_NO));

		templateList.add(template);

		return templateList;
	}
	
	/**
	 * 機器提供サービス契約一覧照会（サービス契約番号）
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	@SuppressWarnings("unchecked")
	public List<CAANMsg> editInMsgEKK0341B002(IRequestParameterReadOnly param, String fixedText, int userDataIndex)
	throws RequestParameterException 
	{
		HashMap userMap = null;
		List<Map> shosaList = null;
		HashMap svkeiData = null;

		CAANMsg template = new CAANMsg(EKK0341B002CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0341B002CBSMsg().getContents());

		// ユーザデータ情報
		userMap = (HashMap)param.getData(fixedText);

		shosaList = (List)userMap.get(JKKSvkeiShosaNgClConstCC.TRGT_DATA_LIST);

		svkeiData = (HashMap)shosaList.get(userDataIndex);

		// テンプレートID
		template.set(EKK0341B002CBSMsg.TEMPLATEID, "EKK0341B002");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0341B002CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿サービス契約番号
		template.set(EKK0341B002CBSMsg.KEY_SVC_KEI_NO, (String) svkeiData.get(JKKSvkeiShosaNgClConstCC.SVC_KEI_NO));
		
		templateList.add(template);

		return templateList;
	}
	
	/**
	 * 機器提供サービス契約一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg 機器提供サービス契約一覧照会（サービス契約番号）結果
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	public List<CAANMsg> editInMsgEKK0341A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0341A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0341A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0341A010CBSMsg.TEMPLATEID, "EKK0341A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0341A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);

		// ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, caanMsg.getString(EKK0341B002CBSMsg1List.KKTK_SVC_KEI_NO));
		
		// ＫＥＹ＿予約適用年月日
		template.set(EKK0341A010CBSMsg.KEY_RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));
		
		templateList.add(template);

		return templateList;
	}
	
	/**
	 * 進捗一覧照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param idoDiv 異動区分
	 * @return サービスコンポーネント実行用CAANMsg
	 */
	@SuppressWarnings("unchecked")
	public List<CAANMsg> editInMsgEKK1091B001(IRequestParameterReadOnly param, String fixedText, int userDataIndex, String idoDiv)
	throws RequestParameterException 
	{
		HashMap userMap = null;
		List<Map> shosaList = null;
		HashMap svkeiData = null;

		CAANMsg template = new CAANMsg(EKK1091B001CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK1091B001CBSMsg().getContents());

		// ユーザデータ情報
		userMap = (HashMap)param.getData(fixedText);

		shosaList = (List)userMap.get(JKKSvkeiShosaNgClConstCC.TRGT_DATA_LIST);

		svkeiData = (HashMap)shosaList.get(userDataIndex);

		// テンプレートID
		template.set(EKK1091B001CBSMsg.TEMPLATEID, "EKK1091B001");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK1091B001CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// ＫＥＹ＿サービス契約番号
		String svc_kei_no = (String) svkeiData.get(JKKSvkeiShosaNgClConstCC.SVC_KEI_NO);
		template.set(EKK1091B001CBSMsg.KEY_SVC_KEI_NO, svc_kei_no);

		// ＫＥＹ＿異動区分
		template.set(EKK1091B001CBSMsg.KEY_IDO_DIV, idoDiv);

		// ＫＥＹ＿ソート項目
		template.setNull(EKK1091B001CBSMsg.KEY_SORT_ITEM);		//デフォルト：進捗年月日時分秒

		// ＫＥＹ＿ソート順
		template.setNull(EKK1091B001CBSMsg.KEY_SORT_ORDER);		//デフォルト：降順

		templateList.add(template);

		return templateList;
	}
	
	/**
	 * 申込明細一意照会
	 * サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 * 
	 * @param リクエストパラメータ
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @param caanMsg サービス契約一意照会結果
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 */
	public List<CAANMsg> editInMsgEKK0021A010(IRequestParameterReadOnly param, String fixedText, int userDataIndex, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK0021A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK0021A010CBSMsg().getContents());
		
		// テンプレートID
		template.set(EKK0021A010CBSMsg.TEMPLATEID, "EKK0021A010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK0021A010CBSMsg.FUNC_CODE, JPCModelConstant.FUNC_CD_2);	// カレント
		
		// ＫＥＹ＿申込明細番号
		template.set(EKK0021A010CBSMsg.KEY_MSKM_DTL_NO, caanMsg.getString(EKK0081A010CBSMsg1List.MSKM_DTL_NO));
		
		templateList.add(template);

		return templateList;
	}
	
	/**
	 * 持ちうるフィールドに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);
			
		}
	}
	
	/**
	 * S/IF呼出時の共通情報を設定する
	 * @param param 業務データ取得用I/F
	 * @param template 条件の設定先
	 * @throws RequestParameterException
	 */
	private void editCommonInfo(
			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);
	}
	

	// AMK-1578-00-00 ADD START
	/**
	 *<DL>
	 *<DT>処理概要:機器オプションサービス契約一意照会
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param param (I) 業務データ取得用I/F
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 * @since 2013.12.03
	 */
	public List<CAANMsg> editInMsgEKK2811A010(IRequestParameterReadOnly param, CAANMsg caanMsg)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK2811A010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK2811A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK2811A010CBSMsg.TEMPLATEID, JKKSvkeiShosaCC.MAP_KEY_EKK2811A010);

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK2811A010CBSMsg.FUNC_CODE, JKKSvkeiShosaConstCC.FUNC_CODE_2);
		
		// サービス契約回線内訳番号
		if (caanMsg.isNull(EKK2811A010CBSMsg1List.KKOP_SVC_KEI_NO))
		{
			template.setNull(EKK2811A010CBSMsg.KEY_KKOP_SVC_KEI_NO);
		} 
		else 
		{
			template.set(EKK2811A010CBSMsg.KEY_KKOP_SVC_KEI_NO, caanMsg.getString(EKK2811A010CBSMsg1List.KKOP_SVC_KEI_NO));
		}
		// 機器オプションサービス契約一意照会.ＫＥＹ＿予約適用年月日 → ＫＥＹ＿予約適用年月日
		template.set(EKK0341A010CBSMsg.KEY_RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));

		templateList.add(template);

		return templateList;
	}

	/**
	 *<DL>
	 *<DT>処理概要:機器オプションサービス契約一覧照会（機器提供ＳＶ）
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param param (I) 業務データ取得用I/F
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param kkopSvcCd 機器オプションサービスコード
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 * @since 2013.12.03
	 */
	@SuppressWarnings("unchecked")
	public List<CAANMsg> editInMsgEKK2811B010(IRequestParameterReadOnly param, String kktkSvcKeiNo, String kkopSvcCd)
	throws RequestParameterException 
	{
		CAANMsg template = new CAANMsg(EKK2811B010CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK2811B010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK2811B010CBSMsg.TEMPLATEID, "EKK2811B010");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK2811B010CBSMsg.FUNC_CODE, JKKSvkeiShosaConstCC.FUNC_CODE_LIST);

		// ＫＥＹ＿機器提供サービス契約番号
		if ("".equals(kktkSvcKeiNo)) 
		{
			template.setNull(EKK2811B010CBSMsg.KEY_KKTK_SVC_KEI_NO);
		}
		else 
		{
			template.set(EKK2811B010CBSMsg.KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		}

		// ＫＥＹ＿機器オプションサービスコード
		if ("".equals(kkopSvcCd)) 
		{
			template.setNull(EKK2811B010CBSMsg.KEY_KKOP_SVC_CD);
		}
		else 
		{
			template.set(EKK2811B010CBSMsg.KEY_KKOP_SVC_CD, kkopSvcCd);
		}
		
		templateList.add(template);

		return templateList;
	}
	
	/**
	 *<DL>
	 *<DT>処理概要:機器オプションサービス契約一覧照会（回線経由）
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText ユーザ任意文字列
	 * @param userDataIndex param内のユーザデータのインデックス
	 * @return サービスコンポーネント実行用CAANMsg
	 * @throws RequestParameterException
	 * @since 2013.12.03
	 */
	@SuppressWarnings("unchecked")
	public List<CAANMsg> editInMsgEKK2811B011(IRequestParameterReadOnly param,  String fixedText, int userDataIndex)
	throws RequestParameterException 
	{
		HashMap userMap = null;
		List<Map> shosaList = null;
		HashMap svkeiData = null;

		CAANMsg template = new CAANMsg(EKK2811B011CBSMsg.class.getName());
		List<CAANMsg> templateList = new ArrayList<CAANMsg>();

		//nullを設定
		fillCAANMSGNullMapping(template, new EKK2811B011CBSMsg().getContents());

		// ユーザデータ情報
		userMap = (HashMap)param.getData(fixedText);

		shosaList = (List)userMap.get(JKKSvkeiShosaConstCC.TRGT_DATA_LIST);

		svkeiData = (HashMap)shosaList.get(userDataIndex);

		// テンプレートID
		template.set(EKK2811B011CBSMsg.TEMPLATEID, "EKK2811B011");

		// 共通情報設定処理
		editCommonInfo(param, template);

		// 機能コード
		template.set(EKK2811B011CBSMsg.FUNC_CODE, JKKSvkeiShosaConstCC.FUNC_CODE_LIST);

		// 課金先一覧照会（請求契約番号／サービス契約番号）.ＫＥＹ＿サービス契約番号
		if ("".equals(svkeiData.get(JKKSvkeiShosaConstCC.SVC_KEI_NO))) 
		{
			template.setNull(EKK2811B011CBSMsg.KEY_SVC_KEI_NO);
		}
		else 
		{
			template.set(EKK2811B011CBSMsg.KEY_SVC_KEI_NO, (String) svkeiData.get(JKKSvkeiShosaConstCC.SVC_KEI_NO));
		}
		
		templateList.add(template);

		return templateList;
	}
}
