DBA Data[Home] [Help]

APPS.POR_AME_APPROVAL_LIST dependencies on AME_UTIL

Line 102: function serializeApproversTable(approversTableIn in ame_util.approversTable2,

98: -- 'Y' if there is approver taken action
99: --End of Comments
100: --------------------------------------------------------------------------------
101:
102: function serializeApproversTable(approversTableIn in ame_util.approversTable2,
103: reqHeaderId in NUMBER,
104: approverCount out nocopy number,
105: hasApprovalAction out nocopy varchar2)
106: return varchar2;

Line 160: tmpApprover ame_util.approverRecord2;

156: pFieldDelimiter OUT NOCOPY VARCHAR2
157: ) IS
158:
159: l_api_name varchar2(50):= 'change_first_approver';
160: tmpApprover ame_util.approverRecord2;
161: ameTransactionType po_document_types.ame_transaction_type%TYPE;
162:
163: approverList ame_util.approversTable2;
164: l_process_out VARCHAR2(10);

Line 163: approverList ame_util.approversTable2;

159: l_api_name varchar2(50):= 'change_first_approver';
160: tmpApprover ame_util.approverRecord2;
161: ameTransactionType po_document_types.ame_transaction_type%TYPE;
162:
163: approverList ame_util.approversTable2;
164: l_process_out VARCHAR2(10);
165: currentFirstApprover ame_util.approverRecord2;
166:
167: begin

Line 165: currentFirstApprover ame_util.approverRecord2;

161: ameTransactionType po_document_types.ame_transaction_type%TYPE;
162:
163: approverList ame_util.approversTable2;
164: l_process_out VARCHAR2(10);
165: currentFirstApprover ame_util.approverRecord2;
166:
167: begin
168:
169: if g_fnd_debug = 'Y' then

Line 210: if( approverList(i).authority = ame_util.authorityApprover

206:
207: -- Once we get the approvers list from AME, we iterate through the approvers list,
208: -- to find out the current first authority approver.
209: for i in 1 .. approverList.count loop
210: if( approverList(i).authority = ame_util.authorityApprover
211: and approverList(i).approval_status is null
212: and approverList(i).api_insertion = 'N'
213: and approverList(i).group_or_chain_id < 3 ) then
214: currentFirstApprover := approverList(i) ;

Line 232: if currentFirstApprover.orig_system = ame_util.posOrigSystem then

228: -- If the first approver record is of emp supervisor action type,
229: -- then we simply frame the new approver record from the input parameters.
230: -- FND users cannot be set as first authority approver. So no need to check for the value 'FND'
231:
232: if currentFirstApprover.orig_system = ame_util.posOrigSystem then
233:
234: if g_fnd_debug = 'Y' then
235: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN
236: FND_LOG.string(FND_LOG.level_statement, g_module_prefix || l_api_name, 'First record is of type Position Hierarchy...' );

Line 239: tmpApprover.orig_system := ame_util.posOrigSystem;

235: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN
236: FND_LOG.string(FND_LOG.level_statement, g_module_prefix || l_api_name, 'First record is of type Position Hierarchy...' );
237: END IF;
238: end if;
239: tmpApprover.orig_system := ame_util.posOrigSystem;
240: SELECT position_id into tmpApprover.orig_system_id FROM PER_ALL_ASSIGNMENTS_F pa
241: WHERE pa.person_id = pPersonId and pa.primary_flag = 'Y' and pa.assignment_type in ('E','C')
242: and pa.position_id is not null and pa.assignment_status_type_id not in (
243: select assignment_status_type_id from per_assignment_status_types where per_system_status = 'TERM_ASSIGN')

Line 272: tmpApprover.orig_system := ame_util.perOrigSystem;

268: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN
269: FND_LOG.string(FND_LOG.level_statement, g_module_prefix || l_api_name, ' First record is of type Emp-Sup Hierarchy...' );
270: END IF;
271: end if;
272: tmpApprover.orig_system := ame_util.perOrigSystem;
273: tmpApprover.orig_system_id := pPersonId;
274: end if;
275:
276: -- set the mandatory default attributes for the first authority approver.

Line 277: tmpApprover.authority := ame_util.authorityApprover;

273: tmpApprover.orig_system_id := pPersonId;
274: end if;
275:
276: -- set the mandatory default attributes for the first authority approver.
277: tmpApprover.authority := ame_util.authorityApprover;
278: tmpApprover.api_insertion := ame_util.apiAuthorityInsertion;
279: tmpApprover.approval_status := ame_util.nullStatus;
280: tmpApprover.approver_category := ame_util.approvalApproverCategory ;
281: tmpApprover.item_class := currentFirstApprover.item_class ;

Line 278: tmpApprover.api_insertion := ame_util.apiAuthorityInsertion;

274: end if;
275:
276: -- set the mandatory default attributes for the first authority approver.
277: tmpApprover.authority := ame_util.authorityApprover;
278: tmpApprover.api_insertion := ame_util.apiAuthorityInsertion;
279: tmpApprover.approval_status := ame_util.nullStatus;
280: tmpApprover.approver_category := ame_util.approvalApproverCategory ;
281: tmpApprover.item_class := currentFirstApprover.item_class ;
282: tmpApprover.item_id := currentFirstApprover.item_id ;

Line 279: tmpApprover.approval_status := ame_util.nullStatus;

275:
276: -- set the mandatory default attributes for the first authority approver.
277: tmpApprover.authority := ame_util.authorityApprover;
278: tmpApprover.api_insertion := ame_util.apiAuthorityInsertion;
279: tmpApprover.approval_status := ame_util.nullStatus;
280: tmpApprover.approver_category := ame_util.approvalApproverCategory ;
281: tmpApprover.item_class := currentFirstApprover.item_class ;
282: tmpApprover.item_id := currentFirstApprover.item_id ;
283: tmpApprover.action_type_id := currentFirstApprover.action_type_id ;

Line 280: tmpApprover.approver_category := ame_util.approvalApproverCategory ;

276: -- set the mandatory default attributes for the first authority approver.
277: tmpApprover.authority := ame_util.authorityApprover;
278: tmpApprover.api_insertion := ame_util.apiAuthorityInsertion;
279: tmpApprover.approval_status := ame_util.nullStatus;
280: tmpApprover.approver_category := ame_util.approvalApproverCategory ;
281: tmpApprover.item_class := currentFirstApprover.item_class ;
282: tmpApprover.item_id := currentFirstApprover.item_id ;
283: tmpApprover.action_type_id := currentFirstApprover.action_type_id ;
284: tmpApprover.group_or_chain_id := currentFirstApprover.group_or_chain_id ;

Line 325: clearChainStatusYNIn => ame_util.booleanTrue

321: ame_api2.setFirstAuthorityApprover( applicationIdIn => applicationId,
322: transactionIdIn => pReqHeaderId,
323: approverIn => tmpApprover,
324: transactionTypeIn => ameTransactionType,
325: clearChainStatusYNIn => ame_util.booleanTrue
326: );
327: if g_fnd_debug = 'Y' then
328: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN
329: FND_LOG.string(FND_LOG.level_statement, g_module_prefix || l_api_name, 'Done with ame_api2.setFirstAuthorityApprover()...' );

Line 410: tmpApprover ame_util.approverRecord2;

406: pFieldDelimiter OUT NOCOPY VARCHAR2
407: ) IS
408: l_api_name varchar2(50):= 'insert_approver';
409:
410: tmpApprover ame_util.approverRecord2;
411: insertOrder ame_util.insertionRecord2;
412: upperLimit number;
413: approverList ame_util.approversTable2;
414: hasAvailableOrder boolean := false;

Line 411: insertOrder ame_util.insertionRecord2;

407: ) IS
408: l_api_name varchar2(50):= 'insert_approver';
409:
410: tmpApprover ame_util.approverRecord2;
411: insertOrder ame_util.insertionRecord2;
412: upperLimit number;
413: approverList ame_util.approversTable2;
414: hasAvailableOrder boolean := false;
415: E_NO_AVAILABLE_INSERTION EXCEPTION;

Line 413: approverList ame_util.approversTable2;

409:
410: tmpApprover ame_util.approverRecord2;
411: insertOrder ame_util.insertionRecord2;
412: upperLimit number;
413: approverList ame_util.approversTable2;
414: hasAvailableOrder boolean := false;
415: E_NO_AVAILABLE_INSERTION EXCEPTION;
416: ameTransactionType po_document_types.ame_transaction_type%TYPE;
417: absolutePosition number;

Line 418: availableInsertionList ame_util.insertionsTable2;

414: hasAvailableOrder boolean := false;
415: E_NO_AVAILABLE_INSERTION EXCEPTION;
416: ameTransactionType po_document_types.ame_transaction_type%TYPE;
417: absolutePosition number;
418: availableInsertionList ame_util.insertionsTable2;
419: l_process_out VARCHAR2(10);
420: l_group_or_chain_id NUMBER := 0;
421: l_action_type_id NUMBER := 0;
422: l_counter NUMBER := 0;

Line 461: tmpApprover.orig_system := ame_util.perOrigSystem;

457:
458:
459: -- Frame the approverRecord2 from the input parameters.
460: -- Set the default mandatory attributes also.
461: tmpApprover.orig_system := ame_util.perOrigSystem;
462: tmpApprover.orig_system_id := pPersonId;
463: tmpApprover.authority := pAuthority;
464: tmpApprover.api_insertion := ame_util.apiInsertion;
465: tmpApprover.approver_category := pApproverCategory;

Line 464: tmpApprover.api_insertion := ame_util.apiInsertion;

460: -- Set the default mandatory attributes also.
461: tmpApprover.orig_system := ame_util.perOrigSystem;
462: tmpApprover.orig_system_id := pPersonId;
463: tmpApprover.authority := pAuthority;
464: tmpApprover.api_insertion := ame_util.apiInsertion;
465: tmpApprover.approver_category := pApproverCategory;
466: tmpApprover.approval_status := ame_util.nullStatus;
467: ame_api2.getAllApprovers7( applicationIdIn => applicationId,
468: transactionIdIn => pReqHeaderId,

Line 466: tmpApprover.approval_status := ame_util.nullStatus;

462: tmpApprover.orig_system_id := pPersonId;
463: tmpApprover.authority := pAuthority;
464: tmpApprover.api_insertion := ame_util.apiInsertion;
465: tmpApprover.approver_category := pApproverCategory;
466: tmpApprover.approval_status := ame_util.nullStatus;
467: ame_api2.getAllApprovers7( applicationIdIn => applicationId,
468: transactionIdIn => pReqHeaderId,
469: transactionTypeIn => ameTransactionType,
470: approvalProcessCompleteYNOut => l_process_out,

Line 477: IF (approverList(i).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,

473:
474: /* Check if there is any supressed or repeated approver. As soon as we met any, set hasHiddenApprovers true and exit
475: Added extra statuses to check if there is any hidden approver in approver checkout flow */
476: For i In 1 .. approverList.count LOOP
477: IF (approverList(i).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
478: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus,
479: ame_util.rejectedByRepeatedStatus, ame_util.approvedStatus,
480: ame_util.rejectStatus )) THEN
481: hasHiddenApprovers := true;

Line 478: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus,

474: /* Check if there is any supressed or repeated approver. As soon as we met any, set hasHiddenApprovers true and exit
475: Added extra statuses to check if there is any hidden approver in approver checkout flow */
476: For i In 1 .. approverList.count LOOP
477: IF (approverList(i).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
478: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus,
479: ame_util.rejectedByRepeatedStatus, ame_util.approvedStatus,
480: ame_util.rejectStatus )) THEN
481: hasHiddenApprovers := true;
482: EXIT;

Line 479: ame_util.rejectedByRepeatedStatus, ame_util.approvedStatus,

475: Added extra statuses to check if there is any hidden approver in approver checkout flow */
476: For i In 1 .. approverList.count LOOP
477: IF (approverList(i).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
478: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus,
479: ame_util.rejectedByRepeatedStatus, ame_util.approvedStatus,
480: ame_util.rejectStatus )) THEN
481: hasHiddenApprovers := true;
482: EXIT;
483: END IF;

Line 480: ame_util.rejectStatus )) THEN

476: For i In 1 .. approverList.count LOOP
477: IF (approverList(i).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
478: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus,
479: ame_util.rejectedByRepeatedStatus, ame_util.approvedStatus,
480: ame_util.rejectStatus )) THEN
481: hasHiddenApprovers := true;
482: EXIT;
483: END IF;
484: END LOOP;

Line 502: OR approverList(i).approval_status NOT IN (ame_util.repeatedStatus,ame_util.suppressedStatus,

498: Status XXXByRepeatedStatus is used because 'repeated' status gets modified to XXXByRepeatedStatus
499: status when other approvers in group or PCOA gets notified or approve or reject .Also group can have pending as well
500: as approved approvers */
501: IF ( pApproverName = approverList(i).name AND ( approverList(i).approval_status IS NULL
502: OR approverList(i).approval_status NOT IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
503: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus,
504: ame_util.rejectedByRepeatedStatus, ame_util.approvedStatus,
505: ame_util.rejectStatus))) THEN
506: l_approver_position := i;

Line 503: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus,

499: status when other approvers in group or PCOA gets notified or approve or reject .Also group can have pending as well
500: as approved approvers */
501: IF ( pApproverName = approverList(i).name AND ( approverList(i).approval_status IS NULL
502: OR approverList(i).approval_status NOT IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
503: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus,
504: ame_util.rejectedByRepeatedStatus, ame_util.approvedStatus,
505: ame_util.rejectStatus))) THEN
506: l_approver_position := i;
507: /* Once we locate the approver terminate the loop */

Line 504: ame_util.rejectedByRepeatedStatus, ame_util.approvedStatus,

500: as approved approvers */
501: IF ( pApproverName = approverList(i).name AND ( approverList(i).approval_status IS NULL
502: OR approverList(i).approval_status NOT IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
503: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus,
504: ame_util.rejectedByRepeatedStatus, ame_util.approvedStatus,
505: ame_util.rejectStatus))) THEN
506: l_approver_position := i;
507: /* Once we locate the approver terminate the loop */
508: EXIT;

Line 505: ame_util.rejectStatus))) THEN

501: IF ( pApproverName = approverList(i).name AND ( approverList(i).approval_status IS NULL
502: OR approverList(i).approval_status NOT IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
503: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus,
504: ame_util.rejectedByRepeatedStatus, ame_util.approvedStatus,
505: ame_util.rejectStatus))) THEN
506: l_approver_position := i;
507: /* Once we locate the approver terminate the loop */
508: EXIT;
509: END IF;

Line 529: IF l_insertion_type <> ame_util.apiInsertion THEN

525: Checking it for 'after' case and not 'before' because insertion before adhoc is only possible if adhoc is inserted at
526: the left end of chain. And in that case action_type_id is enough to locate exact position of insertion
527: Requirement of these extra statuses have beed explained earlier. Not included condition check of 'approvedStatus'
528: for 'before' case, because we dont provide option to insert before approver who have approved */
529: IF l_insertion_type <> ame_util.apiInsertion THEN
530: if l_group_or_chain_id > 1 then
531: while( l_counter <= approverList.count AND approverList(l_counter).group_or_chain_id = l_group_or_chain_id
532: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
533: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus,

Line 532: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,

528: for 'before' case, because we dont provide option to insert before approver who have approved */
529: IF l_insertion_type <> ame_util.apiInsertion THEN
530: if l_group_or_chain_id > 1 then
531: while( l_counter <= approverList.count AND approverList(l_counter).group_or_chain_id = l_group_or_chain_id
532: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
533: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus,
534: ame_util.approvedStatus) ) LOOP
535: l_counter := l_counter + 1;
536: END LOOP;

Line 533: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus,

529: IF l_insertion_type <> ame_util.apiInsertion THEN
530: if l_group_or_chain_id > 1 then
531: while( l_counter <= approverList.count AND approverList(l_counter).group_or_chain_id = l_group_or_chain_id
532: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
533: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus,
534: ame_util.approvedStatus) ) LOOP
535: l_counter := l_counter + 1;
536: END LOOP;
537: else

Line 534: ame_util.approvedStatus) ) LOOP

530: if l_group_or_chain_id > 1 then
531: while( l_counter <= approverList.count AND approverList(l_counter).group_or_chain_id = l_group_or_chain_id
532: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
533: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus,
534: ame_util.approvedStatus) ) LOOP
535: l_counter := l_counter + 1;
536: END LOOP;
537: else
538: while( l_counter <= approverList.count AND approverList(l_counter).action_type_id = l_action_type_id

Line 539: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,

535: l_counter := l_counter + 1;
536: END LOOP;
537: else
538: while( l_counter <= approverList.count AND approverList(l_counter).action_type_id = l_action_type_id
539: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
540: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus,
541: ame_util.approvedStatus) ) LOOP
542: l_counter := l_counter + 1;
543: END LOOP;

Line 540: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus,

536: END LOOP;
537: else
538: while( l_counter <= approverList.count AND approverList(l_counter).action_type_id = l_action_type_id
539: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
540: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus,
541: ame_util.approvedStatus) ) LOOP
542: l_counter := l_counter + 1;
543: END LOOP;
544: end if;

Line 541: ame_util.approvedStatus) ) LOOP

537: else
538: while( l_counter <= approverList.count AND approverList(l_counter).action_type_id = l_action_type_id
539: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
540: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus,
541: ame_util.approvedStatus) ) LOOP
542: l_counter := l_counter + 1;
543: END LOOP;
544: end if;
545: END IF;

Line 551: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,

547: ELSE
548: l_counter := l_approver_position - 1;
549: if l_group_or_chain_id > 1 then
550: while( l_counter > 0 AND approverList(l_counter).group_or_chain_id = l_group_or_chain_id
551: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
552: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus)) LOOP
553: l_counter := l_counter - 1;
554: END LOOP;
555: else

Line 552: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus)) LOOP

548: l_counter := l_approver_position - 1;
549: if l_group_or_chain_id > 1 then
550: while( l_counter > 0 AND approverList(l_counter).group_or_chain_id = l_group_or_chain_id
551: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
552: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus)) LOOP
553: l_counter := l_counter - 1;
554: END LOOP;
555: else
556: while( l_counter > 0 AND approverList(l_counter).action_type_id = l_action_type_id

Line 557: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,

553: l_counter := l_counter - 1;
554: END LOOP;
555: else
556: while( l_counter > 0 AND approverList(l_counter).action_type_id = l_action_type_id
557: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
558: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus )) LOOP
559: l_counter := l_counter - 1;
560: END LOOP;
561: end if;

Line 558: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus )) LOOP

554: END LOOP;
555: else
556: while( l_counter > 0 AND approverList(l_counter).action_type_id = l_action_type_id
557: AND approverList(l_counter).approval_status IN (ame_util.repeatedStatus,ame_util.suppressedStatus,
558: ame_util.notifiedByRepeatedStatus, ame_util.approvedByRepeatedStatus, ame_util.rejectedByRepeatedStatus )) LOOP
559: l_counter := l_counter - 1;
560: END LOOP;
561: end if;
562: absolutePosition := l_counter + 1;

Line 598: (ame_util.absoluteOrder,ame_util.afterApprover, ame_util.beforeApprover) AND

594:
595: IF(approverList.count = 0) THEN
596: FOR i IN 1 .. availableInsertionList.COUNT LOOP
597: IF availableInsertionList(i).order_type IN
598: (ame_util.absoluteOrder,ame_util.afterApprover, ame_util.beforeApprover) AND
599: availableInsertionList(i).api_insertion = tmpApprover.api_insertion AND
600: availableInsertionList(i).authority = tmpApprover.authority THEN
601:
602: insertOrder := availableInsertionList(i);

Line 648: IF ((pInsertionType = 'A' and availableInsertionList(i).order_type IN ( ame_util.absoluteOrder,ame_util.afterApprover, ame_util.beforeApprover))

644: ELSE
645: FOR i IN 1 .. availableInsertionList.COUNT LOOP
646: /* We can insert after an approver if we have order_type in absoluteOrder,afterApprover or beforeApprover
647: And for insertion before an approver we should have order_type as beforeApprover */
648: IF ((pInsertionType = 'A' and availableInsertionList(i).order_type IN ( ame_util.absoluteOrder,ame_util.afterApprover, ame_util.beforeApprover))
649: OR (pInsertionType = 'B' and availableInsertionList(i).order_type = ame_util.beforeApprover)) AND
650: availableInsertionList(i).api_insertion = tmpApprover.api_insertion AND
651: availableInsertionList(i).authority = tmpApprover.authority THEN
652:

Line 649: OR (pInsertionType = 'B' and availableInsertionList(i).order_type = ame_util.beforeApprover)) AND

645: FOR i IN 1 .. availableInsertionList.COUNT LOOP
646: /* We can insert after an approver if we have order_type in absoluteOrder,afterApprover or beforeApprover
647: And for insertion before an approver we should have order_type as beforeApprover */
648: IF ((pInsertionType = 'A' and availableInsertionList(i).order_type IN ( ame_util.absoluteOrder,ame_util.afterApprover, ame_util.beforeApprover))
649: OR (pInsertionType = 'B' and availableInsertionList(i).order_type = ame_util.beforeApprover)) AND
650: availableInsertionList(i).api_insertion = tmpApprover.api_insertion AND
651: availableInsertionList(i).authority = tmpApprover.authority THEN
652:
653: insertOrder := availableInsertionList(i);

Line 801: tmpApprover ame_util.approverRecord2;

797: pFieldDelimiter OUT NOCOPY VARCHAR2
798: ) IS
799:
800: l_api_name varchar2(50):= 'delete_approver';
801: tmpApprover ame_util.approverRecord2;
802: ameTransactionType po_document_types.ame_transaction_type%TYPE;
803:
804: approverList ame_util.approversTable2;
805: l_process_out VARCHAR2(10);

Line 804: approverList ame_util.approversTable2;

800: l_api_name varchar2(50):= 'delete_approver';
801: tmpApprover ame_util.approverRecord2;
802: ameTransactionType po_document_types.ame_transaction_type%TYPE;
803:
804: approverList ame_util.approversTable2;
805: l_process_out VARCHAR2(10);
806: l_first_position_id NUMBER;
807:
808: begin

Line 887: approverList(i).approval_status = ame_util.nullStatus or

883: approverList(i).orig_system = tmpApprover.orig_system and
884: approverList(i).orig_system_id = tmpApprover.orig_system_id and
885: approverList(i).authority = tmpApprover.authority and
886: ( approverList(i).approval_status is null or
887: approverList(i).approval_status = ame_util.nullStatus or
888: approverList(i).approval_status <> ame_util.suppressedStatus) ) then
889:
890: if g_fnd_debug = 'Y' then
891: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN

Line 888: approverList(i).approval_status <> ame_util.suppressedStatus) ) then

884: approverList(i).orig_system_id = tmpApprover.orig_system_id and
885: approverList(i).authority = tmpApprover.authority and
886: ( approverList(i).approval_status is null or
887: approverList(i).approval_status = ame_util.nullStatus or
888: approverList(i).approval_status <> ame_util.suppressedStatus) ) then
889:
890: if g_fnd_debug = 'Y' then
891: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN
892: FND_LOG.string(FND_LOG.level_statement, g_module_prefix || l_api_name, 'Found the approver to be deleted also in the list...');

Line 923: if (tmpApprover.orig_system=ame_util.posOrigSystem) THEN

919: FND_LOG.string(FND_LOG.level_statement, g_module_prefix || l_api_name, 'Done with ame_api3.suppressApprover()..');
920: END IF;
921: end if;
922:
923: if (tmpApprover.orig_system=ame_util.posOrigSystem) THEN
924:
925: SELECT FIRST_POSITION_ID
926: INTO l_first_position_id
927: FROM po_requisition_headers_all

Line 1032: --approverList ame_util.approversTable;

1028: pApprovalAction OUT NOCOPY VARCHAR2
1029: ) IS
1030:
1031: l_api_name varchar2(50):= 'get_ame_approval_list';
1032: --approverList ame_util.approversTable;
1033: clearListForSavedCart varchar2(1) := 'N';
1034: authorizationStatus po_requisition_headers.authorization_status%TYPE;
1035: preparerId po_requisition_headers.preparer_id%TYPE;
1036: ameTransactionType po_document_types.ame_transaction_type%TYPE;

Line 1041: approverList ame_util.approversTable2;

1037:
1038: l_itemtype po_requisition_headers.wf_item_type%TYPE;
1039: l_itemkey po_requisition_headers.wf_item_key%TYPE;
1040:
1041: approverList ame_util.approversTable2;
1042: l_process_out VARCHAR2(10);
1043: l_progress VARCHAR2(10);
1044: l_appr NUMBER;
1045:

Line 1392: approverList ame_util.approversTable2;

1388:
1389: l_api_name varchar2(50):= 'get_old_approval_list';
1390: hasApprovalAction varchar2(1);
1391: approverCount number;
1392: approverList ame_util.approversTable2;
1393: ameTransactionType po_document_types.ame_transaction_type%TYPE;
1394: authorizationStatus po_requisition_headers_all.authorization_status%TYPE;
1395: isRcoApproval boolean := false;
1396: changeRequestExist number := 0;

Line 1580: approvers ame_util.approversTable2;

1576: l_doc_string varchar2(200);
1577: l_preparer_user_name varchar2(100);
1578:
1579: approverCount integer;
1580: approvers ame_util.approversTable2;
1581: ameTransactionType po_document_types.ame_transaction_type%TYPE;
1582: l_process_out VARCHAR2(10);
1583:
1584: BEGIN

Line 1643: if(approvers(i).authority = ame_util.authorityApprover and

1639: approverCount := approvers.count;
1640:
1641: -- Once we get the list of approvers from AME, check for the approval_status in all the record.
1642: for i in 1 .. approverCount loop
1643: if(approvers(i).authority = ame_util.authorityApprover and
1644: (approvers(i).api_insertion = ame_util.oamGenerated or
1645: approvers(i).api_insertion = ame_util.apiAuthorityInsertion) and
1646: (approvers(i).approval_status is null or
1647: approvers(i).approval_status = ame_util.nullStatus)) then

Line 1644: (approvers(i).api_insertion = ame_util.oamGenerated or

1640:
1641: -- Once we get the list of approvers from AME, check for the approval_status in all the record.
1642: for i in 1 .. approverCount loop
1643: if(approvers(i).authority = ame_util.authorityApprover and
1644: (approvers(i).api_insertion = ame_util.oamGenerated or
1645: approvers(i).api_insertion = ame_util.apiAuthorityInsertion) and
1646: (approvers(i).approval_status is null or
1647: approvers(i).approval_status = ame_util.nullStatus)) then
1648: l_return_val := 'N';

Line 1645: approvers(i).api_insertion = ame_util.apiAuthorityInsertion) and

1641: -- Once we get the list of approvers from AME, check for the approval_status in all the record.
1642: for i in 1 .. approverCount loop
1643: if(approvers(i).authority = ame_util.authorityApprover and
1644: (approvers(i).api_insertion = ame_util.oamGenerated or
1645: approvers(i).api_insertion = ame_util.apiAuthorityInsertion) and
1646: (approvers(i).approval_status is null or
1647: approvers(i).approval_status = ame_util.nullStatus)) then
1648: l_return_val := 'N';
1649: exit;

Line 1647: approvers(i).approval_status = ame_util.nullStatus)) then

1643: if(approvers(i).authority = ame_util.authorityApprover and
1644: (approvers(i).api_insertion = ame_util.oamGenerated or
1645: approvers(i).api_insertion = ame_util.apiAuthorityInsertion) and
1646: (approvers(i).approval_status is null or
1647: approvers(i).approval_status = ame_util.nullStatus)) then
1648: l_return_val := 'N';
1649: exit;
1650: end if;
1651: end loop;

Line 1706: approvers ame_util.approversTable2;

1702: xPersonId OUT NOCOPY VARCHAR2) IS
1703:
1704: l_api_name varchar2(50):= 'get_first_authority_approver';
1705: approverCount number;
1706: approvers ame_util.approversTable2;
1707: ameTransactionType po_document_types.ame_transaction_type%TYPE;
1708: l_process_out VARCHAR2(10);
1709:
1710: BEGIN

Line 1753: if(approvers(i).authority = ame_util.authorityApprover and

1749: -- If the first record is of position hierarchy type, then find out the person_id from the position id and return that.
1750: -- Otherwise simply return the person_id from the orig_system_id value.
1751:
1752: for i in 1 .. approverCount loop
1753: if(approvers(i).authority = ame_util.authorityApprover and
1754: approvers(i).api_insertion = ame_util.oamGenerated and
1755: (approvers(i).approval_status is null or
1756: approvers(i).approval_status = ame_util.nullStatus)) then
1757:

Line 1754: approvers(i).api_insertion = ame_util.oamGenerated and

1750: -- Otherwise simply return the person_id from the orig_system_id value.
1751:
1752: for i in 1 .. approverCount loop
1753: if(approvers(i).authority = ame_util.authorityApprover and
1754: approvers(i).api_insertion = ame_util.oamGenerated and
1755: (approvers(i).approval_status is null or
1756: approvers(i).approval_status = ame_util.nullStatus)) then
1757:
1758: if approvers(i).orig_system = ame_util.posOrigSystem then

Line 1756: approvers(i).approval_status = ame_util.nullStatus)) then

1752: for i in 1 .. approverCount loop
1753: if(approvers(i).authority = ame_util.authorityApprover and
1754: approvers(i).api_insertion = ame_util.oamGenerated and
1755: (approvers(i).approval_status is null or
1756: approvers(i).approval_status = ame_util.nullStatus)) then
1757:
1758: if approvers(i).orig_system = ame_util.posOrigSystem then
1759:
1760: if g_fnd_debug = 'Y' then

Line 1758: if approvers(i).orig_system = ame_util.posOrigSystem then

1754: approvers(i).api_insertion = ame_util.oamGenerated and
1755: (approvers(i).approval_status is null or
1756: approvers(i).approval_status = ame_util.nullStatus)) then
1757:
1758: if approvers(i).orig_system = ame_util.posOrigSystem then
1759:
1760: if g_fnd_debug = 'Y' then
1761: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN
1762: FND_LOG.string(FND_LOG.level_statement, g_module_prefix || l_api_name, 'First record is Position Hierarchy action type...');

Line 1856: attributeNameIn => ame_util.allowDeletingOamApprovers,

1852: end if;
1853: ame_api3.getAttributeValue(applicationIdIn => applicationId,
1854: transactionTypeIn => ameTransactionType,
1855: transactionIdIn => pReqHeaderId,
1856: attributeNameIn => ame_util.allowDeletingOamApprovers,
1857: itemIdIn => NULL,
1858: attributeValue1Out => attributeValue1,
1859: attributeValue2Out => attributeValue2,
1860: attributeValue3Out => attributeValue3);

Line 2037: function serializeApproversTable( approversTableIn in ame_util.approversTable2,

2033: -- approverCount Total Number of approvers in the list.
2034: -- hasApprovalAction 'Y' or 'N'
2035: --End of Comments
2036: --------------------------------------------------------------------------------
2037: function serializeApproversTable( approversTableIn in ame_util.approversTable2,
2038: reqHeaderId in NUMBER,
2039: approverCount out nocopy number,
2040: hasApprovalAction out nocopy varchar2
2041: )

Line 2111: if (approversTableIn(i).orig_system = ame_util.perOrigSystem) then

2107: -- bug 9559404 : Commented the following code so that if preparer is an approver, he is also shown in the approvals list
2108: -- bug 14591082: Uncommented this piece of code to handle preparer
2109: -- if we have a Emp-Sup approver, make sure the approverId
2110: -- is NOT the same as preparer's Id
2111: if (approversTableIn(i).orig_system = ame_util.perOrigSystem) then
2112: -- bug 14591082: added condition 'approversTableIn(i).approval_status = ame_util.approvedStatus'
2113: if (approversTableIn(i).orig_system_id = l_preparer_id AND approversTableIn(i).approval_status = ame_util.approvedStatus ) THEN
2114: l_valid_approver := 'N';
2115: if g_fnd_debug = 'Y' then

Line 2112: -- bug 14591082: added condition 'approversTableIn(i).approval_status = ame_util.approvedStatus'

2108: -- bug 14591082: Uncommented this piece of code to handle preparer
2109: -- if we have a Emp-Sup approver, make sure the approverId
2110: -- is NOT the same as preparer's Id
2111: if (approversTableIn(i).orig_system = ame_util.perOrigSystem) then
2112: -- bug 14591082: added condition 'approversTableIn(i).approval_status = ame_util.approvedStatus'
2113: if (approversTableIn(i).orig_system_id = l_preparer_id AND approversTableIn(i).approval_status = ame_util.approvedStatus ) THEN
2114: l_valid_approver := 'N';
2115: if g_fnd_debug = 'Y' then
2116: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN

Line 2113: if (approversTableIn(i).orig_system_id = l_preparer_id AND approversTableIn(i).approval_status = ame_util.approvedStatus ) THEN

2109: -- if we have a Emp-Sup approver, make sure the approverId
2110: -- is NOT the same as preparer's Id
2111: if (approversTableIn(i).orig_system = ame_util.perOrigSystem) then
2112: -- bug 14591082: added condition 'approversTableIn(i).approval_status = ame_util.approvedStatus'
2113: if (approversTableIn(i).orig_system_id = l_preparer_id AND approversTableIn(i).approval_status = ame_util.approvedStatus ) THEN
2114: l_valid_approver := 'N';
2115: if g_fnd_debug = 'Y' then
2116: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN
2117: FND_LOG.string(FND_LOG.level_statement, g_module_prefix || l_api_name, ' ApproverID matches l_preparer_id... skipping!');

Line 2124: elsif (approversTableIn(i).orig_system = ame_util.posOrigSystem) then

2120: end if;
2121:
2122: -- else if we have a position approver, make sure the position
2123: -- is NOT the same as preparer's position
2124: elsif (approversTableIn(i).orig_system = ame_util.posOrigSystem) then
2125:
2126: SELECT POSITION_ID
2127: INTO l_preparer_pos_id
2128: FROM PER_ALL_ASSIGNMENTS_F

Line 2136: -- bug 14591082: added condition 'approversTableIn(i).approval_status = ame_util.approvedStatus'

2132: and assignment_status_type_id not in ( select assignment_status_type_id from per_assignment_status_types where per_system_status = 'TERM_ASSIGN')
2133: and TRUNC ( effective_start_date ) <= TRUNC(SYSDATE)
2134: and NVL(effective_end_date, TRUNC( SYSDATE)) >= TRUNC(SYSDATE)
2135: and rownum = 1;
2136: -- bug 14591082: added condition 'approversTableIn(i).approval_status = ame_util.approvedStatus'
2137: if (approversTableIn(i).orig_system_id = l_preparer_pos_id AND approversTableIn(i).approval_status = ame_util.approvedStatus ) then
2138: l_valid_approver := 'N';
2139: if g_fnd_debug = 'Y' then
2140: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN

Line 2137: if (approversTableIn(i).orig_system_id = l_preparer_pos_id AND approversTableIn(i).approval_status = ame_util.approvedStatus ) then

2133: and TRUNC ( effective_start_date ) <= TRUNC(SYSDATE)
2134: and NVL(effective_end_date, TRUNC( SYSDATE)) >= TRUNC(SYSDATE)
2135: and rownum = 1;
2136: -- bug 14591082: added condition 'approversTableIn(i).approval_status = ame_util.approvedStatus'
2137: if (approversTableIn(i).orig_system_id = l_preparer_pos_id AND approversTableIn(i).approval_status = ame_util.approvedStatus ) then
2138: l_valid_approver := 'N';
2139: if g_fnd_debug = 'Y' then
2140: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN
2141: FND_LOG.string(FND_LOG.level_statement, g_module_prefix || l_api_name, ' Approvers Position matches preparers... skipping!');

Line 2159: approversTableIn(i).approval_status<>ame_util.notifiedStatus AND

2155: -- then do not consider the record.
2156: -- (we want to consider notified, suppressed and approved records)
2157:
2158: if( approversTableIn(i).approval_status is not null AND
2159: approversTableIn(i).approval_status<>ame_util.notifiedStatus AND
2160: approversTableIn(i).approval_status<>ame_util.suppressedStatus AND
2161: approversTableIn(i).approval_status<>ame_util.approvedStatus) then
2162:
2163: hasApprovalAction := 'Y';

Line 2160: approversTableIn(i).approval_status<>ame_util.suppressedStatus AND

2156: -- (we want to consider notified, suppressed and approved records)
2157:
2158: if( approversTableIn(i).approval_status is not null AND
2159: approversTableIn(i).approval_status<>ame_util.notifiedStatus AND
2160: approversTableIn(i).approval_status<>ame_util.suppressedStatus AND
2161: approversTableIn(i).approval_status<>ame_util.approvedStatus) then
2162:
2163: hasApprovalAction := 'Y';
2164: if g_fnd_debug = 'Y' then

Line 2161: approversTableIn(i).approval_status<>ame_util.approvedStatus) then

2157:
2158: if( approversTableIn(i).approval_status is not null AND
2159: approversTableIn(i).approval_status<>ame_util.notifiedStatus AND
2160: approversTableIn(i).approval_status<>ame_util.suppressedStatus AND
2161: approversTableIn(i).approval_status<>ame_util.approvedStatus) then
2162:
2163: hasApprovalAction := 'Y';
2164: if g_fnd_debug = 'Y' then
2165: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN

Line 2217: if ( l_orig_system = ame_util.posOrigSystem ) then

2213: end if;
2214: end;
2215:
2216: -- Find position | job name
2217: if ( l_orig_system = ame_util.posOrigSystem ) then
2218: l_job_or_position := approversTableIn(i).display_name;
2219: else
2220: l_job_or_position := null;
2221: end if;

Line 2333: approverList ame_util.approversTable2;

2329: pApprovalListCount OUT NOCOPY NUMBER) IS
2330:
2331: l_api_name varchar2(50):= 'getAllApprovers';
2332: hasApprovalAction varchar2(1);
2333: approverList ame_util.approversTable2;
2334: l_process_out VARCHAR2(10);
2335:
2336: begin
2337:

Line 2400: approverList ame_util.approversTable2;

2396: pPosition IN NUMBER)
2397: return number IS
2398:
2399: l_api_name varchar2(50):= 'getAbsolutePosition';
2400: approverList ame_util.approversTable2;
2401: absolutePosition number := pPosition;
2402: numOfNullStatus number := 0;
2403: l_process_out VARCHAR2(10);
2404:

Line 2754: approverList ame_util.approversTable2;

2750:
2751: l_itemtype po_requisition_headers.wf_item_type%TYPE;
2752: l_itemkey po_requisition_headers.wf_item_key%TYPE;
2753:
2754: approverList ame_util.approversTable2;
2755: l_process_out VARCHAR2(10);
2756:
2757: l_full_name per_all_people_f.full_name%TYPE;
2758: l_person_id per_all_people_f.person_id%TYPE;

Line 2903: ame_util2.detailedApprovalStatusFlagYN := ame_util.booleanTrue;

2899: end if;
2900:
2901: -- If we are going to use the flag approvalProcessCompleteYNOut,
2902: -- then we have to set the following flag.
2903: ame_util2.detailedApprovalStatusFlagYN := ame_util.booleanTrue;
2904:
2905: ame_api2.getAllApprovers7( applicationIdIn => applicationId,
2906: transactionIdIn => pReqHeaderId,
2907: transactionTypeIn => ameTransactionType,

Line 2966: ( ame_util.notifiedByRepeatedStatus,

2962:
2963: if( ( ( l_process_out = 'Y' OR l_process_out = 'N' ) AND
2964: ( approverList(i).approval_status is not null AND
2965: ( approverList(i).approval_status not in
2966: ( ame_util.notifiedByRepeatedStatus,
2967: ame_util.approvedByRepeatedStatus,
2968: ame_util.rejectedByRepeatedStatus,
2969: ame_util.repeatedStatus,
2970: ame_util.noResponseStatus

Line 2967: ame_util.approvedByRepeatedStatus,

2963: if( ( ( l_process_out = 'Y' OR l_process_out = 'N' ) AND
2964: ( approverList(i).approval_status is not null AND
2965: ( approverList(i).approval_status not in
2966: ( ame_util.notifiedByRepeatedStatus,
2967: ame_util.approvedByRepeatedStatus,
2968: ame_util.rejectedByRepeatedStatus,
2969: ame_util.repeatedStatus,
2970: ame_util.noResponseStatus
2971: )

Line 2968: ame_util.rejectedByRepeatedStatus,

2964: ( approverList(i).approval_status is not null AND
2965: ( approverList(i).approval_status not in
2966: ( ame_util.notifiedByRepeatedStatus,
2967: ame_util.approvedByRepeatedStatus,
2968: ame_util.rejectedByRepeatedStatus,
2969: ame_util.repeatedStatus,
2970: ame_util.noResponseStatus
2971: )
2972: )

Line 2969: ame_util.repeatedStatus,

2965: ( approverList(i).approval_status not in
2966: ( ame_util.notifiedByRepeatedStatus,
2967: ame_util.approvedByRepeatedStatus,
2968: ame_util.rejectedByRepeatedStatus,
2969: ame_util.repeatedStatus,
2970: ame_util.noResponseStatus
2971: )
2972: )
2973: )

Line 2970: ame_util.noResponseStatus

2966: ( ame_util.notifiedByRepeatedStatus,
2967: ame_util.approvedByRepeatedStatus,
2968: ame_util.rejectedByRepeatedStatus,
2969: ame_util.repeatedStatus,
2970: ame_util.noResponseStatus
2971: )
2972: )
2973: )
2974: ) OR

Line 2978: ( ame_util.notifiedByRepeatedStatus,

2974: ) OR
2975: ( ( l_process_out = 'W' OR l_process_out = 'P' )AND
2976: ( approverList(i).approval_status is null OR
2977: ( approverList(i).approval_status not in
2978: ( ame_util.notifiedByRepeatedStatus,
2979: ame_util.approvedByRepeatedStatus,
2980: ame_util.rejectedByRepeatedStatus,
2981: ame_util.repeatedStatus,
2982: ame_util.noResponseStatus

Line 2979: ame_util.approvedByRepeatedStatus,

2975: ( ( l_process_out = 'W' OR l_process_out = 'P' )AND
2976: ( approverList(i).approval_status is null OR
2977: ( approverList(i).approval_status not in
2978: ( ame_util.notifiedByRepeatedStatus,
2979: ame_util.approvedByRepeatedStatus,
2980: ame_util.rejectedByRepeatedStatus,
2981: ame_util.repeatedStatus,
2982: ame_util.noResponseStatus
2983: )

Line 2980: ame_util.rejectedByRepeatedStatus,

2976: ( approverList(i).approval_status is null OR
2977: ( approverList(i).approval_status not in
2978: ( ame_util.notifiedByRepeatedStatus,
2979: ame_util.approvedByRepeatedStatus,
2980: ame_util.rejectedByRepeatedStatus,
2981: ame_util.repeatedStatus,
2982: ame_util.noResponseStatus
2983: )
2984: )

Line 2981: ame_util.repeatedStatus,

2977: ( approverList(i).approval_status not in
2978: ( ame_util.notifiedByRepeatedStatus,
2979: ame_util.approvedByRepeatedStatus,
2980: ame_util.rejectedByRepeatedStatus,
2981: ame_util.repeatedStatus,
2982: ame_util.noResponseStatus
2983: )
2984: )
2985: )

Line 2982: ame_util.noResponseStatus

2978: ( ame_util.notifiedByRepeatedStatus,
2979: ame_util.approvedByRepeatedStatus,
2980: ame_util.rejectedByRepeatedStatus,
2981: ame_util.repeatedStatus,
2982: ame_util.noResponseStatus
2983: )
2984: )
2985: )
2986: )

Line 2993: if ( l_orig_system = ame_util.perOrigSystem) then

2989: l_orig_system := approverList(i).orig_system;
2990: l_orig_system_id := approverList(i).orig_system_id;
2991: l_job_or_position := NULL;
2992:
2993: if ( l_orig_system = ame_util.perOrigSystem) then
2994:
2995: -- Employee Supervisor Record.
2996: if g_fnd_debug = 'Y' then
2997: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN

Line 3004: elsif ( l_orig_system = ame_util.posOrigSystem) then

3000: end if;
3001: l_full_name := approverList(i).display_name;
3002: l_person_id := l_orig_system_id;
3003:
3004: elsif ( l_orig_system = ame_util.posOrigSystem) then
3005:
3006: -- Position Hierarchy Record. The logic is mentioned in the comments section.
3007: if g_fnd_debug = 'Y' then
3008: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN

Line 3053: elsif (l_orig_system = ame_util.fndUserOrigSystem) then

3049: --RAISE;
3050: l_valid_approver := 'N';
3051: END;
3052:
3053: elsif (l_orig_system = ame_util.fndUserOrigSystem) then
3054:
3055: -- FND User Record.
3056: if g_fnd_debug = 'Y' then
3057: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN

Line 3080: if ( l_orig_system = ame_util.posOrigSystem ) then

3076: END IF;
3077: end if;
3078:
3079: -- Find position | job name
3080: if ( l_orig_system = ame_util.posOrigSystem ) then
3081: l_job_or_position := approverList(i).display_name;
3082: else
3083: l_job_or_position := null;
3084: end if;

Line 3210: l_approversList ame_util.approversTable2;

3206: l_itemkey po_requisition_headers.wf_item_key%TYPE;
3207: l_ameTransactionType po_document_types.ame_transaction_type%TYPE;
3208: l_completeYNO varchar2(100);
3209:
3210: l_approversList ame_util.approversTable2;
3211: l_approver_index NUMBER;
3212: l_preparer_id number;
3213: l_approverId number;
3214: l_approverName VARCHAR2(240);

Line 3251: and l_approversList(i).approver_category = ame_util.approvalApproverCategory ) then

3247: x_progress := '004';
3248:
3249: for i in 1 .. l_approversList.count loop
3250: if ( l_approversList(i).approval_status= 'NOTIFIED'
3251: and l_approversList(i).approver_category = ame_util.approvalApproverCategory ) then
3252:
3253: get_person_info( l_approversList(i).orig_system,
3254: l_approversList(i).orig_system_id,
3255: l_approversList(i).display_name,

Line 3332: if ( p_origSystem = ame_util.perOrigSystem) then

3328: FND_LOG.string(FND_LOG.level_statement, g_module_prefix || l_api_name, ' p_logFlag = ' || p_logFlag);
3329: END IF;
3330: end if;
3331:
3332: if ( p_origSystem = ame_util.perOrigSystem) then
3333:
3334: -- Employee Supervisor Record.
3335: if p_logFlag = 'Y' then
3336: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN

Line 3344: elsif ( p_origSystem = ame_util.posOrigSystem) then

3340:
3341: x_fullName := p_displayName;
3342: x_personId := p_origSystemId;
3343:
3344: elsif ( p_origSystem = ame_util.posOrigSystem) then
3345:
3346: -- Position Hierarchy Record.
3347: if p_logFlag = 'Y' then
3348: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN

Line 3406: elsif (p_origSystem = ame_util.fndUserOrigSystem) then

3402: WHERE rownum = 1;
3403:
3404: end if;
3405:
3406: elsif (p_origSystem = ame_util.fndUserOrigSystem) then
3407:
3408: -- FND User Record.
3409: if p_logFlag = 'Y' then
3410: IF (FND_LOG.G_CURRENT_RUNTIME_LEVEL <= FND_LOG.LEVEL_STATEMENT) THEN

Line 3456: tmpApprover ame_util.approverRecord2;

3452: --------------------------------------------------------------------------------
3453: FUNCTION is_req_forward_valid( pReqHeaderId IN NUMBER) RETURN VARCHAR2 IS
3454:
3455: l_api_name varchar2(50):= 'is_req_forward_valid';
3456: tmpApprover ame_util.approverRecord2;
3457: ameTransactionType po_document_types.ame_transaction_type%TYPE;
3458:
3459: approverList ame_util.approversTable2;
3460: l_process_out VARCHAR2(10);

Line 3459: approverList ame_util.approversTable2;

3455: l_api_name varchar2(50):= 'is_req_forward_valid';
3456: tmpApprover ame_util.approverRecord2;
3457: ameTransactionType po_document_types.ame_transaction_type%TYPE;
3458:
3459: approverList ame_util.approversTable2;
3460: l_process_out VARCHAR2(10);
3461: currentFirstApprover ame_util.approverRecord2;
3462: approvalList VARCHAR2(3000);
3463: apprCt NUMBER;

Line 3461: currentFirstApprover ame_util.approverRecord2;

3457: ameTransactionType po_document_types.ame_transaction_type%TYPE;
3458:
3459: approverList ame_util.approversTable2;
3460: l_process_out VARCHAR2(10);
3461: currentFirstApprover ame_util.approverRecord2;
3462: approvalList VARCHAR2(3000);
3463: apprCt NUMBER;
3464: appChar VARCHAR2(3000);
3465: appDelim VARCHAR2(3000);

Line 3503: if( approverList(i).authority = ame_util.authorityApprover

3499:
3500: -- Once we get the approvers list from AME, we iterate through the approvers list,
3501: -- to find out the current first authority approver.
3502: for i in 1 .. approverList.count loop
3503: if( approverList(i).authority = ame_util.authorityApprover
3504: and approverList(i).approval_status is null
3505: and approverList(i).api_insertion = 'N'
3506: and approverList(i).group_or_chain_id < 3 ) then
3507: