DEFINE Awm_li_i_query_class PARAMETER Class_name PARAMETER Attr_ltab PARAMETER Layout PARAMETER Qname PARAMETER Dtab PARAMETER Ltab LOCAL I LOCAL Attr_name LOCAL Attr_val LOCAL Attr_sel LOCAL Attrtype LOCAL End_of_day LOCAL End_of_day_int IF (Layout!="") QUERY_DELETE Qname CONFIRM QUERY_COPY Layout Qname QUERY_DELETE_SELECT Qname ALL ELSE QUERY_CREATE Qname QUERY_TYPE Qname ELEMENTS QUERY_ADD_CLASS Qname Class_name END QUERY_ADD_COLUMN Qname Db_unique_id_string Db_class_name Db_cls_type Db_owner Db_state Db_state_date Db_lastupdated_by Db_lastupdate_date Db_create_date END Awm_li_i_add_class_attributes Qname Class_name END_IF QUERY_SET_HIDDEN_COLUMNS Qname Wm_required_attribs END LET I (LTAB_TITLES Attr_ltab) WHILE (I) LET Attr_name (READ_LTAB Attr_ltab TITLE I) LET Attr_val (READ_LTAB Attr_ltab 1 I) Awm_li_i_checkattr Class_name Attr_name Attr_val LET Attr_sel Dms_return_val IF (NOT Dms_return_val2) LET I (I - 1) CONTINUE END_IF Awm_li_i_check_select Class_name Attr_name Attr_sel LET Attrtype Dms_return_val2 IF (Dms_return_val!=0) Awm_t_m_write_error 248 3 (FIX_MESGQ (LOCAL_MESG "awm.cat" 248 "Invalid Select Condition {1} {2}" 80) Attr_name Attr_val) ELSE Awm_eval_string_req Attr_sel IF (Dms_return_val!=0) QUERY_ADD_RESTRICT Qname Attr_name 1 TRAP_ERROR[ EVALUATE_STRING Attr_sel] IF (CHECK_ERROR) END END_IF ELSE_IF (Attr_name==(CATGETS "awm_stda" 214 "CREATED_AT")) Awm_t_change_str_date_to_str_default Attr_sel Awm_default_date_time_format LET Attr_sel Dms_return_val LET End_of_day_int (TIME_VALUE Attr_sel+DAYS) LET End_of_day (TIME_STRING End_of_day_int) Awm_t_change_str_date_to_str_default End_of_day Awm_default_date_time_format LET End_of_day Dms_return_val QUERY_ADD_SELECT Qname Attr_name>=Attr_sel AND Attr_name<= End_of_day END ELSE_IF ((Attrtype=="INTEGER") OR (Attrtype=="SMALLINT") OR (Attrtype =="FLOAT")) IF (Attr_sel=="*") Awm_t_m_write_error_and_cancel 1044 3 (FIX_MESGQ (LOCAL_MESG "awm.cat" 1044 "*** ERROR: Attribute '{1}' value must be numeric in query" 80) Attr_name) ELSE IF (Attrtype=="FLOAT") LET Attr_sel (STR_TO_FLT Attr_sel) ELSE LET Attr_sel (STR_TO_INT Attr_sel) END_IF QUERY_ADD_SELECT Qname Attr_name==Attr_sel END END_IF ELSE Awm_t_change_str_date_to_str_default Attr_sel Awm_default_date_time_format IF (Dms_return_val!=-1) LET Attr_sel Dms_return_val END_IF {****** Anpassung GEZE für case insensitive search ******} {QUERY_ADD_RESTRICT Qname Attr_name 1==Attr_sel} QUERY_ADD_RESTRICT Qname Attr_name 1==*Attr_sel END_IF END_IF Awm_li_i_qry_add_column Qname Attr_name LET I (I - 1) END_WHILE QUERY_VIEW_TIME Qname (CURRENT_TIME) QUERY_TABLE_NAME Qname Dtab QUERY_USER_TABLE_NAME Qname Ltab QUERY_EXECUTE Qname TABLE_TITLE Dtab (FIX_MESG (LOCAL_MESG "awm.cat" 7 "Query: {1}" 30) Class_name) "" 1 1 END Awm_add_simplified_model_attr Class_name Ltab END_DEFINE