/*******************************************************************************
*	 All Rights reserved,Copyright (c) K-Opticom 
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JSYejbEKK0341B004TPDA
*	ソースファイル名：JSYejbEKK0341B004TPDA.java
*	作成者			：EKek0043
*	日付			：2011年10月13日
*＜機能概要＞
*	SQLFacility
*	テンプレートDBアクセス部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00
*	ｖ1.00.01	2013/08/02	FJ）古田	障害案件【製造番号が複数機器（キャンセル含む）に設定された場合、複数行表示される】
*	ｖ1.00.02	2013/09/01	FJ）古内	【OM-2013-0001398】
*
********************************************************************************/

package eo.ejb.cbs.sqlf;

import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.base.CAANSQLFacility;
import com.fujitsu.futurity.model.base.CAANRuntimeException;
import com.fujitsu.futurity.model.base.CAANJDBCUtil;
import com.fujitsu.futurity.model.ejb.common.JSYejbConnection;
import com.fujitsu.futurity.model.ejb.common.JSYejbLog;
import com.fujitsu.futurity.model.ejb.common.StatusCodes;
import com.fujitsu.futurity.model.ejb.common.fw.TemplateDBAccessHandler;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import eo.ejb.cbs.cbsmsg.EKK0341B004CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0341B004CBSMsg1List;
import eo.ejb.cbm.entity.KK0341ETMsg;
import eo.ejb.common.JKKModelCommon;

/**
*
*  テンプレートDBアクセス部品　EKK0341B004_SQLF<br>
*  入力された項目からSQL文を動的に組み立て、<br>
*  検索結果をCBSMsgにセットします。<br>
*/
public class JSYejbEKK0341B004TPDA extends CAANSQLFacility implements TemplateDBAccessHandler{
	
	/**
	 * コンストラクタ
	 */
	public JSYejbEKK0341B004TPDA()	{
	}
	
	/**
	*   EKK0341B004_SQLF<br>
	*   @param inMsg    入力値の格納されたCBSMsg <br>
	*   @return void
	*/
	public void invoke(CAANMsg inMsg,AgentDispatchContext inContext){
		
		// コネクション
		Connection con1 = null;
		
		// プリペアステートメント
		PreparedStatement pstmt = null;
		
		// リザルトセット
		ResultSet rsltQuery = null;
		
		// パラメータのカウント
		int iPCnt = 0;
		
		/******************** 
		 * SQL文の作成
		 ********************/

		try{
			
			//コネクション取得
			con1 = JSYejbConnection.getConnection(KK0341ETMsg.getTableName());
			
			// 料金コース_オプションサービス非参照フラグ設定チェック
			boolean pcrs_op_svc_not_sel_flg = isPcrsOpSvcNotSetFlg(inMsg);
			
			// SQL文_基本部1
			StringBuffer sql_Buff = new StringBuffer();
			// SQL文_個別部1
//			if ("1".equals(inMsg.getObject(EKK0341B004CBSMsg.FUNC_CODE).toString()))
			if ("1".equals(inMsg.getObject(EKK0341B004CBSMsg.FUNC_CODE).toString()) && !pcrs_op_svc_not_sel_flg)
			{
				sql_Buff.append(" SELECT   ")
						.append("     (SELECT   ")
						.append("          KK0341_02.KIKI_SEIZO_NO   ")
						.append("      FROM   ")
						.append("          KK_T_KKTK_SVC_KEI KK0341_02   ")
						.append("      WHERE   ")
						.append("          KK0341_02.SVC_KEI_UCWK_NO = KK0341_01.SVC_KEI_UCWK_NO   ")
						.append("          AND KK0341_02.TAKNKIKI_SBT_CD = 'B0'   ")
						.append("          AND KK0341_02.KKTK_SVC_KEI_STAT NOT IN('910','920')   ")
						.append("          AND (KK0341_02.KKTK_SVC_KEI_NO, KK0341_02.RSV_APLY_YMD || KK0341_02.GENE_ADD_DTM) =   ")
						.append("              (SELECT KK0341_02_GENE.KKTK_SVC_KEI_NO, MAX(KK0341_02_GENE.RSV_APLY_YMD || KK0341_02_GENE.GENE_ADD_DTM) AS KK0341_02_MAX   ")
						.append("               FROM   KK_T_KKTK_SVC_KEI KK0341_02_GENE   ")
						.append("               WHERE  KK0341_02_GENE.KKTK_SVC_KEI_NO = KK0341_02.KKTK_SVC_KEI_NO   ")
						.append("               AND    KK0341_02_GENE.RSV_APLY_YMD <= ?   ")
						.append("               AND    KK0341_02_GENE.RSV_APLY_CD = '2'   ")
						.append("               AND    KK0341_02_GENE.MK_FLG = '0'   ")
						.append("               GROUP BY KK0341_02_GENE.KKTK_SVC_KEI_NO )) AS KIKI_SEIZO_NO_BCAS   ")
						.append("     , (SELECT   ")
						.append("            KK0341_03.KIKI_SEIZO_NO   ")
						.append("        FROM   ")
						.append("            KK_T_KKTK_SVC_KEI KK0341_03   ")
						.append("        WHERE   ")
						.append("            KK0341_03.SVC_KEI_UCWK_NO = KK0341_01.SVC_KEI_UCWK_NO   ")
						.append("            AND KK0341_03.TAKNKIKI_SBT_CD = 'C0'   ")
						.append("            AND KK0341_03.KKTK_SVC_KEI_STAT NOT IN('910','920')   ")
						.append("            AND (KK0341_03.KKTK_SVC_KEI_NO,KK0341_03.RSV_APLY_YMD || KK0341_03.GENE_ADD_DTM) =   ")
						.append("                (SELECT KK0341_03_GENE.KKTK_SVC_KEI_NO,MAX(KK0341_03_GENE.RSV_APLY_YMD || KK0341_03_GENE.GENE_ADD_DTM) AS KK0341_03_MAX   ")
						.append("                 FROM   KK_T_KKTK_SVC_KEI KK0341_03_GENE   ")
						.append("                 WHERE  KK0341_03_GENE.KKTK_SVC_KEI_NO = KK0341_03.KKTK_SVC_KEI_NO   ")
						.append("                 AND    KK0341_03_GENE.RSV_APLY_YMD <= ?   ")
						.append("                 AND    KK0341_03_GENE.RSV_APLY_CD = '2'   ")
						.append("                 AND    KK0341_03_GENE.MK_FLG = '0' ")
						.append("                 GROUP BY KK0341_03_GENE.KKTK_SVC_KEI_NO )) AS KIKI_SEIZO_NO_CCAS   ")
						.append("     , KK0821_02.OP_SVC_CD   ")
						.append("     , KK0821_02.OP_SVC_NM   ")
						.append("     , KK0821_02.DGTIA_GRP_CD   ")
						.append("     , KK0821_02.OP_CHANNEL_OPRTN_WAY_CD   ")
						.append("     , KK0821_02.PCRS_CD   ")
						.append("     , KK0821_02.PPLAN_CD   ")
						.append("     , KK0821_02.OP_CHANNEL_BIKO   ")
						.append("     , KK0351_01.OP_SVC_KEI_NO AS OP_SVC_KEI_NO_CRE   ")
						.append("     , KK0351_01.OP_SVC_KEI_STAT AS OP_SVC_KEI_STAT_CRE   ")
						.append("     , KK0351_01.SVC_STAYMD AS SVC_STAYMD_CRE   ")
						.append("     , KK0351_01.GENE_ADD_DTM AS GENE_ADD_DTM_CRE   ")
						.append("     , KK0351_01.UPD_DTM AS UPD_DTM_CRE   ")
						.append("     , KK0351_02.OP_SVC_KEI_NO AS OP_SVC_KEI_NO_RES   ")
						.append("     , KK0351_02.OP_SVC_KEI_STAT AS OP_SVC_KEI_STAT_RES   ")
						.append("     , KK0351_02.SVC_STAYMD AS SVC_STAYMD_RES   ")
						.append("     , KK0351_02.GENE_ADD_DTM AS GENE_ADD_DTM_RES   ")
						.append("     , KK0351_02.UPD_DTM AS UPD_DTM_RES   ")
						.append("     , (SELECT   ")
						.append("            KK1681_01.ADD_DTM   ")
						.append("        FROM   ")
						.append("            KK_T_IDO_RSV KK1681_01   ")
						.append("        WHERE   ")
						.append("            KK1681_01.OP_SVC_KEI_NO = KK0351_01.OP_SVC_KEI_NO   ")
						.append("            AND KK1681_01.IDO_DIV = '00031'   ")
						.append("            AND KK1681_01.IDO_RSV_DTL_CD = '016'   ")
						.append("            AND KK1681_01.IDO_RSV_STAT_CD = '00' ) AS ADD_DTM_IDO   ")
						.append("     , KK0381_01.RED_BCAS_NO ")
						.append("     , KK0381_02.RED_BCAS_NO AS RED_BCAS_NO_RES ")
						.append("     , KK0821_02.OPCH_ADD_SCREEN_DSP_TG_FLG ")
						.append("     , KK0821_02.BIKO_SCREEN_DSP_STAYMD ")
						.append("     , KK0821_02.BIKO_SCREEN_DSP_ENDYMD ")
						.append("     , KK0821_02.OPCH_DSL_TG_CHSHT_FLG ")
						.append("     , KK0821_02.SOKAN_CHK_STAYMD ")
						.append("     , KK0821_02.SOKAN_CHK_ENDYMD ")
						.append(" FROM   ")
						.append("      (SELECT    ")
						.append("           KK0341_01_TMP.*    ")
						.append("       FROM    ")
						.append("           KK_T_KKTK_SVC_KEI KK0341_01_TMP    ")
						.append("           INNER JOIN   ")
						.append("            (SELECT KK0341_TMP.*  ")
						.append("                   ,MAX(KK0341_TMP.RSV_APLY_YMD || KK0341_TMP.GENE_ADD_DTM) OVER (PARTITION BY KK0341_TMP.KKTK_SVC_KEI_NO) MAX_GENE_ADD_DTM  ")
						.append("             FROM  KK_T_KKTK_SVC_KEI KK0341_TMP   ")
						.append("             WHERE KK0341_TMP.RSV_APLY_YMD <= ?  ")
						.append("               AND KK0341_TMP.RSV_APLY_CD = '2'  ")
						.append("               AND KK0341_TMP.MK_FLG = '0') KK0341_02_TMP  ")
						.append("           ON  KK0341_02_TMP.KKTK_SVC_KEI_NO = KK0341_01_TMP.KKTK_SVC_KEI_NO    ")
						.append("           AND KK0341_02_TMP.GENE_ADD_DTM = KK0341_01_TMP.GENE_ADD_DTM    ")
						.append("           AND KK0341_02_TMP.RSV_APLY_YMD || KK0341_02_TMP.GENE_ADD_DTM = KK0341_02_TMP.MAX_GENE_ADD_DTM  ")
						.append("       WHERE  KK0341_01_TMP.KIKI_SEIZO_NO = ?")
						.append("              AND KK0341_01_TMP.TAKNKIKI_SBT_CD = 'A0'")
						.append("              AND KK0341_01_TMP.KKTK_SVC_KEI_STAT NOT IN('910','920')    ");
						if (!inMsg.isNull(EKK0341B004CBSMsg.KEY_SVC_KEI_NO)){
							sql_Buff.append("              AND KK0341_01_TMP.SVC_KEI_NO = ?    ");
						}
						sql_Buff.append("  ) KK0341_01    ")
						.append("     CROSS JOIN   ")
						.append("     (SELECT   ")
						.append("          KK0791.PCRS_CD   ")
						.append("          , KK0591.PPLAN_CD   ")
						.append("          , KK0821_01.OP_SVC_CD   ")
						.append("          , KK0821_01.OP_SVC_NM   ")
						.append("          , KK0821_01.DGTIA_GRP_CD   ")
						.append("          , KK0821_01.OP_CHANNEL_SBT_CD   ")
						.append("          , KK0821_01.OP_CHANNEL_OPRTN_WAY_CD ")
						.append("          , KK0811.OP_SVC_BIKO AS OP_CHANNEL_BIKO ")
						.append("          , KK0811.OPCH_ADD_SCREEN_DSP_TG_FLG ")
						.append("          , KK0811.BIKO_SCREEN_DSP_STAYMD ")
						.append("          , KK0811.BIKO_SCREEN_DSP_ENDYMD ")
						.append("          , KK0811.OPCH_DSL_TG_CHSHT_FLG ")
						.append("          , KK0811.SOKAN_CHK_STAYMD ")
						.append("          , KK0811.SOKAN_CHK_ENDYMD ")
						.append("      FROM   ")
						.append("          (SELECT KK0811_01.*  ")
						.append("           FROM    ")
						.append("                (SELECT KK0811_02.*  ")
						.append("                       ,MAX(KK0811_02.RSV_APLY_YMD || KK0811_02.GENE_ADD_DTM) OVER (PARTITION BY KK0811_02.PCRS_CD,KK0811_02.OP_SVC_CD) MAX_GENE_ADD_DTM  ")
						.append("                 FROM  KK_M_PCRS_OP_SVC KK0811_02   ")
						.append("                 WHERE KK0811_02.PCRS_CD = ?  ")
						.append("                   AND KK0811_02.RSV_APLY_YMD <= ?   ")
						.append("                   AND KK0811_02.MK_FLG = '0') KK0811_01  ")
						.append("           WHERE KK0811_01.RSV_APLY_YMD || KK0811_01.GENE_ADD_DTM = KK0811_01.MAX_GENE_ADD_DTM) KK0811  ")
						.append("          INNER JOIN KK_M_OP_SVC KK0821_01   ")
						.append("          ON KK0821_01.OP_SVC_CD = KK0811.OP_SVC_CD   ")
						.append("          INNER JOIN   ")
						.append("               (SELECT KK0791_GENE.*  ")
						.append("                      ,MAX(KK0791_GENE.RSV_APLY_YMD || KK0791_GENE.GENE_ADD_DTM) OVER (PARTITION BY KK0791_GENE.PCRS_CD) MAX_GENE_ADD_DTM  ")
						.append("                FROM  KK_M_PCRS KK0791_GENE   ")
						.append("                WHERE KK0791_GENE.RSV_APLY_YMD <= ?   ")
						.append("                  AND KK0791_GENE.MK_FLG = '0') KK0791  ")
						.append("          ON  KK0791.OP_SVC_CD = KK0821_01.OP_SVC_CD    ")
						.append("          AND KK0791.RSV_APLY_YMD || KK0791.GENE_ADD_DTM = KK0791.MAX_GENE_ADD_DTM  ")
						.append("          AND KK0791.PCRS_TSTAYMD <= ?    ")
						.append("          AND KK0791.PCRS_TENDYMD >= ?    ")
						.append("          AND KK0791.UK_STA_YMDHM <= ?    ")
						.append("          AND KK0791.UK_END_YMDHM >= ?    ")
						.append("          INNER JOIN KK_M_PPLAN KK0591   ")
						.append("          ON KK0591.PCRS_CD = KK0791.PCRS_CD   ")
						.append("      WHERE   ")
						.append("          KK0811.PCRS_OP_SVC_TSTAYMD <= ?   ")
						.append("          AND KK0811.PCRS_OP_SVC_TENDYMD >= ?   ")
						.append("          AND KK0821_01.OP_CHANNEL_SBT_CD IN ('01', '02')   ")
						.append("          AND KK0821_01.OP_SVC_TSTAYMD <= ?   ")
						.append("          AND KK0821_01.OP_SVC_TENDYMD >= ?   ")
						.append("          AND KK0821_01.UK_STA_YMDHM <= ?   ")
						.append("          AND KK0821_01.UK_END_YMDHM >= ?   ")
						.append("          AND (KK0821_01.OP_SVC_CD,KK0821_01.RSV_APLY_YMD || KK0821_01.GENE_ADD_DTM) =  ")
						.append("              (SELECT KK0821_01_GENE.OP_SVC_CD, MAX(KK0821_01_GENE.RSV_APLY_YMD || KK0821_01_GENE.GENE_ADD_DTM) AS KK0821_01_MAX   ")
						.append("               FROM   KK_M_OP_SVC KK0821_01_GENE   ")
						.append("               WHERE  KK0821_01_GENE.OP_SVC_CD = KK0821_01.OP_SVC_CD   ")
						.append("               AND    KK0821_01_GENE.RSV_APLY_YMD <= ?   ")
						.append("               AND    KK0821_01_GENE.MK_FLG = '0'   ")
						.append("               GROUP BY KK0821_01_GENE.OP_SVC_CD) ")
						.append("          AND KK0591.PPLAN_TSTAYMD <= ?   ")
						.append("          AND KK0591.PPLAN_TENDYMD >= ?   ")
						.append("          AND KK0591.UK_STA_YMDHM <= ?   ")
						.append("          AND KK0591.UK_END_YMDHM >= ?   ")
						.append("          AND KK0591.MK_FLG = '0') KK0821_02   ")
						.append("     LEFT OUTER JOIN   ")
						.append("     (SELECT   ")
						.append("          KK0351_01_TMP.OP_SVC_KEI_NO   ")
						.append("          , KK0351_01_TMP.OP_SVC_KEI_STAT   ")
						.append("          , KK0351_01_TMP.SVC_KEI_UCWK_NO   ")
						.append("          , KK0351_01_TMP.OP_SVC_CD   ")
						.append("          , KK0351_01_TMP.SVC_STAYMD   ")
						.append("          , KK0351_01_TMP.GENE_ADD_DTM   ")
						.append("          , KK0351_01_TMP.UPD_DTM   ")
						.append("      FROM   ")
						.append("          KK_T_OP_SVC_KEI KK0351_01_TMP   ")
						.append("      WHERE   ")
						.append("          KK0351_01_TMP.OP_SVC_KEI_STAT NOT IN ('910', '920')   ")
						.append("          AND (KK0351_01_TMP.OP_SVC_KEI_NO,KK0351_01_TMP.RSV_APLY_YMD || KK0351_01_TMP.GENE_ADD_DTM) =  ")
						.append("              (SELECT KK0351_01_TMP_GENE.OP_SVC_KEI_NO, MAX(KK0351_01_TMP_GENE.RSV_APLY_YMD || KK0351_01_TMP_GENE.GENE_ADD_DTM) AS KK0351_MAX   ")
						.append("               FROM   KK_T_OP_SVC_KEI KK0351_01_TMP_GENE   ")
						.append("               WHERE  KK0351_01_TMP_GENE.OP_SVC_KEI_NO = KK0351_01_TMP.OP_SVC_KEI_NO   ")
						.append("               AND    KK0351_01_TMP_GENE.RSV_APLY_YMD <= ?   ")
						.append("               AND    KK0351_01_TMP_GENE.RSV_APLY_CD = '2'   ")
						.append("               AND    KK0351_01_TMP_GENE.MK_FLG = '0'   ")
						.append("               GROUP BY KK0351_01_TMP_GENE.OP_SVC_KEI_NO)) KK0351_01 ")
						.append("     ON KK0341_01.SVC_KEI_UCWK_NO = KK0351_01.SVC_KEI_UCWK_NO   ")
						.append("     AND KK0821_02.OP_SVC_CD = KK0351_01.OP_SVC_CD   ")
						.append("     LEFT OUTER JOIN   ")
						.append("     (SELECT   ")
						.append("          KK0351_02_TMP.OP_SVC_KEI_NO   ")
						.append("          , KK0351_02_TMP.OP_SVC_KEI_STAT   ")
						.append("          , KK0351_02_TMP.SVC_KEI_UCWK_NO   ")
						.append("          , KK0351_02_TMP.OP_SVC_CD   ")
						.append("          , KK0351_02_TMP.SVC_STAYMD   ")
						.append("          , KK0351_02_TMP.GENE_ADD_DTM   ")
						.append("          , KK0351_02_TMP.UPD_DTM   ")
						.append("      FROM   ")
						.append("          KK_T_OP_SVC_KEI KK0351_02_TMP   ")
						.append("      WHERE   ")
						.append("          KK0351_02_TMP.OP_SVC_KEI_STAT NOT IN ('910', '920')   ")
						.append("          AND (KK0351_02_TMP.OP_SVC_KEI_NO,KK0351_02_TMP.GENE_ADD_DTM) =  ")
						.append("              (SELECT KK0351_02_TMP_GENE.OP_SVC_KEI_NO, MAX(KK0351_02_TMP_GENE.GENE_ADD_DTM) AS KK0351_MAX   ")
						.append("               FROM   KK_T_OP_SVC_KEI KK0351_02_TMP_GENE   ")
						.append("               WHERE  KK0351_02_TMP_GENE.OP_SVC_KEI_NO = KK0351_02_TMP.OP_SVC_KEI_NO   ")
						.append("               AND (( KK0351_02_TMP_GENE.RSV_APLY_CD = '2' AND KK0351_02_TMP_GENE.RSV_APLY_YMD > ?)   ")
						.append("                      OR ( KK0351_02_TMP_GENE.RSV_APLY_CD = '1'))   ")
						.append("               AND    KK0351_02_TMP_GENE.MK_FLG = '0'  ")
						.append("               GROUP BY KK0351_02_TMP_GENE.OP_SVC_KEI_NO)) KK0351_02 ")
						.append("     ON KK0341_01.SVC_KEI_UCWK_NO = KK0351_02.SVC_KEI_UCWK_NO   ")
						.append("     AND KK0821_02.OP_SVC_CD = KK0351_02.OP_SVC_CD  ")
						.append("     LEFT OUTER JOIN KK_T_OPSVKEI_TV KK0381_01 ")
						.append("     ON KK0351_01.OP_SVC_KEI_NO = KK0381_01.OP_SVC_KEI_NO   ")
						.append("     AND KK0351_01.GENE_ADD_DTM = KK0381_01.GENE_ADD_DTM ")
						.append("     LEFT OUTER JOIN KK_T_OPSVKEI_TV KK0381_02 ")
						.append("     ON KK0351_02.OP_SVC_KEI_NO = KK0381_02.OP_SVC_KEI_NO   ")
						.append("     AND KK0351_02.GENE_ADD_DTM = KK0381_02.GENE_ADD_DTM ");
			}
			
			if ("1".equals(inMsg.getObject(EKK0341B004CBSMsg.FUNC_CODE).toString()) && pcrs_op_svc_not_sel_flg)
			{
				sql_Buff.append(" SELECT   ")
						.append("     (SELECT   ")
						.append("          KK0341_02.KIKI_SEIZO_NO   ")
						.append("      FROM   ")
						.append("          KK_T_KKTK_SVC_KEI KK0341_02   ")
						.append("      WHERE   ")
						.append("          KK0341_02.SVC_KEI_UCWK_NO = KK0341_01.SVC_KEI_UCWK_NO   ")
						.append("          AND KK0341_02.TAKNKIKI_SBT_CD = 'B0'   ")
						.append("          AND KK0341_02.KKTK_SVC_KEI_STAT NOT IN('910','920')   ")
						.append("          AND (KK0341_02.KKTK_SVC_KEI_NO, KK0341_02.RSV_APLY_YMD || KK0341_02.GENE_ADD_DTM) =   ")
						.append("              (SELECT KK0341_02_GENE.KKTK_SVC_KEI_NO, MAX(KK0341_02_GENE.RSV_APLY_YMD || KK0341_02_GENE.GENE_ADD_DTM) AS KK0341_02_MAX   ")
						.append("               FROM   KK_T_KKTK_SVC_KEI KK0341_02_GENE   ")
						.append("               WHERE  KK0341_02_GENE.KKTK_SVC_KEI_NO = KK0341_02.KKTK_SVC_KEI_NO   ")
						.append("               AND    KK0341_02_GENE.RSV_APLY_YMD <= ?   ")
						.append("               AND    KK0341_02_GENE.RSV_APLY_CD = '2'   ")
						.append("               AND    KK0341_02_GENE.MK_FLG = '0'   ")
						.append("               GROUP BY KK0341_02_GENE.KKTK_SVC_KEI_NO )) AS KIKI_SEIZO_NO_BCAS   ")
						.append("     , (SELECT   ")
						.append("            KK0341_03.KIKI_SEIZO_NO   ")
						.append("        FROM   ")
						.append("            KK_T_KKTK_SVC_KEI KK0341_03   ")
						.append("        WHERE   ")
						.append("            KK0341_03.SVC_KEI_UCWK_NO = KK0341_01.SVC_KEI_UCWK_NO   ")
						.append("            AND KK0341_03.TAKNKIKI_SBT_CD = 'C0'   ")
						.append("            AND KK0341_03.KKTK_SVC_KEI_STAT NOT IN('910','920')   ")
						.append("            AND (KK0341_03.KKTK_SVC_KEI_NO,KK0341_03.RSV_APLY_YMD || KK0341_03.GENE_ADD_DTM) =   ")
						.append("                (SELECT KK0341_03_GENE.KKTK_SVC_KEI_NO,MAX(KK0341_03_GENE.RSV_APLY_YMD || KK0341_03_GENE.GENE_ADD_DTM) AS KK0341_03_MAX   ")
						.append("                 FROM   KK_T_KKTK_SVC_KEI KK0341_03_GENE   ")
						.append("                 WHERE  KK0341_03_GENE.KKTK_SVC_KEI_NO = KK0341_03.KKTK_SVC_KEI_NO   ")
						.append("                 AND    KK0341_03_GENE.RSV_APLY_YMD <= ?   ")
						.append("                 AND    KK0341_03_GENE.RSV_APLY_CD = '2'   ")
						.append("                 AND    KK0341_03_GENE.MK_FLG = '0' ")
						.append("                 GROUP BY KK0341_03_GENE.KKTK_SVC_KEI_NO )) AS KIKI_SEIZO_NO_CCAS   ")
						.append("     , KK0821_02.OP_SVC_CD   ")
						.append("     , KK0821_02.OP_SVC_NM   ")
						.append("     , KK0821_02.DGTIA_GRP_CD   ")
						.append("     , KK0821_02.OP_CHANNEL_OPRTN_WAY_CD   ")
						.append("     , KK0821_02.PCRS_CD   ")
						.append("     , KK0821_02.PPLAN_CD   ")
						.append("     , null AS OP_CHANNEL_BIKO   ")
						.append("     , KK0351_01.OP_SVC_KEI_NO AS OP_SVC_KEI_NO_CRE   ")
						.append("     , KK0351_01.OP_SVC_KEI_STAT AS OP_SVC_KEI_STAT_CRE   ")
						.append("     , KK0351_01.SVC_STAYMD AS SVC_STAYMD_CRE   ")
						.append("     , KK0351_01.GENE_ADD_DTM AS GENE_ADD_DTM_CRE   ")
						.append("     , KK0351_01.UPD_DTM AS UPD_DTM_CRE   ")
						.append("     , KK0351_02.OP_SVC_KEI_NO AS OP_SVC_KEI_NO_RES   ")
						.append("     , KK0351_02.OP_SVC_KEI_STAT AS OP_SVC_KEI_STAT_RES   ")
						.append("     , KK0351_02.SVC_STAYMD AS SVC_STAYMD_RES   ")
						.append("     , KK0351_02.GENE_ADD_DTM AS GENE_ADD_DTM_RES   ")
						.append("     , KK0351_02.UPD_DTM AS UPD_DTM_RES   ")
						.append("     , (SELECT   ")
						.append("            KK1681_01.ADD_DTM   ")
						.append("        FROM   ")
						.append("            KK_T_IDO_RSV KK1681_01   ")
						.append("        WHERE   ")
						.append("            KK1681_01.OP_SVC_KEI_NO = KK0351_01.OP_SVC_KEI_NO   ")
						.append("            AND KK1681_01.IDO_DIV = '00031'   ")
						.append("            AND KK1681_01.IDO_RSV_DTL_CD = '016'   ")
						.append("            AND KK1681_01.IDO_RSV_STAT_CD = '00' ) AS ADD_DTM_IDO   ")
						.append("     , KK0381_01.RED_BCAS_NO ")
						.append("     , KK0381_02.RED_BCAS_NO AS RED_BCAS_NO_RES ")
						.append("     , null AS OPCH_ADD_SCREEN_DSP_TG_FLG ")
						.append("     , null AS BIKO_SCREEN_DSP_STAYMD ")
						.append("     , null AS BIKO_SCREEN_DSP_ENDYMD ")
						.append("     , null AS OPCH_DSL_TG_CHSHT_FLG ")
						.append("     , null AS SOKAN_CHK_STAYMD ")
						.append("     , null AS SOKAN_CHK_ENDYMD ")
						.append(" FROM   ")
						.append("      (SELECT    ")
						.append("           KK0341_01_TMP.*    ")
						.append("       FROM    ")
						.append("           KK_T_KKTK_SVC_KEI KK0341_01_TMP    ")
						.append("           INNER JOIN   ")
						.append("            (SELECT KK0341_TMP.*  ")
						.append("                   ,MAX(KK0341_TMP.RSV_APLY_YMD || KK0341_TMP.GENE_ADD_DTM) OVER (PARTITION BY KK0341_TMP.KKTK_SVC_KEI_NO) MAX_GENE_ADD_DTM  ")
						.append("             FROM  KK_T_KKTK_SVC_KEI KK0341_TMP   ")
						.append("             WHERE KK0341_TMP.RSV_APLY_YMD <= ?  ")
						.append("               AND KK0341_TMP.RSV_APLY_CD = '2'  ")
						.append("               AND KK0341_TMP.MK_FLG = '0') KK0341_02_TMP  ")
						.append("           ON  KK0341_02_TMP.KKTK_SVC_KEI_NO = KK0341_01_TMP.KKTK_SVC_KEI_NO    ")
						.append("           AND KK0341_02_TMP.GENE_ADD_DTM = KK0341_01_TMP.GENE_ADD_DTM    ")
						.append("           AND KK0341_02_TMP.RSV_APLY_YMD || KK0341_02_TMP.GENE_ADD_DTM = KK0341_02_TMP.MAX_GENE_ADD_DTM  ")
						.append("       WHERE  KK0341_01_TMP.KIKI_SEIZO_NO = ?")
						.append("              AND KK0341_01_TMP.TAKNKIKI_SBT_CD = 'A0'")
						.append("              AND KK0341_01_TMP.KKTK_SVC_KEI_STAT NOT IN('910','920')    ");
						if (!inMsg.isNull(EKK0341B004CBSMsg.KEY_SVC_KEI_NO)){
							sql_Buff.append("              AND KK0341_01_TMP.SVC_KEI_NO = ?    ");
						}
						sql_Buff.append("  ) KK0341_01    ")
						.append("     CROSS JOIN   ")
						.append("     (SELECT   ")
						.append("          KK0791.PCRS_CD   ")
						.append("          , KK0591.PPLAN_CD   ")
						.append("          , KK0821_01.OP_SVC_CD   ")
						.append("          , KK0821_01.OP_SVC_NM   ")
						.append("          , KK0821_01.DGTIA_GRP_CD   ")
						.append("          , KK0821_01.OP_CHANNEL_SBT_CD   ")
						.append("          , KK0821_01.OP_CHANNEL_OPRTN_WAY_CD ")
						.append("          , null AS OP_CHANNEL_BIKO ")
						.append("          , null AS OPCH_ADD_SCREEN_DSP_TG_FLG ")
						.append("          , null AS BIKO_SCREEN_DSP_STAYMD ")
						.append("          , null AS BIKO_SCREEN_DSP_ENDYMD ")
						.append("          , null AS OPCH_DSL_TG_CHSHT_FLG ")
						.append("          , null AS SOKAN_CHK_STAYMD ")
						.append("          , null AS SOKAN_CHK_ENDYMD ")
						.append("      FROM   ")
						.append("          KK_M_OP_SVC KK0821_01  ")
						.append("          INNER JOIN   ")
						.append("               (SELECT KK0791_GENE.*  ")
						.append("                      ,MAX(KK0791_GENE.RSV_APLY_YMD || KK0791_GENE.GENE_ADD_DTM) OVER (PARTITION BY KK0791_GENE.PCRS_CD) MAX_GENE_ADD_DTM  ")
						.append("                FROM  KK_M_PCRS KK0791_GENE   ")
						.append("                WHERE KK0791_GENE.RSV_APLY_YMD <= ?   ")
						.append("                  AND KK0791_GENE.MK_FLG = '0') KK0791  ")
						.append("          ON  KK0791.OP_SVC_CD = KK0821_01.OP_SVC_CD    ")
						.append("          AND KK0791.RSV_APLY_YMD || KK0791.GENE_ADD_DTM = KK0791.MAX_GENE_ADD_DTM  ")
						.append("          AND KK0791.PCRS_TSTAYMD <= ?    ")
						.append("          AND KK0791.PCRS_TENDYMD >= ?    ")
						.append("          AND KK0791.UK_STA_YMDHM <= ?    ")
						.append("          AND KK0791.UK_END_YMDHM >= ?    ")
						.append("          INNER JOIN KK_M_PPLAN KK0591   ")
						.append("          ON KK0591.PCRS_CD = KK0791.PCRS_CD   ")
						.append("      WHERE   ")
						.append("          KK0821_01.OP_SVC_TSTAYMD <= ?   ")
						.append("          AND KK0821_01.OP_SVC_TENDYMD >= ?   ")
						.append("          AND KK0821_01.UK_STA_YMDHM <= ?   ")
						.append("          AND KK0821_01.UK_END_YMDHM >= ?   ")
						.append("          AND (KK0821_01.OP_SVC_CD,KK0821_01.RSV_APLY_YMD || KK0821_01.GENE_ADD_DTM) =  ")
						.append("              (SELECT KK0821_01_GENE.OP_SVC_CD, MAX(KK0821_01_GENE.RSV_APLY_YMD || KK0821_01_GENE.GENE_ADD_DTM) AS KK0821_01_MAX   ")
						.append("               FROM   KK_M_OP_SVC KK0821_01_GENE   ")
						.append("               WHERE  KK0821_01_GENE.OP_SVC_CD = KK0821_01.OP_SVC_CD   ")
						.append("               AND    KK0821_01_GENE.RSV_APLY_YMD <= ?   ")
						.append("               AND    KK0821_01_GENE.MK_FLG = '0'   ")
						.append("               GROUP BY KK0821_01_GENE.OP_SVC_CD) ")
						.append("          AND KK0591.PPLAN_TSTAYMD <= ?   ")
						.append("          AND KK0591.PPLAN_TENDYMD >= ?   ")
						.append("          AND KK0591.UK_STA_YMDHM <= ?   ")
						.append("          AND KK0591.UK_END_YMDHM >= ?   ")
						.append("          AND KK0591.MK_FLG = '0') KK0821_02   ")
						.append("     LEFT OUTER JOIN   ")
						.append("     (SELECT   ")
						.append("          KK0351_01_TMP.OP_SVC_KEI_NO   ")
						.append("          , KK0351_01_TMP.OP_SVC_KEI_STAT   ")
						.append("          , KK0351_01_TMP.SVC_KEI_UCWK_NO   ")
						.append("          , KK0351_01_TMP.OP_SVC_CD   ")
						.append("          , KK0351_01_TMP.SVC_STAYMD   ")
						.append("          , KK0351_01_TMP.GENE_ADD_DTM   ")
						.append("          , KK0351_01_TMP.UPD_DTM   ")
						.append("      FROM   ")
						.append("          KK_T_OP_SVC_KEI KK0351_01_TMP   ")
						.append("      WHERE   ")
						.append("          KK0351_01_TMP.OP_SVC_KEI_STAT NOT IN ('910', '920')   ")
						.append("          AND (KK0351_01_TMP.OP_SVC_KEI_NO,KK0351_01_TMP.RSV_APLY_YMD || KK0351_01_TMP.GENE_ADD_DTM) =  ")
						.append("              (SELECT KK0351_01_TMP_GENE.OP_SVC_KEI_NO, MAX(KK0351_01_TMP_GENE.RSV_APLY_YMD || KK0351_01_TMP_GENE.GENE_ADD_DTM) AS KK0351_MAX   ")
						.append("               FROM   KK_T_OP_SVC_KEI KK0351_01_TMP_GENE   ")
						.append("               WHERE  KK0351_01_TMP_GENE.OP_SVC_KEI_NO = KK0351_01_TMP.OP_SVC_KEI_NO   ")
						.append("               AND    KK0351_01_TMP_GENE.RSV_APLY_YMD <= ?   ")
						.append("               AND    KK0351_01_TMP_GENE.RSV_APLY_CD = '2'   ")
						.append("               AND    KK0351_01_TMP_GENE.MK_FLG = '0'   ")
						.append("               GROUP BY KK0351_01_TMP_GENE.OP_SVC_KEI_NO)) KK0351_01 ")
						.append("     ON KK0341_01.SVC_KEI_UCWK_NO = KK0351_01.SVC_KEI_UCWK_NO   ")
						.append("     AND KK0821_02.OP_SVC_CD = KK0351_01.OP_SVC_CD   ")
						.append("     LEFT OUTER JOIN   ")
						.append("     (SELECT   ")
						.append("          KK0351_02_TMP.OP_SVC_KEI_NO   ")
						.append("          , KK0351_02_TMP.OP_SVC_KEI_STAT   ")
						.append("          , KK0351_02_TMP.SVC_KEI_UCWK_NO   ")
						.append("          , KK0351_02_TMP.OP_SVC_CD   ")
						.append("          , KK0351_02_TMP.SVC_STAYMD   ")
						.append("          , KK0351_02_TMP.GENE_ADD_DTM   ")
						.append("          , KK0351_02_TMP.UPD_DTM   ")
						.append("      FROM   ")
						.append("          KK_T_OP_SVC_KEI KK0351_02_TMP   ")
						.append("      WHERE   ")
						.append("          KK0351_02_TMP.OP_SVC_KEI_STAT NOT IN ('910', '920')   ")
						.append("          AND (KK0351_02_TMP.OP_SVC_KEI_NO,KK0351_02_TMP.GENE_ADD_DTM) =  ")
						.append("              (SELECT KK0351_02_TMP_GENE.OP_SVC_KEI_NO, MAX(KK0351_02_TMP_GENE.GENE_ADD_DTM) AS KK0351_MAX   ")
						.append("               FROM   KK_T_OP_SVC_KEI KK0351_02_TMP_GENE   ")
						.append("               WHERE  KK0351_02_TMP_GENE.OP_SVC_KEI_NO = KK0351_02_TMP.OP_SVC_KEI_NO   ")
						.append("               AND (( KK0351_02_TMP_GENE.RSV_APLY_CD = '2' AND KK0351_02_TMP_GENE.RSV_APLY_YMD > ?)   ")
						.append("                      OR ( KK0351_02_TMP_GENE.RSV_APLY_CD = '1'))   ")
						.append("               AND    KK0351_02_TMP_GENE.MK_FLG = '0'  ")
						.append("               GROUP BY KK0351_02_TMP_GENE.OP_SVC_KEI_NO)) KK0351_02 ")
						.append("     ON KK0341_01.SVC_KEI_UCWK_NO = KK0351_02.SVC_KEI_UCWK_NO   ")
						.append("     AND KK0821_02.OP_SVC_CD = KK0351_02.OP_SVC_CD  ")
						.append("     LEFT OUTER JOIN KK_T_OPSVKEI_TV KK0381_01 ")
						.append("     ON KK0351_01.OP_SVC_KEI_NO = KK0381_01.OP_SVC_KEI_NO   ")
						.append("     AND KK0351_01.GENE_ADD_DTM = KK0381_01.GENE_ADD_DTM ")
						.append("     LEFT OUTER JOIN KK_T_OPSVKEI_TV KK0381_02 ")
						.append("     ON KK0351_02.OP_SVC_KEI_NO = KK0381_02.OP_SVC_KEI_NO   ")
						.append("     AND KK0351_02.GENE_ADD_DTM = KK0381_02.GENE_ADD_DTM ");
			}
			
			// SQL文_個別部2
//			if ("2".equals(inMsg.getObject(EKK0341B004CBSMsg.FUNC_CODE).toString()))
			if ("2".equals(inMsg.getObject(EKK0341B004CBSMsg.FUNC_CODE).toString()) && !pcrs_op_svc_not_sel_flg)
			{
				sql_Buff.append(" SELECT   ")
						.append("       null AS KIKI_SEIZO_NO_BCAS   ")
						.append("     , null AS KIKI_SEIZO_NO_CCAS   ")
						.append("     , KK0821_02.OP_SVC_CD   ")
						.append("     , KK0821_02.OP_SVC_NM   ")
						.append("     , KK0821_02.DGTIA_GRP_CD   ")
						.append("     , KK0821_02.OP_CHANNEL_OPRTN_WAY_CD   ")
						.append("     , KK0821_02.PCRS_CD   ")
						.append("     , KK0821_02.PPLAN_CD   ")
						.append("     , KK0821_02.OP_CHANNEL_BIKO   ")
						.append("     , KK0351_01.OP_SVC_KEI_NO AS OP_SVC_KEI_NO_CRE   ")
						.append("     , KK0351_01.OP_SVC_KEI_STAT AS OP_SVC_KEI_STAT_CRE   ")
						.append("     , KK0351_01.SVC_STAYMD AS SVC_STAYMD_CRE   ")
						.append("     , KK0351_01.GENE_ADD_DTM AS GENE_ADD_DTM_CRE   ")
						.append("     , KK0351_01.UPD_DTM AS UPD_DTM_CRE   ")
						.append("     , KK0351_02.OP_SVC_KEI_NO AS OP_SVC_KEI_NO_RES   ")
						.append("     , KK0351_02.OP_SVC_KEI_STAT AS OP_SVC_KEI_STAT_RES   ")
						.append("     , KK0351_02.SVC_STAYMD AS SVC_STAYMD_RES   ")
						.append("     , KK0351_02.GENE_ADD_DTM AS GENE_ADD_DTM_RES   ")
						.append("     , KK0351_02.UPD_DTM AS UPD_DTM_RES   ")
						.append("     , (SELECT   ")
						.append("            KK1681_01.ADD_DTM   ")
						.append("        FROM   ")
						.append("            KK_T_IDO_RSV KK1681_01   ")
						.append("        WHERE   ")
						.append("            KK1681_01.OP_SVC_KEI_NO = KK0351_01.OP_SVC_KEI_NO   ")
						.append("            AND KK1681_01.IDO_DIV = '00031'   ")
						.append("            AND KK1681_01.IDO_RSV_DTL_CD = '016'   ")
						.append("            AND KK1681_01.IDO_RSV_STAT_CD = '00' ) AS ADD_DTM_IDO   ")
						.append("     , KK0381_01.RED_BCAS_NO  ")
						.append("     , KK0381_02.RED_BCAS_NO AS RED_BCAS_NO_RES  ")
						.append("     , KK0821_02.OPCH_ADD_SCREEN_DSP_TG_FLG  ")
						.append("     , KK0821_02.BIKO_SCREEN_DSP_STAYMD  ")
						.append("     , KK0821_02.BIKO_SCREEN_DSP_ENDYMD  ")
						.append("     , KK0821_02.OPCH_DSL_TG_CHSHT_FLG  ")
						.append("     , KK0821_02.SOKAN_CHK_STAYMD  ")
						.append("     , KK0821_02.SOKAN_CHK_ENDYMD  ")
						.append(" FROM   ")
						.append("     (SELECT   ")
						.append("          KK0791.PCRS_CD   ")
						.append("          , KK0591.PPLAN_CD   ")
						.append("          , KK0821_01.OP_SVC_CD   ")
						.append("          , KK0821_01.OP_SVC_NM   ")
						.append("          , KK0821_01.DGTIA_GRP_CD   ")
						.append("          , KK0821_01.OP_CHANNEL_SBT_CD   ")
						.append("          , KK0821_01.OP_CHANNEL_OPRTN_WAY_CD   ")
						.append("          , KK0811.OP_SVC_BIKO AS OP_CHANNEL_BIKO  ")
						.append("          , KK0811.OPCH_ADD_SCREEN_DSP_TG_FLG  ")
						.append("          , KK0811.BIKO_SCREEN_DSP_STAYMD  ")
						.append("          , KK0811.BIKO_SCREEN_DSP_ENDYMD  ")
						.append("          , KK0811.OPCH_DSL_TG_CHSHT_FLG  ")
						.append("          , KK0811.SOKAN_CHK_STAYMD  ")
						.append("          , KK0811.SOKAN_CHK_ENDYMD  ")
						.append("      FROM   ")
						.append("          (SELECT KK0811_01.*  ")
						.append("           FROM    ")
						.append("                (SELECT KK0811_02.*  ")
						.append("                       ,MAX(KK0811_02.RSV_APLY_YMD || KK0811_02.GENE_ADD_DTM) OVER (PARTITION BY KK0811_02.PCRS_CD,KK0811_02.OP_SVC_CD) MAX_GENE_ADD_DTM  ")
						.append("                 FROM  KK_M_PCRS_OP_SVC KK0811_02   ")
						.append("                 WHERE KK0811_02.PCRS_CD = ?  ")
						.append("                   AND KK0811_02.RSV_APLY_YMD <= ?   ")
						.append("                   AND KK0811_02.MK_FLG = '0') KK0811_01  ")
						.append("           WHERE KK0811_01.RSV_APLY_YMD || KK0811_01.GENE_ADD_DTM = KK0811_01.MAX_GENE_ADD_DTM) KK0811  ")
						.append("          INNER JOIN KK_M_OP_SVC KK0821_01   ")
						.append("          ON KK0821_01.OP_SVC_CD = KK0811.OP_SVC_CD   ")
						.append("          INNER JOIN   ")
						.append("               (SELECT KK0791_GENE.*  ")
						.append("                      ,MAX(KK0791_GENE.RSV_APLY_YMD || KK0791_GENE.GENE_ADD_DTM) OVER (PARTITION BY KK0791_GENE.PCRS_CD) MAX_GENE_ADD_DTM  ")
						.append("                FROM  KK_M_PCRS KK0791_GENE   ")
						.append("                WHERE KK0791_GENE.RSV_APLY_YMD <= ?   ")
						.append("                  AND KK0791_GENE.MK_FLG = '0') KK0791  ")
						.append("          ON  KK0791.OP_SVC_CD = KK0821_01.OP_SVC_CD    ")
						.append("          AND KK0791.RSV_APLY_YMD || KK0791.GENE_ADD_DTM = KK0791.MAX_GENE_ADD_DTM  ")
						.append("          AND KK0791.PCRS_TSTAYMD <= ?    ")
						.append("          AND KK0791.PCRS_TENDYMD >= ?    ")
						.append("          AND KK0791.UK_STA_YMDHM <= ?    ")
						.append("          AND KK0791.UK_END_YMDHM >= ?    ")
						.append("          INNER JOIN KK_M_PPLAN KK0591   ")
						.append("          ON KK0591.PCRS_CD = KK0791.PCRS_CD   ")
						.append("      WHERE   ")
						.append("          KK0811.PCRS_OP_SVC_TSTAYMD <= ?   ")
						.append("          AND KK0811.PCRS_OP_SVC_TENDYMD >= ?   ")
						.append("          AND KK0821_01.OP_CHANNEL_SBT_CD IN ('01', '02')   ")
						.append("          AND KK0821_01.OP_SVC_TSTAYMD <= ?   ")
						.append("          AND KK0821_01.OP_SVC_TENDYMD >= ?   ")
						.append("          AND KK0821_01.UK_STA_YMDHM <= ?   ")
						.append("          AND KK0821_01.UK_END_YMDHM >= ?   ")
						.append("          AND (KK0821_01.OP_SVC_CD , KK0821_01.RSV_APLY_YMD || KK0821_01.GENE_ADD_DTM) =   ")
						.append("              (SELECT KK0821_01_GENE.OP_SVC_CD, MAX(KK0821_01_GENE.RSV_APLY_YMD || KK0821_01_GENE.GENE_ADD_DTM) AS KK0821_01_MAX   ")
						.append("               FROM   KK_M_OP_SVC KK0821_01_GENE   ")
						.append("               WHERE  KK0821_01_GENE.OP_SVC_CD = KK0821_01.OP_SVC_CD   ")
						.append("               AND    KK0821_01_GENE.RSV_APLY_YMD <= ?   ")
						.append("               AND    KK0821_01_GENE.MK_FLG = '0'   ")
						.append("               GROUP BY KK0821_01_GENE.OP_SVC_CD )   ")
						.append("          AND KK0591.PPLAN_TSTAYMD <= ?   ")
						.append("          AND KK0591.PPLAN_TENDYMD >= ?   ")
						.append("          AND KK0591.UK_STA_YMDHM <= ?   ")
						.append("          AND KK0591.UK_END_YMDHM >= ?   ")
						.append("          AND KK0591.MK_FLG = '0') KK0821_02   ")
						.append("     LEFT OUTER JOIN   ")
						.append("     (SELECT   ")
						.append("          KK0351_01_TMP.OP_SVC_KEI_NO   ")
						.append("          , KK0351_01_TMP.OP_SVC_KEI_STAT   ")
						.append("          , KK0351_01_TMP.SVC_KEI_UCWK_NO   ")
						.append("          , KK0351_01_TMP.OP_SVC_CD   ")
						.append("          , KK0351_01_TMP.SVC_STAYMD   ")
						.append("          , KK0351_01_TMP.GENE_ADD_DTM   ")
						.append("          , KK0351_01_TMP.UPD_DTM   ")
						.append("      FROM   ")
						.append("          KK_T_OP_SVC_KEI KK0351_01_TMP   ")
						.append("      WHERE   ")
						.append("          KK0351_01_TMP.OP_SVC_KEI_STAT NOT IN ('910', '920')   ")
						.append("          AND KK0351_01_TMP.SVC_KEI_NO = ? ")
						.append("          AND KK0351_01_TMP.OYA_KEI_SKBT_CD = '01' ")
						.append("          AND (KK0351_01_TMP.OP_SVC_KEI_NO, KK0351_01_TMP.RSV_APLY_YMD || KK0351_01_TMP.GENE_ADD_DTM) =   ")
						.append("              (SELECT KK0351_01_TMP_GENE.OP_SVC_KEI_NO, MAX(KK0351_01_TMP_GENE.RSV_APLY_YMD || KK0351_01_TMP_GENE.GENE_ADD_DTM) AS KK0351_MAX   ")
						.append("               FROM   KK_T_OP_SVC_KEI KK0351_01_TMP_GENE   ")
						.append("               WHERE  KK0351_01_TMP_GENE.OP_SVC_KEI_NO = KK0351_01_TMP.OP_SVC_KEI_NO   ")
						.append("               AND    KK0351_01_TMP_GENE.RSV_APLY_YMD <= ?   ")
						.append("               AND    KK0351_01_TMP_GENE.RSV_APLY_CD = '2'   ")
						.append("               AND    KK0351_01_TMP_GENE.MK_FLG = '0'   ")
						.append("               GROUP BY KK0351_01_TMP_GENE.OP_SVC_KEI_NO )) KK0351_01   ")
						.append("     ON KK0821_02.OP_SVC_CD = KK0351_01.OP_SVC_CD   ")
						.append("     LEFT OUTER JOIN   ")
						.append("     (SELECT   ")
						.append("          KK0351_02_TMP.OP_SVC_KEI_NO   ")
						.append("          , KK0351_02_TMP.OP_SVC_KEI_STAT   ")
						.append("          , KK0351_02_TMP.SVC_KEI_UCWK_NO   ")
						.append("          , KK0351_02_TMP.OP_SVC_CD   ")
						.append("          , KK0351_02_TMP.SVC_STAYMD   ")
						.append("          , KK0351_02_TMP.GENE_ADD_DTM   ")
						.append("          , KK0351_02_TMP.UPD_DTM   ")
						.append("      FROM   ")
						.append("          KK_T_OP_SVC_KEI KK0351_02_TMP   ")
						.append("      WHERE   ")
						.append("          KK0351_02_TMP.OP_SVC_KEI_STAT NOT IN ('910', '920')   ")
						.append("          AND KK0351_02_TMP.SVC_KEI_NO = ? ")
						.append("          AND KK0351_02_TMP.OYA_KEI_SKBT_CD = '01' ")
						.append("          AND (KK0351_02_TMP.OP_SVC_KEI_NO, KK0351_02_TMP.GENE_ADD_DTM) =   ")
						.append("              (SELECT KK0351_02_TMP_GENE.OP_SVC_KEI_NO, MAX(KK0351_02_TMP_GENE.GENE_ADD_DTM) AS KK0351_MAX   ")
						.append("               FROM   KK_T_OP_SVC_KEI KK0351_02_TMP_GENE   ")
						.append("               WHERE  KK0351_02_TMP_GENE.OP_SVC_KEI_NO = KK0351_02_TMP.OP_SVC_KEI_NO   ")
						.append("               AND (( KK0351_02_TMP_GENE.RSV_APLY_CD = '2' AND KK0351_02_TMP_GENE.RSV_APLY_YMD > ?)   ")
						.append("                      OR ( KK0351_02_TMP_GENE.RSV_APLY_CD = '1'))   ")
						.append("               AND    KK0351_02_TMP_GENE.MK_FLG = '0' ")
						.append("               GROUP BY KK0351_02_TMP_GENE.OP_SVC_KEI_NO )) KK0351_02  ")
						.append("     ON KK0821_02.OP_SVC_CD = KK0351_02.OP_SVC_CD ")
						.append("     LEFT OUTER JOIN KK_T_OPSVKEI_TV KK0381_01  ")
						.append("     ON KK0351_01.OP_SVC_KEI_NO = KK0381_01.OP_SVC_KEI_NO    ")
						.append("     AND KK0351_01.GENE_ADD_DTM = KK0381_01.GENE_ADD_DTM  ")
						.append("     LEFT OUTER JOIN KK_T_OPSVKEI_TV KK0381_02  ")
						.append("     ON KK0351_02.OP_SVC_KEI_NO = KK0381_02.OP_SVC_KEI_NO    ")
						.append("     AND KK0351_02.GENE_ADD_DTM = KK0381_02.GENE_ADD_DTM  ");
			}
			
			if ("2".equals(inMsg.getObject(EKK0341B004CBSMsg.FUNC_CODE).toString()) && pcrs_op_svc_not_sel_flg)
			{
				sql_Buff.append(" SELECT   ")
						.append("       null AS KIKI_SEIZO_NO_BCAS   ")
						.append("     , null AS KIKI_SEIZO_NO_CCAS   ")
						.append("     , KK0821_02.OP_SVC_CD   ")
						.append("     , KK0821_02.OP_SVC_NM   ")
						.append("     , KK0821_02.DGTIA_GRP_CD   ")
						.append("     , KK0821_02.OP_CHANNEL_OPRTN_WAY_CD   ")
						.append("     , KK0821_02.PCRS_CD   ")
						.append("     , KK0821_02.PPLAN_CD   ")
						.append("     , KK0821_02.OP_CHANNEL_BIKO   ")
						.append("     , KK0351_01.OP_SVC_KEI_NO AS OP_SVC_KEI_NO_CRE   ")
						.append("     , KK0351_01.OP_SVC_KEI_STAT AS OP_SVC_KEI_STAT_CRE   ")
						.append("     , KK0351_01.SVC_STAYMD AS SVC_STAYMD_CRE   ")
						.append("     , KK0351_01.GENE_ADD_DTM AS GENE_ADD_DTM_CRE   ")
						.append("     , KK0351_01.UPD_DTM AS UPD_DTM_CRE   ")
						.append("     , KK0351_02.OP_SVC_KEI_NO AS OP_SVC_KEI_NO_RES   ")
						.append("     , KK0351_02.OP_SVC_KEI_STAT AS OP_SVC_KEI_STAT_RES   ")
						.append("     , KK0351_02.SVC_STAYMD AS SVC_STAYMD_RES   ")
						.append("     , KK0351_02.GENE_ADD_DTM AS GENE_ADD_DTM_RES   ")
						.append("     , KK0351_02.UPD_DTM AS UPD_DTM_RES   ")
						.append("     , (SELECT   ")
						.append("            KK1681_01.ADD_DTM   ")
						.append("        FROM   ")
						.append("            KK_T_IDO_RSV KK1681_01   ")
						.append("        WHERE   ")
						.append("            KK1681_01.OP_SVC_KEI_NO = KK0351_01.OP_SVC_KEI_NO   ")
						.append("            AND KK1681_01.IDO_DIV = '00031'   ")
						.append("            AND KK1681_01.IDO_RSV_DTL_CD = '016'   ")
						.append("            AND KK1681_01.IDO_RSV_STAT_CD = '00' ) AS ADD_DTM_IDO   ")
						.append("     , KK0381_01.RED_BCAS_NO  ")
						.append("     , KK0381_02.RED_BCAS_NO AS RED_BCAS_NO_RES  ")
						.append("     , null AS OPCH_ADD_SCREEN_DSP_TG_FLG ")
						.append("     , null AS BIKO_SCREEN_DSP_STAYMD ")
						.append("     , null AS BIKO_SCREEN_DSP_ENDYMD ")
						.append("     , null AS OPCH_DSL_TG_CHSHT_FLG ")
						.append("     , null AS SOKAN_CHK_STAYMD ")
						.append("     , null AS SOKAN_CHK_ENDYMD ")
						.append(" FROM   ")
						.append("     (SELECT   ")
						.append("          KK0791.PCRS_CD   ")
						.append("          , KK0591.PPLAN_CD   ")
						.append("          , KK0821_01.OP_SVC_CD   ")
						.append("          , KK0821_01.OP_SVC_NM   ")
						.append("          , KK0821_01.DGTIA_GRP_CD   ")
						.append("          , KK0821_01.OP_CHANNEL_SBT_CD   ")
						.append("          , KK0821_01.OP_CHANNEL_OPRTN_WAY_CD   ")
						.append("          , null AS OP_CHANNEL_BIKO ")
						.append("          , null AS OPCH_ADD_SCREEN_DSP_TG_FLG ")
						.append("          , null AS BIKO_SCREEN_DSP_STAYMD ")
						.append("          , null AS BIKO_SCREEN_DSP_ENDYMD ")
						.append("          , null AS OPCH_DSL_TG_CHSHT_FLG ")
						.append("          , null AS SOKAN_CHK_STAYMD ")
						.append("          , null AS SOKAN_CHK_ENDYMD ")
						.append("      FROM   ")
						.append("          KK_M_OP_SVC KK0821_01  ")
						.append("          INNER JOIN   ")
						.append("               (SELECT KK0791_GENE.*  ")
						.append("                      ,MAX(KK0791_GENE.RSV_APLY_YMD || KK0791_GENE.GENE_ADD_DTM) OVER (PARTITION BY KK0791_GENE.PCRS_CD) MAX_GENE_ADD_DTM  ")
						.append("                FROM  KK_M_PCRS KK0791_GENE   ")
						.append("                WHERE KK0791_GENE.RSV_APLY_YMD <= ?   ")
						.append("                  AND KK0791_GENE.MK_FLG = '0') KK0791  ")
						.append("          ON  KK0791.OP_SVC_CD = KK0821_01.OP_SVC_CD    ")
						.append("          AND KK0791.RSV_APLY_YMD || KK0791.GENE_ADD_DTM = KK0791.MAX_GENE_ADD_DTM  ")
						.append("          AND KK0791.PCRS_TSTAYMD <= ?    ")
						.append("          AND KK0791.PCRS_TENDYMD >= ?    ")
						.append("          AND KK0791.UK_STA_YMDHM <= ?    ")
						.append("          AND KK0791.UK_END_YMDHM >= ?    ")
						.append("          INNER JOIN KK_M_PPLAN KK0591   ")
						.append("          ON KK0591.PCRS_CD = KK0791.PCRS_CD   ")
						.append("      WHERE   ")
						.append("          KK0821_01.OP_CHANNEL_SBT_CD IN ('01', '02')   ")
						.append("          AND KK0821_01.OP_SVC_TSTAYMD <= ?   ")
						.append("          AND KK0821_01.OP_SVC_TENDYMD >= ?   ")
						.append("          AND KK0821_01.UK_STA_YMDHM <= ?   ")
						.append("          AND KK0821_01.UK_END_YMDHM >= ?   ")
						.append("          AND (KK0821_01.OP_SVC_CD , KK0821_01.RSV_APLY_YMD || KK0821_01.GENE_ADD_DTM) =   ")
						.append("              (SELECT KK0821_01_GENE.OP_SVC_CD, MAX(KK0821_01_GENE.RSV_APLY_YMD || KK0821_01_GENE.GENE_ADD_DTM) AS KK0821_01_MAX   ")
						.append("               FROM   KK_M_OP_SVC KK0821_01_GENE   ")
						.append("               WHERE  KK0821_01_GENE.OP_SVC_CD = KK0821_01.OP_SVC_CD   ")
						.append("               AND    KK0821_01_GENE.RSV_APLY_YMD <= ?   ")
						.append("               AND    KK0821_01_GENE.MK_FLG = '0'   ")
						.append("               GROUP BY KK0821_01_GENE.OP_SVC_CD )   ")
						.append("          AND KK0591.PPLAN_TSTAYMD <= ?   ")
						.append("          AND KK0591.PPLAN_TENDYMD >= ?   ")
						.append("          AND KK0591.UK_STA_YMDHM <= ?   ")
						.append("          AND KK0591.UK_END_YMDHM >= ?   ")
						.append("          AND KK0591.MK_FLG = '0') KK0821_02   ")
						.append("     LEFT OUTER JOIN   ")
						.append("     (SELECT   ")
						.append("          KK0351_01_TMP.OP_SVC_KEI_NO   ")
						.append("          , KK0351_01_TMP.OP_SVC_KEI_STAT   ")
						.append("          , KK0351_01_TMP.SVC_KEI_UCWK_NO   ")
						.append("          , KK0351_01_TMP.OP_SVC_CD   ")
						.append("          , KK0351_01_TMP.SVC_STAYMD   ")
						.append("          , KK0351_01_TMP.GENE_ADD_DTM   ")
						.append("          , KK0351_01_TMP.UPD_DTM   ")
						.append("      FROM   ")
						.append("          KK_T_OP_SVC_KEI KK0351_01_TMP   ")
						.append("      WHERE   ")
						.append("          KK0351_01_TMP.OP_SVC_KEI_STAT NOT IN ('910', '920')   ")
						.append("          AND KK0351_01_TMP.SVC_KEI_NO = ? ")
						.append("          AND KK0351_01_TMP.OYA_KEI_SKBT_CD = '01' ")
						.append("          AND (KK0351_01_TMP.OP_SVC_KEI_NO, KK0351_01_TMP.RSV_APLY_YMD || KK0351_01_TMP.GENE_ADD_DTM) =   ")
						.append("              (SELECT KK0351_01_TMP_GENE.OP_SVC_KEI_NO, MAX(KK0351_01_TMP_GENE.RSV_APLY_YMD || KK0351_01_TMP_GENE.GENE_ADD_DTM) AS KK0351_MAX   ")
						.append("               FROM   KK_T_OP_SVC_KEI KK0351_01_TMP_GENE   ")
						.append("               WHERE  KK0351_01_TMP_GENE.OP_SVC_KEI_NO = KK0351_01_TMP.OP_SVC_KEI_NO   ")
						.append("               AND    KK0351_01_TMP_GENE.RSV_APLY_YMD <= ?   ")
						.append("               AND    KK0351_01_TMP_GENE.RSV_APLY_CD = '2'   ")
						.append("               AND    KK0351_01_TMP_GENE.MK_FLG = '0'   ")
						.append("               GROUP BY KK0351_01_TMP_GENE.OP_SVC_KEI_NO )) KK0351_01   ")
						.append("     ON KK0821_02.OP_SVC_CD = KK0351_01.OP_SVC_CD   ")
						.append("     LEFT OUTER JOIN   ")
						.append("     (SELECT   ")
						.append("          KK0351_02_TMP.OP_SVC_KEI_NO   ")
						.append("          , KK0351_02_TMP.OP_SVC_KEI_STAT   ")
						.append("          , KK0351_02_TMP.SVC_KEI_UCWK_NO   ")
						.append("          , KK0351_02_TMP.OP_SVC_CD   ")
						.append("          , KK0351_02_TMP.SVC_STAYMD   ")
						.append("          , KK0351_02_TMP.GENE_ADD_DTM   ")
						.append("          , KK0351_02_TMP.UPD_DTM   ")
						.append("      FROM   ")
						.append("          KK_T_OP_SVC_KEI KK0351_02_TMP   ")
						.append("      WHERE   ")
						.append("          KK0351_02_TMP.OP_SVC_KEI_STAT NOT IN ('910', '920')   ")
						.append("          AND KK0351_02_TMP.SVC_KEI_NO = ? ")
						.append("          AND KK0351_02_TMP.OYA_KEI_SKBT_CD = '01' ")
						.append("          AND (KK0351_02_TMP.OP_SVC_KEI_NO, KK0351_02_TMP.GENE_ADD_DTM) =   ")
						.append("              (SELECT KK0351_02_TMP_GENE.OP_SVC_KEI_NO, MAX(KK0351_02_TMP_GENE.GENE_ADD_DTM) AS KK0351_MAX   ")
						.append("               FROM   KK_T_OP_SVC_KEI KK0351_02_TMP_GENE   ")
						.append("               WHERE  KK0351_02_TMP_GENE.OP_SVC_KEI_NO = KK0351_02_TMP.OP_SVC_KEI_NO   ")
						.append("               AND (( KK0351_02_TMP_GENE.RSV_APLY_CD = '2' AND KK0351_02_TMP_GENE.RSV_APLY_YMD > ?)   ")
						.append("                      OR ( KK0351_02_TMP_GENE.RSV_APLY_CD = '1'))   ")
						.append("               AND    KK0351_02_TMP_GENE.MK_FLG = '0' ")
						.append("               GROUP BY KK0351_02_TMP_GENE.OP_SVC_KEI_NO )) KK0351_02  ")
						.append("     ON KK0821_02.OP_SVC_CD = KK0351_02.OP_SVC_CD ")
						.append("     LEFT OUTER JOIN KK_T_OPSVKEI_TV KK0381_01  ")
						.append("     ON KK0351_01.OP_SVC_KEI_NO = KK0381_01.OP_SVC_KEI_NO    ")
						.append("     AND KK0351_01.GENE_ADD_DTM = KK0381_01.GENE_ADD_DTM  ")
						.append("     LEFT OUTER JOIN KK_T_OPSVKEI_TV KK0381_02  ")
						.append("     ON KK0351_02.OP_SVC_KEI_NO = KK0381_02.OP_SVC_KEI_NO    ")
						.append("     AND KK0351_02.GENE_ADD_DTM = KK0381_02.GENE_ADD_DTM  ");				
			}

			sql_Buff.append(" ORDER BY  ")
					.append("     KK0821_02.OP_CHANNEL_SBT_CD ASC  ")
					.append("     , KK0821_02.OP_SVC_CD ASC  ");
			
			//prepareStatementにSQL文をセット
			pstmt = con1.prepareStatement(sql_Buff.toString());

			//ログ出力(SQL文の出力)
			JSYejbLog.outlog(inContext, JSYejbLog.DBACCESS, this.getClass(), sql_Buff);

			// PreparedStatementの指定されたパラメータカラムに 指定された値を設定
//			if ("1".equals(inMsg.getString(EKK0341B004CBSMsg.FUNC_CODE)))
			if ("1".equals(inMsg.getString(EKK0341B004CBSMsg.FUNC_CODE)) && !pcrs_op_svc_not_sel_flg)
			{
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(ＫＥＹ＿機器製造番号を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, inMsg.getObject(EKK0341B004CBSMsg.KEY_KIKI_SEIZO_NO));
				
				// パラメータの設定(ＫＥＹ＿サービス契約番号を指定)
				if (!inMsg.isNull(EKK0341B004CBSMsg.KEY_SVC_KEI_NO)){
					CAANJDBCUtil.setParam(pstmt,  ++iPCnt, inMsg.getObject(EKK0341B004CBSMsg.KEY_SVC_KEI_NO));
				}

				// パラメータの設定(ＫＥＹ＿料金コースコードを指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, inMsg.getObject(EKK0341B004CBSMsg.KEY_PCRS_CD));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付 + "2359"を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg).concat("2359"));
				// パラメータの設定(運用日付 + "0000"を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg).concat("0000"));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付 + "2359"を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg).concat("2359"));
				// パラメータの設定(運用日付 + "0000"を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg).concat("0000"));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付 + "2359"を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg).concat("2359"));
				// パラメータの設定(運用日付 + "0000"を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg).concat("0000"));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
			}
			
			// PreparedStatementの指定されたパラメータカラムに 指定された値を設定
//			if ("1".equals(inMsg.getString(EKK0341B004CBSMsg.FUNC_CODE)))
			if ("1".equals(inMsg.getString(EKK0341B004CBSMsg.FUNC_CODE)) && pcrs_op_svc_not_sel_flg)
			{
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(ＫＥＹ＿機器製造番号を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, inMsg.getObject(EKK0341B004CBSMsg.KEY_KIKI_SEIZO_NO));
				// パラメータの設定(ＫＥＹ＿サービス契約番号を指定)
				if (!inMsg.isNull(EKK0341B004CBSMsg.KEY_SVC_KEI_NO)){
					CAANJDBCUtil.setParam(pstmt,  ++iPCnt, inMsg.getObject(EKK0341B004CBSMsg.KEY_SVC_KEI_NO));
				}
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
//				// パラメータの設定(ＫＥＹ＿料金コースコードを指定)
//				CAANJDBCUtil.setParam(pstmt,  6, inMsg.getObject(EKK0341B004CBSMsg.KEY_PCRS_CD));				
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付 + "2359"を指定)
				CAANJDBCUtil.setParam(pstmt,  ++iPCnt, JKKModelCommon.getOpeDate(inMsg).concat("2359"));
				// パラメータの設定(運用日付 + "0000"を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg).concat("0000"));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付 + "2359"を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg).concat("2359"));
				// パラメータの設定(運用日付 + "0000"を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg).concat("0000"));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付 + "2359"を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg).concat("2359"));
				// パラメータの設定(運用日付 + "0000"を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg).concat("0000"));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, ++iPCnt, JKKModelCommon.getOpeDate(inMsg));
			}
			
			// PreparedStatementの指定されたパラメータカラムに 指定された値を設定
//			if ("2".equals(inMsg.getString(EKK0341B004CBSMsg.FUNC_CODE)))
			if ("2".equals(inMsg.getString(EKK0341B004CBSMsg.FUNC_CODE)) && !pcrs_op_svc_not_sel_flg)
			{
				// パラメータの設定(ＫＥＹ＿料金コースコードを指定)
				CAANJDBCUtil.setParam(pstmt, 1, inMsg.getObject(EKK0341B004CBSMsg.KEY_PCRS_CD));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 2, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 3, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 4, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 5, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付 + "2359"を指定)
				CAANJDBCUtil.setParam(pstmt, 6, JKKModelCommon.getOpeDate(inMsg).concat("2359"));
				// パラメータの設定(運用日付 + "0000"を指定)
				CAANJDBCUtil.setParam(pstmt, 7, JKKModelCommon.getOpeDate(inMsg).concat("0000"));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 8, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 9, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 10, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 11, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付 + "2359"を指定)
				CAANJDBCUtil.setParam(pstmt, 12, JKKModelCommon.getOpeDate(inMsg).concat("2359"));
				// パラメータの設定(運用日付 + "0000"を指定)
				CAANJDBCUtil.setParam(pstmt, 13, JKKModelCommon.getOpeDate(inMsg).concat("0000"));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 14, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 15, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 16, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付 + "2359"を指定)
				CAANJDBCUtil.setParam(pstmt, 17, JKKModelCommon.getOpeDate(inMsg).concat("2359"));
				// パラメータの設定(運用日付 + "0000"を指定)
				CAANJDBCUtil.setParam(pstmt, 18, JKKModelCommon.getOpeDate(inMsg).concat("0000"));
				// パラメータの設定(ＫＥＹ＿サービス契約番号を指定)
				CAANJDBCUtil.setParam(pstmt, 19, inMsg.getObject(EKK0341B004CBSMsg.KEY_SVC_KEI_NO));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 20, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(ＫＥＹ＿サービス契約番号を指定)
				CAANJDBCUtil.setParam(pstmt, 21, inMsg.getObject(EKK0341B004CBSMsg.KEY_SVC_KEI_NO));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 22, JKKModelCommon.getOpeDate(inMsg));
			}
			
			// PreparedStatementの指定されたパラメータカラムに 指定された値を設定
			if ("2".equals(inMsg.getString(EKK0341B004CBSMsg.FUNC_CODE)) && pcrs_op_svc_not_sel_flg)
			{
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 1, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 2, JKKModelCommon.getOpeDate(inMsg));				
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 3, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付 + "2359"を指定)
				CAANJDBCUtil.setParam(pstmt, 4, JKKModelCommon.getOpeDate(inMsg).concat("2359"));
				// パラメータの設定(運用日付 + "0000"を指定)
				CAANJDBCUtil.setParam(pstmt, 5, JKKModelCommon.getOpeDate(inMsg).concat("0000"));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 6, JKKModelCommon.getOpeDate(inMsg));				
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 7, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付 + "2359"を指定)
				CAANJDBCUtil.setParam(pstmt, 8, JKKModelCommon.getOpeDate(inMsg).concat("2359"));
				// パラメータの設定(運用日付 + "0000"を指定)
				CAANJDBCUtil.setParam(pstmt, 9, JKKModelCommon.getOpeDate(inMsg).concat("0000"));				
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 10, JKKModelCommon.getOpeDate(inMsg));		
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 11, JKKModelCommon.getOpeDate(inMsg));				
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 12, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(運用日付 + "2359"を指定)
				CAANJDBCUtil.setParam(pstmt, 13, JKKModelCommon.getOpeDate(inMsg).concat("2359"));
				// パラメータの設定(運用日付 + "0000"を指定)
				CAANJDBCUtil.setParam(pstmt, 14, JKKModelCommon.getOpeDate(inMsg).concat("0000"));
				// パラメータの設定(ＫＥＹ＿サービス契約番号を指定)
				CAANJDBCUtil.setParam(pstmt, 15, inMsg.getObject(EKK0341B004CBSMsg.KEY_SVC_KEI_NO));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 16, JKKModelCommon.getOpeDate(inMsg));
				// パラメータの設定(ＫＥＹ＿サービス契約番号を指定)
				CAANJDBCUtil.setParam(pstmt, 17, inMsg.getObject(EKK0341B004CBSMsg.KEY_SVC_KEI_NO));
				// パラメータの設定(運用日付を指定)
				CAANJDBCUtil.setParam(pstmt, 18, JKKModelCommon.getOpeDate(inMsg));
			}
			
			// ResultSetの取得
			rsltQuery = pstmt.executeQuery();
			
			// EKK0341B004CBSMsgの明細にセットする項目
			String[] msgKeyList1 = {
					  EKK0341B004CBSMsg1List.KIKI_SEIZO_NO_BCAS
					, EKK0341B004CBSMsg1List.KIKI_SEIZO_NO_CCAS
					, EKK0341B004CBSMsg1List.OP_SVC_CD
					, EKK0341B004CBSMsg1List.OP_SVC_NM
					, EKK0341B004CBSMsg1List.DGTIA_GRP_CD
					, EKK0341B004CBSMsg1List.OP_CHANNEL_OPRTN_WAY_CD
					, EKK0341B004CBSMsg1List.PCRS_CD
					, EKK0341B004CBSMsg1List.PPLAN_CD
					, EKK0341B004CBSMsg1List.OP_CHANNEL_BIKO
					, EKK0341B004CBSMsg1List.OP_SVC_KEI_NO_CRE
					, EKK0341B004CBSMsg1List.OP_SVC_KEI_STAT_CRE
					, EKK0341B004CBSMsg1List.SVC_STAYMD_CRE
					, EKK0341B004CBSMsg1List.GENE_ADD_DTM_CRE
					, EKK0341B004CBSMsg1List.UPD_DTM_CRE
					, EKK0341B004CBSMsg1List.OP_SVC_KEI_NO_RES
					, EKK0341B004CBSMsg1List.OP_SVC_KEI_STAT_RES
					, EKK0341B004CBSMsg1List.SVC_STAYMD_RES
					, EKK0341B004CBSMsg1List.GENE_ADD_DTM_RES
					, EKK0341B004CBSMsg1List.UPD_DTM_RES
					, EKK0341B004CBSMsg1List.ADD_DTM_IDO
					, EKK0341B004CBSMsg1List.RED_BCAS_NO
					, EKK0341B004CBSMsg1List.RED_BCAS_NO_RES
					, EKK0341B004CBSMsg1List.OPCH_ADD_SCREEN_DSP_TG_FLG
					, EKK0341B004CBSMsg1List.BIKO_SCREEN_DSP_STAYMD
					, EKK0341B004CBSMsg1List.BIKO_SCREEN_DSP_ENDYMD
					, EKK0341B004CBSMsg1List.OPCH_DSL_TG_CHSHT_FLG
					, EKK0341B004CBSMsg1List.SOKAN_CHK_STAYMD
					, EKK0341B004CBSMsg1List.SOKAN_CHK_ENDYMD
			};
			
			// 明細に処理結果(ResultSet)をマッピング
			CAANMsg[] outMsg1 = mapMessageList(rsltQuery,msgKeyList1,"eo.ejb.cbs.cbsmsg.EKK0341B004CBSMsg1List",0);
			// inMsg(CBSMsg)に明細をセット
			inMsg.set("EKK0341B004CBSMsg1List", outMsg1);
			

		} catch(SQLException e) {
			inMsg.set(EKK0341B004CBSMsg.STATUS, StatusCodes.FIND_DB_ERR);
			throw new CAANRuntimeException(e);
		} finally {
			// 資源の解放
			try{
				if(rsltQuery != null){
					rsltQuery.close();
				}
				if(pstmt != null){
					pstmt.close();
				}
				if(con1 != null){
					closeConnection(con1);
				}
			}catch(SQLException e){
				inMsg.set(EKK0341B004CBSMsg.STATUS, StatusCodes.FIND_DB_ERR);
				throw new CAANRuntimeException(e);
			}
		}
	}
	
	private boolean isPcrsOpSvcNotSetFlg(CAANMsg inMsg)
	{
		String pcrs_op_svc_not_sel_flg = inMsg.getString(EKK0341B004CBSMsg.KEY_PCRS_OP_SVC_NOT_SEL_FLG);
		
		if("1".equals(pcrs_op_svc_not_sel_flg))
		{
			return true;
		}
		
		return false;
	}
}
