DBA Data[Home] [Help]

APPS.AME_ABSOLUTE_JOB_LEVEL_HANDLER dependencies on AME_ENGINE

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

271: finalAuthorityApproverCategory := null;
272: errorCode := -20230;
273: finalAuthoritySource := null;
274: includeAllJobLevelApprovers :=
275: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.includeAllApproversAttribute) =
276: ame_util.booleanAttributeTrue;
277: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
278: /*
279: The engine only calls a handler if a rule requiring it exists, so we can assume that

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

273: finalAuthoritySource := null;
274: includeAllJobLevelApprovers :=
275: ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.includeAllApproversAttribute) =
276: ame_util.booleanAttributeTrue;
277: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
278: /*
279: The engine only calls a handler if a rule requiring it exists, so we can assume that
280: the package variables that ame_engine.getHandlerRules initializes are nonempty.
281: Fetch the rules and sort them in increasing parameter order. (Duplicate parameters

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

276: ame_util.booleanAttributeTrue;
277: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
278: /*
279: The engine only calls a handler if a rule requiring it exists, so we can assume that
280: the package variables that ame_engine.getHandlerRules initializes are nonempty.
281: Fetch the rules and sort them in increasing parameter order. (Duplicate parameters
282: are harmless here.)
283: */
284: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,

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

280: the package variables that ame_engine.getHandlerRules initializes are nonempty.
281: Fetch the rules and sort them in increasing parameter order. (Duplicate parameters
282: are harmless here.)
283: */
284: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,
285: approverCategoriesOut => approverCategories,
286: parametersOut => parameters);
287: parametersCount := parameters.count;
288: parseAndSortRules;

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

291: end loop;
292: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
293: tempApprover.orig_system := ame_util.perOrigSystem;
294: tempApprover.authority := ame_util.authorityApprover;
295: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
296: tempApprover.item_class := ame_engine.getHandlerItemClassName;
297: tempApprover.item_id := ame_engine.getHandlerItemId;
298: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
299: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;

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

292: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
293: tempApprover.orig_system := ame_util.perOrigSystem;
294: tempApprover.authority := ame_util.authorityApprover;
295: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
296: tempApprover.item_class := ame_engine.getHandlerItemClassName;
297: tempApprover.item_id := ame_engine.getHandlerItemId;
298: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
299: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
300: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;

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

293: tempApprover.orig_system := ame_util.perOrigSystem;
294: tempApprover.authority := ame_util.authorityApprover;
295: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
296: tempApprover.item_class := ame_engine.getHandlerItemClassName;
297: tempApprover.item_id := ame_engine.getHandlerItemId;
298: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
299: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
300: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
301: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;

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

294: tempApprover.authority := ame_util.authorityApprover;
295: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
296: tempApprover.item_class := ame_engine.getHandlerItemClassName;
297: tempApprover.item_id := ame_engine.getHandlerItemId;
298: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
299: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
300: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
301: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
302: tempApprover.group_or_chain_order_number := 1;

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

295: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
296: tempApprover.item_class := ame_engine.getHandlerItemClassName;
297: tempApprover.item_id := ame_engine.getHandlerItemId;
298: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
299: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
300: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
301: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
302: tempApprover.group_or_chain_order_number := 1;
303: tempApprover.group_or_chain_id := 1;

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

296: tempApprover.item_class := ame_engine.getHandlerItemClassName;
297: tempApprover.item_id := ame_engine.getHandlerItemId;
298: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
299: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
300: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
301: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
302: tempApprover.group_or_chain_order_number := 1;
303: tempApprover.group_or_chain_id := 1;
304: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);

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

297: tempApprover.item_id := ame_engine.getHandlerItemId;
298: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
299: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
300: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
301: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
302: tempApprover.group_or_chain_order_number := 1;
303: tempApprover.group_or_chain_id := 1;
304: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
305: /* Check to see if there is a COA first approver set */

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

300: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
301: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
302: tempApprover.group_or_chain_order_number := 1;
303: tempApprover.group_or_chain_id := 1;
304: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
305: /* Check to see if there is a COA first approver set */
306: ame_engine.getHandlerCOAFirstApprover(itemClassIn => tempApprover.item_class,
307: itemIdIn => tempApprover.item_id,
308: actionTypeIdIn => tempApprover.action_type_id,

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

302: tempApprover.group_or_chain_order_number := 1;
303: tempApprover.group_or_chain_id := 1;
304: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
305: /* Check to see if there is a COA first approver set */
306: ame_engine.getHandlerCOAFirstApprover(itemClassIn => tempApprover.item_class,
307: itemIdIn => tempApprover.item_id,
308: actionTypeIdIn => tempApprover.action_type_id,
309: groupOrChainIdIn => tempApprover.group_or_chain_id,
310: nameOut => COAInsertee.name,

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

314: sourceOut => COAInsertee.source);
315: if(COAInsertee.name is null) then
316: /* Check to see if job_level_non_default_starting_point_person_id is defined */
317: startingPointId :=
318: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.jobLevelStartingPointAttribute));
319: if startingPointId is null then
320: requestorId :=
321: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionRequestorAttribute));
322: if(requestorId is null) then

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

317: startingPointId :=
318: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.jobLevelStartingPointAttribute));
319: if startingPointId is null then
320: requestorId :=
321: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionRequestorAttribute));
322: if(requestorId is null) then
323: raise nullFirstIdException;
324: end if;
325: tempApprover.orig_system_id := requestorId;

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

328: jobLevelOut => tempJobLevel,
329: supervisorIdOut => tempSupervisorId);
330: /* Check if requestor can self approve. If so, insert the approver as the only approver, with a status
331: of approved, and return.*/
332: if(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowAutoApprovalAttribute)
333: = ame_util.booleanAttributeTrue)
334: then
335: getCatSourceAndAuthority(personIdIn => requestorId,
336: jobLevelIn => tempJobLevel,

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

340: hasFinalAuthorityYNOut => tempHasFinalAuthorityYN,
341: supervisorJobLevelOut => tempSupervisorJobLevel,
342: nextSupervisorIdOut => tempNextSupervisorId);
343: if(tempHasFinalAuthorityYN = ame_util.booleanTrue) then
344: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
345: itemClassIn => tempApprover.item_class,
346: itemIdIn => tempApprover.item_id,
347: actionTypeIdIn => tempApprover.action_type_id,
348: groupOrChainIdIn => tempApprover.group_or_chain_id);

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

352: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
353: origSystemIdIn => tempApprover.orig_system_id,
354: nameOut => tempApprover.name,
355: displayNameOut => tempApprover.display_name);
356: ame_engine.addApprover(approverIn => tempApprover);
357: return;
358: end if;
359: end if;
360: /* As requestor can not self approve, the chain will start from requestor's manager.

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

421: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
422: origSystemIdIn => tempApprover.orig_system_id,
423: nameOut => tempApprover.name,
424: displayNameOut => tempApprover.display_name);
425: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
426: itemClassIn => tempApprover.item_class,
427: itemIdIn => tempApprover.item_id,
428: actionTypeIdIn => tempApprover.action_type_id,
429: groupOrChainIdIn => tempApprover.group_or_chain_id);

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

432: tempApprover.member_order_number := tempMemberOrderNumber;
433: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
434: tempApprover.member_order_number := 1;
435: end if;
436: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
437: /* The engine will set tempApprover.approver_order_number; leave it null here. */
438: ame_engine.addApprover(approverIn => tempApprover);
439: /* check to see if there is a COA insertion after this approver. If a COA insertion is
440: found, keep checking till no more COA insertions. The check for final authority will need to be

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

434: tempApprover.member_order_number := 1;
435: end if;
436: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
437: /* The engine will set tempApprover.approver_order_number; leave it null here. */
438: ame_engine.addApprover(approverIn => tempApprover);
439: /* check to see if there is a COA insertion after this approver. If a COA insertion is
440: found, keep checking till no more COA insertions. The check for final authority will need to be
441: done again.
442: */

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

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

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

482: tempApprover.member_order_number := tempMemberOrderNumber;
483: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
484: tempApprover.member_order_number := 1;
485: end if;
486: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
487: itemClassIn => tempApprover.item_class,
488: itemIdIn => tempApprover.item_id,
489: actionTypeIdIn => tempApprover.action_type_id,
490: groupOrChainIdIn => tempApprover.group_or_chain_id);

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

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

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

503: tempHasFinalAuthorityYN = ame_util.booleanTrue) then
504: finalAuthorityFound := true;
505: end if;
506: end if;
507: ame_engine.addApprover(approverIn => tempApprover);
508: coaInsAuthForward := true;
509: end if;
510: end loop;
511: /* Decide whether to end the chain. */

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

533: At this point finalAuthorityFound implies includeAllJobLevelApprovers, so the following if
534: doesn't need to check includeAllJobLevelApprovers. But it's implicit in the if statement.
535: */
536: if firstAuthInsExists then
537: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.firstauthHandlerInsReason,null);
538: end if;
539: if coaInsAuthForward then
540: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.forwarHandlerAuthInsReason,null);
541: end if;

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

536: if firstAuthInsExists then
537: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.firstauthHandlerInsReason,null);
538: end if;
539: if coaInsAuthForward then
540: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.forwarHandlerAuthInsReason,null);
541: end if;
542: if(finalAuthorityFound and
543: tempOldJobLevel <> tempJobLevel) then
544: exit;

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

598: if l_error_code = -20213 then
599: errorMessage := ame_util.getMessage(applicationShortNameIn =>'PER',
600: messageNameIn => 'AME_400834_INV_HANDLR_APR',
601: tokenNameOneIn => 'ACTION_TYPE_NAME',
602: tokenValueOneIn => ame_engine.getActionTypeName(tempApprover.action_type_id),
603: tokenNameTwoIn => 'ORIG_SYSTEM',
604: tokenValueTwoIn => ame_util.perOrigSystem,
605: tokenNameThreeIn => 'ORIG_SYSEM_ID',
606: tokenValueThreeIn => tempApprover.orig_system_id);