DBA Data[Home] [Help]

APPS.AME_POSITION_LEVEL_HANDLER dependencies on AME_ENGINE

Line 111: ame_engine.getHeaderAttValue2(attributeNameIn =>ame_util.nonDefPosStructureAttr);

107: --
108: function getPositionStructureId return integer as
109: begin
110: positionStructureId :=
111: ame_engine.getHeaderAttValue2(attributeNameIn =>ame_util.nonDefPosStructureAttr);
112: return positionStructureId;
113: end getPositionStructureId;
114: /* Procedures */
115: procedure getCatSourceAndAuthority(positionIdIn in integer,

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

217: coaInsAuthForward boolean := false;
218: begin
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.getHandlerRules2 initializes are nonempty.
222: Fetch the rules and sort them in increasing parameter order. (Duplicate parameters
223: are harmless here.)
224: */
225: currentPositionLevel := 0;

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

222: Fetch the rules and sort them in increasing parameter order. (Duplicate parameters
223: are harmless here.)
224: */
225: currentPositionLevel := 0;
226: ame_engine.getHandlerRules2(ruleIdsOut => ruleIds,
227: approverCategoriesOut => approverCategories,
228: parametersOut => parameters);
229: /* Populate some of the package variables. */
230: topDogPositionId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topPositionIdAttribute));

Line 230: topDogPositionId := to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.topPositionIdAttribute));

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

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

235: end loop;
236: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
237: tempApprover.orig_system := ame_util.posOrigSystem;
238: tempApprover.authority := ame_util.authorityApprover;
239: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
240: tempApprover.item_class := ame_engine.getHandlerItemClassName;
241: tempApprover.item_id := ame_engine.getHandlerItemId;
242: tempApprover.group_or_chain_id := 1;
243: --

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

236: /* Set the fields in tempApprover that are constant for the entire handler cycle. */
237: tempApprover.orig_system := ame_util.posOrigSystem;
238: tempApprover.authority := ame_util.authorityApprover;
239: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
240: tempApprover.item_class := ame_engine.getHandlerItemClassName;
241: tempApprover.item_id := ame_engine.getHandlerItemId;
242: tempApprover.group_or_chain_id := 1;
243: --
244: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;

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

237: tempApprover.orig_system := ame_util.posOrigSystem;
238: tempApprover.authority := ame_util.authorityApprover;
239: tempApprover.action_type_id := ame_engine.getHandlerActionTypeId;
240: tempApprover.item_class := ame_engine.getHandlerItemClassName;
241: tempApprover.item_id := ame_engine.getHandlerItemId;
242: tempApprover.group_or_chain_id := 1;
243: --
244: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
245: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;

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

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

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

241: tempApprover.item_id := ame_engine.getHandlerItemId;
242: tempApprover.group_or_chain_id := 1;
243: --
244: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
245: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
246: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
247: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
248: tempApprover.group_or_chain_order_number := 1;
249: /* Fetch some of the required attributes. */

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

242: tempApprover.group_or_chain_id := 1;
243: --
244: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
245: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
246: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
247: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
248: tempApprover.group_or_chain_order_number := 1;
249: /* Fetch some of the required attributes. */
250: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);

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

243: --
244: tempApprover.item_class_order_number := ame_engine.getHandlerItemClassOrderNumber;
245: tempApprover.item_order_number := ame_engine.getHandlerItemOrderNumber;
246: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
247: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
248: tempApprover.group_or_chain_order_number := 1;
249: /* Fetch some of the required attributes. */
250: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
251: /* Check for COA Insertions */

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

246: tempApprover.sub_list_order_number := ame_engine.getHandlerSublistOrderNum;
247: tempApprover.action_type_order_number := ame_engine.getHandlerActionTypeOrderNum;
248: tempApprover.group_or_chain_order_number := 1;
249: /* Fetch some of the required attributes. */
250: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
251: /* Check for COA Insertions */
252: ame_engine.getHandlerCOAFirstApprover(itemClassIn => tempApprover.item_class,
253: itemIdIn => tempApprover.item_id,
254: actionTypeIdIn => tempApprover.action_type_id,

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

248: tempApprover.group_or_chain_order_number := 1;
249: /* Fetch some of the required attributes. */
250: votingRegimeType := ame_engine.getActionTypeVotingRegime(actionTypeIdIn => tempApprover.action_type_id);
251: /* Check for COA Insertions */
252: ame_engine.getHandlerCOAFirstApprover(itemClassIn => tempApprover.item_class,
253: itemIdIn => tempApprover.item_id,
254: actionTypeIdIn => tempApprover.action_type_id,
255: groupOrChainIdIn => tempApprover.group_or_chain_id,
256: nameOut => COAInsertee.name,

Line 266: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.nonDefStartingPointPosAttr));

262: non-default starting point or the requestor's supervisor. */
263: if COAInsertee.name is null then
264: /* Fetch some of the required attributes. */
265: startingPointId :=
266: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.nonDefStartingPointPosAttr));
267: if(startingPointId is null) then
268: requestorId :=
269: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionReqPositionAttr));
270: if (requestorId is null) then

Line 269: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionReqPositionAttr));

265: startingPointId :=
266: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.nonDefStartingPointPosAttr));
267: if(startingPointId is null) then
268: requestorId :=
269: to_number(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.transactionReqPositionAttr));
270: if (requestorId is null) then
271: raise nullFirstIdException;
272: end if;
273: if topDogPositionId = requestorId then

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

273: if topDogPositionId = requestorId then
274: tempApprover.orig_system_id := requestorId;
275: /* Check if requestor can self approve. If so, insert the approver as the
276: only approver, with a status of approved, and return.*/
277: if(ame_engine.getHeaderAttValue2(attributeNameIn => ame_util.allowAutoApprovalAttribute)
278: = ame_util.booleanAttributeTrue)
279: then
280: getCatSourceAndAuthority(positionIdIn => requestorId,
281: categoryOut => tempApprover.approver_category,

Line 290: tempApprover.occurrence := ame_engine.getHandlerOccurrence(

286: origSystemIn => ame_util.posOrigSystem,
287: origSystemIdIn => requestorId,
288: nameOut => tempApprover.name,
289: displayNameOut => tempApprover.display_name);
290: tempApprover.occurrence := ame_engine.getHandlerOccurrence(
291: nameIn => tempApprover.name,
292: itemClassIn => tempApprover.item_class,
293: itemIdIn => tempApprover.item_id,
294: actionTypeIdIn => tempApprover.action_type_id,

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

294: actionTypeIdIn => tempApprover.action_type_id,
295: groupOrChainIdIn => tempApprover.group_or_chain_id);
296: tempApprover.member_order_number := 1;
297: tempApprover.approval_status := ame_util.approvedStatus;
298: ame_engine.addApprover(approverIn => tempApprover);
299: return;
300: else
301: /* The requestor is the top position but he can not auto approve.
302: hence raise appropriate exception*/

Line 340: tempApprover.occurrence := ame_engine.getHandlerOccurrence(

336: if firstApproverSource is not null then
337: tempApprover.source := firstApproverSource;
338: firstApproverSource := null;
339: end if;
340: tempApprover.occurrence := ame_engine.getHandlerOccurrence(
341: nameIn => tempApprover.name,
342: itemClassIn => tempApprover.item_class,
343: itemIdIn => tempApprover.item_id,
344: actionTypeIdIn => tempApprover.action_type_id,

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

348: tempApprover.member_order_number := tempMemberOrderNumber;
349: else /* votingRegimeType in (ame_util.consensusVoting, ame_util.firstApproverVoting) */
350: tempApprover.member_order_number := 1;
351: end if;
352: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
353: /* The engine will set tempApprover.approver_order_number; leave it null here. */
354: ame_engine.addApprover(approverIn => tempApprover);
355: /* check to see if there is a COA insertion after this approver. If a COA
356: insertion is found, keep checking till no more COA insertions. The check

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

350: tempApprover.member_order_number := 1;
351: end if;
352: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn => tempApprover);
353: /* The engine will set tempApprover.approver_order_number; leave it null here. */
354: ame_engine.addApprover(approverIn => tempApprover);
355: /* check to see if there is a COA insertion after this approver. If a COA
356: insertion is found, keep checking till no more COA insertions. The check
357: for final authority will not be needed (similar to supervisory handler). */
358: loop

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

358: loop
359: /* Initialize COAInsertee approverRecord2 */
360: COAInsertee := ame_util.emptyApproverRecord2;
361: /* Check if there are any COAInsertions */
362: ame_engine.getHandlerCOAInsertion(nameIn => tempApprover.name,
363: itemClassIn => tempApprover.item_class,
364: itemIdIn => tempApprover.item_id,
365: actionTypeIdIn => tempApprover.action_type_id,
366: groupOrChainIdIn => tempApprover.group_or_chain_id,

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

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

Line 399: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn =>

395: itemClassIn => tempApprover.item_class,
396: itemIdIn => tempApprover.item_id,
397: actionTypeIdIn => tempApprover.action_type_id,
398: groupOrChainIdIn => tempApprover.group_or_chain_id);
399: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn =>
400: tempApprover);
401: ame_engine.addApprover(approverIn => tempApprover);
402: end if;
403: end loop;

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

397: actionTypeIdIn => tempApprover.action_type_id,
398: groupOrChainIdIn => tempApprover.group_or_chain_id);
399: tempApprover.approval_status := ame_engine.getHandlerApprovalStatus(approverIn =>
400: tempApprover);
401: ame_engine.addApprover(approverIn => tempApprover);
402: end if;
403: end loop;
404: /* Decide whether to end the chain. */
405: if(tempHasFinalAuthorityYN = ame_util.booleanTrue ) then

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

410: origSystemIdIn => tempApprover.orig_system_id,
411: nameOut => tempApprover.name,
412: displayNameOut => tempApprover.display_name);
413: if firstAuthInsExists then
414: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.firstauthHandlerInsReason,null);
415: end if;
416: if coaInsAuthForward then
417: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.forwarHandlerAuthInsReason,null);
418: end if;

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

413: if firstAuthInsExists then
414: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.firstauthHandlerInsReason,null);
415: end if;
416: if coaInsAuthForward then
417: ame_engine.setDeviationReasonDate(ame_approver_deviation_pkg.forwarHandlerAuthInsReason,null);
418: end if;
419: tempApprover.api_insertion := ame_util.oamGenerated;
420: end loop;
421: exception