1: PACKAGE BODY PO_DIFF_SUMMARY_PKG AS
2: -- $Header: PO_DIFF_SUMMARY_PKG.plb 120.12.12020000.3 2013/02/10 13:19:42 vegajula ship $
3:
4: d_pkg_name CONSTANT varchar2(50) :=
5: PO_LOG.get_package_base('PO_DIFF_SUMMARY_PKG');
6:
7: g_ITEMTYPE CONSTANT VARCHAR2(20) := 'PODSNOTF';
8: g_ITEMKEY_PREFIX CONSTANT VARCHAR2(50) := 'PO_DS_ACCEPT_NOTIF';
9:
68: ( p_po_header_id IN NUMBER
69: ) IS
70:
71: d_api_name CONSTANT VARCHAR2(30) := 'send_acceptance_notification';
72: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
73: d_position NUMBER;
74:
75: l_ItemKey VARCHAR2(240);
76: l_agreement_num PO_HEADERS_ALL.segment1%TYPE;
86:
87: BEGIN
88: d_position := 0;
89:
90: IF (PO_LOG.d_proc) THEN
91: PO_LOG.proc_begin (d_module);
92: END IF;
93:
94: -- Get the agreement number and revision number
87: BEGIN
88: d_position := 0;
89:
90: IF (PO_LOG.d_proc) THEN
91: PO_LOG.proc_begin (d_module);
92: END IF;
93:
94: -- Get the agreement number and revision number
95: SELECT NVL(revision_num, 0), segment1, org_id, agent_id
224: ( ItemType => g_ITEMTYPE,
225: ItemKey => l_ItemKey
226: );
227:
228: IF (PO_LOG.d_proc) THEN
229: PO_LOG.proc_end (d_module);
230: END IF;
231:
232: EXCEPTION
225: ItemKey => l_ItemKey
226: );
227:
228: IF (PO_LOG.d_proc) THEN
229: PO_LOG.proc_end (d_module);
230: END IF;
231:
232: EXCEPTION
233: WHEN NO_DATA_FOUND THEN
246: resultout IN OUT NOCOPY VARCHAR2
247: ) IS
248:
249: d_api_name CONSTANT VARCHAR2(30) := 'selector';
250: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
251: d_position NUMBER;
252:
253: l_cur_org_id PO_HEADERS_ALL.org_id%TYPE;
254: l_org_id PO_HEADERS_ALL.org_id%TYPE;
253: l_cur_org_id PO_HEADERS_ALL.org_id%TYPE;
254: l_org_id PO_HEADERS_ALL.org_id%TYPE;
255: BEGIN
256: d_position := 0;
257: IF (PO_LOG.d_proc) THEN
258: PO_LOG.proc_begin (d_module, 'item_type', item_type);
259: PO_LOG.proc_begin (d_module, 'item_key', item_key);
260: PO_LOG.proc_begin (d_module, 'activity_id', activity_id);
261: PO_LOG.proc_begin (d_module, 'command', command);
254: l_org_id PO_HEADERS_ALL.org_id%TYPE;
255: BEGIN
256: d_position := 0;
257: IF (PO_LOG.d_proc) THEN
258: PO_LOG.proc_begin (d_module, 'item_type', item_type);
259: PO_LOG.proc_begin (d_module, 'item_key', item_key);
260: PO_LOG.proc_begin (d_module, 'activity_id', activity_id);
261: PO_LOG.proc_begin (d_module, 'command', command);
262: END IF;
255: BEGIN
256: d_position := 0;
257: IF (PO_LOG.d_proc) THEN
258: PO_LOG.proc_begin (d_module, 'item_type', item_type);
259: PO_LOG.proc_begin (d_module, 'item_key', item_key);
260: PO_LOG.proc_begin (d_module, 'activity_id', activity_id);
261: PO_LOG.proc_begin (d_module, 'command', command);
262: END IF;
263:
256: d_position := 0;
257: IF (PO_LOG.d_proc) THEN
258: PO_LOG.proc_begin (d_module, 'item_type', item_type);
259: PO_LOG.proc_begin (d_module, 'item_key', item_key);
260: PO_LOG.proc_begin (d_module, 'activity_id', activity_id);
261: PO_LOG.proc_begin (d_module, 'command', command);
262: END IF;
263:
264: IF (command = 'RUN') THEN
257: IF (PO_LOG.d_proc) THEN
258: PO_LOG.proc_begin (d_module, 'item_type', item_type);
259: PO_LOG.proc_begin (d_module, 'item_key', item_key);
260: PO_LOG.proc_begin (d_module, 'activity_id', activity_id);
261: PO_LOG.proc_begin (d_module, 'command', command);
262: END IF;
263:
264: IF (command = 'RUN') THEN
265: d_position := 10;
296: END IF;
297:
298: END IF;
299:
300: IF (PO_LOG.d_proc) THEN
301: PO_LOG.proc_end (d_module);
302: END IF;
303:
304: EXCEPTION
297:
298: END IF;
299:
300: IF (PO_LOG.d_proc) THEN
301: PO_LOG.proc_end (d_module);
302: END IF;
303:
304: EXCEPTION
305: WHEN OTHERS THEN
318: resultout OUT NOCOPY VARCHAR2
319: ) IS
320:
321: d_api_name CONSTANT VARCHAR2(30) := 'mark_autoaccept_lines';
322: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
323: d_position NUMBER;
324:
325: l_contains_changes VARCHAR2(1);
326: l_acceptance_required VARCHAR2(1);
330: l_acceptance_level PO_SYSTEM_PARAMETERS_ALL.cat_admin_authoring_acceptance%TYPE;
331: BEGIN
332: d_position := 0;
333:
334: IF (PO_LOG.d_proc) THEN
335: PO_LOG.proc_begin (d_module);
336: END IF;
337:
338: l_acceptance_required := FND_API.G_TRUE;
331: BEGIN
332: d_position := 0;
333:
334: IF (PO_LOG.d_proc) THEN
335: PO_LOG.proc_begin (d_module);
336: END IF;
337:
338: l_acceptance_required := FND_API.G_TRUE;
339:
421: aname => 'BUYER_ACCEPTANCE_REQUIRED',
422: avalue => l_acceptance_required
423: );
424:
425: IF (PO_LOG.d_proc) THEN
426: PO_LOG.proc_end (d_module);
427: END IF;
428:
429: EXCEPTION
422: avalue => l_acceptance_required
423: );
424:
425: IF (PO_LOG.d_proc) THEN
426: PO_LOG.proc_end (d_module);
427: END IF;
428:
429: EXCEPTION
430: WHEN OTHERS THEN
441: resultout OUT NOCOPY VARCHAR2
442: ) IS
443:
444: d_api_name CONSTANT VARCHAR2(30) := 'buyer_acceptance_required';
445: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
446: d_position NUMBER;
447:
448: l_accept_required VARCHAR2(1);
449: BEGIN
448: l_accept_required VARCHAR2(1);
449: BEGIN
450: d_position := 0;
451:
452: IF (PO_LOG.d_proc) THEN
453: PO_LOG.proc_begin (d_module);
454: END IF;
455:
456: l_accept_required := PO_WF_UTIL_PKG.GetItemAttrText
449: BEGIN
450: d_position := 0;
451:
452: IF (PO_LOG.d_proc) THEN
453: PO_LOG.proc_begin (d_module);
454: END IF;
455:
456: l_accept_required := PO_WF_UTIL_PKG.GetItemAttrText
457: ( itemtype => itemtype,
464: ELSE
465: resultout := WF_ENGINE.eng_completed || ':N';
466: END IF;
467:
468: IF (PO_LOG.d_proc) THEN
469: PO_LOG.proc_end (d_module);
470: END IF;
471:
472: EXCEPTION
465: resultout := WF_ENGINE.eng_completed || ':N';
466: END IF;
467:
468: IF (PO_LOG.d_proc) THEN
469: PO_LOG.proc_end (d_module);
470: END IF;
471:
472: EXCEPTION
473: WHEN OTHERS THEN
483: resultout OUT NOCOPY VARCHAR2
484: ) IS
485:
486: d_api_name CONSTANT VARCHAR2(30) := 'transfer_if_all_autoaccepted';
487: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
488: d_position NUMBER;
489:
490: l_transfer_flag VARCHAR2(1);
491:
491:
492: BEGIN
493: d_position := 0;
494:
495: IF (PO_LOG.d_proc) THEN
496: PO_LOG.proc_begin (d_module);
497: END IF;
498:
499: l_transfer_flag := PO_WF_UTIL_PKG.GetItemAttrText
492: BEGIN
493: d_position := 0;
494:
495: IF (PO_LOG.d_proc) THEN
496: PO_LOG.proc_begin (d_module);
497: END IF;
498:
499: l_transfer_flag := PO_WF_UTIL_PKG.GetItemAttrText
500: ( itemtype => itemtype,
507: ELSE
508: resultout := WF_ENGINE.eng_completed || ':N';
509: END IF;
510:
511: IF (PO_LOG.d_proc) THEN
512: PO_LOG.proc_end (d_module);
513: END IF;
514:
515: EXCEPTION
508: resultout := WF_ENGINE.eng_completed || ':N';
509: END IF;
510:
511: IF (PO_LOG.d_proc) THEN
512: PO_LOG.proc_end (d_module);
513: END IF;
514:
515: EXCEPTION
516: WHEN OTHERS THEN
527: resultout OUT NOCOPY VARCHAR2
528: ) IS
529:
530: d_api_name CONSTANT VARCHAR2(30) := 'start_buyer_acceptance_process';
531: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
532: d_position NUMBER;
533:
534: l_po_header_id PO_HEADERS_ALL.po_header_id%TYPE;
535: l_draft_id PO_DRAFTS.draft_id%TYPE;
544:
545: BEGIN
546: d_position := 0;
547:
548: IF (PO_LOG.d_proc) THEN
549: PO_LOG.proc_begin (d_module);
550: END IF;
551:
552: l_po_header_id := PO_WF_UTIL_PKG.GetItemAttrNumber
545: BEGIN
546: d_position := 0;
547:
548: IF (PO_LOG.d_proc) THEN
549: PO_LOG.proc_begin (d_module);
550: END IF;
551:
552: l_po_header_id := PO_WF_UTIL_PKG.GetItemAttrNumber
553: ( itemtype => itemtype,
615: aname => 'DRAFT_OWNER_NAME_DSP',
616: avalue => l_lock_owner_wf_role_dsp
617: );
618:
619: IF (PO_LOG.d_proc) THEN
620: PO_LOG.proc_end (d_module);
621: END IF;
622:
623: EXCEPTION
616: avalue => l_lock_owner_wf_role_dsp
617: );
618:
619: IF (PO_LOG.d_proc) THEN
620: PO_LOG.proc_end (d_module);
621: END IF;
622:
623: EXCEPTION
624: WHEN OTHERS THEN
635: resultout OUT NOCOPY VARCHAR2
636: ) IS
637:
638: d_api_name CONSTANT VARCHAR2(30) := 'get_buyers_manager';
639: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
640: d_position NUMBER;
641:
642: l_agent_id PO_HEADERS_ALL.agent_id%TYPE;
643: l_manager_id NUMBER;
701: resultout OUT NOCOPY VARCHAR2
702: ) IS
703:
704: d_api_name CONSTANT VARCHAR2(30) := 'buyer_accept_changes';
705: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
706: d_position NUMBER;
707:
708: BEGIN
709: d_position := 0;
707:
708: BEGIN
709: d_position := 0;
710:
711: IF (PO_LOG.d_proc) THEN
712: PO_LOG.proc_begin (d_module);
713: END IF;
714:
715: PO_WF_UTIL_PKG.SetItemAttrText
708: BEGIN
709: d_position := 0;
710:
711: IF (PO_LOG.d_proc) THEN
712: PO_LOG.proc_begin (d_module);
713: END IF;
714:
715: PO_WF_UTIL_PKG.SetItemAttrText
716: ( itemtype => itemType,
718: aname => 'ACCEPTANCE_RESULT',
719: avalue => PO_DRAFTS_PVT.g_ACCEPT_ALL
720: );
721:
722: IF (PO_LOG.d_proc) THEN
723: PO_LOG.proc_end (d_module);
724: END IF;
725:
726: EXCEPTION
719: avalue => PO_DRAFTS_PVT.g_ACCEPT_ALL
720: );
721:
722: IF (PO_LOG.d_proc) THEN
723: PO_LOG.proc_end (d_module);
724: END IF;
725:
726: EXCEPTION
727: WHEN OTHERS THEN
738: resultout OUT NOCOPY VARCHAR2
739: ) IS
740:
741: d_api_name CONSTANT VARCHAR2(30) := 'buyer_reject_changes';
742: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
743: d_position NUMBER;
744:
745: l_draft_id PO_DRAFTS.draft_id%TYPE;
746: l_po_header_id PO_HEADERS_ALL.po_header_id%TYPE;
751:
752: BEGIN
753: d_position := 0;
754:
755: IF (PO_LOG.d_proc) THEN
756: PO_LOG.proc_begin (d_module);
757: END IF;
758:
759: l_draft_id :=
752: BEGIN
753: d_position := 0;
754:
755: IF (PO_LOG.d_proc) THEN
756: PO_LOG.proc_begin (d_module);
757: END IF;
758:
759: l_draft_id :=
760: PO_WF_UTIL_PKG.GetItemAttrNumber
850: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
851: END IF;
852:
853:
854: IF (PO_LOG.d_proc) THEN
855: PO_LOG.proc_end (d_module);
856: END IF;
857:
858: EXCEPTION
851: END IF;
852:
853:
854: IF (PO_LOG.d_proc) THEN
855: PO_LOG.proc_end (d_module);
856: END IF;
857:
858: EXCEPTION
859: WHEN OTHERS THEN
870: resultout OUT NOCOPY VARCHAR2
871: ) IS
872:
873: d_api_name CONSTANT VARCHAR2(30) := 'any_lines_get_rejected';
874: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
875: d_position NUMBER;
876:
877: l_draft_id PO_DRAFTS.draft_id%TYPE;
878: l_any_lines_get_rejected VARCHAR2(10);
878: l_any_lines_get_rejected VARCHAR2(10);
879: BEGIN
880: d_position := 0;
881:
882: IF (PO_LOG.d_proc) THEN
883: PO_LOG.proc_begin (d_module);
884: END IF;
885:
886: l_draft_id := PO_WF_UTIL_PKG.GetItemAttrNumber
879: BEGIN
880: d_position := 0;
881:
882: IF (PO_LOG.d_proc) THEN
883: PO_LOG.proc_begin (d_module);
884: END IF;
885:
886: l_draft_id := PO_WF_UTIL_PKG.GetItemAttrNumber
887: ( itemtype => itemtype,
921: END;
922:
923: d_position := 20;
924:
925: IF (PO_LOG.d_stmt) THEN
926: PO_LOG.stmt (d_module, d_position, 'l_any_lines_get_rejected', l_any_lines_get_rejected);
927: END IF;
928:
929: IF (l_any_lines_get_rejected = 'Y') THEN
922:
923: d_position := 20;
924:
925: IF (PO_LOG.d_stmt) THEN
926: PO_LOG.stmt (d_module, d_position, 'l_any_lines_get_rejected', l_any_lines_get_rejected);
927: END IF;
928:
929: IF (l_any_lines_get_rejected = 'Y') THEN
930: resultout := WF_ENGINE.eng_completed || ':Y';
931: ELSE
932: resultout := WF_ENGINE.eng_completed || ':N';
933: END IF;
934:
935: IF (PO_LOG.d_proc) THEN
936: PO_LOG.proc_end (d_module);
937: END IF;
938:
939: EXCEPTION
932: resultout := WF_ENGINE.eng_completed || ':N';
933: END IF;
934:
935: IF (PO_LOG.d_proc) THEN
936: PO_LOG.proc_end (d_module);
937: END IF;
938:
939: EXCEPTION
940: WHEN OTHERS THEN
952: resultout OUT NOCOPY VARCHAR2
953: ) IS
954:
955: d_api_name CONSTANT VARCHAR2(30) := 'transfer_draft_to_txn';
956: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
957: d_position NUMBER;
958:
959: l_draft_id PO_DRAFTS.draft_id%TYPE;
960: l_po_header_id PO_HEADERS_ALL.po_header_id%TYPE;
964:
965: BEGIN
966: d_position := 0;
967:
968: IF (PO_LOG.d_proc) THEN
969: PO_LOG.proc_begin (d_module);
970: END IF;
971:
972: l_draft_id := PO_WF_UTIL_PKG.GetItemAttrNumber
965: BEGIN
966: d_position := 0;
967:
968: IF (PO_LOG.d_proc) THEN
969: PO_LOG.proc_begin (d_module);
970: END IF;
971:
972: l_draft_id := PO_WF_UTIL_PKG.GetItemAttrNumber
973: ( itemtype => itemtype,
1003:
1004: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1005: END IF;
1006:
1007: IF (PO_LOG.d_proc) THEN
1008: PO_LOG.proc_end (d_module);
1009: END IF;
1010:
1011: EXCEPTION
1004: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1005: END IF;
1006:
1007: IF (PO_LOG.d_proc) THEN
1008: PO_LOG.proc_end (d_module);
1009: END IF;
1010:
1011: EXCEPTION
1012: WHEN OTHERS THEN
1023: resultout OUT NOCOPY VARCHAR2
1024: ) IS
1025:
1026: d_api_name CONSTANT VARCHAR2(30) := 'launch_po_approval_wf';
1027: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
1028: d_position NUMBER;
1029:
1030: l_document_type VARCHAR2(10) := 'PA';
1031: l_document_subtype VARCHAR2(10) := 'BLANKET';
1049:
1050: BEGIN
1051: d_position := 0;
1052:
1053: IF (PO_LOG.d_proc) THEN
1054: PO_LOG.proc_begin (d_module);
1055: END IF;
1056:
1057:
1050: BEGIN
1051: d_position := 0;
1052:
1053: IF (PO_LOG.d_proc) THEN
1054: PO_LOG.proc_begin (d_module);
1055: END IF;
1056:
1057:
1058: -- Launch Approval WF
1144: );
1145:
1146: d_position := 40;
1147:
1148: IF (PO_LOG.d_proc) THEN
1149: PO_LOG.proc_end (d_module);
1150: END IF;
1151:
1152: EXCEPTION
1145:
1146: d_position := 40;
1147:
1148: IF (PO_LOG.d_proc) THEN
1149: PO_LOG.proc_end (d_module);
1150: END IF;
1151:
1152: EXCEPTION
1153: WHEN OTHERS THEN
1217: ) RETURN VARCHAR2
1218: IS
1219:
1220: d_api_name CONSTANT VARCHAR2(30) := 'find_itemkey';
1221: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
1222: d_position NUMBER;
1223:
1224: l_itemkey_like WF_ITEMS.item_key%TYPE;
1225: l_itemkey WF_ITEMS.item_key%TYPE;
1226:
1227: BEGIN
1228: d_position := 0;
1229:
1230: IF (PO_LOG.d_proc) THEN
1231: PO_LOG.proc_begin (d_module);
1232: END IF;
1233:
1234: l_itemkey_like := g_ITEMKEY_PREFIX || '#' || TO_CHAR(p_draft_id) || '#%';
1227: BEGIN
1228: d_position := 0;
1229:
1230: IF (PO_LOG.d_proc) THEN
1231: PO_LOG.proc_begin (d_module);
1232: END IF;
1233:
1234: l_itemkey_like := g_ITEMKEY_PREFIX || '#' || TO_CHAR(p_draft_id) || '#%';
1235:
1239: WHERE item_type = g_ITEMTYPE
1240: AND item_key LIKE l_itemkey_like
1241: AND end_date IS NULL;
1242:
1243: IF (PO_LOG.d_proc) THEN
1244: PO_LOG.proc_end (d_module, 'l_itemkey', l_itemkey);
1245: END IF;
1246:
1247: RETURN l_itemkey;
1240: AND item_key LIKE l_itemkey_like
1241: AND end_date IS NULL;
1242:
1243: IF (PO_LOG.d_proc) THEN
1244: PO_LOG.proc_end (d_module, 'l_itemkey', l_itemkey);
1245: END IF;
1246:
1247: RETURN l_itemkey;
1248:
1288: x_return_status OUT NOCOPY VARCHAR2
1289: ) IS
1290:
1291: d_api_name CONSTANT VARCHAR2(30) := 'record_disposition';
1292: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
1293: d_position NUMBER;
1294:
1295: l_return_status VARCHAR2(1);
1296: BEGIN
1295: l_return_status VARCHAR2(1);
1296: BEGIN
1297: d_position := 0;
1298:
1299: IF (PO_LOG.d_proc) THEN
1300: PO_LOG.proc_begin (d_module, 'p_draft_id', p_draft_id);
1301: PO_LOG.proc_begin (d_module, 'p_reject_line_id_list.COUNT', p_reject_line_id_list.COUNT);
1302: END IF;
1303:
1296: BEGIN
1297: d_position := 0;
1298:
1299: IF (PO_LOG.d_proc) THEN
1300: PO_LOG.proc_begin (d_module, 'p_draft_id', p_draft_id);
1301: PO_LOG.proc_begin (d_module, 'p_reject_line_id_list.COUNT', p_reject_line_id_list.COUNT);
1302: END IF;
1303:
1304: x_return_status := FND_API.g_RET_STS_SUCCESS;
1297: d_position := 0;
1298:
1299: IF (PO_LOG.d_proc) THEN
1300: PO_LOG.proc_begin (d_module, 'p_draft_id', p_draft_id);
1301: PO_LOG.proc_begin (d_module, 'p_reject_line_id_list.COUNT', p_reject_line_id_list.COUNT);
1302: END IF;
1303:
1304: x_return_status := FND_API.g_RET_STS_SUCCESS;
1305:
1314: x_invalid_line_num_list => x_invalid_line_num_list,
1315: x_return_status => l_return_status
1316: );
1317:
1318: IF (PO_LOG.d_stmt) THEN
1319: PO_LOG.stmt (d_module, d_position, 'l_return_status', l_return_status);
1320: END IF;
1321:
1322: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1315: x_return_status => l_return_status
1316: );
1317:
1318: IF (PO_LOG.d_stmt) THEN
1319: PO_LOG.stmt (d_module, d_position, 'l_return_status', l_return_status);
1320: END IF;
1321:
1322: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1323: x_return_status := l_return_status;
1343: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1344: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1345: END IF;
1346:
1347: IF (PO_LOG.d_proc) THEN
1348: PO_LOG.proc_end (d_module);
1349: END IF;
1350:
1351: EXCEPTION
1344: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1345: END IF;
1346:
1347: IF (PO_LOG.d_proc) THEN
1348: PO_LOG.proc_end (d_module);
1349: END IF;
1350:
1351: EXCEPTION
1352: WHEN OTHERS THEN
1389: x_return_status OUT NOCOPY VARCHAR2
1390: ) IS
1391:
1392: d_api_name CONSTANT VARCHAR2(30) := 'complete_resp_to_changes';
1393: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
1394: d_position NUMBER;
1395:
1396: l_itemKey WF_ITEMS.item_key%TYPE;
1397: l_activity VARCHAR2(200);
1401: d_position := 0;
1402:
1403: x_return_status := FND_API.G_RET_STS_SUCCESS;
1404:
1405: IF (PO_LOG.d_proc) THEN
1406: PO_LOG.proc_begin (d_module, 'p_draft_id', p_draft_id);
1407: END IF;
1408:
1409: l_itemKey := find_ItemKey
1402:
1403: x_return_status := FND_API.G_RET_STS_SUCCESS;
1404:
1405: IF (PO_LOG.d_proc) THEN
1406: PO_LOG.proc_begin (d_module, 'p_draft_id', p_draft_id);
1407: END IF;
1408:
1409: l_itemKey := find_ItemKey
1410: ( p_draft_id => p_draft_id
1450: );
1451:
1452: END IF;
1453:
1454: IF (PO_LOG.d_proc) THEN
1455: PO_LOG.proc_end (d_module);
1456: END IF;
1457:
1458: EXCEPTION
1451:
1452: END IF;
1453:
1454: IF (PO_LOG.d_proc) THEN
1455: PO_LOG.proc_end (d_module);
1456: END IF;
1457:
1458: EXCEPTION
1459: WHEN OTHERS THEN
1492: ) RETURN VARCHAR2
1493: IS
1494:
1495: d_api_name CONSTANT VARCHAR2(30) := 'accept_lines_within_tolerance';
1496: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
1497: d_position NUMBER;
1498:
1499: l_index NUMBER;
1500:
1520:
1521: BEGIN
1522: d_position := 0;
1523:
1524: IF (PO_LOG.d_proc) THEN
1525: PO_LOG.proc_begin (d_module, 'p_draft_id', p_draft_id);
1526: END IF;
1527:
1528: -- bug5035979
1521: BEGIN
1522: d_position := 0;
1523:
1524: IF (PO_LOG.d_proc) THEN
1525: PO_LOG.proc_begin (d_module, 'p_draft_id', p_draft_id);
1526: END IF;
1527:
1528: -- bug5035979
1529: -- mark the records that do not have line level changes as
1636: END IF;
1637:
1638: END IF;
1639:
1640: IF (PO_LOG.d_proc) THEN
1641: PO_LOG.proc_end (d_module);
1642: END IF;
1643:
1644: RETURN l_manual_accept_required;
1637:
1638: END IF;
1639:
1640: IF (PO_LOG.d_proc) THEN
1641: PO_LOG.proc_end (d_module);
1642: END IF;
1643:
1644: RETURN l_manual_accept_required;
1645:
1662: ( p_draft_id IN NUMBER
1663: ) IS
1664:
1665: d_api_name CONSTANT VARCHAR2(30) := 'accept_translations';
1666: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
1667: d_position NUMBER;
1668:
1669: l_created_language PO_HEADERS_ALL.created_language%TYPE;
1670:
1671: BEGIN
1672:
1673: d_position := 0;
1674:
1675: IF (PO_LOG.d_proc) THEN
1676: PO_LOG.proc_begin (d_module);
1677: END IF;
1678:
1679: SELECT PH.created_language
1672:
1673: d_position := 0;
1674:
1675: IF (PO_LOG.d_proc) THEN
1676: PO_LOG.proc_begin (d_module);
1677: END IF;
1678:
1679: SELECT PH.created_language
1680: INTO l_created_language
1689: AND PAVTD.draft_id = p_draft_id
1690: AND PAVTD.language <> l_created_language;
1691:
1692:
1693: IF (PO_LOG.d_proc) THEN
1694: PO_LOG.proc_end (d_module, '# of records updated: ', SQL%ROWCOUNT);
1695: END IF;
1696:
1697: EXCEPTION
1690: AND PAVTD.language <> l_created_language;
1691:
1692:
1693: IF (PO_LOG.d_proc) THEN
1694: PO_LOG.proc_end (d_module, '# of records updated: ', SQL%ROWCOUNT);
1695: END IF;
1696:
1697: EXCEPTION
1698: WHEN OTHERS THEN
1727: ( p_draft_id IN NUMBER
1728: ) IS
1729:
1730: d_api_name CONSTANT VARCHAR2(30) := 'autoaccept_deleted_records';
1731: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
1732: d_position NUMBER;
1733:
1734: l_has_record_to_accept VARCHAR2(1) := FND_API.G_TRUE;
1735:
1736: BEGIN
1737:
1738: d_position := 0;
1739:
1740: IF (PO_LOG.d_proc) THEN
1741: PO_LOG.proc_begin (d_module);
1742: END IF;
1743:
1744: -- Line Level
1737:
1738: d_position := 0;
1739:
1740: IF (PO_LOG.d_proc) THEN
1741: PO_LOG.proc_begin (d_module);
1742: END IF;
1743:
1744: -- Line Level
1745: UPDATE po_lines_draft_all PLD
1803: ( SELECT 1
1804: FROM po_attribute_values_tlp PAVT
1805: WHERE PAVTD.attribute_values_tlp_id = PAVT.attribute_values_tlp_id);
1806:
1807: IF (PO_LOG.d_proc) THEN
1808: PO_LOG.proc_end (d_module);
1809: END IF;
1810:
1811: EXCEPTION
1804: FROM po_attribute_values_tlp PAVT
1805: WHERE PAVTD.attribute_values_tlp_id = PAVT.attribute_values_tlp_id);
1806:
1807: IF (PO_LOG.d_proc) THEN
1808: PO_LOG.proc_end (d_module);
1809: END IF;
1810:
1811: EXCEPTION
1812: WHEN OTHERS THEN
1846: ) RETURN VARCHAR2
1847: IS
1848:
1849: d_api_name CONSTANT VARCHAR2(30) := 'autoaccept_unchanged_records';
1850: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
1851: d_position NUMBER;
1852:
1853: l_has_record_to_accept VARCHAR2(1) := FND_API.G_TRUE;
1854:
1855: BEGIN
1856:
1857: d_position := 0;
1858:
1859: IF (PO_LOG.d_proc) THEN
1860: PO_LOG.proc_begin (d_module);
1861: END IF;
1862:
1863: -- Line Level Attributes
1856:
1857: d_position := 0;
1858:
1859: IF (PO_LOG.d_proc) THEN
1860: PO_LOG.proc_begin (d_module);
1861: END IF;
1862:
1863: -- Line Level Attributes
1864: UPDATE po_lines_draft_all PLD
1926: PL.hazard_class_id, 'Y', 'N') = 'Y'
1927: AND DECODE (PLD.note_to_vendor,
1928: PL.note_to_vendor, 'Y', 'N') = 'Y');
1929:
1930: IF (PO_LOG.d_stmt) THEN
1931: PO_LOG.stmt (d_module, d_position, '# of lines autoaccepted', SQL%ROWCOUNT);
1932: END IF;
1933:
1934: d_position := 10;
1927: AND DECODE (PLD.note_to_vendor,
1928: PL.note_to_vendor, 'Y', 'N') = 'Y');
1929:
1930: IF (PO_LOG.d_stmt) THEN
1931: PO_LOG.stmt (d_module, d_position, '# of lines autoaccepted', SQL%ROWCOUNT);
1932: END IF;
1933:
1934: d_position := 10;
1935:
1957: PLL.start_date, 'Y', 'N') = 'Y'
1958: AND DECODE (PLLD.end_date,
1959: PLL.end_date, 'Y', 'N') = 'Y');
1960:
1961: IF (PO_LOG.d_stmt) THEN
1962: PO_LOG.stmt (d_module, d_position, '# of price breaks autoaccepted', SQL%ROWCOUNT);
1963: END IF;
1964:
1965: d_position := 20;
1958: AND DECODE (PLLD.end_date,
1959: PLL.end_date, 'Y', 'N') = 'Y');
1960:
1961: IF (PO_LOG.d_stmt) THEN
1962: PO_LOG.stmt (d_module, d_position, '# of price breaks autoaccepted', SQL%ROWCOUNT);
1963: END IF;
1964:
1965: d_position := 20;
1966:
1982: PPD.min_multiplier, 'Y', 'N') = 'Y'
1983: AND DECODE (PPDD.max_multiplier,
1984: PPD.max_multiplier, 'Y', 'N') = 'Y');
1985:
1986: IF (PO_LOG.d_stmt) THEN
1987: PO_LOG.stmt (d_module, d_position, '# of price diff autoaccepted', SQL%ROWCOUNT);
1988: END IF;
1989:
1990: d_position := 30;
1983: AND DECODE (PPDD.max_multiplier,
1984: PPD.max_multiplier, 'Y', 'N') = 'Y');
1985:
1986: IF (PO_LOG.d_stmt) THEN
1987: PO_LOG.stmt (d_module, d_position, '# of price diff autoaccepted', SQL%ROWCOUNT);
1988: END IF;
1989:
1990: d_position := 30;
1991:
2618: AND DECODE (PAVD.num_cat_attribute50,
2619: PAV.num_cat_attribute50, 'Y', 'N') = 'Y');
2620:
2621:
2622: IF (PO_LOG.d_stmt) THEN
2623: PO_LOG.stmt (d_module, d_position, '# of attr values autoaccepted', SQL%ROWCOUNT);
2624: END IF;
2625:
2626: d_position := 40;
2619: PAV.num_cat_attribute50, 'Y', 'N') = 'Y');
2620:
2621:
2622: IF (PO_LOG.d_stmt) THEN
2623: PO_LOG.stmt (d_module, d_position, '# of attr values autoaccepted', SQL%ROWCOUNT);
2624: END IF;
2625:
2626: d_position := 40;
2627:
2945: PAVT.tl_text_cat_attribute49, 'Y', 'N') = 'Y'
2946: AND DECODE (PAVTD.tl_text_cat_attribute50,
2947: PAVT.tl_text_cat_attribute50, 'Y', 'N') = 'Y');
2948:
2949: IF (PO_LOG.d_stmt) THEN
2950: PO_LOG.stmt (d_module, d_position, '# of attr values tlp autoaccepted', SQL%ROWCOUNT);
2951: END IF;
2952:
2953: d_position := 50;
2946: AND DECODE (PAVTD.tl_text_cat_attribute50,
2947: PAVT.tl_text_cat_attribute50, 'Y', 'N') = 'Y');
2948:
2949: IF (PO_LOG.d_stmt) THEN
2950: PO_LOG.stmt (d_module, d_position, '# of attr values tlp autoaccepted', SQL%ROWCOUNT);
2951: END IF;
2952:
2953: d_position := 50;
2954:
2956: ( p_draft_id => p_draft_id
2957: );
2958:
2959:
2960: IF (PO_LOG.d_proc) THEN
2961: PO_LOG.proc_end (d_module, 'l_has_record_to_accept', l_has_record_to_accept);
2962: END IF;
2963:
2964: RETURN l_has_record_to_accept;
2957: );
2958:
2959:
2960: IF (PO_LOG.d_proc) THEN
2961: PO_LOG.proc_end (d_module, 'l_has_record_to_accept', l_has_record_to_accept);
2962: END IF;
2963:
2964: RETURN l_has_record_to_accept;
2965:
2998: ) RETURN VARCHAR2
2999: IS
3000:
3001: d_api_name CONSTANT VARCHAR2(30) := 'has_record_to_accept';
3002: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
3003: d_position NUMBER;
3004:
3005: l_has_record_to_accept VARCHAR2(1) := FND_API.G_TRUE;
3006:
3007: BEGIN
3008:
3009: d_position := 0;
3010:
3011: IF (PO_LOG.d_proc) THEN
3012: PO_LOG.proc_begin (d_module);
3013: END IF;
3014:
3015: SELECT NVL(MAX(FND_API.G_TRUE), FND_API.G_FALSE)
3008:
3009: d_position := 0;
3010:
3011: IF (PO_LOG.d_proc) THEN
3012: PO_LOG.proc_begin (d_module);
3013: END IF;
3014:
3015: SELECT NVL(MAX(FND_API.G_TRUE), FND_API.G_FALSE)
3016: INTO l_has_record_to_accept
3041: WHERE draft_id = p_draft_id
3042: AND change_accepted_flag IS NULL);
3043:
3044:
3045: IF (PO_LOG.d_proc) THEN
3046: PO_LOG.proc_end (d_module, 'l_has_record_to_accept', l_has_record_to_accept);
3047: END IF;
3048:
3049: RETURN l_has_record_to_accept;
3042: AND change_accepted_flag IS NULL);
3043:
3044:
3045: IF (PO_LOG.d_proc) THEN
3046: PO_LOG.proc_end (d_module, 'l_has_record_to_accept', l_has_record_to_accept);
3047: END IF;
3048:
3049: RETURN l_has_record_to_accept;
3050:
3088: ( p_draft_id IN NUMBER
3089: ) IS
3090:
3091: d_api_name CONSTANT VARCHAR2(30) := 'accept_if_no_line_changes';
3092: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
3093: d_position NUMBER;
3094:
3095: BEGIN
3096:
3095: BEGIN
3096:
3097: d_position := 0;
3098:
3099: IF (PO_LOG.d_proc) THEN
3100: PO_LOG.proc_begin (d_module);
3101: END IF;
3102:
3103: UPDATE po_line_locations_draft_all PLLDA
3096:
3097: d_position := 0;
3098:
3099: IF (PO_LOG.d_proc) THEN
3100: PO_LOG.proc_begin (d_module);
3101: END IF;
3102:
3103: UPDATE po_line_locations_draft_all PLLDA
3104: SET PLLDA.change_accepted_flag = 'Y'
3165: WHERE PLLA.line_location_id = PPDD.entity_id
3166: AND PLDA.po_line_id = PLLA.po_line_id
3167: AND PLDA.draft_id = PPDD.draft_id)));
3168:
3169: IF (PO_LOG.d_proc) THEN
3170: PO_LOG.proc_end (d_module);
3171: END IF;
3172:
3173: EXCEPTION
3166: AND PLDA.po_line_id = PLLA.po_line_id
3167: AND PLDA.draft_id = PPDD.draft_id)));
3168:
3169: IF (PO_LOG.d_proc) THEN
3170: PO_LOG.proc_end (d_module);
3171: END IF;
3172:
3173: EXCEPTION
3174: WHEN OTHERS THEN
3210: x_return_status OUT NOCOPY VARCHAR2
3211: ) IS
3212:
3213: d_api_name CONSTANT VARCHAR2(30) := 'cascade_change_acceptance';
3214: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
3215: d_position NUMBER;
3216:
3217: BEGIN
3218: d_position := 0;
3216:
3217: BEGIN
3218: d_position := 0;
3219:
3220: IF (PO_LOG.d_proc) THEN
3221: PO_LOG.proc_begin (d_module, 'p_draft_id', p_draft_id);
3222: PO_LOG.proc_begin (d_module, 'p_line_id_list.COUNT', p_line_id_list.COUNT);
3223: END IF;
3224:
3217: BEGIN
3218: d_position := 0;
3219:
3220: IF (PO_LOG.d_proc) THEN
3221: PO_LOG.proc_begin (d_module, 'p_draft_id', p_draft_id);
3222: PO_LOG.proc_begin (d_module, 'p_line_id_list.COUNT', p_line_id_list.COUNT);
3223: END IF;
3224:
3225: x_return_status := FND_API.g_RET_STS_SUCCESS;
3218: d_position := 0;
3219:
3220: IF (PO_LOG.d_proc) THEN
3221: PO_LOG.proc_begin (d_module, 'p_draft_id', p_draft_id);
3222: PO_LOG.proc_begin (d_module, 'p_line_id_list.COUNT', p_line_id_list.COUNT);
3223: END IF;
3224:
3225: x_return_status := FND_API.g_RET_STS_SUCCESS;
3226:
3288: FROM po_line_locations_all PLLD
3289: WHERE PLLD.po_line_id = p_line_id_list(i)
3290: AND PLLD.line_location_id = PPDD.entity_id);
3291:
3292: IF (PO_LOG.d_proc) THEN
3293: PO_LOG.proc_end (d_module);
3294: END IF;
3295:
3296: EXCEPTION
3289: WHERE PLLD.po_line_id = p_line_id_list(i)
3290: AND PLLD.line_location_id = PPDD.entity_id);
3291:
3292: IF (PO_LOG.d_proc) THEN
3293: PO_LOG.proc_end (d_module);
3294: END IF;
3295:
3296: EXCEPTION
3297: WHEN OTHERS THEN
3336: x_return_status OUT NOCOPY VARCHAR2
3337: ) IS
3338:
3339: d_api_name CONSTANT VARCHAR2(30) := 'validate_disposition';
3340: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
3341: d_position NUMBER;
3342:
3343: l_key PO_SESSION_GT.key%TYPE;
3344:
3347: d_position := 0;
3348:
3349: x_return_status := FND_API.G_RET_STS_SUCCESS;
3350:
3351: IF (PO_LOG.d_proc) THEN
3352: PO_LOG.proc_begin (d_module, 'p_draft_id', p_draft_id);
3353: END IF;
3354:
3355: x_invalid_line_id_list := PO_TBL_NUMBER();
3348:
3349: x_return_status := FND_API.G_RET_STS_SUCCESS;
3350:
3351: IF (PO_LOG.d_proc) THEN
3352: PO_LOG.proc_begin (d_module, 'p_draft_id', p_draft_id);
3353: END IF;
3354:
3355: x_invalid_line_id_list := PO_TBL_NUMBER();
3356:
3414: IF (x_invalid_line_id_list.COUNT > 0) THEN
3415: x_return_status := FND_API.G_RET_STS_ERROR;
3416: END IF;
3417:
3418: IF (PO_LOG.d_proc) THEN
3419: PO_LOG.proc_end (d_module);
3420: END IF;
3421:
3422: EXCEPTION
3415: x_return_status := FND_API.G_RET_STS_ERROR;
3416: END IF;
3417:
3418: IF (PO_LOG.d_proc) THEN
3419: PO_LOG.proc_end (d_module);
3420: END IF;
3421:
3422: EXCEPTION
3423: WHEN OTHERS THEN
3440: )
3441: IS
3442:
3443: d_api_name CONSTANT VARCHAR2(30) := 'post_buyer_acceptance';
3444: d_module CONSTANT VARCHAR2(255) := PO_LOG.get_subprogram_base(d_pkg_name, d_api_name);
3445: d_position NUMBER;
3446:
3447:
3448: l_nid wf_notifications.notification_id%TYPE;
3455: d_position := 0;
3456:
3457:
3458:
3459: IF (PO_LOG.d_proc) THEN
3460: PO_LOG.proc_begin (d_module, 'funcmode : ', funcmode);
3461: END IF;
3462:
3463:
3456:
3457:
3458:
3459: IF (PO_LOG.d_proc) THEN
3460: PO_LOG.proc_begin (d_module, 'funcmode : ', funcmode);
3461: END IF;
3462:
3463:
3464:
3488: END IF;
3489:
3490: d_position := 5;
3491:
3492: IF (PO_LOG.d_proc) THEN
3493: PO_LOG.proc_end (d_module);
3494: END IF;
3495:
3496:
3489:
3490: d_position := 5;
3491:
3492: IF (PO_LOG.d_proc) THEN
3493: PO_LOG.proc_end (d_module);
3494: END IF;
3495:
3496:
3497: EXCEPTION
3510: funcmode IN VARCHAR2,
3511: resultout OUT NOCOPY VARCHAR2)
3512: IS
3513: d_api_name CONSTANT VARCHAR2(30) := 'should_approval_be_launched';
3514: d_module CONSTANT VARCHAR2(255) := po_log.Get_subprogram_base(d_pkg_name,
3515: d_api_name);
3516: d_position NUMBER;
3517: l_launch_approval VARCHAR2(10);
3518: l_any_line_accepted VARCHAR2(1);
3521:
3522: BEGIN
3523:
3524: d_position := 0;
3525: IF ( po_log.d_proc ) THEN
3526: po_log.Proc_begin (d_module);
3527: END IF;
3528:
3529: l_draft_id := po_wf_util_pkg.Getitemattrnumber (itemtype => itemtype,
3522: BEGIN
3523:
3524: d_position := 0;
3525: IF ( po_log.d_proc ) THEN
3526: po_log.Proc_begin (d_module);
3527: END IF;
3528:
3529: l_draft_id := po_wf_util_pkg.Getitemattrnumber (itemtype => itemtype,
3530: itemkey => itemkey,
3565: END;
3566:
3567: d_position := 20;
3568:
3569: IF ( po_log.d_stmt ) THEN
3570: po_log.Stmt (d_module, d_position, 'l_any_line_accepted', l_any_line_accepted);
3571: END IF;
3572:
3573: l_launch_approval := po_wf_util_pkg.Getitemattrtext (itemtype => itemtype,
3566:
3567: d_position := 20;
3568:
3569: IF ( po_log.d_stmt ) THEN
3570: po_log.Stmt (d_module, d_position, 'l_any_line_accepted', l_any_line_accepted);
3571: END IF;
3572:
3573: l_launch_approval := po_wf_util_pkg.Getitemattrtext (itemtype => itemtype,
3574: itemkey => itemkey,
3575: aname=> 'LAUNCH_APPROVAL');
3576:
3577: d_position := 30;
3578:
3579: IF ( po_log.d_stmt ) THEN
3580: po_log.Stmt (d_module, d_position, 'l_launch_approval', l_launch_approval);
3581: END IF;
3582:
3583: IF( l_any_line_accepted = 'Y' AND l_launch_approval = 'Y' ) THEN
3576:
3577: d_position := 30;
3578:
3579: IF ( po_log.d_stmt ) THEN
3580: po_log.Stmt (d_module, d_position, 'l_launch_approval', l_launch_approval);
3581: END IF;
3582:
3583: IF( l_any_line_accepted = 'Y' AND l_launch_approval = 'Y' ) THEN
3584: resultout := wf_engine.eng_completed || ':Y';
3586: PO_DRAFTS_PVT.unlock_document(l_po_header_id);
3587: resultout := wf_engine.eng_completed || ':N';
3588: END IF;
3589:
3590: IF ( po_log.d_proc ) THEN
3591: po_log.Proc_end (d_module);
3592: END IF;
3593:
3594: EXCEPTION
3587: resultout := wf_engine.eng_completed || ':N';
3588: END IF;
3589:
3590: IF ( po_log.d_proc ) THEN
3591: po_log.Proc_end (d_module);
3592: END IF;
3593:
3594: EXCEPTION
3595: