184: select count(*)
185: into TEMP_COUNT
186: from
187: AME_MANDATORY_ATTRIBUTES,
188: AME_ACTIONS,
189: AME_ACTION_USAGES
190: where
191: AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID = X_ATTRIBUTE_ID and
192: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
188: AME_ACTIONS,
189: AME_ACTION_USAGES
190: where
191: AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID = X_ATTRIBUTE_ID and
192: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
193: AME_ACTIONS.ACTION_ID = AME_ACTION_USAGES.ACTION_ID and
194: AME_ACTION_USAGES.RULE_ID = TEMPRULE.RULE_ID and
195: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
196: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
189: AME_ACTION_USAGES
190: where
191: AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID = X_ATTRIBUTE_ID and
192: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
193: AME_ACTIONS.ACTION_ID = AME_ACTION_USAGES.ACTION_ID and
194: AME_ACTION_USAGES.RULE_ID = TEMPRULE.RULE_ID and
195: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
196: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
197: sysdate between AME_ACTIONS.START_DATE and
193: AME_ACTIONS.ACTION_ID = AME_ACTION_USAGES.ACTION_ID and
194: AME_ACTION_USAGES.RULE_ID = TEMPRULE.RULE_ID and
195: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
196: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
197: sysdate between AME_ACTIONS.START_DATE and
198: nvl(AME_ACTIONS.END_DATE - (1/86400), sysdate) and
199: ((sysdate between AME_ACTION_USAGES.START_DATE and
200: nvl(AME_ACTION_USAGES.END_DATE - (1/86400), sysdate)) or
201: (sysdate < AME_ACTION_USAGES.START_DATE and
194: AME_ACTION_USAGES.RULE_ID = TEMPRULE.RULE_ID and
195: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
196: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
197: sysdate between AME_ACTIONS.START_DATE and
198: nvl(AME_ACTIONS.END_DATE - (1/86400), sysdate) and
199: ((sysdate between AME_ACTION_USAGES.START_DATE and
200: nvl(AME_ACTION_USAGES.END_DATE - (1/86400), sysdate)) or
201: (sysdate < AME_ACTION_USAGES.START_DATE and
202: AME_ACTION_USAGES.START_DATE < nvl(AME_ACTION_USAGES.END_DATE,
205: select count(*)
206: into TEMP_COUNT
207: from
208: AME_MANDATORY_ATTRIBUTES,
209: AME_ACTIONS,
210: AME_RULES
211: where
212: AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID = X_ATTRIBUTE_ID and
213: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
209: AME_ACTIONS,
210: AME_RULES
211: where
212: AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID = X_ATTRIBUTE_ID and
213: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
214: AME_ACTIONS.ACTION_ID = AME_RULES.ACTION_ID and
215: AME_RULES.RULE_ID = TEMPRULE.RULE_ID and
216: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
217: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
210: AME_RULES
211: where
212: AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID = X_ATTRIBUTE_ID and
213: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
214: AME_ACTIONS.ACTION_ID = AME_RULES.ACTION_ID and
215: AME_RULES.RULE_ID = TEMPRULE.RULE_ID and
216: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
217: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
218: sysdate between AME_ACTIONS.START_DATE and
214: AME_ACTIONS.ACTION_ID = AME_RULES.ACTION_ID and
215: AME_RULES.RULE_ID = TEMPRULE.RULE_ID and
216: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
217: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
218: sysdate between AME_ACTIONS.START_DATE and
219: nvl(AME_ACTIONS.END_DATE - (1/86400), sysdate) and
220: ((sysdate between AME_RULES.START_DATE and
221: nvl(AME_RULES.END_DATE - (1/86400), sysdate)) or
222: (sysdate < AME_RULES.START_DATE and
215: AME_RULES.RULE_ID = TEMPRULE.RULE_ID and
216: sysdate between AME_MANDATORY_ATTRIBUTES.START_DATE and
217: nvl(AME_MANDATORY_ATTRIBUTES.END_DATE - (1/86400), sysdate) and
218: sysdate between AME_ACTIONS.START_DATE and
219: nvl(AME_ACTIONS.END_DATE - (1/86400), sysdate) and
220: ((sysdate between AME_RULES.START_DATE and
221: nvl(AME_RULES.END_DATE - (1/86400), sysdate)) or
222: (sysdate < AME_RULES.START_DATE and
223: AME_RULES.START_DATE < nvl(AME_RULES.END_DATE,
260: union
261: select AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID
262: from AME_MANDATORY_ATTRIBUTES,
263: AME_ACTION_USAGES,
264: AME_ACTIONS
265: where
266: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
267: AME_ACTIONS.ACTION_ID = AME_ACTION_USAGES.ACTION_ID and
268: AME_ACTION_USAGES.RULE_ID = X_RULE_ID and
262: from AME_MANDATORY_ATTRIBUTES,
263: AME_ACTION_USAGES,
264: AME_ACTIONS
265: where
266: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
267: AME_ACTIONS.ACTION_ID = AME_ACTION_USAGES.ACTION_ID and
268: AME_ACTION_USAGES.RULE_ID = X_RULE_ID and
269: (AME_MANDATORY_ATTRIBUTES.START_DATE <= sysdate and
270: (AME_MANDATORY_ATTRIBUTES.END_DATE is null or sysdate < AME_MANDATORY_ATTRIBUTES.END_DATE)) and
263: AME_ACTION_USAGES,
264: AME_ACTIONS
265: where
266: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
267: AME_ACTIONS.ACTION_ID = AME_ACTION_USAGES.ACTION_ID and
268: AME_ACTION_USAGES.RULE_ID = X_RULE_ID and
269: (AME_MANDATORY_ATTRIBUTES.START_DATE <= sysdate and
270: (AME_MANDATORY_ATTRIBUTES.END_DATE is null or sysdate < AME_MANDATORY_ATTRIBUTES.END_DATE)) and
271: ((sysdate between AME_ACTION_USAGES.START_DATE and
272: nvl(AME_ACTION_USAGES.END_DATE - (1/86400), sysdate)) or
273: (sysdate < AME_ACTION_USAGES.START_DATE and
274: AME_ACTION_USAGES.START_DATE < nvl(AME_ACTION_USAGES.END_DATE,AME_ACTION_USAGES.START_DATE
275: + (1/86400)))) and
276: (AME_ACTIONS.START_DATE <= sysdate and
277: (AME_ACTIONS.END_DATE is null or sysdate < AME_ACTIONS.END_DATE))
278: union
279: select AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID
280: from AME_MANDATORY_ATTRIBUTES,
273: (sysdate < AME_ACTION_USAGES.START_DATE and
274: AME_ACTION_USAGES.START_DATE < nvl(AME_ACTION_USAGES.END_DATE,AME_ACTION_USAGES.START_DATE
275: + (1/86400)))) and
276: (AME_ACTIONS.START_DATE <= sysdate and
277: (AME_ACTIONS.END_DATE is null or sysdate < AME_ACTIONS.END_DATE))
278: union
279: select AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID
280: from AME_MANDATORY_ATTRIBUTES,
281: AME_RULES,
278: union
279: select AME_MANDATORY_ATTRIBUTES.ATTRIBUTE_ID
280: from AME_MANDATORY_ATTRIBUTES,
281: AME_RULES,
282: AME_ACTIONS
283: where
284: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
285: AME_ACTIONS.ACTION_ID = AME_RULES.ACTION_ID and
286: AME_RULES.ACTION_ID is not null and
280: from AME_MANDATORY_ATTRIBUTES,
281: AME_RULES,
282: AME_ACTIONS
283: where
284: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
285: AME_ACTIONS.ACTION_ID = AME_RULES.ACTION_ID and
286: AME_RULES.ACTION_ID is not null and
287: AME_RULES.RULE_ID = X_RULE_ID and
288: (AME_MANDATORY_ATTRIBUTES.START_DATE <= sysdate and
281: AME_RULES,
282: AME_ACTIONS
283: where
284: AME_MANDATORY_ATTRIBUTES.ACTION_TYPE_ID = AME_ACTIONS.ACTION_TYPE_ID and
285: AME_ACTIONS.ACTION_ID = AME_RULES.ACTION_ID and
286: AME_RULES.ACTION_ID is not null and
287: AME_RULES.RULE_ID = X_RULE_ID and
288: (AME_MANDATORY_ATTRIBUTES.START_DATE <= sysdate and
289: (AME_MANDATORY_ATTRIBUTES.END_DATE is null or sysdate < AME_MANDATORY_ATTRIBUTES.END_DATE)) and
291: nvl(AME_RULES.END_DATE - (1/86400), sysdate)) or
292: (sysdate < AME_RULES.START_DATE and
293: AME_RULES.START_DATE < nvl(AME_RULES.END_DATE,AME_RULES.START_DATE
294: + (1/86400)))) and
295: (AME_ACTIONS.START_DATE <= sysdate and
296: (AME_ACTIONS.END_DATE is null or sysdate < AME_ACTIONS.END_DATE));
297: ATTRIBUTE_IDS_LIST ame_util.idList;
298: X_USE_COUNT ame_attribute_usages.use_count%type;
299: begin
292: (sysdate < AME_RULES.START_DATE and
293: AME_RULES.START_DATE < nvl(AME_RULES.END_DATE,AME_RULES.START_DATE
294: + (1/86400)))) and
295: (AME_ACTIONS.START_DATE <= sysdate and
296: (AME_ACTIONS.END_DATE is null or sysdate < AME_ACTIONS.END_DATE));
297: ATTRIBUTE_IDS_LIST ame_util.idList;
298: X_USE_COUNT ame_attribute_usages.use_count%type;
299: begin
300: for ATTRIBUTE_REC in GET_USED_ATTRIBUTES(X_RULE_ID => X_RULE_ID) loop
321: aat.name,
322: aa.parameter
323: from ame_rule_usages aru,
324: ame_action_usages aau,
325: ame_actions aa,
326: ame_action_types aat
327: where aru.rule_id = x_rule_id
328: and aru.item_id = x_application_id
329: and sysdate between aat.start_date and nvl(aat.end_date,sysdate)