/*******************************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム構築
*	モジュール名	：JESC0051D020TPMA
*	ソースファイル名：JESC0051D020TPMA.java
*	作成者			：EK909581
*	日付			：2011年08月29日
*＜機能概要＞
*	電話サービスオーダ受付の単関連チェック部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00
*	ｖ3.00.00 2012/08/02	前岡		【ST1-2012-0000221】電話サービスオーダコードが（'23'）の場合、BASホストIDの必須チェックを行わない。
*	ｖ7.00.00 2013/11/14	FJ)阪口		【ANK-1578-00-00】多機能ルーター(機器追加)
*	v37.00.00 2018/03/22	FJ)黒田(耕)	【ANK-3321-00-00】IPv6デフォルト提供
*
********************************************************************************/
package eo.ejb.cbs.mainproc;

import com.fujitsu.futurity.model.ejb.common.fw.TemplateMainHandler;

import eo.ejb.cbm.entity.SC0081ETMsg;
import eo.ejb.cbs.cbsmsg.ESC0051D010CBSMsg;

import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.ejb.common.JSYejbLog;
import com.fujitsu.futurity.model.ejb.common.StatusCodes;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;

import eo.common.constant.JSCStrConstant;
import eo.ejb.common.JSCModelCommon;
import eo.ejb.common.edit.JSCSodWorkKanriAccesser;
import eo.common.util.JSCCommonUtil;
import eo.ejb.common.edit.JSCEditTelSvcOrd;
import eo.ejb.common.edit.JSCEditSvcOrd;

/**
 * <p>
 * 電話サービスオーダ受付CBSMsgの単関連チェック用クラス｡ <p>
 * </p>
 * @author 富士通
 */ 
public class JESC0051D020TPMA implements TemplateMainHandler
{
	/**
	* SIP_USER_ID_1 文字列の長さ
	*/
	private static final Integer SIP_USER_ID_1_LENGTH = 36;
	/**
	* SIP_USER_ID_2 文字列の長さ
	*/
	private static final Integer SIP_USER_ID_2_LENGTH = 36;
	/**
	* SIP_USER_ID 文字列の長さ
	*/
	private static final Integer SIP_USER_ID_LENGTH = 36;
	/**
	* OLD_DAIHYO_AD 文字列の長さ
	*/
	private static final Integer OLD_DAIHYO_AD_LENGTH = 64;
	/**
	* DAIHYO_AD 文字列の長さ
	*/
	private static final Integer DAIHYO_AD_LENGTH = 64;
	/**
	* ROUTING_NO 文字列の長さ
	*/
	private static final Integer ROUTING_NO_LENGTH = 25;

	/**
	 * JSYejbESC0051D010TKCK単関連をチェックする。<br>
	 * 
	 * JSYejbESC0051D010TKCK単関連をチェックする。
	 * <p>
	 * @param	inCBSMsg	CBSMsgメッセージ
	 * @param	inContext	Agent
	 */
	public void invoke(CAANMsg inCBSMsg, AgentDispatchContext inContext)
	{
		JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "invoke#Call");

		String routingNo = "";
		String oldRoutingNo = "";
		String sipNRN = "";
		String drctryNo = "";
		//要求元アプリ種別コード
		String yokyuMtAplSbtCd = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD));

		// 運用日付取得
		int opeDate = Integer.parseInt((String)JSCModelCommon.getOpeDate(inCBSMsg, inContext));

		// チェックを行う
		int stRet = 0;

		/*****************************
		 * ＯＬＳ用チェック(20)
		 *****************************/
		//要求種別コードが固定値(02)と等しい かつ 電話サービスオーダコードが固定値(20)と等しい)
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "02", "20", "1") && 
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "20", "20", "1")))
		{

			//VAMACアドレスがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.VA_MACAD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.VA_MACAD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "va_macad_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//VA認証キーがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.VA_NINSHO_KEY))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.VA_NINSHO_KEY_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "va_ninsho_key_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			// 認証IDがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.NINSHO_ID))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.NINSHO_ID_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "va_macad_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//認証IDパスワードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.NINSHO_ID_PWD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.NINSHO_ID_PWD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ninsho_id_pwd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//SIPユーザーID#１がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID_1))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_1_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_1_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//SIPユーザーIDパスワード#１がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID_PWD_1))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_PWD_1_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_pwd_1_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//SIPサーバードメイン#１がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_1))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_1, editSipServerDomain1(opeDate));	//SIPサーバードメイン#１
			}
			//SIPサーバーアドレス#１がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_AD_1))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_AD_1, editSipServerAd1(opeDate));	//SIPサーバーアドレス#１
			}
			
			//SIPユーザーID#2がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID_2))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_2, "");	//SIPサーバードメイン#２
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_AD_2, "");	//SIPサーバーアドレス#２
			}
			else
			{
				//SIPサーバードメイン#２がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_2))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_2, editSipServerDomain2(opeDate));	//SIPサーバードメイン#２
				}
				//SIPサーバーアドレス#２がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_AD_2))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_AD_2, editSipServerAd2(opeDate));	//SIPサーバーアドレス#２
				}
			}
			
			//主電話番号#１がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.MAIN_TELNO_1))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.MAIN_TELNO_1_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "main_telno_1_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//SIP同時接続数がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_DOJI_CONNECT_CNT))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_DOJI_CONNECT_CNT_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_doji_connect_cnt_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//eo光電話発番号通知設定がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.EOH_TELNO_TCHI_SET))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.EOH_TELNO_TCHI_SET, JSCStrConstant.EOH_TELNO_TCHI_SET_DEF);
			}
			//チャネル数がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.CHANNEL_CNT))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.CHANNEL_CNT_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "channel_cnt_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//チェック条件：(要求種別コードが固定値(03)と等しい かつ 電話サービスオーダコードが固定値(20)と等しい)
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "03", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "20", "20", "1")))
		{
			//VAMACアドレスがnull ：エラー
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.VA_MACAD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.VA_MACAD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "va_macad_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//要求種別コードが固定値(04)と等しい かつ 電話サービスオーダコードが固定値(20)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しくない
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "04", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "20", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "21", "1"))
		{
			//VAMACアドレスがnull ：エラー
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.VA_MACAD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.VA_MACAD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "va_macad_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//SIPユーザーID#１がnullでない
			if(!inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID_1))
			{
				//SIPサーバードメイン#１がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_1))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_1, editSipServerDomain1(opeDate));	//SIPサーバードメイン#１
				}
				//SIPサーバーアドレス#１がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_AD_1))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_AD_1, editSipServerAd1(opeDate));	//SIPサーバーアドレス#１
				}
			}
			//SIPユーザーID#2がnullでない
			if(!inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID_2))
			{
				//SIPサーバードメイン#２がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_2))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_2, editSipServerDomain2(opeDate));	//SIPサーバードメイン#２
				}
				//SIPサーバーアドレス#２がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_AD_2))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_AD_2, editSipServerAd2(opeDate));	//SIPサーバーアドレス#２
				}
			}
		}

		//要求種別コードが固定値(04)と等しい かつ 電話サービスオーダコードが固定値(20)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しい
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "04", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "20", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "20", "1"))
		{
			//VAMACアドレスがnull ：エラー
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.VA_MACAD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.VA_MACAD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "va_macad_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//eo光電話発番号通知設定がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.EOH_TELNO_TCHI_SET))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.EOH_TELNO_TCHI_SET, JSCStrConstant.EOH_TELNO_TCHI_SET_DEF);
			}
		}

		//要求種別コードが固定値(08)と等しい かつ 電話サービスオーダコードが固定値(20)と等しい
		if(comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "08", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "20", "20", "1"))
		{
			//VAMACアドレスがnull ：エラー
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.VA_MACAD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.VA_MACAD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "va_macad_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		/*****************************
		 * ＥＭＳ用チェック(21)
		 *****************************/
		//要求種別コードが固定値(02)と等しい かつ 電話サービスオーダコードが固定値(21)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しくない
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "02", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "21", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "21", "1"))
		{
			//要求元アプリ種別コードが C:クラリス
			if(JSCStrConstant.YOKYU_SBT_CD_CLARIS.equals(yokyuMtAplSbtCd))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID, editClarisSipUserID(opeDate));
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_PWD, editClarisSipUserIdPswd(opeDate));
			}
			else
			{
				//SIPユーザーIDがnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_ERR, "E1");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_err:E1");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
				//SIPユーザーIDパスワードがnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID_PWD))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_PWD_ERR, "E1");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_pwd_err:E1");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
			//代表電話番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.DAIHYO_TELNO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.DAIHYO_TELNO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "daihyo_telno_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//端末識別番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.TNMT_SKBT_NO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TNMT_SKBT_NO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "tnmt_skbt_no_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//主電話番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.MAIN_TEL_NO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.MAIN_TEL_NO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "main_tel_no_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//端末種別がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.TNMT_SBT))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TNMT_SBT, editTnmtSbt(opeDate));
				
			}
			//発番号通知フラグがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.HTB_TCHI_FLG))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.HTB_TCHI_FLG_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "htb_tchi_flg_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//地域コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.CKI_CD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.CKI_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "cki_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//天気予報グループIDがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.TENKI_YOHO_GRP_ID))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TENKI_YOHO_GRP_ID_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "tenki_yoho_grp_id_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//加入者クラスがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.KNYSHA_CLASS))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.KNYSHA_CLASS, editKnyshaClass(opeDate));
			}
			//Webカスコンパスワードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.WEB_CUSCON_PWD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.WEB_CUSCON_PWD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "web_cuscon_pwd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//リモートカスコンパスワードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.RMT_CUSCON_PWD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.RMT_CUSCON_PWD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "rmt_cuscon_pwd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//要求種別コードが固定値(03)と等しい かつ 電話サービスオーダコードが固定値(21)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しくない
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "03", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "21", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "21", "1"))
		{
			//要求元アプリ種別コードが C:クラリス
			if(JSCStrConstant.YOKYU_SBT_CD_CLARIS.equals(yokyuMtAplSbtCd))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID, editClarisSipUserID(opeDate));
			}
			else
			{
				//SIPユーザーIDがnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_ERR, "E1");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_err:E1");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
			//旧端末識別番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.OLD_TNMT_SKBT_NO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.OLD_TNMT_SKBT_NO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "old_tnmt_skbt_no_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//要求種別コードが固定値(04)と等しい かつ 電話サービスオーダコードが固定値(21)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しくない
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "04", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "21", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "21", "1"))
		{
			//要求元アプリ種別コードが C:クラリス
			if(JSCStrConstant.YOKYU_SBT_CD_CLARIS.equals(yokyuMtAplSbtCd))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID, editClarisSipUserID(opeDate));
			}
			else
			{
				//SIPユーザーIDがnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_ERR, "E1");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_err:E1");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
			//端末識別番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.TNMT_SKBT_NO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TNMT_SKBT_NO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "tnmt_skbt_no_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//要求種別コードが固定値(08)と等しい かつ 電話サービスオーダコードが固定値(21)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しくない
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "08", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "21", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "21", "1"))
		{
			//要求元アプリ種別コードが C:クラリス
			if(JSCStrConstant.YOKYU_SBT_CD_CLARIS.equals(yokyuMtAplSbtCd))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID, editClarisSipUserID(opeDate));
			}
			else
			{
				//SIPユーザーIDがnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_ERR, "E1");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_err:E1");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
			//旧端末識別番号がnull 
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.OLD_TNMT_SKBT_NO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.OLD_TNMT_SKBT_NO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "old_tnmt_skbt_no_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//旧主電話番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.OLD_MAIN_TEL_NO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.OLD_MAIN_TEL_NO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "old_main_tel_no_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//旧主アドレスがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.OLD_MAIN_AD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.OLD_MAIN_AD, 
							editMainAd("", JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.OLD_MAIN_TEL_NO)), opeDate));
			}
		}

		//要求種別コードが固定値(10)と等しい かつ 電話サービスオーダコードが固定値(21)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しくない
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "10", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "21", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "21", "1"))
		{
			//要求元アプリ種別コードが C:クラリス
			if(JSCStrConstant.YOKYU_SBT_CD_CLARIS.equals(yokyuMtAplSbtCd))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID, editClarisSipUserID(opeDate));
			}
			else
			{
				//SIPユーザーIDがnull ：エラー
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID))
				{
					//要求元アプリ種別コードが C:クラリス
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_ERR, "E1");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_err:E1");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
		}

		//要求種別コードが固定値(11)と等しい かつ 電話サービスオーダコードが固定値(21)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しくない
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "11", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "21", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "21", "1"))
		{
			//要求元アプリ種別コードが C:クラリス
			if(JSCStrConstant.YOKYU_SBT_CD_CLARIS.equals(yokyuMtAplSbtCd))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID, editClarisSipUserID(opeDate));
			}
			else
			{
				//SIPユーザーIDがnull ：エラー
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_ERR, "E1");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_err:E1");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
		}

		//要求種別コードが固定値(14)と等しい かつ 電話サービスオーダコードが固定値(21)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しくない
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "14", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "21", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "21", "1"))
		{
			//要求元アプリ種別コードが C:クラリス
			if(JSCStrConstant.YOKYU_SBT_CD_CLARIS.equals(yokyuMtAplSbtCd))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID, editClarisSipUserID(opeDate));
				inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_PWD, editClarisSipUserIdPswd(opeDate));
			}
			else
			{
				//SIPユーザーIDがnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_ERR, "E1");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_err:E1");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
				//SIPユーザーIDパスワードがnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID_PWD))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_PWD_ERR, "E1");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_pwd_err:E1");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
			//代表アドレスがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.DAIHYO_AD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.DAIHYO_AD, 
							editDaihyoAd("", JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.DAIHYO_TELNO)), opeDate));
			}
			//代表電話番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.DAIHYO_TELNO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.DAIHYO_TELNO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "daihyo_telno_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//端末識別番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.TNMT_SKBT_NO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TNMT_SKBT_NO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "tnmt_skbt_no_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//主アドレスがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.MAIN_AD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.MAIN_AD, 
							editMainAd("", JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.MAIN_TEL_NO)), opeDate));
			}
			//主電話番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.MAIN_TEL_NO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.MAIN_TEL_NO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "main_tel_no_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//端末種別がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.TNMT_SBT))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TNMT_SBT, editTnmtSbt(opeDate));
			}
			//発番号通知フラグがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.HTB_TCHI_FLG))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.HTB_TCHI_FLG_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "htb_tchi_flg_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//地域コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.CKI_CD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.CKI_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "cki_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//天気予報グループIDがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.TENKI_YOHO_GRP_ID))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TENKI_YOHO_GRP_ID_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "tenki_yoho_grp_id_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//加入者クラスがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.KNYSHA_CLASS))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.KNYSHA_CLASS, editKnyshaClass(opeDate));
			}
			//移転トーキ種別コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.ITNTOKI_SBT_CD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.ITNTOKI_SBT_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "itntoki_sbt_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//移転トーキガイダンス移転元電話番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.ITNTOKI_GUIDNS_ITENM_TELNO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.ITNTOKI_GUIDNS_ITENM_TELNO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "itntoki_guidns_itenm_telno_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}
		
		//電話サービスオーダコードが固定値(21)と等しい
		if(comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "21", "20", "1"))
		{
			//代表電話番号
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.DAIHYO_TELNO))
			{
				//代表アドレスに空白を設定
				inCBSMsg.set(ESC0051D010CBSMsg.DAIHYO_AD, "");
			}
			else
			{
				//代表アドレスを設定
				inCBSMsg.set(ESC0051D010CBSMsg.DAIHYO_AD, editDaihyoAd("", JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.DAIHYO_TELNO)), opeDate));
			}
			
			//旧代表電話番号
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.OLD_DAIHYO_TELNO))
			{
				//旧代表アドレスに空白を設定
				inCBSMsg.set(ESC0051D010CBSMsg.OLD_DAIHYO_AD, "");
			}
			else
			{
				//旧代表アドレスを設定
				inCBSMsg.set(ESC0051D010CBSMsg.OLD_DAIHYO_AD, editDaihyoAd("", JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.OLD_DAIHYO_TELNO)), opeDate));
			}
			
			//主電話番号
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.MAIN_TEL_NO))
			{
				//主アドレスに空白を設定
				inCBSMsg.set(ESC0051D010CBSMsg.MAIN_AD, "");
			}
			else
			{
				//主アドレスを設定
				inCBSMsg.set(ESC0051D010CBSMsg.MAIN_AD, editMainAd("", JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.MAIN_TEL_NO)), opeDate));
			}
			
			//旧主電話番号
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.OLD_MAIN_TEL_NO))
			{
				//旧主アドレスに空白を設定
				inCBSMsg.set(ESC0051D010CBSMsg.OLD_MAIN_AD, "");
			}
			else
			{
				//旧主アドレスを設定
				inCBSMsg.set(ESC0051D010CBSMsg.OLD_MAIN_AD, editMainAd("", JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.OLD_MAIN_TEL_NO)), opeDate));
			}
		}
		
		/*****************************
		 * 番号置換用チェック(22)
		 *****************************/
		//要求種別コードが固定値(02)と等しい かつ 電話サービスオーダコードが固定値(22)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しい
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "02", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "22", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "20", "1"))
		{
			//N_0ABJ番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.N_0ABJ_NO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.N_0ABJ_NO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "n_oabj_no_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//N_050番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.N_050_NO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.N_050_NO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "n_050_no_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}
		
		//要求種別コードが固定値(08)と等しい かつ 電話サービスオーダコードが固定値(22)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しい
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "08", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "22", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "20", "1"))
		{
			//N_0ABJ番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.N_0ABJ_NO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.N_0ABJ_NO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "n_oabj_no_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}
		
		/*****************************
		 * Radius用チェック(23)
		 *****************************/
		//要求種別コードが固定値(02)と等しい かつ 電話サービスオーダコードが固定値(23)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しくない
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "02", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "23", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "21", "1"))
		{
			//認証IDがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.NINSHO_ID))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.NINSHO_ID_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ninsho_id_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//認証IDパスワードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.NINSHO_ID_PWD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.NINSHO_ID_PWD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ninsho_id_pwd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//マルチセッション数がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.MLTISE_CNT))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.MLTISE_CNT_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "mltise_cnt_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//BAS-ホストIDがnull
			/*
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.BAS_HOST_ID))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.BAS_HOST_ID_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "bas_host_id_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			*/
			//サービスIDを編集
			inCBSMsg.set(ESC0051D010CBSMsg.SVC_ID, editSvcId(JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SVC_ID)), opeDate));
		}
		
		//要求種別コードが固定値(03)と等しい かつ 電話サービスオーダコードが固定値(23)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しくない
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "03", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "23", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "21", "1"))
		{
			//認証IDがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.NINSHO_ID))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.NINSHO_ID_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ninsho_id_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}
		
		//要求種別コードが固定値(04)と等しい かつ 電話サービスオーダコードが固定値(23)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しくない
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "04", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "23", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "21", "1"))
		{
			//認証IDがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.NINSHO_ID))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.NINSHO_ID_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ninsho_id_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//BAS-ホストIDがnull
			/*
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.BAS_HOST_ID))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.BAS_HOST_ID_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "bas_host_id_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			*/
		}

		//要求種別コードが固定値(07)と等しい かつ 電話サービスオーダコードが固定値(23)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しくない
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "07", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "23", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "21", "1"))
		{
			//認証IDがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.NINSHO_ID))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.NINSHO_ID_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ninsho_id_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//認証IDパスワードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.NINSHO_ID_PWD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.NINSHO_ID_PWD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ninsho_id_pwd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}

			//マルチセッション数がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.MLTISE_CNT))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.MLTISE_CNT_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "mltise_cnt_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//BAS-ホストIDがnull
			/*
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.BAS_HOST_ID))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.BAS_HOST_ID_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "bas_host_id_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			*/
			//サービスIDを編集
			inCBSMsg.set(ESC0051D010CBSMsg.SVC_ID, editSvcId(JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SVC_ID)), opeDate));
		}

		//要求種別コードが固定値(08)と等しい かつ 電話サービスオーダコードが固定値(23)と等しい) かつ 要求元アプリ種別コードが固定値(W)と等しくない
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "08", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "23", "20", "1")) &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_MT_APL_SBT_CD), "W", "21", "1"))
		{
			//認証IDがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.NINSHO_ID))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.NINSHO_ID_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ninsho_id_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}
		
		/******************************
		 * 多機能ルーター用チェック(26)
		 ******************************/
		//要求種別コードが固定値(02)と等しい かつ 電話サービスオーダコードが固定値(26)と等しい)
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "02", "20", "1") && 
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "26", "20", "1")))
		{
			//多機能ルーターMACアドレスがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.TAKINORT_MACAD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TAKINORT_MACAD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "takinort_macad_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//多機能ルーター認証キーがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.TAKINORT_NINSHO_KEY))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TAKINORT_NINSHO_KEY_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "takinort_ninsho_key_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//PPPoEセッション終端設定コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.PPPOE_SSON_STSET_CD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.PPPOE_SSON_STSET_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "pppoe_sson_stset_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//DHCP有効無効コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.DHCP_YK_MK_CD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.DHCP_YK_MK_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "dhcp_yk_mk_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//有線LAN機能モード識別コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.YLAN_KINO_MODE_SKCD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.YLAN_KINO_MODE_SKCD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ylan_kino_mode_skcd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//無線LAN機能モード識別コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.MLAN_KINO_MODE_SKCD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.MLAN_KINO_MODE_SKCD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "mlan_kino_mode_skcd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//VoIP有効無効コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.VOIP_YK_MK_CD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.VOIP_YK_MK_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "voip_yk_mk_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//B2BUA有効無効コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.B2BUA_YK_MK_CD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.B2BUA_YK_MK_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "b2bua_yk_mk_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//PPPoEブリッジ種別コード
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.PPPOE_BRIDGE_SBT_CD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.PPPOE_BRIDGE_SBT_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "pppoe_bridge_sbt_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//多機能ルーターOLS契約種別設定コード
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.TKNRT_OLS_KSBT_SETCD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TKNRT_OLS_KSBT_SETCD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "tknrt_ols_ksbt_setcd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//GE-PON連携対象フラグ
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.GEPON_RNKI_TRGT_FLG))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.GEPON_RNKI_TRGT_FLG_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "gepon_rnki_trgt_flg_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			
			//提供プロトコル種別コードがnullでない且つ多機能ルータールーター認証IDがnull
			if(!inCBSMsg.isNull(ESC0051D010CBSMsg.TK_PRTCL_SBT_CD) &&
				inCBSMsg.isNull(ESC0051D010CBSMsg.TKNRT_RTR_NSID))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TKNRT_RTR_NSID_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "tknrt_rtr_nsid_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			
			//多機能ルータールーター認証IDがnullでない且つ提供プロトコル種別コードがnull
			if(!inCBSMsg.isNull(ESC0051D010CBSMsg.TKNRT_RTR_NSID) &&
				inCBSMsg.isNull(ESC0051D010CBSMsg.TK_PRTCL_SBT_CD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TK_PRTCL_SBT_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "tk_prtcl_sbt_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			
			//SIPユーザーID#１がnullでない
			if(!inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID_1))
			{
				//SIPサーバードメイン#１がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_1))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_1, editSipServerDomain1(opeDate));	//SIPサーバードメイン#１
				}
				//SIPサーバーアドレス#１がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_AD_1))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_AD_1, editSipServerAd1(opeDate));	//SIPサーバーアドレス#１
				}
			}
			//SIPユーザーID#2がnullでない
			if(!inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID_2))
			{
				//SIPサーバードメイン#２がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_2))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_2, editSipServerDomain2(opeDate));	//SIPサーバードメイン#２
				}
				//SIPサーバーアドレス#２がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_AD_2))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_AD_2, editSipServerAd2(opeDate));	//SIPサーバーアドレス#２
				}
			}
		}

		//チェック条件：(要求種別コードが固定値(03)と等しい かつ 電話サービスオーダコードが固定値(26)と等しい)
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "03", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "26", "20", "1")))
		{
			//多機能ルーターMACアドレスがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.TAKINORT_MACAD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TAKINORT_MACAD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "takinort_macad_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//要求種別コードが固定値(04)と等しい かつ 電話サービスオーダコードが固定値(26)と等しい
		if(comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "04", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "26", "20", "1"))
		{
			//多機能ルーターMACアドレスがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.TAKINORT_MACAD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TAKINORT_MACAD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "takinort_macad_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//PPPoEセッション終端設定コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.PPPOE_SSON_STSET_CD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.PPPOE_SSON_STSET_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "pppoe_sson_stset_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//DHCP有効無効コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.DHCP_YK_MK_CD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.DHCP_YK_MK_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "dhcp_yk_mk_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//有線LAN機能モード識別コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.YLAN_KINO_MODE_SKCD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.YLAN_KINO_MODE_SKCD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ylan_kino_mode_skcd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//無線LAN機能モード識別コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.MLAN_KINO_MODE_SKCD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.MLAN_KINO_MODE_SKCD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "mlan_kino_mode_skcd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			//B2BUA有効無効コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.B2BUA_YK_MK_CD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.B2BUA_YK_MK_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "b2bua_yk_mk_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}

			//SIPユーザーID#１がnullでない
			if(!inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID_1))
			{
				//SIPサーバードメイン#１がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_1))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_1, editSipServerDomain1(opeDate));	//SIPサーバードメイン#１
				}
				//SIPサーバーアドレス#１がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_AD_1))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_AD_1, editSipServerAd1(opeDate));	//SIPサーバーアドレス#１
				}
			}
			//SIPユーザーID#2がnullでない
			if(!inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_USER_ID_2))
			{
				//SIPサーバードメイン#２がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_2))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_DOMAIN_2, editSipServerDomain2(opeDate));	//SIPサーバードメイン#２
				}
				//SIPサーバーアドレス#２がnull
				if(inCBSMsg.isNull(ESC0051D010CBSMsg.SIP_SERVER_AD_2))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_SERVER_AD_2, editSipServerAd2(opeDate));	//SIPサーバーアドレス#２
				}
			}
		}

		//要求種別コードが固定値(08)と等しい かつ 電話サービスオーダコードが固定値(26)と等しい
		if(comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), "08", "20", "1")  &&  
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "26", "20", "1"))
		{
			//多機能ルーターMACアドレスがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.TAKINORT_MACAD))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.TAKINORT_MACAD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "takinort_macad_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
		}

		//IPv6項目のチェック
		//要求種別コードが固定値（'02','04'）かつ 電話サービスオーダコードが固定値(26)と等しい
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), JSCStrConstant.YOKYU_SBT_NEW, "20", "1") ||
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), JSCStrConstant.YOKYU_SBT_CHG, "20", "1")) &&
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "26", "20", "1"))
		{
			//提供プロトコル種別コードが"0:IPv4のみ"の場合、IPv6用項目に値が設定されていればエラー
			if(comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TK_PRTCL_SBT_CD), JSCStrConstant.TK_PRTCL_SBT_CD_V4, "20", "1"))
			{
				//IPv6帯域制御コード
				if(!inCBSMsg.isNull(ESC0051D010CBSMsg.IPV6_TAIIKI_CTRL_CD))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.IPV6_TAIIKI_CTRL_CD_ERR, "E5");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ipv6_taiiki_ctrl_cd_err:E5");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
				//IPv6認証ＩＤ
				if(!inCBSMsg.isNull(ESC0051D010CBSMsg.IPV6_NINSHO_ID))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.IPV6_NINSHO_ID_ERR, "E5");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ipv6_ninsho_id_err:E5");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
				//IPv6認証ＩＤパスワード
				if(!inCBSMsg.isNull(ESC0051D010CBSMsg.IPV6_NINSHO_ID_PWD))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.IPV6_NINSHO_ID_PWD_ERR, "E5");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ipv6_ninsho_id_pwd_err:E5");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
				//中心局（エリア情報）
				if(!inCBSMsg.isNull(ESC0051D010CBSMsg.IPV6_CHUSKK_CD))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.IPV6_CHUSKK_CD_ERR, "E5");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ipv6_chuskk_cd_err:E5");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
				//IPv6アドレス（IPv6プレフィックス）
				if(!inCBSMsg.isNull(ESC0051D010CBSMsg.IPV6_AD_IFID))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.IPV6_AD_IFID_ERR, "E5");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ipv6_ad_ifid_err:E5");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
				//IPv6Ping応答種別コード
				if(!inCBSMsg.isNull(ESC0051D010CBSMsg.IPV6_PING_RSP_SBT_CD))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.IPV6_PING_RSP_SBT_CD_ERR, "E5");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ipv6_ping_rsp_sbt_cd:E5");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
				//IPv6宅内機器型式コード
				if(!inCBSMsg.isNull(ESC0051D010CBSMsg.IPV6_TAKNKIKI_MODEL_CD))
				{
					inCBSMsg.set(ESC0051D010CBSMsg.IPV6_TAKNKIKI_MODEL_CD_ERR, "E5");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ipv6_taknkiki_model_cd_err:E5");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
		}
// ANK-3321-00-00 DEL START
//		// 要求種別コードが固定値(02)と等しい かつ 電話サービスオーダコードが固定値(26)と等しい かつ
//		// 提供プロトコル種別コードが1:IPv4＋IPv6(Type1)／2:IPv4＋IPv6(Type2)／3:IPv4＋IPv6(Type3)の場合、
//		if(comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), JSCStrConstant.YOKYU_SBT_NEW, "20", "1")
//				&& comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "26", "20", "1")
//				&& (comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TK_PRTCL_SBT_CD), JSCStrConstant.TK_PRTCL_SBT_CD_V4_V6_TYPE1, "20", "1")
//						|| comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TK_PRTCL_SBT_CD), JSCStrConstant.TK_PRTCL_SBT_CD_V4_V6_TYPE2, "20", "1")
//						|| comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TK_PRTCL_SBT_CD), JSCStrConstant.TK_PRTCL_SBT_CD_V4_V6_TYPE3, "20", "1")))
//		{
//			//IPv6認証ＩＤ
//			if(inCBSMsg.isNull(ESC0051D010CBSMsg.IPV6_NINSHO_ID))
//			{
//				inCBSMsg.set(ESC0051D010CBSMsg.IPV6_NINSHO_ID_ERR, "E1");
//				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ipv6_ninsho_id_err:E1");
//				stRet = StatusCodes.ITEM_RELATION_ERR;
//			}
//			//IPv6認証ＩＤパスワード
//			if(inCBSMsg.isNull(ESC0051D010CBSMsg.IPV6_NINSHO_ID_PWD))
//			{
//				inCBSMsg.set(ESC0051D010CBSMsg.IPV6_NINSHO_ID_PWD_ERR, "E1");
//				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ipv6_ninsho_id_pwd_err:E1");
//				stRet = StatusCodes.ITEM_RELATION_ERR;
//			}
//			//中心局（エリア情報）
//			if(inCBSMsg.isNull(ESC0051D010CBSMsg.IPV6_CHUSKK_CD))
//			{
//				inCBSMsg.set(ESC0051D010CBSMsg.IPV6_CHUSKK_CD_ERR, "E1");
//				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ipv6_chuskk_cd_err:E1");
//				stRet = StatusCodes.ITEM_RELATION_ERR;
//			}
//			//IPv6アドレス（IPv6プレフィックス）
//			if(inCBSMsg.isNull(ESC0051D010CBSMsg.IPV6_AD_IFID))
//			{
//				inCBSMsg.set(ESC0051D010CBSMsg.IPV6_AD_IFID_ERR, "E1");
//				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ipv6_ad_ifid_err:E1");
//				stRet = StatusCodes.ITEM_RELATION_ERR;
//			}
//			//IPv6宅内機器型式コード
//			if(inCBSMsg.isNull(ESC0051D010CBSMsg.IPV6_TAKNKIKI_MODEL_CD))
//			{
//				inCBSMsg.set(ESC0051D010CBSMsg.IPV6_TAKNKIKI_MODEL_CD_ERR, "E1");
//				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "ipv6_taknkiki_model_cd_err:E1");
//				stRet = StatusCodes.ITEM_RELATION_ERR;
//			}
//		}
// ANK-3321-00-00 DEL END
		
		/*****************************
		 * 緊急通報用チェック
		 *****************************/
		//要求種別コードが（'02','04','08'）電話サービスオーダコードが（'24'）の場合
		if((comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), JSCStrConstant.YOKYU_SBT_NEW, "20", "1") ||
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), JSCStrConstant.YOKYU_SBT_CHG, "20", "1") ||
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), JSCStrConstant.YOKYU_SBT_DEL, "20", "1")) &&
			comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.TEL_SVC_ORDER_CD), "24", "20", "1"))
		{
			// 緊急通報用電話番号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.EMG_TELNO))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.EMG_TELNO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "emg_telno_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			// 緊急通報用氏名がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.EMG_NM) && 
				comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), JSCStrConstant.YOKYU_SBT_DEL, "21", "1"))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.EMG_NM_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "emg_nm_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			// 緊急通報用カナ氏名がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.EMG_KANA) && 
				comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), JSCStrConstant.YOKYU_SBT_DEL, "21", "1"))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.EMG_KANA_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "emg_kana_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			// 緊急通報用住所コードがnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.EMG_AD_CD) && 
				comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), JSCStrConstant.YOKYU_SBT_DEL, "21", "1"))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.EMG_AD_CD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "emg_ad_cd_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			// 緊急通報用住所がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.EMG_AD) && 
				comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), JSCStrConstant.YOKYU_SBT_DEL, "21", "1"))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.EMG_AD_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "emg_ad_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			// 緊急通報用番地号がnull
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.EMG_BNCHIGO) && 
				comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), JSCStrConstant.YOKYU_SBT_DEL, "21", "1"))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.EMG_BNCHIGO_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "emg_bnchigo_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			// 緊急通報用住所補記がnull
			/*
			if(inCBSMsg.isNull(ESC0051D010CBSMsg.EMG_AD_HOKI) && 
				comparison(inCBSMsg.getObject(ESC0051D010CBSMsg.YOKYU_SBT_CD), JSCStrConstant.YOKYU_SBT_DEL, "21", "1"))
			{
				inCBSMsg.set(ESC0051D010CBSMsg.EMG_AD_HOKI_ERR, "E1");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "emg_ad_hoki_err:E1");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			*/
		}
		else
		{
			/*****************************
			 * 編集後の桁数チェックを行う
			 *****************************/
			
			//ルーティング番号の先頭に":"(コロン)を付与する
			routingNo = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.ROUTING_NO));
			if(!"".equals(routingNo))
			{
				routingNo = ":" + routingNo;
				inCBSMsg.set(ESC0051D010CBSMsg.ROUTING_NO, routingNo);
			}
			routingNo = "";
			
			//旧ルーティング番号の先頭に":"(コロン)を付与する
			oldRoutingNo = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.OLD_ROUTING_NO));
			if(!"".equals(oldRoutingNo))
			{
				oldRoutingNo = ":" + oldRoutingNo;
				inCBSMsg.set(ESC0051D010CBSMsg.OLD_ROUTING_NO, oldRoutingNo);
			}
			oldRoutingNo = "";

			//ＳＩＰ−ＤＮ　ＳＩＰ−ＤＮに設定が無い場合に、ディレクトリ番号を設定する
			if("".equals(JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SIP_DN))) == true)
			{
				drctryNo = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.DRCTRY_NO));
				if("".equals(drctryNo) == false)
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_DN, drctryNo);
				}
				else
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_DN, inCBSMsg.getObject(ESC0051D010CBSMsg.MAIN_TEL_NO));
				}
			}			
			
			//ＳＩＰユーザーＩＤ＃１
			String chkStr = "";
			Integer chkLength = 0;
			String sipUserId1 = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SIP_USER_ID_1));
			String sipDn1 = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SIP_DN_1));
			String sipNrn1 = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SIP_NRN_1));
			if(!"".equals(sipUserId1) && !"".equals(sipDn1))
			{
				//ＳＩＰユーザーＩＤ＃１を編集
				chkStr = JSCEditTelSvcOrd.editSipUserID(sipUserId1, sipDn1, sipNrn1);
				//編集後の桁数をチェック
				chkLength = chkStr.trim().length();
				if(SIP_USER_ID_1_LENGTH < chkLength)
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_1_ERR, "E3");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_1_err:E3");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}

			//ＳＩＰユーザーＩＤ＃２
			String sipUserId2 = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SIP_USER_ID_2));
			String sipDn2 = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SIP_DN_2));
			String sipNrn2 = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SIP_NRN_2));
			//ＳＩＰユーザーＩＤ＃１が無い場合は対象外
			if(!"".equals(sipUserId1) && !"".equals(sipUserId2) && !"".equals(sipDn2))
			{
				//ＳＩＰユーザーＩＤ＃２を編集
				chkStr = JSCEditTelSvcOrd.editSipUserID(sipUserId2, sipDn2, sipNrn2);
				//編集後の桁数をチェック
				chkLength = chkStr.trim().length();
				if(SIP_USER_ID_2_LENGTH < chkLength)
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_2_ERR, "E3");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_2_err:E3");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}

			//代表アドレス
			if(null != inCBSMsg.getObject(ESC0051D010CBSMsg.DAIHYO_AD) && !"".equals((String)inCBSMsg.getObject(ESC0051D010CBSMsg.DAIHYO_AD)))
			{
				chkStr = (String)inCBSMsg.getObject(ESC0051D010CBSMsg.DAIHYO_AD);
				chkLength = chkStr.trim().length();
				if(DAIHYO_AD_LENGTH < chkLength)
				{
					inCBSMsg.set(ESC0051D010CBSMsg.DAIHYO_AD_ERR, "E3");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "daihyo_ad_err:E3");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}
			
			//旧代表アドレス
			if(null != inCBSMsg.getObject(ESC0051D010CBSMsg.OLD_DAIHYO_AD) && !"".equals((String)inCBSMsg.getObject(ESC0051D010CBSMsg.OLD_DAIHYO_AD)))
			{
				chkStr = (String)inCBSMsg.getObject(ESC0051D010CBSMsg.OLD_DAIHYO_AD);
				//編集後の桁数をチェック
				chkLength = chkStr.trim().length();
				if(OLD_DAIHYO_AD_LENGTH < chkLength)
				{
					inCBSMsg.set(ESC0051D010CBSMsg.OLD_DAIHYO_AD_ERR, "E3");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "old_daihyo_ad_err:E3");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}

			//ルーティング番号　ＳＩＰ−ＮＲＮに設定が無い場合に、ルーティング番号から":"を除いて設定する
			if("".equals(JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SIP_NRN))) == true)
			{
				routingNo = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.ROUTING_NO));
				if("".equals(routingNo) == false)
				{
					//if(":".equals(routingNo.charAt(0)) == true && routingNo.length() > 1)
					if(":".equals(routingNo.substring(0, 1)) == true && routingNo.length() > 1)
					{
						inCBSMsg.set(ESC0051D010CBSMsg.SIP_NRN, routingNo.substring(1, routingNo.length()));
					}
					else
					{
						inCBSMsg.set(ESC0051D010CBSMsg.SIP_NRN, routingNo);
					}
				}
			}
			
			//旧ルーティング番号　旧ＳＩＰ−ＮＲＮに設定が無い場合に、旧ルーティング番号から":"を除いて設定する
			if("".equals(JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.OLD_SIP_NRN))) == true)
			{
				oldRoutingNo = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.OLD_ROUTING_NO));
				if("".equals(oldRoutingNo) == false)
				{
					//if(":".equals(oldRoutingNo.charAt(0)) == true && oldRoutingNo.length() > 1)
					if(":".equals(oldRoutingNo.substring(0, 1)) == true && oldRoutingNo.length() > 1)
					{
						inCBSMsg.set(ESC0051D010CBSMsg.OLD_SIP_NRN, oldRoutingNo.substring(1, oldRoutingNo.length()));
					}
					else
					{
						inCBSMsg.set(ESC0051D010CBSMsg.OLD_SIP_NRN, oldRoutingNo);
					}
				}
			}

			
			//ルーティング番号
			routingNo = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.ROUTING_NO));
			sipNRN = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SIP_NRN));
			//ルーティング番号を編集
			chkStr = JSCEditTelSvcOrd.editRoutingNo(routingNo, sipNRN);
			chkLength = chkStr.trim().length();
			if(ROUTING_NO_LENGTH < chkLength)
			{
				inCBSMsg.set(ESC0051D010CBSMsg.ROUTING_NO_ERR, "E3");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "routing_no_err:E3");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			
			//旧ルーティング番号
			routingNo = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.OLD_ROUTING_NO));
			sipNRN = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.OLD_SIP_NRN));
			//ルーティング番号を編集
			chkStr = JSCEditTelSvcOrd.editRoutingNo(routingNo, sipNRN);
			chkLength = chkStr.trim().length();
			if(ROUTING_NO_LENGTH < chkLength)
			{
				inCBSMsg.set(ESC0051D010CBSMsg.OLD_ROUTING_NO_ERR, "E3");
				JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "old_routing_no_err:E3");
				stRet = StatusCodes.ITEM_RELATION_ERR;
			}
			
			//ＳＩＰユーザーＩＤ
			String sipUserId = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SIP_USER_ID));
			String sipDn = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SIP_DN));
			String sipNrn = JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.SIP_NRN));
			String oldSipNrn =  JSCCommonUtil.nullToString(inCBSMsg.getObject(ESC0051D010CBSMsg.OLD_SIP_NRN));
			// SIP-NRNが設定なし且つ旧SIP-NRNが設定ありの場合、旧SIP-NRNを使用する
			if((sipNrn == null || "".equals(sipNrn)) && (oldSipNrn != null || !"".equals(oldSipNrn)))
			{
				sipNrn = oldSipNrn;
			}
			if(!"".equals(sipUserId) && !"".equals(sipDn))
			{
				//ＳＩＰユーザーＩＤを編集
				chkStr = JSCEditTelSvcOrd.editSipUserID(sipUserId, sipDn, sipNrn);
				//編集後の桁数をチェック
				chkLength = chkStr.trim().length();
				if(SIP_USER_ID_LENGTH < chkLength)
				{
					inCBSMsg.set(ESC0051D010CBSMsg.SIP_USER_ID_ERR, "E3");
					JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "sip_user_id_err:E3");
					stRet = StatusCodes.ITEM_RELATION_ERR;
				}
			}

		}

		JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), "invoke#End");

		//チェック結果によりステータスを設定する
		if(stRet > inCBSMsg.getInt(ESC0051D010CBSMsg.STATUS))
		{
			inCBSMsg.set(ESC0051D010CBSMsg.STATUS, stRet);
		}
	}

	/**
	 * 比較処理
	 * 
	 * @param left_arg 		比較値（左辺）
	 * @param right_arg 	比較値（右辺）
	 * @param enzan_arg 	比較演算子
	 * @param checkType 	比較形式
	 * @return true=正常
	 */
	private boolean comparison(Object left_arg, Object right_arg, String enzan_arg, String checkType)
	{

		boolean booRet = true;

		String leftStr = "";
		String rightStr = "";

		if(left_arg != null)
		{
			leftStr = left_arg.toString();
		}
		if(right_arg != null)
		{
			rightStr = right_arg.toString();
		}

		// 文字比較
		if("1".equals(checkType))
		{
			//より小さい
			if("10".equals(enzan_arg) || "40".equals(enzan_arg) || "41".equals(enzan_arg))
			{
				if((leftStr.compareTo(rightStr) < 0))
				{
					return true;
				}
				else
				{
					return false;
				}
			//以下
			}
			else if("11".equals(enzan_arg) || "50".equals(enzan_arg) || "51".equals(enzan_arg))
			{
				if((leftStr.compareTo(rightStr) <= 0))
				{
					return true;
				}
				else
				{
					return false;
				}
			//等しい
			}
			else if("20".equals(enzan_arg) || "60".equals(enzan_arg) || "61".equals(enzan_arg))
			{
				if((leftStr.compareTo(rightStr) == 0))
				{
					return true;
				}
				else
				{
					return false;
				}
			//等しくない
			}
			else if("21".equals(enzan_arg) || "70".equals(enzan_arg) || "71".equals(enzan_arg))
			{
				if((leftStr.compareTo(rightStr) != 0))
				{
					return true;
				}
				else
				{
					return false;
				}
			//以上
			}
			else if("30".equals(enzan_arg) || "80".equals(enzan_arg) || "81".equals(enzan_arg))
			{
				if((leftStr.compareTo(rightStr) >= 0))
				{
					return true;
				}
				else
				{
					return false;
				}
			//より大きい
			}
			else if("31".equals(enzan_arg) || "90".equals(enzan_arg) || "91".equals(enzan_arg))
			{
				if((leftStr.compareTo(rightStr) > 0))
				{
					return true;
				}
				else
				{
					return false;
				}
			//該当無し
			}
			else
			{
				return false;
			}
		//数値比較
		}
		else if("2".equals(checkType))
		{
			try
			{
				Long l_left_arg = new Long(leftStr);
				Long l_right_arg = new Long(rightStr);

				//より小さい
				if("10".equals(enzan_arg) || "40".equals(enzan_arg) || "41".equals(enzan_arg))
				{
					if((l_left_arg.compareTo(l_right_arg) < 0))
					{
						return true;
					}
					else
					{
						return false;
					}
				//以下
				}
				else if("11".equals(enzan_arg) || "50".equals(enzan_arg) || "51".equals(enzan_arg))
				{
					if((l_left_arg.compareTo(l_right_arg) <= 0))
					{
						return true;
					}
					else
					{
						return false;
					}
				//等しい
				}
				else if("20".equals(enzan_arg) || "60".equals(enzan_arg) || "61".equals(enzan_arg))
				{
					if((l_left_arg.compareTo(l_right_arg) == 0))
					{
						return true;
					}
					else
					{
						return false;
					}
				//等しくない
				}
				else if("21".equals(enzan_arg) || "70".equals(enzan_arg) || "71".equals(enzan_arg))
				{
					if((l_left_arg.compareTo(l_right_arg) != 0))
					{
						return true;
					}
					else
					{
						return false;
					}
				//以上
				}
				else if("30".equals(enzan_arg) || "80".equals(enzan_arg) || "81".equals(enzan_arg))
				{
					if((l_left_arg.compareTo(l_right_arg) >= 0))
					{
						return true;
					}
					else
					{
						return false;
					}
				//より大きい
				}
				else if("31".equals(enzan_arg) || "90".equals(enzan_arg) || "91".equals(enzan_arg))
				{
					if((l_left_arg.compareTo(l_right_arg) > 0))
					{
						return true;
					}
					else
					{
						return false;
					}
				//該当無し
				}
				else
				{
					return false;
				}
			}
			catch(NumberFormatException e)
			{
				return false;
			}

		//精度比較
		}
		else if("3".equals(checkType))
		{

			try
			{
				Double l_left_arg = new Double(leftStr);
				Double l_right_arg = new Double(rightStr);
				
				//より小さい
				if("10".equals(enzan_arg) || "40".equals(enzan_arg) || "41".equals(enzan_arg))
				{
					if((l_left_arg.compareTo(l_right_arg) < 0))
					{
						return true;
					}
					else
					{
						return false;
					}
				//以下
				}
				else if("11".equals(enzan_arg) || "50".equals(enzan_arg) || "51".equals(enzan_arg))
				{
					if((l_left_arg.compareTo(l_right_arg) <= 0))
					{
						return true;
					}
					else
					{
						return false;
					}
				//等しい
				}
				else if("20".equals(enzan_arg) || "60".equals(enzan_arg) || "61".equals(enzan_arg))
				{
					if((l_left_arg.compareTo(l_right_arg) == 0))
					{
						return true;
					}
					else
					{
						return false;
					}
				//等しくない
				}
				else if("21".equals(enzan_arg) || "70".equals(enzan_arg) || "71".equals(enzan_arg))
				{
					if((l_left_arg.compareTo(l_right_arg) != 0))
					{
						return true;
					}
					else
					{
						return false;
					}
				//以上
				}
				else if("30".equals(enzan_arg) || "80".equals(enzan_arg) || "81".equals(enzan_arg))
				{
					if((l_left_arg.compareTo(l_right_arg) >= 0))
					{
						return true;
					}
					else
					{
						return false;
					}
				//より大きい
				}
				else if("31".equals(enzan_arg) || "90".equals(enzan_arg) || "91".equals(enzan_arg))
				{
					if((l_left_arg.compareTo(l_right_arg) > 0))
					{
						return true;
					}
					else
					{
						return false;
					}
				//該当無し
				}
				else
				{
					return false;
				}
			}
			catch(NumberFormatException e)
			{
				return false;
			}
		}

		return booRet;

	}

	/**
	 * サービスＩＤの編集を行う
	 * @param inSvcId サービスＩＤ
	 * @return サービスＩＤ編集結果
	 *
	 */
	public static String editSvcId(String inSvcId, int opeDate)
	{
		if("".equals(inSvcId))
		{
			String svcId = JSCEditSvcOrd.getDataFromSodWorkKanri("T0051", "C0028", "CONST", "", "", "", 3, 1, "サービスID", opeDate);
			return svcId;
		}
		else
		{
			return inSvcId;
		}
	}

	/**
	 * 端末種別の編集を行う
	 * @return 端末種別編集結果
	 *
	 */
	public static String editTnmtSbt(int opeDate)
	{
		String tnmtSbt = "";
		
		//ＳＯＤ業務管理より取得する
		tnmtSbt = JSCEditSvcOrd.getDataFromSodWorkKanri("T0051", "C0078", "CONST", "", "", "", 3, 1, "端末種別", opeDate);
		
		return tnmtSbt;
	}


	/**
	 * ＳＩＰサーバードメイン＃１の編集を行う
	 * @return ＳＩＰサーバードメイン＃１編集結果
	 *
	 */
	public static String editSipServerDomain1(int opeDate)
	{
		String sipServerDomain = "";
		
		//ＳＯＤ業務管理より取得する
		sipServerDomain = JSCEditSvcOrd.getDataFromSodWorkKanri("T0051", "C0038", "CONST", "", "", "", 3, 1, "ＳＩＰサーバードメイン＃１", opeDate);
		
		return sipServerDomain;
	}

	/**
	 * ＳＩＰサーバードメイン＃２の編集を行う
	 * @return ＳＩＰサーバードメイン＃２編集結果
	 *
	 */
	public static String editSipServerDomain2(int opeDate)
	{
		String sipServerDomain = "";
		
		//ＳＯＤ業務管理より取得する
		sipServerDomain = JSCEditSvcOrd.getDataFromSodWorkKanri("T0051", "C0038", "CONST", "", "", "", 3, 1, "ＳＩＰサーバードメイン＃２", opeDate);
		
		return sipServerDomain;
	}

	/**
	 * ＳＩＰサーバーアドレス＃１の編集を行う
	 * @return ＳＩＰサーバーアドレス＃１編集結果
	 *
	 */
	public static String editSipServerAd1(int opeDate)
	{
		String sipServerAd = "";
		
		//ＳＯＤ業務管理より取得する
		sipServerAd = JSCEditSvcOrd.getDataFromSodWorkKanri("T0051", "C0040", "CONST", "", "", "", 3, 1, "ＳＩＰサーバーアドレス＃１", opeDate);
		return sipServerAd;
	}

	/**
	 * ＳＩＰサーバーアドレス＃２の編集を行う
	 * @return ＳＩＰサーバーアドレス＃２編集結果
	 *
	 */
	public static String editSipServerAd2(int opeDate)
	{
		String sipServerAd = "";
		
		//ＳＯＤ業務管理より取得する
		sipServerAd = JSCEditSvcOrd.getDataFromSodWorkKanri("T0051", "C0040", "CONST", "", "", "", 3, 1, "ＳＩＰサーバーアドレス＃２", opeDate);
		
		return sipServerAd;
	}

	/**
	 * Claris用SIPユーザIDの取得を行う
	 * @return  Claris用SIPユーザID
	 *
	 */
	public static String editClarisSipUserID(int opeDate)
	{
		String sipClarisUserId = "";
		
		//ＳＯＤ業務管理より取得する
		sipClarisUserId = JSCEditSvcOrd.getDataFromSodWorkKanri("T0051", "C0067", "CONST", "1    ", "", "", 3, 1, "Claris用SIPユーザID", opeDate);
		
		return sipClarisUserId;
	}

	/**
	 * Claris用SIPユーザIDパスワードの取得を行う
	 * @return  Claris用SIPユーザIDパスワード
	 *
	 */
	public static String editClarisSipUserIdPswd(int opeDate)
	{
		String sipClarisUserIdPswd = "";
		
		//ＳＯＤ業務管理より取得する
		sipClarisUserIdPswd = JSCEditSvcOrd.getDataFromSodWorkKanri("T0051", "C0067", "CONST", "2    ", "", "", 3, 1, "Claris用SIPユーザIDパスワード", opeDate);
		
		return sipClarisUserIdPswd;
	}

	/**
	 * 代表アドレスの編集を行う
	 * @param inDaihyoAd 代表アドレス
	 * @param daihyoTelno 代表電話番号
	 * @return String 代表アドレス編集結果
	 *
	 */
	public static String editDaihyoAd(String inDaihyoAd, String daihyoTelno, int opeDate)
	{
		String daihyoAd = "";
		
		if("".equals(inDaihyoAd))
		{
			//代表電話番号＋"@"＋代表アドレス
			if(null != daihyoTelno && !"".equals(daihyoTelno))
			{
				daihyoAd = daihyoTelno + "@" + JSCEditSvcOrd.getDataFromSodWorkKanri("T0051", "C0029", "CONST", "", "", "", 3, 1, "代表アドレス", opeDate);
			}
		}
		else
		{
			daihyoAd = inDaihyoAd;
		}
		
		return daihyoAd;
	}

	/**
	 * 主アドレスの編集を行う
	 * @param inMainAd 主アドレス
	 * @param mainTelno 主電話番号
	 * @return 主アドレス編集結果
	 *
	 */
	public static String editMainAd(String inMainAd, String mainTelno, int opeDate)
	{
		String mainAd = "";
		
		
		if("".equals(inMainAd))
		{
			//主電話番号＋"@"＋SOD業務管理より取得した値
			if(null != mainTelno && !"".equals(mainTelno))
			{
				mainAd = mainTelno + "@" + JSCEditSvcOrd.getDataFromSodWorkKanri("T0051", "C0046", "CONST", "", "", "", 3, 1, "主アドレス", opeDate);
			}
		}
		else
		{
			mainAd = inMainAd;
		}
		
		return mainAd;
	}

	/**
	 * 加入者クラスの編集を行う
	 * @return String 加入者クラス編集結果
	 *
	 */
	public static String editKnyshaClass(int opeDate)
	{
		String knyshaClass = "";
		
		//SOD業務管理より取得した値
		knyshaClass = JSCEditSvcOrd.getDataFromSodWorkKanri("T0051", "C0086", "CONST", "", "", "", 3, 1, "加入者クラス", opeDate);
		
		return knyshaClass;
	}

	/**
	 * DB登録用データの取得
	 * @param bunrui1Cd 分類コード１
	 * @param bunrui2Cd 分類コード２
	 * @param bunrui3Cd 分類コード３
	 * @param errMsg エラーメッセージ（項目名）
	 * @return	取得データ（DB登録用）
	 */
	public static String getDataFromSOD(String bunrui1Cd, String bunrui2Cd, String bunrui3Cd, String errMsg)
	{
		CAANMsg sc0081InMsg = new CAANMsg(SC0081ETMsg.class.getName());
		JSCSodWorkKanriAccesser sc0081el = new JSCSodWorkKanriAccesser();
		String bunrui3Naiyo = "";
		CAANMsg[] sc0081OutMsg = null;
		
		try
		{
			sc0081InMsg.set(SC0081ETMsg.BUNRUI_1_CD, bunrui1Cd);
			sc0081InMsg.set(SC0081ETMsg.BUNRUI_2_CD, bunrui2Cd);
			sc0081InMsg.set(SC0081ETMsg.BUNRUI_3_CD, bunrui3Cd);
			sc0081OutMsg = sc0081el.findByCondition(sc0081InMsg);
		}
		catch (Exception e)
		{
			throw new RuntimeException();
		}
		
		if(0 == sc0081OutMsg.length)
		{
			throw new IllegalArgumentException("ＳＯＤ業務管理テーブルからデータを取得できませんでした。（" + errMsg + "）");
		}
		else
		{
			bunrui3Naiyo = sc0081OutMsg[0].getString(SC0081ETMsg.BUNRUI_3_NAIYO).trim();
		}
		
		return bunrui3Naiyo;
	}

}
