137: end if;
138:
139: end KEY_TO_IDS_2;
140:
141: function CALCULATE_USE_COUNT(X_ATTRIBUTE_ID ame_attribute_usages.attribute_id%type,
142: X_APPLICATION_ID ame_attribute_usages.application_id%type) return integer as
143: cursor RULE_CURSOR(X_APPLICATION_ID in integer) is
144: select AME_RULE_USAGES.RULE_ID, AME_RULES.ACTION_ID
145: from AME_RULES, AME_RULE_USAGES
138:
139: end KEY_TO_IDS_2;
140:
141: function CALCULATE_USE_COUNT(X_ATTRIBUTE_ID ame_attribute_usages.attribute_id%type,
142: X_APPLICATION_ID ame_attribute_usages.application_id%type) return integer as
143: cursor RULE_CURSOR(X_APPLICATION_ID in integer) is
144: select AME_RULE_USAGES.RULE_ID, AME_RULES.ACTION_ID
145: from AME_RULES, AME_RULE_USAGES
146: where AME_RULES.RULE_ID = AME_RULE_USAGES.RULE_ID
230: end loop;
231: return(NEW_USE_COUNT);
232: exception
233: when others then
234: ame_util.runtimeException('ame_attribute_usages_api2',
235: 'calculate_use_count',
236: sqlcode,
237: sqlerrm);
238: raise;
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
301: -- calculate use count
302: X_USE_COUNT := CALCULATE_USE_COUNT(ATTRIBUTE_REC.ATTRIBUTE_ID, X_APPLICATION_ID);
299: begin
300: for ATTRIBUTE_REC in GET_USED_ATTRIBUTES(X_RULE_ID => X_RULE_ID) loop
301: -- calculate use count
302: X_USE_COUNT := CALCULATE_USE_COUNT(ATTRIBUTE_REC.ATTRIBUTE_ID, X_APPLICATION_ID);
303: -- update ame_attribute_usages
304: update AME_ATTRIBUTE_USAGES
305: set USE_COUNT = X_USE_COUNT
306: where
307: ATTRIBUTE_ID = ATTRIBUTE_REC.ATTRIBUTE_ID and
300: for ATTRIBUTE_REC in GET_USED_ATTRIBUTES(X_RULE_ID => X_RULE_ID) loop
301: -- calculate use count
302: X_USE_COUNT := CALCULATE_USE_COUNT(ATTRIBUTE_REC.ATTRIBUTE_ID, X_APPLICATION_ID);
303: -- update ame_attribute_usages
304: update AME_ATTRIBUTE_USAGES
305: set USE_COUNT = X_USE_COUNT
306: where
307: ATTRIBUTE_ID = ATTRIBUTE_REC.ATTRIBUTE_ID and
308: APPLICATION_ID = X_APPLICATION_ID and