DBA Data[Home] [Help]

APPS.AME_LI_JOB_LEVEL_HANDLER dependencies on AME_UTIL

Line 4: approverCategories ame_util.charList;

1: package body ame_li_job_level_handler as
2: /* $Header: ameeliha.pkb 120.2 2007/12/20 20:02:56 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: ameeliha.pkb 120.2 2007/12/20 20:02:56 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 65: 3. The source value is an ame-util.fieldDelimiter-delimited list of the IDs of

61: C. The approver is the top dog.
62: 2. An approver has final authority if the approver satisfies all the rules.
63: (The handler procedure proper takes care of adding subsequent approvers at
64: the same job level, if the relevant mandatory attribute so requires.)
65: 3. The source value is an ame-util.fieldDelimiter-delimited list of the IDs of
66: the rules that require an approver. This procedure builds up the source
67: value according to the following logic:
68: A. If a rule has not yet been satisfied, the rule requires the input
69: approver.

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 .. parameterNumbers.count 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 .. parameterNumbers.count 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 .. parameterNumbers.count loop
81: /* Determine whether the approver satisfies the current rule. */
82: if(personIdIn = topDogPersonId) then
83: tempRuleSatisfied := true;

Line 107: hasFinalAuthorityYN = ame_util.booleanTrue) then

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

Line 108: hasFinalAuthorityYN := ame_util.booleanFalse;

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

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

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

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

115: end if;
116: else
117: tempRuleRequiresApprover := true;
118: if(tempRuleSatisfied) then
119: ruleSatisfiedYN(i) := ame_util.booleanTrue;
120: end if;
121: end if;
122: if(tempRuleRequiresApprover) then
123: /* Update source. */

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

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

Line 127: if(category = ame_util.fyiApproverCategory and

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

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

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

Line 129: category := ame_util.approvalApproverCategory;

125: sourceInOut => source);
126: /* Update category as needed. */
127: if(category = ame_util.fyiApproverCategory and
128: approverCategories(i) = ame_util.approvalApproverCategory) then
129: category := ame_util.approvalApproverCategory;
130: end if;
131: end if;
132: end loop;
133: categoryOut := category;

Line 139: origSystemIn => ame_util.perOrigSystem,

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

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

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

Line 150: ame_util.runtimeException(packageNameIn => 'ame_li_job_level_handler',

146: tokenNameTwoIn => 'LAST_NAME',
147: tokenValueTwoIn => null ,
148: tokenNameThreeIn => 'OTHER_NAME',
149: tokenValueThreeIn => null );
150: ame_util.runtimeException(packageNameIn => 'ame_li_job_level_handler',
151: routineNameIn => 'getCatSourceAndAuthority',
152: exceptionNumberIn => errorCode,
153: exceptionStringIn => errorMessage);
154: raise_application_error(errorCode,

Line 160: ame_util.runtimeException(packageNameIn => 'ame_li_job_level_handler',

156: when others then
157: categoryOut := null;
158: hasFinalAuthorityYNOut := null;
159: sourceOut := null;
160: ame_util.runtimeException(packageNameIn => 'ame_li_job_level_handler',
161: routineNameIn => 'getCatSourceAndAuthority',
162: exceptionNumberIn => sqlcode,
163: exceptionStringIn => sqlerrm);
164: raise;

Line 167: chainOrderMode ame_util.stringType;

163: exceptionStringIn => sqlerrm);
164: raise;
165: end getCatSourceAndAuthority;
166: procedure handler as
167: chainOrderMode ame_util.stringType;
168: COAInsertee ame_util.approverRecord2;
169: errorCode integer;
170: errorMessage ame_util.longestStringType;
171: finalAuthorityApproverCategory ame_util.charType;

Line 168: COAInsertee ame_util.approverRecord2;

164: raise;
165: end getCatSourceAndAuthority;
166: procedure handler as
167: chainOrderMode ame_util.stringType;
168: COAInsertee ame_util.approverRecord2;
169: errorCode integer;
170: errorMessage ame_util.longestStringType;
171: finalAuthorityApproverCategory ame_util.charType;
172: finalAuthorityFound boolean;

Line 170: errorMessage ame_util.longestStringType;

166: procedure handler as
167: chainOrderMode ame_util.stringType;
168: COAInsertee ame_util.approverRecord2;
169: errorCode integer;
170: errorMessage ame_util.longestStringType;
171: finalAuthorityApproverCategory ame_util.charType;
172: finalAuthorityFound boolean;
173: finalAuthoritySource ame_util.longStringType;
174: includeAllJobLevelApprovers boolean;

Line 171: finalAuthorityApproverCategory ame_util.charType;

167: chainOrderMode ame_util.stringType;
168: COAInsertee ame_util.approverRecord2;
169: errorCode integer;
170: errorMessage ame_util.longestStringType;
171: finalAuthorityApproverCategory ame_util.charType;
172: finalAuthorityFound boolean;
173: finalAuthoritySource ame_util.longStringType;
174: includeAllJobLevelApprovers boolean;
175: itemClassId integer;

Line 173: finalAuthoritySource ame_util.longStringType;

169: errorCode integer;
170: errorMessage ame_util.longestStringType;
171: finalAuthorityApproverCategory ame_util.charType;
172: finalAuthorityFound boolean;
173: finalAuthoritySource ame_util.longStringType;
174: includeAllJobLevelApprovers boolean;
175: itemClassId integer;
176: itemIds ame_util.stringList;
177: lineItemStartingPointPersonId integer;

Line 176: itemIds ame_util.stringList;

172: finalAuthorityFound boolean;
173: finalAuthoritySource ame_util.longStringType;
174: includeAllJobLevelApprovers boolean;
175: itemClassId integer;
176: itemIds ame_util.stringList;
177: lineItemStartingPointPersonId integer;
178: noSupervisorException exception;
179: nullFirstIdException exception;
180: firstStartingPointId integer;

Line 181: personDisplayName ame_util.longStringType;

177: lineItemStartingPointPersonId integer;
178: noSupervisorException exception;
179: nullFirstIdException exception;
180: firstStartingPointId integer;
181: personDisplayName ame_util.longStringType;
182: secondStartingPointId integer;
183: tempApprover ame_util.approverRecord2;
184: tempHasFinalAuthorityYN ame_util.charType;
185: tempJobLevel integer;

Line 183: tempApprover ame_util.approverRecord2;

179: nullFirstIdException exception;
180: firstStartingPointId integer;
181: personDisplayName ame_util.longStringType;
182: secondStartingPointId integer;
183: tempApprover ame_util.approverRecord2;
184: tempHasFinalAuthorityYN ame_util.charType;
185: tempJobLevel integer;
186: tempMemberOrderNumber integer;
187: tempOldJobLevel integer;

Line 184: tempHasFinalAuthorityYN ame_util.charType;

180: firstStartingPointId integer;
181: personDisplayName ame_util.longStringType;
182: secondStartingPointId integer;
183: tempApprover ame_util.approverRecord2;
184: tempHasFinalAuthorityYN ame_util.charType;
185: tempJobLevel integer;
186: tempMemberOrderNumber integer;
187: tempOldJobLevel integer;
188: tempSupervisorId integer;

Line 191: votingRegimeType ame_util.stringType;

187: tempOldJobLevel integer;
188: tempSupervisorId integer;
189: tempSupervisorJobLevel integer;
190: tempNextSupervisorId integer;
191: votingRegimeType ame_util.stringType;
192: firstAuthInsExists boolean := false;
193: coaInsAuthForward boolean := false;
194: begin
195: includeAllJobLevelApprovers :=

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

192: firstAuthInsExists boolean := false;
193: coaInsAuthForward boolean := false;
194: begin
195: includeAllJobLevelApprovers :=
196: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.includeAllApproversAttribute) =
197: ame_util.booleanAttributeTrue;
198: /* Populate some of the package variables. */
199: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
200: /* Set the fields in tempApprover that are constant for the entire handler cycle. */

Line 197: ame_util.booleanAttributeTrue;

193: coaInsAuthForward boolean := false;
194: begin
195: includeAllJobLevelApprovers :=
196: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.includeAllApproversAttribute) =
197: ame_util.booleanAttributeTrue;
198: /* Populate some of the package variables. */
199: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
200: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
201: tempApprover.orig_system := ame_util.perOrigSystem;

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

195: includeAllJobLevelApprovers :=
196: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.includeAllApproversAttribute) =
197: ame_util.booleanAttributeTrue;
198: /* Populate some of the package variables. */
199: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
200: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
201: tempApprover.orig_system := ame_util.perOrigSystem;
202: tempApprover.authority := ame_util.authorityApprover;
203: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;

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

197: ame_util.booleanAttributeTrue;
198: /* Populate some of the package variables. */
199: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
200: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
201: tempApprover.orig_system := ame_util.perOrigSystem;
202: tempApprover.authority := ame_util.authorityApprover;
203: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
204: tempApprover.item_class := ame_engine.getHandlerItemClassName;
205: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;

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

198: /* Populate some of the package variables. */
199: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
200: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
201: tempApprover.orig_system := ame_util.perOrigSystem;
202: tempApprover.authority := ame_util.authorityApprover;
203: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
204: tempApprover.item_class := ame_engine.getHandlerItemClassName;
205: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
206: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;

Line 222: itemClassId := ame_engine.getItemClassId(itemClassNameIn => ame_util.lineItemItemClassName);

218: approverCategoriesOut => approverCategories,
219: parametersOut => parameters);
220: parametersCount := parameters.count;
221: /* get the Item class Id for Line Item Item class */
222: itemClassId := ame_engine.getItemClassId(itemClassNameIn => ame_util.lineItemItemClassName);
223: /* call ame_engine.getItemClassItemIds() to get the item Id list */
224: ame_engine.getItemClassItemIds(itemClassIdIn => itemClassId,
225: itemIdsOut => itemIds);
226: for chainCounter in 1..itemIds.count loop

Line 248: attributeNameIn => ame_util.lineItemStartingPointAttribute,

244: if COAInsertee.name is null then
245: /* call ame_engine.getItemAttValue2() inside the loop to get the line
246: item starting point person id */
247: lineItemStartingPointPersonId := to_number(ame_engine.getItemAttValue2(
248: attributeNameIn => ame_util.lineItemStartingPointAttribute,
249: itemIdIn => itemIds(chainCounter)));
250: if(lineItemStartingPointPersonId is null ) then
251: raise nullFirstIdException;
252: end if;

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

250: if(lineItemStartingPointPersonId is null ) then
251: raise nullFirstIdException;
252: end if;
253: tempApprover.orig_system_id := lineItemStartingPointPersonId;
254: tempApprover.api_insertion := ame_util.oamGenerated;
255: ame_approver_type_pkg.getWfRolesNameAndDisplayName(
256: origSystemIn => ame_util.perOrigSystem,
257: origSystemIdIn => tempApprover.orig_system_id,
258: nameOut => tempApprover.name,

Line 256: origSystemIn => ame_util.perOrigSystem,

252: end if;
253: tempApprover.orig_system_id := lineItemStartingPointPersonId;
254: tempApprover.api_insertion := ame_util.oamGenerated;
255: ame_approver_type_pkg.getWfRolesNameAndDisplayName(
256: origSystemIn => ame_util.perOrigSystem,
257: origSystemIdIn => tempApprover.orig_system_id,
258: nameOut => tempApprover.name,
259: displayNameOut => tempApprover.display_name);
260: else

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

262: tempApprover.orig_system := COAInsertee.orig_system;
263: tempApprover.orig_system_id := COAInsertee.orig_system_id;
264: tempApprover.display_name := COAInsertee.display_name;
265: tempApprover.source := COAInsertee.source;
266: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
267: firstAuthInsExists := true;
268: end if;
269: /* Get the threshholdJobLevel to convert parameters to absolute values */
270: ame_absolute_job_level_handler.getJobLevelAndSupervisor(

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

273: supervisorIdOut => tempSupervisorId);
274: tempJobLevel := threshholdJobLevel;
275: parseAndSortRules;
276: for i in 1 .. parameterNumbers.count loop
277: ruleSatisfiedYN(i) := ame_util.booleanFalse;
278: end loop;
279: if (chainOrderMode = ame_util.serialChainsMode) then
280: tempApprover.group_or_chain_order_number := chainCounter;
281: else /* chain Order Mode is parallel */

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

275: parseAndSortRules;
276: for i in 1 .. parameterNumbers.count loop
277: ruleSatisfiedYN(i) := ame_util.booleanFalse;
278: end loop;
279: if (chainOrderMode = ame_util.serialChainsMode) then
280: tempApprover.group_or_chain_order_number := chainCounter;
281: else /* chain Order Mode is parallel */
282: tempApprover.group_or_chain_order_number := 1;
283: end if;

Line 297: tempHasFinalAuthorityYN = ame_util.booleanTrue) then

293: hasFinalAuthorityYNOut => tempHasFinalAuthorityYN,
294: supervisorJobLevelOut => tempSupervisorJobLevel,
295: nextSupervisorIdOut => tempNextSupervisorId);
296: if(not finalAuthorityFound and
297: tempHasFinalAuthorityYN = ame_util.booleanTrue) then
298: finalAuthorityFound := true;
299: finalAuthorityApproverCategory := tempApprover.approver_category;
300: finalAuthoritySource := tempApprover.source;
301: end if;

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

303: finalAuthoritySource is not null ) then
304: tempApprover.approver_category := finalAuthorityApproverCategory;
305: tempApprover.source := finalAuthoritySource;
306: end if;
307: tempApprover.api_insertion := ame_util.oamGenerated;
308: tempApprover.occurrence := ame_engine.getHandlerOccurrence(
309: nameIn=>tempApprover.name,
310: itemClassIn => tempApprover.item_class,
311: itemIdIn => tempApprover.item_id,

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

311: itemIdIn => tempApprover.item_id,
312: actionTypeIdIn => tempApprover.action_type_id,
313: groupOrChainIdIn => tempApprover.group_or_chain_id);
314: tempMemberOrderNumber := tempMemberOrderNumber + 1;
315: if(votingRegimeType = ame_util.serializedVoting) then
316: tempApprover.member_order_number := tempMemberOrderNumber;
317: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
318: tempApprover.member_order_number := 1;
319: end if;

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

313: groupOrChainIdIn => tempApprover.group_or_chain_id);
314: tempMemberOrderNumber := tempMemberOrderNumber + 1;
315: if(votingRegimeType = ame_util.serializedVoting) then
316: tempApprover.member_order_number := tempMemberOrderNumber;
317: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
318: tempApprover.member_order_number := 1;
319: end if;
320: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
321: /* The engine will set tempApprover.approver_order_number; leave it null here. */

Line 328: COAInsertee := ame_util.emptyApproverRecord2;

324: insertion is found, keep checking till no more COA insertions. The check
325: for final authority will need to be done again. */
326: loop
327: /* Initialize COAInsertee approverRecord2 */
328: COAInsertee := ame_util.emptyApproverRecord2;
329: /* Check if there are any COAInsertions */
330: ame_engine.getHandlerCOAInsertion(nameIn => tempApprover.name,
331: itemClassIn => tempApprover.item_class,
332: itemIdIn => tempApprover.item_id,

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

357: hasFinalAuthorityYNOut => tempHasFinalAuthorityYN,
358: supervisorJobLevelOut => tempSupervisorJobLevel,
359: nextSupervisorIdOut => tempNextSupervisorId);
360: tempApprover.source := COAInsertee.source;
361: tempApprover.approver_category := ame_util.approvalApproverCategory;
362: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
363: tempMemberOrderNumber := tempMemberOrderNumber + 1;
364: if(votingRegimeType = ame_util.serializedVoting) then
365: tempApprover.member_order_number := tempMemberOrderNumber;

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

358: supervisorJobLevelOut => tempSupervisorJobLevel,
359: nextSupervisorIdOut => tempNextSupervisorId);
360: tempApprover.source := COAInsertee.source;
361: tempApprover.approver_category := ame_util.approvalApproverCategory;
362: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
363: tempMemberOrderNumber := tempMemberOrderNumber + 1;
364: if(votingRegimeType = ame_util.serializedVoting) then
365: tempApprover.member_order_number := tempMemberOrderNumber;
366: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */

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

360: tempApprover.source := COAInsertee.source;
361: tempApprover.approver_category := ame_util.approvalApproverCategory;
362: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
363: tempMemberOrderNumber := tempMemberOrderNumber + 1;
364: if(votingRegimeType = ame_util.serializedVoting) then
365: tempApprover.member_order_number := tempMemberOrderNumber;
366: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
367: tempApprover.member_order_number := 1;
368: end if;

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

362: tempApprover.api_insertion := ame_util.apiAuthorityInsertion;
363: tempMemberOrderNumber := tempMemberOrderNumber + 1;
364: if(votingRegimeType = ame_util.serializedVoting) then
365: tempApprover.member_order_number := tempMemberOrderNumber;
366: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
367: tempApprover.member_order_number := 1;
368: end if;
369: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
370: itemClassIn => tempApprover.item_class,

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

371: itemIdIn => tempApprover.item_id,
372: actionTypeIdIn => tempApprover.action_type_id,
373: groupOrChainIdIn => tempApprover.group_or_chain_id);
374: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
375: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
376: ame_util.nullStatus check to see if approver could have final authority */
377: if ((tempApprover.approval_status is null) or
378: (tempApprover.approval_status in
379: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,

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

372: actionTypeIdIn => tempApprover.action_type_id,
373: groupOrChainIdIn => tempApprover.group_or_chain_id);
374: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
375: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
376: ame_util.nullStatus check to see if approver could have final authority */
377: if ((tempApprover.approval_status is null) or
378: (tempApprover.approval_status in
379: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
380: ame_util.repeatedStatus, ame_util.suppressedStatus,

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

375: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
376: ame_util.nullStatus check to see if approver could have final authority */
377: if ((tempApprover.approval_status is null) or
378: (tempApprover.approval_status in
379: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
380: ame_util.repeatedStatus, ame_util.suppressedStatus,
381: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
382: (tempApprover.approver_category = ame_util.approvalApproverCategory and
383: tempApprover.approval_status = ame_util.notifiedStatus) )

Line 380: ame_util.repeatedStatus, ame_util.suppressedStatus,

376: ame_util.nullStatus check to see if approver could have final authority */
377: if ((tempApprover.approval_status is null) or
378: (tempApprover.approval_status in
379: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
380: ame_util.repeatedStatus, ame_util.suppressedStatus,
381: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
382: (tempApprover.approver_category = ame_util.approvalApproverCategory and
383: tempApprover.approval_status = ame_util.notifiedStatus) )
384: then

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

377: if ((tempApprover.approval_status is null) or
378: (tempApprover.approval_status in
379: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
380: ame_util.repeatedStatus, ame_util.suppressedStatus,
381: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
382: (tempApprover.approver_category = ame_util.approvalApproverCategory and
383: tempApprover.approval_status = ame_util.notifiedStatus) )
384: then
385: if(not finalAuthorityFound and

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

378: (tempApprover.approval_status in
379: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
380: ame_util.repeatedStatus, ame_util.suppressedStatus,
381: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
382: (tempApprover.approver_category = ame_util.approvalApproverCategory and
383: tempApprover.approval_status = ame_util.notifiedStatus) )
384: then
385: if(not finalAuthorityFound and
386: tempHasFinalAuthorityYN = ame_util.booleanTrue) then

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

379: (ame_util.approvedStatus, ame_util.approveAndForwardStatus,
380: ame_util.repeatedStatus, ame_util.suppressedStatus,
381: ame_util.beatByFirstResponderStatus, ame_util.nullStatus)) or
382: (tempApprover.approver_category = ame_util.approvalApproverCategory and
383: tempApprover.approval_status = ame_util.notifiedStatus) )
384: then
385: if(not finalAuthorityFound and
386: tempHasFinalAuthorityYN = ame_util.booleanTrue) then
387: finalAuthorityFound := true;

Line 386: tempHasFinalAuthorityYN = ame_util.booleanTrue) then

382: (tempApprover.approver_category = ame_util.approvalApproverCategory and
383: tempApprover.approval_status = ame_util.notifiedStatus) )
384: then
385: if(not finalAuthorityFound and
386: tempHasFinalAuthorityYN = ame_util.booleanTrue) then
387: finalAuthorityFound := true;
388: end if;
389: end if;
390: ame_engine.addApprover(approverIn => tempApprover);

Line 423: origSystemIn => ame_util.perOrigSystem,

419: tempOldJobLevel <> tempJobLevel) then
420: exit;
421: end if;
422: ame_approver_type_pkg.getWfRolesNameAndDisplayName(
423: origSystemIn => ame_util.perOrigSystem,
424: origSystemIdIn => tempApprover.orig_system_id,
425: nameOut => tempApprover.name,
426: displayNameOut => tempApprover.display_name);
427: if firstAuthInsExists then

Line 439: origSystemIn => ame_util.perOrigSystem,

435: exception
436: when noSupervisorException then
437: if tempApprover.display_name is null then
438: personDisplayName := ame_approver_type_pkg.getApproverDisplayName2(
439: origSystemIn => ame_util.perOrigSystem,
440: origSystemIdIn => tempApprover.orig_system_id );
441: else
442: personDisplayName := tempApprover.display_name;
443: end if;

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

441: else
442: personDisplayName := tempApprover.display_name;
443: end if;
444: errorCode := -20001;
445: errorMessage := ame_util.getMessage(applicationShortNameIn => 'PER',
446: messageNameIn => 'AME_400297_HAN_LACK_SPVR',
447: tokenNameOneIn => 'FIRST_NAME',
448: tokenValueOneIn => personDisplayName,
449: tokenNameTwoIn => 'LAST_NAME',

Line 453: ame_util.runtimeException(packageNameIn => 'ame_li_job_level_handler',

449: tokenNameTwoIn => 'LAST_NAME',
450: tokenValueTwoIn => null ,
451: tokenNameThreeIn => 'OTHER_NAME',
452: tokenValueThreeIn => null );
453: ame_util.runtimeException(packageNameIn => 'ame_li_job_level_handler',
454: routineNameIn => 'handler',
455: exceptionNumberIn => errorCode,
456: exceptionStringIn => errorMessage);
457: raise_application_error(errorCode,

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

458: errorMessage);
459: when nullFirstIdException then
460: errorCode := -20001;
461: errorMessage :=
462: ame_util.getMessage(applicationShortNameIn => 'PER',
463: messageNameIn => 'AME_400450_LIHA_NO_PER_ID');
464: ame_util.runtimeException(packageNameIn => 'ame_li_job_level_handler',
465: routineNameIn => 'handler',
466: exceptionNumberIn => errorCode,

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

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

Line 471: ame_util.runtimeException(packageNameIn => 'ame_li_job_level_handler',

467: exceptionStringIn => errorMessage);
468: raise_application_error(errorCode,
469: errorMessage);
470: when others then
471: ame_util.runtimeException(packageNameIn => 'ame_li_job_level_handler',
472: routineNameIn => 'handler',
473: exceptionNumberIn => sqlcode,
474: exceptionStringIn => sqlerrm);
475: raise;

Line 480: errorMessage ame_util.longestStringType;

476: end handler;
477: procedure parseAndSortRules as
478: badParameterException exception;
479: errorCode integer;
480: errorMessage ame_util.longestStringType;
481: tempCategory ame_util.charType;
482: tempIndex integer;
483: tempLength integer;
484: tempNumber integer;

Line 481: tempCategory ame_util.charType;

477: procedure parseAndSortRules as
478: badParameterException exception;
479: errorCode integer;
480: errorMessage ame_util.longestStringType;
481: tempCategory ame_util.charType;
482: tempIndex integer;
483: tempLength integer;
484: tempNumber integer;
485: tempRuleId integer;

Line 486: tempSign ame_util.charType;

482: tempIndex integer;
483: tempLength integer;
484: tempNumber integer;
485: tempRuleId integer;
486: tempSign ame_util.charType;
487: upperLimit integer;
488: i integer;
489: j integer;
490: begin

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

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

Line 532: ame_util.runtimeException(packageNameIn => 'ame_li_job_level_handler',

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

Line 539: ame_util.runtimeException(packageNameIn => 'ame_li_job_level_handler',

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