Database Reference
In-Depth Information
END IF;
END IF;
CLOSE AddressbyID_cur;
msgtext :=
'XXCU_EHS_TEST_ADDR.get_AddressLocbyID. Return: '||
v_address;
XXCU_COMMON_LOG_RT.msglog ( ... );
RETURN v_address;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_address := NULL;
RETURN v_address;
WHEN OTHERS
THEN
msgtype := 'ERR';
msgid := SQLCODE;
msgtext := SQLERRM (msgid);
msgsrc :=
'XXCU_EHS_TEST_ADDR.get_AddressLocbyID. Unable
to resolve address location for address ID '
|| ip_addressid;
XXCU_COMMON_LOG_RT.msglog (..... );
END get_AddressLocbyID;
In general, all rule conditions can be expressed in a function receiving only one parameter
or a group of functions assembled in one ruleset using logic aggregation operators ( AND
and OR ). Actually, Rule Engine has no limitation for the number of inbound parameters,
but using only one, we can simplify construction of the agnostic decision table; that is, if a
dynamically executed function F returns result A when the input parameter is B and the
expected result was C , RE considers the rules outcome as negative if the rule condition
was = (equal). If this rule was aggregated into the ruleset using a strong rule ( AND ), the
execution is terminated and the decision is negative (no TP-receiver found, for instance).
With weak aggregation, execution will be continued until the first hit. The RE counts the
number of hits for weak and strong rules, allowing rule grouping (which are not really ne-
cessary, as it would be much easier sometimes to implement two rulesets—for weak and
strong rules separately). An implementation with multiple conditions ( = , < , > , != , and so
Search WWH ::




Custom Search