DBA Data[Home] [Help]

APPS.AME_SUPERVISORY_HANDLER dependencies on AME_ENGINE

Line 225: the package variables that ame_engine.getHandlerRules2 initializes are nonempty.

221: errorCode := -20226;
222: currentSupervisoryLevel := 0;
223: /*
224: The engine only calls a handler if a rule requiring it exists, so we can assume that
225: the package variables that ame_engine.getHandlerRules2 initializes are nonempty.
226: Fetch the rules and sort them in increasing parameter order. (Duplicate parameters
227: are harmless here.)
228: */
229: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,

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

225: the package variables that ame_engine.getHandlerRules2 initializes are nonempty.
226: Fetch the rules and sort them in increasing parameter order. (Duplicate parameters
227: are harmless here.)
228: */
229: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,
230: approverCategoriesOut => approverCategories,
231: parametersOut => parameters);
232: /* Populate some of the package variables. */
233: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));

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

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

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

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

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

239: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
240: tempApprover.orig_system := ame_util.perOrigSystem;
241: tempApprover.authority := ame_util.authorityApprover;
242: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
243: tempApprover.item_class := ame_engine.getHandlerItemClassName;
244: tempApprover.item_id := ame_engine.getHandlerItemId;
245: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
246: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
247: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;

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

240: tempApprover.orig_system := ame_util.perOrigSystem;
241: tempApprover.authority := ame_util.authorityApprover;
242: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
243: tempApprover.item_class := ame_engine.getHandlerItemClassName;
244: tempApprover.item_id := ame_engine.getHandlerItemId;
245: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
246: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
247: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
248: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;

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

241: tempApprover.authority := ame_util.authorityApprover;
242: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
243: tempApprover.item_class := ame_engine.getHandlerItemClassName;
244: tempApprover.item_id := ame_engine.getHandlerItemId;
245: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
246: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
247: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
248: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
249: tempApprover.group_or_chain_order_number := 1;

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

242: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
243: tempApprover.item_class := ame_engine.getHandlerItemClassName;
244: tempApprover.item_id := ame_engine.getHandlerItemId;
245: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
246: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
247: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
248: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
249: tempApprover.group_or_chain_order_number := 1;
250: tempApprover.group_or_chain_id := 1;

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

243: tempApprover.item_class := ame_engine.getHandlerItemClassName;
244: tempApprover.item_id := ame_engine.getHandlerItemId;
245: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
246: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
247: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
248: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
249: tempApprover.group_or_chain_order_number := 1;
250: tempApprover.group_or_chain_id := 1;
251: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);

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

244: tempApprover.item_id := ame_engine.getHandlerItemId;
245: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
246: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
247: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
248: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
249: tempApprover.group_or_chain_order_number := 1;
250: tempApprover.group_or_chain_id := 1;
251: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
252: /* In a supervisory hierarchy, self approval can not be done. Hence no check needed for it. */

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

247: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
248: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
249: tempApprover.group_or_chain_order_number := 1;
250: tempApprover.group_or_chain_id := 1;
251: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
252: /* In a supervisory hierarchy, self approval can not be done. Hence no check needed for it. */
253: /* Check for COA Insertions */
254: ame_engine.getHandlerCOAFirstApprover(itemClassIn => tempApprover.item_class,
255: itemIdIn => tempApprover.item_id,

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

250: tempApprover.group_or_chain_id := 1;
251: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
252: /* In a supervisory hierarchy, self approval can not be done. Hence no check needed for it. */
253: /* Check for COA Insertions */
254: ame_engine.getHandlerCOAFirstApprover(itemClassIn => tempApprover.item_class,
255: itemIdIn => tempApprover.item_id,
256: actionTypeIdIn => tempApprover.action_type_id,
257: groupOrChainIdIn => tempApprover.group_or_chain_id,
258: nameOut => COAInsertee.name,

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

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

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

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

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

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

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

283: getCatSourceAndAuthority(personIdIn => tempApprover.orig_system_id,
284: categoryOut => tempApprover.approver_category,
285: sourceOut => tempApprover.source,
286: hasFinalAuthorityYNOut => tempHasFinalAuthorityYN);
287: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
288: itemClassIn => tempApprover.item_class,
289: itemIdIn => tempApprover.item_id,
290: actionTypeIdIn => tempApprover.action_type_id,
291: groupOrChainIdIn => tempApprover.group_or_chain_id);

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

295: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
296: origSystemIdIn => tempApprover.orig_system_id,
297: nameOut => tempApprover.name,
298: displayNameOut => tempApprover.display_name);
299: ame_engine.addApprover(approverIn => tempApprover);
300: return;
301: else
302: /* raise appropriate exception */
303: raise topDogRequestorException;

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

346: origSystemIdIn=> tempApprover.orig_system_id,
347: nameOut => tempApprover.name,
348: displayNameOut => tempApprover.display_name);
349: end if;
350: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
351: itemClassIn => tempApprover.item_class,
352: itemIdIn => tempApprover.item_id,
353: actionTypeIdIn => tempApprover.action_type_id,
354: groupOrChainIdIn => tempApprover.group_or_chain_id);

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

351: itemClassIn => tempApprover.item_class,
352: itemIdIn => tempApprover.item_id,
353: actionTypeIdIn => tempApprover.action_type_id,
354: groupOrChainIdIn => tempApprover.group_or_chain_id);
355: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
356: /* The engine will set tempApprover.approver_order_number; leave it null here. */
357: ame_engine.addApprover(approverIn => tempApprover);
358: /* check to see if there is a COA insertion after this approver. If a COA insertion is
359: found, keep checking till no more COA insertions.

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

353: actionTypeIdIn => tempApprover.action_type_id,
354: groupOrChainIdIn => tempApprover.group_or_chain_id);
355: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
356: /* The engine will set tempApprover.approver_order_number; leave it null here. */
357: ame_engine.addApprover(approverIn => tempApprover);
358: /* check to see if there is a COA insertion after this approver. If a COA insertion is
359: found, keep checking till no more COA insertions.
360: */
361: currentApproverPersonId := tempApprover.orig_system_id;

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

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

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

394: tempApprover.member_order_number := tempMemberOrderNumber;
395: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
396: tempApprover.member_order_number := 1;
397: end if;
398: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
399: itemClassIn => tempApprover.item_class,
400: itemIdIn => tempApprover.item_id,
401: actionTypeIdIn => tempApprover.action_type_id,
402: groupOrChainIdIn => tempApprover.group_or_chain_id);

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

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

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

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

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

417: nameOut => tempApprover.name,
418: displayNameOut => tempApprover.display_name);
419: /*if the next approver because of first auth insertion the populate the date and reason*/
420: if firstAuthInsExists then
421: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.firstauthHandlerInsReason,null);
422: end if;
423: if coaInsAuthForward then
424: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.forwarHandlerAuthInsReason,null);
425: end if;

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

420: if firstAuthInsExists then
421: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.firstauthHandlerInsReason,null);
422: end if;
423: if coaInsAuthForward then
424: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.forwarHandlerAuthInsReason,null);
425: end if;
426: tempApprover.api_insertion := ame_util.oamGenerated;
427: end loop;
428: exception

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

456: if l_error_code = -20213 then
457: errorMessage := ame_util.getMessage(applicationShortNameIn =>'PER',
458: messageNameIn => 'AME_400834_INV_HANDLR_APR',
459: tokenNameOneIn => 'ACTION_TYPE_NAME',
460: tokenValueOneIn => ame_engine.getActionTypeName(tempApprover.action_type_id),
461: tokenNameTwoIn => 'ORIG_SYSTEM',
462: tokenValueTwoIn => ame_util.perOrigSystem,
463: tokenNameThreeIn => 'ORIG_SYSEM_ID',
464: tokenValueThreeIn => tempApprover.orig_system_id);