/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JCKCmpCustInfoUpdCC
*	ソースファイル名：JCKCmpCustInfoUpdCC.java
*	作成者			：FJ
*	日付			：2015年08月05日
*＜機能概要＞
*	CMPお客様情報更新処理の共通コンポーネント
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v17.00.00	2015/08/05	FJ）宇野	【ANK-2417-00-00】関電GCRMに伴う既存会員対応
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.bp.x21.bpm.ServiceComponentRequestInvoker;
import com.fujitsu.futurity.bp.x21.bpm.db.SessionHandle;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.ErrorLevel;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.bpm.parameter.StatusArea;
import com.fujitsu.futurity.bp.x21.bpm.parameter.StatusInfo;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.bp.x21.cc.exception.SCCallException;
import com.fujitsu.futurity.bp.x21.values.OUTBREAK_AREA;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.common.x01.sc.SCControlMapKeys;
import com.fujitsu.futurity.mapping.bp.common.TemplateErrorUtil;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.common.JCMAPLConstMgr;

import eo.common.constant.JCKStrConst;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0021A010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0021A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0021C010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0031A010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0031A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0031C020CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0031C020CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0041A010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0041A010CBSMsg1List;


/**
 * マイポータルから、更新情報を受取りお客様の情報を更新を行います。<p>
 * <BR>
 * @author 富士通
 */
public class JCKCmpCustInfoUpdCC extends AbstractCommonComponent
{
	/** お客様一意照会 */
	private static final String TEMPLATE_ID_ECK0011A010 = "ECK0011A010";
	/** お客様<個人>一意照会 */
	private static final String TEMPLATE_ID_ECK0021A010 = "ECK0021A010";
	/** お客様<法人>一意照会 */
	private static final String TEMPLATE_ID_ECK0031A010 = "ECK0031A010";
	/** お客様<個人>内容変更 */
	private static final String TEMPLATE_ID_ECK0021C010 = "ECK0021C010";
	/** 法人連絡先一意照会 */
	private static final String TEMPLATE_ID_ECK0041A010 = "ECK0041A010";
	/** お客様<法人>内容変更２ */
	private static final String TEMPLATE_ID_ECK0031C020 = "ECK0031C020";
	
	/** 機能コード（チェック＆登録） */
	private static final String FUNC_CODE_1 = "1";
	
	/** 機能コード（カレント取得） */
	private static final String FUNC_CODE_2 = "2";
	
	/**
	 * 
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText ユーザー固定文字列
	 * @return IRequestParameterReadWrite
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite custInfoUpDate(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		String dataMapKey = fixedText;
		HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(dataMapKey);
		
		// 一時領域データ
		HashMap<String, Object> temporaryData = new HashMap<String, Object>();
		
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない）
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		
		// 共通領域を取得
		Map workMap = (Map)param.getMappingWorkArea();
		if (workMap == null)
		{
			workMap = new HashMap();
			param.setMappingWorkArea(workMap);
		}
		
		
		// CMPお客様情報更新処理実行
		
		// 運用日を一時領域に格納する
		temporaryData.put("rsv_aply_ymd", JPCBPCommon.getOpeDate(null));
		
		// お客様一意照会のSIFを実行し、お客様スキーマから情報を取得します
		CAANMsg[] eck0011a010List = execECK0011A010(handle, scCall, param, temporaryData, dataMapKey);
		
		// お客様一意照会検索結果が存在する場合のみ処理する
		if (eck0011a010List != null && eck0011a010List.length > 0)
		{
			// お客様一意照会検索結果を一時領域に格納する
			temporaryData.put("ECK0011A010MSG", eck0011a010List[0]);
			
			// お客様<個人>一意照会のSIFを実行し、お客様<個人>スキーマから情報を取得します
			CAANMsg[] eck0021a010List = execECK0021A010(handle, scCall, param, temporaryData, dataMapKey);
			
			// お客様<個人>一意照会でデータが存在する場合
			if (eck0021a010List != null && eck0021a010List.length > 0)
			{
				// お客様<個人>一意照会検索結果を一時領域に格納する
				temporaryData.put("ECK0021A010MSG", eck0021a010List[0]);
				
				// お客様<個人>内容変更のSIFを実行し、お客様情報を更新します
				// パラメータの関電G個人情報を更新、他の項目はカレント引継をする
				CAANMsg eck0021c010Out = execECK0021C010(handle, scCall, param, temporaryData, dataMapKey);
				
				// お客様<個人>内容変更のSIFが正常終了した場合
				if (eck0021c010Out != null)
				{
					// 返却用の更新年月日時分秒を設定
					ccMsg.put("upd_dtm", eck0021c010Out.getString(ECK0021C010CBSMsg.UPD_DTM));
				}
			}
			else
			{
				// お客様<法人>一意照会のSIFを実行し、お客様<法人>スキーマから情報を取得します
				CAANMsg[] eck0031a010List = execECK0031A010(handle, scCall, param, temporaryData, dataMapKey);
				
				// 法人連絡先一意照会のSIFを実行し、法人連絡先スキーマから情報を取得します
				CAANMsg[] eck0041a010List = execECK0041A010(handle, scCall, param, temporaryData, dataMapKey);
				
				// お客様<法人>一意照会、法人連絡先一意照会でデータが存在する場合
				if ((eck0031a010List != null && eck0031a010List.length > 0) && (eck0041a010List != null && eck0041a010List.length > 0))
				{
					// お客様<法人>一意照会検索結果を一時領域に格納する
					temporaryData.put("ECK0031A010MSG", eck0031a010List[0]);
					
					// 法人連絡先一意照会検索結果を一時領域に格納する
					temporaryData.put("ECK0041A010MSG", eck0041a010List[0]);
					
					// お客様<法人>内容変更２のSIFを実行し、お客様情報を更新します
					// パラメータの関電G個人情報を更新、他の項目はカレント引継をする
					CAANMsg eck0031c020Out = execECK0031C020(handle, scCall, param, temporaryData, dataMapKey);
					
					// お客様<法人>内容変更２のSIFが正常終了した場合
					if (eck0031c020Out != null)
					{
						// 返却用の更新年月日時分秒を設定
						ccMsg.put("upd_dtm", eck0031c020Out.getString(ECK0031C020CBSMsg.UPD_DTM));
					}
				}
				// お客様<個人>一意照会、お客様<法人>一意照会または法人連絡先一意照会でデータが存在しない場合
				// システム上ありえない状態の為システムエラーとする
				else
				{
					//リターンコード
					param.setControlMapData(SCControlMapKeys.RETURN_CODE, "9000");
					param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, "システムエラー");
					
					//エラーレベル設定
					StatusArea sa = param.getStatusArea();
					StatusInfo si = new StatusInfo(ErrorLevel.EL988, OUTBREAK_AREA.CC);
					sa.setCurrent(si);
				}
			}
		}
		else
		{
			// エラーコード
			ccMsg.put("sysid_err", "EA");
			
			//リターンコード
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, "1100");
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, "関連チェックエラー");
			
			//エラーレベル設定
			StatusArea sa = param.getStatusArea();
			StatusInfo si = new StatusInfo(ErrorLevel.EL888, OUTBREAK_AREA.CC);
			sa.setCurrent(si);
		}
		
		
		return param;
	}
	
	/**
	 * SC(サービスインターフェイス）を呼び出す。
	 * 
	 * @param handle セッションハンドル
	 * @param scCall
	 * @param param リクエストパラメータ
	 * @param dataMapKey ユーザー固定文字列
	 * @param mappingData S-IFへのパラメータ
	 * @return CAANMsg
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg callSC(SessionHandle handle, 
							ServiceComponentRequestInvoker scCall, 
							IRequestParameterReadWrite param, 
							String dataMapKey,
							Object[][] mappingData) throws Exception
	{
		HashMap<String, Object> paramMap = editInMsg(param, mappingData);
		
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		CAANMsg[] templates = (CAANMsg[])result.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg msg = templates[0];
		
		// リターンコード取得
		Object return_code = result.get(JCMConstants.RET_CD_INT_KEY);
		Integer status = msg.getInt(JCMConstants.STATUS_INT_KEY);
		
		editErrorInfoCom(param, templates, (Integer)return_code, dataMapKey, mappingData);
		
		//エラー情報のマップを取得
		ArrayList<Object> errList = (ArrayList<Object>)param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if (errList == null)
		{
			errList = new ArrayList<Object>();
		}
		
		// コントロールマップに設定
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(result, errList));
		
		
		// 異常の場合、SCCallExceptionを生成してスローする
		if(!("0".equals(return_code.toString()) && 0 == status))
		{
			throw new SCCallException("戻り値不正", return_code.toString(), status);
		}
		return msg;
	}

	/**
	 * 上りマッピング処理(単項目)
	 * <br>
	 * @param param リクエストパラメータ
	 * @param mappingData S-IFへのパラメータ
	 * @return HashMap<String, Object>
	 * @throws RequestParameterException
	 */
	private HashMap<String, Object> editInMsg(IRequestParameterReadWrite param,
												Object[][] mappingData) throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// 【取得元：電文ヘッダ(ヘッダ)】
		// 電文ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
		// ユースケースID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
		// オペレーションID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
		// サービス呼び出し区分
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());
		
		// 【取得元：ユーザエリア(コントロールマップ)】
		// 依頼先ホスト名
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// 依頼元IPアドレス
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// 依頼元画面ID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// オペレータID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));
		
		CAANMsg template = new CAANMsg(String.format("eo.ejb.cbs.cbsmsg.%sCBSMsg", (String)mappingData[0][1]));
		
		// オペレータID
		template.set(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));
		// 運用日付
		template.set(JCMConstants.OPERATE_DATE_KEY, param.getControlMapData(SCControlMapKeys.OPE_DATE));
		// 運用日時
		template.set(JCMConstants.OPERATE_DATETIME_KEY, param.getControlMapData(SCControlMapKeys.OPE_TIME));
		
		for (int i = 0; i < mappingData.length; i++)
		{
			if ("".equals(mappingData[i][1]))
			{
				template.setNull((String)mappingData[i][0]);
			}
			else
			{
				template.set((String)mappingData[i][0], mappingData[i][1]);
			}
		}
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);
		return paramMap;
	}

	/**
	 * エラー情報のマッピング処理
	 * <br>
	 * @param param リクエストパラメータ
	 * @param templates
	 * @param returnCode
	 * @param dataMapKey ユーザー固定文字列
	 * @return IRequestParameterReadWrite
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoCom(IRequestParameterReadWrite param,
														CAANMsg[] templates, 
														int returnCode,
														String dataMapKey,
														Object[][] mappingData) throws RequestParameterException
	{
		// 本来はサービスインターフェイス分の処理が必要
		CAANMsg template = templates[0];
		int templateStatus = template.getInt(JCMConstants.STATUS_INT_KEY);
		
		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<String, String> inMap = null;
		
		// ユーザデータ情報
		inMap = (HashMap<String, String>)param.getData(dataMapKey);
		
		for (int i = 0; i < mappingData.length; i++)
		{
			if (!template.isNull(mappingData[i][0] + "_err"))
			{
				if (!inMap.containsKey(mappingData[i][0] + "_err"))
				{
					// ユーザ情報は「key_」がない為、「key_」を削除する。
					if (((String)mappingData[i][0]).startsWith("key_"))
					{
						String key = (String)mappingData[i][0];
						inMap.put(key.substring(4) + "_err", template.getString(mappingData[i][0] + "_err"));
					}
					else
					{
						inMap.put(mappingData[i][0] + "_err", template.getString(mappingData[i][0] + "_err"));
					}
				}
			}
		}
		return param;
	}

	/**
	 * エラー情報のマッピング処理
	 * <br>
	 * @param param リクエストパラメータ
	 * @param templates
	 * @param returnCode
	 * @param dataMapKey ユーザー固定文字列
	 * @return IRequestParameterReadWrite
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoCom(IRequestParameterReadWrite param,
														CAANMsg[] templates, 
														int returnCode,
														String dataMapKey) throws RequestParameterException
	{
		// 本来はサービスインターフェイス分の処理が必要
		CAANMsg template = templates[0];
		int templateStatus = template.getInt(JCMConstants.STATUS_INT_KEY);
		
		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<String, String> inMap = null;
		// ユーザデータ情報
		inMap = (HashMap<String, String>)param.getData(dataMapKey);
		
		Iterator<String> it = inMap.keySet().iterator();
		while (it.hasNext())
		{
			String key = it.next();
			if (key.endsWith("_err"))
			{
				if (!template.isNull(key))
				{
					if (!inMap.containsKey(key))
					{
						inMap.put(key, template.getString(key));
					}
				}
			}
		}
		return param;
	}

	/**
	 * SC(サービスインターフェイス）を呼び出す。(パラメータリスト用)
	 * <br>
	 * @param handle セッションハンドル
	 * @param scCall
	 * @param param リクエストパラメータ
	 * @param dataMapKey ユーザー固定文字列
	 * @param mappingData S-IFへのパラメータ
	 * @param inListMsgName S-IFリスト項目名
	 * @param inList S-IFへのパラメータ(リスト分)
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg callSCArray(SessionHandle handle, 
									ServiceComponentRequestInvoker scCall, 
									IRequestParameterReadWrite param, 
									String dataMapKey,
									Object[][] mappingData,
									String inListMsgName, 
									ArrayList<HashMap<String, Object>> inList
									) throws Exception
	{
		HashMap<String, Object> paramMap = editInArrayMsg(param, mappingData, inListMsgName, inList);
		
		Map<?, ?> result = scCall.run(paramMap, handle);
		
		CAANMsg[] templates = (CAANMsg[])result.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg msg = templates[0];
		
		// リターンコード取得
		Object return_code = result.get(JCMConstants.RET_CD_INT_KEY);
		int status = msg.getInt(JCMConstants.STATUS_INT_KEY);
		
		editErrorInfoCom(param, templates, (Integer)return_code, dataMapKey, mappingData);
		
		editErrorInfoComArray(param, templates, (Integer)return_code, dataMapKey, mappingData, inListMsgName, inList);
		
		//エラー情報のマップを取得
		ArrayList<Object> errList = (ArrayList<Object>)param.getControlMapData(SCControlMapKeys.ERROR_INFO);
		if (errList == null)
		{
			errList = new ArrayList<Object>();
		}
		
		
		// コントロールマップに設定
		param.setControlMapData(SCControlMapKeys.ERROR_INFO, TemplateErrorUtil.getErrorInfo(result, errList));
		
		// 異常の場合、SCCallExceptionを生成してスローする
		if(!("0".equals(return_code.toString()) && 0 == status))
		{
			throw new SCCallException("戻り値不正", return_code.toString(), status);
		}
		return msg;
	}

	/**
	 * 上りマッピング処理(パラメータリスト用)
	 * <br>
	 * @param param リクエストパラメータ
	 * @param mappingData S-IFへのパラメータ
	 * @param inListMsgName S-IFリスト項目名
	 * @param inList S-IFへのパラメータ(リスト分)
	 * @return
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editInArrayMsg(IRequestParameterReadWrite param,
													Object[][] mappingData, 
													String inListMsgName, 
													ArrayList<HashMap<String, Object>> inList) throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		// 【取得元：電文ヘッダ(ヘッダ)】
		// 電文ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
		// ユースケースID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
		// オペレーションID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
		// サービス呼び出し区分
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());
		
		// 【取得元：ユーザエリア(コントロールマップ)】
		// 依頼先ホスト名
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// 依頼元IPアドレス
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// 依頼元画面ID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// オペレータID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));
		
		String svcIf = (String)mappingData[0][1];
		
		CAANMsg template = new CAANMsg(String.format("eo.ejb.cbs.cbsmsg.%sCBSMsg", svcIf));
		// オペレータID
		template.set(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));
		// 運用日付
		template.set(JCMConstants.OPERATE_DATE_KEY, param.getControlMapData(SCControlMapKeys.OPE_DATE));
		// 運用日時
		template.set(JCMConstants.OPERATE_DATETIME_KEY, param.getControlMapData(SCControlMapKeys.OPE_TIME));
		
		for (int i = 0; i < mappingData.length; i++)
		{
			if ("".equals(mappingData[i][1]))
			{
				template.setNull((String)mappingData[i][0]);
			}
			else
			{
				template.set((String)mappingData[i][0], mappingData[i][1]);
			}
		}
		
		CAANMsg[] templateArray = template.getCAANMsgList(inListMsgName);
		
		if (templateArray == null)
		{
			templateArray = new CAANMsg[inList.size()];
		}
		
		for (int i = 0; i < inList.size(); i++)
		{
			HashMap childMap = (HashMap)inList.get(i);
			CAANMsg childTemplate = templateArray[i];
			if (childTemplate == null)
			{
				childTemplate = new CAANMsg(String.format("eo.ejb.cbs.cbsmsg.%sCBSMsg1List", svcIf));
			}
			
			Iterator it = childMap.keySet().iterator();
			while (it.hasNext())
			{
				String key = (String)it.next();
				
				if ("".equals(childMap.get(key)))
				{
					childTemplate.setNull(key);
				}
				else
				{
					childTemplate.set(key, (String)childMap.get(key));
				}
			}
			templateArray[i] = childTemplate;
		}
		template.set(inListMsgName, templateArray);
		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);
		return paramMap;
	}

	/**
	 * エラー情報のマッピング処理(パラメータリスト用)
	 * <br>
	 * @param param リクエストパラメータ
	 * @param templates
	 * @param returnCode
	 * @param dataMapKey ユーザー固定文字列
	 * @param mappingData S-IFへのパラメータ
	 * @param inListMsgName S-IFリスト項目名
	 * @param inList S-IFへのパラメータ(リスト分)
	 * @return IRequestParameterReadWrite
	 * @throws RequestParameterException
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoComArray(IRequestParameterReadWrite param,
														CAANMsg[] templates, 
														int returnCode,
														String dataMapKey,
														Object[][] mappingData,
														String inListMsgName, 
														ArrayList<HashMap<String, Object>> inList) throws RequestParameterException
	{
		// 本来はサービスインターフェイス分の処理が必要
		CAANMsg template = templates[0];
		int templateStatus = template.getInt(JCMConstants.STATUS_INT_KEY);
		
		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<String, String> inMap = (HashMap<String, String>)param.getData(dataMapKey);
		
		CAANMsg[] templateArray = template.getCAANMsgList(inListMsgName);
		
		for (int i = 0; i < inList.size(); i++)
		{
			HashMap childMap = (HashMap)inList.get(i);
			CAANMsg childTemplate = templateArray[i];
			
			Iterator it = childMap.keySet().iterator();
			while (it.hasNext())
			{
				String key = (String)it.next();
				
				if ((key).startsWith("key_"))
				{
					if (!childTemplate.isNull(key + "_err"))
					{
						if (!inMap.containsKey(key + "_err"))
						{
							inMap.put(key + "_err", childTemplate.getString(key + "_err"));
						}
					}
				}
				
			}
		}
		
		if (!template.isNull(inListMsgName + "_err"))
		{
			if (!inMap.containsKey(inListMsgName + "_err"))
			{
				inMap.put(inListMsgName + "_err", template.getString(inListMsgName + "_err"));
			}
		}
		return param;
	}

	/**
	 * チェック処理用サービスインターフェイス作成。<br>
	 * <br>
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public  HashMap<String, Object> getInvokeCBS(SessionHandle handle, IRequestParameterReadWrite param, String fixedText)
	throws RequestParameterException
	{
		HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(fixedText);
		
		HashMap<String, Object> paramMap = new HashMap<String, Object>();
		
		List<CAANMsg> templates = new ArrayList<CAANMsg>();
		
		// 【取得元：電文ヘッダ(ヘッダ)】
		// 電文ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
		// ユースケースID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
		// オペレーションID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
		// サービス呼び出し区分
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());
		
		// 【取得元：ユーザエリア(コントロールマップ)】
		// 依頼先ホスト名
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// 依頼元IPアドレス
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// 依頼元画面ID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// オペレータID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));
		
		
		// ***** ECK0021C010（お客様<個人>内容変更）*****
		// お客様スキーマ存在チェックのみを行う為、お客様<個人>内容変更S-IFを実行する
		Object[][] eck0021c010IN = {
				{ECK0021C010CBSMsg.TEMPLATEID,            TEMPLATE_ID_ECK0021C010},
				{ECK0021C010CBSMsg.FUNC_CODE,             FUNC_CODE_2},
				{ECK0021C010CBSMsg.SYSID,                 ccMsg.get("sysid")},
				{ECK0021C010CBSMsg.RSV_APLY_YMD,          JPCBPCommon.getOpeDate(null)},
				{ECK0021C010CBSMsg.MMB_ISP_KSSAI_STAT_CD, "0"},
				{ECK0021C010CBSMsg.DEL_TRGT_GAI_FLG,      "0"},
				{ECK0021C010CBSMsg.UPD_DTM_BF,            ccMsg.get("upd_dtm_bf")}
		};
		
		templates.add(((CAANMsg[])editInMsg(param, eck0021c010IN).get(JCMConstants.TEMPLATE_LIST_KEY))[0]);
		
		// チェック用サービスインターフェイス
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, Arrays.asList(templates));
		
		return paramMap;
	}

	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	public IRequestParameterReadWrite editErrorInfo(IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws RequestParameterException
	{
		for (int i = 0; i < templates.length; i++)
		{
			editErrorInfoCom(param, templates, returnCode, fixedText);
		}
		return param;
	}

	/**
	 * お客様一意照会処理
	 * <br>
	 * @param handle セッションハンドル
	 * @param scCall 
	 * @param param リクエストパラメータ
	 * @param temporaryData 一時領域
	 * @param dataMapKey ユーザー固定文字列
	 * @return CAANMsg[] 検索結果
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg[] execECK0011A010(SessionHandle handle, 
									ServiceComponentRequestInvoker scCall, 
									IRequestParameterReadWrite param, 
									HashMap<String, Object> temporaryData,
									String dataMapKey) throws Throwable
	{
		HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(dataMapKey);
		
		// ***** ECK0011A010（お客様一意照会）*****
		Object[][] eck0011a010IN = {
				{ECK0011A010CBSMsg.TEMPLATEID,         TEMPLATE_ID_ECK0011A010},
				{ECK0011A010CBSMsg.FUNC_CODE,          FUNC_CODE_2},
				{ECK0011A010CBSMsg.KEY_SYSID,          ccMsg.get("sysid")},
				{ECK0011A010CBSMsg.KEY_RSV_APLY_YMD,   (String)temporaryData.get("rsv_aply_ymd")}
		};
		
		// 実行
		CAANMsg resultMsg = callSC(handle, scCall, param, dataMapKey, eck0011a010IN);
		
		return resultMsg.getCAANMsgList(ECK0011A010CBSMsg.ECK0011A010CBSMSG1LIST);
		
	}

	/**
	 * お客様<個人>一意照会処理
	 * <br>
	 * @param handle セッションハンドル
	 * @param scCall
	 * @param param リクエストパラメータ
	 * @param temporaryData 一時領域
	 * @param dataMapKey ユーザー固定文字列
	 * @return CAANMsg[] 検索結果
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg[] execECK0021A010(SessionHandle handle, 
									ServiceComponentRequestInvoker scCall, 
									IRequestParameterReadWrite param, 
									HashMap<String, Object> temporaryData,
									String dataMapKey) throws Throwable
	{
		HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(dataMapKey);
		
		CAANMsg eck0011a010msg = (CAANMsg)temporaryData.get("ECK0011A010MSG");
		
		// ***** ECK0021A010（お客様<個人>一意照会）*****
		Object[][] eck0021a010IN = {
				{ECK0021A010CBSMsg.TEMPLATEID,         TEMPLATE_ID_ECK0021A010},
				{ECK0021A010CBSMsg.FUNC_CODE,          FUNC_CODE_1},
				{ECK0021A010CBSMsg.KEY_SYSID,          ccMsg.get("sysid")},
				{ECK0021A010CBSMsg.KEY_GENE_ADD_DTM,   eck0011a010msg.getString(ECK0011A010CBSMsg1List.GENE_ADD_DTM)}
		};
		
		// 実行
		CAANMsg resultMsg = callSC(handle, scCall, param, dataMapKey, eck0021a010IN);
		
		return resultMsg.getCAANMsgList(ECK0021A010CBSMsg.ECK0021A010CBSMSG1LIST);
	}

	/**
	 * お客様<法人>一意照会処理
	 * <br>
	 * @param handle セッションハンドル
	 * @param scCall
	 * @param param リクエストパラメータ
	 * @param temporaryData 一時領域
	 * @param dataMapKey ユーザー固定文字列
	 * @return CAANMsg[] 検索結果
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg[] execECK0031A010(SessionHandle handle, 
									ServiceComponentRequestInvoker scCall, 
									IRequestParameterReadWrite param, 
									HashMap<String, Object> temporaryData,
									String dataMapKey) throws Throwable
	{
		HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(dataMapKey);
		
		CAANMsg eck0011a010msg = (CAANMsg)temporaryData.get("ECK0011A010MSG");
		
		// ***** ECK0031A010（お客様<法人>一意照会）*****
		Object[][] eck0031a010IN = {
				{ECK0031A010CBSMsg.TEMPLATEID,         TEMPLATE_ID_ECK0031A010},
				{ECK0031A010CBSMsg.FUNC_CODE,          FUNC_CODE_1},
				{ECK0031A010CBSMsg.KEY_SYSID,          ccMsg.get("sysid")},
				{ECK0031A010CBSMsg.KEY_GENE_ADD_DTM,   eck0011a010msg.getString(ECK0011A010CBSMsg1List.GENE_ADD_DTM)}
		};
		
		// 実行
		CAANMsg resultMsg = callSC(handle, scCall, param, dataMapKey, eck0031a010IN);
		
		return resultMsg.getCAANMsgList(ECK0031A010CBSMsg.ECK0031A010CBSMSG1LIST);
	}

	/**
	 * 法人連絡先一意照会処理
	 * <br>
	 * @param handle セッションハンドル
	 * @param scCall
	 * @param param リクエストパラメータ
	 * @param temporaryData 一時領域
	 * @param dataMapKey ユーザー固定文字列
	 * @return CAANMsg[] 検索結果
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg[] execECK0041A010(SessionHandle handle, 
									ServiceComponentRequestInvoker scCall, 
									IRequestParameterReadWrite param, 
									HashMap<String, Object> temporaryData,
									String dataMapKey) throws Throwable
	{
		HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(dataMapKey);
		
		// ***** ECK0041A010（法人連絡先一意照会）*****
		Object[][] eck0041a010IN = {
				{ECK0041A010CBSMsg.TEMPLATEID,         TEMPLATE_ID_ECK0041A010},
				{ECK0041A010CBSMsg.FUNC_CODE,          FUNC_CODE_2},
				{ECK0041A010CBSMsg.KEY_SYSID,          ccMsg.get("sysid")},
				{ECK0041A010CBSMsg.KEY_RRKS_CD,        JCKStrConst.CD00268_KEISHA}
		};
		
		// 実行
		CAANMsg resultMsg = callSC(handle, scCall, param, dataMapKey, eck0041a010IN);
		
		return resultMsg.getCAANMsgList(ECK0041A010CBSMsg.ECK0041A010CBSMSG1LIST);
	}

	/**
	 * お客様<個人>内容変更処理
	 * <br>
	 * @param handle セッションハンドル
	 * @param scCall
	 * @param param リクエストパラメータ
	 * @param temporaryData 一時領域
	 * @param dataMapKey ユーザー固定文字列
	 * @return CAANMsg 実行結果
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg execECK0021C010(SessionHandle handle, 
									ServiceComponentRequestInvoker scCall, 
									IRequestParameterReadWrite param, 
									HashMap<String, Object> temporaryData,
									String dataMapKey) throws Throwable
	{
		HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(dataMapKey);
		
		// お客様情報
		CAANMsg eck0011a010msg = (CAANMsg)temporaryData.get("ECK0011A010MSG");
		// お客様個人情報
		CAANMsg eck0021a010msg = (CAANMsg)temporaryData.get("ECK0021A010MSG");
		
		// ***** ECK0021C010（お客様<個人>内容変更）*****
		Object[][] ecK0021C010IN = {
			{ECK0021C010CBSMsg.TEMPLATEID,                  TEMPLATE_ID_ECK0021C010},
			{ECK0021C010CBSMsg.FUNC_CODE,                   FUNC_CODE_1},
			{ECK0021C010CBSMsg.SYSID,                       ccMsg.get("sysid")},
			{ECK0021C010CBSMsg.CUST_NM,                     eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_NM)},
			{ECK0021C010CBSMsg.CUST_KANA,                   eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_KANA)},
			{ECK0021C010CBSMsg.CUST_SEX_CD,                 eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_SEX_CD)},
			{ECK0021C010CBSMsg.CUST_BIRTHD,                 eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_BIRTHD)},
			{ECK0021C010CBSMsg.NM_KISHO,                    eck0011a010msg.getString(ECK0011A010CBSMsg1List.NM_KISHO)},
			{ECK0021C010CBSMsg.CUST_CFM_BIKO,               eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_CFM_BIKO)},
			{ECK0021C010CBSMsg.KEISHA_AD_CD,                eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_AD_CD)},
			{ECK0021C010CBSMsg.KEISHA_PCD,                  eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_PCD)},
			{ECK0021C010CBSMsg.KEISHA_STATE_NM,             eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_STATE_NM)},
			{ECK0021C010CBSMsg.KEISHA_CITY_NM,              eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_CITY_NM)},
			{ECK0021C010CBSMsg.KEISHA_OAZTSU_NM,            eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_OAZTSU_NM)},
			{ECK0021C010CBSMsg.KEISHA_AZCHO_NM,             eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_AZCHO_NM)},
			{ECK0021C010CBSMsg.KEISHA_BNCHIGO,              eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_BNCHIGO)},
			{ECK0021C010CBSMsg.KEISHA_ADRTTM,               eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_ADRTTM)},
			{ECK0021C010CBSMsg.KEISHA_ADRRM,                eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_ADRRM)},
			{ECK0021C010CBSMsg.KEISHA_AD_MAN_INPUT_FLG,     eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_AD_MAN_INPUT_FLG)},
			{ECK0021C010CBSMsg.KEISHA_TELNO,                eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_TELNO)},
			{ECK0021C010CBSMsg.CUST_RANK_CD,                eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_RANK_CD)},
			{ECK0021C010CBSMsg.RRK_WAY_CD,                  eck0011a010msg.getString(ECK0011A010CBSMsg1List.RRK_WAY_CD)},
			{ECK0021C010CBSMsg.RRK_WAY_HOKI,                eck0011a010msg.getString(ECK0011A010CBSMsg1List.RRK_WAY_HOKI)},
			{ECK0021C010CBSMsg.CONT_CUST_NM,                eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_CUST_NM)},
			{ECK0021C010CBSMsg.CONT_CUST_KANA,              eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_CUST_KANA)},
			{ECK0021C010CBSMsg.CONT_CUST_SEX_CD,            eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_CUST_SEX_CD)},
			{ECK0021C010CBSMsg.CONT_CUST_BIRTHD,            eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_CUST_BIRTHD)},
			{ECK0021C010CBSMsg.CONT_AD_CD,                  eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_AD_CD)},
			{ECK0021C010CBSMsg.CONT_PCD,                    eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_PCD)},
			{ECK0021C010CBSMsg.CONT_STATE_NM,               eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_STATE_NM)},
			{ECK0021C010CBSMsg.CONT_CITY_NM,                eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_CITY_NM)},
			{ECK0021C010CBSMsg.CONT_OAZTSU_NM,              eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_OAZTSU_NM)},
			{ECK0021C010CBSMsg.CONT_AZCHO_NM,               eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_AZCHO_NM)},
			{ECK0021C010CBSMsg.CONT_BNCHIGO,                eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_BNCHIGO)},
			{ECK0021C010CBSMsg.CONT_ADRTTM,                 eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_ADRTTM)},
			{ECK0021C010CBSMsg.CONT_ADRRM,                  eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_ADRRM)},
			{ECK0021C010CBSMsg.CONT_AD_BNKT_STA_PST,        eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_AD_BNKT_STA_PST)},
			{ECK0021C010CBSMsg.RSV_APLY_YMD,                (String)temporaryData.get("rsv_aply_ymd")},
			{ECK0021C010CBSMsg.NAIHAN_GAIHAN_CD,            eck0011a010msg.getString(ECK0011A010CBSMsg1List.NAIHAN_GAIHAN_CD)},
			{ECK0021C010CBSMsg.NAIHAN_COMP_SKBT_CD,         eck0011a010msg.getString(ECK0011A010CBSMsg1List.NAIHAN_COMP_SKBT_CD)},
			{ECK0021C010CBSMsg.NECESSARY_HOJO_CD,           eck0011a010msg.getString(ECK0011A010CBSMsg1List.NECESSARY_HOJO_CD)},
			{ECK0021C010CBSMsg.EONETID_MI_IKO_FLG,          eck0011a010msg.getString(ECK0011A010CBSMsg1List.EONETID_MI_IKO_FLG)},
			{ECK0021C010CBSMsg.LOGIN_NINSHO_KH,             eck0011a010msg.getString(ECK0011A010CBSMsg1List.LOGIN_NINSHO_KH)},
			{ECK0021C010CBSMsg.CUST_TKJK_CD,                eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_TKJK_CD)},
			{ECK0021C010CBSMsg.LOGIN_NINSHO_STP_YMD,        eck0011a010msg.getString(ECK0011A010CBSMsg1List.LOGIN_NINSHO_STP_YMD)},
			{ECK0021C010CBSMsg.MMB_SBT_TOKUT_FLG,           eck0011a010msg.getString(ECK0011A010CBSMsg1List.MMB_SBT_TOKUT_FLG)},
			{ECK0021C010CBSMsg.OLD_EONETMB_NINSHO_ID,       eck0011a010msg.getString(ECK0011A010CBSMsg1List.OLD_EONETMB_NINSHO_ID)},
			{ECK0021C010CBSMsg.MMB_ISP_KSSAI_STAT_CD,       eck0011a010msg.getString(ECK0011A010CBSMsg1List.MMB_ISP_KSSAI_STAT_CD)},
			{ECK0021C010CBSMsg.DEL_TRGT_GAI_FLG,            eck0011a010msg.getString(ECK0011A010CBSMsg1List.DEL_TRGT_GAI_FLG)},
			{ECK0021C010CBSMsg.SHOKUGYO_CD,                 eck0021a010msg.getString(ECK0021A010CBSMsg1List.SHOKUGYO_CD)},
			{ECK0021C010CBSMsg.SHOKUGYO_OTHER,              eck0021a010msg.getString(ECK0021A010CBSMsg1List.SHOKUGYO_OTHER)},
			{ECK0021C010CBSMsg.OFFC_NM,                     eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_NM)},
			{ECK0021C010CBSMsg.SCHOOL_NM,                   eck0021a010msg.getString(ECK0021A010CBSMsg1List.SCHOOL_NM)},
			{ECK0021C010CBSMsg.OFFC_GSHU_CD,                eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_GSHU_CD)},
			{ECK0021C010CBSMsg.OFFC_BUSHO_NM,               eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_BUSHO_NM)},
			{ECK0021C010CBSMsg.OFFC_AD_CD,                  eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_AD_CD)},
			{ECK0021C010CBSMsg.OFFC_PCD,                    eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_PCD)},
			{ECK0021C010CBSMsg.OFFC_STATE_NM,               eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_STATE_NM)},
			{ECK0021C010CBSMsg.OFFC_CITY_NM,                eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_CITY_NM)},
			{ECK0021C010CBSMsg.OFFC_OAZTSU_NM,              eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_OAZTSU_NM)},
			{ECK0021C010CBSMsg.OFFC_AZCHO_NM,               eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_AZCHO_NM)},
			{ECK0021C010CBSMsg.OFFC_BNCHIGO,                eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_BNCHIGO)},
			{ECK0021C010CBSMsg.OFFC_ADRTTM,                 eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_ADRTTM)},
			{ECK0021C010CBSMsg.OFFC_ADRRM,                  eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_ADRRM)},
			{ECK0021C010CBSMsg.OFFC_TELNO,                  eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_TELNO)},
			{ECK0021C010CBSMsg.OFFC_NISNNO,                 eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_NISNNO)},
			{ECK0021C010CBSMsg.OFFC_WORKER_CNT_SCALE,       eck0021a010msg.getString(ECK0021A010CBSMsg1List.OFFC_WORKER_CNT_SCALE)},
			{ECK0021C010CBSMsg.CUST_SALARY,                 eck0021a010msg.getString(ECK0021A010CBSMsg1List.CUST_SALARY)},
			{ECK0021C010CBSMsg.SKSHA_NM,                    eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_NM)},
			{ECK0021C010CBSMsg.SKSHA_KANA,                  eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_KANA)},
			{ECK0021C010CBSMsg.SKSHA_BIRTHD,                eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_BIRTHD)},
			{ECK0021C010CBSMsg.SKSHA_ZOKUGARA_CD,           eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_ZOKUGARA_CD)},
			{ECK0021C010CBSMsg.ZOKUGARA_OTHER,              eck0021a010msg.getString(ECK0021A010CBSMsg1List.ZOKUGARA_OTHER)},
			{ECK0021C010CBSMsg.SKSHA_AD_CD,                 eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_AD_CD)},
			{ECK0021C010CBSMsg.SKSHA_PCD,                   eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_PCD)},
			{ECK0021C010CBSMsg.SKSHA_STATE_NM,              eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_STATE_NM)},
			{ECK0021C010CBSMsg.SKSHA_CITY_NM,               eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_CITY_NM)},
			{ECK0021C010CBSMsg.SKSHA_OAZTSU_NM,             eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_OAZTSU_NM)},
			{ECK0021C010CBSMsg.SKSHA_AZCHO_NM,              eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_AZCHO_NM)},
			{ECK0021C010CBSMsg.SKSHA_AD_BNCHIGO,            eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_AD_BNCHIGO)},
			{ECK0021C010CBSMsg.SKSHA_ADRTTM,                eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_ADRTTM)},
			{ECK0021C010CBSMsg.SKSHA_ADRRM,                 eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_ADRRM)},
			{ECK0021C010CBSMsg.SKSHA_TELNO,                 eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_TELNO)},
			{ECK0021C010CBSMsg.SKSHA_AD_MAN_INPUT_FLG,      eck0021a010msg.getString(ECK0021A010CBSMsg1List.SKSHA_AD_MAN_INPUT_FLG)},
			{ECK0021C010CBSMsg.KEISHA_AD_MAN_INPUT_FLG,     eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_AD_MAN_INPUT_FLG)},
			{ECK0021C010CBSMsg.KEISHA_AD_CHK_LV,            ""},
			{ECK0021C010CBSMsg.CONT_AD_CHK_LV,              ""},
			{ECK0021C010CBSMsg.OFFC_AD_CHK_LV,              ""},
			{ECK0021C010CBSMsg.SKSHA_AD_CHK_LV,             ""},
			{ECK0021C010CBSMsg.CSSTI_SHS_AD_CD,             eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_AD_CD)},
			{ECK0021C010CBSMsg.CSSTI_SHS_PCD,               eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_PCD)},
			{ECK0021C010CBSMsg.CSSTI_SHS_STATE_NM,          eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_STATE_NM)},
			{ECK0021C010CBSMsg.CSSTI_SHS_CITY_NM,           eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_CITY_NM)},
			{ECK0021C010CBSMsg.CSSTI_SHS_OAZTSU_NM,         eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_OAZTSU_NM)},
			{ECK0021C010CBSMsg.CSSTI_SHS_AZCHO_NM,          eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_AZCHO_NM)},
			{ECK0021C010CBSMsg.CSSTI_SHS_BNCHIGO,           eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_BNCHIGO)},
			{ECK0021C010CBSMsg.CSSTI_SHS_ADRTTM,            eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_ADRTTM)},
			{ECK0021C010CBSMsg.CSSTI_SHS_ADRRM,             eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_ADRRM)},
			{ECK0021C010CBSMsg.CSSTI_SHS_AD_MAN_INPUT_FLG,  eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_AD_MAN_INPUT_FLG)},
			{ECK0021C010CBSMsg.CSSTI_SHS_AD_CHK_LV,         ""},
			{ECK0021C010CBSMsg.KEPG_KJNIF_TRAT_DOI_UM,      ccMsg.get("kepg_kjnif_trat_doi_um")},
			{ECK0021C010CBSMsg.KEPG_KJNIF_TRAT_DOI_YMD,     ccMsg.get("kepg_kjnif_trat_doi_ymd")},
			{ECK0021C010CBSMsg.KEPG_KJNIFT_FFG,             ccMsg.get("kepg_kjnift_ffg")},
			{ECK0021C010CBSMsg.KEPG_KJNIFT_FFG_CHG_YMD,     ccMsg.get("kepg_kjnift_ffg_chg_ymd")},
			{ECK0021C010CBSMsg.KEPG_KJNIFT_FFG_CHG_UWY_CD,  ccMsg.get("kepg_kjnift_ffg_chg_uwy_cd")},
			{ECK0021C010CBSMsg.KEPG_KJNIFT_JOKYO_CD,        eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEPG_KJNIFT_JOKYO_CD)},
			{ECK0021C010CBSMsg.KEPG_KJNIFT_STAYMD,          eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEPG_KJNIFT_STAYMD)},
			{ECK0021C010CBSMsg.KEPG_KJNIFT_RSCD,            eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEPG_KJNIFT_RSCD)},
			{ECK0021C010CBSMsg.KEPG_KJNIFT_RSCD_CHG_YMD,    eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEPG_KJNIFT_RSCD_CHG_YMD)},
			{ECK0021C010CBSMsg.UPD_DTM_BF,                  ccMsg.get("upd_dtm_bf")}
		};
		
		// S-IF実行
		return 	callSC(handle, scCall, param, dataMapKey, ecK0021C010IN);
	}

	/**
	 * お客様<法人>内容変更処理
	 * <br>
	 * @param handle セッションハンドル
	 * @param scCall
	 * @param param リクエストパラメータ
	 * @param temporaryData 一時領域
	 * @param dataMapKey ユーザー固定文字列
	 * @return CAANMsg 実行結果
	 * @throws Throwable
	 */
	@SuppressWarnings("unchecked")
	private CAANMsg execECK0031C020(SessionHandle handle, 
									ServiceComponentRequestInvoker scCall, 
									IRequestParameterReadWrite param, 
									HashMap<String, Object> temporaryData,
									String dataMapKey) throws Throwable
	{
		HashMap<String, Object> ccMsg = (HashMap<String, Object>)param.getData(dataMapKey);
		
		// お客様情報
		CAANMsg eck0011a010msg = (CAANMsg)temporaryData.get("ECK0011A010MSG");
		// お客様法人情報
		CAANMsg eck0031a010msg = (CAANMsg)temporaryData.get("ECK0031A010MSG");
		// 法人連絡先情報
		CAANMsg eck0041a010msg = (CAANMsg)temporaryData.get("ECK0041A010MSG");
		
		// 法人連絡先のデータを設定する
		ArrayList<HashMap<String, Object>> rrkslist = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> childMap = new HashMap<String, Object>();
		
		childMap.put(ECK0031C020CBSMsg1List.RRKS_CD,                    eck0041a010msg.getString(ECK0041A010CBSMsg1List.RRKS_CD));
		childMap.put(ECK0031C020CBSMsg1List.HJRRKS_NM,                  eck0041a010msg.getString(ECK0041A010CBSMsg1List.HJRRKS_NM));
		childMap.put(ECK0031C020CBSMsg1List.HJRRKS_AD_CD,               eck0041a010msg.getString(ECK0041A010CBSMsg1List.HJRRKS_AD_CD));
		childMap.put(ECK0031C020CBSMsg1List.HJRRKS_PCD,                 eck0041a010msg.getString(ECK0041A010CBSMsg1List.HJRRKS_PCD));
		childMap.put(ECK0031C020CBSMsg1List.HJRRKS_STATE_NM,            eck0041a010msg.getString(ECK0041A010CBSMsg1List.HJRRKS_STATE_NM));
		childMap.put(ECK0031C020CBSMsg1List.HJRRKS_CITY_NM,             eck0041a010msg.getString(ECK0041A010CBSMsg1List.HJRRKS_CITY_NM));
		childMap.put(ECK0031C020CBSMsg1List.HJRRKS_OAZTSU_NM,           eck0041a010msg.getString(ECK0041A010CBSMsg1List.HJRRKS_OAZTSU_NM));
		childMap.put(ECK0031C020CBSMsg1List.HJRRKS_AZCHO_NM,            eck0041a010msg.getString(ECK0041A010CBSMsg1List.HJRRKS_AZCHO_NM));
		childMap.put(ECK0031C020CBSMsg1List.HJRRKS_BNCHIGO,             eck0041a010msg.getString(ECK0041A010CBSMsg1List.HJRRKS_BNCHIGO));
		childMap.put(ECK0031C020CBSMsg1List.HJRRKS_ADRTTM,              eck0041a010msg.getString(ECK0041A010CBSMsg1List.HJRRKS_ADRTTM));
		childMap.put(ECK0031C020CBSMsg1List.HJRRKS_ADRRM,               eck0041a010msg.getString(ECK0041A010CBSMsg1List.HJRRKS_ADRRM));
		childMap.put(ECK0031C020CBSMsg1List.HJRRKS_TNTSHA_NM,           eck0041a010msg.getString(ECK0041A010CBSMsg1List.HJRRKS_TNTSHA_NM));
		childMap.put(ECK0031C020CBSMsg1List.HJRRKS_TNTSHA_KANA,         eck0041a010msg.getString(ECK0041A010CBSMsg1List.HJRRKS_TNTSHA_KANA));
		childMap.put(ECK0031C020CBSMsg1List.HJRRKS_TNTSHA_SHOZKBSHO_NM, eck0041a010msg.getString(ECK0041A010CBSMsg1List.HJRRKS_TNTSHA_SHOZKBSHO_NM));
		
		rrkslist.add(childMap);
		
		// ***** ECK0031C020（お客様<法人>内容変更２）*****
		// お客様、お客様<法人>のデータを設定する
		Object[][] eck0031c020In = {
				{ECK0031C020CBSMsg.TEMPLATEID,                TEMPLATE_ID_ECK0031C020},
				{ECK0031C020CBSMsg.FUNC_CODE,                 FUNC_CODE_1},
				{ECK0031C020CBSMsg.SYSID,                     ccMsg.get("sysid")},
				{ECK0031C020CBSMsg.CUST_NM,                   eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_NM)},
				{ECK0031C020CBSMsg.CUST_KANA,                 eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_KANA)},
				{ECK0031C020CBSMsg.CUST_SEX_CD,               eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_SEX_CD)},
				{ECK0031C020CBSMsg.CUST_BIRTHD,               eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_BIRTHD)},
				{ECK0031C020CBSMsg.NM_KISHO,                  eck0011a010msg.getString(ECK0011A010CBSMsg1List.NM_KISHO)},
				{ECK0031C020CBSMsg.CUST_CFM_BIKO,             eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_CFM_BIKO)},
				{ECK0031C020CBSMsg.KEISHA_AD_CD,              eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_AD_CD)},
				{ECK0031C020CBSMsg.KEISHA_PCD,                eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_PCD)},
				{ECK0031C020CBSMsg.KEISHA_STATE_NM,           eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_STATE_NM)},
				{ECK0031C020CBSMsg.KEISHA_CITY_NM,            eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_CITY_NM)},
				{ECK0031C020CBSMsg.KEISHA_OAZTSU_NM,          eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_OAZTSU_NM)},
				{ECK0031C020CBSMsg.KEISHA_AZCHO_NM,           eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_AZCHO_NM)},
				{ECK0031C020CBSMsg.KEISHA_BNCHIGO,            eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_BNCHIGO)},
				{ECK0031C020CBSMsg.KEISHA_ADRTTM,             eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_ADRTTM)},
				{ECK0031C020CBSMsg.KEISHA_ADRRM,              eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_ADRRM)},
				{ECK0031C020CBSMsg.KEISHA_TELNO,              eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_TELNO)},
				{ECK0031C020CBSMsg.CSSTI_SHS_AD_CD,           eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_AD_CD)},
				{ECK0031C020CBSMsg.CSSTI_SHS_PCD,             eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_PCD)},
				{ECK0031C020CBSMsg.CSSTI_SHS_STATE_NM,        eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_STATE_NM)},
				{ECK0031C020CBSMsg.CSSTI_SHS_CITY_NM,         eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_CITY_NM)},
				{ECK0031C020CBSMsg.CSSTI_SHS_OAZTSU_NM,       eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_OAZTSU_NM)},
				{ECK0031C020CBSMsg.CSSTI_SHS_AZCHO_NM,        eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_AZCHO_NM)},
				{ECK0031C020CBSMsg.CSSTI_SHS_BNCHIGO,         eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_BNCHIGO)},
				{ECK0031C020CBSMsg.CSSTI_SHS_ADRTTM,          eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_ADRTTM)},
				{ECK0031C020CBSMsg.CSSTI_SHS_ADRRM,           eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_ADRRM)},
				{ECK0031C020CBSMsg.CSSTI_SHS_AD_MAN_INPUT_FLG,eck0011a010msg.getString(ECK0011A010CBSMsg1List.CSSTI_SHS_AD_MAN_INPUT_FLG)},
				{ECK0031C020CBSMsg.CSSTI_SHS_AD_CHK_LV,       ""},
				{ECK0031C020CBSMsg.CUST_RANK_CD,              eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_RANK_CD)},
				{ECK0031C020CBSMsg.RRK_WAY_CD,                eck0011a010msg.getString(ECK0011A010CBSMsg1List.RRK_WAY_CD)},
				{ECK0031C020CBSMsg.RRK_WAY_HOKI,              eck0011a010msg.getString(ECK0011A010CBSMsg1List.RRK_WAY_HOKI)},
				{ECK0031C020CBSMsg.CONT_CUST_NM,              eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_CUST_NM)},
				{ECK0031C020CBSMsg.CONT_CUST_KANA,            eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_CUST_KANA)},
				{ECK0031C020CBSMsg.CONT_CUST_SEX_CD,          eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_CUST_SEX_CD)},
				{ECK0031C020CBSMsg.CONT_CUST_BIRTHD,          eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_CUST_BIRTHD)},
				{ECK0031C020CBSMsg.CONT_AD_CD,                eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_AD_CD)},
				{ECK0031C020CBSMsg.CONT_PCD,                  eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_PCD)},
				{ECK0031C020CBSMsg.CONT_STATE_NM,             eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_STATE_NM)},
				{ECK0031C020CBSMsg.CONT_CITY_NM,              eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_CITY_NM)},
				{ECK0031C020CBSMsg.CONT_OAZTSU_NM,            eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_OAZTSU_NM)},
				{ECK0031C020CBSMsg.CONT_AZCHO_NM,             eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_AZCHO_NM)},
				{ECK0031C020CBSMsg.CONT_BNCHIGO,              eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_BNCHIGO)},
				{ECK0031C020CBSMsg.CONT_ADRTTM,               eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_ADRTTM)},
				{ECK0031C020CBSMsg.CONT_ADRRM,                eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_ADRRM)},
				{ECK0031C020CBSMsg.CONT_AD_BNKT_STA_PST,      eck0011a010msg.getString(ECK0011A010CBSMsg1List.CONT_AD_BNKT_STA_PST)},
				{ECK0031C020CBSMsg.RSV_APLY_YMD,              (String)temporaryData.get("rsv_aply_ymd")},
				{ECK0031C020CBSMsg.NAIHAN_GAIHAN_CD,          eck0011a010msg.getString(ECK0011A010CBSMsg1List.NAIHAN_GAIHAN_CD)},
				{ECK0031C020CBSMsg.NAIHAN_COMP_SKBT_CD,       eck0011a010msg.getString(ECK0011A010CBSMsg1List.NAIHAN_COMP_SKBT_CD)},
				{ECK0031C020CBSMsg.NECESSARY_HOJO_CD,         eck0011a010msg.getString(ECK0011A010CBSMsg1List.NECESSARY_HOJO_CD)},
				{ECK0031C020CBSMsg.LOGIN_NINSHO_KH,           eck0011a010msg.getString(ECK0011A010CBSMsg1List.LOGIN_NINSHO_KH)},
				{ECK0031C020CBSMsg.CUST_TKJK_CD,              eck0011a010msg.getString(ECK0011A010CBSMsg1List.CUST_TKJK_CD)},
				{ECK0031C020CBSMsg.LOGIN_NINSHO_STP_YMD,      eck0011a010msg.getString(ECK0011A010CBSMsg1List.LOGIN_NINSHO_STP_YMD)},
				{ECK0031C020CBSMsg.MMB_SBT_TOKUT_FLG,         eck0011a010msg.getString(ECK0011A010CBSMsg1List.MMB_SBT_TOKUT_FLG)},
				{ECK0031C020CBSMsg.OLD_EONETMB_NINSHO_ID,     eck0011a010msg.getString(ECK0011A010CBSMsg1List.OLD_EONETMB_NINSHO_ID)},
				{ECK0031C020CBSMsg.MMB_ISP_KSSAI_STAT_CD,     eck0011a010msg.getString(ECK0011A010CBSMsg1List.MMB_ISP_KSSAI_STAT_CD)},
				{ECK0031C020CBSMsg.DEL_TRGT_GAI_FLG,          eck0011a010msg.getString(ECK0011A010CBSMsg1List.DEL_TRGT_GAI_FLG)},
				{ECK0031C020CBSMsg.HOJIN_SBT_CD,              eck0031a010msg.getString(ECK0031A010CBSMsg1List.HOJIN_SBT_CD)},
				{ECK0031C020CBSMsg.HOJIN_ZENGO_SHITEI_CD,     eck0031a010msg.getString(ECK0031A010CBSMsg1List.HOJIN_ZENGO_SHITEI_CD)},
				{ECK0031C020CBSMsg.COMP_NM,                   eck0031a010msg.getString(ECK0031A010CBSMsg1List.COMP_NM)},
				{ECK0031C020CBSMsg.COMP_KANA,                 eck0031a010msg.getString(ECK0031A010CBSMsg1List.COMP_KANA)},
				{ECK0031C020CBSMsg.DIHYSHA_POST_NM,           eck0031a010msg.getString(ECK0031A010CBSMsg1List.DIHYSHA_POST_NM)},
				{ECK0031C020CBSMsg.DIHYSHA_NM,                eck0031a010msg.getString(ECK0031A010CBSMsg1List.DIHYSHA_NM)},
				{ECK0031C020CBSMsg.DIHYSHA_KANA,              eck0031a010msg.getString(ECK0031A010CBSMsg1List.DIHYSHA_KANA)},
				{ECK0031C020CBSMsg.GSHU_CD,                   eck0031a010msg.getString(ECK0031A010CBSMsg1List.GSHU_CD)},
				{ECK0031C020CBSMsg.KEISHA_AD_MAN_INPUT_FLG,   eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEISHA_AD_MAN_INPUT_FLG)},
				{ECK0031C020CBSMsg.KEISHA_AD_CHK_LV,          ""},
				{ECK0031C020CBSMsg.CONT_AD_CHK_LV,            ""},
				{ECK0031C020CBSMsg.KEPG_KJNIF_TRAT_DOI_UM,    ccMsg.get("kepg_kjnif_trat_doi_um")},
				{ECK0031C020CBSMsg.KEPG_KJNIF_TRAT_DOI_YMD,   ccMsg.get("kepg_kjnif_trat_doi_ymd")},
				{ECK0031C020CBSMsg.KEPG_KJNIFT_FFG,           ccMsg.get("kepg_kjnift_ffg")},
				{ECK0031C020CBSMsg.KEPG_KJNIFT_FFG_CHG_YMD,   ccMsg.get("kepg_kjnift_ffg_chg_ymd")},
				{ECK0031C020CBSMsg.KEPG_KJNIFT_FFG_CHG_UWY_CD,ccMsg.get("kepg_kjnift_ffg_chg_uwy_cd")},
				{ECK0031C020CBSMsg.KEPG_KJNIFT_JOKYO_CD,      eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEPG_KJNIFT_JOKYO_CD)},
				{ECK0031C020CBSMsg.KEPG_KJNIFT_STAYMD,        eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEPG_KJNIFT_STAYMD)},
				{ECK0031C020CBSMsg.KEPG_KJNIFT_RSCD,          eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEPG_KJNIFT_RSCD)},
				{ECK0031C020CBSMsg.KEPG_KJNIFT_RSCD_CHG_YMD,  eck0011a010msg.getString(ECK0011A010CBSMsg1List.KEPG_KJNIFT_RSCD_CHG_YMD)},
				{ECK0031C020CBSMsg.UPD_DTM_BF,                 ccMsg.get("upd_dtm_bf")},
				{ECK0031C020CBSMsg.HJRRKS_AD_CHK_LV,           ""}
		};
		
		// S-IF実行
		return 	callSCArray(handle, scCall, param, dataMapKey, eck0031c020In, "ECK0031C020CBSMsg1List", rrkslist);
	}
}
