/*********************************************************************
*  All Rights reserved,Copyright (c) K-Opticom					 *
**********************************************************************
*＜プログラム内容＞
*	システム名			：eo顧客基幹システム
*	モジュール名		：JBSbatKKSvKeiJzkKeiTrgrCht
*	ソースファイル名	：JBSbatKKSvKeiJzkKeiTrgrCht.java
*	作成者				：富士通　
*	作成日				：2011年06月01日
*＜機能概要＞
*　サービス契約従属契約トリガー抽出部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v1.00.00	2011/06/01   富士通		新規作成
*	v7.00.00	2013/12/07   FJ)民岡	【ANK-1578-00-00】
*   v19.00.00   2015/08/20   FJ)安井     OM-2015-0001096 課金先適用期間変更
*   v50.00.00   2020/08/18   FJ)吉田     OM-2020-0000903 機器に紐づく割引で、機器の履歴上複数のサービス契約に紐づいているとSQLエラー
*********************************************************************/
package eo.business.service;

import eo.business.common.JBSbatBusinessService;
import eo.business.common.JBSbatKKConst;
import eo.business.util.file.JBSbatKKIFM022;
import eo.business.util.file.JBSbatKKIFM023;
import eo.business.util.table.JBSbatKK_T_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SVC_KEI_UCWK;
import eo.business.util.table.JBSbatKK_T_OP_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SBOP_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_KKTK_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_SEIOPSVC_KEI;
import eo.business.util.table.JBSbatKK_T_WRIB_SVC_KEI;
import eo.business.util.table.JBSbatKK_T_KKOP_SVC_KEI;
import eo.framework.item.JBSbatCommonItem;
import eo.framework.item.JBSbatServiceInterfaceMap;
import eo.framework.item.JBSbatOutputItem;
import eo.framework.item.JBSbatCommonDBInterface;
import eo.framework.db.JBSbatSQLAccess;
import eo.framework.util.JBSbatDateUtil;

/**
* (クラスの機能概要) <p>
*<BR>
* @author 富士通
*/
public class JBSbatKKSvKeiJzkKeiTrgrCht extends JBSbatBusinessService
{
	/**▼▼▼▼▼▼ツールから生成した宣言です 開始▼▼▼▼▼▼*/
	/** テーブル(サービス契約)*/
	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_UCWK = "KK_T_SVC_KEI_UCWK";

	/** テーブル(オプションサービス契約)*/
	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_SBOP_SVC_KEI = "KK_T_SBOP_SVC_KEI";

	/** テーブル(機器提供サービス契約)*/
	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_SEIOPSVC_KEI = "KK_T_SEIOPSVC_KEI";

	/** テーブル(割引サービス契約)*/
	private static final String D_TBL_NAME_KK_T_WRIB_SVC_KEI = "KK_T_WRIB_SVC_KEI";
	// 2013/12/07 ANK-1578-00-00 ADD ST
	/** テーブル(機器オプションサービス契約)*/
	private static final String D_TBL_NAME_KK_T_KKOP_SVC_KEI = "KK_T_KKOP_SVC_KEI";
	// 2013/12/07 ANK-1578-00-00 ADD ED
	/** SQL定義キー(KK_SELECT_015)*/
	private static final String KK_T_SVC_KEI_KK_SELECT_015 = "KK_SELECT_015";

	/** SQL定義キー(KK_SELECT_005)*/
	private static final String KK_T_SVC_KEI_UCWK_KK_SELECT_005 = "KK_SELECT_005";

	/** SQL定義キー(KK_SELECT_007)*/
	private static final String KK_T_OP_SVC_KEI_KK_SELECT_007 = "KK_SELECT_007";

	/** SQL定義キー(KK_SELECT_003)*/
	private static final String KK_T_SBOP_SVC_KEI_KK_SELECT_003 = "KK_SELECT_003";

	/** SQL定義キー(KK_SELECT_004)*/
	private static final String KK_T_KKTK_SVC_KEI_KK_SELECT_004 = "KK_SELECT_004";

	/** SQL定義キー(KK_SELECT_003)*/
	private static final String KK_T_SEIOPSVC_KEI_KK_SELECT_003 = "KK_SELECT_003";

	/** SQL定義キー(KK_SELECT_004)*/
	private static final String KK_T_WRIB_SVC_KEI_KK_SELECT_004 = "KK_SELECT_004";
	// 2013/12/07 ANK-1578-00-00 ADD ST
	/** SQL定義キー(KK_SELECT_009)*/
	private static final String KK_T_KKOP_SVC_KEI_KK_SELECT_009 = "KK_SELECT_009";
	// 2013/12/07 ANK-1578-00-00 ADD ED
	/** テーブルアクセスクラス(サービス契約)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI = null;

	/** テーブルアクセスクラス(サービス契約内訳)*/
	private JBSbatSQLAccess db_KK_T_SVC_KEI_UCWK = null;

	/** テーブルアクセスクラス(オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_OP_SVC_KEI = null;

	/** テーブルアクセスクラス(サブオプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_SBOP_SVC_KEI = null;

	/** テーブルアクセスクラス(機器提供サービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKTK_SVC_KEI = null;

	/** テーブルアクセスクラス(請求オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_SEIOPSVC_KEI = null;

	/** テーブルアクセスクラス(割引サービス契約)*/
	private JBSbatSQLAccess db_KK_T_WRIB_SVC_KEI = null;
	// 2013/12/07 ANK-1578-00-00 ADD ST
	/** テーブルアクセスクラス(機器オプションサービス契約)*/
	private JBSbatSQLAccess db_KK_T_KKOP_SVC_KEI = null;
	// 2013/12/07 ANK-1578-00-00 ADD ED
	/**▲▲▲▲▲▲ツールから生成した宣言です 終了▲▲▲▲▲▲*/

	/** キー情報[請求契約番号＋サービス契約番号] **/
	String key_seikySvc = "";
	
	/** キー情報[請求契約番号] **/
	String key_seikyKeiNo = "";
	
	/** 請求契約情報出力フラグ **/
	boolean seikyKeyInf_outFlg = false;
	
	/** 運用日 */
	private String strDate = "";
	
	/** 抽出期間_開始年月日 **/
	String stYmd = "";
	
	/** 抽出期間_終了年月日 **/
	String edYmd = "";
	
	/** フリー項目情報 */
	String free = "";
	
	/**
	 * 初期処理
	 * @param JBSbatCommonItem commonItem　バッチ共通パラメータ電文
	 * @throws Exception
	 */
	public void initial(JBSbatCommonItem commonItem) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの初期処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した初期化のソースです 開始▼▼▼▼▼▼*/
		// 共通パラメータを設定します
		super.setCommonInfo(commonItem);

		// DBアクセスクラスを生成します
		db_KK_T_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI);
		db_KK_T_SVC_KEI_UCWK = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SVC_KEI_UCWK);
		db_KK_T_OP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_OP_SVC_KEI);
		db_KK_T_SBOP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SBOP_SVC_KEI);
		db_KK_T_KKTK_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKTK_SVC_KEI);
		db_KK_T_SEIOPSVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_SEIOPSVC_KEI);
		db_KK_T_WRIB_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_WRIB_SVC_KEI);
		// 2013/12/07 ANK-1578-00-00 ADD ST
		db_KK_T_KKOP_SVC_KEI = new JBSbatSQLAccess(commonItem, D_TBL_NAME_KK_T_KKOP_SVC_KEI);
		// 2013/12/07 ANK-1578-00-00 ADD ED
		/**▲▲▲▲▲▲ツールから生成した初期化のソースです 終了▲▲▲▲▲▲*/
		
		// 抽出対象期間を算出
		
		//運用期間判定用フリー項目
		free = commonItem.getFreeItem();
		
		// システム日付から月初と月末を算出
//		String strDate = commonItem.getOpeDate();
		strDate = commonItem.getOpeDate();
		String ym = strDate.substring(0, 6);
		stYmd = ym + "01";
		edYmd = ym + JBSbatDateUtil.getEndOfMonth(ym);
		
		// 2013/12/07 ANK-1578-00-00 ADD ST
//		// フリー項目が"1"（前月）の場合、前月の月初と月末を算出
//		if(JBSbatKKConst.TRAN_TRGT_MON_BF.equals(free))
//		{
//			stYmd = JBSbatDateUtil.adjustMonth(stYmd, -1);
//			edYmd = JBSbatDateUtil.adjustMonth(edYmd, -1);
//		}
		// 2013/12/07 ANK-1578-00-00 ADD ED
		
	/**▲▲▲▲▲▲業務サービスの初期処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * 主処理
	 * @param inMap　入力電文
	 * @return JBSbatOutputItem　出力情報
	 * @throws Exception
	 */
	public JBSbatOutputItem execute(JBSbatServiceInterfaceMap inMap) throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの主処理を記述してください。▼▼▼▼▼▼*/
		/// 処理形式：単一加工／増幅★（入力：ファイル１、出力：なし） ///
		super.logPrint.printDebugLog("execute start");
		
		// 請求契約番号＋サービス契約番号比較(キー情報−入力レコード)
		String wrk_seikySvc = inMap.getString(JBSbatKKIFM022.SEIKY_KEI_NO) + inMap.getString(JBSbatKKIFM022.SVC_KEI_NO);
		// 請求契約番号比較(キー情報−入力レコード)
		String wrk_seikyKeiNo = inMap.getString(JBSbatKKIFM022.SEIKY_KEI_NO);
		
		// 出力情報保持部品
		JBSbatOutputItem outItem = new JBSbatOutputItem();
		
		// 前入力レコードと同一の請求契約番号は処理対象外
		if(!key_seikySvc.equals(wrk_seikySvc))
		{
			// キー情報を更新
			key_seikySvc = wrk_seikySvc;
			
			// 前入力レコードの請求契約番号と異なる場合
			if(!key_seikyKeiNo.equals(wrk_seikyKeiNo))
			{
				// キー情報を更新
				key_seikyKeiNo = wrk_seikyKeiNo;
				
				// 請求契約情報出力フラグを初期値(false)に更新
				seikyKeyInf_outFlg = false;
			}
			
			// サービス契約情報取得_SQLKEY(KK_SELECT_015)
			executeKK_T_SVC_KEI_KK_SELECT_015(getSvcKei_S015Param(inMap));
			// 取得情報編集・蓄積
			outItem = editMap(inMap, JBSbatKKConst.CHSHT_KEI_DIV_10, outItem);
			
			// サービス契約内訳情報取得_SQLKEY(KK_SELECT_005)
			executeKK_T_SVC_KEI_UCWK_KK_SELECT_005(getSvcKeiUcwk_S005Param(inMap));
			// 取得情報編集・蓄積
			outItem = editMap(inMap, JBSbatKKConst.CHSHT_KEI_DIV_11, outItem);
			
			// オプションサービス契約情報取得_SQLKEY(KK_SELECT_007)
			executeKK_T_OP_SVC_KEI_KK_SELECT_007(getOpSvcKei_S007Param(inMap));
			// 取得情報編集・蓄積
			outItem = editMap(inMap, JBSbatKKConst.CHSHT_KEI_DIV_20, outItem);
			
			// サブオプションサービス契約情報取得_SQLKEY(KK_SELECT_003)
			executeKK_T_SBOP_SVC_KEI_KK_SELECT_003(getSbopSvcKei_S003Param(inMap));
			// 取得情報編集・蓄積
			outItem = editMap(inMap, JBSbatKKConst.CHSHT_KEI_DIV_21, outItem);
			
			// 機器提供サービス契約情報取得_SQLKEY(KK_SELECT_004)
			executeKK_T_KKTK_SVC_KEI_KK_SELECT_004(getKktkSvcKei_S004Param(inMap));
			// 取得情報編集・蓄積
			outItem = editMap(inMap, JBSbatKKConst.CHSHT_KEI_DIV_30, outItem);
			
			// 2013/12/07 ANK-1578-00-00 ADD ST
			// 機器オプションサービス契約情報取得_SQLKEY(KK_SELECT_009)
			executeKK_T_KKOP_SVC_KEI_KK_SELECT_009(getKkopSvcKei_S009Param(inMap));
			// 取得情報編集・蓄積
			outItem = editMap(inMap, JBSbatKKConst.CHSHT_KEI_DIV_31, outItem);
			// 2013/12/07 ANK-1578-00-00 ADD ED
			
			// 請求オプションサービス契約情報取得_SQLKEY(KK_SELECT_003)
			executeKK_T_SEIOPSVC_KEI_KK_SELECT_003(getSeiopsvcKei_S003Param(inMap));
			// 取得情報編集・蓄積
			outItem = editMap(inMap, JBSbatKKConst.CHSHT_KEI_DIV_40, outItem);
			
			// 割引サービス契約情報取得_SQLKEY(KK_SELECT_004)
			executeKK_T_WRIB_SVC_KEI_KK_SELECT_004(getWribSvcKei_S004Param(inMap));
			// 取得情報編集・蓄積
			outItem = editMap(inMap, JBSbatKKConst.CHSHT_KEI_DIV_50, outItem);
			
			// 入力レコードについて出力が1件以上、かつ請求契約情報が未出力の場合
			if(null != outItem && outItem.isOutMapList() && !seikyKeyInf_outFlg)
			{
				// 出力情報退避領域
				JBSbatServiceInterfaceMap outMap_2 = new JBSbatServiceInterfaceMap();
				
				// 請求契約情報レコード編集
				outMap_2 = editMap_2(inMap);
				// 出力フラグをON
				outMap_2.setOutFlg(true);
				// 出力データを格納
				outItem.addOutMapList(outMap_2);
				
				// 請求契約情報出力フラグを出力済(true)に更新
				seikyKeyInf_outFlg = true;
			}
			
		}
		super.logPrint.printDebugLog("execute end");
		return outItem;
	/**▲▲▲▲▲▲業務サービスの主処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * <dd>メソッド名	：ファイル編集
	 * <dd>メソッド説明	：1.ファイル編集対象項目を取得します。
	 *                    2.取得した項目を元にファイル編集を行います。
	 * @param  inMap     入力レコードデータ情報Map
	 * @param  cTrgtDiv  抽出対象契約区分
	 * @param  outItem   出力情報格納Item(更新前)
	 * @return outItem   出力情報格納Item(更新後)
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatOutputItem editMap(JBSbatServiceInterfaceMap inMap, String cTrgtDiv, JBSbatOutputItem outItem) throws Exception 
	{
		// 各契約テーブル情報取得結果
		JBSbatCommonDBInterface rsltMap = new JBSbatCommonDBInterface();
		// 出力情報Map
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		
		// サービス契約情報の編集
		if(JBSbatKKConst.CHSHT_KEI_DIV_10.equals(cTrgtDiv))
		{
			// 1件目のレコードを取得
			rsltMap = db_KK_T_SVC_KEI.selectNext();
			while(null != rsltMap)
			{
				// 出力内容の編集(異動分請求契約番号ファイル)
				outMap = new JBSbatServiceInterfaceMap();
				
				// 抽出対象契約区分
				outMap.setString(JBSbatKKIFM023.CHSHT_KEI_DIV, cTrgtDiv);
				// 請求契約番号
				outMap.setString(JBSbatKKIFM023.SEIKY_KEI_NO, inMap.getString(JBSbatKKIFM022.SEIKY_KEI_NO));
				// サービス契約番号
				outMap.setString(JBSbatKKIFM023.SVC_KEI_NO, rsltMap.getString(JBSbatKK_T_SVC_KEI.SVC_KEI_NO));
				
				// 出力フラグをON
				outMap.setOutFlg(true);
				// 出力データを格納
				outItem.addOutMapList(outMap);
				
				// 次レコード取得
				rsltMap = db_KK_T_SVC_KEI.selectNext();
			}
		}
		
		// サービス契約内訳情報の編集
		else if(JBSbatKKConst.CHSHT_KEI_DIV_11.equals(cTrgtDiv))
		{
			// 1件目のレコードを取得
			rsltMap = db_KK_T_SVC_KEI_UCWK.selectNext();
			while(null != rsltMap)
			{
				// 出力内容の編集(異動分請求契約番号ファイル)
				outMap = new JBSbatServiceInterfaceMap();
				
				// 抽出対象契約区分
				outMap.setString(JBSbatKKIFM023.CHSHT_KEI_DIV, cTrgtDiv);
				// 請求契約番号
				outMap.setString(JBSbatKKIFM023.SEIKY_KEI_NO, inMap.getString(JBSbatKKIFM022.SEIKY_KEI_NO));
				// サービス契約番号
				outMap.setString(JBSbatKKIFM023.SVC_KEI_NO, rsltMap.getString(JBSbatKK_T_SVC_KEI_UCWK.SVC_KEI_UCWK_NO));
				
				// 出力フラグをON
				outMap.setOutFlg(true);
				// 出力データを格納
				outItem.addOutMapList(outMap);
				
				// 次レコード取得
				rsltMap = db_KK_T_SVC_KEI_UCWK.selectNext();
			}
		}
		
		// オプションサービス契約情報の編集
		else if(JBSbatKKConst.CHSHT_KEI_DIV_20.equals(cTrgtDiv))
		{
			// 1件目のレコードを取得
			rsltMap = db_KK_T_OP_SVC_KEI.selectNext();
			while(null != rsltMap)
			{
				// 出力内容の編集(異動分請求契約番号ファイル)
				outMap = new JBSbatServiceInterfaceMap();
				
				// 抽出対象契約区分
				outMap.setString(JBSbatKKIFM023.CHSHT_KEI_DIV, cTrgtDiv);
				// 請求契約番号
				outMap.setString(JBSbatKKIFM023.SEIKY_KEI_NO, inMap.getString(JBSbatKKIFM022.SEIKY_KEI_NO));
				// サービス契約番号
				outMap.setString(JBSbatKKIFM023.SVC_KEI_NO, rsltMap.getString(JBSbatKK_T_OP_SVC_KEI.OP_SVC_KEI_NO));
				
				// 出力フラグをON
				outMap.setOutFlg(true);
				// 出力データを格納
				outItem.addOutMapList(outMap);
				
				// 次レコード取得
				rsltMap = db_KK_T_OP_SVC_KEI.selectNext();
			}
		}
		
		// サブオプションサービス契約情報の編集
		else if(JBSbatKKConst.CHSHT_KEI_DIV_21.equals(cTrgtDiv))
		{
			// 1件目のレコードを取得
			rsltMap = db_KK_T_SBOP_SVC_KEI.selectNext();
			while(null != rsltMap)
			{
				// 出力内容の編集(異動分請求契約番号ファイル)
				outMap = new JBSbatServiceInterfaceMap();
				
				// 抽出対象契約区分
				outMap.setString(JBSbatKKIFM023.CHSHT_KEI_DIV, cTrgtDiv);
				// 請求契約番号
				outMap.setString(JBSbatKKIFM023.SEIKY_KEI_NO, inMap.getString(JBSbatKKIFM022.SEIKY_KEI_NO));
				// サービス契約番号
				outMap.setString(JBSbatKKIFM023.SVC_KEI_NO, rsltMap.getString(JBSbatKK_T_SBOP_SVC_KEI.SBOP_SVC_KEI_NO));
				
				// 出力フラグをON
				outMap.setOutFlg(true);
				// 出力データを格納
				outItem.addOutMapList(outMap);
				
				// 次レコード取得
				rsltMap = db_KK_T_SBOP_SVC_KEI.selectNext();
			}
		}
		
		// 機器提供サービス契約情報の編集
		else if(JBSbatKKConst.CHSHT_KEI_DIV_30.equals(cTrgtDiv))
		{
			// 1件目のレコードを取得
			rsltMap = db_KK_T_KKTK_SVC_KEI.selectNext();
			while(null != rsltMap)
			{
				// 出力内容の編集(異動分請求契約番号ファイル)
				outMap = new JBSbatServiceInterfaceMap();
				
				// 抽出対象契約区分
				outMap.setString(JBSbatKKIFM023.CHSHT_KEI_DIV, cTrgtDiv);
				// 請求契約番号
				outMap.setString(JBSbatKKIFM023.SEIKY_KEI_NO, inMap.getString(JBSbatKKIFM022.SEIKY_KEI_NO));
				// サービス契約番号
				outMap.setString(JBSbatKKIFM023.SVC_KEI_NO, rsltMap.getString(JBSbatKK_T_KKTK_SVC_KEI.KKTK_SVC_KEI_NO));
				
				// 出力フラグをON
				outMap.setOutFlg(true);
				// 出力データを格納
				outItem.addOutMapList(outMap);
				
				// 次レコード取得
				rsltMap = db_KK_T_KKTK_SVC_KEI.selectNext();
			}
		}
		
		// 2013/12/07 ANK-1578-00-00 ADD ST
		// 機器オプションサービス契約情報の編集
		else if(JBSbatKKConst.CHSHT_KEI_DIV_31.equals(cTrgtDiv))
		{
			// 1件目のレコードを取得
			rsltMap = db_KK_T_KKOP_SVC_KEI.selectNext();
			while(null != rsltMap)
			{
				// 出力内容の編集(異動分請求契約番号ファイル)
				outMap = new JBSbatServiceInterfaceMap();
				
				// 抽出対象契約区分
				outMap.setString(JBSbatKKIFM023.CHSHT_KEI_DIV, cTrgtDiv);
				// 請求契約番号
				outMap.setString(JBSbatKKIFM023.SEIKY_KEI_NO, inMap.getString(JBSbatKKIFM022.SEIKY_KEI_NO));
				// サービス契約番号
				outMap.setString(JBSbatKKIFM023.SVC_KEI_NO, rsltMap.getString(JBSbatKK_T_KKOP_SVC_KEI.KKOP_SVC_KEI_NO));
				
				// 出力フラグをON
				outMap.setOutFlg(true);
				// 出力データを格納
				outItem.addOutMapList(outMap);
				
				// 次レコード取得
				rsltMap = db_KK_T_KKOP_SVC_KEI.selectNext();
			}
		}
		// 2013/12/07 ANK-1578-00-00 ADD ED
		
		// 請求オプションサービス契約情報の編集
		else if(JBSbatKKConst.CHSHT_KEI_DIV_40.equals(cTrgtDiv))
		{
			// 1件目のレコードを取得
			rsltMap = db_KK_T_SEIOPSVC_KEI.selectNext();
			while(null != rsltMap)
			{
				// 出力内容の編集(異動分請求契約番号ファイル)
				outMap = new JBSbatServiceInterfaceMap();
				
				// 抽出対象契約区分
				outMap.setString(JBSbatKKIFM023.CHSHT_KEI_DIV, cTrgtDiv);
				// 請求契約番号
				outMap.setString(JBSbatKKIFM023.SEIKY_KEI_NO, inMap.getString(JBSbatKKIFM022.SEIKY_KEI_NO));
				// サービス契約番号
				outMap.setString(JBSbatKKIFM023.SVC_KEI_NO, rsltMap.getString(JBSbatKK_T_SEIOPSVC_KEI.SEIOPSVC_KEI_NO));
				
				// 出力フラグをON
				outMap.setOutFlg(true);
				// 出力データを格納
				outItem.addOutMapList(outMap);
				
				// 次レコード取得
				rsltMap = db_KK_T_SEIOPSVC_KEI.selectNext();
			}
		}
		
		// 割引サービス契約情報の編集
		else if(JBSbatKKConst.CHSHT_KEI_DIV_50.equals(cTrgtDiv))
		{
			// 1件目のレコードを取得
			rsltMap = db_KK_T_WRIB_SVC_KEI.selectNext();
			while(null != rsltMap)
			{
				// 出力内容の編集(異動分請求契約番号ファイル)
				outMap = new JBSbatServiceInterfaceMap();
				
				// 抽出対象契約区分
				outMap.setString(JBSbatKKIFM023.CHSHT_KEI_DIV, cTrgtDiv);
				// 請求契約番号
				outMap.setString(JBSbatKKIFM023.SEIKY_KEI_NO, inMap.getString(JBSbatKKIFM022.SEIKY_KEI_NO));
				// サービス契約番号
				outMap.setString(JBSbatKKIFM023.SVC_KEI_NO, rsltMap.getString(JBSbatKK_T_WRIB_SVC_KEI.WRIB_SVC_KEI_NO));
				
				// 出力フラグをON
				outMap.setOutFlg(true);
				// 出力データを格納
				outItem.addOutMapList(outMap);
				
				// 次レコード取得
				rsltMap = db_KK_T_WRIB_SVC_KEI.selectNext();
			}
		}
		
		else
		{
			// 処理不要
		}
		
		return outItem;
	}

	/**
	 * <dd>メソッド名	：ファイル編集
	 * <dd>メソッド説明	：1.ファイル編集対象項目を取得します。
	 *                    2.取得した項目を元にファイル編集を行います。
	 * @param  inMap     入力レコードデータ情報Map
	 * @return outMap    出力Map
	 * @throws Exception 業務サービス内で発生した例外全般。
	 */
	private JBSbatServiceInterfaceMap editMap_2(JBSbatServiceInterfaceMap inMap) throws Exception 
	{
		// 出力情報Map
		JBSbatServiceInterfaceMap outMap = new JBSbatServiceInterfaceMap();
		
		// 抽出対象契約区分
		outMap.setString(JBSbatKKIFM023.CHSHT_KEI_DIV, JBSbatKKConst.CHSHT_KEI_DIV_90);
		// 請求契約番号
		outMap.setString(JBSbatKKIFM023.SEIKY_KEI_NO, inMap.getString(JBSbatKKIFM022.SEIKY_KEI_NO));
		// サービス契約番号
		outMap.setString(JBSbatKKIFM023.SVC_KEI_NO, null);
		
		return outMap;
	}

	/**
	 * 業務サービス終了処理
	 * @throws Exception
	 */
	public void terminal() throws Exception
	{
	/**▼▼▼▼▼▼業務サービスの終了処理を記述してください。▼▼▼▼▼▼*/
		/**▼▼▼▼▼▼ツールから生成した終了処理のソースです 開始▼▼▼▼▼▼*/
		// DBアクセスクラスをクローズします
		db_KK_T_SVC_KEI.close();
		db_KK_T_SVC_KEI_UCWK.close();
		db_KK_T_OP_SVC_KEI.close();
		db_KK_T_SBOP_SVC_KEI.close();
		db_KK_T_KKTK_SVC_KEI.close();
		db_KK_T_WRIB_SVC_KEI.close();
		// 2013/12/07 ANK-1578-00-00 ADD ST
		db_KK_T_KKOP_SVC_KEI.close();
		// 2013/12/07 ANK-1578-00-00 ADD ED
		/**▲▲▲▲▲▲ツールから生成した終了処理のソースです 終了▲▲▲▲▲▲*/
	/**▲▲▲▲▲▲業務サービスの終了処理を記述してください。▲▲▲▲▲▲*/
	}

	/**
	 * SQLKEY(KK_SELECT_015)で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_015(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_015);
	}

	/**
	 * 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_SVC_KEI_UCWK_KK_SELECT_005(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_SVC_KEI_UCWK.selectBySqlDefine(paramList, KK_T_SVC_KEI_UCWK_KK_SELECT_005);
	}

	/**
	 * SQLKEY(KK_SELECT_007)で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_007(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());
		paramList.setValue(param[6].toString());
		paramList.setValue(param[7].toString());
		paramList.setValue(param[8].toString());
		
		// DBアクセスを実行します
		db_KK_T_OP_SVC_KEI.selectBySqlDefine(paramList, KK_T_OP_SVC_KEI_KK_SELECT_007);
	}

	/**
	 * SQLKEY(KK_SELECT_003)で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_SBOP_SVC_KEI_KK_SELECT_003(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());
		paramList.setValue(param[6].toString());
		paramList.setValue(param[7].toString());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		
		// DBアクセスを実行します
		db_KK_T_SBOP_SVC_KEI.selectBySqlDefine(paramList, KK_T_SBOP_SVC_KEI_KK_SELECT_003);
	}

	/**
	 * SQLKEY(KK_SELECT_004)で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_004(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());
		paramList.setValue(param[6].toString());
		paramList.setValue(param[7].toString());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());
		paramList.setValue(param[14].toString());
		paramList.setValue(param[15].toString());
		paramList.setValue(param[16].toString());
		paramList.setValue(param[17].toString());
		paramList.setValue(param[18].toString());
		paramList.setValue(param[19].toString());
		paramList.setValue(param[20].toString());
		paramList.setValue(param[21].toString());
		
		// DBアクセスを実行します
		db_KK_T_KKTK_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKTK_SVC_KEI_KK_SELECT_004);
	}

	/**
	 * SQLKEY(KK_SELECT_003)で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_SEIOPSVC_KEI_KK_SELECT_003(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_SEIOPSVC_KEI.selectBySqlDefine(paramList, KK_T_SEIOPSVC_KEI_KK_SELECT_003);
	}

	/**
	 * SQLKEY(KK_SELECT_004)で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_WRIB_SVC_KEI_KK_SELECT_004(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());
		// OM-2020-0000903 DEL START
//		paramList.setValue(param[4].toString());
//		paramList.setValue(param[5].toString());
//		paramList.setValue(param[6].toString());
//		paramList.setValue(param[7].toString());
//		paramList.setValue(param[8].toString());
//		paramList.setValue(param[9].toString());
//		paramList.setValue(param[10].toString());
//		paramList.setValue(param[11].toString());
//		paramList.setValue(param[12].toString());
//		paramList.setValue(param[13].toString());
//		paramList.setValue(param[14].toString());
//		paramList.setValue(param[15].toString());
//		paramList.setValue(param[16].toString());
//		paramList.setValue(param[17].toString());
//		paramList.setValue(param[18].toString());
//		paramList.setValue(param[19].toString());
//		paramList.setValue(param[20].toString());
//		paramList.setValue(param[21].toString());
//		paramList.setValue(param[22].toString());
//		paramList.setValue(param[23].toString());
//		paramList.setValue(param[24].toString());
//		paramList.setValue(param[25].toString());
//		paramList.setValue(param[26].toString());
//		paramList.setValue(param[27].toString());
//		paramList.setValue(param[28].toString());
//		paramList.setValue(param[29].toString());
//		paramList.setValue(param[30].toString());
//		paramList.setValue(param[31].toString());
//		paramList.setValue(param[32].toString());
//		paramList.setValue(param[33].toString());
//		paramList.setValue(param[34].toString());
//		paramList.setValue(param[35].toString());
//		paramList.setValue(param[36].toString());
//		paramList.setValue(param[37].toString());
//		paramList.setValue(param[38].toString());
//		paramList.setValue(param[39].toString());
//		paramList.setValue(param[40].toString());
//		paramList.setValue(param[41].toString());
//		paramList.setValue(param[42].toString());
//		paramList.setValue(param[43].toString());
//		paramList.setValue(param[44].toString());
//		paramList.setValue(param[45].toString());
//		paramList.setValue(param[46].toString());
//		paramList.setValue(param[47].toString());
//		paramList.setValue(param[48].toString());
//		paramList.setValue(param[49].toString());
//		paramList.setValue(param[50].toString());
//		paramList.setValue(param[51].toString());
//		paramList.setValue(param[52].toString());
//		paramList.setValue(param[53].toString());
//		paramList.setValue(param[54].toString());
//		paramList.setValue(param[55].toString());
//		paramList.setValue(param[56].toString());
//		paramList.setValue(param[57].toString());
//		paramList.setValue(param[58].toString());
//		paramList.setValue(param[59].toString());
//		paramList.setValue(param[60].toString());
//		paramList.setValue(param[61].toString());
//		paramList.setValue(param[62].toString());
//		paramList.setValue(param[63].toString());
//		paramList.setValue(param[64].toString());
//		paramList.setValue(param[65].toString());
//		paramList.setValue(param[66].toString());
//		paramList.setValue(param[67].toString());
//		paramList.setValue(param[68].toString());
//		paramList.setValue(param[69].toString());
//		paramList.setValue(param[70].toString());
//		paramList.setValue(param[71].toString());
		// OM-2020-0000903 DEL END
		
		// DBアクセスを実行します
		db_KK_T_WRIB_SVC_KEI.selectBySqlDefine(paramList, KK_T_WRIB_SVC_KEI_KK_SELECT_004);
	}
	// 2013/12/07 ANK-1578-00-00 ADD ST
	/**
	 * 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_KKOP_SVC_KEI_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());
		paramList.setValue(param[6].toString());
		paramList.setValue(param[7].toString());
		paramList.setValue(param[8].toString());
		paramList.setValue(param[9].toString());
		paramList.setValue(param[10].toString());
		paramList.setValue(param[11].toString());
		paramList.setValue(param[12].toString());
		paramList.setValue(param[13].toString());
		paramList.setValue(param[14].toString());
		paramList.setValue(param[15].toString());
		paramList.setValue(param[16].toString());
		paramList.setValue(param[17].toString());
		paramList.setValue(param[18].toString());
		paramList.setValue(param[19].toString());
		paramList.setValue(param[20].toString());
		paramList.setValue(param[21].toString());
		paramList.setValue(param[22].toString());
		paramList.setValue(param[23].toString());
		paramList.setValue(param[24].toString());
		paramList.setValue(param[25].toString());
		paramList.setValue(param[26].toString());
		paramList.setValue(param[27].toString());
		paramList.setValue(param[28].toString());
		paramList.setValue(param[29].toString());
		paramList.setValue(param[30].toString());
		paramList.setValue(param[31].toString());
		paramList.setValue(param[32].toString());
		paramList.setValue(param[33].toString());
		paramList.setValue(param[34].toString());
		// DBアクセスを実行します
		db_KK_T_KKOP_SVC_KEI.selectBySqlDefine(paramList, KK_T_KKOP_SVC_KEI_KK_SELECT_009);
	}
	// 2013/12/07 ANK-1578-00-00 ADD ED
	/**▲▲▲▲▲▲ツールから生成したメソッドです 終了▲▲▲▲▲▲*/

	/**
	 * SQLKEY(KK_SELECT_015)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_015)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getSvcKei_S015Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI
		};
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_SELECT_005)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_005)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getSvcKeiUcwk_S005Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI
		};
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_SELECT_007)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_007)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getOpSvcKei_S007Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_SVC,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_UTWK,
				JBSbatKKConst.APLY_STAT_RENKEI
		};
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_003)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getSbopSvcKei_S003Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				JBSbatKKConst.SKBT_SVC,
				JBSbatKKConst.APLY_STAT_RENKEI,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_UTWK,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI
		};
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_SELECT_004)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_004)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getKktkSvcKei_S004Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_SVC,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_UTWK,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_SVC,
				JBSbatKKConst.APLY_STAT_RENKEI,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_OPSVC,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_UTWK,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_OPSVC,
				JBSbatKKConst.APLY_STAT_RENKEI
		};
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_SELECT_003)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_003)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getSeiopsvcKei_S003Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI
		};
		return ret_Param;
	}

	/**
	 * SQLKEY(KK_SELECT_004)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_004)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getWribSvcKei_S004Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
		Object[] ret_Param = {
				strDate,
				JBSbatKKConst.TG_SKBT_SVC,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				strDate,
				strDate,
				JBSbatKKConst.TG_SKBT_UTWK,
				strDate,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				strDate,
				strDate,
				JBSbatKKConst.TG_SKBT_OPSVC,
				JBSbatKKConst.SKBT_SVC,
				strDate,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				strDate,
				strDate,
				JBSbatKKConst.TG_SKBT_OPSVC,
				JBSbatKKConst.SKBT_UTWK,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				strDate,
				strDate,
				JBSbatKKConst.TG_SKBT_SBOPSVC,
				strDate,
				JBSbatKKConst.SKBT_SVC,
				strDate,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				strDate,
				strDate,
				JBSbatKKConst.TG_SKBT_SBOPSVC,
				strDate,
				JBSbatKKConst.SKBT_UTWK,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				strDate,
				strDate,
				JBSbatKKConst.TG_SKBT_KKTK,
				JBSbatKKConst.SKBT_SVC,
				strDate,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				strDate,
				strDate,
				JBSbatKKConst.TG_SKBT_KKTK,
				JBSbatKKConst.SKBT_UTWK,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				strDate,
				strDate,
				JBSbatKKConst.TG_SKBT_KKTK,
				JBSbatKKConst.SKBT_OPSVC,
				strDate,
				JBSbatKKConst.SKBT_SVC,
				strDate,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				strDate,
				strDate,
				JBSbatKKConst.TG_SKBT_KKTK,
				JBSbatKKConst.SKBT_OPSVC,
				strDate,
				JBSbatKKConst.SKBT_UTWK,
				strDate,
				strDate,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				strDate,
				strDate,
				JBSbatKKConst.TG_SKBT_SEIOP,
				strDate,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				strDate
		};
		return ret_Param;
	}
	
	// 2013/12/07 ANK-1578-00-00 ADD ST
	/**
	 * SQLKEY(KK_SELECT_009)でDBアクセスを実行する際に必要なパラメータを設定します。<br>
	 * <p>
	 * <b>処理フロー</b><br>
	 * <pre>
	 * 1.パラメータ設定処理。
	 * </pre>
	 * <p>
	 * @param inMap 入力電文
	 * @return param SQLKEY(KK_SELECT_009)でDBアクセスを実行する際に必要なパラメータ
	 * @throws Exception 
	 */
	private Object[] getKkopSvcKei_S009Param(JBSbatServiceInterfaceMap inMap) throws Exception
	{
//OM-2015-0001096 MOD STA
//		Object[] ret_Param = {
//				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				JBSbatKKConst.SKBT_KISNUTWK,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				edYmd,
//				edYmd,
//				edYmd,
//				edYmd,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				JBSbatKKConst.SKBT_SVC,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				JBSbatKKConst.SKBT_SVC,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				JBSbatKKConst.SKBT_OPSVC,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				JBSbatKKConst.SKBT_UTWK,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				JBSbatKKConst.SKBT_UTWK,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				JBSbatKKConst.SKBT_OPSVC,
//				JBSbatKKConst.APLY_STAT_RENKEI,
//				JBSbatKKConst.APLY_STAT_RENKEI
//		};
		Object[] ret_Param = {
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_KISNUTWK,
				JBSbatKKConst.APLY_STAT_RENKEI,
				strDate,
				strDate,
				strDate,
				strDate,
				JBSbatKKConst.APLY_STAT_RENKEI,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_SVC,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_SVC,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_OPSVC,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_UTWK,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI,
				inMap.getString(JBSbatKKIFM022.SVC_KEI_NO),
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_UTWK,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.SKBT_OPSVC,
				JBSbatKKConst.APLY_STAT_RENKEI,
				JBSbatKKConst.APLY_STAT_RENKEI
		};
//OM-2015-0001096 MOD END
		return ret_Param;
	}
	// 2013/12/07 ANK-1578-00-00 ADD ED
}
