DBA Data[Home] [Help]

APPS.AME_AG_HANDLERS dependencies on AME_UTIL

Line 4: approverCategories ame_util.charList;

1: package body ame_ag_handlers as
2: /* $Header: ameeagha.pkb 120.1 2006/12/26 13:08:46 avarri noship $ */
3: /* package variables */
4: approverCategories ame_util.charList;
5: groupIds ame_util.idList;
6: groupOrderNumbers ame_util.idList;
7: ruleIds ame_util.idList;
8: parameters ame_util.stringList;

Line 5: groupIds ame_util.idList;

1: package body ame_ag_handlers as
2: /* $Header: ameeagha.pkb 120.1 2006/12/26 13:08:46 avarri noship $ */
3: /* package variables */
4: approverCategories ame_util.charList;
5: groupIds ame_util.idList;
6: groupOrderNumbers ame_util.idList;
7: ruleIds ame_util.idList;
8: parameters ame_util.stringList;
9: parameterTwos ame_util.stringList;

Line 6: groupOrderNumbers ame_util.idList;

2: /* $Header: ameeagha.pkb 120.1 2006/12/26 13:08:46 avarri noship $ */
3: /* package variables */
4: approverCategories ame_util.charList;
5: groupIds ame_util.idList;
6: groupOrderNumbers ame_util.idList;
7: ruleIds ame_util.idList;
8: parameters ame_util.stringList;
9: parameterTwos ame_util.stringList;
10: sources ame_util.longStringList;

Line 7: ruleIds ame_util.idList;

3: /* package variables */
4: approverCategories ame_util.charList;
5: groupIds ame_util.idList;
6: groupOrderNumbers ame_util.idList;
7: ruleIds ame_util.idList;
8: parameters ame_util.stringList;
9: parameterTwos ame_util.stringList;
10: sources ame_util.longStringList;
11: votingRegimes ame_util.charList;

Line 8: parameters ame_util.stringList;

4: approverCategories ame_util.charList;
5: groupIds ame_util.idList;
6: groupOrderNumbers ame_util.idList;
7: ruleIds ame_util.idList;
8: parameters ame_util.stringList;
9: parameterTwos ame_util.stringList;
10: sources ame_util.longStringList;
11: votingRegimes ame_util.charList;
12: /* forward declarations */

Line 9: parameterTwos ame_util.stringList;

5: groupIds ame_util.idList;
6: groupOrderNumbers ame_util.idList;
7: ruleIds ame_util.idList;
8: parameters ame_util.stringList;
9: parameterTwos ame_util.stringList;
10: sources ame_util.longStringList;
11: votingRegimes ame_util.charList;
12: /* forward declarations */
13: procedure eliminateDuplicates;

Line 10: sources ame_util.longStringList;

6: groupOrderNumbers ame_util.idList;
7: ruleIds ame_util.idList;
8: parameters ame_util.stringList;
9: parameterTwos ame_util.stringList;
10: sources ame_util.longStringList;
11: votingRegimes ame_util.charList;
12: /* forward declarations */
13: procedure eliminateDuplicates;
14: /* procedures */

Line 11: votingRegimes ame_util.charList;

7: ruleIds ame_util.idList;
8: parameters ame_util.stringList;
9: parameterTwos ame_util.stringList;
10: sources ame_util.longStringList;
11: votingRegimes ame_util.charList;
12: /* forward declarations */
13: procedure eliminateDuplicates;
14: /* procedures */
15: procedure handler as

Line 21: errorMessage ame_util.longestStringType;

17: currentApproverGrpMemberCount integer;
18: currentApproverGroupId integer;
19: emptyGroupException exception;
20: errorCode integer;
21: errorMessage ame_util.longestStringType;
22: tempApprover ame_util.approverRecord2;
23: tempApproverDisplayNames ame_util.longStringList;
24: tempApproverNames ame_util.longStringList;
25: tempApproverOrderNumbers ame_util.idList;

Line 22: tempApprover ame_util.approverRecord2;

18: currentApproverGroupId integer;
19: emptyGroupException exception;
20: errorCode integer;
21: errorMessage ame_util.longestStringType;
22: tempApprover ame_util.approverRecord2;
23: tempApproverDisplayNames ame_util.longStringList;
24: tempApproverNames ame_util.longStringList;
25: tempApproverOrderNumbers ame_util.idList;
26: tempIndex integer;

Line 23: tempApproverDisplayNames ame_util.longStringList;

19: emptyGroupException exception;
20: errorCode integer;
21: errorMessage ame_util.longestStringType;
22: tempApprover ame_util.approverRecord2;
23: tempApproverDisplayNames ame_util.longStringList;
24: tempApproverNames ame_util.longStringList;
25: tempApproverOrderNumbers ame_util.idList;
26: tempIndex integer;
27: tempOrigSystemIds ame_util.idList;

Line 24: tempApproverNames ame_util.longStringList;

20: errorCode integer;
21: errorMessage ame_util.longestStringType;
22: tempApprover ame_util.approverRecord2;
23: tempApproverDisplayNames ame_util.longStringList;
24: tempApproverNames ame_util.longStringList;
25: tempApproverOrderNumbers ame_util.idList;
26: tempIndex integer;
27: tempOrigSystemIds ame_util.idList;
28: tempOrigSystems ame_util.stringList;

Line 25: tempApproverOrderNumbers ame_util.idList;

21: errorMessage ame_util.longestStringType;
22: tempApprover ame_util.approverRecord2;
23: tempApproverDisplayNames ame_util.longStringList;
24: tempApproverNames ame_util.longStringList;
25: tempApproverOrderNumbers ame_util.idList;
26: tempIndex integer;
27: tempOrigSystemIds ame_util.idList;
28: tempOrigSystems ame_util.stringList;
29: begin

Line 27: tempOrigSystemIds ame_util.idList;

23: tempApproverDisplayNames ame_util.longStringList;
24: tempApproverNames ame_util.longStringList;
25: tempApproverOrderNumbers ame_util.idList;
26: tempIndex integer;
27: tempOrigSystemIds ame_util.idList;
28: tempOrigSystems ame_util.stringList;
29: begin
30: /*
31: The engine only calls a handler if a rule requiring it exists, so we can assume that

Line 28: tempOrigSystems ame_util.stringList;

24: tempApproverNames ame_util.longStringList;
25: tempApproverOrderNumbers ame_util.idList;
26: tempIndex integer;
27: tempOrigSystemIds ame_util.idList;
28: tempOrigSystems ame_util.stringList;
29: begin
30: /*
31: The engine only calls a handler if a rule requiring it exists, so we can assume that
32: the package variables that ame_engine.getHandlerRules initializes are nonempty.

Line 46: ame_util.stringListToIdList(stringListIn => parameters,

42: /*
43: Convert the parameters to group IDs (integers), then fetch the groups' order numbers
44: and ordering modes.
45: */
46: ame_util.stringListToIdList(stringListIn => parameters,
47: idListOut => groupIds);
48: /* Bug:4491715 when get configs we sort group ids so corresponding sources and categories
49: must also be sorted */
50: ame_engine.getApprovalGroupConfigs(groupIdsInOut => groupIds,

Line 59: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowEmptyGroupAttribute)

55: /* Eliminate duplicate group-ID entries, possibly leaving the package-variable lists sparse. */
56: eliminateDuplicates;
57: /* Find the transaction allows empty approval groups or not */
58: allowEmptyGroups :=
59: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowEmptyGroupAttribute)
60: = ame_util.booleanAttributeTrue;
61: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
62: tempApprover.api_insertion := ame_util.oamGenerated;
63: tempApprover.authority := ame_engine.getHandlerAuthority;

Line 60: = ame_util.booleanAttributeTrue;

56: eliminateDuplicates;
57: /* Find the transaction allows empty approval groups or not */
58: allowEmptyGroups :=
59: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowEmptyGroupAttribute)
60: = ame_util.booleanAttributeTrue;
61: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
62: tempApprover.api_insertion := ame_util.oamGenerated;
63: tempApprover.authority := ame_engine.getHandlerAuthority;
64: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;

Line 62: tempApprover.api_insertion := ame_util.oamGenerated;

58: allowEmptyGroups :=
59: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowEmptyGroupAttribute)
60: = ame_util.booleanAttributeTrue;
61: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
62: tempApprover.api_insertion := ame_util.oamGenerated;
63: tempApprover.authority := ame_engine.getHandlerAuthority;
64: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
65: tempApprover.item_class := ame_engine.getHandlerItemClassName;
66: tempApprover.item_id := ame_engine.getHandlerItemId;

Line 114: if(votingRegimes(tempIndex) = ame_util.orderNumberVoting) then

110: actionTypeIdIn => tempApprover.action_type_id,
111: groupOrChainIdIn => tempApprover.group_or_chain_id);
112: tempApprover.source := sources(tempIndex);
113: tempApprover.group_or_chain_order_number := groupOrderNumbers(tempIndex);
114: if(votingRegimes(tempIndex) = ame_util.orderNumberVoting) then
115: tempApprover.member_order_number := tempApproverOrderNumbers(i);
116: elsif(votingRegimes(tempIndex) = ame_util.serializedVoting) then
117: tempApprover.member_order_number := i;
118: else /* votingRegimes(i) in (ame_util.consensusVoting, ame_util.firstApproverVoting) */

Line 116: elsif(votingRegimes(tempIndex) = ame_util.serializedVoting) then

112: tempApprover.source := sources(tempIndex);
113: tempApprover.group_or_chain_order_number := groupOrderNumbers(tempIndex);
114: if(votingRegimes(tempIndex) = ame_util.orderNumberVoting) then
115: tempApprover.member_order_number := tempApproverOrderNumbers(i);
116: elsif(votingRegimes(tempIndex) = ame_util.serializedVoting) then
117: tempApprover.member_order_number := i;
118: else /* votingRegimes(i) in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
119: tempApprover.member_order_number := 1;
120: end if;

Line 118: else /* votingRegimes(i) in (ame_util.consensusVoting, ame_util.firstApproverVoting) */

114: if(votingRegimes(tempIndex) = ame_util.orderNumberVoting) then
115: tempApprover.member_order_number := tempApproverOrderNumbers(i);
116: elsif(votingRegimes(tempIndex) = ame_util.serializedVoting) then
117: tempApprover.member_order_number := i;
118: else /* votingRegimes(i) in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
119: tempApprover.member_order_number := 1;
120: end if;
121: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
122: /*

Line 133: ame_util.getMessage(applicationShortNameIn => 'PER',

129: exception
130: when emptyGroupException then
131: errorCode := -20001;
132: errorMessage :=
133: ame_util.getMessage(applicationShortNameIn => 'PER',
134: messageNameIn => 'AME_400229_HAN_APR_NO_MEM',
135: tokenNameOneIn => 'APPROVAL_GROUP',
136: tokenValueOneIn => ame_approval_group_pkg.getName(approvalGroupIdIn => currentApproverGroupId));
137: ame_util.runtimeException(packageNameIn => 'ame_ag_handlers',

Line 137: ame_util.runtimeException(packageNameIn => 'ame_ag_handlers',

133: ame_util.getMessage(applicationShortNameIn => 'PER',
134: messageNameIn => 'AME_400229_HAN_APR_NO_MEM',
135: tokenNameOneIn => 'APPROVAL_GROUP',
136: tokenValueOneIn => ame_approval_group_pkg.getName(approvalGroupIdIn => currentApproverGroupId));
137: ame_util.runtimeException(packageNameIn => 'ame_ag_handlers',
138: routineNameIn => 'handler',
139: exceptionNumberIn => errorCode,
140: exceptionStringIn => errorMessage);
141: raise_application_error(errorCode,

Line 144: ame_util.runtimeException(packageNameIn => 'ame_ag_handlers',

140: exceptionStringIn => errorMessage);
141: raise_application_error(errorCode,
142: errorMessage);
143: when others then
144: ame_util.runtimeException(packageNameIn => 'ame_ag_handlers',
145: routineNameIn => 'handler',
146: exceptionNumberIn => sqlcode,
147: exceptionStringIn => sqlerrm);
148: raise;

Line 157: is the same functionality as ame_util.appendRuleIdToSource, but here we could be

153: if(groupIds(i) = groupIds(i - 1)) then
154: /*
155: Preserve the deleted rule's ID in the preserved rule's source field, if space permits.
156: In the very unlikely event otherwise, silently omit the extra source value(s). (This
157: is the same functionality as ame_util.appendRuleIdToSource, but here we could be
158: appending several rule IDs, so we can't use that procedure.)
159: */
160: if(lengthb(sources(i - 1)) + lengthb(sources(i)) + 1 <= ame_util.longStringTypeLength) then
161: sources(i) := sources(i) || ame_util.fieldDelimiter || sources(i - 1);

Line 160: if(lengthb(sources(i - 1)) + lengthb(sources(i)) + 1 <= ame_util.longStringTypeLength) then

156: In the very unlikely event otherwise, silently omit the extra source value(s). (This
157: is the same functionality as ame_util.appendRuleIdToSource, but here we could be
158: appending several rule IDs, so we can't use that procedure.)
159: */
160: if(lengthb(sources(i - 1)) + lengthb(sources(i)) + 1 <= ame_util.longStringTypeLength) then
161: sources(i) := sources(i) || ame_util.fieldDelimiter || sources(i - 1);
162: end if;
163: /* Make sure the dominant approver category is preserved. */
164: if(approverCategories(i) <> ame_util.approvalApproverCategory and

Line 161: sources(i) := sources(i) || ame_util.fieldDelimiter || sources(i - 1);

157: is the same functionality as ame_util.appendRuleIdToSource, but here we could be
158: appending several rule IDs, so we can't use that procedure.)
159: */
160: if(lengthb(sources(i - 1)) + lengthb(sources(i)) + 1 <= ame_util.longStringTypeLength) then
161: sources(i) := sources(i) || ame_util.fieldDelimiter || sources(i - 1);
162: end if;
163: /* Make sure the dominant approver category is preserved. */
164: if(approverCategories(i) <> ame_util.approvalApproverCategory and
165: approverCategories(i - 1) = ame_util.approvalApproverCategory) then

Line 164: if(approverCategories(i) <> ame_util.approvalApproverCategory and

160: if(lengthb(sources(i - 1)) + lengthb(sources(i)) + 1 <= ame_util.longStringTypeLength) then
161: sources(i) := sources(i) || ame_util.fieldDelimiter || sources(i - 1);
162: end if;
163: /* Make sure the dominant approver category is preserved. */
164: if(approverCategories(i) <> ame_util.approvalApproverCategory and
165: approverCategories(i - 1) = ame_util.approvalApproverCategory) then
166: approverCategories(i) := ame_util.approvalApproverCategory;
167: end if;
168: /* Delete the duplicate group. */

Line 165: approverCategories(i - 1) = ame_util.approvalApproverCategory) then

161: sources(i) := sources(i) || ame_util.fieldDelimiter || sources(i - 1);
162: end if;
163: /* Make sure the dominant approver category is preserved. */
164: if(approverCategories(i) <> ame_util.approvalApproverCategory and
165: approverCategories(i - 1) = ame_util.approvalApproverCategory) then
166: approverCategories(i) := ame_util.approvalApproverCategory;
167: end if;
168: /* Delete the duplicate group. */
169: approverCategories.delete(i - 1);

Line 166: approverCategories(i) := ame_util.approvalApproverCategory;

162: end if;
163: /* Make sure the dominant approver category is preserved. */
164: if(approverCategories(i) <> ame_util.approvalApproverCategory and
165: approverCategories(i - 1) = ame_util.approvalApproverCategory) then
166: approverCategories(i) := ame_util.approvalApproverCategory;
167: end if;
168: /* Delete the duplicate group. */
169: approverCategories.delete(i - 1);
170: groupIds.delete(i - 1);

Line 181: ame_util.runtimeException(packageNameIn => 'ame_ag_handlers',

177: end if;
178: end loop;
179: exception
180: when others then
181: ame_util.runtimeException(packageNameIn => 'ame_ag_handlers',
182: routineNameIn => 'eliminateDuplicates',
183: exceptionNumberIn => sqlcode,
184: exceptionStringIn => sqlerrm);
185: raise;