You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
overriding member function run_matcher(self in out nocopy be_between, a_actual ut_data_value) return boolean is
49
63
l_result boolean;
@@ -96,6 +110,22 @@ create or replace type body be_between is
96
110
begin
97
111
l_result := l_actual.datavalue between l_lower.datavalue and l_upper.datavalue;
98
112
end;
113
+
elsif self.lower_bound is of(ut_data_value_yminterval) and self.upper_bound is of(ut_data_value_yminterval) and a_actual is of(ut_data_value_yminterval) then
114
+
declare
115
+
l_lower ut_data_value_yminterval := treat(self.lower_bound as ut_data_value_yminterval);
116
+
l_upper ut_data_value_yminterval := treat(self.upper_bound as ut_data_value_yminterval);
117
+
l_actual ut_data_value_yminterval := treat(a_actual as ut_data_value_yminterval);
118
+
begin
119
+
l_result := l_actual.datavalue between l_lower.datavalue and l_upper.datavalue;
120
+
end;
121
+
elsif self.lower_bound is of(ut_data_value_dsinterval) and self.upper_bound is of(ut_data_value_dsinterval) and a_actual is of(ut_data_value_dsinterval) then
122
+
declare
123
+
l_lower ut_data_value_dsinterval := treat(self.lower_bound as ut_data_value_dsinterval);
124
+
l_upper ut_data_value_dsinterval := treat(self.upper_bound as ut_data_value_dsinterval);
125
+
l_actual ut_data_value_dsinterval := treat(a_actual as ut_data_value_dsinterval);
126
+
begin
127
+
l_result := l_actual.datavalue between l_lower.datavalue and l_upper.datavalue;
128
+
end;
99
129
else
100
130
l_result := (self as ut_matcher).run_matcher(a_actual);
0 commit comments