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.6 2011/05/18 11:29:15 nchinnam ship $ */
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.6 2011/05/18 11:29:15 nchinnam ship $ */
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 := -20205;
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 := -20205;
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: l_error_code number;
201: begin

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

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

Line 204: ame_util.booleanAttributeTrue;

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

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

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

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

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

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

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

Line 250: ame_util.firstStartingPointAttribute));

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

Line 259: ame_util.secondStartingPointAttribute));

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

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

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

Line 267: origSystemIn => ame_util.perOrigSystem,

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

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

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

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

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

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

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

Line 319: tempHasFinalAuthorityYN = ame_util.booleanTrue) then

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

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

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

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

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

Line 349: COAInsertee := ame_util.emptyApproverRecord2;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Line 402: ame_util.repeatedStatus, ame_util.suppressedStatus,

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

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

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

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

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

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

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

Line 408: tempHasFinalAuthorityYN = ame_util.booleanTrue) then

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

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

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

Line 447: origSystemIn => ame_util.perOrigSystem,

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

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

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

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

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

Line 473: origSystemIn => ame_util.perOrigSystem,

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

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

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

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

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

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

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

Line 499: tokenValueOneIn => ame_util.firstStartingPointAttribute);

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

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

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

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

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

Line 512: tokenValueOneIn => ame_util.secondStartingPointAttribute);

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

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

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

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

516: exceptionStringIn => errorMessage);
517: raise_application_error(errorCode,
518: errorMessage);
519: when others then
520: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
521: routineNameIn => 'handler',
522: exceptionNumberIn => sqlcode,
523: exceptionStringIn => sqlerrm);
524: l_error_code := sqlcode;

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

522: exceptionNumberIn => sqlcode,
523: exceptionStringIn => sqlerrm);
524: l_error_code := sqlcode;
525: if l_error_code = -20213 then
526: errorMessage := ame_util.getMessage(applicationShortNameIn =>'PER',
527: messageNameIn => 'AME_400834_INV_HANDLR_APR',
528: tokenNameOneIn => 'ACTION_TYPE_NAME',
529: tokenValueOneIn => ame_engine.getActionTypeName(tempApprover.action_type_id),
530: tokenNameTwoIn => 'ORIG_SYSTEM',

Line 531: tokenValueTwoIn => ame_util.perOrigSystem,

527: messageNameIn => 'AME_400834_INV_HANDLR_APR',
528: tokenNameOneIn => 'ACTION_TYPE_NAME',
529: tokenValueOneIn => ame_engine.getActionTypeName(tempApprover.action_type_id),
530: tokenNameTwoIn => 'ORIG_SYSTEM',
531: tokenValueTwoIn => ame_util.perOrigSystem,
532: tokenNameThreeIn => 'ORIG_SYSEM_ID',
533: tokenValueThreeIn => tempApprover.orig_system_id);
534: raise_application_error(errorCode,errorMessage);
535: end if;

Line 541: errorMessage ame_util.longestStringType;

537: end handler;
538: procedure parseAndSortRules(chainNumIn in integer) as
539: badParameterException exception;
540: errorCode integer;
541: errorMessage ame_util.longestStringType;
542: tempCategory ame_util.charType;
543: tempIndex integer;
544: tempLength integer;
545: tempNumber integer;

Line 542: tempCategory ame_util.charType;

538: procedure parseAndSortRules(chainNumIn in integer) as
539: badParameterException exception;
540: errorCode integer;
541: errorMessage ame_util.longestStringType;
542: tempCategory ame_util.charType;
543: tempIndex integer;
544: tempLength integer;
545: tempNumber integer;
546: tempRuleId integer;

Line 547: tempSign ame_util.charType;

543: tempIndex integer;
544: tempLength integer;
545: tempNumber integer;
546: tempRuleId integer;
547: tempSign ame_util.charType;
548: upperLimit integer;
549: begin
550: /* Parse. */
551: tempIndex := 0;

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

616: end loop;
617: exception
618: when badParameterException then
619: errorCode := -20001;
620: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
621: messageNameIn => 'AME_400234_HAN_ACT_PAR_SIGN');
622: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
623: routineNameIn => 'parseAndSortRules',
624: exceptionNumberIn => errorCode,

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

618: when badParameterException then
619: errorCode := -20001;
620: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
621: messageNameIn => 'AME_400234_HAN_ACT_PAR_SIGN');
622: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
623: routineNameIn => 'parseAndSortRules',
624: exceptionNumberIn => errorCode,
625: exceptionStringIn => errorMessage);
626: raise_application_error(errorCode,

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

625: exceptionStringIn => errorMessage);
626: raise_application_error(errorCode,
627: errorMessage);
628: when others then
629: ame_util.runtimeException(packageNameIn => 'ame_dual_chains_handler',
630: routineNameIn => 'parseAndSortRules',
631: exceptionNumberIn => sqlcode,
632: exceptionStringIn => sqlerrm);
633: raise;