DBA Data[Home] [Help]

APPS.AME_DUAL_CHAINS_HANDLER dependencies on AME_UTIL

Line 4: approverCategoriesDual ame_util.charList;

1: package body ame_dual_chains_handler as
2: /* $Header: ameedcha.pkb 120.3 2007/12/20 20:02:21 prasashe noship $ */
3: /* package variables */
4: approverCategoriesDual ame_util.charList;
5: approverCategories ame_util.charList;
6: parametersCount integer;
7: parameterNumbers ame_util.idList;
8: parameters ame_util.stringList;

Line 5: approverCategories ame_util.charList;

1: package body ame_dual_chains_handler as
2: /* $Header: ameedcha.pkb 120.3 2007/12/20 20:02:21 prasashe noship $ */
3: /* package variables */
4: approverCategoriesDual ame_util.charList;
5: approverCategories ame_util.charList;
6: parametersCount integer;
7: parameterNumbers ame_util.idList;
8: parameters ame_util.stringList;
9: parameterSigns ame_util.charList;

Line 7: parameterNumbers ame_util.idList;

3: /* package variables */
4: approverCategoriesDual ame_util.charList;
5: approverCategories ame_util.charList;
6: parametersCount integer;
7: parameterNumbers ame_util.idList;
8: parameters ame_util.stringList;
9: parameterSigns ame_util.charList;
10: ruleIds ame_util.idList;
11: ruleIdsDual ame_util.idList;

Line 8: parameters ame_util.stringList;

4: approverCategoriesDual ame_util.charList;
5: approverCategories ame_util.charList;
6: parametersCount integer;
7: parameterNumbers ame_util.idList;
8: parameters ame_util.stringList;
9: parameterSigns ame_util.charList;
10: ruleIds ame_util.idList;
11: ruleIdsDual ame_util.idList;
12: ruleSatisfiedYN ame_util.charList;

Line 9: parameterSigns ame_util.charList;

5: approverCategories ame_util.charList;
6: parametersCount integer;
7: parameterNumbers ame_util.idList;
8: parameters ame_util.stringList;
9: parameterSigns ame_util.charList;
10: ruleIds ame_util.idList;
11: ruleIdsDual ame_util.idList;
12: ruleSatisfiedYN ame_util.charList;
13: threshholdJobLevel integer;

Line 10: ruleIds ame_util.idList;

6: parametersCount integer;
7: parameterNumbers ame_util.idList;
8: parameters ame_util.stringList;
9: parameterSigns ame_util.charList;
10: ruleIds ame_util.idList;
11: ruleIdsDual ame_util.idList;
12: ruleSatisfiedYN ame_util.charList;
13: threshholdJobLevel integer;
14: topDogFound boolean;

Line 11: ruleIdsDual ame_util.idList;

7: parameterNumbers ame_util.idList;
8: parameters ame_util.stringList;
9: parameterSigns ame_util.charList;
10: ruleIds ame_util.idList;
11: ruleIdsDual ame_util.idList;
12: ruleSatisfiedYN ame_util.charList;
13: threshholdJobLevel integer;
14: topDogFound boolean;
15: topDogPersonId integer;

Line 12: ruleSatisfiedYN ame_util.charList;

8: parameters ame_util.stringList;
9: parameterSigns ame_util.charList;
10: ruleIds ame_util.idList;
11: ruleIdsDual ame_util.idList;
12: ruleSatisfiedYN ame_util.charList;
13: threshholdJobLevel integer;
14: topDogFound boolean;
15: topDogPersonId integer;
16: /* forward declarations */

Line 44: category ame_util.charType;

40: sourceOut out nocopy varchar2,
41: hasFinalAuthorityYNOut out nocopy varchar2,
42: supervisorJobLevelOut out nocopy integer,
43: nextSupervisorIdOut out nocopy integer) as
44: category ame_util.charType;
45: errorCode integer;
46: errorMessage ame_util.longestStringType;
47: hasFinalAuthorityYN ame_util.charType;
48: noSupervisorException exception;

Line 46: errorMessage ame_util.longestStringType;

42: supervisorJobLevelOut out nocopy integer,
43: nextSupervisorIdOut out nocopy integer) as
44: category ame_util.charType;
45: errorCode integer;
46: errorMessage ame_util.longestStringType;
47: hasFinalAuthorityYN ame_util.charType;
48: noSupervisorException exception;
49: personDisplayName ame_util.longStringType;
50: source ame_util.longStringType;

Line 47: hasFinalAuthorityYN ame_util.charType;

43: nextSupervisorIdOut out nocopy integer) as
44: category ame_util.charType;
45: errorCode integer;
46: errorMessage ame_util.longestStringType;
47: hasFinalAuthorityYN ame_util.charType;
48: noSupervisorException exception;
49: personDisplayName ame_util.longStringType;
50: source ame_util.longStringType;
51: supervisorJobLevel integer;

Line 49: personDisplayName ame_util.longStringType;

45: errorCode integer;
46: errorMessage ame_util.longestStringType;
47: hasFinalAuthorityYN ame_util.charType;
48: noSupervisorException exception;
49: personDisplayName ame_util.longStringType;
50: source ame_util.longStringType;
51: supervisorJobLevel integer;
52: tempRuleRequiresApprover boolean;
53: tempRuleSatisfied boolean;

Line 50: source ame_util.longStringType;

46: errorMessage ame_util.longestStringType;
47: hasFinalAuthorityYN ame_util.charType;
48: noSupervisorException exception;
49: personDisplayName ame_util.longStringType;
50: source ame_util.longStringType;
51: supervisorJobLevel integer;
52: tempRuleRequiresApprover boolean;
53: tempRuleSatisfied boolean;
54: begin

Line 76: 4. An approver's category is ame_util.approvalApproverCategory if any of the

72: B. Otherwise, the rule requires the input approver only if the approver
73: does <> satisfy the rule. (This would happen in the perverse case
74: that an approver satisfies a rule, but their supervisor has a lower
75: job level that does not satisfy the rule.)
76: 4. An approver's category is ame_util.approvalApproverCategory if any of the
77: rule usages requiring the approver is of that category; otherwise the
78: approver's category is ame_util.fyiApproverCategory.
79: */
80: category := ame_util.fyiApproverCategory;

Line 78: approver's category is ame_util.fyiApproverCategory.

74: that an approver satisfies a rule, but their supervisor has a lower
75: job level that does not satisfy the rule.)
76: 4. An approver's category is ame_util.approvalApproverCategory if any of the
77: rule usages requiring the approver is of that category; otherwise the
78: approver's category is ame_util.fyiApproverCategory.
79: */
80: category := ame_util.fyiApproverCategory;
81: hasFinalAuthorityYN := ame_util.booleanTrue;
82: for i in 1 .. parameterNumbers.count loop

Line 80: category := ame_util.fyiApproverCategory;

76: 4. An approver's category is ame_util.approvalApproverCategory if any of the
77: rule usages requiring the approver is of that category; otherwise the
78: approver's category is ame_util.fyiApproverCategory.
79: */
80: category := ame_util.fyiApproverCategory;
81: hasFinalAuthorityYN := ame_util.booleanTrue;
82: for i in 1 .. parameterNumbers.count loop
83: /* Determine whether the approver satisfies the current rule. */
84: if(personIdIn = topDogPersonId) then

Line 81: hasFinalAuthorityYN := ame_util.booleanTrue;

77: rule usages requiring the approver is of that category; otherwise the
78: approver's category is ame_util.fyiApproverCategory.
79: */
80: category := ame_util.fyiApproverCategory;
81: hasFinalAuthorityYN := ame_util.booleanTrue;
82: for i in 1 .. parameterNumbers.count loop
83: /* Determine whether the approver satisfies the current rule. */
84: if(personIdIn = topDogPersonId) then
85: topDogFound := true;

Line 113: hasFinalAuthorityYN = ame_util.booleanTrue) then

109: end if;
110: end if;
111: /* Update hasFinalAuthorityYN as needed. */
112: if(not tempRuleSatisfied and
113: hasFinalAuthorityYN = ame_util.booleanTrue) then
114: hasFinalAuthorityYN := ame_util.booleanFalse;
115: end if;
116: /* Determine whether the current rule requires the approver. */
117: tempRuleRequiresApprover := false;

Line 114: hasFinalAuthorityYN := ame_util.booleanFalse;

110: end if;
111: /* Update hasFinalAuthorityYN as needed. */
112: if(not tempRuleSatisfied and
113: hasFinalAuthorityYN = ame_util.booleanTrue) then
114: hasFinalAuthorityYN := ame_util.booleanFalse;
115: end if;
116: /* Determine whether the current rule requires the approver. */
117: tempRuleRequiresApprover := false;
118: if(ruleSatisfiedYN(i) = ame_util.booleanTrue) then

Line 118: if(ruleSatisfiedYN(i) = ame_util.booleanTrue) then

114: hasFinalAuthorityYN := ame_util.booleanFalse;
115: end if;
116: /* Determine whether the current rule requires the approver. */
117: tempRuleRequiresApprover := false;
118: if(ruleSatisfiedYN(i) = ame_util.booleanTrue) then
119: if(not tempRuleSatisfied) then
120: tempRuleRequiresApprover := true;
121: end if;
122: else

Line 125: ruleSatisfiedYN(i) := ame_util.booleanTrue;

121: end if;
122: else
123: tempRuleRequiresApprover := true;
124: if(tempRuleSatisfied) then
125: ruleSatisfiedYN(i) := ame_util.booleanTrue;
126: end if;
127: end if;
128: if(tempRuleRequiresApprover) then
129: /* Update source. */

Line 130: ame_util.appendRuleIdToSource(ruleIdIn => ruleIds(i),

126: end if;
127: end if;
128: if(tempRuleRequiresApprover) then
129: /* Update source. */
130: ame_util.appendRuleIdToSource(ruleIdIn => ruleIds(i),
131: sourceInOut => source);
132: /* Update category as needed. */
133: if(category = ame_util.fyiApproverCategory and
134: approverCategories(i) = ame_util.approvalApproverCategory) then

Line 133: if(category = ame_util.fyiApproverCategory and

129: /* Update source. */
130: ame_util.appendRuleIdToSource(ruleIdIn => ruleIds(i),
131: sourceInOut => source);
132: /* Update category as needed. */
133: if(category = ame_util.fyiApproverCategory and
134: approverCategories(i) = ame_util.approvalApproverCategory) then
135: category := ame_util.approvalApproverCategory;
136: end if;
137: end if;

Line 134: approverCategories(i) = ame_util.approvalApproverCategory) then

130: ame_util.appendRuleIdToSource(ruleIdIn => ruleIds(i),
131: sourceInOut => source);
132: /* Update category as needed. */
133: if(category = ame_util.fyiApproverCategory and
134: approverCategories(i) = ame_util.approvalApproverCategory) then
135: category := ame_util.approvalApproverCategory;
136: end if;
137: end if;
138: end loop;

Line 135: category := ame_util.approvalApproverCategory;

131: sourceInOut => source);
132: /* Update category as needed. */
133: if(category = ame_util.fyiApproverCategory and
134: approverCategories(i) = ame_util.approvalApproverCategory) then
135: category := ame_util.approvalApproverCategory;
136: end if;
137: end if;
138: end loop;
139: categoryOut := category;

Line 145: origSystemIn => ame_util.perOrigSystem,

141: sourceOut := source;
142: exception
143: when noSupervisorException then
144: personDisplayName := ame_approver_type_pkg.getApproverDisplayName2(
145: origSystemIn => ame_util.perOrigSystem,
146: origSystemIdIn => personIdIn );
147: errorCode := -20001;
148: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
149: messageNameIn => 'AME_400297_HAN_LACK_SPVR',

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

144: personDisplayName := ame_approver_type_pkg.getApproverDisplayName2(
145: origSystemIn => ame_util.perOrigSystem,
146: origSystemIdIn => personIdIn );
147: errorCode := -20001;
148: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
149: messageNameIn => 'AME_400297_HAN_LACK_SPVR',
150: tokenNameOneIn => 'FIRST_NAME',
151: tokenValueOneIn => personDisplayName,
152: tokenNameTwoIn => 'LAST_NAME',

Line 156: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',

152: tokenNameTwoIn => 'LAST_NAME',
153: tokenValueTwoIn => null ,
154: tokenNameThreeIn => 'OTHER_NAME',
155: tokenValueThreeIn => null );
156: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
157: routineNameIn => 'getCatSourceAndAuthority',
158: exceptionNumberIn => errorCode,
159: exceptionStringIn => errorMessage);
160: raise_application_error(errorCode,

Line 166: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',

162: when others then
163: categoryOut := null;
164: hasFinalAuthorityYNOut := null;
165: sourceOut := null;
166: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
167: routineNameIn => 'getCatSourceAndAuthority',
168: exceptionNumberIn => sqlcode,
169: exceptionStringIn => sqlerrm);
170: raise;

Line 173: chainOrderMode ame_util.stringType;

169: exceptionStringIn => sqlerrm);
170: raise;
171: end getCatSourceAndAuthority;
172: procedure handler as
173: chainOrderMode ame_util.stringType;
174: COAInsertee ame_util.approverRecord2;
175: errorCode integer;
176: errorMessage ame_util.longestStringType;
177: finalAuthorityApproverCategory ame_util.charType;

Line 174: COAInsertee ame_util.approverRecord2;

170: raise;
171: end getCatSourceAndAuthority;
172: procedure handler as
173: chainOrderMode ame_util.stringType;
174: COAInsertee ame_util.approverRecord2;
175: errorCode integer;
176: errorMessage ame_util.longestStringType;
177: finalAuthorityApproverCategory ame_util.charType;
178: finalAuthorityFound boolean;

Line 176: errorMessage ame_util.longestStringType;

172: procedure handler as
173: chainOrderMode ame_util.stringType;
174: COAInsertee ame_util.approverRecord2;
175: errorCode integer;
176: errorMessage ame_util.longestStringType;
177: finalAuthorityApproverCategory ame_util.charType;
178: finalAuthorityFound boolean;
179: finalAuthoritySource ame_util.longStringType;
180: firstApproverSource ame_util.longStringType;

Line 177: finalAuthorityApproverCategory ame_util.charType;

173: chainOrderMode ame_util.stringType;
174: COAInsertee ame_util.approverRecord2;
175: errorCode integer;
176: errorMessage ame_util.longestStringType;
177: finalAuthorityApproverCategory ame_util.charType;
178: finalAuthorityFound boolean;
179: finalAuthoritySource ame_util.longStringType;
180: firstApproverSource ame_util.longStringType;
181: includeAllJobLevelApprovers boolean;

Line 179: finalAuthoritySource ame_util.longStringType;

175: errorCode integer;
176: errorMessage ame_util.longestStringType;
177: finalAuthorityApproverCategory ame_util.charType;
178: finalAuthorityFound boolean;
179: finalAuthoritySource ame_util.longStringType;
180: firstApproverSource ame_util.longStringType;
181: includeAllJobLevelApprovers boolean;
182: noSupervisorException exception;
183: nullFirstIdException exception;

Line 180: firstApproverSource ame_util.longStringType;

176: errorMessage ame_util.longestStringType;
177: finalAuthorityApproverCategory ame_util.charType;
178: finalAuthorityFound boolean;
179: finalAuthoritySource ame_util.longStringType;
180: firstApproverSource ame_util.longStringType;
181: includeAllJobLevelApprovers boolean;
182: noSupervisorException exception;
183: nullFirstIdException exception;
184: nullSecondIdException exception;

Line 187: personDisplayName ame_util.longStringType;

183: nullFirstIdException exception;
184: nullSecondIdException exception;
185: firstStartingPointId integer;
186: oneChainException exception;
187: personDisplayName ame_util.longStringType;
188: secondStartingPointId integer;
189: tempApprover ame_util.approverRecord2;
190: tempHasFinalAuthorityYN ame_util.charType;
191: tempJobLevel integer;

Line 189: tempApprover ame_util.approverRecord2;

185: firstStartingPointId integer;
186: oneChainException exception;
187: personDisplayName ame_util.longStringType;
188: secondStartingPointId integer;
189: tempApprover ame_util.approverRecord2;
190: tempHasFinalAuthorityYN ame_util.charType;
191: tempJobLevel integer;
192: tempMemberOrderNumber integer;
193: tempOldJobLevel integer;

Line 190: tempHasFinalAuthorityYN ame_util.charType;

186: oneChainException exception;
187: personDisplayName ame_util.longStringType;
188: secondStartingPointId integer;
189: tempApprover ame_util.approverRecord2;
190: tempHasFinalAuthorityYN ame_util.charType;
191: tempJobLevel integer;
192: tempMemberOrderNumber integer;
193: tempOldJobLevel integer;
194: tempSupervisorId integer;

Line 197: votingRegimeType ame_util.stringType;

193: tempOldJobLevel integer;
194: tempSupervisorId integer;
195: tempSupervisorJobLevel integer;
196: tempNextSupervisorId integer;
197: votingRegimeType ame_util.stringType;
198: firstAuthInsExists boolean := false;
199: coaInsAuthForward boolean := false;
200: begin
201: includeAllJobLevelApprovers :=

Line 202: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.includeAllApproversAttribute) =

198: firstAuthInsExists boolean := false;
199: coaInsAuthForward boolean := false;
200: begin
201: includeAllJobLevelApprovers :=
202: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.includeAllApproversAttribute) =
203: ame_util.booleanAttributeTrue;
204: /* Populate some of the package variables. */
205: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
206: /* Set the fields in tempApprover that are constant for the entire handler cycle. */

Line 203: ame_util.booleanAttributeTrue;

199: coaInsAuthForward boolean := false;
200: begin
201: includeAllJobLevelApprovers :=
202: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.includeAllApproversAttribute) =
203: ame_util.booleanAttributeTrue;
204: /* Populate some of the package variables. */
205: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
206: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
207: tempApprover.orig_system := ame_util.perOrigSystem;

Line 205: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));

201: includeAllJobLevelApprovers :=
202: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.includeAllApproversAttribute) =
203: ame_util.booleanAttributeTrue;
204: /* Populate some of the package variables. */
205: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
206: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
207: tempApprover.orig_system := ame_util.perOrigSystem;
208: tempApprover.authority := ame_util.authorityApprover;
209: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;

Line 207: tempApprover.orig_system := ame_util.perOrigSystem;

203: ame_util.booleanAttributeTrue;
204: /* Populate some of the package variables. */
205: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
206: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
207: tempApprover.orig_system := ame_util.perOrigSystem;
208: tempApprover.authority := ame_util.authorityApprover;
209: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
210: tempApprover.item_class := ame_engine.getHandlerItemClassName;
211: tempApprover.item_id := ame_engine.getHandlerItemId;

Line 208: tempApprover.authority := ame_util.authorityApprover;

204: /* Populate some of the package variables. */
205: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
206: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
207: tempApprover.orig_system := ame_util.perOrigSystem;
208: tempApprover.authority := ame_util.authorityApprover;
209: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
210: tempApprover.item_class := ame_engine.getHandlerItemClassName;
211: tempApprover.item_id := ame_engine.getHandlerItemId;
212: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;

Line 248: ame_util.firstStartingPointAttribute));

244: if chainCounter = 1 then
245: /* Fetch the required attributes. */
246: firstStartingPointId :=
247: to_number(ame_engine.getHeaderAttValue2(attributeNameIn =>
248: ame_util.firstStartingPointAttribute));
249: if(firstStartingPointId is null ) then
250: raise nullFirstIdException;
251: end if;
252: tempApprover.orig_system_id := firstStartingPointId;

Line 257: ame_util.secondStartingPointAttribute));

253: else /* Chain is 2*/
254: /* Fetch the required attributes. */
255: secondStartingPointId :=
256: to_number(ame_engine.getHeaderAttValue2(attributeNameIn =>
257: ame_util.secondStartingPointAttribute));
258: if( secondStartingPointId is null) then
259: raise nullSecondIdException;
260: end if;
261: tempApprover.orig_system_id :=secondStartingPointId ;

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

259: raise nullSecondIdException;
260: end if;
261: tempApprover.orig_system_id :=secondStartingPointId ;
262: end if;
263: tempApprover.api_insertion := ame_util.oamGenerated;
264: ame_approver_type_pkg.getWfRolesNameAndDisplayName(
265: origSystemIn => ame_util.perOrigSystem,
266: origSystemIdIn => tempApprover.orig_system_id,
267: nameOut => tempApprover.name,

Line 265: origSystemIn => ame_util.perOrigSystem,

261: tempApprover.orig_system_id :=secondStartingPointId ;
262: end if;
263: tempApprover.api_insertion := ame_util.oamGenerated;
264: ame_approver_type_pkg.getWfRolesNameAndDisplayName(
265: origSystemIn => ame_util.perOrigSystem,
266: origSystemIdIn => tempApprover.orig_system_id,
267: nameOut => tempApprover.name,
268: displayNameOut => tempApprover.display_name);
269: else

Line 275: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;

271: tempApprover.orig_system := COAInsertee.orig_system;
272: tempApprover.orig_system_id := COAInsertee.orig_system_id;
273: tempApprover.display_name := COAInsertee.display_name;
274: firstApproverSource := COAInsertee.source;
275: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
276: firstAuthInsExists := true;
277: end if;
278: /* Get the threshholdJobLevel to convert parameters to absolute values */
279: ame_absolute_job_level_handler.getJobLevelAndSupervisor(

Line 290: ruleSatisfiedYN(i) := ame_util.booleanFalse;

286: if parameterNumbers.count = 0 then
287: raise oneChainException;
288: end if;
289: for i in 1 .. parameterNumbers.count loop
290: ruleSatisfiedYN(i) := ame_util.booleanFalse;
291: end loop;
292: tempApprover.group_or_chain_id := chainCounter;
293: if (chainOrderMode = ame_util.serialChainsMode) then
294: tempApprover.group_or_chain_order_number := chainCounter;

Line 293: if (chainOrderMode = ame_util.serialChainsMode) then

289: for i in 1 .. parameterNumbers.count loop
290: ruleSatisfiedYN(i) := ame_util.booleanFalse;
291: end loop;
292: tempApprover.group_or_chain_id := chainCounter;
293: if (chainOrderMode = ame_util.serialChainsMode) then
294: tempApprover.group_or_chain_order_number := chainCounter;
295: else /* chain Order Mode is parallel */
296: tempApprover.group_or_chain_order_number := 1;
297: end if;

Line 316: tempHasFinalAuthorityYN = ame_util.booleanTrue) then

312: tempApprover.source := firstApproverSource;
313: firstApproverSource := null;
314: end if;
315: if(not finalAuthorityFound and
316: tempHasFinalAuthorityYN = ame_util.booleanTrue) then
317: finalAuthorityFound := true;
318: finalAuthorityApproverCategory := tempApprover.approver_category;
319: finalAuthoritySource := tempApprover.source;
320: end if;

Line 333: if(votingRegimeType = ame_util.serializedVoting) then

329: actionTypeIdIn => tempApprover.action_type_id,
330: groupOrChainIdIn => tempApprover.group_or_chain_id);
331:
332: tempMemberOrderNumber := tempMemberOrderNumber + 1;
333: if(votingRegimeType = ame_util.serializedVoting) then
334: tempApprover.member_order_number := tempMemberOrderNumber;
335: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
336: tempApprover.member_order_number := 1;
337: end if;

Line 335: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */

331:
332: tempMemberOrderNumber := tempMemberOrderNumber + 1;
333: if(votingRegimeType = ame_util.serializedVoting) then
334: tempApprover.member_order_number := tempMemberOrderNumber;
335: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
336: tempApprover.member_order_number := 1;
337: end if;
338: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
339: /* The engine will set tempApprover.approver_order_number; leave it null here. */

Line 346: COAInsertee := ame_util.emptyApproverRecord2;

342: insertion is found, keep checking till no more COA insertions. The check
343: for final authority will need to be done again. */
344: loop
345: /* Initialize COAInsertee approverRecord2 */
346: COAInsertee := ame_util.emptyApproverRecord2;
347: /* Check if there are any COAInsertions */
348: ame_engine.getHandlerCOAInsertion(nameIn => tempApprover.name,
349: itemClassIn => tempApprover.item_class,
350: itemIdIn => tempApprover.item_id,

Line 380: tempApprover.approver_category := ame_util.approvalApproverCategory;

376: hasFinalAuthorityYNOut => tempHasFinalAuthorityYN,
377: supervisorJobLevelOut => tempSupervisorJobLevel,
378: nextSupervisorIdOut => tempNextSupervisorId);
379: tempApprover.source := COAInsertee.source;
380: tempApprover.approver_category := ame_util.approvalApproverCategory;
381: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
382: tempMemberOrderNumber := tempMemberOrderNumber + 1;
383: if(votingRegimeType = ame_util.serializedVoting) then
384: tempApprover.member_order_number := tempMemberOrderNumber;

Line 381: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;

377: supervisorJobLevelOut => tempSupervisorJobLevel,
378: nextSupervisorIdOut => tempNextSupervisorId);
379: tempApprover.source := COAInsertee.source;
380: tempApprover.approver_category := ame_util.approvalApproverCategory;
381: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
382: tempMemberOrderNumber := tempMemberOrderNumber + 1;
383: if(votingRegimeType = ame_util.serializedVoting) then
384: tempApprover.member_order_number := tempMemberOrderNumber;
385: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */

Line 383: if(votingRegimeType = ame_util.serializedVoting) then

379: tempApprover.source := COAInsertee.source;
380: tempApprover.approver_category := ame_util.approvalApproverCategory;
381: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
382: tempMemberOrderNumber := tempMemberOrderNumber + 1;
383: if(votingRegimeType = ame_util.serializedVoting) then
384: tempApprover.member_order_number := tempMemberOrderNumber;
385: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
386: tempApprover.member_order_number := 1;
387: end if;

Line 385: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */

381: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
382: tempMemberOrderNumber := tempMemberOrderNumber + 1;
383: if(votingRegimeType = ame_util.serializedVoting) then
384: tempApprover.member_order_number := tempMemberOrderNumber;
385: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
386: tempApprover.member_order_number := 1;
387: end if;
388: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
389: itemClassIn => tempApprover.item_class,

Line 394: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or

390: itemIdIn => tempApprover.item_id,
391: actionTypeIdIn => tempApprover.action_type_id,
392: groupOrChainIdIn => tempApprover.group_or_chain_id);
393: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
394: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
395: ame_util.nullStatus check to see if approver could have final authority */
396: if ((tempApprover.approval_status is null) or
397: (tempApprover.approval_status in
398: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,

Line 395: ame_util.nullStatus check to see if approver could have final authority */

391: actionTypeIdIn => tempApprover.action_type_id,
392: groupOrChainIdIn => tempApprover.group_or_chain_id);
393: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
394: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
395: ame_util.nullStatus check to see if approver could have final authority */
396: if ((tempApprover.approval_status is null) or
397: (tempApprover.approval_status in
398: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
399: ame_util.repeatedStatus, ame_util.suppressedStatus,

Line 398: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,

394: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
395: ame_util.nullStatus check to see if approver could have final authority */
396: if ((tempApprover.approval_status is null) or
397: (tempApprover.approval_status in
398: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
399: ame_util.repeatedStatus, ame_util.suppressedStatus,
400: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
401: (tempApprover.approver_category = ame_util.approvalApproverCategory and
402: tempApprover.approval_status = ame_util.notifiedStatus) )

Line 399: ame_util.repeatedStatus, ame_util.suppressedStatus,

395: ame_util.nullStatus check to see if approver could have final authority */
396: if ((tempApprover.approval_status is null) or
397: (tempApprover.approval_status in
398: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
399: ame_util.repeatedStatus, ame_util.suppressedStatus,
400: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
401: (tempApprover.approver_category = ame_util.approvalApproverCategory and
402: tempApprover.approval_status = ame_util.notifiedStatus) )
403: then

Line 400: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or

396: if ((tempApprover.approval_status is null) or
397: (tempApprover.approval_status in
398: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
399: ame_util.repeatedStatus, ame_util.suppressedStatus,
400: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
401: (tempApprover.approver_category = ame_util.approvalApproverCategory and
402: tempApprover.approval_status = ame_util.notifiedStatus) )
403: then
404: if(not finalAuthorityFound and

Line 401: (tempApprover.approver_category = ame_util.approvalApproverCategory and

397: (tempApprover.approval_status in
398: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
399: ame_util.repeatedStatus, ame_util.suppressedStatus,
400: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
401: (tempApprover.approver_category = ame_util.approvalApproverCategory and
402: tempApprover.approval_status = ame_util.notifiedStatus) )
403: then
404: if(not finalAuthorityFound and
405: tempHasFinalAuthorityYN = ame_util.booleanTrue) then

Line 402: tempApprover.approval_status = ame_util.notifiedStatus) )

398: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
399: ame_util.repeatedStatus, ame_util.suppressedStatus,
400: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
401: (tempApprover.approver_category = ame_util.approvalApproverCategory and
402: tempApprover.approval_status = ame_util.notifiedStatus) )
403: then
404: if(not finalAuthorityFound and
405: tempHasFinalAuthorityYN = ame_util.booleanTrue) then
406: finalAuthorityFound := true;

Line 405: tempHasFinalAuthorityYN = ame_util.booleanTrue) then

401: (tempApprover.approver_category = ame_util.approvalApproverCategory and
402: tempApprover.approval_status = ame_util.notifiedStatus) )
403: then
404: if(not finalAuthorityFound and
405: tempHasFinalAuthorityYN = ame_util.booleanTrue) then
406: finalAuthorityFound := true;
407: end if;
408: end if;
409: ame_engine.addApprover(approverIn => tempApprover);

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

438: if(finalAuthorityFound and
439: tempOldJobLevel <> tempJobLevel) then
440: exit;
441: end if;
442: tempApprover.api_insertion := ame_util.oamGenerated;
443: ame_approver_type_pkg.getWfRolesNameAndDisplayName(
444: origSystemIn => ame_util.perOrigSystem,
445: origSystemIdIn => tempApprover.orig_system_id,
446: nameOut => tempApprover.name,

Line 444: origSystemIn => ame_util.perOrigSystem,

440: exit;
441: end if;
442: tempApprover.api_insertion := ame_util.oamGenerated;
443: ame_approver_type_pkg.getWfRolesNameAndDisplayName(
444: origSystemIn => ame_util.perOrigSystem,
445: origSystemIdIn => tempApprover.orig_system_id,
446: nameOut => tempApprover.name,
447: displayNameOut => tempApprover.display_name);
448: if firstAuthInsExists then

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

455: end loop;
456: exception
457: when oneChainException then
458: errorCode := -20001;
459: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
460: messageNameIn => 'AME_400253_HAN_ONE_CHN_REQ');
461: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
462: routineNameIn => 'handler',
463: exceptionNumberIn => errorCode,

Line 461: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',

457: when oneChainException then
458: errorCode := -20001;
459: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
460: messageNameIn => 'AME_400253_HAN_ONE_CHN_REQ');
461: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
462: routineNameIn => 'handler',
463: exceptionNumberIn => errorCode,
464: exceptionStringIn => errorMessage);
465: raise_application_error(errorCode,

Line 470: origSystemIn => ame_util.perOrigSystem,

466: errorMessage);
467: when noSupervisorException then
468: if tempApprover.display_name is null then
469: personDisplayName := ame_approver_type_pkg.getApproverDisplayName2(
470: origSystemIn => ame_util.perOrigSystem,
471: origSystemIdIn => tempApprover.orig_system_id );
472: else
473: personDisplayName := tempApprover.display_name;
474: end if;

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

472: else
473: personDisplayName := tempApprover.display_name;
474: end if;
475: errorCode := -20001;
476: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
477: messageNameIn => 'AME_400297_HAN_LACK_SPVR',
478: tokenNameOneIn => 'FIRST_NAME',
479: tokenValueOneIn => personDisplayName,
480: tokenNameTwoIn => 'LAST_NAME',

Line 484: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',

480: tokenNameTwoIn => 'LAST_NAME',
481: tokenValueTwoIn => null ,
482: tokenNameThreeIn => 'OTHER_NAME',
483: tokenValueThreeIn => null );
484: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
485: routineNameIn => 'handler',
486: exceptionNumberIn => errorCode,
487: exceptionStringIn => errorMessage);
488: raise_application_error(errorCode,

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

489: errorMessage);
490: when nullFirstIdException then
491: errorCode := -20001;
492: errorMessage :=
493: ame_util.getMessage(applicationShortNameIn => 'PER',
494: messageNameIn => 'AME_400250_HAN_NULL_FRST_STRT',
495: tokenNameOneIn => 'STARTING_POINT_ATTRIBUTE',
496: tokenValueOneIn => ame_util.firstStartingPointAttribute);
497: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',

Line 496: tokenValueOneIn => ame_util.firstStartingPointAttribute);

492: errorMessage :=
493: ame_util.getMessage(applicationShortNameIn => 'PER',
494: messageNameIn => 'AME_400250_HAN_NULL_FRST_STRT',
495: tokenNameOneIn => 'STARTING_POINT_ATTRIBUTE',
496: tokenValueOneIn => ame_util.firstStartingPointAttribute);
497: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
498: routineNameIn => 'handler',
499: exceptionNumberIn => errorCode,
500: exceptionStringIn => errorMessage);

Line 497: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',

493: ame_util.getMessage(applicationShortNameIn => 'PER',
494: messageNameIn => 'AME_400250_HAN_NULL_FRST_STRT',
495: tokenNameOneIn => 'STARTING_POINT_ATTRIBUTE',
496: tokenValueOneIn => ame_util.firstStartingPointAttribute);
497: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
498: routineNameIn => 'handler',
499: exceptionNumberIn => errorCode,
500: exceptionStringIn => errorMessage);
501: raise_application_error(errorCode,

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

502: errorMessage);
503: when nullSecondIdException then
504: errorCode := -20001;
505: errorMessage :=
506: ame_util.getMessage(applicationShortNameIn => 'PER',
507: messageNameIn => 'AME_400250_HAN_NULL_FRST_STRT',
508: tokenNameOneIn => 'STARTING_POINT_ATTRIBUTE',
509: tokenValueOneIn => ame_util.secondStartingPointAttribute);
510: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',

Line 509: tokenValueOneIn => ame_util.secondStartingPointAttribute);

505: errorMessage :=
506: ame_util.getMessage(applicationShortNameIn => 'PER',
507: messageNameIn => 'AME_400250_HAN_NULL_FRST_STRT',
508: tokenNameOneIn => 'STARTING_POINT_ATTRIBUTE',
509: tokenValueOneIn => ame_util.secondStartingPointAttribute);
510: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
511: routineNameIn => 'handler',
512: exceptionNumberIn => errorCode,
513: exceptionStringIn => errorMessage);

Line 510: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',

506: ame_util.getMessage(applicationShortNameIn => 'PER',
507: messageNameIn => 'AME_400250_HAN_NULL_FRST_STRT',
508: tokenNameOneIn => 'STARTING_POINT_ATTRIBUTE',
509: tokenValueOneIn => ame_util.secondStartingPointAttribute);
510: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
511: routineNameIn => 'handler',
512: exceptionNumberIn => errorCode,
513: exceptionStringIn => errorMessage);
514: raise_application_error(errorCode,

Line 517: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',

513: exceptionStringIn => errorMessage);
514: raise_application_error(errorCode,
515: errorMessage);
516: when others then
517: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
518: routineNameIn => 'handler',
519: exceptionNumberIn => sqlcode,
520: exceptionStringIn => sqlerrm);
521: raise;

Line 526: errorMessage ame_util.longestStringType;

522: end handler;
523: procedure parseAndSortRules(chainNumIn in integer) as
524: badParameterException exception;
525: errorCode integer;
526: errorMessage ame_util.longestStringType;
527: tempCategory ame_util.charType;
528: tempIndex integer;
529: tempLength integer;
530: tempNumber integer;

Line 527: tempCategory ame_util.charType;

523: procedure parseAndSortRules(chainNumIn in integer) as
524: badParameterException exception;
525: errorCode integer;
526: errorMessage ame_util.longestStringType;
527: tempCategory ame_util.charType;
528: tempIndex integer;
529: tempLength integer;
530: tempNumber integer;
531: tempRuleId integer;

Line 532: tempSign ame_util.charType;

528: tempIndex integer;
529: tempLength integer;
530: tempNumber integer;
531: tempRuleId integer;
532: tempSign ame_util.charType;
533: upperLimit integer;
534: begin
535: /* Parse. */
536: tempIndex := 0;

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

601: end loop;
602: exception
603: when badParameterException then
604: errorCode := -20001;
605: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
606: messageNameIn => 'AME_400234_HAN_ACT_PAR_SIGN');
607: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
608: routineNameIn => 'parseAndSortRules',
609: exceptionNumberIn => errorCode,

Line 607: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',

603: when badParameterException then
604: errorCode := -20001;
605: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
606: messageNameIn => 'AME_400234_HAN_ACT_PAR_SIGN');
607: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
608: routineNameIn => 'parseAndSortRules',
609: exceptionNumberIn => errorCode,
610: exceptionStringIn => errorMessage);
611: raise_application_error(errorCode,

Line 614: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',

610: exceptionStringIn => errorMessage);
611: raise_application_error(errorCode,
612: errorMessage);
613: when others then
614: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
615: routineNameIn => 'parseAndSortRules',
616: exceptionNumberIn => sqlcode,
617: exceptionStringIn => sqlerrm);
618: raise;