text: /**
  	* \file QryWzskShtAPar.h
  	* job handler for job QryWzskShtAPar (declarations)
  	* \copyright (C) 2016-2020 MPSI Technologies GmbH
  	* \author Emily Johnson (auto-generation)
  	* \date created: 5 Dec 2020
  	*/
  // IP header --- ABOVE
  
  #ifndef QRYWZSKSHTAPAR_H
  #define QRYWZSKSHTAPAR_H
  
  // IP include.spec --- INSERT
  
  // IP include.cust --- INSERT
  
  #define StatAppQryWzskShtAPar QryWzskShtAPar::StatApp
  #define StatShrQryWzskShtAPar QryWzskShtAPar::StatShr
  #define StgIacQryWzskShtAPar QryWzskShtAPar::StgIac
  
  /**
  	* QryWzskShtAPar
  	*/
  class QryWzskShtAPar : public JobWzsk {
  
  public:
  	/**
  		* StatApp (full: StatAppQryWzskShtAPar)
  		*/
  	class StatApp {
  
  	public:
  		static void writeJSON(Json::Value& sup, std::string difftag = "", const Sbecore::uint firstcol = 1, const Sbecore::uint jnumFirstdisp = 1, const Sbecore::uint ncol = 3, const Sbecore::uint ndisp = 10);
  		static void writeXML(xmlTextWriter* wr, std::string difftag = "", bool shorttags = true, const Sbecore::uint firstcol = 1, const Sbecore::uint jnumFirstdisp = 1, const Sbecore::uint ncol = 3, const Sbecore::uint ndisp = 10);
  	};
  
  	/**
  		* StatShr (full: StatShrQryWzskShtAPar)
  		*/
  	class StatShr : public Sbecore::Block {
  
  	public:
  		static const Sbecore::uint NTOT = 1;
  		static const Sbecore::uint JNUMFIRSTLOAD = 2;
  		static const Sbecore::uint NLOAD = 3;
  
  	public:
  		StatShr(const Sbecore::uint ntot = 0, const Sbecore::uint jnumFirstload = 0, const Sbecore::uint nload = 0);
  
  	public:
  		Sbecore::uint ntot;
  		Sbecore::uint jnumFirstload;
  		Sbecore::uint nload;
  
  	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 StatShr* comp);
  		std::set<Sbecore::uint> diff(const StatShr* comp);
  	};
  
  	/**
  		* StgIac (full: StgIacQryWzskShtAPar)
  		*/
  	class StgIac : public Sbecore::Block {
  
  	public:
  		static const Sbecore::uint JNUM = 1;
  		static const Sbecore::uint JNUMFIRSTLOAD = 2;
  		static const Sbecore::uint NLOAD = 3;
  
  	public:
  		StgIac(const Sbecore::uint jnum = 0, const Sbecore::uint jnumFirstload = 1, const Sbecore::uint nload = 100);
  
  	public:
  		Sbecore::uint jnum;
  		Sbecore::uint jnumFirstload;
  		Sbecore::uint nload;
  
  	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);
  	};
  
  public:
  	QryWzskShtAPar(XchgWzsk* xchg, DbsWzsk* dbswzsk, const Sbecore::ubigint jrefSup, const Sbecore::uint ixWzskVLocale);
  	~QryWzskShtAPar();
  
  public:
  	StatShr statshr;
  	StgIac stgiac;
  
  	ListWzskQShtAPar rst;
  
  	Sbecore::uint ixWzskVQrystate;
  
  	// IP vars.cust --- INSERT
  
  public:
  	// IP cust --- INSERT
  
  public:
  	void refreshJnum();
  
  	void rerun(DbsWzsk* dbswzsk, const bool call = false);
  	void rerun_filtSQL(std::string& sqlstr, const std::string& preX1, const bool addwhere);
  	void rerun_filtSQL_append(std::string& sqlstr, bool& first);
  
  	void fetch(DbsWzsk* dbswzsk);
  
  	Sbecore::uint getJnumByRef(const Sbecore::ubigint ref);
  	Sbecore::ubigint getRefByJnum(const Sbecore::uint jnum);
  	WzskQShtAPar* getRecByJnum(const Sbecore::uint jnum);
  
  public:
  
  public:
  	void handleRequest(DbsWzsk* dbswzsk, ReqWzsk* req);
  
  private:
  	bool handleRerun(DbsWzsk* dbswzsk);
  	bool handleShow(DbsWzsk* dbswzsk);
  
  public:
  	void handleCall(DbsWzsk* dbswzsk, Sbecore::Call* call);
  
  private:
  	bool handleCallWzskShtAparMod_shtEq(DbsWzsk* dbswzsk, const Sbecore::ubigint jrefTrig);
  	bool handleCallWzskStubChgFromSelf(DbsWzsk* dbswzsk);
  
  };
  
  #endif
  