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.4 2011/05/18 11:25:36 nchinnam ship $ */
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.4 2011/05/18 11:25:36 nchinnam ship $ */
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.4 2011/05/18 11:25:36 nchinnam ship $ */
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: votingRegimeIn => votingRegimes(tempIndex));

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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