DBA Data[Home] [Help]

APPS.AME_FINAL_ONLY_HANDLER dependencies on AME_ENGINE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Line 643: tokenValueOneIn => ame_engine.getActionTypeName(tempApprover.action_type_id),

639: if l_error_code = -20213 then
640: errorMessage := ame_util.getMessage(applicationShortNameIn =>'PER',
641: messageNameIn => 'AME_400834_INV_HANDLR_APR',
642: tokenNameOneIn => 'ACTION_TYPE_NAME',
643: tokenValueOneIn => ame_engine.getActionTypeName(tempApprover.action_type_id),
644: tokenNameTwoIn => 'ORIG_SYSTEM',
645: tokenValueTwoIn => ame_util.perOrigSystem,
646: tokenNameThreeIn => 'ORIG_SYSEM_ID',
647: tokenValueThreeIn => tempApprover.orig_system_id);