/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JKKWrisvcHktgiSetCCMapper
*   ソースファイル名：JKKWrisvcHktgiSetCCMapper.java
*   作成者          ：FJ
*   日付            ：2012年09月21日
*＜機能概要＞
*   割引サービスの引継設定CCのCC_SCマッピングクラスを行う。
*＜修正履歴＞
*   バージョン  修正日      修正者      修正内容
*	v4.00.00	2012/09/18	FJ			新規作成
*	v4.00.01	2012/11/06   富士通		SEP-0020-00-00
*	v4.00.02	2012/11/29   富士通		IT1-2012-0002276
*	v4.00.03	2012/12/04   富士通		IT1-2012-0002298 システム日付対応
*	v4.00.04	2013/01/10   富士通		IT1-2013-0000038 異動年月日時分秒対応
*	v6.00.00	2013/12/22   富士通		OM-2013-0005053
*
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.Arrays;
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.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.exception.SCCallException;
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 com.fujitsu.futurity.model.ejb.common.JSYejbLog;

import eo.ejb.cbs.cbsmsg.ECH0501B010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0011D020CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0011D020CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0021C060CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0091A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451B005CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451C020CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451C030CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451C070CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451C200CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451C200CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0451D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0451D010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0481B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0841A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1091D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK1091D010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK2361A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2361B010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK2361C020CBSMsg;

/**
 * 割引サービス引継設定ＣＣ　CC-SCマッピングクラス
 * 
 * @author 富士通
 */
public class JKKWrisvcHktgiSetCCMapper
{
	/** サービス契約＜eo光ネット＞一意照会 */
	private static final String EKK0091A010 = "EKK0091A010";
	/** 割引サービス対象契約一覧照会 */
	private static final String EKK0481B001 = "EKK0481B001";
	/** 割引サービス契約一意照会 */
	private static final String EKK0451A010 = "EKK0451A010";
	/** 割引サービス一意照会 */
	private static final String EKK0841A010 = "EKK0841A010";
	/** 割引サービス契約内訳一覧照会 */
	private static final String EKK2361B010 = "EKK2361B010";
	/** オプションサービス契約一覧照会（サービス契約番号） */
	private static final String EKK0351B002 = "EKK0351B002";
	/** 申込内容承認登録 */
	private static final String EKK0011D020 = "EKK0011D020";
	/** 申込明細照査・後続業務依頼 */
	private static final String EKK0021C060 = "EKK0021C060";
	/** 割引サービス契約解約 */
	private static final String EKK0451C020 = "EKK0451C020";
	/** 割引サービス契約解約確定 */
	private static final String EKK0451C030 = "EKK0451C030";
	/** 割引サービス契約キャンセル */
	private static final String EKK0451C070 = "EKK0451C070";
	/** 割引サービス契約 */
	private static final String EKK0451D010 = "EKK0451D010";
	/** 割引サービス契約＜値引型＞開始 */
	private static final String EKK0451C200 = "EKK0451C200";
	/** 進捗登録 */
	private static final String EKK1091D010 = "EKK1091D010";
	/** サービス契約一意照会 */
	private static final String EKK0081A010 = "EKK0081A010";
	/** オプションサービス契約一意照会 */
	private static final String EKK0351A010 = "EKK0351A010";
	/** 機器提供サービス契約一意照会 */
	private static final String EKK0341A010 = "EKK0341A010";
// v6.00.00 Add Start
	/** 割引サービス契約内訳一意照会 */
	private static final String EKK2361A010 = "EKK2361A010";
	/** 割引サービス契約内訳割引適用回数更新 */
	private static final String EKK2361C020 = "EKK2361C020";
	/** 料金スケジュール定義一覧照会 */
	private static final String ECH0501B010 = "ECH0501B010";
// v6.00.00 Add End

	/* ----------------------------------------
	 * フィールド変数
	 * ---------------------------------------- */
	/** SC呼び出し部品 */
	private ServiceComponentRequestInvoker scCall = null;

	/** セッションハンドル */
	private SessionHandle handle = null;
	/** 業務データ取得用I/F */
	private IRequestParameterReadWrite param = null;
	
	/** オンライン運用日付 */
	private String opeDate = null;
	
	/**
	 * コンストラクタです。<BR>
	 * <BR>
	 * フィールド変数の値を設定します。
	 * 
	 * @param iCmnHandle セッションハンドル
	 * @param iCmnParam 業務データ取得用I/F
	 * @param iOpeDate オンライン運用日付
	 */
	public JKKWrisvcHktgiSetCCMapper(SessionHandle iCmnHandle,
										IRequestParameterReadWrite iCmnParam,
										String iOpeDate)
	{
		this.handle = iCmnHandle;
		this.param = iCmnParam;
		this.opeDate = iOpeDate;
		this.scCall = new ServiceComponentRequestInvoker();
	}

	/**
	 * デバッグログを出力します。<BR>
	 * 
	 * @param dumpObj 出力するオブジェクト
	 */
	private void printlnEjbLog(Object dumpObj)
	{
		JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), dumpObj, null, null, null);
	}
	
	/**
	 * 持ちうるフィールドに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呼出時の共通情報を設定する
	 * <br>
	 * @param template 条件の設定先
	 * @throws Throwable
	 */
	private void templateCommonInfo(CAANMsg template) throws Throwable
	{
		// オペレータID
		Object operatorId = this.param.getControlMapData(SCControlMapKeys.OPERATOR_ID);
		template.set(JCMConstants.OPERATOR_ID_KEY, operatorId);

		// 運用日付
		Object operateDate = this.param.getControlMapData(SCControlMapKeys.OPE_DATE);
		template.set(JCMConstants.OPERATE_DATE_KEY, operateDate);

		// 運用日時
		Object operateDateTime = this.param.getControlMapData(SCControlMapKeys.OPE_TIME);
		template.set(JCMConstants.OPERATE_DATETIME_KEY, operateDateTime);
	}
	
	/**
	 * SCインプット共通データ設定処理です。
	 * <br>
	 * @param inMap
	 * @return パラメータマップ
	 * @throws Throwable
	 */
	private HashMap<String, Object> setSCInputCommonData(HashMap<String, Object> inMap) throws Throwable
	{
		/* SCインプット共通データ */
		// **********************************************
		// 【取得元：電文ヘッダ(ヘッダ)】
		// **********************************************
		// 電文ID
		inMap.put(JCMConstants.TRANZACTION_ID_KEY, this.param.getTelegramID());
		// ユースケースID
		inMap.put(JCMConstants.USECASE_ID_KEY, this.param.getUsecaseID());
		// オペレーションID
		inMap.put(JCMConstants.OPERATION_ID_KEY, this.param.getOperationID());
		// サービス呼び出し区分
		inMap.put(JCMConstants.CALL_TYPE_KEY, this.param.getCallType());

		// **********************************************
		// 【取得元：ユーザエリア(コントロールマップ)】
		// **********************************************
		// 依頼先ホスト名
		inMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, this.param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// 依頼元IPアドレス
		inMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, this.param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// 依頼元画面ID
		inMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, this.param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// オペレータID
		inMap.put(JCMConstants.OPERATOR_ID_KEY, this.param.getControlMapData(SCControlMapKeys.OPERATOR_ID));

		return inMap;
	}

	/**
	 * 呼び出したサービスIFの処理結果を判定します。
	 * 
	 * @param result
	 * @throws Throwable
	 */
	private void checkExecutionResult(Map<?, ?> result) throws Throwable
	{
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = result.get(JCMConstants.RET_CD_INT_KEY).toString();
		CAANMsg[] templates = (CAANMsg[])result.get(JCMConstants.TEMPLATE_LIST_KEY);
		Integer status = templates[0].getInt(JCMConstants.STATUS_INT_KEY);
		
		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status.intValue()))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}
	}
	
	/**
	 * サービスIFの結果を取得する。
	 * @param rsltMap サービスIFリスト
	 * @return templateList 結果が格納されたリスト
	 * @throws Throwable 
	 */
	private ArrayList<CAANMsg> getRsltList(Map<?, ?> rsltMap)
	{
		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])rsltMap.get(JCMConstants.TEMPLATE_LIST_KEY);
		ArrayList<CAANMsg> resultList = new ArrayList<CAANMsg>(Arrays.asList(templates));
		return resultList;
	}
	
	/**
	 * サービスコンポーネント実行後に、IRequestParameterReadWriteに必要なデータをマッピングする
	 * @param param 
	 * @param mapName 
	 * @return templateList 結果が格納されたリスト
	 * @throws Throwable 
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite editResultRP(Map<?, ?> msgList, IRequestParameterReadWrite param, String mapName) throws Throwable
	{
		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[]) msgList.get(JCMConstants.TEMPLATE_LIST_KEY);

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);
		
		// 作業領域の取得
		Map workMap = (Map)param.getMappingWorkArea();
		if (workMap == null) {
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}
		
		// 結果を詰めるマップを取得。
		HashMap dataMap = null;

		/* 業務データ設定 */
		dataMap = (HashMap)param.getData(mapName);
		if (dataMap == null) {
			dataMap = new HashMap();
			param.setData(mapName, dataMap);
		}

		// エラー情報の設定
		param = editErrorInfo(param, templates, (Integer)return_code, mapName);

		//エラー情報のマップを取得
		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;
	}

	/**
	 * サービス契約＜eo光ネット＞一意照会サービスIFを呼び出す。
	 * 
	 * @param svcKeiNo サービス契約番号
	 * @return true:eo光ネットである　false：eo光ネットでない
	 * @throws Throwable
	 */
	public boolean callEKK0091A010(String svcKeiNo) throws Throwable
	{
		printlnEjbLog("callEKK0091A010 start");
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// サービス契約＜eo光ネット＞一意照会サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0091A010CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0091A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0091A010CBSMsg.TEMPLATEID, EKK0091A010);
		// 機能コード
		template.set(EKK0091A010CBSMsg.FUNC_CODE, "2");

		// ◇ 業務データの設定
		// サービス契約マップ.サービス契約番号 → サービス契約＜eo光ネット＞一意照会.ＫＥＹ＿サービス契約番号
		template.set(EKK0091A010CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		printlnEjbLog("inMap=" + inMap.toString());
		printlnEjbLog("handle=" + handle.toString());
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
        // エラー情報の設定
		this.param = editResultRP(result, param, EKK0091A010);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0091List = getRsltList(result);
		
		CAANMsg kk0091 = kk0091List.get(0);
		CAANMsg[] ret = kk0091.getCAANMsgList(EKK0091A010CBSMsg.EKK0091A010CBSMSG1LIST);
		
		printlnEjbLog("callEKK0091A010 end");
		if(ret == null || ret.length == 0)
		{
			return false;
		}
		
		return true;
	}
	
	/** 割引サービス対象契約を検索時、サービス契約番号で行う */
	public static int typeSvcKeiNo = 1;
	/** 割引サービス対象契約を検索時、割引サービス契約番号で行う */
	public static int typeWribSvcKeiNo = 2;
	/**
	 * 割引サービス対象契約一覧照会サービスIFを呼び出す。
	 * 
	 * @param type 
	 * @param svcKeiNo サービス契約番号
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg[] callEKK0481B001(int type, String svcNo) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// 割引サービス対象契約一覧照会サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0481B001CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0481B001CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0481B001CBSMsg.TEMPLATEID, EKK0481B001);
		// 機能コード
		template.set(EKK0481B001CBSMsg.FUNC_CODE, "1");

		// ◇ 業務データの設定
		if (typeSvcKeiNo == type)
		{
			// ＫＥＹ＿サービス契約番号
			template.set(EKK0481B001CBSMsg.KEY_SVC_KEI_NO, svcNo);
		}
		else
		{
			// ＫＥＹ＿割引サービス契約番号
			template.set(EKK0481B001CBSMsg.KEY_WRIB_SVC_KEI_NO, svcNo);
		}

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
        // エラー情報の設定
		this.param = editResultRP(result, param, EKK0481B001);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0481List = getRsltList(result);
		
		CAANMsg kk0481 = kk0481List.get(0);
		CAANMsg[] ret = kk0481.getCAANMsgList(EKK0481B001CBSMsg.EKK0481B001CBSMSG1LIST);
		
		return ret;
	}
	
	
	/**
	 * 割引サービス契約一意照会サービスIFを呼び出す。
	 * 
	 * @param wribSvcKeiNo 割引サービス契約番号
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg callEKK0451A010(String wribSvcKeiNo) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// 割引サービス契約一意照会サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0451A010CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0451A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0451A010CBSMsg.TEMPLATEID, EKK0451A010);
		// 機能コード
		template.set(EKK0451A010CBSMsg.FUNC_CODE, "2");

		// ◇ 業務データの設定
		// ＫＥＹ＿割引サービス契約番号
		template.set(EKK0451A010CBSMsg.KEY_WRIB_SVC_KEI_NO, wribSvcKeiNo);
		// ＫＥＹ＿予約適用年月日
		template.set(EKK0451A010CBSMsg.KEY_RSV_APLY_YMD, this.opeDate);

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
		// エラー情報の設定
		this.param = editResultRP(result, param, EKK0451A010);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0451List = getRsltList(result);
		
		CAANMsg kk0451 = kk0451List.get(0);
		CAANMsg[] ret = kk0451.getCAANMsgList(EKK0451A010CBSMsg.EKK0451A010CBSMSG1LIST);
		
		return ret[0];
	}

	/**
	 * 割引サービス一意照会サービスIFを呼び出す。
	 * 
	 * @param wribSvcCd 割引サービスコード
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg callEKK0841A010(String wribSvcCd) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// 割引サービス一意照会サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0841A010CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0841A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0841A010CBSMsg.TEMPLATEID, EKK0841A010);
		// 機能コード
		template.set(EKK0841A010CBSMsg.FUNC_CODE, "2");

		// ◇ 業務データの設定
		// ＫＥＹ＿割引サービスコード
		template.set(EKK0841A010CBSMsg.KEY_WRIB_SVC_CD, wribSvcCd);
		// ＫＥＹ＿予約適用年月日
		template.set(EKK0841A010CBSMsg.KEY_RSV_APLY_YMD, this.opeDate);

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
        // エラー情報の設定
		this.param = editResultRP(result, param, EKK0841A010);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0841List = getRsltList(result);
		
		CAANMsg kk0841 = kk0841List.get(0);
		CAANMsg[] ret = kk0841.getCAANMsgList(EKK0841A010CBSMsg.EKK0841A010CBSMSG1LIST);
		
		return ret[0];
	}

	/**
	 * オプションサービス契約一覧照会（サービス契約番号）サービスIFを呼び出す。
	 * 
	 * @param wribSvcKeiNo サービス契約番号
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg[] callEKK0351B002(String svcKeiNo) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// オプションサービス契約一覧照会（サービス契約番号）サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0351B002CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0351B002CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0351B002CBSMsg.TEMPLATEID, EKK0351B002);
		// 機能コード
		template.set(EKK0351B002CBSMsg.FUNC_CODE, "1");

		// ◇ 業務データの設定
		// ＫＥＹ＿サービス契約番号
		template.set(EKK0351B002CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
        // エラー情報の設定
		this.param = editResultRP(result, param, EKK0351B002);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0351List = getRsltList(result);
		
		CAANMsg kk0351 = kk0351List.get(0);
		CAANMsg[] opSvcKei = kk0351.getCAANMsgList(EKK0351B002CBSMsg.EKK0351B002CBSMSG1LIST);
		
		return opSvcKei;
	}

	/**
	 * 割引サービス契約内訳一覧照会サービスIFを呼び出す。
	 * 
	 * @param wribSvcCd 割引サービスコード
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg[] callEKK2361B010(String wribSvcCd) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		//割引サービス契約内訳一覧照会サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK2361B010CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK2361B010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK2361B010CBSMsg.TEMPLATEID, EKK2361B010);
		// 機能コード
		template.set(EKK2361B010CBSMsg.FUNC_CODE, "1");

		// ◇ 業務データの設定
		// ＫＥＹ＿割引サービス契約番号
		template.set(EKK2361B010CBSMsg.KEY_WRIB_SVC_KEI_NO, wribSvcCd);

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
        // エラー情報の設定
		this.param = editResultRP(result, param, EKK2361B010);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk2361List = getRsltList(result);
		
		CAANMsg kk2361 = kk2361List.get(0);
		CAANMsg[] wrisvcKeiUcwk = kk2361.getCAANMsgList(EKK2361B010CBSMsg.EKK2361B010CBSMSG1LIST);
		
		return wrisvcKeiUcwk;
	}

	/**
	 * 申込内容承認登録サービスIFを呼び出す。
	 * 
	 * @param sysid 
	 * @param mskmSbtCd 
	 * @param consmbsnMskmStatSkbtCd 
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg callEKK0011D020(String sysid, String mskmSbtCd, String consmbsnMskmStatSkbtCd) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// 申込登録サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0011D020CBSMsg.class.getName());
		CAANMsg mskmDtl = new CAANMsg(EKK0011D020CBSMsg1List.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0011D020CBSMsg().getContents());
		fillCAANMSGNullMapping(mskmDtl, new EKK0011D020CBSMsg1List().getContents());

		// テンプレートID
		template.set(EKK0011D020CBSMsg.TEMPLATEID, EKK0011D020);
		// 機能コード
		template.set(EKK0011D020CBSMsg.FUNC_CODE, "1");

		// ◇ 業務データの設定
		// SYSID
		template.set(EKK0011D020CBSMsg.SYSID, sysid);
		// 申込種別コード
		template.set(EKK0011D020CBSMsg.MSKM_SBT_CD, mskmSbtCd);
		// 申込受付年月日時分秒
		// IT1-2012-0002298 MOD START
		//template.set(EKK0011D020CBSMsg.MSKM_UK_DTM, JCCBPCommon.getSysDateTimeStamp());
		template.set(EKK0011D020CBSMsg.MSKM_UK_DTM, JCCBPCommon.getOpeDateTimeStamp(null));
		// IT1-2012-0002298 MOD END
		// 申込年月日
		template.set(EKK0011D020CBSMsg.MSKM_YMD, opeDate);
		// コンシューマ営業用申込状態識別コード
		template.set(EKK0011D020CBSMsg.CONSMBSN_MSKM_STAT_SKBT_CD, consmbsnMskmStatSkbtCd);
		// 申込明細
		template.set(EKK0011D020CBSMsg.EKK0011D020CBSMSG1LIST, new CAANMsg[] { mskmDtl });

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
        // エラー情報の設定
		this.param = editResultRP(result, param, EKK0011D020);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0011List = getRsltList(result);
		
		CAANMsg kk0011 = kk0011List.get(0);
		
		return kk0011;
	}

	/**
	 * 申込明細照査・後続業務依頼サービスIFを呼び出す。
	 * 
	 * @param mskmDtlNo
	 * @param updDtmBf
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg callEKK0021C060(String mskmDtlNo, String updDtmBf) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// 申込明細照査・後続業務依頼サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0021C060CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0021C060CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0021C060CBSMsg.TEMPLATEID, EKK0021C060);
		// 機能コード
		template.set(EKK0021C060CBSMsg.FUNC_CODE, "1");

		// ◇ 業務データの設定
		// 申込明細
		template.set(EKK0021C060CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// 後続業務依頼年月日
		template.set(EKK0021C060CBSMsg.KZKWRK_REQYMD, opeDate);
		// 更新年月日時分秒(更新前)
		template.set(EKK0021C060CBSMsg.UPD_DTM_BF, updDtmBf);

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
        // エラー情報の設定
		this.param = editResultRP(result, param, EKK0021C060);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0021List = getRsltList(result);
		
		CAANMsg kk0021 = kk0021List.get(0);
		
		return kk0021;
	}
	
	/** サービス契約番号 */
	public static final int TYPE_1 = 1;
	/** オプションサービス契約番号 */
	public static final int TYPE_2 = 2;
	/** 機器提供契約番号 */
	public static final int TYPE_3 = 3;
	/** 割引サービス契約番号 */
	public static final int TYPE_4 = 4;
	/**
	 * 進捗登録サービスIFを呼び出す。
	 * 
	 * @param mskmDtlNo
	 * @param wribsvcTgKei
	 * @param idoDiv
	 * @param prgStat
	 * @param idoRsnCd
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg callEKK1091D010(String mskmDtlNo,
										int type,
										String svcKeiNo,
										String keiNo,
										String idoDiv,
										String prgStat,
										String idoRsnCd) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// 進捗登録サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK1091D010CBSMsg.class.getName());
		CAANMsg idoRsn = new CAANMsg(EKK1091D010CBSMsg1List.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK1091D010CBSMsg().getContents());
		fillCAANMSGNullMapping(idoRsn, new EKK1091D010CBSMsg1List().getContents());

		// テンプレートID
		template.set(EKK1091D010CBSMsg.TEMPLATEID, EKK1091D010);
		// 機能コード
		template.set(EKK1091D010CBSMsg.FUNC_CODE, "1");

		// ◇ 業務データの設定
		// 申込明細番号
		template.set(EKK1091D010CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// サービス契約番号
		template.set(EKK1091D010CBSMsg.SVC_KEI_NO, svcKeiNo);
		if (TYPE_2 == type)
		{
			// オプションサービス契約番号
			template.set(EKK1091D010CBSMsg.OP_SVC_KEI_NO, keiNo);
		}
		else if (TYPE_3 == type)
		{
			// 機器提供サービス契約番号
			template.set(EKK1091D010CBSMsg.KKTK_SVC_KEI_NO, keiNo);
		}
		else if (TYPE_4 == type)
		{
			// 割引サービス契約番号
			template.set(EKK1091D010CBSMsg.WRIB_SVC_KEI_NO, keiNo);
		}
		else
		{
			// 処理なし
		}
		// 異動区分
		template.set(EKK1091D010CBSMsg.IDO_DIV, idoDiv);
		
// ++++++++++++++ 2013/01/10 v4.14.00 変更開始 ++++++++++++++++ //
//		// 異動年月日時分秒
//		template.set(EKK1091D010CBSMsg.IDO_DTM, JCCBPCommon.getOpeDateTimeStamp(null));
		
		// 異動年月日時分秒
		template.set(EKK1091D010CBSMsg.IDO_DTM, JCCBPCommon.getSysDateTimeStamp());
		
// ++++++++++++++ 2013/01/10 v4.14.00 変更開始 ++++++++++++++++ //
		
		
		// 進捗ステータス
		template.set(EKK1091D010CBSMsg.PRG_STAT, prgStat);
		// 進捗年月日時分秒
		template.set(EKK1091D010CBSMsg.PRG_DTM, JCCBPCommon.getOpeDateTimeStamp(null));
		
		idoRsn.set(EKK1091D010CBSMsg1List.IDO_RSN_CD, idoRsnCd);
		// 異動理由
		template.set(EKK1091D010CBSMsg.EKK1091D010CBSMSG1LIST, new CAANMsg[] { idoRsn });

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
        // エラー情報の設定
		this.param = editResultRP(result, param, EKK1091D010);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk1091List = getRsltList(result);
		
		CAANMsg kk1091 = kk1091List.get(0);
		
		return kk1091;
	}

	/**
	 * 割引サービス契約解約サービスIFを呼び出す。
	 * 
	 * @param wribSvcKeiNo
	 * @param mskmDtlNo
	 * @param svcDlreCd
	 * @param idoDiv
	 * @param wribDslCnclOptyCd
	 * @param updDtmBf
	 * @param svcChrgStaymd
	 * @param autoCnt
	 * @return 
	 * @throws Throwable
	 */
// SEP-0020-00-00 MOD Start
//	public CAANMsg callEKK0451C020(String wribSvcKeiNo,
//										String mskmDtlNo,
//										String svcDlreCd,
//										String idoDiv,
//										String wribDslCnclOptyCd,
//										String updDtmBf) throws Throwable
//	{
// v6.00.00 MOD Start
//	public CAANMsg callEKK0451C020(String wribSvcKeiNo,
//			String mskmDtlNo,
//			String svcDlreCd,
//			String idoDiv,
//			String wribDslCnclOptyCd,
//			String updDtmBf,
//			String svcChrgStaymd,
//			String autoCnt) throws Throwable
//	{
	public CAANMsg callEKK0451C020(String wribSvcKeiNo,
			String mskmDtlNo,
			String svcDlreCd,
			String idoDiv,
			String wribDslCnclOptyCd,
			String updDtmBf,
			String svcChrgStaymd,
			String autoCnt,
			String svcChrgEndYmd) throws Throwable
	{
// v6.00.00 MOD End
// SEP-0020-00-00 MOD End

		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// 割引サービス契約解約サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0451C020CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0451C020CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0451C020CBSMsg.TEMPLATEID, EKK0451C020);
		// 機能コード
		template.set(EKK0451C020CBSMsg.FUNC_CODE, "1");

		// ◇ 業務データの設定
		// 割引サービス契約番号
		template.set(EKK0451C020CBSMsg.WRIB_SVC_KEI_NO, wribSvcKeiNo);
		// 申込明細番号
		template.set(EKK0451C020CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// サービス終了年月日
		template.set(EKK0451C020CBSMsg.SVC_ENDYMD, this.opeDate);
// v6.00.00 DEL Start
//		// サービス課金終了年月日
//		template.set(EKK0451C020CBSMsg.SVC_CHRG_ENDYMD, this.opeDate);
// v6.00.00 DEL End
		// サービス解約年月日
		template.set(EKK0451C020CBSMsg.SVC_DSL_YMD, this.opeDate);
		// サービス解約理由コード
		template.set(EKK0451C020CBSMsg.SVC_DLRE_CD, svcDlreCd);
		// 異動区分
		template.set(EKK0451C020CBSMsg.IDO_DIV, idoDiv);
		// 割引解約キャンセル契機コード
		template.set(EKK0451C020CBSMsg.WRIB_DSL_CNCL_OPTY_CD, wribDslCnclOptyCd);
		// 更新年月日時分秒(更新前)
		template.set(EKK0451C020CBSMsg.UPD_DTM_BF, updDtmBf);
		
// SEP-0020-00-00 ADD Start
		// サービス課金開始年月日
		template.set(EKK0451C020CBSMsg.SVC_CHRG_STAYMD, svcChrgStaymd);
		// サービス課金終了年月日算出フラグ
		template.set(EKK0451C020CBSMsg.SVC_CHRG_ENDYMD_FLG, autoCnt);
// SEP-0020-00-00 ADD End
// v6.00.00 ADD Start
		template.set(EKK0451C020CBSMsg.SVC_CHRG_ENDYMD, svcChrgEndYmd);
// v6.00.00 ADD End

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
        // エラー情報の設定
		this.param = editResultRP(result, param, EKK0451C020);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0451List = getRsltList(result);
		
		CAANMsg kk0451 = kk0451List.get(0);
		
		return kk0451;
	}

	/**
	 * 割引サービス契約解約確定サービスIFを呼び出す。
	 * 
	 * @param wribSvcKeiNo
	 * @param geneAddDtm
	 * @param svcDlreCd
	 * @param updDtmBf
	 * @param svcChrgEndYmdO
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg callEKK0451C030(String wribSvcKeiNo,
										String geneAddDtm,
										String svcDlreCd,
										String updDtmBf,
										String svcChrgEndYmdO) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// 割引サービス契約解約確定サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0451C030CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0451C030CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0451C030CBSMsg.TEMPLATEID, EKK0451C030);
		// 機能コード
		template.set(EKK0451C030CBSMsg.FUNC_CODE, "1");

		// ◇ 業務データの設定
		// 割引サービス契約番号
		template.set(EKK0451C030CBSMsg.WRIB_SVC_KEI_NO, wribSvcKeiNo);
		// 世代登録年月日時分秒
		template.set(EKK0451C030CBSMsg.GENE_ADD_DTM, geneAddDtm);
		// サービス終了年月日
		template.set(EKK0451C030CBSMsg.SVC_ENDYMD, this.opeDate);
		// サービス課金終了年月日
		template.set(EKK0451C030CBSMsg.SVC_CHRG_ENDYMD, svcChrgEndYmdO);
		// サービス解約年月日
		template.set(EKK0451C030CBSMsg.SVC_DSL_YMD, this.opeDate);
		// サービス解約理由コード
		template.set(EKK0451C030CBSMsg.SVC_DLRE_CD, svcDlreCd);
		// 更新年月日時分秒(更新前)
		template.set(EKK0451C030CBSMsg.UPD_DTM_BF, updDtmBf);

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
        // エラー情報の設定
		this.param = editResultRP(result, param, EKK0451C030);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0451List = getRsltList(result);
		
		CAANMsg kk0451 = kk0451List.get(0);
		
		return kk0451;
	}

	/**
	 * 割引サービス契約登録サービスIFを呼び出す。
	 * 
	 * @param wribSvcKeiInfo
	 * @param wribsvcTgKeiList
	 * @param wrisvcKeiUcwkList
	 * @param mskmDtlNo
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg callEKK0451D010(HashMap<String, Object> wribSvcKeiInfo,
									ArrayList<HashMap<String, Object>> wribsvcTgKeiList,
									String mskmDtlNo,
									String updDtmBf) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// 割引サービス契約解約確定サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0451D010CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0451D010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0451D010CBSMsg.TEMPLATEID, EKK0451D010);
		// 機能コード
		template.set(EKK0451D010CBSMsg.FUNC_CODE, "1");

		// ◇ 業務データの設定
		// SYSID
		template.set(EKK0451D010CBSMsg.SYSID, wribSvcKeiInfo.get("sysid"));
		// 割引サービスコード
		template.set(EKK0451D010CBSMsg.WRIB_SVC_CD, wribSvcKeiInfo.get("wrib_svc_cd"));
		// 料金コースコード
		template.set(EKK0451D010CBSMsg.PCRS_CD, wribSvcKeiInfo.get("pcrs_cd"));
		// 料金プランコード
		template.set(EKK0451D010CBSMsg.PPLAN_CD, wribSvcKeiInfo.get("pplan_cd"));
		// サービス利用開始希望年月日
		template.set(EKK0451D010CBSMsg.SVC_USE_STA_KIBO_YMD, wribSvcKeiInfo.get("svc_use_sta_kibo_ymd"));
		// 予約適用開始希望年月日
		template.set(EKK0451D010CBSMsg.RSV_TSTA_KIBO_YMD, wribSvcKeiInfo.get("rsv_tsta_kibo_ymd"));
		// 申込明細番号
		template.set(EKK0451D010CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// 即時適用フラグ
		template.set(EKK0451D010CBSMsg.APLY_JUN, wribSvcKeiInfo.get("aply_jun"));
		// 違約金発生コード
		template.set(EKK0451D010CBSMsg.PNLTY_HASSEI_CD, wribSvcKeiInfo.get("pnlty_hassei_cd"));
		// 異動区分
		template.set(EKK0451D010CBSMsg.IDO_DIV, wribSvcKeiInfo.get("ido_div"));
		// 申込起算年月日
		template.set(EKK0451D010CBSMsg.MSKM_KISAN_YMD, wribSvcKeiInfo.get("mskm_kisan_ymd"));
		// 割引登録契機コード
		template.set(EKK0451D010CBSMsg.WRIB_ADD_OPTY_CD, wribSvcKeiInfo.get("wrib_add_opty_cd"));
		// 割引サービス契約自動継続識別コード
		template.set(EKK0451D010CBSMsg.WRIB_SVC_KEI_AT_KEIZK_SKCD, wribSvcKeiInfo.get("wrib_svc_kei_at_keizk_skcd"));
		// 更新年月日時分秒(更新前)
		template.set(EKK0451D010CBSMsg.UPD_DTM_BF, updDtmBf);

		CAANMsg[] templateArray = template.getCAANMsgList(EKK0451D010CBSMsg.EKK0451D010CBSMSG1LIST);

		if (templateArray == null) {
			templateArray = new CAANMsg[wribsvcTgKeiList.size()];
		}

		int i = 0;
		for (HashMap<String, Object> row : wribsvcTgKeiList)
		{
			CAANMsg childTemplate = templateArray[i];
			if (childTemplate == null) {
				childTemplate = new CAANMsg(EKK0451D010CBSMsg1List.class.getName());
			}
			
			// 対象契約識別コード
			childTemplate.set("tg_kei_skbt_cd", row.get("tg_kei_skbt_cd"));
			
			// サービス契約番号
			childTemplate.set("svc_kei_no", (String)row.get("svc_kei_no"));
			
			// オプションサービス契約番号
			childTemplate.set("op_svc_kei_no", row.get("op_svc_kei_no"));
			
			// 機器提供サービス契約番号
			childTemplate.set("kktk_svc_kei_no", row.get("kktk_svc_kei_no"));
			
			// 割引サービス対象サービスコード
			childTemplate.set("wrib_svc_trgt_svc_cd", row.get("wrib_svc_trgt_svc_cd"));
			
			// 設定登録年月日
			childTemplate.set("set_add_ymd", row.get("set_add_ymd"));
			
			// 割引サービス対象契約適用開始年月日
			childTemplate.set("wrisvc_tg_kei_tstaymd", row.get("wrisvc_tg_kei_tstaymd"));
			
			// 割引サービス対象契約適用終了年月日
			childTemplate.set("wrisvc_tg_kei_tendymd", row.get("wrisvc_tg_kei_tendymd"));
			
			templateArray[i] = childTemplate;
			i++;
		}
		
		// 割引サービス対象契約明細
		template.set(EKK0451D010CBSMsg.EKK0451D010CBSMSG1LIST, templateArray);
		
		
		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
        // エラー情報の設定
		this.param = editResultRP(result, param, EKK0451D010);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0451List = getRsltList(result);
		
		CAANMsg kk0451 = kk0451List.get(0);
		
		return kk0451;
	}

	/**
	 * 割引サービス契約キャンセルサービスIFを呼び出す。
	 * 
	 * @param ccMap 作業領域
	 * @param wribSvcKeiNo サービス契約番号
	 * 
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg callEKK0451C070(String wribSvcKeiNo,
										String mskmDtlNo,
										String svcCancelRsnCd,
										String idoDiv,
										String wribDslCnclOptyCd,
										String updDtmBf) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// 割引サービス契約キャンセルサービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0451C070CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0451C070CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0451C070CBSMsg.TEMPLATEID, EKK0451C070);
		// 機能コード
		template.set(EKK0451C070CBSMsg.FUNC_CODE, "1");

		// ◇ 業務データの設定
		// 割引サービス契約番号
		template.set(EKK0451C070CBSMsg.WRIB_SVC_KEI_NO, wribSvcKeiNo);
		// 申込明細番号
		template.set(EKK0451C070CBSMsg.MSKM_DTL_NO, mskmDtlNo);
		// サービスキャンセル理由コード
		template.set(EKK0451C070CBSMsg.SVC_CANCEL_RSN_CD, svcCancelRsnCd);
		// 異動区分
		template.set(EKK0451C070CBSMsg.IDO_DIV, idoDiv);
		// 割引解約キャンセル契機コード
		template.set(EKK0451C070CBSMsg.WRIB_DSL_CNCL_OPTY_CD, wribDslCnclOptyCd);
		// 更新年月日時分秒(更新前)
		template.set(EKK0451C070CBSMsg.UPD_DTM_BF, updDtmBf);

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
        // エラー情報の設定
		this.param = editResultRP(result, param, EKK0451C070);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0451List = getRsltList(result);
		
		CAANMsg kk0451 = kk0451List.get(0);
		
		return kk0451;
	}

// v6.00.00 MOD Start
//	/**
//	 * 割引サービス契約＜値引型＞開始サービスIFを呼び出す。
//	 * 
//	 * @param wribSvcKeiInfo
//	 * @param wribsvcTgKeiList
//	 * @param wrisvcKeiUcwkList
//	 * @param mskmDtlNo
//	 * @return 
//	 * @throws Throwable
//	 */
//	public CAANMsg callEKK0451C200(HashMap<String, Object> wribSvcKeiInfo,
//									ArrayList<HashMap<String, Object>> wrisvcKeiUcwkList,
//									String mskmDtlNo,
//									String updDtmBf) throws Throwable
//	{
//		/* --------------------------------------------------
//		 * CC項目 -> SC項目 上りマッピング
//		 * -------------------------------------------------- */
//		HashMap<String, Object> inMap = new HashMap<String, Object>();
//
//		// 割引サービス契約解約確定サービスインターフェイスを作成
//		CAANMsg template = new CAANMsg(EKK0451C200CBSMsg.class.getName());
//
//		// nullを設定
//		fillCAANMSGNullMapping(template, new EKK0451C200CBSMsg().getContents());
//
//		// テンプレートID
//		template.set(EKK0451C200CBSMsg.TEMPLATEID, EKK0451C200);
//		// 機能コード
//		template.set(EKK0451C200CBSMsg.FUNC_CODE, "1");
//
//		// ◇ 業務データの設定
//		// 割引サービス契約番号（割引サービス契約）
//		template.set(EKK0451C200CBSMsg.WRIB_SVC_KEI_NO_KK0451, wribSvcKeiInfo.get("wrib_svc_kei_no"));
//		// プラン開始年月日
//		template.set(EKK0451C200CBSMsg.PLAN_STAYMD, wribSvcKeiInfo.get("plan_staymd"));
//		// プラン終了年月日
//		template.set(EKK0451C200CBSMsg.PLAN_ENDYMD, wribSvcKeiInfo.get("plan_endymd"));
//		// プラン課金開始年月日
//		template.set(EKK0451C200CBSMsg.PLAN_CHRG_STAYMD, wribSvcKeiInfo.get("plan_chrg_staymd"));
//		// プラン課金終了年月日
//		template.set(EKK0451C200CBSMsg.PLAN_CHRG_ENDYMD, wribSvcKeiInfo.get("plan_chrg_endymd"));
//		// サービス開始年月日
//		template.set(EKK0451C200CBSMsg.SVC_STA_YMD, wribSvcKeiInfo.get("svc_sta_ymd"));
//		// サービス課金開始年月日（割引サービス契約）
//		template.set(EKK0451C200CBSMsg.SVC_CHRG_STAYMD_KK0451, wribSvcKeiInfo.get("svc_chrg_staymd"));
//		// サービス終了年月日
//		template.set(EKK0451C200CBSMsg.SVC_ENDYMD, wribSvcKeiInfo.get("svc_endymd"));
//		// サービス課金終了年月日（割引サービス契約）
//		template.set(EKK0451C200CBSMsg.SVC_CHRG_ENDYMD_KK0451, wribSvcKeiInfo.get("svc_chrg_endymd"));
//		// 異動区分
//		template.set(EKK0451C200CBSMsg.IDO_DIV, wribSvcKeiInfo.get("ido_div"));
//		// 更新年月日時分秒(更新前)
//		template.set(EKK0451C200CBSMsg.UPD_DTM_BF, updDtmBf);
//		// 申込明細番号
//		template.set(EKK0451C200CBSMsg.MSKM_DTL_NO, mskmDtlNo);
//		
//		CAANMsg[] templateArray = template.getCAANMsgList(EKK0451C200CBSMsg.EKK0451C200CBSMSG1LIST);
//
//		if (templateArray == null) {
//			templateArray = new CAANMsg[wrisvcKeiUcwkList.size()];
//		}
//
//		int i = 0;
//		for (HashMap<String, Object> row : wrisvcKeiUcwkList)
//		{
//			CAANMsg childTemplate = templateArray[i];
//			if (childTemplate == null) {
//				childTemplate = new CAANMsg(EKK0451C200CBSMsg1List.class.getName());
//			}
//			
//			// 割引サービス契約内訳番号
//			childTemplate.set("wrib_svc_kei_ucwk_no", row.get("wrib_svc_kei_ucwk_no"));
//			// 割引適用回数
//			childTemplate.set("wrib_aply_cnt", row.get("wrib_aply_cnt"));
//			// サービス課金開始年月日（割引サービス契約内訳）
//			childTemplate.set("svc_chrg_staymd_kk2361", row.get("svc_chrg_staymd"));
//			// サービス課金終了年月日（割引サービス契約内訳）
//			childTemplate.set("svc_chrg_endymd_kk2361", row.get("svc_chrg_endymd"));
//			// 課金開始年月日補正有無
//			childTemplate.set("chrg_sta_ymd_hosei_um", row.get("chrg_sta_ymd_hosei_um"));
//			// 初回割引適用年月日
//			childTemplate.set("first_wrib_aply_ymd", row.get("first_wrib_aply_ymd"));
//			
//			templateArray[i] = childTemplate;
//			i++;
//		}
//		
//		// 割引サービス対象契約明細
//		template.set(EKK0451C200CBSMsg.EKK0451C200CBSMSG1LIST, templateArray);
//		
//		
//		// 共通情報設定処理
//		templateCommonInfo(template);
//		
//		CAANMsg[] templates = new CAANMsg[1];
//		templates[0] = template;
//		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);
//
//		// SCインプット共通データ設定処理
//		setSCInputCommonData(inMap);
//		
//		/* --------------------------------------------------
//		 * サービスIF実行
//		 * -------------------------------------------------- */
//		Map<?, ?> result = this.scCall.run(inMap, this.handle);
//		
//        // エラー情報の設定
//		this.param = editResultRP(result, param, EKK0451C200);
//		
//		checkExecutionResult(result);
//		
//		/* --------------------------------------------------
//		 * CC項目 <- SC項目 下りマッピング
//		 * -------------------------------------------------- */
//		// 結果をリストで取得
//		ArrayList<CAANMsg> kk0451List = getRsltList(result);
//		
//		CAANMsg kk0451 = kk0451List.get(0);
//		
//		return kk0451;
//	}

	/**
	 * 割引サービス契約内訳割引適用回数更新サービスIFを呼び出す。
	 * 
	 * @param wribSvcKeiInfo
	 * @param wribsvcTgKeiList
	 * @param wrisvcKeiUcwkList
	 * @param mskmDtlNo
	 * @return 
	 * @throws Throwable
	 */
	public void callEKK2361C020(HashMap<String, Object> wribSvcKeiInfo,
									ArrayList<HashMap<String, Object>> wrisvcKeiUcwkList,
									String updDtmBf) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// 割引サービス契約解約確定サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK2361C020CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK2361C020CBSMsg().getContents());

		// テンプレートID
		template.set(EKK2361C020CBSMsg.TEMPLATEID, EKK2361C020);
		// 機能コード
		template.set(EKK2361C020CBSMsg.FUNC_CODE, "1");
		
		// ◇ 業務データの設定
		for (HashMap<String, Object> row : wrisvcKeiUcwkList)
		{
			String wribSvcKeiNo     = (String)wribSvcKeiInfo.get("wrib_svc_kei_no");
			String wribSvcKeiUcwkNo = (String)row.get("wrib_svc_kei_ucwk_no");
			CAANMsg wrisvcKeiUcwkInfo = callEKK2361A010(wribSvcKeiNo, wribSvcKeiUcwkNo);
			
			// 割引サービス契約番号
			template.set(EKK2361C020CBSMsg.WRIB_SVC_KEI_NO, wribSvcKeiNo);
			// 割引サービス契約内訳番号
			template.set(EKK2361C020CBSMsg.WRIB_SVC_KEI_UCWK_NO, wribSvcKeiUcwkNo);
			// 割引適用回数
			template.set(EKK2361C020CBSMsg.WRIB_APLY_CNT, row.get("wrib_aply_cnt"));
			// 更新年月日時分秒(更新前)
			template.set(EKK2361C020CBSMsg.UPD_DTM_BF, wrisvcKeiUcwkInfo.getString("upd_dtm"));
			// 共通情報設定処理
			templateCommonInfo(template);
			
			CAANMsg[] templates = new CAANMsg[1];
			templates[0] = template;
			inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

			// SCインプット共通データ設定処理
			setSCInputCommonData(inMap);
			
			/* --------------------------------------------------
			 * サービスIF実行
			 * -------------------------------------------------- */
			Map<?, ?> result = this.scCall.run(inMap, this.handle);
			
	        // エラー情報の設定
			this.param = editResultRP(result, param, EKK0451C070);
			
			checkExecutionResult(result);
		}
	}

	/**
	 * 割引サービス契約内訳一意照会サービスIFを呼び出す。
	 * 
	 * @param svcKeiNo サービス契約番号
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg callEKK2361A010(String wribSvcKeiNo, String wribSvcKeiUcwkNo) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// サービス契約一意照会サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK2361A010CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK2361A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK2361A010CBSMsg.TEMPLATEID, EKK2361A010);
		// 機能コード
		template.set(EKK2361A010CBSMsg.FUNC_CODE, "2");

		// ◇ 業務データの設定
		// ＫＥＹ＿割引サービス契約番号
		template.set(EKK2361A010CBSMsg.KEY_WRIB_SVC_KEI_NO, wribSvcKeiNo);
		// ＫＥＹ＿割引サービス契約内訳番号
		template.set(EKK2361A010CBSMsg.KEY_WRIB_SVC_KEI_UCWK_NO, wribSvcKeiUcwkNo);

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
		// エラー情報の設定
		this.param = editResultRP(result, param, EKK0081A010);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk2361List = getRsltList(result);
		
		CAANMsg kk2361 = kk2361List.get(0);
		CAANMsg[] ret = kk2361.getCAANMsgList(EKK2361A010CBSMsg.EKK2361A010CBSMSG1LIST);
		
		return ret[0];
	}

	/**
	 * 料金スケジュール定義一覧照会サービスIFを呼び出す。
	 * 
	 * @param svcKeiNo サービス契約番号
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg callECH0501B010(String stdardYmd) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// サービス契約一意照会サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(ECH0501B010CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new ECH0501B010CBSMsg().getContents());

		// テンプレートID
		template.set(ECH0501B010CBSMsg.TEMPLATEID, EKK2361A010);
		// 機能コード
		template.set(ECH0501B010CBSMsg.FUNC_CODE, "2");

		// ◇ 業務データの設定
		// ＫＥＹ＿基準年月日
		template.set(ECH0501B010CBSMsg.KEY_STDARDYMD, stdardYmd);
		// ＫＥＹ＿イベントコード
		template.set(ECH0501B010CBSMsg.KEY_EVENT_CD, "03");

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
		// エラー情報の設定
		this.param = editResultRP(result, param, EKK0081A010);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> ch0501List = getRsltList(result);
		
		CAANMsg ch0501 = ch0501List.get(0);
		CAANMsg[] ret = ch0501.getCAANMsgList(ECH0501B010CBSMsg.ECH0501B010CBSMSG1LIST);
		
		return ret[0];
	}
// v6.00.00 MOD End

	/**
	 * サービス契約一意照会サービスIFを呼び出す。
	 * 
	 * @param svcKeiNo サービス契約番号
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg callEKK0081A010(String svcKeiNo) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// サービス契約一意照会サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0081A010CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0081A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0081A010CBSMsg.TEMPLATEID, EKK0081A010);
		// 機能コード
		template.set(EKK0081A010CBSMsg.FUNC_CODE, "2");

		// ◇ 業務データの設定
		// ＫＥＹ＿サービス契約番号
		template.set(EKK0081A010CBSMsg.KEY_SVC_KEI_NO, svcKeiNo);
		// ＫＥＹ＿予約適用年月日
		template.set(EKK0081A010CBSMsg.KEY_RSV_APLY_YMD, this.opeDate);

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
		// エラー情報の設定
		this.param = editResultRP(result, param, EKK0081A010);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0081List = getRsltList(result);
		
		CAANMsg kk0081 = kk0081List.get(0);
		CAANMsg[] ret = kk0081.getCAANMsgList(EKK0081A010CBSMsg.EKK0081A010CBSMSG1LIST);
		
		return ret[0];
	}

	/**
	 * オプションサービス契約一意照会サービスIFを呼び出す。
	 * 
	 * @param keiNo オプションサービス契約番号
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg callEKK0351A010(String keiNo) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// オプションサービス契約一意照会サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0351A010CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0351A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0351A010CBSMsg.TEMPLATEID, EKK0351A010);
		// 機能コード
		template.set(EKK0351A010CBSMsg.FUNC_CODE, "2");

		// ◇ 業務データの設定
		// ＫＥＹ＿オプションサービス契約番号
		template.set(EKK0351A010CBSMsg.KEY_OP_SVC_KEI_NO, keiNo);
		// ＫＥＹ＿予約適用年月日
		template.set(EKK0351A010CBSMsg.KEY_RSV_APLY_YMD, this.opeDate);

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
		// エラー情報の設定
		this.param = editResultRP(result, param, EKK0351A010);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0351List = getRsltList(result);
		
		CAANMsg kk0351 = kk0351List.get(0);
		CAANMsg[] ret = kk0351.getCAANMsgList(EKK0351A010CBSMsg.EKK0351A010CBSMSG1LIST);
		
		return ret[0];
	}

	/**
	 * 機器提供サービス契約一意照会サービスIFを呼び出す。
	 * 
	 * @param keiNo 機器提供契約番号
	 * @return 
	 * @throws Throwable
	 */
	public CAANMsg callEKK0341A010(String keiNo) throws Throwable
	{
		/* --------------------------------------------------
		 * CC項目 -> SC項目 上りマッピング
		 * -------------------------------------------------- */
		HashMap<String, Object> inMap = new HashMap<String, Object>();

		// 機器提供サービス契約一意照会サービスインターフェイスを作成
		CAANMsg template = new CAANMsg(EKK0341A010CBSMsg.class.getName());

		// nullを設定
		fillCAANMSGNullMapping(template, new EKK0341A010CBSMsg().getContents());

		// テンプレートID
		template.set(EKK0341A010CBSMsg.TEMPLATEID, EKK0341A010);
		// 機能コード
		template.set(EKK0341A010CBSMsg.FUNC_CODE, "2");

		// ◇ 業務データの設定
		// ＫＥＹ＿機器提供サービス契約番号
		template.set(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, keiNo);
		// ＫＥＹ＿予約適用年月日
		template.set(EKK0341A010CBSMsg.KEY_RSV_APLY_YMD, this.opeDate);

		// 共通情報設定処理
		templateCommonInfo(template);
		
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		inMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		// SCインプット共通データ設定処理
		setSCInputCommonData(inMap);
		
		/* --------------------------------------------------
		 * サービスIF実行
		 * -------------------------------------------------- */
		Map<?, ?> result = this.scCall.run(inMap, this.handle);
		
		// エラー情報の設定
		this.param = editResultRP(result, param, EKK0341A010);
		
		checkExecutionResult(result);
		
		/* --------------------------------------------------
		 * CC項目 <- SC項目 下りマッピング
		 * -------------------------------------------------- */
		// 結果をリストで取得
		ArrayList<CAANMsg> kk0341List = getRsltList(result);
		
		CAANMsg kk0341 = kk0341List.get(0);
		CAANMsg[] ret = kk0341.getCAANMsgList(EKK0341A010CBSMsg.EKK0341A010CBSMSG1LIST);
		
		return ret[0];
	}

	/**
	 *<DL>
	 *<DT>処理概要:
	 *<DD>サービスコンポーネント実行後に、IRequestParameterReadWriteにエラー情報をマッピングする
	 *<DT>入力パラメータ説明:
	 *<DD>特になし
	 *<DT>入力パラメータ説明：
	 *<DD>特になし
	 *<DT>出力パラメータ説明:
	 *<DD>特になし
	 *</DL>
	 * 
	 * @param param
	 *            (I) 業務データ取得・書込用I/F
	 * @param templates
	 *            (I) CAANMsgクラス配列
	 * @param returnCode
	 *            (I) リターンコード
	 * @param mapName
	 *            (I) SCマップ名
	 * @return 業務データ取得・書込用I/F
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite editErrorInfo(IRequestParameterReadWrite param,
													 CAANMsg[] templates,
													 int returnCode,
													 String mapName) throws Throwable
	{
		CAANMsg template = templates[0];
		CAANMsg[] templateArray = null;
		int templateStatus = template.getInt(EKK0451B005CBSMsg.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;
		
		// 作業項目領域
		Map workMap = (Map)param.getMappingWorkArea();
		if (workMap == null) {
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}
		
		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(mapName);
		if (inMap == null) {
			inMap = new HashMap();
			param.setData(mapName, inMap);
		}

		String svcIf = null;
		if (svcIf == null)
		{
			return param;
		}
		else if (EKK0011D020.equals(svcIf))
		{
			// 申込内容承認登録
			// 申込内容承認登録マップ.ＳＹＳＩＤ → ＳＹＳＩＤ のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.SYSID_ERR)) {
				if (!inMap.containsKey("sysid_err")) {
					inMap.put("sysid_err", template.getString(EKK0011D020CBSMsg.SYSID_ERR));
				}
			}
			// 申込内容承認登録マップ.申込書到着年月日 → 申込書到着年月日 のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.MSKMSHO_ARIV_YMD_ERR)) {
				if (!inMap.containsKey("mskmsho_ariv_ymd_err")) {
					inMap.put("mskmsho_ariv_ymd_err", template.getString(EKK0011D020CBSMsg.MSKMSHO_ARIV_YMD_ERR));
				}
			}
			// 申込内容承認登録マップ.申込受付担当ユーザーＩＤ → 申込受付担当ユーザーＩＤ のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.MSKM_UK_TNT_USER_ID_ERR)) {
				if (!inMap.containsKey("mskm_uk_tnt_user_id_err")) {
					inMap.put("mskm_uk_tnt_user_id_err", template.getString(EKK0011D020CBSMsg.MSKM_UK_TNT_USER_ID_ERR));
				}
			}
			// 申込内容承認登録マップ.総合営業センター受付番号 → 総合営業センター受付番号 のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.TTL_BUSINESS_CENTER_UK_NO_ERR)) {
				if (!inMap.containsKey("ttl_business_center_uk_no_err")) {
					inMap.put("ttl_business_center_uk_no_err", template.getString(EKK0011D020CBSMsg.TTL_BUSINESS_CENTER_UK_NO_ERR));
				}
			}
			// 申込内容承認登録マップ.総合営業申込契機コード → 総合営業申込契機コード のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.TTL_BUSINESS_MSKM_OPT_CD_ERR)) {
				if (!inMap.containsKey("ttl_business_mskm_opt_cd_err")) {
					inMap.put("ttl_business_mskm_opt_cd_err", template.getString(EKK0011D020CBSMsg.TTL_BUSINESS_MSKM_OPT_CD_ERR));
				}
			}
			// 申込内容承認登録マップ.申込連絡先電話番号 → 申込連絡先電話番号 のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.MSKM_RRKS_TELNO_ERR)) {
				if (!inMap.containsKey("mskm_rrks_telno_err")) {
					inMap.put("mskm_rrks_telno_err", template.getString(EKK0011D020CBSMsg.MSKM_RRKS_TELNO_ERR));
				}
			}
			// 申込内容承認登録マップ.申込実施者種別コード → 申込実施者種別コード のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.MSKM_JSSIS_SBT_CD_ERR)) {
				if (!inMap.containsKey("mskm_jssis_sbt_cd_err")) {
					inMap.put("mskm_jssis_sbt_cd_err", template.getString(EKK0011D020CBSMsg.MSKM_JSSIS_SBT_CD_ERR));
				}
			}
			// 申込内容承認登録マップ.お客様ご要望事項 → お客様ご要望事項 のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.CUST_YOBO_JIKO_ERR)) {
				if (!inMap.containsKey("cust_yobo_jiko_err")) {
					inMap.put("cust_yobo_jiko_err", template.getString(EKK0011D020CBSMsg.CUST_YOBO_JIKO_ERR));
				}
			}
			// 申込内容承認登録マップ.電話連絡希望日種別コード → 電話連絡希望日種別コード のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.TEL_RRK_KIBOD_SBT_CD_ERR)) {
				if (!inMap.containsKey("tel_rrk_kibod_sbt_cd_err")) {
					inMap.put("tel_rrk_kibod_sbt_cd_err", template.getString(EKK0011D020CBSMsg.TEL_RRK_KIBOD_SBT_CD_ERR));
				}
			}
			// 申込内容承認登録マップ.電話連絡希望時間帯コード → 電話連絡希望時間帯コード のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.TEL_RRK_KIBO_TIME_CD_ERR)) {
				if (!inMap.containsKey("tel_rrk_kibo_time_cd_err")) {
					inMap.put("tel_rrk_kibo_time_cd_err", template.getString(EKK0011D020CBSMsg.TEL_RRK_KIBO_TIME_CD_ERR));
				}
			}
			// 申込内容承認登録マップ.宅内調査希望日種別コード → 宅内調査希望日種別コード のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.TAKCHO_KIBOD_SBT_CD_ERR)) {
				if (!inMap.containsKey("takcho_kibod_sbt_cd_err")) {
					inMap.put("takcho_kibod_sbt_cd_err", template.getString(EKK0011D020CBSMsg.TAKCHO_KIBOD_SBT_CD_ERR));
				}
			}
			// 申込内容承認登録マップ.宅内調査希望時間帯コード → 宅内調査希望時間帯コード のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.TAKCHO_KIBO_TIME_CD_ERR)) {
				if (!inMap.containsKey("takcho_kibo_time_cd_err")) {
					inMap.put("takcho_kibo_time_cd_err", template.getString(EKK0011D020CBSMsg.TAKCHO_KIBO_TIME_CD_ERR));
				}
			}
			// 申込内容承認登録マップ.仮申込フラグ → 仮申込フラグ のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.KARI_MSKM_FLG_ERR)) {
				if (!inMap.containsKey("kari_mskm_flg_err")) {
					inMap.put("kari_mskm_flg_err", template.getString(EKK0011D020CBSMsg.KARI_MSKM_FLG_ERR));
				}
			}
			// 申込内容承認登録マップ.リファラー → リファラー のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.REFERER_ERR)) {
				if (!inMap.containsKey("referer_err")) {
					inMap.put("referer_err", template.getString(EKK0011D020CBSMsg.REFERER_ERR));
				}
			}
			// 申込内容承認登録マップ.関西電力お客様情報授受同意有無 → 関西電力お客様情報授受同意有無 のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.KEPCO_CUSTINFO_JUJU_DOI_UM_ERR)) {
				if (!inMap.containsKey("kepco_custinfo_juju_doi_um_err")) {
					inMap.put("kepco_custinfo_juju_doi_um_err", template.getString(EKK0011D020CBSMsg.KEPCO_CUSTINFO_JUJU_DOI_UM_ERR));
				}
			}
			// 申込内容承認登録マップ.照査前連絡事項要否 → 照査前連絡事項要否 のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.SHOSA_BF_RRK_JIKO_YH_ERR)) {
				if (!inMap.containsKey("shosa_bf_rrk_jiko_yh_err")) {
					inMap.put("shosa_bf_rrk_jiko_yh_err", template.getString(EKK0011D020CBSMsg.SHOSA_BF_RRK_JIKO_YH_ERR));
				}
			}
			// 申込内容承認登録マップ.照査前連絡事項 → 照査前連絡事項 のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.SHOSA_BF_RRK_JIKO_ERR)) {
				if (!inMap.containsKey("shosa_bf_rrk_jiko_err")) {
					inMap.put("shosa_bf_rrk_jiko_err", template.getString(EKK0011D020CBSMsg.SHOSA_BF_RRK_JIKO_ERR));
				}
			}
			// 申込内容承認登録マップ.利用サービス継続種別コード → 利用サービス継続種別コード のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.USE_SVC_KEIZK_SBT_CD_ERR)) {
				if (!inMap.containsKey("use_svc_keizk_sbt_cd_err")) {
					inMap.put("use_svc_keizk_sbt_cd_err", template.getString(EKK0011D020CBSMsg.USE_SVC_KEIZK_SBT_CD_ERR));
				}
			}
			// 申込内容承認登録マップ.受付担当者識別コード → 受付担当者識別コード のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.UK_TNTSHA_SKBT_CD_ERR)) {
				if (!inMap.containsKey("uk_tntsha_skbt_cd_err")) {
					inMap.put("uk_tntsha_skbt_cd_err", template.getString(EKK0011D020CBSMsg.UK_TNTSHA_SKBT_CD_ERR));
				}
			}
			// 申込内容承認登録マップ.工事依頼情報連絡事項 → 工事依頼情報連絡事項 のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.KOJI_REQ_INFO_RRK_JIKO_ERR)) {
				if (!inMap.containsKey("koji_req_info_rrk_jiko_err")) {
					inMap.put("koji_req_info_rrk_jiko_err", template.getString(EKK0011D020CBSMsg.KOJI_REQ_INFO_RRK_JIKO_ERR));
				}
			}
			// 申込内容承認登録マップ.申込経路識別コード → 申込経路識別コード のエラー情報返却
			if (!template.isNull(EKK0011D020CBSMsg.MSKM_ROUTE_SKBT_CD_ERR)) {
				if (!inMap.containsKey("mskm_route_skbt_cd_err")) {
					inMap.put("mskm_route_skbt_cd_err", template.getString(EKK0011D020CBSMsg.MSKM_ROUTE_SKBT_CD_ERR));
				}
			}
			inList = (ArrayList)inMap.get("EKK0011D020CBSMsg1List");
			if (inList == null) {
				inList = new ArrayList();
				inMap.put("EKK0011D020CBSMsg1List", inList);
			}

			templateArray = template.getCAANMsgList(EKK0011D020CBSMsg.EKK0011D020CBSMSG1LIST);

			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(EKK0011D020CBSMsg1List.MSKMSHO_NO_ERR)) {
						if (!childMap.containsKey("mskmsho_no_err")) {
							childMap.put("mskmsho_no_err", childTemplate.getString(EKK0011D020CBSMsg1List.MSKMSHO_NO_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.ＷＥＢ受付番号 → 申込内容承認登録明細.ＷＥＢ受付番号 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.WEB_UK_NO_ERR)) {
						if (!childMap.containsKey("web_uk_no_err")) {
							childMap.put("web_uk_no_err", childTemplate.getString(EKK0011D020CBSMsg1List.WEB_UK_NO_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.申込明細種別コード → 申込内容承認登録明細.申込明細種別コード のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.MSKM_DTL_SBT_CD_ERR)) {
						if (!childMap.containsKey("mskm_dtl_sbt_cd_err")) {
							childMap.put("mskm_dtl_sbt_cd_err", childTemplate.getString(EKK0011D020CBSMsg1List.MSKM_DTL_SBT_CD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.連絡先携帯電話番号 → 申込内容承認登録明細.連絡先携帯電話番号 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.RRKS_KTAI_TELNO_ERR)) {
						if (!childMap.containsKey("rrks_ktai_telno_err")) {
							childMap.put("rrks_ktai_telno_err", childTemplate.getString(EKK0011D020CBSMsg1List.RRKS_KTAI_TELNO_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.連絡先勤務先名 → 申込内容承認登録明細.連絡先勤務先名 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.RRKS_OFFC_NM_ERR)) {
						if (!childMap.containsKey("rrks_offc_nm_err")) {
							childMap.put("rrks_offc_nm_err", childTemplate.getString(EKK0011D020CBSMsg1List.RRKS_OFFC_NM_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.昼間連絡先電話番号 → 申込内容承認登録明細.昼間連絡先電話番号 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.DT_RRKS_TELNO_ERR)) {
						if (!childMap.containsKey("dt_rrks_telno_err")) {
							childMap.put("dt_rrks_telno_err", childTemplate.getString(EKK0011D020CBSMsg1List.DT_RRKS_TELNO_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.新規申込種別コード → 申込内容承認登録明細.新規申込種別コード のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.NEW_MSKM_SBT_CD_ERR)) {
						if (!childMap.containsKey("new_mskm_sbt_cd_err")) {
							childMap.put("new_mskm_sbt_cd_err", childTemplate.getString(EKK0011D020CBSMsg1List.NEW_MSKM_SBT_CD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.申込契機コード → 申込内容承認登録明細.申込契機コード のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.MSKM_OPTNTY_CD_ERR)) {
						if (!childMap.containsKey("mskm_optnty_cd_err")) {
							childMap.put("mskm_optnty_cd_err", childTemplate.getString(EKK0011D020CBSMsg1List.MSKM_OPTNTY_CD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.宅内調査希望アポ期限年月日 → 申込内容承認登録明細.宅内調査希望アポ期限年月日 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.TAKCHO_KIBO_APO_KIGEN_YMD_ERR)) {
						if (!childMap.containsKey("takcho_kibo_apo_kigen_ymd_err")) {
							childMap.put("takcho_kibo_apo_kigen_ymd_err", childTemplate.getString(EKK0011D020CBSMsg1List.TAKCHO_KIBO_APO_KIGEN_YMD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.工事アポ連絡先指定コード → 申込内容承認登録明細.工事アポ連絡先指定コード のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.KOJI_APO_RRKS_SHITEI_CD_ERR)) {
						if (!childMap.containsKey("koji_apo_rrks_shitei_cd_err")) {
							childMap.put("koji_apo_rrks_shitei_cd_err", childTemplate.getString(EKK0011D020CBSMsg1List.KOJI_APO_RRKS_SHITEI_CD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.工事アポ連絡先電話番号 → 申込内容承認登録明細.工事アポ連絡先電話番号 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.KOJI_APO_RRKS_TELNO_ERR)) {
						if (!childMap.containsKey("koji_apo_rrks_telno_err")) {
							childMap.put("koji_apo_rrks_telno_err", childTemplate.getString(EKK0011D020CBSMsg1List.KOJI_APO_RRKS_TELNO_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.連絡事項登録年月日時分秒 → 申込内容承認登録明細.連絡事項登録年月日時分秒 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.RRK_JIKO_ADD_DTM_ERR)) {
						if (!childMap.containsKey("rrk_jiko_add_dtm_err")) {
							childMap.put("rrk_jiko_add_dtm_err", childTemplate.getString(EKK0011D020CBSMsg1List.RRK_JIKO_ADD_DTM_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.申込連絡先メールアドレス → 申込内容承認登録明細.申込連絡先メールアドレス のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.MSKM_RRKS_MLAD_ERR)) {
						if (!childMap.containsKey("mskm_rrks_mlad_err")) {
							childMap.put("mskm_rrks_mlad_err", childTemplate.getString(EKK0011D020CBSMsg1List.MSKM_RRKS_MLAD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.工事進捗通知メールアドレス → 申込内容承認登録明細.工事進捗通知メールアドレス のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.KOJI_PRG_TCHI_MLAD_ERR)) {
						if (!childMap.containsKey("koji_prg_tchi_mlad_err")) {
							childMap.put("koji_prg_tchi_mlad_err", childTemplate.getString(EKK0011D020CBSMsg1List.KOJI_PRG_TCHI_MLAD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.連絡事項 → 申込内容承認登録明細.連絡事項 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.RRK_JIKO_ERR)) {
						if (!childMap.containsKey("rrk_jiko_err")) {
							childMap.put("rrk_jiko_err", childTemplate.getString(EKK0011D020CBSMsg1List.RRK_JIKO_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.工事進捗通知携帯メールアドレス → 申込内容承認登録明細.工事進捗通知携帯メールアドレス のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.KJSC_TCH_KTAI_MLAD_ERR)) {
						if (!childMap.containsKey("kjsc_tch_ktai_mlad_err")) {
							childMap.put("kjsc_tch_ktai_mlad_err", childTemplate.getString(EKK0011D020CBSMsg1List.KJSC_TCH_KTAI_MLAD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.メール送信除外フラグ → 申込内容承認登録明細.メール送信除外フラグ のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.ML_SEND_JGI_FLG_ERR)) {
						if (!childMap.containsKey("ml_send_jgi_flg_err")) {
							childMap.put("ml_send_jgi_flg_err", childTemplate.getString(EKK0011D020CBSMsg1List.ML_SEND_JGI_FLG_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.メール送信除外理由メモ → 申込内容承認登録明細.メール送信除外理由メモ のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.ML_SEND_JGI_RSN_MEMO_ERR)) {
						if (!childMap.containsKey("ml_send_jgi_rsn_memo_err")) {
							childMap.put("ml_send_jgi_rsn_memo_err", childTemplate.getString(EKK0011D020CBSMsg1List.ML_SEND_JGI_RSN_MEMO_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.番ポ申込連絡先電話番号 → 申込内容承認登録明細.番ポ申込連絡先電話番号 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.BMP_MSKM_RRKS_TLN_ERR)) {
						if (!childMap.containsKey("bmp_mskm_rrks_tln_err")) {
							childMap.put("bmp_mskm_rrks_tln_err", childTemplate.getString(EKK0011D020CBSMsg1List.BMP_MSKM_RRKS_TLN_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.オプションサービス引継有無 → 申込内容承認登録明細.オプションサービス引継有無 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.OP_SVC_HKTGI_UM_ERR)) {
						if (!childMap.containsKey("op_svc_hktgi_um_err")) {
							childMap.put("op_svc_hktgi_um_err", childTemplate.getString(EKK0011D020CBSMsg1List.OP_SVC_HKTGI_UM_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.解約書類送付希望有無 → 申込内容承認登録明細.解約書類送付希望有無 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.DSL_ATICLE_SOHU_KIBO_UM_ERR)) {
						if (!childMap.containsKey("dsl_aticle_sohu_kibo_um_err")) {
							childMap.put("dsl_aticle_sohu_kibo_um_err", childTemplate.getString(EKK0011D020CBSMsg1List.DSL_ATICLE_SOHU_KIBO_UM_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.連絡手段補記 → 申込内容承認登録明細.連絡手段補記 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.RRK_WAY_HOKI_ERR)) {
						if (!childMap.containsKey("rrk_way_hoki_err")) {
							childMap.put("rrk_way_hoki_err", childTemplate.getString(EKK0011D020CBSMsg1List.RRK_WAY_HOKI_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.新築物件コード → 申込内容承認登録明細.新築物件コード のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.NEWCONST_BUKKEN_CD_ERR)) {
						if (!childMap.containsKey("newconst_bukken_cd_err")) {
							childMap.put("newconst_bukken_cd_err", childTemplate.getString(EKK0011D020CBSMsg1List.NEWCONST_BUKKEN_CD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.復活案件フラグ → 申込内容承認登録明細.復活案件フラグ のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.HUKKAT_ANKEN_FLG_ERR)) {
						if (!childMap.containsKey("hukkat_anken_flg_err")) {
							childMap.put("hukkat_anken_flg_err", childTemplate.getString(EKK0011D020CBSMsg1List.HUKKAT_ANKEN_FLG_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.同一設備再申込コード → 申込内容承認登録明細.同一設備再申込コード のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.SAME_EQUIP_RE_MSKM_CD_ERR)) {
						if (!childMap.containsKey("same_equip_re_mskm_cd_err")) {
							childMap.put("same_equip_re_mskm_cd_err", childTemplate.getString(EKK0011D020CBSMsg1List.SAME_EQUIP_RE_MSKM_CD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.本人確認書類種別コード → 申込内容承認登録明細.本人確認書類種別コード のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.HNIN_CFM_ATICLE_SBT_CD_ERR)) {
						if (!childMap.containsKey("hnin_cfm_aticle_sbt_cd_err")) {
							childMap.put("hnin_cfm_aticle_sbt_cd_err", childTemplate.getString(EKK0011D020CBSMsg1List.HNIN_CFM_ATICLE_SBT_CD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.申込書種別コード → 申込内容承認登録明細.申込書種別コード のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.MSKMSHO_SBT_CD_ERR)) {
						if (!childMap.containsKey("mskmsho_sbt_cd_err")) {
							childMap.put("mskmsho_sbt_cd_err", childTemplate.getString(EKK0011D020CBSMsg1List.MSKMSHO_SBT_CD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.契約付加コード → 申込内容承認登録明細.契約付加コード のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.KEI_HUKA_CD_ERR)) {
						if (!childMap.containsKey("kei_huka_cd_err")) {
							childMap.put("kei_huka_cd_err", childTemplate.getString(EKK0011D020CBSMsg1List.KEI_HUKA_CD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.地図添付有無 → 申込内容承認登録明細.地図添付有無 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.MAP_TEMP_UM_ERR)) {
						if (!childMap.containsKey("map_temp_um_err")) {
							childMap.put("map_temp_um_err", childTemplate.getString(EKK0011D020CBSMsg1List.MAP_TEMP_UM_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.KCNSTB申込台数 → 申込内容承認登録明細.KCNSTB申込台数 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.KCN_STB_MSKM_CNT_ERR)) {
						if (!childMap.containsKey("kcn_stb_mskm_cnt_err")) {
							childMap.put("kcn_stb_mskm_cnt_err", childTemplate.getString(EKK0011D020CBSMsg1List.KCN_STB_MSKM_CNT_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.KCNSTB種類コード → 申込内容承認登録明細.KCNSTB種類コード のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.KCN_STB_KIND_CD_ERR)) {
						if (!childMap.containsKey("kcn_stb_kind_cd_err")) {
							childMap.put("kcn_stb_kind_cd_err", childTemplate.getString(EKK0011D020CBSMsg1List.KCN_STB_KIND_CD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.マンション設備システム連携用記事欄 → 申込内容承認登録明細.マンション設備システム連携用記事欄 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.MANSSBSYS_RNKI_YO_KIJIRAN_ERR)) {
						if (!childMap.containsKey("manssbsys_rnki_yo_kijiran_err")) {
							childMap.put("manssbsys_rnki_yo_kijiran_err", childTemplate.getString(EKK0011D020CBSMsg1List.MANSSBSYS_RNKI_YO_KIJIRAN_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.マンションID → 申込内容承認登録明細.マンションID のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.MANSION_ID_ERR)) {
						if (!childMap.containsKey("mansion_id_err")) {
							childMap.put("mansion_id_err", childTemplate.getString(EKK0011D020CBSMsg1List.MANSION_ID_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.CAT-ID → 申込内容承認登録明細.CAT-ID のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.CATID_ERR)) {
						if (!childMap.containsKey("catid_err")) {
							childMap.put("catid_err", childTemplate.getString(EKK0011D020CBSMsg1List.CATID_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.申込受付種別コード → 申込内容承認登録明細.申込受付種別コード のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.MKM_UK_SBT_CD_ERR)) {
						if (!childMap.containsKey("mkm_uk_sbt_cd_err")) {
							childMap.put("mkm_uk_sbt_cd_err", childTemplate.getString(EKK0011D020CBSMsg1List.MKM_UK_SBT_CD_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.申込書取扱情報担当者名 → 申込内容承認登録明細.申込書取扱情報担当者名 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.MSKMSHO_TRAT_IF_TNTSHA_NM_ERR)) {
						if (!childMap.containsKey("mskmsho_trat_if_tntsha_nm_err")) {
							childMap.put("mskmsho_trat_if_tntsha_nm_err", childTemplate.getString(EKK0011D020CBSMsg1List.MSKMSHO_TRAT_IF_TNTSHA_NM_ERR));
						}
					}
					// 申込内容承認登録マップ.申込内容承認登録明細.申込書取扱情報電話番号 → 申込内容承認登録明細.申込書取扱情報電話番号 のエラー情報返却
					if (!childTemplate.isNull(EKK0011D020CBSMsg1List.MSKMSHO_TRAT_IF_TELNO_ERR)) {
						if (!childMap.containsKey("mskmsho_trat_if_telno_err")) {
							childMap.put("mskmsho_trat_if_telno_err", childTemplate.getString(EKK0011D020CBSMsg1List.MSKMSHO_TRAT_IF_TELNO_ERR));
						}
					}
				}
			}
			if (!template.isNull(EKK0011D020CBSMsg.EKK0011D020CBSMSG1LIST_ERR)) {
				if (!inMap.containsKey("EKK0011D020CBSMsg1List_err")) {
					inMap.put("EKK0011D020CBSMsg1List_err", template.getString(EKK0011D020CBSMsg.EKK0011D020CBSMSG1LIST_ERR));
				}
			}
		}
		else if (EKK0021C060.equals(svcIf))
		{
			// 申込明細照査・後続業務依頼
			// 申込明細照査・後続業務依頼マップ.申込明細番号 → 申込明細番号 のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.MSKM_DTL_NO_ERR)) {
				if (!inMap.containsKey("mskm_dtl_no_err")) {
					inMap.put("mskm_dtl_no_err", template.getString(EKK0021C060CBSMsg.MSKM_DTL_NO_ERR));
				}
			}
			// 申込明細照査・後続業務依頼マップ.連絡事項登録年月日時分秒 → 連絡事項登録年月日時分秒 のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.RRK_JIKO_ADD_DTM_ERR)) {
				if (!inMap.containsKey("rrk_jiko_add_dtm_err")) {
					inMap.put("rrk_jiko_add_dtm_err", template.getString(EKK0021C060CBSMsg.RRK_JIKO_ADD_DTM_ERR));
				}
			}
			// 申込明細照査・後続業務依頼マップ.後続業務依頼年月日 → 後続業務依頼年月日 のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.KZKWRK_REQYMD_ERR)) {
				if (!inMap.containsKey("kzkwrk_reqymd_err")) {
					inMap.put("kzkwrk_reqymd_err", template.getString(EKK0021C060CBSMsg.KZKWRK_REQYMD_ERR));
				}
			}
			// 申込明細照査・後続業務依頼マップ.連絡事項 → 連絡事項 のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.RRK_JIKO_ERR)) {
				if (!inMap.containsKey("rrk_jiko_err")) {
					inMap.put("rrk_jiko_err", template.getString(EKK0021C060CBSMsg.RRK_JIKO_ERR));
				}
			}
			// 申込明細照査・後続業務依頼マップ.更新年月日時分秒（更新前） → 更新年月日時分秒（更新前） のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.UPD_DTM_BF_ERR)) {
				if (!inMap.containsKey("upd_dtm_bf_err")) {
					inMap.put("upd_dtm_bf_err", template.getString(EKK0021C060CBSMsg.UPD_DTM_BF_ERR));
				}
			}
			// 申込明細照査・後続業務依頼マップ.異動区分 → 異動区分 のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.IDO_DIV_ERR)) {
				if (!inMap.containsKey("ido_div_err")) {
					inMap.put("ido_div_err", template.getString(EKK0021C060CBSMsg.IDO_DIV_ERR));
				}
			}
			// 申込明細照査・後続業務依頼マップ.電話番号 → 電話番号 のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.TELNO_ERR)) {
				if (!inMap.containsKey("telno_err")) {
					inMap.put("telno_err", template.getString(EKK0021C060CBSMsg.TELNO_ERR));
				}
			}
			// 申込明細照査・後続業務依頼マップ.代表電話番号 → 代表電話番号 のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.DAIHYO_TELNO_ERR)) {
				if (!inMap.containsKey("daihyo_telno_err")) {
					inMap.put("daihyo_telno_err", template.getString(EKK0021C060CBSMsg.DAIHYO_TELNO_ERR));
				}
			}
			// 申込明細照査・後続業務依頼マップ.電話番号使用場所番号 → 電話番号使用場所番号 のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.TELNO_USE_PLACE_NO_ERR)) {
				if (!inMap.containsKey("telno_use_place_no_err")) {
					inMap.put("telno_use_place_no_err", template.getString(EKK0021C060CBSMsg.TELNO_USE_PLACE_NO_ERR));
				}
			}
			// 申込明細照査・後続業務依頼マップ.ＳＩＰユーザーＩＤ消去済フラグ → ＳＩＰユーザーＩＤ消去済フラグ のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.SIP_USER_ID_DEL_ZUMI_FLG_ERR)) {
				if (!inMap.containsKey("sip_user_id_del_zumi_flg_err")) {
					inMap.put("sip_user_id_del_zumi_flg_err", template.getString(EKK0021C060CBSMsg.SIP_USER_ID_DEL_ZUMI_FLG_ERR));
				}
			}
			// 申込明細照査・後続業務依頼マップ.電話ＢＡＳホストＩＤ → 電話ＢＡＳホストＩＤ のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.TEL_BAS_HOST_ID_ERR)) {
				if (!inMap.containsKey("tel_bas_host_id_err")) {
					inMap.put("tel_bas_host_id_err", template.getString(EKK0021C060CBSMsg.TEL_BAS_HOST_ID_ERR));
				}
			}
			// 申込明細照査・後続業務依頼マップ.０５０オプション電話番号 → ０５０オプション電話番号 のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.N_050_OP_TELNO_ERR)) {
				if (!inMap.containsKey("n_050_op_telno_err")) {
					inMap.put("n_050_op_telno_err", template.getString(EKK0021C060CBSMsg.N_050_OP_TELNO_ERR));
				}
			}
			// 申込明細照査・後続業務依頼マップ.機器認証ＩＤ → 機器認証ＩＤ のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.KIKI_NINSHO_ID_ERR)) {
				if (!inMap.containsKey("kiki_ninsho_id_err")) {
					inMap.put("kiki_ninsho_id_err", template.getString(EKK0021C060CBSMsg.KIKI_NINSHO_ID_ERR));
				}
			}
			// 申込明細照査・後続業務依頼マップ.機器認証ＩＤパスワード → 機器認証ＩＤパスワード のエラー情報返却
			if (!template.isNull(EKK0021C060CBSMsg.KIKI_NINSHO_ID_PWD_ERR)) {
				if (!inMap.containsKey("kiki_ninsho_id_pwd_err")) {
					inMap.put("kiki_ninsho_id_pwd_err", template.getString(EKK0021C060CBSMsg.KIKI_NINSHO_ID_PWD_ERR));
				}
			}
		}
		else if (EKK0091A010.equals(svcIf))
		{
			// サービス契約＜eo光ネット＞一意照会
			// サービス契約＜eo光ネット＞一意照会マップ.ＫＥＹ＿サービス契約番号 → ＫＥＹ＿サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0091A010CBSMsg.KEY_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("key_svc_kei_no_err")) {
					inMap.put("key_svc_kei_no_err", template.getString(EKK0091A010CBSMsg.KEY_SVC_KEI_NO_ERR));
				}
			}
			// サービス契約＜eo光ネット＞一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → ＫＥＹ＿世代登録年月日時分秒 のエラー情報返却
			if (!template.isNull(EKK0091A010CBSMsg.KEY_GENE_ADD_DTM_ERR)) {
				if (!inMap.containsKey("key_gene_add_dtm_err")) {
					inMap.put("key_gene_add_dtm_err", template.getString(EKK0091A010CBSMsg.KEY_GENE_ADD_DTM_ERR));
				}
			}
		}
		else if (EKK0351B002.equals(svcIf))
		{
			// オプションサービス契約一覧照会（サービス契約番号）
			// オプションサービス契約一覧照会マップ.ＫＥＹ＿サービス契約番号 → ＫＥＹ＿サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0351B002CBSMsg.KEY_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("key_svc_kei_no_err")) {
					inMap.put("key_svc_kei_no_err", template.getString(EKK0351B002CBSMsg.KEY_SVC_KEI_NO_ERR));
				}
			}
			// オプションサービス契約一覧照会マップ.ＫＥＹ＿サービス契約内訳番号 → ＫＥＹ＿サービス契約内訳番号 のエラー情報返却
			if (!template.isNull(EKK0351B002CBSMsg.KEY_SVC_KEI_UCWK_NO_ERR)) {
				if (!inMap.containsKey("key_svc_kei_ucwk_no_err")) {
					inMap.put("key_svc_kei_ucwk_no_err", template.getString(EKK0351B002CBSMsg.KEY_SVC_KEI_UCWK_NO_ERR));
				}
			}
			// オプションサービス契約一覧照会マップ.ＫＥＹ＿オプションサービスコード → ＫＥＹ＿オプションサービスコード のエラー情報返却
			if (!template.isNull(EKK0351B002CBSMsg.KEY_OP_SVC_CD_ERR)) {
				if (!inMap.containsKey("key_op_svc_cd_err")) {
					inMap.put("key_op_svc_cd_err", template.getString(EKK0351B002CBSMsg.KEY_OP_SVC_CD_ERR));
				}
			}
			// オプションサービス契約一覧照会マップ.ＫＥＹ＿基準年月日 → ＫＥＹ＿基準年月日 のエラー情報返却
			if (!template.isNull(EKK0351B002CBSMsg.KEY_BASE_YMD_ERR)) {
				if (!inMap.containsKey("key_base_ymd_err")) {
					inMap.put("key_base_ymd_err", template.getString(EKK0351B002CBSMsg.KEY_BASE_YMD_ERR));
				}
			}
		}
		else if (EKK0451A010.equals(svcIf))
		{
			// 割引サービス契約一意照会
			// 割引サービス契約一意照会マップ.検索処理パターン → 検索処理パターン のエラー情報返却
			if (!template.isNull(EKK0451A010CBSMsg.SEARCH_TYPE_ERR)) {
				if (!inMap.containsKey("search_type_err")) {
					inMap.put("search_type_err", template.getString(EKK0451A010CBSMsg.SEARCH_TYPE_ERR));
				}
			}
			// 割引サービス契約一意照会マップ.最大検索件数 → 最大検索件数 のエラー情報返却
			if (!template.isNull(EKK0451A010CBSMsg.MAX_SEARCH_NUM_ERR)) {
				if (!inMap.containsKey("max_search_num_err")) {
					inMap.put("max_search_num_err", template.getString(EKK0451A010CBSMsg.MAX_SEARCH_NUM_ERR));
				}
			}
			// 割引サービス契約一意照会マップ.表示件数 → 表示件数 のエラー情報返却
			if (!template.isNull(EKK0451A010CBSMsg.DISPLAY_NUM_ERR)) {
				if (!inMap.containsKey("display_num_err")) {
					inMap.put("display_num_err", template.getString(EKK0451A010CBSMsg.DISPLAY_NUM_ERR));
				}
			}
			// 割引サービス契約一意照会マップ.表示ページ番号 → 表示ページ番号 のエラー情報返却
			if (!template.isNull(EKK0451A010CBSMsg.DISPLAY_PAGE_NUM_ERR)) {
				if (!inMap.containsKey("display_page_num_err")) {
					inMap.put("display_page_num_err", template.getString(EKK0451A010CBSMsg.DISPLAY_PAGE_NUM_ERR));
				}
			}
			// 割引サービス契約一意照会マップ.ＫＥＹ＿割引サービス契約番号 → ＫＥＹ＿割引サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0451A010CBSMsg.KEY_WRIB_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("key_wrib_svc_kei_no_err")) {
					inMap.put("key_wrib_svc_kei_no_err", template.getString(EKK0451A010CBSMsg.KEY_WRIB_SVC_KEI_NO_ERR));
				}
			}
			// 割引サービス契約一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → ＫＥＹ＿世代登録年月日時分秒 のエラー情報返却
			if (!template.isNull(EKK0451A010CBSMsg.KEY_GENE_ADD_DTM_ERR)) {
				if (!inMap.containsKey("key_gene_add_dtm_err")) {
					inMap.put("key_gene_add_dtm_err", template.getString(EKK0451A010CBSMsg.KEY_GENE_ADD_DTM_ERR));
				}
			}
			// 割引サービス契約一意照会マップ.ＫＥＹ＿予約適用年月日 → ＫＥＹ＿予約適用年月日 のエラー情報返却
			if (!template.isNull(EKK0451A010CBSMsg.KEY_RSV_APLY_YMD_ERR)) {
				if (!inMap.containsKey("key_rsv_aply_ymd_err")) {
					inMap.put("key_rsv_aply_ymd_err", template.getString(EKK0451A010CBSMsg.KEY_RSV_APLY_YMD_ERR));
				}
			}
		}
		else if (EKK0451C020.equals(svcIf))
		{
			// 割引サービス契約解約
			// 割引サービス契約解約マップ.割引サービス契約番号 → 割引サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.WRIB_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("wrib_svc_kei_no_err")) {
					inMap.put("wrib_svc_kei_no_err", template.getString(EKK0451C020CBSMsg.WRIB_SVC_KEI_NO_ERR));
				}
			}
			// 割引サービス契約解約マップ.予約適用開始希望年月日 → 予約適用開始希望年月日 のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.RSV_TSTA_KIBO_YMD_ERR)) {
				if (!inMap.containsKey("rsv_tsta_kibo_ymd_err")) {
					inMap.put("rsv_tsta_kibo_ymd_err", template.getString(EKK0451C020CBSMsg.RSV_TSTA_KIBO_YMD_ERR));
				}
			}
			// 割引サービス契約解約マップ.申込明細番号 → 申込明細番号 のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.MSKM_DTL_NO_ERR)) {
				if (!inMap.containsKey("mskm_dtl_no_err")) {
					inMap.put("mskm_dtl_no_err", template.getString(EKK0451C020CBSMsg.MSKM_DTL_NO_ERR));
				}
			}
			// 割引サービス契約解約マップ.プラン終了種別コード → プラン終了種別コード のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.PLAN_END_SBT_CD_ERR)) {
				if (!inMap.containsKey("plan_end_sbt_cd_err")) {
					inMap.put("plan_end_sbt_cd_err", template.getString(EKK0451C020CBSMsg.PLAN_END_SBT_CD_ERR));
				}
			}
			// 割引サービス契約解約マップ.サービス終了年月日 → サービス終了年月日 のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.SVC_ENDYMD_ERR)) {
				if (!inMap.containsKey("svc_endymd_err")) {
					inMap.put("svc_endymd_err", template.getString(EKK0451C020CBSMsg.SVC_ENDYMD_ERR));
				}
			}
			// 割引サービス契約解約マップ.サービス課金終了年月日 → サービス課金終了年月日 のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.SVC_CHRG_ENDYMD_ERR)) {
				if (!inMap.containsKey("svc_chrg_endymd_err")) {
					inMap.put("svc_chrg_endymd_err", template.getString(EKK0451C020CBSMsg.SVC_CHRG_ENDYMD_ERR));
				}
			}
			// 割引サービス契約解約マップ.サービス解約年月日 → サービス解約年月日 のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.SVC_DSL_YMD_ERR)) {
				if (!inMap.containsKey("svc_dsl_ymd_err")) {
					inMap.put("svc_dsl_ymd_err", template.getString(EKK0451C020CBSMsg.SVC_DSL_YMD_ERR));
				}
			}
			// 割引サービス契約解約マップ.サービス解約理由コード → サービス解約理由コード のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.SVC_DLRE_CD_ERR)) {
				if (!inMap.containsKey("svc_dlre_cd_err")) {
					inMap.put("svc_dlre_cd_err", template.getString(EKK0451C020CBSMsg.SVC_DLRE_CD_ERR));
				}
			}
			// 割引サービス契約解約マップ.サービス解約理由メモ → サービス解約理由メモ のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.SVC_DLRE_MEMO_ERR)) {
				if (!inMap.containsKey("svc_dlre_memo_err")) {
					inMap.put("svc_dlre_memo_err", template.getString(EKK0451C020CBSMsg.SVC_DLRE_MEMO_ERR));
				}
			}
			// 割引サービス契約解約マップ.違約金発生コード → 違約金発生コード のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.PNLTY_HASSEI_CD_ERR)) {
				if (!inMap.containsKey("pnlty_hassei_cd_err")) {
					inMap.put("pnlty_hassei_cd_err", template.getString(EKK0451C020CBSMsg.PNLTY_HASSEI_CD_ERR));
				}
			}
			// 割引サービス契約解約マップ.異動区分 → 異動区分 のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.IDO_DIV_ERR)) {
				if (!inMap.containsKey("ido_div_err")) {
					inMap.put("ido_div_err", template.getString(EKK0451C020CBSMsg.IDO_DIV_ERR));
				}
			}
			// 割引サービス契約解約マップ.割引解約キャンセル契機コード → 割引解約キャンセル契機コード のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.WRIB_DSL_CNCL_OPTY_CD_ERR)) {
				if (!inMap.containsKey("wrib_dsl_cncl_opty_cd_err")) {
					inMap.put("wrib_dsl_cncl_opty_cd_err", template.getString(EKK0451C020CBSMsg.WRIB_DSL_CNCL_OPTY_CD_ERR));
				}
			}
			// 割引サービス契約解約マップ.更新年月日時分秒（更新前） → 更新年月日時分秒（更新前） のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.UPD_DTM_BF_ERR)) {
				if (!inMap.containsKey("upd_dtm_bf_err")) {
					inMap.put("upd_dtm_bf_err", template.getString(EKK0451C020CBSMsg.UPD_DTM_BF_ERR));
				}
			}
			
// SEP-0020-00-00 ADD Start
			
			// 割引サービス契約解約マップ.サービス課金開始年月日 → サービス課金開始年月日 のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.SVC_CHRG_STAYMD_ERR)) {
				if (!inMap.containsKey("svc_chrg_staymd_err")) {
					inMap.put("svc_chrg_staymd_err", template.getString(EKK0451C020CBSMsg.SVC_CHRG_STAYMD_ERR));
				}
			}
			// 割引サービス契約解約マップ.サービス課金終了年月日算出フラグ → サービス課金終了年月日算出フラグ のエラー情報返却
			if (!template.isNull(EKK0451C020CBSMsg.SVC_CHRG_ENDYMD_FLG_ERR)) {
				if (!inMap.containsKey("svc_chrg_endymd_flg_err")) {
					inMap.put("svc_chrg_endymd_flg_err", template.getString(EKK0451C020CBSMsg.SVC_CHRG_ENDYMD_FLG_ERR));
				}
			}
// SEP-0020-00-00 ADD End

			
		}
		else if (EKK0451C030.equals(svcIf))
		{
			// 割引サービス契約解約確定
			// 割引サービス契約解約確定マップ.割引サービス契約番号 → 割引サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0451C030CBSMsg.WRIB_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("wrib_svc_kei_no_err")) {
					inMap.put("wrib_svc_kei_no_err", template.getString(EKK0451C030CBSMsg.WRIB_SVC_KEI_NO_ERR));
				}
			}
			// 割引サービス契約解約確定マップ.世代登録年月日時分秒 → 世代登録年月日時分秒 のエラー情報返却
			if (!template.isNull(EKK0451C030CBSMsg.GENE_ADD_DTM_ERR)) {
				if (!inMap.containsKey("gene_add_dtm_err")) {
					inMap.put("gene_add_dtm_err", template.getString(EKK0451C030CBSMsg.GENE_ADD_DTM_ERR));
				}
			}
			// 割引サービス契約解約確定マップ.サービス終了年月日 → サービス終了年月日 のエラー情報返却
			if (!template.isNull(EKK0451C030CBSMsg.SVC_ENDYMD_ERR)) {
				if (!inMap.containsKey("svc_endymd_err")) {
					inMap.put("svc_endymd_err", template.getString(EKK0451C030CBSMsg.SVC_ENDYMD_ERR));
				}
			}
			// 割引サービス契約解約確定マップ.サービス課金終了年月日 → サービス課金終了年月日 のエラー情報返却
			if (!template.isNull(EKK0451C030CBSMsg.SVC_CHRG_ENDYMD_ERR)) {
				if (!inMap.containsKey("svc_chrg_endymd_err")) {
					inMap.put("svc_chrg_endymd_err", template.getString(EKK0451C030CBSMsg.SVC_CHRG_ENDYMD_ERR));
				}
			}
			// 割引サービス契約解約確定マップ.サービス解約年月日 → サービス解約年月日 のエラー情報返却
			if (!template.isNull(EKK0451C030CBSMsg.SVC_DSL_YMD_ERR)) {
				if (!inMap.containsKey("svc_dsl_ymd_err")) {
					inMap.put("svc_dsl_ymd_err", template.getString(EKK0451C030CBSMsg.SVC_DSL_YMD_ERR));
				}
			}
			// 割引サービス契約解約確定マップ.サービス解約理由コード → サービス解約理由コード のエラー情報返却
			if (!template.isNull(EKK0451C030CBSMsg.SVC_DLRE_CD_ERR)) {
				if (!inMap.containsKey("svc_dlre_cd_err")) {
					inMap.put("svc_dlre_cd_err", template.getString(EKK0451C030CBSMsg.SVC_DLRE_CD_ERR));
				}
			}
			// 割引サービス契約解約確定マップ.サービス解約理由メモ → サービス解約理由メモ のエラー情報返却
			if (!template.isNull(EKK0451C030CBSMsg.SVC_DLRE_MEMO_ERR)) {
				if (!inMap.containsKey("svc_dlre_memo_err")) {
					inMap.put("svc_dlre_memo_err", template.getString(EKK0451C030CBSMsg.SVC_DLRE_MEMO_ERR));
				}
			}
			// 割引サービス契約解約確定マップ.更新年月日時分秒（更新前） → 更新年月日時分秒（更新前） のエラー情報返却
			if (!template.isNull(EKK0451C030CBSMsg.UPD_DTM_BF_ERR)) {
				if (!inMap.containsKey("upd_dtm_bf_err")) {
					inMap.put("upd_dtm_bf_err", template.getString(EKK0451C030CBSMsg.UPD_DTM_BF_ERR));
				}
			}
		}
		else if (EKK0451C070.equals(svcIf))
		{
			// 割引サービス契約キャンセル
			// 割引サービス契約キャンセルマップ.割引サービス契約番号 → 割引サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0451C070CBSMsg.WRIB_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("wrib_svc_kei_no_err")) {
					inMap.put("wrib_svc_kei_no_err", template.getString(EKK0451C070CBSMsg.WRIB_SVC_KEI_NO_ERR));
				}
			}
			// 割引サービス契約キャンセルマップ.申込明細番号 → 申込明細番号 のエラー情報返却
			if (!template.isNull(EKK0451C070CBSMsg.MSKM_DTL_NO_ERR)) {
				if (!inMap.containsKey("mskm_dtl_no_err")) {
					inMap.put("mskm_dtl_no_err", template.getString(EKK0451C070CBSMsg.MSKM_DTL_NO_ERR));
				}
			}
			// 割引サービス契約キャンセルマップ.サービスキャンセル理由コード → サービスキャンセル理由コード のエラー情報返却
			if (!template.isNull(EKK0451C070CBSMsg.SVC_CANCEL_RSN_CD_ERR)) {
				if (!inMap.containsKey("svc_cancel_rsn_cd_err")) {
					inMap.put("svc_cancel_rsn_cd_err", template.getString(EKK0451C070CBSMsg.SVC_CANCEL_RSN_CD_ERR));
				}
			}
			// 割引サービス契約キャンセルマップ.異動区分 → 異動区分 のエラー情報返却
			if (!template.isNull(EKK0451C070CBSMsg.IDO_DIV_ERR)) {
				if (!inMap.containsKey("ido_div_err")) {
					inMap.put("ido_div_err", template.getString(EKK0451C070CBSMsg.IDO_DIV_ERR));
				}
			}
			// 割引サービス契約キャンセルマップ.割引解約キャンセル契機コード → 割引解約キャンセル契機コード のエラー情報返却
			if (!template.isNull(EKK0451C070CBSMsg.WRIB_DSL_CNCL_OPTY_CD_ERR)) {
				if (!inMap.containsKey("wrib_dsl_cncl_opty_cd_err")) {
					inMap.put("wrib_dsl_cncl_opty_cd_err", template.getString(EKK0451C070CBSMsg.WRIB_DSL_CNCL_OPTY_CD_ERR));
				}
			}
			// 割引サービス契約キャンセルマップ.更新年月日時分秒（更新前） → 更新年月日時分秒（更新前） のエラー情報返却
			if (!template.isNull(EKK0451C070CBSMsg.UPD_DTM_BF_ERR)) {
				if (!inMap.containsKey("upd_dtm_bf_err")) {
					inMap.put("upd_dtm_bf_err", template.getString(EKK0451C070CBSMsg.UPD_DTM_BF_ERR));
				}
			}
		}
		else if (EKK0451D010.equals(svcIf))
		{
			// 割引サービス契約登録SCマップ.SYSID → SYSID のエラー情報返却
			if (!template.isNull(EKK0451D010CBSMsg.SYSID_ERR)) {
				if (!inMap.containsKey("sysid_err")) {
					inMap.put("sysid_err", template.getString(EKK0451D010CBSMsg.SYSID_ERR));
				}
			}
			// 割引サービス契約登録SCマップ.割引サービスコード → 割引サービスコード のエラー情報返却
			if (!template.isNull(EKK0451D010CBSMsg.WRIB_SVC_CD_ERR)) {
				if (!inMap.containsKey("wrib_svc_cd_err")) {
					inMap.put("wrib_svc_cd_err", template.getString(EKK0451D010CBSMsg.WRIB_SVC_CD_ERR));
				}
			}
			// 割引サービス契約登録SCマップ.サービス利用開始希望年月日 → サービス利用開始希望年月日 のエラー情報返却
			if (!template.isNull(EKK0451D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR)) {
				if (!inMap.containsKey("svc_use_sta_kibo_ymd_err")) {
					inMap.put("svc_use_sta_kibo_ymd_err", template.getString(EKK0451D010CBSMsg.SVC_USE_STA_KIBO_YMD_ERR));
				}
			}
			// 割引サービス契約登録SCマップ.異動区分 → 異動区分 のエラー情報返却
			if (!template.isNull(EKK0451D010CBSMsg.IDO_DIV_ERR)) {
				if (!inMap.containsKey("ido_div_err")) {
					inMap.put("ido_div_err", template.getString(EKK0451D010CBSMsg.IDO_DIV_ERR));
				}
			}
			inList = (ArrayList)inMap.get("EKK0451D010CBSMsg1List");
			if (inList == null) {
				inList = new ArrayList();
				inMap.put("EKK0451D010CBSMsg1List", inList);
			}

			templateArray = template.getCAANMsgList(EKK0451D010CBSMsg.EKK0451D010CBSMSG1LIST);

			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];

					// 割引サービス契約登録SCマップ.割引サービス対象契約明細.対象契約識別コード → 割引サービス対象契約明細.対象契約識別コード のエラー情報返却
					if (!childTemplate.isNull(EKK0451D010CBSMsg1List.TG_KEI_SKBT_CD_ERR)) {
						if (!childMap.containsKey("tg_kei_skbt_cd_err")) {
							childMap.put("tg_kei_skbt_cd_err", childTemplate.getString(EKK0451D010CBSMsg1List.TG_KEI_SKBT_CD_ERR));
						}
					}
					// 割引サービス契約登録SCマップ.割引サービス対象契約明細.割引サービス対象契約適用開始年月日 → 割引サービス対象契約明細.割引サービス対象契約適用開始年月日 のエラー情報返却
					if (!childTemplate.isNull(EKK0451D010CBSMsg1List.WRISVC_TG_KEI_TSTAYMD_ERR)) {
						if (!childMap.containsKey("wrisvc_tg_kei_tstaymd_err")) {
							childMap.put("wrisvc_tg_kei_tstaymd_err", childTemplate.getString(EKK0451D010CBSMsg1List.WRISVC_TG_KEI_TSTAYMD_ERR));
						}
					}
					// 割引サービス契約登録SCマップ.割引サービス対象契約明細.割引サービス対象契約適用終了年月日 → 割引サービス対象契約明細.割引サービス対象契約適用終了年月日 のエラー情報返却
					if (!childTemplate.isNull(EKK0451D010CBSMsg1List.WRISVC_TG_KEI_TENDYMD_ERR)) {
						if (!childMap.containsKey("wrisvc_tg_kei_tendymd_err")) {
							childMap.put("wrisvc_tg_kei_tendymd_err", childTemplate.getString(EKK0451D010CBSMsg1List.WRISVC_TG_KEI_TENDYMD_ERR));
						}
					}
				}
			}
			if (!template.isNull(EKK0451D010CBSMsg.EKK0451D010CBSMSG1LIST_ERR)) {
				if (!inMap.containsKey("EKK0451D010CBSMsg1List_err")) {
					inMap.put("EKK0451D010CBSMsg1List_err", template.getString(EKK0451D010CBSMsg.EKK0451D010CBSMSG1LIST_ERR));
				}
			}
		}
		else if (EKK0481B001.equals(svcIf))
		{
			// 割引サービス対象契約一覧照会
			// 割引サービス対象契約一覧照会マップ.検索処理パターン → 検索処理パターン のエラー情報返却
			if (!template.isNull(EKK0481B001CBSMsg.SEARCH_TYPE_ERR)) {
				if (!inMap.containsKey("search_type_err")) {
					inMap.put("search_type_err", template.getString(EKK0481B001CBSMsg.SEARCH_TYPE_ERR));
				}
			}
			// 割引サービス対象契約一覧照会マップ.最大検索件数 → 最大検索件数 のエラー情報返却
			if (!template.isNull(EKK0481B001CBSMsg.MAX_SEARCH_NUM_ERR)) {
				if (!inMap.containsKey("max_search_num_err")) {
					inMap.put("max_search_num_err", template.getString(EKK0481B001CBSMsg.MAX_SEARCH_NUM_ERR));
				}
			}
			// 割引サービス対象契約一覧照会マップ.表示件数 → 表示件数 のエラー情報返却
			if (!template.isNull(EKK0481B001CBSMsg.DISPLAY_NUM_ERR)) {
				if (!inMap.containsKey("display_num_err")) {
					inMap.put("display_num_err", template.getString(EKK0481B001CBSMsg.DISPLAY_NUM_ERR));
				}
			}
			// 割引サービス対象契約一覧照会マップ.表示ページ番号 → 表示ページ番号 のエラー情報返却
			if (!template.isNull(EKK0481B001CBSMsg.DISPLAY_PAGE_NUM_ERR)) {
				if (!inMap.containsKey("display_page_num_err")) {
					inMap.put("display_page_num_err", template.getString(EKK0481B001CBSMsg.DISPLAY_PAGE_NUM_ERR));
				}
			}
			// 割引サービス対象契約一覧照会マップ.ＫＥＹ＿サービス契約番号 → ＫＥＹ＿サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0481B001CBSMsg.KEY_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("key_svc_kei_no_err")) {
					inMap.put("key_svc_kei_no_err", template.getString(EKK0481B001CBSMsg.KEY_SVC_KEI_NO_ERR));
				}
			}
			// 割引サービス対象契約一覧照会マップ.ＫＥＹ＿サービス契約内訳番号 → ＫＥＹ＿サービス契約内訳番号 のエラー情報返却
			if (!template.isNull(EKK0481B001CBSMsg.KEY_SVC_KEI_UCWK_NO_ERR)) {
				if (!inMap.containsKey("key_svc_kei_ucwk_no_err")) {
					inMap.put("key_svc_kei_ucwk_no_err", template.getString(EKK0481B001CBSMsg.KEY_SVC_KEI_UCWK_NO_ERR));
				}
			}
			// 割引サービス対象契約一覧照会マップ.ＫＥＹ＿オプションサービス契約番号 → ＫＥＹ＿オプションサービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0481B001CBSMsg.KEY_OP_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("key_op_svc_kei_no_err")) {
					inMap.put("key_op_svc_kei_no_err", template.getString(EKK0481B001CBSMsg.KEY_OP_SVC_KEI_NO_ERR));
				}
			}
			// 割引サービス対象契約一覧照会マップ.ＫＥＹ＿サブオプションサービス契約番号 → ＫＥＹ＿サブオプションサービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0481B001CBSMsg.KEY_SBOP_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("key_sbop_svc_kei_no_err")) {
					inMap.put("key_sbop_svc_kei_no_err", template.getString(EKK0481B001CBSMsg.KEY_SBOP_SVC_KEI_NO_ERR));
				}
			}
			// 割引サービス対象契約一覧照会マップ.ＫＥＹ＿機器提供サービス契約番号 → ＫＥＹ＿機器提供サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0481B001CBSMsg.KEY_KKTK_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("key_kktk_svc_kei_no_err")) {
					inMap.put("key_kktk_svc_kei_no_err", template.getString(EKK0481B001CBSMsg.KEY_KKTK_SVC_KEI_NO_ERR));
				}
			}
			// 割引サービス対象契約一覧照会マップ.ＫＥＹ＿割引サービス契約番号 → ＫＥＹ＿割引サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0481B001CBSMsg.KEY_WRIB_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("key_wrib_svc_kei_no_err")) {
					inMap.put("key_wrib_svc_kei_no_err", template.getString(EKK0481B001CBSMsg.KEY_WRIB_SVC_KEI_NO_ERR));
				}
			}
		}
		else if (EKK0841A010.equals(svcIf))
		{
			// 割引サービス一意照会
			// 割引サービス一意照会マップ.検索処理パターン → 検索処理パターン のエラー情報返却
			if (!template.isNull(EKK0841A010CBSMsg.SEARCH_TYPE_ERR)) {
				if (!inMap.containsKey("search_type_err")) {
					inMap.put("search_type_err", template.getString(EKK0841A010CBSMsg.SEARCH_TYPE_ERR));
				}
			}
			// 割引サービス一意照会マップ.最大検索件数 → 最大検索件数 のエラー情報返却
			if (!template.isNull(EKK0841A010CBSMsg.MAX_SEARCH_NUM_ERR)) {
				if (!inMap.containsKey("max_search_num_err")) {
					inMap.put("max_search_num_err", template.getString(EKK0841A010CBSMsg.MAX_SEARCH_NUM_ERR));
				}
			}
			// 割引サービス一意照会マップ.表示件数 → 表示件数 のエラー情報返却
			if (!template.isNull(EKK0841A010CBSMsg.DISPLAY_NUM_ERR)) {
				if (!inMap.containsKey("display_num_err")) {
					inMap.put("display_num_err", template.getString(EKK0841A010CBSMsg.DISPLAY_NUM_ERR));
				}
			}
			// 割引サービス一意照会マップ.表示ページ番号 → 表示ページ番号 のエラー情報返却
			if (!template.isNull(EKK0841A010CBSMsg.DISPLAY_PAGE_NUM_ERR)) {
				if (!inMap.containsKey("display_page_num_err")) {
					inMap.put("display_page_num_err", template.getString(EKK0841A010CBSMsg.DISPLAY_PAGE_NUM_ERR));
				}
			}
			// 割引サービス一意照会マップ.ＫＥＹ＿割引サービスコード → ＫＥＹ＿割引サービスコード のエラー情報返却
			if (!template.isNull(EKK0841A010CBSMsg.KEY_WRIB_SVC_CD_ERR)) {
				if (!inMap.containsKey("key_wrib_svc_cd_err")) {
					inMap.put("key_wrib_svc_cd_err", template.getString(EKK0841A010CBSMsg.KEY_WRIB_SVC_CD_ERR));
				}
			}
			// 割引サービス一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → ＫＥＹ＿世代登録年月日時分秒 のエラー情報返却
			if (!template.isNull(EKK0841A010CBSMsg.KEY_GENE_ADD_DTM_ERR)) {
				if (!inMap.containsKey("key_gene_add_dtm_err")) {
					inMap.put("key_gene_add_dtm_err", template.getString(EKK0841A010CBSMsg.KEY_GENE_ADD_DTM_ERR));
				}
			}
			// 割引サービス一意照会マップ.ＫＥＹ＿予約適用年月日 → ＫＥＹ＿予約適用年月日 のエラー情報返却
			if (!template.isNull(EKK0841A010CBSMsg.KEY_RSV_APLY_YMD_ERR)) {
				if (!inMap.containsKey("key_rsv_aply_ymd_err")) {
					inMap.put("key_rsv_aply_ymd_err", template.getString(EKK0841A010CBSMsg.KEY_RSV_APLY_YMD_ERR));
				}
			}
		}
		else if (EKK1091D010.equals(svcIf))
		{
			// 進捗登録
			// 進捗登録.請求契約番号 → 請求契約番号 のエラー情報返却
			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.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.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_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));
				}
			}
		}
		else if (EKK2361B010.equals(svcIf))
		{
			// 割引サービス契約内訳一覧照会
			// 割引サービス契約内訳一覧照会マップ.検索処理パターン → 検索処理パターン のエラー情報返却
			if (!template.isNull(EKK2361B010CBSMsg.SEARCH_TYPE_ERR)) {
				if (!inMap.containsKey("search_type_err")) {
					inMap.put("search_type_err", template.getString(EKK2361B010CBSMsg.SEARCH_TYPE_ERR));
				}
			}
			// 割引サービス契約内訳一覧照会マップ.最大検索件数 → 最大検索件数 のエラー情報返却
			if (!template.isNull(EKK2361B010CBSMsg.MAX_SEARCH_NUM_ERR)) {
				if (!inMap.containsKey("max_search_num_err")) {
					inMap.put("max_search_num_err", template.getString(EKK2361B010CBSMsg.MAX_SEARCH_NUM_ERR));
				}
			}
			// 割引サービス契約内訳一覧照会マップ.表示件数 → 表示件数 のエラー情報返却
			if (!template.isNull(EKK2361B010CBSMsg.DISPLAY_NUM_ERR)) {
				if (!inMap.containsKey("display_num_err")) {
					inMap.put("display_num_err", template.getString(EKK2361B010CBSMsg.DISPLAY_NUM_ERR));
				}
			}
			// 割引サービス契約内訳一覧照会マップ.表示ページ番号 → 表示ページ番号 のエラー情報返却
			if (!template.isNull(EKK2361B010CBSMsg.DISPLAY_PAGE_NUM_ERR)) {
				if (!inMap.containsKey("display_page_num_err")) {
					inMap.put("display_page_num_err", template.getString(EKK2361B010CBSMsg.DISPLAY_PAGE_NUM_ERR));
				}
			}
			// 割引サービス契約内訳一覧照会マップ.ＫＥＹ＿割引サービス契約番号 → ＫＥＹ＿割引サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK2361B010CBSMsg.KEY_WRIB_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("key_svc_kei_no_err")) {
					inMap.put("key_svc_kei_no_err", template.getString(EKK2361B010CBSMsg.KEY_WRIB_SVC_KEI_NO_ERR));
				}
			}
		}
		else if (EKK0081A010.equals(svcIf))
		{
			// サービス契約一意照会マップ.ＫＥＹ＿サービス契約番号 → ＫＥＹ＿サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0081A010CBSMsg.KEY_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("key_svc_kei_no_err")) {
					inMap.put("key_svc_kei_no_err", template.getString(EKK0081A010CBSMsg.KEY_SVC_KEI_NO_ERR));
				}
			}
			// サービス契約一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → ＫＥＹ＿世代登録年月日時分秒 のエラー情報返却
			if (!template.isNull(EKK0081A010CBSMsg.KEY_GENE_ADD_DTM_ERR)) {
				if (!inMap.containsKey("key_gene_add_dtm_err")) {
					inMap.put("key_gene_add_dtm_err", template.getString(EKK0081A010CBSMsg.KEY_GENE_ADD_DTM_ERR));
				}
			}
			// サービス契約一意照会マップ.ＫＥＹ＿予約適用年月日 → ＫＥＹ＿予約適用年月日 のエラー情報返却
			if (!template.isNull(EKK0081A010CBSMsg.KEY_RSV_APLY_YMD_ERR)) {
				if (!inMap.containsKey("key_rsv_aply_ymd_err")) {
					inMap.put("key_rsv_aply_ymd_err", template.getString(EKK0081A010CBSMsg.KEY_RSV_APLY_YMD_ERR));
				}
			}
		}
		else if (EKK0451C200.equals(svcIf))
		{
			if (!template.isNull(EKK0451C200CBSMsg.WRIB_SVC_KEI_NO_KK0451_ERR)) {
				if (!inMap.containsKey("wrib_svc_kei_no_kk0451_err")) {
					inMap.put("wrib_svc_kei_no_kk0451_err", template.getString(EKK0451C200CBSMsg.WRIB_SVC_KEI_NO_KK0451_ERR));
				}
			}
			if (!template.isNull(EKK0451C200CBSMsg.PLAN_STAYMD_ERR)) {
				if (!inMap.containsKey("plan_staymd_err")) {
					inMap.put("plan_staymd_err", template.getString(EKK0451C200CBSMsg.PLAN_STAYMD_ERR));
				}
			}
			if (!template.isNull(EKK0451C200CBSMsg.PLAN_ENDYMD_ERR)) {
				if (!inMap.containsKey("plan_endymd_err")) {
					inMap.put("plan_endymd_err", template.getString(EKK0451C200CBSMsg.PLAN_ENDYMD_ERR));
				}
			}
			if (!template.isNull(EKK0451C200CBSMsg.PLAN_CHRG_STAYMD_ERR)) {
				if (!inMap.containsKey("plan_chrg_staymd_err")) {
					inMap.put("plan_chrg_staymd_err", template.getString(EKK0451C200CBSMsg.PLAN_CHRG_STAYMD_ERR));
				}
			}
			if (!template.isNull(EKK0451C200CBSMsg.PLAN_CHRG_ENDYMD_ERR)) {
				if (!inMap.containsKey("plan_chrg_endymd_err")) {
					inMap.put("plan_chrg_endymd_err", template.getString(EKK0451C200CBSMsg.PLAN_CHRG_ENDYMD_ERR));
				}
			}
			if (!template.isNull(EKK0451C200CBSMsg.SVC_STA_YMD_ERR)) {
				if (!inMap.containsKey("svc_sta_ymd_err")) {
					inMap.put("svc_sta_ymd_err", template.getString(EKK0451C200CBSMsg.SVC_STA_YMD_ERR));
				}
			}
			if (!template.isNull(EKK0451C200CBSMsg.SVC_CHRG_STAYMD_KK0451_ERR)) {
				if (!inMap.containsKey("svc_chrg_staymd_kk0451_err")) {
					inMap.put("svc_chrg_staymd_kk0451_err", template.getString(EKK0451C200CBSMsg.SVC_CHRG_STAYMD_KK0451_ERR));
				}
			}
			if (!template.isNull(EKK0451C200CBSMsg.SVC_ENDYMD_ERR)) {
				if (!inMap.containsKey("svc_endymd_err")) {
					inMap.put("svc_endymd_err", template.getString(EKK0451C200CBSMsg.SVC_ENDYMD_ERR));
				}
			}
			if (!template.isNull(EKK0451C200CBSMsg.SVC_CHRG_ENDYMD_KK0451_ERR)) {
				if (!inMap.containsKey("svc_chrg_endymd_kk0451_err")) {
					inMap.put("svc_chrg_endymd_kk0451_err", template.getString(EKK0451C200CBSMsg.SVC_CHRG_ENDYMD_KK0451_ERR));
				}
			}
			if (!template.isNull(EKK0451C200CBSMsg.IDO_DIV_ERR)) {
				if (!inMap.containsKey("ido_div_err")) {
					inMap.put("ido_div_err", template.getString(EKK0451C200CBSMsg.IDO_DIV_ERR));
				}
			}
			if (!template.isNull(EKK0451C200CBSMsg.UPD_DTM_BF_ERR)) {
				if (!inMap.containsKey("upd_dtm_bf_err")) {
					inMap.put("upd_dtm_bf_err", template.getString(EKK0451C200CBSMsg.UPD_DTM_BF_ERR));
				}
			}
		}
		else if (EKK0351A010.equals(svcIf))
		{
			// オプションサービス契約一意照会マップ.ＫＥＹ＿オプションサービス契約番号 → ＫＥＹ＿オプションサービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0351A010CBSMsg.KEY_OP_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("key_op_svc_kei_no_err")) {
					inMap.put("key_op_svc_kei_no_err", template.getString(EKK0351A010CBSMsg.KEY_OP_SVC_KEI_NO_ERR));
				}
			}
			// オプションサービス契約一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → ＫＥＹ＿世代登録年月日時分秒 のエラー情報返却
			if (!template.isNull(EKK0351A010CBSMsg.KEY_GENE_ADD_DTM_ERR)) {
				if (!inMap.containsKey("key_gene_add_dtm_err")) {
					inMap.put("key_gene_add_dtm_err", template.getString(EKK0351A010CBSMsg.KEY_GENE_ADD_DTM_ERR));
				}
			}
			// オプションサービス契約一意照会マップ.ＫＥＹ＿予約適用年月日 → ＫＥＹ＿予約適用年月日 のエラー情報返却
			if (!template.isNull(EKK0351A010CBSMsg.KEY_RSV_APLY_YMD_ERR)) {
				if (!inMap.containsKey("key_rsv_aply_ymd_err")) {
					inMap.put("key_rsv_aply_ymd_err", template.getString(EKK0351A010CBSMsg.KEY_RSV_APLY_YMD_ERR));
				}
			}
		}
		else if (EKK0341A010.equals(svcIf))
		{
			// 機器情報取得マップ.ＫＥＹ＿機器提供サービス契約番号 → ＫＥＹ＿機器提供サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("key_kktk_svc_kei_no_err")) {
					inMap.put("key_kktk_svc_kei_no_err", template.getString(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO_ERR));
				}
			}
			// 機器情報取得マップ.ＫＥＹ＿世代登録年月日時分秒 → ＫＥＹ＿世代登録年月日時分秒 のエラー情報返却
			if (!template.isNull(EKK0341A010CBSMsg.KEY_GENE_ADD_DTM_ERR)) {
				if (!inMap.containsKey("key_gene_add_dtm_err")) {
					inMap.put("key_gene_add_dtm_err", template.getString(EKK0341A010CBSMsg.KEY_GENE_ADD_DTM_ERR));
				}
			}
			// 機器情報取得マップ.ＫＥＹ＿予約適用年月日 → ＫＥＹ＿予約適用年月日 のエラー情報返却
			if (!template.isNull(EKK0341A010CBSMsg.KEY_RSV_APLY_YMD_ERR)) {
				if (!inMap.containsKey("key_rsv_aply_ymd_err")) {
					inMap.put("key_rsv_aply_ymd_err", template.getString(EKK0341A010CBSMsg.KEY_RSV_APLY_YMD_ERR));
				}
			}
		}
// v6.00.00 MOD Start
		else if (EKK2361C020.equals(svcIf))
		{
			// 割引サービス契約内訳割引適用回数更新
			// 割引サービス契約内訳割引適用回数更新マップ.割引サービス契約番号 → 割引サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK2361C020CBSMsg.WRIB_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("wrib_svc_kei_no_err")) {
					inMap.put("wrib_svc_kei_no_err", template.getString(EKK2361C020CBSMsg.WRIB_SVC_KEI_NO_ERR));
				}
			}
			// 割引サービス契約内訳割引適用回数更新マップ.割引サービス契約内訳番号 → 割引サービス契約内訳番号 のエラー情報返却
			if (!template.isNull(EKK2361C020CBSMsg.WRIB_SVC_KEI_UCWK_NO_ERR)) {
				if (!inMap.containsKey("wrib_svc_kei_ucwk_no_err")) {
					inMap.put("wrib_svc_kei_ucwk_no_err", template.getString(EKK2361C020CBSMsg.WRIB_SVC_KEI_UCWK_NO_ERR));
				}
			}
			// 割引サービス契約内訳割引適用回数更新マップ.割引適用回数 → 割引適用回数 のエラー情報返却
			if (!template.isNull(EKK2361C020CBSMsg.WRIB_APLY_CNT_ERR)) {
				if (!inMap.containsKey("wrib_aply_cnt_err")) {
					inMap.put("wrib_aply_cnt_err", template.getString(EKK2361C020CBSMsg.WRIB_APLY_CNT_ERR));
				}
			}
			// 割引サービス契約内訳割引適用回数更新マップ.更新年月日時分秒（更新前） → 更新年月日時分秒（更新前） のエラー情報返却
			if (!template.isNull(EKK2361C020CBSMsg.UPD_DTM_BF_ERR)) {
				if (!inMap.containsKey("upd_dtm_bf_err")) {
					inMap.put("upd_dtm_bf_err", template.getString(EKK2361C020CBSMsg.UPD_DTM_BF_ERR));
				}
			}
		}
		else if (EKK2361A010.equals(svcIf))
		{
			// 割引サービス契約内訳一意照
			// 割引サービス契約内訳一意照マップ.表示件数 → 表示件数 のエラー情報返却
			if (!template.isNull(EKK2361A010CBSMsg.DISPLAY_NUM_ERR)) {
				if (!inMap.containsKey("display_num_err")) {
					inMap.put("display_num_err", template.getString(EKK2361A010CBSMsg.DISPLAY_NUM_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.表示ページ番号 → 表示ページ番号 のエラー情報返却
			if (!template.isNull(EKK2361A010CBSMsg.DISPLAY_PAGE_NUM_ERR)) {
				if (!inMap.containsKey("display_page_num_err")) {
					inMap.put("display_page_num_err", template.getString(EKK2361A010CBSMsg.DISPLAY_PAGE_NUM_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.ＫＥＹ＿世代登録年月日時分秒 → ＫＥＹ＿世代登録年月日時分秒 のエラー情報返却
			if (!template.isNull(EKK2361A010CBSMsg.KEY_GENE_ADD_DTM_ERR)) {
				if (!inMap.containsKey("key_gene_add_dtm_err")) {
					inMap.put("key_gene_add_dtm_err", template.getString(EKK2361A010CBSMsg.KEY_GENE_ADD_DTM_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.ＫＥＹ＿割引サービス契約番号 → ＫＥＹ＿割引サービス契約番号 のエラー情報返却
			if (!template.isNull(EKK2361A010CBSMsg.KEY_WRIB_SVC_KEI_NO_ERR)) {
				if (!inMap.containsKey("key_wrib_svc_kei_no_err")) {
					inMap.put("key_wrib_svc_kei_no_err", template.getString(EKK2361A010CBSMsg.KEY_WRIB_SVC_KEI_NO_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.ＫＥＹ＿割引サービス契約内訳番号 → ＫＥＹ＿割引サービス契約内訳番号 のエラー情報返却
			if (!template.isNull(EKK2361A010CBSMsg.KEY_WRIB_SVC_KEI_UCWK_NO_ERR)) {
				if (!inMap.containsKey("key_wrib_svc_kei_ucwk_no_err")) {
					inMap.put("key_wrib_svc_kei_ucwk_no_err", template.getString(EKK2361A010CBSMsg.KEY_WRIB_SVC_KEI_UCWK_NO_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.最大検索件数 → 最大検索件数 のエラー情報返却
			if (!template.isNull(EKK2361A010CBSMsg.MAX_SEARCH_NUM_ERR)) {
				if (!inMap.containsKey("max_search_num_err")) {
					inMap.put("max_search_num_err", template.getString(EKK2361A010CBSMsg.MAX_SEARCH_NUM_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.検索エラーフラグ → 検索エラーフラグ のエラー情報返却
			if (!template.isNull(EKK2361A010CBSMsg.SEARCH_ERR_FLG_ERR)) {
				if (!inMap.containsKey("search_err_flg_err")) {
					inMap.put("search_err_flg_err", template.getString(EKK2361A010CBSMsg.SEARCH_ERR_FLG_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.検索処理パターン → 検索処理パターン のエラー情報返却
			if (!template.isNull(EKK2361A010CBSMsg.SEARCH_TYPE_ERR)) {
				if (!inMap.containsKey("search_type_err")) {
					inMap.put("search_type_err", template.getString(EKK2361A010CBSMsg.SEARCH_TYPE_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.総ページ数 → 総ページ数 のエラー情報返却
			if (!template.isNull(EKK2361A010CBSMsg.TOTAL_PAGE_NUM_ERR)) {
				if (!inMap.containsKey("total_page_num_err")) {
					inMap.put("total_page_num_err", template.getString(EKK2361A010CBSMsg.TOTAL_PAGE_NUM_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.総検索件数 → 総検索件数 のエラー情報返却
			if (!template.isNull(EKK2361A010CBSMsg.TOTAL_SEARCH_NUM_ERR)) {
				if (!inMap.containsKey("total_search_num_err")) {
					inMap.put("total_search_num_err", template.getString(EKK2361A010CBSMsg.TOTAL_SEARCH_NUM_ERR));
				}
			}
		}
		else if (ECH0501B010.equals(svcIf))
		{
			// 割引サービス契約内訳一意照
			// 割引サービス契約内訳一意照マップ.表示件数 → 表示件数 のエラー情報返却
			if (!template.isNull(ECH0501B010CBSMsg.DISPLAY_NUM_ERR)) {
				if (!inMap.containsKey("display_num_err")) {
					inMap.put("display_num_err", template.getString(ECH0501B010CBSMsg.DISPLAY_NUM_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.表示ページ番号 → 表示ページ番号 のエラー情報返却
			if (!template.isNull(ECH0501B010CBSMsg.DISPLAY_PAGE_NUM_ERR)) {
				if (!inMap.containsKey("display_page_num_err")) {
					inMap.put("display_page_num_err", template.getString(ECH0501B010CBSMsg.DISPLAY_PAGE_NUM_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.検索処理パターン → 検索処理パターン のエラー情報返却
			if (!template.isNull(ECH0501B010CBSMsg.SEARCH_TYPE_ERR)) {
				if (!inMap.containsKey("search_type_err")) {
					inMap.put("search_type_err", template.getString(ECH0501B010CBSMsg.SEARCH_TYPE_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.最大検索件数 → 最大検索件数 のエラー情報返却
			if (!template.isNull(ECH0501B010CBSMsg.MAX_SEARCH_NUM_ERR)) {
				if (!inMap.containsKey("max_search_num_err")) {
					inMap.put("max_search_num_err", template.getString(ECH0501B010CBSMsg.MAX_SEARCH_NUM_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.総ページ数 → 総ページ数 のエラー情報返却
			if (!template.isNull(ECH0501B010CBSMsg.TOTAL_SEARCH_NUM_ERR)) {
				if (!inMap.containsKey("total_search_num_err")) {
					inMap.put("total_search_num_err", template.getString(ECH0501B010CBSMsg.TOTAL_SEARCH_NUM_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.最大検索件数 → 最大検索件数 のエラー情報返却
			if (!template.isNull(ECH0501B010CBSMsg.TOTAL_PAGE_NUM_ERR)) {
				if (!inMap.containsKey("total_page_num_err")) {
					inMap.put("total_page_num_err", template.getString(ECH0501B010CBSMsg.TOTAL_PAGE_NUM_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.検索エラーフラグ → 検索エラーフラグ のエラー情報返却
			if (!template.isNull(ECH0501B010CBSMsg.SEARCH_ERR_FLG_ERR)) {
				if (!inMap.containsKey("search_err_flg_err")) {
					inMap.put("search_err_flg_err", template.getString(ECH0501B010CBSMsg.SEARCH_ERR_FLG_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.ＫＥＹ＿イベントコード → ＫＥＹ＿イベントコード のエラー情報返却
			if (!template.isNull(ECH0501B010CBSMsg.KEY_EVENT_CD_ERR)) {
				if (!inMap.containsKey("key_event_cd")) {
					inMap.put("key_event_cd", template.getString(ECH0501B010CBSMsg.KEY_EVENT_CD_ERR));
				}
			}
			// 割引サービス契約内訳一意照マップ.ＫＥＹ＿基準年月日 → ＫＥＹ＿基準年月日 のエラー情報返却
			if (!template.isNull(ECH0501B010CBSMsg.KEY_STDARDYMD_ERR)) {
				if (!inMap.containsKey("key_stdardymd")) {
					inMap.put("key_stdardymd", template.getString(ECH0501B010CBSMsg.KEY_STDARDYMD_ERR));
				}
			}
		}
// v6.00.00 MOD End
		else
		{
			// 処理なし
		}
		return param;
	}
}
