152: select count(*)
153: into TEMP_COUNT
154: from
155: AME_MANDATORY_ATTRIBUTES,
156: AME_ACTIONS,
157: AME_ACTION_USAGES
158: where
159: AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID = X_ATTRIBUTE_ID and
160: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
156: AME_ACTIONS,
157: AME_ACTION_USAGES
158: where
159: AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID = X_ATTRIBUTE_ID and
160: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
161: AME_ACTIONS.ACTION_ID = AME_ACTION_USAGES.ACTION_ID and
162: AME_ACTION_USAGES.RULE_ID = TEMPRULE.RULE_ID and
163: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
164: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
157: AME_ACTION_USAGES
158: where
159: AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID = X_ATTRIBUTE_ID and
160: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
161: AME_ACTIONS.ACTION_ID = AME_ACTION_USAGES.ACTION_ID and
162: AME_ACTION_USAGES.RULE_ID = TEMPRULE.RULE_ID and
163: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
164: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
165: sysdate between AME_ACTIONS.START_DATE and
161: AME_ACTIONS.ACTION_ID = AME_ACTION_USAGES.ACTION_ID and
162: AME_ACTION_USAGES.RULE_ID = TEMPRULE.RULE_ID and
163: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
164: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
165: sysdate between AME_ACTIONS.START_DATE and
166: nvl(AME_ACTIONS.END_DATE - (1/86400), sysdate) and
167: ((sysdate between AME_ACTION_USAGES.START_DATE and
168: nvl(AME_ACTION_USAGES.END_DATE - (1/86400), sysdate)) or
169: (sysdate < AME_ACTION_USAGES.START_DATE and
162: AME_ACTION_USAGES.RULE_ID = TEMPRULE.RULE_ID and
163: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
164: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
165: sysdate between AME_ACTIONS.START_DATE and
166: nvl(AME_ACTIONS.END_DATE - (1/86400), sysdate) and
167: ((sysdate between AME_ACTION_USAGES.START_DATE and
168: nvl(AME_ACTION_USAGES.END_DATE - (1/86400), sysdate)) or
169: (sysdate < AME_ACTION_USAGES.START_DATE and
170: AME_ACTION_USAGES.START_DATE < nvl(AME_ACTION_USAGES.END_DATE,
173: select count(*)
174: into TEMP_COUNT
175: from
176: AME_MANDATORY_ATTRIBUTES,
177: AME_ACTIONS,
178: AME_RULES
179: where
180: AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID = X_ATTRIBUTE_ID and
181: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
177: AME_ACTIONS,
178: AME_RULES
179: where
180: AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID = X_ATTRIBUTE_ID and
181: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
182: AME_ACTIONS.ACTION_ID = AME_RULES.ACTION_ID and
183: AME_RULES.RULE_ID = TEMPRULE.RULE_ID and
184: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
185: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
178: AME_RULES
179: where
180: AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID = X_ATTRIBUTE_ID and
181: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
182: AME_ACTIONS.ACTION_ID = AME_RULES.ACTION_ID and
183: AME_RULES.RULE_ID = TEMPRULE.RULE_ID and
184: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
185: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
186: sysdate between AME_ACTIONS.START_DATE and
182: AME_ACTIONS.ACTION_ID = AME_RULES.ACTION_ID and
183: AME_RULES.RULE_ID = TEMPRULE.RULE_ID and
184: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
185: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
186: sysdate between AME_ACTIONS.START_DATE and
187: nvl(AME_ACTIONS.END_DATE - (1/86400), sysdate) and
188: ((sysdate between AME_RULES.START_DATE and
189: nvl(AME_RULES.END_DATE - (1/86400), sysdate)) or
190: (sysdate < AME_RULES.START_DATE and
183: AME_RULES.RULE_ID = TEMPRULE.RULE_ID and
184: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
185: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
186: sysdate between AME_ACTIONS.START_DATE and
187: nvl(AME_ACTIONS.END_DATE - (1/86400), sysdate) and
188: ((sysdate between AME_RULES.START_DATE and
189: nvl(AME_RULES.END_DATE - (1/86400), sysdate)) or
190: (sysdate < AME_RULES.START_DATE and
191: AME_RULES.START_DATE < nvl(AME_RULES.END_DATE,
243: union
244: select AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID
245: from AME_MANDATORY_ATTRIBUTES,
246: AME_ACTION_USAGES,
247: AME_ACTIONS
248: where
249: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
250: AME_ACTIONS.ACTION_ID = AME_ACTION_USAGES.ACTION_ID and
251: AME_ACTION_USAGES.RULE_ID = X_RULE_ID and
245: from AME_MANDATORY_ATTRIBUTES,
246: AME_ACTION_USAGES,
247: AME_ACTIONS
248: where
249: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
250: AME_ACTIONS.ACTION_ID = AME_ACTION_USAGES.ACTION_ID and
251: AME_ACTION_USAGES.RULE_ID = X_RULE_ID and
252: (AME_MANDATORY_ATTRIBUTES.START_DATE <= sysdate and
253: (AME_MANDATORY_ATTRIBUTES.END_DATE is null or sysdate < AME_MANDATORY_ATTRIBUTES.END_DATE)) and
246: AME_ACTION_USAGES,
247: AME_ACTIONS
248: where
249: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
250: AME_ACTIONS.ACTION_ID = AME_ACTION_USAGES.ACTION_ID and
251: AME_ACTION_USAGES.RULE_ID = X_RULE_ID and
252: (AME_MANDATORY_ATTRIBUTES.START_DATE <= sysdate and
253: (AME_MANDATORY_ATTRIBUTES.END_DATE is null or sysdate < AME_MANDATORY_ATTRIBUTES.END_DATE)) and
254: ((sysdate between AME_ACTION_USAGES.START_DATE and
255: nvl(AME_ACTION_USAGES.END_DATE - (1/86400), sysdate)) or
256: (sysdate < AME_ACTION_USAGES.START_DATE and
257: AME_ACTION_USAGES.START_DATE < nvl(AME_ACTION_USAGES.END_DATE,AME_ACTION_USAGES.START_DATE
258: + (1/86400)))) and
259: (AME_ACTIONS.START_DATE <= sysdate and
260: (AME_ACTIONS.END_DATE is null or sysdate < AME_ACTIONS.END_DATE))
261: union
262: select AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID
263: from AME_MANDATORY_ATTRIBUTES,
256: (sysdate < AME_ACTION_USAGES.START_DATE and
257: AME_ACTION_USAGES.START_DATE < nvl(AME_ACTION_USAGES.END_DATE,AME_ACTION_USAGES.START_DATE
258: + (1/86400)))) and
259: (AME_ACTIONS.START_DATE <= sysdate and
260: (AME_ACTIONS.END_DATE is null or sysdate < AME_ACTIONS.END_DATE))
261: union
262: select AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID
263: from AME_MANDATORY_ATTRIBUTES,
264: AME_RULES,
261: union
262: select AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID
263: from AME_MANDATORY_ATTRIBUTES,
264: AME_RULES,
265: AME_ACTIONS
266: where
267: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
268: AME_ACTIONS.ACTION_ID = AME_RULES.ACTION_ID and
269: AME_RULES.ACTION_ID is not null and
263: from AME_MANDATORY_ATTRIBUTES,
264: AME_RULES,
265: AME_ACTIONS
266: where
267: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
268: AME_ACTIONS.ACTION_ID = AME_RULES.ACTION_ID and
269: AME_RULES.ACTION_ID is not null and
270: AME_RULES.RULE_ID = X_RULE_ID and
271: (AME_MANDATORY_ATTRIBUTES.START_DATE <= sysdate and
264: AME_RULES,
265: AME_ACTIONS
266: where
267: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
268: AME_ACTIONS.ACTION_ID = AME_RULES.ACTION_ID and
269: AME_RULES.ACTION_ID is not null and
270: AME_RULES.RULE_ID = X_RULE_ID and
271: (AME_MANDATORY_ATTRIBUTES.START_DATE <= sysdate and
272: (AME_MANDATORY_ATTRIBUTES.END_DATE is null or sysdate < AME_MANDATORY_ATTRIBUTES.END_DATE)) and
274: nvl(AME_RULES.END_DATE - (1/86400), sysdate)) or
275: (sysdate < AME_RULES.START_DATE and
276: AME_RULES.START_DATE < nvl(AME_RULES.END_DATE,AME_RULES.START_DATE
277: + (1/86400)))) and
278: (AME_ACTIONS.START_DATE <= sysdate and
279: (AME_ACTIONS.END_DATE is null or sysdate < AME_ACTIONS.END_DATE));
280: ATTRIBUTE_IDS_LIST ame_util.idList;
281: X_USE_COUNT ame_attribute_usages.use_count%type;
282: begin
275: (sysdate < AME_RULES.START_DATE and
276: AME_RULES.START_DATE < nvl(AME_RULES.END_DATE,AME_RULES.START_DATE
277: + (1/86400)))) and
278: (AME_ACTIONS.START_DATE <= sysdate and
279: (AME_ACTIONS.END_DATE is null or sysdate < AME_ACTIONS.END_DATE));
280: ATTRIBUTE_IDS_LIST ame_util.idList;
281: X_USE_COUNT ame_attribute_usages.use_count%type;
282: begin
283: for ATTRIBUTE_REC in GET_USED_ATTRIBUTES(X_RULE_ID => X_RULE_ID) loop