/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム
 *   モジュール名    ：JKKTchishoSearchCC
 *   ソースファイル名：JKKTchishoSearchCC.java
 *   作成者          ：FJ
 *   日付            ：2012年02月10日
 *＜機能概要＞
 *   指定されたeoID、整理番号に対応する通知書データを取得して返却する。
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v3.00       2012/02/10   FJ)伊藤     新規作成
 *   v3.00       2012/06/11   FJ)伊藤     IT1-2012-0000646
*    v4.00       2012/11/22   FJ)清崎    【TAI-2012-0000091】暫定ロジック修正対応
 **********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
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.IRequestParameterReadOnly;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.bp.x21.cc.AbstractCommonComponent;
import com.fujitsu.futurity.common.JCMConstants;
import com.fujitsu.futurity.common.x01.sc.SCControlMapKeys;
import com.fujitsu.futurity.mapping.bp.common.TemplateErrorUtil;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.common.JCMAPLConstMgr;
import com.fujitsu.futurity.bp.x21.cc.exception.SCCallException;

import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0011A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081B025CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0081B025CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0191B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0191B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0221A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0221A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0351B002CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0351B002CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0361A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0361A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0161B004CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161B004CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0171A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0171A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0201A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0201A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.ECK0111B002CBSMsg;
import eo.ejb.cbs.cbsmsg.ECK0111B002CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0371B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0371B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EZM0171B010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0171B010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EZM0321A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0321A010CBSMsg1List;

/**
 * 通知書登録部品です。
 * <p>
 * <br>
 * 
 * @author 富士通
 */
public class JKKTchishoSearchCC extends AbstractCommonComponent
{

	/** 料金グループ:eo64エア */
	private static final String PRC_GRP_CD_NET_64 = "01";
	/** 料金グループ:eo光ネットホームタイプ */
	private static final String PRC_GRP_CD_NET_HM = "02";
	/** 料金グループ:eo光ネットメゾンタイプ */
	private static final String PRC_GRP_CD_NET_MZ = "03";
	/** 料金グループ:eo光ネットマンションタイプ */
	private static final String PRC_GRP_CD_NET_MN = "04";
	/** 料金グループ:eoADSL(eAccess) */
	private static final String PRC_GRP_CD_ADSL_EA = "05";
	/** 料金グループ:eoADSL(フレッツ) */
	private static final String PRC_GRP_CD_ADSL_FL = "06";
	/** 料金グループ:eoモバイル(Wi-Fi) */
	private static final String PRC_GRP_CD_MOBA_WF = "07";
	/** 料金グループ:eoモバイル(EM) */
	private static final String PRC_GRP_CD_MOBA_EM = "08";
	/** 料金グループ:eoモバイル(UQ-WiMAX) */
	private static final String PRC_GRP_CD_MOBA_WM = "09";
	/** 料金グループ:eo光電話 */
	private static final String PRC_GRP_CD_TEL = "10";
	/** 料金グループ:eo光テレビ(K-CAT) */
	private static final String PRC_GRP_CD_TV_CA = "11";
	/** 料金グループ:eo光テレビ(KCN) */
	private static final String PRC_GRP_CD_TV_KC = "12";
	/** 料金グループ:eo光テレビ(再送信) */
	private static final String PRC_GRP_CD_TV_SN = "13";

	/** サービス種別:eoネット */
	private static final String SVC_SBT_NET = "01";
	/** サービス種別:eo光電話 */
	private static final String SVC_SBT_TEL = "02";
	/** サービス種別:eo光テレビ */
	private static final String SVC_SBT_TV = "03";
	/** サービス種別:eoADSL */
	private static final String SVC_SBT_ADSL = "04";
	/** サービス種別:eoモバイル */
	private static final String SVC_SBT_MOBAL = "05";
	/** サービス種別:eo64エア */
	private static final String SVC_SBT_64AIR = "06";

	/** 通知書種別コード:3点セット */
	private static final String TCHISHO_SBT_3TS = "010";
	/** 通知書種別コード:マンションプライベート */
	private static final String TCHISHO_SBT_MP = "020";
	/** 通知書種別コード:マンショングローバル */
	private static final String TCHISHO_SBT_GL = "030";
	/** 通知書種別コード:eoモバイル */
	private static final String TCHISHO_SBT_MOBAL = "040";
	/** 通知書種別コード:メールアドレス */
	private static final String TCHISHO_SBT_MLADR = "050";
	/** 通知書種別コード:ADSL(フレッツ) */
	private static final String TCHISHO_SBT_ADSL_F = "060";
	/** 通知書種別コード:ADSL(eAccess) */
	private static final String TCHISHO_SBT_ADSL_E = "070";

	/** サービス契約ステータス:解約済 */
	private static final String SVC_KEI_STAT_KAI = "910";
	/** サービス契約ステータス:キャンセル済 */
	private static final String SVC_KEI_STAT_CSL = "920";

	/** オプションサービスコード:Ｅメール */
	private static final String OP_SVC_CD_EMAIL = "B001";
	/** オプションサービスコード:Myホームページ */
	private static final String OP_SVC_CD_MYHP = "B002";
	/** オプションサービスコード:電話番号通知 */
	private static final String OP_SVC_CD_TELNO_NOTICE = "B022";
	
	/** 取得結果コード:データ取得成功 */
	private static final String RESULT_CD_SUCCESS = "10";	
	/** 取得結果コード:eoID・整理番号必須エラー */
	private static final String RESULT_CD_REQUIRED_EOID_SIRNO = "00";
	/** 取得結果コード:eoID整合性エラー */
	private static final String RESULT_CD_UNMATCH_EOID = "01";
	/** 取得結果コード:整理番号に紐づくサービス契約不在エラー */
	private static final String RESULT_CD_NO_SVC_KEI = "02";
	/** 取得結果コード:通知書判定不可エラー */
	private static final String RESULT_CD_IMPOSSIBLE_JUDGE = "03";
	/** 取得結果コード:通知書整合性エラー */
	private static final String RESULT_CD_UNMATCH_TCHISHO = "04";
	/** 取得結果コード:その他エラー */
	private static final String RESULT_CD_OTHER = "05";
	
	/** 業務パラメータコード:FTPサーバ名 */
	private static final String GYM_PRM_CD_FTP = "KK_SERVER_NM_FTP";
	/** 業務パラメータコード:POPサーバ名 */
	private static final String GYM_PRM_CD_POP = "KK_SERVER_NM_POP";
	/** 業務パラメータコード:SMTPサーバ名 */
	private static final String GYM_PRM_CD_SMTP = "KK_SERVER_NM_SMTP";
	/** 業務パラメータコード:IEEE802_1X_SSID */
	private static final String GYM_PRM_CD_IEEE802_1X_SSID = "KK_MB_IEEE802_SSID";
	/** 業務パラメータコード:WPA2_AES_SSID */
	private static final String GYM_PRM_CD_WPA2_AES_SSID = "KK_MB_WPA2_AES_SSID";
	/** 業務パラメータコード:WEP_SSID */
	private static final String GYM_PRM_CD_WEP_SSID = "KK_MB_WEP_SSID";
	/** 業務パラメータコード:WEPキー */
	private static final String GYM_PRM_CD_WEP_KEY = "KK_MB_WEP_KEY";
	
	/** コード種別コード:差込口(VAポート番号) */
	private static final String CD_SBT_CD_VA_PORT_NO = "CD00593";
	/** コード種別コード:電話番号通知 */
	private static final String CD_SBT_CD_TELNO_NOTICE = "CD01337";
	
	/** コード種別区分:電話番号通知する */
	private static final String CD_SBT_KBN_NOTICE = "01";
	/** コード種別区分:電話番号通知しない */
	private static final String CD_SBT_KBN_NO_NOTICE = "02";
	
	/** 料金コースコード マンションプライベート VDSL1 */
	private static final String PCRS_CD_MP_VDSL1 = "A47";	
	/** 料金コースコード マンションプライベート VDSL2 */
	private static final String PCRS_CD_MP_VDSL2 = "A48";	
	/** 料金コースコード マンションプライベート イーサネット */
	private static final String PCRS_CD_MP = "A49";
	
	/** マンションプライベート料金コースコードリスト */
	private List<String> mpPcrsCdList = new ArrayList<String>();
	

	/**
	 * 通知書情報取得処理です。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite getTchishoInfo(
			SessionHandle handle, IRequestParameterReadWrite param, String fixedText)
	throws Exception
	{
		/* ユーザデータ情報 */
		HashMap parentMap = null;
		parentMap = (HashMap)param.getData(fixedText);
		
		// マンションプライベートコードリストに値を設定する
		mpPcrsCdList.add(PCRS_CD_MP_VDSL1);
		mpPcrsCdList.add(PCRS_CD_MP_VDSL2);
		mpPcrsCdList.add(PCRS_CD_MP);

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		return editTchishoMap(handle, param, parentMap, fixedText);

	}

	/**
	 * 通知書情報検索編集処理です。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param parentMap (I) ユーザデータ情報
	 * @param fixedText ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	private IRequestParameterReadWrite editTchishoMap(
			SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> parentMap, String fixedText)
	throws Exception
	{

		// 作業用マップ
		HashMap<String, Object> workMap = new HashMap<String, Object>();
		
		// エラーフラグ
		boolean errFlg = false;
		
		// ----------------------------------------------------------------------
		// 整理番号・eoID必須チェック
		// ----------------------------------------------------------------------
		String seiriNo = (String)parentMap.get("seiri_no");
		String eoId = (String)parentMap.get("eoid");
		if (null == seiriNo || "".equals(seiriNo) || null == eoId || "".equals(eoId))
		{
			errFlg = true;
			workMap.put("result_cd", RESULT_CD_REQUIRED_EOID_SIRNO);
		}
		
		if (!errFlg)
		{
			// ------------------------------------------------------------------
			// 通知書情報検索
			// ------------------------------------------------------------------
			errFlg = searchTchishoInfo(handle, param, parentMap, fixedText, workMap, eoId);
		}

		// ----------------------------------------------------------------------
		// 検索結果をリクエストパラメーターに設定する
		// ----------------------------------------------------------------------
		if (!errFlg)
		{
			setParameter(param, fixedText, workMap, parentMap);
		}
		else
		{
			if (null == workMap.get("result_cd"))
			{
				workMap.put("result_cd", RESULT_CD_OTHER);
			}
			setErrParameter(param, fixedText, workMap);
		}

		return param;
	}
	
	
	/**
	 * 通知書情報を検索しエラーフラグを返します。
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param parentMap (I) ユーザデータ情報
	 * @param fixedText ユーザ任意文字列
	 * @param workMap 作業用MAP
	 * @param eoId eoID
	 * @return エラーフラグ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private boolean searchTchishoInfo(
			SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> parentMap, String fixedText,
			HashMap<String, Object> workMap, String eoId)
	throws Exception
	{
		
		// エラーフラグ
		boolean errFlg = false;

		// --------------------------------------------------------------------------
		// 整理番号を元にサービス契約番号を取得する。
		// --------------------------------------------------------------------------
		List svcKeiList = new ArrayList();
		HashMap kk0081B_map = getKK081BMap(handle, param, parentMap, fixedText);
		
		svcKeiList = (ArrayList)kk0081B_map.get("EKK0081B025CBSMsg1List");

		// --------------------------------------------------------------------------
		// サービス契約番号存在確認
		// --------------------------------------------------------------------------
		// 取得できない場合、以降の処理を実施せず、パラメータ設定を行なう。
		// 取得できた場合、サービス契約番号の件数分、ループ処理。
		if (null == svcKeiList || svcKeiList.isEmpty())
		{
			errFlg = true;
			workMap.put("result_cd", RESULT_CD_NO_SVC_KEI);
			return errFlg;
		}
		
		// ワークマップにサービス契約情報リストを保持する
		workMap.put("EKK0081B025CBSMsg1List", svcKeiList);

		for (int i = 0; i < svcKeiList.size(); i++)
		{
			HashMap kk0081B_childMap = (HashMap)svcKeiList.get(i);
			
			// リストからサービス契約番号を取得し、サービス契約情報を取得する。
			HashMap<String, Object> kk0081A_map = 
				getKK0081MapA(handle, param, kk0081B_childMap, fixedText);
			
			// サービス契約情報が取得できない場合は、
			// 次の契約情報での処理を行なう。
			if (null == kk0081A_map || null == kk0081A_map.get("EKK0081A010CBSMsg1List"))
			{
				continue;
			}
			
			// 作業マップに退避
			ArrayList kk0081List = new ArrayList();
			ArrayList serviceKeiyakuMapList = 
				(ArrayList)kk0081A_map.get("EKK0081A010CBSMsg1List");
			if (serviceKeiyakuMapList.isEmpty())
			{
				continue;
			}
			if (workMap.containsKey("kk0081List"))
			{
				kk0081List = (ArrayList)workMap.get("kk0081List");
			}
			kk0081List.add(serviceKeiyakuMapList.get(0));
			workMap.put("kk0081List", kk0081List);
			
			HashMap<String, Object> serviceKeiyakuMap = 
				(HashMap<String, Object>)serviceKeiyakuMapList.get(0);

			// ------------------------------------------------------------------
			// 通知書判定処理
			// ------------------------------------------------------------------
			// 取得したサービス契約情報の料金グループコード、料金コースコードから
			// 通知書の判定を行なう。
			String prcGrpCd = (String)serviceKeiyakuMap.get("prc_grp_cd");
			if (null == prcGrpCd || "".equals(prcGrpCd))
			{
				continue;
			}
			String pcrsCd = (String)serviceKeiyakuMap.get("pcrs_cd");
			String tchishoType = getTchishoType(prcGrpCd, pcrsCd);
			if (null == tchishoType || "".equals(tchishoType))
			{
				continue;
			}

			if (workMap.containsKey("tchisyo_cd"))
			{
				String set_tchishoType = (String)workMap.get("tchisyo_cd");
				// 先に判定した通知書判定と異なる場合
				// データの整合性がとれないため、エラーとする
				if (!set_tchishoType.equals(tchishoType))
				{
					errFlg = true;
					workMap.put("result_cd", RESULT_CD_UNMATCH_TCHISHO);
					return errFlg;
				}
			}
			else
			{
				workMap.put("tchisyo_cd", tchishoType);
			}

			// ------------------------------------------------------------------
			// 共通情報検索処理
			// ------------------------------------------------------------------
			searchCommonInfo(workMap, handle, param, fixedText, serviceKeiyakuMap);
			
			// ------------------------------------------------------------------
			// eoID整合性チェック
			// ------------------------------------------------------------------
			Map ck0011_map = (HashMap)workMap.get("ck0011_map");
			if (null == ck0011_map || null == ck0011_map.get("eoid"))
			{
				errFlg = true;
				workMap.put("result_cd", RESULT_CD_UNMATCH_EOID);
				return errFlg;
			}
			if (!eoId.equals(ck0011_map.get("eoid")))
			{
				errFlg = true;
				workMap.put("result_cd", RESULT_CD_UNMATCH_EOID);
				return errFlg;
			}
			
			// ------------------------------------------------------------------
			// 取得したサービス契約情報の料金グループコードから
			// サービスの種別を判定する
			// ------------------------------------------------------------------
			// サービス種別判定処理
			String svc_sbt = getSvcSbt((String)serviceKeiyakuMap.get("prc_grp_cd"));
			
			// ------------------------------------------------------------------
			// サービス種別毎に情報を取得する。
			// ------------------------------------------------------------------
			// ネットの場合
			if (SVC_SBT_NET.equals(svc_sbt))
			{
				searchNetInfo(workMap, handle, param, fixedText, serviceKeiyakuMap);
				workMap.put("svc_sbt", svc_sbt);
			}
			// モバイルの場合
			else if (SVC_SBT_MOBAL.equals(svc_sbt))
			{
				searchMobileInfo(workMap, handle, param, fixedText, serviceKeiyakuMap);
			}
			
			// ＡＤＳＬの場合
			else if (SVC_SBT_ADSL.equals(svc_sbt))
			{
				searchAdslInfo(workMap, handle, param, fixedText, serviceKeiyakuMap);
				workMap.put("svc_sbt", svc_sbt);
			}
			// 電話の場合
			else if (SVC_SBT_TEL.equals(svc_sbt))
			{
				searchTelInfo(workMap, handle, param, fixedText, serviceKeiyakuMap);
			}
			// eo64エアの場合
			else if (SVC_SBT_64AIR.equals(svc_sbt))
			{
				search64AirInfo(workMap, handle, param, fixedText, serviceKeiyakuMap);
			}
			// テレビ、その他
			else
			{
				continue;
			}
		}
		
		// ------------------------------------------------------------------
		// 通知書判定結果が存在しなければ、取得失敗とする
		// ------------------------------------------------------------------
		String tchisyo_cd = (String)workMap.get("tchisyo_cd");
		if (null == tchisyo_cd || "".equals(tchisyo_cd))
		{
			errFlg = true;
			workMap.put("result_cd", RESULT_CD_IMPOSSIBLE_JUDGE);
			return errFlg;
		}

		
		return errFlg;
	}

	/**
	 * 通知書種別を判断し返します。
	 * 
	 * @param prcGrpCd 料金グループコード
	 * @param pcrsCd 料金コースコード
	 * @return 通知書種別コード
	 */
	private String getTchishoType(String prcGrpCd, String pcrsCd)
	{

		String tchishoType = TCHISHO_SBT_3TS;

		if (null == prcGrpCd || "".equals(prcGrpCd))
		{
			tchishoType = null;
		}
		// eo64エア
		else if (PRC_GRP_CD_NET_64.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_MLADR;
		}
		// eo光ネットホームタイプ
		else if (PRC_GRP_CD_NET_HM.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_3TS;
		}
		// eo光ネットメゾンタイプ
		else if (PRC_GRP_CD_NET_MZ.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_3TS;
		}
		// eo光ネットマンションタイプ
		else if (PRC_GRP_CD_NET_MN.equals(prcGrpCd))
		{
			// 料金コースコードがマンションプライベート対象である場合
			if (mpPcrsCdList.contains(pcrsCd))
			{
				tchishoType = TCHISHO_SBT_MP;
			}
			else
			{
				tchishoType = TCHISHO_SBT_GL;
			}
		}
		// eoADSL(eAccess)
		else if (PRC_GRP_CD_ADSL_EA.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_ADSL_E;
		}
		// eoADSL(フレッツ)
		else if (PRC_GRP_CD_ADSL_FL.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_ADSL_F;
		}
		// eoモバイル(Wi-Fi)
		else if (PRC_GRP_CD_MOBA_WF.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_MOBAL;
		}
		// eoモバイル(EM)
		else if (PRC_GRP_CD_MOBA_EM.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_MOBAL;
		}
		// eoモバイル(UQ-WiMAX)
		else if (PRC_GRP_CD_MOBA_WM.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_MOBAL;
		}
		// eo光電話
		else if (PRC_GRP_CD_TEL.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_3TS;
		}
		// eo光テレビ(K-CAT)
		else if (PRC_GRP_CD_TV_CA.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_3TS;
		}
		// eo光テレビ(KCN)
		else if (PRC_GRP_CD_TV_KC.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_3TS;
		}
		// eo光テレビ(再送信)
		else if (PRC_GRP_CD_TV_SN.equals(prcGrpCd))
		{
			tchishoType = TCHISHO_SBT_3TS;
		}
		// その他
		else
		{
			tchishoType = null;
		}

		return tchishoType;
	}
	
	/**
	 * 共通情報を取得します。
	 * 
	 * @param workMap 作業用マップ
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param serviceKeiyakuMap サービス契約情報マップ
	 * @throws Exception
	 */
	private void searchCommonInfo(
			HashMap<String, Object> workMap, SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText,
			HashMap<String, Object> serviceKeiyakuMap)
	throws Exception
	{
		
		// お客様情報を取得する。
		if (!workMap.containsKey("ck0011_map"))
		{
			Map<String, Object> ck0011_map
			= getCK0011Map(handle, param, serviceKeiyakuMap, fixedText);
			workMap.put("ck0011_map", ck0011_map);
		}
	
		// ファミリー会員グループ情報一覧を取得する。
		if (!workMap.containsKey("ck0111_map"))
		{
			Map<String, Object> ck0111_map
			= getCK0111Map(handle, param, serviceKeiyakuMap, fixedText);
			workMap.put("ck0111_map", ck0111_map);
		}

		// FTPサーバー名を取得する。
		if (!workMap.containsKey("zm0321_02_map"))
		{
			Map<String, Object> zm0321_02_map
			= getZM0321AMap(handle, param, GYM_PRM_CD_FTP, fixedText);
			workMap.put("zm0321_02_map", zm0321_02_map);
		}

		// POPサーバー名を取得する。
		if (!workMap.containsKey("zm0321_03_map"))
		{
			Map<String, Object> zm0321_03_map
			= getZM0321AMap(handle, param, GYM_PRM_CD_POP, fixedText);
			workMap.put("zm0321_03_map", zm0321_03_map);
		}

		// SMTPサーバー名を取得する。
		if (!workMap.containsKey("zm0321_04_map"))
		{
			Map<String, Object> zm0321_04_map
			= getZM0321AMap(handle, param, GYM_PRM_CD_SMTP, fixedText);
			workMap.put("zm0321_04_map", zm0321_04_map);
		}
		
		// サービス契約内訳一覧を取得する
		HashMap<String, Object> kk0161_map
		= getKK0161Map(handle, param, serviceKeiyakuMap, fixedText);
		workMap.put("kk0161_map", kk0161_map);
	}
	
	
	/**
	 * ネット情報を取得します。
	 * 
	 * @param workMap 作業用マップ
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param serviceKeiyakuMap サービス契約情報マップ
	 * @throws Exception
	 */
	private void searchNetInfo(
			HashMap<String, Object> workMap, SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText,
			HashMap<String, Object> serviceKeiyakuMap)
	throws Exception
	{
		
		// サービス契約内訳＜eo光ネット＞を取得する
		HashMap<String, Object> kk0171_map
		= getKK0171Map(handle, param, fixedText, workMap);
		workMap.put("kk0171_map", kk0171_map);
		
		// オプションサービス契約一覧を取得する
		// オプションサービス契約＜ISP＞を取得する
		getOptSvcKei(workMap, handle, param, fixedText, serviceKeiyakuMap);
	}
	
	/**
	 * オプションサービス契約情報を取得します。
	 * 
	 * @param workMap 作業用マップ
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param serviceKeiyakuMap サービス契約情報マップ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private void getOptSvcKei(
			HashMap<String, Object> workMap, SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText,
			HashMap<String, Object> serviceKeiyakuMap)
	throws Exception
	{
		
		// オプションサービス契約一覧を取得する
		HashMap<String, Object> kk0351_map
		= getKK0351Map(handle, param, serviceKeiyakuMap, fixedText);
		ArrayList kk0351List
		= (ArrayList)kk0351_map.get("EKK0351B002CBSMsg1List");
		
		if (workMap.containsKey("kk0351List"))
		{
			ArrayList<HashMap<String, Object>> kk0351List_01
			= (ArrayList<HashMap<String, Object>>)workMap.get("kk0351List");
			kk0351List_01.addAll(kk0351List);
			workMap.put("kk0351List", kk0351List_01);
		}	
		else
		{
			workMap.put("kk0351List", kk0351List);
		}
		workMap.put("kk0351_map", kk0351_map);
		
		// オプションサービス契約＜ISP＞を取得する
		ArrayList<HashMap<String, Object>> kk0361List
		= getKK0361MapList(handle, param, fixedText, workMap);
		if (workMap.containsKey("kk0361List"))
		{
			ArrayList<HashMap<String, Object>> kk0361List_01
			= (ArrayList<HashMap<String, Object>>)workMap.get("kk0361List");
			kk0361List_01.addAll(kk0361List);
			workMap.put("kk0361List", kk0361List_01);
		}
		else
		{
			workMap.put("kk0361List", kk0361List);
		}
	}
	
	/**
	 * eo光電話情報を取得します。
	 * 
	 * @param workMap 作業用マップ
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param serviceKeiyakuMap サービス契約情報マップ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private void searchTelInfo(
			HashMap<String, Object> workMap, SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText,
			HashMap<String, Object> serviceKeiyakuMap)
	throws Exception
	{
		
		// サービス契約内訳<eo光電話>一覧照会（サービス契約番号）
		HashMap<String, Object> kk0191_map
		= getKK0191Map(handle, param, serviceKeiyakuMap, fixedText);
		ArrayList kk0191List
		= (ArrayList)kk0191_map.get("EKK0191B001CBSMsg1List");
		
		if (workMap.containsKey("kk0191List"))
		{
			ArrayList<HashMap<String, Object>> kk0191List_01
			= (ArrayList<HashMap<String, Object>>)workMap.get("kk0191List");
			kk0191List_01.addAll(kk0191List);
			workMap.put("kk0191List", kk0191List_01);
		}	
		else
		{
			workMap.put("kk0191List", kk0191List);
		}
		
		// オプションサービス契約<電話>一覧照会（サービス契約内訳番号）
		List kk0371List = getKK0371MapList(handle, param, fixedText, workMap);
		
		if (workMap.containsKey("kk0371List"))
		{
			ArrayList<HashMap<String, Object>> kk0371List_01
			= (ArrayList<HashMap<String, Object>>)workMap.get("kk0371List");
			kk0371List_01.addAll(kk0191List);
			workMap.put("kk0371List", kk0371List_01);
		}	
		else
		{
			workMap.put("kk0371List", kk0371List);
		}
	
		// コード名称管理一意照会(差込口文言)
		HashMap<String, Object> zm0171_01_map
		= getZM0171Map(handle, param, fixedText, CD_SBT_CD_VA_PORT_NO);
		workMap.put("zm0171_01_map", zm0171_01_map);
		
		// コード名称管理一意照会(番号通知文言)
		HashMap<String, Object> zm0171_02_map = 
			getZM0171Map(handle, param, fixedText, CD_SBT_CD_TELNO_NOTICE);
		workMap.put("zm0171_02_map", zm0171_02_map);
	}
	
	/**
	 * eoモバイル情報を取得します。
	 * 
	 * @param workMap 作業用マップ
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param serviceKeiyakuMap サービス契約情報
	 * @throws Exception
	 */
	private void searchMobileInfo(
			HashMap<String, Object> workMap, SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText,
			HashMap<String, Object> serviceKeiyakuMap)
	throws Exception
	{
		
		// サービス契約内訳<eoモバイル>一意照会
		HashMap<String, Object> kk0201_map
		= getKK0201Map(handle, param, fixedText, workMap);
		workMap.put("kk0201_map", kk0201_map);
		
		// オプションサービス契約一覧を取得する
		// オプションサービス契約＜ISP＞を取得する
		getOptSvcKei(workMap, handle, param, fixedText, serviceKeiyakuMap);
		
		// IEEE802_1X_SSIDを取得する。
		HashMap<String, Object> zm0321_05_map
		= getZM0321AMap(handle, param, GYM_PRM_CD_IEEE802_1X_SSID, fixedText);
		workMap.put("zm0321_05_map", zm0321_05_map);
		
		// WPA2_AES_SSIDを取得する。
		HashMap<String, Object> zm0321_06_map
		= getZM0321AMap(handle, param, GYM_PRM_CD_WPA2_AES_SSID, fixedText);
		workMap.put("zm0321_06_map", zm0321_06_map);
		
		// WEP_SSIDを取得する。
		HashMap<String, Object> zm0321_07_map
		= getZM0321AMap(handle, param, GYM_PRM_CD_WEP_SSID, fixedText);
		workMap.put("zm0321_07_map", zm0321_07_map);
		
		// WEP_KEYを取得する。
		HashMap<String, Object> zm0321_08_map
		= getZM0321AMap(handle, param, GYM_PRM_CD_WEP_KEY, fixedText);
		workMap.put("zm0321_08_map", zm0321_08_map);
	}
	
	/**
	 * ADSL情報を取得します。
	 * 
	 * @param workMap 作業用マップ
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param serviceKeiyakuMap サービス契約情報マップ
	 * @throws Exception
	 */
	private void searchAdslInfo(
			HashMap<String, Object> workMap, SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText,
			HashMap<String, Object> serviceKeiyakuMap)
	throws Exception
	{
		
		// サービス契約内訳＜eoADSL＞を取得する
		HashMap<String, Object> kk0221_map
		= getKK0221Map(handle, param, fixedText, workMap);
		workMap.put("kk0221_map", kk0221_map);
		
		
		// オプションサービス契約一覧を取得する
		// オプションサービス契約＜ISP＞を取得する
		getOptSvcKei(workMap, handle, param, fixedText, serviceKeiyakuMap);
	}
	
	/**
	 * 64エア情報を取得します。
	 * 
	 * @param workMap 作業用マップ
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param serviceKeiyakuMap サービス契約情報マップ
	 * @throws Exception
	 */
	private void search64AirInfo(
			HashMap<String, Object> workMap, SessionHandle handle, 
			IRequestParameterReadWrite param, String fixedText,
			HashMap<String, Object> serviceKeiyakuMap)
	throws Exception
	{
		
		// オプションサービス契約一覧を取得する
		// オプションサービス契約＜ISP＞を取得する
		getOptSvcKei(workMap, handle, param, fixedText, serviceKeiyakuMap);
	}
	
	/**
	 * 返却するパラメーターを設定します。
	 * 
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param workMap ワークマップ
	 * @param parentMap (I) ユーザデータ情報
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private void setParameter(
			IRequestParameterReadWrite param, String fixedText, 
			HashMap<String, Object> workMap, HashMap<String, Object> parentMap)
	throws Exception
	{
		
		// 結果を詰めるマップを取得。
		HashMap dataMap = null;

		/* 業務データ設定 */
		dataMap = (HashMap)param.getData(fixedText);
		if (dataMap == null) 
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}
		
		// --------------------------------------------------------------------------
		// eoID
		// --------------------------------------------------------------------------
		dataMap.put("eoid", parentMap.get("eoid"));
		
		// --------------------------------------------------------------------------
		// 整理番号
		// --------------------------------------------------------------------------
		dataMap.put("seiri_no", parentMap.get("seiri_no"));
		
		// --------------------------------------------------------------------------
		// 取得結果コード
		// --------------------------------------------------------------------------
		dataMap.put("result_cd", RESULT_CD_SUCCESS);
		
		// --------------------------------------------------------------------------
		// 通知書コード
		// --------------------------------------------------------------------------
		String tchisyo_cd = (String)workMap.get("tchisyo_cd");
		dataMap.put("tchisyo_cd", tchisyo_cd);
		
		// --------------------------------------------------------------------------
		// SYSID
		// --------------------------------------------------------------------------
		ArrayList kk0081MapList = (ArrayList)workMap.get("kk0081List");
		if (null != kk0081MapList && !kk0081MapList.isEmpty())
		{
			HashMap kk0081_map = (HashMap)kk0081MapList.get(0);
			if (null == kk0081_map || null == kk0081_map.get("sysid"))
			{
				dataMap.put("sysid", "");
			}
			else
			{
				dataMap.put("sysid", kk0081_map.get("sysid"));
			}
		}
		else
		{
			dataMap.put("sysid", "");
		}
		
		// --------------------------------------------------------------------------
		// お客様名
		// --------------------------------------------------------------------------
		HashMap ck0011_map = (HashMap)workMap.get("ck0011_map");
		if (null == ck0011_map || null == ck0011_map.get("cust_nm")) 
		{
			dataMap.put("cust_nm", "");
		}
		else
		{
			dataMap.put("cust_nm", ck0011_map.get("cust_nm"));	
		}
		
		// --------------------------------------------------------------------------
		// 初期eoID
		// --------------------------------------------------------------------------
		if (null == ck0011_map || null == ck0011_map.get("shk_eoid")) 
		{
			dataMap.put("shk_eoid", "");
		}
		else
		{
			dataMap.put("shk_eoid", ck0011_map.get("shk_eoid"));	
		}
		
		// --------------------------------------------------------------------------
		// 初期eoIDパスワード
		// --------------------------------------------------------------------------
		if (null == ck0011_map || null == ck0011_map.get("shk_eoid_pwd")) 
		{
			dataMap.put("shk_eoid_pwd", "");
		}
		else
		{
			dataMap.put("shk_eoid_pwd", ck0011_map.get("shk_eoid_pwd"));	
		}
		
		// --------------------------------------------------------------------------
		// 利用開始日
		// --------------------------------------------------------------------------
		if (null != kk0081MapList && !kk0081MapList.isEmpty())
		{
			String serviceStartDate = "";
			for (int i = 0; i < kk0081MapList.size(); i++)
			{
				HashMap kk0081_map = (HashMap)kk0081MapList.get(i);
				if ("".equals(serviceStartDate))
				{
					serviceStartDate = (String)kk0081_map.get("svc_sta_ymd");
				}
				else
				{
					BigDecimal startDate = new BigDecimal(serviceStartDate);
					BigDecimal compareDate = new BigDecimal((String)kk0081_map.get("svc_sta_ymd"));
					if (startDate.compareTo(compareDate) > 0)
					{
						serviceStartDate = (String)kk0081_map.get("svc_sta_ymd");
					}
				}
			}
			dataMap.put("svc_sta_ymd", serviceStartDate);
		}
		else
		{
			dataMap.put("svc_sta_ymd", "");
		}
		
		// --------------------------------------------------------------------------
		// FTPサーバー名
		// --------------------------------------------------------------------------
		Map zm0321_02_map = (HashMap)workMap.get("zm0321_02_map");
		if (null == zm0321_02_map || null == zm0321_02_map.get("work_param_sette_value"))
		{
			dataMap.put("ftp_sv_nm", "");
		}
		else
		{
			dataMap.put("ftp_sv_nm", zm0321_02_map.get("work_param_sette_value"));
		}
		
		// --------------------------------------------------------------------------
		// POPサーバー名
		// --------------------------------------------------------------------------
		Map zm0321_03_map = (HashMap)workMap.get("zm0321_03_map");
		if (null == zm0321_03_map || null == zm0321_03_map.get("work_param_sette_value"))
		{
			dataMap.put("pop_sv_nm", "");
		}
		else
		{
			dataMap.put("pop_sv_nm", zm0321_03_map.get("work_param_sette_value"));
		}

		// --------------------------------------------------------------------------
		// SMTPサーバー名
		// --------------------------------------------------------------------------
		Map zm0321_04_map = (HashMap)workMap.get("zm0321_04_map");
		if (null == zm0321_04_map || null == zm0321_04_map.get("work_param_sette_value"))
		{
			dataMap.put("smtp_sv_nm", "");
		}
		else
		{
			dataMap.put("smtp_sv_nm", zm0321_04_map.get("work_param_sette_value"));
		}
		
		// --------------------------------------------------------------------------
		// ファミリーコード
		// --------------------------------------------------------------------------
		HashMap ck0111_map = (HashMap)workMap.get("ck0111_map");
		if (null == ck0111_map || null == ck0111_map.get("grp_join_cd"))
		{
			dataMap.put("grp_join_cd", "");
		}
		else
		{
			dataMap.put("grp_join_cd", ck0111_map.get("grp_join_cd"));
		}
		
		// --------------------------------------------------------------------------
		// ファミリーコードパスワード
		// --------------------------------------------------------------------------
		if (null == ck0111_map || null == ck0111_map.get("grp_join_cd_pwd"))
		{
			dataMap.put("grp_join_cd_pwd", "");
		}
		else
		{
			dataMap.put("grp_join_cd_pwd", ck0111_map.get("grp_join_cd_pwd"));
		}

		// --------------------------------------------------------------------------
		// ネット情報を光ネット→ADSL→64エアの順に取得し、
		// 取得できれば、その情報を出力する
		// --------------------------------------------------------------------------
		Map kk0081_net_map = getSvcKeiInfo(SVC_SBT_NET, workMap);
		if (null == kk0081_net_map)
		{
			kk0081_net_map = getSvcKeiInfo(SVC_SBT_ADSL, workMap);
		}
		if (null == kk0081_net_map)
		{
			kk0081_net_map = getSvcKeiInfo(SVC_SBT_64AIR, workMap);
		}
		// --------------------------------------------------------------------------
		// eoネット サービス契約番号
		// --------------------------------------------------------------------------
		
		if (null == kk0081_net_map || null == kk0081_net_map.get("svc_kei_no"))
		{
			dataMap.put("net_svc_kei_no", "");
		}
		else
		{
			dataMap.put("net_svc_kei_no", kk0081_net_map.get("svc_kei_no"));	
		}
		
		// --------------------------------------------------------------------------
		// eoネット サービス契約名
		// --------------------------------------------------------------------------
		dataMap.put("net_svc_kei_nm", getServiceKeiNameForPrint(kk0081_net_map, workMap));

		String svc_sbt = (String)workMap.get("svc_sbt");
		// --------------------------------------------------------------------------
		// サービス契約がeo光ネットの場合
		// --------------------------------------------------------------------------
		if (SVC_SBT_NET.equals(svc_sbt))
		{
			
			Map kk0171_map = (HashMap)workMap.get("kk0171_map");
			// ----------------------------------------------------------------------
			// 光ネット認証ID
			// ----------------------------------------------------------------------
			if (null == kk0171_map || null == kk0171_map.get("isp_ninsho_id"))
			{
				dataMap.put("ninsho_id", "");
			}
			else
			{
				dataMap.put("ninsho_id", kk0171_map.get("isp_ninsho_id"));
			}
			
			// ----------------------------------------------------------------------
			// 光ネット認証IDパスワード
			// ----------------------------------------------------------------------
			if (null == kk0171_map || null == kk0171_map.get("shk_isp_ninsho_id_pwd"))
			{
				dataMap.put("ninsho_id_pwd", "");
			}
			else
			{
				dataMap.put("ninsho_id_pwd", kk0171_map.get("shk_isp_ninsho_id_pwd"));
			}
		}
		// --------------------------------------------------------------------------
		// サービス契約がeoADSLの場合
		// --------------------------------------------------------------------------
		else if (SVC_SBT_ADSL.equals(svc_sbt))
		{
			Map kk0221_map = (HashMap)workMap.get("kk0221_map");
			// ----------------------------------------------------------------------
			// ADSL認証ID
			// ----------------------------------------------------------------------
			if (null == kk0221_map || null == kk0221_map.get("adsl_ninsho_id"))
			{
				dataMap.put("ninsho_id", "");
			}
			else
			{
				dataMap.put("ninsho_id", kk0221_map.get("adsl_ninsho_id"));
			}
			
			// ----------------------------------------------------------------------
			// ADSL認証IDパスワード
			// ----------------------------------------------------------------------
			if (null == kk0221_map || null == kk0221_map.get("adsl_ninsho_id_pwd"))
			{
				dataMap.put("ninsho_id_pwd", "");
			}
			else
			{
				dataMap.put("ninsho_id_pwd", kk0221_map.get("adsl_ninsho_id_pwd"));
			}
		}
		// --------------------------------------------------------------------------
		// サービス契約がeo光ネット・eoADSL以外の場合
		// --------------------------------------------------------------------------
		else
		{
			dataMap.put("ninsho_id", "");
			dataMap.put("ninsho_id_pwd", "");
		}

		Map kk0351_map = getOldestStartService(workMap, OP_SVC_CD_EMAIL);
		if (null != kk0351_map && null != kk0351_map.get("op_svc_kei_no"))
		{
			Map kk0361_map = getOptSvcKeiISP(workMap, (String)kk0351_map.get("op_svc_kei_no"));
			// ----------------------------------------------------------------------
			// メールアドレス
			// ----------------------------------------------------------------------
			if (null == kk0361_map || null == kk0361_map.get("mlad"))
			{
				dataMap.put("mlad", "");
			}
			else
			{
				dataMap.put("mlad", kk0361_map.get("mlad"));
			}
			
			// ----------------------------------------------------------------------
			// メールパスワード
			// ----------------------------------------------------------------------
			if (null == kk0361_map || null == kk0361_map.get("shk_pop_id_pwd"))
			{
				dataMap.put("ml_pwd", "");
			}
			else
			{
				dataMap.put("ml_pwd", kk0361_map.get("shk_pop_id_pwd"));
			}
		}
		else
		{
			dataMap.put("mlad", "");
			dataMap.put("ml_pwd", "");
		}

		kk0351_map = getOldestStartService(workMap, OP_SVC_CD_MYHP);
		if (null != kk0351_map && null != kk0351_map.get("op_svc_kei_no"))
		{
			Map kk0361_map = getOptSvcKeiISP(workMap, (String)kk0351_map.get("op_svc_kei_no"));
			// ----------------------------------------------------------------------
			// WEBID
			// ----------------------------------------------------------------------
			if (null == kk0361_map || null == kk0361_map.get("web_id"))
			{
				dataMap.put("web_id", "");
			}
			else
			{
				dataMap.put("web_id", kk0361_map.get("web_id"));
			}
			
			// ----------------------------------------------------------------------
			// WEBIDパスワード
			// ----------------------------------------------------------------------
			if (null == kk0361_map || null == kk0361_map.get("shk_web_id_pwd"))
			{
				dataMap.put("shk_web_id_pwd", "");
			}
			else
			{
				dataMap.put("shk_web_id_pwd", kk0361_map.get("shk_web_id_pwd"));
			}
		}
		else
		{
			dataMap.put("web_id", "");
			dataMap.put("shk_web_id_pwd", "");
		}
		

		// --------------------------------------------------------------------------
		// eo光電話 サービス契約番号
		// --------------------------------------------------------------------------
		Map kk0081_tel_map = getSvcKeiInfo(SVC_SBT_TEL, workMap);
		if (null == kk0081_tel_map || null == kk0081_tel_map.get("svc_kei_no"))
		{
			dataMap.put("tel_svc_kei_no", "");
		}
		else
		{
			dataMap.put("tel_svc_kei_no", kk0081_tel_map.get("svc_kei_no"));	
		}
		
		// --------------------------------------------------------------------------
		// eo光電話 サービス契約名
		// --------------------------------------------------------------------------
		dataMap.put("tel_svc_kei_nm", getServiceKeiNameForPrint(kk0081_tel_map, workMap));

		// --------------------------------------------------------------------------
		// 電話番号１
		// --------------------------------------------------------------------------
		HashMap zm0171_01_map = (HashMap)workMap.get("zm0171_01_map");
		HashMap zm0171_02_map = (HashMap)workMap.get("zm0171_02_map");
		Map kk0191_1_map = getTelInfo(workMap, true);
		if (null == kk0191_1_map || null == kk0191_1_map.get("telno"))
		{
			dataMap.put("telno1", "");
		}
		else
		{
			dataMap.put("telno1", kk0191_1_map.get("telno"));
		}
		
		// --------------------------------------------------------------------------
		// 番号通知１
		// --------------------------------------------------------------------------
		if (null != kk0191_1_map && null != kk0191_1_map.get("svc_kei_ucwk_no"))
		{
			if (isTelNotice((String)kk0191_1_map.get("svc_kei_ucwk_no"), workMap))
			{
				// 通知する
				dataMap.put("no_tsuchi_um1", getCodeKbnNm(zm0171_02_map, CD_SBT_KBN_NOTICE));
			}
			else
			{
				// 通知しない
				dataMap.put("no_tsuchi_um1", getCodeKbnNm(zm0171_02_map, CD_SBT_KBN_NO_NOTICE));
			}
		}
		
		// --------------------------------------------------------------------------
		// 差込口１
		// --------------------------------------------------------------------------
		if (null == kk0191_1_map || null == kk0191_1_map.get("va_port_no"))
		{
			dataMap.put("va_port_no1", "");
		}
		else
		{
			dataMap.put("va_port_no1", 
					getCodeKbnNm(zm0171_01_map, (String)kk0191_1_map.get("va_port_no")));
		}		
		
		// --------------------------------------------------------------------------
		// リモート操作用パスワード１
		// --------------------------------------------------------------------------
		if (null == kk0191_1_map || null == kk0191_1_map.get("tel_op_sette_rmts_pwd"))
		{
			dataMap.put("tel_op_sette_rmts_pwd1", "");
		}
		else
		{
			dataMap.put("tel_op_sette_rmts_pwd1", kk0191_1_map.get("tel_op_sette_rmts_pwd"));
		}	
		
		// --------------------------------------------------------------------------
		// 電話番号２
		// --------------------------------------------------------------------------
		Map kk0191_2_map = getTelInfo(workMap, false);
		if (null == kk0191_2_map || null == kk0191_2_map.get("telno"))
		{
			dataMap.put("telno2", "");
		}
		else
		{
			dataMap.put("telno2", kk0191_2_map.get("telno"));
		}
		
		// --------------------------------------------------------------------------
		// 番号通知２
		// --------------------------------------------------------------------------
		if (null != kk0191_2_map && null != kk0191_2_map.get("svc_kei_ucwk_no"))
		{
			if (isTelNotice((String)kk0191_2_map.get("svc_kei_ucwk_no"), workMap))
			{
				// 通知する
				dataMap.put("no_tsuchi_um2", getCodeKbnNm(zm0171_02_map, CD_SBT_KBN_NOTICE));
			}
			else
			{
				// 通知しない
				dataMap.put("no_tsuchi_um2", getCodeKbnNm(zm0171_02_map, CD_SBT_KBN_NO_NOTICE));
			}
		}
		
		// --------------------------------------------------------------------------
		// 差込口２
		// --------------------------------------------------------------------------
		if (null == kk0191_2_map || null == kk0191_2_map.get("va_port_no"))
		{
			dataMap.put("va_port_no2", "");
		}
		else
		{
			dataMap.put("va_port_no2", 
					getCodeKbnNm(zm0171_01_map, (String)kk0191_2_map.get("va_port_no")));
		}	
		
		// --------------------------------------------------------------------------
		// リモート操作用パスワード２
		// --------------------------------------------------------------------------
		if (null == kk0191_2_map || null == kk0191_2_map.get("tel_op_sette_rmts_pwd"))
		{
			dataMap.put("tel_op_sette_rmts_pwd2", "");
		}
		else
		{
			dataMap.put("tel_op_sette_rmts_pwd2", kk0191_2_map.get("tel_op_sette_rmts_pwd"));
		}	
		

		// --------------------------------------------------------------------------
		// eo光テレビ サービス契約番号
		// --------------------------------------------------------------------------
		Map kk0081_tv_map = getSvcKeiInfo(SVC_SBT_TV, workMap);
		if (null == kk0081_tv_map || null == kk0081_tv_map.get("svc_kei_no"))
		{
			dataMap.put("tv_svc_kei_no", "");
		}
		else
		{
			dataMap.put("tv_svc_kei_no", kk0081_tv_map.get("svc_kei_no"));	
		}
		
		// --------------------------------------------------------------------------
		// eo光テレビ サービス契約名
		// --------------------------------------------------------------------------
		dataMap.put("tv_svc_kei_nm", getServiceKeiNameForPrint(kk0081_tv_map, workMap));

		// --------------------------------------------------------------------------
		// eoモバイル サービス契約番号
		// --------------------------------------------------------------------------
		Map kk0081_mobile_map = getSvcKeiInfo(SVC_SBT_MOBAL, workMap);
		if (null == kk0081_mobile_map || null == kk0081_mobile_map.get("svc_kei_no"))
		{
			dataMap.put("mobile_svc_kei_no", "");
		}
		else
		{
			dataMap.put("mobile_svc_kei_no", kk0081_mobile_map.get("svc_kei_no"));	
		}
		
		// --------------------------------------------------------------------------
		// eoモバイル サービス契約名
		// --------------------------------------------------------------------------
		dataMap.put("mobile_svc_kei_nm", getServiceKeiNameForPrint(kk0081_mobile_map, workMap));

		// --------------------------------------------------------------------------
		// IEEE802_1X_SSID
		// --------------------------------------------------------------------------
		Map zm0321_05_map = (HashMap)workMap.get("zm0321_05_map");
		if (null == zm0321_05_map || null == zm0321_05_map.get("work_param_sette_value"))
		{
			dataMap.put("ieee802_1x_ssid", "");
		}
		else
		{
			dataMap.put("ieee802_1x_ssid", zm0321_05_map.get("work_param_sette_value"));
		}
		
		// --------------------------------------------------------------------------
		// WPA2_AES_SSID
		// --------------------------------------------------------------------------
		Map zm0321_06_map = (HashMap)workMap.get("zm0321_06_map");
		if (null == zm0321_06_map || null == zm0321_06_map.get("work_param_sette_value"))
		{
			dataMap.put("wpa2_aes_ssid", "");
		}
		else
		{
			dataMap.put("wpa2_aes_ssid", zm0321_06_map.get("work_param_sette_value"));
		}
		
		// --------------------------------------------------------------------------
		// WEP_SSID
		// --------------------------------------------------------------------------
		Map zm0321_07_map = (HashMap)workMap.get("zm0321_07_map");
		if (null == zm0321_07_map || null == zm0321_07_map.get("work_param_sette_value"))
		{
			dataMap.put("wep_ssid", "");
		}
		else
		{
			dataMap.put("wep_ssid", zm0321_07_map.get("work_param_sette_value"));
		}
	
		// --------------------------------------------------------------------------
		// WEP_KEY
		// --------------------------------------------------------------------------
		Map zm0321_08_map = (HashMap)workMap.get("zm0321_08_map");
		if (null == zm0321_08_map || null == zm0321_08_map.get("work_param_sette_value"))
		{
			dataMap.put("wep_key", "");
		}
		else
		{
			dataMap.put("wep_key", zm0321_08_map.get("work_param_sette_value"));
		}
		
	}
	
	/**
	 * 返却するエラーパラメーターを設定します。
	 * 
	 * @param param モデルグループ、コントロールマップを含むパラメータオブジェクト
	 * @param fixedText ユーザ任意文字列
	 * @param workMap 作業マップ
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private void setErrParameter(
			IRequestParameterReadWrite param, String fixedText, HashMap<String, Object> workMap)
	throws Exception
	{
		
		// 結果を詰めるマップを取得。
		HashMap dataMap = null;

		/* 業務データ設定 */
		dataMap = (HashMap)param.getData(fixedText);
		if (dataMap == null) 
		{
			dataMap = new HashMap();
			param.setData(fixedText, dataMap);
		}
		// ----------------------------------------------------------------------
		// 取得結果コード
		// ----------------------------------------------------------------------
		dataMap.put("result_cd", workMap.get("result_cd"));
	}
	
	/**
	 * 引数のサービス種別コードと同一のサービス契約情報を取得します。
	 * 
	 * @param svcSbtCd サービス種別コード
	 * @param workMap ワークマップ
	 * @return サービス契約情報
	 */
	@SuppressWarnings("unchecked")
	private Map getSvcKeiInfo(String svcSbtCd, Map workMap)
	{
		
		Map svcKeiInfo = null;
		
		if (null != svcSbtCd)
		{
			List kk0081List = (List)workMap.get("kk0081List");
			
			if (null == kk0081List || kk0081List.isEmpty())
			{
				return svcKeiInfo;
			}
			
			for (int i = 0; i < kk0081List.size(); i++)
			{
				Map kk0081_map = (HashMap)kk0081List.get(i);
				
				if (null != kk0081_map
					&& svcSbtCd.equals(getSvcSbt((String)kk0081_map.get("prc_grp_cd"))))
				{
					svcKeiInfo = kk0081_map;
					break;
				}
			}
		}
		
		return svcKeiInfo;
	}
	
	/**
	 * 渡されたサービス契約情報からID通知書印字用サービス契約名を取得します。
	 * 
	 * @param kk0081_map サービス契約情報
	 * @param workMap ワークマップ
	 * @return サービス契約名
	 */
	private String getServiceKeiNameForPrint(Map<String, Object> kk0081_map, Map<String, Object> workMap) {
		
		if (null == kk0081_map)
		{
			return "";
		}
		
		String svcKeiNo = (String) kk0081_map.get("svc_kei_no");
		
		if (null == svcKeiNo || "".equals(svcKeiNo))
		{
			return "";
		}
		
		List<Map<String, Object>> svcKeiList = (List<Map<String, Object>>) workMap.get("EKK0081B025CBSMsg1List");
		
		if (null != svcKeiList && !svcKeiList.isEmpty())
		{
			for (int i = 0; i < svcKeiList.size(); i++)
			{
				Map<String, Object> kk0081B_map = (Map<String, Object>) svcKeiList.get(i);
				
				if (null != kk0081B_map && svcKeiNo.equals(kk0081B_map.get("svc_kei_no")))
				{
					String prgpNm = (String)kk0081B_map.get("id_tchisho_prt_yo_prgp_nm");
					String pcrsNm = (String)kk0081B_map.get("id_tchisho_prt_yo_pcrs_nm");
					
					if (null == prgpNm)
					{
						prgpNm = "";
					}
					if (null == pcrsNm)
					{
						pcrsNm = "";
					}
					
					
					StringBuilder str = new StringBuilder();
					str.append(prgpNm).append(" ").append(pcrsNm);
					return str.toString();
				}
				
			}
		}
		
		return "";
	}
	
	/**
	 * 対象のサービスコードのサービス開始日が
	 * 最も古いオプションサービス契約情報を取得します。
	 * 
	 * @param workMap ワークマップ
	 * @param opSvcCd オプションサービスコード
	 * @return オプションサービス契約情報
	 */
	@SuppressWarnings("unchecked")
	private Map getOldestStartService(Map workMap, String opSvcCd)
	{
		
		Map infoMap = new HashMap();

		if (null == opSvcCd || "".equals(opSvcCd))
		{
			return infoMap;
		}
		
		List kk0351List = (List)workMap.get("kk0351List");
		
		if (null == kk0351List || kk0351List.isEmpty()) 
		{
			return infoMap;
		}
		
		String svcStartDate = "";
		for (int i = 0; i < kk0351List.size(); i++)
		{
			Map kk0351_map = (HashMap)kk0351List.get(i);
			
			if (null == kk0351_map)
			{
				continue;
			}
			else if (null == kk0351_map.get("svc_staymd") 
					|| "".equals(kk0351_map.get("svc_staymd")))
			{
				continue;
			}
			else if (null == kk0351_map.get("op_svc_cd") 
					|| "".equals(kk0351_map.get("op_svc_cd")))
			{
				continue;
			}

			if (opSvcCd.equals((String)kk0351_map.get("op_svc_cd")))
			{
				if ("".equals(svcStartDate))
				{
					infoMap = kk0351_map;
					svcStartDate = (String)kk0351_map.get("svc_staymd");
				}
				else
				{
					if (0 < new BigDecimal(svcStartDate).compareTo(
							new BigDecimal((String)kk0351_map.get("svc_staymd"))))
					{
						infoMap = kk0351_map;
						svcStartDate = (String)kk0351_map.get("svc_staymd");
					}
				}
			}
		}
		
		return infoMap;
	}
	
	/**
	 * 引数のオプションサービス契約番号のオプションサービス契約<ISP>情報を取得します。
	 * 
	 * @param workMap ワークマップ
	 * @param optSvcKeiNo オプションサービス契約番号
	 * @return オプションサービス契約<ISP>情報
	 */
	@SuppressWarnings("unchecked")
	private Map getOptSvcKeiISP(Map workMap, String optSvcKeiNo)
	{
		
		Map infoMap = new HashMap();
		List kk0361List = (List)workMap.get("kk0361List");
		
		if (null == kk0361List || kk0361List.isEmpty())
		{
			return infoMap;
		}
		
		for (int i = 0; i < kk0361List.size(); i++)
		{
			Map kk0361_map = (HashMap)kk0361List.get(i);
			if(null == kk0361_map)
			{
				continue;
			}
			else if (optSvcKeiNo.equals(kk0361_map.get("op_svc_kei_no")))
			{
				infoMap = kk0361_map;
				break;
			}
		}
		
		return infoMap;
	}
	
	/**
	 * 光電話情報を取得します。
	 * 
	 * @param workMap ワークマップ
	 * @param firstFlg 第1フラグ
	 * @return 光電話情報
	 */
	@SuppressWarnings("unchecked")
	private Map getTelInfo(Map workMap, boolean firstFlg)
	{
		
		Map firstTelInfo = new HashMap();
		Map secondTelInfo = new HashMap();
		Map telInfo = new HashMap();
		
		List kk0191List = (List)workMap.get("kk0191List");
		String first = "";
		String second = "";
		
		if (null == kk0191List || kk0191List.isEmpty())
		{
			return telInfo;
		}
		
		for (int i = 0; i < kk0191List.size(); i++)
		{
			Map kk0191_map = (HashMap)kk0191List.get(i);
			
			if (null == kk0191_map 
					|| null == kk0191_map.get("va_port_no") 
					|| "".equals(kk0191_map.get("va_port_no")))
			{
				continue;
			}
			
			// 第1VAポート番号が空である場合
			if ("".equals(first))
			{
				first = (String)kk0191_map.get("va_port_no");
				firstTelInfo = kk0191_map;
			}
			else
			{
				// 第1VAポート番号よりも小さい場合、
				// 取得した電話情報を第1とし、
				// 第1に入っていた情報を第2とする
				if (0 < new BigDecimal(first).compareTo(
						new BigDecimal((String)kk0191_map.get("va_port_no"))))
				{
					second = first;
					secondTelInfo = firstTelInfo;
					
					first = (String)kk0191_map.get("va_port_no");
					firstTelInfo = kk0191_map;
				}
				// 第1VAポート番号よりも大きいVAポート番号の場合
				else 
				{
					// 第2VAポート番号が空である場合
					if ("".equals(second))
					{
						second = (String)kk0191_map.get("va_port_no");
						secondTelInfo = kk0191_map;
					}
					else
					{
						// 第2VAポート番号よりも小さいVAポート番号の場合、
						// 取得した電話情報を第2とする
						if (0 < new BigDecimal(second).compareTo(
								new BigDecimal((String)kk0191_map.get("va_port_no"))))
						{
							second = (String)kk0191_map.get("va_port_no");
							secondTelInfo = kk0191_map;
						}
					}
				}
			}
		}
		
		if (firstFlg)
		{
			telInfo = firstTelInfo;
		}
		else
		{
			telInfo = secondTelInfo;
		}
		
		return telInfo;
	}
	
	/**
	 * 番号通知のオプション契約が存在するか判断します
	 * 
	 * @param svcKeiUchiNo サービス契約内訳番号
	 * @param workMap ワークマップ
	 * @return true 存在する false 存在しない
	 */
	@SuppressWarnings("unchecked")
	private boolean isTelNotice(String svcKeiUchiNo, Map workMap)
	{
		
		if (null != svcKeiUchiNo)
		{
		
			List kk0371List = (List)workMap.get("kk0371List");
			
			if (null == kk0371List || kk0371List.isEmpty())
			{
				return false;
			}
			
			for (int i = 0; i < kk0371List.size(); i++)
			{
				Map kk0371_map = (Map)kk0371List.get(i);
				
				if (null == kk0371_map)
				{
					return false;
				}
				else if (null == kk0371_map.get("op_svc_cd"))
				{
					continue;
				}
				else if (null == kk0371_map.get("svc_kei_ucwk_no"))
				{
					continue;
				}
						
				if (OP_SVC_CD_TELNO_NOTICE.equals(kk0371_map.get("op_svc_cd"))
					&& svcKeiUchiNo.equals(kk0371_map.get("svc_kei_ucwk_no")))
				{
					return true;
				}
			}
		}
		return false;
	}
	
	/**
	 * コード区分マップから指定したコード区分でコード区分名称を取得します。
	 * 
	 * @param codeMap コード区分マップ
	 * @param cdKbn コード区分
	 * @return コード区分名称
	 */
	private String getCodeKbnNm(HashMap<String, Object> codeMap, String cdKbn)
	{
		
		String codeKbnNm = "";
		if (null == codeMap)
		{
			return codeKbnNm;
		}
		
		List<HashMap<String, Object>> zm0171List = 
			(List<HashMap<String, Object>>)codeMap.get("EZM0171B010CBSMsg1List");
		
		if (null == zm0171List || zm0171List.isEmpty())
		{
			return codeKbnNm;
		}
		
		for (int i = 0; i < zm0171List.size(); i++)
		{
			HashMap<String, Object> zm0171_map = (HashMap<String, Object>)zm0171List.get(i);
			
			if (null != zm0171_map.get("cd_div") && !"".equals((String)zm0171_map.get("cd_div")))
			{
				if (zm0171_map.get("cd_div").equals(cdKbn))
				{
					codeKbnNm = (String)zm0171_map.get("cd_div_nm");
					break;
				}
			}
		}
		
		return codeKbnNm;
	}

	/**
	 * 通知書検索用チェック処理。<br>
	 * チェック処理用の通知書登録サービスインターフェイスを作成し返却します。<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 parentMap = null;
		parentMap = (HashMap)param.getData(fixedText);

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		HashMap paramMap = editInMsg(param, parentMap, fixedText); 

		return paramMap;
	}

	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param parentMap (I)
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsg(
			IRequestParameterReadOnly param, HashMap<String, Object> parentMap, String fixedText)
	throws RequestParameterException
	{

		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		/* SCインプット共通データ */
		// **********************************************
		// 【取得元：電文ヘッダ(ヘッダ)】
		// **********************************************
		// 電文ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
		// ユースケースID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
		// オペレーションID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
		// サービス呼び出し区分
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());

		// **********************************************
		// 【取得元：ユーザエリア(コントロールマップ)】
		// **********************************************
		// 依頼先ホスト名
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// 依頼元IPアドレス
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY, param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// 依頼元画面ID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY, param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// オペレータID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY, param.getControlMapData(SCControlMapKeys.OPERATOR_ID));

		CAANMsg template = new CAANMsg(EKK0081B025CBSMsg.class.getName());

		HashMap<String, Object> inMap = null;

		// テンプレートID
		template.set(EKK0081B025CBSMsg.TEMPLATEID, "EKK0081B025");

		// 機能コード（デフォルト：１）
		template.set(EKK0081B025CBSMsg.FUNC_CODE, "1");

		// オペレータID
		Object operatorId = param.getControlMapData(SCControlMapKeys.OPERATOR_ID);
		template.set(JCMConstants.OPERATOR_ID_KEY, operatorId);

		// 運用日付
		Object operateDate = param.getControlMapData(SCControlMapKeys.OPE_DATE);
		template.set(JCMConstants.OPERATE_DATE_KEY, operateDate);

		// 運用日時
		Object operateDateTime = param.getControlMapData(SCControlMapKeys.OPE_TIME);
		template.set(JCMConstants.OPERATE_DATETIME_KEY, operateDateTime);

		/* ユーザデータ情報 */
		inMap = (HashMap<String, Object>)param.getData(fixedText);
		
		// 機能コード
		template.set(EKK0081B025CBSMsg.FUNC_CODE, inMap.get(JCMConstants.FUNC_CODE_KEY));

		// サービス契約一覧照会（整理番号）マップ.ＫＥＹ＿整理番号 → ＫＥＹ＿整理番号
		if (null == parentMap.get("seiri_no") || "".equals(parentMap.get("seiri_no")))
		{
			template.setNull(EKK0081B025CBSMsg.KEY_SEIRI_NO);
		}
		else
		{
			template.set(EKK0081B025CBSMsg.KEY_SEIRI_NO, (String)parentMap.get("seiri_no"));
		}

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * リクエストパラメータ．料金グループコードにてサービスの判定を行う。<br>
	 * <br>
	 * 
	 * @param prcGrpCd 料金グループコード
	 * @return サービス種別
	 */
	private String getSvcSbt(String prcGrpCd)
	{

		String prc_grp_cd = null;

		// 通知書登録マップ.料金グループコード
		if (null == prcGrpCd || "".equals(prcGrpCd))
		{
			prc_grp_cd = "";
		}
		else
		{
			prc_grp_cd = prcGrpCd;
		}

		// 料金グループコード判定
		if (PRC_GRP_CD_NET_HM.equals(prc_grp_cd)
			|| PRC_GRP_CD_NET_MZ.equals(prc_grp_cd)
			|| PRC_GRP_CD_NET_MN.equals(prc_grp_cd))
		{
			// eoネット
			return SVC_SBT_NET;
		}

		if (PRC_GRP_CD_TEL.equals(prc_grp_cd))
		{
			// eo電話
			return SVC_SBT_TEL;
		}

		if (PRC_GRP_CD_TV_CA.equals(prc_grp_cd) 
			|| PRC_GRP_CD_TV_KC.equals(prc_grp_cd) 
			|| PRC_GRP_CD_TV_SN.equals(prc_grp_cd))
		{
			// eoテレビ
			return SVC_SBT_TV;
		}

		if (PRC_GRP_CD_ADSL_EA.equals(prc_grp_cd) 
			|| PRC_GRP_CD_ADSL_FL.equals(prc_grp_cd))
		{
			// eoADSL
			return SVC_SBT_ADSL;
		}

		if (PRC_GRP_CD_MOBA_WF.equals(prc_grp_cd) 
			|| PRC_GRP_CD_MOBA_EM.equals(prc_grp_cd) 
			|| PRC_GRP_CD_MOBA_WM.equals(prc_grp_cd))
		{
			// eoモバイル
			return SVC_SBT_MOBAL;
		}
		
		if (PRC_GRP_CD_NET_64.equals(prc_grp_cd))
		{
			// eo64エア
			return SVC_SBT_64AIR;
		}

		return "";
	}
	
	/**
	 * 整理番号に紐づくサービス契約情報を取得します。
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param parentMap (I) ユーザデータ情報
	 * @param fixedText ユーザ任意文字列
	 * @return サービス契約情報
	 * @throws Exception
	 */
	private HashMap<String, Object> getKK081BMap(
			SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> parentMap, String fixedText)
	throws Exception
	{
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgKK0081B(param, parentMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。
		// 空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0081_map = new HashMap<String, Object>();
		kk0081_map = editResultRPKK0081B(result, param, fixedText);

		return kk0081_map;
	}

	/**
	 * サービス契約情報の取得します。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param kk0081B_map サービス契約情報
	 * @param fixedText ユーザ任意文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0081MapA(
			SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> kk0081B_map, String fixedText)
	throws Exception
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgKK0081A(param, kk0081B_map);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。
		// 空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0081_map = new HashMap<String, Object>();
		kk0081_map = editResultRPKK0081A(result, param, fixedText);

		return kk0081_map;

	}

	/**
	 * お客様情報の取得処理。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param kk0081ChildMap サービス契約情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getCK0011Map(
			SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> kk0081ChildMap, String fixedText)
	throws Exception
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgCK0011(param, kk0081ChildMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成
		// （引数にはログに出力するクラス名を渡す。
		// 空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> ck0011_map = new HashMap<String, Object>();
		ck0011_map = editResultRPCK0011(result, param, fixedText);

		return ck0011_map;

	}

	/**
	 * グループ情報の取得処理。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param kk0081ChildMap サービス契約情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getCK0111Map(
			SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> kk0081ChildMap, String fixedText)
	throws Exception
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgCK0111(param, kk0081ChildMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。
		// 空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> ck0111_map = new HashMap<String, Object>();
		ck0111_map = editResultRPCK0111(result, param, fixedText);

		return ck0111_map;

	}

	/**
	 * ネット情報（ＩＳＰ）の取得処理。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param serviceKeiyakuMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0351Map(
			SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> serviceKeiyakuMap, String fixedText)
	throws Exception
	{
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgKK0351(param, serviceKeiyakuMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成
		// （引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0351_map = new HashMap<String, Object>();
		kk0351_map = editResultRPKK0351(
				result, param, fixedText, (String)serviceKeiyakuMap.get("svc_kei_no"));

		return kk0351_map;

	}

	/**
	 * オプションサービス契約＜ISP＞一意照会の取得処理。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return ArrayList(サービスコンポーネント実行用CAANMsg)
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private ArrayList getKK0361MapList(
			SessionHandle handle, IRequestParameterReadWrite param,
			String fixedText, HashMap<String, Object> workMap)
	throws Exception
	{
		// オプションサービス契約＜ISP＞一意結果マップリスト
		ArrayList kk0361MapList = new ArrayList();

		ArrayList kk0351List = null;
		// オプションサービス契約一覧マップの取り出し
		HashMap<String, Object> kk0351_map = (HashMap)workMap.get("kk0351_map");

		// 明細の取り出し
		kk0351List = (ArrayList)kk0351_map.get("EKK0351B002CBSMsg1List");

		if (kk0351List == null || 0 == kk0351List.size())
		{
			return kk0361MapList;
		}

		// kk0351_map.オプションサービス契約番号分繰返し
		for (int i = 0; i < kk0351List.size(); i++)
		{
			// 明細Mapの取り出し
			HashMap kk0351childMap = (HashMap)kk0351List.get(i);

			/* ◇上りマッピング処理 */
			// 上りマッピングの処理結果を取得するためのマップを生成
			HashMap<String, Object> paramMap = new HashMap<String, Object>();

			// リクエストパラメータを引数に上りマッピング処理メソッドを実行
			paramMap = editInMsgKK0361(param, kk0351childMap);

			/* ◇ＳＣ呼出実行 */
			// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。
			// 空文字を設定した場合はログに出力されない。
			ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
			Map<?, ?> result = scCall.run(paramMap, handle);

			/* ◇下りマッピング処理 */
			HashMap<String, Object> kk0361_map = new HashMap<String, Object>();
			kk0361_map = editResultRPKK0361(result, param, fixedText, (String)kk0351_map.get("svc_kei_no"));

			// 結果が存在する場合
			if (kk0361_map != null)
			{
				// 一意照会結果マップをリストに追加
				kk0361MapList.add(kk0361_map);

			}
		}

		return kk0361MapList;

	}
	
	/**
	 * オプションサービス契約＜電話＞一覧照会の取得処理。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return ArrayList(サービスコンポーネント実行用CAANMsg)
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private ArrayList getKK0371MapList(
			SessionHandle handle, IRequestParameterReadWrite param,
			String fixedText, HashMap<String, Object> workMap)
	throws Exception
	{
		// オプションサービス契約＜ISP＞一意結果マップリスト
		ArrayList kk0371MapList = new ArrayList();

		ArrayList kk0191List = (ArrayList)workMap.get("kk0191List");

		if (kk0191List == null || 0 == kk0191List.size())
		{
			return kk0371MapList;
		}

		// kk0191_map.オプションサービス契約番号分繰返し
		for (int i = 0; i < kk0191List.size(); i++)
		{
			// 明細Mapの取り出し
			HashMap kk0191childMap = (HashMap)kk0191List.get(i);

			/* ◇上りマッピング処理 */
			// 上りマッピングの処理結果を取得するためのマップを生成
			HashMap<String, Object> paramMap = new HashMap<String, Object>();

			// リクエストパラメータを引数に上りマッピング処理メソッドを実行
			paramMap = editInMsgKK0371(param, kk0191childMap);

			/* ◇ＳＣ呼出実行 */
			// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。
			// 空文字を設定した場合はログに出力されない。
			ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
			Map<?, ?> result = scCall.run(paramMap, handle);

			/* ◇下りマッピング処理 */
			HashMap<String, Object> kk0371_map = new HashMap<String, Object>();
			kk0371_map = editResultRPKK0371(result, param, fixedText);

			// 結果が存在する場合
			if (kk0371_map != null)
			{
				List kk0371List = (List)kk0371_map.get("EKK0371B001CBSMsg1List");
				// 一意照会結果マップをリストに追加
				kk0371MapList.addAll(kk0371List);

			}
		}

		return kk0371MapList;

	}

	/**
	 * サービス契約内訳一覧情報の取得処理。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param serviceKeiyakuMap (I) ユーザデータ情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0161Map(
			SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> serviceKeiyakuMap, String fixedText)
	throws Exception
	{
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgKK0161(param, serviceKeiyakuMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成
		// （引数にはログに出力するクラス名を渡す。空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0161_map = new HashMap<String, Object>();
		kk0161_map = editResultRPKK0161(result, param, fixedText);

		return kk0161_map;

	}

	/**
	 * サービス契約内訳＜eo光ネット＞の取得処理。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> getKK0171Map(
			SessionHandle handle, IRequestParameterReadWrite param,
			String fixedText, HashMap<String, Object> workMap)
	throws Exception
	{

		ArrayList kk0161List = null;
		// サービス契約内訳一覧照会マップの取り出し
		HashMap<String, Object> kk0161_map = (HashMap)workMap.get("kk0161_map");

		// 明細の取り出し
		kk0161List = (ArrayList)kk0161_map.get("EKK0161B004CBSMsg1List");

		if (kk0161List == null || 0 == kk0161List.size())
		{
			return null;
		}

		// kk0161_map.サービス契約内訳番号を１番目を設定
		HashMap kk0161childMap = (HashMap)kk0161List.get(0);

		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgKK0171(param, kk0161childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。
		// 空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0171_map = new HashMap<String, Object>();
		kk0171_map = editResultRPKK0171(result, param, fixedText);

		return kk0171_map;

	}

	/**
	 * サービス契約内訳＜eoADSLネット＞の取得処理。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> getKK0221Map(
			SessionHandle handle, IRequestParameterReadWrite param,
			String fixedText, HashMap<String, Object> workMap)
	throws Exception
	{

		ArrayList kk0161List = null;
		// サービス契約内訳一覧照会マップの取り出し
		HashMap<String, Object> kk0161_map = (HashMap)workMap.get("kk0161_map");

		// 明細の取り出し
		kk0161List = (ArrayList)kk0161_map.get("EKK0161B004CBSMsg1List");

		if (kk0161List == null || 0 == kk0161List.size())
		{
			return null;
		}

		// kk0161_map.サービス契約内訳番号を１番目を設定
		HashMap kk0161childMap = (HashMap)kk0161List.get(0);

		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgKK0221(param, kk0161childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。
		// 空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0221_map = new HashMap<String, Object>();
		kk0221_map = editResultRPKK0221(result, param, fixedText);

		return kk0221_map;

	}

	/**
	 * サービス契約内訳＜eoモバイル＞一意照会の取得処理。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param workMap (I) 作業用マップ
	 * @return ArrayList(サービスコンポーネント実行用CAANMsg)
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> getKK0201Map(
			SessionHandle handle, IRequestParameterReadWrite param,
			String fixedText, HashMap<String, Object> workMap)
	throws Exception
	{

		ArrayList kk0161List = null;
		// サービス契約内訳一覧マップの取り出し
		HashMap<String, Object> kk0161_map = (HashMap)workMap.get("kk0161_map");

		// 明細の取り出し
		kk0161List = (ArrayList)kk0161_map.get("EKK0161B004CBSMsg1List");

		if (kk0161List == null || 0 == kk0161List.size())
		{
			return null;
		}

		// kk0161_map.サービス契約内訳番号を１番目を設定
		// 明細の取り出し
		HashMap kk0161childMap = (HashMap)kk0161List.get(0);

		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgKK0201(param, kk0161childMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。
		// 空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0201_map = new HashMap<String, Object>();
		kk0201_map = editResultRPKK0201(result, param, fixedText);

		return kk0201_map;

	}
	
	/**
	 * 業務パラメーターの取得処理。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param paramId パラメータID
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getZM0321AMap(
			SessionHandle handle, IRequestParameterReadWrite param,
			String paramId, String fixedText)
	throws Exception
	{

		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgZM0321(param, paramId);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。
		// 空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> zm0321_map = new HashMap<String, Object>();
		zm0321_map = editResultRPZM0321(result, param, fixedText);

		return zm0321_map;

	}
	
	/**
	 * サービス契約回線内訳<eo光電話>一覧の取得処理。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param serviceKeiyakuMap サービス契約情報
	 * @param fixedText (I) ユーザ定義文字列
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getKK0191Map(
			SessionHandle handle, IRequestParameterReadWrite param, 
			HashMap<String, Object> serviceKeiyakuMap, String fixedText)
	throws Exception
	{
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgKK0191(param, serviceKeiyakuMap);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。
		// 空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> kk0191_map = new HashMap<String, Object>();
		kk0191_map = editResultRPKK0191(
				result, param, fixedText, (String)serviceKeiyakuMap.get("svc_kei_no"));

		return kk0191_map;

	}
	
	/**
	 * コード名称管理一意照会の取得処理。<br>
	 * <br>
	 * 
	 * @param handle セッションマネージャなどを持ったハンドル
	 * @param param (I) 業務データ取得用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param cdSbtCd コード種別コード
	 * @param cdKbn コード区分
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception Exceptionがスローされます。
	 */
	private HashMap<String, Object> getZM0171Map(
			SessionHandle handle, IRequestParameterReadWrite param, 
			String fixedText, String cdSbtCd)
	throws Exception
	{
		
		/* ◇上りマッピング処理 */
		// 上りマッピングの処理結果を取得するためのマップを生成
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// リクエストパラメータを引数に上りマッピング処理メソッドを実行
		paramMap = editInMsgZM0171(param, cdSbtCd);

		/* ◇ＳＣ呼出実行 */
		// SC呼び出し部品のインスタンス生成（引数にはログに出力するクラス名を渡す。
		// 空文字を設定した場合はログに出力されない。
		ServiceComponentRequestInvoker scCall = new ServiceComponentRequestInvoker();
		Map<?, ?> result = scCall.run(paramMap, handle);

		/* ◇下りマッピング処理 */
		HashMap<String, Object> zm0171_map = new HashMap<String, Object>();
		zm0171_map = editResultRPZM0171(result, param, fixedText);

		return zm0171_map;

	}
	
	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param parentMap (I)
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgKK0081B(
			IRequestParameterReadOnly param, HashMap<String, Object> parentMap)
	throws RequestParameterException
	{
		
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EKK0081B025CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0081B025CBSMsg.TEMPLATEID, "EKK0081B025");

		// 機能コード
		template.set(EKK0081B025CBSMsg.FUNC_CODE, "1");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// サービス契約一覧照会（整理番号）.ＫＥＹ＿整理番号 → ＫＥＹ＿整理番号
		if (parentMap == null || null == parentMap.get("seiri_no") 
				|| "".equals(parentMap.get("seiri_no")))
		{
			template.setNull(EKK0081B025CBSMsg.KEY_SEIRI_NO);
		}
		else
		{
			template.set(EKK0081B025CBSMsg.KEY_SEIRI_NO, (String)parentMap.get("seiri_no"));
		}

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}


	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param kk0081B_map (I)
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgKK0081A(
			IRequestParameterReadOnly param, HashMap<String, Object> kk0081B_map)
	throws RequestParameterException
	{
		
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EKK0081A010CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0081A010CBSMsg.TEMPLATEID, "EKK0081A010");

		// 機能コード
		template.set(EKK0081A010CBSMsg.FUNC_CODE, "2");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// サービス契約一意照会マップ.ＫＥＹ＿サービス契約番号 → ＫＥＹ＿サービス契約番号
		if (kk0081B_map == null || null == kk0081B_map.get("svc_kei_no") 
				|| "".equals(kk0081B_map.get("svc_kei_no")))
		{
			template.setNull(EKK0081A010CBSMsg.KEY_SVC_KEI_NO);
		}
		else
		{
			template.set(EKK0081A010CBSMsg.KEY_SVC_KEI_NO, kk0081B_map.get("svc_kei_no"));
		}

		// サービス契約一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → ＫＥＹ＿世代登録年月日時分秒
		template.setNull(EKK0081A010CBSMsg.KEY_GENE_ADD_DTM);

		// サービス契約一意照会マップ.ＫＥＹ＿予約適用年月日 → ＫＥＹ＿予約適用年月日
		template.set(EKK0081A010CBSMsg.KEY_RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));


		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param kk0081ChildMap サービス契約情報
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgCK0011(
			IRequestParameterReadOnly param, HashMap<String, Object> kk0081ChildMap)
	throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(ECK0011A010CBSMsg.class.getName());

		// テンプレートID
		template.set(ECK0011A010CBSMsg.TEMPLATEID, "ECK0011A010");

		// 機能コード（カレント:2）
		template.set(ECK0011A010CBSMsg.FUNC_CODE, "2");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// お客様一意照会マップ.ＫＥＹ＿ＳＹＳＩＤ → ＳＹＳＩＤ
		if (kk0081ChildMap == null || kk0081ChildMap.get("sysid") == null 
				|| "".equals(kk0081ChildMap.get("sysid")))
		{
			template.setNull(ECK0011A010CBSMsg.KEY_SYSID);
		}
		else
		{
			template.set(ECK0011A010CBSMsg.KEY_SYSID, (String)kk0081ChildMap.get("sysid"));
		}

		// お客様一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → 空白
		template.setNull(ECK0011A010CBSMsg.KEY_GENE_ADD_DTM);

		// お客様一意照会マップ.ＫＥＹ＿予約適用年月日 → 運用日
		template.set(ECK0011A010CBSMsg.KEY_RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param kk0081ChildMap サービス契約情報
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgCK0111(
			IRequestParameterReadOnly param, HashMap<String, Object> kk0081ChildMap)
	throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(ECK0111B002CBSMsg.class.getName());

		// テンプレートID
		template.set(ECK0111B002CBSMsg.TEMPLATEID, "ECK0111B002");

		// 機能コード（デフォルト：１）
		template.set(ECK0111B002CBSMsg.FUNC_CODE, "1");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// ファミリー会員グループ一覧照会マップ.ＫＥＹ＿ＳＹＳＩＤ → ＫＥＹ＿ＳＹＳＩＤ
		if (kk0081ChildMap == null || kk0081ChildMap.get("sysid") == null 
				|| "".equals(kk0081ChildMap.get("sysid")))
		{
			template.setNull(ECK0111B002CBSMsg.KEY_SYSID);
		}
		else
		{
			template.set(ECK0111B002CBSMsg.KEY_SYSID, (String)kk0081ChildMap.get("sysid"));
		}

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param serviceKeiyakuMap サービス契約情報マップ
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgKK0351(
			IRequestParameterReadOnly param, HashMap<String, Object> serviceKeiyakuMap)
	throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EKK0351B002CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0351B002CBSMsg.TEMPLATEID, "EKK0351B002");

		// 機能コード（デフォルト：１）
		template.set(EKK0351B002CBSMsg.FUNC_CODE, "1");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// オプションサービス契約一覧照会（サービス契約番号）.ＫＥＹ＿サービス契約番号 
		// → ＫＥＹ＿サービス契約番号
		if (serviceKeiyakuMap == null || serviceKeiyakuMap.get("svc_kei_no") == null 
				|| "".equals(serviceKeiyakuMap.get("svc_kei_no")))
		{
			template.setNull(EKK0351B002CBSMsg.KEY_SVC_KEI_NO);
		}
		else
		{
			template.set(EKK0351B002CBSMsg.KEY_SVC_KEI_NO, (String)serviceKeiyakuMap.get("svc_kei_no"));
		}

		// オプションサービス契約一覧照会（サービス契約番号）.ＫＥＹ＿サービス契約内訳番号 → 空白
		template.setNull(EKK0351B002CBSMsg.KEY_SVC_KEI_UCWK_NO);

		// オプションサービス契約一覧照会（サービス契約番号）.ＫＥＹ＿オプションサービスコード → 空白
		template.setNull(EKK0351B002CBSMsg.KEY_OP_SVC_CD);

		// オプションサービス契約一覧照会（サービス契約番号）.ＫＥＹ＿基準年月日 → 空白
		template.setNull(EKK0351B002CBSMsg.KEY_BASE_YMD);

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param kk0351childMap (I) オプションサービス契約結果マップ
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgKK0361(
			IRequestParameterReadOnly param, HashMap<String, Object> kk0351childMap)
	throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EKK0361A010CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0361A010CBSMsg.TEMPLATEID, "EKK0361A010");

		// 機能コード（2:カレント）
		template.set(EKK0361A010CBSMsg.FUNC_CODE, "2");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// オプションサービス契約＜ＩＳＰ＞一意照会.ＫＥＹ＿オプションサービス契約番号 
		// → kk0351_map.オプションサービス契約番号
		if (kk0351childMap == null || kk0351childMap.get("op_svc_kei_no") == null 
				|| "".equals(kk0351childMap.get("op_svc_kei_no")))
		{
			template.setNull(EKK0361A010CBSMsg.KEY_OP_SVC_KEI_NO);
		}
		else
		{
			template.set(EKK0361A010CBSMsg.KEY_OP_SVC_KEI_NO, 
					(String)kk0351childMap.get("op_svc_kei_no"));
		}

		// オプションサービス契約＜ＩＳＰ＞一意照会.ＫＥＹ＿世代登録年月日時分秒 → 空白
		template.setNull(EKK0361A010CBSMsg.KEY_GENE_ADD_DTM);

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}
	
	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param kk0191childMap (I) オプションサービス契約結果マップ
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgKK0371(
			IRequestParameterReadOnly param, HashMap<String, Object> kk0191childMap)
	throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EKK0371B001CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0371B001CBSMsg.TEMPLATEID, "EKK0371B001");

		// 機能コード
		template.set(EKK0371B001CBSMsg.FUNC_CODE, "1");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// コード名称管理一意照会マップ.ＫＥＹ＿サービス契約内訳番号 
		// → ＫＥＹ＿サービス契約内訳番号
		if (kk0191childMap == null || kk0191childMap.get("svc_kei_ucwk_no") == null 
				|| "".equals(kk0191childMap.get("svc_kei_ucwk_no")))
		{
			template.setNull(EKK0371B001CBSMsg.KEY_SVC_KEI_UCWK_NO);
		}
		else
		{
			template.set(EKK0371B001CBSMsg.KEY_SVC_KEI_UCWK_NO, 
					(String)kk0191childMap.get("svc_kei_ucwk_no"));
		}

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param serviceKeiyakuMap サービス契約情報マップ
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgKK0161(
			IRequestParameterReadOnly param, HashMap<String, Object> serviceKeiyakuMap)
	throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EKK0161B004CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0161B004CBSMsg.TEMPLATEID, "EKK0161B004");

		// 機能コード（デフォルト：１）
		template.set(EKK0161B004CBSMsg.FUNC_CODE, "1");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// サービス契約内訳一覧照会マップ.ＫＥＹ＿サービス契約番号 → ＫＥＹ＿サービス契約番号
		if (serviceKeiyakuMap == null || serviceKeiyakuMap.get("svc_kei_no") == null 
				|| "".equals(serviceKeiyakuMap.get("svc_kei_no")))
		{
			template.setNull(EKK0161B004CBSMsg.KEY_SVC_KEI_NO);
		}
		else
		{
			template.set(EKK0161B004CBSMsg.KEY_SVC_KEI_NO, (String)serviceKeiyakuMap.get("svc_kei_no"));
		}

		// サービス契約内訳一覧照会マップ.ＫＥＹ＿料金コースコード 
		// → ＫＥＹ＿料金コースコード
		template.setNull(EKK0161B004CBSMsg.KEY_PCRS_CD);

		// サービス契約内訳一覧照会マップ.ＫＥＹ＿サービス期間中フラグ 
		// → ＫＥＹ＿サービス期間中フラグ
		template.setNull(EKK0161B004CBSMsg.KEY_SVC_PRD_FLG);

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param kk0161childMap (I) サービス契約内訳結果マップ
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgKK0171(
			IRequestParameterReadOnly param, HashMap<String, Object> kk0161childMap) 
	throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EKK0171A010CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0171A010CBSMsg.TEMPLATEID, "EKK0171A010");

		// 機能コード（2:カレント）
		template.set(EKK0171A010CBSMsg.FUNC_CODE, "2");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// サービス契約内訳＜eo光ネット＞一意照会マップ.ＫＥＹ＿サービス契約内訳番号 
		// → kk0161_map.ＫＥＹ＿サービス契約内訳番号
		if (kk0161childMap == null || kk0161childMap.get("svc_kei_ucwk_no") == null 
				|| "".equals(kk0161childMap.get("svc_kei_ucwk_no")))
		{
			template.setNull(EKK0171A010CBSMsg.KEY_SVC_KEI_UCWK_NO);
		}
		else
		{
			template.set(EKK0171A010CBSMsg.KEY_SVC_KEI_UCWK_NO, 
					(String)kk0161childMap.get("svc_kei_ucwk_no"));
		}

		// サービス契約内訳＜eo光ネット＞一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → 空白
		template.setNull(EKK0171A010CBSMsg.KEY_GENE_ADD_DTM);

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param kk0161childMap (I) サービス契約内訳結果マップ
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgKK0221(
			IRequestParameterReadOnly param, HashMap<String, Object> kk0161childMap)
	throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EKK0221A010CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0221A010CBSMsg.TEMPLATEID, "EKK0221A010");

		// 機能コード（2:カレント）
		template.set(EKK0221A010CBSMsg.FUNC_CODE, "2");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// サービス契約内訳<eoADSL>一意照会マップ.ＫＥＹ＿サービス契約内訳番号 
		// → kk0161_map.ＫＥＹ＿サービス契約内訳番号
		if (kk0161childMap == null || kk0161childMap.get("svc_kei_ucwk_no") == null 
				|| "".equals(kk0161childMap.get("svc_kei_ucwk_no")))
		{
			template.setNull(EKK0221A010CBSMsg.KEY_SVC_KEI_UCWK_NO);
		}
		else
		{
			template.set(EKK0221A010CBSMsg.KEY_SVC_KEI_UCWK_NO, 
					(String)kk0161childMap.get("svc_kei_ucwk_no"));
		}

		// サービス契約内訳<eoADSL>一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → 空白
		template.setNull(EKK0221A010CBSMsg.KEY_GENE_ADD_DTM);

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}

	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param kk0161childMap (I) サービス契約内訳結果マップ
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgKK0201(
			IRequestParameterReadOnly param, HashMap<String, Object> kk0161childMap) 
	throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EKK0201A010CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0201A010CBSMsg.TEMPLATEID, "EKK0201A010");

		// 機能コード（2:カレント）
		template.set(EKK0201A010CBSMsg.FUNC_CODE, "2");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// サービス契約内訳＜ｅｏモバイル＞一意照会マップ.ＫＥＹ＿サービス契約内訳番号
		// → kk0161_map.サービス契約内訳番号
		if (kk0161childMap == null || kk0161childMap.get("svc_kei_ucwk_no") == null 
				|| "".equals(kk0161childMap.get("svc_kei_ucwk_no")))
		{
			template.setNull(EKK0201A010CBSMsg.KEY_SVC_KEI_UCWK_NO);
		}
		else
		{
			template.set(EKK0201A010CBSMsg.KEY_SVC_KEI_UCWK_NO, 
					(String)kk0161childMap.get("svc_kei_ucwk_no"));
		}

		// サービス契約内訳＜ｅｏモバイル＞一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 → 空白
		template.setNull(EKK0201A010CBSMsg.KEY_GENE_ADD_DTM);

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}
	
	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param paramId 業務パラメータID
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます
	 *                。
	 */
	private HashMap<String, Object> editInMsgZM0321(
			IRequestParameterReadOnly param, String paramId)
	throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EZM0321A010CBSMsg.class.getName());

		// テンプレートID
		template.set(EZM0321A010CBSMsg.TEMPLATEID, "EZM0321A010");

		// 機能コード（1:デフォルト）
		template.set(EZM0321A010CBSMsg.FUNC_CODE, "1");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// 業務パラメータID → ＫＥＹ＿業務パラメータＩＤ
		if (null == paramId || "".equals(paramId))
		{
			template.setNull(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID);
		}
		else
		{
			template.set(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID, paramId);
		}


		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}
	
	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param serviceKeiyakuMap (I) サービス契約情報
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgKK0191(
			IRequestParameterReadOnly param, HashMap<String, Object> serviceKeiyakuMap)
	throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EKK0191B001CBSMsg.class.getName());

		// テンプレートID
		template.set(EKK0191B001CBSMsg.TEMPLATEID, "EKK0191B001");

		// 機能コード（デフォルト：１）
		template.set(EKK0191B001CBSMsg.FUNC_CODE, "1");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// サービス契約回線内訳<eo光電話>.ＫＥＹ＿サービス契約番号 → サービス契約番号
		if (serviceKeiyakuMap == null || serviceKeiyakuMap.get("svc_kei_no") == null 
				|| "".equals(serviceKeiyakuMap.get("svc_kei_no")))
		{
			template.setNull(EKK0191B001CBSMsg.KEY_SVC_KEI_NO);
		}
		else
		{
			template.set(EKK0191B001CBSMsg.KEY_SVC_KEI_NO, (String)serviceKeiyakuMap.get("svc_kei_no"));
		}

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}
	
	/**
	 * CAANMsgに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param serviceKeiyakuMap (I) サービス契約情報
	 * @param cdSbtCd コード種別コード
	 * @return サービスコンポーネント実行用CAANMsg
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private HashMap<String, Object> editInMsgZM0171(
			IRequestParameterReadOnly param, String cdSbtCd)
	throws RequestParameterException
	{
		HashMap<String, Object> paramMap = new HashMap<String, Object>();

		// メッセージ共通部の設定
		setCommonParamMap(param, paramMap);

		CAANMsg template = new CAANMsg(EZM0171B010CBSMsg.class.getName());

		// テンプレートID
		template.set(EZM0171B010CBSMsg.TEMPLATEID, "EZM0171B010");

		// 機能コード（デフォルト：１）
		template.set(EZM0171B010CBSMsg.FUNC_CODE, "1");

		// サービスインターフェイス共通部の設定
		setCommonTemplate(param, template);

		// コード名称管理一意照会マップ.ＫＥＹ＿コード種別コード → ＫＥＹ＿コード種別コード
		if (null == cdSbtCd || "".equals(cdSbtCd))
		{
			template.setNull(EZM0171B010CBSMsg.KEY_CD_SBT_CD);
		}
		else
		{
			template.set(EZM0171B010CBSMsg.KEY_CD_SBT_CD, cdSbtCd);
		}

		CAANMsg[] templates = new CAANMsg[1];
		templates[0] = template;
		paramMap.put(JCMConstants.TEMPLATE_LIST_KEY, templates);

		return paramMap;
	}
	
	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList　(I) CAANMsgクラス
	 * @param param　業務データ取得・書込用I/F
	 * @param fixedText　(I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPKK0081B(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText)
	throws Exception
	{
		
		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// サービス契約一覧照会（整理番号）結果マップ
		HashMap kk0081B_map = new HashMap();
		ArrayList kk0081List = new ArrayList();

		templateArray = parentTemplate.getCAANMsgList(EKK0081B025CBSMsg.EKK0081B025CBSMSG1LIST);

		if (templateArray != null)
		{
			for (int i = 0; i < templateArray.length; i++)
			{
				
				CAANMsg childTemplate = templateArray[i];
				HashMap childMap = new HashMap();
				
				String svc_kei_stat = childTemplate.getString(EKK0081B025CBSMsg1List.SVC_KEI_STAT);
				// サービス契約ステータスがキャンセル・解約の場合、対象外とする
				if (SVC_KEI_STAT_CSL.equals(svc_kei_stat) || SVC_KEI_STAT_KAI.equals(svc_kei_stat))
				{
					continue;
				}
	
				// サービス契約一覧照会（整理番号）マップ.サービス契約一覧照会（整理番号）明細.サービス契約番号
				// ← サービス契約一覧照会（整理番号）明細.サービス契約番号
				if (!childTemplate.isNull(EKK0081B025CBSMsg1List.SVC_KEI_NO))
				{
					childMap.put("svc_kei_no", 
							childTemplate.getString(EKK0081B025CBSMsg1List.SVC_KEI_NO));
				}
				
				// サービス契約一覧照会（整理番号）マップ.サービス契約一覧照会（整理番号）明細.ID通知書印字用料金グループ名
				// ← サービス契約一覧照会（整理番号）明細.ID通知書印字用料金グループ名
				if (!childTemplate.isNull(EKK0081B025CBSMsg1List.ID_TCHISHO_PRT_YO_PRGP_NM))
				{
					childMap.put("id_tchisho_prt_yo_prgp_nm", 
							childTemplate.getString(EKK0081B025CBSMsg1List.ID_TCHISHO_PRT_YO_PRGP_NM));
				}
				
				// サービス契約一覧照会（整理番号）マップ.サービス契約一覧照会（整理番号）明細.ID通知書印字用料金コース名
				// ← サービス契約一覧照会（整理番号）明細.ID通知書印字用料金コース名
				if (!childTemplate.isNull(EKK0081B025CBSMsg1List.ID_TCHISHO_PRT_YO_PCRS_NM))
				{
					childMap.put("id_tchisho_prt_yo_pcrs_nm", 
							childTemplate.getString(EKK0081B025CBSMsg1List.ID_TCHISHO_PRT_YO_PCRS_NM));
				}
				
				// サービス契約一覧照会（整理番号）マップ.サービス契約一覧照会（整理番号）明細.ID通知書印字用料金プラン名
				// ← サービス契約一覧照会（整理番号）明細.ID通知書印字用料金プラン名
				if (!childTemplate.isNull(EKK0081B025CBSMsg1List.ID_TCHISHO_PRT_YO_PPLAN_NM))
				{
					childMap.put("id_tchisho_prt_yo_pplan_nm", 
							childTemplate.getString(EKK0081B025CBSMsg1List.ID_TCHISHO_PRT_YO_PPLAN_NM));
				}
				
				kk0081List.add(childMap);
			}
		}
		kk0081B_map.put("EKK0081B025CBSMsg1List", kk0081List);

		// エラー情報の設定
		editErrorInfoKK0081B(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return kk0081B_map;

	}

	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList　(I) CAANMsgクラス
	 * @param param　業務データ取得・書込用I/F
	 * @param fixedText　(I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPKK0081A(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText)
	throws Exception
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// サービス契約一意照会結果マップ
		HashMap kk0081_map = new HashMap();
		ArrayList kk0081List = null;

		templateArray = parentTemplate.getCAANMsgList(EKK0081A010CBSMsg.EKK0081A010CBSMSG1LIST);
		kk0081List = (ArrayList)kk0081_map.get("EKK0081A010CBSMsg1List");

		if (kk0081List == null)
		{
			kk0081List = new ArrayList();
		}

		if (templateArray != null && templateArray.length != 0)
		{
			
			String svc_kei_stat = EKK0081A010CBSMsg1List.SVC_KEI_STAT;
			// サービス契約ステータスがキャンセル・解約以外の場合
			if (!SVC_KEI_STAT_CSL.equals(svc_kei_stat) && !SVC_KEI_STAT_KAI.equals(svc_kei_stat))
			{
				kk0081List.add(new HashMap());
				CAANMsg childTemplate = templateArray[0];
				HashMap childMap = (HashMap)kk0081List.get(0);
	
				// サービス契約一意照会マップ.サービス契約一意照会明細.サービス契約番号
				// ← サービス契約一意照会明細.サービス契約番号
				if (childTemplate.isNull(EKK0081A010CBSMsg1List.SVC_KEI_NO))
				{
					childMap.put("svc_kei_no", "");
				}
				else
				{
					childMap.put("svc_kei_no", 
							childTemplate.getString(EKK0081A010CBSMsg1List.SVC_KEI_NO));
				}
	
				// サービス契約一意照会マップ.サービス契約一意照会明細.サービス契約ステータス
				// ←サービス契約一意照会明細.サービス契約ステータス
				if (childTemplate.isNull(EKK0081A010CBSMsg1List.SVC_KEI_STAT))
				{
					childMap.put("svc_kei_stat", "");
				}
				else
				{
					childMap.put("svc_kei_stat", 
							childTemplate.getString(EKK0081A010CBSMsg1List.SVC_KEI_STAT));
				}
	
				// サービス契約一意照会マップ.サービス契約一意照会明細.ＳＹＳID
				// ← サービス契約一意照会明細.ＳＹＳID
				if (childTemplate.isNull(EKK0081A010CBSMsg1List.SYSID))
				{
					childMap.put("sysid", "");
				}
				else
				{
					childMap.put("sysid", 
							childTemplate.getString(EKK0081A010CBSMsg1List.SYSID));
				}
	
				// サービス契約一意照会マップ.サービス契約一意照会明細.料金グループコード
				// ← サービス契約一意照会明細.料金グループコード
				if (childTemplate.isNull(EKK0081A010CBSMsg1List.PRC_GRP_CD))
				{
					childMap.put("prc_grp_cd", "");
				}
				else
				{
					childMap.put("prc_grp_cd", 
							childTemplate.getString(EKK0081A010CBSMsg1List.PRC_GRP_CD));
				}
	
				// サービス契約一意照会マップ.サービス契約一意照会明細.サービス開始年月日
				// ← サービス契約一意照会明細.サービス開始年月日
				if (childTemplate.isNull(EKK0081A010CBSMsg1List.SVC_STA_YMD))
				{
					childMap.put("svc_sta_ymd", "");
				}
				else
				{
					childMap.put("svc_sta_ymd", 
							childTemplate.getString(EKK0081A010CBSMsg1List.SVC_STA_YMD));
	
				}
				
				// サービス契約一意照会マップ.サービス契約一意照会明細.料金グループコード名称
				// ← サービス契約一意照会明細.料金グループコード名称
				if (childTemplate.isNull(EKK0081A010CBSMsg1List.PRC_GRP_CD_NM))
				{
					childMap.put("prc_grp_cd_nm", "");
				}
				else
				{
					childMap.put("prc_grp_cd_nm", 
							childTemplate.getString(EKK0081A010CBSMsg1List.PRC_GRP_CD_NM));
	
				}
				
				// サービス契約一意照会マップ.サービス契約一意照会明細.料金コースコード名称
				// ← サービス契約一意照会明細.料金コースコード名称
				if (childTemplate.isNull(EKK0081A010CBSMsg1List.PCRS_CD_NM))
				{
					childMap.put("pcrs_cd_nm", "");
				}
				else
				{
					childMap.put("pcrs_cd_nm", 
							childTemplate.getString(EKK0081A010CBSMsg1List.PCRS_CD_NM));
	
				}
				
				// サービス契約一意照会マップ.サービス契約一意照会明細.料金コースコード
				// ← サービス契約一意照会明細.料金コースコード
				if (childTemplate.isNull(EKK0081A010CBSMsg1List.PCRS_CD))
				{
					childMap.put("pcrs_cd", "");
				}
				else
				{
					childMap.put("pcrs_cd", 
							childTemplate.getString(EKK0081A010CBSMsg1List.PCRS_CD));
	
				}
			}
		}
		kk0081_map.put("EKK0081A010CBSMsg1List", kk0081List);

		// エラー情報の設定
		editErrorInfoKK0081A(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return kk0081_map;

	}

	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList　(I) CAANMsgクラス
	 * @param param　業務データ取得・書込用I/F
	 * @param fixedText　(I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPCK0011(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText)
	throws Exception
	{
		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// お客様一意照会結果マップ
		HashMap ck0011_map = new HashMap();

		// 結果確認
		templateArray = parentTemplate.getCAANMsgList(ECK0011A010CBSMsg.ECK0011A010CBSMSG1LIST);

		if (templateArray != null && templateArray.length != 0)
		{

			// お客様一意照会マップ.初期eoID
			// ← お客様一意照会明細.初期eoID
			ck0011_map.put("shk_eoid", JPCBPCommon.getSCListValueString(
					parentTemplate, ECK0011A010CBSMsg.ECK0011A010CBSMSG1LIST, 0,
					ECK0011A010CBSMsg1List.SHK_EOID));

			// お客様一意照会マップ.お客様一意照会明細.初期eoIDパスワード
			// ← お客様一意照会明細.初期eoIDパスワード
			ck0011_map.put("shk_eoid_pwd", JPCBPCommon.getSCListValueString(
					parentTemplate, ECK0011A010CBSMsg.ECK0011A010CBSMSG1LIST, 0,
					ECK0011A010CBSMsg1List.SHK_EOID_PWD));

			// お客様一意照会マップ.お客様一意照会明細.SYSID
			// ← お客様一意照会明細.SYSID
			ck0011_map.put("sysid", JPCBPCommon.getSCListValueString(
					parentTemplate, ECK0011A010CBSMsg.ECK0011A010CBSMSG1LIST, 0,
					ECK0011A010CBSMsg1List.SYSID));

			// お客様一意照会マップ.お客様一意照会明細.お客様名
			// ← お客様一意照会明細.お客様名
			ck0011_map.put("cust_nm", JPCBPCommon.getSCListValueString(
					parentTemplate, ECK0011A010CBSMsg.ECK0011A010CBSMSG1LIST, 0,
					ECK0011A010CBSMsg1List.CUST_NM));

			// お客様一意照会マップ.お客様一意照会明細.eoID
			// ← お客様一意照会明細.eoID
			ck0011_map.put("eoid", JPCBPCommon.getSCListValueString(
					parentTemplate, ECK0011A010CBSMsg.ECK0011A010CBSMSG1LIST, 0,
					ECK0011A010CBSMsg1List.EOID));
		}
		else
		{

			// お客様一意照会マップ.初期eoID
			ck0011_map.put("shk_eoid", "");

			// お客様一意照会マップ.お客様一意照会明細.初期eoIDパスワード
			ck0011_map.put("shk_eoid_pwd", "");

			// お客様一意照会マップ.SYSID
			ck0011_map.put("sysid", "");

			// お客様一意照会マップ.お客様名
			ck0011_map.put("cust_nm", "");

			// お客様一意照会マップ.eoID
			ck0011_map.put("eoid", "");
		}

		// エラー情報の設定
		editErrorInfoCK0011(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return ck0011_map;

	}

	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList　(I) CAANMsgクラス
	 * @param param　業務データ取得・書込用I/F
	 * @param fixedText　(I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPCK0111(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText)
	throws Exception
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// ファミリー会員グループ一覧照会結果マップ
		HashMap ck0111_map = new HashMap();
		ArrayList ck0111List = null;

		templateArray = parentTemplate.getCAANMsgList(ECK0111B002CBSMsg.ECK0111B002CBSMSG1LIST);
		ck0111List = (ArrayList)ck0111_map.get("ECK0111B002CBSMsg1List");

		if (ck0111List == null)
		{
			ck0111List = new ArrayList();
		}

		HashMap childMap = new HashMap();
		if (templateArray != null && templateArray.length != 0)
		{
			CAANMsg childTemplate = templateArray[0];
			ck0111List.add(new HashMap());
			childMap = (HashMap)ck0111List.get(0);

			// ファミリー会員グループ一覧照会（ＳＹＳID）明細.グループ入会コード
			if (childTemplate.isNull(ECK0111B002CBSMsg1List.GRP_JOIN_CD))
			{
				childMap.put("grp_join_cd", "");
			}
			else
			{
				childMap.put("grp_join_cd", 
						childTemplate.getString(ECK0111B002CBSMsg1List.GRP_JOIN_CD));
			}

			// ファミリー会員グループ一覧照会（ＳＹＳID）明細.グループ入会コードパスワード
			if (childTemplate.isNull(ECK0111B002CBSMsg1List.GRP_JOIN_CD_PWD))
			{
				childMap.put("grp_join_cd_pwd", "");
			}
			else
			{
				childMap.put("grp_join_cd_pwd", 
						childTemplate.getString(ECK0111B002CBSMsg1List.GRP_JOIN_CD_PWD));
			}
		}

		// エラー情報の設定
		editErrorInfoCK0111(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return childMap;

	}

	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList (I) CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param svcKeiNo サービス契約番号
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPKK0351(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText, String svcKeiNo)
	throws Exception
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// オプションサービス契約一覧照会結果マップ
		HashMap kk0351_map = new HashMap();
		ArrayList kk0351List = null;

		templateArray = parentTemplate.getCAANMsgList(EKK0351B002CBSMsg.EKK0351B002CBSMSG1LIST);
		kk0351List = (ArrayList)kk0351_map.get("EKK0351B002CBSMsg1List");

		if (kk0351List == null)
		{
			kk0351List = new ArrayList();
		}

		// kk0351List件数初期化
		int cnt = 0;

		if (templateArray != null)
		{
			for (int i = 0; i < templateArray.length; i++)
			{
				CAANMsg childTemplate = templateArray[i];

				// オプションサービス契約一覧照会（サービス契約番号）明細.オプションサービスコード
				String op_svc_cd = "";
				if (childTemplate.isNull(EKK0351B002CBSMsg1List.OP_SVC_CD))
				{
					op_svc_cd = "";
				}
				else
				{
					op_svc_cd = childTemplate.getString(EKK0351B002CBSMsg1List.OP_SVC_CD);
				}
				
				// オプションサービス契約一覧照会（サービス契約番号）明細.オプションサービス契約ステータス
				String op_svc_kei_stat = "";
				if (childTemplate.isNull(EKK0351B002CBSMsg1List.OP_SVC_KEI_STAT))
				{
					op_svc_kei_stat = "";
				}
				else
				{
					op_svc_kei_stat = childTemplate.getString(EKK0351B002CBSMsg1List.OP_SVC_KEI_STAT);
				}

				// オプション契約ステータスがキャンセル済・解約済以外の時
				// 且つオプションステータスコードがEメール・Myホームページの時
				if (!SVC_KEI_STAT_CSL.equals(op_svc_kei_stat) && !SVC_KEI_STAT_KAI.equals(op_svc_kei_stat)) 
				{
					if (OP_SVC_CD_EMAIL.equals(op_svc_cd) 
							|| OP_SVC_CD_MYHP.equals(op_svc_cd))
					{
						kk0351List.add(new HashMap());
					}
					else
					{
						continue;
					}
				
				}
				else
				{
					continue;
				}

				HashMap childMap = (HashMap)kk0351List.get(cnt);

				// オプションサービス契約一覧照会（サービス契約番号）明細.オプションサービス契約番号
				if (childTemplate.isNull(EKK0351B002CBSMsg1List.OP_SVC_KEI_NO))
				{
					childMap.put("op_svc_kei_no", "");
				}
				else
				{
					childMap.put("op_svc_kei_no", childTemplate.getString(EKK0351B002CBSMsg1List.OP_SVC_KEI_NO));
				}

				// オプションサービス契約一覧照会（サービス契約番号）明細.オプションサービスコード
				if (childTemplate.isNull(EKK0351B002CBSMsg1List.OP_SVC_CD))
				{
					childMap.put("op_svc_cd", "");
				}
				else
				{
					childMap.put("op_svc_cd", childTemplate.getString(EKK0351B002CBSMsg1List.OP_SVC_CD));
				}
				
				// オプションサービス契約一覧照会（サービス契約番号）明細.オプションサービス契約ステータス
				if (childTemplate.isNull(EKK0351B002CBSMsg1List.OP_SVC_KEI_STAT))
				{
					childMap.put("op_svc_kei_stat", "");
				}
				else
				{
					childMap.put("op_svc_kei_stat", childTemplate.getString(EKK0351B002CBSMsg1List.OP_SVC_KEI_STAT));
				}
				// オプションサービス契約一覧照会（サービス契約番号）明細.サービス開始年月日
				if (childTemplate.isNull(EKK0351B002CBSMsg1List.SVC_STAYMD))
				{
					childMap.put("svc_staymd", "");
				}
				else
				{
					childMap.put("svc_staymd", childTemplate.getString(EKK0351B002CBSMsg1List.SVC_STAYMD));
				}
				
				// サービス契約番号
				if (null != svcKeiNo)
				{
					childMap.put("svc_kei_no", svcKeiNo);
				}
				// kk0351List件数
				cnt = cnt + 1;
			}
		}
		kk0351_map.put("EKK0351B002CBSMsg1List", kk0351List);

		// エラー情報の設定
		editErrorInfoKK0351(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return kk0351_map;

	}

	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList (I) CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param svcKeiNo サービス契約番号
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPKK0361(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText, String svcKeiNo)
	throws Exception
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// オプションサービス契約＜ISP＞一意照会結果マップ
		HashMap kk0361_map = new HashMap();

		// 結果確認
		templateArray = parentTemplate.getCAANMsgList(EKK0361A010CBSMsg.EKK0361A010CBSMSG1LIST);

		if (templateArray != null && templateArray.length != 0)
		{
			// オプションサービス契約＜ＩＳＰ＞一意照会.オプションサーブス契約番号 
			// ← オプションサービス契約＜ＩＳＰ＞一意照会明細.オプションサーブス契約番号
			kk0361_map.put("op_svc_kei_no", JPCBPCommon.getSCListValueString(
					parentTemplate, EKK0361A010CBSMsg.EKK0361A010CBSMSG1LIST, 0,
					EKK0361A010CBSMsg1List.OP_SVC_KEI_NO));
			

			// オプションサービス契約＜ＩＳＰ＞一意照会.初期ＰＯＰIDパスワード 
			// ← オプションサービス契約＜ＩＳＰ＞一意照会明細.初期ＰＯＰIDパスワード
			kk0361_map.put("shk_pop_id_pwd", JPCBPCommon.getSCListValueString(
					parentTemplate, EKK0361A010CBSMsg.EKK0361A010CBSMSG1LIST, 0,
					EKK0361A010CBSMsg1List.SHK_POP_ID_PWD));

			// オプションサービス契約＜ＩＳＰ＞一意照会.ＰＯＰID 
			// ← オプションサービス契約＜ＩＳＰ＞一意照会明細.ＰＯＰID
			kk0361_map.put("pop_id", JPCBPCommon.getSCListValueString(
					parentTemplate, EKK0361A010CBSMsg.EKK0361A010CBSMSG1LIST, 0,
					EKK0361A010CBSMsg1List.POP_ID));

			// オプションサービス契約＜ＩＳＰ＞一意照会.メールアドレス 
			// ← オプションサービス契約＜ＩＳＰ＞一意照会明細.メールアドレス
			kk0361_map.put("mlad", JPCBPCommon.getSCListValueString(
					parentTemplate, EKK0361A010CBSMsg.EKK0361A010CBSMSG1LIST, 0,
					EKK0361A010CBSMsg1List.MLAD));

			// オプションサービス契約＜ＩＳＰ＞一意照会.初期ＷｅｂIDパスワード 
			// ← オプションサービス契約＜ＩＳＰ＞一意照会明細.初期ＷｅｂIDパスワード
			kk0361_map.put("shk_web_id_pwd", JPCBPCommon.getSCListValueString(
					parentTemplate, EKK0361A010CBSMsg.EKK0361A010CBSMSG1LIST, 0,
					EKK0361A010CBSMsg1List.SHK_WEB_ID_PWD));

			// オプションサービス契約＜ＩＳＰ＞一意照会.ＷｅｂID 
			// ← オプションサービス契約＜ＩＳＰ＞一意照会明細.ＷｅｂID
			kk0361_map.put("web_id", JPCBPCommon.getSCListValueString(
					parentTemplate, EKK0361A010CBSMsg.EKK0361A010CBSMSG1LIST, 0,
					EKK0361A010CBSMsg1List.WEB_ID));
			
			// サービス契約番号
			if (null != svcKeiNo)
			{
				kk0361_map.put("svc_kei_no", svcKeiNo);
			}
		}
		else
		{
			// 存在しない
			kk0361_map = null;
		}

		// エラー情報の設定
		editErrorInfoKK0361(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return kk0361_map;

	}
	
	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList (I) CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPKK0371(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText)
	throws Exception
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// オプションサービス契約＜電話＞一意照会結果マップ
		HashMap kk0371_map = new HashMap();
		ArrayList kk0371List = new ArrayList();

		// 結果確認
		templateArray = parentTemplate.getCAANMsgList(EKK0371B001CBSMsg.EKK0371B001CBSMSG1LIST);

		if (templateArray != null)
		{
			for (int i = 0; i < templateArray.length; i++)
			{
				CAANMsg childTemplate = templateArray[i];
				
				// オプション契約ステータスが解約・キャンセルの場合、対象外とする
				if (childTemplate.isNull(EKK0371B001CBSMsg1List.OP_SVC_KEI_STAT))
				{
					continue;
				}
				else
				{
					if (SVC_KEI_STAT_CSL.equals(
							childTemplate.getString(EKK0371B001CBSMsg1List.OP_SVC_KEI_STAT)) 
							|| SVC_KEI_STAT_KAI.equals(
									childTemplate.getString(EKK0371B001CBSMsg1List.OP_SVC_KEI_STAT)))
					{
						continue;
					}
				}
				
				// オプションサービスコードが電話番号通知以外は対象外とする。
				if (childTemplate.isNull(EKK0371B001CBSMsg1List.OP_SVC_CD))
				{
					continue;
				}
				else
				{
					if (!OP_SVC_CD_TELNO_NOTICE.equals(
							childTemplate.getString(EKK0371B001CBSMsg1List.OP_SVC_CD)))
					{
						continue;
					}
				}
				
				if (i >= kk0371List.size())
				{
					kk0371List.add(new HashMap());
				}
				HashMap childMap = (HashMap)kk0371List.get(i);
				
				// オプションサービス契約＜電話＞明細.オプションサービス契約ステータス 
				// ← オプションサービス契約＜電話＞明細.オプションサービス契約ステータス
				childMap.put("op_svc_kei_stat", 
						childTemplate.getString(EKK0371B001CBSMsg1List.OP_SVC_KEI_STAT));

				// オプションサービス契約＜電話＞明細.オプションサービスコード 
				// ← オプションサービス契約＜電話＞明細.オプションサービスコード
				childMap.put("op_svc_cd", childTemplate.getString(EKK0371B001CBSMsg1List.OP_SVC_CD));
				
				// オプションサービス契約＜電話＞明細.サービス契約内訳番号
				// ← オプションサービス契約＜電話＞明細.サービス契約内訳番号
				if (childTemplate.isNull(EKK0371B001CBSMsg1List.SVC_KEI_UCWK_NO))
				{
					childMap.put("svc_kei_ucwk_no", "");
				}
				else
				{
					childMap.put("svc_kei_ucwk_no", 
							childTemplate.getString(EKK0371B001CBSMsg1List.SVC_KEI_UCWK_NO));
				}
			}
			kk0371_map.put("EKK0371B001CBSMsg1List", kk0371List);
		}
		else
		{
			// 存在しない
			kk0371_map = null;
		}

		// エラー情報の設定
		editErrorInfoKK0371(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return kk0371_map;

	}

	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList (I) CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPKK0161(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText)
	throws Exception
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// サービス契約内訳一覧照会結果マップ
		HashMap kk0161_map = new HashMap();
		ArrayList kk0161List = null;

		templateArray = parentTemplate.getCAANMsgList(EKK0161B004CBSMsg.EKK0161B004CBSMSG1LIST);
		kk0161List = (ArrayList)kk0161_map.get("EKK0161B004CBSMsg1List");

		if (kk0161List == null)
		{
			kk0161List = new ArrayList();
		}

		if (templateArray != null)
		{
			for (int i = 0; i < templateArray.length; i++)
			{
				CAANMsg childTemplate = templateArray[i];
				if (i >= kk0161List.size())
				{
					kk0161List.add(new HashMap());
				}
				HashMap childMap = (HashMap)kk0161List.get(i);

				// サービス契約内訳一覧照会マップ.サービス契約内訳一覧照会明細.サービス契約内訳番号
				// ← サービス契約内訳一覧照会明細.サービス契約内訳番号
				if (childTemplate.isNull(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO))
				{
					childMap.put("svc_kei_ucwk_no", "");
				}
				else
				{
					childMap.put(
							"svc_kei_ucwk_no", 
							childTemplate.getString(EKK0161B004CBSMsg1List.SVC_KEI_UCWK_NO));
				}
			}
		}
		kk0161_map.put("EKK0161B004CBSMsg1List", kk0161List);

		// エラー情報の設定
		editErrorInfoKK0161(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return kk0161_map;

	}

	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList (I) CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPKK0171(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText)
	throws Exception
	{
		
		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// サービス契約内訳＜eo光ネット＞一意照会結果マップ
		HashMap kk0171_map = new HashMap();

		// 結果確認
		templateArray = parentTemplate.getCAANMsgList(EKK0171A010CBSMsg.EKK0171A010CBSMSG1LIST);

		if (templateArray != null && templateArray.length != 0)
		{

			// サービス契約内訳＜eo光ネット＞一意照会マップ.初期ＩＳＰ認証IDパスワード
			kk0171_map.put("shk_isp_ninsho_id_pwd", JPCBPCommon.getSCListValueString(
					parentTemplate, EKK0171A010CBSMsg.EKK0171A010CBSMSG1LIST, 0,
					EKK0171A010CBSMsg1List.SHK_ISP_NINSHO_ID_PWD));

			// サービス契約内訳＜eo光ネット＞一意照会マップ.ＩＳＰ認証ID
			kk0171_map.put("isp_ninsho_id", JPCBPCommon.getSCListValueString(
					parentTemplate, EKK0171A010CBSMsg.EKK0171A010CBSMSG1LIST, 0,
					EKK0171A010CBSMsg1List.ISP_NINSHO_ID));
		}
		else
		{
			// 存在しない
			kk0171_map = null;
		}

		// エラー情報の設定
		editErrorInfoKK0171(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return kk0171_map;

	}

	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList (I) CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPKK0221(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText)
	throws Exception
	{
		
		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// サービス契約内訳<eoADSL>一意照会結果マップ
		HashMap kk0221_map = new HashMap();

		// 結果確認
		templateArray = parentTemplate.getCAANMsgList(EKK0221A010CBSMsg.EKK0221A010CBSMSG1LIST);

		if (templateArray != null && templateArray.length != 0)
		{

			// サービス契約内訳<eoADSL>一意照会マップ.ADSL認証IDパスワード
			kk0221_map.put("adsl_ninsho_id_pwd", JPCBPCommon.getSCListValueString(
					parentTemplate, EKK0221A010CBSMsg.EKK0221A010CBSMSG1LIST, 0,
					EKK0221A010CBSMsg1List.ADSL_NINSHO_ID_PWD));

			// サービス契約内訳<eoADSL>一意照会マップ.ADSL認証ID
			kk0221_map.put("adsl_ninsho_id", JPCBPCommon.getSCListValueString(
					parentTemplate, EKK0221A010CBSMsg.EKK0221A010CBSMSG1LIST, 0,
					EKK0221A010CBSMsg1List.ADSL_NINSHO_ID));
		}
		else
		{
			// 存在しない
			kk0221_map = null;
		}

		// エラー情報の設定
		editErrorInfoKK0221(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return kk0221_map;

	}

	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList (I) CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPKK0201(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText)
	throws Exception
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// オプションサービス契約＜ISP＞一意照会結果マップ
		HashMap kk0201_map = new HashMap();

		// 結果確認
		templateArray = parentTemplate.getCAANMsgList(EKK0201A010CBSMsg.EKK0201A010CBSMSG1LIST);

		if (templateArray != null && templateArray.length != 0)
		{
			// 2012/11/22 [TAI-2012-0000091]暫定ロジック修正対応 DEL START
//			// サービス契約内訳＜ｅｏモバイル＞一意照会マップ.ＷＥＰキー 
//			// ← サービス契約内訳＜ｅｏモバイル＞一意照会明細.ＷＥＰキー
//			kk0201_map.put("wep_key", JPCBPCommon.getSCListValueString(
//					parentTemplate, EKK0201A010CBSMsg.EKK0201A010CBSMSG1LIST, 0,
//					EKK0201A010CBSMsg1List.WEP_KEY));
//
//			// サービス契約内訳＜ｅｏモバイル＞一意照会マップ.ＳＳID 
//			// ← サービス契約内訳＜ｅｏモバイル＞一意照会明細.ＳＳID
//			kk0201_map.put("ssid", JPCBPCommon.getSCListValueString(
//					parentTemplate, EKK0201A010CBSMsg.EKK0201A010CBSMSG1LIST, 0,
//					EKK0201A010CBSMsg1List.SSID));
			// 2012/11/22 [TAI-2012-0000091]暫定ロジック修正対応 DEL START
		}
		else
		{
			// 存在しない
			kk0201_map = null;
		}

		// エラー情報の設定
		editErrorInfoKK0201(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return kk0201_map;

	}

	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList (I) CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPZM0321(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText)
	throws Exception
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// 業務パラメーター管理一意照会マップ
		HashMap zm0321_map = new HashMap();

		// 結果確認
		templateArray = parentTemplate.getCAANMsgList(EZM0321A010CBSMsg.EZM0321A010CBSMSG1LIST);

		if (templateArray != null && templateArray.length != 0)
		{

			// 業務パラメーター管理一意照会マップ.業務パラメーター名称
			// ← 業務パラメーター管理一意照会マップ.業務パラメーター名称
			zm0321_map.put("work_param_nm", JPCBPCommon.getSCListValueString(
					parentTemplate, EZM0321A010CBSMsg.EZM0321A010CBSMSG1LIST, 0,
					EZM0321A010CBSMsg1List.WORK_PARAM_NM));
			
			// 業務パラメーター管理一意照会マップ.業務パラメーター設定値
			// ← 業務パラメーター管理一意照会マップ.業務パラメーター設定値
			zm0321_map.put("work_param_sette_value", JPCBPCommon.getSCListValueString(
					parentTemplate, EZM0321A010CBSMsg.EZM0321A010CBSMSG1LIST, 0,
					EZM0321A010CBSMsg1List.WORK_PARAM_SETTE_VALUE));
		}
		else
		{
			// 存在しない
			zm0321_map = null;
		}

		// エラー情報の設定
		editErrorInfoZM0321(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return zm0321_map;

	}
	
	
	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList (I) CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @param svcKeiNo サービス契約番号
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPKK0191(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText, String svcKeiNo)
	throws Exception
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// サービス契約内訳<eo光電話>一覧照会結果マップ
		HashMap kk0191_map = new HashMap();
		ArrayList kk0191List = null;

		templateArray = parentTemplate.getCAANMsgList(EKK0191B001CBSMsg.EKK0191B001CBSMSG1LIST);
		kk0191List = (ArrayList)kk0191_map.get("EKK0191B001CBSMsg1List");

		if (kk0191List == null)
		{
			kk0191List = new ArrayList();
		}

		if (templateArray != null)
		{
			for (int i = 0; i < templateArray.length; i++)
			{
				CAANMsg childTemplate = templateArray[i];
				if (i >= kk0191List.size())
				{
					kk0191List.add(new HashMap());
				}
				HashMap childMap = (HashMap)kk0191List.get(i);

				// サービス契約回線内訳一覧照会（サービス契約番号）明細.電話番号
				if (childTemplate.isNull(EKK0191B001CBSMsg1List.TELNO))
				{
					childMap.put("telno", "");
				}
				else
				{
					childMap.put("telno", 
							childTemplate.getString(EKK0191B001CBSMsg1List.TELNO));
				}
				
				// サービス契約回線内訳一覧照会（サービス契約番号）明細.VAポート番号
				if (childTemplate.isNull(EKK0191B001CBSMsg1List.VA_PORT_NO))
				{
					childMap.put("va_port_no", "");
				}
				else
				{
					childMap.put("va_port_no", 
							childTemplate.getString(EKK0191B001CBSMsg1List.VA_PORT_NO));
				}
				
				// サービス契約回線内訳一覧照会（サービス契約番号）明細.電話オプション設定用リモート操作用パスワード
				if (childTemplate.isNull(EKK0191B001CBSMsg1List.TEL_OP_SETTE_RMTS_PWD))
				{
					childMap.put("tel_op_sette_rmts_pwd", "");
				}
				else
				{
					childMap.put("tel_op_sette_rmts_pwd", 
							childTemplate.getString(EKK0191B001CBSMsg1List.TEL_OP_SETTE_RMTS_PWD));
				}
				
				// サービス契約回線内訳一覧照会（サービス契約番号）明細.サービス契約内訳番号
				if (childTemplate.isNull(EKK0191B001CBSMsg1List.SVC_KEI_UCWK_NO))
				{
					childMap.put("svc_kei_ucwk_no", "");
				}
				else
				{
					childMap.put("svc_kei_ucwk_no", 
							childTemplate.getString(EKK0191B001CBSMsg1List.SVC_KEI_UCWK_NO));
				}
				
				// サービス契約回線内訳一覧照会（サービス契約番号）明細.サービス契約内訳ステータス
				if (childTemplate.isNull(EKK0191B001CBSMsg1List.SVC_KEI_UCWK_STAT))
				{
					childMap.put("svc_kei_ucwk_stat", "");
				}
				else
				{
					childMap.put("svc_kei_ucwk_stat", 
							childTemplate.getString(EKK0191B001CBSMsg1List.SVC_KEI_UCWK_STAT));
				}
				
				// サービス契約番号
				if (null != svcKeiNo)
				{
					childMap.put("svc_kei_no", svcKeiNo);
				}
			}
		}
		kk0191_map.put("EKK0191B001CBSMsg1List", kk0191List);

		// エラー情報の設定
		editErrorInfoKK0191(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return kk0191_map;

	}
	
	/**
	 * IRequestParameterReadWriteに必要なデータをマッピングします。<br>
	 * <br>
	 * 
	 * @param msgList (I) CAANMsgクラス
	 * @param param 業務データ取得・書込用I/F
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception Exceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private HashMap<String, Object> editResultRPZM0171(
			Map<?, ?> msgList, IRequestParameterReadWrite param, String fixedText)
	throws Exception
	{

		// SCからの戻り値からCAANMsgを取得する。
		CAANMsg[] templates = (CAANMsg[])msgList.get(JCMConstants.TEMPLATE_LIST_KEY);
		CAANMsg parentTemplate = templates[0];
		CAANMsg[] templateArray = null;

		// リターンコード取得
		Object return_code = msgList.get(JCMConstants.RET_CD_INT_KEY);

		// サービス契約内訳<eo光電話>一覧照会結果マップ
		HashMap zm0171_map = new HashMap();
		ArrayList zm0171List = null;

		templateArray = parentTemplate.getCAANMsgList(EZM0171B010CBSMsg.EZM0171B010CBSMSG1LIST);
		zm0171List = (ArrayList)zm0171_map.get("EZM0171B010CBSMsg1List");

		if (zm0171List == null)
		{
			zm0171List = new ArrayList();
		}

		if (templateArray != null)
		{
			for (int i = 0; i < templateArray.length; i++)
			{
				CAANMsg childTemplate = templateArray[i];
				if (i >= zm0171List.size())
				{
					zm0171List.add(new HashMap());
				}
				HashMap childMap = (HashMap)zm0171List.get(i);

				// コード名称管理一覧照会明細.コード区分 
				// ← コード名称管理一覧照会明細.コード区分
				if (childTemplate.isNull(EZM0171B010CBSMsg1List.CD_DIV))
				{
					childMap.put("cd_div", "");
				}
				else
				{
					childMap.put("cd_div", childTemplate.getString(EZM0171B010CBSMsg1List.CD_DIV));
				}
				
				// コード名称管理一覧照会明細.コード区分名 
				// ← コード名称管理一覧照会明細.コード区分名
				if (childTemplate.isNull(EZM0171B010CBSMsg1List.CD_DIV_NM))
				{
					childMap.put("cd_div_nm", "");
				}
				else
				{
					childMap.put("cd_div_nm", childTemplate.getString(EZM0171B010CBSMsg1List.CD_DIV_NM));
				}
			}
		}
		zm0171_map.put("EZM0171B010CBSMsg1List", zm0171List);

		// エラー情報の設定
		editErrorInfoZM0171(param, templates, (Integer)return_code, fixedText);

		// エラー情報のマップを取得
		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));

		/* ◇処理結果の判定 */
		// 取得したリターンコード、ステータスの内容を見て異常かどうかの判断をする。
		String rtnCode = return_code.toString();
		int status = parentTemplate.getInt(JCMConstants.STATUS_INT_KEY);

		// 異常の場合、SCCallExceptionを生成してスローする
		if (!("0".equals(rtnCode) && 0 == status))
		{
			SCCallException scCallEx = new SCCallException("戻り値不正", rtnCode, status);
			throw scCallEx;
		}

		return zm0171_map;

	}

	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoKK0081B(
			IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws RequestParameterException
	{

		CAANMsg template = templates[0];
		int templateStatus = template.getInt(EKK0081B025CBSMsg.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 = (HashMap)param.getData(fixedText);
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		// サービス契約一覧照会（整理番号）マップ.ＫＥＹ＿整理番号 → ＫＥＹ＿整理番号 のエラー情報返却
		if (!template.isNull(EKK0081B025CBSMsg.KEY_SEIRI_NO_ERR))
		{
			if (!inMap.containsKey("key_seiri_no_err"))
			{
				inMap.put("key_seiri_no_err", template.getString(EKK0081B025CBSMsg.KEY_SEIRI_NO_ERR));
			}
		}
		
		return param;

	}

	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoKK0081A(
			IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws RequestParameterException
	{

		CAANMsg template = templates[0];
		int templateStatus = template.getInt(EKK0081A010CBSMsg.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 = (HashMap)param.getData(fixedText);
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		// サービス契約一意照会マップ.ＫＥＹ＿サービス契約番号 
		// → ＫＥＹ＿サービス契約番号 のエラー情報返却
		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));
			}
		}
		return param;

	}

	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoCK0011(
			IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws RequestParameterException
	{

		CAANMsg template = templates[0];
		int templateStatus = template.getInt(ECK0011A010CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		// お客様一意照会マップ.ＫＥＹ＿ＳＹＳID
		// → ＫＥＹ＿ＳＹＳID のエラー情報返却
		if (!template.isNull(ECK0011A010CBSMsg.KEY_SYSID_ERR))
		{
			if (!inMap.containsKey("key_sysid_err"))
			{
				inMap.put("key_sysid_err", template.getString(ECK0011A010CBSMsg.KEY_SYSID_ERR));
			}
		}
		// お客様一意照会マップ.ＫＥＹ＿世代登録年月日時分秒
		// → ＫＥＹ＿世代登録年月日時分秒 のエラー情報返却
		if (!template.isNull(ECK0011A010CBSMsg.KEY_GENE_ADD_DTM_ERR))
		{
			if (!inMap.containsKey("key_gene_add_dtm_err"))
			{
				inMap.put("key_gene_add_dtm_err", template.getString(ECK0011A010CBSMsg.KEY_GENE_ADD_DTM_ERR));
			}
		}
		// お客様一意照会マップ.ＫＥＹ＿予約適用年月日
		// → ＫＥＹ＿予約適用年月日 のエラー情報返却
		if (!template.isNull(ECK0011A010CBSMsg.KEY_RSV_APLY_YMD_ERR))
		{
			if (!inMap.containsKey("key_rsv_aply_ymd_err"))
			{
				inMap.put("key_rsv_aply_ymd_err", template.getString(ECK0011A010CBSMsg.KEY_RSV_APLY_YMD_ERR));
			}
		}

		return param;

	}

	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoCK0111(
			IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws RequestParameterException
	{

		CAANMsg template = templates[0];
		int templateStatus = template.getInt(ECK0111B002CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		// ファミリー会員グループ一覧照会マップ.ＫＥＹ＿ＳＹＳID → ＫＥＹ＿ＳＹＳID のエラー情報返却
		if (!template.isNull(ECK0111B002CBSMsg.KEY_SYSID_ERR))
		{
			if (!inMap.containsKey("key_sysid_err"))
			{
				inMap.put("key_sysid_err", template.getString(ECK0111B002CBSMsg.KEY_SYSID_ERR));
			}
		}
		return param;

	}

	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoKK0351(
			IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws RequestParameterException
	{

		CAANMsg template = templates[0];
		int templateStatus = template.getInt(EKK0351B002CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		// オプションサービス契約一覧照会（サービス契約番号）.ＫＥＹ＿サービス契約番号 
		// → ＫＥＹ＿サービス契約番号 のエラー情報返却
		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));
			}
		}
		return param;

	}

	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoKK0361(
			IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws RequestParameterException
	{

		CAANMsg template = templates[0];
		int templateStatus = template.getInt(EKK0361A010CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		// オプションサービス契約＜ＩＳＰ＞一意照会.ＫＥＹ＿オプションサービス契約番号 
		// → ＫＥＹ＿オプションサービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0361A010CBSMsg.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(EKK0361A010CBSMsg.KEY_OP_SVC_KEI_NO_ERR));
			}
		}
		// オプションサービス契約＜ＩＳＰ＞一意照会.ＫＥＹ＿世代登録年月日時分秒 
		// → ＫＥＹ＿世代登録年月日時分秒 のエラー情報返却
		if (!template.isNull(EKK0361A010CBSMsg.KEY_GENE_ADD_DTM_ERR))
		{
			if (!inMap.containsKey("key_gene_add_dtm_err"))
			{
				inMap.put("key_gene_add_dtm_err", 
						template.getString(EKK0361A010CBSMsg.KEY_GENE_ADD_DTM_ERR));
			}
		}
		return param;

	}
	
	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoKK0371(
			IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws RequestParameterException
	{

		CAANMsg template = templates[0];
		int templateStatus = template.getInt(EKK0371B001CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}
		
		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}
		
		HashMap inMap = null;
		
		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData("KKSV078401SC");

		// コード名称管理一意照会マップ.ＫＥＹ＿サービス契約内訳番号 
		// → ＫＥＹ＿サービス契約内訳番号 のエラー情報返却
		if (!template.isNull(EKK0371B001CBSMsg.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(EKK0371B001CBSMsg.KEY_SVC_KEI_UCWK_NO_ERR));
			}
		}
		return param;

	}

	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoKK0161(
			IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws RequestParameterException
	{

		CAANMsg template = templates[0];
		int templateStatus = template.getInt(EKK0161B004CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		// サービス契約内訳一覧照会マップ.ＫＥＹ＿サービス契約番号 
		// → ＫＥＹ＿サービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0161B004CBSMsg.KEY_SVC_KEI_NO_ERR))
		{
			if (!inMap.containsKey("key_svc_kei_no_err"))
			{
				inMap.put("key_svc_kei_no_err", template.getString(EKK0161B004CBSMsg.KEY_SVC_KEI_NO_ERR));
			}
		}
		return param;

	}

	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoKK0171(
			IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws RequestParameterException
	{

		CAANMsg template = templates[0];
		int templateStatus = template.getInt(EKK0171A010CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		// サービス契約内訳＜eo光ネット＞一意照会マップ.ＫＥＹ＿サービス契約内訳番号
		// → ＫＥＹ＿サービス契約内訳番号 のエラー情報返却
		if (!template.isNull(EKK0171A010CBSMsg.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(EKK0171A010CBSMsg.KEY_SVC_KEI_UCWK_NO_ERR));
			}
		}
		// サービス契約内訳＜eo光ネット＞一意照会マップ.ＫＥＹ＿世代登録年月日時分秒
		// → ＫＥＹ＿世代登録年月日時分秒 のエラー情報返却
		if (!template.isNull(EKK0171A010CBSMsg.KEY_GENE_ADD_DTM_ERR))
		{
			if (!inMap.containsKey("key_gene_add_dtm_err"))
			{
				inMap.put("key_gene_add_dtm_err", 
						template.getString(EKK0171A010CBSMsg.KEY_GENE_ADD_DTM_ERR));
			}
		}
		return param;

	}

	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoKK0221(
			IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws RequestParameterException
	{

		CAANMsg template = templates[0];
		int templateStatus = template.getInt(EKK0221A010CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		// サービス契約内訳<eoADSL>一意照会マップ.ＫＥＹ＿サービス契約内訳番号
		// → ＫＥＹ＿サービス契約内訳番号 のエラー情報返却
		if (!template.isNull(EKK0221A010CBSMsg.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(EKK0221A010CBSMsg.KEY_SVC_KEI_UCWK_NO_ERR));
			}
		}
		// サービス契約内訳<eoADSL>一意照会マップ.ＫＥＹ＿世代登録年月日時分秒
		// → ＫＥＹ＿世代登録年月日時分秒 のエラー情報返却
		if (!template.isNull(EKK0221A010CBSMsg.KEY_GENE_ADD_DTM_ERR))
		{
			if (!inMap.containsKey("key_gene_add_dtm_err"))
			{
				inMap.put("key_gene_add_dtm_err", 
						template.getString(EKK0221A010CBSMsg.KEY_GENE_ADD_DTM_ERR));
			}
		}
		return param;

	}

	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoKK0201(
			IRequestParameterReadWrite param, CAANMsg[] templates, 
			int returnCode, String fixedText)
	throws RequestParameterException
	{

		CAANMsg template = templates[0];
		int templateStatus = template.getInt(EKK0201A010CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		// サービス契約内訳＜ｅｏモバイル＞一意照会マップ.ＫＥＹ＿サービス契約内訳番号 
		// → ＫＥＹ＿サービス契約内訳番号 のエラー情報返却
		if (!template.isNull(EKK0201A010CBSMsg.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(EKK0201A010CBSMsg.KEY_SVC_KEI_UCWK_NO_ERR));
			}
		}
		// サービス契約内訳＜ｅｏモバイル＞一意照会マップ.ＫＥＹ＿世代登録年月日時分秒 
		// → ＫＥＹ＿世代登録年月日時分秒 のエラー情報返却
		if (!template.isNull(EKK0201A010CBSMsg.KEY_GENE_ADD_DTM_ERR))
		{
			if (!inMap.containsKey("key_gene_add_dtm_err"))
			{
				inMap.put("key_gene_add_dtm_err", 
						template.getString(EKK0201A010CBSMsg.KEY_GENE_ADD_DTM_ERR));
			}
		}
		return param;

	}
	
	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoZM0321(
			IRequestParameterReadWrite param, CAANMsg[] templates, 
			int returnCode, String fixedText)
	throws RequestParameterException
	{

		CAANMsg template = templates[0];
		int templateStatus = template.getInt(EZM0321A010CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}

		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}

		HashMap inMap = null;

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		if (inMap == null)
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		//業務パラメーター管理一意照会マップ.ＫＥＹ＿業務パラメータID 
		// → ＫＥＹ＿業務パラメータID のエラー情報返却
		if (!template.isNull(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID_ERR))
		{
			if (!inMap.containsKey("key_work_param_id"))
			{
				inMap.put("key_svc_kei_ucwk_no_err", 
						template.getString(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID_ERR));
			}
		}
		return param;

	}
	
	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoKK0191(
			IRequestParameterReadWrite param, CAANMsg[] templates, 
			int returnCode, String fixedText)
	throws RequestParameterException
	{
		
		CAANMsg template = templates[0];
		int templateStatus = template.getInt(EKK0191B001CBSMsg.STATUS);
		if (returnCode != 0) 
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null) 
		{
			templateStatus = 0;
		}
		
		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null) 
		{
			bpStatus = -1;
		} 
		else 
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus) 
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}
		
		HashMap inMap = null;
		
		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);
		if (inMap == null) 
		{
			inMap = new HashMap();
			param.setData(fixedText, inMap);
		}

		// サービス契約内訳<eo光電話>.ＫＥＹ＿サービス契約番号 
		// → ＫＥＹ＿サービス契約番号 のエラー情報返却
		if (!template.isNull(EKK0191B001CBSMsg.KEY_SVC_KEI_NO_ERR)) 
		{
			if (!inMap.containsKey("key_svc_kei_no_err")) 
			{
				inMap.put("key_svc_kei_no_err", 
						template.getString(EKK0191B001CBSMsg.KEY_SVC_KEI_NO_ERR));
			}
		}
		return param;
		
	}
	
	/**
	 * IRequestParameterReadWriteにエラー情報をマッピングする。<br>
	 * <br>
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ任意文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	private IRequestParameterReadWrite editErrorInfoZM0171(
			IRequestParameterReadWrite param, CAANMsg[] templates, 
			int returnCode, String fixedText)
	throws RequestParameterException
	{
		
		CAANMsg template = templates[0];
		int templateStatus = template.getInt(EZM0171B010CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}
		
		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}
		
		HashMap inMap = null;

		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);

		// コード名称管理一覧照会マップ.ＫＥＹ＿コード種別コード → ＫＥＹ＿コード種別コード のエラー情報返却
		if (!template.isNull(EZM0171B010CBSMsg.KEY_CD_SBT_CD_ERR))
		{
			if (!inMap.containsKey("key_cd_sbt_cd_err"))
			{
				inMap.put("key_cd_sbt_cd_err", template.getString(EZM0171B010CBSMsg.KEY_CD_SBT_CD_ERR));
			}
		}

		return param;
	}
	
	/**
	 * サービスコンポーネント実行後に、IRequestParameterReadWriteにエラー情報をマッピングする<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得・書込用I/F
	 * @param templates (I) CAANMsgクラス配列
	 * @param returnCode (I) リターンコード
	 * @param fixedText (I) ユーザ定義文字列
	 * @return 業務データ取得・書込用I/F
	 * @exception RequestParameterExceptionがスローされます。
	 */
	@SuppressWarnings("unchecked")
	public IRequestParameterReadWrite editErrorInfo(
			IRequestParameterReadWrite param, CAANMsg[] templates, int returnCode, String fixedText)
	throws RequestParameterException
	{

		CAANMsg template = templates[0];

		int templateStatus = template.getInt(EKK0081B025CBSMsg.STATUS);
		if (returnCode != 0)
		{
			templateStatus = 9000;
		}
		if (JCMAPLConstMgr.getString("RETURN_MESSAGE_" + String.format("%1$04d", templateStatus)) == null)
		{
			templateStatus = 0;
		}
		
		int bpStatus = 0;
		Object obj = param.getControlMapData(SCControlMapKeys.RETURN_CODE);
		if (obj == null)
		{
			bpStatus = -1;
		}
		else
		{
			bpStatus = Integer.parseInt((String)param.getControlMapData(SCControlMapKeys.RETURN_CODE));
		}

		if (templateStatus > bpStatus)
		{
			// BPにサービスコンポーネントのステータスを設定する。
			String formatStatus = String.format("%1$04d", templateStatus);
			String message = JCMAPLConstMgr.getString("RETURN_MESSAGE_" + formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_CODE, formatStatus);
			param.setControlMapData(SCControlMapKeys.RETURN_MESSAGE, message);
		}
		
		HashMap inMap = null;
		
		/* ユーザデータ情報 */
		inMap = (HashMap)param.getData(fixedText);

		// サービス契約一覧照会（整理番号）マップ.ＫＥＹ＿整理番号 → ＫＥＹ＿整理番号 のエラー情報返却
		if (!template.isNull(EKK0081B025CBSMsg.KEY_SEIRI_NO_ERR))
		{
			if (!inMap.containsKey("key_seiri_no_err"))
			{
				inMap.put("key_seiri_no_err", template.getString(EKK0081B025CBSMsg.KEY_SEIRI_NO_ERR));
			}
		}
		
		return param;
	}

	/**
	 * メッセージ共通部の設定。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param paramMap (O) メッセージ共通部
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private void setCommonParamMap(
			IRequestParameterReadOnly param, HashMap<String, Object> paramMap)
	throws RequestParameterException
	{
		/* SCインプット共通データ */
		// **********************************************
		// 【取得元：電文ヘッダ(ヘッダ)】
		// **********************************************
		// 電文ID
		paramMap.put(JCMConstants.TRANZACTION_ID_KEY, param.getTelegramID());
		// ユースケースID
		paramMap.put(JCMConstants.USECASE_ID_KEY, param.getUsecaseID());
		// オペレーションID
		paramMap.put(JCMConstants.OPERATION_ID_KEY, param.getOperationID());
		// サービス呼び出し区分
		paramMap.put(JCMConstants.CALL_TYPE_KEY, param.getCallType());

		// **********************************************
		// 【取得元：ユーザエリア(コントロールマップ)】
		// **********************************************
		// 依頼先ホスト名
		paramMap.put(JCMConstants.CLIENT_HOST_NAME_KEY, 
				param.getControlMapData(SCControlMapKeys.REQ_HOSTNAME));
		// 依頼元IPアドレス
		paramMap.put(JCMConstants.CLIENT_IP_ADDRESS_KEY,
				param.getControlMapData(SCControlMapKeys.REQ_HOSTIP));
		// 依頼元画面ID
		paramMap.put(JCMConstants.INVOKE_GAMEN_ID_KEY,
				param.getControlMapData(SCControlMapKeys.REQ_VIEWID));
		// オペレータID
		paramMap.put(JCMConstants.OPERATOR_ID_KEY,
				param.getControlMapData(SCControlMapKeys.OPERATOR_ID));

	}

	/**
	 * サービスインターフェイス共通部の設定。<br>
	 * <br>
	 * 
	 * @param param (I) 業務データ取得用I/F
	 * @param template (O) サービスインターフェイス
	 * @exception RequestParameterExceptionがスローされます。
	 */
	private void setCommonTemplate(IRequestParameterReadOnly param, CAANMsg template)
	throws RequestParameterException
	{
		// オペレータID
		Object operatorId = param.getControlMapData(SCControlMapKeys.OPERATOR_ID);
		template.set(JCMConstants.OPERATOR_ID_KEY, operatorId);

		// 運用日付
		Object operateDate = param.getControlMapData(SCControlMapKeys.OPE_DATE);
		template.set(JCMConstants.OPERATE_DATE_KEY, operateDate);

		// 運用日時
		Object operateDateTime = param.getControlMapData(SCControlMapKeys.OPE_TIME);
		template.set(JCMConstants.OPERATE_DATETIME_KEY, operateDateTime);

	}

}
