DBA Data[Home] [Help]

APPS.AME_SUPERVISORY_HANDLER dependencies on AME_ENGINE

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

200: /* Reset package variables */
201: currentSupervisoryLevel := 0;
202: /*
203: The engine only calls a handler if a rule requiring it exists, so we can assume that
204: the package variables that ame_engine.getHandlerRules2 initializes are nonempty.
205: Fetch the rules and sort them in increasing parameter order. (Duplicate parameters
206: are harmless here.)
207: */
208: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,

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

204: the package variables that ame_engine.getHandlerRules2 initializes are nonempty.
205: Fetch the rules and sort them in increasing parameter order. (Duplicate parameters
206: are harmless here.)
207: */
208: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,
209: approverCategoriesOut => approverCategories,
210: parametersOut => parameters);
211: /* Populate some of the package variables. */
212: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));

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

208: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,
209: approverCategoriesOut => approverCategories,
210: parametersOut => parameters);
211: /* Populate some of the package variables. */
212: topDogPersonId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topSupPersonIdAttribute));
213: parametersCount := parameters.count;
214: parseAndSortRules;
215: for i in 1 .. ruleIds.count loop
216: ruleSatisfiedYN(i) := ame_util.booleanFalse;

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

217: end loop;
218: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
219: tempApprover.orig_system := ame_util.perOrigSystem;
220: tempApprover.authority := ame_util.authorityApprover;
221: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
222: tempApprover.item_class := ame_engine.getHandlerItemClassName;
223: tempApprover.item_id := ame_engine.getHandlerItemId;
224: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
225: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;

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

218: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
219: tempApprover.orig_system := ame_util.perOrigSystem;
220: tempApprover.authority := ame_util.authorityApprover;
221: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
222: tempApprover.item_class := ame_engine.getHandlerItemClassName;
223: tempApprover.item_id := ame_engine.getHandlerItemId;
224: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
225: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
226: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;

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

219: tempApprover.orig_system := ame_util.perOrigSystem;
220: tempApprover.authority := ame_util.authorityApprover;
221: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
222: tempApprover.item_class := ame_engine.getHandlerItemClassName;
223: tempApprover.item_id := ame_engine.getHandlerItemId;
224: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
225: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
226: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
227: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;

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

220: tempApprover.authority := ame_util.authorityApprover;
221: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
222: tempApprover.item_class := ame_engine.getHandlerItemClassName;
223: tempApprover.item_id := ame_engine.getHandlerItemId;
224: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
225: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
226: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
227: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
228: tempApprover.group_or_chain_order_number := 1;

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

221: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
222: tempApprover.item_class := ame_engine.getHandlerItemClassName;
223: tempApprover.item_id := ame_engine.getHandlerItemId;
224: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
225: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
226: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
227: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
228: tempApprover.group_or_chain_order_number := 1;
229: tempApprover.group_or_chain_id := 1;

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

222: tempApprover.item_class := ame_engine.getHandlerItemClassName;
223: tempApprover.item_id := ame_engine.getHandlerItemId;
224: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
225: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
226: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
227: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
228: tempApprover.group_or_chain_order_number := 1;
229: tempApprover.group_or_chain_id := 1;
230: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);

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

223: tempApprover.item_id := ame_engine.getHandlerItemId;
224: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
225: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
226: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
227: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
228: tempApprover.group_or_chain_order_number := 1;
229: tempApprover.group_or_chain_id := 1;
230: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
231: /* In a supervisory hierarchy, self approval can not be done. Hence no check needed for it. */

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

226: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
227: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
228: tempApprover.group_or_chain_order_number := 1;
229: tempApprover.group_or_chain_id := 1;
230: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
231: /* In a supervisory hierarchy, self approval can not be done. Hence no check needed for it. */
232: /* Check for COA Insertions */
233: ame_engine.getHandlerCOAFirstApprover(itemClassIn => tempApprover.item_class,
234: itemIdIn => tempApprover.item_id,

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

229: tempApprover.group_or_chain_id := 1;
230: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
231: /* In a supervisory hierarchy, self approval can not be done. Hence no check needed for it. */
232: /* Check for COA Insertions */
233: ame_engine.getHandlerCOAFirstApprover(itemClassIn => tempApprover.item_class,
234: itemIdIn => tempApprover.item_id,
235: actionTypeIdIn => tempApprover.action_type_id,
236: groupOrChainIdIn => tempApprover.group_or_chain_id,
237: nameOut => COAInsertee.name,

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

245: */
246: if COAInsertee.name is null then
247: /* Fetch some of the required attributes. */
248: startingPointId :=
249: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.supStartingPointAttribute));
250: if(startingPointId is null) then
251: requestorId :=
252: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionRequestorAttribute));
253: if (requestorId is null) then

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

248: startingPointId :=
249: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.supStartingPointAttribute));
250: if(startingPointId is null) then
251: requestorId :=
252: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionRequestorAttribute));
253: if (requestorId is null) then
254: raise nullFirstIdException;
255: end if;
256: /* check if requestor is the top supervisor person id */

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

256: /* check if requestor is the top supervisor person id */
257: if topDogPersonId = requestorId then
258: tempApprover.orig_system_id := requestorId;
259: /* check if requestor can self approve transaction */
260: if(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowAutoApprovalAttribute)
261: = ame_util.booleanAttributeTrue) then
262: getCatSourceAndAuthority(personIdIn => tempApprover.orig_system_id,
263: categoryOut => tempApprover.approver_category,
264: sourceOut => tempApprover.source,

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

262: getCatSourceAndAuthority(personIdIn => tempApprover.orig_system_id,
263: categoryOut => tempApprover.approver_category,
264: sourceOut => tempApprover.source,
265: hasFinalAuthorityYNOut => tempHasFinalAuthorityYN);
266: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
267: itemClassIn => tempApprover.item_class,
268: itemIdIn => tempApprover.item_id,
269: actionTypeIdIn => tempApprover.action_type_id,
270: groupOrChainIdIn => tempApprover.group_or_chain_id);

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

274: ame_approver_type_pkg.getWfRolesNameAndDisplayName(origSystemIn => ame_util.perOrigSystem,
275: origSystemIdIn => tempApprover.orig_system_id,
276: nameOut => tempApprover.name,
277: displayNameOut => tempApprover.display_name);
278: ame_engine.addApprover(approverIn => tempApprover);
279: return;
280: else
281: /* raise appropriate exception */
282: raise topDogRequestorException;

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

324: origSystemIdIn=> tempApprover.orig_system_id,
325: nameOut => tempApprover.name,
326: displayNameOut => tempApprover.display_name);
327: end if;
328: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
329: itemClassIn => tempApprover.item_class,
330: itemIdIn => tempApprover.item_id,
331: actionTypeIdIn => tempApprover.action_type_id,
332: groupOrChainIdIn => tempApprover.group_or_chain_id);

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

329: itemClassIn => tempApprover.item_class,
330: itemIdIn => tempApprover.item_id,
331: actionTypeIdIn => tempApprover.action_type_id,
332: groupOrChainIdIn => tempApprover.group_or_chain_id);
333: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
334: /* The engine will set tempApprover.approver_order_number; leave it null here. */
335: ame_engine.addApprover(approverIn => tempApprover);
336: /* check to see if there is a COA insertion after this approver. If a COA insertion is
337: found, keep checking till no more COA insertions.

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

331: actionTypeIdIn => tempApprover.action_type_id,
332: groupOrChainIdIn => tempApprover.group_or_chain_id);
333: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
334: /* The engine will set tempApprover.approver_order_number; leave it null here. */
335: ame_engine.addApprover(approverIn => tempApprover);
336: /* check to see if there is a COA insertion after this approver. If a COA insertion is
337: found, keep checking till no more COA insertions.
338: */
339: currentApproverPersonId := tempApprover.orig_system_id;

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

340: loop
341: /* Initialize COAInsertee approver record 2 */
342: COAInsertee := ame_util.emptyApproverRecord2;
343: /* Check if there are any chain of authority insertions */
344: ame_engine.getHandlerCOAInsertion(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 376: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,

372: tempApprover.member_order_number := tempMemberOrderNumber;
373: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
374: tempApprover.member_order_number := 1;
375: end if;
376: tempApprover.occurrence := ame_engine.getHandlerOccurrence(nameIn => tempApprover.name,
377: itemClassIn => tempApprover.item_class,
378: itemIdIn => tempApprover.item_id,
379: actionTypeIdIn => tempApprover.action_type_id,
380: groupOrChainIdIn => tempApprover.group_or_chain_id);

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

377: itemClassIn => tempApprover.item_class,
378: itemIdIn => tempApprover.item_id,
379: actionTypeIdIn => tempApprover.action_type_id,
380: groupOrChainIdIn => tempApprover.group_or_chain_id);
381: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
382: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
383: ame_util.nullStatus check to see if approver could have final authority */
384: ame_engine.addApprover(approverIn => tempApprover);
385: end if;

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

380: groupOrChainIdIn => tempApprover.group_or_chain_id);
381: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
382: /* If approver has a status of ame_util.approve or ame_util.approveAndForwardStatus or
383: ame_util.nullStatus check to see if approver could have final authority */
384: ame_engine.addApprover(approverIn => tempApprover);
385: end if;
386: end loop;
387: /* Decide whether to end the chain. */
388: if(tempHasFinalAuthorityYN = ame_util.booleanTrue ) then

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

395: nameOut => tempApprover.name,
396: displayNameOut => tempApprover.display_name);
397: /*if the next approver because of first auth insertion the populate the date and reason*/
398: if firstAuthInsExists then
399: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.firstauthHandlerInsReason,null);
400: end if;
401: if coaInsAuthForward then
402: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.forwarHandlerAuthInsReason,null);
403: end if;

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

398: if firstAuthInsExists then
399: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.firstauthHandlerInsReason,null);
400: end if;
401: if coaInsAuthForward then
402: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.forwarHandlerAuthInsReason,null);
403: end if;
404: tempApprover.api_insertion := ame_util.oamGenerated;
405: end loop;
406: exception