/*********************************************************************
 * All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *   システム名      ：eo顧客基幹システム
 *   モジュール名    ：JFUCngSvcKeiTv02CC
 *   ソースファイル名：JFUCngSvcKeiTv02CC.java
 *   作成者          ：富士通
 *   日付            ：2011年09月29日
 *＜機能概要＞
 *   eo光テレビ登録(コース変更＆STB変更)コンポーネント部品
 *＜修正履歴＞
 *   バージョン  修正日       修正者      修正内容
 *   v1.00.00    2011/09/29   FU）川端    新規作成
 *   v4.00       2012/10/16   FJ）文元    【IT1-2012-0001135】
 *   v4.00       2012/10/26   FJ）岡井    【IT1-2012-0001098】モデル整合性対応
 *   v4.00       2012/10/27   FJ）岡井    【IT1-2012-0001097】モデル整合性対応
 *   v4.00       2012/10/27   FJ）岡井    【IT1-2012-0001097】モデル整合性対応
 *   v5.00       2013/01/17   FJ）中谷    【IT1-2013-0000091】機器提供サービス契約料金コース変更の項目クリア処理対応
 *   v5.00       2013/02/14   FJ）文元    【ST3-2013-0000440】料金プラン変更IFの予約適用年月日に「20991231」を設定、工事なしの場合料金プラン確定IFを実行
 *   v5.00       2013/02/21   FJ）谷本    【KI1-2013-0000162】機器付加情報コードの値を"000"からnullに修正対応
 *   v5.00       2013/03/05   FJ）中谷    【OT-2013-0000276】サービス契約内訳プラン変更の工事有無の指定漏れ対応
 *   v5.00       2013/03/25   FJ）中谷    【IT1-2013-0000565】工事受付Sへの異動無機器情報連携対応
 *   v5.00       2013/03/28   FJ）文元    【IT1-2013-0000661】返品部品呼び出し時の異動区分を「00009」に変更
 *   v5.00       2013/05/23   FJ）文元    【ANK-1523-00-00】〔現行システム対応〕フロントＳテレビキャンペーン対応
 *   v5.00       2013/09/09   FJ）谷本    【OM-2013-0001423】テレビのコース変更の予約適用開始年月日の修正
 *   v5.00       2013/10/01   FJ）谷本    【OM-2013-0002637】配送依頼指定年月日 対応
 *   v25.00      2016/04/28   FJ）岡井    【ANK-2530-00-00】ＴＶ新コースおよびＶＯＤ導入
 *   v25.00      2016/07/06   FJ) 岡井    【OM-2016-0001732】VOD異動予約登録不具合
 *   v39.00      2018/08/29   FJ）美濃原  【ANK-3488-00-00】４KSTB（ACASチップ）導入対応
 *   
 **********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

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.IRequestParameterReadWrite;

import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.ejb.cbs.cbsmsg.EDK0451A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EDK0451A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0011D020CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0081C120CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0101C060CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161C110CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0161C120CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0341C070CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C160CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341C231CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0791A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0791A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKU0031D010CBSMsg;
import eo.ejb.cbs.cbsmsg.EWCA0010002CBSMsg;
import eo.ejb.cbs.cbsmsg.EWCA0010002CBSMsg1List;

/**
 * eo光テレビ登録(コース変更＆STB変更)コンポーネント部品
 * <br>
 * @author 富士通
 */
@SuppressWarnings("unchecked")
public class JFUCngSvcKeiTv02CC extends JFUBaseTvChgCommonCC
{
	/** コース変更＆STB変更用リスト */
	private static final String DATE_HASHMAP_CHILDMAP = "cclist_pcrs_stb_cng";

	/** IN項目:機器提供サービス契約番号(STB) */
	private static final String IN_PARAM_KKTK_SVC_KEI_NO_STB = "kk0341_kktk_svc_kei_no";
	/** IN項目:機器提供サービス契約番号(B-CAS) */
	private static final String IN_PARAM_KKTK_SVC_KEI_NO_BCAS = "kk0341_kktk_svc_kei_no_bcas";
	/** IN項目:機器提供サービス契約番号(C-CAS) */
	private static final String IN_PARAM_KKTK_SVC_KEI_NO_CCAS = "kk0341_kktk_svc_kei_no_ccas";
	/** IN項目:料金コースコード(STB) */
	private static final String IN_PARAM_PCRS_CD_STB = "kk0341_pcrs_cd";
	/** IN項目:料金コースコード(サービス契約内訳・変更後) */
	private static final String IN_PARAM_PCRS_CD_AF = "kk0161_pcrs_cd";
	/** IN項目:料金コースコード(サービス契約内訳・変更前) */
	private static final String IN_PARAM_PCRS_CD_BF = "kk0161_pcrs_cd_bf";
	/** IN項目:追加台数 */
	private static final String IN_PARAM_ADD_STB_CNT = "add_stb_cnt";
	/** IN項目:ＳＴＢ追加変更有無フラグ */
	private static final String IN_PARAM_STB_CNG_UMU_FLG = "stb_cng_umu_flg";

	/** 機器フラグ (STB) */
	private static final int KKTK_KBN_STB = 1;
	/** 機器フラグ (C_CAS) */
	private static final int KKTK_KBN_CCAS = 3;
	/** 有 */
	protected static final String ARI = "1";
	/** 無 */
	protected static final String NASI = "0";
	/** 排他テーブル用更新年月日時分秒（サービス契約） */
	private static final String SVC_KEI_UPD_DTM = "svc_kei_upd_dtm";
	/** オプションチャンネル重複リスト */
	private static final String OPCH_CHFK_LIST = "opch_chfk_list";
	/** FUSV012706SC */
	private static final String FUSV012706SC = "FUSV012706SC";
	/** FUSV012707CC */
	private static final String FUSV012707CC = "FUSV012707CC";

	/** 接頭辞(STB) */
	private static final String PREFIX_STB = "_stb";
	/** 接頭辞(B-CAS) */
	private static final String PREFIX_CCAS = "_ccas";

	/** マップキー(機器提供サービス契約番号(STB)) */
	private static final String KKTK_SVC_KEI_NO_STB = "kktk_svc_kei_no" + PREFIX_STB;
	/** マップキー(機器提供サービス契約番号(C-CAS)) */
	private static final String KKTK_SVC_KEI_NO_CCAS = "kktk_svc_kei_no" + PREFIX_CCAS;

	/** マップキー(機器変更番号(STB)) */
	private static final String KIKI_CHG_NO_STB = "kiki_chg_no" + PREFIX_STB;
	/** マップキー(機器変更番号(C-CAS)) */
	private static final String KIKI_CHG_NO_CCAS = "kiki_chg_no" + PREFIX_CCAS;
	
	/**ＣＣ用　有無フラグ 「1:あり」*/
	private static final String CC_FLG_1 = "1";

	/* ■□ サービス契約<eo光TV>料金プラン変更SC ■□ */
	/** テンプレートID(サービス契約<eo光TV>料金プラン変更) */
	private static final String TEMPLATE_ID_1 = "EKK0101C060";
	/** IN項目リスト(サービス契約<eo光TV>料金プラン変更) */
	private static final List<String> IN_COLUMN_LIST_1 =
			Arrays.asList(EKK0101C060CBSMsg.SVC_KEI_NO, EKK0101C060CBSMsg.MSKM_DTL_NO, EKK0101C060CBSMsg.PRC_GRP_CD, EKK0101C060CBSMsg.PCRS_CD,
					EKK0101C060CBSMsg.PPLAN_CD, EKK0101C060CBSMsg.TK_HOSHIKI_KEI_NO, EKK0101C060CBSMsg.RSV_APLY_YMD,
					EKK0101C060CBSMsg.PNLTY_HASSEI_CD, EKK0101C060CBSMsg.IDO_DIV, EKK0101C060CBSMsg.DMPS_ANKEN_NO, EKK0101C060CBSMsg.UPD_DTM_BF);

	/* ■□ サービス契約料金プラン変更確定SC ■□ */
	/** テンプレートID(サービス契約<eo光TV>料金プラン変更) */
	private static final String TEMPLATE_ID_SVC_PPLAN_FIX = "EKK0081C120";
	/** IN項目リスト(サービス契約<eo光TV>料金プラン変更) */
	private static final List<String> IN_COLUMN_LIST_SVC_PPLAN_FIX =
			Arrays.asList(EKK0081C120CBSMsg.SVC_KEI_NO, EKK0081C120CBSMsg.RSV_APLY_YMD, EKK0081C120CBSMsg.UPD_DTM_BF,
					EKK0081C120CBSMsg.RULE0059_AUTO_APLY, EKK0081C120CBSMsg.RULE0079_AUTO_APLY, EKK0081C120CBSMsg.KOJI_UM);

	/* ■□ サービス契約内訳料金プラン変更SC ■□ */
	/** テンプレートID(サービス契約<eo光TV>料金プラン変更) */
	private static final String TEMPLATE_ID_PPLAN_CHG = "EKK0161C110";
	/** IN項目リスト(サービス契約<eo光TV>料金プラン変更) */
	private static final List<String> IN_COLUMN_LIST_PPLAN_CHG =
			Arrays.asList(EKK0161C110CBSMsg.SVC_KEI_UCWK_NO, EKK0161C110CBSMsg.MSKM_DTL_NO, EKK0161C110CBSMsg.PCRS_CD, EKK0161C110CBSMsg.PPLAN_CD,
					EKK0161C110CBSMsg.TK_HOSHIKI_KEI_NO, EKK0161C110CBSMsg.RSV_APLY_YMD, EKK0161C110CBSMsg.PNLTY_HASSEI_CD,
					EKK0161C110CBSMsg.IDO_DIV, EKK0161C110CBSMsg.UPD_DTM_BF, EKK0161C110CBSMsg.PLAN_CHRG_STAYMD, EKK0161C110CBSMsg.PLAN_CHRG_ENDYMD,
					EKK0161C110CBSMsg.SKJ_YKGT, EKK0161C110CBSMsg.KOJI_UM);

	/* ■□ サービス契約内訳料金プラン変更確定SC ■□ */
	/** テンプレートID(サービス契約内訳料金プラン変更確定) */
	private static final String TEMPLATE_ID_PPLAN_FIX = "EKK0161C120";
	/** IN項目リスト(サービス契約内訳料金プラン変更確定) */
	private static final List<String> IN_COLUMN_LIST_PPLAN_FIX =
			Arrays.asList(EKK0161C120CBSMsg.SVC_KEI_UCWK_NO, EKK0161C120CBSMsg.RSV_APLY_YMD, EKK0161C120CBSMsg.PLAN_CHRG_STAYMD,
					EKK0161C120CBSMsg.UPD_DTM_BF, EKK0161C120CBSMsg.KKSHKA_UM, EKK0161C120CBSMsg.KOJI_UM, EKK0161C120CBSMsg.PLAN_CHRG_ENDYMD,
					EKK0161C120CBSMsg.SKJ_YKGT);

	/* ■□ 機器提供サービス契約料金コース変更SC ■□ */
	/** テンプレートID(機器提供サービス契約料金コース変更) */
	private static final String TEMPLATE_ID_3 = "EKK0341C160";
	/** IN項目リスト(機器提供サービス契約料金コース変更) */
	private static final List<String> IN_COLUMN_LIST_3 =
			Arrays.asList(EKK0341C160CBSMsg.KKTK_SVC_KEI_NO, EKK0341C160CBSMsg.PCRS_CD, EKK0341C160CBSMsg.PPLAN_CD, EKK0341C160CBSMsg.MSKM_DTL_NO,
					EKK0341C160CBSMsg.RSV_APLY_YMD, EKK0341C160CBSMsg.PNLTY_HASSEI_CD, EKK0341C160CBSMsg.IDO_DIV, EKK0341C160CBSMsg.TAKNKIKI_IDO_CD,
					EKK0341C160CBSMsg.UPD_DTM_BF);
	/** SC実行結果取得キー(機器提供サービス契約料金コース変更) */
	private static final String TEMP_TEMPLATE_KEY_3 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_3 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 引当棚一意照会SC ■□ */
	/** テンプレートID(引当棚一意照会) */
	private static final String TEMPLATE_ID_4 = "EDK0451A010";
	/** テンプレートID(引当棚一意照会明細) */
	private static final String TEMPLATE_ID_4_DETAIL = EDK0451A010CBSMsg.EDK0451A010CBSMSG1LIST;
	/** IN項目リスト(引当棚一意照会) */
	private static final List<String> IN_COLUMN_LIST_4 = Arrays.asList(EDK0451A010CBSMsg.KEY_HAMBAI_SBT_CD, EDK0451A010CBSMsg.KEY_UNYO_YMD);
	/** 関連チェックエラー項目(引当棚一意照会) */
	private static final String ERROR_COLUMN_4 = EDK0451A010CBSMsg.KEY_UNYO_YMD_ERR;
	/** SC実行結果取得キー(引当棚一意照会) */
	private static final String TEMP_TEMPLATE_KEY_4 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_4 + TEMP_TEMPLATE_PRIFIX_SEP + "1";

	/* ■□ 機器提供サービス契約一意照会SC ■□ */
	/** テンプレートID(機器提供サービス契約一意照会) */
	private static final String TEMPLATE_ID_5 = "EKK0341A010";
	/** テンプレートID(機器提供サービス契約一意照会明細) */
	private static final String TEMPLATE_ID_5_DETAIL = EKK0341A010CBSMsg.EKK0341A010CBSMSG1LIST;
	/** IN項目リスト(機器提供サービス契約一意照会) */
	private static final List<String> IN_COLUMN_LIST_5 =
			Arrays.asList(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, EKK0341A010CBSMsg.KEY_GENE_ADD_DTM, EKK0341A010CBSMsg.KEY_RSV_APLY_YMD);
	/** 関連チェック,エラー項目(機器提供サービス契約一意照会) */
	private static final String ERROR_COLUMN_5 = EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO_ERR;
	/** SC実行結果取得キー(機器提供サービス契約一意照会) */
	private static final String TEMP_TEMPLATE_KEY_5 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_5 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 機器提供サービス契約情報変更（契約変更中）SC ■□ */
	/** テンプレートID(機器提供サービス契約情報変更（契約変更中）) */
	private static final String TEMPLATE_ID_6 = "EKK0341C231";
	/** テンプレートID(機器提供サービス契約情報変更（契約変更中）明細) */
	private static final String TEMPLATE_ID_6_DETAIL = null;
	/** IN項目リスト(機器提供サービス契約情報変更（契約変更中）) */
	private static final List<String> IN_COLUMN_LIST_6 =
			Arrays.asList(EKK0341C231CBSMsg.KKTK_SVC_KEI_NO, EKK0341C231CBSMsg.GENE_ADD_DTM, EKK0341C231CBSMsg.KKTK_SBT_CD,
					EKK0341C231CBSMsg.HAMBAI_SBT_CD, EKK0341C231CBSMsg.TAKNKIKI_MODEL_CD, EKK0341C231CBSMsg.KIKI_SEIZO_NO,
					EKK0341C231CBSMsg.HDD_CAPA_CD, EKK0341C231CBSMsg.TSUSHIN_KIKI_SET_CD, EKK0341C231CBSMsg.LINK_STB_FLG,
					EKK0341C231CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD, EKK0341C231CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD, EKK0341C231CBSMsg.KIKI_SORYO_UM,
					EKK0341C231CBSMsg.KIKI_SOHUS_NM, EKK0341C231CBSMsg.KIKI_SOHUS_KANA, EKK0341C231CBSMsg.KIKI_SOHUS_AD_CD,
					EKK0341C231CBSMsg.KIKI_SOHUS_PCD, EKK0341C231CBSMsg.KIKI_SOHUS_STATE_NM, EKK0341C231CBSMsg.KIKI_SOHUS_CITY_NM,
					EKK0341C231CBSMsg.KIKI_SOHUS_OAZTSU_NM, EKK0341C231CBSMsg.KIKI_SOHUS_AZCHO_NM, EKK0341C231CBSMsg.KIKI_SOHUS_BNCHIGO,
					EKK0341C231CBSMsg.KIKI_SOHUS_ADRTTM, EKK0341C231CBSMsg.KIKI_SOHUS_ADRRM, EKK0341C231CBSMsg.KIKI_SOHUS_TELNO,
					EKK0341C231CBSMsg.KIKI_SOHUS_KSH_AD_SAI_FLG, EKK0341C231CBSMsg.KIKI_SHS_KBT_SHITEI_FLG, EKK0341C231CBSMsg.AD_MI_FIX_FLG,
					EKK0341C231CBSMsg.HAISO_DIV, EKK0341C231CBSMsg.FTRIAL_KANYU_YMD, EKK0341C231CBSMsg.FTRIAL_PRD_ENDYMD,
					EKK0341C231CBSMsg.HONKANYU_YMD, EKK0341C231CBSMsg.HONKANYU_IKO_KIGEN_YMD, EKK0341C231CBSMsg.HOSHO_CD,
					EKK0341C231CBSMsg.PNLTY_HASSEI_CD, EKK0341C231CBSMsg.IDO_DIV, EKK0341C231CBSMsg.TAKNKIKI_IDO_CD,
					EKK0341C231CBSMsg.CAS_CARD_USE_KYODAK_YMD, EKK0341C231CBSMsg.KIKI_HUKA_INFO_CD, EKK0341C231CBSMsg.HAISO_WAY_CD,
					EKK0341C231CBSMsg.HAISO_REQ_SHITEI_YMD, EKK0341C231CBSMsg.UPD_DTM_BF, EKK0341C231CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG,
					EKK0341C231CBSMsg.KIKI_SOHUS_AD_CHK_LV, EKK0341C231CBSMsg.KIKI_STI_JI_KRIPLACE_SKCD, EKK0341C231CBSMsg.KIKI_STI_JI_KOCOMP_CD,
					EKK0341C231CBSMsg.KIKI_STI_JI_KOCOMP_SLF_CD, EKK0341C231CBSMsg.KIKI_STI_JI_YTKSKOF_CD,
					EKK0341C231CBSMsg.KIKI_STI_JI_YTKSKOF_SLF_CD);
	/** 関連チェックエラー項目(機器提供サービス契約情報変更（契約変更中）) */
	private static final String ERROR_COLUMN_6 = null;
	/** SC実行結果取得キー(機器提供サービス契約情報変更（契約変更中）) */
	private static final String TEMP_TEMPLATE_KEY_6 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_6 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 料金コース一意照会SC ■□ */
	/** テンプレートID(料金コース一意照会) */
	private static final String TEMPLATE_ID_7 = "EKK0791A010";
	/** テンプレートID(料金コース一意照会明細) */
	private static final String TEMPLATE_ID_7_DETAIL = EKK0791A010CBSMsg.EKK0791A010CBSMSG1LIST;
	/** IN項目リスト(料金コース一意照会) */
	private static final List<String> IN_COLUMN_LIST_7 =
			Arrays.asList(EKK0791A010CBSMsg.KEY_PCRS_CD, EKK0791A010CBSMsg.KEY_GENE_ADD_DTM, EKK0791A010CBSMsg.KEY_RSV_APLY_YMD);
	/** 関連チェックエラー項目(料金コース一意照会) */
	private static final String ERROR_COLUMN_7 = EKK0791A010CBSMsg.KEY_PCRS_CD_ERR;
	/** SC実行結果取得キー(料金コース一意照会)(カレント) */
	private static final String TEMP_TEMPLATE_KEY_7 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_7 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ 宅内機器一意照会(2)SC ■□ */
	/** テンプレートID(宅内機器一意照会(2)) */
	private static final String TEMPLATE_ID_8 = "EWCA0010002";
	/** テンプレートID(宅内機器一意照会(2)明細) */
	private static final String TEMPLATE_ID_8_DETAIL = EWCA0010002CBSMsg.EWCA0010002CBSMSG1LIST;
	/** IN項目リスト(宅内機器一意照会(2)) */
	private static final List<String> IN_COLUMN_LIST_8 =
			Arrays.asList(EWCA0010002CBSMsg.KEY_KK_SEIZO_NO, EWCA0010002CBSMsg.KEY_STBID, EWCA0010002CBSMsg.KEY_TK_MDL_CD,
					EWCA0010002CBSMsg.KEY_TK_SBT_CD);
	/** 関連チェックエラー項目(宅内機器一意照会(2)) */
	private static final String ERROR_COLUMN_8 = EWCA0010002CBSMsg.KEY_KK_SEIZO_NO_ERR;
	/** SC実行結果取得キー(宅内機器一意照会(2)) */
	private static final String TEMP_TEMPLATE_KEY_8 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_8 + TEMP_TEMPLATE_PRIFIX_SEP;

	/**
	 * eo光テレビ登録(コース変更＆STB変更)実行処理<br>
	 * 
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ管理クラス
	 * @throws Throwable 
	 */
	public IRequestParameterReadWrite cngTvTrk(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Throwable
	{

		JFUBPCommon.printBpDebugLog(this.getClass(), "■■■ JFUCngSvcKeiTv02CC start ■■■");

		// 機能コード取得
		String funcCode = getFuncCode(param, fixedText);

		// 運用日付を取得
		String opeDate = JFUBPCommon.getOpeDate(null);
		// 予約適用年月日(初期値：翌月月初)
		String rsvAplyYmd = JFUBPCommon.getBeginOfNextMonthOnlineDate(opeDate);
		// 即時/翌月(初期値：翌月)
		String skjYkgt = JFUStrConst.SKJ_YKGT_YKGT;

		// 工事有無フラグ(true:工事あり false:工事なし)
		boolean kojiFlg = isKoji(param);

		// ●サービス契約<eo光TV>料金プラン変更
		// 上りマッピング
		setInMapSvkeiPplanChg(param, fixedText, rsvAplyYmd, kojiFlg);
		//検索エラーなし設定
		ignoreSearchError(param, fixedText);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMPLATE_ID_1, BLANK, IN_COLUMN_LIST_1, BLANK);
		// 下りマッピング
		setOutMapSvkeiPplanChg(param, fixedText, funcCode);

		// 工事なし かつ
		// 実行判定
		// 機能コードが"1"(チェック＆登録)の場合
		if (!kojiFlg & JPCModelConstant.FUNC_CD_1.equals(funcCode))
		{
			// ●サービス契約料金プラン変更確定
			// 上りマッピング
			setInMapSvcPplanFix(param, fixedText, rsvAplyYmd);
			//検索エラーなし設定
			ignoreSearchError(param, fixedText);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_SVC_PPLAN_FIX, BLANK, IN_COLUMN_LIST_SVC_PPLAN_FIX, BLANK);
			// 下りマッピング
			setOutMapSvcPplanFix(param, fixedText);
		}

		HashMap<String, Object> inMap_FUSV012701SC = (HashMap<String, Object>)(param.getData("FUSV012701SC"));
		ArrayList<Object> workLst_FUSV012701SC = (ArrayList<Object>)inMap_FUSV012701SC.get("EKK0011D020CBSMsg1List");
		HashMap<String, Object> workMap_FUSV012701SC = (HashMap<String, Object>)workLst_FUSV012701SC.get(0);

		// 申込明細番号
		String mskmDtlNo = (String)workMap_FUSV012701SC.get(EKK0011D020CBSMsg1List.MSKM_DTL_NO);

		HashMap<String, Object> inMap = (HashMap<String, Object>)(param.getData(fixedText));

		// 棚コード
		String shelfCd = null;

		if (JPCModelConstant.FUNC_CD_1.equals(funcCode))
		{
			// ●引当棚一意照会
			// ユーザデータ初期化
			initData(param, fixedText, IN_COLUMN_LIST_4);
			// 上りマッピング
			setInMapHkAtShelfSearch(param, fixedText);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_4, TEMPLATE_ID_4_DETAIL, IN_COLUMN_LIST_4, ERROR_COLUMN_4);
			// 棚コード
			shelfCd = getTemplateListValue(inMap, TEMP_TEMPLATE_KEY_4, TEMPLATE_ID_4_DETAIL, EDK0451A010CBSMsg1List.SHELF_CD, 0);

			// 機能コード設定(1)※デグレ防止策。消さないこと。
			setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);
		}

		// 最終更新年月日時分秒
		String lastUpdDtm = null;
		// 世代登録年月日時分秒
		String geneAddDtm = null;

		ArrayList<Object> workLst = (ArrayList<Object>)inMap.get(DATE_HASHMAP_CHILDMAP);
		int tvCnt = workLst.size();

		// 追加台数
		String addStbCnt = (String)inMap.get(IN_PARAM_ADD_STB_CNT);
		// ＳＴＢ追加変更有無フラグ
		String stbAddChgUmFlg = (String)inMap.get(IN_PARAM_STB_CNG_UMU_FLG);
		// 工事案件対象宅内機器インデックスカウンタ
		int kikiIdx = 1;
		// 工事案件<eo光テレビ>受付上りマッピングデータ
		HashMap kojiAkMap = (HashMap)param.getData(FUSV012706SC);

		for (int i = 0; i < tvCnt; i++)
		{
			HashMap<String, Object> workMap = (HashMap<String, Object>)workLst.get(i);
			workMap.put(EKK0161C110CBSMsg.MSKM_DTL_NO, workMap_FUSV012701SC.get(EKK0011D020CBSMsg1List.MSKM_DTL_NO));

			// ●サービス契約内訳料金プラン変更
			// 上りマッピング
			setInMapPplanChg(param, fixedText, i, rsvAplyYmd, skjYkgt, kojiFlg);
			//検索エラーなし設定
			ignoreSearchError(param, fixedText);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_PPLAN_CHG, BLANK, IN_COLUMN_LIST_PPLAN_CHG, BLANK);
			// 下りマッピング
			setOutMapPplanChg(param, fixedText, i, funcCode);

			// 工事なし かつ
			// 実行判定
			// 機能コードが"1"(チェック＆登録)の場合
			if (!kojiFlg & JPCModelConstant.FUNC_CD_1.equals(funcCode))
			{
				// ●サービス契約内訳料金プラン変更確定
				// 上りマッピング
				setInMapPplanFix(param, fixedText, i, opeDate, rsvAplyYmd, skjYkgt);
				//検索エラーなし設定
				ignoreSearchError(param, fixedText);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_PPLAN_FIX, BLANK, IN_COLUMN_LIST_PPLAN_FIX, BLANK);
				// 下りマッピング
				setOutMapPplanFix(param, fixedText, i);
			}

			if (!JFUBPCommon.isNull(addStbCnt) && Integer.parseInt(addStbCnt) > 0
					|| JFUStrConst.CD00002_1.equals(stbAddChgUmFlg))
			{
				// 追加台数が1台以上、または、機器の変更がある場合、別CCでSTB追加変更を実施する為ここでは処理しない。
				JFUBPCommon.printBpDebugLog(this.getClass(), "■■■ JFUCngSvcKeiTv02CC ***** continue 追加台数が1台以上、または、機器の変更がある場合、別CCでSTB追加変更を実施 *****");
				continue;
			}

			//変更前料金コースコードと変更後料金コースコードが異なる場合(機器の変更がある場合)以後の処理を行う
			// ※STB機器の変更はないが、テレビのコースを変更
			if (workMap.get("prv_pcrs_cd").equals(workMap.get("bac_pcrs_cd")))
			{
				if (JPCModelConstant.FUNC_CD_1.equals(funcCode))
				{
					// ●機器提供サービス契約一意照会(STB用・コース変更前)
					// ユーザデータ初期化
					initData(param, fixedText, IN_COLUMN_LIST_5);
					// 上りマッピング
					setInMapKktkSvcKeiUqSearchBf(param, fixedText, (String)workMap.get(IN_PARAM_KKTK_SVC_KEI_NO_STB));
					// サービスIF実行
					executeSC(handle, param, fixedText, TEMPLATE_ID_5, TEMPLATE_ID_5_DETAIL, IN_COLUMN_LIST_5, ERROR_COLUMN_5);
					// コース変更前の機器情報
					HashMap kikiInfoMapBf = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_5), TEMPLATE_ID_5_DETAIL, 0);

					// ●宅内機器一意照会(2)
					// ユーザデータ初期化
					initData(param, fixedText, IN_COLUMN_LIST_8);
					// 上りマッピング
					setInMapTaknkikiSearch(param, fixedText, (String)kikiInfoMapBf.get(EKK0341A010CBSMsg1List.KIKI_SEIZO_NO),
							(String)kikiInfoMapBf.get(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));
					// サービスIF実行
					executeSC(handle, param, fixedText, TEMPLATE_ID_8, TEMPLATE_ID_8_DETAIL, IN_COLUMN_LIST_8, ERROR_COLUMN_8);
					// ＳＴＢＩＤ
					String stbId =
							getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_8), TEMPLATE_ID_8_DETAIL,
									EWCA0010002CBSMsg1List.STBID, 0);

					// ★STB用・後続SC(FUSV012706SC(工事受付<eo光テレビ)受付)マッピング
					// 宅内機器種別コードn
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_SBT_CD_1, kikiIdx), JFUStrConst.TKNI_KIKI_SBT_CD_A0);
					// 宅内機器異動コードn
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_IDO_CD_1, kikiIdx), JFUStrConst.CD00562_09);
					// 機器提供サービス契約番号n
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KKTK_SVC_KEI_NO_1, kikiIdx), kikiInfoMapBf
							.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
					// 機器変更番号n
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KIKI_CHG_NO_1, kikiIdx), kikiInfoMapBf
							.get(EKK0341A010CBSMsg1List.KIKI_CHG_NO));
					// 宅内機器型式コードn
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_MODEL_CD_1, kikiIdx), kikiInfoMapBf
							.get(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));
					// 機器製造番号n
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KKSEIZO_NO_1, kikiIdx), kikiInfoMapBf
							.get(EKK0341A010CBSMsg1List.KIKI_SEIZO_NO));
					// STB-IDn
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.STB_ID_1, kikiIdx), stbId);
					// HDD容量コードn
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.HDD_CAPA_CD_1, kikiIdx), kikiInfoMapBf
							.get(EKK0341A010CBSMsg1List.HDD_CAPA_CD));
					// STB契約TVコースコードn
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.STB_KEI_TV_COURSE_CD_1, kikiIdx), workMap.get(IN_PARAM_PCRS_CD_AF));
					// カウントアップ
					kikiIdx++;

					// B-CAS不要STBかどうか判定
					String bCasSvcKeiNo = JFUBPCommon.nvl((String)workMap.get(IN_PARAM_KKTK_SVC_KEI_NO_BCAS), JFUStrConst.EMPTY);
					if (!JFUStrConst.EMPTY.equals(bCasSvcKeiNo))
					{

						// ●機器提供サービス契約一意照会(B_CAS用)
						// ユーザデータ初期化
						initData(param, fixedText, IN_COLUMN_LIST_5);
						// 上りマッピング
						setInMapKktkSvcKeiUqSearchBf(param, fixedText, (String)workMap.get(IN_PARAM_KKTK_SVC_KEI_NO_BCAS));
						// サービスIF実行
						executeSC(handle, param, fixedText, TEMPLATE_ID_5, TEMPLATE_ID_5_DETAIL, IN_COLUMN_LIST_5, ERROR_COLUMN_5);
						// 変更前の機器情報
						HashMap kikiInfoMapBfBCas =
								getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_5), TEMPLATE_ID_5_DETAIL, 0);

						// ★B_CAS用・後続SC(FUSV012706SC(工事受付<eo光テレビ)受付)マッピング
						// 宅内機器種別コードn
						kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_SBT_CD_1, kikiIdx), JFUStrConst.TKNI_KIKI_SBT_CD_B0);
						// 宅内機器異動コードn
						kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_IDO_CD_1, kikiIdx), JFUStrConst.CD00562_09);
						// 機器提供サービス契約番号n
						kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KKTK_SVC_KEI_NO_1, kikiIdx), kikiInfoMapBfBCas
								.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
						// 機器変更番号n
						kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KIKI_CHG_NO_1, kikiIdx), kikiInfoMapBfBCas
								.get(EKK0341A010CBSMsg1List.KIKI_CHG_NO));
						// 宅内機器型式コードn
						kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_MODEL_CD_1, kikiIdx), kikiInfoMapBfBCas
								.get(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));
						// 機器製造番号n
						kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KKSEIZO_NO_1, kikiIdx), kikiInfoMapBfBCas
								.get(EKK0341A010CBSMsg1List.KIKI_SEIZO_NO));
						// STB-IDn
						kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.STB_ID_1, kikiIdx), null);
						// HDD容量コードn
						kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.HDD_CAPA_CD_1, kikiIdx), null);

						// カウントアップ
						kikiIdx++;
					}

					// ●機器提供サービス契約一意照会(C_CAS用・コース変更前)
					// ユーザデータ初期化
					initData(param, fixedText, IN_COLUMN_LIST_5);
					// 上りマッピング
					setInMapKktkSvcKeiUqSearchBf(param, fixedText, (String)workMap.get(IN_PARAM_KKTK_SVC_KEI_NO_CCAS));
					// サービスIF実行
					executeSC(handle, param, fixedText, TEMPLATE_ID_5, TEMPLATE_ID_5_DETAIL, IN_COLUMN_LIST_5, ERROR_COLUMN_5);
					// 変更前の機器情報
					HashMap kikiInfoMapBfCcas = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_5), TEMPLATE_ID_5_DETAIL, 0);

					// ★C_CAS用・後続SC(FUSV012706SC(工事受付<eo光テレビ)受付)マッピング
					// 宅内機器種別コードn
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_SBT_CD_1, kikiIdx), JFUStrConst.TKNI_KIKI_SBT_CD_C0);
					// 宅内機器異動コードn
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_IDO_CD_1, kikiIdx), JFUStrConst.CD00562_09);
					// 機器提供サービス契約番号n
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KKTK_SVC_KEI_NO_1, kikiIdx), kikiInfoMapBfCcas
							.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
					// 機器変更番号n
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KIKI_CHG_NO_1, kikiIdx), kikiInfoMapBfCcas
							.get(EKK0341A010CBSMsg1List.KIKI_CHG_NO));
					// 宅内機器型式コードn
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_MODEL_CD_1, kikiIdx), kikiInfoMapBfCcas
							.get(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));
					// 機器製造番号n
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KKSEIZO_NO_1, kikiIdx), kikiInfoMapBfCcas
							.get(EKK0341A010CBSMsg1List.KIKI_SEIZO_NO));
					// STB-IDn
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.STB_ID_1, kikiIdx), null);
					// HDD容量コードn
					kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.HDD_CAPA_CD_1, kikiIdx), null);

					// カウントアップ
					kikiIdx++;

					// 機能コード設定(1)※デグレ防止策。消さないこと。
					setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);
				}
				JFUBPCommon.printBpDebugLog(this.getClass(), "■■■ JFUCngSvcKeiTv02CC ***** continue2 *****");
				continue;
			}

			JFUBPCommon.printBpDebugLog(this.getClass(), "■■■ JFUCngSvcKeiTv02CC ***** 返品機器、機器の更新 *****");
			if (JPCModelConstant.FUNC_CD_1.equals(funcCode))
			{
				HashMap<String, Object> inMap_wk = (HashMap<String, Object>)param.getData(fixedText);
				ArrayList<Object> inMapLst = (ArrayList<Object>)inMap_wk.get(DATE_HASHMAP_CHILDMAP);
				HashMap<String, Object> workMapLst = (HashMap<String, Object>)inMapLst.get(i);

				// ●返品機器受付(STB)
				HashMap<String, Object> henpinOutMapStb = new HashMap<String, Object>();
				JKKBpCommon.createHmpin(param, handle, (String)workMapLst.get("kk0341_kktk_svc_kei_no"), JFUStrConst.CD00576_00009, henpinOutMapStb,
						fixedText);
				// ●返品機器受付(C-CAS)
				HashMap<String, Object> henpinOutMapCcas = new HashMap<String, Object>();
				JKKBpCommon.createHmpin(param, handle, (String)workMapLst.get("kk0341_kktk_svc_kei_no_ccas"), JFUStrConst.CD00576_00009,
						henpinOutMapCcas, fixedText);

				// 機能コード設定(1)※デグレ防止策。消さないこと。
				setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);
			}

			// ●機器提供サービス契約料金コース変更(STB用)
			// 上りマッピング
			setInMapKktkSvkiChg(param, fixedText, KKTK_KBN_STB, i);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_3, BLANK, IN_COLUMN_LIST_3, BLANK);
			// 更新年月日時分秒
			lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_3), EKK0341C070CBSMsg.UPD_DTM);
			// 世代登録年月日時分秒
			geneAddDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_3), EKK0341C070CBSMsg.GENE_ADD_DTM);
			// 下りマッピング
			setOutMapKktkSvkiChg(param, fixedText, KKTK_KBN_STB, i, funcCode);

			if (JPCModelConstant.FUNC_CD_1.equals(funcCode))
			{
				// ●機器提供サービス契約一意照会(STB用・コース変更後)
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_5);
				// 上りマッピング
				setInMapKktkSvcKeiUqSearchAf(param, fixedText, (String)workMap.get(IN_PARAM_KKTK_SVC_KEI_NO_STB), geneAddDtm);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_5, TEMPLATE_ID_5_DETAIL, IN_COLUMN_LIST_5, ERROR_COLUMN_5);
				// コース変更後の機器情報
				HashMap kikiInfoMapAf = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_5), TEMPLATE_ID_5_DETAIL, 0);

				// ●機器提供サービス契約一意照会(STB用・コース変更前)
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_5);
				// 上りマッピング
				setInMapKktkSvcKeiUqSearchBf(param, fixedText, (String)workMap.get(IN_PARAM_KKTK_SVC_KEI_NO_STB));
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_5, TEMPLATE_ID_5_DETAIL, IN_COLUMN_LIST_5, ERROR_COLUMN_5);
				// コース変更前の機器情報
				HashMap kikiInfoMapBf = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_5), TEMPLATE_ID_5_DETAIL, 0);

				// ●宅内機器一意照会(2)
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_8);
				// 上りマッピング
				setInMapTaknkikiSearch(param, fixedText, (String)kikiInfoMapBf.get(EKK0341A010CBSMsg1List.KIKI_SEIZO_NO),
						(String)kikiInfoMapBf.get(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_8, TEMPLATE_ID_8_DETAIL, IN_COLUMN_LIST_8, ERROR_COLUMN_8);
				// ＳＴＢＩＤ
				String stbId =
						getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_8), TEMPLATE_ID_8_DETAIL,
								EWCA0010002CBSMsg1List.STBID, 0);

				// ●料金コース一意照会
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_7);
				// 上りマッピング
				setInMapPcrsSearch(param, fixedText, (String)workMap.get(IN_PARAM_PCRS_CD_STB));
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_7, TEMPLATE_ID_7_DETAIL, IN_COLUMN_LIST_7, ERROR_COLUMN_7);
				// HDD容量コード
				String hddCapaCd =
						getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_7), TEMPLATE_ID_7_DETAIL,
								EKK0791A010CBSMsg1List.HDD_CAPA_CD, 0);

				// ●機器提供サービス契約情報変更（契約変更中）(STB用)
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_6);
				// 上りマッピング
				setInMapKktkSvcKeiInfoChgAF(param, fixedText, kikiInfoMapAf, geneAddDtm, lastUpdDtm, JFUStrConst.CD00576_00009, shelfCd, hddCapaCd);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_6, TEMPLATE_ID_6_DETAIL, IN_COLUMN_LIST_6, ERROR_COLUMN_6);
				// 更新年月日時分秒
				lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_6), EKK0341C231CBSMsg.UPD_DTM);

				// ★STB用・後続SC(FUSV012706SC(工事受付<eo光テレビ)受付)マッピング
				// 宅内機器種別コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_SBT_CD_1, kikiIdx), JFUStrConst.TKNI_KIKI_SBT_CD_A0);
				// 宅内機器異動コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_IDO_CD_1, kikiIdx), JFUStrConst.CD00562_02);
				// 機器提供サービス契約番号n
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KKTK_SVC_KEI_NO_1, kikiIdx), kikiInfoMapAf
						.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
				// 機器変更番号n
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KIKI_CHG_NO_1, kikiIdx), kikiInfoMapAf.get(EKK0341A010CBSMsg1List.KIKI_CHG_NO));
				// 宅内機器型式コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_MODEL_CD_1, kikiIdx), kikiInfoMapAf
						.get(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));
				// 機器製造番号n
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KKSEIZO_NO_1, kikiIdx), kikiInfoMapAf.get(EKK0341A010CBSMsg1List.KIKI_SEIZO_NO));
				// STB-IDn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.STB_ID_1, kikiIdx), null);
				// HDD容量コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.HDD_CAPA_CD_1, kikiIdx), hddCapaCd);
				// STB契約TVコースコードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.STB_KEI_TV_COURSE_CD_1, kikiIdx), workMap.get(IN_PARAM_PCRS_CD_AF));
				// 変更前宅内機器型式コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.CHGB_TAKNKIKI_MODEL_CD_1, kikiIdx), kikiInfoMapBf
						.get(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));
				// 変更前機器製造番号n
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.CHGB_KKSEIZO_NO_1, kikiIdx), kikiInfoMapBf
						.get(EKK0341A010CBSMsg1List.KIKI_SEIZO_NO));
				// 変更前STB-ID1
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.CHGB_STB_ID_1, kikiIdx), stbId);
				// 変更前HDD容量コード1
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.CHGB_HDD_CAPA_CD_1, kikiIdx), kikiInfoMapBf
						.get(EKK0341A010CBSMsg1List.HDD_CAPA_CD));
				// 変更前STB契約TVコースコードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.CHGB_STB_KEI_TV_COURSE_CD_1, kikiIdx), workMap.get(IN_PARAM_PCRS_CD_BF));

				// カウントアップ
				kikiIdx++;

				// 機能コード設定(1)※デグレ防止策。消さないこと。
				setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);
			}

			// ●機器提供サービス契約料金コース変更(C_CAS用)
			// 上りマッピング
			setInMapKktkSvkiChg(param, fixedText, KKTK_KBN_CCAS, i);
			//検索エラーなし設定
			ignoreSearchError(param, fixedText);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_3, BLANK, IN_COLUMN_LIST_3, BLANK);
			// 更新年月日時分秒
			lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_3), EKK0341C070CBSMsg.UPD_DTM);
			// 世代登録年月日時分秒
			geneAddDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_3), EKK0341C070CBSMsg.GENE_ADD_DTM);
			// 下りマッピング
			setOutMapKktkSvkiChg(param, fixedText, KKTK_KBN_CCAS, i, funcCode);

			if (JPCModelConstant.FUNC_CD_1.equals(funcCode))
			{
				// ●機器提供サービス契約一意照会(B_CAS用)
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_5);
				// 上りマッピング
				setInMapKktkSvcKeiUqSearchBf(param, fixedText, (String)workMap.get(IN_PARAM_KKTK_SVC_KEI_NO_BCAS));
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_5, TEMPLATE_ID_5_DETAIL, IN_COLUMN_LIST_5, ERROR_COLUMN_5);
				// 変更前の機器情報
				HashMap kikiInfoMapBfBCas = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_5), TEMPLATE_ID_5_DETAIL, 0);

				// ★B_CAS用・後続SC(FUSV012706SC(工事受付<eo光テレビ)受付)マッピング
				// 宅内機器種別コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_SBT_CD_1, kikiIdx), JFUStrConst.TKNI_KIKI_SBT_CD_B0);
				// 宅内機器異動コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_IDO_CD_1, kikiIdx), JFUStrConst.CD00562_09);
				// 機器提供サービス契約番号n
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KKTK_SVC_KEI_NO_1, kikiIdx), kikiInfoMapBfBCas
						.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
				// 機器変更番号n
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KIKI_CHG_NO_1, kikiIdx), kikiInfoMapBfBCas
						.get(EKK0341A010CBSMsg1List.KIKI_CHG_NO));
				// 宅内機器型式コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_MODEL_CD_1, kikiIdx), kikiInfoMapBfBCas
						.get(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));
				// 機器製造番号n
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KKSEIZO_NO_1, kikiIdx), kikiInfoMapBfBCas
						.get(EKK0341A010CBSMsg1List.KIKI_SEIZO_NO));
				// STB-IDn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.STB_ID_1, kikiIdx), null);
				// HDD容量コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.HDD_CAPA_CD_1, kikiIdx), null);

				// カウントアップ
				kikiIdx++;

				// ●機器提供サービス契約一意照会(C_CAS用・コース変更後)
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_5);
				// 上りマッピング
				setInMapKktkSvcKeiUqSearchAf(param, fixedText, (String)workMap.get(IN_PARAM_KKTK_SVC_KEI_NO_CCAS), geneAddDtm);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_5, TEMPLATE_ID_5_DETAIL, IN_COLUMN_LIST_5, ERROR_COLUMN_5);
				// 変更後の機器情報
				HashMap kikiInfoMapAfCcas = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_5), TEMPLATE_ID_5_DETAIL, 0);

				// ●機器提供サービス契約一意照会(C_CAS用・コース変更前)
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_5);
				// 上りマッピング
				setInMapKktkSvcKeiUqSearchBf(param, fixedText, (String)workMap.get(IN_PARAM_KKTK_SVC_KEI_NO_CCAS));
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_5, TEMPLATE_ID_5_DETAIL, IN_COLUMN_LIST_5, ERROR_COLUMN_5);
				// 変更前の機器情報
				HashMap kikiInfoMapBfCcas = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_5), TEMPLATE_ID_5_DETAIL, 0);

				// ★C_CAS用・後続SC(FUSV012706SC(工事受付<eo光テレビ)受付)マッピング
				// 宅内機器種別コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_SBT_CD_1, kikiIdx), JFUStrConst.TKNI_KIKI_SBT_CD_C0);
				// 宅内機器異動コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_IDO_CD_1, kikiIdx), JFUStrConst.CD00562_02);
				// 機器提供サービス契約番号n
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KKTK_SVC_KEI_NO_1, kikiIdx), kikiInfoMapAfCcas
						.get(EKK0341A010CBSMsg1List.KKTK_SVC_KEI_NO));
				// 機器変更番号n
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KIKI_CHG_NO_1, kikiIdx), kikiInfoMapAfCcas
						.get(EKK0341A010CBSMsg1List.KIKI_CHG_NO));
				// 宅内機器型式コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.TAKNKIKI_MODEL_CD_1, kikiIdx), kikiInfoMapAfCcas
						.get(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));
				// 機器製造番号n
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.KKSEIZO_NO_1, kikiIdx), kikiInfoMapAfCcas
						.get(EKK0341A010CBSMsg1List.KIKI_SEIZO_NO));
				// STB-IDn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.STB_ID_1, kikiIdx), null);
				// HDD容量コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.HDD_CAPA_CD_1, kikiIdx), null);
				// 変更前宅内機器型式コードn
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.CHGB_TAKNKIKI_MODEL_CD_1, kikiIdx), kikiInfoMapBfCcas
						.get(EKK0341A010CBSMsg1List.TAKNKIKI_MODEL_CD));
				// 変更前機器製造番号n
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.CHGB_KKSEIZO_NO_1, kikiIdx), kikiInfoMapBfCcas
						.get(EKK0341A010CBSMsg1List.KIKI_SEIZO_NO));
				// 変更前STB-ID1
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.CHGB_STB_ID_1, kikiIdx), null);
				// 変更前HDD容量コード1
				kojiAkMap.put(editTaknkikiColNmIdx(EKU0031D010CBSMsg.CHGB_HDD_CAPA_CD_1, kikiIdx), null);

				// カウントアップ
				kikiIdx++;

				// ●機器提供サービス契約情報変更（契約変更中）(C_CAS用)
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_6);
				// 上りマッピング
				setInMapKktkSvcKeiInfoChgAF(param, fixedText, kikiInfoMapAfCcas, geneAddDtm, lastUpdDtm, JFUStrConst.CD00576_00009, shelfCd, null);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_6, TEMPLATE_ID_6_DETAIL, IN_COLUMN_LIST_6, ERROR_COLUMN_6);
				// 更新年月日時分秒
				lastUpdDtm = getTemplateValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_6), EKK0341C231CBSMsg.UPD_DTM);

				// 機能コード設定(1)※デグレ防止策。消さないこと。
				setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);
			}
		}

		// ●キャンペーン文言の取得、及び、割引サービス契約の登録処理
		// BSパススルー申し込みありの場合に登録処理を行なう
		HashMap<String, Object> inMap_FUSV0127WORK01 = (HashMap<String, Object>)(param.getData("FUSV0127WORK01"));
		String cc_bspt_add_flg = (String)inMap_FUSV0127WORK01.get("bspt_add_flg");
		
		if (CC_FLG_1.equals(cc_bspt_add_flg))
		{
			setInMapAddCmp(param, fixedText, mskmDtlNo);
			super.addTvCmp(handle, param, fixedText);
		}

		JFUBPCommon.printBpDebugLog(this.getClass(), "■■■ JFUCngSvcKeiTv02CC end ■■■");
		return param;
	}

	/**
	 * チェック処理
	 * 
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ
	 * @throws Exception
	 */
	public HashMap<String, Object> getInvokeCBS(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		return null;
	}

	/**
	 * 上りマッピング項目設定(キャンペーン文言の取得、及び、割引サービス契約の登録処理CC)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param mskmDtlNo 申込明細番号
	 * @param updDtmBf 更新年月日時分秒
	 * @throws RequestParameterException
	 */
	private void setInMapAddCmp(IRequestParameterReadWrite param, String fixedText, String mskmDtlNo) throws RequestParameterException
	{
		// ユーザデータ取得
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(fixedText);

		// 申込明細番号 
		inMap.put(IN_PARAM_CMP_MSKM_DTL_NO, mskmDtlNo);
		// 更新年月日時分秒(更新前) 
		inMap.put(IN_PARAM_CMP_KEY_UPD_DTM_BF, inMap.get(SVC_KEI_UPD_DTM));
	}

	/**
	 * 上りマッピング項目設定(サービス契約<eo光TV>料金プラン変更)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param rsvAplyYmd 予約適用日 
	 * @param kojiFlg 工事フラグ
	 * @throws RequestParameterException
	 * @throws ParseException 
	 */
	private void setInMapSvkeiPplanChg(IRequestParameterReadWrite param, String fixedText, String rsvAplyYmd, boolean kojiFlg)
			throws RequestParameterException, ParseException
	{
		// ユーザデータ取得
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(fixedText);

		// サービス契約番号
		inMap.put(EKK0101C060CBSMsg.SVC_KEI_NO, inMap.get("kk0081_svc_kei_no"));
		// 料金グループコード
		inMap.put(EKK0101C060CBSMsg.PRC_GRP_CD, inMap.get("kk0081_prc_grp_cd"));
		// 料金コースコード
		inMap.put(EKK0101C060CBSMsg.PCRS_CD, inMap.get("kk0081_pcrs_cd"));
		// 料金プランコード
		inMap.put(EKK0101C060CBSMsg.PPLAN_CD, inMap.get("kk0081_pplan_cd"));
		// 予約適用年月日
		inMap.put(EKK0101C060CBSMsg.RSV_APLY_YMD, rsvAplyYmd);
		// 違約金発生コード
		inMap.put(EKK0101C060CBSMsg.PNLTY_HASSEI_CD, JFUStrConst.EMPTY);
		// 異動区分
		inMap.put(EKK0101C060CBSMsg.IDO_DIV, JFUStrConst.CD00576_00009);

		// 提供方式契約番号
		inMap.put(EKK0101C060CBSMsg.TK_HOSHIKI_KEI_NO, inMap.get("tk_hoshiki_kei_no"));
		// 更新年月日時分秒(更新前)
		inMap.put(EKK0101C060CBSMsg.UPD_DTM_BF, inMap.get("kk0081_upd_dtm_bf"));

		//申込明細番号
		HashMap<String, Object> inMap_FUSV012701SC = (HashMap<String, Object>)(param.getData("FUSV012701SC"));
		ArrayList<Object> workLst_FUSV012701SC = (ArrayList<Object>)inMap_FUSV012701SC.get("EKK0011D020CBSMsg1List");
		HashMap<String, Object> workMap_FUSV012701SC = (HashMap<String, Object>)workLst_FUSV012701SC.get(0);
		inMap.put(EKK0101C060CBSMsg.MSKM_DTL_NO, workMap_FUSV012701SC.get(EKK0011D020CBSMsg1List.MSKM_DTL_NO));

	}

	/**
	 * 下りマッピング項目設定(サービス契約<eo光TV>料金プラン変更)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param cnt カウント
	 * @throws RequestParameterException
	 */
	private void setOutMapSvkeiPplanChg(IRequestParameterReadWrite param, String fixedText, String funcCode) throws RequestParameterException
	{
		// ユーザデータ取得
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(fixedText);

		if ("1".equals(funcCode))
		{
			// 排他テーブル用更新年月日時分秒（サービス契約）
			inMap.put(SVC_KEI_UPD_DTM, inMap.get("upd_dtm"));
		}
		else
		{
			inMap.put(SVC_KEI_UPD_DTM, inMap.get("upd_dtm_bf"));
		}
	}

	/**
	 * 上りマッピング項目設定(サービス契約料金プラン変更確定)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param rsvAplyYmd 予約適用日
	 * @throws RequestParameterException
	 * @throws ParseException 
	 */
	private void setInMapSvcPplanFix(IRequestParameterReadWrite param, String fixedText, String rsvAplyYmd) throws RequestParameterException,
			ParseException
	{
		// ユーザデータ取得
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(fixedText);

		// サービス契約番号
		inMap.put(EKK0081C120CBSMsg.SVC_KEI_NO, inMap.get("kk0081_svc_kei_no"));
		// 予約適用年月日
		inMap.put(EKK0081C120CBSMsg.RSV_APLY_YMD, rsvAplyYmd);
		// 更新年月日時分秒(更新前)
		inMap.put(EKK0081C120CBSMsg.UPD_DTM_BF, inMap.get(SVC_KEI_UPD_DTM));
		// 事務手数料自動適用要否
		inMap.put(EKK0081C120CBSMsg.RULE0059_AUTO_APLY, NASI);
		// 工事費自動適用要否
		inMap.put(EKK0081C120CBSMsg.RULE0079_AUTO_APLY, NASI);
		// 工事有無
		inMap.put(EKK0081C120CBSMsg.KOJI_UM, NASI);

	}

	/**
	* 下りマッピング項目設定(サービス契約料金プラン変更確定)
	* 
	* <br>
	* @param param リクエストパラメータ
	* @param fixedText サービスメッセージ
	* @throws RequestParameterException
	* @throws ParseException 
	*/
	private void setOutMapSvcPplanFix(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException, ParseException
	{
		// ユーザデータ取得
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(fixedText);

		// 排他テーブル用更新年月日時分秒（サービス契約）
		inMap.put(SVC_KEI_UPD_DTM, inMap.get(EKK0081C120CBSMsg.UPD_DTM));
	}

	/**
	 * 上りマッピング項目設定(サービス契約内訳料金プラン変更)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param cnt カウント
	 * @param opeDate 運用日付
	 * @param rsvAplyYmd 予約適用日
	 * @param skjYkgt 即時/翌月 
	 * @param kojiFlg 工事フラグ 
	 * @throws RequestParameterException
	 * @throws ParseException 
	 */
	private void setInMapPplanChg(IRequestParameterReadWrite param, String fixedText, int cnt, String rsvAplyYmd, String skjYkgt, boolean kojiFlg)
			throws RequestParameterException, ParseException
	{
		// ユーザデータ取得
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(fixedText);
		ArrayList<Object> inMapLst = (ArrayList<Object>)inMap.get(DATE_HASHMAP_CHILDMAP);
		HashMap<String, Object> workMapLst = (HashMap<String, Object>)inMapLst.get(cnt);

		// サービス契約内訳番号
		inMap.put(EKK0161C110CBSMsg.SVC_KEI_UCWK_NO, workMapLst.get("kk0161_svc_kei_ucwk_no"));
		// 料金コースコード
		inMap.put(EKK0161C110CBSMsg.PCRS_CD, workMapLst.get("kk0161_pcrs_cd"));
		// 料金プランコード
		inMap.put(EKK0161C110CBSMsg.PPLAN_CD, workMapLst.get("kk0161_pplan_cd"));
		// 提供方式契約番号
		inMap.put(EKK0161C110CBSMsg.TK_HOSHIKI_KEI_NO, inMap.get("tk_hoshiki_kei_no"));
		// 違約金発生コード
		inMap.put(EKK0161C110CBSMsg.PNLTY_HASSEI_CD, JFUStrConst.EMPTY);
		// 異動区分
		inMap.put(EKK0161C110CBSMsg.IDO_DIV, JFUStrConst.CD00576_00009);
		// 更新年月日時分秒(更新前)
		inMap.put(EKK0161C110CBSMsg.UPD_DTM_BF, inMap.get(SVC_KEI_UPD_DTM));

		// 工事ありの場合
		if (kojiFlg)
		{
			// 予約適用年月日
			inMap.put(EKK0161C110CBSMsg.RSV_APLY_YMD, rsvAplyYmd);
			// プラン課金開始年月日
			inMap.put(EKK0161C110CBSMsg.PLAN_CHRG_STAYMD, null);
			// プラン課金終了年月日
			inMap.put(EKK0161C110CBSMsg.PLAN_CHRG_ENDYMD, null);
			// 即時/翌月
			inMap.put(EKK0161C110CBSMsg.SKJ_YKGT, null);
			// 工事有無
			inMap.put(EKK0161C110CBSMsg.KOJI_UM, JFUStrConst.CD00002_1);
		}
		// 工事なしの場合
		else
		{
			// 予約適用年月日
			inMap.put(EKK0161C110CBSMsg.RSV_APLY_YMD, rsvAplyYmd);
			// プラン課金開始年月日
			inMap.put(EKK0161C110CBSMsg.PLAN_CHRG_STAYMD, rsvAplyYmd);
			// プラン課金終了年月日
			inMap.put(EKK0161C110CBSMsg.PLAN_CHRG_ENDYMD, JFUBPCommon.addSubtractDay(rsvAplyYmd, -1));
			// 即時/翌月
			inMap.put(EKK0161C110CBSMsg.SKJ_YKGT, skjYkgt);
			// 工事有無
			inMap.put(EKK0161C110CBSMsg.KOJI_UM, JFUStrConst.CD00002_0);
		}

		//申込明細番号
		HashMap<String, Object> inMap_FUSV012701SC = (HashMap<String, Object>)(param.getData("FUSV012701SC"));
		ArrayList<Object> workLst_FUSV012701SC = (ArrayList<Object>)inMap_FUSV012701SC.get("EKK0011D020CBSMsg1List");
		HashMap<String, Object> workMap_FUSV012701SC = (HashMap<String, Object>)workLst_FUSV012701SC.get(0);
		inMap.put(EKK0101C060CBSMsg.MSKM_DTL_NO, workMap_FUSV012701SC.get(EKK0011D020CBSMsg1List.MSKM_DTL_NO));
	}

	/**
	 * 下りマッピング項目設定(サービス契約内訳料金プラン変更)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param cnt カウント
	 * @throws RequestParameterException
	 * @throws ParseException 
	 */
	private void setOutMapPplanChg(IRequestParameterReadWrite param, String fixedText, int cnt, String funcCode) throws RequestParameterException,
			ParseException
	{
		// ユーザデータ取得
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(fixedText);
		ArrayList<Object> inMapLst = (ArrayList<Object>)inMap.get(DATE_HASHMAP_CHILDMAP);
		HashMap<String, Object> workMapLst = (HashMap<String, Object>)inMapLst.get(cnt);

		// 更新年月日時分秒
		workMapLst.put(EKK0161C110CBSMsg.UPD_DTM, inMap.get(EKK0161C110CBSMsg.UPD_DTM));

		if ("1".equals(funcCode))
		{
			// 排他テーブル用更新年月日時分秒（サービス契約）
			inMap.put(SVC_KEI_UPD_DTM, inMap.get(EKK0161C110CBSMsg.UPD_DTM));
		}
	}

	/**
	 * 上りマッピング項目設定(サービス契約内訳料金プラン変更確定)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param cnt カウント
	 * @param opeDate 運用日付
	 * @param rsvAplyYmd 予約適用日
	 * @param skjYkgt 即時/翌月
	 * @throws RequestParameterException
	 * @throws ParseException 
	 */
	private void setInMapPplanFix(IRequestParameterReadWrite param, String fixedText, int cnt, String opeDate, String rsvAplyYmd, String skjYkgt)
			throws RequestParameterException, ParseException
	{
		// ユーザデータ取得
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(fixedText);
		ArrayList<Object> inMapLst = (ArrayList<Object>)inMap.get(DATE_HASHMAP_CHILDMAP);
		HashMap<String, Object> workMapLst = (HashMap<String, Object>)inMapLst.get(cnt);

		// サービス契約内訳番号
		inMap.put(EKK0161C120CBSMsg.SVC_KEI_UCWK_NO, workMapLst.get("kk0161_svc_kei_ucwk_no"));
		// 予約適用年月日
		inMap.put(EKK0161C120CBSMsg.RSV_APLY_YMD, rsvAplyYmd);
		// プラン課金開始年月日
		inMap.put(EKK0161C120CBSMsg.PLAN_CHRG_STAYMD, rsvAplyYmd);
		// プラン課金終了年月日
		inMap.put(EKK0161C120CBSMsg.PLAN_CHRG_ENDYMD, JFUBPCommon.addSubtractDay(rsvAplyYmd, -1));
		// 更新年月日時分秒(更新前)
		inMap.put(EKK0161C120CBSMsg.UPD_DTM_BF, inMap.get(SVC_KEI_UPD_DTM));
		// 機器出荷有無
		inMap.put(EKK0161C120CBSMsg.KKSHKA_UM, NASI);
		// 工事有無
		inMap.put(EKK0161C120CBSMsg.KOJI_UM, NASI);
		// 即時/翌月
		inMap.put(EKK0161C120CBSMsg.SKJ_YKGT, skjYkgt);
		// 工事有無
		inMap.put(EKK0161C120CBSMsg.KOJI_UM, JFUStrConst.CD00002_0);
	}

	/**
	* 下りマッピング項目設定(サービス契約内訳料金プラン変更確定)
	* 
	* <br>
	* @param param リクエストパラメータ
	* @param fixedText サービスメッセージ
	* @param cnt カウント
	* @throws RequestParameterException
	* @throws ParseException 
	*/
	private void setOutMapPplanFix(IRequestParameterReadWrite param, String fixedText, int cnt) throws RequestParameterException, ParseException
	{
		// ユーザデータ取得
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(fixedText);
		ArrayList<Object> inMapLst = (ArrayList<Object>)inMap.get(DATE_HASHMAP_CHILDMAP);
		HashMap<String, Object> workMapLst = (HashMap<String, Object>)inMapLst.get(cnt);

		// 世代登録年月日時分秒
		workMapLst.put(EKK0161C120CBSMsg.GENE_ADD_DTM, inMap.get(EKK0161C120CBSMsg.GENE_ADD_DTM));
		// 更新年月日時分秒
		workMapLst.put(EKK0161C120CBSMsg.UPD_DTM, inMap.get(EKK0161C120CBSMsg.UPD_DTM));
		// 更新オペレータアカウント
		workMapLst.put(EKK0161C120CBSMsg.UPD_OPEACNT, inMap.get(EKK0161C120CBSMsg.UPD_OPEACNT));

		// 排他テーブル用更新年月日時分秒（サービス契約）
		inMap.put(SVC_KEI_UPD_DTM, inMap.get(EKK0161C120CBSMsg.UPD_DTM));
	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約料金コース変更)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kbn 機器区分
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvkiChg(IRequestParameterReadWrite param, String fixedText, int kbn, int cnt) throws RequestParameterException
	{
		// ユーザデータ取得
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(fixedText);
		ArrayList<Object> inMapLst = (ArrayList<Object>)inMap.get(DATE_HASHMAP_CHILDMAP);
		HashMap<String, Object> workMapLst = (HashMap<String, Object>)inMapLst.get(cnt);

		HashMap<String, Object> inMap_FUSV0127WORK01 = (HashMap<String, Object>)(param.getData("FUSV0127WORK01"));
		String cc_pcrs_cng_flg = (String)inMap_FUSV0127WORK01.get("pcrs_stb_cng_flg");
		String cc_pcrs_bs_cng_flg = (String)inMap_FUSV0127WORK01.get("pcrs_bs_cng_flg");
		String cc_stb_cng_flg = (String)inMap_FUSV0127WORK01.get("stb_cng_flg");
		String cc_stb_add_flg = (String)inMap_FUSV0127WORK01.get("stb_add_flg");

		if (kbn == KKTK_KBN_STB)
		{
			// 機器提供サービス契約番号
			inMap.put(EKK0341C160CBSMsg.KKTK_SVC_KEI_NO, workMapLst.get("kk0341_kktk_svc_kei_no"));
			// 料金コースコード
			inMap.put(EKK0341C160CBSMsg.PCRS_CD, workMapLst.get("kk0341_pcrs_cd"));
			// 料金プランコード
			inMap.put(EKK0341C160CBSMsg.PPLAN_CD, workMapLst.get("kk0341_pplan_cd"));

			// 宅内機器異動コード
			if ("1".equals(cc_pcrs_bs_cng_flg) || "1".equals(cc_stb_add_flg))
			{
				// 追加
				inMap.put(EKK0341C160CBSMsg.TAKNKIKI_IDO_CD, JFUStrConst.CD00562_01);
			}
			else if ("1".equals(cc_pcrs_cng_flg) || "1".equals(cc_stb_cng_flg))
			{
				// 変更
				inMap.put(EKK0341C160CBSMsg.TAKNKIKI_IDO_CD, JFUStrConst.CD00562_02);
			}
			else
			{
				// 未設定
				inMap.put(EKK0341C160CBSMsg.TAKNKIKI_IDO_CD, JFUStrConst.EMPTY);
			}
		}
		else if (kbn == KKTK_KBN_CCAS)
		{
			// 機器提供サービス契約番号
			inMap.put(EKK0341C160CBSMsg.KKTK_SVC_KEI_NO, workMapLst.get("kk0341_kktk_svc_kei_no_ccas"));
			// 料金コースコード
			inMap.put(EKK0341C160CBSMsg.PCRS_CD, JFUStrConst.CD00134_C17);
			// 料金プランコード
			inMap.put(EKK0341C160CBSMsg.PPLAN_CD, JFUStrConst.CD00565_PC1701);
			// 変更
			inMap.put(EKK0341C160CBSMsg.TAKNKIKI_IDO_CD, JFUStrConst.CD00562_02);
		}
		else
		{
			inMap.put(EKK0341C160CBSMsg.KKTK_SVC_KEI_NO, null);
		}

		// 違約金発生コード
		inMap.put(EKK0341C160CBSMsg.PNLTY_HASSEI_CD, JFUStrConst.EMPTY);
		// 異動区分
		inMap.put(EKK0341C160CBSMsg.IDO_DIV, JFUStrConst.CD00576_00009);
		//更新年月日時分秒(更新前)
		inMap.put(EKK0341C160CBSMsg.UPD_DTM_BF, inMap.get(SVC_KEI_UPD_DTM));
		// 予約適用年月日
		inMap.put(EKK0341C160CBSMsg.RSV_APLY_YMD, null);
	}

	/**
	 * 下りマッピング項目設定(機器提供サービス契約料金コース変更)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kbn 機器区分
	 * @throws RequestParameterException
	 */
	private void setOutMapKktkSvkiChg(IRequestParameterReadWrite param, String fixedText, int kbn, int cnt, String funcCode)
			throws RequestParameterException
	{
		// ユーザデータ取得
		// 更新年月日時分秒(更新前)
		HashMap<String, Object> inMap = (HashMap<String, Object>)param.getData(fixedText);
		ArrayList<Object> inMapLst = (ArrayList<Object>)inMap.get(DATE_HASHMAP_CHILDMAP);
		HashMap<String, Object> workMapLst = (HashMap<String, Object>)inMapLst.get(cnt);

		// 機器提供サービス契約ステータス
		workMapLst.put(EKK0341C160CBSMsg.KKTK_SVC_KEI_STAT, inMap.get("kktk_svc_kei_stat"));
		// 予約適用コード
		workMapLst.put(EKK0341C160CBSMsg.RSV_APLY_CD, inMap.get("rsv_aply_cd"));
		// 登録年月日時分秒
		workMapLst.put(EKK0341C160CBSMsg.ADD_DTM, inMap.get("add_dtm"));
		// 登録オペレータアカウント
		workMapLst.put(EKK0341C160CBSMsg.ADD_OPEACNT, inMap.get("add_opeacnt"));
		// 更新年月日時分秒
		workMapLst.put(EKK0341C160CBSMsg.UPD_DTM, inMap.get("upd_dtm"));
		// 更新オペレータアカウント
		workMapLst.put(EKK0341C160CBSMsg.UPD_OPEACNT, inMap.get("upd_opeacnt"));
		// 無効フラグ
		workMapLst.put(EKK0341C160CBSMsg.MK_FLG, inMap.get("mk_flg"));

		// 排他テーブル用更新年月日時分秒（サービス契約）
		if ("1".equals(funcCode))
		{
			// 排他テーブル用更新年月日時分秒（サービス契約）
			inMap.put(SVC_KEI_UPD_DTM, inMap.get(EKK0341C160CBSMsg.UPD_DTM));
		}

		if (kbn == KKTK_KBN_STB)
		{
			// 機器提供サービス契約番号
			workMapLst.put(KKTK_SVC_KEI_NO_STB, inMap.get(EKK0341C160CBSMsg.KKTK_SVC_KEI_NO));
			// 機器変更番号
			workMapLst.put(KIKI_CHG_NO_STB, inMap.get(EKK0341C160CBSMsg.KIKI_CHG_NO));
		}
		else if (kbn == KKTK_KBN_CCAS)
		{
			// 機器提供サービス契約番号
			workMapLst.put(KKTK_SVC_KEI_NO_CCAS, inMap.get(EKK0341C160CBSMsg.KKTK_SVC_KEI_NO));
			// 機器変更番号
			workMapLst.put(KIKI_CHG_NO_CCAS, inMap.get(EKK0341C160CBSMsg.KIKI_CHG_NO));
		}

		// 排他テーブル用更新年月日時分秒（サービス契約）
		inMap.put(SVC_KEI_UPD_DTM, inMap.get(EKK0341C160CBSMsg.UPD_DTM));
	}

	/**
	 * 上りマッピング項目設定(引当棚一意照会)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @throws RequestParameterException 
	 */
	private void setInMapHkAtShelfSearch(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		// 機能コード設定(1)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);
		// ＫＥＹ＿販売種別コード
		inMap.put(EDK0451A010CBSMsg.KEY_HAMBAI_SBT_CD, JFUStrConst.CD00348_10);
		// ＫＥＹ＿運用日付
		inMap.put(EDK0451A010CBSMsg.KEY_UNYO_YMD, JFUBPCommon.getOpeDate(null));

	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約一意照会)コース変更前
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param geneAddDtm 世代登録年月日時分秒
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvcKeiUqSearchBf(IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo)
			throws RequestParameterException
	{
		// 機能コード設定(1:PK)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_2);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＫＥＹ＿サービス契約番号
		inMap.put(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// ＫＥＹ＿予約適用年月日
		inMap.put(EKK0341A010CBSMsg.KEY_RSV_APLY_YMD, JFUBPCommon.getOpeDate(null));
	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約一意照会)コース変更後
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kktkSvcKeiNo 機器提供サービス契約番号
	 * @param geneAddDtm 世代登録年月日時分秒
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvcKeiUqSearchAf(IRequestParameterReadWrite param, String fixedText, String kktkSvcKeiNo, String geneAddDtm)
			throws RequestParameterException
	{
		// 機能コード設定(1:PK)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＫＥＹ＿サービス契約番号
		inMap.put(EKK0341A010CBSMsg.KEY_KKTK_SVC_KEI_NO, kktkSvcKeiNo);
		// ＫＥＹ＿世代登録年月日時分秒
		inMap.put(EKK0341A010CBSMsg.KEY_GENE_ADD_DTM, geneAddDtm);
	}

	/**
	 * 上りマッピング項目設定(機器提供サービス契約情報変更（契約変更中）)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kikiInfoMap 機器情報マップ
	 * @param geneAddDtm 世代登録年月日時分秒
	 * @param updDtm 更新年月日時分秒
	 * @param idoDiv 異動区分
	 * @param shelfCd 棚コード
	 * @param hddCapaCd HDD容量コード
	 * @throws RequestParameterException
	 */
	private void setInMapKktkSvcKeiInfoChgAF(IRequestParameterReadWrite param, String fixedText, HashMap kikiInfoMap, String geneAddDtm,
			String updDtm, String idoDiv, String shelfCd, String hddCapaCd) throws RequestParameterException
	{
		// 機能コード設定(1)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 同一項目を移送
		super.copyProperties(inMap, kikiInfoMap);

		// 世代登録年月日時分秒
		inMap.put(EKK0341C231CBSMsg.GENE_ADD_DTM, geneAddDtm);
		// 更新年月日時分秒(更新前)
		inMap.put(EKK0341C231CBSMsg.UPD_DTM_BF, updDtm);
		// 異動区分
		inMap.put(EKK0341C231CBSMsg.IDO_DIV, idoDiv);
		// HDD容量コード
		inMap.put(EKK0341C231CBSMsg.HDD_CAPA_CD, hddCapaCd);
		// 機器引当指定倉庫コード
		inMap.put(EKK0341C231CBSMsg.KIKI_HKAT_SHITEI_SOKO_CD, SOKO_CD_MINATO);
		// 機器引当指定倉庫棚コード
		inMap.put(EKK0341C231CBSMsg.KIKI_HKAT_SHITEI_SKDN_CD, shelfCd);
		// 機器付加情報コード
		inMap.put(EKK0341C231CBSMsg.KIKI_HUKA_INFO_CD, null);

		// 機器送付先名
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_NM, inMap.get("ck0011_kiki_sohus_nm"));
		// 機器送付先カナ名
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_KANA, inMap.get("ck0011_kiki_sohus_kana"));
		// 機器送付先住所コード
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AD_CD, inMap.get("kk0241_kiki_sohus_ad_cd"));
		// 機器送付先郵便番号
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_PCD, inMap.get("kk0241_kiki_sohus_pcd"));
		// 機器送付先都道府県名
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_STATE_NM, inMap.get("kk0241_kiki_sohus_state_nm"));
		// 機器送付先市区町村名
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_CITY_NM, inMap.get("kk0241_kiki_sohus_city_nm"));
		// 機器送付先大字通称名
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_OAZTSU_NM, inMap.get("kk0241_kiki_sohus_oaztsu_nm"));
		// 機器送付先字丁目名
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_AZCHO_NM, inMap.get("kk0241_kiki_sohus_azcho_nm"));
		// 機器送付先番地号
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_BNCHIGO, inMap.get("kk0241_kiki_sohus_bnchigo"));
		// 機器送付先住所補記・建物名
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRTTM, inMap.get("kk0241_kiki_sohus_adrttm"));
		// 機器送付先住所補記・部屋番号
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_ADRRM, inMap.get("kk0241_kiki_sohus_adrrm"));
		// 機器送付先電話番号
		inMap.put(EKK0341C231CBSMsg.KIKI_SOHUS_TELNO, inMap.get("kk0241_kiki_sohus_telno"));
		// 機器送付先個別指定フラグ
		inMap.put(EKK0341C231CBSMsg.KIKI_SHS_KBT_SHITEI_FLG, JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
		// 配送区分
		inMap.put(EKK0341C231CBSMsg.HAISO_DIV, JFUStrConst.CD00020_00);
		// 販売種別コード
		inMap.put(EKK0341C231CBSMsg.HAMBAI_SBT_CD, JFUStrConst.CD00348_10);
		// 配送依頼指定年月日
		inMap.put(EKK0341C231CBSMsg.HAISO_REQ_SHITEI_YMD, null);
		// 機器送付先住所手動入力フラグ
		inMap.put(EKK0341C231CBSMsg.KIKI_SHS_AD_MAN_INPUT_FLG, JFUStrConst.CD01239_0);
		// 機器指定時管理場所識別コード
		inMap.put(EKK0341C231CBSMsg.KIKI_STI_JI_KRIPLACE_SKCD, null);
		// 機器指定時工事会社コード
		inMap.put(EKK0341C231CBSMsg.KIKI_STI_JI_KOCOMP_CD, null);
		// 機器指定時工事会社棚コード
		inMap.put(EKK0341C231CBSMsg.KIKI_STI_JI_KOCOMP_SLF_CD, null);
		// 機器指定時預託先オフィスコード
		inMap.put(EKK0341C231CBSMsg.KIKI_STI_JI_YTKSKOF_CD, null);
		// 機器指定時預託先オフィス棚コード
		inMap.put(EKK0341C231CBSMsg.KIKI_STI_JI_YTKSKOF_SLF_CD, null);
		// 機器設置承認年月日
		inMap.put(EKK0341C231CBSMsg.KKST_SNN_YMD, null);
		// 出荷完了時処理済フラグ
		inMap.put(EKK0341C231CBSMsg.SHKA_FIN_JI_SYRZM_FLG,JFUStrConst.CD00581_0);
		// 配送方法コード
		inMap.put(EKK0341C231CBSMsg.HAISO_WAY_CD, null);
}

	/**
	 * 上りマッピング項目設定(料金コース一意照会)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param pcrsCd 料金コースコード
	 * @throws RequestParameterException 
	 */
	private void setInMapPcrsSearch(IRequestParameterReadWrite param, String fixedText, String pcrsCd) throws RequestParameterException
	{
		// 機能コード設定(2:カレント)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_2);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 料金コース
		inMap.put(EKK0791A010CBSMsg.KEY_PCRS_CD, pcrsCd);

		// 予約適用年月日
		inMap.put(EKK0791A010CBSMsg.KEY_RSV_APLY_YMD, JFUBPCommon.getOpeDate(null));
	}

	/**
	 * 上りマッピング項目設定(宅内機器一意照会(2))
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param pcrsCd 料金コースコード
	 * @param taknkikiModelCd 宅内機器型式コード
	 * @throws RequestParameterException 
	 */
	private void setInMapTaknkikiSearch(IRequestParameterReadWrite param, String fixedText, String kikiSeizoNo, String taknkikiModelCd) throws RequestParameterException
	{
		// 機能コード設定(1)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＫＥＹ＿宅内機器型式コード
		inMap.put(EWCA0010002CBSMsg.KEY_TK_MDL_CD, taknkikiModelCd);
		// ＫＥＹ＿機器製造番号
		inMap.put(EWCA0010002CBSMsg.KEY_KK_SEIZO_NO, kikiSeizoNo);
		// ＫＥＹ＿宅内機器種別コード
		inMap.put(EWCA0010002CBSMsg.KEY_TK_SBT_CD, JFUStrConst.CD01262_A0);
	}

	/**
	 * 工事有無判定
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @return true:工事あり false:工事なし
	 */
	private boolean isKoji(IRequestParameterReadWrite param) throws RequestParameterException
	{
		// ※工事案件(eo光テレビ)受付SC実行判定と同条件で判定する事

		// 工事フラグ
		HashMap<String, Object> parentMapKoji = (HashMap<String, Object>)param.getData("FUSV0127WORK01");
		String sc_kouji_flg = (String)parentMapKoji.get("sc_kouji_flg");

		// オプションチャンネル重複リスト
		HashMap<String, Object> parentMapOpChk = (HashMap<String, Object>)param.getData(FUSV012707CC);
		ArrayList<HashMap<String, String>> cbsMsgList = (ArrayList<HashMap<String, String>>)parentMapOpChk.get(OPCH_CHFK_LIST);

		if (ARI.equals(sc_kouji_flg) && cbsMsgList.size() == 0)
		{
			return true;
		}

		return false;
	}
}
