#include "erp_utils.h"
#include "ocilib.h"
#include "common_itk_util.h"
#include "string_utils.h"
#include "string_helper.h"
#include "error_handling.h"
#include "connor_util.h"
#include <vector>
#include <map>
#include <string>
#include <tccore/item_errors.h>
#include <ics/ics_enquiry.h>
#include <ict/ict_userservice.h>
#include <bom/bom_msg.h>
#include <tccore/tc_msg.h>
#include <ics/ics.h>
#include <property/prop_msg.h>
#include <bom/bom_msg.h>
#include <tccore/item_msg.h>




#define ERROR_QRY_NOT_FOUND (EMH_USER_error_base + 120)
extern "C" int POM_AM__set_application_bypass(logical bypass);
int HX3_create_item_post(METHOD_message_t* msg , va_list va);
int HX3_post_prop_set_MJ( METHOD_message_t *msg, va_list args );
int HX3_post_prop_set_JJ( METHOD_message_t *msg, va_list args );
int HX3_regist_runtime_prop(METHOD_message_t* msg, va_list args);
int HX3_bom_save(METHOD_message_t* msg, va_list args);
int HX3_mod_date(METHOD_message_t* msg, va_list args);
int HX3_check_prop_is_not_empty(EPM_rule_message_t msg);
int Test_set_string( METHOD_message_t *msg, va_list args );
int LP_set_prop( METHOD_message_t *msg, va_list args );

typedef struct
{

	string p_attr_id;
	string c_class_name;
	string c_class_id;
	string c_attr_id;

} ATTR_NODE;

typedef struct 
{

	string id;
	string class_dis_name;
	string class_rel_name;
	string id_dis_anme;
	vector<ATTR_NODE> attr_node_vec;

} CLASS_DEFINE_STRUCT;