DBA Data[Home] [Help]

APPS.AME_RELATIVE_JOB_LEVEL_HANDLER dependencies on AME_UTIL

Line 4: approverCategories ame_util.charList;

1: package body ame_relative_job_level_handler as
2: /* $Header: ameerjha.pkb 120.3 2007/12/20 20:04:11 prasashe noship $ */
3: /* package variables */
4: approverCategories ame_util.charList;
5: parametersCount integer;
6: parameterNumbers ame_util.idList;
7: parameters ame_util.stringList;
8: parameterSigns ame_util.charList;

Line 6: parameterNumbers ame_util.idList;

2: /* $Header: ameerjha.pkb 120.3 2007/12/20 20:04:11 prasashe noship $ */
3: /* package variables */
4: approverCategories ame_util.charList;
5: parametersCount integer;
6: parameterNumbers ame_util.idList;
7: parameters ame_util.stringList;
8: parameterSigns ame_util.charList;
9: ruleIds ame_util.idList;
10: ruleSatisfiedYN ame_util.charList;

Line 7: parameters ame_util.stringList;

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

Line 8: parameterSigns ame_util.charList;

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

Line 9: ruleIds ame_util.idList;

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

Line 10: ruleSatisfiedYN ame_util.charList;

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

Line 42: category ame_util.charType;

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

Line 44: errorMessage ame_util.longestStringType;

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

Line 45: hasFinalAuthorityYN ame_util.charType;

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

Line 47: personDisplayName ame_util.longStringType;

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

Line 48: source ame_util.longStringType;

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

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

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

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

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

Line 78: category := ame_util.fyiApproverCategory;

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

Line 79: hasFinalAuthorityYN := ame_util.booleanTrue;

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

Line 111: hasFinalAuthorityYN = ame_util.booleanTrue) then

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

Line 112: hasFinalAuthorityYN := ame_util.booleanFalse;

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

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

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

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

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

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

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

Line 131: if(category = ame_util.fyiApproverCategory and

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

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

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

Line 133: category := ame_util.approvalApproverCategory;

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

Line 143: origSystemIn => ame_util.perOrigSystem,

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

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

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

Line 154: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',

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

Line 164: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',

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

Line 171: COAInsertee ame_util.approverRecord2;

167: exceptionStringIn => sqlerrm);
168: raise;
169: end getCatSourceAndAuthority;
170: procedure handler as
171: COAInsertee ame_util.approverRecord2;
172: errorCode integer;
173: errorMessage ame_util.longestStringType;
174: finalAuthorityApproverCategory ame_util.charType;
175: finalAuthorityFound boolean;

Line 173: errorMessage ame_util.longestStringType;

169: end getCatSourceAndAuthority;
170: procedure handler as
171: COAInsertee ame_util.approverRecord2;
172: errorCode integer;
173: errorMessage ame_util.longestStringType;
174: finalAuthorityApproverCategory ame_util.charType;
175: finalAuthorityFound boolean;
176: finalAuthoritySource ame_util.longStringType;
177: firstApproverSource ame_util.longStringType;

Line 174: finalAuthorityApproverCategory ame_util.charType;

170: procedure handler as
171: COAInsertee ame_util.approverRecord2;
172: errorCode integer;
173: errorMessage ame_util.longestStringType;
174: finalAuthorityApproverCategory ame_util.charType;
175: finalAuthorityFound boolean;
176: finalAuthoritySource ame_util.longStringType;
177: firstApproverSource ame_util.longStringType;
178: includeAllJobLevelApprovers boolean;

Line 176: finalAuthoritySource ame_util.longStringType;

172: errorCode integer;
173: errorMessage ame_util.longestStringType;
174: finalAuthorityApproverCategory ame_util.charType;
175: finalAuthorityFound boolean;
176: finalAuthoritySource ame_util.longStringType;
177: firstApproverSource ame_util.longStringType;
178: includeAllJobLevelApprovers boolean;
179: personDisplayName ame_util.longStringType;
180: noSupervisorException exception;

Line 177: firstApproverSource ame_util.longStringType;

173: errorMessage ame_util.longestStringType;
174: finalAuthorityApproverCategory ame_util.charType;
175: finalAuthorityFound boolean;
176: finalAuthoritySource ame_util.longStringType;
177: firstApproverSource ame_util.longStringType;
178: includeAllJobLevelApprovers boolean;
179: personDisplayName ame_util.longStringType;
180: noSupervisorException exception;
181: nullFirstIdException exception;

Line 179: personDisplayName ame_util.longStringType;

175: finalAuthorityFound boolean;
176: finalAuthoritySource ame_util.longStringType;
177: firstApproverSource ame_util.longStringType;
178: includeAllJobLevelApprovers boolean;
179: personDisplayName ame_util.longStringType;
180: noSupervisorException exception;
181: nullFirstIdException exception;
182: requestorId integer;
183: startingPointId integer;

Line 184: tempApprover ame_util.approverRecord2;

180: noSupervisorException exception;
181: nullFirstIdException exception;
182: requestorId integer;
183: startingPointId integer;
184: tempApprover ame_util.approverRecord2;
185: tempHasFinalAuthorityYN ame_util.charType;
186: tempJobLevel integer;
187: tempMemberOrderNumber integer;
188: tempOldJobLevel integer;

Line 185: tempHasFinalAuthorityYN ame_util.charType;

181: nullFirstIdException exception;
182: requestorId integer;
183: startingPointId integer;
184: tempApprover ame_util.approverRecord2;
185: tempHasFinalAuthorityYN ame_util.charType;
186: tempJobLevel integer;
187: tempMemberOrderNumber integer;
188: tempOldJobLevel integer;
189: tempSupervisorId integer;

Line 193: votingRegimeType ame_util.stringType;

189: tempSupervisorId integer;
190: tempSupervisorJobLevel integer;
191: tempNextSupervisorId integer;
192: topDogRequestorException exception;
193: votingRegimeType ame_util.stringType;
194: firstAuthInsExists boolean := false;
195: coaInsAuthForward boolean := false;
196: begin
197: finalAuthorityApproverCategory := null;

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

196: begin
197: finalAuthorityApproverCategory := null;
198: finalAuthoritySource := null;
199: includeAllJobLevelApprovers :=
200: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.includeAllApproversAttribute) =
201: ame_util.booleanAttributeTrue;
202: /* Populate some of the package variables. */
203: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
204: /*

Line 201: ame_util.booleanAttributeTrue;

197: finalAuthorityApproverCategory := null;
198: finalAuthoritySource := null;
199: includeAllJobLevelApprovers :=
200: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.includeAllApproversAttribute) =
201: ame_util.booleanAttributeTrue;
202: /* Populate some of the package variables. */
203: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
204: /*
205: The engine only calls a handler if a rule requiring it exists, so we can assume that

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

199: includeAllJobLevelApprovers :=
200: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.includeAllApproversAttribute) =
201: ame_util.booleanAttributeTrue;
202: /* Populate some of the package variables. */
203: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
204: /*
205: The engine only calls a handler if a rule requiring it exists, so we can assume that
206: the package variables that ame_engine.getHandlerRules initializes are nonempty.
207: Fetch the rules and sort them in increasing parameter order. (Duplicate parameters

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

210: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,
211: approverCategoriesOut => approverCategories,
212: parametersOut => parameters);
213: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
214: tempApprover.orig_system := ame_util.perOrigSystem;
215: tempApprover.authority := ame_util.authorityApprover;
216: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
217: tempApprover.item_class := ame_engine.getHandlerItemClassName;
218: tempApprover.item_id := ame_engine.getHandlerItemId;

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

211: approverCategoriesOut => approverCategories,
212: parametersOut => parameters);
213: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
214: tempApprover.orig_system := ame_util.perOrigSystem;
215: tempApprover.authority := ame_util.authorityApprover;
216: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
217: tempApprover.item_class := ame_engine.getHandlerItemClassName;
218: tempApprover.item_id := ame_engine.getHandlerItemId;
219: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;

Line 239: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.jobLevelStartingPointAttribute));

235: sourceOut => COAInsertee.source);
236: if COAInsertee.name is null then
237: /* Fetch some of the required attributes. */
238: startingPointId :=
239: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.jobLevelStartingPointAttribute));
240: if(startingPointId is null) then
241: requestorId :=
242: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionRequestorAttribute));
243: if (requestorId is null) then

Line 242: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionRequestorAttribute));

238: startingPointId :=
239: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.jobLevelStartingPointAttribute));
240: if(startingPointId is null) then
241: requestorId :=
242: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionRequestorAttribute));
243: if (requestorId is null) then
244: raise nullFirstIdException;
245: end if;
246: tempApprover.orig_system_id := requestorId;

Line 250: origSystemIn => ame_util.perOrigSystem,

246: tempApprover.orig_system_id := requestorId;
247: else
248: tempApprover.orig_system_id := startingPointId;
249: ame_approver_type_pkg.getWfRolesNameAndDisplayName(
250: origSystemIn => ame_util.perOrigSystem,
251: origSystemIdIn =>tempApprover.orig_system_id,
252: nameOut => tempApprover.name,
253: displayNameOut => tempApprover.display_name);
254: end if;

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

251: origSystemIdIn =>tempApprover.orig_system_id,
252: nameOut => tempApprover.name,
253: displayNameOut => tempApprover.display_name);
254: end if;
255: tempApprover.api_insertion := ame_util.oamGenerated;
256: else
257: tempApprover.name := COAInsertee.name;
258: tempApprover.orig_system := COAInsertee.orig_system;
259: tempApprover.orig_system_id := COAInsertee.orig_system_id;

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

258: tempApprover.orig_system := COAInsertee.orig_system;
259: tempApprover.orig_system_id := COAInsertee.orig_system_id;
260: tempApprover.display_name := COAInsertee.display_name;
261: firstApproverSource := COAInsertee.source;
262: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
263: firstAuthInsExists := true;
264: end if;
265: /* The threshhold Job level is the job level of this tempApprover */
266: ame_absolute_job_level_handler.getJobLevelAndSupervisor(personIdIn => tempApprover.orig_system_id,

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

269: threshholdJobLevel := tempJobLevel;
270: parametersCount := parameters.count;
271: parseAndSortRules;
272: for i in 1 .. ruleIds.count loop
273: ruleSatisfiedYN(i) := ame_util.booleanFalse;
274: end loop;
275: /* Self Approval is only an option for this handler if requestor is the top dog. So only need to check for it in that case.
276: But in case of no COAInsertion and no startingPointId, the chain must start from requestor's manager. This could
277: not be set above as the threshhold has to be the requestor's approval authority. */

Line 283: if(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowAutoApprovalAttribute)

279: startingPointId is null )
280: then
281: /* Check to make sure requestor is not the topDogPersonId, if yes check for autoapproval */
282: if (requestorId = topDogPersonId ) then
283: if(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowAutoApprovalAttribute)
284: = ame_util.booleanAttributeTrue) then
285: /* insert the requestor into the chain set the requestor's status to approved
286: end the chain with the requestor */
287: tempApprover.orig_system_id := requestorId;

Line 284: = ame_util.booleanAttributeTrue) then

280: then
281: /* Check to make sure requestor is not the topDogPersonId, if yes check for autoapproval */
282: if (requestorId = topDogPersonId ) then
283: if(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowAutoApprovalAttribute)
284: = ame_util.booleanAttributeTrue) then
285: /* insert the requestor into the chain set the requestor's status to approved
286: end the chain with the requestor */
287: tempApprover.orig_system_id := requestorId;
288: getCatSourceAndAuthority(personIdIn => tempApprover.orig_system_id,

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

299: itemIdIn => tempApprover.item_id,
300: actionTypeIdIn => tempApprover.action_type_id,
301: groupOrChainIdIn => tempApprover.group_or_chain_id);
302: tempApprover.member_order_number := 1;
303: tempApprover.api_insertion := ame_util.oamGenerated;
304: tempApprover.approval_status := ame_util.approvedStatus;
305: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
306: origSystemIdIn => tempApprover.orig_system_id,
307: nameOut => tempApprover.name,

Line 304: tempApprover.approval_status := ame_util.approvedStatus;

300: actionTypeIdIn => tempApprover.action_type_id,
301: groupOrChainIdIn => tempApprover.group_or_chain_id);
302: tempApprover.member_order_number := 1;
303: tempApprover.api_insertion := ame_util.oamGenerated;
304: tempApprover.approval_status := ame_util.approvedStatus;
305: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
306: origSystemIdIn => tempApprover.orig_system_id,
307: nameOut => tempApprover.name,
308: displayNameOut => tempApprover.display_name);

Line 305: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,

301: groupOrChainIdIn => tempApprover.group_or_chain_id);
302: tempApprover.member_order_number := 1;
303: tempApprover.api_insertion := ame_util.oamGenerated;
304: tempApprover.approval_status := ame_util.approvedStatus;
305: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
306: origSystemIdIn => tempApprover.orig_system_id,
307: nameOut => tempApprover.name,
308: displayNameOut => tempApprover.display_name);
309: ame_engine.addApprover(approverIn => tempApprover);

Line 323: origSystemIn => ame_util.perOrigSystem,

319: ame_absolute_job_level_handler.getJobLevelAndSupervisor(personIdIn => tempApprover.orig_system_id,
320: jobLevelOut => tempJobLevel,
321: supervisorIdOut => tempSupervisorId);
322: ame_approver_type_pkg.getWfRolesNameAndDisplayName(
323: origSystemIn => ame_util.perOrigSystem,
324: origSystemIdIn =>tempApprover.orig_system_id,
325: nameOut => tempApprover.name,
326: displayNameOut => tempApprover.display_name);
327: end if;

Line 346: tempHasFinalAuthorityYN = ame_util.booleanTrue) then

342: tempApprover.source := firstApproverSource;
343: firstApproverSource := null;
344: end if;
345: if(not finalAuthorityFound and
346: tempHasFinalAuthorityYN = ame_util.booleanTrue) then
347: finalAuthorityFound := true;
348: finalAuthorityApproverCategory := tempApprover.approver_category;
349: finalAuthoritySource := tempApprover.source;
350: end if;

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

352: finalAuthoritySource is not null ) then
353: tempApprover.approver_category := finalAuthorityApproverCategory;
354: tempApprover.source := finalAuthoritySource;
355: end if;
356: tempApprover.api_insertion := ame_util.oamGenerated;
357: tempApprover.occurrence := 1;
358: tempMemberOrderNumber := tempMemberOrderNumber + 1;
359: if(votingRegimeType = ame_util.serializedVoting) then
360: tempApprover.member_order_number := tempMemberOrderNumber;

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

355: end if;
356: tempApprover.api_insertion := ame_util.oamGenerated;
357: tempApprover.occurrence := 1;
358: tempMemberOrderNumber := tempMemberOrderNumber + 1;
359: if(votingRegimeType = ame_util.serializedVoting) then
360: tempApprover.member_order_number := tempMemberOrderNumber;
361: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
362: tempApprover.member_order_number := 1;
363: end if;

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

357: tempApprover.occurrence := 1;
358: tempMemberOrderNumber := tempMemberOrderNumber + 1;
359: if(votingRegimeType = ame_util.serializedVoting) then
360: tempApprover.member_order_number := tempMemberOrderNumber;
361: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
362: tempApprover.member_order_number := 1;
363: end if;
364: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
365: /* The engine will set tempApprover.approver_order_number; leave it null here. */

Line 373: COAInsertee := ame_util.emptyApproverRecord2;

369: done again.
370: */
371: loop
372: /* Initialize COAInsertee approverRecord2 */
373: COAInsertee := ame_util.emptyApproverRecord2;
374: /* Check if there are any COAInsertions */
375: ame_engine.getHandlerCOAInsertion(nameIn => tempApprover.name,
376: itemClassIn => tempApprover.item_class,
377: itemIdIn => tempApprover.item_id,

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

404: hasFinalAuthorityYNOut => tempHasFinalAuthorityYN,
405: supervisorJobLevelOut => tempSupervisorJobLevel,
406: nextSupervisorIdOut => tempNextSupervisorId);
407: tempApprover.source := COAInsertee.source;
408: tempApprover.approver_category := ame_util.approvalApproverCategory;
409: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
410: tempMemberOrderNumber := tempMemberOrderNumber + 1;
411: if(votingRegimeType = ame_util.serializedVoting) then
412: tempApprover.member_order_number := tempMemberOrderNumber;

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

405: supervisorJobLevelOut => tempSupervisorJobLevel,
406: nextSupervisorIdOut => tempNextSupervisorId);
407: tempApprover.source := COAInsertee.source;
408: tempApprover.approver_category := ame_util.approvalApproverCategory;
409: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
410: tempMemberOrderNumber := tempMemberOrderNumber + 1;
411: if(votingRegimeType = ame_util.serializedVoting) then
412: tempApprover.member_order_number := tempMemberOrderNumber;
413: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */

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

407: tempApprover.source := COAInsertee.source;
408: tempApprover.approver_category := ame_util.approvalApproverCategory;
409: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
410: tempMemberOrderNumber := tempMemberOrderNumber + 1;
411: if(votingRegimeType = ame_util.serializedVoting) then
412: tempApprover.member_order_number := tempMemberOrderNumber;
413: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
414: tempApprover.member_order_number := 1;
415: end if;

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

409: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
410: tempMemberOrderNumber := tempMemberOrderNumber + 1;
411: if(votingRegimeType = ame_util.serializedVoting) then
412: tempApprover.member_order_number := tempMemberOrderNumber;
413: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
414: tempApprover.member_order_number := 1;
415: end if;
416: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
417: itemClassIn => tempApprover.item_class,

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

418: itemIdIn => tempApprover.item_id,
419: actionTypeIdIn => tempApprover.action_type_id,
420: groupOrChainIdIn => tempApprover.group_or_chain_id);
421: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
422: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
423: ame_util.nullStatus check to see if approver could have final authority */
424: if ((tempApprover.approval_status is null) or
425: (tempApprover.approval_status in
426: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,

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

419: actionTypeIdIn => tempApprover.action_type_id,
420: groupOrChainIdIn => tempApprover.group_or_chain_id);
421: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
422: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
423: ame_util.nullStatus check to see if approver could have final authority */
424: if ((tempApprover.approval_status is null) or
425: (tempApprover.approval_status in
426: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
427: ame_util.repeatedStatus, ame_util.suppressedStatus,

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

422: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
423: ame_util.nullStatus check to see if approver could have final authority */
424: if ((tempApprover.approval_status is null) or
425: (tempApprover.approval_status in
426: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
427: ame_util.repeatedStatus, ame_util.suppressedStatus,
428: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
429: (tempApprover.approver_category = ame_util.approvalApproverCategory and
430: tempApprover.approval_status = ame_util.notifiedStatus) )

Line 427: ame_util.repeatedStatus, ame_util.suppressedStatus,

423: ame_util.nullStatus check to see if approver could have final authority */
424: if ((tempApprover.approval_status is null) or
425: (tempApprover.approval_status in
426: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
427: ame_util.repeatedStatus, ame_util.suppressedStatus,
428: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
429: (tempApprover.approver_category = ame_util.approvalApproverCategory and
430: tempApprover.approval_status = ame_util.notifiedStatus) )
431: then

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

424: if ((tempApprover.approval_status is null) or
425: (tempApprover.approval_status in
426: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
427: ame_util.repeatedStatus, ame_util.suppressedStatus,
428: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
429: (tempApprover.approver_category = ame_util.approvalApproverCategory and
430: tempApprover.approval_status = ame_util.notifiedStatus) )
431: then
432: if(not finalAuthorityFound and

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

425: (tempApprover.approval_status in
426: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
427: ame_util.repeatedStatus, ame_util.suppressedStatus,
428: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
429: (tempApprover.approver_category = ame_util.approvalApproverCategory and
430: tempApprover.approval_status = ame_util.notifiedStatus) )
431: then
432: if(not finalAuthorityFound and
433: tempHasFinalAuthorityYN = ame_util.booleanTrue) then

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

426: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
427: ame_util.repeatedStatus, ame_util.suppressedStatus,
428: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
429: (tempApprover.approver_category = ame_util.approvalApproverCategory and
430: tempApprover.approval_status = ame_util.notifiedStatus) )
431: then
432: if(not finalAuthorityFound and
433: tempHasFinalAuthorityYN = ame_util.booleanTrue) then
434: finalAuthorityFound := true;

Line 433: tempHasFinalAuthorityYN = ame_util.booleanTrue) then

429: (tempApprover.approver_category = ame_util.approvalApproverCategory and
430: tempApprover.approval_status = ame_util.notifiedStatus) )
431: then
432: if(not finalAuthorityFound and
433: tempHasFinalAuthorityYN = ame_util.booleanTrue) then
434: finalAuthorityFound := true;
435: end if;
436: end if;
437: ame_engine.addApprover(approverIn => tempApprover);

Line 470: origSystemIn => ame_util.perOrigSystem,

466: tempOldJobLevel <> tempJobLevel) then
467: exit;
468: end if;
469: ame_approver_type_pkg.getWfRolesNameAndDisplayName(
470: origSystemIn => ame_util.perOrigSystem,
471: origSystemIdIn =>tempApprover.orig_system_id,
472: nameOut => tempApprover.name,
473: displayNameOut => tempApprover.display_name);
474: if firstAuthInsExists then

Line 485: origSystemIn => ame_util.perOrigSystem,

481: exception
482: when noSupervisorException then
483: if tempApprover.display_name is null then
484: personDisplayName := ame_approver_type_pkg.getApproverDisplayName2(
485: origSystemIn => ame_util.perOrigSystem,
486: origSystemIdIn => tempApprover.orig_system_id );
487: else
488: personDisplayName := tempApprover.display_name;
489: end if;

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

487: else
488: personDisplayName := tempApprover.display_name;
489: end if;
490: errorCode := -20001;
491: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
492: messageNameIn => 'AME_400297_HAN_LACK_SPVR',
493: tokenNameOneIn => 'FIRST_NAME',
494: tokenValueOneIn => personDisplayName,
495: tokenNameTwoIn => 'LAST_NAME',

Line 499: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',

495: tokenNameTwoIn => 'LAST_NAME',
496: tokenValueTwoIn => null ,
497: tokenNameThreeIn => 'OTHER_NAME',
498: tokenValueThreeIn => null );
499: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',
500: routineNameIn => 'handler',
501: exceptionNumberIn => errorCode,
502: exceptionStringIn => errorMessage);
503: raise_application_error(errorCode,

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

504: errorMessage);
505: when nullFirstIdException then
506: errorCode := -20001;
507: errorMessage :=
508: ame_util.getMessage(applicationShortNameIn => 'PER',
509: messageNameIn => 'AME_400233_HAN_NO_TRANS_PER_ID');
510: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',
511: routineNameIn => 'handler',
512: exceptionNumberIn => errorCode,

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

506: errorCode := -20001;
507: errorMessage :=
508: ame_util.getMessage(applicationShortNameIn => 'PER',
509: messageNameIn => 'AME_400233_HAN_NO_TRANS_PER_ID');
510: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',
511: routineNameIn => 'handler',
512: exceptionNumberIn => errorCode,
513: exceptionStringIn => errorMessage);
514: raise_application_error(errorCode,

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

514: raise_application_error(errorCode,
515: errorMessage);
516: when topDogRequestorException then
517: errorCode := -20001;
518: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
519: messageNameIn => 'AME_400421_REQ_CANNOT_APPROVE');
520: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',
521: routineNameIn => 'handler',
522: exceptionNumberIn => errorCode,

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

516: when topDogRequestorException then
517: errorCode := -20001;
518: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
519: messageNameIn => 'AME_400421_REQ_CANNOT_APPROVE');
520: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',
521: routineNameIn => 'handler',
522: exceptionNumberIn => errorCode,
523: exceptionStringIn => errorMessage);
524: raise_application_error(errorCode,

Line 527: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',

523: exceptionStringIn => errorMessage);
524: raise_application_error(errorCode,
525: errorMessage);
526: when others then
527: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',
528: routineNameIn => 'handler',
529: exceptionNumberIn => sqlcode,
530: exceptionStringIn => sqlerrm);
531: raise;

Line 536: errorMessage ame_util.longestStringType;

532: end handler;
533: procedure parseAndSortRules as
534: badParameterException exception;
535: errorCode integer;
536: errorMessage ame_util.longestStringType;
537: tempCategory ame_util.charType;
538: tempLength integer;
539: tempNumber integer;
540: tempRuleId integer;

Line 537: tempCategory ame_util.charType;

533: procedure parseAndSortRules as
534: badParameterException exception;
535: errorCode integer;
536: errorMessage ame_util.longestStringType;
537: tempCategory ame_util.charType;
538: tempLength integer;
539: tempNumber integer;
540: tempRuleId integer;
541: tempSign ame_util.charType;

Line 541: tempSign ame_util.charType;

537: tempCategory ame_util.charType;
538: tempLength integer;
539: tempNumber integer;
540: tempRuleId integer;
541: tempSign ame_util.charType;
542: upperLimit integer;
543: begin
544: /* Parse. */
545: for i in 1 .. parametersCount loop

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

575: end loop;
576: exception
577: when badParameterException then
578: errorCode := -20001;
579: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
580: messageNameIn => 'AME_400234_HAN_ACT_PAR_SIGN');
581: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',
582: routineNameIn => 'parseAndSortRules',
583: exceptionNumberIn => errorCode,

Line 581: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',

577: when badParameterException then
578: errorCode := -20001;
579: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
580: messageNameIn => 'AME_400234_HAN_ACT_PAR_SIGN');
581: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',
582: routineNameIn => 'parseAndSortRules',
583: exceptionNumberIn => errorCode,
584: exceptionStringIn => errorMessage);
585: raise_application_error(errorCode,

Line 588: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',

584: exceptionStringIn => errorMessage);
585: raise_application_error(errorCode,
586: errorMessage);
587: when others then
588: ame_util.runtimeException(packageNameIn => 'ame_relative_job_level_handler',
589: routineNameIn => 'parseAndSortRules',
590: exceptionNumberIn => sqlcode,
591: exceptionStringIn => sqlerrm);
592: raise;