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.7 2011/05/17 11:43:19 nchinnam ship $ */
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.7 2011/05/17 11:43:19 nchinnam ship $ */
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 := -20210;
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 := -20210;
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 78: origSystemIn => ame_util.perOrigSystem,

74: errorMessage);
75: return(null);
76: when no_data_found then
77: personDisplayName := ame_approver_type_pkg.getApproverDisplayName2(
78: origSystemIn => ame_util.perOrigSystem,
79: origSystemIdIn => personIdIn );
80: errorCode := -20210;
81: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
82: messageNameIn => 'AME_400297_HAN_LACK_SPVR',

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

77: personDisplayName := ame_approver_type_pkg.getApproverDisplayName2(
78: origSystemIn => ame_util.perOrigSystem,
79: origSystemIdIn => personIdIn );
80: errorCode := -20210;
81: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
82: messageNameIn => 'AME_400297_HAN_LACK_SPVR',
83: tokenNameOneIn => 'FIRST_NAME',
84: tokenValueOneIn => personDisplayName,
85: tokenNameTwoIn => 'LAST_NAME',

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

85: tokenNameTwoIn => 'LAST_NAME',
86: tokenValueTwoIn => null ,
87: tokenNameThreeIn => 'OTHER_NAME',
88: tokenValueThreeIn => null );
89: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
90: routineNameIn => 'getSupervisor',
91: exceptionNumberIn => errorCode,
92: exceptionStringIn => errorMessage);
93: raise_application_error(errorCode,

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

92: exceptionStringIn => errorMessage);
93: raise_application_error(errorCode,
94: errorMessage);
95: when others then
96: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
97: routineNameIn => 'getSupervisor',
98: exceptionNumberIn => sqlcode,
99: exceptionStringIn => sqlerrm);
100: raise;

Line 108: category ame_util.charType;

104: procedure getCatSourceAndAuthority(personIdIn in integer,
105: categoryOut out nocopy varchar2,
106: sourceOut out nocopy varchar2,
107: hasFinalAuthorityYNOut out nocopy varchar2) as
108: category ame_util.charType;
109: hasFinalAuthorityYN ame_util.charType;
110: source ame_util.longStringType;
111: supervisorJobLevel integer;
112: tempRuleRequiresApprover boolean;

Line 109: hasFinalAuthorityYN ame_util.charType;

105: categoryOut out nocopy varchar2,
106: sourceOut out nocopy varchar2,
107: hasFinalAuthorityYNOut out nocopy varchar2) as
108: category ame_util.charType;
109: hasFinalAuthorityYN ame_util.charType;
110: source ame_util.longStringType;
111: supervisorJobLevel integer;
112: tempRuleRequiresApprover boolean;
113: tempRuleSatisfied boolean;

Line 110: source ame_util.longStringType;

106: sourceOut out nocopy varchar2,
107: hasFinalAuthorityYNOut out nocopy varchar2) as
108: category ame_util.charType;
109: hasFinalAuthorityYN ame_util.charType;
110: source ame_util.longStringType;
111: supervisorJobLevel integer;
112: tempRuleRequiresApprover boolean;
113: tempRuleSatisfied boolean;
114: begin

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

119: supervisor exceeds the rule's parameter number.
120: C. The approver is the top dog and the parameter sign is '-' and parameter number
121: does exceed the currentSupervisoryLevel
122: 2. An approver has final authority if the approver satisfies all the rules.
123: 3. The source value is an ame_util.fieldDelimiter-delimited list of the IDs of the
124: rules that require an approver. This procedure builds up the source value
125: according to the following logic:
126: A. If a rule has not yet been satisfied, the rule requires the input
127: approver.

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

124: rules that require an approver. This procedure builds up the source value
125: according to the following logic:
126: A. If a rule has not yet been satisfied, the rule requires the input
127: approver.
128: 4. An approver's category is ame_util.approvalApproverCategory if any of the
129: rule usages requiring the approver is of that category; otherwise the
130: approver's category is ame_util.fyiApproverCategory.
131: */
132: if currentSupervisoryLevel is null then

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

126: A. If a rule has not yet been satisfied, the rule requires the input
127: approver.
128: 4. An approver's category is ame_util.approvalApproverCategory if any of the
129: rule usages requiring the approver is of that category; otherwise the
130: approver's category is ame_util.fyiApproverCategory.
131: */
132: if currentSupervisoryLevel is null then
133: currentSupervisoryLevel := 1;
134: else

Line 137: category := ame_util.fyiApproverCategory;

133: currentSupervisoryLevel := 1;
134: else
135: currentSupervisoryLevel := currentSupervisoryLevel + 1;
136: end if;
137: category := ame_util.fyiApproverCategory;
138: hasFinalAuthorityYN := ame_util.booleanTrue;
139: for i in 1 .. parametersCount loop
140: /* Determine whether the approver satisfies the current rule. */
141: if(personIdIn = topDogPersonId) then

Line 138: hasFinalAuthorityYN := ame_util.booleanTrue;

134: else
135: currentSupervisoryLevel := currentSupervisoryLevel + 1;
136: end if;
137: category := ame_util.fyiApproverCategory;
138: hasFinalAuthorityYN := ame_util.booleanTrue;
139: for i in 1 .. parametersCount loop
140: /* Determine whether the approver satisfies the current rule. */
141: if(personIdIn = topDogPersonId) then
142: if(currentSupervisoryLevel < parameterNumbers(i) and

Line 160: hasFinalAuthorityYN = ame_util.booleanTrue) then

156: end if;
157: end if;
158: /* Update hasFinalAuthorityYN as needed. */
159: if(not tempRuleSatisfied and
160: hasFinalAuthorityYN = ame_util.booleanTrue) then
161: hasFinalAuthorityYN := ame_util.booleanFalse;
162: end if;
163: /* Determine whether the current rule requires the approver. */
164: tempRuleRequiresApprover := false;

Line 161: hasFinalAuthorityYN := ame_util.booleanFalse;

157: end if;
158: /* Update hasFinalAuthorityYN as needed. */
159: if(not tempRuleSatisfied and
160: hasFinalAuthorityYN = ame_util.booleanTrue) then
161: hasFinalAuthorityYN := ame_util.booleanFalse;
162: end if;
163: /* Determine whether the current rule requires the approver. */
164: tempRuleRequiresApprover := false;
165: if(ruleSatisfiedYN(i) = ame_util.booleanTrue) then

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

161: hasFinalAuthorityYN := ame_util.booleanFalse;
162: end if;
163: /* Determine whether the current rule requires the approver. */
164: tempRuleRequiresApprover := false;
165: if(ruleSatisfiedYN(i) = ame_util.booleanTrue) then
166: if(not tempRuleSatisfied) then
167: tempRuleRequiresApprover := true;
168: end if;
169: else

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

168: end if;
169: else
170: tempRuleRequiresApprover := true;
171: if(tempRuleSatisfied) then
172: ruleSatisfiedYN(i) := ame_util.booleanTrue;
173: end if;
174: end if;
175: if(tempRuleRequiresApprover) then
176: /* Update source. */

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

173: end if;
174: end if;
175: if(tempRuleRequiresApprover) then
176: /* Update source. */
177: ame_util.appendRuleIdToSource(ruleIdIn => ruleIds(i),
178: sourceInOut => source);
179: /* Update category as needed. */
180: if(category = ame_util.fyiApproverCategory and
181: approverCategories(i) = ame_util.approvalApproverCategory) then

Line 180: if(category = ame_util.fyiApproverCategory and

176: /* Update source. */
177: ame_util.appendRuleIdToSource(ruleIdIn => ruleIds(i),
178: sourceInOut => source);
179: /* Update category as needed. */
180: if(category = ame_util.fyiApproverCategory and
181: approverCategories(i) = ame_util.approvalApproverCategory) then
182: category := ame_util.approvalApproverCategory;
183: end if;
184: end if;

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

177: ame_util.appendRuleIdToSource(ruleIdIn => ruleIds(i),
178: sourceInOut => source);
179: /* Update category as needed. */
180: if(category = ame_util.fyiApproverCategory and
181: approverCategories(i) = ame_util.approvalApproverCategory) then
182: category := ame_util.approvalApproverCategory;
183: end if;
184: end if;
185: end loop;

Line 182: category := ame_util.approvalApproverCategory;

178: sourceInOut => source);
179: /* Update category as needed. */
180: if(category = ame_util.fyiApproverCategory and
181: approverCategories(i) = ame_util.approvalApproverCategory) then
182: category := ame_util.approvalApproverCategory;
183: end if;
184: end if;
185: end loop;
186: categoryOut := category;

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

190: when others then
191: categoryOut := null;
192: hasFinalAuthorityYNOut := null;
193: sourceOut := null;
194: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
195: routineNameIn => 'getCatSourceAndAuthority',
196: exceptionNumberIn => sqlcode,
197: exceptionStringIn => sqlerrm);
198: raise;

Line 201: COAInsertee ame_util.approverRecord2;

197: exceptionStringIn => sqlerrm);
198: raise;
199: end getCatSourceAndAuthority;
200: procedure handler as
201: COAInsertee ame_util.approverRecord2;
202: errorCode integer;
203: errorMessage ame_util.longestStringType;
204: finalAuthorityFound boolean;
205: firstApproverSource ame_util.longStringType;

Line 203: errorMessage ame_util.longestStringType;

199: end getCatSourceAndAuthority;
200: procedure handler as
201: COAInsertee ame_util.approverRecord2;
202: errorCode integer;
203: errorMessage ame_util.longestStringType;
204: finalAuthorityFound boolean;
205: firstApproverSource ame_util.longStringType;
206: nullFirstIdException exception;
207: requestorId integer;

Line 205: firstApproverSource ame_util.longStringType;

201: COAInsertee ame_util.approverRecord2;
202: errorCode integer;
203: errorMessage ame_util.longestStringType;
204: finalAuthorityFound boolean;
205: firstApproverSource ame_util.longStringType;
206: nullFirstIdException exception;
207: requestorId integer;
208: startingPointId integer;
209: tempApprover ame_util.approverRecord2;

Line 209: tempApprover ame_util.approverRecord2;

205: firstApproverSource ame_util.longStringType;
206: nullFirstIdException exception;
207: requestorId integer;
208: startingPointId integer;
209: tempApprover ame_util.approverRecord2;
210: tempHasFinalAuthorityYN ame_util.charType;
211: tempMemberOrderNumber integer;
212: tempSupervisorId integer;
213: topDogRequestorException exception;

Line 210: tempHasFinalAuthorityYN ame_util.charType;

206: nullFirstIdException exception;
207: requestorId integer;
208: startingPointId integer;
209: tempApprover ame_util.approverRecord2;
210: tempHasFinalAuthorityYN ame_util.charType;
211: tempMemberOrderNumber integer;
212: tempSupervisorId integer;
213: topDogRequestorException exception;
214: votingRegimeType ame_util.stringType;

Line 214: votingRegimeType ame_util.stringType;

210: tempHasFinalAuthorityYN ame_util.charType;
211: tempMemberOrderNumber integer;
212: tempSupervisorId integer;
213: topDogRequestorException exception;
214: votingRegimeType ame_util.stringType;
215: currentApproverPersonId integer;
216: firstAuthInsExists boolean := false;
217: coaInsAuthForward boolean := false;
218: l_error_code number;

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

229: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,
230: approverCategoriesOut => approverCategories,
231: parametersOut => parameters);
232: /* Populate some of the package variables. */
233: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
234: parametersCount := parameters.count;
235: parseAndSortRules;
236: for i in 1 .. ruleIds.count loop
237: ruleSatisfiedYN(i) := ame_util.booleanFalse;

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

233: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
234: parametersCount := parameters.count;
235: parseAndSortRules;
236: for i in 1 .. ruleIds.count loop
237: ruleSatisfiedYN(i) := ame_util.booleanFalse;
238: end loop;
239: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
240: tempApprover.orig_system := ame_util.perOrigSystem;
241: tempApprover.authority := ame_util.authorityApprover;

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

236: for i in 1 .. ruleIds.count loop
237: ruleSatisfiedYN(i) := ame_util.booleanFalse;
238: end loop;
239: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
240: tempApprover.orig_system := ame_util.perOrigSystem;
241: tempApprover.authority := ame_util.authorityApprover;
242: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
243: tempApprover.item_class := ame_engine.getHandlerItemClassName;
244: tempApprover.item_id := ame_engine.getHandlerItemId;

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

237: ruleSatisfiedYN(i) := ame_util.booleanFalse;
238: end loop;
239: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
240: tempApprover.orig_system := ame_util.perOrigSystem;
241: tempApprover.authority := ame_util.authorityApprover;
242: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
243: tempApprover.item_class := ame_engine.getHandlerItemClassName;
244: tempApprover.item_id := ame_engine.getHandlerItemId;
245: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;

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

266: */
267: if COAInsertee.name is null then
268: /* Fetch some of the required attributes. */
269: startingPointId :=
270: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.supStartingPointAttribute));
271: if(startingPointId is null) then
272: requestorId :=
273: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionRequestorAttribute));
274: if (requestorId is null) then

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

269: startingPointId :=
270: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.supStartingPointAttribute));
271: if(startingPointId is null) then
272: requestorId :=
273: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionRequestorAttribute));
274: if (requestorId is null) then
275: raise nullFirstIdException;
276: end if;
277: /* check if requestor is the top supervisor person id */

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

277: /* check if requestor is the top supervisor person id */
278: if topDogPersonId = requestorId then
279: tempApprover.orig_system_id := requestorId;
280: /* check if requestor can self approve transaction */
281: if(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowAutoApprovalAttribute)
282: = ame_util.booleanAttributeTrue) then
283: getCatSourceAndAuthority(personIdIn => tempApprover.orig_system_id,
284: categoryOut => tempApprover.approver_category,
285: sourceOut => tempApprover.source,

Line 282: = ame_util.booleanAttributeTrue) then

278: if topDogPersonId = requestorId then
279: tempApprover.orig_system_id := requestorId;
280: /* check if requestor can self approve transaction */
281: if(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowAutoApprovalAttribute)
282: = ame_util.booleanAttributeTrue) then
283: getCatSourceAndAuthority(personIdIn => tempApprover.orig_system_id,
284: categoryOut => tempApprover.approver_category,
285: sourceOut => tempApprover.source,
286: hasFinalAuthorityYNOut => tempHasFinalAuthorityYN);

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

289: itemIdIn => tempApprover.item_id,
290: actionTypeIdIn => tempApprover.action_type_id,
291: groupOrChainIdIn => tempApprover.group_or_chain_id);
292: tempApprover.member_order_number := 1;
293: tempApprover.api_insertion := ame_util.oamGenerated;
294: tempApprover.approval_status := ame_util.approvedStatus;
295: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
296: origSystemIdIn => tempApprover.orig_system_id,
297: nameOut => tempApprover.name,

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

290: actionTypeIdIn => tempApprover.action_type_id,
291: groupOrChainIdIn => tempApprover.group_or_chain_id);
292: tempApprover.member_order_number := 1;
293: tempApprover.api_insertion := ame_util.oamGenerated;
294: tempApprover.approval_status := ame_util.approvedStatus;
295: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
296: origSystemIdIn => tempApprover.orig_system_id,
297: nameOut => tempApprover.name,
298: displayNameOut => tempApprover.display_name);

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

291: groupOrChainIdIn => tempApprover.group_or_chain_id);
292: tempApprover.member_order_number := 1;
293: tempApprover.api_insertion := ame_util.oamGenerated;
294: tempApprover.approval_status := ame_util.approvedStatus;
295: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
296: origSystemIdIn => tempApprover.orig_system_id,
297: nameOut => tempApprover.name,
298: displayNameOut => tempApprover.display_name);
299: ame_engine.addApprover(approverIn => tempApprover);

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

307: end if;
308: else
309: tempApprover.orig_system_id := startingPointId;
310: end if;
311: tempApprover.api_insertion := ame_util.oamGenerated;
312: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
313: origSystemIdIn=> tempApprover.orig_system_id,
314: nameOut => tempApprover.name,
315: displayNameOut => tempApprover.display_name);

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

308: else
309: tempApprover.orig_system_id := startingPointId;
310: end if;
311: tempApprover.api_insertion := ame_util.oamGenerated;
312: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
313: origSystemIdIn=> tempApprover.orig_system_id,
314: nameOut => tempApprover.name,
315: displayNameOut => tempApprover.display_name);
316: else

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

318: tempApprover.orig_system := COAInsertee.orig_system;
319: tempApprover.orig_system_id := COAInsertee.orig_system_id;
320: tempApprover.display_name := COAInsertee.display_name;
321: firstApproverSource := COAInsertee.source;
322: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
323: firstAuthInsExists := true;
324: end if;
325: /* Build the chain. */
326: errorCode := -20227;

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

335: tempApprover.source := firstApproverSource;
336: firstApproverSource := null;
337: end if;
338: tempMemberOrderNumber := tempMemberOrderNumber + 1;
339: if(votingRegimeType = ame_util.serializedVoting) then
340: tempApprover.member_order_number := tempMemberOrderNumber;
341: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
342: tempApprover.member_order_number := 1;
343: end if;

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

337: end if;
338: tempMemberOrderNumber := tempMemberOrderNumber + 1;
339: if(votingRegimeType = ame_util.serializedVoting) then
340: tempApprover.member_order_number := tempMemberOrderNumber;
341: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
342: tempApprover.member_order_number := 1;
343: end if;
344: if tempApprover.name is null then
345: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,

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

341: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
342: tempApprover.member_order_number := 1;
343: end if;
344: if tempApprover.name is null then
345: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
346: origSystemIdIn=> tempApprover.orig_system_id,
347: nameOut => tempApprover.name,
348: displayNameOut => tempApprover.display_name);
349: end if;

Line 364: COAInsertee := ame_util.emptyApproverRecord2;

360: */
361: currentApproverPersonId := tempApprover.orig_system_id;
362: loop
363: /* Initialize COAInsertee approver record 2 */
364: COAInsertee := ame_util.emptyApproverRecord2;
365: /* Check if there are any chain of authority insertions */
366: ame_engine.getHandlerCOAInsertion(nameIn => tempApprover.name,
367: itemClassIn => tempApprover.item_class,
368: itemIdIn => tempApprover.item_id,

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

377: sourceOut => COAInsertee.source);
378: if COAInsertee.name is null then
379: exit;
380: else
381: if COAInsertee.source <> ame_util.specialForwardInsertion then
382: coaInsAuthForward := true;
383: currentApproverPersonId := COAInsertee.orig_system_id;
384: end if;
385: tempApprover.name := COAInsertee.name;

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

386: tempApprover.orig_system := COAInsertee.orig_system;
387: tempApprover.orig_system_id := COAInsertee.orig_system_id;
388: tempApprover.display_name := COAInsertee.display_name;
389: tempApprover.source := COAInsertee.source;
390: tempApprover.approver_category := ame_util.approvalApproverCategory;
391: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
392: tempMemberOrderNumber := tempMemberOrderNumber + 1;
393: if(votingRegimeType = ame_util.serializedVoting) then
394: tempApprover.member_order_number := tempMemberOrderNumber;

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

387: tempApprover.orig_system_id := COAInsertee.orig_system_id;
388: tempApprover.display_name := COAInsertee.display_name;
389: tempApprover.source := COAInsertee.source;
390: tempApprover.approver_category := ame_util.approvalApproverCategory;
391: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
392: tempMemberOrderNumber := tempMemberOrderNumber + 1;
393: if(votingRegimeType = ame_util.serializedVoting) then
394: tempApprover.member_order_number := tempMemberOrderNumber;
395: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */

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

389: tempApprover.source := COAInsertee.source;
390: tempApprover.approver_category := ame_util.approvalApproverCategory;
391: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
392: tempMemberOrderNumber := tempMemberOrderNumber + 1;
393: if(votingRegimeType = ame_util.serializedVoting) then
394: tempApprover.member_order_number := tempMemberOrderNumber;
395: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
396: tempApprover.member_order_number := 1;
397: end if;

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

391: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
392: tempMemberOrderNumber := tempMemberOrderNumber + 1;
393: if(votingRegimeType = ame_util.serializedVoting) then
394: tempApprover.member_order_number := tempMemberOrderNumber;
395: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
396: tempApprover.member_order_number := 1;
397: end if;
398: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
399: itemClassIn => tempApprover.item_class,

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

400: itemIdIn => tempApprover.item_id,
401: actionTypeIdIn => tempApprover.action_type_id,
402: groupOrChainIdIn => tempApprover.group_or_chain_id);
403: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
404: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
405: ame_util.nullStatus check to see if approver could have final authority */
406: ame_engine.addApprover(approverIn => tempApprover);
407: end if;
408: end loop;

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

401: actionTypeIdIn => tempApprover.action_type_id,
402: groupOrChainIdIn => tempApprover.group_or_chain_id);
403: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
404: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
405: ame_util.nullStatus check to see if approver could have final authority */
406: ame_engine.addApprover(approverIn => tempApprover);
407: end if;
408: end loop;
409: /* Decide whether to end the chain. */

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

406: ame_engine.addApprover(approverIn => tempApprover);
407: end if;
408: end loop;
409: /* Decide whether to end the chain. */
410: if(tempHasFinalAuthorityYN = ame_util.booleanTrue ) then
411: exit;
412: end if;
413: /* Final authority not found. Need to go up one level. */
414: tempApprover.orig_system_id := getSupervisor(personIdIn => currentApproverPersonId);

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

411: exit;
412: end if;
413: /* Final authority not found. Need to go up one level. */
414: tempApprover.orig_system_id := getSupervisor(personIdIn => currentApproverPersonId);
415: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
416: origSystemIdIn=> tempApprover.orig_system_id,
417: nameOut => tempApprover.name,
418: displayNameOut => tempApprover.display_name);
419: /*if the next approver because of first auth insertion the populate the date and reason*/

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

422: end if;
423: if coaInsAuthForward then
424: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.forwarHandlerAuthInsReason,null);
425: end if;
426: tempApprover.api_insertion := ame_util.oamGenerated;
427: end loop;
428: exception
429: when nullFirstIdException then
430: errorCode := -20106;

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

428: exception
429: when nullFirstIdException then
430: errorCode := -20106;
431: errorMessage :=
432: ame_util.getMessage(applicationShortNameIn => 'PER',
433: messageNameIn => 'AME_400233_HAN_NO_TRANS_PER_ID');
434: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
435: routineNameIn => 'handler',
436: exceptionNumberIn => errorCode,

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

430: errorCode := -20106;
431: errorMessage :=
432: ame_util.getMessage(applicationShortNameIn => 'PER',
433: messageNameIn => 'AME_400233_HAN_NO_TRANS_PER_ID');
434: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
435: routineNameIn => 'handler',
436: exceptionNumberIn => errorCode,
437: exceptionStringIn => errorMessage);
438: raise_application_error(errorCode,

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

438: raise_application_error(errorCode,
439: errorMessage);
440: when topDogRequestorException then
441: errorCode := -20111;
442: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
443: messageNameIn => 'AME_400421_REQ_CANNOT_APPROVE');
444: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
445: routineNameIn => 'handler',
446: exceptionNumberIn => errorCode,

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

440: when topDogRequestorException then
441: errorCode := -20111;
442: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
443: messageNameIn => 'AME_400421_REQ_CANNOT_APPROVE');
444: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
445: routineNameIn => 'handler',
446: exceptionNumberIn => errorCode,
447: exceptionStringIn => errorMessage);
448: raise_application_error(errorCode,

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

447: exceptionStringIn => errorMessage);
448: raise_application_error(errorCode,
449: errorMessage);
450: when others then
451: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
452: routineNameIn => 'handler',
453: exceptionNumberIn => sqlcode,
454: exceptionStringIn => sqlerrm);
455: l_error_code := sqlcode;

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

453: exceptionNumberIn => sqlcode,
454: exceptionStringIn => sqlerrm);
455: l_error_code := sqlcode;
456: if l_error_code = -20213 then
457: errorMessage := ame_util.getMessage(applicationShortNameIn =>'PER',
458: messageNameIn => 'AME_400834_INV_HANDLR_APR',
459: tokenNameOneIn => 'ACTION_TYPE_NAME',
460: tokenValueOneIn => ame_engine.getActionTypeName(tempApprover.action_type_id),
461: tokenNameTwoIn => 'ORIG_SYSTEM',

Line 462: tokenValueTwoIn => ame_util.perOrigSystem,

458: messageNameIn => 'AME_400834_INV_HANDLR_APR',
459: tokenNameOneIn => 'ACTION_TYPE_NAME',
460: tokenValueOneIn => ame_engine.getActionTypeName(tempApprover.action_type_id),
461: tokenNameTwoIn => 'ORIG_SYSTEM',
462: tokenValueTwoIn => ame_util.perOrigSystem,
463: tokenNameThreeIn => 'ORIG_SYSEM_ID',
464: tokenValueThreeIn => tempApprover.orig_system_id);
465: raise_application_error(errorCode,errorMessage);
466: end if;

Line 472: errorMessage ame_util.longestStringType;

468: end handler;
469: procedure parseAndSortRules as
470: badParameterException exception;
471: errorCode integer;
472: errorMessage ame_util.longestStringType;
473: signPosition integer;
474: tempCategory ame_util.charType;
475: tempLength integer;
476: tempNumber integer;

Line 474: tempCategory ame_util.charType;

470: badParameterException exception;
471: errorCode integer;
472: errorMessage ame_util.longestStringType;
473: signPosition integer;
474: tempCategory ame_util.charType;
475: tempLength integer;
476: tempNumber integer;
477: tempRuleId integer;
478: tempSign ame_util.charType;

Line 478: tempSign ame_util.charType;

474: tempCategory ame_util.charType;
475: tempLength integer;
476: tempNumber integer;
477: tempRuleId integer;
478: tempSign ame_util.charType;
479: upperLimit integer;
480: begin
481: /* Parse. */
482: for i in 1 .. parametersCount loop

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

524: end loop;
525: exception
526: when badParameterException then
527: errorCode := -20001;
528: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
529: messageNameIn => 'AME_400234_HAN_ACT_PAR_SIGN');
530: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
531: routineNameIn => 'parseAndSortRules',
532: exceptionNumberIn => errorCode,

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

526: when badParameterException then
527: errorCode := -20001;
528: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
529: messageNameIn => 'AME_400234_HAN_ACT_PAR_SIGN');
530: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
531: routineNameIn => 'parseAndSortRules',
532: exceptionNumberIn => errorCode,
533: exceptionStringIn => errorMessage);
534: raise_application_error(errorCode,

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

533: exceptionStringIn => errorMessage);
534: raise_application_error(errorCode,
535: errorMessage);
536: when others then
537: ame_util.runtimeException(packageNameIn => 'ame_supervisory_handler',
538: routineNameIn => 'parseAndSortRules',
539: exceptionNumberIn => sqlcode,
540: exceptionStringIn => sqlerrm);
541: raise;