/*******************************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JEKK1391E010TPMA
*	ソースファイル名：JEKK1391E010TPMA.java
*	作成者			：富士通
*	日付			：2012年09月10日
*＜機能概要＞
*	データ抽出項目設定論理削除時の論理削除処理を呼び出す部品
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00   2012/09/10  富士通      新規作成
*
********************************************************************************/

package eo.ejb.cbs.mainproc;

import com.fujitsu.futurity.model.base.CAANFinderException;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;
import com.fujitsu.futurity.model.ejb.common.fw.TemplateMainHandler;

import eo.ejb.cbm.entity.KK1391ETMsg;
import eo.ejb.cbm.entity.KK1401ETMsg;
import eo.ejb.cbs.cbsmsg.EKK1391E010CBSMsg;
import eo.ejb.common.db.JKKejbDBAUtil;

/**
 * <p>
 * データ抽出項目設定論理削除顧客独自処理部品クラスです。
 * </p>
 * @author 富士通
 */
public class JEKK1391E010TPMA implements TemplateMainHandler
{
	/**
	 * データ抽出項目設定論理削除顧客独自処理
	 * 
	 * @param inCBSMsg 処理対象のメッセージキャリア
	 * @param inContext Agentから渡されたAgentDispatchContext
	 * @throws CAANFinderException 
	 */
	public void invoke(CAANMsg inCBSMsg, AgentDispatchContext inContext)
	{
		// 入力の「データ抽出項目設定番号」を取得する
		String dchskmstNo = inCBSMsg.getString(EKK1391E010CBSMsg.DCHSKMST_NO);
		
		// 親にあたる「データ抽出項目設定」よりデータ抽出項目設定番号をKEYに対象レコードを論理削除する。
		CAANMsg msgKK1391 = new CAANMsg(KK1391ETMsg.class.getName());
		msgKK1391.set(KK1391ETMsg.DCHSKMST_NO, dchskmstNo);

		// 子に当たる「データ抽出項目設定対象契約」よりデータ抽出項目設定番号に紐づくレコードを論理削除する。
		CAANMsg msgKK1401 = new CAANMsg(KK1401ETMsg.class.getName());
		msgKK1401.set(KK1401ETMsg.DCHSKMST_NO, dchskmstNo);

		// 顧客契約データベースアクセス共通クラスを呼び出す。
		JKKejbDBAUtil dbu = new JKKejbDBAUtil(inCBSMsg);
	
		dbu.invalidAll(msgKK1391);
		dbu.invalidAll(msgKK1401);
	}

}
