/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム
 *   モジュール名    ：JKKItenTokiInfoSetteiCC
 *   ソースファイル名：JKKItenTokiInfoSetteiCC.java
 *   作成者          ：FJ
 *   日付            ：2012年08月23日
 *＜機能概要＞
 *   住所変更に伴う移転トーキ情報の設定処理を行う。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v1.00.00    2011/08/23   FJ）　　    新規作成
 *
 **********************************************************************/
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.IRequestParameterReadOnly;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.common.x01.sc.SCControlMapKeys;
import com.fujitsu.futurity.mapping.bp.common.TemplateErrorUtil;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.common.JCMAPLConstMgr;

import eo.ejb.cbs.cbsmsg.EKK0191C011CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1091D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1091D010CBSMsg1List;



/**
 * 移転トーキ情報設定コンポーネント部品
 * <p>
 * <br>
 * 指定されたサービス契約番号に紐づく契約内容より照会・登録を実施する <br>
 * <br>
 * 【使用するサービスIF】<br>
 * 　・サービス契約内訳＜eo光電話＞移転トーキ設定<br>
 * 　・進捗登録<br>
 * <br>
 * @author FJ
 */
public class JKKItenTokiInfoSetteiCC extends AbstractCommonComponent
{
	/**
	 * 移転トーキ情報設定処理
	 * <br>
	 * 移転トーキ情報設定処理を呼び出します。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable
	 */
	
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite itenTokiInfoSettei(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		// ユーザデータ情報
		HashMap userData = (HashMap)param.getData(fixedText);

		//サービス契約内訳＜eo光電話＞移転トーキ設定制御処理
		//サービス契約内訳＜eo光電話＞移転トーキ情報を設定する。
		param = executeSvckeiUchiItenTokiSettei(handle, param, userData);

		//進捗登録制御処理
		//進捗登録を行う。
		//ロット２で対応
//		param = executePrgInfoAdd(handle, param, userData);

		return param;
	}
	
	/**
	 * サービス契約内訳＜eo光電話＞移転トーキ設定制御処理<br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite executeSvckeiUchiItenTokiSettei(
			SessionHandle handle, IRequestParameterReadWrite param, HashMap userData)
			throws RequestParameterException, Throwable {
		
		//サービス契約内訳＜eo光電話＞移転トーキ設定制御処理呼び出し
		param = callEKK0191C011SC(handle, param, userData);

		
		return param;
	}

	/**
	 * サービス契約内訳＜eo光電話＞移転トーキ設定実行処理<br>
	 * <br>
	 * サービス契約内訳＜eo光電話＞移転トーキ設定サービスIFを実行します。<br>
	 * <br>
	 * 【使用するサービスIF】<br>
	 * 　・サービス契約内訳＜eo光電話＞移転トーキ設定<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @return 業務データ取得・書込用I/F
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite callEKK0191C011SC(SessionHandle handle,
			IRequestParameterReadWrite param, HashMap userData) throws Throwable
	{
		// 上りマッピング
		HashMap<String, Object> paramMap = editInMsg_EKK0191C011CBS(param, userData);
		
		// SC呼び出し部品のインスタンス生成
		//（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。）
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();

		// SC呼出
		Map<?, ?> result = scCall.run(paramMap, handle);

		// 下りマッピング
		editResultRP_EKK0191C011CBS(result, param, userData);
		
		return param;
	}

	/**
	 *<DL>
	 *<DT>処理概要:
	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする（サービス契約内訳＜eo光電話＞移転トーキ設定）
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param param (I) 業務データ取得用I/F
	 * @return サービスコンポーネント実行用CAANMsg
	 * @since 2011.11.25
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editInMsg_EKK0191C011CBS(IRequestParameterReadOnly param, HashMap userData) throws RequestParameterException
	{
		String TEMPLATE_ID = "EKK0191C011";
		
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		/* SCインプット共通データ */
		// **********************************************
		// 【取得元：電文ヘッダ(ヘッダ)】
		// **********************************************
		// 電文ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
		// ユースケースID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
		// オペレーションID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
		// サービス呼び出し区分
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());

		// **********************************************
		// 【取得元：ユーザエリア(コントロールマップ)】
		// **********************************************
		// 依頼先ホスト名
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// 依頼元IPアドレス
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// 依頼元画面ID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// オペレータID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));

		CAANMsg template = new CAANMsg(EKK0191C011CBSMsg.class.getName());

		HashMap inMap = null;

		// テンプレートID
		template.set(EKK0191C011CBSMsg.TEMPLATEID, TEMPLATE_ID);

		// 機能コード（デフォルト：１）
		template.set(EKK0191C011CBSMsg.FUNC_CODE, "1");

		// オペレータ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);

		/* ユーザデータ情報 */
		inMap = (HashMap)userData.get("EKK0191C011");
		
		if (inMap != null) {
			// 機能コード
			template.set(EKK0191C011CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
		}

		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.サービス契約内訳番号 → サービス契約内訳番号
		if (inMap == null || inMap.get("svc_kei_ucwk_no") == null || "".equals(inMap.get("svc_kei_ucwk_no"))) {
			template.setNull(EKK0191C011CBSMsg.SVC_KEI_UCWK_NO);
		} else {
			template.set(EKK0191C011CBSMsg.SVC_KEI_UCWK_NO, (String) inMap.get("svc_kei_ucwk_no"));
		}

		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.予約適用年月日 → 予約適用年月日
		if (inMap == null || inMap.get("rsv_aply_ymd") == null || "".equals(inMap.get("rsv_aply_ymd"))) {
			template.setNull(EKK0191C011CBSMsg.RSV_APLY_YMD);
		} else {
			template.set(EKK0191C011CBSMsg.RSV_APLY_YMD, (String) inMap.get("rsv_aply_ymd"));
		}

		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.異動区分 → 異動区分
		if (inMap == null || inMap.get("ido_div") == null || "".equals(inMap.get("ido_div"))) {
			template.setNull(EKK0191C011CBSMsg.IDO_DIV);
		} else {
			template.set(EKK0191C011CBSMsg.IDO_DIV, (String) inMap.get("ido_div"));
		}
/** MODEL対応 Nao.F */
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ希望有無 → 移転トーキ希望有無
//		if (inMap == null || inMap.get("itntoki_kibo_um") == null || "".equals(inMap.get("itntoki_kibo_um"))) {
//			template.setNull(EKK0191C011CBSMsg.ITNTOKI_KIBO_UM);
//		} else {
//			template.set(EKK0191C011CBSMsg.ITNTOKI_KIBO_UM, (String) inMap.get("itntoki_kibo_um"));
//		}
//
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ種別コード → 移転トーキ種別コード
//		if (inMap == null || inMap.get("itntoki_sbt_cd") == null || "".equals(inMap.get("itntoki_sbt_cd"))) {
//			template.setNull(EKK0191C011CBSMsg.ITNTOKI_SBT_CD);
//		} else {
//			template.set(EKK0191C011CBSMsg.ITNTOKI_SBT_CD, (String) inMap.get("itntoki_sbt_cd"));
//		}
//
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.トーキ転送先電話番号 → トーキ転送先電話番号
//		if (inMap == null || inMap.get("toki_tenso_sk_telno") == null || "".equals(inMap.get("toki_tenso_sk_telno"))) {
//			template.setNull(EKK0191C011CBSMsg.TOKI_TENSO_SK_TELNO);
//		} else {
//			template.set(EKK0191C011CBSMsg.TOKI_TENSO_SK_TELNO, (String) inMap.get("toki_tenso_sk_telno"));
//		}
//
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ開始年月日 → 移転トーキ開始年月日
//		if (inMap == null || inMap.get("itntoki_sta_ymd") == null || "".equals(inMap.get("itntoki_sta_ymd"))) {
//			template.setNull(EKK0191C011CBSMsg.ITNTOKI_STA_YMD);
//		} else {
//			template.set(EKK0191C011CBSMsg.ITNTOKI_STA_YMD, (String) inMap.get("itntoki_sta_ymd"));
//		}
//
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ終了予定年月日 → 移転トーキ終了予定年月日
//		if (inMap == null || inMap.get("itntoki_end_rsv_ymd") == null || "".equals(inMap.get("itntoki_end_rsv_ymd"))) {
//			template.setNull(EKK0191C011CBSMsg.ITNTOKI_END_RSV_YMD);
//		} else {
//			template.set(EKK0191C011CBSMsg.ITNTOKI_END_RSV_YMD, (String) inMap.get("itntoki_end_rsv_ymd"));
//		}
//
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ終了年月日 → 移転トーキ終了年月日
//		if (inMap == null || inMap.get("itntoki_end_ymd") == null || "".equals(inMap.get("itntoki_end_ymd"))) {
//			template.setNull(EKK0191C011CBSMsg.ITNTOKI_END_YMD);
//		} else {
//			template.set(EKK0191C011CBSMsg.ITNTOKI_END_YMD, (String) inMap.get("itntoki_end_ymd"));
//		}
//
//		// サービス契約内訳<eo光電話>移転トーキ設定移転トーキ終了種別コード → 移転トーキ終了種別コード
//		if (inMap == null || inMap.get("") == null || "".equals(inMap.get("itntoki_end_sbt_cd"))) {
//			template.setNull(EKK0191C011CBSMsg.ITNTOKI_END_SBT_CD );
//		} else {
//		template.set(EKK0191C011CBSMsg.ITNTOKI_END_SBT_CD, (String) inMap.get("itntoki_end_sbt_cd"));
//		}
//
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ登録コード → 移転トーキ登録コード
//		if (inMap == null || inMap.get("itntoki_add_cd") == null || "".equals(inMap.get("itntoki_add_cd"))) {
//			template.setNull(EKK0191C011CBSMsg.ITNTOKI_ADD_CD);
//		} else {
//			template.set(EKK0191C011CBSMsg.ITNTOKI_ADD_CD, (String) inMap.get("itntoki_add_cd"));
//		}
//
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ手動開始予定年月日 → 移転トーキ手動開始予定年月日
//		if (inMap == null || inMap.get("itntoki_man_sta_rsv_ymd") == null || "".equals(inMap.get("itntoki_man_sta_rsv_ymd"))) {
//			template.setNull(EKK0191C011CBSMsg.ITNTOKI_MAN_STA_RSV_YMD);
//		} else {
//			template.set(EKK0191C011CBSMsg.ITNTOKI_MAN_STA_RSV_YMD, (String) inMap.get("itntoki_man_sta_rsv_ymd"));
//		}

		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.更新年月日時分秒（更新前） → 更新年月日時分秒（更新前）
		if (inMap == null || inMap.get("upd_dtm_bf") == null || "".equals(inMap.get("upd_dtm_bf"))) {
			template.setNull(EKK0191C011CBSMsg.UPD_DTM_BF);
		} else {
			template.set(EKK0191C011CBSMsg.UPD_DTM_BF, (String) inMap.get("upd_dtm_bf"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ希望有無 → 解約・休止トーキ希望有無
		if (inMap == null || inMap.get("dsl_pause_toki_kibo_um") == null || "".equals(inMap.get("dsl_pause_toki_kibo_um"))) {
			template.setNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_KIBO_UM);
		} else {
			template.set(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_KIBO_UM, (String) inMap.get("dsl_pause_toki_kibo_um"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ種別コード → 解約・休止トーキ種別コード
		if (inMap == null || inMap.get("dsl_pause_toki_sbt_cd") == null || "".equals(inMap.get("dsl_pause_toki_sbt_cd"))) {
			template.setNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_SBT_CD);
		} else {
			template.set(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_SBT_CD, (String) inMap.get("dsl_pause_toki_sbt_cd"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ転送先電話番号 → 解約・休止トーキ転送先電話番号
		if (inMap == null || inMap.get("dsl_pause_toki_tss_tln") == null || "".equals(inMap.get("dsl_pause_toki_tss_tln"))) {
			template.setNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_TSS_TLN);
		} else {
			template.set(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_TSS_TLN, (String) inMap.get("dsl_pause_toki_tss_tln"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ開始年月日 → 解約・休止トーキ開始年月日
		if (inMap == null || inMap.get("dsl_pause_toki_sta_ymd") == null || "".equals(inMap.get("dsl_pause_toki_sta_ymd"))) {
			template.setNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_STA_YMD);
		} else {
			template.set(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_STA_YMD, (String) inMap.get("dsl_pause_toki_sta_ymd"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ終了予定年月日 → 解約・休止トーキ終了予定年月日
		if (inMap == null || inMap.get("dsl_pause_toki_end_rsymd") == null || "".equals(inMap.get("dsl_pause_toki_end_rsymd"))) {
			template.setNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_END_RSYMD);
		} else {
			template.set(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_END_RSYMD, (String) inMap.get("dsl_pause_toki_end_rsymd"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ終了年月日 → 解約・休止トーキ終了年月日
		if (inMap == null || inMap.get("dsl_pause_toki_end_ymd") == null || "".equals(inMap.get("dsl_pause_toki_end_ymd"))) {
			template.setNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_END_YMD);
		} else {
			template.set(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_END_YMD, (String) inMap.get("dsl_pause_toki_end_ymd"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.休止トーキ終了種別コード → 休止トーキ終了種別コード
		if (inMap == null || inMap.get("pause_toki_end_sbt_cd") == null || "".equals(inMap.get("pause_toki_end_sbt_cd"))) {
			template.setNull(EKK0191C011CBSMsg.PAUSE_TOKI_END_SBT_CD);
		} else {
			template.set(EKK0191C011CBSMsg.PAUSE_TOKI_END_SBT_CD, (String) inMap.get("pause_toki_end_sbt_cd"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ登録コード → 解約・休止トーキ登録コード
		if (inMap == null || inMap.get("dsl_pause_toki_add_cd") == null || "".equals(inMap.get("dsl_pause_toki_add_cd"))) {
			template.setNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_ADD_CD);
		} else {
			template.set(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_ADD_CD, (String) inMap.get("dsl_pause_toki_add_cd"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ開始予定年月日 → 解約・休止トーキ開始予定年月日
		if (inMap == null || inMap.get("dsl_pause_toki_sta_rsymd") == null || "".equals(inMap.get("dsl_pause_toki_sta_rsymd"))) {
			template.setNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_STA_RSYMD);
		} else {
			template.set(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_STA_RSYMD, (String) inMap.get("dsl_pause_toki_sta_rsymd"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ転送先サービス契約内訳番号 → 解約・休止トーキ転送先サービス契約内訳番号
		if (inMap == null || inMap.get("dsl_pause_toki_tss_svkuwno") == null || "".equals(inMap.get("dsl_pause_toki_tss_svkuwno"))) {
			template.setNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_TSS_SVKUWNO);
		} else {
			template.set(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_TSS_SVKUWNO, (String) inMap.get("dsl_pause_toki_tss_svkuwno"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ登録コード → 移転先開通後トーキ登録コード
		if (inMap == null || inMap.get("itens_opaf_toki_add_cd") == null || "".equals(inMap.get("itens_opaf_toki_add_cd"))) {
			template.setNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_ADD_CD);
		} else {
			template.set(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_ADD_CD, (String) inMap.get("itens_opaf_toki_add_cd"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ種別コード → 移転先開通後トーキ種別コード
		if (inMap == null || inMap.get("itens_opaf_toki_sbt_cd") == null || "".equals(inMap.get("itens_opaf_toki_sbt_cd"))) {
			template.setNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_SBT_CD);
		} else {
			template.set(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_SBT_CD, (String) inMap.get("itens_opaf_toki_sbt_cd"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ希望有無 → 移転先開通後トーキ希望有無
		if (inMap == null || inMap.get("itens_opaf_toki_kibo_um") == null || "".equals(inMap.get("itens_opaf_toki_kibo_um"))) {
			template.setNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_KIBO_UM);
		} else {
			template.set(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_KIBO_UM, (String) inMap.get("itens_opaf_toki_kibo_um"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ開始予定年月日 → 移転先開通後トーキ開始予定年月日
		if (inMap == null || inMap.get("itens_opaf_toki_sta_rsymd") == null || "".equals(inMap.get("itens_opaf_toki_sta_rsymd"))) {
			template.setNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_STA_RSYMD);
		} else {
			template.set(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_STA_RSYMD, (String) inMap.get("itens_opaf_toki_sta_rsymd"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ開始年月日 → 移転先開通後トーキ開始年月日
		if (inMap == null || inMap.get("itens_opaf_toki_sta_ymd") == null || "".equals(inMap.get("itens_opaf_toki_sta_ymd"))) {
			template.setNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_STA_YMD);
		} else {
			template.set(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_STA_YMD, (String) inMap.get("itens_opaf_toki_sta_ymd"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ終了予定年月日 → 移転先開通後トーキ終了予定年月日
		if (inMap == null || inMap.get("itens_opaf_toki_end_rsymd") == null || "".equals(inMap.get("itens_opaf_toki_end_rsymd"))) {
			template.setNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_END_RSYMD);
		} else {
			template.set(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_END_RSYMD, (String) inMap.get("itens_opaf_toki_end_rsymd"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ終了年月日 → 移転先開通後トーキ終了年月日
		if (inMap == null || inMap.get("itens_opaf_toki_end_ymd") == null || "".equals(inMap.get("itens_opaf_toki_end_ymd"))) {
			template.setNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_END_YMD);
		} else {
			template.set(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_END_YMD, (String) inMap.get("itens_opaf_toki_end_ymd"));
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ転送先サービス契約内訳番号 → 移転先開通後トーキ転送先サービス契約内訳番号
		if (inMap == null || inMap.get("itns_opaf_toki_tss_svkuwno") == null || "".equals(inMap.get("itns_opaf_toki_tss_svkuwno"))) {
			template.setNull(EKK0191C011CBSMsg.ITNS_OPAF_TOKI_TSS_SVKUWNO);
		} else {
			template.set(EKK0191C011CBSMsg.ITNS_OPAF_TOKI_TSS_SVKUWNO, (String) inMap.get("itns_opaf_toki_tss_svkuwno"));
		}

		/** 手書き項目 **/

		//申込明細番号
		template.set(EKK0191C011CBSMsg.MSKM_DTL_NO, userData.get("mskm_dtl_no"));

		/** 手書き項目 **/

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;

	}
	
	/**
	 *<DL>
	 *<DT>処理概要:
	 *<DD>サービスコンポーネント実行後に、IRequestParameterReadWriteに必要なデータをマッピングする（サービス契約内訳＜eo光電話＞移転トーキ設定）
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param msgList (I) CAANMsgクラス 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @return 業務データ取得・書込用I/F
	 * @since 2011.11.25
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editResultRP_EKK0191C011CBS(Map<?, ?> msgList,
			IRequestParameterReadWrite param, HashMap userData) throws Throwable
	{
		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[]) msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);
		
		// 結果を詰めるマップを取得。
		HashMap dataMap = null;

		/* 業務データ設定 */
		dataMap = (HashMap)userData.get("EKK0191C011");
		if (dataMap == null) {
			dataMap = new HashMap();
			userData.put("EKK0191C011", dataMap);
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.世代登録年月日時分秒（サービス契約内訳） ← 世代登録年月日時分秒（サービス契約内訳）
		if (parentTemplate.isNull(EKK0191C011CBSMsg.KK0161_GENE_ADD_DTM)) {
			dataMap.put("kk0161_gene_add_dtm", new String());
		} else {
			dataMap.put("kk0161_gene_add_dtm", parentTemplate.getString(EKK0191C011CBSMsg.KK0161_GENE_ADD_DTM));
		}

		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.予約適用コード ← 予約適用コード
		if (parentTemplate.isNull(EKK0191C011CBSMsg.RSV_APLY_CD)) {
			dataMap.put("rsv_aply_cd", new String());
		} else {
			dataMap.put("rsv_aply_cd", parentTemplate.getString(EKK0191C011CBSMsg.RSV_APLY_CD));
		}

		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.世代登録年月日時分秒（サービス契約内訳＜ｅｏ光電話＞） ← 世代登録年月日時分秒（サービス契約内訳＜ｅｏ光電話＞）
		if (parentTemplate.isNull(EKK0191C011CBSMsg.KK0191_GENE_ADD_DTM)) {
			dataMap.put("kk0191_gene_add_dtm", new String());
		} else {
			dataMap.put("kk0191_gene_add_dtm", parentTemplate.getString(EKK0191C011CBSMsg.KK0191_GENE_ADD_DTM));
		}

		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.登録オペレータアカウント ← 登録オペレータアカウント
		if (parentTemplate.isNull(EKK0191C011CBSMsg.ADD_OPEACNT)) {
			dataMap.put("add_opeacnt", new String());
		} else {
			dataMap.put("add_opeacnt", parentTemplate.getString(EKK0191C011CBSMsg.ADD_OPEACNT));
		}

		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.登録年月日時分秒 ← 登録年月日時分秒
		if (parentTemplate.isNull(EKK0191C011CBSMsg.ADD_DTM)) {
			dataMap.put("add_dtm", new String());
		} else {
			dataMap.put("add_dtm", parentTemplate.getString(EKK0191C011CBSMsg.ADD_DTM));
		}

		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.更新オペレータアカウント ← 更新オペレータアカウント
		if (parentTemplate.isNull(EKK0191C011CBSMsg.UPD_OPEACNT)) {
			dataMap.put("upd_opeacnt", new String());
		} else {
			dataMap.put("upd_opeacnt", parentTemplate.getString(EKK0191C011CBSMsg.UPD_OPEACNT));
		}

		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.更新年月日時分秒 ← 更新年月日時分秒
		if (parentTemplate.isNull(EKK0191C011CBSMsg.UPD_DTM)) {
			dataMap.put("upd_dtm", new String());
		} else {
			dataMap.put("upd_dtm", parentTemplate.getString(EKK0191C011CBSMsg.UPD_DTM));
		}

		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.無効フラグ ← 無効フラグ
		if (parentTemplate.isNull(EKK0191C011CBSMsg.MK_FLG)) {
			dataMap.put("mk_flg", new String());
		} else {
			dataMap.put("mk_flg", parentTemplate.getString(EKK0191C011CBSMsg.MK_FLG));
		}

        // エラー情報の設定
        param = editErrorInfo_EKK0191C011CBS(param, templates, (Integer)return_code, userData);

		//エラー情報のマップを取得
		ArrayList<Object> errList = (ArrayList<Object>)param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if(errList == null){
			errList = new ArrayList<Object>();
		}
		// コントロールマップに設定
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(msgList, errList));
        

		return param;
	}
	/**
	 *<DL>
	 *<DT>処理概要:
	 *<DD>サービスコンポーネント実行後に、IRequestParameterReadWriteにエラー情報をマッピングする（サービス契約内訳＜eo光電話＞移転トーキ設定）
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @return 業務データ取得・書込用I/F
	 * @since 2011.11.25
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfo_EKK0191C011CBS(IRequestParameterReadWrite param,
			CAANMsg[] templates, int returnCode, HashMap userData) throws Throwable
	{
		CAANMsg template = templates[0];
		int templateStatus = template.getInt(EKK0191C011CBSMsg.STATUS);
		if (returnCode != 0) {
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null) {
			templateStatus = 0;
		}
		
		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null) {
			bpStatus = -1;
		} else {
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus) {
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}
		
		HashMap inMap = null;

		/* ユーザデータ情報 */
		inMap = (HashMap)userData.get("EKK0191C011");
		if (inMap == null) {
			inMap = new HashMap();
			userData.put("EKK0191C011", inMap);
		}
		
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.申込明細番号 → 申込明細番号 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.MSKM_DTL_NO_ERR)) {
			if (!inMap.containsKey("mskm_dtl_no_err")) {
				inMap.put("mskm_dtl_no_err", template.getString(EKK0191C011CBSMsg.MSKM_DTL_NO_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.サービス契約内訳番号 → サービス契約内訳番号 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.SVC_KEI_UCWK_NO_ERR)) {
			if (!inMap.containsKey("svc_kei_ucwk_no_err")) {
				inMap.put("svc_kei_ucwk_no_err", template.getString(EKK0191C011CBSMsg.SVC_KEI_UCWK_NO_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.予約適用年月日 → 予約適用年月日 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.RSV_APLY_YMD_ERR)) {
			if (!inMap.containsKey("rsv_aply_ymd_err")) {
				inMap.put("rsv_aply_ymd_err", template.getString(EKK0191C011CBSMsg.RSV_APLY_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.異動区分 → 異動区分 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.IDO_DIV_ERR)) {
			if (!inMap.containsKey("ido_div_err")) {
				inMap.put("ido_div_err", template.getString(EKK0191C011CBSMsg.IDO_DIV_ERR));
			}
		}
/** MODEL対応 Nao.F */
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ希望有無 → 移転トーキ希望有無 のエラー情報返却
//		if (!template.isNull(EKK0191C011CBSMsg.ITNTOKI_KIBO_UM_ERR)) {
//			if (!inMap.containsKey("itntoki_kibo_um_err")) {
//				inMap.put("itntoki_kibo_um_err", template.getString(EKK0191C011CBSMsg.ITNTOKI_KIBO_UM_ERR));
//			}
//		}
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ種別コード → 移転トーキ種別コード のエラー情報返却
//		if (!template.isNull(EKK0191C011CBSMsg.ITNTOKI_SBT_CD_ERR)) {
//			if (!inMap.containsKey("itntoki_sbt_cd_err")) {
//				inMap.put("itntoki_sbt_cd_err", template.getString(EKK0191C011CBSMsg.ITNTOKI_SBT_CD_ERR));
//			}
//		}
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.トーキ転送先電話番号 → トーキ転送先電話番号 のエラー情報返却
//		if (!template.isNull(EKK0191C011CBSMsg.TOKI_TENSO_SK_TELNO_ERR)) {
//			if (!inMap.containsKey("toki_tenso_sk_telno_err")) {
//				inMap.put("toki_tenso_sk_telno_err", template.getString(EKK0191C011CBSMsg.TOKI_TENSO_SK_TELNO_ERR));
//			}
//		}
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ開始年月日 → 移転トーキ開始年月日 のエラー情報返却
//		if (!template.isNull(EKK0191C011CBSMsg.ITNTOKI_STA_YMD_ERR)) {
//			if (!inMap.containsKey("itntoki_sta_ymd_err")) {
//				inMap.put("itntoki_sta_ymd_err", template.getString(EKK0191C011CBSMsg.ITNTOKI_STA_YMD_ERR));
//			}
//		}
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ終了予定年月日 → 移転トーキ終了予定年月日 のエラー情報返却
//		if (!template.isNull(EKK0191C011CBSMsg.ITNTOKI_END_RSV_YMD_ERR)) {
//			if (!inMap.containsKey("itntoki_end_rsv_ymd_err")) {
//				inMap.put("itntoki_end_rsv_ymd_err", template.getString(EKK0191C011CBSMsg.ITNTOKI_END_RSV_YMD_ERR));
//			}
//		}
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ終了年月日 → 移転トーキ終了年月日 のエラー情報返却
//		if (!template.isNull(EKK0191C011CBSMsg.ITNTOKI_END_YMD_ERR)) {
//			if (!inMap.containsKey("itntoki_end_ymd_err")) {
//				inMap.put("itntoki_end_ymd_err", template.getString(EKK0191C011CBSMsg.ITNTOKI_END_YMD_ERR));
//			}
//		}
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ終了種別コード → 移転トーキ終了種別コード のエラー情報返却
//		if (!template.isNull(EKK0191C011CBSMsg.ITNTOKI_END_SBT_CD_ERR)) {
//			if (!inMap.containsKey("itntoki_end_sbt_cd_err")) {
//				inMap.put("itntoki_end_sbt_cd_err", template.getString(EKK0191C011CBSMsg.ITNTOKI_END_SBT_CD_ERR));
//			}
//		}
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ登録コード → 移転トーキ登録コード のエラー情報返却
//		if (!template.isNull(EKK0191C011CBSMsg.ITNTOKI_ADD_CD_ERR)) {
//			if (!inMap.containsKey("itntoki_add_cd_err")) {
//				inMap.put("itntoki_add_cd_err", template.getString(EKK0191C011CBSMsg.ITNTOKI_ADD_CD_ERR));
//			}
//		}
//		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転トーキ手動開始予定年月日 → 移転トーキ手動開始予定年月日 のエラー情報返却
//		if (!template.isNull(EKK0191C011CBSMsg.ITNTOKI_MAN_STA_RSV_YMD_ERR)) {
//			if (!inMap.containsKey("itntoki_man_sta_rsv_ymd_err")) {
//				inMap.put("itntoki_man_sta_rsv_ymd_err", template.getString(EKK0191C011CBSMsg.ITNTOKI_MAN_STA_RSV_YMD_ERR));
//			}
//		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.更新年月日時分秒（更新前） → 更新年月日時分秒（更新前） のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.UPD_DTM_BF_ERR)) {
			if (!inMap.containsKey("upd_dtm_bf_err")) {
				inMap.put("upd_dtm_bf_err", template.getString(EKK0191C011CBSMsg.UPD_DTM_BF_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ希望有無 → 解約・休止トーキ希望有無 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_KIBO_UM_ERR)) {
			if (!inMap.containsKey("dsl_pause_toki_kibo_um_err")) {
				inMap.put("dsl_pause_toki_kibo_um_err", template.getString(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_KIBO_UM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ種別コード → 解約・休止トーキ種別コード のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_SBT_CD_ERR)) {
			if (!inMap.containsKey("dsl_pause_toki_sbt_cd_err")) {
				inMap.put("dsl_pause_toki_sbt_cd_err", template.getString(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_SBT_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ転送先電話番号 → 解約・休止トーキ転送先電話番号 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_TSS_TLN_ERR)) {
			if (!inMap.containsKey("dsl_pause_toki_tss_tln_err")) {
				inMap.put("dsl_pause_toki_tss_tln_err", template.getString(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_TSS_TLN_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ開始年月日 → 解約・休止トーキ開始年月日 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_STA_YMD_ERR)) {
			if (!inMap.containsKey("dsl_pause_toki_sta_ymd_err")) {
				inMap.put("dsl_pause_toki_sta_ymd_err", template.getString(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_STA_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ終了予定年月日 → 解約・休止トーキ終了予定年月日 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_END_RSYMD_ERR)) {
			if (!inMap.containsKey("dsl_pause_toki_end_rsymd_err")) {
				inMap.put("dsl_pause_toki_end_rsymd_err", template.getString(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_END_RSYMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ終了年月日 → 解約・休止トーキ終了年月日 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_END_YMD_ERR)) {
			if (!inMap.containsKey("dsl_pause_toki_end_ymd_err")) {
				inMap.put("dsl_pause_toki_end_ymd_err", template.getString(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_END_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.休止トーキ終了種別コード → 休止トーキ終了種別コード のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.PAUSE_TOKI_END_SBT_CD_ERR)) {
			if (!inMap.containsKey("pause_toki_end_sbt_cd_err")) {
				inMap.put("pause_toki_end_sbt_cd_err", template.getString(EKK0191C011CBSMsg.PAUSE_TOKI_END_SBT_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ登録コード → 解約・休止トーキ登録コード のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_ADD_CD_ERR)) {
			if (!inMap.containsKey("dsl_pause_toki_add_cd_err")) {
				inMap.put("dsl_pause_toki_add_cd_err", template.getString(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_ADD_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ開始予定年月日 → 解約・休止トーキ開始予定年月日 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_STA_RSYMD_ERR)) {
			if (!inMap.containsKey("dsl_pause_toki_sta_rsymd_err")) {
				inMap.put("dsl_pause_toki_sta_rsymd_err", template.getString(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_STA_RSYMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.解約・休止トーキ転送先サービス契約内訳番号 → 解約・休止トーキ転送先サービス契約内訳番号 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_TSS_SVKUWNO_ERR)) {
			if (!inMap.containsKey("dsl_pause_toki_tss_svkuwno_err")) {
				inMap.put("dsl_pause_toki_tss_svkuwno_err", template.getString(EKK0191C011CBSMsg.DSL_PAUSE_TOKI_TSS_SVKUWNO_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ登録コード → 移転先開通後トーキ登録コード のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_ADD_CD_ERR)) {
			if (!inMap.containsKey("itens_opaf_toki_add_cd_err")) {
				inMap.put("itens_opaf_toki_add_cd_err", template.getString(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_ADD_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ種別コード → 移転先開通後トーキ種別コード のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_SBT_CD_ERR)) {
			if (!inMap.containsKey("itens_opaf_toki_sbt_cd_err")) {
				inMap.put("itens_opaf_toki_sbt_cd_err", template.getString(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_SBT_CD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ希望有無 → 移転先開通後トーキ希望有無 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_KIBO_UM_ERR)) {
			if (!inMap.containsKey("itens_opaf_toki_kibo_um_err")) {
				inMap.put("itens_opaf_toki_kibo_um_err", template.getString(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_KIBO_UM_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ開始予定年月日 → 移転先開通後トーキ開始予定年月日 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_STA_RSYMD_ERR)) {
			if (!inMap.containsKey("itens_opaf_toki_sta_rsymd_err")) {
				inMap.put("itens_opaf_toki_sta_rsymd_err", template.getString(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_STA_RSYMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ開始年月日 → 移転先開通後トーキ開始年月日 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_STA_YMD_ERR)) {
			if (!inMap.containsKey("itens_opaf_toki_sta_ymd_err")) {
				inMap.put("itens_opaf_toki_sta_ymd_err", template.getString(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_STA_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ終了予定年月日 → 移転先開通後トーキ終了予定年月日 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_END_RSYMD_ERR)) {
			if (!inMap.containsKey("itens_opaf_toki_end_rsymd_err")) {
				inMap.put("itens_opaf_toki_end_rsymd_err", template.getString(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_END_RSYMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ終了年月 → 移転先開通後トーキ終了年月 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_END_YMD_ERR)) {
			if (!inMap.containsKey("itens_opaf_toki_end_ymd_err")) {
				inMap.put("itens_opaf_toki_end_ymd_err", template.getString(EKK0191C011CBSMsg.ITENS_OPAF_TOKI_END_YMD_ERR));
			}
		}
		// サービス契約内訳＜ｅｏ光電話＞移転トーキ設定.移転先開通後トーキ転送先サービス契約内訳番号 → 移転先開通後トーキ転送先サービス契約内訳番号 のエラー情報返却
		if (!template.isNull(EKK0191C011CBSMsg.ITNS_OPAF_TOKI_TSS_SVKUWNO_ERR)) {
			if (!inMap.containsKey("itns_opaf_toki_tss_svkuwno_err")) {
				inMap.put("itns_opaf_toki_tss_svkuwno_err", template.getString(EKK0191C011CBSMsg.ITNS_OPAF_TOKI_TSS_SVKUWNO_ERR));
			}
		}
		
		return param;
	}
	
//	/**
//	 * 進捗登録制御処理<br>
//	 * @param handle セッションマネージャなどを持ったハンドル
//	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
//	 * @return 業務データ取得・書込用I/F
//	 * @throws Throwable 
//	 */
//	@SuppressWarnings("unchecked")
//	private IRequestParameterReadWrite executePrgInfoAdd(
//			SessionHandle handle, IRequestParameterReadWrite param, HashMap userData)
//			throws RequestParameterException, Throwable {
//			
//			//進捗登録制御処理呼び出し
//			param = callEKK1091D010SC(handle, param, userData);
//		
//		return param;
//	}
//
//	/**
//	 * 進捗登録実行処理<br>
//	 * <br>
//	 * 進捗登録サービスIFを実行します。<br>
//	 * <br>
//	 * 【使用するサービスIF】<br>
//	 * 　・進捗登録<br>
//	 * <br>
//	 * @param handle セッションマネージャなどを持ったハンドル
//	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
//	 * @return 業務データ取得・書込用I/F
//	 * @throws Throwable 
//	 */
//	@SuppressWarnings("unchecked")
//	private IRequestParameterReadWrite callEKK1091D010SC(SessionHandle handle,
//			IRequestParameterReadWrite param, HashMap userData) throws Throwable
//	{
//		// 上りマッピング
//		HashMap<String, Object> paramMap = editInMsg_EKK1091D010CBS(param, userData);
//		
//		// SC呼び出し部品のインスタンス生成
//		//（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。）
//		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
//
//		// SC呼出
//		Map<?, ?> result = scCall.run(paramMap, handle);
//
//		// 下りマッピング
//		editResultRP_EKK1091D010CBS(result, param, userData);
//		
//		return param;
//	}
//
//	/**
//	 *<DL>
//	 *<DT>処理概要:
//	 *<DD>サービスコンポーネント実行前に、CAANMsgに必要なデータをマッピングする（進捗登録）
//	 *<DT>入力パラメータ説明:
//	 *<DD>特になし
//	 *<DT>入力パラメータ説明：
//	 *<DD>特になし
//	 *<DT>出力パラメータ説明:
//	 *<DD>特になし
//	 *</DL>
//	 * @param param (I) 業務データ取得用I/F
//	 * @return サービスコンポーネント実行用CAANMsg
//	 * @since 2011.11.25
//	 */
//	@SuppressWarnings("unchecked")
//	private HashMap<String, Object> editInMsg_EKK1091D010CBS(IRequestParameterReadOnly param, HashMap userData) throws RequestParameterException
//	{
//		String TEMPLATE_ID = "EKK1091D010";
//
//		HashMap<String, Object> paramMap = new HashMap<String, Object>();
//
//		/* SCインプット共通データ */
//		// **********************************************
//		// 【取得元：電文ヘッダ(ヘッダ)】
//		// **********************************************
//		// 電文ID
//		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
//		// ユースケースID
//		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
//		// オペレーションID
//		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
//		// サービス呼び出し区分
//		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());
//
//		// **********************************************
//		// 【取得元：ユーザエリア(コントロールマップ)】
//		// **********************************************
//		// 依頼先ホスト名
//		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
//		// 依頼元IPアドレス
//		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
//		// 依頼元画面ID
//		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
//		// オペレータID
//		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));
//
//		CAANMsg template = new CAANMsg(EKK1091D010CBSMsg.class.getName());
//		CAANMsg[] templateArray = null;
//
//		HashMap inMap = null;
//		ArrayList inList = null;
//
//		// テンプレートID
//		template.set(EKK1091D010CBSMsg.TEMPLATEID, TEMPLATE_ID);
//
//		// 機能コード（デフォルト：１）
//		template.set(EKK1091D010CBSMsg.FUNC_CODE, "1");
//
//		// オペレータ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);
//
//		/* ユーザデータ情報 */
//		inMap = (HashMap)param.getData("EKK1091D010");
//		
//		if (inMap != null) {
//			// 機能コード
//			template.set(EKK1091D010CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));
//		}
//
//		// 進捗登録マップ.請求契約番号 → 請求契約番号
//		if (inMap == null || inMap.get("seiky_kei_no") == null || "".equals(inMap.get("seiky_kei_no"))) {
//			template.setNull(EKK1091D010CBSMsg.SEIKY_KEI_NO);
//		} else {
//			template.set(EKK1091D010CBSMsg.SEIKY_KEI_NO, (String) inMap.get("seiky_kei_no"));
//		}
//
//		// 進捗登録マップ.請求方法番号（口座） → 請求方法番号（口座）
//		if (inMap == null || inMap.get("seiky_way_no_koza") == null || "".equals(inMap.get("seiky_way_no_koza"))) {
//			template.setNull(EKK1091D010CBSMsg.SEIKY_WAY_NO_KOZA);
//		} else {
//			template.set(EKK1091D010CBSMsg.SEIKY_WAY_NO_KOZA, (String) inMap.get("seiky_way_no_koza"));
//		}
//
//		// 進捗登録マップ.請求方法番号（クレジットカード） → 請求方法番号（クレジットカード）
//		if (inMap == null || inMap.get("seiky_way_no_crecard") == null || "".equals(inMap.get("seiky_way_no_crecard"))) {
//			template.setNull(EKK1091D010CBSMsg.SEIKY_WAY_NO_CRECARD);
//		} else {
//			template.set(EKK1091D010CBSMsg.SEIKY_WAY_NO_CRECARD, (String) inMap.get("seiky_way_no_crecard"));
//		}
//
//		// 進捗登録マップ.サービス契約番号 → サービス契約番号
//		if (inMap == null || inMap.get("svc_kei_no") == null || "".equals(inMap.get("svc_kei_no"))) {
//			template.setNull(EKK1091D010CBSMsg.SVC_KEI_NO);
//		} else {
//			template.set(EKK1091D010CBSMsg.SVC_KEI_NO, (String) inMap.get("svc_kei_no"));
//		}
//
//		// 進捗登録マップ.サービス契約内訳番号 → サービス契約内訳番号
//		if (inMap == null || inMap.get("svc_kei_ucwk_no") == null || "".equals(inMap.get("svc_kei_ucwk_no"))) {
//			template.setNull(EKK1091D010CBSMsg.SVC_KEI_UCWK_NO);
//		} else {
//			template.set(EKK1091D010CBSMsg.SVC_KEI_UCWK_NO, (String) inMap.get("svc_kei_ucwk_no"));
//		}
//
//		// 進捗登録マップ.サービス契約回線内訳番号 → サービス契約回線内訳番号
//		if (inMap == null || inMap.get("svc_kei_kaisen_ucwk_no") == null || "".equals(inMap.get("svc_kei_kaisen_ucwk_no"))) {
//			template.setNull(EKK1091D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO);
//		} else {
//			template.set(EKK1091D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO, (String) inMap.get("svc_kei_kaisen_ucwk_no"));
//		}
//
//		// 進捗登録マップ.機器提供サービス契約番号 → 機器提供サービス契約番号
//		if (inMap == null || inMap.get("kktk_svc_kei_no") == null || "".equals(inMap.get("kktk_svc_kei_no"))) {
//			template.setNull(EKK1091D010CBSMsg.KKTK_SVC_KEI_NO);
//		} else {
//			template.set(EKK1091D010CBSMsg.KKTK_SVC_KEI_NO, (String) inMap.get("kktk_svc_kei_no"));
//		}
//
//		// 進捗登録マップ.オプションサービス契約番号 → オプションサービス契約番号
//		if (inMap == null || inMap.get("op_svc_kei_no") == null || "".equals(inMap.get("op_svc_kei_no"))) {
//			template.setNull(EKK1091D010CBSMsg.OP_SVC_KEI_NO);
//		} else {
//			template.set(EKK1091D010CBSMsg.OP_SVC_KEI_NO, (String) inMap.get("op_svc_kei_no"));
//		}
//
//		// 進捗登録マップ.請求オプションサービス契約番号 → 請求オプションサービス契約番号
//		if (inMap == null || inMap.get("seiopsvc_kei_no") == null || "".equals(inMap.get("seiopsvc_kei_no"))) {
//			template.setNull(EKK1091D010CBSMsg.SEIOPSVC_KEI_NO);
//		} else {
//			template.set(EKK1091D010CBSMsg.SEIOPSVC_KEI_NO, (String) inMap.get("seiopsvc_kei_no"));
//		}
//
//		// 進捗登録マップ.サブオプションサービス契約番号 → サブオプションサービス契約番号
//		if (inMap == null || inMap.get("sbop_svc_kei_no") == null || "".equals(inMap.get("sbop_svc_kei_no"))) {
//			template.setNull(EKK1091D010CBSMsg.SBOP_SVC_KEI_NO);
//		} else {
//			template.set(EKK1091D010CBSMsg.SBOP_SVC_KEI_NO, (String) inMap.get("sbop_svc_kei_no"));
//		}
//
//		// 進捗登録マップ.割引サービス契約番号 → 割引サービス契約番号
//		if (inMap == null || inMap.get("wrib_svc_kei_no") == null || "".equals(inMap.get("wrib_svc_kei_no"))) {
//			template.setNull(EKK1091D010CBSMsg.WRIB_SVC_KEI_NO);
//		} else {
//			template.set(EKK1091D010CBSMsg.WRIB_SVC_KEI_NO, (String) inMap.get("wrib_svc_kei_no"));
//		}
//
//		// 進捗登録マップ.異動区分 → 異動区分
//		if (inMap == null || inMap.get("ido_div") == null || "".equals(inMap.get("ido_div"))) {
//			template.setNull(EKK1091D010CBSMsg.IDO_DIV);
//		} else {
//			template.set(EKK1091D010CBSMsg.IDO_DIV, (String) inMap.get("ido_div"));
//		}
//
//		// 進捗登録マップ.異動年月日時分秒 → 異動年月日時分秒
//		if (inMap == null || inMap.get("ido_dtm") == null || "".equals(inMap.get("ido_dtm"))) {
//			template.setNull(EKK1091D010CBSMsg.IDO_DTM);
//		} else {
//			template.set(EKK1091D010CBSMsg.IDO_DTM, (String) inMap.get("ido_dtm"));
//		}
//
//		// 進捗登録マップ.進捗ステータス → 進捗ステータス
//		if (inMap == null || inMap.get("prg_stat") == null || "".equals(inMap.get("prg_stat"))) {
//			template.setNull(EKK1091D010CBSMsg.PRG_STAT);
//		} else {
//			template.set(EKK1091D010CBSMsg.PRG_STAT, (String) inMap.get("prg_stat"));
//		}
//
//		// 進捗登録マップ.進捗メモ → 進捗メモ
//		if (inMap == null || inMap.get("prg_memo") == null || "".equals(inMap.get("prg_memo"))) {
//			template.setNull(EKK1091D010CBSMsg.PRG_MEMO);
//		} else {
//			template.set(EKK1091D010CBSMsg.PRG_MEMO, (String) inMap.get("prg_memo"));
//		}
//
//		// 進捗登録マップ.進捗特記事項１ → 進捗特記事項１
//		if (inMap == null || inMap.get("prg_tkjk_1") == null || "".equals(inMap.get("prg_tkjk_1"))) {
//			template.setNull(EKK1091D010CBSMsg.PRG_TKJK_1);
//		} else {
//			template.set(EKK1091D010CBSMsg.PRG_TKJK_1, (String) inMap.get("prg_tkjk_1"));
//		}
//
//		// 進捗登録マップ.進捗特記事項２ → 進捗特記事項２
//		if (inMap == null || inMap.get("prg_tkjk_2") == null || "".equals(inMap.get("prg_tkjk_2"))) {
//			template.setNull(EKK1091D010CBSMsg.PRG_TKJK_2);
//		} else {
//			template.set(EKK1091D010CBSMsg.PRG_TKJK_2, (String) inMap.get("prg_tkjk_2"));
//		}
//
//		inList = (ArrayList)inMap.get("EKK1091D010CBSMsg1List");
//		templateArray = template.getCAANMsgList(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST);
//
//		if (templateArray == null) {
//			templateArray = new CAANMsg[inList.size()];
//		}
//
//		if (inList != null) {
//			for (int i = 0; i < inList.size(); i++) {
//				HashMap childMap = (HashMap)inList.get(i);
//
//				CAANMsg childTemplate = templateArray[i];
//				if (childTemplate == null) {
//					childTemplate = new CAANMsg(EKK1091D010CBSMsg1List.class.getName());
//				}
//				// 進捗登録マップ.異動理由明細.異動理由コード → 異動理由明細.異動理由コード
//				if (childMap == null || childMap.get("ido_rsn_cd") == null || "".equals(childMap.get("ido_rsn_cd"))) {
//					childTemplate.setNull(EKK1091D010CBSMsg1List.IDO_RSN_CD);
//				} else {
//					childTemplate.set(EKK1091D010CBSMsg1List.IDO_RSN_CD, (String) childMap.get("ido_rsn_cd"));
//				}
//
//				// 進捗登録マップ.異動理由明細.異動理由メモ → 異動理由明細.異動理由メモ
//				if (childMap == null || childMap.get("ido_rsn_memo") == null || "".equals(childMap.get("ido_rsn_memo"))) {
//					childTemplate.setNull(EKK1091D010CBSMsg1List.IDO_RSN_MEMO);
//				} else {
//					childTemplate.set(EKK1091D010CBSMsg1List.IDO_RSN_MEMO, (String) childMap.get("ido_rsn_memo"));
//				}
//
//				templateArray[i] = childTemplate;
//			}
//		}
//		template.set(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST, templateArray);
//
//		/** 手書き項目 **/
//
//		//申込明細番号
//		template.set(EKK1091D010CBSMsg.MSKM_DTL_NO, userData.get("mskm_dtl_no"));
//
//		/** 手書き項目 **/
//
//		CAANMsg[] templates = new CAANMsg[1];
//		templates[0] = template;
//		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);
//
//		return paramMap;
//	}
//	
//	/**
//	 *<DL>
//	 *<DT>処理概要:
//	 *<DD>サービスコンポーネント実行後に、IRequestParameterReadWriteに必要なデータをマッピングする（進捗登録）
//	 *<DT>入力パラメータ説明:
//	 *<DD>特になし
//	 *<DT>入力パラメータ説明：
//	 *<DD>特になし
//	 *<DT>出力パラメータ説明:
//	 *<DD>特になし
//	 *</DL>
//	 * @param msgList (I) CAANMsgクラス 
//	 * @param param (I) 業務データ取得・書込用I/F
//	 * @return 業務データ取得・書込用I/F
//	 * @since 2011.11.25
//	 */
//	@SuppressWarnings("unchecked")
//	private IRequestParameterReadWrite editResultRP_EKK1091D010CBS(Map<?, ?> msgList,
//			IRequestParameterReadWrite param, HashMap userData) throws Throwable
//	{
//		// SCからの戻り値からCAANMsgを取得する。
//		CAANMsg[] templates = (CAANMsg[]) msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
//		CAANMsg parentTemplate = templates[0];
//		CAANMsg[] templateArray = null;
//
//		// リターンコード取得
//		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);
//		
//		// 結果を詰めるマップを取得。
//		HashMap dataMap = null;
//		ArrayList dataList = null;
//
//		/* 業務データ設定 */
//		dataMap = (HashMap)userData.get("EKK1091D010");
//		if (dataMap == null) {
//			dataMap = new HashMap();
//			userData.put("EKK1091D010", dataMap);
//		}
//		// 進捗登録マップ.進捗番号 ← 進捗番号
//		if (parentTemplate.isNull(EKK1091D010CBSMsg.PRG_NO)) {
//			dataMap.put("prg_no", new String());
//		} else {
//			dataMap.put("prg_no", parentTemplate.getString(EKK1091D010CBSMsg.PRG_NO));
//		}
//
//		// 進捗登録マップ.進捗年月日時分秒 ← 進捗年月日時分秒
//		if (parentTemplate.isNull(EKK1091D010CBSMsg.PRG_DTM)) {
//			dataMap.put("prg_dtm", new String());
//		} else {
//			dataMap.put("prg_dtm", parentTemplate.getString(EKK1091D010CBSMsg.PRG_DTM));
//		}
//
//		// 進捗登録マップ.登録年月日時分秒 ← 登録年月日時分秒
//		if (parentTemplate.isNull(EKK1091D010CBSMsg.ADD_DTM)) {
//			dataMap.put("add_dtm", new String());
//		} else {
//			dataMap.put("add_dtm", parentTemplate.getString(EKK1091D010CBSMsg.ADD_DTM));
//		}
//
//		// 進捗登録マップ.登録オペレータアカウント ← 登録オペレータアカウント
//		if (parentTemplate.isNull(EKK1091D010CBSMsg.ADD_OPEACNT)) {
//			dataMap.put("add_opeacnt", new String());
//		} else {
//			dataMap.put("add_opeacnt", parentTemplate.getString(EKK1091D010CBSMsg.ADD_OPEACNT));
//		}
//
//		// 進捗登録マップ.更新年月日時分秒 ← 更新年月日時分秒
//		if (parentTemplate.isNull(EKK1091D010CBSMsg.UPD_DTM)) {
//			dataMap.put("upd_dtm", new String());
//		} else {
//			dataMap.put("upd_dtm", parentTemplate.getString(EKK1091D010CBSMsg.UPD_DTM));
//		}
//
//		// 進捗登録マップ.更新オペレータアカウント ← 更新オペレータアカウント
//		if (parentTemplate.isNull(EKK1091D010CBSMsg.UPD_OPEACNT)) {
//			dataMap.put("upd_opeacnt", new String());
//		} else {
//			dataMap.put("upd_opeacnt", parentTemplate.getString(EKK1091D010CBSMsg.UPD_OPEACNT));
//		}
//
//		// 進捗登録マップ.無効フラグ ← 無効フラグ
//		if (parentTemplate.isNull(EKK1091D010CBSMsg.MK_FLG)) {
//			dataMap.put("mk_flg", new String());
//		} else {
//			dataMap.put("mk_flg", parentTemplate.getString(EKK1091D010CBSMsg.MK_FLG));
//		}
//
//		templateArray = parentTemplate.getCAANMsgList(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST);
//		dataList = (ArrayList)dataMap.get("EKK1091D010CBSMsg1List");
//		  
//		if (dataList == null) {
//			dataList = new ArrayList();
//		}
//
//		if (templateArray != null) {
//			for (int i = 0; i < templateArray.length; i++) {
//				CAANMsg childTemplate = templateArray[i];
//				if ( i >= dataList.size()) {
//					dataList.add(new HashMap());
//				}
//				HashMap childMap = (HashMap)dataList.get(i);
//
//				
//				// 進捗登録マップ.異動理由明細.異動理由番号 ← 異動理由明細.異動理由番号
//				if (childTemplate.isNull(EKK1091D010CBSMsg1List.IDO_RSN_NO)) {
//					childMap.put("ido_rsn_no", new String());
//				} else {
//					childMap.put("ido_rsn_no", childTemplate.getString(EKK1091D010CBSMsg1List.IDO_RSN_NO));
//				}
//			}
//		}
//		dataMap.put("EKK1091D010CBSMsg1List", dataList);
//
//        
//        // エラー情報の設定
//        param = editErrorInfo_EKK1091D010CBS(param, templates, (Integer)return_code, userData);
//
//		//エラー情報のマップを取得
//		ArrayList<Object> errList = (ArrayList<Object>)param.getControlMapData(SCControlMapKeys.ERROR_INFO);
//		if(errList == null){
//			errList = new ArrayList<Object>();
//		}
//		// コントロールマップに設定
//		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(msgList, errList));
//        
//
//		return param;
//	}
//	/**
//	 *<DL>
//	 *<DT>処理概要:
//	 *<DD>サービスコンポーネント実行後に、IRequestParameterReadWriteにエラー情報をマッピングする（進捗登録）
//	 *<DT>入力パラメータ説明:
//	 *<DD>特になし
//	 *<DT>入力パラメータ説明：
//	 *<DD>特になし
//	 *<DT>出力パラメータ説明:
//	 *<DD>特になし
//	 *</DL>
//	 * @param param (I) 業務データ取得・書込用I/F
//	 * @param templates (I) CAANMsgクラス配列
//	 * @param returnCode (I) リターンコード
//	 * @return 業務データ取得・書込用I/F
//	 * @since 2011.11.25
//	 */
//	@SuppressWarnings("unchecked")
//	private IRequestParameterReadWrite editErrorInfo_EKK1091D010CBS(IRequestParameterReadWrite param,
//			CAANMsg[] templates, int returnCode, HashMap userData) throws Throwable
//	{
//		CAANMsg template = templates[0];
//		CAANMsg[] templateArray = null;
//		int templateStatus = template.getInt(EKK1091D010CBSMsg.STATUS);
//		if (returnCode != 0) {
//			templateStatus = 9000;
//		}
//		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null) {
//			templateStatus = 0;
//		}
//		
//		int bpStatus = 0;
//		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
//		if (obj == null) {
//			bpStatus = -1;
//		} else {
//			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
//		}
//
//		if (templateStatus > bpStatus) {
//			// BPにサービスコンポーネントのステータスを設定する。
//			String formatStatus = String.format("%1$04d", templateStatus);
//			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
//			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
//			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
//		}
//		
//		HashMap inMap = null;
//		ArrayList inList = null;
//		
//		/* ユーザデータ情報 */
//		inMap = (HashMap)param.getData("EKK1091D010");
//		if (inMap == null) {
//			inMap = new HashMap();
//			userData.put("EKK1091D010", inMap);
//		}
//		
//		// 進捗登録マップ.申込明細番号 → 申込明細番号 のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.MSKM_DTL_NO_ERR)) {
//			if (!inMap.containsKey("mskm_dtl_no_err")) {
//				inMap.put("mskm_dtl_no_err", template.getString(EKK1091D010CBSMsg.MSKM_DTL_NO_ERR));
//			}
//		}
//		// 進捗登録マップ.請求契約番号 → 請求契約番号 のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.SEIKY_KEI_NO_ERR)) {
//			if (!inMap.containsKey("seiky_kei_no_err")) {
//				inMap.put("seiky_kei_no_err", template.getString(EKK1091D010CBSMsg.SEIKY_KEI_NO_ERR));
//			}
//		}
//		// 進捗登録マップ.請求方法番号（口座） → 請求方法番号（口座） のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.SEIKY_WAY_NO_KOZA_ERR)) {
//			if (!inMap.containsKey("seiky_way_no_koza_err")) {
//				inMap.put("seiky_way_no_koza_err", template.getString(EKK1091D010CBSMsg.SEIKY_WAY_NO_KOZA_ERR));
//			}
//		}
//		// 進捗登録マップ.請求方法番号（クレジットカード） → 請求方法番号（クレジットカード） のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.SEIKY_WAY_NO_CRECARD_ERR)) {
//			if (!inMap.containsKey("seiky_way_no_crecard_err")) {
//				inMap.put("seiky_way_no_crecard_err", template.getString(EKK1091D010CBSMsg.SEIKY_WAY_NO_CRECARD_ERR));
//			}
//		}
//		// 進捗登録マップ.サービス契約番号 → サービス契約番号 のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.SVC_KEI_NO_ERR)) {
//			if (!inMap.containsKey("svc_kei_no_err")) {
//				inMap.put("svc_kei_no_err", template.getString(EKK1091D010CBSMsg.SVC_KEI_NO_ERR));
//			}
//		}
//		// 進捗登録マップ.サービス契約内訳番号 → サービス契約内訳番号 のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.SVC_KEI_UCWK_NO_ERR)) {
//			if (!inMap.containsKey("svc_kei_ucwk_no_err")) {
//				inMap.put("svc_kei_ucwk_no_err", template.getString(EKK1091D010CBSMsg.SVC_KEI_UCWK_NO_ERR));
//			}
//		}
//		// 進捗登録マップ.サービス契約回線内訳番号 → サービス契約回線内訳番号 のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO_ERR)) {
//			if (!inMap.containsKey("svc_kei_kaisen_ucwk_no_err")) {
//				inMap.put("svc_kei_kaisen_ucwk_no_err", template.getString(EKK1091D010CBSMsg.SVC_KEI_KAISEN_UCWK_NO_ERR));
//			}
//		}
//		// 進捗登録マップ.機器提供サービス契約番号 → 機器提供サービス契約番号 のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.KKTK_SVC_KEI_NO_ERR)) {
//			if (!inMap.containsKey("kktk_svc_kei_no_err")) {
//				inMap.put("kktk_svc_kei_no_err", template.getString(EKK1091D010CBSMsg.KKTK_SVC_KEI_NO_ERR));
//			}
//		}
//		// 進捗登録マップ.オプションサービス契約番号 → オプションサービス契約番号 のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.OP_SVC_KEI_NO_ERR)) {
//			if (!inMap.containsKey("op_svc_kei_no_err")) {
//				inMap.put("op_svc_kei_no_err", template.getString(EKK1091D010CBSMsg.OP_SVC_KEI_NO_ERR));
//			}
//		}
//		// 進捗登録マップ.請求オプションサービス契約番号 → 請求オプションサービス契約番号 のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.SEIOPSVC_KEI_NO_ERR)) {
//			if (!inMap.containsKey("seiopsvc_kei_no_err")) {
//				inMap.put("seiopsvc_kei_no_err", template.getString(EKK1091D010CBSMsg.SEIOPSVC_KEI_NO_ERR));
//			}
//		}
//		// 進捗登録マップ.サブオプションサービス契約番号 → サブオプションサービス契約番号 のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.SBOP_SVC_KEI_NO_ERR)) {
//			if (!inMap.containsKey("sbop_svc_kei_no_err")) {
//				inMap.put("sbop_svc_kei_no_err", template.getString(EKK1091D010CBSMsg.SBOP_SVC_KEI_NO_ERR));
//			}
//		}
//		// 進捗登録マップ.割引サービス契約番号 → 割引サービス契約番号 のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.WRIB_SVC_KEI_NO_ERR)) {
//			if (!inMap.containsKey("wrib_svc_kei_no_err")) {
//				inMap.put("wrib_svc_kei_no_err", template.getString(EKK1091D010CBSMsg.WRIB_SVC_KEI_NO_ERR));
//			}
//		}
//		// 進捗登録マップ.異動区分 → 異動区分 のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.IDO_DIV_ERR)) {
//			if (!inMap.containsKey("ido_div_err")) {
//				inMap.put("ido_div_err", template.getString(EKK1091D010CBSMsg.IDO_DIV_ERR));
//			}
//		}
//		// 進捗登録マップ.異動年月日時分秒 → 異動年月日時分秒 のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.IDO_DTM_ERR)) {
//			if (!inMap.containsKey("ido_dtm_err")) {
//				inMap.put("ido_dtm_err", template.getString(EKK1091D010CBSMsg.IDO_DTM_ERR));
//			}
//		}
//		// 進捗登録マップ.進捗ステータス → 進捗ステータス のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.PRG_STAT_ERR)) {
//			if (!inMap.containsKey("prg_stat_err")) {
//				inMap.put("prg_stat_err", template.getString(EKK1091D010CBSMsg.PRG_STAT_ERR));
//			}
//		}
//		// 進捗登録マップ.進捗メモ → 進捗メモ のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.PRG_MEMO_ERR)) {
//			if (!inMap.containsKey("prg_memo_err")) {
//				inMap.put("prg_memo_err", template.getString(EKK1091D010CBSMsg.PRG_MEMO_ERR));
//			}
//		}
//		// 進捗登録マップ.進捗特記事項１ → 進捗特記事項１ のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.PRG_TKJK_1_ERR)) {
//			if (!inMap.containsKey("prg_tkjk_1_err")) {
//				inMap.put("prg_tkjk_1_err", template.getString(EKK1091D010CBSMsg.PRG_TKJK_1_ERR));
//			}
//		}
//		// 進捗登録マップ.進捗特記事項２ → 進捗特記事項２ のエラー情報返却
//		if (!template.isNull(EKK1091D010CBSMsg.PRG_TKJK_2_ERR)) {
//			if (!inMap.containsKey("prg_tkjk_2_err")) {
//				inMap.put("prg_tkjk_2_err", template.getString(EKK1091D010CBSMsg.PRG_TKJK_2_ERR));
//			}
//		}
//		inList = (ArrayList)inMap.get("EKK1091D010CBSMsg1List");
//		if (inList == null) {
//			inList = new ArrayList();
//			inMap.put("EKK1091D010CBSMsg1List", inList);
//		}
//
//		templateArray = template.getCAANMsgList(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST);
//
//		if (templateArray != null) {
//			for (int i = 0; i < templateArray.length; i++) {
//				if (i >= inList.size()) {
//					inList.add(new HashMap());
//				}
//			
//				HashMap childMap = (HashMap)inList.get(i);
//				CAANMsg childTemplate = templateArray[i];
//
//				// 進捗登録マップ.異動理由明細.異動理由コード → 異動理由明細.異動理由コード のエラー情報返却
//				if (!childTemplate.isNull(EKK1091D010CBSMsg1List.IDO_RSN_CD_ERR)) {
//					if (!childMap.containsKey("ido_rsn_cd_err")) {
//						childMap.put("ido_rsn_cd_err", childTemplate.getString(EKK1091D010CBSMsg1List.IDO_RSN_CD_ERR));
//					}
//				}
//				// 進捗登録マップ.異動理由明細.異動理由メモ → 異動理由明細.異動理由メモ のエラー情報返却
//				if (!childTemplate.isNull(EKK1091D010CBSMsg1List.IDO_RSN_MEMO_ERR)) {
//					if (!childMap.containsKey("ido_rsn_memo_err")) {
//						childMap.put("ido_rsn_memo_err", childTemplate.getString(EKK1091D010CBSMsg1List.IDO_RSN_MEMO_ERR));
//					}
//				}
//			}
//		}
//		if (!template.isNull(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST_ERR)) {
//			if (!inMap.containsKey("EKK1091D010CBSMsg1List_err")) {
//				inMap.put("EKK1091D010CBSMsg1List_err", template.getString(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST_ERR));
//			}
//		}
//		return param;
//	}
}
