DBA Data[Home] [Help]

APPS.AME_FINAL_ONLY_HANDLER dependencies on AME_ENGINE

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

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

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

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

Line 209: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;

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

Line 210: tempApprover.item_class := ame_engine.getHandlerItemClassName;

206: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
207: tempApprover.orig_system := ame_util.perOrigSystem;
208: tempApprover.authority := ame_util.authorityApprover;
209: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
210: tempApprover.item_class := ame_engine.getHandlerItemClassName;
211: tempApprover.item_id := ame_engine.getHandlerItemId;
212: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
213: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
214: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;

Line 211: tempApprover.item_id := ame_engine.getHandlerItemId;

207: tempApprover.orig_system := ame_util.perOrigSystem;
208: tempApprover.authority := ame_util.authorityApprover;
209: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
210: tempApprover.item_class := ame_engine.getHandlerItemClassName;
211: tempApprover.item_id := ame_engine.getHandlerItemId;
212: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
213: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
214: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
215: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;

Line 212: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;

208: tempApprover.authority := ame_util.authorityApprover;
209: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
210: tempApprover.item_class := ame_engine.getHandlerItemClassName;
211: tempApprover.item_id := ame_engine.getHandlerItemId;
212: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
213: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
214: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
215: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
216: tempApprover.group_or_chain_order_number := 1;

Line 213: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;

209: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
210: tempApprover.item_class := ame_engine.getHandlerItemClassName;
211: tempApprover.item_id := ame_engine.getHandlerItemId;
212: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
213: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
214: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
215: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
216: tempApprover.group_or_chain_order_number := 1;
217: tempApprover.group_or_chain_id := 1;

Line 214: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;

210: tempApprover.item_class := ame_engine.getHandlerItemClassName;
211: tempApprover.item_id := ame_engine.getHandlerItemId;
212: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
213: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
214: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
215: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
216: tempApprover.group_or_chain_order_number := 1;
217: tempApprover.group_or_chain_id := 1;
218: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);

Line 215: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;

211: tempApprover.item_id := ame_engine.getHandlerItemId;
212: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
213: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
214: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
215: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
216: tempApprover.group_or_chain_order_number := 1;
217: tempApprover.group_or_chain_id := 1;
218: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
219: /*

Line 218: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);

214: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
215: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
216: tempApprover.group_or_chain_order_number := 1;
217: tempApprover.group_or_chain_id := 1;
218: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
219: /*
220: The engine only calls a handler if a rule requiring it exists, so we can assume that
221: the package variables that ame_engine.getHandlerRules initializes are nonempty.
222: Fetch the rules and sort them in increasing parameter order. (Duplicate parameters

Line 221: the package variables that ame_engine.getHandlerRules initializes are nonempty.

217: tempApprover.group_or_chain_id := 1;
218: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
219: /*
220: The engine only calls a handler if a rule requiring it exists, so we can assume that
221: the package variables that ame_engine.getHandlerRules initializes are nonempty.
222: Fetch the rules and sort them in increasing parameter order. (Duplicate parameters
223: are harmless here.)
224: */
225: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,

Line 225: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,

221: the package variables that ame_engine.getHandlerRules initializes are nonempty.
222: Fetch the rules and sort them in increasing parameter order. (Duplicate parameters
223: are harmless here.)
224: */
225: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,
226: approverCategoriesOut => approverCategories,
227: parametersOut => parameters);
228: /* Check for COA 'firstAuthority' insertions */
229: ame_engine.getHandlerCOAFirstApprover(itemClassIn => tempApprover.item_class,

Line 229: ame_engine.getHandlerCOAFirstApprover(itemClassIn => tempApprover.item_class,

225: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,
226: approverCategoriesOut => approverCategories,
227: parametersOut => parameters);
228: /* Check for COA 'firstAuthority' insertions */
229: ame_engine.getHandlerCOAFirstApprover(itemClassIn => tempApprover.item_class,
230: itemIdIn => tempApprover.item_id,
231: actionTypeIdIn => tempApprover.action_type_id,
232: groupOrChainIdIn => tempApprover.group_or_chain_id,
233: nameOut => COAInsertee.name,

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

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

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

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

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

278: */
279: if(COAInsertee.name is null and
280: startingPointId is null )
281: then
282: if (ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowAutoApprovalAttribute)
283: = ame_util.booleanAttributeTrue)
284: then
285: getCatSourceAndAuthority(personIdIn => requestorId,
286: jobLevelIn => tempJobLevel,

Line 300: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,

296: origSystemIdIn => requestorId,
297: nameOut => tempApprover.name,
298: displayNameOut => tempApprover.display_name);
299: tempApprover.orig_system_id := requestorId;
300: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
301: itemClassIn => tempApprover.item_class,
302: itemIdIn => tempApprover.item_id,
303: actionTypeIdIn => tempApprover.action_type_id,
304: groupOrChainIdIn => tempApprover.group_or_chain_id);

Line 308: ame_engine.addApprover(approverIn => tempApprover);

304: groupOrChainIdIn => tempApprover.group_or_chain_id);
305: tempApprover.member_order_number := 1;
306: tempApprover.approval_status := ame_util.approvedStatus;
307: finalApproverFound := true;
308: ame_engine.addApprover(approverIn => tempApprover);
309: return;
310: end if;
311: end if;
312: /* As self approval is not an option. And only requestorId is defined, the chain

Line 361: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,

357: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
358: origSystemIdIn => tempApprover.orig_system_id,
359: nameOut => tempApprover.name,
360: displayNameOut => tempApprover.display_name);
361: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
362: itemClassIn => tempApprover.item_class,
363: itemIdIn => tempApprover.item_id,
364: actionTypeIdIn => tempApprover.action_type_id,
365: groupOrChainIdIn => tempApprover.group_or_chain_id);

Line 366: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);

362: itemClassIn => tempApprover.item_class,
363: itemIdIn => tempApprover.item_id,
364: actionTypeIdIn => tempApprover.action_type_id,
365: groupOrChainIdIn => tempApprover.group_or_chain_id);
366: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
367: /* The engine will set tempApprover.approver_order_number; leave it null here. */
368: /* Decide whether to end the chain. */
369: if(topDogFound or
370: (finalAuthorityFound and

Line 387: ame_engine.addApprover(approverIn => tempApprover);

383: if firstApproverSource is not null then
384: tempApprover.source := firstApproverSource;
385: firstApproverSource := null;
386: end if;
387: ame_engine.addApprover(approverIn => tempApprover);
388: exit;
389: end if;
390: /*
391: At this point finalAuthorityFound implies includeAllJobLevelApprovers, so the following if

Line 411: ame_engine.addApprover(approverIn => prevApprover);

407: if firstApproverSource is not null then
408: prevApprover.source := firstApproverSource;
409: firstApproverSource := null;
410: end if;
411: ame_engine.addApprover(approverIn => prevApprover);
412: exit;
413: end if;
414: tempOldJobLevel := tempJobLevel;
415: /* The approver is not the last approver in the chain. Must check the approver

Line 432: ame_engine.addApprover(approverIn => prevApprover);

428: if firstApproverSource is not null then
429: prevApprover.source := firstApproverSource;
430: firstApproverSource := null;
431: end if;
432: ame_engine.addApprover(approverIn => prevApprover);
433: /* check to see if there is a COA insertion after this approver. If a COA insertion is
434: found, keep checking till no more COA insertions. The check for final authority will need to be
435: done again.
436: */

Line 441: ame_engine.getHandlerCOAInsertion(nameIn => prevApprover.name,

437: loop
438: /* Initialize COAInsertee approverRecord2 */
439: COAInsertee := ame_util.emptyApproverRecord2;
440: /* Check if there are any COAInsertions */
441: ame_engine.getHandlerCOAInsertion(nameIn => prevApprover.name,
442: itemClassIn => prevApprover.item_class,
443: itemIdIn => prevApprover.item_id,
444: actionTypeIdIn => prevApprover.action_type_id,
445: groupOrChainIdIn => prevApprover.group_or_chain_id,

Line 479: prevApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => prevApprover.name,

475: prevApprover.member_order_number := tempMemberOrderNumber;
476: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
477: prevApprover.member_order_number := 1;
478: end if;
479: prevApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => prevApprover.name,
480: itemClassIn => prevApprover.item_class,
481: itemIdIn => prevApprover.item_id,
482: actionTypeIdIn => prevApprover.action_type_id,
483: groupOrChainIdIn => prevApprover.group_or_chain_id);

Line 484: prevApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => prevApprover);

480: itemClassIn => prevApprover.item_class,
481: itemIdIn => prevApprover.item_id,
482: actionTypeIdIn => prevApprover.action_type_id,
483: groupOrChainIdIn => prevApprover.group_or_chain_id);
484: prevApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => prevApprover);
485: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
486: ame_util.nullStatus check to see if approver could have final authority */
487: if ((prevApprover.approval_status is null) or
488: (prevApprover.approval_status in

Line 500: ame_engine.addApprover(approverIn => prevApprover);

496: tempHasFinalAuthorityYN = ame_util.booleanTrue) then
497: finalAuthorityFound := true;
498: end if;
499: end if;
500: ame_engine.addApprover(approverIn => prevApprover);
501: coaInsAuthForward := true;
502: end if;
503: end loop;
504: end if;

Line 523: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.firstauthHandlerInsReason,null);

519: tempJobLevel := tempSupervisorJobLevel;
520: tempSupervisorId := tempNextSupervisorId;
521: end if;
522: if firstAuthInsExists then
523: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.firstauthHandlerInsReason,null);
524: end if;
525: if coaInsAuthForward then
526: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.forwarHandlerAuthInsReason,null);
527: end if;

Line 526: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.forwarHandlerAuthInsReason,null);

522: if firstAuthInsExists then
523: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.firstauthHandlerInsReason,null);
524: end if;
525: if coaInsAuthForward then
526: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.forwarHandlerAuthInsReason,null);
527: end if;
528: end loop;
529: /* check to see if there is a COA insertion after the final approver. If a COA insertion is
530: found, keep checking till no more COA insertions. The check for final authority need not be

Line 537: ame_engine.getHandlerCOAInsertion(nameIn => tempApprover.name,

533: loop
534: /* Initialize COAInsertee approverRecord2 */
535: COAInsertee := ame_util.emptyApproverRecord2;
536: /* Check if there are any COAInsertions */
537: ame_engine.getHandlerCOAInsertion(nameIn => tempApprover.name,
538: itemClassIn => tempApprover.item_class,
539: itemIdIn => tempApprover.item_id,
540: actionTypeIdIn => tempApprover.action_type_id,
541: groupOrChainIdIn => tempApprover.group_or_chain_id,

Line 576: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,

572: tempApprover.member_order_number := tempMemberOrderNumber;
573: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
574: tempApprover.member_order_number := 1;
575: end if;
576: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
577: itemClassIn => tempApprover.item_class,
578: itemIdIn => tempApprover.item_id,
579: actionTypeIdIn => tempApprover.action_type_id,
580: groupOrChainIdIn => tempApprover.group_or_chain_id);

Line 581: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);

577: itemClassIn => tempApprover.item_class,
578: itemIdIn => tempApprover.item_id,
579: actionTypeIdIn => tempApprover.action_type_id,
580: groupOrChainIdIn => tempApprover.group_or_chain_id);
581: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
582: ame_engine.addApprover(approverIn => tempApprover);
583: end if;
584: end loop;
585: exception

Line 582: ame_engine.addApprover(approverIn => tempApprover);

578: itemIdIn => tempApprover.item_id,
579: actionTypeIdIn => tempApprover.action_type_id,
580: groupOrChainIdIn => tempApprover.group_or_chain_id);
581: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
582: ame_engine.addApprover(approverIn => tempApprover);
583: end if;
584: end loop;
585: exception
586: when noSupervisorException then