DBA Data[Home] [Help]

APPS.AME_SUPERVISORY_HANDLER dependencies on AME_UTIL

Line 4: approverCategories ame_util.charList;

1: package body ame_supervisory_handler as
2: /* $Header: ameesuha.pkb 120.3 2007/12/20 20:04:28 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: ameesuha.pkb 120.3 2007/12/20 20:04:28 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: topDogPersonId 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: topDogPersonId integer;
12: currentSupervisoryLevel integer;

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: topDogPersonId integer;
12: currentSupervisoryLevel integer;
13: /* forward declarations */

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: topDogPersonId integer;
12: currentSupervisoryLevel integer;
13: /* forward declarations */
14: /*

Line 31: errorMessage ame_util.longestStringType;

27: procedure parseAndSortRules;
28: /* Functions */
29: function getSupervisor(personIdIn in integer) return integer as
30: errorCode integer;
31: errorMessage ame_util.longestStringType;
32: nullIdException exception;
33: personDisplayName ame_util.longStringType;
34: supervisorPersonId integer;
35: begin

Line 33: personDisplayName ame_util.longStringType;

29: function getSupervisor(personIdIn in integer) return integer as
30: errorCode integer;
31: errorMessage ame_util.longestStringType;
32: nullIdException exception;
33: personDisplayName ame_util.longStringType;
34: supervisorPersonId integer;
35: begin
36: select supervisor_id
37: into supervisorPersonId

Line 58: origSystemIn => ame_util.perOrigSystem,

54: return(supervisorPersonId);
55: exception
56: when nullIdException then
57: personDisplayName := ame_approver_type_pkg.getApproverDisplayName2(
58: origSystemIn => ame_util.perOrigSystem,
59: origSystemIdIn => personIdIn );
60: errorCode := -20001;
61: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
62: messageNameIn => 'AME_400297_HAN_LACK_SPVR',

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

57: personDisplayName := ame_approver_type_pkg.getApproverDisplayName2(
58: origSystemIn => ame_util.perOrigSystem,
59: origSystemIdIn => personIdIn );
60: errorCode := -20001;
61: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
62: messageNameIn => 'AME_400297_HAN_LACK_SPVR',
63: tokenNameOneIn => 'FIRST_NAME',
64: tokenValueOneIn => personDisplayName,
65: tokenNameTwoIn => 'LAST_NAME',

Line 69: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',

65: tokenNameTwoIn => 'LAST_NAME',
66: tokenValueTwoIn => null ,
67: tokenNameThreeIn => 'OTHER_NAME',
68: tokenValueThreeIn => null );
69: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
70: routineNameIn => 'getSupervisor',
71: exceptionNumberIn => errorCode,
72: exceptionStringIn => errorMessage);
73: raise_application_error(errorCode,

Line 77: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',

73: raise_application_error(errorCode,
74: errorMessage);
75: return(null);
76: when others then
77: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
78: routineNameIn => 'getSupervisor',
79: exceptionNumberIn => sqlcode,
80: exceptionStringIn => sqlerrm);
81: raise;

Line 89: category ame_util.charType;

85: procedure getCatSourceAndAuthority(personIdIn in integer,
86: categoryOut out nocopy varchar2,
87: sourceOut out nocopy varchar2,
88: hasFinalAuthorityYNOut out nocopy varchar2) as
89: category ame_util.charType;
90: hasFinalAuthorityYN ame_util.charType;
91: source ame_util.longStringType;
92: supervisorJobLevel integer;
93: tempRuleRequiresApprover boolean;

Line 90: hasFinalAuthorityYN ame_util.charType;

86: categoryOut out nocopy varchar2,
87: sourceOut out nocopy varchar2,
88: hasFinalAuthorityYNOut out nocopy varchar2) as
89: category ame_util.charType;
90: hasFinalAuthorityYN ame_util.charType;
91: source ame_util.longStringType;
92: supervisorJobLevel integer;
93: tempRuleRequiresApprover boolean;
94: tempRuleSatisfied boolean;

Line 91: source ame_util.longStringType;

87: sourceOut out nocopy varchar2,
88: hasFinalAuthorityYNOut out nocopy varchar2) as
89: category ame_util.charType;
90: hasFinalAuthorityYN ame_util.charType;
91: source ame_util.longStringType;
92: supervisorJobLevel integer;
93: tempRuleRequiresApprover boolean;
94: tempRuleSatisfied boolean;
95: begin

Line 104: 3. The source value is an ame_util.fieldDelimiter-delimited list of the IDs of the

100: supervisor exceeds the rule's parameter number.
101: C. The approver is the top dog and the parameter sign is '-' and parameter number
102: does exceed the currentSupervisoryLevel
103: 2. An approver has final authority if the approver satisfies all the rules.
104: 3. The source value is an ame_util.fieldDelimiter-delimited list of the IDs of the
105: rules that require an approver. This procedure builds up the source value
106: according to the following logic:
107: A. If a rule has not yet been satisfied, the rule requires the input
108: approver.

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

105: rules that require an approver. This procedure builds up the source value
106: according to the following logic:
107: A. If a rule has not yet been satisfied, the rule requires the input
108: approver.
109: 4. An approver's category is ame_util.approvalApproverCategory if any of the
110: rule usages requiring the approver is of that category; otherwise the
111: approver's category is ame_util.fyiApproverCategory.
112: */
113: if currentSupervisoryLevel is null then

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

107: A. If a rule has not yet been satisfied, the rule requires the input
108: approver.
109: 4. An approver's category is ame_util.approvalApproverCategory if any of the
110: rule usages requiring the approver is of that category; otherwise the
111: approver's category is ame_util.fyiApproverCategory.
112: */
113: if currentSupervisoryLevel is null then
114: currentSupervisoryLevel := 1;
115: else

Line 118: category := ame_util.fyiApproverCategory;

114: currentSupervisoryLevel := 1;
115: else
116: currentSupervisoryLevel := currentSupervisoryLevel + 1;
117: end if;
118: category := ame_util.fyiApproverCategory;
119: hasFinalAuthorityYN := ame_util.booleanTrue;
120: for i in 1 .. parametersCount loop
121: /* Determine whether the approver satisfies the current rule. */
122: if(personIdIn = topDogPersonId) then

Line 119: hasFinalAuthorityYN := ame_util.booleanTrue;

115: else
116: currentSupervisoryLevel := currentSupervisoryLevel + 1;
117: end if;
118: category := ame_util.fyiApproverCategory;
119: hasFinalAuthorityYN := ame_util.booleanTrue;
120: for i in 1 .. parametersCount loop
121: /* Determine whether the approver satisfies the current rule. */
122: if(personIdIn = topDogPersonId) then
123: if(currentSupervisoryLevel < parameterNumbers(i) and

Line 141: hasFinalAuthorityYN = ame_util.booleanTrue) then

137: end if;
138: end if;
139: /* Update hasFinalAuthorityYN as needed. */
140: if(not tempRuleSatisfied and
141: hasFinalAuthorityYN = ame_util.booleanTrue) then
142: hasFinalAuthorityYN := ame_util.booleanFalse;
143: end if;
144: /* Determine whether the current rule requires the approver. */
145: tempRuleRequiresApprover := false;

Line 142: hasFinalAuthorityYN := ame_util.booleanFalse;

138: end if;
139: /* Update hasFinalAuthorityYN as needed. */
140: if(not tempRuleSatisfied and
141: hasFinalAuthorityYN = ame_util.booleanTrue) then
142: hasFinalAuthorityYN := ame_util.booleanFalse;
143: end if;
144: /* Determine whether the current rule requires the approver. */
145: tempRuleRequiresApprover := false;
146: if(ruleSatisfiedYN(i) = ame_util.booleanTrue) then

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

142: hasFinalAuthorityYN := ame_util.booleanFalse;
143: end if;
144: /* Determine whether the current rule requires the approver. */
145: tempRuleRequiresApprover := false;
146: if(ruleSatisfiedYN(i) = ame_util.booleanTrue) then
147: if(not tempRuleSatisfied) then
148: tempRuleRequiresApprover := true;
149: end if;
150: else

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

149: end if;
150: else
151: tempRuleRequiresApprover := true;
152: if(tempRuleSatisfied) then
153: ruleSatisfiedYN(i) := ame_util.booleanTrue;
154: end if;
155: end if;
156: if(tempRuleRequiresApprover) then
157: /* Update source. */

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

154: end if;
155: end if;
156: if(tempRuleRequiresApprover) then
157: /* Update source. */
158: ame_util.appendRuleIdToSource(ruleIdIn => ruleIds(i),
159: sourceInOut => source);
160: /* Update category as needed. */
161: if(category = ame_util.fyiApproverCategory and
162: approverCategories(i) = ame_util.approvalApproverCategory) then

Line 161: if(category = ame_util.fyiApproverCategory and

157: /* Update source. */
158: ame_util.appendRuleIdToSource(ruleIdIn => ruleIds(i),
159: sourceInOut => source);
160: /* Update category as needed. */
161: if(category = ame_util.fyiApproverCategory and
162: approverCategories(i) = ame_util.approvalApproverCategory) then
163: category := ame_util.approvalApproverCategory;
164: end if;
165: end if;

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

158: ame_util.appendRuleIdToSource(ruleIdIn => ruleIds(i),
159: sourceInOut => source);
160: /* Update category as needed. */
161: if(category = ame_util.fyiApproverCategory and
162: approverCategories(i) = ame_util.approvalApproverCategory) then
163: category := ame_util.approvalApproverCategory;
164: end if;
165: end if;
166: end loop;

Line 163: category := ame_util.approvalApproverCategory;

159: sourceInOut => source);
160: /* Update category as needed. */
161: if(category = ame_util.fyiApproverCategory and
162: approverCategories(i) = ame_util.approvalApproverCategory) then
163: category := ame_util.approvalApproverCategory;
164: end if;
165: end if;
166: end loop;
167: categoryOut := category;

Line 175: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',

171: when others then
172: categoryOut := null;
173: hasFinalAuthorityYNOut := null;
174: sourceOut := null;
175: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
176: routineNameIn => 'getCatSourceAndAuthority',
177: exceptionNumberIn => sqlcode,
178: exceptionStringIn => sqlerrm);
179: raise;

Line 182: COAInsertee ame_util.approverRecord2;

178: exceptionStringIn => sqlerrm);
179: raise;
180: end getCatSourceAndAuthority;
181: procedure handler as
182: COAInsertee ame_util.approverRecord2;
183: errorCode integer;
184: errorMessage ame_util.longestStringType;
185: finalAuthorityFound boolean;
186: firstApproverSource ame_util.longStringType;

Line 184: errorMessage ame_util.longestStringType;

180: end getCatSourceAndAuthority;
181: procedure handler as
182: COAInsertee ame_util.approverRecord2;
183: errorCode integer;
184: errorMessage ame_util.longestStringType;
185: finalAuthorityFound boolean;
186: firstApproverSource ame_util.longStringType;
187: nullFirstIdException exception;
188: requestorId integer;

Line 186: firstApproverSource ame_util.longStringType;

182: COAInsertee ame_util.approverRecord2;
183: errorCode integer;
184: errorMessage ame_util.longestStringType;
185: finalAuthorityFound boolean;
186: firstApproverSource ame_util.longStringType;
187: nullFirstIdException exception;
188: requestorId integer;
189: startingPointId integer;
190: tempApprover ame_util.approverRecord2;

Line 190: tempApprover ame_util.approverRecord2;

186: firstApproverSource ame_util.longStringType;
187: nullFirstIdException exception;
188: requestorId integer;
189: startingPointId integer;
190: tempApprover ame_util.approverRecord2;
191: tempHasFinalAuthorityYN ame_util.charType;
192: tempMemberOrderNumber integer;
193: tempSupervisorId integer;
194: topDogRequestorException exception;

Line 191: tempHasFinalAuthorityYN ame_util.charType;

187: nullFirstIdException exception;
188: requestorId integer;
189: startingPointId integer;
190: tempApprover ame_util.approverRecord2;
191: tempHasFinalAuthorityYN ame_util.charType;
192: tempMemberOrderNumber integer;
193: tempSupervisorId integer;
194: topDogRequestorException exception;
195: votingRegimeType ame_util.stringType;

Line 195: votingRegimeType ame_util.stringType;

191: tempHasFinalAuthorityYN ame_util.charType;
192: tempMemberOrderNumber integer;
193: tempSupervisorId integer;
194: topDogRequestorException exception;
195: votingRegimeType ame_util.stringType;
196: currentApproverPersonId integer;
197: firstAuthInsExists boolean := false;
198: coaInsAuthForward boolean := false;
199: begin

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

208: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,
209: approverCategoriesOut => approverCategories,
210: parametersOut => parameters);
211: /* Populate some of the package variables. */
212: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
213: parametersCount := parameters.count;
214: parseAndSortRules;
215: for i in 1 .. ruleIds.count loop
216: ruleSatisfiedYN(i) := ame_util.booleanFalse;

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

212: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
213: parametersCount := parameters.count;
214: parseAndSortRules;
215: for i in 1 .. ruleIds.count loop
216: ruleSatisfiedYN(i) := ame_util.booleanFalse;
217: end loop;
218: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
219: tempApprover.orig_system := ame_util.perOrigSystem;
220: tempApprover.authority := ame_util.authorityApprover;

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

215: for i in 1 .. ruleIds.count loop
216: ruleSatisfiedYN(i) := ame_util.booleanFalse;
217: end loop;
218: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
219: tempApprover.orig_system := ame_util.perOrigSystem;
220: tempApprover.authority := ame_util.authorityApprover;
221: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
222: tempApprover.item_class := ame_engine.getHandlerItemClassName;
223: tempApprover.item_id := ame_engine.getHandlerItemId;

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

216: ruleSatisfiedYN(i) := ame_util.booleanFalse;
217: end loop;
218: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
219: tempApprover.orig_system := ame_util.perOrigSystem;
220: tempApprover.authority := ame_util.authorityApprover;
221: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
222: tempApprover.item_class := ame_engine.getHandlerItemClassName;
223: tempApprover.item_id := ame_engine.getHandlerItemId;
224: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;

Line 249: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.supStartingPointAttribute));

245: */
246: if COAInsertee.name is null then
247: /* Fetch some of the required attributes. */
248: startingPointId :=
249: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.supStartingPointAttribute));
250: if(startingPointId is null) then
251: requestorId :=
252: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionRequestorAttribute));
253: if (requestorId is null) then

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

248: startingPointId :=
249: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.supStartingPointAttribute));
250: if(startingPointId is null) then
251: requestorId :=
252: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionRequestorAttribute));
253: if (requestorId is null) then
254: raise nullFirstIdException;
255: end if;
256: /* check if requestor is the top supervisor person id */

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

256: /* check if requestor is the top supervisor person id */
257: if topDogPersonId = requestorId then
258: tempApprover.orig_system_id := requestorId;
259: /* check if requestor can self approve transaction */
260: if(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowAutoApprovalAttribute)
261: = ame_util.booleanAttributeTrue) then
262: getCatSourceAndAuthority(personIdIn => tempApprover.orig_system_id,
263: categoryOut => tempApprover.approver_category,
264: sourceOut => tempApprover.source,

Line 261: = ame_util.booleanAttributeTrue) then

257: if topDogPersonId = requestorId then
258: tempApprover.orig_system_id := requestorId;
259: /* check if requestor can self approve transaction */
260: if(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowAutoApprovalAttribute)
261: = ame_util.booleanAttributeTrue) then
262: getCatSourceAndAuthority(personIdIn => tempApprover.orig_system_id,
263: categoryOut => tempApprover.approver_category,
264: sourceOut => tempApprover.source,
265: hasFinalAuthorityYNOut => tempHasFinalAuthorityYN);

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

268: itemIdIn => tempApprover.item_id,
269: actionTypeIdIn => tempApprover.action_type_id,
270: groupOrChainIdIn => tempApprover.group_or_chain_id);
271: tempApprover.member_order_number := 1;
272: tempApprover.api_insertion := ame_util.oamGenerated;
273: tempApprover.approval_status := ame_util.approvedStatus;
274: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
275: origSystemIdIn => tempApprover.orig_system_id,
276: nameOut => tempApprover.name,

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

269: actionTypeIdIn => tempApprover.action_type_id,
270: groupOrChainIdIn => tempApprover.group_or_chain_id);
271: tempApprover.member_order_number := 1;
272: tempApprover.api_insertion := ame_util.oamGenerated;
273: tempApprover.approval_status := ame_util.approvedStatus;
274: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
275: origSystemIdIn => tempApprover.orig_system_id,
276: nameOut => tempApprover.name,
277: displayNameOut => tempApprover.display_name);

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

270: groupOrChainIdIn => tempApprover.group_or_chain_id);
271: tempApprover.member_order_number := 1;
272: tempApprover.api_insertion := ame_util.oamGenerated;
273: tempApprover.approval_status := ame_util.approvedStatus;
274: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
275: origSystemIdIn => tempApprover.orig_system_id,
276: nameOut => tempApprover.name,
277: displayNameOut => tempApprover.display_name);
278: ame_engine.addApprover(approverIn => tempApprover);

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

286: end if;
287: else
288: tempApprover.orig_system_id := startingPointId;
289: end if;
290: tempApprover.api_insertion := ame_util.oamGenerated;
291: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
292: origSystemIdIn=> tempApprover.orig_system_id,
293: nameOut => tempApprover.name,
294: displayNameOut => tempApprover.display_name);

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

287: else
288: tempApprover.orig_system_id := startingPointId;
289: end if;
290: tempApprover.api_insertion := ame_util.oamGenerated;
291: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
292: origSystemIdIn=> tempApprover.orig_system_id,
293: nameOut => tempApprover.name,
294: displayNameOut => tempApprover.display_name);
295: else

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

297: tempApprover.orig_system := COAInsertee.orig_system;
298: tempApprover.orig_system_id := COAInsertee.orig_system_id;
299: tempApprover.display_name := COAInsertee.display_name;
300: firstApproverSource := COAInsertee.source;
301: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
302: firstAuthInsExists := true;
303: end if;
304: /* Build the chain. */
305: tempMemberOrderNumber := 0; /* pre-increment */

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

313: tempApprover.source := firstApproverSource;
314: firstApproverSource := null;
315: end if;
316: tempMemberOrderNumber := tempMemberOrderNumber + 1;
317: if(votingRegimeType = ame_util.serializedVoting) then
318: tempApprover.member_order_number := tempMemberOrderNumber;
319: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
320: tempApprover.member_order_number := 1;
321: end if;

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

315: end if;
316: tempMemberOrderNumber := tempMemberOrderNumber + 1;
317: if(votingRegimeType = ame_util.serializedVoting) then
318: tempApprover.member_order_number := tempMemberOrderNumber;
319: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
320: tempApprover.member_order_number := 1;
321: end if;
322: if tempApprover.name is null then
323: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,

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

319: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
320: tempApprover.member_order_number := 1;
321: end if;
322: if tempApprover.name is null then
323: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
324: origSystemIdIn=> tempApprover.orig_system_id,
325: nameOut => tempApprover.name,
326: displayNameOut => tempApprover.display_name);
327: end if;

Line 342: COAInsertee := ame_util.emptyApproverRecord2;

338: */
339: currentApproverPersonId := tempApprover.orig_system_id;
340: loop
341: /* Initialize COAInsertee approver record 2 */
342: COAInsertee := ame_util.emptyApproverRecord2;
343: /* Check if there are any chain of authority insertions */
344: ame_engine.getHandlerCOAInsertion(nameIn => tempApprover.name,
345: itemClassIn => tempApprover.item_class,
346: itemIdIn => tempApprover.item_id,

Line 359: if COAInsertee.source <> ame_util.specialForwardInsertion then

355: sourceOut => COAInsertee.source);
356: if COAInsertee.name is null then
357: exit;
358: else
359: if COAInsertee.source <> ame_util.specialForwardInsertion then
360: coaInsAuthForward := true;
361: currentApproverPersonId := COAInsertee.orig_system_id;
362: end if;
363: tempApprover.name := COAInsertee.name;

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

364: tempApprover.orig_system := COAInsertee.orig_system;
365: tempApprover.orig_system_id := COAInsertee.orig_system_id;
366: tempApprover.display_name := COAInsertee.display_name;
367: tempApprover.source := COAInsertee.source;
368: tempApprover.approver_category := ame_util.approvalApproverCategory;
369: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
370: tempMemberOrderNumber := tempMemberOrderNumber + 1;
371: if(votingRegimeType = ame_util.serializedVoting) then
372: tempApprover.member_order_number := tempMemberOrderNumber;

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

365: tempApprover.orig_system_id := COAInsertee.orig_system_id;
366: tempApprover.display_name := COAInsertee.display_name;
367: tempApprover.source := COAInsertee.source;
368: tempApprover.approver_category := ame_util.approvalApproverCategory;
369: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
370: tempMemberOrderNumber := tempMemberOrderNumber + 1;
371: if(votingRegimeType = ame_util.serializedVoting) then
372: tempApprover.member_order_number := tempMemberOrderNumber;
373: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */

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

367: tempApprover.source := COAInsertee.source;
368: tempApprover.approver_category := ame_util.approvalApproverCategory;
369: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
370: tempMemberOrderNumber := tempMemberOrderNumber + 1;
371: if(votingRegimeType = ame_util.serializedVoting) then
372: tempApprover.member_order_number := tempMemberOrderNumber;
373: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
374: tempApprover.member_order_number := 1;
375: end if;

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

369: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
370: tempMemberOrderNumber := tempMemberOrderNumber + 1;
371: if(votingRegimeType = ame_util.serializedVoting) then
372: tempApprover.member_order_number := tempMemberOrderNumber;
373: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
374: tempApprover.member_order_number := 1;
375: end if;
376: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
377: itemClassIn => tempApprover.item_class,

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

378: itemIdIn => tempApprover.item_id,
379: actionTypeIdIn => tempApprover.action_type_id,
380: groupOrChainIdIn => tempApprover.group_or_chain_id);
381: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
382: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
383: ame_util.nullStatus check to see if approver could have final authority */
384: ame_engine.addApprover(approverIn => tempApprover);
385: end if;
386: end loop;

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

379: actionTypeIdIn => tempApprover.action_type_id,
380: groupOrChainIdIn => tempApprover.group_or_chain_id);
381: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
382: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
383: ame_util.nullStatus check to see if approver could have final authority */
384: ame_engine.addApprover(approverIn => tempApprover);
385: end if;
386: end loop;
387: /* Decide whether to end the chain. */

Line 388: if(tempHasFinalAuthorityYN = ame_util.booleanTrue ) then

384: ame_engine.addApprover(approverIn => tempApprover);
385: end if;
386: end loop;
387: /* Decide whether to end the chain. */
388: if(tempHasFinalAuthorityYN = ame_util.booleanTrue ) then
389: exit;
390: end if;
391: /* Final authority not found. Need to go up one level. */
392: tempApprover.orig_system_id := getSupervisor(personIdIn => currentApproverPersonId);

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

389: exit;
390: end if;
391: /* Final authority not found. Need to go up one level. */
392: tempApprover.orig_system_id := getSupervisor(personIdIn => currentApproverPersonId);
393: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
394: origSystemIdIn=> tempApprover.orig_system_id,
395: nameOut => tempApprover.name,
396: displayNameOut => tempApprover.display_name);
397: /*if the next approver because of first auth insertion the populate the date and reason*/

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

400: end if;
401: if coaInsAuthForward then
402: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.forwarHandlerAuthInsReason,null);
403: end if;
404: tempApprover.api_insertion := ame_util.oamGenerated;
405: end loop;
406: exception
407: when nullFirstIdException then
408: errorCode := -20001;

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

406: exception
407: when nullFirstIdException then
408: errorCode := -20001;
409: errorMessage :=
410: ame_util.getMessage(applicationShortNameIn => 'PER',
411: messageNameIn => 'AME_400233_HAN_NO_TRANS_PER_ID');
412: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
413: routineNameIn => 'handler',
414: exceptionNumberIn => errorCode,

Line 412: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',

408: errorCode := -20001;
409: errorMessage :=
410: ame_util.getMessage(applicationShortNameIn => 'PER',
411: messageNameIn => 'AME_400233_HAN_NO_TRANS_PER_ID');
412: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
413: routineNameIn => 'handler',
414: exceptionNumberIn => errorCode,
415: exceptionStringIn => errorMessage);
416: raise_application_error(errorCode,

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

416: raise_application_error(errorCode,
417: errorMessage);
418: when topDogRequestorException then
419: errorCode := -20001;
420: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
421: messageNameIn => 'AME_400421_REQ_CANNOT_APPROVE');
422: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
423: routineNameIn => 'handler',
424: exceptionNumberIn => errorCode,

Line 422: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',

418: when topDogRequestorException then
419: errorCode := -20001;
420: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
421: messageNameIn => 'AME_400421_REQ_CANNOT_APPROVE');
422: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
423: routineNameIn => 'handler',
424: exceptionNumberIn => errorCode,
425: exceptionStringIn => errorMessage);
426: raise_application_error(errorCode,

Line 429: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',

425: exceptionStringIn => errorMessage);
426: raise_application_error(errorCode,
427: errorMessage);
428: when others then
429: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
430: routineNameIn => 'handler',
431: exceptionNumberIn => sqlcode,
432: exceptionStringIn => sqlerrm);
433: raise;

Line 438: errorMessage ame_util.longestStringType;

434: end handler;
435: procedure parseAndSortRules as
436: badParameterException exception;
437: errorCode integer;
438: errorMessage ame_util.longestStringType;
439: signPosition integer;
440: tempCategory ame_util.charType;
441: tempLength integer;
442: tempNumber integer;

Line 440: tempCategory ame_util.charType;

436: badParameterException exception;
437: errorCode integer;
438: errorMessage ame_util.longestStringType;
439: signPosition integer;
440: tempCategory ame_util.charType;
441: tempLength integer;
442: tempNumber integer;
443: tempRuleId integer;
444: tempSign ame_util.charType;

Line 444: tempSign ame_util.charType;

440: tempCategory ame_util.charType;
441: tempLength integer;
442: tempNumber integer;
443: tempRuleId integer;
444: tempSign ame_util.charType;
445: upperLimit integer;
446: begin
447: /* Parse. */
448: for i in 1 .. parametersCount loop

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

490: end loop;
491: exception
492: when badParameterException then
493: errorCode := -20001;
494: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
495: messageNameIn => 'AME_400234_HAN_ACT_PAR_SIGN');
496: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
497: routineNameIn => 'parseAndSortRules',
498: exceptionNumberIn => errorCode,

Line 496: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',

492: when badParameterException then
493: errorCode := -20001;
494: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
495: messageNameIn => 'AME_400234_HAN_ACT_PAR_SIGN');
496: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
497: routineNameIn => 'parseAndSortRules',
498: exceptionNumberIn => errorCode,
499: exceptionStringIn => errorMessage);
500: raise_application_error(errorCode,

Line 503: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',

499: exceptionStringIn => errorMessage);
500: raise_application_error(errorCode,
501: errorMessage);
502: when others then
503: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
504: routineNameIn => 'parseAndSortRules',
505: exceptionNumberIn => sqlcode,
506: exceptionStringIn => sqlerrm);
507: raise;