text: /**
  	* \file PnlWznmSge1NSensitivity.h
  	* job handler for job PnlWznmSge1NSensitivity (declarations)
  	* \copyright (C) 2016-2020 MPSI Technologies GmbH
  	* \author Alexander Wirthmueller (auto-generation)
  	* \date created: 28 Nov 2020
  	*/
  // IP header --- ABOVE
  
  #ifndef PNLWZNMSGE1NSENSITIVITY_H
  #define PNLWZNMSGE1NSENSITIVITY_H
  
  // IP include.spec --- INSERT
  
  // IP include.cust --- INSERT
  
  #include "QryWznmSge1NSensitivity.h"
  
  #define VecVWznmSge1NSensitivityDo PnlWznmSge1NSensitivity::VecVDo
  
  #define ContInfWznmSge1NSensitivity PnlWznmSge1NSensitivity::ContInf
  #define StatAppWznmSge1NSensitivity PnlWznmSge1NSensitivity::StatApp
  #define StgIacWznmSge1NSensitivity PnlWznmSge1NSensitivity::StgIac
  #define TagWznmSge1NSensitivity PnlWznmSge1NSensitivity::Tag
  
  #define DpchAppWznmSge1NSensitivityData PnlWznmSge1NSensitivity::DpchAppData
  #define DpchAppWznmSge1NSensitivityDo PnlWznmSge1NSensitivity::DpchAppDo
  #define DpchEngWznmSge1NSensitivityData PnlWznmSge1NSensitivity::DpchEngData
  
  /**
  	* PnlWznmSge1NSensitivity
  	*/
  class PnlWznmSge1NSensitivity : public JobWznm {
  
  public:
  	/**
  		* VecVDo (full: VecVWznmSge1NSensitivityDo)
  		*/
  	class VecVDo {
  
  	public:
  		static const Sbecore::uint BUTREFRESHCLICK = 1;
  
  		static Sbecore::uint getIx(const std::string& sref);
  		static std::string getSref(const Sbecore::uint ix);
  	};
  
  	/**
  	  * ContInf (full: ContInfWznmSge1NSensitivity)
  	  */
  	class ContInf : public Sbecore::Block {
  
  	public:
  		static const Sbecore::uint NUMFCSIQST = 1;
  
  	public:
  		ContInf(const Sbecore::uint numFCsiQst = 1);
  
  	public:
  		Sbecore::uint numFCsiQst;
  
  	public:
  		void writeJSON(Json::Value& sup, std::string difftag = "");
  		void writeXML(xmlTextWriter* wr, std::string difftag = "", bool shorttags = true);
  		std::set<Sbecore::uint> comm(const ContInf* comp);
  		std::set<Sbecore::uint> diff(const ContInf* comp);
  	};
  
  	/**
  		* StatApp (full: StatAppWznmSge1NSensitivity)
  		*/
  	class StatApp {
  
  	public:
  		static void writeJSON(Json::Value& sup, std::string difftag = "", const Sbecore::uint ixWznmVExpstate = VecWznmVExpstate::MIND);
  		static void writeXML(xmlTextWriter* wr, std::string difftag = "", bool shorttags = true, const Sbecore::uint ixWznmVExpstate = VecWznmVExpstate::MIND);
  	};
  
  	/**
  		* StgIac (full: StgIacWznmSge1NSensitivity)
  		*/
  	class StgIac : public Sbecore::Block {
  
  	public:
  		static const Sbecore::uint TCOREFWIDTH = 1;
  
  	public:
  		StgIac(const Sbecore::uint TcoRefWidth = 100);
  
  	public:
  		Sbecore::uint TcoRefWidth;
  
  	public:
  		bool readJSON(Json::Value& sup, bool addbasetag = false);
  		bool readXML(xmlXPathContext* docctx, std::string basexpath = "", bool addbasetag = false);
  		void writeJSON(Json::Value& sup, std::string difftag = "");
  		void writeXML(xmlTextWriter* wr, std::string difftag = "", bool shorttags = true);
  		std::set<Sbecore::uint> comm(const StgIac* comp);
  		std::set<Sbecore::uint> diff(const StgIac* comp);
  	};
  
  	/**
  		* Tag (full: TagWznmSge1NSensitivity)
  		*/
  	class Tag {
  
  	public:
  		static void writeJSON(const Sbecore::uint ixWznmVLocale, Json::Value& sup, std::string difftag = "");
  		static void writeXML(const Sbecore::uint ixWznmVLocale, xmlTextWriter* wr, std::string difftag = "", bool shorttags = true);
  	};
  
  	/**
  		* DpchAppData (full: DpchAppWznmSge1NSensitivityData)
  		*/
  	class DpchAppData : public DpchAppWznm {
  
  	public:
  		static const Sbecore::uint JREF = 1;
  		static const Sbecore::uint STGIAC = 2;
  		static const Sbecore::uint STGIACQRY = 3;
  
  	public:
  		DpchAppData();
  
  	public:
  		StgIac stgiac;
  		QryWznmSge1NSensitivity::StgIac stgiacqry;
  
  	public:
  		std::string getSrefsMask();
  
  		void readJSON(Json::Value& sup, bool addbasetag = false);
  		void readXML(xmlXPathContext* docctx, std::string basexpath = "", bool addbasetag = false);
  	};
  
  	/**
  		* DpchAppDo (full: DpchAppWznmSge1NSensitivityDo)
  		*/
  	class DpchAppDo : public DpchAppWznm {
  
  	public:
  		static const Sbecore::uint JREF = 1;
  		static const Sbecore::uint IXVDO = 2;
  
  	public:
  		DpchAppDo();
  
  	public:
  		Sbecore::uint ixVDo;
  
  	public:
  		std::string getSrefsMask();
  
  		void readJSON(Json::Value& sup, bool addbasetag = false);
  		void readXML(xmlXPathContext* docctx, std::string basexpath = "", bool addbasetag = false);
  	};
  
  	/**
  		* DpchEngData (full: DpchEngWznmSge1NSensitivityData)
  		*/
  	class DpchEngData : public DpchEngWznm {
  
  	public:
  		static const Sbecore::uint JREF = 1;
  		static const Sbecore::uint CONTINF = 2;
  		static const Sbecore::uint FEEDFCSIQST = 3;
  		static const Sbecore::uint STATAPP = 4;
  		static const Sbecore::uint STGIAC = 5;
  		static const Sbecore::uint TAG = 6;
  		static const Sbecore::uint RST = 7;
  		static const Sbecore::uint STATAPPQRY = 8;
  		static const Sbecore::uint STATSHRQRY = 9;
  		static const Sbecore::uint STGIACQRY = 10;
  		static const Sbecore::uint ALL = 11;
  
  	public:
  		DpchEngData(const Sbecore::ubigint jref = 0, ContInf* continf = NULL, Sbecore::Feed* feedFCsiQst = NULL, StgIac* stgiac = NULL, ListWznmQSge1NSensitivity* rst = NULL, QryWznmSge1NSensitivity::StatShr* statshrqry = NULL, QryWznmSge1NSensitivity::StgIac* stgiacqry = NULL, const std::set<Sbecore::uint>& mask = {NONE});
  
  	public:
  		ContInf continf;
  		Sbecore::Feed feedFCsiQst;
  		StgIac stgiac;
  		ListWznmQSge1NSensitivity rst;
  		QryWznmSge1NSensitivity::StatShr statshrqry;
  		QryWznmSge1NSensitivity::StgIac stgiacqry;
  
  	public:
  		std::string getSrefsMask();
  		void merge(DpchEngWznm* dpcheng);
  
  		void writeJSON(const Sbecore::uint ixWznmVLocale, Json::Value& sup);
  		void writeXML(const Sbecore::uint ixWznmVLocale, xmlTextWriter* wr);
  	};
  
  public:
  	PnlWznmSge1NSensitivity(XchgWznm* xchg, DbsWznm* dbswznm, const Sbecore::ubigint jrefSup, const Sbecore::uint ixWznmVLocale);
  	~PnlWznmSge1NSensitivity();
  
  public:
  	ContInf continf;
  	StgIac stgiac;
  
  	Sbecore::Feed feedFCsiQst;
  
  	QryWznmSge1NSensitivity* qry;
  
  	WznmMSensitivity recSns;
  
  	// IP vars.cust --- INSERT
  
  public:
  	// IP cust --- INSERT
  
  public:
  	DpchEngWznm* getNewDpchEng(std::set<Sbecore::uint> items);
  
  	void refresh(DbsWznm* dbswznm, std::set<Sbecore::uint>& moditems, const bool unmute = false);
  
  	void updatePreset(DbsWznm* dbswznm, const Sbecore::uint ixWznmVPreset, const Sbecore::ubigint jrefTrig, const bool notif = false);
  
  public:
  
  public:
  	void handleRequest(DbsWznm* dbswznm, ReqWznm* req);
  
  private:
  
  	void handleDpchAppWznmInit(DbsWznm* dbswznm, DpchAppWznmInit* dpchappwznminit, DpchEngWznm** dpcheng);
  	void handleDpchAppDataStgiac(DbsWznm* dbswznm, StgIac* _stgiac, DpchEngWznm** dpcheng);
  	void handleDpchAppDataStgiacqry(DbsWznm* dbswznm, QryWznmSge1NSensitivity::StgIac* _stgiacqry, DpchEngWznm** dpcheng);
  
  	void handleDpchAppDoButRefreshClick(DbsWznm* dbswznm, DpchEngWznm** dpcheng);
  
  public:
  	void handleCall(DbsWznm* dbswznm, Sbecore::Call* call);
  
  private:
  	bool handleCallWznmStatChg(DbsWznm* dbswznm, const Sbecore::ubigint jrefTrig);
  
  };
  
  #endif
  