/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKCrsChgOldKeiIfAdd
*	ソースファイル名	：JBSbatKKCrsChgOldKeiIfAdd.java
*	作成者				：富士通　
*	作成日				：2011年12月13日
*＜機能概要＞
*　コース変更旧契約情報登録部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/12/13	FJ)神吉		新規作成
*	v2.00.00	2012/01/19  FJ)神吉		IT1-2012-0000116障害対応
*	v2.01.00	2012/03/15  FJ)神吉		【IT1-2012-0000331】サービス契約内訳料金プラン変更時の不具合修正
*	v2.02.00	2012/04/14  FJ)神吉		【IT2-2012-0000422】コース変更が確定不能不具合修正
*	v2.03.00	2012/04/17  FJ)神吉		【TAI-2012-0000027】排他制御対応。
*	v3.00.00	2012/05/01	FJ)神吉		【巻@登録テーブル項目同期】対応
*	v3.01.00	2012/05/27	FJ)神吉		【ANK-0049-00-00】光ハイブリッド対応
*	v3.02.00	2012/06/14	FJ)神吉		【IT1-2012-0000775】モバイルのコース変更確定処理対応
*	v3.03.00	2012/06/16  FJ)神吉		【ST2-2012-0001214】コース変更確定時のサービス契約内訳情報登録不具合修正
*	v3.04.00	2012/06/20  FJ)神吉		【ST2-2012-0001301】コース変更確定時のサービス契約新コース情報登録不具合修正
*	v3.05.00	2012/07/04  FJ)神吉		【ST1-2012-0000117】コース変更指示書登録対応
*	v3.06.00	2012/10/25  FJ)神吉		【ST2-2012-0001884】コース変更サービス契約登録不具合対応
*	v4.00.00	2012/07/25  FJ)神吉		【ANK-0524-00-00】ワンストップ対応
*	v4.01.00	2012/10/22	FJ)神吉		【ANK-1225-00-00】住所変更リファクタリング対応
*	v4.02.00	2012/10/29  FJ)神吉		【ANK-1256-00-00】異動予約スキーマへの課金終了日追加対応
*	v4.03.00	2012/11/12  FJ)神吉		【IT1-2012-0002132】サービス契約内訳スキーマへの予約適用年月日登録不具合対応
*	v4.04.00	2012/11/28  FJ)神吉		【IT1-2012-0002055】割引登録CC呼出対応
*	v4.05.00	2012/12/15  FJ)神吉		【IT1-2012-0002263】電話サービスのプラン変更対応)
*	v4.06.00	2013/01/20	FJ)神吉		【ANK-1356-00-00】STB無⇒STB有への工事変更時の対応
*	v4.07.00	2013/01/24	FJ)神吉		【ST2-2013-0000295】コース変更（STB）データのSYSID取得不具合対応
*	v5.00.00	2013/01/25	FJ)神吉		【ANK-1359-00-00】お客様退会共通機能呼出処理実行判定対応
*	v5.00.01	2013/02/06	FJ)神吉		【ST2-2013-0000500】旧コースのサービス契約内訳スキーマへのプラン終了年月日登録不具合対応
*	v5.00.02	2013/02/08	FJ)神吉		【ST2-2013-0000684】排他チェックで同じサービス契約番号2件目のデータの排他エラー対応
*	v5.00.03	2013/02/14	FJ)中作		【ST2-2013-0000685】旧コースのサービス契約内訳スキーマへのプラン終了種別コード登録不具合対応
*	v5.00.04	2013/02/23	FJ)石原		【IT2-2013-0000205】不要なワーニング出力の削除
*	v5.00.05	2013/03/08	FJ)神吉		【ST2-2013-0001238】ネットコース変更時の旧コースオプション解約対応
*	v5.00.06	2013/03/22  FJ)中作 	【IT1-2013-0000498】障害対応
*	v5.00.07	2013/03/22	FJ)神吉		【KT1-2013-0000369】コース変更確定時の工事受付S-I/F呼出漏れ対応
*	v5.00.08	2013/03/26	FJ)神吉		【IT1-2013-0000634】指示書登録値設定不具合対応
*	v5.00.09	2013/03/28	FJ)神吉		【ST2-2013-0001670】ネットのサービス契約登録情報の割引自動適用CC用データ設定不具合対応
*	v5.00.10	2013/03/31  FJ)柳		【OT-2013-0000311】横展開対応
*	v5.00.11	2013/04/06  FJ)神吉		【OT-2013-0000623】テレビの申込検索不具合対応
*	v5.00.12	2013/04/06	FJ)神吉		【IKK-2013-0000826】割引自動適用CC設定データの不具合対応
*	v5.00.13	2013/04/11  FJ)柳		【ST2-2013-0001713】テレビの料金プラン変更向けの「異動予約」対応
*	v5.00.13	2013/04/11	FJ)神吉		【ST2-2013-0001611】解約済データの登録対象検索不具合対応
*	v5.00.14	2013/04/17	FJ)神吉		【ST3-2013-0000935】eoモバイル（3G・定額プラン(64移行)）からのコース変更時の進捗登録値不具合対応
*	v5.00.15	2013/04/17	FJ)柳		【IT2-2013-0000954】障害対応
*	v5.00.16	2013/04/18	FJ)神吉		【ST2-2013-0001765】コース変更時のオプションサービス契約の予約適用年月日登録不具合対応
*	v5.00.17	2013/04/18	FJ)神吉		【ST2-2013-0001768】コース変更時のオプションサービス契約の予約適用年月日登録不具合対応
*	v5.00.18	2013/04/22	FJ)神吉		【IT1-2013-0000984】ステータスがサービス提供中以外の予約確定処理対応
*	v5.00.19	2013/04/23	FJ)中作		【ST2-2013-0001713,1774,1775】障害対応
*	v5.00.20	2013/04/28	FJ)中作		【IT1-2013-0001083】障害対応
*	v5.00.21	2013/04/29	FJ)神吉		【ST3-2013-0000985】コース変更遅延確定対象ファイル読込エラー対応
*	v5.00.22	2013/05/05	FJ)岡田		【IT1-2013-0001143】障害対応
*	v5.00.23	2013/05/15	FJ)小野		【ST3-2013-0000996】予約適用日＋１０日で設定している項目の見直し
*	v5.00.24	2013/05/16	FJ)神吉		【IT1-2013-0001200】ワーニングログ出力対応
*	v5.00.25	2013/05/16	FJ)小野		【IKK-2013-0001095】コース変更遅延確定対象視聴制御ファイル作成対応
*	v5.00.26	2013/06/03	FJ)小野		【SG1-2013-0000100】異動予約以外のスキーマの予約適用年月日の日付設定処理修正
*	v5.00.27	2013/06/22	FJ)小野		【LT-2013-0000107】ネットでInputの中間ファイルからサービス契約内訳番号が取得できない場合のファイル出力対応
*	v5.00.28	2013/07/03	FJ)小野		【SG1-2013-0000038】ONU/V-ONUがサービス契約に複数あった場合のワーニングログ出力対応
*	v5.00.29	2013/07/04	FJ)小野		テレビ料金プラン変更時の処理修正
*	v5.00.30	2013/07/06	FJ)小野		【IT2-2013-0000586】申込検索修正
*	v5.00.31	2013/07/11	FJ)小野		【IT2-2013-0000587】サービス契約内訳登録の予約適用年月日修正
*	v5.00.32	2013/07/12	FJ)小野		【LT-2013-0000416】ネット機器提供サービス契約の旧機器検索処理修正
*	v5.00.33	2013/07/12	FJ)中作		【ANK-1659-00-00】対応
*	v5.00.34	2013/09/30	FJ)中作		【OM-2013-0001358】障害対応
*	v5.00.35	2013/10/04	FJ)中作		【OM-2013-0002828】障害対応
*	v5.00.36	2013/10/18	FJ)中作		【OM-2013-0003136】障害対応
*	v5.00.35	2013/10/19  FJ)中作		【OM-2013-0003306】障害対応 プラン種別コード "2:解約による終了"→"1:プラン変更による終了"
*	v5.00.36	2013/10/26  FJ)中作		【OM-2013-0003674】障害対応
*	v5.00.37	2013/11/18  FJ)小野		【OM-2013-0004006】障害対応 機器提供サービス契約の登録修正
*	v5.00.38	2013/11/29  FJ)小野		【OM-2013-0004457】障害対応 異動予約の予約対象外更新を機器提供サービス契約番号でも行う処理追加
*	v5.00.39	2013/12/15  FJ)小野		【OM-2013-0004238】障害対応 新コース側のサービス契約に設定する提供方式番号の取得処理を追加
*	v5.00.40	2013/12/26  FJ)小野		【ANK-1672-00-00】テレビ固有条件対応
*	v5.00.41	2013/12/28  FJ)小野		【OM-2013-0005083】障害対応 機器提供サービス契約の新旧機器検索処理修正
*	v5.00.42	2014/02/14  FJ)小野		【OM-2014-0000400】障害対応 解約レコード作成時に回復日を空に設定するように修正
*	v5.00.43	2014/03/07  FJ)小野		【OM-2014-0000772】障害対応 機器交換時の旧機器終了処理移動対応（KKPRC02202に移動）
*	v6.00.00	2014/03/24  FJ)小野		【OM-2014-0001036】障害対応 機器解約予約に対する処理追加
*	v6.00.01	2014/03/24  FJ)小野		【OM-2014-0001118】障害対応 住所変更時の旧内訳のオプションサービス解約修正
*	v9.00.00	2014/06/13  FJ)小林		【ANK-2054-00-00】案件対応
*	v9.00.01	2014/07/18  FJ)小野		【OM-2014-0002425】障害対応 電話オプション解約予約の更新を抑止
*	v9.00.02	2014/08/12  FJ)小野		【OM-2014-0002609、OM-2014-0002648】障害対応 
*	v10.00.00	2014/07/21  FJ)松		【ANK-2138-00-00】案件対応
*	v10.01.00	2014/10/02  FJ)起塚		【ANK-2294-00-00】案件対応
*	v10.01.01	2014/10/15  FJ)星野		【OM-2014-0003316】障害対応 予約適用年月日にはバッチ運用日を設定する
*	v12.00.00	2015/01/08  FJ)徳永		【OM-2014-0003983】障害対応
*	v15.00.00	2015/08/27  FJ)杉本		【OM-2015-0001449】障害対応
*	v20.00.02	2015/11/11  FJ)余野木	【ANK-2197-00-00】主従切替対応
*	v20.00.00	2015/10/15	FJ)金本		【ANK-2732-00-00】プロジェクト正常化施策 ソースの可読性向上
*	v20.00.01	2015/10/27	FJ)張本		【ANK-2732-00-00】プロジェクト正常化施策 ソースの可読性向上
*   v23.00.00   2016/04/22  FJ)森脇     【OM-2016-0001051】障害対応
*	v25.00.00	2016/08/01  FJ)江藤	  	【OM-2016-0000890】旧認証IDの内訳を解約する際に、内訳に紐づくオプションも解約する
*	v28.00.00	2016/12/19  FJ)江藤	  	【OM-2016-0002404】固定グローバルIPアドレス初期設定料対応
*	v29.00.00	2017/03/13  FJ)岸本		【OM-2016-0002522】障害対応 コース変更で電障コードが反映できるように修正
*	v52.00.00	2021/01/19	GDC)ジョバニー	【ANK-3987-00-00】NetFlix導入対応(STEP2)
*	v75.00.00	2025/05/09	FJ)謝		【ANK-4673-00-00】テレビ新コース（スカパー用）導入対応 2025年6月フォロー案件
*********************************************************************/
package eo.business.service;

import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatKKConst;
import eo.business.common.JBSbatKKTVMainSubSwitch;
import eo.business.common.JCCBatCommon;
import eo.business.common.JKKBatCommon;
import eo.business.common.JKKBatConst;
import eo.business.util.file.JBSbatKKIFM156;
import eo.business.util.file.JBSbatKKIFM217;
import eo.business.util.file.JBSbatKKIFM281;
import eo.business.util.table.JBSbatKK_M_KKTK_SVC;
import eo.business.util.table.JBSbatKK_M_PCRS;
import eo.business.util.table.JBSbatKK_T_CSNT_OPSVKEI;
import eo.business.util.table.JBSbatKK_T_ICJKN_SETTE;
import eo.business.util.table.JBSbatKK_T_IDO_RSV;
import eo.business.util.table.JBSbatKK_T_KKTK_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_MSKM;
import eo.business.util.table.JBSbatKK_T_OPSVKEI_ISP;
import eo.business.util.table.JBSbatKK_T_OP_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI_EOH_TV;
import eo.business.util.table.JBSbatKK_T_SVC_KEI_UCWK;
import eo.business.util.table.JBSbatKK_T_SVKEI_EXC_CTRL;
import eo.business.util.table.JBSbatZM_T_AGING;
import eo.common.constant.JKKStrConst;
import eo.common.constant.JPCBatchMessageConstant;
import eo.framework.application.JBSbatBusinessException;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.file.JBSbatInputFileUtil;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.log.JBSbatLogUtil;
import eo.framework.util.JBSbatDateUtil;
import eo.framework.util.JBSbatStringUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKCrsChgOldKeiIfAdd extends JBSbatBusinessService
{
	// ++++++++++ v20.00.00	 削除開始 ++++++++++
	// /**
	//  *料金コースコード（地デジ・BSコース）
	//  */
	// private static final String PCRS_CD_CHI_DG_BS = "A37";
	//
	// /**
	//  *料金コースコード（SDコース）
	//  */
	// private static final String PCRS_CD_SD = "A38";
	//
	// /**
	//  *料金コースコード（HDコース）
	//  */
	// private static final String PCRS_CD_HD = "A39";
	//
	// /**
	//  *料金コースコード（eo光テレビ再送信）
	//  */
	// private static final String PCRS_CD_EO_TV_SAI_SOSHI = "A23";
	//
	// /**
	//  *料金コースコード（eo光テレビ再送信（多チャンネル）SDコース）
	//  */
	// private static final String PCRS_CD_EO_TV_SAI_SOSHI_SD = "A24";
	//
	// /**
	//  *料金コースコード（eo光テレビ再送信（多チャンネル）HDコース）
	//  */
	// private static final String PCRS_CD_EO_TV_SAI_SOSHI_HD = "A64";
	//
	// /**
	//  * *料金コースコード（eo光テレビ再送信（多チャンネル）地デジ・BSコース）
	// */
	//private static final String PCRS_CD_EO_TV_SAI_SOSHI_BS = "A75";
	// ++++++++++ v20.00.00	 削除終了 ++++++++++
	
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(サービス契約排他制御)*/
	private static final String D_TBL_NAME_KK_T_SVKEI_EXC_CTRL = "KK_T_SVKEI_EXC_CTRL";

	/** テーブル(異動予約)*/
	private static final String D_TBL_NAME_KK_T_IDO_RSV = "KK_T_IDO_RSV";

	/** テーブル(サービス契約)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI = "KK_T_SVC_KEI";

	/** テーブル(サービス契約＜ｅｏ光ＴＶ＞)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI_EOH_TV = "KK_T_SVC_KEI_EOH_TV";
	
	/** テーブル(オプションサービス契約)*/
	private static final String D_TBL_NAME_KK_T_OP_SVC_KEI = "KK_T_OP_SVC_KEI";

	/** テーブル(オプションサービス契約＜ＩＳＰ＞)*/
	private static final String D_TBL_NAME_KK_T_OPSVKEI_ISP = "KK_T_OPSVKEI_ISP";

	/** テーブル(エイジング)*/
	private static final String D_TBL_NAME_ZM_T_AGING = "ZM_T_AGING";

	/** テーブル(サービス契約内訳)*/
	private static final String D_TBL_NAME_KK_T_SVC_KEI_UCWK = "KK_T_SVC_KEI_UCWK";

	/** テーブル(機器提供サービス契約)*/
	private static final String D_TBL_NAME_KK_T_KKTK_SVC_KEI = "KK_T_KKTK_SVC_KEI";

	/** テーブル(申込)*/
	private static final String D_TBL_NAME_KK_T_MSKM = "KK_T_MSKM";
	
	// =======  OM-2014-0001036対応 start =============
	/** テーブル(機器提供サービス)*/
	private static final String D_TBL_NAME_KK_M_KKTK_SVC = "KK_M_KKTK_SVC";
	// =======  OM-2014-0001036対応 end =============
	// OM-2016-0002404 2016/12/19 ADD START
	/** テーブル(一時金設定)*/
	private static final String D_TBL_NAME_KK_T_ICJKN_SETTE = "KK_T_ICJKN_SETTE";
	// OM-2016-0002404 2016/12/19 ADD END
	/** SQL定義キー(KK_SELECT_009)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_009 = "KK_SELECT_009";

	/** SQL定義キー(KK_SELECT_023)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_023 = "KK_SELECT_023";

	/** SQL定義キー(KK_SELECT_094)*/
	private static final String KK_T_OP_SVC_KEI_KK_SELECT_094 = "KK_SELECT_094";

	/** SQL定義キー(KK_SELECT_001)*/
	private static final String ZM_T_AGING_KK_SELECT_001 = "KK_SELECT_001";

	/** SQL定義キー(KK_SELECT_041)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_041 = "KK_SELECT_041";

	/** SQL定義キー(KK_SELECT_084)*/
	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_084 = "KK_SELECT_084";

	/** SQL定義キー(KK_SELECT_036)*/
	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_036 = "KK_SELECT_036";

	/** SQL定義キー(KK_SELECT_044)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_044 = "KK_SELECT_044";

	/** SQL定義キー(KK_SELECT_130)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_130 = "KK_SELECT_130";
	
	/** SQL定義キー(KK_SELECT_153)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_153 = "KK_SELECT_153";
	
	/** SQL定義キー(KK_SELECT_029)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_029 = "KK_SELECT_029";

	/** SQL定義キー(KK_SELECT_083)*/
	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_083 = "KK_SELECT_083";

	/** SQL定義キー(KK_SELECT_016)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_016 = "KK_SELECT_016";

	/** SQL定義キー(KK_SELECT_027)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_027 = "KK_SELECT_027";

	/** SQL定義キー(KK_SELECT_013)*/
	private static final String KK_T_MSKM_KK_SELECT_013 = "KK_SELECT_013";
    
	// =======  OM-2013-0004457対応 start =============
	/** SQL定義キー(KK_SELECT_048)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_048 = "KK_SELECT_048";
	
	/** SQL定義キー(KK_SELECT_061)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_061 = "KK_SELECT_061";
	// =======  OM-2013-0004457対応 end =============
	// =======  OM-2014-0000772対応 start =============
	/** SQL定義キー(KK_SELECT_183)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_183 = "KK_SELECT_183";
	// =======  OM-2014-0000772対応 end =============
	
	/* ++++++++++ v9.00.01 追加開始 ++++++++++ */
	/** SQL定義キー(KK_SELECT_115)*/
	private static final String KK_T_OP_SVC_KEI_KK_SELECT_115 = "KK_SELECT_115";
	/* ++++++++++ v9.00.01 追加終了 ++++++++++ */
	
	// =============== OM-2014-0001036対応 start ===============
	/** SQL定義キー(KK_SELECT_073)*/
	private static final String KK_T_IDO_RSV_KK_SELECT_073 = "KK_SELECT_073";
	// OM-2016-0000890 オプション解約予約が存在しない場合でも、内訳に紐づくオプションを解約するよう処理追加 2016/08/01 ADD START
	/** SQL定義キー(KK_SELECT_125)*/
	private static final String KK_T_OP_SVC_KEI_KK_SELECT_125 = "KK_SELECT_125";
	// OM-2016-0000890 オプション解約予約が存在しない場合でも、内訳に紐づくオプションを解約するよう処理追加 2016/08/01 ADD END
	// OM-2016-0002404 2016/12/19 ADD START
	/** SQL定義キー(KK_SELECT_009) */
	private static final String KK_T_ICJKN_SETTE_KK_SELECT_009 = "KK_SELECT_009";
	/** SQL定義キー(KK_SELECT_127)*/
	private static final String KK_T_OP_SVC_KEI_KK_SELECT_127 = "KK_SELECT_127";	
	// OM-2016-0002404 2016/12/19 ADD END
	/** テーブルアクセスクラス(機器提供サービス)*/
	private JBSbatSQLAccess db_KK_M_KKTK_SVC = null;
	// =============== OM-2014-0001036対応 end ===============
	
	/** テーブルアクセスクラス(サービス契約排他制御)*/
	private JBSbatSQLAccess db_KK_T_SVKEI_EXC_CTRL = null;
	
	/** テーブルアクセスクラス(異動予約)*/
	private JBSbatSQLAccess db_KK_T_IDO_RSV = null;
	
	/** テーブルアクセスクラス(異動予約)*/
	private JBSbatSQLAccess db_KK_T_IDO_RSV_016 = null;
	
	/** テーブルアクセスクラス(異動予約)*/
	private JBSbatSQLAccess db_KK_T_IDO_RSV_027 = null;
	
	/** テーブルアクセスクラス(異動予約)*/
	private JBSbatSQLAccess db_KK_T_IDO_RSV_029 = null;
	
	/** テーブルアクセスクラス(異動予約)*/
	private JBSbatSQLAccess db_KK_T_IDO_RSV_044 = null;
	
	// =======  OM-2013-0004457対応 start =============
	/** テーブルアクセスクラス(異動予約)*/
	private JBSbatSQLAccess db_KK_T_IDO_RSV_048 = null;

	/** テーブルアクセスクラス(異動予約)*/
	private JBSbatSQLAccess db_KK_T_IDO_RSV_061 = null;
	// =======  OM-2013-0004457対応 end =============
	
	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;

	/** テーブルアクセスクラス(オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_OP_SVC_KEI = null;
	
	/** テーブルアクセスクラス(オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_OP_SVC_KEI_094 = null;
	
	/** テーブルアクセスクラス(オプションサービス契約＜ＩＳＰ＞)*/
	private JBSbatSQLAccess db_KK_T_OPSVKEI_ISP = null;

	/** テーブルアクセスクラス(エイジング)*/
	private JBSbatSQLAccess db_ZM_T_AGING = null;
	
	/** テーブルアクセスクラス(エイジング)*/
	private JBSbatSQLAccess db_ZM_T_AGING_001 = null;

	/** テーブルアクセスクラス(サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null;
	
	/** テーブルアクセスクラス(サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK_2 = null;
	
	/** テーブルアクセスクラス(サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK_084 = null;
	
	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI = null;
	
	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI_041 = null;
	
	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI_042 = null;
	
	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI_073 = null;
	
	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI_130 = null;
	
	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI_153 = null;
	
	// =======  OM-2014-0000772対応 start =============
	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI_183 = null;
	// =======  OM-2014-0000772対応 end =============
	
	/** テーブルアクセスクラス(申込)*/
	private JBSbatSQLAccess db_KK_T_MSKM = null;
	
	/** テーブルアクセスクラス(サービス契約＜eo光TV＞)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_EOH_TV = null;
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/
	
	// OM-2016-0002404 2016/12/19 ADD START
	/** テーブルアクセスクラス(一時金設定) */
	private JBSbatSQLAccess db_KK_T_ICJKN_SETTE = null;
	/** テーブルアクセスクラス(一時金設定 KK_SELECT_009専用) */
	private JBSbatSQLAccess db_KK_T_ICJKN_SETTE_009 = null;
	/** テーブルアクセスクラス(オプションサービス契約 KK_SELECT_127専用) */
	private JBSbatSQLAccess db_KK_T_OP_SVC_KEI_127 = null;
	// OM-2016-0002404 2016/12/19 ADD END
	// ++++++++++ v20.00.01 削除開始 ++++++++++
//	/**
//	 *  予約適用年月日（異動予約）
//	 */
//	private String rsvAplyYmd_idoRsv = "";
//	
//	/**
//	 *  料金グループコード（サービス契約）
//	 */
//	private String prcGrpCd = "";
//	
//	/**
//	 *  新料金グループコード
//	 */
//	private String newPrcGrpCd = "";
//	
//	/**
//	 *  新料金コースコード
//	 */
//	private String newPcrsCd = "";
//	
//	/**
//	 *  新料金プランコード
//	 */
//	private String newPplanCd = "";
//	
//	/**
//	 *  旧料金グループコード
//	 */
//	private String oldPrcGrpCd = "";
//	
//	/**
//	 *  旧料金コースコード
//	 */
//	private String oldPcrsCd = "";
//	
//	/**
//	 *  旧料金プランコード
//	 */
//	private String oldPplanCd = "";
//	
//	/** 
//	 * 更新年月日自分秒（コース変更適用日更新中間ファイル）
//	 */
//	protected String lastUpdDtmBf = "";
	
	/** 出力共通電文１*/
	private JBSbatOutputItem outputBean = null;
	
	/** サービス契約番号リスト*/
	private ArrayList<String> svcKeiNoList = null;	
	
	// ++++++++++ v20.00.00	 削除開始 ++++++++++
	// /** 解約済（オプションサービス契約） */
	// private static final String OOP_SVC_STAT_910 = "910";
	//
	// /** 固定IPアドレス（オプションサービス契約．オプションサービスコード） */
	// private static final String OOP_SVC_CD_B004 = "B004";
	//
	// /** 回復可能（エイジングステータス） */
	// private static final String AZING_STAT_200 = "200";
	//
	// /** サービス解約理由コード(通常解約)*/
	// private static final String SVC_DLRE_CD_TUJYO_DSL = "01";
	// ++++++++++ v20.00.00	 削除終了 ++++++++++
	
	/** テレビの料金プラン変更向けの異動予約を取得する */
	private ArrayList<String> idoRsvList = null;
	
	// ++++++++++ v20.00.00	 削除開始 ++++++++++
	// /** サービス提供中（サービス契約） */
	// private static final String SVC_STAT_100 = "100";
	// ++++++++++ v20.00.00	 削除終了 ++++++++++
	
	/** エンコード */
	private static final String ENCODE = "Shift-JIS";
	
	/** エラーメッセージ(置換え文字列：%2%) */
	private static final String MASSEAGE = "ファイル出力";
	
	/**
	 * フリー項目ファイルパス２
	 */
	protected String filePath2 = "";
	
	/**
	 * フリー項目ファイルパス３
	 */
	protected String filePath3 = "";
	
	/**
	 * ファイルデータリスト
	 */
	protected ArrayList<String> file_dataList = null;
	
	/**
	 * 視聴制御向け遅延確定対象ファイルデータリスト
	 */
	protected ArrayList<String> file_dataForWatchCtrList = null;
	
	/** ファイルID(コース変更遅延確定対象ファイル) */
	private static final String CRS_CHG_DLY_TG_INF_FILE_ID = "KKIFM462";
	
	/** ファイルID(コース変更遅延確定対象視聴制御ファイル) */
	private static final String CRS_CHG_DLY_TG_WATCH_CTRL_INF_FILE_ID = "KKIFM467";
	
	/** ログ用ラベル：サービス契約番号 */
	private static final String LOG_LABEL_SVC_KEI = "サービス契約番号";
	/** ログ用ラベル：宅内機器型式コード */
	private static final String LOG_LABEL_TKNI_KIKI_MODEL = "宅内機器型式コード";
	/** ログ用ラベル：機器製造番号 */
	private static final String LOG_LABEL_KIKI_SEIZO = "機器製造番号";
	/** ログ用ラベル：区切り文字 */
	private static final String LOG_LABEL_SEPARATOR = ":";
	/** ログ用ラベル：スペース */
	private static final String LOG_LABEL_SPACE = " ";
	/** ログ用ラベル：全角数値変換用 */
	private static final String[] ZENKAKU_NUM_ARRAY = {"０","１","２","３","４","５","６","７","８","９"};
	
	// ++++++++++ v20.00.00	 削除開始 ++++++++++
	/* ++++++++++ v9.00.01 追加開始 ++++++++++ */
	// /** 異動予約詳細コード：オプション解約 */
	// private static final String IDO_RSV_DTL_CD_OP_DSL = "016";
	
	// /** 異動予約詳細コード：サブオプション解約 */
	// private static final String IDO_RSV_DTL_CD_SBOP_DSL = "018";
	/* ++++++++++ v9.00.01 追加終了 ++++++++++ */
	/* ++++++++++ v12.00.00 追加開始 ++++++++++ */
	// /** 異動予約詳細コード：機器解約 */
	// private static final String IDO_RSV_DTL_CD_KIKI_DSL = "013";
	/* ++++++++++ v12.00.00 追加終了 ++++++++++ */
	// ++++++++++ v20.00.00	 削除終了 ++++++++++
	
// ANK-3987-00-00 ADD START
	private HashSet<String> netflixPackPcrsList = new HashSet<String>();
	
	/** テーブルアクセスクラス(料金コース)*/
	private JBSbatSQLAccess db_KK_M_PCRS = null;
	
	/** テーブル(料金コース)*/
	private static final String D_TBL_NAME_KK_M_PCRS = "KK_M_PCRS";
	
	/** SQL定義キー(KK_SELECT_011)*/
	private static final String KK_M_PCRS_KK_SELECT_011 = "KK_SELECT_011";
	
	/** SQL定義キー(KK_SELECT_011)*/
	private static final String KK_T_OP_SVC_KEI_KK_SELECT_056 = "KK_SELECT_056";
	
	/** テーブルアクセスクラス(オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_OP_SVC_KEI_056 = null;
//ANK-3987-00-00 ADD END
// ANK-4673-00-00 ADD START
	/** テーブル(ＣＡＳカード管理)*/
	private static final String D_TBL_NAME_KK_T_CASCD_KNRI = "KK_T_CASCD_KNRI";
	
	/** SQL定義キー(KK_SELECT_005)*/
	private static final String KK_T_CASCD_KNRI_KK_SELECT_005 = "KK_SELECT_005";
	
	/** テーブルアクセスクラス(ＣＡＳカード管理)*/
	private JBSbatSQLAccess db_KK_T_CASCD_KNRI = null;
// ANK-4673-00-00 ADD END
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_SVKEI_EXC_CTRL = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVKEI_EXC_CTRL);
		db_KK_T_IDO_RSV = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_IDO_RSV);
		db_KK_T_IDO_RSV_016 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_IDO_RSV);
		db_KK_T_IDO_RSV_027 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_IDO_RSV);
		db_KK_T_IDO_RSV_029 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_IDO_RSV);
		db_KK_T_IDO_RSV_044 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_IDO_RSV);
		db_KK_T_IDO_RSV_048 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_IDO_RSV);
		db_KK_T_IDO_RSV_061 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_IDO_RSV);
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_T_OP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OP_SVC_KEI);
		db_KK_T_OP_SVC_KEI_094 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OP_SVC_KEI);
		db_KK_T_OPSVKEI_ISP = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OPSVKEI_ISP);
		db_ZM_T_AGING = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_T_AGING);
		db_ZM_T_AGING_001 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_ZM_T_AGING);
		db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
		db_KK_T_SVC_KEI_UCWK_2 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
		db_KK_T_SVC_KEI_UCWK_084 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
		db_KK_T_KKTK_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		db_KK_T_KKTK_SVC_KEI_041 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		db_KK_T_KKTK_SVC_KEI_042 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		db_KK_T_KKTK_SVC_KEI_073 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		db_KK_T_KKTK_SVC_KEI_130 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		db_KK_T_KKTK_SVC_KEI_153 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		// =======  OM-2014-0000772対応 start =============
		/** テーブルアクセスクラス(機器提供サービス契約)*/
		db_KK_T_KKTK_SVC_KEI_183 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		// =======  OM-2014-0000772対応 end =============
		db_KK_T_MSKM = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_MSKM);
		db_KK_T_SVC_KEI_EOH_TV = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_EOH_TV);
		db_KK_M_KKTK_SVC = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_KKTK_SVC);
		// OM-2016-0002404 2016/12/19 ADD START
		db_KK_T_ICJKN_SETTE = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_ICJKN_SETTE);
		db_KK_T_ICJKN_SETTE_009 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_ICJKN_SETTE);
		db_KK_T_OP_SVC_KEI_127 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OP_SVC_KEI);
		// OM-2016-0002404 2016/12/19 ADD END
		
		// ANK-3987-00-00 ADD START
		// DBアクセスクラスを生成します
		db_KK_T_OP_SVC_KEI_056 = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OP_SVC_KEI);
		db_KK_M_PCRS = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_M_PCRS);
		
		// Netflixパックの料金コースコードを取得する
		String[] param = new String[1];
		param[0] = super.opeDate;
		executeKK_M_PCRS_KK_SELECT_011(param);
		JBSbatCommonDBInterface pcrsMap = db_KK_M_PCRS.selectNext();
		while(pcrsMap != null)
		{
			// Netflixパック料金コースリスト
			netflixPackPcrsList.add(pcrsMap.getString(JBSbatKK_M_PCRS.PCRS_CD));
			pcrsMap = db_KK_M_PCRS.selectNext();
		}
		// ANK-3987-00-00 ADD END
// ANK-4673-00-00 ADD START
		db_KK_T_CASCD_KNRI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_CASCD_KNRI);
// ANK-4673-00-00 ADD END


		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		
		file_dataList = new  ArrayList<String>();
		file_dataForWatchCtrList = new ArrayList<String>();
		
		svcKeiNoList =  new  ArrayList<String>();
		
		//
		// フリー項目から格納先を取得します
		String[] free_item = commonItem.getFreeItem().split(";");
		String filePath = free_item[0];
		
		if (2 <= free_item.length)
		{
			filePath2 = free_item[1];
		}
		if (3 <= free_item.length)
		{
			filePath3 = free_item[2];
		}
		
		// 取得出来なかった場合、エラーとします。
		if (0 == filePath.length())
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0130CE, new String[]{"フリー項目：ファイル名"});
		}
		
		// 取得出来なかった場合、エラーとします。
		if (0 == filePath2.length() || 0 == filePath3.length())
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0130CE, new String[]{"フリー項目：ファイル名"});
		}
		
		//KKIFM151009ファイルを読み込みして異動予約番号を保持
		JBSbatInputFileUtil tmpReader = null; new JBSbatInputFileUtil(filePath);
		try
		{
			tmpReader = new JBSbatInputFileUtil(filePath);
			tmpReader.setEncode(JKKBatConst.SJIS);						// 文字コード
			tmpReader.setLine(JKKStrConst.LINE_LF);			// 改行コード
			tmpReader.createReader();
			
			idoRsvList = new ArrayList<String>();
			
			String line = null;
			String  key = null;
			while((line = tmpReader.readLine()) != null)
			{
				String[] dataList = line.split(JKKBatConst.S_SEP_CAM);
				key = dataList[2];
				if(null != key)
				{
					idoRsvList.add(key);
				}
			}
		}
		catch (IOException e)
		{
			throw new JBSbatBusinessException("EKKB0020CE", new String[]{filePath});
		}
		finally
		{
			tmpReader.close();
		}
		
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		super.logPrint.printDebugLog("execute_START");
		
		outputBean = new JBSbatOutputItem();
		
		String svcKeiNo_156 = "";				// サービス契約番号
		
		String mskmDtlNo_156 = "";				// 申込明細番号
		
		String idoDiv_156 = "";					// 異動区分
		
		String svcCd_156 = "";					// サービスコード
		
		String svcKeiUcwkNo_156 = "";			// サービス契約内訳番号
		
		String geneAddDtm_156 = "";				// 世代登録年月日
		
		// ++++++++++ v20.00.01 削除開始 ++++++++++
//		rsvAplyYmd_idoRsv = "";					// 予約適用年月日（異動予約）
		// ++++++++++ v20.00.01 削除終了 ++++++++++
		
		String idoRsvNo = "";					// 異動予約番号
		
		// ++++++++++ v20.00.01 変更開始 ++++++++++
//		lastUpdDtmBf = "";						// 更新年月日時分秒
		String lastUpdDtmBf_156 = "";			// 更新年月日時分秒
		// ++++++++++ v20.00.01 変更終了 ++++++++++

		// ++++++++++ v20.00.01 削除開始 ++++++++++
//		prcGrpCd = "";							// 料金グループコード
//
//		oldPrcGrpCd = "";						// 旧料金グループコード
//
//		oldPplanCd = "";						// 旧料金プランコード
//
//		oldPcrsCd = "";							// 旧料金コースコード
//
//		newPrcGrpCd = "";						// 新料金グループコード
//
//		newPcrsCd = "";							// 新料金コースコード
//
//		newPplanCd = "";						// 新料金プランコード
		// ++++++++++ v20.00.01 削除終了 ++++++++++
		
		String sysId = "";						// SYS_ID
		
		String koaijkNo = "";					// 工事案件番号
		
		String mskmDtlNo = "";					// 申込明細番号
		
		JBSbatCommonDBInterface svcKei_map = new JBSbatCommonDBInterface();			// サービス契約検索結果格納マップ
		
		JBSbatCommonDBInterface svcKeiUcwk_map = new JBSbatCommonDBInterface();		// サービス契約内訳検索結果格納マップ
		
		JBSbatCommonDBInterface kktkSvcKei_map = new JBSbatCommonDBInterface();	// 機器提供サービス契約検索結果格納マップ
		
		svcKeiNo_156 = inMap.getString(JBSbatKKIFM156.SVC_KEI_NO);			// サービス契約番号（コース変更確定対象中間ファイル）

		// ++++++++++ v20.00.01 変更開始 ++++++++++
//		lastUpdDtmBf = inMap.getString(JBSbatKKIFM156.UPD_DTM);				// 更新年月日時分秒（コース変更確定対象中間ファイル）
		lastUpdDtmBf_156 = inMap.getString(JBSbatKKIFM156.UPD_DTM);			// 更新年月日時分秒（コース変更確定対象中間ファイル）
		// ++++++++++ v20.00.01 変更終了 ++++++++++
		
		mskmDtlNo_156 = inMap.getString(JBSbatKKIFM156.MSKM_DTL_NO);		// 申込明細番号（コース変更確定対象中間ファイル）
		
		idoDiv_156 = inMap.getString(JBSbatKKIFM156.IDO_DIV);				// 異動区分（コース変更確定対象中間ファイル）
		
		svcCd_156 = inMap.getString(JBSbatKKIFM156.SVC_CD);					// サービスコード（コース変更確定対象中間ファイル）
		
		svcKeiUcwkNo_156 = inMap.getString(JBSbatKKIFM156.SVC_KEI_UCWK_NO);	// サービス契約内訳番号（コース変更確定対象中間ファイル）
		
		geneAddDtm_156 = inMap.getString(JBSbatKKIFM156.GENE_ADD_DTM);		// 世代登録年月日時分秒（コース変更確定対象中間ファイル）
		
		boolean svcKeiNoFlg = false;										// サービス契約フラグ
		
		String svcKeiStat = "";												// サービス契約ステータス
		
		// 運用日-１
		String opeDateAddBf_1 = "";
		
		//KKIFM151009ファイルデータ存在チェック
		String idoRsvNo_156 = inMap.getString(JBSbatKKIFM156.IDO_RSV_NO);			// 異動予約番号（コース変更確定対象中間ファイル）
		if(idoRsvList.contains(idoRsvNo_156)) 
		{
			// ++++++++++ v20.00.01 変更開始 ++++++++++
//			// サービス契約内訳登録処理２（テレビ）呼出
//			svcKeiUcwk_map = svcKeiUcwkInsertTvIdoRsv(mskmDtlNo_156, sysId, idoDiv_156, svcKeiUcwkNo_156);
//
//			if(svcKeiUcwk_map == null)
//			{
//				if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
//				{
//					super.logPrint.printDebugLog("異動予約検索（KK_T_IDO_RSV_KK_SELECT_044）結果なし：申込明細番号：" 
//							+ mskmDtlNo_156 + "：サービス契約内訳番号：" + svcKeiUcwkNo_156);
//				}
//				return null;
//			}
//			
//			// 入出力インターフェースオブジェクトを生成(コース変更確定割引サービス情報ファイル）
//			JBSbatServiceInterfaceMap crsChgFixTgOutmap = new JBSbatServiceInterfaceMap();
//			
//			// 異動予約更新
//			JBSbatCommonDBInterface kkTIdoRsvMap = updateIdoRsv(idoRsvNo_156);
//			
//			// =======  OM-2013-0004457対応 start =============
//			//異動予約状態コードが「"04"（予約対象外）」のデータに予約適用日を設定する
//			updateIdoRsvTrgGaiData(mskmDtlNo_156, super.opeDate);
//			// =======  OM-2013-0004457対応 end =============
//			
//			// 割引サービス自動適用CC（サービス契約内訳情報）情報設定
//			crsChgFixTgOutmap = setWriSvcAutoAplySvcKeiUcwk(crsChgFixTgOutmap, kkTIdoRsvMap, svcKeiUcwk_map, idoDiv_156, sysId, true);

			// サービス契約内訳登録処理２（テレビ）呼出
			JBSbatServiceInterfaceMap crsChgFixTgOutmap = svcKeiUcwkInsertTvIdoRsv(mskmDtlNo_156, sysId, idoDiv_156, svcKeiUcwkNo_156, idoRsvNo_156);

			if (crsChgFixTgOutmap == null)
			{
				if (super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
				{
					super.logPrint
							.printDebugLog("異動予約検索（KK_T_IDO_RSV_KK_SELECT_044）結果なし：申込明細番号：" + mskmDtlNo_156 + "：サービス契約内訳番号：" + svcKeiUcwkNo_156);
				}
				return null;
			}
			// ++++++++++ v20.00.01 変更終了 ++++++++++
			
			// 確定抽出サービス契約番号
			crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_NO, svcKeiNo_156);
			
			// 確定抽出サービス契約内訳番号
			crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_UCWK_NO, svcKeiUcwkNo_156);
			
			// 確定抽出申込明細番号
			crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_MSKM_DTL_NO, mskmDtlNo_156);
			
			// 確定抽出異動区分
			crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_IDO_DIV, idoDiv_156);
			
			// 工事案件番号（空だが、JBSbatKKCrsChgPrgAddではネットの場合のみ使用するので問題なし）
			crsChgFixTgOutmap.setString(JBSbatKKIFM281.KOJIAK_NO, koaijkNo);
			
			// 申込明細番号
			crsChgFixTgOutmap.setString(JBSbatKKIFM281.MSKM_DTL_NO, mskmDtlNo);
			
			// 出力フラグを設定
			crsChgFixTgOutmap.setOutFlg(true);
			
			// 出力共通電文に「コース変更確定割引サービス情報ファイル」の設定
			outputBean.addOutMapList_2(crsChgFixTgOutmap);
			
			return outputBean;
		}
		
		//入出力インターフェースオブジェクトを生成（コース変更指示書登録情報）
		JBSbatServiceInterfaceMap outmap = new JBSbatServiceInterfaceMap();
		
		// 入出力インターフェースオブジェクトを生成(コース変更確定割引サービス情報ファイル）
		JBSbatServiceInterfaceMap crsChgFixTgOutmap = new JBSbatServiceInterfaceMap();
		
		if (svcKeiNoList.contains(svcKeiNo_156))
		{
			svcKeiNoFlg = true;
		}
		
		// ============= OM-2014-0001036対応 start =============
		List<JBSbatCommonDBInterface> oldKktkSvcKeiList = new ArrayList<JBSbatCommonDBInterface>();
		// ============= OM-2014-0001036対応 end =============
		
		// ログレベルがデバッグモードの場合
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("サービス契約番号（コース変更確定対象中間ファイル）：" +  svcKeiNo_156);
			super.logPrint.printDebugLog("申込明細番号（コース変更確定対象中間ファイル）：" +  mskmDtlNo_156);
			super.logPrint.printDebugLog("異動区分（コース変更確定対象中間ファイル）：" +  idoDiv_156);
			super.logPrint.printDebugLog("サービスコード（コース変更確定対象中間ファイル）：" +  svcCd_156);
			super.logPrint.printDebugLog("サービス契約内訳番号（コース変更確定対象中間ファイル）：" +  svcKeiUcwkNo_156);
			super.logPrint.printDebugLog("世代登録年月日時分秒（コース変更確定対象中間ファイル）：" +  geneAddDtm_156);
			super.logPrint.printDebugLog("サービス契約番号リストフラグ：" +  svcKeiNoFlg);
		}
		
		// サービス契約番号フラグが「false（同じサービス契約番号がサービス契約番号リストに無い場合）」
		if (!svcKeiNoFlg)
		{
		// サービス契約排他制御より最終更新日時を取得し同じ場合、排他をかけます。
			String lastUpdDtmAf = searchSvkeiExcCtrl(svcKeiNo_156);
			// ++++++++++ v20.00.01 変更開始 ++++++++++
//			if(null == timeStampCheck(svcKeiNo_156, lastUpdDtmBf, lastUpdDtmAf))
			if (null == timeStampCheck(svcKeiNo_156, lastUpdDtmBf_156, lastUpdDtmAf))
			// ++++++++++ v20.00.01 変更終了 ++++++++++
			{
				/* ++++++++++ v9.00.02 修正開始 ++++++++++ */
				/* OM-2014-0002609 メッセージをエラーからワーニングに修正  */
//				super.logPrint.printBusinessErrorLog("EKKB0360KE", new String[]{"サービス契約排他制御TBL", svcKeiNo_156});
//				super.logPrint.printDebugLog("サービス契約排他制御テーブルにサービス契約番号：" + svcKeiNo_156 + "が存在しません。}");
				super.logPrint.printBusinessErrorLog("EKKB0010CW", new String[]{"サービス契約排他制御テーブルにサービス契約番号：" + svcKeiNo_156 + "が存在しません。"});
				/* ++++++++++ v9.00.02 修正終了 ++++++++++ */
				return null;
			}
			
			// サービス契約番号リストへ入力ファイルのサービス契約番号を設定
			svcKeiNoList.add(svcKeiNo_156);
		}
		
		// SQL実行結果取得用mapを生成（異動予約スキーマ取得）
		JBSbatCommonDBInterface kkTIdoRsvMap_009 = new JBSbatCommonDBInterface();
		
		String svcKeiNo_svcKei = "";			// サービス契約番号(サービス契約）
		
		String geneAddDtm_svcKei = "";			// 世代登録年月日時分秒(サービス契約）

		// ++++++++++ v20.00.01 追加開始 ++++++++++
		String prcGrpCd = "";					// 料金グループコード
		
		String oldPcrsCd = "";					// 旧料金コースコード
		
		String newPcrsCd = "";					// 新料金コースコード
		
		String rsvAplyYmd_idoRsv = "";			// 予約適用年月日（異動予約）
		// ++++++++++ v20.00.01 追加終了 ++++++++++
		
		// 異動区分が「"00009"：コース変更」または「"00019"：住所変更・登録」または「"00081"：コース変更（eoテレビ変更中）」の場合
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if ("00009".equals(idoDiv_156) || "00019".equals(idoDiv_156)|| "00081".equals(idoDiv_156))
		if (JBSbatKKConst.CD00576_IDO_DIV_00009.equals(idoDiv_156) || JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv_156)|| JBSbatKKConst.CD00576_IDO_DIV_00081.equals(idoDiv_156))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{
			///【ANK-1672-00-00】案件対応 START///
			//String [] whereParam = {svcKeiNo_156, super.opeDate, super.opeDate};
			String [] whereParam = {svcKeiNo_156, super.opeDate, super.opeDate, svcKeiNo_156, super.opeDate, super.opeDate};
			///【ANK-1672-00-00】案件対応 END///
			
			// 異動予約検索：SQL定義キー（KK_T_IDO_RSV_KK_SELECT_009）を実行する。
			executeKK_T_IDO_RSV_KK_SELECT_009(whereParam);
			
			kkTIdoRsvMap_009 = db_KK_T_IDO_RSV.selectNext();
			
			// 異動予約検索結果がない場合、処理対象外とします。
			if (null == kkTIdoRsvMap_009)
			{
				super.logPrint.printDebugLog("異動予約にサービス契約番号：" + svcKeiNo_156 + "が存在しません。}");
				super.logPrint.printDebugLog("異動予約にサービス契約番号が存在しません。処理対象外にします");
				return null;
			}
			
			// サービス契約番号(サービス契約）取得
			svcKeiNo_svcKei = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
			
			// 世代登録年月日時分秒(サービス契約）取得
			geneAddDtm_svcKei = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM));
			
			// 予約適用年月日（異動予約）取得
			rsvAplyYmd_idoRsv = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD));
			
			// 異動予約番号（異動予約）取得
			idoRsvNo = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_NO));

			// ++++++++++ v20.00.01 削除開始 ++++++++++
//			// 新料金グループコード（異動予約）取得
//			newPrcGrpCd =  JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV. NEW_PRC_GRP_CD));
			// ++++++++++ v20.00.01 削除終了 ++++++++++
			
			// 新料金コースコード（異動予約）取得
			newPcrsCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD));

			// ++++++++++ v20.00.01 削除開始 ++++++++++
//			// 新料金プランコード（異動予約）取得
//			newPplanCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.NEW_PPLAN_CD));
//
//			// 旧料金グループコード（異動予約）取得
//			oldPrcGrpCd =  JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV. OLD_PRC_GRP_CD));
			// ++++++++++ v20.00.01 削除終了 ++++++++++
			
			// 旧料金コースコード（異動予約）取得
			oldPcrsCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.OLD_PCRS_CD));

			// ++++++++++ v20.00.01 削除開始 ++++++++++
//			// 旧料金プランコード（異動予約）取得
//			oldPplanCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.OLD_PPLAN_CD));
			// ++++++++++ v20.00.01 削除終了 ++++++++++
			
			// SYS_ID（サービス契約）取得
			sysId = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.SYSID));
			
			// 工事案件番号（異動予約）取得
			koaijkNo = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.KOJIAK_NO));
			
			// 申込明細番号（異動予約）取得
			mskmDtlNo = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO));
			// サービス契約ステータス
			svcKeiStat = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT));
			
			// =============== OM-2014-0001036対応 start ===============
			// 違約金発生コード
			String pnltyHasseiCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.PNLTY_HASSEI_CD));
			// =============== OM-2014-0001036対応 end ===============
			
			// ログレベルがデバッグモードの場合
			if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
			{
				super.logPrint.printDebugLog("サービス契約番号（サービス契約）：" +  svcKeiNo_svcKei);
				super.logPrint.printDebugLog("世代登録年月日時分秒(サービス契約）：" +  geneAddDtm_svcKei);
				super.logPrint.printDebugLog("予約適用年月日（異動予約）：" +  rsvAplyYmd_idoRsv);
				super.logPrint.printDebugLog("異動予約番号（異動予約）：" +  idoRsvNo);
				super.logPrint.printDebugLog("旧料金コースコード（サービス契約）：" +  oldPcrsCd);
				super.logPrint.printDebugLog("新料金コースコード（サービス契約）：" +  newPcrsCd);
				super.logPrint.printDebugLog("SYS_ID（サービス契約）：" +  sysId);
				super.logPrint.printDebugLog("工事案件番号（異動予約）：" +  koaijkNo);
				super.logPrint.printDebugLog("申込明細番号（異動予約）：" +  mskmDtlNo);
			}
			
			// サービス契約ステータス（100:サービス提供中）の場合
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			// if (SVC_STAT_100.equals(svcKeiStat))
			if (JBSbatKKConst.SVC_KEI_STAT_SVCTK_CHU.equals(svcKeiStat))
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				// サービス契約登録処理呼出
				svcKei_map = svcKeiInsert(svcKeiNo_156, idoDiv_156, outmap, kkTIdoRsvMap_009, svcCd_156);
				// ++++++++++ v20.00.01 追加開始 ++++++++++
				// サービス契約．料金グループコード取得
				prcGrpCd = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD));
				// ++++++++++ v20.00.01 追加終了 ++++++++++
				
				// ログレベルがデバッグモードの場合
				if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
				{
					super.logPrint.printDebugLog(" 料金グループ：" +  prcGrpCd);
				}
				
				// =============== OM-2014-0001036対応 start ===============
				// 住所変更時に多機能ルータに交換されたことで、VA、ベーシックルータの解約予約がある場合に処理する
				// ++++++++++ v20.00.01 変更開始 ++++++++++
//				oldKktkSvcKeiList = insertKktkSvcDslNetTel(svcKeiNo_156, svcCd_156, idoDiv_156, pnltyHasseiCd, mskmDtlNo);
				oldKktkSvcKeiList =
						insertKktkSvcDslNetTel(svcKeiNo_156, svcCd_156, idoDiv_156, pnltyHasseiCd, mskmDtlNo, prcGrpCd, rsvAplyYmd_idoRsv);
				// ++++++++++ v20.00.01 変更終了 ++++++++++
				// =============== OM-2014-0001036対応 end ===============
				
				// SQL実行結果取得用mapを生成（異動予約スキーマ取得）
				JBSbatCommonDBInterface idoRsvMap_016 = new JBSbatCommonDBInterface(); 
				///【ANK-1672-00-00】案件対応 START///
				//String [] whereKkTIdoRsvParam = {mskmDtlNo_156};
				String [] whereKkTIdoRsvParam = {mskmDtlNo_156, mskmDtlNo_156};
				///【ANK-1672-00-00】案件対応 END///
				
				// 異動予約検索：SQL定義キー（KK_T_IDO_RSV_KK_SELECT_016）を実行する。
				executeKK_T_IDO_RSV_KK_SELECT_016(whereKkTIdoRsvParam);
				
				idoRsvMap_016 = db_KK_T_IDO_RSV_016.selectNext();
				
				// 異動予約検索：SQL定義キー（KK_T_IDO_RSV_KK_SELECT_016）結果がある場合
				if(null != idoRsvMap_016)
				{
					// 異動予約検索結果が「NULL」でない間の繰返し
					while(null != idoRsvMap_016)
					{
						String idoRsvNo_016 = JBSbatStringUtil.Rtrim(idoRsvMap_016.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_NO));
						
						/* ++++++++++ v9.00.01 追加開始 ++++++++++ */
						// 異動予約状態コードが「未反映」のうち、更新しない分をスキップする
						String idoDiv_016 = JBSbatStringUtil.Rtrim(idoRsvMap_016.getString(JBSbatKK_T_IDO_RSV.IDO_DIV));
						String idoRsvDtlCd_016 = JBSbatStringUtil.Rtrim(idoRsvMap_016.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_DTL_CD));
						String svcKeiUcwkNo_016 = JBSbatStringUtil.Rtrim(idoRsvMap_016.getString(JBSbatKK_T_IDO_RSV.SVC_KEI_UCWK_NO));
						
						// テレビかつサービス契約内訳の解約予約だった場合
						// ++++++++++ v20.00.00	 変更開始 ++++++++++
						// if("03".equals(svcCd_156) && 
						//		 !"".equals(svcKeiUcwkNo_016) && "007".equals(idoRsvDtlCd_016))
						if(JBSbatKKConst.SVC_CD_TV_SVC.equals(svcCd_156) && 
								!"".equals(svcKeiUcwkNo_016) && JBSbatKKConst.CD01167_IDO_RSV_DTL_CD_007.equals(idoRsvDtlCd_016))
						// ++++++++++ v20.00.00	 変更終了 ++++++++++
						{
							// テレビのオプション解約はスキップするため、個別に解約した分のみ更新する。
							// 内訳に紐付くオプションが解約済みかどうかチェックし、解約済みの場合は異動予約を反映済みに更新する
							updateTvOpDslRsv(svcKeiUcwkNo_016);
							// （下の「オプションサービス契約更新処理」はネット用。異動予約更新処理を行うため処理続行させる）
							
						// 上記以外で反映済みにしない予約の場合は更新処理を行わず次の検索結果へ
						} else if(isNoUpdateTaishoIdoRsv(idoDiv_016, idoRsvDtlCd_016, svcCd_156, 
								JBSbatStringUtil.Rtrim(idoRsvMap_016.getString(JBSbatKK_T_IDO_RSV.OP_SVC_KEI_NO))))
						{
							idoRsvMap_016 = db_KK_T_IDO_RSV_016.selectNext();
							continue;
						}
						/* ++++++++++ v9.00.01 追加終了 ++++++++++ */
						
						// 異動予約更新処理を呼び出す。
						updateIdoRsv(idoRsvNo_016);
						
						/* ++++++++++ v12.00.00 削除開始 ++++++++++ */
						//// =======  OM-2013-0004457対応 start =============
						////異動予約状態コードが「"04"（予約対象外）」のデータに予約適用日を設定する
						//updateIdoRsvTrgGaiData(mskmDtlNo_156, super.opeDate);
						//// =======  OM-2013-0004457対応 end =============
						/* ++++++++++ v12.00.00 削除終了 ++++++++++ */
						
						String opSvcKeiNo_016 = JBSbatStringUtil.Rtrim(idoRsvMap_016.getString(JBSbatKK_T_IDO_RSV.OP_SVC_KEI_NO));
						
						// オプションサービス契約更新処理を呼び出す。
						/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//						updateOpSvcKei(opSvcKeiNo_016, svcCd_156, idoDiv_156);
						updateOpSvcKei(opSvcKeiNo_016, svcCd_156, idoDiv_156, prcGrpCd, rsvAplyYmd_idoRsv);
						/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
						
						idoRsvMap_016 = db_KK_T_IDO_RSV_016.selectNext();
					}
					/* ++++++++++ v12.00.00 追加開始 ++++++++++ */
					//異動予約状態コードが「"04"（予約対象外）」のデータに予約適用日を設定する
					updateIdoRsvTrgGaiData(mskmDtlNo_156, super.opeDate);
					/* ++++++++++ v12.00.00 追加終了 ++++++++++ */
				}
				else
				{
					// 検索結果が無い場合は「異動予約更新」処理無しで、下記のログ出力する。
					super.logPrint.printDebugLog("異動予約テーブルに申込明細番号："  + mskmDtlNo_156 + " 異動区分：" + idoDiv_156 +  "が存在しません。");
				}
			}
		}
		
		// 異動区分が「"00068"：コース変更(STB)」の場合
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// else if ("00068".equals(idoDiv_156))
		else if (JBSbatKKConst.CD00576_IDO_DIV_00068.equals(idoDiv_156))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{
			super.logPrint.printDebugLog("異動区分が「00068：コース変更(STB)」");
			
			// サービス契約TBLを検索しカレントレコードを取得します。
			JBSbatCommonDBInterface outmap023 = this.searchSvcKeiInfo(svcKeiNo_156);
			
			// 検索結果ありの場合
			if (null != outmap023)
			{
				// サービス契約ステータス
				svcKeiStat = JBSbatStringUtil.Rtrim(outmap023.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT));
				
				// SYSID
				sysId = JBSbatStringUtil.Rtrim(outmap023.getString(JBSbatKK_T_SVC_KEI.SYSID));
				
				super.logPrint.printDebugLog("サービス契約ステータス ：" + svcKeiStat);
				super.logPrint.printDebugLog("SYSID：：：：：：：：：：" + sysId);
			}
		}
		else
		{
			super.logPrint.printDebugLog("異動区分が条件外");
		}
		
		// サービス契約ステータス（100:サービス提供中）の場合
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if (SVC_STAT_100.equals(svcKeiStat))
		if (JBSbatKKConst.SVC_KEI_STAT_SVCTK_CHU.equals(svcKeiStat))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{
			super.logPrint.printDebugLog("サービス契約ステータス（100:サービス提供中）");
			
			// サービスコードが"01"（インターネットサービス）
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			// if("01".equals(svcCd_156))
			if(JBSbatKKConst.SVC_CD_IN_SVC.equals(svcCd_156))
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				// 入力ファイルのサービス契約内訳番号がある且つ、
				// 料金グループが「02(ｅｏ光ネットホームタイプ)または、03(ｅｏ光ネットメゾンタイプ)または、04(ｅｏ光ネットマンションタイプ)の場合
				// ++++++++++ v20.00.00	 削除開始 ++++++++++
				// if(!isEmpty(svcKeiUcwkNo_156) && ("02".equals(prcGrpCd) || "03".equals(prcGrpCd) || "04".equals(prcGrpCd)))
				if(!isEmpty(svcKeiUcwkNo_156) && (JBSbatKKConst.PGRP_NET_02.equals(prcGrpCd) || JBSbatKKConst.PGRP_NET_03.equals(prcGrpCd) || JBSbatKKConst.PGRP_NET_04.equals(prcGrpCd)))
				// ++++++++++ v20.00.00	 削除終了 ++++++++++
				{
					// OM-2016-0000890 オプション解約予約が存在しない場合でも、内訳に紐づくオプションを解約するよう処理追加 2016/08/01 ADD START
					// サービス契約内訳に紐づくオプションサービス契約を取得する
					String [] whereOpSvcKeiParam = {svcKeiUcwkNo_156, this.opeDate};
					
					executeKK_T_OP_SVC_KEI_KK_SELECT_125(whereOpSvcKeiParam);
					
					JBSbatCommonDBInterface opSvcKeiMap_125 = db_KK_T_OP_SVC_KEI.selectNext();
					
					// オプションが取得できた場合、オプションを解約する
					// ※オプション解約予約が存在する場合、このステップに到達する前にオプション解約されるが(KK_T_IDO_RSV_KK_SELECT_016の処理付近)
					//   コース変更中に固定IPまたはマルチセッションを登録した場合、オプション解約予約が登録されないため、
					//   ここで解約を行う。
					while(null != opSvcKeiMap_125)
					{
						// オプションサービス契約更新処理を呼び出す
						updateOpSvcKei(opSvcKeiMap_125.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_NO), svcCd_156, idoDiv_156, prcGrpCd, rsvAplyYmd_idoRsv);
						
						opSvcKeiMap_125 = db_KK_T_OP_SVC_KEI.selectNext();
					}
					// OM-2016-0000890 オプション解約予約が存在しない場合でも、内訳に紐づくオプションを解約するよう処理追加 2016/08/01 ADD END
					
					// サービス契約内訳登録処理（インターネット）呼出
					svcKeiUcwk_map = svcKeiUcwkInsertNet(svcKeiUcwkNo_156, geneAddDtm_156, idoDiv_156, outmap, kkTIdoRsvMap_009);
					
					// サービス契約内訳取得
					selectSvKeiUw(outmap, kkTIdoRsvMap_009, svcKeiNo_156, svcKeiUcwkNo_156, idoDiv_156);
					
					// 機器提供サービス契約登録処理（インターネット）呼出
					/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//					kktkSvcKei_map =kktkSvcKeiInsertNet(svcKeiNo_156, idoDiv_156);
					kktkSvcKei_map = kktkSvcKeiInsertNet(svcKeiNo_156, idoDiv_156, rsvAplyYmd_idoRsv);
					/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
					
					// 割引サービス自動適用CCを呼出す（サービス契約情報）
					crsChgFixTgOutmap = setWriSvcAutoAplySvcKei(crsChgFixTgOutmap,svcKei_map,  kkTIdoRsvMap_009 , sysId, idoDiv_156);
					
					// 確定抽出サービス契約番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_NO, svcKeiNo_156);
					
					// 確定抽出サービス契約内訳番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_UCWK_NO, svcKeiUcwkNo_156);
					
					// 確定抽出申込明細番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_MSKM_DTL_NO, mskmDtlNo_156);
					
					// 確定抽出異動区分
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_IDO_DIV, idoDiv_156);
					
					// 工事案件番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.KOJIAK_NO, koaijkNo);
					
					// 申込明細番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.MSKM_DTL_NO, mskmDtlNo);
					
					//出力フラグを設定
					crsChgFixTgOutmap.setOutFlg(true);
					
					// 出力共通電文に「コース変更確定割引サービス情報ファイル」の設定
					outputBean.addOutMapList_2(crsChgFixTgOutmap);
					
					// 機器提供サービス契約情報マップが「null」でない場合
					if (null != kktkSvcKei_map)
					{
						// 入出力インターフェースオブジェクトを生成(コース変更確定割引サービス情報ファイル(機器提供サービス契約)）
						JBSbatServiceInterfaceMap crsChgFixTgOutKikimap = new JBSbatServiceInterfaceMap();
						
						// 割引サービス自動適用CC（機器提供サービス契約情報）情報設定
						/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//						crsChgFixTgOutKikimap = setWriSvcAutoAplyKktkSvcKei(crsChgFixTgOutKikimap, kkTIdoRsvMap_009, kktkSvcKei_map, idoDiv_156);
						crsChgFixTgOutKikimap =
								setWriSvcAutoAplyKktkSvcKei(crsChgFixTgOutKikimap, kkTIdoRsvMap_009, kktkSvcKei_map, idoDiv_156, rsvAplyYmd_idoRsv);
						/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
						
						// 出力フラグを設定
						crsChgFixTgOutKikimap.setOutFlg(true);
						
						// 出力共通電文に「コース変更確定割引サービス情報ファイル」の設定
						outputBean.addOutMapList_2(crsChgFixTgOutKikimap);
					}
					// =============== OM-2014-0001036対応 start ===============
					// 旧機器解約分の割引サービス情報ファイル作成
					// 住所変更時に多機能ルータに交換されたことで、VA、ベーシックルータの解約予約がある場合に処理する
					setWriSvcAutoAplyKktkSvcKeiDsl(oldKktkSvcKeiList, kkTIdoRsvMap_009, idoDiv_156);
					// =============== OM-2014-0001036対応 end ===============
				}
				// 料金グループが「08(ｅｏモバイル(EM))」の場合
				// ++++++++++ v20.00.00	 削除開始 ++++++++++
				// else if ("08".equals(prcGrpCd))
				else if (JBSbatKKConst.PGRP_MOB_08.equals(prcGrpCd))
				// ++++++++++ v20.00.00	 削除終了 ++++++++++
				{
					// 割引サービス自動適用CCを呼出す（サービス契約情報）
					crsChgFixTgOutmap = setWriSvcAutoAplySvcKei(crsChgFixTgOutmap,svcKei_map,  kkTIdoRsvMap_009 , sysId, idoDiv_156);
					
					// 確定抽出サービス契約番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_NO, svcKeiNo_156);
					
					// 確定抽出サービス契約内訳番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_UCWK_NO, svcKeiUcwkNo_156);
					
					// 確定抽出申込明細番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_MSKM_DTL_NO, mskmDtlNo_156);
					
					// 確定抽出異動区分
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_IDO_DIV, idoDiv_156);
					
					// 工事案件番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.KOJIAK_NO, koaijkNo);
					
					// 申込明細番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.MSKM_DTL_NO, mskmDtlNo);
					
					//出力フラグを設定
					crsChgFixTgOutmap.setOutFlg(true);
					
					// 出力共通電文に「コース変更確定割引サービス情報ファイル」の設定
					outputBean.addOutMapList_2(crsChgFixTgOutmap);
				}
				// 入力ファイルのサービス契約内訳番号が無い且つ、
				// 料金グループが「02(ｅｏ光ネットホームタイプ)または、03(ｅｏ光ネットメゾンタイプ)または、04(ｅｏ光ネットマンションタイプ)の場合
				// ++++++++++ v20.00.00	 削除開始 ++++++++++
				// else if(isEmpty(svcKeiUcwkNo_156) && ("02".equals(prcGrpCd) || "03".equals(prcGrpCd) || "04".equals(prcGrpCd)))
				else if(isEmpty(svcKeiUcwkNo_156) && (JBSbatKKConst.PGRP_NET_02.equals(prcGrpCd) || JBSbatKKConst.PGRP_NET_03.equals(prcGrpCd) || JBSbatKKConst.PGRP_NET_04.equals(prcGrpCd)))
				// ++++++++++ v20.00.00	 削除終了 ++++++++++
				{
					// サービス契約内訳番号が無い場合、コース変更進捗登録向けのファイル出力のみ行う
					
					// 割引サービス自動適用CCを呼出す（サービス契約情報）
					crsChgFixTgOutmap = setWriSvcAutoAplySvcKei(crsChgFixTgOutmap,svcKei_map,  kkTIdoRsvMap_009 , sysId, idoDiv_156);
					
					// 確定抽出サービス契約番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_NO, svcKeiNo_156);
					
					// 確定抽出サービス契約内訳番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_UCWK_NO, svcKeiUcwkNo_156);
					
					// 確定抽出申込明細番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_MSKM_DTL_NO, mskmDtlNo_156);
					
					// 確定抽出異動区分
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_IDO_DIV, idoDiv_156);
					
					// 工事案件番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.KOJIAK_NO, koaijkNo);
					
					// 申込明細番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.MSKM_DTL_NO, mskmDtlNo);
					
					//出力フラグを設定
					crsChgFixTgOutmap.setOutFlg(true);
					
					// 出力共通電文に「コース変更確定割引サービス情報ファイル」の設定
					outputBean.addOutMapList_2(crsChgFixTgOutmap);
				}
				
				//ANK-3987-00-00 ADD START
				updateNetflixOption(svcKeiNo_svcKei, geneAddDtm_svcKei, oldPcrsCd, newPcrsCd, idoDiv_156, rsvAplyYmd_idoRsv, kkTIdoRsvMap_009);
				//ANK-3987-00-00 ADD END
				
			}
			// サービスコードが"02"（電話サービス）
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			// else if("02".equals(svcCd_156))
			else if(JBSbatKKConst.SVC_CD_TEL_SVC.equals(svcCd_156))
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				// 料金グループコードが「"10"：eo光電話」の場合
				// ++++++++++ v20.00.00	 変更開始 ++++++++++
				// if ("10".equals(prcGrpCd))
				if (JBSbatKKConst.PGRP_TEL.equals(prcGrpCd))
				// ++++++++++ v20.00.00	 変更終了 ++++++++++
				{
					// 割引サービス自動適用CC（サービス契約情報）情報設定
					crsChgFixTgOutmap = setWriSvcAutoAplySvcKei(crsChgFixTgOutmap, svcKei_map, kkTIdoRsvMap_009 , sysId, idoDiv_156);
					
					// 確定抽出サービス契約番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_NO, svcKeiNo_156);
					
					// 確定抽出サービス契約内訳番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_UCWK_NO, svcKeiUcwkNo_156);
					
					// 確定抽出申込明細番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_MSKM_DTL_NO, mskmDtlNo_156);
					
					// 確定抽出異動区分
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_IDO_DIV, idoDiv_156);
					
					// 工事案件番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.KOJIAK_NO, koaijkNo);
					
					// 申込明細番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.MSKM_DTL_NO, mskmDtlNo);
					
					//出力フラグを設定
					crsChgFixTgOutmap.setOutFlg(true);
					
					//出力共通電文に「コース変更確定割引サービス情報ファイル」の設定
					outputBean.addOutMapList_2(crsChgFixTgOutmap);
					
					// =============== OM-2014-0001036対応 start ===============
					// 旧機器解約分の割引サービス情報ファイル作成
					// 住所変更時に多機能ルータに交換されたことで、VA、ベーシックルータの解約予約がある場合に処理する
					setWriSvcAutoAplyKktkSvcKeiDsl(oldKktkSvcKeiList, kkTIdoRsvMap_009, idoDiv_156);
					// =============== OM-2014-0001036対応 end ===============
				}
			}
			// サービスコードが"03"（テレビサービス）
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			//else if("03".equals(svcCd_156))
			else if(JBSbatKKConst.SVC_CD_TV_SVC.equals(svcCd_156))
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				// 料金グループが「11(ｅｏ光テレビ（K-CAT）)または、13(ｅｏ光テレビ（再送信）)の場合
				// ++++++++++ v20.00.00	 変更開始 ++++++++++
				// if("11".equals(prcGrpCd) || "13".equals(prcGrpCd))
				if(JBSbatKKConst.PGRP_TV_11.equals(prcGrpCd) || JBSbatKKConst.PGRP_TV_13.equals(prcGrpCd))
				// ++++++++++ v20.00.00	 変更終了 ++++++++++
				{
					// お客様退会共通機能呼出判定
					if (pcrsCdCheck(oldPcrsCd, newPcrsCd))
					{
						// お客様退会有無へ「"1"（有）」を設定
						// ++++++++++ v20.00.00	 変更開始 ++++++++++
						// crsChgFixTgOutmap.setString(JBSbatKKIFM281.CUST_TAIKAI_UMU, "1");
						crsChgFixTgOutmap.setString(JBSbatKKIFM281.CUST_TAIKAI_UMU, JBSbatKKConst.KKIFM281_CUST_TAIKAI_UM_1);
						// ++++++++++ v20.00.00	 変更終了 ++++++++++
					}
					
					// 割引サービス自動適用（サービス契約情報）情報設定
					crsChgFixTgOutmap = setWriSvcAutoAplySvcKei(crsChgFixTgOutmap, svcKei_map, kkTIdoRsvMap_009 , sysId, idoDiv_156);
					
					// 確定抽出サービス契約番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_NO, svcKeiNo_156);
					
					// 確定抽出サービス契約内訳番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_UCWK_NO, svcKeiUcwkNo_156);
					
					// 確定抽出申込明細番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_MSKM_DTL_NO, mskmDtlNo_156);
					
					// 確定抽出異動区分
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_IDO_DIV, idoDiv_156);
					
					// 工事案件番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.KOJIAK_NO, koaijkNo);
					
					// 申込明細番号
					crsChgFixTgOutmap.setString(JBSbatKKIFM281.MSKM_DTL_NO, mskmDtlNo);
					
					//出力フラグを設定
					crsChgFixTgOutmap.setOutFlg(true);
					
					//出力共通電文に「コース変更確定割引サービス情報ファイル」の設定
					outputBean.addOutMapList_2(crsChgFixTgOutmap);
					
					// 異動区分が「"00009"：コース変更」または「"00019"：住所変更・登録」または「"00081"：コース変更（eoテレビ変更中）」の場合
					// ++++++++++ v20.00.00	 変更開始 ++++++++++
					// if ("00009".equals(idoDiv_156) || "00019".equals(idoDiv_156) || "00081".equals(idoDiv_156))
					if (JBSbatKKConst.CD00576_IDO_DIV_00009.equals(idoDiv_156) || JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv_156) || JBSbatKKConst.CD00576_IDO_DIV_00081.equals(idoDiv_156))
					// ++++++++++ v20.00.00	 変更終了 ++++++++++
					{
						// サービス契約内訳登録処理（テレビ）呼出（機器提供サービス契約登録も含む）
						svcKeiUcwkInsertTv(svcKeiNo_156, idoDiv_156, kkTIdoRsvMap_009, svcKei_map, sysId);
						
						// サービス契約内訳登録処理２（テレビ）呼出
						/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//						svcKeiUcwkInsertTv2(mskmDtlNo_156, sysId, idoDiv_156);
						svcKeiUcwkInsertTv2(mskmDtlNo_156, sysId, idoDiv_156, rsvAplyYmd_idoRsv);
						/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
					}
// ANK-4673-00-00 ADD START
					// 旧料金コースが「CSコース」、かつ、新料金コースが「CSコース」以外の場合
					if ((JKKStrConst.CD00134_AC0.equals(oldPcrsCd) || JKKStrConst.CD00134_AC1.equals(oldPcrsCd))
							&& !(JKKStrConst.CD00134_AC0.equals(newPcrsCd) || JKKStrConst.CD00134_AC1.equals(newPcrsCd)))
					{
						// オプションサービス契約更新処理（CSコース）を呼び出す
						updateOpSvcKeiCscrs(svcKeiNo_156, idoDiv_156, rsvAplyYmd_idoRsv, kkTIdoRsvMap_009);
					}
// ANK-4673-00-00 ADD END
				}
			}
			// 上記以外の場合
			else
			{
				super.logPrint.printDebugLog("サービスコードが空の場合");
				
				// 異動区分が「"00068"：コース変更（STB）」の場合
				// ++++++++++ v20.00.00	 変更開始 ++++++++++
				// if("00068".equals(idoDiv_156))
				if(JBSbatKKConst.CD00576_IDO_DIV_00068.equals(idoDiv_156))
				// ++++++++++ v20.00.00	 変更終了 ++++++++++
				{
					super.logPrint.printDebugLog("異動区分が「00068：コース変更（STB）」の場合");
					
					// SQL実行結果取得用mapを生成（異動予約スキーマ取得）
					JBSbatCommonDBInterface kkTIdoRsvMap_029 = new JBSbatCommonDBInterface();
					
					String [] whereParam_029 = {svcKeiNo_156, this.opeDate, svcKeiUcwkNo_156, this.opeDate, this.opeDate};
					
					// 異動予約検索：SQL定義キー（KK_T_IDO_RSV_KK_SELECT_029）を実行する。
					executeKK_T_IDO_RSV_KK_SELECT_029(whereParam_029);
					
					kkTIdoRsvMap_029 = db_KK_T_IDO_RSV_029.selectNext();
					
					// 異動予約検索結果がない場合、エラーとし処理中断します。
					if (null == kkTIdoRsvMap_029)
					{
						throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
								new String[]{"異動予約", "サービス契約内訳番号：" + svcKeiUcwkNo_156});
					}
					// 異動予約検索結果がある場合
					else
					{
						// 予約適用年月日（異動予約）取得
						rsvAplyYmd_idoRsv = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_029.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD));
						
						super.logPrint.printDebugLog("予約適用年月日（異動予約）：" + rsvAplyYmd_idoRsv);
						
						// サービス契約内訳登録処理（テレビ）呼出
						svcKeiUcwk_map = svcKeiUcwkInsertTv3(svcKeiUcwkNo_156, kkTIdoRsvMap_029);
						
						// 割引サービス自動適用CC（サービス契約内訳情報）情報設定
						/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//						crsChgFixTgOutmap = setWriSvcAutoAplySvcKeiUcwk(crsChgFixTgOutmap, kkTIdoRsvMap_029, svcKeiUcwk_map, idoDiv_156, sysId, false);
						crsChgFixTgOutmap =
								setWriSvcAutoAplySvcKeiUcwk(crsChgFixTgOutmap, kkTIdoRsvMap_029, svcKeiUcwk_map, idoDiv_156, sysId, false,
										rsvAplyYmd_idoRsv);
						/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
						
						// 確定抽出サービス契約番号
						crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_NO, svcKeiNo_156);
						
						// 確定抽出サービス契約内訳番号
						crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_SVC_KEI_UCWK_NO, svcKeiUcwkNo_156);
						
						// 確定抽出申込明細番号
						crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_MSKM_DTL_NO, mskmDtlNo_156);
						
						// 確定抽出異動区分
						crsChgFixTgOutmap.setString(JBSbatKKIFM281.FIX_CST_IDO_DIV, idoDiv_156);
						
						// 工事案件番号
						crsChgFixTgOutmap.setString(JBSbatKKIFM281.KOJIAK_NO, koaijkNo);
						
						// 申込明細番号
						crsChgFixTgOutmap.setString(JBSbatKKIFM281.MSKM_DTL_NO, mskmDtlNo);
						
						// 出力フラグを設定
						crsChgFixTgOutmap.setOutFlg(true);
						
						// 出力共通電文に「コース変更確定割引サービス情報ファイル」の設定
						outputBean.addOutMapList_2(crsChgFixTgOutmap);
					}
					
					// SQL実行結果取得用mapを生成（異動予約スキーマ取得）
					JBSbatCommonDBInterface idoRsvMap_027 = new JBSbatCommonDBInterface(); 
					
					String [] whereKkTIdoRsvParam = {mskmDtlNo_156, svcKeiUcwkNo_156, idoDiv_156};
					
					// 異動予約検索：SQL定義キー（KK_T_IDO_RSV_KK_SELECT_027）を実行する。
					executeKK_T_IDO_RSV_KK_SELECT_027(whereKkTIdoRsvParam);
					
					idoRsvMap_027 = db_KK_T_IDO_RSV_027.selectNext();
					
					// 異動予約検索：SQL定義キー（KK_T_IDO_RSV_KK_SELECT_027）結果がある場合
					if(null != idoRsvMap_027)
					{
						// 異動予約検索結果が「NULL」でない間の繰返し
						while(null != idoRsvMap_027)
						{
							idoRsvNo = JBSbatStringUtil.Rtrim(idoRsvMap_027.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_NO));
							
							// 異動予約更新処理を呼び出す。
							updateIdoRsv(idoRsvNo);
							
							idoRsvMap_027 = db_KK_T_IDO_RSV_027.selectNext();
						}
						// =======  OM-2013-0004457対応 start =============
						//異動予約状態コードが「"04"（予約対象外）」のデータに予約適用日を設定する
						updateIdoRsvTrgGaiData(mskmDtlNo_156, super.opeDate);
						// =======  OM-2013-0004457対応 end =============
					}
					else
					{
						// 検索結果が無い場合は「異動予約更新」処理無しで、下記のログ出力する。
						super.logPrint.printDebugLog("異動予約テーブルに申込明細番号："  + mskmDtlNo_156 + " サービス契約内訳番号：" 
																+ svcKeiUcwkNo_156 + " 異動区分：" + idoDiv_156 +  "が存在しません。");
					}
				}
			}
			
			// サービス契約番号フラグが「false（同じサービス契約番号がサービス契約番号リストに無い場合）」
			if (!svcKeiNoFlg)
			{
				// ===== SG1-2013-00000038対応 Start ======
				checkOnuMultiUsed(svcKeiNo_156);
				// ===== SG1-2013-00000038対応 Start ======
				
				// サービス契約排他制御の最終更新年月日時分秒の更新を行う。
				JBSbatCommonDBInterface paramMap = new JBSbatCommonDBInterface();
				JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
				
				// サービス契約番号を設定
				whereMap.setValue(JBSbatKK_T_SVKEI_EXC_CTRL.SVC_KEI_NO, svcKeiNo_156);
				
				// 最終更新年月日時分秒を更新。
				paramMap.setValue(JBSbatKK_T_SVKEI_EXC_CTRL.LAST_UPD_DTM, JBSbatDateUtil.getSystemDateTimeStamp());
				db_KK_T_SVKEI_EXC_CTRL.updateByPrimaryKeys(whereMap, paramMap);
			}
			/* ++++++++++ v9.00.02 修正開始 ++++++++++ */
			/* OM-2014-0002648 住所変更時にも指示書登録する */
			// 異動区分が「"00009"：コース変更」の場合または「"00019"：住所変更登録」の場合
//			if ("00009".equals(idoDiv_156))
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			// if ("00009".equals(idoDiv_156) || "00019".equals(idoDiv_156) )
			if (JBSbatKKConst.CD00576_IDO_DIV_00009.equals(idoDiv_156) || JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv_156) )
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
			/* ++++++++++ v9.00.02 修正終了 ++++++++++ */
			{
				//出力フラグを設定
				outmap.setOutFlg(true);
				
				//出力共通電文にコース変更適用日更新中間ファイルの設定
				outputBean.addOutMapList(outmap);
			}
			
			// 運用年月日 - 1日取得
			opeDateAddBf_1 = JBSbatDateUtil.adjustDate(super.opeDate, -1);
			
			// 「サービスコードが"03"（テレビサービス）」且つ、「予約適用年月日< 運用日-1日」の場合
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			// if ("03".equals(svcCd_156) && 2 == dateCheck(rsvAplyYmd_idoRsv, opeDateAddBf_1))
			if (JBSbatKKConst.SVC_CD_TV_SVC.equals(svcCd_156) && 2 == dateCheck(rsvAplyYmd_idoRsv, opeDateAddBf_1))
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				// ファイルデータリストへサービス契約番号を設定
				file_dataList.add(svcKeiNo_156);
			}
			// 視聴制御向け遅延確定対象ファイルの条件は「サービスコードが"03"（テレビサービス）」且つ、「予約適用年月日< 運用日」の場合
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			// if ("03".equals(svcCd_156) && 2 == dateCheck(rsvAplyYmd_idoRsv, super.opeDate))
			if (JBSbatKKConst.SVC_CD_TV_SVC.equals(svcCd_156) && 2 == dateCheck(rsvAplyYmd_idoRsv, super.opeDate))
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				// 視聴制御向け遅延確定対象ファイルデータリストへサービス契約番号を設定
				file_dataForWatchCtrList.add(svcKeiNo_156);
			}
		}
		
		super.logPrint.printDebugLog("execute_END");
		return outputBean;
		
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_SVKEI_EXC_CTRL.close();
		db_KK_T_IDO_RSV.close();
		db_KK_T_IDO_RSV_016.close();
		db_KK_T_IDO_RSV_027.close();
		db_KK_T_IDO_RSV_029.close();
		db_KK_T_IDO_RSV_044.close();
		db_KK_T_IDO_RSV_048.close();
		db_KK_T_IDO_RSV_061.close();
		db_KK_T_SVC_KEI.close();
		db_KK_T_OP_SVC_KEI.close();
		//ANK-3987-00-00 ADD START
		if (db_KK_T_OP_SVC_KEI_056 != null) {
			db_KK_T_OP_SVC_KEI_056.close();
		}
		//ANK-3987-00-00 ADD END
		db_KK_T_OP_SVC_KEI_094.close();
		db_KK_T_OPSVKEI_ISP.close();
		db_ZM_T_AGING.close();
		db_ZM_T_AGING_001.close();
		db_KK_T_SVC_KEI_UCWK.close();
		db_KK_T_SVC_KEI_UCWK_2.close();
		db_KK_T_SVC_KEI_UCWK_084.close();
		db_KK_T_KKTK_SVC_KEI.close();
		db_KK_T_KKTK_SVC_KEI_041.close();
		db_KK_T_KKTK_SVC_KEI_042.close();
		db_KK_T_KKTK_SVC_KEI_073.close();
		db_KK_T_KKTK_SVC_KEI_130.close();
		db_KK_T_KKTK_SVC_KEI_153.close();
		// =======  OM-2014-0000772対応 start =============
		/** テーブルアクセスクラス(機器提供サービス契約)*/
		db_KK_T_KKTK_SVC_KEI_183.close();
		// =======  OM-2014-0000772対応 end =============
		db_KK_T_MSKM.close();
		db_KK_T_SVC_KEI_EOH_TV.close();
		db_KK_M_KKTK_SVC.close();
		// OM-2016-0002404 2016/12/19 ADD START
		db_KK_T_ICJKN_SETTE.close();
		db_KK_T_ICJKN_SETTE_009.close();
		db_KK_T_OP_SVC_KEI_127.close();
		// OM-2016-0002404 2016/12/19 ADD END
// ANK-4673-00-00 ADD START
		db_KK_T_CASCD_KNRI.close();
// ANK-4673-00-00 ADD END
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
		
		// ファイル出力
		executeOutputFile(filePath2, CRS_CHG_DLY_TG_INF_FILE_ID, file_dataList);
		executeOutputFile(filePath3, CRS_CHG_DLY_TG_WATCH_CTRL_INF_FILE_ID, file_dataForWatchCtrList);
		
		JKKBatCommon.closeSubTypeConnection();
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SVC_KEI_NO
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVKEI_EXC_CTRL_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SVC_KEI_NO", whereParam[0]);

		// DBアクセスを実行します
		return db_KK_T_SVKEI_EXC_CTRL.selectByPrimaryKeys(whereMap);
	}

	/**
	 * SQLKEY(KK_SELECT_009)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	予約適用年月日
	 *		 	予約適用年月日
	 *		 	サービス契約番号
	 *		 	予約適用年月日
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_IDO_RSV_KK_SELECT_009(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());
		paramList.setValue(param[5].toString());

		// DBアクセスを実行します
		db_KK_T_IDO_RSV.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_009);
	}

	/**
	 * SQLKEY(KK_SELECT_023)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_KK_SELECT_023(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI.selectBySqlDefine(paramList, KK_T_SVC_KEI_KK_SELECT_023);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SVC_KEI_NO
	 *		 	GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVC_KEI_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SVC_KEI_NO", whereParam[0]);
		whereMap.setValue("GENE_ADD_DTM", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_SVC_KEI.selectByPrimaryKeys(whereMap);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	サービス契約番号				SVC_KEI_NO
	 *		 	世代登録年月日時分秒				GENE_ADD_DTM
	 *		 	サービス契約ステータス				SVC_KEI_STAT
	 *		 	ＳＹＳＩＤ				SYSID
	 *		 	サービスコード				SVC_CD
	 *		 	申込明細番号				MSKM_DTL_NO
	 *		 	整理番号				SEIRI_NO
	 *		 	面開発案件番号				MENKAIHAT_ANKEN_NO
	 *		 	料金グループコード				PRC_GRP_CD
	 *		 	料金コースコード				PCRS_CD
	 *		 	料金プランコード				PPLAN_CD
	 *		 	提供方式契約番号				TK_HOSHIKI_KEI_NO
	 *		 	サービス利用開始希望年月日				SVC_USE_STA_KIBO_YMD
	 *		 	予約適用開始希望年月日				RSV_TSTA_KIBO_YMD
	 *		 	ＩＤ速報書出力要否				ID_SOKHOSHO_OUTPUT_YH
	 *		 	サービス契約後続業務依頼年月日				SVC_KEI_KZKWRK_REQYMD
	 *		 	照査年月日				SHOSA_YMD
	 *		 	照査取消年月日				SHOSA_CL_YMD
	 *		 	審査結果コード				SKEKKA_CD
	 *		 	審査結果詳細コード				SKEKKA_DTL_CD
	 *		 	審査結果補記コード				SKEKKA_HOKI_CD
	 *		 	審査結果送信コード				SKEKKA_SEND_CD
	 *		 	支払い方法継続フラグ				PAYWAY_KEIZOKU_FLG
	 *		 	試用加入年月日				FTRIAL_KANYU_YMD
	 *		 	試用期間終了年月日				FTRIAL_PRD_ENDYMD
	 *		 	本加入年月日				HONKANYU_YMD
	 *		 	本加入移行期限年月日				HONKANYU_IKO_KIGEN_YMD
	 *		 	契約締結年月日				KEI_CNC_YMD
	 *		 	プラン開始年月日				PLAN_STAYMD
	 *		 	プラン終了年月日				PLAN_ENDYMD
	 *		 	プラン課金開始年月日				PLAN_CHRG_STAYMD
	 *		 	プラン課金終了年月日				PLAN_CHRG_ENDYMD
	 *		 	プラン終了種別コード				PLAN_END_SBT_CD
	 *		 	予約適用年月日				RSV_APLY_YMD
	 *		 	予約取消年月日				RSV_CL_YMD
	 *		 	予約適用コード				RSV_APLY_CD
	 *		 	サービスキャンセル年月日				SVC_CANCEL_YMD
	 *		 	サービスキャンセル理由コード				SVC_CANCEL_RSN_CD
	 *		 	サービス開始年月日				SVC_STA_YMD
	 *		 	サービス課金開始年月日				SVC_CHRG_STAYMD
	 *		 	継続サービス開始年月日				KEIZK_SVC_STAYMD
	 *		 	継続サービス課金開始年月日				KEIZK_SVC_CHRG_STAYMD
	 *		 	レター発送仕分区分				LETTER_HASSO_SHIWAKE_DIV
	 *		 	サンキューレター送付先コード				THNX_LETTER_SHS_CD
	 *		 	ＷＥＢオプション追加不可フラグ				WEB_OP_ADD_FAIL_FLG
	 *		 	サービス停止年月日				SVC_STP_YMD
	 *		 	サービス停止理由コード				SVC_STP_RSN_CD
	 *		 	サービス停止解除年月日				SVC_STP_RLS_YMD
	 *		 	サービス停止解除理由コード				SVC_STP_RLS_RSN_CD
	 *		 	休止中断コード				PAUSE_STP_CD
	 *		 	サービス休止年月日				SVC_PAUSE_YMD
	 *		 	サービス休止理由コード				SVC_PAUSE_RSN_CD
	 *		 	サービス休止理由メモ				SVC_PAUSE_RSN_MEMO
	 *		 	サービス休止解除年月日				SVC_PAUSE_RLS_YMD
	 *		 	サービス休止解除理由コード				SVC_PAUSE_RLS_RSN_CD
	 *		 	サービス休止解除理由メモ				SVC_PAUSE_RLS_RSN_MEMO
	 *		 	サービス終了年月日				SVC_ENDYMD
	 *		 	サービス課金終了年月日				SVC_CHRG_ENDYMD
	 *		 	サービス解約起算年月日				SVC_DSL_KISAN_YMD
	 *		 	サービス解約年月日				SVC_DSL_YMD
	 *		 	サービス解約理由コード				SVC_DLRE_CD
	 *		 	サービス解約理由メモ				SVC_DLRE_MEMO
	 *		 	サービス解約手続完了フラグ				SVC_DSL_TTDKI_FIN_FLG
	 *		 	回復年月日				KAIHK_YMD
	 *		 	サービスキャンセル取消年月日				SVC_CANCEL_CL_YMD
	 *		 	サービス解約取消年月日				SVC_DSL_CL_YMD
	 *		 	変更元法人サービス契約受付番号				CHGE_MT_HOJINSVKEI_UK_NO
	 *		 	変更元法人サービス契約受付番号子				CHGE_MT_HOJINSVKEI_UK_NOPT
	 *		 	変更先法人サービス契約受付番号				CHGE_SK_HOJINSVKEI_UK_NO
	 *		 	変更先法人サービス契約受付番号子				CHGE_SK_HOJINSVKEI_UK_NOPT
	 *		 	変更元法人ｅｏ読替サービス契約番号				CHMT_HJIN_EO_YKAE_SVKEI_NO
	 *		 	変更先法人ｅｏ読替サービス契約番号				CHSK_HJIN_EO_YKAE_SVKEI_NO
	 *		 	法人サービス契約引継ぎ種別コード				HOJINSVKEI_HKTGI_SBT_CD
	 *		 	違約金発生コード				PNLTY_HASSEI_CD
	 *		 	違約金変更理由コード				PNLTY_CHGE_RSN_CD
	 *		 	異動区分				IDO_DIV
	 *		 	初期デフォルトパスワード				SHK_DFLT_PWD
	 *		 	お客さまＩＤパスワード				CUST_ID_PWD
	 *		 	面開発案件仮登録フラグ				MENKAIHAT_ANKEN_KR_ADD_FLG
	 *		 	紹介コード				INTR_CD
	 *		 	照査解約完了コード				SHOSA_DSL_FIN_CD
	 *		 	異動ＮＧ状態コード				IDO_NG_STAT_CD
	 *		 	課金開始年月日補正有無				CHRG_STA_YMD_HOSEI_UM
	 *		 	サービス休止課金開始年月日				SVC_PAUSE_CHRG_STA_YMD
	 *		 	業務連絡備考				WORK_RRK_BIKO
	 *		 	自動照査処理状態コード				AUTO_SHOSA_TRAN_STAT_CD
	 *		 	機器未登録リスト出力済フラグ				KIKI_MIADD_LIST_OPUTZM_FLG
	 *		 	回復不可契約抽出済フラグ				KAIHK_FAIL_KEI_CST_ZM_FLG
	 *		 	サービス提供物消去処理実施年月日時分秒				SVCTK_BUT_DEL_TRN_JSSI_DTM
	 *		 	従量超過通知要否				JURYO_CHOK_TCHI_YH
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	登録運用年月日				ADD_UNYO_YMD
	 *		 	登録処理ＩＤ				ADD_TRN_ID
	 *		 	更新運用年月日				UPD_UNYO_YMD
	 *		 	更新処理ＩＤ				UPD_TRN_ID
	 *		 	削除運用年月日				DEL_UNYO_YMD
	 *		 	削除処理ＩＤ				DEL_TRN_ID
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("SVC_KEI_NO", setParam[0]);
		setMap.setValue("GENE_ADD_DTM", setParam[1]);
		setMap.setValue("SVC_KEI_STAT", setParam[2]);
		setMap.setValue("SYSID", setParam[3]);
		setMap.setValue("SVC_CD", setParam[4]);
		setMap.setValue("MSKM_DTL_NO", setParam[5]);
		setMap.setValue("SEIRI_NO", setParam[6]);
		setMap.setValue("MENKAIHAT_ANKEN_NO", setParam[7]);
		setMap.setValue("PRC_GRP_CD", setParam[8]);
		setMap.setValue("PCRS_CD", setParam[9]);
		setMap.setValue("PPLAN_CD", setParam[10]);
		setMap.setValue("TK_HOSHIKI_KEI_NO", setParam[11]);
		setMap.setValue("SVC_USE_STA_KIBO_YMD", setParam[12]);
		setMap.setValue("RSV_TSTA_KIBO_YMD", setParam[13]);
		setMap.setValue("ID_SOKHOSHO_OUTPUT_YH", setParam[14]);
		setMap.setValue("SVC_KEI_KZKWRK_REQYMD", setParam[15]);
		setMap.setValue("SHOSA_YMD", setParam[16]);
		setMap.setValue("SHOSA_CL_YMD", setParam[17]);
		setMap.setValue("SKEKKA_CD", setParam[18]);
		setMap.setValue("SKEKKA_DTL_CD", setParam[19]);
		setMap.setValue("SKEKKA_HOKI_CD", setParam[20]);
		setMap.setValue("SKEKKA_SEND_CD", setParam[21]);
		setMap.setValue("PAYWAY_KEIZOKU_FLG", setParam[22]);
		setMap.setValue("FTRIAL_KANYU_YMD", setParam[23]);
		setMap.setValue("FTRIAL_PRD_ENDYMD", setParam[24]);
		setMap.setValue("HONKANYU_YMD", setParam[25]);
		setMap.setValue("HONKANYU_IKO_KIGEN_YMD", setParam[26]);
		setMap.setValue("KEI_CNC_YMD", setParam[27]);
		setMap.setValue("PLAN_STAYMD", setParam[28]);
		setMap.setValue("PLAN_ENDYMD", setParam[29]);
		setMap.setValue("PLAN_CHRG_STAYMD", setParam[30]);
		setMap.setValue("PLAN_CHRG_ENDYMD", setParam[31]);
		setMap.setValue("PLAN_END_SBT_CD", setParam[32]);
		setMap.setValue("RSV_APLY_YMD", setParam[33]);
		setMap.setValue("RSV_CL_YMD", setParam[34]);
		setMap.setValue("RSV_APLY_CD", setParam[35]);
		setMap.setValue("SVC_CANCEL_YMD", setParam[36]);
		setMap.setValue("SVC_CANCEL_RSN_CD", setParam[37]);
		setMap.setValue("SVC_STA_YMD", setParam[38]);
		setMap.setValue("SVC_CHRG_STAYMD", setParam[39]);
		setMap.setValue("KEIZK_SVC_STAYMD", setParam[40]);
		setMap.setValue("KEIZK_SVC_CHRG_STAYMD", setParam[41]);
		setMap.setValue("LETTER_HASSO_SHIWAKE_DIV", setParam[42]);
		setMap.setValue("THNX_LETTER_SHS_CD", setParam[43]);
		setMap.setValue("WEB_OP_ADD_FAIL_FLG", setParam[44]);
		setMap.setValue("SVC_STP_YMD", setParam[45]);
		setMap.setValue("SVC_STP_RSN_CD", setParam[46]);
		setMap.setValue("SVC_STP_RLS_YMD", setParam[47]);
		setMap.setValue("SVC_STP_RLS_RSN_CD", setParam[48]);
		setMap.setValue("PAUSE_STP_CD", setParam[49]);
		setMap.setValue("SVC_PAUSE_YMD", setParam[50]);
		setMap.setValue("SVC_PAUSE_RSN_CD", setParam[51]);
		setMap.setValue("SVC_PAUSE_RSN_MEMO", setParam[52]);
		setMap.setValue("SVC_PAUSE_RLS_YMD", setParam[53]);
		setMap.setValue("SVC_PAUSE_RLS_RSN_CD", setParam[54]);
		setMap.setValue("SVC_PAUSE_RLS_RSN_MEMO", setParam[55]);
		setMap.setValue("SVC_ENDYMD", setParam[56]);
		setMap.setValue("SVC_CHRG_ENDYMD", setParam[57]);
		setMap.setValue("SVC_DSL_KISAN_YMD", setParam[58]);
		setMap.setValue("SVC_DSL_YMD", setParam[59]);
		setMap.setValue("SVC_DLRE_CD", setParam[60]);
		setMap.setValue("SVC_DLRE_MEMO", setParam[61]);
		setMap.setValue("SVC_DSL_TTDKI_FIN_FLG", setParam[62]);
		setMap.setValue("KAIHK_YMD", setParam[63]);
		setMap.setValue("SVC_CANCEL_CL_YMD", setParam[64]);
		setMap.setValue("SVC_DSL_CL_YMD", setParam[65]);
		setMap.setValue("CHGE_MT_HOJINSVKEI_UK_NO", setParam[66]);
		setMap.setValue("CHGE_MT_HOJINSVKEI_UK_NOPT", setParam[67]);
		setMap.setValue("CHGE_SK_HOJINSVKEI_UK_NO", setParam[68]);
		setMap.setValue("CHGE_SK_HOJINSVKEI_UK_NOPT", setParam[69]);
		setMap.setValue("CHMT_HJIN_EO_YKAE_SVKEI_NO", setParam[70]);
		setMap.setValue("CHSK_HJIN_EO_YKAE_SVKEI_NO", setParam[71]);
		setMap.setValue("HOJINSVKEI_HKTGI_SBT_CD", setParam[72]);
		setMap.setValue("PNLTY_HASSEI_CD", setParam[73]);
		setMap.setValue("PNLTY_CHGE_RSN_CD", setParam[74]);
		setMap.setValue("IDO_DIV", setParam[75]);
		setMap.setValue("SHK_DFLT_PWD", setParam[76]);
		setMap.setValue("CUST_ID_PWD", setParam[77]);
		setMap.setValue("MENKAIHAT_ANKEN_KR_ADD_FLG", setParam[78]);
		setMap.setValue("INTR_CD", setParam[79]);
		setMap.setValue("SHOSA_DSL_FIN_CD", setParam[80]);
		setMap.setValue("IDO_NG_STAT_CD", setParam[81]);
		setMap.setValue("CHRG_STA_YMD_HOSEI_UM", setParam[82]);
		setMap.setValue("SVC_PAUSE_CHRG_STA_YMD", setParam[83]);
		setMap.setValue("WORK_RRK_BIKO", setParam[84]);
		setMap.setValue("AUTO_SHOSA_TRAN_STAT_CD", setParam[85]);
		setMap.setValue("KIKI_MIADD_LIST_OPUTZM_FLG", setParam[86]);
		setMap.setValue("KAIHK_FAIL_KEI_CST_ZM_FLG", setParam[87]);
		setMap.setValue("SVCTK_BUT_DEL_TRN_JSSI_DTM", setParam[88]);
		setMap.setValue("JURYO_CHOK_TCHI_YH", setParam[89]);
		setMap.setValue("ADD_DTM", setParam[90]);
		setMap.setValue("ADD_OPEACNT", setParam[91]);
		setMap.setValue("UPD_DTM", setParam[92]);
		setMap.setValue("UPD_OPEACNT", setParam[93]);
		setMap.setValue("DEL_DTM", setParam[94]);
		setMap.setValue("DEL_OPEACNT", setParam[95]);
		setMap.setValue("MK_FLG", setParam[96]);
		setMap.setValue("ADD_UNYO_YMD", setParam[97]);
		setMap.setValue("ADD_TRN_ID", setParam[98]);
		setMap.setValue("UPD_UNYO_YMD", setParam[99]);
		setMap.setValue("UPD_TRN_ID", setParam[100]);
		setMap.setValue("DEL_UNYO_YMD", setParam[101]);
		setMap.setValue("DEL_TRN_ID", setParam[102]);
	
		// DBアクセスを実行します
		db_KK_T_SVC_KEI.insertByPrimaryKeys(setMap);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SVC_KEI_UCWK_NO
	 *		 	GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVC_KEI_UCWK_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SVC_KEI_UCWK_NO", whereParam[0]);
		whereMap.setValue("GENE_ADD_DTM", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_SVC_KEI_UCWK.selectByPrimaryKeys(whereMap);
	}
	
	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SVC_KEI_UCWK_NO
	 *		 	GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVC_KEI_UCWK_PKSELECT2(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SVC_KEI_UCWK_NO", whereParam[0]);
		whereMap.setValue("GENE_ADD_DTM", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_SVC_KEI_UCWK_2.selectByPrimaryKeys(whereMap);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	サービス契約内訳番号				SVC_KEI_UCWK_NO
	 *		 	世代登録年月日時分秒				GENE_ADD_DTM
	 *		 	サービス契約内訳ステータス				SVC_KEI_UCWK_STAT
	 *		 	サービス契約番号				SVC_KEI_NO
	 *		 	申込明細番号				MSKM_DTL_NO
	 *		 	料金コースコード				PCRS_CD
	 *		 	料金プランコード				PPLAN_CD
	 *		 	提供方式契約番号				TK_HOSHIKI_KEI_NO
	 *		 	支払い方法継続フラグ				PAYWAY_KEIZOKU_FLG
	 *		 	ＷＥＢオプション追加不可フラグ				WEB_OP_ADD_FAIL_FLG
	 *		 	業務連絡備考				WORK_RRK_BIKO
	 *		 	サービス利用開始希望年月日				SVC_USE_STA_KIBO_YMD
	 *		 	サービス利用開始希望時間帯コード				SVC_UEST_KBTMZ_CD
	 *		 	サービス利用開始希望時間コード				SVC_UEST_KBTM_CD
	 *		 	予約適用開始希望年月日				RSV_TSTA_KIBO_YMD
	 *		 	審査結果送信コード				SKEKKA_SEND_CD
	 *		 	サービス契約内訳後続業務依頼年月日				SVC_KEI_UCWK_KZKWRK_REQYMD
	 *		 	照査年月日				SHOSA_YMD
	 *		 	照査取消年月日				SHOSA_CL_YMD
	 *		 	試用加入年月日				FTRIAL_KANYU_YMD
	 *		 	試用期間終了年月日				FTRIAL_PRD_ENDYMD
	 *		 	本加入年月日				HONKANYU_YMD
	 *		 	本加入移行期限年月日				HONKANYU_IKO_KIGEN_YMD
	 *		 	契約締結年月日				KEI_CNC_YMD
	 *		 	予約適用年月日				RSV_APLY_YMD
	 *		 	予約取消年月日				RSV_CL_YMD
	 *		 	予約適用コード				RSV_APLY_CD
	 *		 	プラン開始年月日				PLAN_STAYMD
	 *		 	プラン終了年月日				PLAN_ENDYMD
	 *		 	プラン課金開始年月日				PLAN_CHRG_STAYMD
	 *		 	プラン課金終了年月日				PLAN_CHRG_ENDYMD
	 *		 	プラン終了種別コード				PLAN_END_SBT_CD
	 *		 	サービスキャンセル年月日				SVC_CANCEL_YMD
	 *		 	サービスキャンセル理由コード				SVC_CANCEL_RSN_CD
	 *		 	サービス開始年月日				SVC_STA_YMD
	 *		 	サービス課金開始年月日				SVC_CHRG_STAYMD
	 *		 	サービス停止年月日				SVC_STP_YMD
	 *		 	サービス停止理由コード				SVC_STP_RSN_CD
	 *		 	サービス停止解除年月日				SVC_STP_RLS_YMD
	 *		 	サービス停止解除理由コード				SVC_STP_RLS_RSN_CD
	 *		 	休止中断コード				PAUSE_STP_CD
	 *		 	サービス休止年月日				SVC_PAUSE_YMD
	 *		 	サービス休止理由コード				SVC_PAUSE_RSN_CD
	 *		 	サービス休止理由メモ				SVC_PAUSE_RSN_MEMO
	 *		 	サービス休止解除年月日				SVC_PAUSE_RLS_YMD
	 *		 	サービス休止解除理由コード				SVC_PAUSE_RLS_RSN_CD
	 *		 	サービス休止解除理由メモ				SVC_PAUSE_RLS_RSN_MEMO
	 *		 	サービス終了年月日				SVC_ENDYMD
	 *		 	サービス課金終了年月日				SVC_CHRG_ENDYMD
	 *		 	サービス解約起算年月日				SVC_DSL_KISAN_YMD
	 *		 	サービス解約年月日				SVC_DSL_YMD
	 *		 	サービス解約理由コード				SVC_DLRE_CD
	 *		 	サービス解約理由メモ				SVC_DLRE_MEMO
	 *		 	サービス解約手続完了フラグ				SVC_DSL_TTDKI_FIN_FLG
	 *		 	回復年月日				KAIHK_YMD
	 *		 	サービスキャンセル取消年月日				SVC_CANCEL_CL_YMD
	 *		 	サービス解約取消年月日				SVC_DSL_CL_YMD
	 *		 	サービス契約内訳引継発生年月日				SVKEIUW_HKHASYMD
	 *		 	課金開始年月日補正有無				CHRG_STA_YMD_HOSEI_UM
	 *		 	サービス休止課金開始年月日				SVC_PAUSE_CHRG_STA_YMD
	 *		 	違約金発生コード				PNLTY_HASSEI_CD
	 *		 	異動区分				IDO_DIV
	 *		 	照査解約完了コード				SHOSA_DSL_FIN_CD
	 *		 	サービス提供物消去処理実施年月日時分秒				SVCTK_BUT_DEL_TRN_JSSI_DTM
	 *		 	継続元サービス契約内訳番号				KEIZK_MT_SVC_KEI_UCWK_NO
	 *		 	継続後契約変更手続中フラグ				KEIZK_AF_KEI_CHGECHU_FLG
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	登録運用年月日				ADD_UNYO_YMD
	 *		 	登録処理ＩＤ				ADD_TRN_ID
	 *		 	更新運用年月日				UPD_UNYO_YMD
	 *		 	更新処理ＩＤ				UPD_TRN_ID
	 *		 	削除運用年月日				DEL_UNYO_YMD
	 *		 	削除処理ＩＤ				DEL_TRN_ID
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_UCWK_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("SVC_KEI_UCWK_NO", setParam[0]);
		setMap.setValue("GENE_ADD_DTM", setParam[1]);
		setMap.setValue("SVC_KEI_UCWK_STAT", setParam[2]);
		setMap.setValue("SVC_KEI_NO", setParam[3]);
		setMap.setValue("MSKM_DTL_NO", setParam[4]);
		setMap.setValue("PCRS_CD", setParam[5]);
		setMap.setValue("PPLAN_CD", setParam[6]);
		setMap.setValue("TK_HOSHIKI_KEI_NO", setParam[7]);
		setMap.setValue("PAYWAY_KEIZOKU_FLG", setParam[8]);
		setMap.setValue("WEB_OP_ADD_FAIL_FLG", setParam[9]);
		setMap.setValue("WORK_RRK_BIKO", setParam[10]);
		setMap.setValue("SVC_USE_STA_KIBO_YMD", setParam[11]);
		setMap.setValue("SVC_UEST_KBTMZ_CD", setParam[12]);
		setMap.setValue("SVC_UEST_KBTM_CD", setParam[13]);
		setMap.setValue("RSV_TSTA_KIBO_YMD", setParam[14]);
		setMap.setValue("SKEKKA_SEND_CD", setParam[15]);
		setMap.setValue("SVC_KEI_UCWK_KZKWRK_REQYMD", setParam[16]);
		setMap.setValue("SHOSA_YMD", setParam[17]);
		setMap.setValue("SHOSA_CL_YMD", setParam[18]);
		setMap.setValue("FTRIAL_KANYU_YMD", setParam[19]);
		setMap.setValue("FTRIAL_PRD_ENDYMD", setParam[20]);
		setMap.setValue("HONKANYU_YMD", setParam[21]);
		setMap.setValue("HONKANYU_IKO_KIGEN_YMD", setParam[22]);
		setMap.setValue("KEI_CNC_YMD", setParam[23]);
		setMap.setValue("RSV_APLY_YMD", setParam[24]);
		setMap.setValue("RSV_CL_YMD", setParam[25]);
		setMap.setValue("RSV_APLY_CD", setParam[26]);
		setMap.setValue("PLAN_STAYMD", setParam[27]);
		setMap.setValue("PLAN_ENDYMD", setParam[28]);
		setMap.setValue("PLAN_CHRG_STAYMD", setParam[29]);
		setMap.setValue("PLAN_CHRG_ENDYMD", setParam[30]);
		setMap.setValue("PLAN_END_SBT_CD", setParam[31]);
		setMap.setValue("SVC_CANCEL_YMD", setParam[32]);
		setMap.setValue("SVC_CANCEL_RSN_CD", setParam[33]);
		setMap.setValue("SVC_STA_YMD", setParam[34]);
		setMap.setValue("SVC_CHRG_STAYMD", setParam[35]);
		setMap.setValue("SVC_STP_YMD", setParam[36]);
		setMap.setValue("SVC_STP_RSN_CD", setParam[37]);
		setMap.setValue("SVC_STP_RLS_YMD", setParam[38]);
		setMap.setValue("SVC_STP_RLS_RSN_CD", setParam[39]);
		setMap.setValue("PAUSE_STP_CD", setParam[40]);
		setMap.setValue("SVC_PAUSE_YMD", setParam[41]);
		setMap.setValue("SVC_PAUSE_RSN_CD", setParam[42]);
		setMap.setValue("SVC_PAUSE_RSN_MEMO", setParam[43]);
		setMap.setValue("SVC_PAUSE_RLS_YMD", setParam[44]);
		setMap.setValue("SVC_PAUSE_RLS_RSN_CD", setParam[45]);
		setMap.setValue("SVC_PAUSE_RLS_RSN_MEMO", setParam[46]);
		setMap.setValue("SVC_ENDYMD", setParam[47]);
		setMap.setValue("SVC_CHRG_ENDYMD", setParam[48]);
		setMap.setValue("SVC_DSL_KISAN_YMD", setParam[49]);
		setMap.setValue("SVC_DSL_YMD", setParam[50]);
		setMap.setValue("SVC_DLRE_CD", setParam[51]);
		setMap.setValue("SVC_DLRE_MEMO", setParam[52]);
		setMap.setValue("SVC_DSL_TTDKI_FIN_FLG", setParam[53]);
		setMap.setValue("KAIHK_YMD", setParam[54]);
		setMap.setValue("SVC_CANCEL_CL_YMD", setParam[55]);
		setMap.setValue("SVC_DSL_CL_YMD", setParam[56]);
		setMap.setValue("SVKEIUW_HKHASYMD", setParam[57]);
		setMap.setValue("CHRG_STA_YMD_HOSEI_UM", setParam[58]);
		setMap.setValue("SVC_PAUSE_CHRG_STA_YMD", setParam[59]);
		setMap.setValue("PNLTY_HASSEI_CD", setParam[60]);
		setMap.setValue("IDO_DIV", setParam[61]);
		setMap.setValue("SHOSA_DSL_FIN_CD", setParam[62]);
		setMap.setValue("SVCTK_BUT_DEL_TRN_JSSI_DTM", setParam[63]);
		setMap.setValue("KEIZK_MT_SVC_KEI_UCWK_NO", setParam[64]);
		setMap.setValue("KEIZK_AF_KEI_CHGECHU_FLG", setParam[65]);
		setMap.setValue("ADD_DTM", setParam[66]);
		setMap.setValue("ADD_OPEACNT", setParam[67]);
		setMap.setValue("UPD_DTM", setParam[68]);
		setMap.setValue("UPD_OPEACNT", setParam[69]);
		setMap.setValue("DEL_DTM", setParam[70]);
		setMap.setValue("DEL_OPEACNT", setParam[71]);
		setMap.setValue("MK_FLG", setParam[72]);
		setMap.setValue("ADD_UNYO_YMD", setParam[73]);
		setMap.setValue("ADD_TRN_ID", setParam[74]);
		setMap.setValue("UPD_UNYO_YMD", setParam[75]);
		setMap.setValue("UPD_TRN_ID", setParam[76]);
		setMap.setValue("DEL_UNYO_YMD", setParam[77]);
		setMap.setValue("DEL_TRN_ID", setParam[78]);
	
		// DBアクセスを実行します
		db_KK_T_SVC_KEI_UCWK.insertByPrimaryKeys(setMap);
	}

	
	/**
	 * SQLKEY(KK_SELECT_041)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KKTK_SVC_KEI_KK_SELECT_041(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KKTK_SVC_KEI_041.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_041);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	KKTK_SVC_KEI_NO
	 *		 	GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_KKTK_SVC_KEI_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("KKTK_SVC_KEI_NO", whereParam[0]);
		whereMap.setValue("GENE_ADD_DTM", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_KKTK_SVC_KEI.selectByPrimaryKeys(whereMap);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	機器提供サービス契約番号				KKTK_SVC_KEI_NO
	 *		 	世代登録年月日時分秒				GENE_ADD_DTM
	 *		 	機器提供サービス契約ステータス				KKTK_SVC_KEI_STAT
	 *		 	機器提供サービスコード				KKTK_SVC_CD
	 *		 	料金コースコード				PCRS_CD
	 *		 	料金プランコード				PPLAN_CD
	 *		 	提供方式契約番号				TK_HOSHIKI_KEI_NO
	 *		 	機器提供種別コード				KKTK_SBT_CD
	 *		 	販売種別コード				HAMBAI_SBT_CD
	 *		 	サービス利用開始希望年月日				SVC_USE_STA_KIBO_YMD
	 *		 	予約適用開始希望年月日				RSV_TSTA_KIBO_YMD
	 *		 	希望メーカーコード				KIBO_MAKER_CD
	 *		 	機器指定種別コード				KIKI_SHITEI_SBT_CD
	 *		 	宅内機器種別コード				TAKNKIKI_SBT_CD
	 *		 	宅内機器型式コード				TAKNKIKI_MODEL_CD
	 *		 	機器製造番号				KIKI_SEIZO_NO
	 *		 	付属品種別コード				HUZOKUHIN_SBT_CD
	 *		 	付属品型式コード				HUZOKUHIN_MODEL_CD
	 *		 	宅内機器セット品型コード				TAKNKIKI_SETHIN_MODEL_CD
	 *		 	機器変更番号				KIKI_CHG_NO
	 *		 	機器変更理由コード				KIKI_CHG_RSN_CD
	 *		 	通信機器セットコード				TSUSHIN_KIKI_SET_CD
	 *		 	ＨＤＤ容量コード				HDD_CAPA_CD
	 *		 	機器設置先場所番号				KIKI_STC_SAKI_PLACE_NO
	 *		 	親契約識別コード				OYA_KEI_SKBT_CD
	 *		 	サービス契約番号				SVC_KEI_NO
	 *		 	サービス契約内訳番号				SVC_KEI_UCWK_NO
	 *		 	サービス契約回線内訳番号				SVC_KEI_KAISEN_UCWK_NO
	 *		 	オプションサービス契約番号				OP_SVC_KEI_NO
	 *		 	ＳＹＳＩＤ				SYSID
	 *		 	申込明細番号				MSKM_DTL_NO
	 *		 	リンクＳＴＢフラグ				LINK_STB_FLG
	 *		 	機器引当指定倉庫コード				KIKI_HKAT_SHITEI_SOKO_CD
	 *		 	機器引当指定倉庫棚コード				KIKI_HKAT_SHITEI_SKDN_CD
	 *		 	機器指定時管理場所識別コード				KIKI_STI_JI_KRIPLACE_SKCD
	 *		 	機器指定時工事会社コード				KIKI_STI_JI_KOCOMP_CD
	 *		 	機器指定時工事会社棚コード				KIKI_STI_JI_KOCOMP_SLF_CD
	 *		 	機器指定時預託先オフィスコード				KIKI_STI_JI_YTKSKOF_CD
	 *		 	機器指定時預託先オフィス棚コード				KIKI_STI_JI_YTKSKOF_SLF_CD
	 *		 	機器提供サービス契約引継発生年月日				KKTK_SVC_KEI_HKHASYMD
	 *		 	機器送料有無				KIKI_SORYO_UM
	 *		 	機器送料作成年月日				KIKI_SORYO_SAKSEI_YMD
	 *		 	機器送付先名				KIKI_SOHUS_NM
	 *		 	機器送付先カナ名				KIKI_SOHUS_KANA
	 *		 	機器送付先住所コード				KIKI_SOHUS_AD_CD
	 *		 	機器送付先郵便番号				KIKI_SOHUS_PCD
	 *		 	機器送付先都道府県名				KIKI_SOHUS_STATE_NM
	 *		 	機器送付先市区町村名				KIKI_SOHUS_CITY_NM
	 *		 	機器送付先大字通称名				KIKI_SOHUS_OAZTSU_NM
	 *		 	機器送付先字丁目名				KIKI_SOHUS_AZCHO_NM
	 *		 	機器送付先番地号				KIKI_SOHUS_BNCHIGO
	 *		 	機器送付先住所補記・建物名				KIKI_SOHUS_ADRTTM
	 *		 	機器送付先住所補記・部屋番号				KIKI_SOHUS_ADRRM
	 *		 	機器送付先住所手動入力フラグ				KIKI_SHS_AD_MAN_INPUT_FLG
	 *		 	機器送付先電話番号				KIKI_SOHUS_TELNO
	 *		 	マンション物件番号				MANSION_BUKKEN_NO
	 *		 	機器送付先＿契約者住所差異フラグ				KIKI_SOHUS_KSH_AD_SAI_FLG
	 *		 	機器送付先個別指定フラグ				KIKI_SHS_KBT_SHITEI_FLG
	 *		 	機器送付先補足コード１				KIKI_SHS_HSK_CD_1
	 *		 	機器送付先補足コード２				KIKI_SHS_HSK_CD_2
	 *		 	機器送付先補足メモ				KIKI_SHS_HSK_MEMO
	 *		 	機器設置先名				KIKI_STC_SAKI_NM
	 *		 	機器設置先カナ名				KIKI_STC_SAKI_KANA
	 *		 	機器設置先住所コード				KIKI_STC_SAKI_AD_CD
	 *		 	機器設置先郵便番号				KIKI_STC_SAKI_PCD
	 *		 	機器設置先都道府県名				KIKI_STC_SAKI_STATE_NM
	 *		 	機器設置先市区町村名				KIKI_STC_SAKI_CITY_NM
	 *		 	機器設置先大字通称名				KIKI_STC_SAKI_OAZTSU_NM
	 *		 	機器設置先字丁目名				KIKI_STC_SAKI_AZCHO_NM
	 *		 	機器設置先番地号				KIKI_STC_SAKI_BNCHIGO
	 *		 	機器設置先住所補記・建物名				KIKI_STC_SAKI_ADRTTM
	 *		 	機器設置先住所補記・部屋番号				KIKI_STC_SAKI_ADRRM
	 *		 	機器設置先＿契約者住所差異フラグ				KIKI_STC_SK_KSH_AD_SAI_FLG
	 *		 	機器設置先電話番号				KIKI_STC_SK_TELNO
	 *		 	機器設置先区画整理中フラグ				KIKI_STS_KKK_SEIRI_CHU_FLG
	 *		 	住所未確定フラグ				AD_MI_FIX_FLG
	 *		 	自動登録コード				AUTO_ADD_CD
	 *		 	住所未確定解除年月日				AD_MI_FIX_RLS_YMD
	 *		 	課金開始年月日補正有無				CHRG_STA_YMD_HOSEI_UM
	 *		 	機器設置先補足コード１				KIKI_STS_HSK_CD_1
	 *		 	機器設置先補足コード２				KIKI_STS_HSK_CD_2
	 *		 	機器設置先補足メモ				KIKI_STS_HSK_MEMO
	 *		 	機器提供サービス契約後続業務依頼年月日				KKTK_SVC_KEI_KZKWRK_REQYMD
	 *		 	照査年月日				SHOSA_YMD
	 *		 	照査取消年月日				SHOSA_CL_YMD
	 *		 	配送区分				HAISO_DIV
	 *		 	配送期限年月日				HAISO_KIGEN_YMD
	 *		 	配送到着指定年月日				HAISO_ARIV_SHITEI_YMD
	 *		 	試用加入年月日				FTRIAL_KANYU_YMD
	 *		 	試用期間終了年月日				FTRIAL_PRD_ENDYMD
	 *		 	本加入年月日				HONKANYU_YMD
	 *		 	本加入移行期限年月日				HONKANYU_IKO_KIGEN_YMD
	 *		 	契約締結年月日				KEI_CNC_YMD
	 *		 	ＪＣＣＣ加入書記入年月日				JCCC_KANYU_BUNSHO_YMD
	 *		 	保証コード				HOSHO_CD
	 *		 	機器提供サービス契約補記				KKTK_SVKEI_HOKI
	 *		 	保証開始年月日				HOSHO_STAYMD
	 *		 	保証終了年月日				HOSHO_END_YMD
	 *		 	予約適用年月日				RSV_APLY_YMD
	 *		 	予約取消年月日				RSV_CL_YMD
	 *		 	予約適用コード				RSV_APLY_CD
	 *		 	機器変更年月日				KIKI_CHG_YMD
	 *		 	プラン開始年月日				PLAN_STAYMD
	 *		 	プラン終了年月日				PLAN_ENDYMD
	 *		 	プラン課金開始年月日				PLAN_CHRG_STAYMD
	 *		 	プラン課金終了年月日				PLAN_CHRG_ENDYMD
	 *		 	プラン終了種別コード				PLAN_END_SBT_CD
	 *		 	サービスキャンセル年月日				SVC_CANCEL_YMD
	 *		 	サービスキャンセル理由コード				SVC_CANCEL_RSN_CD
	 *		 	サービス開始年月日				SVC_STA_YMD
	 *		 	サービス課金開始年月日				SVC_CHRG_STAYMD
	 *		 	サービス停止年月日				SVC_STP_YMD
	 *		 	サービス提供中使用不可種別コード				SVCTK_CHU_USE_FAIL_SBT_CD
	 *		 	サービス停止理由コード				SVC_STP_RSN_CD
	 *		 	サービス停止解除年月日				SVC_STP_RLS_YMD
	 *		 	サービス停止解除理由コード				SVC_STP_RLS_RSN_CD
	 *		 	休止中断コード				PAUSE_STP_CD
	 *		 	サービス休止年月日				SVC_PAUSE_YMD
	 *		 	サービス休止理由コード				SVC_PAUSE_RSN_CD
	 *		 	サービス休止理由メモ				SVC_PAUSE_RSN_MEMO
	 *		 	サービス休止解除年月日				SVC_PAUSE_RLS_YMD
	 *		 	サービス休止解除理由コード				SVC_PAUSE_RLS_RSN_CD
	 *		 	サービス休止解除理由メモ				SVC_PAUSE_RLS_RSN_MEMO
	 *		 	サービス終了年月日				SVC_ENDYMD
	 *		 	サービス課金終了年月日				SVC_CHRG_ENDYMD
	 *		 	サービス解約年月日				SVC_DSL_YMD
	 *		 	サービス解約理由コード				SVC_DLRE_CD
	 *		 	サービス解約理由メモ				SVC_DLRE_MEMO
	 *		 	残置フラグ				ZANCHI_FLG
	 *		 	サービス解約手続完了フラグ				SVC_DSL_TTDKI_FIN_FLG
	 *		 	回復年月日				KAIHK_YMD
	 *		 	サービスキャンセル取消年月日				SVC_CANCEL_CL_YMD
	 *		 	サービス解約取消年月日				SVC_DSL_CL_YMD
	 *		 	審査結果送信コード				SKEKKA_SEND_CD
	 *		 	サービス休止課金開始年月日				SVC_PAUSE_CHRG_STA_YMD
	 *		 	違約金発生コード				PNLTY_HASSEI_CD
	 *		 	機器認証ＩＤ				KIKI_NINSHO_ID
	 *		 	機器認証ＩＤパスワード				KIKI_NINSHO_ID_PWD
	 *		 	異動区分				IDO_DIV
	 *		 	機器設置実績受付年月日				KKST_JSEKI_UK_YMD
	 *		 	ｅｏＴＶ機器設置承認状態コード				EO_TV_KKST_SNN_STAT_CD
	 *		 	機器設置承認年月日				KKST_SNN_YMD
	 *		 	宅内機器異動コード				TAKNKIKI_IDO_CD
	 *		 	ＣＡＳカード使用許諾年月日				CAS_CARD_USE_KYODAK_YMD
	 *		 	機器付加情報コード				KIKI_HUKA_INFO_CD
	 *		 	照査解約完了コード				SHOSA_DSL_FIN_CD
	 *		 	ルーター解約予約処理状態コード				ROUTER_DSL_RSV_TRN_STAT_CD
	 *		 	ルーター解約予約処理結果コード				ROUTER_DSL_RSV_TRN_RSLT_CD
	 *		 	配送方法コード				HAISO_WAY_CD
	 *		 	機器移転先移動実施者識別コード				KIKI_ITENS_MV_JSSIS_SKCD
	 *		 	回収機器有無				KAISHU_KIKI_UM
	 *		 	配送依頼指定年月日				HAISO_REQ_SHITEI_YMD
	 *		 	出荷完了時処理済フラグ				SHKA_FIN_JI_SYRZM_FLG
	 *		 	サービス開始時配送状況識別コード				SVC_STA_JI_HIS_JOKYO_SKCD
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	登録運用年月日				ADD_UNYO_YMD
	 *		 	登録処理ＩＤ				ADD_TRN_ID
	 *		 	更新運用年月日				UPD_UNYO_YMD
	 *		 	更新処理ＩＤ				UPD_TRN_ID
	 *		 	削除運用年月日				DEL_UNYO_YMD
	 *		 	削除処理ＩＤ				DEL_TRN_ID
	 *		 	保証・補償期間開始日算出基準年月日				HCPRD_STAD_SNSTSTD_YMD
	 *		 	保証・補償期間開始日算出基準年月日移行フラグ	HCPRD_STAD_SNSTSTD_YMD_IKF
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KKTK_SVC_KEI_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("KKTK_SVC_KEI_NO", setParam[0]);
		setMap.setValue("GENE_ADD_DTM", setParam[1]);
		setMap.setValue("KKTK_SVC_KEI_STAT", setParam[2]);
		setMap.setValue("KKTK_SVC_CD", setParam[3]);
		setMap.setValue("PCRS_CD", setParam[4]);
		setMap.setValue("PPLAN_CD", setParam[5]);
		setMap.setValue("TK_HOSHIKI_KEI_NO", setParam[6]);
		setMap.setValue("KKTK_SBT_CD", setParam[7]);
		setMap.setValue("HAMBAI_SBT_CD", setParam[8]);
		setMap.setValue("SVC_USE_STA_KIBO_YMD", setParam[9]);
		setMap.setValue("RSV_TSTA_KIBO_YMD", setParam[10]);
		setMap.setValue("KIBO_MAKER_CD", setParam[11]);
		setMap.setValue("KIKI_SHITEI_SBT_CD", setParam[12]);
		setMap.setValue("TAKNKIKI_SBT_CD", setParam[13]);
		setMap.setValue("TAKNKIKI_MODEL_CD", setParam[14]);
		setMap.setValue("KIKI_SEIZO_NO", setParam[15]);
		setMap.setValue("HUZOKUHIN_SBT_CD", setParam[16]);
		setMap.setValue("HUZOKUHIN_MODEL_CD", setParam[17]);
		setMap.setValue("TAKNKIKI_SETHIN_MODEL_CD", setParam[18]);
		setMap.setValue("KIKI_CHG_NO", setParam[19]);
		setMap.setValue("KIKI_CHG_RSN_CD", setParam[20]);
		setMap.setValue("TSUSHIN_KIKI_SET_CD", setParam[21]);
		setMap.setValue("HDD_CAPA_CD", setParam[22]);
		setMap.setValue("KIKI_STC_SAKI_PLACE_NO", setParam[23]);
		setMap.setValue("OYA_KEI_SKBT_CD", setParam[24]);
		setMap.setValue("SVC_KEI_NO", setParam[25]);
		setMap.setValue("SVC_KEI_UCWK_NO", setParam[26]);
		setMap.setValue("SVC_KEI_KAISEN_UCWK_NO", setParam[27]);
		setMap.setValue("OP_SVC_KEI_NO", setParam[28]);
		setMap.setValue("SYSID", setParam[29]);
		setMap.setValue("MSKM_DTL_NO", setParam[30]);
		setMap.setValue("LINK_STB_FLG", setParam[31]);
		setMap.setValue("KIKI_HKAT_SHITEI_SOKO_CD", setParam[32]);
		setMap.setValue("KIKI_HKAT_SHITEI_SKDN_CD", setParam[33]);
		setMap.setValue("KIKI_STI_JI_KRIPLACE_SKCD", setParam[34]);
		setMap.setValue("KIKI_STI_JI_KOCOMP_CD", setParam[35]);
		setMap.setValue("KIKI_STI_JI_KOCOMP_SLF_CD", setParam[36]);
		setMap.setValue("KIKI_STI_JI_YTKSKOF_CD", setParam[37]);
		setMap.setValue("KIKI_STI_JI_YTKSKOF_SLF_CD", setParam[38]);
		setMap.setValue("KKTK_SVC_KEI_HKHASYMD", setParam[39]);
		setMap.setValue("KIKI_SORYO_UM", setParam[40]);
		setMap.setValue("KIKI_SORYO_SAKSEI_YMD", setParam[41]);
		setMap.setValue("KIKI_SOHUS_NM", setParam[42]);
		setMap.setValue("KIKI_SOHUS_KANA", setParam[43]);
		setMap.setValue("KIKI_SOHUS_AD_CD", setParam[44]);
		setMap.setValue("KIKI_SOHUS_PCD", setParam[45]);
		setMap.setValue("KIKI_SOHUS_STATE_NM", setParam[46]);
		setMap.setValue("KIKI_SOHUS_CITY_NM", setParam[47]);
		setMap.setValue("KIKI_SOHUS_OAZTSU_NM", setParam[48]);
		setMap.setValue("KIKI_SOHUS_AZCHO_NM", setParam[49]);
		setMap.setValue("KIKI_SOHUS_BNCHIGO", setParam[50]);
		setMap.setValue("KIKI_SOHUS_ADRTTM", setParam[51]);
		setMap.setValue("KIKI_SOHUS_ADRRM", setParam[52]);
		setMap.setValue("KIKI_SHS_AD_MAN_INPUT_FLG", setParam[53]);
		setMap.setValue("KIKI_SOHUS_TELNO", setParam[54]);
		setMap.setValue("MANSION_BUKKEN_NO", setParam[55]);
		setMap.setValue("KIKI_SOHUS_KSH_AD_SAI_FLG", setParam[56]);
		setMap.setValue("KIKI_SHS_KBT_SHITEI_FLG", setParam[57]);
		setMap.setValue("KIKI_SHS_HSK_CD_1", setParam[58]);
		setMap.setValue("KIKI_SHS_HSK_CD_2", setParam[59]);
		setMap.setValue("KIKI_SHS_HSK_MEMO", setParam[60]);
		setMap.setValue("KIKI_STC_SAKI_NM", setParam[61]);
		setMap.setValue("KIKI_STC_SAKI_KANA", setParam[62]);
		setMap.setValue("KIKI_STC_SAKI_AD_CD", setParam[63]);
		setMap.setValue("KIKI_STC_SAKI_PCD", setParam[64]);
		setMap.setValue("KIKI_STC_SAKI_STATE_NM", setParam[65]);
		setMap.setValue("KIKI_STC_SAKI_CITY_NM", setParam[66]);
		setMap.setValue("KIKI_STC_SAKI_OAZTSU_NM", setParam[67]);
		setMap.setValue("KIKI_STC_SAKI_AZCHO_NM", setParam[68]);
		setMap.setValue("KIKI_STC_SAKI_BNCHIGO", setParam[69]);
		setMap.setValue("KIKI_STC_SAKI_ADRTTM", setParam[70]);
		setMap.setValue("KIKI_STC_SAKI_ADRRM", setParam[71]);
		setMap.setValue("KIKI_STC_SK_KSH_AD_SAI_FLG", setParam[72]);
		setMap.setValue("KIKI_STC_SK_TELNO", setParam[73]);
		setMap.setValue("KIKI_STS_KKK_SEIRI_CHU_FLG", setParam[74]);
		setMap.setValue("AD_MI_FIX_FLG", setParam[75]);
		setMap.setValue("AUTO_ADD_CD", setParam[76]);
		setMap.setValue("AD_MI_FIX_RLS_YMD", setParam[77]);
		setMap.setValue("CHRG_STA_YMD_HOSEI_UM", setParam[78]);
		setMap.setValue("KIKI_STS_HSK_CD_1", setParam[79]);
		setMap.setValue("KIKI_STS_HSK_CD_2", setParam[80]);
		setMap.setValue("KIKI_STS_HSK_MEMO", setParam[81]);
		setMap.setValue("KKTK_SVC_KEI_KZKWRK_REQYMD", setParam[82]);
		setMap.setValue("SHOSA_YMD", setParam[83]);
		setMap.setValue("SHOSA_CL_YMD", setParam[84]);
		setMap.setValue("HAISO_DIV", setParam[85]);
		setMap.setValue("HAISO_KIGEN_YMD", setParam[86]);
		setMap.setValue("HAISO_ARIV_SHITEI_YMD", setParam[87]);
		setMap.setValue("FTRIAL_KANYU_YMD", setParam[88]);
		setMap.setValue("FTRIAL_PRD_ENDYMD", setParam[89]);
		setMap.setValue("HONKANYU_YMD", setParam[90]);
		setMap.setValue("HONKANYU_IKO_KIGEN_YMD", setParam[91]);
		setMap.setValue("KEI_CNC_YMD", setParam[92]);
		setMap.setValue("JCCC_KANYU_BUNSHO_YMD", setParam[93]);
		setMap.setValue("HOSHO_CD", setParam[94]);
		setMap.setValue("KKTK_SVKEI_HOKI", setParam[95]);
		setMap.setValue("HOSHO_STAYMD", setParam[96]);
		setMap.setValue("HOSHO_END_YMD", setParam[97]);
		setMap.setValue("RSV_APLY_YMD", setParam[98]);
		setMap.setValue("RSV_CL_YMD", setParam[99]);
		setMap.setValue("RSV_APLY_CD", setParam[100]);
		setMap.setValue("KIKI_CHG_YMD", setParam[101]);
		setMap.setValue("PLAN_STAYMD", setParam[102]);
		setMap.setValue("PLAN_ENDYMD", setParam[103]);
		setMap.setValue("PLAN_CHRG_STAYMD", setParam[104]);
		setMap.setValue("PLAN_CHRG_ENDYMD", setParam[105]);
		setMap.setValue("PLAN_END_SBT_CD", setParam[106]);
		setMap.setValue("SVC_CANCEL_YMD", setParam[107]);
		setMap.setValue("SVC_CANCEL_RSN_CD", setParam[108]);
		setMap.setValue("SVC_STA_KISAN_YMD", setParam[109]);
		setMap.setValue("SVC_STA_YMD", setParam[110]);
		setMap.setValue("SVC_CHRG_STAYMD", setParam[111]);
		setMap.setValue("SVC_STP_YMD", setParam[112]);
		setMap.setValue("SVCTK_CHU_USE_FAIL_SBT_CD", setParam[113]);
		setMap.setValue("SVC_STP_RSN_CD", setParam[114]);
		setMap.setValue("SVC_STP_RLS_YMD", setParam[115]);
		setMap.setValue("SVC_STP_RLS_RSN_CD", setParam[116]);
		setMap.setValue("PAUSE_STP_CD", setParam[117]);
		setMap.setValue("SVC_PAUSE_YMD", setParam[118]);
		setMap.setValue("SVC_PAUSE_RSN_CD", setParam[119]);
		setMap.setValue("SVC_PAUSE_RSN_MEMO", setParam[120]);
		setMap.setValue("SVC_PAUSE_RLS_YMD", setParam[121]);
		setMap.setValue("SVC_PAUSE_RLS_RSN_CD", setParam[122]);
		setMap.setValue("SVC_PAUSE_RLS_RSN_MEMO", setParam[123]);
		setMap.setValue("SVC_ENDYMD", setParam[124]);
		setMap.setValue("SVC_CHRG_ENDYMD", setParam[125]);
		setMap.setValue("SVC_DSL_YMD", setParam[126]);
		setMap.setValue("SVC_DLRE_CD", setParam[127]);
		setMap.setValue("SVC_DLRE_MEMO", setParam[128]);
		setMap.setValue("ZANCHI_FLG", setParam[129]);
		setMap.setValue("SVC_DSL_TTDKI_FIN_FLG", setParam[130]);
		setMap.setValue("KAIHK_YMD", setParam[131]);
		setMap.setValue("SVC_CANCEL_CL_YMD", setParam[132]);
		setMap.setValue("SVC_DSL_CL_YMD", setParam[133]);
		setMap.setValue("SKEKKA_SEND_CD", setParam[134]);
		setMap.setValue("SVC_PAUSE_CHRG_STA_YMD", setParam[135]);
		setMap.setValue("PNLTY_HASSEI_CD", setParam[136]);
		setMap.setValue("KIKI_NINSHO_ID", setParam[137]);
		setMap.setValue("KIKI_NINSHO_ID_PWD", setParam[138]);
		setMap.setValue("IDO_DIV", setParam[139]);
		setMap.setValue("KKST_JSEKI_UK_YMD", setParam[140]);
		setMap.setValue("EO_TV_KKST_SNN_STAT_CD", setParam[141]);
		setMap.setValue("KKST_SNN_YMD", setParam[142]);
		setMap.setValue("TAKNKIKI_IDO_CD", setParam[143]);
		setMap.setValue("CAS_CARD_USE_KYODAK_YMD", setParam[144]);
		setMap.setValue("KIKI_HUKA_INFO_CD", setParam[145]);
		setMap.setValue("SHOSA_DSL_FIN_CD", setParam[146]);
		setMap.setValue("ROUTER_DSL_RSV_TRN_STAT_CD", setParam[147]);
		setMap.setValue("ROUTER_DSL_RSV_TRN_RSLT_CD", setParam[148]);
		setMap.setValue("HAISO_WAY_CD", setParam[149]);
		setMap.setValue("KIKI_ITENS_MV_JSSIS_SKCD", setParam[150]);
		setMap.setValue("KAISHU_KIKI_UM", setParam[151]);
		setMap.setValue("HAISO_REQ_SHITEI_YMD", setParam[152]);
		setMap.setValue("SHKA_FIN_JI_SYRZM_FLG", setParam[153]);
		setMap.setValue("SVC_STA_JI_HIS_JOKYO_SKCD", setParam[154]);
		setMap.setValue("ADD_DTM", setParam[155]);
		setMap.setValue("ADD_OPEACNT", setParam[156]);
		setMap.setValue("UPD_DTM", setParam[157]);
		setMap.setValue("UPD_OPEACNT", setParam[158]);
		setMap.setValue("DEL_DTM", setParam[159]);
		setMap.setValue("DEL_OPEACNT", setParam[160]);
		setMap.setValue("MK_FLG", setParam[161]);
		setMap.setValue("ADD_UNYO_YMD", setParam[162]);
		setMap.setValue("ADD_TRN_ID", setParam[163]);
		setMap.setValue("UPD_UNYO_YMD", setParam[164]);
		setMap.setValue("UPD_TRN_ID", setParam[165]);
		setMap.setValue("DEL_UNYO_YMD", setParam[166]);
		setMap.setValue("DEL_TRN_ID", setParam[167]);
		/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
		setMap.setValue("HCPRD_STAD_SNSTSTD_YMD", setParam[168]);
		setMap.setValue("HCPRD_STAD_SNSTSTD_YMD_IKF", setParam[169]);
		/* ++++++++++ v9.00.00 追加完了 ++++++++++ */
		/* ++++++++++ v10.00.00 追加開始 ++++++++++ */
		setMap.setValue("HCPRD_STAD_SNSTSTD_YMD_SCD", setParam[170]);
		/* ++++++++++ v10.00.00 追加完了 ++++++++++ */
	
		// DBアクセスを実行します
		db_KK_T_KKTK_SVC_KEI.insertByPrimaryKeys(setMap);
	}

	/**
	 * SQLKEY(KK_SELECT_084)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_UCWK_KK_SELECT_084(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		// =========== OM-2014-0000772対応 start =============
//		paramList.setValue(param[2].toString());
		// =========== OM-2014-0000772対応 end =============
		// DBアクセスを実行します
		db_KK_T_SVC_KEI_UCWK_084.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_084);
	}

	/**
	 * SQLKEY(KK_SELECT_036)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	サービス契約内訳番号
	 *		 	サービス契約番号
	 *		 	サービス契約内訳番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_UCWK_KK_SELECT_036(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_036);
	}
	
	/**
	 * SQLKEY(KK_SELECT_044)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	申込明細番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_IDO_RSV_KK_SELECT_044(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_IDO_RSV_044.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_044);
	}

	/**
	 * SQLKEY(KK_SELECT_130)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約内訳番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KKTK_SVC_KEI_KK_SELECT_130(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KKTK_SVC_KEI_130.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_130);
	}

	/**
	 * SQLKEY(KK_SELECT_029)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	予約適用年月日
	 *		 	サービス契約内訳番号
	 *		 	予約適用年月日
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_IDO_RSV_KK_SELECT_029(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());
		paramList.setValue(param[3].toString());
		paramList.setValue(param[4].toString());

		// DBアクセスを実行します
		db_KK_T_IDO_RSV_029.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_029);
	}

	/**
	 * SQLKEY(KK_SELECT_083)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約内訳番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_UCWK_KK_SELECT_083(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_083);
	}

	/**
	 * SQLKEY(KK_SELECT_016)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	申込明細番号
	 *		 	申込明細番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_IDO_RSV_KK_SELECT_016(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_IDO_RSV_016.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_016);
	}

	/**
	 * SQLKEY(KK_SELECT_094)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	オプションサービス契約番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_OP_SVC_KEI_KK_SELECT_094(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_OP_SVC_KEI_094.selectBySqlDefine(paramList, KK_T_OP_SVC_KEI_KK_SELECT_094);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	OP_SVC_KEI_NO
	 *		 	GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_OP_SVC_KEI_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("OP_SVC_KEI_NO", whereParam[0]);
		whereMap.setValue("GENE_ADD_DTM", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_OP_SVC_KEI.selectByPrimaryKeys(whereMap);
	}

	/**
	 * PK(全項目登録)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	オプションサービス契約番号				OP_SVC_KEI_NO
	 *		 	世代登録年月日時分秒				GENE_ADD_DTM
	 *		 	オプションサービス契約ステータス				OP_SVC_KEI_STAT
	 *		 	オプションサービスコード				OP_SVC_CD
	 *		 	料金コースコード				PCRS_CD
	 *		 	料金プランコード				PPLAN_CD
	 *		 	親契約識別コード				OYA_KEI_SKBT_CD
	 *		 	サービス契約番号				SVC_KEI_NO
	 *		 	サービス契約内訳番号				SVC_KEI_UCWK_NO
	 *		 	法人サービス契約受付番号				HOJIN_SVC_KEI_UK_NO
	 *		 	ＳＹＳＩＤ				SYSID
	 *		 	申込明細番号				MSKM_DTL_NO
	 *		 	試用加入年月日				FTRIAL_KANYU_YMD
	 *		 	試用期間終了年月日				FTRIAL_PRD_ENDYMD
	 *		 	本加入年月日				HONKANYU_YMD
	 *		 	本加入移行期限年月日				HONKANYU_IKO_KIGEN_YMD
	 *		 	サービス利用開始希望年月日				SVC_USE_STA_KIBO_YMD
	 *		 	予約適用開始希望年月日				RSV_TSTA_KIBO_YMD
	 *		 	オプションサービス契約後続業務依頼年月日				OP_SVC_KEI_KZKWRK_REQYMD
	 *		 	照査年月日				SHOSA_YMD
	 *		 	照査取消年月日				SHOSA_CL_YMD
	 *		 	審査結果送信コード				SKEKKA_SEND_CD
	 *		 	契約締結年月日				KEI_CNC_YMD
	 *		 	予約適用年月日				RSV_APLY_YMD
	 *		 	予約取消年月日				RSV_CL_YMD
	 *		 	予約適用コード				RSV_APLY_CD
	 *		 	プラン開始年月日				PLAN_STAYMD
	 *		 	プラン終了年月日				PLAN_ENDYMD
	 *		 	プラン課金開始年月日				PLAN_CHRG_STAYMD
	 *		 	プラン課金終了年月日				PLAN_CHRG_ENDYMD
	 *		 	プラン終了種別コード				PLAN_END_SBT_CD
	 *		 	サービスキャンセル年月日				SVC_CANCEL_YMD
	 *		 	サービスキャンセル理由コード				SVC_CANCEL_RSN_CD
	 *		 	サービス開始年月日				SVC_STAYMD
	 *		 	サービス開始時分秒				SVC_STA_HMS
	 *		 	表示用サービス提供開始年月日				DSP_SVCTK_STAYMD
	 *		 	サービス課金開始年月日				SVC_CHRG_STAYMD
	 *		 	サービス停止年月日				SVC_STP_YMD
	 *		 	サービス停止理由コード				SVC_STP_RSN_CD
	 *		 	サービス停止解除年月日				SVC_STP_RLS_YMD
	 *		 	サービス停止解除理由コード				SVC_STP_RLS_RSN_CD
	 *		 	休止中断コード				PAUSE_STP_CD
	 *		 	サービス休止年月日				SVC_PAUSE_YMD
	 *		 	サービス休止理由コード				SVC_PAUSE_RSN_CD
	 *		 	サービス休止理由メモ				SVC_PAUSE_RSN_MEMO
	 *		 	サービス休止解除年月日				SVC_PAUSE_RLS_YMD
	 *		 	サービス休止解除理由コード				SVC_PAUSE_RLS_RSN_CD
	 *		 	サービス休止解除理由メモ				SVC_PAUSE_RLS_RSN_MEMO
	 *		 	サービス終了年月日				SVC_ENDYMD
	 *		 	サービス終了時分秒				SVC_END_HMS
	 *		 	サービス課金終了年月日				SVC_CHRG_ENDYMD
	 *		 	サービス解約年月日				SVC_DSL_YMD
	 *		 	サービス解約理由コード				SVC_DLRE_CD
	 *		 	サービス解約理由メモ				SVC_DLRE_MEMO
	 *		 	解約担当ユーザーＩＤ				DSL_TNT_USER_ID
	 *		 	サービス解約手続完了フラグ				SVC_DSL_TTDKI_FIN_FLG
	 *		 	回復年月日				KAIHK_YMD
	 *		 	サービスキャンセル取消年月日				SVC_CANCEL_CL_YMD
	 *		 	サービス解約取消年月日				SVC_DSL_CL_YMD
	 *		 	課金開始年月日補正有無				CHRG_STA_YMD_HOSEI_UM
	 *		 	サービス休止課金開始年月日				SVC_PAUSE_CHRG_STA_YMD
	 *		 	オプションサービス契約引継発生年月日				OP_SVC_KEI_HKHASYMD
	 *		 	違約金発生コード				PNLTY_HASSEI_CD
	 *		 	異動区分				IDO_DIV
	 *		 	照査解約完了コード				SHOSA_DSL_FIN_CD
	 *		 	サービス提供物消去処理実施年月日時分秒				SVCTK_BUT_DEL_TRN_JSSI_DTM
	 *		 	登録年月日時分秒				ADD_DTM
	 *		 	登録オペレータアカウント				ADD_OPEACNT
	 *		 	更新年月日時分秒				UPD_DTM
	 *		 	更新オペレータアカウント				UPD_OPEACNT
	 *		 	削除年月日時分秒				DEL_DTM
	 *		 	削除オペレータアカウント				DEL_OPEACNT
	 *		 	無効フラグ				MK_FLG
	 *		 	登録運用年月日				ADD_UNYO_YMD
	 *		 	登録処理ＩＤ				ADD_TRN_ID
	 *		 	更新運用年月日				UPD_UNYO_YMD
	 *		 	更新処理ＩＤ				UPD_TRN_ID
	 *		 	削除運用年月日				DEL_UNYO_YMD
	 *		 	削除処理ＩＤ				DEL_TRN_ID
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_OP_SVC_KEI_PKINSERT(Object[] setParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("OP_SVC_KEI_NO", setParam[0]);
		setMap.setValue("GENE_ADD_DTM", setParam[1]);
		setMap.setValue("OP_SVC_KEI_STAT", setParam[2]);
		setMap.setValue("OP_SVC_CD", setParam[3]);
		setMap.setValue("PCRS_CD", setParam[4]);
		setMap.setValue("PPLAN_CD", setParam[5]);
		setMap.setValue("OYA_KEI_SKBT_CD", setParam[6]);
		setMap.setValue("SVC_KEI_NO", setParam[7]);
		setMap.setValue("SVC_KEI_UCWK_NO", setParam[8]);
		setMap.setValue("HOJIN_SVC_KEI_UK_NO", setParam[9]);
		setMap.setValue("SYSID", setParam[10]);
		setMap.setValue("MSKM_DTL_NO", setParam[11]);
		setMap.setValue("FTRIAL_KANYU_YMD", setParam[12]);
		setMap.setValue("FTRIAL_PRD_ENDYMD", setParam[13]);
		setMap.setValue("HONKANYU_YMD", setParam[14]);
		setMap.setValue("HONKANYU_IKO_KIGEN_YMD", setParam[15]);
		setMap.setValue("SVC_USE_STA_KIBO_YMD", setParam[16]);
		setMap.setValue("RSV_TSTA_KIBO_YMD", setParam[17]);
		setMap.setValue("OP_SVC_KEI_KZKWRK_REQYMD", setParam[18]);
		setMap.setValue("SHOSA_YMD", setParam[19]);
		setMap.setValue("SHOSA_CL_YMD", setParam[20]);
		setMap.setValue("SKEKKA_SEND_CD", setParam[21]);
		setMap.setValue("KEI_CNC_YMD", setParam[22]);
		setMap.setValue("RSV_APLY_YMD", setParam[23]);
		setMap.setValue("RSV_CL_YMD", setParam[24]);
		setMap.setValue("RSV_APLY_CD", setParam[25]);
		setMap.setValue("PLAN_STAYMD", setParam[26]);
		setMap.setValue("PLAN_ENDYMD", setParam[27]);
		setMap.setValue("PLAN_CHRG_STAYMD", setParam[28]);
		setMap.setValue("PLAN_CHRG_ENDYMD", setParam[29]);
		setMap.setValue("PLAN_END_SBT_CD", setParam[30]);
		setMap.setValue("SVC_CANCEL_YMD", setParam[31]);
		setMap.setValue("SVC_CANCEL_RSN_CD", setParam[32]);
		setMap.setValue("SVC_STAYMD", setParam[33]);
		setMap.setValue("SVC_STA_HMS", setParam[34]);
		setMap.setValue("DSP_SVCTK_STAYMD", setParam[35]);
		setMap.setValue("SVC_CHRG_STAYMD", setParam[36]);
		setMap.setValue("SVC_STP_YMD", setParam[37]);
		setMap.setValue("SVC_STP_RSN_CD", setParam[38]);
		setMap.setValue("SVC_STP_RLS_YMD", setParam[39]);
		setMap.setValue("SVC_STP_RLS_RSN_CD", setParam[40]);
		setMap.setValue("PAUSE_STP_CD", setParam[41]);
		setMap.setValue("SVC_PAUSE_YMD", setParam[42]);
		setMap.setValue("SVC_PAUSE_RSN_CD", setParam[43]);
		setMap.setValue("SVC_PAUSE_RSN_MEMO", setParam[44]);
		setMap.setValue("SVC_PAUSE_RLS_YMD", setParam[45]);
		setMap.setValue("SVC_PAUSE_RLS_RSN_CD", setParam[46]);
		setMap.setValue("SVC_PAUSE_RLS_RSN_MEMO", setParam[47]);
		setMap.setValue("SVC_ENDYMD", setParam[48]);
		setMap.setValue("SVC_END_HMS", setParam[49]);
		setMap.setValue("SVC_CHRG_ENDYMD", setParam[50]);
		setMap.setValue("SVC_DSL_YMD", setParam[51]);
		setMap.setValue("SVC_DLRE_CD", setParam[52]);
		setMap.setValue("SVC_DLRE_MEMO", setParam[53]);
		setMap.setValue("DSL_TNT_USER_ID", setParam[54]);
		setMap.setValue("SVC_DSL_TTDKI_FIN_FLG", setParam[55]);
		setMap.setValue("KAIHK_YMD", setParam[56]);
		setMap.setValue("SVC_CANCEL_CL_YMD", setParam[57]);
		setMap.setValue("SVC_DSL_CL_YMD", setParam[58]);
		setMap.setValue("CHRG_STA_YMD_HOSEI_UM", setParam[59]);
		setMap.setValue("SVC_PAUSE_CHRG_STA_YMD", setParam[60]);
		setMap.setValue("OP_SVC_KEI_HKHASYMD", setParam[61]);
		setMap.setValue("PNLTY_HASSEI_CD", setParam[62]);
		setMap.setValue("IDO_DIV", setParam[63]);
		setMap.setValue("SHOSA_DSL_FIN_CD", setParam[64]);
		setMap.setValue("SVCTK_BUT_DEL_TRN_JSSI_DTM", setParam[65]);
		setMap.setValue("ADD_DTM", setParam[66]);
		setMap.setValue("ADD_OPEACNT", setParam[67]);
		setMap.setValue("UPD_DTM", setParam[68]);
		setMap.setValue("UPD_OPEACNT", setParam[69]);
		setMap.setValue("DEL_DTM", setParam[70]);
		setMap.setValue("DEL_OPEACNT", setParam[71]);
		setMap.setValue("MK_FLG", setParam[72]);
		setMap.setValue("ADD_UNYO_YMD", setParam[73]);
		setMap.setValue("ADD_TRN_ID", setParam[74]);
		setMap.setValue("UPD_UNYO_YMD", setParam[75]);
		setMap.setValue("UPD_TRN_ID", setParam[76]);
		setMap.setValue("DEL_UNYO_YMD", setParam[77]);
		setMap.setValue("DEL_TRN_ID", setParam[78]);
	
		// DBアクセスを実行します
		db_KK_T_OP_SVC_KEI.insertByPrimaryKeys(setMap);
	}

	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	OP_SVC_KEI_NO
	 *		 	GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_OPSVKEI_ISP_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("OP_SVC_KEI_NO", whereParam[0]);
		whereMap.setValue("GENE_ADD_DTM", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_OPSVKEI_ISP.selectByPrimaryKeys(whereMap);
	}

	/**
	 * SQLKEY(KK_SELECT_001)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	エイジング種別コード
	 *		 	エイジング対象値
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_T_AGING_KK_SELECT_001(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_ZM_T_AGING_001.selectBySqlDefine(paramList, ZM_T_AGING_KK_SELECT_001);
	}

	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	エイジングステータス				AGING_STAT
	 *		 	使用終了年月日時分秒				USE_END_DTM
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	AGING_NO
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeZM_T_AGING_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("AGING_STAT", setParam[0]);
		setMap.setValue("USE_END_DTM", setParam[1]);
	
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("AGING_NO", whereParam[0]);

		// DBアクセスを実行します
		db_ZM_T_AGING.updateByPrimaryKeys(whereMap, setMap);
	}

	/**
	 * SQLKEY(KK_SELECT_027)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	申込明細番号
	 *		 	サービス契約内訳番号
	 *		 	異動区分
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_IDO_RSV_KK_SELECT_027(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_KK_T_IDO_RSV_027.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_027);
	}

	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	異動予約反映年月日				IDO_RSV_HANEI_YMD
	 *		 	異動予約状態コード				IDO_RSV_STAT_CD
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	IDO_RSV_NO
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_IDO_RSV_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("IDO_RSV_HANEI_YMD", setParam[0]);
		setMap.setValue("IDO_RSV_STAT_CD", setParam[1]);
	
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("IDO_RSV_NO", whereParam[0]);

		// DBアクセスを実行します
		db_KK_T_IDO_RSV.updateByPrimaryKeys(whereMap, setMap);
	}

	/**
	 * SQLKEY(KK_SELECT_013)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	申込明細番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_MSKM_KK_SELECT_013(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_MSKM.selectBySqlDefine(paramList, KK_T_MSKM_KK_SELECT_013);
	}
	
	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SVC_KEI_NO
	 *		 	GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_T_SVC_KEI_EOH_TV_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SVC_KEI_NO", whereParam[0]);
		whereMap.setValue("GENE_ADD_DTM", whereParam[1]);

		// DBアクセスを実行します
		return db_KK_T_SVC_KEI_EOH_TV.selectByPrimaryKeys(whereMap);
	}

	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	再送信提供サービス種別コード				RE_SEND_TK_SVC_SBT_CD
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	SVC_KEI_NO
	 *		 	GENE_ADD_DTM
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_SVC_KEI_EOH_TV_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("RE_SEND_TK_SVC_SBT_CD", setParam[0]);
		// OM-2016-0002522 ADD START
		setMap.setValue("DMPS_ANKEN_NO", setParam[1]);
		// OM-2016-0002522 ADD END
		
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("SVC_KEI_NO", whereParam[0]);
		whereMap.setValue("GENE_ADD_DTM", whereParam[1]);

		// DBアクセスを実行します
		db_KK_T_SVC_KEI_EOH_TV.updateByPrimaryKeys(whereMap, setMap);
	}

// ANK-4673-00-00 ADD START
	/**
	 * SQLKEY(KK_SELECT_005)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_CASCD_KNRI_KK_SELECT_005(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_CASCD_KNRI.selectBySqlDefine(paramList, KK_T_CASCD_KNRI_KK_SELECT_005);
	}
// ANK-4673-00-00 ADD END
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/
	
	/**
	 * 
	 * サービス契約登録処理を行います。
	 * 
	 * @param svcKeiNo_156  入力ファイルのサービス契約番号。
	 * @param idoDiv_156 入力ファイルの異動区分
	 * @param outmap 入出力インターフェースオブジェクト
	 * @param kkTIdoRsvMap_009 入力電文
	 * 
	 * @return svcKei_map サービス契約情報
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface svcKeiInsert(String svcKeiNo_156, String idoDiv_156, JBSbatServiceInterfaceMap outmap, JBSbatCommonDBInterface kkTIdoRsvMap_009, String svcCd_156) throws Exception
	{
		String idoRsvNo = "";					// 異動予約番号
		
		String svcKeiNo_svcKei = "";			// サービス契約番号(サービス契約）
		
		String geneAddDtm_svcKei = "";			// 世代登録年月日時分秒(サービス契約）
		
		
		// サービス契約番号(サービス契約）取得
		svcKeiNo_svcKei = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
		
		// 世代登録年月日時分秒(サービス契約）取得
		geneAddDtm_svcKei = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM));

		// ++++++++++ v20.00.01 削除開始 ++++++++++
//		// 予約適用年月日（異動予約）取得
//		rsvAplyYmd_idoRsv = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD));
		// ++++++++++ v20.00.01 削除終了 ++++++++++
		
		// 異動予約番号（異動予約）取得
		idoRsvNo = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_NO));
		
		// ログレベルがデバッグモードの場合
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("サービス契約番号（サービス契約）：" +  svcKeiNo_svcKei);
			super.logPrint.printDebugLog("世代登録年月日時分秒(サービス契約）：" +  geneAddDtm_svcKei);
			// ++++++++++ v20.00.01 変更開始 ++++++++++
//			super.logPrint.printDebugLog("予約適用年月日（異動予約）：" +  rsvAplyYmd_idoRsv);
			super.logPrint.printDebugLog("予約適用年月日（異動予約）：" + JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD)));
			// ++++++++++ v20.00.01 変更終了 ++++++++++
			super.logPrint.printDebugLog("異動予約番号（異動予約）：" +  idoRsvNo);
			super.logPrint.printDebugLog("サービスコード（サービス契約）：" +  svcCd_156);
		}
		
		// サービス契約検索結果格納マップ
		JBSbatCommonDBInterface svcKei_map = new JBSbatCommonDBInterface();
		
		String[] svcKei_param = new String[2];
		
		// サービス契約検索キー設定
		svcKei_param[0] = svcKeiNo_svcKei;			// サービス契約番号(サービス契約）
		svcKei_param[1] = geneAddDtm_svcKei;		// 世代登録年月日時分秒(サービス契約）
		
		// サービス契約のPK検索を行います
		svcKei_map = executeKK_T_SVC_KEI_PKSELECT(svcKei_param);
		
		// サービス契約のPK検索結果なしの場合、エラーとし処理中断します
		if (null == svcKei_map)
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"サービス契約", "サービス契約番号：" + svcKeiNo_svcKei});
		}
		// サービス契約のPK検索結果ありの場合
		else
		{
			// ++++++++++ v20.00.01 削除開始 ++++++++++
//			// サービス契約．料金グループコード取得
//			prcGrpCd = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD));
			// ++++++++++ v20.00.01 削除終了 ++++++++++
			
			// サービス契約旧コース全項目登録処理呼出
			String sysDate = insertSvcKeiOld(svcKei_map, outmap, idoDiv_156, kkTIdoRsvMap_009);
			
			// サービス契約新コース全項目登録処理呼出
			insertSvcKeiNew(kkTIdoRsvMap_009, svcKei_map, outmap, idoDiv_156, sysDate, svcCd_156);
		}
		return svcKei_map;
	}
	
	/**
	 * 
	 * サービス契約旧コース登録処理を行います。
	 * 
	 * @param svcKeiMap  入力電文。
	 * @param outmap     入出力インターフェイス
	 * @param idoDiv_156 入力ファイルの異動区分
	 * @param idoRsvMap  異動予約情報
	 * 
	 * @return sysDate  システム年月日時分秒
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private String insertSvcKeiOld(JBSbatCommonDBInterface svcKeiMap, JBSbatServiceInterfaceMap outmap, String idoDiv_156, JBSbatCommonDBInterface idoRsvMap) throws Exception
	{
		// システム日付を取得
		String sysDate = JCCBatCommon.getSysDateTimeStamp();
		
		// サービス契約番号を取得
		String svcKeiNo = JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
		
		// ++++++++++ v20.00.01 追加開始 ++++++++++
		// 予約適用年月日（異動予約）取得
		String rsvAplyYmd_idoRsv = JBSbatStringUtil.Rtrim(idoRsvMap.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD));
		// ++++++++++ v20.00.01 削除終了 ++++++++++
		
		// 予約適用年月日-1日
		String rsvAplyYmdBf_1 = "";
		
		// プラン課金終了年月日
		String planChrgEndymd = "";
		
		// 異動区分="00019:住所変更・登録"
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if("00019".equals(idoDiv_156))
		if(JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv_156))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{
			// プラン終了年月日→予約適用年月日（異動予約）-1
			rsvAplyYmdBf_1 = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
			
			// プラン課金終了年月日→予約適用年月日（異動予約）当月末日
			planChrgEndymd = rsvAplyYmd_idoRsv.substring(0, 6) + JBSbatDateUtil.getEndOfMonth(rsvAplyYmd_idoRsv.substring(0, 6));
		}
		else
		{
			// 予約適用年月日（異動予約）-1
			rsvAplyYmdBf_1 = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
			
			// プラン課金終了年月日→予約適用年月日（異動予約）-1日
			planChrgEndymd = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
		}
		super.logPrint.printDebugLog("旧サービス契約登録--異動区分★★★" + idoDiv_156);
		super.logPrint.printDebugLog("旧サービス契約登録--プラン課金終了年月日★★★" + planChrgEndymd);
		
		// 登録するサービス契約のパラメータを設定します
		String [] setParam = {
				svcKeiNo,
				sysDate,
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SYSID)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)),
				JBSbatStringUtil.Rtrim(idoRsvMap.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO)),// 異動予約.申込明細番号
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SEIRI_NO)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.MENKAIHAT_ANKEN_NO)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PRC_GRP_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PCRS_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PPLAN_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.TK_HOSHIKI_KEI_NO)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_USE_STA_KIBO_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.RSV_TSTA_KIBO_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.ID_SOKHOSHO_OUTPUT_YH)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_KZKWRK_REQYMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SHOSA_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SHOSA_CL_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_DTL_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_HOKI_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PAYWAY_KEIZOKU_FLG)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.FTRIAL_KANYU_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.FTRIAL_PRD_ENDYMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.HONKANYU_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.HONKANYU_IKO_KIGEN_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.KEI_CNC_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PLAN_STAYMD)),
				rsvAplyYmdBf_1,
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PLAN_CHRG_STAYMD)),
				planChrgEndymd,
				getPlanEndSbtCdForUpdate(JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT))), // プラン終了種別コード
				opeDate,                                                                                                // 予約適用年月日→運用日
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.RSV_CL_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.RSV_APLY_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CANCEL_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CANCEL_RSN_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_STA_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CHRG_STAYMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.KEIZK_SVC_STAYMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.KEIZK_SVC_CHRG_STAYMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.LETTER_HASSO_SHIWAKE_DIV)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.THNX_LETTER_SHS_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.WEB_OP_ADD_FAIL_FLG)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_STP_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_STP_RSN_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_STP_RLS_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_STP_RLS_RSN_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PAUSE_STP_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_RSN_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_RSN_MEMO)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_RLS_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_RLS_RSN_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_RLS_RSN_MEMO)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_ENDYMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CHRG_ENDYMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_DSL_KISAN_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_DSL_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_DLRE_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_DLRE_MEMO)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_DSL_TTDKI_FIN_FLG)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.KAIHK_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CANCEL_CL_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_DSL_CL_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHGE_MT_HOJINSVKEI_UK_NO)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHGE_MT_HOJINSVKEI_UK_NOPT)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHGE_SK_HOJINSVKEI_UK_NO)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHGE_SK_HOJINSVKEI_UK_NOPT)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHMT_HJIN_EO_YKAE_SVKEI_NO)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHSK_HJIN_EO_YKAE_SVKEI_NO)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.HOJINSVKEI_HKTGI_SBT_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PNLTY_HASSEI_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.PNLTY_CHGE_RSN_CD)),
				JBSbatStringUtil.Rtrim(idoRsvMap.getString(JBSbatKK_T_IDO_RSV.IDO_DIV)),// 異動予約.異動区分
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.CUST_ID_PWD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.MENKAIHAT_ANKEN_KR_ADD_FLG)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.INTR_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SHOSA_DSL_FIN_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.IDO_NG_STAT_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHRG_STA_YMD_HOSEI_UM)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_CHRG_STA_YMD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.WORK_RRK_BIKO)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.AUTO_SHOSA_TRAN_STAT_CD)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.KIKI_MIADD_LIST_OPUTZM_FLG)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.KAIHK_FAIL_KEI_CST_ZM_FLG)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVCTK_BUT_DEL_TRN_JSSI_DTM)),
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.JURYO_CHOK_TCHI_YH)),
				sysDate,
				batchUserId,
				sysDate,
				batchUserId,
				"",
				"",
				// ++++++++++ v20.00.00	 変更開始 ++++++++++
				// "0",
				JBSbatKKConst.MK_FLG_YK,
				// ++++++++++ v20.00.00	 変更終了 ++++++++++
				"",
				"",
				"",
				"",
				"",
				""};
		executeKK_T_SVC_KEI_PKINSERT(setParam);
		
		// サービス契約番号に紐づくサブクラスの登録を行います。
		JKKBatCommon.createSubTypeKK0081(commonItem, svcKeiNo, 
				JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM)), sysDate);
		
		return sysDate;
	}
	
	/**
	 * 
	 * サービス契約新コース登録処理を行います。
	 * 
     * @param kkTIdoRsvMap_009  入力電文(異動予約)。
	 * @param kkSvcKeiMap  入力電文（サービス契約）。
	 * @param outmap 入出力インターフェイス
	 * @param idoDiv_156 入力ファイルの異動区分
	 * @param sysDtm システム年月日時分秒
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private void insertSvcKeiNew(JBSbatCommonDBInterface kkTIdoRsvMap_009, JBSbatCommonDBInterface kkSvcKeiMap, 
			JBSbatServiceInterfaceMap outmap, String idoDiv_156, String sysDtm, String svcCd_156) throws Exception
	{
		/* ++++++++++ v2.00.00 修正開始 ++++++++++ */
		// サービス契約番号
		String svcKeiNo = "";
		
		svcKeiNo = JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
		/* ++++++++++ v2.00.00 修正終了 ++++++++++ */
		
		// 登録を0.001秒遅らせる
		Thread.sleep(1);
		
		// システム日付を取得
		String sysDate = JCCBatCommon.getSysDateTimeStamp();
		
		// プラン課金開始年月日
		String planChrgStaymd = "";

		/* ++++++++++ v20.00.01 追加開始 ++++++++++ */
		// 新料金コースコード（異動予約）取得
		String newPcrsCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD));

		// 予約適用年月日（異動予約）取得
		String rsvAplyYmd_idoRsv = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD));
		/* ++++++++++ v20.00.01 追加終了 ++++++++++ */
		
		// 異動区分="00019:住所変更・登録"
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if("00019".equals(idoDiv_156))
		if(JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv_156))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{
			// プラン課金開始年月日→予約適用年月日（異動予約）翌月月初
			planChrgStaymd = JBSbatDateUtil.adjustMonth(rsvAplyYmd_idoRsv, 1).substring(0, 6) + "01";
		}
		else
		{
			// プラン課金開始年月日→予約適用年月日（異動予約）
			planChrgStaymd = rsvAplyYmd_idoRsv;
		}
		
		super.logPrint.printDebugLog("新サービス契約登録--異動区分★★★" + idoDiv_156);
		super.logPrint.printDebugLog("新サービス契約登録--プラン課金開始年月日★★★" + planChrgStaymd);
		
		// SG1-2013-0000100修正箇所 予約適用日
		
		// 登録するサービス契約のパラメータを設定します
		String [] setParam = {
				svcKeiNo,
				sysDate,
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SYSID)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CD)),
				JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SEIRI_NO)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.MENKAIHAT_ANKEN_NO)),
				JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.NEW_PRC_GRP_CD)),
				JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD)),
				JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.NEW_PPLAN_CD)),
				// OM-2013-0004238対応。提供方式契約番号取得をメソッド化
				getNewTkHoshikiKeiNo(kkSvcKeiMap, kkTIdoRsvMap_009), // 提供方式契約番号
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_USE_STA_KIBO_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.RSV_TSTA_KIBO_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.ID_SOKHOSHO_OUTPUT_YH)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_KZKWRK_REQYMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SHOSA_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SHOSA_CL_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_DTL_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_HOKI_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SKEKKA_SEND_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.PAYWAY_KEIZOKU_FLG)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.FTRIAL_KANYU_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.FTRIAL_PRD_ENDYMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.HONKANYU_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.HONKANYU_IKO_KIGEN_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.KEI_CNC_YMD)),
				rsvAplyYmd_idoRsv,
				"20991231",
				planChrgStaymd,
				"20991231",
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.PLAN_END_SBT_CD)),
				/* ++++++++++ v10.01.01 変更開始 ++++++++++ */
//				getRsvAplyYmdForUpdate(rsvAplyYmd_idoRsv), // 予約適用年月日
				super.opeDate, // 予約適用年月日
				/* ++++++++++ v10.01.01 変更終了 ++++++++++ */
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.RSV_CL_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.RSV_APLY_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CANCEL_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CANCEL_RSN_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_STA_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CHRG_STAYMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.KEIZK_SVC_STAYMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.KEIZK_SVC_CHRG_STAYMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.LETTER_HASSO_SHIWAKE_DIV)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.THNX_LETTER_SHS_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.WEB_OP_ADD_FAIL_FLG)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_STP_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_STP_RSN_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_STP_RLS_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_STP_RLS_RSN_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.PAUSE_STP_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_RSN_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_RSN_MEMO)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_RLS_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_RLS_RSN_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_RLS_RSN_MEMO)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_ENDYMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CHRG_ENDYMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_DSL_KISAN_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_DSL_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_DLRE_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_DLRE_MEMO)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_DSL_TTDKI_FIN_FLG)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.KAIHK_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_CANCEL_CL_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_DSL_CL_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHGE_MT_HOJINSVKEI_UK_NO)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHGE_MT_HOJINSVKEI_UK_NOPT)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHGE_SK_HOJINSVKEI_UK_NO)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHGE_SK_HOJINSVKEI_UK_NOPT)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHMT_HJIN_EO_YKAE_SVKEI_NO)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHSK_HJIN_EO_YKAE_SVKEI_NO)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.HOJINSVKEI_HKTGI_SBT_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.PNLTY_HASSEI_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.PNLTY_CHGE_RSN_CD)),
				JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.IDO_DIV)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SHK_DFLT_PWD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.CUST_ID_PWD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.MENKAIHAT_ANKEN_KR_ADD_FLG)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.INTR_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SHOSA_DSL_FIN_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.IDO_NG_STAT_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.CHRG_STA_YMD_HOSEI_UM)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVC_PAUSE_CHRG_STA_YMD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.WORK_RRK_BIKO)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.AUTO_SHOSA_TRAN_STAT_CD)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.KIKI_MIADD_LIST_OPUTZM_FLG)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.KAIHK_FAIL_KEI_CST_ZM_FLG)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.SVCTK_BUT_DEL_TRN_JSSI_DTM)),
				JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.JURYO_CHOK_TCHI_YH)),
				sysDate,
				batchUserId,
				sysDate,
				batchUserId,
				"",
				"",
				// ++++++++++ v20.00.00	 変更開始 ++++++++++
				// "0",
				JBSbatKKConst.MK_FLG_YK,
				// ++++++++++ v20.00.00	 変更終了 ++++++++++
				"",
				"",
				"",
				"",
				"",
				""};

		executeKK_T_SVC_KEI_PKINSERT(setParam);
		
		/* ++++++++++ v2.00.00 修正開始 ++++++++++ */
		// サービス契約番号に紐づくサブクラスの登録を行います。
		JKKBatCommon.createSubTypeKK0081(commonItem, svcKeiNo, sysDtm, sysDate);
		/* ++++++++++ v2.00.00 修正終了 ++++++++++ */
		
		// サービスコードが「テレビ」且つ、新料金コースコードが「ｅｏ光テレビ再送信」の場合
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if ("03".equals(svcCd_156) && PCRS_CD_EO_TV_SAI_SOSHI.equals(newPcrsCd))
		
		// OM-2016-0002522 MOD START
		// サービスコードが「テレビ」の場合
//		if (JBSbatKKConst.SVC_CD_TV_SVC.equals(svcCd_156) && JBSbatKKConst.PCRS_CD_EOH_TV_SAISO.equals(newPcrsCd))
		if (JBSbatKKConst.SVC_CD_TV_SVC.equals(svcCd_156))
		// OM-2016-0002522 MOD END
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{
			String geneAddDtm = JBSbatStringUtil.Rtrim(kkSvcKeiMap.getString(JBSbatKK_T_SVC_KEI.GENE_ADD_DTM));
			
			// 検索条件の設定
			Object[] whereParam = new Object[]{svcKeiNo, geneAddDtm};
			
			super.logPrint.printDebugLog("サービス契約番号:::::" + svcKeiNo);
			super.logPrint.printDebugLog("世代登録年月日時分秒:::::" + geneAddDtm);
			
			// サービス契約＜eo光TV＞情報を取得します。(カレントデータ)
			JBSbatCommonDBInterface out_map = executeKK_T_SVC_KEI_EOH_TV_PKSELECT(whereParam);
			
			// OM-2016-0002522 ADD START
			// 異動予約から、電波障害案件番号を取得する
			String dmpsAnkNo = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString("NEW_DMPS_ANKEN_NO"));
			
			String reSendTkSvcSbtCd;
			// 料金コースが「ｅｏ光テレビ再送信」の場合
			if( JBSbatKKConst.PCRS_CD_EOH_TV_SAISO.equals(newPcrsCd) ){
				reSendTkSvcSbtCd = JBSbatKKConst.CD01163_RE_SEND_TK_SVC_SBT_CD_0;
			}else{
				reSendTkSvcSbtCd = out_map.getString(JBSbatKK_T_SVC_KEI_EOH_TV.RE_SEND_TK_SVC_SBT_CD);
			}
			// OM-2016-0002522 ADD END
			
			// サービス契約＜eo光TV＞登録
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			// updSvcKeiTv(out_map, sysDate, "0");
			// OM-2016-0002522 MOD START
//			updSvcKeiTv(out_map, sysDate, JBSbatKKConst.CD01163_RE_SEND_TK_SVC_SBT_CD_0);
			updSvcKeiTv(out_map, sysDate, reSendTkSvcSbtCd, dmpsAnkNo);
			// OM-2016-0002522 MOD END
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
		}
		/* ++++++++++ v9.00.02 修正開始 ++++++++++ */
		/* OM-2014-0002648 住所変更時にも指示書登録する */
		// 異動区分が「"00009"：コース変更」の場合または「"00019"：住所変更登録」の場合
//		if ("00009".equals(idoDiv_156) )
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if ("00009".equals(idoDiv_156) || "00019".equals(idoDiv_156) )
		if (JBSbatKKConst.CD00576_IDO_DIV_00009.equals(idoDiv_156) || JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv_156) )
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		/* ++++++++++ v9.00.02 修正終了 ++++++++++ */
		{
			// コース変更指示書登録情報ファイル出力項目設定
			outmap.setString(JBSbatKKIFM217.NEW_SVC_KEI_NO, svcKeiNo);				// サービス契約番号
			outmap.setString(JBSbatKKIFM217.NEW_SVC_KEI_GENE_ADD_DTM, sysDate);		// 世代登録年月日時分秒
			outmap.setString(JBSbatKKIFM217.NEW_PCRS_CD, JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD)));	// 料金コースコード
			outmap.setString(JBSbatKKIFM217.OLD_PCRS_CD, JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.OLD_PCRS_CD)));	// 料金コースコード
		}
	}
	
	/**
	 * 
	 * サービス契約＜eo光テレビ＞更新処理を行います。
	 * 
	 * @param svcKei_map  入力電文（サービス契約）。
	 * @param geneAddDtm  世代登録年月日時分秒
	 * @param reSendTkSvcSbtCd 再送信提供サービス種別コード
	 * @param dmpsAnkNo 電波障害案件番号
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	// OM-2016-0002522 MOD START
//	private void updSvcKeiTv(JBSbatCommonDBInterface svcKei_map, String geneAddDtm, String reSendTkSvcSbtCd) throws Exception
	private void updSvcKeiTv(JBSbatCommonDBInterface svcKei_map, String geneAddDtm, String reSendTkSvcSbtCd, String dmpsAnkNo) throws Exception
	// OM-2016-0002522 MOD END
	{
		// サービス契約＜eo光TV＞PK検索結果がある場合
		if(null != svcKei_map)
		{
			String svcKeiNo = svcKei_map.getString(JBSbatKK_T_SVC_KEI_EOH_TV.SVC_KEI_NO);
		
			JBSbatCommonDBInterface map = new JBSbatCommonDBInterface();
			JBSbatCommonDBInterface where_map = new JBSbatCommonDBInterface();
			
			String[] value = null;
			String[] param = null;
			
			where_map.setValue(JBSbatKK_T_SVC_KEI_EOH_TV.SVC_KEI_NO, svcKeiNo);
			where_map.setValue(JBSbatKK_T_SVC_KEI_EOH_TV.GENE_ADD_DTM, geneAddDtm);
			
			// 排他検索を行います
			map = db_KK_T_SVC_KEI_EOH_TV.selectByPrimaryKeysForUpdateWait(where_map);
			
			// 排他検索結果がある場合
			if (null != map)
			{
				// OM-2016-0002522 MOD START
//				value = new String[1];
				value = new String[2];
				// OM-2016-0002522 MOD END
				param = new String[2];
				
				// ++++++++++ v20.00.00	 変更開始 ++++++++++
				// value[0] = "0";
				value[0] = reSendTkSvcSbtCd;
				// ++++++++++ v20.00.00	 変更終了 ++++++++++
				
				// OM-2016-0002522 ADD START
				value[1] = dmpsAnkNo;
				// OM-2016-0002522 ADD END
				
				param[0] = svcKeiNo;
				param[1] = geneAddDtm;
				
				// ログレベルがデバッグモードの場合
				if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
				{
					super.logPrint.printDebugLog("param(サービス契約番号)：" +  param[0]);
					super.logPrint.printDebugLog("param(世代登録年月日時分秒)：" +  param[0]);
					super.logPrint.printDebugLog("サービス契約＜eo光TV＞更新：value(再送信提供サービス種別コード)：" +  value[0]);
					// OM-2016-0002522 ADD START
					super.logPrint.printDebugLog("サービス契約＜eo光TV＞更新：value(電波障害案件番号)：" +  value[1]);
					// OM-2016-0002522 ADD END
				}
				executeKK_T_SVC_KEI_EOH_TV_PKUPDATE(value, param);
			}
			// 排他エラーの場合
			else
			{
				// 該当レコード無しのエラー
				throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
						new String[]{"サービス契約＜eo光TV＞", "サービス契約番号" + svcKeiNo});
			}
		}

	}
	
	/**
	 * 
	 * サービス契約内訳登録処理(インターネット)を行います。
	 * 
	 * @param svcKeiUcwkNo_156    入力ファイルのサービス契約内訳番号
	 * @param geneAddDtm_156      入力ファイルの世代登録年月日時分秒
	 * @param idoDiv_156          入力ファイルの異動区分
	 * @param outmap              入出力インターフェイス
	 * @param kkTIdoRsvMap        入力電文（異動予約）
	 * 
	 * @return svcKeiUcwk_map    サービス契約内訳情報
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface svcKeiUcwkInsertNet(String svcKeiUcwkNo_156, String geneAddDtm_156, String idoDiv_156, JBSbatServiceInterfaceMap outmap, JBSbatCommonDBInterface kkTIdoRsvMap) throws Exception
	{
		// サービス契約内訳検索結果格納マップ
		JBSbatCommonDBInterface svcKeiUcwk_map = null;
		
		String sysDate = "";
		
		String[] svcKeiUcwk_param = new String[2];
		
		// サービス契約内訳（旧コース分）検索キー設定
		svcKeiUcwk_param[0] = svcKeiUcwkNo_156;			// サービス契約内訳番号（コース変更確定対象中間ファイル）
		svcKeiUcwk_param[1] = geneAddDtm_156;			// 世代登録年月日（コース変更確定対象中間ファイル）
		
		// サービス契約内訳のPK検索を行います
		svcKeiUcwk_map = executeKK_T_SVC_KEI_UCWK_PKSELECT(svcKeiUcwk_param);

		// サービス契約内訳のPK検索結果なしの場合、エラーとし処理中断します
		if (null == svcKeiUcwk_map)
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"サービス契約内訳（PK検索）", "サービス契約内訳番号：" + svcKeiUcwkNo_156});
		}
		// サービス契約内訳のPK検索結果ありの場合
		else
		{
			// サービス契約内訳(旧コース)の全項目登録処理呼出
			// ======================= v15.00.00 mod start ======================
//			sysDate = insertSvcKeiUcwkOldNet(svcKeiUcwk_map, idoDiv_156);
			sysDate = insertSvcKeiUcwkOldNet(svcKeiUcwk_map, idoDiv_156, kkTIdoRsvMap);
			// ======================= v15.00.00 mod end ========================
			/* ++++++++++ v9.00.02 修正開始 ++++++++++ */
			/* OM-2014-0002648 住所変更時にも指示書登録する */
			// 異動区分が「"00009"：コース変更」の場合または「"00019"：住所変更登録」の場合
//			if ("00009".equals(idoDiv_156) )
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			// if ("00009".equals(idoDiv_156) || "00019".equals(idoDiv_156) )
			if (JBSbatKKConst.CD00576_IDO_DIV_00009.equals(idoDiv_156) || JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv_156) )
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
			/* ++++++++++ v9.00.02 修正終了 ++++++++++ */
			{
				// コース変更指示書登録情報ファイル出力項目設定
				outmap.setString(JBSbatKKIFM217.OLD_SVC_KEI_UCWK_NO, svcKeiUcwkNo_156);		// サービス契約内訳番号（旧）
				outmap.setString(JBSbatKKIFM217.OLD_SVC_KEI_UCWK_GENE_ADD_DTM, sysDate);	// 世代登録年月日時分秒（旧）
			}
		}
		
		return svcKeiUcwk_map;
	}
	
	/**
	 * 
	 * サービス契約内訳の検索処理を行います。
	 * 
	 * @param  outmap             出力インターフェースオブジェクト
	 * @param  svcKeiNo           サービス契約番号の値
	 * @param  svcKeiUcwkNo       サービス契約内訳番号の値
	 * @param  idoDiv_156         入力ファイルの異動区分
	 * 
	 * @throws Exception   業務サービス内で発生した例外全般。
	 */
	private void selectSvKeiUw(JBSbatServiceInterfaceMap outmap, JBSbatCommonDBInterface kkTIdoRsvMap, String svcKeiNo, String svcKeiUcwkNo, String idoDiv_156) throws Exception
	{
		String svcKeiUcwkNo1         = "";		// サービス契約内訳番号１
		String geneAddDtm1           = "";		// 世代登録年月日１
		
		// SQL実行結果取得値格納用（サービス契約内訳取得）
		JBSbatCommonDBInterface kktSvKeiUwMap_036 = null; 
		
		String [] whereParam = {svcKeiNo, svcKeiUcwkNo, svcKeiNo, svcKeiUcwkNo};
		
		// サービス契約内訳検索実行
		executeKK_T_SVC_KEI_UCWK_KK_SELECT_036(whereParam);
		
		// サービス契約内訳検索結果の次レコード取得
		kktSvKeiUwMap_036 = db_KK_T_SVC_KEI_UCWK.selectNext();
					
		// サービス契約内訳検索結果数が0の場合
		if(null == kktSvKeiUwMap_036)
		{
			svcKeiUcwkNo1 = "";		// サービス契約内訳番号１
			geneAddDtm1 = "";		// 世代登録年月日１
		}
		// サービス契約内訳検索結果数が有る場合
		else
		{
			svcKeiUcwkNo1 = JBSbatStringUtil.Rtrim(
					kktSvKeiUwMap_036.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO));		// サービス契約内訳番号
			
			geneAddDtm1 = JBSbatStringUtil.Rtrim(
					kktSvKeiUwMap_036.getString(JBSbatKK_T_SVC_KEI_UCWK.GENE_ADD_DTM));			// 世代登録年月日
			
			// サービス契約内訳検索結果格納マップ
			JBSbatCommonDBInterface svcKeiUcwk_map = null;
			
			String[] svcKeiUcwk_param = new String[2];
			
			// サービス契約内訳（新コース分）検索キー設定
			svcKeiUcwk_param[0] = svcKeiUcwkNo1;		// サービス契約内訳番号
			svcKeiUcwk_param[1] = geneAddDtm1;			// 世代登録年月日
			
			// サービス契約内訳のPK検索を行います
			svcKeiUcwk_map = executeKK_T_SVC_KEI_UCWK_PKSELECT2(svcKeiUcwk_param);

			// サービス契約内訳のPK検索結果なしの場合、エラーとし処理中断します
			if (null == svcKeiUcwk_map)
			{
				throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
						new String[]{"サービス契約内訳（PK検索）", "サービス契約内訳番号：" + svcKeiUcwkNo1});
			}
			// サービス契約内訳のPK検索結果ありの場合
			else
			{
				/* ++++++++++ v9.00.02 修正開始 ++++++++++ */
				/* OM-2014-0002648 住所変更時にも指示書登録する */
				// 異動区分が「"00009"：コース変更」の場合または「"00019"：住所変更登録」の場合
//				if ("00009".equals(idoDiv_156) )
				// ++++++++++ v20.00.00	 変更開始 ++++++++++
				// if ("00009".equals(idoDiv_156) || "00019".equals(idoDiv_156))
				if (JBSbatKKConst.CD00576_IDO_DIV_00009.equals(idoDiv_156) || JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv_156))
				// ++++++++++ v20.00.00	 変更終了 ++++++++++
				/* ++++++++++ v9.00.02 修正終了 ++++++++++ */
				{
					// 「コース変更指示書登録情報ファイル」へ項目設定
					outmap.setString(JBSbatKKIFM217.NEW_SVC_KEI_UCWK_NO, svcKeiUcwkNo1);					// サービス契約内訳番号（新）
					outmap.setString(JBSbatKKIFM217.NEW_SVC_KEI_UCWK_GENE_ADD_DTM, geneAddDtm1);			// 世代登録年月日（新）
				}
			}
		}
		
		
		
		// ログレベルがデバッグモードの場合
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("サービス契約内訳検索（サービス契約内訳番号１）：" +  svcKeiUcwkNo1);
			super.logPrint.printDebugLog("サービス契約内訳検索（世代登録年月日１）：" +  geneAddDtm1);
		}
	}
	
	/**
	 * 
	 * サービス契約内訳登録処理(テレビ)を行います。
	 * 
	 * @param svcKeiNo_156        入力ファイルのサービス契約番号
	 * @param idoDiv_156          入力ファイルの異動区分
	 * @param kkTIdoRsvMap        入力電文（異動予約）
	 * @param svcKei_map          入力電文（サービス契約）
	 * @param sysId               SYSID
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private void svcKeiUcwkInsertTv(String svcKeiNo_156, String idoDiv_156, JBSbatCommonDBInterface kkTIdoRsvMap, JBSbatCommonDBInterface svcKei_map, String sysId) throws Exception
	{
		String svcKeiUcwkNo = "";	// サービス契約内訳番号

		/* ++++++++++ v20.00.01 削除開始 ++++++++++ */
//		String geneAddDtm = "";		// 世代登録年月日時分秒
		/* ++++++++++ v20.00.01 削除終了 ++++++++++ */
		
		// SQL実行結果取得用mapを生成（サービス契約内訳（旧コース分）スキーマ取得）
		JBSbatCommonDBInterface kktkSvcKeiUcwkMap_084 = new JBSbatCommonDBInterface();
		
		// =========== OM-2014-0000772対応 start =============
		// 検索条件見直しによる引数変更
//		String [] kktkSvcKeiUcwk_whereParam = {svcKeiNo_156, idoDiv_156, this.opeDate};
		String [] kktkSvcKeiUcwk_whereParam = {svcKeiNo_156, this.opeDate};
		// =========== OM-2014-0000772対応 start =============
		
		// サービス契約内訳検索：SQL定義キー（KK_T_SVC_KEI_UCWK_KK_SELECT_084）を実行する。
		executeKK_T_SVC_KEI_UCWK_KK_SELECT_084(kktkSvcKeiUcwk_whereParam);
		
		kktkSvcKeiUcwkMap_084 = db_KK_T_SVC_KEI_UCWK_084.selectNext();
		
		// サービス契約内訳検索結果がない場合
		if (null == kktkSvcKeiUcwkMap_084)
		{
			// 検索結果が無い場合は「サービス契約内訳登録」処理無しで、下記のログ出力する。
			super.logPrint.printDebugLog("サービス契約内訳テーブルにサービス契約番号：" + svcKeiNo_156 +  "が存在しません。");
		}
		// サービス契約内訳検索結果がある場合
		else
		{
			// サービス契約内訳検索結果が「NULL」でない間の繰返し
			while(null != kktkSvcKeiUcwkMap_084)
			{
				// サービス契約内訳番号取得
				svcKeiUcwkNo = JBSbatStringUtil.Rtrim(kktkSvcKeiUcwkMap_084.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO));
				/* ++++++++++ v20.00.01 削除開始 ++++++++++ */
//				// 世代登録年月日時分秒取得
//				geneAddDtm = JBSbatStringUtil.Rtrim(kktkSvcKeiUcwkMap_084.getString(JBSbatKK_T_SVC_KEI_UCWK.GENE_ADD_DTM));
				/* ++++++++++ v20.00.01 削除終了 ++++++++++ */
					
				// ここでのテレビの旧コースレコードはKKPRC02202で登録済みのため不要
//				// サービス契約内訳検索結果格納マップ
//				JBSbatCommonDBInterface svcKeiUcwk_map = null;
//				
//				String[] svcKeiUcwk_param = new String[2];
//				
//				// サービス契約内訳（旧コース分）検索キー設定
//				svcKeiUcwk_param[0] = svcKeiUcwkNo;			// サービス契約内訳番号(サービス契約内訳）
//				svcKeiUcwk_param[1] = geneAddDtm;			// 世代登録年月日時分秒(サービス契約内訳）
//				
//				// サービス契約内訳のPK検索を行います
//				svcKeiUcwk_map = executeKK_T_SVC_KEI_UCWK_PKSELECT(svcKeiUcwk_param);
//	
//				// サービス契約内訳のPK検索結果なしの場合、エラーとし処理中断します
//				if (null == svcKeiUcwk_map)
//				{
//					throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
//							new String[]{"サービス契約内訳", "サービス契約内訳番号：" + svcKeiUcwkNo});
//				}
//				// サービス契約内訳のPK検索結果ありの場合
//				else
//				{
//					// サービス契約内訳の全項目登録処理（旧コース）呼出
//					insertSvcKeiUcwkOldTv(svcKeiUcwk_map, kkTIdoRsvMap);
//					
//					// 機器提供サービス契約登録処理（テレビ）呼出
//					kktkSvcKeiInsertTv2(kkTIdoRsvMap, svcKeiUcwkNo, idoDiv_156);
//				}
				// 機器提供サービス契約登録処理（テレビ）呼出
				kktkSvcKeiInsertTv2(kkTIdoRsvMap, svcKeiUcwkNo, idoDiv_156);
				
				kktkSvcKeiUcwkMap_084 = db_KK_T_SVC_KEI_UCWK_084.selectNext();
			}
		}
	}
	
	/**
	 * 
	 * サービス契約内訳登録処理(テレビ)を行います。
	 * 
	 * @param svcKeiUcwkNo_156        入力ファイルのサービス契約内訳番号
	 * @param sysId                   SYSID
	 * @param idoDiv_156              入力ファイルの異動区分
	 * @param rsvAplyYmd_idoRsv       予約適用年月日（異動予約）
	 * 
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//	private void svcKeiUcwkInsertTv2(String mskmDtlNo_156, String sysId, String idoDiv_156) throws Exception
	private void svcKeiUcwkInsertTv2(String mskmDtlNo_156, String sysId, String idoDiv_156, String rsvAplyYmd_idoRsv) throws Exception
	/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
	{

		// SQL実行結果取得用mapを生成（異動予約スキーマ取得）
		JBSbatCommonDBInterface idoRsvMap_044 = new JBSbatCommonDBInterface(); 
		
		String [] whereKkTIdoRsvParam = {mskmDtlNo_156, this.opeDate};
		
		// 異動予約検索：SQL定義キー（KK_T_IDO_RSV_KK_SELECT_016）を実行する。
		executeKK_T_IDO_RSV_KK_SELECT_044(whereKkTIdoRsvParam);
		
		idoRsvMap_044 = db_KK_T_IDO_RSV_044.selectNext();
		
		// 異動予約検索：SQL定義キー（KK_T_IDO_RSV_KK_SELECT_016）結果がある場合
		if(null != idoRsvMap_044)
		{
			// 異動予約検索結果が「NULL」でない間の繰返し
			while(null != idoRsvMap_044)
			{
				// サービス契約内訳番号
				String svcKeiUcwkNo = JBSbatStringUtil.Rtrim(idoRsvMap_044.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO));
				// 世代登録年月日
				String geneAddDtm = JBSbatStringUtil.Rtrim(idoRsvMap_044.getString(JBSbatKK_T_SVC_KEI_UCWK.GENE_ADD_DTM));
				
				// サービス契約内訳検索結果格納マップ
				JBSbatCommonDBInterface svcKeiUcwk_map = null;
				
				String[] svcKeiUcwk_param = new String[2];
				
				// サービス契約内訳（旧コース分）検索キー設定
				svcKeiUcwk_param[0] = svcKeiUcwkNo;			// サービス契約内訳番号(サービス契約内訳）
				svcKeiUcwk_param[1] = geneAddDtm;			// 世代登録年月日時分秒(サービス契約内訳）
				
				// サービス契約内訳のPK検索を行います
				svcKeiUcwk_map = executeKK_T_SVC_KEI_UCWK_PKSELECT2(svcKeiUcwk_param);
				
				// サービス契約内訳のPK検索結果なしの場合、エラーとし処理中断します
				if (null == svcKeiUcwk_map)
				{
					throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
							new String[]{"サービス契約内訳", "サービス契約内訳番号：" + svcKeiUcwkNo});
				}
				// サービス契約内訳のPK検索結果ありの場合
				else
				{
					// サービス契約内訳の全項目登録処理（旧コース）呼出
					String sysDate = insertSvcKeiUcwkOldTv(svcKeiUcwk_map, idoRsvMap_044);
					
					//入出力インターフェースオブジェクトを生成(コース変更確定割引サービス情報ファイル(サービス契約内訳)）
					JBSbatServiceInterfaceMap crsChgFixTgOutUcwkmap = new JBSbatServiceInterfaceMap();
					
					// 割引サービス自動適用CC（サービス契約内訳番号情報）情報設定
					/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//					crsChgFixTgOutUcwkmap = setWriSvcAutoAplySvcKeiUcwk(crsChgFixTgOutUcwkmap, idoRsvMap_044, svcKeiUcwk_map, idoDiv_156, sysId, false);
					crsChgFixTgOutUcwkmap =
							setWriSvcAutoAplySvcKeiUcwk(crsChgFixTgOutUcwkmap, idoRsvMap_044, svcKeiUcwk_map, idoDiv_156, sysId, false,
									rsvAplyYmd_idoRsv);
					/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
					
					// 出力フラグを設定
					crsChgFixTgOutUcwkmap.setOutFlg(true);
					
					// 出力共通電文に「コース変更確定割引サービス情報ファイル」の設定
					outputBean.addOutMapList_2(crsChgFixTgOutUcwkmap);
					
					// サービス契約内訳の全項目登録処理（新コース）呼出
					insertSvcKeiUcwkNewTv(svcKeiUcwk_map, idoRsvMap_044, sysDate);
				}
				idoRsvMap_044 = db_KK_T_IDO_RSV_044.selectNext();
			}
			
		}
	}
	
	/**
	 * 
	 * サービス契約内訳登録処理(テレビ)を行います。
	 * 
	 * @param svcKeiUcwkNo_156        入力ファイルのサービス契約内訳番号
	 * @param sysId                   SYSID
	 * @param idoDiv_156              入力ファイルの異動区分
	 * @param inSvcKeiUcwkNo          入力ファイルのサービス契約内訳番号
	 * @param idoRsvNo_156            入力ファイルの異動予約番号
	 * 
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	// ++++++++++ v20.00.01 変更開始 ++++++++++
//	private JBSbatCommonDBInterface svcKeiUcwkInsertTvIdoRsv(String mskmDtlNo_156, String sysId, String idoDiv_156, String inSvcKeiUcwkNo) throws Exception
	private JBSbatServiceInterfaceMap svcKeiUcwkInsertTvIdoRsv(String mskmDtlNo_156, String sysId, String idoDiv_156, String inSvcKeiUcwkNo,
			String idoRsvNo_156) throws Exception
	// ++++++++++ v20.00.01 変更終了 ++++++++++
	{

		// SQL実行結果取得用mapを生成（異動予約スキーマ取得）
		JBSbatCommonDBInterface idoRsvMap_044 = new JBSbatCommonDBInterface(); 
		
		String [] whereKkTIdoRsvParam = {mskmDtlNo_156, this.opeDate};
		
		// 異動予約検索：SQL定義キー（KK_T_IDO_RSV_KK_SELECT_016）を実行する。
		executeKK_T_IDO_RSV_KK_SELECT_044(whereKkTIdoRsvParam);
		
		idoRsvMap_044 = db_KK_T_IDO_RSV_044.selectNext();
		
		// サービス契約内訳検索結果格納マップ
		JBSbatCommonDBInterface svcKeiUcwk_map = null;

		// ++++++++++ v20.00.01 追加開始 ++++++++++
		String rsvAplyYmd_idoRsv = "";
		// ++++++++++ v20.00.01 追加終了 ++++++++++
		
		// 異動予約検索：SQL定義キー（KK_T_IDO_RSV_KK_SELECT_016）結果がある場合
		if(null != idoRsvMap_044)
		{
			// 異動予約検索結果が「NULL」でない間の繰返し
			while(null != idoRsvMap_044)
			{
				// サービス契約内訳番号
				String svcKeiUcwkNo = JBSbatStringUtil.Rtrim(idoRsvMap_044.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO));
				
				// サービス契約内訳結果のサービス契約内訳番号が引数のサービス契約内訳番号と一致しない場合は次レコードへ（対象のサービス契約内訳のみ処理する）
				if (!svcKeiUcwkNo.equals(inSvcKeiUcwkNo))
				{
					idoRsvMap_044 = db_KK_T_IDO_RSV_044.selectNext();
					continue;
				}
				
				// 世代登録年月日
				String geneAddDtm = JBSbatStringUtil.Rtrim(idoRsvMap_044.getString(JBSbatKK_T_SVC_KEI_UCWK.GENE_ADD_DTM));
				
				// 予約適用年月日
				rsvAplyYmd_idoRsv = JBSbatStringUtil.Rtrim(idoRsvMap_044.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD));
				
				String[] svcKeiUcwk_param = new String[2];
				
				// サービス契約内訳（旧コース分）検索キー設定
				svcKeiUcwk_param[0] = svcKeiUcwkNo;			// サービス契約内訳番号(サービス契約内訳）
				svcKeiUcwk_param[1] = geneAddDtm;			// 世代登録年月日時分秒(サービス契約内訳）
				
				// サービス契約内訳のPK検索を行います
				svcKeiUcwk_map = executeKK_T_SVC_KEI_UCWK_PKSELECT2(svcKeiUcwk_param);
				
				// サービス契約内訳のPK検索結果なしの場合、エラーとし処理中断します
				if (null == svcKeiUcwk_map)
				{
					throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
							new String[]{"サービス契約内訳", "サービス契約内訳番号：" + svcKeiUcwkNo});
				}
				// サービス契約内訳のPK検索結果ありの場合
				else
				{
					// サービス契約内訳の全項目登録処理（旧コース）呼出
					String sysDate = insertSvcKeiUcwkOldTv(svcKeiUcwk_map, idoRsvMap_044);
					
					// サービス契約内訳の全項目登録処理（新コース）呼出
					insertSvcKeiUcwkNewTv(svcKeiUcwk_map, idoRsvMap_044, sysDate);
				}
				
				idoRsvMap_044 = db_KK_T_IDO_RSV_044.selectNext();
			}
		}

		// ++++++++++ v20.00.01 追加開始 ++++++++++
		if (svcKeiUcwk_map == null)
		{
			return null;
		}

		// 入出力インターフェースオブジェクトを生成(コース変更確定割引サービス情報ファイル）
		JBSbatServiceInterfaceMap crsChgFixTgOutmap = new JBSbatServiceInterfaceMap();

		// 異動予約更新
		JBSbatCommonDBInterface kkTIdoRsvMap = updateIdoRsv(idoRsvNo_156);

		// =======  OM-2013-0004457対応 start =============
		//異動予約状態コードが「"04"（予約対象外）」のデータに予約適用日を設定する
		updateIdoRsvTrgGaiData(mskmDtlNo_156, super.opeDate);
		// =======  OM-2013-0004457対応 end =============

		// 割引サービス自動適用CC（サービス契約内訳情報）情報設定
		crsChgFixTgOutmap = setWriSvcAutoAplySvcKeiUcwk(crsChgFixTgOutmap, kkTIdoRsvMap, svcKeiUcwk_map, idoDiv_156, sysId, true, rsvAplyYmd_idoRsv);
		// ++++++++++ v20.00.01 追加終了 ++++++++++

		// ++++++++++ v20.00.01 変更開始 ++++++++++
//		return svcKeiUcwk_map;
		return crsChgFixTgOutmap;
		// ++++++++++ v20.00.01 変更終了 ++++++++++
	}
	
	/**
	 * 
	 * サービス契約内訳登録処理(テレビ)を行います。
	 * 
	 * @param svcKeiUcwkNo_156        入力ファイルのサービス契約内訳番号
	 * @param kkTIdoRsvMap            入力電文（異動予約）
	 * 
	 * @return svcKeiUcwkMap_083      入力電文（サービス契約内訳）
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface svcKeiUcwkInsertTv3(String svcKeiUcwkNo_156, JBSbatCommonDBInterface kkTIdoRsvMap) throws Exception
	{

		// SQL実行結果取得用mapを生成（サービス契約内訳（旧コース分）スキーマ取得）
		JBSbatCommonDBInterface svcKeiUcwkMap_083 = new JBSbatCommonDBInterface();
		
		String [] svcKeiUcwk_whereParam = {svcKeiUcwkNo_156, super.opeDate};
		
		// サービス契約内訳検索：SQL定義キー（KK_T_SVC_KEI_UCWK_KK_SELECT_083）を実行する。
		executeKK_T_SVC_KEI_UCWK_KK_SELECT_083(svcKeiUcwk_whereParam);
		
		svcKeiUcwkMap_083 = db_KK_T_SVC_KEI_UCWK.selectNext();
		
		// サービス契約内訳検索結果がない場合
		if (null == svcKeiUcwkMap_083)
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"サービス契約内訳", "サービス契約内訳番号：" + svcKeiUcwkNo_156});
		}
		// サービス契約内訳検索結果がある場合
		else
		{
			// サービス契約内訳の全項目登録処理（旧コース）呼出
			String sysDate = insertSvcKeiUcwkOldTv(svcKeiUcwkMap_083, kkTIdoRsvMap);
			
			// サービス契約内訳の全項目登録処理（新コース）呼出
			insertSvcKeiUcwkNewTv(svcKeiUcwkMap_083, kkTIdoRsvMap, sysDate);
		}
		return svcKeiUcwkMap_083;
	}
	
	/**
	 * 
	 * サービス契約内訳旧コース登録処理を行います。
	 * 
	 * @param svcKeiUcwk_map  入力電文（サービス契約内訳）。
	 * @param idoDiv 異動区分
	 * @return sysDate 世代登録年月日時分秒
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	// ====================== v15.00.00 mod start ==========================
//	private String insertSvcKeiUcwkOldNet(JBSbatCommonDBInterface svcKeiUcwk_map, String idoDiv) throws Exception
	private String insertSvcKeiUcwkOldNet(JBSbatCommonDBInterface svcKeiUcwk_map, String idoDiv, JBSbatCommonDBInterface idoRsvMap) throws Exception
	// ====================== v15.00.00 mod end ============================
	{
		// サービス契約内訳番号
		String svcKeiUcwkNo = "";
		
		svcKeiUcwkNo = JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO));
		
		/* ++++++++++ v20.00.01 追加開始 ++++++++++ */
		String rsvAplyYmd_idoRsv = JBSbatStringUtil.Rtrim(idoRsvMap.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD));
		/* ++++++++++ v20.00.01 追加終了 ++++++++++ */
		
		// システム日付を取得
		String sysDate = JCCBatCommon.getSysDateTimeStamp();
		
		// 予約適用年月日
		String rsvAplyYmdBf_1 = "";
		
		// 課金終了年月日
		String chrgEndDay = "";
		
		// 異動区分="住所変更・登録"
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if("00019".equals(idoDiv))
		if(JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv))
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		{
			//  プラン,サービス終了年月日→予約適用年月日-1日
			rsvAplyYmdBf_1 = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
			
			// プラン,サービス課金終了年月日→予約適用年月日月末日
			chrgEndDay = rsvAplyYmd_idoRsv.substring(0, 6) + JBSbatDateUtil.getEndOfMonth(rsvAplyYmd_idoRsv.substring(0, 6));
		}
		else
		{
			//  プラン,サービス終了年月日→予約適用年月日-1日
			rsvAplyYmdBf_1 = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
			
			// プラン,サービス課金終了年月日→予約適用年月日-1日
			chrgEndDay = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
		}
		
		// SG1-2013-0000100修正箇所
		// 登録するサービス契約内訳旧コースのパラメータを設定します
		String [] setParam = {
					svcKeiUcwkNo,
					sysDate,
					// ++++++++++ v20.00.00	 変更開始 ++++++++++
					// "910",
					JBSbatKKConst.SVC_KEI_STAT_DLS_ZM,
					// ++++++++++ v20.00.00	 変更終了 ++++++++++
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_NO)),
					// ======================== v15.00.00 mod start ================================
//					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.MSKM_DTL_NO)),
					JBSbatStringUtil.Rtrim(idoRsvMap.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO)), // 異動予約.申込明細番号
					// ======================== v15.00.00 mod end ==================================
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PCRS_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PPLAN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.TK_HOSHIKI_KEI_NO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PAYWAY_KEIZOKU_FLG)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.WEB_OP_ADD_FAIL_FLG)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.WORK_RRK_BIKO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_USE_STA_KIBO_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_UEST_KBTMZ_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_UEST_KBTM_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.RSV_TSTA_KIBO_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SKEKKA_SEND_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_KZKWRK_REQYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SHOSA_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SHOSA_CL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.FTRIAL_KANYU_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.FTRIAL_PRD_ENDYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.HONKANYU_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.HONKANYU_IKO_KIGEN_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.KEI_CNC_YMD)),
					super.opeDate, // 予約適用年月日
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.RSV_CL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.RSV_APLY_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PLAN_STAYMD)),
					rsvAplyYmdBf_1, // プラン終了年月日
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PLAN_CHRG_STAYMD)),
					chrgEndDay, // プラン課金終了年月日
					getPlanEndSbtCdForUpdate("910"), // プラン終了種別コード
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CANCEL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CANCEL_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STA_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CHRG_STAYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STP_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STP_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STP_RLS_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STP_RLS_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PAUSE_STP_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RSN_MEMO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RLS_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RLS_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RLS_RSN_MEMO)),
					rsvAplyYmdBf_1, // サービス終了年月日
					chrgEndDay, // サービス課金終了年月日
					JBSbatDateUtil.adjustDate(rsvAplyYmdBf_1, 1),   // サービス解約起算年月日
					JBSbatDateUtil.adjustDate(rsvAplyYmdBf_1, 1),   // サービス解約年月日
					// ++++++++++ v20.00.00	 変更開始 ++++++++++
					// SVC_DLRE_CD_TUJYO_DSL,   // サービス解約理由コード
					JBSbatKKConst.SVC_DLRE_CD_NORMAL,
					// ++++++++++ v20.00.00	 変更終了 ++++++++++
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DLRE_MEMO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DSL_TTDKI_FIN_FLG)),
					// OM-2014-0000400対応
//					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.KAIHK_YMD)),
					"", // 回復年月日
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CANCEL_CL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DSL_CL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVKEIUW_HKHASYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.CHRG_STA_YMD_HOSEI_UM)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_CHRG_STA_YMD)),
					// ++++++++++ v20.00.00	 変更開始 ++++++++++
					// "0",   // 違約金発生コード
					JBSbatKKConst.CD01375_PNLTY_HASSEI_CD_0,
					// ++++++++++ v20.00.00	 変更終了 ++++++++++
					// ======================== v15.00.00 mod start ================================
//					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.IDO_DIV)),
					JBSbatStringUtil.Rtrim(idoRsvMap.getString(JBSbatKK_T_IDO_RSV.IDO_DIV)), // 異動予約.異動区分
					// ======================== v15.00.00 mod end ==================================
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SHOSA_DSL_FIN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVCTK_BUT_DEL_TRN_JSSI_DTM)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_AF_KEI_CHGECHU_FLG)),
					"",
					"",
					"",
					"",
					"",
					"",
					// ++++++++++ v20.00.00	 変更開始 ++++++++++
					// "0",
					JBSbatKKConst.MK_FLG_YK,
					// ++++++++++ v20.00.00	 変更終了 ++++++++++
					"",
					"",
					"",
					"",
					"",
					""
					};
		
		executeKK_T_SVC_KEI_UCWK_PKINSERT(setParam);
		
		// サービス契約内訳番号に紐づくサブクラスの登録を行います。
		JKKBatCommon.createSubTypeKK0161(commonItem, svcKeiUcwkNo, 
				JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.GENE_ADD_DTM)), sysDate);
		
		return sysDate;
	}
	
	/**
	 * 
	 * サービス契約内訳旧コース登録処理(TV)を行います。
	 * 
	 * @param svcKeiUcwk_map  入力電文（サービス契約内訳）
	 * @param kkTIdoRsvMap    入力電文（異動予約）
	 * 
	 * @return sysDate        システム日時
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private String insertSvcKeiUcwkOldTv(JBSbatCommonDBInterface svcKeiUcwk_map, JBSbatCommonDBInterface kkTIdoRsvMap) throws Exception
	{
		// サービス契約内訳番号
		String svcKeiUcwkNo = "";
		
		// プラン課金終了年月日
		String planchgEndymd = "";
		
		// 予約適用年月日ー１
		String rsvAplyDtAddBf_1 = "";

		/* ++++++++++ v20.00.01 追加開始 ++++++++++ */
		String rsvAplyYmd_idoRsv = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD));
		/* ++++++++++ v20.00.01 追加終了 ++++++++++ */
		
		// 予約適用年月日 - 1日取得
		rsvAplyDtAddBf_1 = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
		
		svcKeiUcwkNo = JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO));
		
		// 異動区分
		String idoDiv = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.IDO_DIV));
		
		// 異動区分="00019:住所変更・登録"
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if("00019".equals(idoDiv))
		if(JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{
			// プラン課金終了年月日→予約適用年月日の月末日
			planchgEndymd = rsvAplyYmd_idoRsv.substring(0, 6) + JBSbatDateUtil.getEndOfMonth(rsvAplyYmd_idoRsv.substring(0, 6));
		}
		else
		{
			// プラン課金終了年月日
			planchgEndymd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.PLAN_CHRG_ENDYMD));
		}
		
		if("".equals(planchgEndymd))
		{
			planchgEndymd = rsvAplyDtAddBf_1;
		}
		
		// システム日付を取得
		String sysDate = JCCBatCommon.getSysDateTimeStamp();
		
		// SG1-2013-0000100修正箇所
		// 登録するサービス契約内訳旧コースのパラメータを設定します
		String [] setParam = {
					svcKeiUcwkNo,
					sysDate,
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_NO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.MSKM_DTL_NO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PCRS_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PPLAN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.TK_HOSHIKI_KEI_NO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PAYWAY_KEIZOKU_FLG)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.WEB_OP_ADD_FAIL_FLG)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.WORK_RRK_BIKO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_USE_STA_KIBO_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_UEST_KBTMZ_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_UEST_KBTM_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.RSV_TSTA_KIBO_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SKEKKA_SEND_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_KZKWRK_REQYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SHOSA_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SHOSA_CL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.FTRIAL_KANYU_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.FTRIAL_PRD_ENDYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.HONKANYU_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.HONKANYU_IKO_KIGEN_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.KEI_CNC_YMD)),
					super.opeDate,// 予約適用年月日
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.RSV_CL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.RSV_APLY_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PLAN_STAYMD)),
					rsvAplyDtAddBf_1,
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PLAN_CHRG_STAYMD)),
					planchgEndymd,
					getPlanEndSbtCdForUpdate(JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT))), // プラン終了種別コード
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CANCEL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CANCEL_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STA_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CHRG_STAYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STP_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STP_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STP_RLS_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STP_RLS_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PAUSE_STP_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RSN_MEMO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RLS_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RLS_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RLS_RSN_MEMO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_ENDYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CHRG_ENDYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DSL_KISAN_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DSL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DLRE_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DLRE_MEMO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DSL_TTDKI_FIN_FLG)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.KAIHK_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CANCEL_CL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DSL_CL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVKEIUW_HKHASYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.CHRG_STA_YMD_HOSEI_UM)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_CHRG_STA_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PNLTY_HASSEI_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.IDO_DIV)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SHOSA_DSL_FIN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVCTK_BUT_DEL_TRN_JSSI_DTM)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_AF_KEI_CHGECHU_FLG)),
					"",
					"",
					"",
					"",
					"",
					"",
					// ++++++++++ v20.00.00	 変更開始 ++++++++++
					// "0",
					JBSbatKKConst.MK_FLG_YK,
					// ++++++++++ v20.00.00	 変更終了 ++++++++++
					"",
					"",
					"",
					"",
					"",
					""
					};
		
		executeKK_T_SVC_KEI_UCWK_PKINSERT(setParam);
		
		// サービス契約内訳番号に紐づくサブクラスの登録を行います。
		JKKBatCommon.createSubTypeKK0161(commonItem, svcKeiUcwkNo, 
				JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.GENE_ADD_DTM)), sysDate);
		
		return sysDate;
	}
	
	
	/**
	 * 
	 * サービス契約内訳新コース登録処理(TV)を行います。
	 * 
	 * @param svcKeiUcwk_map  入力電文（サービス契約内訳）
	 * @param kkTIdoRsvMap    入力電文（異動予約）
	 * @param sysDtm          システム年月日時分秒
	 * 
	 * @return sysDate 世代登録年月日時分秒
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private String insertSvcKeiUcwkNewTv(JBSbatCommonDBInterface svcKeiUcwk_map, JBSbatCommonDBInterface kkTIdoRsvMap, String sysDtm) throws Exception
	{
		// サービス契約内訳番号
		String svcKeiUcwkNo = "";
		
		// 登録を0.001秒遅らせる
		Thread.sleep(1);

		// システム日付を取得
		String sysDate = JCCBatCommon.getSysDateTimeStamp();
		
		// 予約適用年月日
		String rsvAplyYmd = "";
		
		// プラン課金開始年月日
		String planchgStaymd = "";
		
		// 異動区分
		String idoDiv = "";
		
		// 申込明細番号
		String mskmDtlNo = "";
		
		// 料金コースコード
		String pCrsCd = "";
		
		// 料金プランコード
		String pPlanCd = "";
		
		// サービス契約内訳番号
		svcKeiUcwkNo = JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO));
		
		//  予約適用年月日
		rsvAplyYmd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD));
		
		// プラン課金開始年月日
		planchgStaymd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.PLAN_CHRG_STAYMD));
		
		// 異動区分
		idoDiv = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV. IDO_DIV));

		/* ++++++++++ v20.00.01 追加開始 ++++++++++ */
		String rsvAplyYmd_idoRsv = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD));
		/* ++++++++++ v20.00.01 追加終了 ++++++++++ */
		
		// 異動区分="00019:住所変更・登録"
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if("00019".equals(idoDiv))
		if(JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{
			// プラン課金開始年月日→予約適用年月日（異動予約）翌月月初
			planchgStaymd = JBSbatDateUtil.adjustMonth(rsvAplyYmd, 1).substring(0, 6) + "01";
		}
		
		// プラン課金開始年月日が空白の場合、異動予約.予約適用年月日
		if("".equals(planchgStaymd))
		{
			planchgStaymd = rsvAplyYmd_idoRsv;
		}
		
		// 申込明細番号
		mskmDtlNo = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV. MSKM_DTL_NO));
		
		// 料金コースコード
		pCrsCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV. NEW_PCRS_CD));
		
		// 料金プランコード
		pPlanCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV. NEW_PPLAN_CD));
		
		// SG1-2013-0000100修正箇所（予約適用年月日）getRsvAplyYmdForUpdate(rsvAplyYmd_idoRsv)
		
		// 登録するサービス契約内訳旧コースのパラメータを設定します
		String [] setParam = {
					svcKeiUcwkNo,
					sysDate,
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_NO)),
					mskmDtlNo,
					pCrsCd,
					pPlanCd,
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.TK_HOSHIKI_KEI_NO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PAYWAY_KEIZOKU_FLG)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.WEB_OP_ADD_FAIL_FLG)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.WORK_RRK_BIKO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_USE_STA_KIBO_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_UEST_KBTMZ_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_UEST_KBTM_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.RSV_TSTA_KIBO_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SKEKKA_SEND_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_KZKWRK_REQYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SHOSA_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SHOSA_CL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.FTRIAL_KANYU_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.FTRIAL_PRD_ENDYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.HONKANYU_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.HONKANYU_IKO_KIGEN_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.KEI_CNC_YMD)),
					super.opeDate, // 予約適用年月日
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.RSV_CL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.RSV_APLY_CD)),
					rsvAplyYmd,
					"20991231",
					planchgStaymd,
					"20991231",
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PLAN_END_SBT_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CANCEL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CANCEL_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STA_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CHRG_STAYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STP_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STP_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STP_RLS_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_STP_RLS_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PAUSE_STP_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RSN_MEMO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RLS_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RLS_RSN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_RLS_RSN_MEMO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_ENDYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CHRG_ENDYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DSL_KISAN_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DSL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DLRE_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DLRE_MEMO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DSL_TTDKI_FIN_FLG)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.KAIHK_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_CANCEL_CL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_DSL_CL_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVKEIUW_HKHASYMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.CHRG_STA_YMD_HOSEI_UM)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_PAUSE_CHRG_STA_YMD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PNLTY_HASSEI_CD)),
					idoDiv,
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SHOSA_DSL_FIN_CD)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVCTK_BUT_DEL_TRN_JSSI_DTM)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_MT_SVC_KEI_UCWK_NO)),
					JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.KEIZK_AF_KEI_CHGECHU_FLG)),
					"",
					"",
					"",
					"",
					"",
					"",
					// ++++++++++ v20.00.00	 変更開始 ++++++++++
					// "0",
					JBSbatKKConst.MK_FLG_YK,
					// ++++++++++ v20.00.00	 変更終了 ++++++++++
					"",
					"",
					"",
					"",
					"",
					""
					};
		
		executeKK_T_SVC_KEI_UCWK_PKINSERT(setParam);
		
		// ++++++++++ v20.00.02 追加開始 ++++++++++
		// 主従切替用異動予約登録部品を呼出
		JBSbatKKTVMainSubSwitch kKTVMainSubSwitch = new JBSbatKKTVMainSubSwitch();
		kKTVMainSubSwitch.tvMainSubSwitch(
				commonItem,
				JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_NO)),
				planchgStaymd,
				// ++++++++++ v23.00.00 追加開始 ++++++++++
				rsvAplyYmd,
				// ++++++++++ v23.00.00 追加終了 ++++++++++
				mskmDtlNo);
		// ++++++++++ v20.00.02 追加終了 ++++++++++
		
		// サービス契約内訳番号に紐づくサブクラスの登録を行います。
		JKKBatCommon.createSubTypeKK0161(commonItem, svcKeiUcwkNo, sysDtm, sysDate);
		
		return sysDate;
	}
	
	/**
	 * 
	 * 機器提供サービス契約登録処理（インターネット）を行います。
	 * 
	 * @param svcKeiNo_156 サービス契約番号
	 * @param idoDiv 異動区分
	 * @param rsvAplyYmd_idoRsv 予約適用年月日
	 * @return kktkSvcKei_map 機器提供サービス契約情報マップ
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//	private JBSbatCommonDBInterface kktkSvcKeiInsertNet(String svcKeiNo_156, String idoDiv) throws Exception
	private JBSbatCommonDBInterface kktkSvcKeiInsertNet(String svcKeiNo_156, String idoDiv, String rsvAplyYmd_idoRsv) throws Exception
	/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
	{
		// サービス契約番号
		String svcKeiNo_041 = "";
		
		// 世代登録年月日時分秒
		String geneAddDtm_041 = "";
		
		// 宅内機器型式コード
		String taknkikiModelCd_041 = "";
		
		// 予約適用年月日
		String rsvAplyYmd_041 = "";

		// =========== OM-2014-0000772対応 change start =============
//		// サービス契約番号
//		String svcKeiNo_042 = "";
//		
//		// 世代登録年月日時分秒
//		String geneAddDtm_042 = "";
//		
//		// 機器提供サービス契約番号
//		String kktkSvcKeiNo_42 = "";
//		
//		// 宅内機器型式コード
//		String taknkikiModelCd_042 = "";
		// サービス契約番号
		String svcKeiNo_183 = "";
		
		// 世代登録年月日時分秒
		String geneAddDtm_183 = "";
		
		// 機器提供サービス契約番号
		String kktkSvcKeiNo_183 = "";
		
		// プラン課金終了年月日(旧)
		String planChrgEndYmd_183 = "";
		// =========== OM-2014-0000772対応 change end =============
		// 機器提供サービス契約差異カウント
		int kktkSvcKeiSaiCount = 0;
		
		// SQL実行結果取得用mapを生成（機器提供サービス契約スキーマ取得）
		JBSbatCommonDBInterface kktkSvcKeiMap_041 = new JBSbatCommonDBInterface();
		
		// =========== OM-2014-0000772対応 change start =============
		// SQL実行結果取得用mapを生成（機器提供サービス契約スキーマ取得）
//		JBSbatCommonDBInterface kktkSvcKeiMap_042 = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface kktkSvcKeiMap_183 = new JBSbatCommonDBInterface();
		// =========== OM-2014-0000772対応 change end =============
		
		// SQL実行結果取得用mapを生成（機器提供サービス契約スキーマ取得）
		JBSbatCommonDBInterface kktkSvcKei_map = new JBSbatCommonDBInterface();
		
		// =========== OM-2013-0005083対応 start =============
		// 機器提供サービス契約の料金プランコード（KK_T_KKTK_SVC_KEI_KK_SELECT_041、KK_T_KKTK_SVC_KEI_KK_SELECT_042）
		String pplanCd_041 = "";
	// =========== OM-2014-0000772対応 change start =============
//		String pplanCd_042 = "";
		String pplanCd_183 = "";
	// =========== OM-2014-0000772対応 change end =============
		// =========== OM-2013-0005083対応 end   =============
		
		String[] kktkSvcKei1_param = new String[2];
		
		// 機器提供サービス契約（新規コース分）検索キー設定
		kktkSvcKei1_param[0] = svcKeiNo_156;			// サービス契約番号（入力ファイルのサービス契約番号
		kktkSvcKei1_param[1] = getRsvAplyYmdForUpdate(rsvAplyYmd_idoRsv);		// 予約適用年月日（異動予約検索結果）運用日より過去の場合は運用日
		
		// 機器提供サービス契約（新規コース分）検索：SQL定義キー（KK_T_KKTK_SVC_KEI_KK_SELECT_041）を実行する。
		executeKK_T_KKTK_SVC_KEI_KK_SELECT_041(kktkSvcKei1_param);
		
		kktkSvcKeiMap_041 = db_KK_T_KKTK_SVC_KEI_041.selectNext();

		// 機器提供サービス契約（新規コース分）の検索結果なしの場合、処理をスキップする。
		if (null == kktkSvcKeiMap_041)
		{
			// 検索結果が無い場合は処理をスキップする。
			super.logPrint.printDebugLog("機器提供サービス契約（新規コース分）テーブルにサービス契約番号：" + svcKeiNo_156 +  "の機器が存在しません。");
			return null;
		}
		// 機器提供サービス契約（新規コース分）の検索結果ありの場合
		else
		{
			// サービス契約番号取得
			svcKeiNo_041 =  JBSbatStringUtil.Rtrim(kktkSvcKeiMap_041.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_KEI_NO));
			
			// 世代登録年月日時分秒取得
			geneAddDtm_041 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_041.getString(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM));
			
			/* ++++++++++ v2.00.00 修正開始 ++++++++++ */
			// 宅内機器型式コード取得
			taknkikiModelCd_041 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_041.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD));
			/* ++++++++++ v2.00.00 修正終了 ++++++++++ */
			
			// 予約適用年月日取得
			rsvAplyYmd_041 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_041.getString(JBSbatKK_T_KKTK_SVC_KEI.RSV_APLY_YMD));
			
			// =========== OM-2013-0005083対応 start =============
			// 機器提供サービス契約の料金プランコード取得（新コース候補）
			pplanCd_041 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_041.getString(JBSbatKK_T_KKTK_SVC_KEI.PPLAN_CD));
			// =========== OM-2013-0005083対応 end   =============
			
			// ログレベルがデバッグモードの場合
			if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
			{
				super.logPrint.printDebugLog("サービス契約番号（新規コース：機器提供サービス契約）：" +  svcKeiNo_041);
				super.logPrint.printDebugLog("世代登録年月日時分秒(新規コース：機器提供サービス契約）：" +  geneAddDtm_041);
				super.logPrint.printDebugLog("宅内機器型式コード（新規コース：機器提供サービス契約）：" +  taknkikiModelCd_041);
				super.logPrint.printDebugLog("予約適用年月日（新規コース：機器提供サービス契約）：" +  rsvAplyYmd_041);
			}
		}
		
	// =========== OM-2014-0000772対応 change start =============
//		// =========== OM-2013-0005083対応 start =============
//		// 検索条件修正による設定値修正
////		String[] kktkSvcKei2_param = new String[2];
////		
////		// 機器提供サービス契約（旧コース分）検索キー設定
////		kktkSvcKei2_param[0] = svcKeiNo_156;			// サービス契約番号（入力ファイルのサービス契約番号）
////		kktkSvcKei2_param[1] = rsvAplyYmd_041.concat(geneAddDtm_041);		// 新コース分の予約適用年月日＋世代登録年月日時分秒
//		
//		String[] kktkSvcKei2_param = new String[3];
//		// 機器提供サービス契約（旧コース分）検索キー設定
//		kktkSvcKei2_param[0] =
//			JBSbatStringUtil.Rtrim(kktkSvcKeiMap_041.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO));// 機器提供サービス契約番号（新コース分の機器提供サービス契約番号）
//		kktkSvcKei2_param[1] = svcKeiNo_156;			// サービス契約番号（入力ファイルのサービス契約番号）
//		kktkSvcKei2_param[2] = rsvAplyYmd_041.concat(geneAddDtm_041);		// 新コース分の予約適用年月日＋世代登録年月日時分秒
//		
//		// =========== OM-2013-0005083対応 end   =============
//		
//		// 機器提供サービス契約（旧コース分）検索：SQL定義キー（KK_T_KKTK_SVC_KEI_KK_SELECT_042）を実行する。
//		executeKK_T_KKTK_SVC_KEI_KK_SELECT_042(kktkSvcKei2_param);
//		
//		kktkSvcKeiMap_042 = db_KK_T_KKTK_SVC_KEI_042.selectNext();
//
//		// 機器提供サービス契約（旧コース分）の検索結果なしの場合、処理をスキップする。
//		if (null == kktkSvcKeiMap_042)
//		{
//			// 検索結果が無い場合は処理をスキップする。
//		}
//		// 機器提供サービス契約（旧コース分）の検索結果ありの場合
//		else
//		{
//			while(null != kktkSvcKeiMap_042)
//			{			
//				/* ++++++++++ v2.00.00 修正開始 ++++++++++ */
//				taknkikiModelCd_042 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_042.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD));
//				
//				// =========== OM-2013-0005083対応 start =============
//				// 機器提供サービス契約の料金プランコード取得（旧コース候補）
//				pplanCd_042 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_042.getString(JBSbatKK_T_KKTK_SVC_KEI.PPLAN_CD));
//				// =========== OM-2013-0005083対応 end   =============
//				
//				// ログレベルがデバッグモードの場合
//				if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
//				{
//					super.logPrint.printDebugLog("宅内機器型式コード（新規コース：機器提供サービス契約）：" +  taknkikiModelCd_041);
//					super.logPrint.printDebugLog("宅内機器型式コード（旧コース：機器提供サービス契約）：" +  taknkikiModelCd_042);
//				}
//				
//				// =========== OM-2013-0005083対応 start =============
////				// 新コースの宅内機器型式コードのルータ速度と旧コースの宅内機器型式コードのルータ速度が違う場合
////				if(!routerChk(taknkikiModelCd_041, taknkikiModelCd_042))
////				{
////				/* ++++++++++ v2.00.00 修正終了 ++++++++++ */
//				// 新・旧コース候補の料金プランが空以外かつ値が異なるときに旧コースを終了させる
//				if(!"".equals(pplanCd_041) && 
//					!"".equals(pplanCd_042) && 
//					!pplanCd_041.equals(pplanCd_042))
//				{
//				// =========== OM-2013-0005083対応 end =============
//				
//					// 機器提供サービス契約差異カウントアップする。
//					kktkSvcKeiSaiCount++;
//					
//					// サービス契約内訳番号（旧コース分）取得
//					svcKeiNo_042 =  JBSbatStringUtil.Rtrim(kktkSvcKeiMap_042.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_KEI_NO));
//					
//					// 機器提供サービス契約番号（旧コース分）取得
//					kktkSvcKeiNo_42 =  JBSbatStringUtil.Rtrim(kktkSvcKeiMap_042.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO));
//					
//					// 世代登録年月日時分秒（旧コース分）取得
//					geneAddDtm_042 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_042.getString(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM));
//					
//					// ログレベルがデバッグモードの場合
//					if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
//					{
//						super.logPrint.printDebugLog("サービス契約番号（旧コース：機器提供サービス契約）：" +  svcKeiNo_042);
//						super.logPrint.printDebugLog("世代登録年月日時分秒(旧コース：機器提供サービス契約）：" +  geneAddDtm_042);
//						super.logPrint.printDebugLog("機器提供サービス契約番号（旧コース：機器提供サービス契約）：" +  kktkSvcKeiNo_42);
//						super.logPrint.printDebugLog("機器提供サービス契約差異カウント：" +  kktkSvcKeiSaiCount);
//					}
//					
//					// 機器提供サービス契約検索結果格納マップ
//					kktkSvcKei_map = null;
//					
//					String[] kktkSvcKei_param = new String[2];
//					
//					// 機器提供サービス契約(旧コース分)検索キー設定
//					kktkSvcKei_param[0] = kktkSvcKeiNo_42;			// 機器提供サービス契約番号(機器提供サービス契約（旧コース分））
//					kktkSvcKei_param[1] = geneAddDtm_042;			// 世代登録年月日時分秒(機器提供サービス契約（旧コース分））
//					
//					// 機器提供サービス契約のPK検索を行います
//					kktkSvcKei_map = executeKK_T_KKTK_SVC_KEI_PKSELECT(kktkSvcKei_param);
//
//					// 機器提供サービス契約のPK検索結果なしの場合、エラーとし処理中断します
//					if (null == kktkSvcKei_map)
//					{
//						
//						throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
//								new String[]{"機器提供サービス契約", "機器提供サービス契約番号：" + kktkSvcKeiNo_42});
//					}
		String[] kktkSvcKei2_param = new String[2];
		// 機器提供サービス契約（旧コース分）検索キー設定
		kktkSvcKei2_param[0] =
			JBSbatStringUtil.Rtrim(kktkSvcKeiMap_041.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO));// 機器提供サービス契約番号（新コース分の機器提供サービス契約番号）
		kktkSvcKei2_param[1] = rsvAplyYmd_041.concat(geneAddDtm_041);		// 新コース分の予約適用年月日＋世代登録年月日時分秒
		
		// 機器提供サービス契約（旧コース分）検索：SQL定義キー（KK_T_KKTK_SVC_KEI_KK_SELECT_042）を実行する。
		executeKK_T_KKTK_SVC_KEI_KK_SELECT_183(kktkSvcKei2_param);
		
		kktkSvcKeiMap_183 = db_KK_T_KKTK_SVC_KEI_183.selectNext();

		// 機器提供サービス契約（旧コース分）の検索結果なしの場合、処理をスキップする。
		if (null == kktkSvcKeiMap_183)
		{
			// 検索結果が無い場合は処理をスキップする。
		}
		// 機器提供サービス契約（旧コース分）の検索結果ありの場合
		else
		{
			
			// 旧機器と判断するための課金終了年月日を算出
			// KKPRC02202で設定する値と同様の値で終了しているレコードを交換機器の旧機器と判断する
			// 住所変更以外は異動予約の予約適用年月日-1日
			String oldKikiPlanChrgEndKijun = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
			// 異動区分="00019:住所変更・登録"
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			// if("00019".equals(idoDiv))
			if(JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv))
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				// プラン課金終了年月日→予約適用年月日の月末日
				oldKikiPlanChrgEndKijun = rsvAplyYmd_idoRsv.substring(0, 6) + JBSbatDateUtil.getEndOfMonth(rsvAplyYmd_idoRsv.substring(0, 6));
			}
			
			while(null != kktkSvcKeiMap_183)
			{
				// 機器提供サービス契約の料金プランコード取得（旧コース候補）
				pplanCd_183 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_183.getString(JBSbatKK_T_KKTK_SVC_KEI.PPLAN_CD));
				// 機器提供サービス契約のプラン課金終了年月日取得（旧コース候補）
				planChrgEndYmd_183 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_183.getString(JBSbatKK_T_KKTK_SVC_KEI.PLAN_CHRG_ENDYMD));
				
				// 新・旧コース候補の料金プランが空以外かつ値が異なるときに旧コースを終了させる
				// OM-2014-0000772対応により、料金コースコードが異なり、プラン課金終了年月日が指定の値である場合を旧機器と判断する。
				if(!"".equals(pplanCd_041) && 
					!"".equals(pplanCd_183) && 
					!pplanCd_041.equals(pplanCd_183) &&
					oldKikiPlanChrgEndKijun.equals(planChrgEndYmd_183))
				{
					// 機器提供サービス契約差異カウントアップする。
					kktkSvcKeiSaiCount++;
					
					// サービス契約内訳番号（旧コース分）取得
					svcKeiNo_183 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_183.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_KEI_NO));
					
					// 機器提供サービス契約番号（旧コース分）取得
					kktkSvcKeiNo_183 =  JBSbatStringUtil.Rtrim(kktkSvcKeiMap_183.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO));
					
					// 世代登録年月日時分秒（旧コース分）取得
					geneAddDtm_183 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_183.getString(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM));
					
					// ログレベルがデバッグモードの場合
					if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
					{
						super.logPrint.printDebugLog("サービス契約番号（旧コース：機器提供サービス契約）：" +  svcKeiNo_183);
						super.logPrint.printDebugLog("世代登録年月日時分秒(旧コース：機器提供サービス契約）：" +  geneAddDtm_183);
						super.logPrint.printDebugLog("機器提供サービス契約番号（旧コース：機器提供サービス契約）：" +  kktkSvcKeiNo_183);
						super.logPrint.printDebugLog("機器提供サービス契約差異カウント：" +  kktkSvcKeiSaiCount);
					}
					
					// 機器提供サービス契約検索結果格納マップ
					kktkSvcKei_map = null;
					
					String[] kktkSvcKei_param = new String[2];
					
					// 機器提供サービス契約(旧コース分)検索キー設定
					kktkSvcKei_param[0] = kktkSvcKeiNo_183;			// 機器提供サービス契約番号(機器提供サービス契約（旧コース分））
					kktkSvcKei_param[1] = geneAddDtm_183;			// 世代登録年月日時分秒(機器提供サービス契約（旧コース分））
					
					// 機器提供サービス契約のPK検索を行います
					kktkSvcKei_map = executeKK_T_KKTK_SVC_KEI_PKSELECT(kktkSvcKei_param);
					
					// 機器提供サービス契約のPK検索結果なしの場合、エラーとし処理中断します
					if (null == kktkSvcKei_map)
					{
						
						throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
								new String[]{"機器提供サービス契約", "機器提供サービス契約番号：" + kktkSvcKeiNo_183});
					}
	// =========== OM-2014-0000772対応 change end =============
					
					// 機器提供サービス契約のPK検索結果ありの場合
					else
					{
						// =========== OM-2014-0000772対応 start =============
						// 旧機器の終了処理をKKPRC02202に移動のため削除
//						// 機器提供サービス契約の全項目登録処理（旧コース）呼出
//						insertKktkSvcKeiOld(kktkSvcKei_map, idoDiv);
//						
//						// ======== OM-2013-0004006対応 start ========
//						// 更新を0.001秒遅らせる
//						Thread.sleep(1);
//						
//						// 機器提供サービス契約の新コースを登録（世代を最新化）
//						insertKktkSvcKeiNew(
//								JBSbatStringUtil.Rtrim(kktkSvcKeiMap_041.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO)), geneAddDtm_041);
//						// ======== OM-2013-0004006対応 end ========
						// =========== OM-2014-0000772対応 end =============
						
						// =======  OM-2013-0004457対応 start =============
						// 処理した機器の異動予約を更新
						updateIdoRsvTrgGaiWhereKktkSvcKei(
								JBSbatStringUtil.Rtrim(kktkSvcKeiMap_041.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO)), super.opeDate);
						// =======  OM-2013-0004457対応 end =============
						// =========== OM-2014-0000772対応 start =============
						// 旧コースの検索変更により複数件取得の可能性があるため、処理終了時点でbreak（旧機器のPK検索結果取得できたらOK）
						break;
						// =========== OM-2014-0000772対応 end =============
					}
				}
				// =========== OM-2014-0000772対応 start =============
//				kktkSvcKeiMap_042 = db_KK_T_KKTK_SVC_KEI_042.selectNext();
				kktkSvcKeiMap_183 = db_KK_T_KKTK_SVC_KEI_183.selectNext();
				// =========== OM-2014-0000772対応 end =============
			}
		}
		
		// 機器提供サービス契約（宅内機器型式コードのルータ速度の差異）差異カウントが「0」の場合
		if(0 == kktkSvcKeiSaiCount)
		{
			// 機器提供サービス契約差異カウントが「0」の場合は「機器提供サービス契約」登録対象無しで、下記のログ出力する。
			super.logPrint.printDebugLog("機器提供サービス契約の（旧コース分）登録対象なし（ネット）。機器提供サービス契約差異カウント：" + kktkSvcKeiSaiCount +  "です。");
			
			// 機器提供サービス契約検索結果格納マップ
			kktkSvcKei_map = null;
		}
		return kktkSvcKei_map;
	}
	
	/**
	 * 
	 * 機器提供サービス契約登録処理（テレビ）を行います。
	 * 
	 * @param kkTIdoRsvMap   入力電文（異動予約）
	 * @param svcKeiUcwkNo 旧コースのサービス契約内訳番号
	 * @param idoDiv_156   異動区分
	 * 
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	private void kktkSvcKeiInsertTv2(JBSbatCommonDBInterface kkTIdoRsvMap, String svcKeiUcwkNo, String idoDiv_156) throws Exception
	{
		// =========== OM-2014-0000772対応 change start =============
//		// 世代登録年月日時分秒（旧）
//		String geneAddDtm_073 = "";
//		
//		// 機器提供サービス契約番号（旧）
//		String kktkSvcKeiNo_073 = "";
//		
//		// 料金プランコード(旧)
//		String pcrsCd_073 = "";
		// 世代登録年月日時分秒（旧）
		String geneAddDtm_183 = "";
		
		// 機器提供サービス契約番号（旧）
		String kktkSvcKeiNo_183 = "";
		
		// 料金プランコード(旧)
		String pcrsCd_183 = "";
		
		// プラン課金終了年月日(旧)
		String planChrgEndYmd_183 = "";
		// =========== OM-2014-0000772対応 change end =============
		
		// 機器提供サービス契約番号(新)
		String kktkSvcKeiNo_130 = "";

		// 世代登録年月日時分秒(新)
		String geneAddDtm_130 = "";
		
		// 料金プランコード(新)
		String pcrsCd_130 = "";		
		
		// SQL実行結果取得用mapを生成（機器提供サービス契約スキーマ取得）
		JBSbatCommonDBInterface kktkSvcKeiMap_130 = new JBSbatCommonDBInterface();
		
		String[] kktkSvcKei1_param = new String[2];

		// ++++++++++ v20.00.01 追加開始 ++++++++++
		// 予約適用年月日（異動予約）取得
		String rsvAplyYmd_idoRsv = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD));
		// ++++++++++ v20.00.01 追加終了 ++++++++++
		
		// 機器提供サービス契約（旧コース分）検索キー設定
		kktkSvcKei1_param[0] = svcKeiUcwkNo;			// サービス契約内訳番号（旧コースのサービス契約内訳検索結果））
		kktkSvcKei1_param[1] = getRsvAplyYmdForUpdate(rsvAplyYmd_idoRsv);		// 予約適用年月日（異動予約の検索結果）運用日より過去の場合は運用日
		
		// 機器提供サービス契約（新コース分）検索：SQL定義キー（KK_T_KKTK_SVC_KEI_KK_SELECT_130）を実行する。
		executeKK_T_KKTK_SVC_KEI_KK_SELECT_130(kktkSvcKei1_param);
		
		kktkSvcKeiMap_130 = db_KK_T_KKTK_SVC_KEI_130.selectNext();
		
		// 機器提供サービス契約（新規コース分）の検索結果なしの場合、エラーとし処理中断します
		if (null == kktkSvcKeiMap_130)
		{
			// 検索結果が無い場合は「機器提供サービス契約」処理無しで、下記のログ出力する。
			super.logPrint.printDebugLog("機器提供サービス契約（新規コース分）テーブルにサービス契約内訳番号：" + svcKeiUcwkNo +  "が存在しません。");
			
			return;
		}

		while(null != kktkSvcKeiMap_130)
		{
			kktkSvcKeiNo_130 = "";
			
			
			geneAddDtm_130 = "";
			
			pcrsCd_130 = "";
			
			// 機器提供サービス契約番号取得
			kktkSvcKeiNo_130 =  JBSbatStringUtil.Rtrim(kktkSvcKeiMap_130.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO));
			
			// 世代登録年月日時分秒取得
			geneAddDtm_130 =  JBSbatStringUtil.Rtrim(kktkSvcKeiMap_130.getString(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM));
			
			// 料金コースコード取得
			pcrsCd_130 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_130.getString(JBSbatKK_T_KKTK_SVC_KEI.PCRS_CD));
			
			// ログレベルがデバッグモードの場合
			if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
			{
				super.logPrint.printDebugLog("サービス契約内訳番号（新規コース：機器提供サービス契約）：" +  svcKeiUcwkNo);
				super.logPrint.printDebugLog("機器提供サービス契約番号（新規コース：機器提供サービス契約）：" +  kktkSvcKeiNo_130);
				super.logPrint.printDebugLog("世代登録年月日時分秒(新規コース：機器提供サービス契約）：" +  geneAddDtm_130);
				super.logPrint.printDebugLog("料金コースコード(新規コース：機器提供サービス契約）：" +  pcrsCd_130);
			}
			
		// =========== OM-2014-0000772対応 change start =============
		// 使用SQL変更（KK_T_KKTK_SVC_KEI_KK_SELECT_073→KK_T_KKTK_SVC_KEI_KK_SELECT_183）（SQL変更による変数名変更含む）
			
//			// SQL実行結果取得用mapを生成（機器提供サービス契約スキーマ取得）
//			JBSbatCommonDBInterface kktkSvcKeiMap_073 = new JBSbatCommonDBInterface();
//			// =========== OM-2013-0005083対応 start =============
//			String rsvAplyYmd_130 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_130.getString(JBSbatKK_T_KKTK_SVC_KEI.RSV_APLY_YMD));
////			String[] kktkSvcKei2_param = new String[3];
////			
////			// 機器提供サービス契約（旧コース分）検索キー設定
////			kktkSvcKei2_param[0] = svcKeiUcwkNo;			// サービス契約内訳番号（旧コースのサービス契約内訳検索結果））
////			kktkSvcKei2_param[1] = kktkSvcKeiNo_130;		// 機器提供サービス契約番号（新コースの機器提供サービス契約検索結果）
////			kktkSvcKei2_param[2] = geneAddDtm_130;			// 世代登録年月日時分秒（新コースの機器提供サービス契約検索結果）
//			String[] kktkSvcKei2_param = new String[3];
//			
//			// 機器提供サービス契約（旧コース分）検索キー設定
//			kktkSvcKei2_param[0] = svcKeiUcwkNo;			// サービス契約内訳番号（旧コースのサービス契約内訳検索結果））
//			kktkSvcKei2_param[1] = kktkSvcKeiNo_130;		// 機器提供サービス契約番号（新コースの機器提供サービス契約検索結果）
//			kktkSvcKei2_param[2] = rsvAplyYmd_130.concat(geneAddDtm_130);	// 予約適用年月日＋世代登録年月日時分秒（新コースの機器提供サービス契約検索結果）
//			// =========== OM-2013-0005083対応 end   =============
//			
//			// 機器提供サービス契約（旧コース分）検索：SQL定義キー（KK_T_KKTK_SVC_KEI_KK_SELECT_073）を実行する。
//			executeKK_T_KKTK_SVC_KEI_KK_SELECT_073(kktkSvcKei2_param);
//			
//			kktkSvcKeiMap_073 = db_KK_T_KKTK_SVC_KEI_073.selectNext();
//
//			// 機器提供サービス契約（旧コース分）の検索結果なしの場合、エラーログとし処理続行します
//			if (null == kktkSvcKeiMap_073)
//			{
//				// 検索結果が無い場合は「機器提供サービス契約」処理無しで、下記のログ出力する。
//				super.logPrint.printDebugLog("機器提供サービス契約（旧コース分）テーブルにサービス契約内訳番号：" + svcKeiUcwkNo +  "が存在しません。");
//				// =========== OM-2013-0005083対応 start =============
//				// 指定した機器がないだけの場合もあるため、中断ではなく続行する。（次の要素の処理に移る）
////				break;
//				// =========== OM-2013-0005083対応 end =============
//			}
//			// 機器提供サービス契約（旧コース分）検索結果分の繰返し
//			while(null != kktkSvcKeiMap_073)
//			{
//				kktkSvcKeiNo_073 = "";
//				
//				geneAddDtm_073 = "";
//				
//				 pcrsCd_073 = "";
//				
//				// 機器提供サービス契約番号取得
//				kktkSvcKeiNo_073 =  JBSbatStringUtil.Rtrim(kktkSvcKeiMap_073.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO));
//				
//				// 世代登録年月日時分秒取得
//				geneAddDtm_073 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_073.getString(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM));
//				
//				// 料金コースコード取得
//				pcrsCd_073 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_073.getString(JBSbatKK_T_KKTK_SVC_KEI.PCRS_CD));
//				
//				// ログレベルがデバッグモードの場合
//				if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
//				{
//					super.logPrint.printDebugLog("料金コースコード(旧コース：機器提供サービス契約）：" +  pcrsCd_073);
//					super.logPrint.printDebugLog("機器提供サービス契約番号（旧コース：機器提供サービス契約）：" +  kktkSvcKeiNo_073);
//					super.logPrint.printDebugLog("世代登録年月日時分秒（旧コース：機器提供サービス契約）：" +  geneAddDtm_073);
//				}
//				
			// SQL実行結果取得用mapを生成（機器提供サービス契約スキーマ取得）
			JBSbatCommonDBInterface kktkSvcKeiMap_183 = new JBSbatCommonDBInterface();
			String rsvAplyYmd_130 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_130.getString(JBSbatKK_T_KKTK_SVC_KEI.RSV_APLY_YMD));
			String[] kktkSvcKei2_param = new String[2];
			
			// 機器提供サービス契約（旧コース分）検索キー設定
			kktkSvcKei2_param[0] = kktkSvcKeiNo_130;		// 機器提供サービス契約番号（新コースの機器提供サービス契約検索結果）
			kktkSvcKei2_param[1] = rsvAplyYmd_130.concat(geneAddDtm_130);	// 予約適用年月日＋世代登録年月日時分秒（新コースの機器提供サービス契約検索結果）
			
			// 機器提供サービス契約（旧コース分）検索：SQL定義キー（KK_T_KKTK_SVC_KEI_KK_SELECT_183）を実行する。
			executeKK_T_KKTK_SVC_KEI_KK_SELECT_183(kktkSvcKei2_param);
			
			kktkSvcKeiMap_183 = db_KK_T_KKTK_SVC_KEI_183.selectNext();

			// 機器提供サービス契約（旧コース分）の検索結果なしの場合、エラーログとし処理続行します
			if (null == kktkSvcKeiMap_183)
			{
				// 検索結果が無い場合は「機器提供サービス契約」処理無しで、下記のログ出力する。
				super.logPrint.printDebugLog("機器提供サービス契約（旧コース分）テーブルにサービス契約内訳番号：" + svcKeiUcwkNo +  "が存在しません。");
			}
			
			// 旧機器と判断するための課金終了年月日を算出
			// KKPRC02202で設定する値と同様の値で終了しているレコードを交換機器の旧機器と判断する
			// 住所変更以外は異動予約の予約適用年月日-1日
			String oldKikiPlanChrgEndKijun = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
			// 異動区分="00019:住所変更・登録"
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			// if("00019".equals(idoDiv_156))
			if(JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv_156))
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				// プラン課金終了年月日→予約適用年月日の月末日
				oldKikiPlanChrgEndKijun = rsvAplyYmd_idoRsv.substring(0, 6) + JBSbatDateUtil.getEndOfMonth(rsvAplyYmd_idoRsv.substring(0, 6));
			}
			
			// 機器提供サービス契約（旧コース分）検索結果分の繰返し
			while(null != kktkSvcKeiMap_183)
			{
				
				// 機器提供サービス契約番号取得
				kktkSvcKeiNo_183 =  JBSbatStringUtil.Rtrim(kktkSvcKeiMap_183.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO));
				
				// 世代登録年月日時分秒取得
				geneAddDtm_183 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_183.getString(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM));
				
				// 料金コースコード取得
				pcrsCd_183 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_183.getString(JBSbatKK_T_KKTK_SVC_KEI.PCRS_CD));
				
				// プラン課金終了年月日取得
				planChrgEndYmd_183 = JBSbatStringUtil.Rtrim(kktkSvcKeiMap_183.getString(JBSbatKK_T_KKTK_SVC_KEI.PLAN_CHRG_ENDYMD));
				// ログレベルがデバッグモードの場合
				if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
				{
					super.logPrint.printDebugLog("料金コースコード(旧コース：機器提供サービス契約）：" +  pcrsCd_183);
					super.logPrint.printDebugLog("機器提供サービス契約番号（旧コース：機器提供サービス契約）：" +  kktkSvcKeiNo_183);
					super.logPrint.printDebugLog("世代登録年月日時分秒（旧コース：機器提供サービス契約）：" +  geneAddDtm_183);
				}
		// =========== OM-2014-0000772対応 change end =============
				
				// 料金コースコード（新）と料金コースコード（旧）が異なる場合
				// =========== OM-2014-0000772対応 change start =============
				// 料金コースコードが異なり、プラン課金終了年月日が指定の値である場合を旧機器と判断する。
//				if (!pcrsCd_130.equalsIgnoreCase(pcrsCd_073))
				if (!pcrsCd_130.equalsIgnoreCase(pcrsCd_183) &&
						oldKikiPlanChrgEndKijun.equals(planChrgEndYmd_183))
				// =========== OM-2014-0000772対応 change end =============
				{
					// ログレベルがデバッグモードの場合
					if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
					{
						super.logPrint.printDebugLog("料金コースコード(新旧コース：相違あり）");
					}
					// 機器提供サービス契約検索結果格納マップ
					JBSbatCommonDBInterface kktkSvcKei_map = null;
					
					String[] kktkSvcKei_param = new String[2];
					
			// =========== OM-2014-0000772対応 change start =============
//					// 機器提供サービス契約(旧コース分)検索キー設定
//					kktkSvcKei_param[0] = kktkSvcKeiNo_073;			// 機器提供サービス契約番号(機器提供サービス契約）
//					kktkSvcKei_param[1] = geneAddDtm_073;			// 世代登録年月日時分秒(機器提供サービス契約）
//					
//					// 機器提供サービス契約のPK検索を行います
//					kktkSvcKei_map = executeKK_T_KKTK_SVC_KEI_PKSELECT(kktkSvcKei_param);
//	
//					// 機器提供サービス契約のPK検索結果なしの場合、エラーとし処理中断します
//					if (null == kktkSvcKei_map)
//					{
//						throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
//								new String[]{"機器提供サービス契約", "機器提供サービス契約番号：" + kktkSvcKeiNo_073});
//					}
					// 機器提供サービス契約(旧コース分)検索キー設定
					kktkSvcKei_param[0] = kktkSvcKeiNo_183;			// 機器提供サービス契約番号(機器提供サービス契約）
					kktkSvcKei_param[1] = geneAddDtm_183;			// 世代登録年月日時分秒(機器提供サービス契約）
					
					// 機器提供サービス契約のPK検索を行います
					kktkSvcKei_map = executeKK_T_KKTK_SVC_KEI_PKSELECT(kktkSvcKei_param);
	
					// 機器提供サービス契約のPK検索結果なしの場合、エラーとし処理中断します
					if (null == kktkSvcKei_map)
					{
						throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
								new String[]{"機器提供サービス契約", "機器提供サービス契約番号：" + kktkSvcKeiNo_183});
					}
			// =========== OM-2014-0000772対応 change end =============
					// 機器提供サービス契約のPK検索結果ありの場合
					else
					{
						// =========== OM-2014-0000772対応 start =============
						// 旧機器の終了処理を工事完了時（KKPRC02202）に移動のため削除
//						// 機器提供サービス契約の全項目登録処理（旧コース）呼出
//						insertKktkSvcKeiOldTv(kktkSvcKei_map, idoDiv_156);
//						
//						// ======== OM-2013-0004006対応 start ========
//						// 更新を0.001秒遅らせる
//						Thread.sleep(1);
//						
//						// 機器提供サービス契約の新コースを登録（世代を最新化する）
//						insertKktkSvcKeiNew(kktkSvcKeiNo_130, geneAddDtm_130);
//						// ======== OM-2013-0004006対応 end ========
						// =========== OM-2014-0000772対応 end =============
						
						//入出力インターフェースオブジェクトを生成(コース変更確定割引サービス情報ファイル(機器提供サービス契約)）
						JBSbatServiceInterfaceMap crsChgFixTgOutKikimap = new JBSbatServiceInterfaceMap();
						
						// 割引サービス自動適用CC（機器提供サービス契約情報）情報設定
						// ++++++++++ v20.00.01 変更開始 ++++++++++
//						crsChgFixTgOutKikimap = setWriSvcAutoAplyKktkSvcKei(crsChgFixTgOutKikimap, kkTIdoRsvMap, kktkSvcKei_map, idoDiv_156);
						crsChgFixTgOutKikimap =
								setWriSvcAutoAplyKktkSvcKei(crsChgFixTgOutKikimap, kkTIdoRsvMap, kktkSvcKei_map, idoDiv_156, rsvAplyYmd_idoRsv);
						// ++++++++++ v20.00.01 変更終了 ++++++++++
						
						// 出力フラグを設定
						crsChgFixTgOutKikimap.setOutFlg(true);
						
						// 出力共通電文に「コース変更確定割引サービス情報ファイル」の設定
						outputBean.addOutMapList_2(crsChgFixTgOutKikimap);
						
						// =======  OM-2013-0004457対応 start =============
						// 処理した機器の異動予約を更新
						updateIdoRsvTrgGaiWhereKktkSvcKei(kktkSvcKeiNo_130, super.opeDate);
						// =======  OM-2013-0004457対応 end =============
					}
					break;
				}
				// =========== OM-2014-0000772対応 change start =============
//				kktkSvcKeiMap_073 = db_KK_T_KKTK_SVC_KEI_073.selectNext();
				kktkSvcKeiMap_183 = db_KK_T_KKTK_SVC_KEI_183.selectNext();
				// =========== OM-2014-0000772対応 change start =============
			}
			kktkSvcKeiMap_130 = db_KK_T_KKTK_SVC_KEI_130.selectNext();
		}
	}

	/**
	 * 異動予約の更新処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.排他制御をします。<br>
	 *
	 * 2.更新処理を実行します。<br>
	 *
	 * @param idoRsvNo 異動予約番号
	 * </pre>
	 * <p>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface updateIdoRsv(String idoRsvNo) throws Exception
	{
		JBSbatCommonDBInterface map = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface where_map = new JBSbatCommonDBInterface();
		
		String[] value = null;
		String[] param = null;
		
		where_map.setValue(JBSbatKK_T_IDO_RSV.IDO_RSV_NO, idoRsvNo);
		
		// 排他検索を行います
		map = db_KK_T_IDO_RSV.selectByPrimaryKeysForUpdateWait(where_map);
		
		// 排他検索結果がある場合
		if (null != map)
		{
			value = new String[2];
			param = new String[1];
			
			value[0] = super.opeDate;
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			// value[1] = "01";
			value[1] = JBSbatKKConst.CD01168_IDO_RSV_STAT_CD_01;
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
			
			param[0] = idoRsvNo;
			
			// ログレベルがデバッグモードの場合
			if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
			{
				super.logPrint.printDebugLog("param(異動予約番号)：" +  param[0]);
				super.logPrint.printDebugLog("異動予約更新：value(異動予約反映年月日)：" +  value[0]);
				super.logPrint.printDebugLog("異動予約更新：value(異動予約状態コード)：" +  value[1]);
			}
			executeKK_T_IDO_RSV_PKUPDATE(value, param);
		}
		// 排他エラーの場合
		else
		{
			// 該当レコード無しのエラー
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"異動予約", "異動予約番号" + idoRsvNo});
		}
		return map;
	}
	
	/**
	 * オプションサービス契約の更新処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.排他制御をします。<br>
	 *
	 * 2.更新処理を実行します。<br>
	 *@param opSvcKeiNo_016
	 * @param svcCd_156
	 * @param idoDiv 異動区分
	 * @param prcGrpCd 料金グループ
	 * @param rsvAplyYmd_idoRsv 予約適用年月日（異動予約）
	 * </pre>
	 * <p>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	// ++++++++++ v20.00.01 変更開始 ++++++++++
//	private void updateOpSvcKei(String opSvcKeiNo_016, String svcCd_156, String idoDiv) throws Exception
	private void updateOpSvcKei(String opSvcKeiNo_016, String svcCd_156, String idoDiv, String prcGrpCd, String rsvAplyYmd_idoRsv) throws Exception
	// ++++++++++ v20.00.01 変更終了 ++++++++++
	{
		String opSvcKeiNo_094 = "";
		
		String geneAddDtm_094 = "";
		
		String opSvcCd = "";
		
		// オプションサービス契約番号が有る且つ、サービスコードが「01（eo光ネット）」且つ、
		// 料金グループが「02(ｅｏ光ネットホームタイプ)または、03(ｅｏ光ネットメゾンタイプ)または、04(ｅｏ光ネットマンションタイプ)の場合
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if(!isEmpty(opSvcKeiNo_016) && "01".equals(svcCd_156) && ("02".equals(prcGrpCd) || "03".equals(prcGrpCd) || "04".equals(prcGrpCd)))
		if(!isEmpty(opSvcKeiNo_016) && JBSbatKKConst.SVC_CD_IN_SVC.equals(svcCd_156) && (JBSbatKKConst.PGRP_NET_02.equals(prcGrpCd) || JBSbatKKConst.PGRP_NET_03.equals(prcGrpCd) || JBSbatKKConst.PGRP_NET_04.equals(prcGrpCd)))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{			
			// SQL実行結果取得用mapを生成（オプションサービス契約スキーマ取得）
			JBSbatCommonDBInterface opSvcKeiMap_094 = new JBSbatCommonDBInterface();
			
			String [] whereOpSvcKeiParam = {opSvcKeiNo_016, this.opeDate};
			
			// オプションサービス契約検索：SQL定義キー（KK_T_OP_SVC_KEI_KK_SELECT_094）を実行する。
			executeKK_T_OP_SVC_KEI_KK_SELECT_094(whereOpSvcKeiParam);
			
			opSvcKeiMap_094 = db_KK_T_OP_SVC_KEI_094.selectNext();
			
			// オプションサービス契約検索：SQL定義キー（KK_T_OP_SVC_KEI_KK_SELECT_094）結果がある場合
			if(null != opSvcKeiMap_094)
			{
				opSvcKeiNo_094 = JBSbatStringUtil.Rtrim(opSvcKeiMap_094.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_NO));
				
				geneAddDtm_094 = JBSbatStringUtil.Rtrim(opSvcKeiMap_094.getString(JBSbatKK_T_OP_SVC_KEI.GENE_ADD_DTM));
				
				opSvcCd = JBSbatStringUtil.Rtrim(opSvcKeiMap_094.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD));
				
				// オプションサービス契約検索結果格納マップ
				JBSbatCommonDBInterface opSvcKei_map = null;
				
				String[] opSvcKei_param = new String[2];
				
				// オプションサービス契約<ISP>検索キー設定
				opSvcKei_param[0] = opSvcKeiNo_094;			// オプションサービス契約番号(オプションサービス契約）
				opSvcKei_param[1] = geneAddDtm_094;			// 世代登録年月日時分秒(オプションサービス契約）
				
				// オプションサービス契約のPK検索を行います
				opSvcKei_map = executeKK_T_OP_SVC_KEI_PKSELECT(opSvcKei_param);

				// オプションサービス契約のPK検索結果なしの場合、エラーとし処理中断します
				if (null == opSvcKei_map)
				{
					throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
							new String[]{"オプションサービス契約", "オプションサービス契約番号：" + opSvcKeiNo_094});
				}
				// オプションサービス契約のPK検索結果ありの場合
				else
				{
					// オプションサービス契約登録処理
					// ++++++++++ v20.00.01 変更開始 ++++++++++
//					insertOpSvcKei(opSvcKei_map, opSvcKeiNo_094, idoDiv);
					insertOpSvcKei(opSvcKei_map, opSvcKeiNo_094, idoDiv, rsvAplyYmd_idoRsv);
					// ++++++++++ v20.00.01 変更終了 ++++++++++
					
					// オプションサービスコードが「固定IPアドレス：B004」の場合
					// ++++++++++ v20.00.00	 変更開始 ++++++++++
					// if (OOP_SVC_CD_B004.equals(opSvcCd))
					if (JBSbatKKConst.OP_SVC_CD_FIXIPAD.equals(opSvcCd))
					// ++++++++++ v20.00.00	 変更終了 ++++++++++
					{
						// エイジング更新処理
						updateAging(opSvcKeiNo_094, geneAddDtm_094);
						
						// OM-2016-0002404 2016/12/19 ADD START
						// 固定グローバルＩＰアドレス一時金更新処理呼出
						updateFixipadIcjkn( opSvcKei_map.getString(JBSbatKK_T_OP_SVC_KEI.SVC_KEI_NO)
											,opSvcKei_map.getString(JBSbatKK_T_OP_SVC_KEI.SVC_KEI_UCWK_NO)
											,opSvcKei_map.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_NO)
											);
						// OM-2016-0002404 2016/12/19 ADD END
					}
				}
			}
		}
	}
	
	/**
	 * オプションサービス契約登録処理
	 * <br>
	 * @param dbInfo オプションサービス契約カレント
	 * @param opSvcKeiNo オプションサービス契約番号
	 * @param idoDiv 異動区分
	 * @throws Exception 
	 */
	/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//	private void insertOpSvcKei(JBSbatCommonDBInterface dbInfo, String opSvcKeiNo, String idoDiv) throws Exception
	private void insertOpSvcKei(JBSbatCommonDBInterface dbInfo, String opSvcKeiNo, String idoDiv, String rsvAplyYmd_idoRsv) throws Exception
	/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
	{
		insertOpSvcKei(dbInfo, opSvcKeiNo, idoDiv, rsvAplyYmd_idoRsv, false, "", "", null);
// ANK-3987-00-00対応 20210123 星野 ADD START
	}

	/**
	 * オプションサービス契約登録処理
	 * <br>
	 * @param dbInfo オプションサービス契約カレント
	 * @param opSvcKeiNo オプションサービス契約番号
	 * @param idoDiv 異動区分
	 * @param isDslNetFlix NetFlixプレミアムオプションの解約の場合、true 以外はfalse
	 * @param svcKeiNo_svcKei サービス契約番号
	 * @param geneAddDtm_svcKei サービス契約（カレント）．世代登録年月日時分秒
	 * @param kkTIdoRsvMap_009 異動予約検索結果
	 * @throws Exception 
	 */
	private void insertOpSvcKei(JBSbatCommonDBInterface dbInfo, String opSvcKeiNo, String idoDiv, String rsvAplyYmd_idoRsv, boolean isDslNetFlix, String svcKeiNo_svcKei, String geneAddDtm_svcKei, JBSbatCommonDBInterface kkTIdoRsvMap_009) throws Exception
	{
// ANK-3987-00-00対応 20210123 星野 ADD END
		
		super.logPrint.printDebugLog("オプションサービス契約番号（登録）---->" + opSvcKeiNo);
		// SG1-2013-0000100修正箇所
		// システム日付を取得
		String sysDate = JBSbatDateUtil.getSystemDateTimeStamp();
		
		//  予約適用年月日-1日
		String rsvAplyYmdBf_1 = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
		
		// 課金終了日
		String chrgEndYmd = "";
		
		// 異動区分="00019:住所変更・登録"
		// =============== OM-2014-0001118対応 start ===============
//		if("".equals(idoDiv))
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if("00019".equals(idoDiv))
		if(JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		// =============== OM-2014-0001118対応 end ===============
		{
			// 課金終了日→予約適用年月日の月末日
			chrgEndYmd = rsvAplyYmd_idoRsv.substring(0, 6) + JBSbatDateUtil.getEndOfMonth(rsvAplyYmd_idoRsv.substring(0, 6));
		}
		else
		{
			// 課金終了日→予約適用年月日-1日
			chrgEndYmd = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
		}
		
		
		
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		// 初月解約の判定
		boolean isSyogetsuDsl = false;
		// Netflixプレミアムプランの解約時は、初月解約の判定を行う
		if(isDslNetFlix){
			String svcChrgStaYmd_svcKei = "";
			
			String[] svcKei_param = new String[2];
			
			// サービス契約検索キー設定
			svcKei_param[0] = svcKeiNo_svcKei;			// サービス契約番号(サービス契約）
			svcKei_param[1] = geneAddDtm_svcKei;		// 世代登録年月日時分秒(サービス契約）
			
			// サービス契約のPK検索を行います
			JBSbatCommonDBInterface svcKei_map = executeKK_T_SVC_KEI_PKSELECT(svcKei_param);
			if(svcKei_map != null){
				svcChrgStaYmd_svcKei = JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SVC_CHRG_STAYMD));
			}
			
			// 初月解約の判定
			// ・オプションサービス契約.サービス課金開始年月日(カレント)　＞　サービス課金終了年月日
			// ・親サービスのサービス契約.サービス課金開始年月日(カレント)　＜＝　設定したサービス課金終了年月日
			isSyogetsuDsl = 
				JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_CHRG_STAYMD)).compareTo( chrgEndYmd ) > 0 
				&&
				svcChrgStaYmd_svcKei != null && svcChrgStaYmd_svcKei.length() > 0
				&& 
				svcChrgStaYmd_svcKei.compareTo(chrgEndYmd) <= 0
			;
		}
// ANK-3987-00-00対応 20210123 星野 ADD END

		
		// 新規登録データ格納
		Object[] setParam = new Object[79];
		
		// オプションサービス契約番号
		setParam[0] = opSvcKeiNo;
		
		// 世代登録年月日時分秒 → システム日付を設定
		setParam[1] = sysDate;
		
		// オプションサービス契約ステータス → 910：解約済を設定
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// setParam[2] = OOP_SVC_STAT_910;
		setParam[2] = JBSbatKKConst.SVC_KEI_STAT_DLS_ZM;
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		
		// オプションサービスコード
		setParam[3] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD));
		
		// 料金コースコード
		setParam[4] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.PCRS_CD));
		
		// 料金プランコード
		setParam[5] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.PPLAN_CD));
		
		// 親契約識別コード
		setParam[6] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.OYA_KEI_SKBT_CD));
		
		// サービス契約番号
		setParam[7] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_KEI_NO));
		
		// サービス契約内訳番号
		setParam[8] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_KEI_UCWK_NO));
		
		// 法人サービス契約受付番号
		setParam[9] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.HOJIN_SVC_KEI_UK_NO));
		
		// SYSID
		setParam[10] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SYSID));
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		if(isDslNetFlix && kkTIdoRsvMap_009 != null)
		{
			// 申込明細番号 Netflixプレミアムプランの解約時は異動予約から設定
			setParam[11] = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO));
		}
// ANK-4673-00-00 ADD START
		else if (kkTIdoRsvMap_009 != null)
		{
			// 申込明細番号 異動予約から設定
			setParam[11] = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO));
		}
// ANK-4673-00-00 ADD END
		else
		{
// ANK-3987-00-00対応 20210123 星野 ADD END
			
			// 申込明細番号
			setParam[11] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.MSKM_DTL_NO));
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		}
// ANK-3987-00-00対応 20210123 星野 ADD END
		
		// 試用加入年月日
		setParam[12] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.FTRIAL_KANYU_YMD));
		
		// 試用期間終了年月日
		setParam[13] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.FTRIAL_PRD_ENDYMD));
		
		// 本加入年月日
		setParam[14] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.HONKANYU_YMD));
		
		// 本加入移行期限年月日
		setParam[15] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.HONKANYU_IKO_KIGEN_YMD));
		
		// サービス利用開始希望年月日
		setParam[16] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_USE_STA_KIBO_YMD));
		
		// 予約適用開始希望年月日
		setParam[17] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.RSV_TSTA_KIBO_YMD));
		
		// オプションサービス契約後続業務依頼年月日
		setParam[18] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_KZKWRK_REQYMD));
		
		// 照査年月日
		setParam[19] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SHOSA_YMD));
		
		// 照査取消年月日
		setParam[20] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SHOSA_CL_YMD));
		
		// 審査結果送信コード
		setParam[21] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SKEKKA_SEND_CD));
		
		// 契約締結年月日
		setParam[22] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.KEI_CNC_YMD));
		
		// 予約適用年月日
		/* ++++++++++ v10.01.01 変更開始 ++++++++++ */
//		setParam[23] = getRsvAplyYmdForUpdate(rsvAplyYmd_idoRsv);
		setParam[23] = super.opeDate;
		/* ++++++++++ v10.01.01 変更終了 ++++++++++ */
		
		// 予約取消年月日
		setParam[24] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.RSV_CL_YMD));
		
		// ANK-3987-00-00対応 20210123 星野 ADD START
		if(isDslNetFlix)
		{
			// 予約適用コード Netflixプレミアムプランの解約時は「予約確定」
			setParam[25] = JBSbatKKConst.RSV_APLY_CD_FIX;
		}
		else
		{
// ANK-3987-00-00対応 20210123 星野 ADD END
			
		// 予約適用コード
		setParam[25] =JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.RSV_APLY_CD));
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		}
// ANK-3987-00-00対応 20210123 星野 ADD END
		
		// プラン開始年月日
		setParam[26] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.PLAN_STAYMD));
		
		// プラン終了年月日→予約適用年月日-1日
		setParam[27] = rsvAplyYmdBf_1;
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		if(isDslNetFlix)
		{
			// Netflixプレミアムプランの解約時は、初月解約の考慮を入れる
			if( isSyogetsuDsl)
			{
				// プラン課金開始年月日
				// サービス課金開始前解約の場合、オプションサービス契約.サービス開始年月日(カレント)を設定
				setParam[28] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STAYMD));
			}
			else
			{
				// プラン課金開始年月日
				// 上記以外の場合はカレント引継。
				setParam[28] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.PLAN_CHRG_STAYMD));
			}
		}
		else
		{
// ANK-3987-00-00対応 20210123 星野 ADD END
			
			// プラン課金開始年月日
			setParam[28] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.PLAN_CHRG_STAYMD));
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		}
// ANK-3987-00-00対応 20210123 星野 ADD END
		
		// プラン課金終了年月日→異動予約.予約適用年月日-１日
		setParam[29] =chrgEndYmd;
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		if(isDslNetFlix)
		{
			// プラン終了種別コード→Netflixプレミアムプランの解約時は「解約による終了」
			setParam[30] = JBSbatKKConst.PLAN_END_SBT_CD_MSDDSL;
		}
		else
		{
// ANK-3987-00-00対応 20210123 星野 ADD END
		// プラン終了種別コード→"1"（プラン変更による終了）
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// setParam[30] = "1";
		setParam[30] = JBSbatKKConst.PLAN_END_SBT_CD_PLANCHG;
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		}
// ANK-3987-00-00対応 20210123 星野 ADD END
		
		// サービスキャンセル年月日
		setParam[31] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_CANCEL_YMD));
		
		// サービスキャンセル理由コード
		setParam[32] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_CANCEL_RSN_CD));
		
		// サービス開始年月日
		setParam[33] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STAYMD));
		
		// サービス開始時分秒
		setParam[34] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STA_HMS));
		
		// 表示用サービス提供開始年月日
		setParam[35] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.DSP_SVCTK_STAYMD));
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		if(isDslNetFlix){
			// Netflixプレミアムプランの解約時は、初月解約の考慮を入れる
			if( isSyogetsuDsl)
			{
				// サービス課金開始年月日
				// サービス課金開始前解約の場合、オプションサービス契約.サービス開始年月日(カレント)を設定
				setParam[36] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STAYMD));
			}
			else
			{
				// サービス課金開始年月日
				// 上記以外の場合はカレント引継。
				setParam[36] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_CHRG_STAYMD));
			}
		}
		else
		{
// ANK-3987-00-00対応 20210123 星野 ADD END
			
			// サービス課金開始年月日
			setParam[36] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_CHRG_STAYMD));
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		}
// ANK-3987-00-00対応 20210123 星野 ADD END
		
		// サービス停止年月日
		setParam[37] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STP_YMD));
		
		// サービス停止理由コード
		setParam[38] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STP_RSN_CD));
		
		// サービス停止解除年月日
		setParam[39] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STP_RLS_YMD));
		
		// サービス停止解除理由コード
		setParam[40] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STP_RLS_RSN_CD));
		
		// 休止中断コード
		setParam[41] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.PAUSE_STP_CD));
		
		// サービス休止年月日
		setParam[42] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_YMD));
		
		// サービス休止理由コード
		setParam[43] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_RSN_CD));
		
		// サービス休止理由メモ
		setParam[44] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_RSN_MEMO));
		
		// サービス休止解除年月日
		setParam[45] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_RLS_YMD));
		
		// サービス休止解除理由コード
		setParam[46] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_RLS_RSN_CD));
		
		// サービス休止解除理由メモ
		setParam[47] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_RLS_RSN_MEMO));
		
		// サービス終了年月日→予約適用日-1日
		setParam[48] = rsvAplyYmdBf_1;
		
		// サービス終了時分秒
		setParam[49] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_END_HMS));
		
		// サービス課金終了年月日→異動予約.予約適用年月日-１日
		setParam[50] = chrgEndYmd;
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		if(isDslNetFlix)
		{
			// サービス解約年月日→Netflixプレミアムプランの解約時はバッチ運用日を設定。
			setParam[51] = super.opeDate;
		}
		else
		{
// ANK-3987-00-00対応 20210123 星野 ADD END
			
		// サービス解約年月日→予約適用日-1日
		setParam[51] = rsvAplyYmdBf_1;
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		}
// ANK-3987-00-00対応 20210123 星野 ADD END
		
		// サービス解約理由コード→"01:通常解約"
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// setParam[52] = SVC_DLRE_CD_TUJYO_DSL;
		setParam[52] = JBSbatKKConst.SVC_DLRE_CD_NORMAL;
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		
		// サービス解約理由メモ
		setParam[53] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_DLRE_MEMO));
		
		// 解約担当ユーザーID
		setParam[54] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.DSL_TNT_USER_ID));
		
		// ANK-3987-00-00対応 20210123 星野 ADD START
		if(isDslNetFlix)
		{
			// サービス解約手続完了フラグ Netflixプレミアムプランの解約時は空白を設定
			setParam[55] = "";
		}
		else
		{
// ANK-3987-00-00対応 20210123 星野 ADD END
			
			// サービス解約手続完了フラグ
			setParam[55] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_DSL_TTDKI_FIN_FLG));
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		}
// ANK-3987-00-00対応 20210123 星野 ADD END
		
		// 回復年月日
		// OM-2014-0000400対応
//		setParam[56] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.KAIHK_YMD));
		setParam[56] = "";
		
		// サービスキャンセル取消年月日
		setParam[57] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_CANCEL_CL_YMD));
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		if(isDslNetFlix)
		{
			// サービス解約取消年月日 Netflixプレミアムプランの解約時は空白を設定
			setParam[58] = "";
		}
		else
		{
// ANK-3987-00-00対応 20210123 星野 ADD END
			
			// サービス解約取消年月日
			setParam[58] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_DSL_CL_YMD));
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		}
// ANK-3987-00-00対応 20210123 星野 ADD END
		
		// 課金開始年月日補正有無
		setParam[59] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.CHRG_STA_YMD_HOSEI_UM));
		
		// サービス休止課金開始年月日
		setParam[60] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_CHRG_STA_YMD));
		
		// オプションサービス契約引継発生年月日
		setParam[61] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_HKHASYMD));
		
		// 違約金発生コード→"0:違約金なし"
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// setParam[62] = "0";
		setParam[62] = JBSbatKKConst.CD01375_PNLTY_HASSEI_CD_0;
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		if(isDslNetFlix && kkTIdoRsvMap_009 != null)
		{
			// 異動区分 Netflixプレミアムプランの解約時は異動予約から設定
			setParam[63] = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.IDO_DIV));
		}
// ANK-4673-00-00 ADD START
		else if (kkTIdoRsvMap_009 != null)
		{
			// 異動区分 異動予約から設定
			setParam[63] = JBSbatStringUtil.Rtrim(kkTIdoRsvMap_009.getString(JBSbatKK_T_IDO_RSV.IDO_DIV));
		}
// ANK-4673-00-00 ADD END
		else
		{
// ANK-3987-00-00対応 20210123 星野 ADD END
			
			// 異動区分
			setParam[63] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.IDO_DIV));
		
// ANK-3987-00-00対応 20210123 星野 ADD START
		}
// ANK-3987-00-00対応 20210123 星野 ADD END
		
		// 照査解約完了コード
		setParam[64] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SHOSA_DSL_FIN_CD));
		
		// サービス提供物消去処理実施年月日時分秒
		setParam[65] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVCTK_BUT_DEL_TRN_JSSI_DTM));
		
		// 登録年月日時分秒
		setParam[66] = sysDate;
		
		// 登録オペレータアカウント
		setParam[67] = batchUserId;
		
		// 更新年月日時分秒
		setParam[68] = sysDate;
		
		// 更新オペレータアカウント
		setParam[69] = batchUserId;
		
		// 削除年月日時分秒
		setParam[70] = "";
		
		// 削除オペレータアカウント
		setParam[71] = "";
		
		// 無効フラグ → 0：有効を設定
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		//setParam[72] = "0";
		setParam[72] = JBSbatKKConst.MK_FLG_YK;
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		
		// 登録運用年月日
		setParam[73] = "";
		
		// 登録処理ＩＤ
		setParam[74] = "";
		
		// 更新運用年月日
		setParam[75] = "";
		
		// 更新処理ＩＤ
		setParam[76] = "";
		
		// 削除運用年月日
		setParam[77] = "";
		
		// 削除処理ＩＤ
		setParam[78] = "";
		
		executeKK_T_OP_SVC_KEI_PKINSERT(setParam);
		
		// オプションサービス契約番号に紐づくサブクラスの登録を行います。
		JKKBatCommon.createSubTypeKK0351(commonItem, opSvcKeiNo, JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.GENE_ADD_DTM)), sysDate);
		
	}
	
	/**
	 * オプションサービス契約の更新処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.排他制御をします。<br>
	 *
	 * 2.更新処理を実行します。<br>
	 *@param opSvcKeiNo_094
	 * @param geneAddDtm_094
	 * </pre>
	 * <p>
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void updateAging(String opSvcKeiNo_094, String geneAddDtm_094) throws Exception
	{
		// 固定IPアドレス
		String koteiIpAd = "";
		
		// エイジング番号
		String azingNo_001 = "";
		
		// システム日付を取得
		String sysDate = JCCBatCommon.getSysDateTimeStamp();
		
		// オプションサービス契約<ISP>検索結果格納マップ
		JBSbatCommonDBInterface opSvcKeiIsp_map = null;
		
		String[] opSvcKei_param = new String[2];
		
		// オプションサービス契約<ISP>検索キー設定
		opSvcKei_param[0] = opSvcKeiNo_094;			// 機器提供サービス契約番号(オプションサービス契約）
		opSvcKei_param[1] = geneAddDtm_094;			// 世代登録年月日時分秒(オプションサービス契約）
		
		// オプションサービス契約<ISP>のPK検索を行います
		opSvcKeiIsp_map = executeKK_T_OPSVKEI_ISP_PKSELECT(opSvcKei_param);

		// オプションサービス契約<ISP>のPK検索結果なしの場合、エラーとし処理中断します
		if (null == opSvcKeiIsp_map)
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"オプションサービス契約<ISP>", "オプションサービス契約番号：" + opSvcKeiNo_094});
		}
		// オプションサービス契約<ISP>のPK検索結果ありの場合
		else
		{
			// 固定IPアドレス取得
			koteiIpAd = JBSbatStringUtil.Rtrim(opSvcKeiIsp_map.getString(JBSbatKK_T_OPSVKEI_ISP.KOTEI_IP_AD));
			
			// ログレベルがデバッグモードの場合
			if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
			{
				super.logPrint.printDebugLog("param(固定IPアドレス)：" +  koteiIpAd);
			}
			
			// SQL実行結果取得用mapを生成（エイジングスキーマ取得）
			JBSbatCommonDBInterface azingMap_001 = new JBSbatCommonDBInterface();
			
			String [] whereAzingParam = {"002", koteiIpAd};
			
			// エイジング検索：SQL定義キー（ZM_T_AGING-KK_SELECT_001）を実行する。
			executeZM_T_AGING_KK_SELECT_001(whereAzingParam);
			
			azingMap_001 = db_ZM_T_AGING_001.selectNext();
			
			// エイジング契約検索：SQL定義キー（ZM_T_AGING-KK_SELECT_001）結果がある場合
			if(null != azingMap_001)
			{
				azingNo_001 = JBSbatStringUtil.Rtrim(azingMap_001.getString(JBSbatZM_T_AGING.AGING_NO));
			
				JBSbatCommonDBInterface map = new JBSbatCommonDBInterface();
				JBSbatCommonDBInterface where_map = new JBSbatCommonDBInterface();
				
				String[] value = null;
				String[] param = null;
				
				where_map.setValue(JBSbatZM_T_AGING.AGING_NO, azingNo_001);
				
				// 排他検索を行います
				map = db_ZM_T_AGING.selectByPrimaryKeysForUpdateWait(where_map);
				
				// 排他検索結果がある場合
				if (null != map)
				{
					value = new String[2];
					param = new String[1];
					
					// ++++++++++ v20.00.00	 変更開始 ++++++++++
					// value[0] = AZING_STAT_200;
					value[0] = JBSbatKKConst.AGING_STAT_KAIHK_PSB;
					// ++++++++++ v20.00.00	 変更終了 ++++++++++
					value[1] = sysDate;
					
					param[0] = azingNo_001;
					
					// ログレベルがデバッグモードの場合
					if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
					{
						super.logPrint.printDebugLog("param(エイジング番号)：" +  param[0]);
						super.logPrint.printDebugLog("エイジング更新：value(エイジングステータス)：" +  value[0]);
						super.logPrint.printDebugLog("エイジング更新：value(使用終了年月日自分秒)：" +  value[1]);
					}
					executeZM_T_AGING_PKUPDATE(value, param);
				}
				// 排他エラーの場合
				else
				{
					// 該当レコード無しのエラー
					throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
							new String[]{"エイジング", "エイジング番号" + azingNo_001});
				}
			}
		}
	}
	
	/**                                                                                                     
	 * 文字列がnullか判定する
	 * <br>
	 * @param arg0 判定する文字列
	 * @return 文字列がNullか空文字のときtrue
	 */
	private static boolean isEmpty(String arg0) 
	{
		if (null == arg0 || "".equals(arg0)) 
		{
			return true;
		}
		return false;
	}
	
	/**
	 * サービス契約排他制御テーブルの検索を行います。
	 * <br>
	 * @param svc_kei_no サービス契約番号
	 * 
	 * @return String
	 * @throws Exception 
	 */
	private String searchSvkeiExcCtrl(String svc_kei_no) throws Exception
	{
		JBSbatCommonDBInterface svkeiExcCtrl_map = null;
		
		String[] svkeiExcCtrl_param = new String[1];
		
		// サービス契約排他制御検索キー設定
		svkeiExcCtrl_param[0] = svc_kei_no;	// サービス契約番号
		
		// サービス契約排他制御のPK検索を行います
		svkeiExcCtrl_map = executeKK_T_SVKEI_EXC_CTRL_PKSELECT(svkeiExcCtrl_param);

		if(null == svkeiExcCtrl_map)
		{
			super.logPrint.printDebugLog("サービス契約排他制御情報が存在しません。");
			// MSG サービス契約排他制御テーブルにサービス契約番号:ZZZZZZZZZZが存在しません。
			throw new JBSbatBusinessException("EKKB0210CE", new String[]{"サービス契約排他制御", "サービス契約番号:" + svc_kei_no});
		}
		
		return JBSbatStringUtil.Rtrim(svkeiExcCtrl_map.getString(JBSbatKK_T_SVKEI_EXC_CTRL.LAST_UPD_DTM));
	}
	
	/**
	 * タイムスタンプチェックを実施します。
	 * <br>
	 * @param svcKeiNo サービス契約番号。
	 * @param lastUpdDtmStrBf 最終更新年月日時分秒。
	 * @param lastUpdDtmStrAf 最終更新年月日時分秒。
	 * 
	 * @return JBSbatCommonDBInterface
	 * @throws Exception 
	 */
	private JBSbatCommonDBInterface timeStampCheck(String svcKeiNo, String lastUpdDtmStrBf, String lastUpdDtmStrAf) throws Exception
	{
		// ログレベルがデバッグモードの場合
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("更新年月日時分秒(初期検索)：" + lastUpdDtmStrBf);
			super.logPrint.printDebugLog("更新年月日時分秒(直前値)::：" + lastUpdDtmStrAf);
		}
		
		/* ++++++++++ v9.00.02 削除開始 ++++++++++ */
		/* OM-2014-0002609 ジョブ間のタイムスタンプ排他をやめる  */
		// タイムスタンプチェックの実施。
//		if(lastUpdDtmStrAf.equals(lastUpdDtmStrBf))
//		{
		/* ++++++++++ v9.00.02 削除終了 ++++++++++ */
			JBSbatCommonDBInterface svkeiExcCtrlMap = new JBSbatCommonDBInterface();
			
			// サービス契約排他制御テーブルに排他制御処理を実行する
			svkeiExcCtrlMap.setValue(JBSbatKK_T_SVKEI_EXC_CTRL.SVC_KEI_NO, svcKeiNo);
			JBSbatCommonDBInterface dbmap = db_KK_T_SVKEI_EXC_CTRL.selectByPrimaryKeysForUpdateWait(svkeiExcCtrlMap);
			
			if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
			{
				super.logPrint.printDebugLog("タイムスタンプチェック結果_OK");
			}
			return dbmap;
		/* ++++++++++ v9.00.02 削除開始 ++++++++++ */
//		}
//		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
//		{
//			super.logPrint.printDebugLog("タイムスタンプチェック結果_NG");
//		}
//		return null;
		/* ++++++++++ v9.00.02 削除終了 ++++++++++ */
	}
	
	/**                                                                                                     
	 * 新旧料金コースコード判定をする
	 * <br>
	 * @param oldPcrsCd 旧料金コースコード
	 * @param newPcrsCd 新料金コースコード
	 * 
	 * @return お客様退会共通機能呼出処理対象：true、お客様退会共通機能呼出処理対象外：false
	 */
	private static boolean pcrsCdCheck(String oldPcrsCd, String newPcrsCd) 
	{
		// 旧料金コースコードが「地デジ・ＢＳコース」、「ＳＤコース」、「ＨＤコース」、「ＣＳコース」
		//「ｅｏ光テレビ再送信（多チャンネル）ＳＤコース/ＨＤコース」、「eo光テレビ再送信（地デジ・BSコース）」の場合
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if (PCRS_CD_CHI_DG_BS.equals(oldPcrsCd) 
		//		|| PCRS_CD_SD.equals(oldPcrsCd) 
		//		|| PCRS_CD_HD.equals(oldPcrsCd)
		//		|| PCRS_CD_EO_TV_SAI_SOSHI_SD.equals(oldPcrsCd) 
		//		|| PCRS_CD_EO_TV_SAI_SOSHI_HD.equals(oldPcrsCd) 
		//		|| PCRS_CD_EO_TV_SAI_SOSHI_BS.equals(oldPcrsCd))
		//	{
		//		// 新料金コースコードが「ｅｏ光テレビ再送信」の場合
		//		if (PCRS_CD_EO_TV_SAI_SOSHI.equals(newPcrsCd))
		if (JBSbatKKConst.PCRS_COSE_CDG_BS.equals(oldPcrsCd) 
			|| JBSbatKKConst.PCRS_CD_COSE_SD.equals(oldPcrsCd) 
			|| JBSbatKKConst.PCRS_CD_COSE_HD.equals(oldPcrsCd)
// ANK-4673-00-00 ADD START
			|| JKKStrConst.CD00134_AC0.equals(oldPcrsCd)
			|| JKKStrConst.CD00134_AC1.equals(oldPcrsCd)
// ANK-4673-00-00 ADD END
			|| JBSbatKKConst.PCRS_CD_EOH_TV_SAISO_TACH_SD.equals(oldPcrsCd) 
			|| JBSbatKKConst.PCRS_CD_EOH_TV_SAISO_TACH_HD.equals(oldPcrsCd) 
			|| JBSbatKKConst.PCRS_CD_EOH_TV_SAISO_CDG_BS.equals(oldPcrsCd))
		{
			if (JBSbatKKConst.PCRS_CD_EOH_TV_SAISO.equals(newPcrsCd))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				return true;
			}
		}
		return false;
	}
	
	/**
	 * 割引サービス自動適用部品（JKKWrisvcAutoAplyCC）対象データ（サービス契約）の設定を行います。
	 * <br>
	 * @param crsChgFixTgOutSvcKeimap コース変更確定割引サービス情報ファイル(サービス契約)
	 * @param svcKei_map サービス契約情報
	 * @param kkTIdoRsvMap 異動予約情報
	 * @param sysId SYSID
	 * @param idoDiv_156 異動区分
	 * 
	 * @return crsChgFixTgOutSvcKeimap コース変更確定割引サービス情報ファイル(サービス契約)
	 * @throws Exception 
	 */
	private JBSbatServiceInterfaceMap setWriSvcAutoAplySvcKei(JBSbatServiceInterfaceMap crsChgFixTgOutSvcKeimap, JBSbatCommonDBInterface svcKei_map,
			JBSbatCommonDBInterface kkTIdoRsvMap, String sysId, String idoDiv_156) throws Exception
	{
		// 登録／変更区分
		String addChgeDiv = "";
		
		// 登録／変更区分→コース変更(即時でコース変更確定の場合のみ)
		addChgeDiv = "06";
		
		// 登録／変更区分
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.ADD_CHGE_DIV, addChgeDiv);
		
		// 申込明細番号
		String mskmDtlNo = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO));
		
		// 申込情報検索
		JBSbatCommonDBInterface dbMap = selectMskm(mskmDtlNo);
		
		// 申込番号
		String mskmNo = JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_MSKM.MSKM_NO));
		
		// 申込種別コード
		String mskmSbtCd = JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_MSKM.MSKM_SBT_CD));
		
		// SYSID
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.SYSID, JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_MSKM.SYSID)));
		
		// 申込番号
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.MSKM_NO, mskmNo);
		
		// 申込種別コード
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.MSKM_SBT_CD, mskmSbtCd);
		
		// 異動区分
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.IDO_DIV, idoDiv_156);
		
		// 対象契約識別コード→サービス契約
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.TG_KEI_SKBT_CD, "01");
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.TG_KEI_SKBT_CD, JBSbatKKConst.TG_SKBT_SVC);
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		
		// サービス契約番号
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.SVC_KEI_NO, JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO)));
		
		// サービス契約ステータス
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.SVC_KEI_STAT, JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_STAT)));
		
		// サービスコード
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.SVC_CD, JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SVC_CD)));

		/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//		// 料金グループコード
//		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.PRC_GRP_CD, newPrcGrpCd);
//
//		// 料金コースコード
//		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.PCRS_CD, newPcrsCd);
//
//		// 料金プランコード
//		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.PPLAN_CD, newPplanCd);
		// 料金グループコード
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.PRC_GRP_CD, JBSbatStringUtil
				.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.NEW_PRC_GRP_CD)));

		// 料金コースコード
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.PCRS_CD, JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD)));

		// 料金プランコード
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.PPLAN_CD, JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.NEW_PPLAN_CD)));
		/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
		
		// 変更前サービスコード
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.CHGE_BF_SVC_CD, JBSbatStringUtil.Rtrim(svcKei_map.getString(JBSbatKK_T_SVC_KEI.SVC_CD)));

		/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//		// 変更前料金グループコード
//		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.CHGE_BF_PRC_GRP_CD, oldPrcGrpCd);
//		
//		// 変更前料金コースコード
//		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.CHGE_BF_PCRS_CD, oldPcrsCd);
//		
//		// 変更前料金プランコード
//		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.CHGE_BF_PPLAN_CD, oldPplanCd);
		// 変更前料金グループコード
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.CHGE_BF_PRC_GRP_CD, JBSbatStringUtil.Rtrim(kkTIdoRsvMap
				.getString(JBSbatKK_T_IDO_RSV.OLD_PRC_GRP_CD)));

		// 変更前料金コースコード
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.CHGE_BF_PCRS_CD, JBSbatStringUtil.Rtrim(kkTIdoRsvMap
				.getString(JBSbatKK_T_IDO_RSV.OLD_PCRS_CD)));

		// 変更前料金プランコード
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.CHGE_BF_PPLAN_CD, JBSbatStringUtil.Rtrim(kkTIdoRsvMap
				.getString(JBSbatKK_T_IDO_RSV.OLD_PPLAN_CD)));
		/* ++++++++++ v20.00.01 変更終了 ++++++++++ */

		/* ++++++++++ v10.01.00 追加開始 ++++++++++ */
		// 予約適用年月日
		/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.RSV_APLY_YMD, rsvAplyYmd_idoRsv);
		crsChgFixTgOutSvcKeimap.setString(JBSbatKKIFM281.RSV_APLY_YMD, JBSbatStringUtil.Rtrim(kkTIdoRsvMap
				.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD)));
		/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
		/* ++++++++++ v10.01.00 追加終了 ++++++++++ */
		
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("【サービス契約】（コース変更確定割引サービス情報ファイル）：");
			super.logPrint.printDebugLog("SYSID（コース変更確定割引サービス情報ファイル）サービス契約：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.SYSID));
			super.logPrint.printDebugLog("登録／変更区分（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.ADD_CHGE_DIV));
			super.logPrint.printDebugLog("申込番号（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.MSKM_NO));
			super.logPrint.printDebugLog("申込種別コード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.MSKM_SBT_CD));
			super.logPrint.printDebugLog("異動区分（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.IDO_DIV));
			super.logPrint.printDebugLog("対象契約識別コード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.TG_KEI_SKBT_CD));
			super.logPrint.printDebugLog("サービス契約番号（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.SVC_KEI_NO));
			super.logPrint.printDebugLog("サービス契約ステータス（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.SVC_KEI_STAT));
			super.logPrint.printDebugLog("サービスコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.SVC_CD));
			super.logPrint.printDebugLog("料金グループコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.PRC_GRP_CD));
			super.logPrint.printDebugLog("料金コースコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.PCRS_CD));
			super.logPrint.printDebugLog("料金プランコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.PPLAN_CD));
			super.logPrint.printDebugLog("変更前サービスコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.CHGE_BF_SVC_CD));
			super.logPrint.printDebugLog("変更前料金グループコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.CHGE_BF_PRC_GRP_CD));
			super.logPrint.printDebugLog("変更前料金コースコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.CHGE_BF_PCRS_CD));
			super.logPrint.printDebugLog("変更前料金プランコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.CHGE_BF_PPLAN_CD));
			/* ++++++++++ v10.01.00 追加開始 ++++++++++ */
			super.logPrint.printDebugLog("予約適用年月日（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutSvcKeimap.getString(JBSbatKKIFM281.RSV_APLY_YMD));
			/* ++++++++++ v10.01.00 追加終了 ++++++++++ */
		}
		
		
		return crsChgFixTgOutSvcKeimap;
	}
	
	/**
	 * 割引サービス自動適用部品（JKKWrisvcAutoAplyCC）対象データ（サービス契約内訳）の設定を行います。
	 * <br>
	 * @param crsChgFixTgOutUcwkmap コース変更確定割引サービス情報ファイル(サービス契約内訳)
	 * @param kkTIdoRsvMap 異動予約情報
	 * @param svcKeiUcwk_map サービス契約内訳情報
	 * @param idoDiv_156 異動区分
	 * @param sysId      SYSID
	 * @param isTvAdChgPplanChg テレビ住所変更（料金プラン変更）の場合はtrue、それ以外はfalse
	 * 
	 * @return crsChgFixTgOutUcwkmap コース変更確定割引サービス情報ファイル(サービス契約内訳)
	 * @throws Exception 
	 */
/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//	private JBSbatServiceInterfaceMap setWriSvcAutoAplySvcKeiUcwk(JBSbatServiceInterfaceMap crsChgFixTgOutUcwkmap,JBSbatCommonDBInterface kkTIdoRsvMap,
//												JBSbatCommonDBInterface svcKeiUcwk_map, String idoDiv_156, String sysId, boolean isTvAdChgPplanChg) throws Exception
	private JBSbatServiceInterfaceMap setWriSvcAutoAplySvcKeiUcwk(JBSbatServiceInterfaceMap crsChgFixTgOutUcwkmap,JBSbatCommonDBInterface kkTIdoRsvMap,
												JBSbatCommonDBInterface svcKeiUcwk_map, String idoDiv_156, String sysId, boolean isTvAdChgPplanChg, String rsvAplyYmd_idoRsv)
			throws Exception
/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
	{
		// 登録／変更区分
		String addChgeDiv = "";
		
		// 申込明細番号
		String mskmDtlNo = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO));
		
		/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//		// 新料金コースコード（異動予約）取得
//		newPcrsCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD));
//		
//		// 新料金プランコード（異動予約）取得
//		newPplanCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.NEW_PPLAN_CD));
		// 新料金コースコード（異動予約）取得
		String newPcrsCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD));

		// 新料金プランコード（異動予約）取得
		String newPplanCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.NEW_PPLAN_CD));
		/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
		
		// 申込情報検索
		JBSbatCommonDBInterface dbMap = selectMskm(mskmDtlNo);
		
		// 申込番号
		String mskmNo = JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_MSKM.MSKM_NO));
		
		// 申込種別コード
		String mskmSbtCd = JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_MSKM.MSKM_SBT_CD));
		
		// 登録／変更区分→コース変更(即時でコース変更確定の場合のみ)
		addChgeDiv = "06";
		
		// SYSID
		crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.SYSID, JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_MSKM.SYSID)));
		
		// 登録／変更区分
		crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.ADD_CHGE_DIV, addChgeDiv);
		
		// 申込番号
		crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.MSKM_NO, mskmNo);
		
		// 申込種別コード
		crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.MSKM_SBT_CD, mskmSbtCd);
		
		// 異動区分
		crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.IDO_DIV, idoDiv_156);
		
		// 対象契約識別コード→サービス契約内訳
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.TG_KEI_SKBT_CD, "03");
		crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.TG_KEI_SKBT_CD, JBSbatKKConst.TG_SKBT_UTWK);
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		
		// テレビ住所変更（料金プラン変更）時の値設定時はサービス契約番号を設定
		// （JBSbatKKCrsChgPrgAdd側でテレビ住所変更（料金プラン変更）を区別するため）
		if (isTvAdChgPplanChg)
		{
			// サービス契約番号
			crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.SVC_KEI_NO, JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_NO)));
		}
		
		// サービス契約内訳番号
		crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.SVC_KEI_UCWK_NO, JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO)));
		
		// サービス契約内訳ステータス
		crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.SVC_KEI_UCWK_STAT, JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_STAT)));
		
		// 料金コースコード
		crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.PCRS_CD, newPcrsCd);
		
		// 料金プランコード
		crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.PPLAN_CD, newPplanCd);
		
		// 変更前料金コースコード
		crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.CHGE_BF_PCRS_CD, JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PCRS_CD)));
		
		// 変更前料金プランコード
		crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.CHGE_BF_PPLAN_CD, JBSbatStringUtil.Rtrim(svcKeiUcwk_map.getString(JBSbatKK_T_SVC_KEI_UCWK.PPLAN_CD)));
		
		/* ++++++++++ v10.01.00 追加開始 ++++++++++ */
		// 予約適用年月日
		crsChgFixTgOutUcwkmap.setString(JBSbatKKIFM281.RSV_APLY_YMD, rsvAplyYmd_idoRsv);
		/* ++++++++++ v10.01.00 追加終了 ++++++++++ */
		
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("【サービス契約内訳】（コース変更確定割引サービス情報ファイル）：");
			super.logPrint.printDebugLog("SYSID（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutUcwkmap.getString(JBSbatKKIFM281.SYSID));
			super.logPrint.printDebugLog("登録／変更区分（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutUcwkmap.getString(JBSbatKKIFM281.ADD_CHGE_DIV));
			super.logPrint.printDebugLog("申込番号（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutUcwkmap.getString(JBSbatKKIFM281.MSKM_NO));
			super.logPrint.printDebugLog("申込種別コード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutUcwkmap.getString(JBSbatKKIFM281.MSKM_SBT_CD));
			super.logPrint.printDebugLog("異動区分（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutUcwkmap.getString(JBSbatKKIFM281.IDO_DIV));
			super.logPrint.printDebugLog("対象契約識別コード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutUcwkmap.getString(JBSbatKKIFM281.TG_KEI_SKBT_CD));
			super.logPrint.printDebugLog("サービス契約内訳番号（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutUcwkmap.getString(JBSbatKKIFM281.SVC_KEI_UCWK_NO));
			super.logPrint.printDebugLog("サービス契約内訳ステータス（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutUcwkmap.getString(JBSbatKKIFM281.SVC_KEI_UCWK_STAT));
			super.logPrint.printDebugLog("料金コースコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutUcwkmap.getString(JBSbatKKIFM281.PCRS_CD));
			super.logPrint.printDebugLog("料金プランコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutUcwkmap.getString(JBSbatKKIFM281.PPLAN_CD));
			super.logPrint.printDebugLog("変更前料金コースコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutUcwkmap.getString(JBSbatKKIFM281.CHGE_BF_PCRS_CD));
			super.logPrint.printDebugLog("変更前料金プランコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutUcwkmap.getString(JBSbatKKIFM281.CHGE_BF_PPLAN_CD));
			/* ++++++++++ v10.01.00 追加開始 ++++++++++ */
			super.logPrint.printDebugLog("予約適用年月日（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutUcwkmap.getString(JBSbatKKIFM281.RSV_APLY_YMD));
			/* ++++++++++ v10.01.00 追加終了 ++++++++++ */
		}

		return crsChgFixTgOutUcwkmap;
	}
	
	/**
	 * 割引サービス自動適用部品（JKKWrisvcAutoAplyCC）対象データ（機器提供サービス契約）の設定を行います。
	 * <br>
	 * @param crsChgFixTgOutKikimap コース変更確定割引サービス情報ファイル(機器提供サービス契約)
	 * @param kkTIdoRsvMap 異動予約情報
	 * @param kktkSvcKei_map 機器提供サービス契約情報
	 * @param idoDiv_156 異動区分
	 * @param rsvAplyYmd_idoRsv 予約適用年月日（異動予約）
	 * 
	 * @return crsChgFixTgOutKikimap コース変更確定割引サービス情報ファイル(機器提供サービス契約)
	 * @throws Exception 
	 */
	/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//	private JBSbatServiceInterfaceMap setWriSvcAutoAplyKktkSvcKei(JBSbatServiceInterfaceMap crsChgFixTgOutKikimap,
//					JBSbatCommonDBInterface kkTIdoRsvMap, JBSbatCommonDBInterface kktkSvcKei_map, String idoDiv_156) throws Exception
	private JBSbatServiceInterfaceMap setWriSvcAutoAplyKktkSvcKei(JBSbatServiceInterfaceMap crsChgFixTgOutKikimap,
		JBSbatCommonDBInterface kkTIdoRsvMap, JBSbatCommonDBInterface kktkSvcKei_map, String idoDiv_156, String rsvAplyYmd_idoRsv)
			throws Exception
	/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
	{
		// 登録／変更区分
		String addChgeDiv = "";
		
		// 申込明細番号
		String mskmDtlNo = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO));

		/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//		// 新料金コースコード（異動予約）取得
//		newPcrsCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD));
//		
//		// 新料金プランコード（異動予約）取得
//		newPplanCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.NEW_PPLAN_CD));
		// 新料金コースコード（異動予約）取得
		String newPcrsCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.NEW_PCRS_CD));

		// 新料金プランコード（異動予約）取得
		String newPplanCd = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.NEW_PPLAN_CD));
		/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
		
		// 申込情報検索
		JBSbatCommonDBInterface dbMap = selectMskm(mskmDtlNo);
		
		// 申込番号
		String mskmNo = JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_MSKM.MSKM_NO));
		
		// 申込種別コード
		String mskmSbtCd = JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_MSKM.MSKM_SBT_CD));
		
		// 登録／変更区分→コース変更(即時でコース変更確定の場合のみ)
		addChgeDiv = "06";
		
		// SYSID
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.SYSID, JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_MSKM.SYSID)));
		
		// 登録／変更区分
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.ADD_CHGE_DIV, addChgeDiv);
		
		// 申込番号
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.MSKM_NO, mskmNo);
		
		// 申込種別コード
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.MSKM_SBT_CD, mskmSbtCd);
		
		// 異動区分
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.IDO_DIV, idoDiv_156);
		
		// 対象契約識別コード→機器提供サービス契約
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.TG_KEI_SKBT_CD, "06");
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.TG_KEI_SKBT_CD, JBSbatKKConst.TG_SKBT_KKTK);
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		
		// 機器提供サービス契約番号
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.KKTK_SVC_KEI_NO, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO)));
		
		// 機器提供サービス契約ステータス
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.KKTK_SVC_KEI_STAT, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_STAT)));
		
		// 料金コースコード
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.PCRS_CD, newPcrsCd);
		
		// 料金プランコード
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.PPLAN_CD, newPplanCd);
		
		// 機器提供サービスコード
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.KKTK_SVC_CD, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_CD)));
		
		// 機器提供種別コード
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.KKTK_SBT_CD, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SBT_CD)));
		
		// 変更前料金コースコード
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.CHGE_BF_PCRS_CD, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.PCRS_CD)));
		
		// 変更前料金プランコード
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.CHGE_BF_PPLAN_CD, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.PPLAN_CD)));
		
		// 変更前機器提供サービスコード
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.CHGE_BF_KKTK_SVC_CD, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_CD)));
		
		// 変更前機器提供種別コード
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.CHGE_BF_KKTK_SBT_CD, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SBT_CD)));
		
		/* ++++++++++ v10.01.00 追加開始 ++++++++++ */
		// 予約適用年月日
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.RSV_APLY_YMD, rsvAplyYmd_idoRsv);
		/* ++++++++++ v10.01.00 追加終了 ++++++++++ */
		
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("【機器提供サービス契約】（コース変更確定割引サービス情報ファイル）：");
			super.logPrint.printDebugLog("SYSID（コース変更確定割引サービス情報ファイル）機器提供：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.SYSID));
			super.logPrint.printDebugLog("登録／変更区分（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.ADD_CHGE_DIV));
			super.logPrint.printDebugLog("申込番号（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.MSKM_NO));
			super.logPrint.printDebugLog("申込種別コード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.MSKM_SBT_CD));
			super.logPrint.printDebugLog("異動区分（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.IDO_DIV));
			super.logPrint.printDebugLog("対象契約識別コード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.TG_KEI_SKBT_CD));
			super.logPrint.printDebugLog("機器提供サービス契約番号（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.KKTK_SVC_KEI_NO));
			super.logPrint.printDebugLog("機器提供サービス契約ステータス（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.KKTK_SVC_KEI_STAT));
			super.logPrint.printDebugLog("料金コースコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.PCRS_CD));
			super.logPrint.printDebugLog("料金プランコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.PPLAN_CD));
			super.logPrint.printDebugLog("機器提供サービスコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.KKTK_SVC_CD));
			super.logPrint.printDebugLog("機器提供種別コード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.KKTK_SBT_CD));
			super.logPrint.printDebugLog("変更前料金コースコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.CHGE_BF_PCRS_CD));
			super.logPrint.printDebugLog("変更前料金プランコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.CHGE_BF_PPLAN_CD));
			super.logPrint.printDebugLog("変更前機器提供サービスコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.CHGE_BF_KKTK_SVC_CD));
			super.logPrint.printDebugLog("変更前機器提供種別コード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.CHGE_BF_KKTK_SBT_CD));
			/* ++++++++++ v10.01.00 追加開始 ++++++++++ */
			super.logPrint.printDebugLog("予約適用年月日（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.RSV_APLY_YMD));
			/* ++++++++++ v10.01.00 追加終了 ++++++++++ */
		}

		
		return crsChgFixTgOutKikimap;
	}
	
	/**
	 * 
	 * 申込の検索処理を行います。
	 * 
	 * @param  mskmDtlNo          申込明細番号
	 * 
	 * @return JBSbatCommonDBInterface
	 * @throws Exception   業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface selectMskm(String mskmDtlNo) throws Exception
	{
		// 申込より申込番号、申込種別コード取得
		executeKK_T_MSKM_KK_SELECT_013(new Object[]{mskmDtlNo});
		
		JBSbatCommonDBInterface dbMap = db_KK_T_MSKM.selectNext(); 
		
		// 申込検索結果なしの場合、エラーとし処理中断します
		if(null == dbMap)
		{
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, new String[]{"KK_T_MSKM", mskmDtlNo});
		}
		return dbMap;
	}
	
	/**
	 * サービス契約情報取得
	 * @param svcKeiNo サービス契約番号
	 * 
	 * @return 
	 * @throws Exception 
	 */
	private JBSbatCommonDBInterface searchSvcKeiInfo(String svcKeiNo) throws Exception
	{
		// 運用日＋１日
		String opeDate1DayAf = JBSbatDateUtil.adjustDate(super.opeDate, 1);
		super.logPrint.printDebugLog("opeDate1DayAf：" + opeDate1DayAf);
		
		executeKK_T_SVC_KEI_KK_SELECT_023(new Object[]{svcKeiNo, opeDate1DayAf});
		
		JBSbatCommonDBInterface dbInfo = db_KK_T_SVC_KEI.selectNext();
		
		return dbInfo;
	}	
	
	/**
	 * 日付文字列の大小チェックを実施します。
	 * <br>
	 * @param str1 文字列１
	 * @param str2 文字列２
	 * 
	 * @return int num（0:同じ 1:str1が大きい 2:str2が大きい）
	 * @throws Exception 
	 */
	private int dateCheck(String str1, String str2) throws Exception
	{
		int num = 0;
		
		// 文字列１の数値型変数
		int strNum1 = 0;
		
		// 文字列２の数値型変数
		int strNum2 = 0;
		
		super.logPrint.printDebugLog("文字列１：" + str1);
		super.logPrint.printDebugLog("文字列２：" + str2);
		
		// str1が「null」でないかつ、空文字でない場合
		if (null != str1 && !"".equals(str1))
		{
			// 文字列１の数値変換
			strNum1 = new Integer(str1);
		}
		
		// str2が「null」でないかつ、空文字でない場合
		if (null != str2 && !"".equals(str2))
		{
			// 文字列２の数値変換
			strNum2 = new Integer(str2);
		}
		
		// 「文字列１ > 文字列２」の場合
		if (strNum1 > strNum2)
		{
			num = 1;
		}
		// 「文字列１ < 文字列２」の場合
		else if (strNum1 < strNum2)
		{
			num = 2;
		}
		// 「文字列１ == 文字列２」の場合
		else
		{
			num = 0;
		}
		
		super.logPrint.printDebugLog("日付文字列チェック結果（0:同じ 1:str1が大きい 2:str2が大きい）:" + num);
		
		return num;
	}
	
	/**
	 * 中間ファイルを出力します。<br>
	 * <p>
	 * @param file_path ファイル名(フルパス)
	 * @param file_name ファイル名
	 * @param dataList 出力データリスト
	 * @throws JBSbatBusinessException 
	 * @throws IOException 業務サービス内で発生した例外全般。
	 */	
	private void executeOutputFile(String file_path, String file_name, ArrayList<String> dataList) throws IOException, JBSbatBusinessException
	{
		
		// 一時ファイル読込み処理
		BufferedWriter wr = null;
		try
		{
			// パラメータで渡された中間ファイルを出力する。
			wr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file_path), ENCODE));
			
			for (int i = 0; i < dataList.size(); i++)
			{
				// ファイル書き込み
				wr.write("\"" + dataList.get(i).toString() + "\"");
				wr.write("\n");
			}
			wr.flush();
		}
		catch(IOException e)
		{
			throw new JBSbatBusinessException("EKKB0250CE", new String[]{file_name, MASSEAGE});
		}
		finally
		{
			if (null != wr)
			{
				wr.close();
			}
		}
	}
	
	/**
	 * 登録・更新用の予約適用年月日を取得します。
	 * 引数で指定した日付が運用年月日より過去日の場合は運用日を返却します。
	 * 引数で指定した日付が運用年月日以上の未来日の場合は指定された日付をそのまま返却します。
	 * @param pRsvAplyYmd
	 * @return
	 * @throws Exception
	 */
	private String getRsvAplyYmdForUpdate(String pRsvAplyYmd) throws Exception
	{
		// 「予約適用年月日< 運用日」の場合は運用日を返却
		if(2 == dateCheck(pRsvAplyYmd, super.opeDate))
		{
			return super.opeDate;
		}
		
		return pRsvAplyYmd;
	}
	
	/**
	 * 更新用のプラン終了種別コードを取得します。
	 * @param status サービス契約ステータスや機器提供サービス契約ステータス
	 * @return 1(プラン変更による終了)
	 */
	private String getPlanEndSbtCdForUpdate(String status)
	{
		// 1(プラン変更による終了)
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// return "1";
		return JBSbatKKConst.PLAN_END_SBT_CD_PLANCHG;
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
	}

	/**
	 * 複数件のONUが使用されているかチェックします。複数件使用されている場合はワーニングログを出力します。
	 * @param svcKeiNo サービス契約番号
	 */
	private void checkOnuMultiUsed(String svcKeiNo) throws Exception
	{
		
		String[] kktkSvcKei_param = new String[3];
		
		// サービス契約内訳（新コース分）検索キー設定
		kktkSvcKei_param[0] = JBSbatDateUtil.adjustDate(super.opeDate, 1);		// 予約適用年月日（運用年月日+1）
		kktkSvcKei_param[1] = svcKeiNo;			// サービス契約番号
		kktkSvcKei_param[2] = super.opeDate;			// 回線内訳使用開始年月日（運用年月日）
		
		// 機器提供サービス検索（SELECT_153）を行います
		executeKK_T_KKTK_SVC_KEI_KK_SELECT_153(kktkSvcKei_param);
		
		JBSbatCommonDBInterface kktkSvcKeiMap = db_KK_T_KKTK_SVC_KEI_153.selectNext();
		
		// 検索結果がなければ何もせずメソッド終了
		if (kktkSvcKeiMap == null)
		{
			return;
		}
		
		// 機器提供サービス契約から取得した機器情報を保持するMap（サービス契約回線内訳番号単位で保持するため、サービス契約回線内訳番号がキー）
		Map<String, List<Map<String, String>>> kktkSvcKeiKaisenUcwkMap = new HashMap<String, List<Map<String, String>>>();
		while(null != kktkSvcKeiMap)
		{
			String kktkSvcKeiNo = JBSbatStringUtil.Rtrim(kktkSvcKeiMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO)); // 機器提供サービス契約番号
			String geneAddDtm = JBSbatStringUtil.Rtrim(kktkSvcKeiMap.getString(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM)); // 世代登録年月日時分秒
			String taknKikiSbtCd = JBSbatStringUtil.Rtrim(kktkSvcKeiMap.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_SBT_CD)); // 宅内機器種別コード
			String taknKikiModelCd = JBSbatStringUtil.Rtrim(kktkSvcKeiMap.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD)); // 宅内機器型式コード
			String kikiSeizoNo = JBSbatStringUtil.Rtrim(kktkSvcKeiMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SEIZO_NO)); // 機器製造番号
			String kikiChgNo = JBSbatStringUtil.Rtrim(kktkSvcKeiMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_CHG_NO)); // 機器変更番号
			String svcKeiKaisenUcwkNo = JBSbatStringUtil.Rtrim(kktkSvcKeiMap.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_KEI_KAISEN_UCWK_NO)); // サービス契約回線内訳番号
			
			// 機器提供サービス契約回線内訳Mapからサービス契約回線内訳番号で保持データを取得
			List<Map<String, String>> kktkList = kktkSvcKeiKaisenUcwkMap.get(svcKeiKaisenUcwkNo);
			if (kktkList == null)
			{
				// 初回はリストを生成
				kktkList = new ArrayList<Map<String,String>>();
				kktkSvcKeiKaisenUcwkMap.put(svcKeiKaisenUcwkNo, kktkList);
			}
			
			Map<String,String> kktkOnuResultMap = new HashMap<String, String>();
			kktkOnuResultMap.put(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO, kktkSvcKeiNo);
			kktkOnuResultMap.put(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM, geneAddDtm);
			kktkOnuResultMap.put(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_SBT_CD, taknKikiSbtCd);
			kktkOnuResultMap.put(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD, taknKikiModelCd);
			kktkOnuResultMap.put(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SEIZO_NO, kikiSeizoNo);
			kktkOnuResultMap.put(JBSbatKK_T_KKTK_SVC_KEI.KIKI_CHG_NO, kikiChgNo);
			kktkOnuResultMap.put(JBSbatKK_T_KKTK_SVC_KEI.SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkNo);
			kktkList.add(kktkOnuResultMap);
			
			kktkSvcKeiMap = db_KK_T_KKTK_SVC_KEI_153.selectNext();
		}
		
		// サービス契約回線内訳番号単位の宅内機器種別コード保持リスト
		List<String> saveTaknkikiList = new ArrayList<String>();
		// 重複している宅内機器種別コード保持リスト
		List<String> chofukuTaknkikiList = new ArrayList<String>();
		
		// サービス契約回線内訳Map分繰り返す（サービス契約回線内訳番号単位）
		for(String kktkSvcKeiKaisenUcwkMapKey : kktkSvcKeiKaisenUcwkMap.keySet())
		{
			List<Map<String, String>> saveKktkList = kktkSvcKeiKaisenUcwkMap.get(kktkSvcKeiKaisenUcwkMapKey);
			// 保持データ（機器提供サービス契約リスト）の内容が２件より小さい場合は何もせず次レコード分へ
			if (saveKktkList.size() < 2)
			{
				continue;
			}
			// 再利用のため宅内機器種別コードクリア
			saveTaknkikiList.clear();
			chofukuTaknkikiList.clear();
			// サービス契約回線内訳番号に紐づく機器提供サービス契約が２件以上あった場合は宅内機器種別コードが同一かどうかチェックする
			for(Map<String, String> saveOnuResultMap : saveKktkList) 
			{
				String sbtCd = saveOnuResultMap.get(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_SBT_CD);
				// 宅内機器種別コード保持リストに同一の宅内機器種別コードが存在しない場合に保持する。
				if (!saveTaknkikiList.contains(sbtCd))
				{
					saveTaknkikiList.add(sbtCd);
				}
				else
				{
					// 同一の宅内機器種別コードが存在している場合は重複保持リストに保持する。
					chofukuTaknkikiList.add(sbtCd);
				}
			}
			
			// 宅内機器種別コードの重複保持リストが空ではない場合は重複ありと判断し、ログ出力処理を行う
			if (!chofukuTaknkikiList.isEmpty())
			{
				// ログ出力
				printOnuMultiUsedLog(svcKeiNo, saveKktkList, chofukuTaknkikiList);
			}
		}
		
		// 保持データの初期化
		kktkSvcKeiKaisenUcwkMap = null;
	}
	
	/**
	 * ONU機器が複数存在している場合のログ出力処理
	 * @param svcKeiNo サービス契約番号
	 * @param KktkSvcKeiList 機器提供サービス契約リスト
	 * @param chofukuTaknkikiList 重複宅内機器リスト
	 */
	private void printOnuMultiUsedLog(String svcKeiNo, List<Map<String, String>> KktkSvcKeiList, List<String> chofukuTaknkikiList)
	{
		
		StringBuilder sb = new StringBuilder();
		
		// レコード件数カウンタ（１から開始）
		int recordCnt = 1;
		
		// 固定ラベルをあらかじめ設定
		sb.append(LOG_LABEL_SVC_KEI);
		sb.append(LOG_LABEL_SEPARATOR);
		sb.append(svcKeiNo);
		sb.append(LOG_LABEL_SPACE);
		
		for(Map<String, String> saveOnuResultMap : KktkSvcKeiList) 
		{
			// 宅内機器種別コードが重複リストに保持されているコードの分のみ対象とする
			String sbtCd = saveOnuResultMap.get(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_SBT_CD);
			if (!chofukuTaknkikiList.contains(sbtCd))
			{
				continue;
			}
			
			// 宅内機器型式コード
			String modelCd = saveOnuResultMap.get(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD);
			sb.append(LOG_LABEL_TKNI_KIKI_MODEL); // ラベル（宅内機器型式コード）
			sb.append(getZenkakuNumber(recordCnt)); // カウントの数字
			sb.append(LOG_LABEL_SEPARATOR); // ログ区切り文字
			sb.append(modelCd);
			sb.append(LOG_LABEL_SPACE); // スペース
			
			// 機器製造番号
			String seizoNo = saveOnuResultMap.get(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SEIZO_NO);
			sb.append(LOG_LABEL_KIKI_SEIZO); // ラベル（宅内機器型式コード）
			sb.append(getZenkakuNumber(recordCnt)); // カウントの数字
			sb.append(LOG_LABEL_SEPARATOR); // ログ区切り文字
			sb.append(seizoNo);
			sb.append(LOG_LABEL_SPACE); // スペース
			
			recordCnt++;
		}
		
		// 最後のスペースを削除
		sb.deleteCharAt(sb.length()-1);
		
		// ログ出力
		super.logPrint.printBusinessErrorLog(JPCBatchMessageConstant.EKKB1060CW, 
				new String[]{sb.toString()});
		
		// ログ用文字列の初期化
		sb = null;
	}
	
	/**
	 * 半角数値を全角に変換（ログ用）
	 * @param number 変換対象数値
	 * @return 全角数値
	 */
	private String getZenkakuNumber(int number)
	{
		// 返却番号が１桁なら直接取得して返す
		if (number < ZENKAKU_NUM_ARRAY.length)
		{
			return ZENKAKU_NUM_ARRAY[number];
		}
		
		// ２桁以上は組み合わせ
		char[] numberList = String.valueOf(number).toCharArray();
		
		StringBuilder sb = new StringBuilder();
		for(char ch : numberList)
		{
			sb.append(ZENKAKU_NUM_ARRAY[Integer.parseInt(String.valueOf(ch))]);
		}
		return sb.toString();
	}
	
	/**
	 * SQLKEY(KK_SELECT_153)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用年月日
	 *		 	サービス契約番号
	 *		 	回線内訳使用開始年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KKTK_SVC_KEI_KK_SELECT_153(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_KK_T_KKTK_SVC_KEI_153.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_153);
	}
	// =======  SG1-2013-0000038対応 End ========
	
	// =======  OM-2013-0004457対応 start =========
	/**
	 * 異動予約対象外のレコードの更新を行います。
	 * 引数で指定した申込明細番号で異動予約を検索し、引数で指定した日付を予約適用年月日に更新します。
	 * @param mskmDtlNo 申込明細番号
	 * @param pRsvAplyYmd 予約適用年月日に設定する日付
	 * @throws Exception
	 */
	private void updateIdoRsvTrgGaiData(String mskmDtlNo, String pRsvAplyYmd) throws Exception
	{
		
		if (mskmDtlNo == null || "".equals(mskmDtlNo))
		{
			super.logPrint.printDebugLog("異動予約対象外の更新にて、指定した申込明細番号が未設定");
			return;
		}
		
		String [] idoRsv_whereParam = {mskmDtlNo};
		
		// 異動予約検索：SQL定義キー（KK_T_IDO_RSV-KK_SELECT_048）を実行する。
		executeKK_T_IDO_RSV_KK_SELECT_048(idoRsv_whereParam);
		
		JBSbatCommonDBInterface idoRsvMap_048 = db_KK_T_IDO_RSV_048.selectNext();
		
		// 異動予約検索結果が「NULL」でない間の繰返し
		while (null != idoRsvMap_048)
		{
			String idoRsvNo = JBSbatStringUtil.Rtrim(idoRsvMap_048.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_NO));
			
			// 申込明細番号に紐付く異動予約更新
			updateIdoRsv48(idoRsvNo, pRsvAplyYmd);
			
			idoRsvMap_048 = db_KK_T_IDO_RSV_048.selectNext();
		}
	}
	
	/**
	 * 異動予約４８の更新処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.排他制御をします。<br>
	 *
	 * 2.更新処理を実行します。<br>
	 * 
	 *
	 * </pre>
	 * <p>
	 * @param idoRsvNo48
	 * @param valueRsvAplyYmd 予約適用年月日
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void updateIdoRsv48(String idoRsvNo48, String valueRsvAplyYmd) throws Exception
	{
		JBSbatCommonDBInterface map = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface where_map = new JBSbatCommonDBInterface();
		
		String[] value = null;
		String[] param = null;
		
		where_map.setValue(JBSbatKK_T_IDO_RSV.IDO_RSV_NO, idoRsvNo48);
		
		// 排他検索を行います
		map = db_KK_T_IDO_RSV_048.selectByPrimaryKeysForUpdateWait(where_map);
		
		// 排他検索結果がある場合
		if (null != map)
		{
			value = new String[1];
			param = new String[1];
			
			value[0] = valueRsvAplyYmd;
			param[0] = idoRsvNo48;
			
			super.logPrint.printDebugLog("param(異動予約番号48)：" +  param[0]);
			super.logPrint.printDebugLog("異動予約更新48：value(予約適用年月日)：" +  value[0]);
			
			executeKK_T_IDO_RSV_PKUPDATE48(value, param);
		}
		// 排他エラーの場合
		else
		{
			// 該当レコード無しのエラー
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"異動予約", "異動予約番号" + idoRsvNo48});
		}
	}
	
	/**
	 * SQLKEY(KK_SELECT_048)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	申込明細番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_IDO_RSV_KK_SELECT_048(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_IDO_RSV_048.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_048);
	}
	
	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	予約適用年月日				RSV_APLY_YMD
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	IDO_RSV_NO
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_IDO_RSV_PKUPDATE48(Object[] setParam, Object[] whereParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("RSV_APLY_YMD", setParam[0]);
	
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("IDO_RSV_NO", whereParam[0]);

		// DBアクセスを実行します
		db_KK_T_IDO_RSV_048.updateByPrimaryKeys(whereMap, setMap);
	}
	
	/**
	 * SQLKEY(KK_SELECT_061)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	機器提供サービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_IDO_RSV_KK_SELECT_061(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_IDO_RSV_061.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_061);
	}
	
	/**
	 * 異動予約対象外のレコードの更新を行います。
	 * 引数で指定した機器提供サービス契約番号で異動予約を検索し、引数で指定した日付を予約適用年月日に更新します。
	 * @param kktkSvcKeiNo 機器提供サービス契約
	 * @param pRsvAplyYmd 予約適用年月日に設定する日付
	 * @throws Exception
	 */
	private void updateIdoRsvTrgGaiWhereKktkSvcKei(String kktkSvcKeiNo, String rsvAplyYmd) throws Exception
	{
		
		if (kktkSvcKeiNo == null || "".equals(kktkSvcKeiNo))
		{
			super.logPrint.printDebugLog("異動予約対象外の更新にて、指定した機器提供サービス契約番号が未設定");
			return;
		}
		
		String [] idoRsv_whereParam = {kktkSvcKeiNo};
		
		// 異動予約検索：SQL定義キー（KK_T_IDO_RSV-KK_SELECT_061）を実行する。
		executeKK_T_IDO_RSV_KK_SELECT_061(idoRsv_whereParam);
		
		JBSbatCommonDBInterface idoRsvMap_061 = db_KK_T_IDO_RSV_061.selectNext();
		
		// 異動予約検索結果が「NULL」でない間の繰返し
		while (null != idoRsvMap_061)
		{
			String idoRsvNo = JBSbatStringUtil.Rtrim(idoRsvMap_061.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_NO));
			
			// 申込明細番号に紐付く異動予約更新
			updateIdoRsv061(idoRsvNo, rsvAplyYmd);
			
			idoRsvMap_061 = db_KK_T_IDO_RSV_061.selectNext();
		}
	}
	
	/**
	 * 異動予約の更新処理をします。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.排他制御をします。<br>
	 *
	 * 2.更新処理を実行します。<br>
	 *
	 * </pre>
	 * <p>
	 * @param idoRsvNo_151 異動予約番号
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void updateIdoRsv061(String idoRsvNo61, String valueRsvAplyYmd) throws Exception
	{
		JBSbatCommonDBInterface map = new JBSbatCommonDBInterface();
		JBSbatCommonDBInterface where_map = new JBSbatCommonDBInterface();
		
		String[] value = null;
		String[] param = null;
		
		where_map.setValue(JBSbatKK_T_IDO_RSV.IDO_RSV_NO, idoRsvNo61);

		// 排他検索を行います
		map = db_KK_T_IDO_RSV.selectByPrimaryKeysForUpdateWait(where_map);

		// 排他検索結果がある場合
		if (null != map)
		{
			value = new String[1];
			param = new String[1];
			
			value[0] = valueRsvAplyYmd;
			param[0] = idoRsvNo61;
			
			super.logPrint.printDebugLog("param(異動予約番号61)：" +  param[0]);
			super.logPrint.printDebugLog("異動予約更新61：value(予約適用年月日)：" +  value[0]);
	
			executeKK_T_IDO_RSV_PKUPDATE61(value, param);
		}
		// 排他エラーの場合
		else
		{
			// 該当レコード無しのエラー
			throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
					new String[]{"異動予約", "異動予約番号" + idoRsvNo61});
		}
	}
	
	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の(項目、値)を(key、value)として、setParamマップに入れます。項目キーは以下に説明します。
	 *		 	予約適用年月日				RSV_APLY_YMD
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	IDO_RSV_NO
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_IDO_RSV_PKUPDATE61(Object[] setParam, Object[] whereParam) throws Exception
	{
		// 設定値のマップを作成します
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue("RSV_APLY_YMD", setParam[0]);
	
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("IDO_RSV_NO", whereParam[0]);

		// DBアクセスを実行します
		db_KK_T_IDO_RSV.updateByPrimaryKeys(whereMap, setMap);
	}
	// =======  OM-2013-0004457対応 end =========
	
	// =========== OM-2013-0004238対応 start =============
	/**
	 * 新提供方式契約番号を取得します。住所変更以外の場合、指定されたサービス契約の提供方式を取得します。
	 * @param svcKeiMap
	 * @param idoRsvMap
	 * @return
	 * @throws Exception
	 */
	private String getNewTkHoshikiKeiNo(JBSbatCommonDBInterface svcKeiMap, JBSbatCommonDBInterface idoRsvMap) throws Exception
	{
		// 異動予約の異動区分をチェック
		// 異動区分が「住所変更・登録（"00019"）」以外の場合はサービス契約カレントの提供方式契約を使用
		String idoDiv = JBSbatStringUtil.Rtrim(idoRsvMap.getString(JBSbatKK_T_IDO_RSV.IDO_DIV));
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if(!"00019".equals(idoDiv))
		if(!JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{
			return JBSbatStringUtil.Rtrim(svcKeiMap.getString(JBSbatKK_T_SVC_KEI.TK_HOSHIKI_KEI_NO));
		}
		// 住所変更・登録の場合、異動予約の新提供方式契約番号を使用
		return JBSbatStringUtil.Rtrim(idoRsvMap.getString(JBSbatKK_T_IDO_RSV.NEW_TK_HOSHIKI_KEI_NO));
		
	}
	// =========== OM-2013-0004238対応 end   =============

	// =========== OM-2014-0000772対応 start =============
	/**
	 * SQLKEY(KK_SELECT_183)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	機器提供サービス契約番号
	 *		 	予約適用日+世代登録年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_KKTK_SVC_KEI_KK_SELECT_183(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_KKTK_SVC_KEI_183.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_183);
	}
	// =========== OM-2014-0000772対応 end =============
	
	// =============== OM-2014-0001036対応 start ===============
	/**
	 * SQLKEY(KK_SELECT_073)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用年月日
	 *		 	サービス契約番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_IDO_RSV_KK_SELECT_073(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_KK_T_IDO_RSV.selectBySqlDefine(paramList, KK_T_IDO_RSV_KK_SELECT_073);
	}
	
	/**
	 * ネット、電話の機器提供サービス契約解約登録処理です。
	 * @param svcKeiNo
	 * @param svcCd
	 * @param idoDiv
	 * @param pnltyHasseiCd
	 * @param mskmDtlNo
	 * @param prcGrpCd
	 * @param rsvAplyYmd_idoRsv
	 * @return List<JBSbatCommonDBInterface>
	 * @throws Exception
	 */
	// ++++++++++ v20.00.01 変更開始 ++++++++++
//	private List<JBSbatCommonDBInterface> insertKktkSvcDslNetTel(String svcKeiNo, String svcCd, String idoDiv, String pnltyHasseiCd, String mskmDtlNo) throws Exception
	private List<JBSbatCommonDBInterface> insertKktkSvcDslNetTel(String svcKeiNo, String svcCd, String idoDiv, String pnltyHasseiCd,
			String mskmDtlNo, String prcGrpCd, String rsvAplyYmd_idoRsv) throws Exception
	// ++++++++++ v20.00.01 変更終了 ++++++++++
	{
		String kktkSvcKeiNo_073 = "";
		
		String geneAddDtm_073 = "";
		
		List<JBSbatCommonDBInterface> oldKktkSvcKeiList = new ArrayList<JBSbatCommonDBInterface>();
		
		// サービスコードが、「02（eo光電話）」且つ料金グループが「10（eo光電話）」または
		// 「01（eo光ネット）」且つ料金グループが「02(ｅｏ光ネットホームタイプ)または、03(ｅｏ光ネットメゾンタイプ)または、04(ｅｏ光ネットマンションタイプ)の場合
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		//if(("02".equals(svcCd) && "10".equals(prcGrpCd)) || 
		//		("01".equals(svcCd) && ("02".equals(prcGrpCd) || "03".equals(prcGrpCd) || "04".equals(prcGrpCd))))
		if((JBSbatKKConst.SVC_CD_TEL_SVC.equals(svcCd) && JBSbatKKConst.PGRP_TEL.equals(prcGrpCd)) || 
				(JBSbatKKConst.SVC_CD_IN_SVC.equals(svcCd) && (JBSbatKKConst.PGRP_NET_02.equals(prcGrpCd) || JBSbatKKConst.PGRP_NET_03.equals(prcGrpCd) || JBSbatKKConst.PGRP_NET_04.equals(prcGrpCd))))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{
			
			String [] whereOpSvcKeiParam = {this.opeDate, svcKeiNo, this.opeDate};
			
			// 異動予約検索：SQL定義キー（KK_T_IDO_RSV_KK_SELECT_073）を実行する。
			executeKK_T_IDO_RSV_KK_SELECT_073(whereOpSvcKeiParam);
			
			JBSbatCommonDBInterface idoRsvMap_073 = db_KK_T_IDO_RSV.selectNext();
			
			// 機器提供サービス契約検索：SQL定義キー（KK_T_IDO_RSV_KK_SELECT_073）結果がある場合
			if(null != idoRsvMap_073)
			{
				while(null != idoRsvMap_073)
				{
					kktkSvcKeiNo_073 = JBSbatStringUtil.Rtrim(idoRsvMap_073.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO));
					geneAddDtm_073 = JBSbatStringUtil.Rtrim(idoRsvMap_073.getString(JBSbatKK_T_KKTK_SVC_KEI.GENE_ADD_DTM));
					/* ++++++++++ v12.00.00 追加開始 ++++++++++ */
					String idoRsvNo_073 = JBSbatStringUtil.Rtrim(idoRsvMap_073.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_NO));
					/* ++++++++++ v12.00.00 追加終了 ++++++++++ */
					
					String[] kktkSvcKei_param = new String[2];
					
					// 機器提供サービス契約検索キー設定
					kktkSvcKei_param[0] = kktkSvcKeiNo_073;			// 機器提供サービス契約番号(機器提供サービス契約）
					kktkSvcKei_param[1] = geneAddDtm_073;				// 世代登録年月日時分秒(機器提供サービス契約）
					
					// 機器提供サービス契約のPK検索を行います
					JBSbatCommonDBInterface kktkSvcKei_map = executeKK_T_KKTK_SVC_KEI_PKSELECT(kktkSvcKei_param);
					
					// 機器提供サービス契約のPK検索結果なしの場合、エラーとし処理中断します
					if (null == kktkSvcKei_map)
					{
						if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
						{
							super.logPrint.printDebugLog("機器提供サービス契約なし：機器提供サービス契約番号=" + kktkSvcKeiNo_073);
						}
					}
					// 機器提供サービス契約のPK検索結果ありの場合
					else
					{
						// 機器提供サービス契約登録処理
						/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//						insertKktkSvcKeiDsl(kktkSvcKei_map, idoDiv, pnltyHasseiCd, mskmDtlNo);
						insertKktkSvcKeiDsl(kktkSvcKei_map, idoDiv, pnltyHasseiCd, mskmDtlNo, rsvAplyYmd_idoRsv);
						/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
						
						/* ++++++++++ v12.00.00 追加開始 ++++++++++ */
						// 解約した機器に紐付く異動予約を反映済みへ更新
						updateIdoRsv(idoRsvNo_073);
						/* ++++++++++ v12.00.00 追加終了 ++++++++++ */
					}
					oldKktkSvcKeiList.add(kktkSvcKei_map);
					idoRsvMap_073 = db_KK_T_IDO_RSV.selectNext();
				}
			}
		}
		return oldKktkSvcKeiList;
	}
	
	/**
	 * 
	 * 機器提供サービス契約登録処理（旧コース）を行います。
	 * 
	 * @param kktkSvcKei_map  入力電文（機器提供サービス契約）。
	 * @param idoDiv 異動区分
	 * @param pnltyHasseiCd 違約金発生コード
	 * @pmara mskmDtlNo 申込明細番号
	 * @param rsvAplyYmd_idoRsv 予約適用年月日（異動予約）
	 * @throws Exception メソッド内で発生した例外全般。
	 */
	// ++++++++++ v20.00.01 変更開始 ++++++++++
//	private void insertKktkSvcKeiDsl(JBSbatCommonDBInterface kktkSvcKei_map, String idoDiv, String pnltyHasseiCd, String mskmDtlNo) throws Exception
	private void insertKktkSvcKeiDsl(JBSbatCommonDBInterface kktkSvcKei_map, String idoDiv, String pnltyHasseiCd, String mskmDtlNo,
			String rsvAplyYmd_idoRsv) throws Exception
	// ++++++++++ v20.00.01 変更終了 ++++++++++
	{
		// システム日付を取得
		String sysDate = JCCBatCommon.getSysDateTimeStamp();
		
		// 予約適用年月日
		String rsvAplyYmdBf_1 = "";
		
		// プラン課金終了年月日
		String planChrgEndYmd = "";
		
		
		// 異動区分="00019:住所変更・登録"
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if("00019".equals(idoDiv))
		if(JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{
			//  予約適用年月日-1日
			rsvAplyYmdBf_1 = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
			
			// プラン課金終了年月日→予約適用年月日の月末日
			planChrgEndYmd = rsvAplyYmd_idoRsv.substring(0, 6) + JBSbatDateUtil.getEndOfMonth(rsvAplyYmd_idoRsv.substring(0, 6));
		}
		else
		{
			//  予約適用年月日-1日
			rsvAplyYmdBf_1 = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
			
			// プラン課金終了年月日→予約適用年月日-1日
			planChrgEndYmd = JBSbatDateUtil.adjustDate(rsvAplyYmd_idoRsv, -1);
		}
		
		// 違約金発生コードの設定
		String pnlty_hassei_cd = "";
		// 異動予約.違約金発生コードが"0"の場合、そのまま設定
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if("0".equals(pnltyHasseiCd))
		if(JBSbatKKConst.CD01375_PNLTY_HASSEI_CD_0.equals(pnltyHasseiCd))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{
			pnlty_hassei_cd = "0";
		}
		// その他の場合、マスタの値を設定
		else
		{
			// 機器提供サービスコードから違約金発生有無を取得
			String kktk_svc_cd = JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_CD));
			String[] param = new String[]{kktk_svc_cd};
			JBSbatCommonDBInterface pnltyHasseiUmMap = executeKK_M_KKTK_SVC_PKSELECT(param);
			if(pnltyHasseiUmMap != null)
			{
				pnlty_hassei_cd = JBSbatStringUtil.Rtrim(pnltyHasseiUmMap.getString(JBSbatKK_M_KKTK_SVC.PNLTY_HASSEI_UM));
			}
		}
		
		// 登録する機器提供サービス契約のパラメータを設定します
		String [] setParam = {
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO)),
				sysDate,
				// ++++++++++ v20.00.00	 変更開始 ++++++++++
				// "910", // 機器提供サービス契約ステータス
				JBSbatKKConst.CD00056_KKTK_SVC_KEI_STAT_910,
				// ++++++++++ v20.00.00	 変更終了 ++++++++++
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.PCRS_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.PPLAN_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.TK_HOSHIKI_KEI_NO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SBT_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HAMBAI_SBT_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_USE_STA_KIBO_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.RSV_TSTA_KIBO_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIBO_MAKER_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SHITEI_SBT_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_SBT_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_MODEL_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SEIZO_NO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HUZOKUHIN_SBT_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HUZOKUHIN_MODEL_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_SETHIN_MODEL_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_CHG_NO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_CHG_RSN_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.TSUSHIN_KIKI_SET_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HDD_CAPA_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_PLACE_NO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.OYA_KEI_SKBT_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_KEI_NO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_KEI_UCWK_NO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_KEI_KAISEN_UCWK_NO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.OP_SVC_KEI_NO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SYSID)),
				mskmDtlNo, // 申込明細番号
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.LINK_STB_FLG)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_HKAT_SHITEI_SOKO_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_HKAT_SHITEI_SKDN_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STI_JI_KRIPLACE_SKCD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STI_JI_KOCOMP_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STI_JI_KOCOMP_SLF_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STI_JI_YTKSKOF_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STI_JI_YTKSKOF_SLF_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_HKHASYMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SORYO_UM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SORYO_SAKSEI_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_NM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_KANA)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_AD_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_PCD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_STATE_NM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_CITY_NM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_OAZTSU_NM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_AZCHO_NM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_BNCHIGO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_ADRTTM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_ADRRM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SHS_AD_MAN_INPUT_FLG)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_TELNO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.MANSION_BUKKEN_NO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SOHUS_KSH_AD_SAI_FLG)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SHS_KBT_SHITEI_FLG)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SHS_HSK_CD_1)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SHS_HSK_CD_2)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_SHS_HSK_MEMO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_NM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_KANA)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_AD_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_PCD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_STATE_NM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_CITY_NM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_OAZTSU_NM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_AZCHO_NM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_BNCHIGO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_ADRTTM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SAKI_ADRRM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SK_KSH_AD_SAI_FLG)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STC_SK_TELNO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STS_KKK_SEIRI_CHU_FLG)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.AD_MI_FIX_FLG)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.AUTO_ADD_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.AD_MI_FIX_RLS_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.CHRG_STA_YMD_HOSEI_UM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STS_HSK_CD_1)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STS_HSK_CD_2)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_STS_HSK_MEMO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_KZKWRK_REQYMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SHOSA_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SHOSA_CL_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HAISO_DIV)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HAISO_KIGEN_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HAISO_ARIV_SHITEI_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.FTRIAL_KANYU_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.FTRIAL_PRD_ENDYMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HONKANYU_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HONKANYU_IKO_KIGEN_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KEI_CNC_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.JCCC_KANYU_BUNSHO_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HOSHO_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVKEI_HOKI)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HOSHO_STAYMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HOSHO_END_YMD)),
				/* ++++++++++ v10.01.01 変更開始 ++++++++++ */
//				getRsvAplyYmdForUpdate(rsvAplyYmd_idoRsv), // 予約適用年月日
				super.opeDate,
				/* ++++++++++ v10.01.01 変更終了 ++++++++++ */
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.RSV_CL_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.RSV_APLY_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_CHG_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.PLAN_STAYMD)),
				rsvAplyYmdBf_1,
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.PLAN_CHRG_STAYMD)),
				planChrgEndYmd,
				// ++++++++++ v20.00.00	 変更開始 ++++++++++
				// "1", // プラン終了種別コード 
				JBSbatKKConst.PLAN_END_SBT_CD_PLANCHG,
				// ++++++++++ v20.00.00	 変更終了 ++++++++++
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_CANCEL_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_CANCEL_RSN_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_STA_KISAN_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_STA_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_CHRG_STAYMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_STP_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVCTK_CHU_USE_FAIL_SBT_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_STP_RSN_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_STP_RLS_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_STP_RLS_RSN_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.PAUSE_STP_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_PAUSE_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_PAUSE_RSN_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_PAUSE_RSN_MEMO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_PAUSE_RLS_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_PAUSE_RLS_RSN_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_PAUSE_RLS_RSN_MEMO)),
				rsvAplyYmdBf_1, // サービス終了年月日
				planChrgEndYmd, // サービス課金終了年月日
				rsvAplyYmdBf_1, // サービス解約年月日
				// ++++++++++ v20.00.00	 変更開始 ++++++++++
				// SVC_DLRE_CD_TUJYO_DSL, // サービス解約理由コード（"01:通常解約"）
				JBSbatKKConst.SVC_DLRE_CD_NORMAL,
				// ++++++++++ v20.00.00	 変更終了 ++++++++++
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_DLRE_MEMO)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.ZANCHI_FLG)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_DSL_TTDKI_FIN_FLG)),
				"", // 回復年月日（""）
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_CANCEL_CL_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_DSL_CL_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SKEKKA_SEND_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_PAUSE_CHRG_STA_YMD)),
				pnlty_hassei_cd, // 違約金発生コード
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_NINSHO_ID)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_NINSHO_ID_PWD)),
				idoDiv, // 異動区分
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKST_JSEKI_UK_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.EO_TV_KKST_SNN_STAT_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKST_SNN_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.TAKNKIKI_IDO_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.CAS_CARD_USE_KYODAK_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_HUKA_INFO_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SHOSA_DSL_FIN_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.ROUTER_DSL_RSV_TRN_STAT_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.ROUTER_DSL_RSV_TRN_RSLT_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HAISO_WAY_CD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KIKI_ITENS_MV_JSSIS_SKCD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KAISHU_KIKI_UM)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HAISO_REQ_SHITEI_YMD)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SHKA_FIN_JI_SYRZM_FLG)),
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.SVC_STA_JI_HIS_JOKYO_SKCD)),
				"",
				"",
				"",
				"",
				"",
				"",
				// ++++++++++ v20.00.00	 変更開始 ++++++++++
				// "0",
				JBSbatKKConst.MK_FLG_YK,
				// ++++++++++ v20.00.00	 変更終了 ++++++++++
				"",
				"",
				"",
				"",
				"",
				"",
				/* ++++++++++ v9.00.00 追加開始 ++++++++++ */
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HCPRD_STAD_SNSTSTD_YMD)),        // 保証・補償期間開始日算出基準年月日
				/* ++++++++++ v10.00.00 変更開始 ++++++++++ */
//				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HCPRD_STAD_SNSTSTD_YMD_IKF))     // 保証・補償期間開始日算出基準年月日移行フラグ
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HCPRD_STAD_SNSTSTD_YMD_IKF)),    // 保証・補償期間開始日算出基準年月日移行フラグ
				JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.HCPRD_STAD_SNSTSTD_YMD_SCD))     // 保証・補償期間開始日算出基準年月日識別コード
				/* ++++++++++ v10.00.00 変更終了 ++++++++++ */
				/* ++++++++++ v9.00.00 追加終了 ++++++++++ */};		
		executeKK_T_KKTK_SVC_KEI_PKINSERT(setParam);
	}
	
	/**
	 * PK(ＰＫ　検索)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で条件マップを作ります。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		whereParam:PK項目の(項目、値)を(key、value)として,格納された配列です。PK項目は以下に説明します。
	 *		 	KKTK_SVC_CD
	 * </pre>
	 * <p>
	 * @param whereParam 条件項目の値。
	 * @return JBSbatCommonDBInterface 検索の結果。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatCommonDBInterface executeKK_M_KKTK_SVC_PKSELECT(Object[] whereParam) throws Exception
	{
		// 条件のマップを作成します
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue("KKTK_SVC_CD", whereParam[0]);

		// DBアクセスを実行します
		return db_KK_M_KKTK_SVC.selectByPrimaryKeys(whereMap);
	}
	
	/**
	 * 割引サービス自動適用部品（JKKWrisvcAutoAplyCC）対象データ（機器提供サービス契約の解約）の設定を行います。
	 * <br>
	 * @param crsChgFixTgOutKikimap コース変更確定割引サービス情報ファイル(機器提供サービス契約)
	 * @param kkTIdoRsvMap 異動予約情報
	 * @param kktkSvcKei_map 機器提供サービス契約情報
	 * @param idoDiv_156 異動区分
	 * 
	 * @return crsChgFixTgOutKikimap コース変更確定割引サービス情報ファイル(機器提供サービス契約)
	 * @throws Exception 
	 */
	private void setWriSvcAutoAplyKktkSvcKeiDsl(List<JBSbatCommonDBInterface> kktkSvcKeiList, JBSbatCommonDBInterface kkTIdoRsvMap, String idoDiv_156) throws Exception
	{
		if (kktkSvcKeiList == null || kktkSvcKeiList.isEmpty())
		{
			return;
		}
		
		for(JBSbatCommonDBInterface kktkSvcMap : kktkSvcKeiList)
		{
			// 入出力インターフェースオブジェクトを生成(コース変更確定割引サービス情報ファイル(機器提供サービス契約)）
			JBSbatServiceInterfaceMap crsChgFixTgOutKikimap = new JBSbatServiceInterfaceMap();
			
			// 割引サービス自動適用CC（機器提供サービス契約情報解約）情報設定
			crsChgFixTgOutKikimap = setWriSvcAutoAplyKktkSvcKeiDsl(crsChgFixTgOutKikimap, kkTIdoRsvMap, kktkSvcMap, idoDiv_156);
			
			// 出力フラグを設定
			crsChgFixTgOutKikimap.setOutFlg(true);
			
			// 出力共通電文に「コース変更確定割引サービス情報ファイル」の設定
			outputBean.addOutMapList_2(crsChgFixTgOutKikimap);
		}
	}
	
	/**
	 * 割引サービス自動適用部品（JKKWrisvcAutoAplyCC）対象データ（機器提供サービス契約）（解約）の設定を行います。
	 * <br>
	 * @param crsChgFixTgOutKikimap コース変更確定割引サービス情報ファイル(機器提供サービス契約)
	 * @param kkTIdoRsvMap 異動予約情報
	 * @param kktkSvcKei_map 機器提供サービス契約情報
	 * @param idoDiv_156 異動区分
	 * 
	 * @return crsChgFixTgOutKikimap コース変更確定割引サービス情報ファイル(機器提供サービス契約)
	 * @throws Exception 
	 */
	private JBSbatServiceInterfaceMap setWriSvcAutoAplyKktkSvcKeiDsl(JBSbatServiceInterfaceMap crsChgFixTgOutKikimap,
					JBSbatCommonDBInterface kkTIdoRsvMap, JBSbatCommonDBInterface kktkSvcKei_map, String idoDiv_156) throws Exception
	{
		// 登録／変更区分
		String addChgeDiv = "";
		
		// 申込明細番号
		String mskmDtlNo = JBSbatStringUtil.Rtrim(kkTIdoRsvMap.getString(JBSbatKK_T_IDO_RSV.MSKM_DTL_NO));
		
		// 申込情報検索
		JBSbatCommonDBInterface dbMap = selectMskm(mskmDtlNo);
		
		// 申込番号
		String mskmNo = JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_MSKM.MSKM_NO));
		
		// 登録／変更区分→解約(即時で解約確定の場合のみ)
		addChgeDiv = "03";
		
		// SYSID
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.SYSID, JBSbatStringUtil.Rtrim(dbMap.getString(JBSbatKK_T_MSKM.SYSID)));
		
		// 登録／変更区分
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.ADD_CHGE_DIV, addChgeDiv);
		
		// 申込番号
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.MSKM_NO, mskmNo);
		
		// 申込種別コード "00005:解約申込"
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.MSKM_SBT_CD, "00005");
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.MSKM_SBT_CD, JBSbatKKConst.KK0971_MSKM_SBT_CD_00005);
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		
		// サービス解約理由コード→通常解約
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		//crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.SVC_DLRE_CD, "01");
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.SVC_DLRE_CD, JBSbatKKConst.SVC_DLRE_CD_NORMAL);
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		
		// 異動区分
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.IDO_DIV, idoDiv_156);
		
		// 対象契約識別コード→機器提供サービス契約
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.TG_KEI_SKBT_CD, "06");
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.TG_KEI_SKBT_CD, JBSbatKKConst.TG_SKBT_KKTK);
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		
		// 機器提供サービス契約番号
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.KKTK_SVC_KEI_NO, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO)));
		
		// 機器提供サービス契約ステータス
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.KKTK_SVC_KEI_STAT, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_STAT)));
		
		// 料金コースコード
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.PCRS_CD, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.PCRS_CD)));
		
		// 料金プランコード
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.PPLAN_CD, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.PPLAN_CD)));
		
		// 機器提供サービスコード
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.KKTK_SVC_CD, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_CD)));
		
		// 機器提供種別コード
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.KKTK_SBT_CD, JBSbatStringUtil.Rtrim(kktkSvcKei_map.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SBT_CD)));
		
		/* ++++++++++ v10.01.00 追加開始 ++++++++++ */
		// 予約適用年月日
		/* ++++++++++ v20.00.01 変更開始 ++++++++++ */
//		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.RSV_APLY_YMD, rsvAplyYmd_idoRsv);
		crsChgFixTgOutKikimap.setString(JBSbatKKIFM281.RSV_APLY_YMD, JBSbatStringUtil.Rtrim(kkTIdoRsvMap
				.getString(JBSbatKK_T_IDO_RSV.RSV_APLY_YMD)));
		/* ++++++++++ v20.00.01 変更終了 ++++++++++ */
		/* ++++++++++ v10.01.00 追加終了 ++++++++++ */
		
		if(super.logPrint.chkLogLevel(JBSbatLogUtil.MODE_DEBUG))
		{
			super.logPrint.printDebugLog("【機器提供サービス契約】（コース変更確定割引サービス情報ファイル）：");
			super.logPrint.printDebugLog("SYSID（コース変更確定割引サービス情報ファイル）機器提供：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.SYSID));
			super.logPrint.printDebugLog("登録／変更区分（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.ADD_CHGE_DIV));
			super.logPrint.printDebugLog("申込番号（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.MSKM_NO));
			super.logPrint.printDebugLog("申込種別コード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.MSKM_SBT_CD));
			super.logPrint.printDebugLog("異動区分（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.IDO_DIV));
			super.logPrint.printDebugLog("対象契約識別コード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.TG_KEI_SKBT_CD));
			super.logPrint.printDebugLog("機器提供サービス契約番号（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.KKTK_SVC_KEI_NO));
			super.logPrint.printDebugLog("機器提供サービス契約ステータス（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.KKTK_SVC_KEI_STAT));
			super.logPrint.printDebugLog("料金コースコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.PCRS_CD));
			super.logPrint.printDebugLog("料金プランコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.PPLAN_CD));
			super.logPrint.printDebugLog("機器提供サービスコード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.KKTK_SVC_CD));
			super.logPrint.printDebugLog("機器提供種別コード（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.KKTK_SBT_CD));
			/* ++++++++++ v10.01.00 追加開始 ++++++++++ */
			super.logPrint.printDebugLog("予約適用年月日（コース変更確定割引サービス情報ファイル）：" + crsChgFixTgOutKikimap.getString(JBSbatKKIFM281.RSV_APLY_YMD));
			/* ++++++++++ v10.01.00 追加終了 ++++++++++ */
		}
		
		return crsChgFixTgOutKikimap;
	}
	// =============== OM-2014-0001036対応 end ===============
	
	/* ++++++++++ v9.00.01 追加開始 ++++++++++ */
	/**
	 * 異動予約を反映済に更新しない対象かどうか判定します。
	 * trueが返却されれば、更新対象外であることを表します。
	 * falseが返却されれば、更新対象であることを表します。
	 * @return
	 */
	private boolean isNoUpdateTaishoIdoRsv(String idoDiv, String idoRsvDtlCd, String svcCd, String opSvcKeiNo)
	{
		
		/* ++++++++++ v12.00.00 追加開始 ++++++++++ */
		// 異動予約詳細コードが機器解約の場合
		// 機器解約と同時に異動予約の更新を行っている為、更新不要
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// if(IDO_RSV_DTL_CD_KIKI_DSL.equals(idoRsvDtlCd))
		if(JBSbatKKConst.CD01167_IDO_RSV_DTL_CD_013.equals(idoRsvDtlCd))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
		{
			return true;
		}
		/* ++++++++++ v12.00.00 追加終了 ++++++++++ */
		
		// ネットサービスの場合、
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		//if("01".equals(svcCd))
		// {
		//	// サブオプション解約予約の更新処理は行わない
		//	 if(IDO_RSV_DTL_CD_SBOP_DSL.equals(idoRsvDtlCd))
		if(JBSbatKKConst.SVC_CD_IN_SVC.equals(svcCd))
		{
			if(JBSbatKKConst.CD01167_IDO_RSV_DTL_CD_018.equals(idoRsvDtlCd))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				return true;
			}
		}
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// else if("02".equals(svcCd))
		// {
		//	// 電話サービスの場合、
		//	// オプション解約予約の更新処理は行わない
		// 	if(IDO_RSV_DTL_CD_OP_DSL.equals(idoRsvDtlCd))
		else if(JBSbatKKConst.SVC_CD_TEL_SVC.equals(svcCd))
		{
			if(JBSbatKKConst.CD01167_IDO_RSV_DTL_CD_016.equals(idoRsvDtlCd))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				return true;
			}
			
			// サブオプション解約予約の更新処理は行わない
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			// if(IDO_RSV_DTL_CD_SBOP_DSL.equals(idoRsvDtlCd))
			if(JBSbatKKConst.CD01167_IDO_RSV_DTL_CD_018.equals(idoRsvDtlCd))
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				return true;
			}
		}
		// ++++++++++ v20.00.00	 変更開始 ++++++++++
		// else if("03".equals(svcCd))
		// {
		//	// テレビサービスの場合、
		//	// オプション解約予約の更新処理は行わない
		//	if(IDO_RSV_DTL_CD_OP_DSL.equals(idoRsvDtlCd))
		else if(JBSbatKKConst.SVC_CD_TV_SVC.equals(svcCd))
		{
			if(JBSbatKKConst.CD01167_IDO_RSV_DTL_CD_016.equals(idoRsvDtlCd))
		// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				return true;
			}
			
			// サブオプション解約予約の更新処理は行わない
			// ++++++++++ v20.00.00	 変更開始 ++++++++++
			// if(IDO_RSV_DTL_CD_SBOP_DSL.equals(idoRsvDtlCd))
			if(JBSbatKKConst.CD01167_IDO_RSV_DTL_CD_018.equals(idoRsvDtlCd))
			// ++++++++++ v20.00.00	 変更終了 ++++++++++
			{
				return true;
			}
		}
		
		// 上記以外は更新対象
		return false;
	}
	
	/**
	 * テレビオプション解約分予約の更新処理
	 * @param svcKeiUcwkNo
	 * @throws Exception
	 */
	private void updateTvOpDslRsv(String svcKeiUcwkNo) throws Exception
	{
		String [] whereOpSvcKeiParam = {svcKeiUcwkNo, this.opeDate};
		
		// オプション検索：SQL定義キー（KK_T_OP_SVC_KEI_KK_SELECT_115）を実行する。
		executeKK_T_OP_SVC_KEI_KK_SELECT_115(whereOpSvcKeiParam);
		
		JBSbatCommonDBInterface opSvcKeiMap_115 = db_KK_T_OP_SVC_KEI.selectNext();
		
		// すでに解約されているオプションを検索し、その異動予約を反映済みに更新する。
		
		// オプション検索：SQL定義キー（KK_T_OP_SVC_KEI_KK_SELECT_115）結果がある場合
		// オプション検索結果が「NULL」でない間の繰返し
		while(null != opSvcKeiMap_115)
		{
			String idoRsvNo_115 = JBSbatStringUtil.Rtrim(opSvcKeiMap_115.getString(JBSbatKK_T_IDO_RSV.IDO_RSV_NO));
			// 異動予約更新処理を呼び出す。
			updateIdoRsv(idoRsvNo_115);
			opSvcKeiMap_115 = db_KK_T_OP_SVC_KEI.selectNext();
		}
	}
	
	/**
	 * SQLKEY(KK_SELECT_115)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約内訳番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_OP_SVC_KEI_KK_SELECT_115(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_OP_SVC_KEI.selectBySqlDefine(paramList, KK_T_OP_SVC_KEI_KK_SELECT_115);
	}
	/* ++++++++++ v9.00.01 追加終了 ++++++++++ */
	// OM-2016-0000890 オプション解約予約が存在しない場合でも、内訳に紐づくオプションを解約するよう処理追加 2016/08/01 ADD START
	/**
	 * SQLKEY(KK_SELECT_125)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約内訳番号
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_OP_SVC_KEI_KK_SELECT_125(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());

		// DBアクセスを実行します
		db_KK_T_OP_SVC_KEI.selectBySqlDefine(paramList, KK_T_OP_SVC_KEI_KK_SELECT_125);
	}
	// OM-2016-0000890 オプション解約予約が存在しない場合でも、内訳に紐づくオプションを解約するよう処理追加 2016/08/01 ADD END
	// OM-2016-0002404 2016/12/19 ADD START
	/**
	 * 固定グローバルＩＰアドレス一時金更新処理<br>
	 * 一時金設定スキーマにコース変更に伴う旧認証の固定グローバルＩＰアドレスの一時金が未完了で存在する場合、<br>
	 * 新認証の固定グローバルＩＰアドレスで課金するために、一時金設定レコードを新認証側の情報に更新します<br>
	 * 
	 * @param svcKeiNo サービス契約番号
	 * @param svcKeiUcwkNo サービス契約内訳番号
	 * @param opSvcKeiNo 固定グローバルIPアドレスのオプションサービス契約番号
	 * @throws Exception 例外が発生した場合
	 */
	private void updateFixipadIcjkn(String svcKeiNo, String svcKeiUcwkNo, String opSvcKeiNo) throws Exception
	{
		// 引数の固定グローバルＩＰアドレスに紐付く未完了かつ発生コードがオプションサービス課金開始時の一時金設定レコードを取得
		String[] whereIcjknSette009 = {opSvcKeiNo};
		executeKK_T_ICJKN_SETTE_KK_SELECT_009(whereIcjknSette009);
		JBSbatCommonDBInterface resultIcjknSette009 = db_KK_T_ICJKN_SETTE_009.selectNext();
		
		// 一時金設定レコードが存在する場合
		if (null != resultIcjknSette009)
		{
			// 新認証の固定グローバルＩＰアドレスを取得（最大1件）
			String [] whereOpSvcKei127 = {svcKeiNo, svcKeiUcwkNo, super.opeDate};
			executeKK_T_OP_SVC_KEI_KK_SELECT_127(whereOpSvcKei127);
			JBSbatCommonDBInterface resultOpSvcKei115 = db_KK_T_OP_SVC_KEI_127.selectNext();
			
			// 新認証の固定グローバルＩＰアドレスが存在する場合
			if (null != resultOpSvcKei115)
			{
				// 新認証の固定グローバルＩＰアドレスのオプションサービス契約番号
				String opSvcKeiNoNew = resultOpSvcKei115.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_NO);
				
				// 取得した一時金レコード数分、UPDATE
				while (null !=  resultIcjknSette009)
				{
					// 一時金設定番号(PK)
					String icjknSetteNo = resultIcjknSette009.getString(JBSbatKK_T_ICJKN_SETTE.ICJKN_SETTE_NO);
					
					// PKで排他検索
					JBSbatCommonDBInterface whereIcjknSettePKSelect = new JBSbatCommonDBInterface();
					whereIcjknSettePKSelect.setValue(JBSbatKK_T_ICJKN_SETTE.ICJKN_SETTE_NO, icjknSetteNo);
					JBSbatCommonDBInterface resultIcjknSette = db_KK_T_ICJKN_SETTE.selectByPrimaryKeysForUpdateWait(whereIcjknSettePKSelect);
					
					// 排他検索結果が存在する場合
					if (null != resultIcjknSette)
					{
						// 一時金設定更新
						String[] valueIcjknSettePKUpdate = {opSvcKeiNoNew};
						String[] whereIcjknSettePKUpdate = {icjknSetteNo};
						executeKK_T_ICJKN_SETTE_PKUPDATE(valueIcjknSettePKUpdate, whereIcjknSettePKUpdate);
					}
					// 排他エラーの場合
					else
					{
						// 該当レコード無しのマイナーアラーム
						// ※OM-2016-0002404対応で新規追加した一時金更新処理で、万が一ジョブがとまると問題があるため
						//   他のエラー処理と異なり、ここではマイナーとした。
						super.logPrint.printBusinessErrorLog("EKKB0630NW", new String[]{"一時金設定", "一時金設定番号", icjknSetteNo});
						super.commonItem.setErrFlg(true);
					}
					
					resultIcjknSette009 = db_KK_T_ICJKN_SETTE_009.selectNext();
				}
			}
		}
	}
	
	/**
	 * SQLKEY(KK_SELECT_009)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	オプションサービス契約番号
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_ICJKN_SETTE_KK_SELECT_009(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_T_ICJKN_SETTE_009.selectBySqlDefine(paramList, KK_T_ICJKN_SETTE_KK_SELECT_009);
	}
	
	/**
	 * SQLKEY(KK_SELECT_127)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	サービス契約番号
	 *		 	オプションサービス契約番号
	 *			運用日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_OP_SVC_KEI_KK_SELECT_127(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());
		paramList.setValue(param[1].toString());
		paramList.setValue(param[2].toString());

		// DBアクセスを実行します
		db_KK_T_OP_SVC_KEI_127.selectBySqlDefine(paramList, KK_T_OP_SVC_KEI_KK_SELECT_127);
	}
	
	/**
	 * PK(ＰＫ　更新)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数で設定項目マップを作ります。<br>
	 *
	 * 2.引数で条件マップを作ります。<br>
	 *
	 * 3.DBアクセスを実行します。<br>
	 * 
	 * 4.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		setParam:設定したい項目の値をsetParamマップに入れます。項目は以下に説明します。
	 *		 	オプションサービス契約番号
	 *		whereParam:PK項目の値をwhereParamに入れます。PK項目は以下に説明します。
	 *		 	一時金設定番号
	 * </pre>
	 * <p>
	 * @param setParam 設定項目の値。
	 * @param whereParam 条件項目の値。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_T_ICJKN_SETTE_PKUPDATE(Object[] setParam, Object[] whereParam) throws Exception
	{
		// 更新項目
		JBSbatCommonDBInterface setMap = new JBSbatCommonDBInterface();
		setMap.setValue(JBSbatKK_T_ICJKN_SETTE.OP_SVC_KEI_NO, setParam[0]);
	
		// 条件
		JBSbatCommonDBInterface whereMap = new JBSbatCommonDBInterface();
		whereMap.setValue(JBSbatKK_T_ICJKN_SETTE.ICJKN_SETTE_NO, whereParam[0]);

		// DBアクセスを実行します
		db_KK_T_ICJKN_SETTE.updateByPrimaryKeys(whereMap, setMap);
	}
	// OM-2016-0002404 2016/12/19 ADD END	


	//ANK-3987-00-00 ADD START
	/**▼▼▼▼▼▼ツールから生成したメソッドです 開始▼▼▼▼▼▼*/
	/**
	 * SQLKEY(KK_SELECT_011)でDBアクセスを行います。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.引数でバイント変数を設定します。<br>
	 *
	 * 2.DBアクセスを実行します。<br>
	 * 
	 * 3.メソッドの呼び出し方です。<br>
	 *		引数:
	 *		param:順にバイント変数の値をparam配列に入れます。バイント変数は以下に説明します。
	 *		 	予約適用年月日
	 * </pre>
	 * <p>
	 * @param param バイント変数の値配列。
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void executeKK_M_PCRS_KK_SELECT_011(Object[] param) throws Exception
	{
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(param[0].toString());

		// DBアクセスを実行します
		db_KK_M_PCRS.selectBySqlDefine(paramList, KK_M_PCRS_KK_SELECT_011);
	}


	/**
	 * 
	 * @param kkTIdoRsvMap_009 異動予約検索結果
	 * @param inMap
	 * @throws Exception
	 */
	private void updateNetflixOption(String svcKeiNo_svcKei, String geneAddDtm_svcKei, String oldPcrsCd, String newPcrsCd, String idoDiv_156, String rsvAplyYmd_idoRsv, JBSbatCommonDBInterface kkTIdoRsvMap_009) throws Exception 
	{
		
		// (1)Evaluate New/Old Charges Course
		if (netflixPackPcrsList.contains(oldPcrsCd) || netflixPackPcrsList.contains(newPcrsCd)) {
			
			// (2) Option Service Contract Search 
			executeKK_T_OP_SVC_KEI_KK_SELECT_056(svcKeiNo_svcKei, this.opeDate, JBSbatKKConst.OP_SVC_CD_NETFLIX_PREMIUM);
			JBSbatCommonDBInterface outMapKK_T_OP_SVC_KEI_KK_SELECT_056 = null;
			while((outMapKK_T_OP_SVC_KEI_KK_SELECT_056 = db_KK_T_OP_SVC_KEI_056.selectNext()) != null)
			{
				String opSvcKeiStat = outMapKK_T_OP_SVC_KEI_KK_SELECT_056.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_STAT);
				String opSvcKeiNo = outMapKK_T_OP_SVC_KEI_KK_SELECT_056.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_NO);
				String geneAddDtm = outMapKK_T_OP_SVC_KEI_KK_SELECT_056.getString(JBSbatKK_T_OP_SVC_KEI.GENE_ADD_DTM);
				
				// (3) Evaluate Option Start
				if (!netflixPackPcrsList.contains(oldPcrsCd) && netflixPackPcrsList.contains(newPcrsCd) && opSvcKeiStat.equals(JBSbatKKConst.SVC_KEI_STAT_CNC_ZM)) {
					
					//(4) Option Service Contract / Option Service Contract <ISP> INSERT (Start)
					// オプションサービス契約検索結果格納マップ
					JBSbatCommonDBInterface opSvcKei_map = null;
					
					String[] opSvcKei_param = new String[2];
					
					// オプションサービス契約<ISP>検索キー設定
					opSvcKei_param[0] = opSvcKeiNo;
					opSvcKei_param[1] = geneAddDtm;
					
					// オプションサービス契約のPK検索を行います
					opSvcKei_map = executeKK_T_OP_SVC_KEI_PKSELECT(opSvcKei_param);
					
					if (null == opSvcKei_map)
					{
						throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
								new String[]{"オプションサービス契約", "オプションサービス契約番号：" + opSvcKei_map});
					} else {
						
						// (4-2) Option Service Contract / Option Service Contract <ISP> INSERT
						insertOpSvcKeiForStart(opSvcKei_map, opSvcKeiNo, idoDiv_156, rsvAplyYmd_idoRsv);
					}
					
				}
				
				// (5) Evaluate Option Cancellation
				if (netflixPackPcrsList.contains(oldPcrsCd) && !netflixPackPcrsList.contains(newPcrsCd)
						&& !JBSbatKKConst.SVC_KEI_STAT_DLS_ZM.equals(opSvcKeiStat) && !JBSbatKKConst.SVC_KEI_STAT_CNCL_ZM.equals(opSvcKeiStat)) {
					
					// (6-1) Option Service Contract PK Search
					// オプションサービス契約検索結果格納マップ
					JBSbatCommonDBInterface opSvcKei_map = null;
					
					String[] opSvcKei_param = new String[2];
					
					// オプションサービス契約<ISP>検索キー設定
					opSvcKei_param[0] = opSvcKeiNo;
					opSvcKei_param[1] = geneAddDtm;
					
					// オプションサービス契約のPK検索を行います
					opSvcKei_map = executeKK_T_OP_SVC_KEI_PKSELECT(opSvcKei_param);
					
					if (null == opSvcKei_map)
					{
						throw new JBSbatBusinessException(JPCBatchMessageConstant.EKKB0210CE, 
								new String[]{"オプションサービス契約", "オプションサービス契約番号：" + opSvcKei_map});
					} else {
						
						// (6-2) Option Service Contract / Option Service Contract <ISP> INSERT 
						insertOpSvcKei(opSvcKei_map, opSvcKeiNo, idoDiv_156, rsvAplyYmd_idoRsv, true, svcKeiNo_svcKei, geneAddDtm_svcKei, kkTIdoRsvMap_009);
					}
					
				}
			}
		}
		
	}
	
	
	/**
	 * 
	 * @param svcKeiNo_151
	 * @param unyoYmd
	 * @param opSvcCdNetflixPremium
	 * @throws Exception
	 */
	private void executeKK_T_OP_SVC_KEI_KK_SELECT_056(String svcKeiNo_151, String unyoYmd, String opSvcCdNetflixPremium) throws Exception {
		
		// バイント変数のリストを生成します
		JBSbatCommonDBInterface paramList = new JBSbatCommonDBInterface();
		paramList.setValue(svcKeiNo_151);
		paramList.setValue(unyoYmd);
		paramList.setValue(opSvcCdNetflixPremium);
		
		// DBアクセスを実行します
		db_KK_T_OP_SVC_KEI_056.selectBySqlDefine(paramList, KK_T_OP_SVC_KEI_KK_SELECT_056);
	}
	
	
	/**
	 * オプションサービス契約登録処理
	 * <br>
	 * @param dbInfo オプションサービス契約カレント
	 * @param opSvcKeiNo オプションサービス契約番号
	 * @param idoDiv 異動区分
	 * @throws Exception 
	 */
	//private void insertOpSvcKei(JBSbatCommonDBInterface dbInfo, String opSvcKeiNo, String idoDiv) throws Exception
	private void insertOpSvcKeiForStart(JBSbatCommonDBInterface dbInfo, String opSvcKeiNo, String idoDiv_156, String rsvAplyYmd_idoRsv) throws Exception
	{
		
		super.logPrint.printDebugLog("オプションサービス契約番号（登録）---->" + opSvcKeiNo);
		// システム日付を取得
		String sysDate = JBSbatDateUtil.getSystemDateTimeStamp();
		
		// 新規登録データ格納
		Object[] setParam = new Object[79];
		
		// オプションサービス契約番号
		setParam[0] = opSvcKeiNo;
		
		// 世代登録年月日時分秒 → システム日付を設定
		setParam[1] = sysDate;
		
		// オプションサービス契約ステータス → 100：サービス提供中を設定
		setParam[2] = JBSbatKKConst.SVC_KEI_STAT_SVCTK_CHU;
		
		// オプションサービスコード
		setParam[3] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_CD));
		
		// 料金コースコード
		setParam[4] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.PCRS_CD));
		
		// 料金プランコード
		setParam[5] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.PPLAN_CD));
		
		// 親契約識別コード
		setParam[6] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.OYA_KEI_SKBT_CD));
		
		// サービス契約番号
		setParam[7] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_KEI_NO));
		
		// サービス契約内訳番号
		setParam[8] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_KEI_UCWK_NO));
		
		// 法人サービス契約受付番号
		setParam[9] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.HOJIN_SVC_KEI_UK_NO));
		
		// SYSID
		setParam[10] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SYSID));
		
		// 申込明細番号
		setParam[11] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.MSKM_DTL_NO));
		
		// 試用加入年月日
		setParam[12] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.FTRIAL_KANYU_YMD));
		
		// 試用期間終了年月日
		setParam[13] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.FTRIAL_PRD_ENDYMD));
		
		// 本加入年月日
		setParam[14] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.HONKANYU_YMD));
		
		// 本加入移行期限年月日
		setParam[15] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.HONKANYU_IKO_KIGEN_YMD));
		
		// サービス利用開始希望年月日
		setParam[16] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_USE_STA_KIBO_YMD));
		
		// 予約適用開始希望年月日
		setParam[17] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.RSV_TSTA_KIBO_YMD));
		
		// オプションサービス契約後続業務依頼年月日
		setParam[18] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_KZKWRK_REQYMD));
		
		// 照査年月日
		setParam[19] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SHOSA_YMD));
		
		// 照査取消年月日
		setParam[20] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SHOSA_CL_YMD));
		
		// 審査結果送信コード
		setParam[21] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SKEKKA_SEND_CD));
		
		// 契約締結年月日
		setParam[22] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.KEI_CNC_YMD));
		
		// 予約適用年月日
		setParam[23] = super.opeDate;
		
		// 予約取消年月日
		setParam[24] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.RSV_CL_YMD));
		
		// 予約適用コード
		setParam[25] =JBSbatKKConst.RSV_APLY_CD_FIX;
		
		// プラン開始年月日
		setParam[26] = rsvAplyYmd_idoRsv;
		
		// プラン終了年月日
		setParam[27] = "20991231";
		
		// プラン課金開始年月日
		if (JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv_156)) {
			setParam[28] = JBSbatDateUtil.adjustMonth(rsvAplyYmd_idoRsv, 1).substring(0, 6) + "01";
		} else {
			setParam[28] = rsvAplyYmd_idoRsv;
		}
		
		// プラン課金終了年月日
		setParam[29] = "20991231";
		
		// プラン終了種別コード
		setParam[30] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.PLAN_END_SBT_CD));
		
		// サービスキャンセル年月日
		setParam[31] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_CANCEL_YMD));
		
		// サービスキャンセル理由コード
		setParam[32] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_CANCEL_RSN_CD));
		
		// サービス開始年月日
		setParam[33] = rsvAplyYmd_idoRsv;
		
		// サービス開始時分秒
		setParam[34] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STA_HMS));
		
		// 表示用サービス提供開始年月日
		setParam[35] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.DSP_SVCTK_STAYMD));
		
		// サービス課金開始年月日
		if (JBSbatKKConst.CD00576_IDO_DIV_00019.equals(idoDiv_156)) {
			setParam[36] = JBSbatDateUtil.adjustMonth(rsvAplyYmd_idoRsv, 1).substring(0, 6) + "01";
		} else {
			setParam[36] = rsvAplyYmd_idoRsv;
		}
		
		// サービス停止年月日
		setParam[37] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STP_YMD));
		
		// サービス停止理由コード
		setParam[38] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STP_RSN_CD));
		
		// サービス停止解除年月日
		setParam[39] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STP_RLS_YMD));
		
		// サービス停止解除理由コード
		setParam[40] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_STP_RLS_RSN_CD));
		
		// 休止中断コード
		setParam[41] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.PAUSE_STP_CD));
		
		// サービス休止年月日
		setParam[42] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_YMD));
		
		// サービス休止理由コード
		setParam[43] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_RSN_CD));
		
		// サービス休止理由メモ
		setParam[44] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_RSN_MEMO));
		
		// サービス休止解除年月日
		setParam[45] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_RLS_YMD));
		
		// サービス休止解除理由コード
		setParam[46] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_RLS_RSN_CD));
		
		// サービス休止解除理由メモ
		setParam[47] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_RLS_RSN_MEMO));
		
		// サービス終了年月日
		setParam[48] = "20991231";
		
		// サービス終了時分秒
		setParam[49] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_END_HMS));
		
		// サービス課金終了年月日
		setParam[50] = "20991231";
		
		// サービス解約年月日
		setParam[51] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_DSL_YMD));
		
		// サービス解約理由コード
		setParam[52] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_DLRE_CD));
		
		// サービス解約理由メモ
		setParam[53] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_DLRE_MEMO));
		
		// 解約担当ユーザーID
		setParam[54] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.DSL_TNT_USER_ID));
		
		// サービス解約手続完了フラグ
		setParam[55] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_DSL_TTDKI_FIN_FLG));
		
		// 回復年月日
		setParam[56] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.KAIHK_YMD));
		
		// サービスキャンセル取消年月日
		setParam[57] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_CANCEL_CL_YMD));
		
		// サービス解約取消年月日
		setParam[58] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_DSL_CL_YMD));
		
		// 課金開始年月日補正有無
		setParam[59] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.CHRG_STA_YMD_HOSEI_UM));
		
		// サービス休止課金開始年月日
		setParam[60] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVC_PAUSE_CHRG_STA_YMD));
		
		// オプションサービス契約引継発生年月日
		setParam[61] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_HKHASYMD));
		
		// 違約金発生コード
		setParam[62] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.PNLTY_HASSEI_CD));
		
		// 異動区分
		setParam[63] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.IDO_DIV));
		
		// 照査解約完了コード
		setParam[64] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SHOSA_DSL_FIN_CD));
		
		// サービス提供物消去処理実施年月日時分秒
		setParam[65] = JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.SVCTK_BUT_DEL_TRN_JSSI_DTM));
		
		// 登録年月日時分秒
		setParam[66] = sysDate;
		
		// 登録オペレータアカウント
		setParam[67] = batchUserId;
		
		// 更新年月日時分秒
		setParam[68] = sysDate;
		
		// 更新オペレータアカウント
		setParam[69] = batchUserId;
		
		// 削除年月日時分秒
		setParam[70] = "";
		
		// 削除オペレータアカウント
		setParam[71] = "";
		
		// 無効フラグ → 0：有効を設定
		setParam[72] = JBSbatKKConst.MK_FLG_YK;
		
		// 登録運用年月日
		setParam[73] = "";
		
		// 登録処理ＩＤ
		setParam[74] = "";
		
		// 更新運用年月日
		setParam[75] = "";
		
		// 更新処理ＩＤ
		setParam[76] = "";
		
		// 削除運用年月日
		setParam[77] = "";
		
		// 削除処理ＩＤ
		setParam[78] = "";
		
		executeKK_T_OP_SVC_KEI_PKINSERT(setParam);
		
		// オプションサービス契約番号に紐づくサブクラスの登録を行います。
		JKKBatCommon.createSubTypeKK0351(commonItem, opSvcKeiNo, JBSbatStringUtil.Rtrim(dbInfo.getString(JBSbatKK_T_OP_SVC_KEI.GENE_ADD_DTM)), sysDate);
		
	}
//ANK-3987-00-00 ADD END
// ANK-4673-00-00 ADD START
	/**
	 * オプションサービス契約更新処理（CSコース）
	 * @param svcKeiNo サービス契約番号
	 * @param idoDiv 異動区分
	 * @param rsvAplyYmdIdoRsv 予約適用年月日（異動予約）
	 * @param kkTIdoRsvMap 異動予約マップ
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private void updateOpSvcKeiCscrs(String svcKeiNo, String idoDiv, String rsvAplyYmdIdoRsv, JBSbatCommonDBInterface kkTIdoRsvMap) throws Exception
	{
		// サービス契約に紐づくCAS番号対象オプションサービス契約を取得する
		String [] whereCascdKnriParam = {svcKeiNo};
		executeKK_T_CASCD_KNRI_KK_SELECT_005(whereCascdKnriParam);
		JBSbatCommonDBInterface cascdKnriMap = db_KK_T_CASCD_KNRI.selectNext();
		
		while(null != cascdKnriMap)
		{
			// オプションサービス契約番号
			String opSvcKeiNo = cascdKnriMap.getString(JBSbatKK_T_CSNT_OPSVKEI.OP_SVC_KEI_NO);
			
			// オプションサービス契約のカレントレコードを取得する
			String [] whereOpSvcKeiParam = {opSvcKeiNo, this.opeDate};
			executeKK_T_OP_SVC_KEI_KK_SELECT_094(whereOpSvcKeiParam);
			JBSbatCommonDBInterface opSvcKeiMap = db_KK_T_OP_SVC_KEI_094.selectNext();
			
			if(opSvcKeiMap != null)
			{
				// オプションサービス契約のPK検索を行う
				String [] whereOpSvcKeiParamPk = {opSvcKeiNo, opSvcKeiMap.getString(JBSbatKK_T_OP_SVC_KEI.GENE_ADD_DTM)};
				JBSbatCommonDBInterface opSvcKeiMapPk = executeKK_T_OP_SVC_KEI_PKSELECT(whereOpSvcKeiParamPk);
				
				if (opSvcKeiMapPk != null)
				{
					// オプションサービス契約ステータスが解約済、キャンセル済以外の場合
					if (!JKKStrConst.OP_SVC_STAT_DSLZUMI.equals(opSvcKeiMapPk.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_STAT))
							&& !JKKStrConst.OP_SVC_STAT_CANCELZUMI.equals(opSvcKeiMapPk.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_STAT)))
					{
						// オプションサービス契約登録処理 ※解約処理
						insertOpSvcKei(opSvcKeiMapPk, opSvcKeiNo, idoDiv, rsvAplyYmdIdoRsv, false, "", "", kkTIdoRsvMap);
					}
				}
			}
			
			cascdKnriMap = db_KK_T_CASCD_KNRI.selectNext();
		}
	}
// ANK-4673-00-00 ADD END
}
