if(deep_level<0) deep_level=0;
coa_AppendElement(cnx, filter_class_names, ap_psprintf(p, "%s",par_class));
coa_AppendElement(cnx, filter_prop_names, ap_psprintf(p, "id"));
coa_AppendElement(cnx, filter_operators, ap_psprintf(p, "="));
coa_AppendElement(cnx, filter_values, ap_psprintf(p, "%d", par_id));
// HERE WE SHOULD CHECK THE LENGTH OF callback
@co_call(par_area,par_class,"getSchemaX",par_area=>par_area,par_class=>par_class,par_id=>par_id,callback=>'coa_GetElement(cnx,callbacks,0)', deep_level=>deep_level);
// READING VALUE FOR CURRENT OBJECT
corec = cou_getReturnValue(cnx, CO_RECORDSET, &err);
__ASSERT(err==0, "Error getting recordset value")
NProps = cor_GetTupleCount(cnx, corec);
for(i=0; i<NProps; i++)
{
coa_AppendElement(cnx, get_class_names, ap_psprintf(p, par_class));
coa_AppendElement(cnx, get_prop_names, cor_GetCopyOfValueByName(cnx, corec, i, "get_prop_name"));
}
@co_call(par_area,par_class,"selectX",par_area=>par_area,par_class=>par_class,par_id=>-1,callback=>'coa_GetElement(cnx,callbacks, 2)', get_class_names=>get_class_names,get_prop_names=>get_prop_names, filter_class_names=>filter_class_names,filter_prop_names=>filter_prop_names, filter_operators=>filter_operators, filter_values=>filter_values);
//GETTING RELATED CLASSES
@co_call(par_area,par_class,"getRelatedClasses",par_area=>par_area,par_class=>par_class,par_id=>par_id,callback=>'coa_GetElement(cnx,callbacks,1)');