1: PACKAGE BODY PO_CLOSEOUT_PVT AS
2: --$Header: PO_CLOSEOUT_PVT.plb 120.9.12020000.22 2013/05/09 11:52:04 mabaig noship $
3:
4: d_pkg_name CONSTANT varchar2(50) := PO_LOG.get_package_base('PO_CLOSEOUT_PVT');
5:
1: PACKAGE BODY PO_CLOSEOUT_PVT AS
2: --$Header: PO_CLOSEOUT_PVT.plb 120.9.12020000.22 2013/05/09 11:52:04 mabaig noship $
3:
4: d_pkg_name CONSTANT varchar2(50) := PO_LOG.get_package_base('PO_CLOSEOUT_PVT');
5:
6:
1: PACKAGE BODY PO_CLOSEOUT_PVT AS
2: --$Header: PO_CLOSEOUT_PVT.plb 120.9.12020000.22 2013/05/09 11:52:04 mabaig noship $
3:
4: d_pkg_name CONSTANT varchar2(50) := PO_LOG.get_package_base('PO_CLOSEOUT_PVT');
5:
6:
7: g_debug_stmt CONSTANT BOOLEAN := PO_DEBUG.is_debug_stmt_on;
8: --------------------------------------------------------------------------------
99: IF (PO_LOG.d_proc) THEN
100: PO_LOG.proc_begin(d_module);
101: END IF;
102:
103: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_doc_id ' || p_doc_id);
104: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_closeout_type ' || p_closeout_type);
105:
106: IF g_CLOSEOUT_TYPE_INDIVIDUAL = p_closeout_type THEN
107: SELECT type_lookup_code,revision_num,clm_document_number,org_id,vendor_id, vendor_contact_id,vendor_site_id
100: PO_LOG.proc_begin(d_module);
101: END IF;
102:
103: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_doc_id ' || p_doc_id);
104: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_closeout_type ' || p_closeout_type);
105:
106: IF g_CLOSEOUT_TYPE_INDIVIDUAL = p_closeout_type THEN
107: SELECT type_lookup_code,revision_num,clm_document_number,org_id,vendor_id, vendor_contact_id,vendor_site_id
108: INTO l_po_doc_type, l_rev_number, l_doc_num,l_org_id,l_vendor_id, l_vendor_contact_id,l_vendor_site_id
109: FROM PO_HEADERS_ALL
110: WHERE po_header_id = p_doc_id;
111:
112: l_progress := 10;
113: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_po_doc_type ' || l_po_doc_type);
114: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_rev_number ' || l_rev_number);
115: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
116: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
117: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
110: WHERE po_header_id = p_doc_id;
111:
112: l_progress := 10;
113: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_po_doc_type ' || l_po_doc_type);
114: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_rev_number ' || l_rev_number);
115: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
116: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
117: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
118: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_id ' || l_vendor_contact_id);
111:
112: l_progress := 10;
113: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_po_doc_type ' || l_po_doc_type);
114: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_rev_number ' || l_rev_number);
115: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
116: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
117: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
118: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_id ' || l_vendor_contact_id);
119: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_site_id ' || l_vendor_site_id);
112: l_progress := 10;
113: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_po_doc_type ' || l_po_doc_type);
114: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_rev_number ' || l_rev_number);
115: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
116: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
117: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
118: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_id ' || l_vendor_contact_id);
119: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_site_id ' || l_vendor_site_id);
120:
113: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_po_doc_type ' || l_po_doc_type);
114: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_rev_number ' || l_rev_number);
115: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
116: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
117: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
118: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_id ' || l_vendor_contact_id);
119: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_site_id ' || l_vendor_site_id);
120:
121:
114: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_rev_number ' || l_rev_number);
115: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
116: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
117: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
118: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_id ' || l_vendor_contact_id);
119: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_site_id ' || l_vendor_site_id);
120:
121:
122: SELECT name
115: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
116: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
117: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
118: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_id ' || l_vendor_contact_id);
119: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_site_id ' || l_vendor_site_id);
120:
121:
122: SELECT name
123: INTO l_org_name
125: WHERE organization_id = l_org_id
126: AND language = UserEnv('lang');
127:
128: l_progress := 20;
129: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_name ' || l_org_name);
130: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'fnd_global.USER_NAME ' || fnd_global.USER_NAME);
131:
132: l_contr_type := po_conterms_utl_grp.get_po_contract_doctype(l_po_doc_type);
133: l_document_rec.document_number := l_doc_num;
126: AND language = UserEnv('lang');
127:
128: l_progress := 20;
129: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_name ' || l_org_name);
130: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'fnd_global.USER_NAME ' || fnd_global.USER_NAME);
131:
132: l_contr_type := po_conterms_utl_grp.get_po_contract_doctype(l_po_doc_type);
133: l_document_rec.document_number := l_doc_num;
134: ELSE
139: l_vendor_contact_id := NULL;
140: END IF;
141:
142: l_progress := 30;
143: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_contr_type ' || l_contr_type);
144:
145: l_document_rec.business_document_type := l_contr_type;
146: l_document_rec.business_document_id := p_doc_id;
147: --l_document_rec.business_document_version := l_rev_number;
174: INTO l_vendor_name
175: FROM po_vendors pv
176: WHERE pv.vendor_id = l_vendor_id;
177:
178: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_name ' || l_vendor_name);
179: l_progress := 60;
180: l_contract_parties(2).party_role_txt := 'Supplier';
181: l_contract_parties(2).party_name_txt := l_vendor_name;
182: l_contract_parties(2).party_index := 2;
197: WHEN No_Data_Found THEN
198: l_vendor_contact_name := '';
199: END;
200:
201: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_name ' || l_vendor_contact_name);
202: --contacts
203: l_party_contacts(1).contact_index := 1;
204: l_party_contacts(1).party_role_txt := 'Supplier';
205: l_party_contacts(1).party_name_txt := l_vendor_name;
229: x_contract_type := l_contract_rec.contract_type;
230:
231: l_progress := 100;
232:
233: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_contract_id ' || x_contract_id);
234: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_contract_ver ' || x_contract_ver);
235: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_contract_type ' || x_contract_type);
236: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_return_status ' || x_return_status);
237:
230:
231: l_progress := 100;
232:
233: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_contract_id ' || x_contract_id);
234: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_contract_ver ' || x_contract_ver);
235: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_contract_type ' || x_contract_type);
236: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_return_status ' || x_return_status);
237:
238: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
231: l_progress := 100;
232:
233: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_contract_id ' || x_contract_id);
234: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_contract_ver ' || x_contract_ver);
235: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_contract_type ' || x_contract_type);
236: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_return_status ' || x_return_status);
237:
238: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
239:
232:
233: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_contract_id ' || x_contract_id);
234: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_contract_ver ' || x_contract_ver);
235: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_contract_type ' || x_contract_type);
236: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_return_status ' || x_return_status);
237:
238: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
239:
240: EXCEPTION
239:
240: EXCEPTION
241: WHEN OTHERS THEN
242:
243: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'PO_CLOSEOUT_PVT.create_contract : when others exception at '
244: || l_progress || ';' || SQLERRM );
245: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
246: x_return_msg := SQLERRM;
247: END create_contract;
296: IF (PO_LOG.d_proc) THEN
297: PO_LOG.proc_begin(d_module);
298: END IF;
299:
300: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_doc_id ' || p_doc_id);
301: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_closeout_type ' || p_closeout_type);
302:
303: IF g_CLOSEOUT_TYPE_INDIVIDUAL = p_closeout_type THEN
304: SELECT type_lookup_code,revision_num,clm_document_number
297: PO_LOG.proc_begin(d_module);
298: END IF;
299:
300: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_doc_id ' || p_doc_id);
301: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_closeout_type ' || p_closeout_type);
302:
303: IF g_CLOSEOUT_TYPE_INDIVIDUAL = p_closeout_type THEN
304: SELECT type_lookup_code,revision_num,clm_document_number
305: INTO l_po_doc_type, l_rev_number, l_doc_num
306: FROM PO_HEADERS_ALL
307: WHERE po_header_id = p_doc_id;
308:
309: l_progress := 10;
310: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_po_doc_type ' || l_po_doc_type);
311: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_rev_number ' || l_rev_number);
312: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_doc_num ' || l_doc_num);
313:
314: IF l_po_doc_type = 'STANDARD' THEN
307: WHERE po_header_id = p_doc_id;
308:
309: l_progress := 10;
310: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_po_doc_type ' || l_po_doc_type);
311: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_rev_number ' || l_rev_number);
312: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_doc_num ' || l_doc_num);
313:
314: IF l_po_doc_type = 'STANDARD' THEN
315: l_contr_type := 'PO_STANDARD';
308:
309: l_progress := 10;
310: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_po_doc_type ' || l_po_doc_type);
311: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_rev_number ' || l_rev_number);
312: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_doc_num ' || l_doc_num);
313:
314: IF l_po_doc_type = 'STANDARD' THEN
315: l_contr_type := 'PO_STANDARD';
316: ELSIF l_po_doc_type = 'BLANKET' THEN
343: x_msg_count => l_msg_count,
344: x_return_status => x_return_status);
345: l_progress := 40;
346:
347: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_type ' || x_contract_type);
348: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_id ' || x_contract_id);
349: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_ver ' || x_contract_ver);
350:
351: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
344: x_return_status => x_return_status);
345: l_progress := 40;
346:
347: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_type ' || x_contract_type);
348: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_id ' || x_contract_id);
349: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_ver ' || x_contract_ver);
350:
351: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
352:
345: l_progress := 40;
346:
347: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_type ' || x_contract_type);
348: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_id ' || x_contract_id);
349: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_ver ' || x_contract_ver);
350:
351: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
352:
353: EXCEPTION
352:
353: EXCEPTION
354: WHEN OTHERS THEN
355:
356: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'PO_CLOSEOUT_PVT.check_contract_exists : when others exception at '
357: || l_progress || ';' || SQLERRM );
358: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
359: x_return_msg := SQLERRM;
360:
414: IF (PO_LOG.d_proc) THEN
415: PO_LOG.proc_begin(d_module);
416: END IF;
417:
418: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_doc_id ' || p_doc_id);
419: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_closeout_type ' || p_closeout_type);
420:
421: l_progress := 10;
422:
415: PO_LOG.proc_begin(d_module);
416: END IF;
417:
418: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_doc_id ' || p_doc_id);
419: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_closeout_type ' || p_closeout_type);
420:
421: l_progress := 10;
422:
423: PO_CLOSEOUT_PVT.check_contract_exists(p_doc_id => p_doc_id,
419: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_closeout_type ' || p_closeout_type);
420:
421: l_progress := 10;
422:
423: PO_CLOSEOUT_PVT.check_contract_exists(p_doc_id => p_doc_id,
424: p_closeout_type => p_closeout_type,
425: x_contract_type => x_contract_type,
426: x_contract_id => x_contract_id,
427: x_contract_ver => x_contract_ver,
429: x_return_status => x_return_status);
430: l_progress := 20;
431:
432: IF x_contract_id IS NULL THEN
433: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'Contract does not exists ');
434: PO_CLOSEOUT_PVT.create_contract(p_doc_id => p_doc_id,
435: p_closeout_type => p_closeout_type,
436: x_contract_type => x_contract_type,
437: x_contract_id => x_contract_id,
430: l_progress := 20;
431:
432: IF x_contract_id IS NULL THEN
433: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'Contract does not exists ');
434: PO_CLOSEOUT_PVT.create_contract(p_doc_id => p_doc_id,
435: p_closeout_type => p_closeout_type,
436: x_contract_type => x_contract_type,
437: x_contract_id => x_contract_id,
438: x_contract_ver => x_contract_ver,
440: x_return_status => x_return_status);
441: END IF;
442:
443:
444: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_type ' || x_contract_type);
445: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_id ' || x_contract_id);
446: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_ver ' || x_contract_ver);
447:
448: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
441: END IF;
442:
443:
444: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_type ' || x_contract_type);
445: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_id ' || x_contract_id);
446: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_ver ' || x_contract_ver);
447:
448: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
449:
442:
443:
444: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_type ' || x_contract_type);
445: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_id ' || x_contract_id);
446: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'x_contract_ver ' || x_contract_ver);
447:
448: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
449:
450: EXCEPTION
449:
450: EXCEPTION
451: WHEN OTHERS THEN
452:
453: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'PO_CLOSEOUT_PVT.get_contract : when others exception at '
454: || l_progress || ';' || SQLERRM );
455: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
456: x_return_msg := SQLERRM;
457:
493: IF (PO_LOG.d_proc) THEN
494: PO_LOG.proc_begin(d_module);
495: END IF;
496:
497: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_doc_id ' || p_doc_id);
498:
499: SELECT Count(1)
500: INTO l_count
501: FROM po_drafts dft
555: IF (PO_LOG.d_proc) THEN
556: PO_LOG.proc_begin(d_module);
557: END IF;
558:
559: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_doc_id ' || p_doc_id);
560:
561: SELECT Count(1)
562: INTO l_count
563: FROM po_line_locations_all poll
617: IF (PO_LOG.d_proc) THEN
618: PO_LOG.proc_begin(d_module);
619: END IF;
620:
621: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_doc_id ' || p_doc_id);
622:
623: SELECT Count(1)
624: INTO l_count
625: FROM po_line_locations_all poll
677: IF (PO_LOG.d_proc) THEN
678: PO_LOG.proc_begin(d_module);
679: END IF;
680:
681: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_doc_id ' || p_doc_id);
682:
683: SELECT Count(1)
684: INTO l_count
685: FROM ap_invoice_distributions_all aid,
691: AND pod.po_header_id = poll.po_header_id
692: AND poll.po_header_id = p_doc_id;
693:
694: l_progress := 10;
695: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'Fully paid entries count ' || l_count);
696:
697: IF l_count > 0 THEN
698: SELECT Count(1)
699: INTO l_count
769: IF (PO_LOG.d_proc) THEN
770: PO_LOG.proc_begin(d_module);
771: END IF;
772:
773: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_doc_id ' || p_doc_id);
774:
775: SELECT type_lookup_code,revision_num
776: INTO l_po_doc_type, l_rev_number
777: FROM PO_HEADERS_ALL
778: WHERE po_header_id = p_doc_id;
779:
780: l_progress := 10;
781:
782: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_po_doc_type ' || l_po_doc_type);
783: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_rev_number ' || l_rev_number);
784:
785: l_contr_type := po_conterms_utl_grp.get_po_contract_doctype(l_po_doc_type);
786:
779:
780: l_progress := 10;
781:
782: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_po_doc_type ' || l_po_doc_type);
783: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_rev_number ' || l_rev_number);
784:
785: l_contr_type := po_conterms_utl_grp.get_po_contract_doctype(l_po_doc_type);
786:
787: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_contr_type ' || l_contr_type);
783: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_rev_number ' || l_rev_number);
784:
785: l_contr_type := po_conterms_utl_grp.get_po_contract_doctype(l_po_doc_type);
786:
787: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_contr_type ' || l_contr_type);
788:
789: l_progress := 20;
790:
791: l_doc_rec.business_document_type := l_contr_type;
874: IF (PO_LOG.d_proc) THEN
875: PO_LOG.proc_begin(d_module);
876: END IF;
877:
878: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_doc_id ' || p_doc_id);
879: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_chk_list_req ' || p_chk_list_req);
880:
881: x_result_type := c_result_type_SUCCESS;
882:
875: PO_LOG.proc_begin(d_module);
876: END IF;
877:
878: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_doc_id ' || p_doc_id);
879: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_chk_list_req ' || p_chk_list_req);
880:
881: x_result_type := c_result_type_SUCCESS;
882:
883: IF p_chk_list_req = 'Y' THEN
885: ELSE
886: l_open_mod_fail_type := 'ERROR';
887: END IF;
888:
889: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_open_mod_fail_type:' || l_open_mod_fail_type);
890:
891: l_progress := 5;
892:
893: SELECT clm_document_number
894: INTO l_clm_doc_num
895: FROM po_headers_all
896: WHERE po_header_id = p_doc_id;
897:
898: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_clm_doc_num:' || l_clm_doc_num);
899:
900: l_progress := 10;
901:
902: IF (X_RESULTS IS NULL) THEN
909: WHERE po_header_id = p_doc_id;
910:
911: l_progress := 15;
912:
913: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_type_lookup_code:' || l_type_lookup_code);
914: IF p_chk_list_req = 'Y' THEN
915: PO_CLOSEOUT_PVT.chklist_task_available(p_doc_id => p_doc_id
916: ,x_result_type => l_tasklist_result);
917:
911: l_progress := 15;
912:
913: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_type_lookup_code:' || l_type_lookup_code);
914: IF p_chk_list_req = 'Y' THEN
915: PO_CLOSEOUT_PVT.chklist_task_available(p_doc_id => p_doc_id
916: ,x_result_type => l_tasklist_result);
917:
918: l_progress := 20;
919:
980: x_result_type := c_result_type_FAILURE;
981: RETURN;
982: END IF;
983:
984: PO_CLOSEOUT_PVT.open_mod_exists(p_doc_id => p_doc_id
985: ,x_result_type => l_result);
986:
987: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'open_mod_exists result :' || l_result);
988:
983:
984: PO_CLOSEOUT_PVT.open_mod_exists(p_doc_id => p_doc_id
985: ,x_result_type => l_result);
986:
987: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'open_mod_exists result :' || l_result);
988:
989: l_progress := 40;
990:
991: IF l_result = c_result_type_FAILURE THEN
1009: END IF;
1010:
1011: l_progress := 50;
1012:
1013: PO_CLOSEOUT_PVT.is_doc_fully_received(p_doc_id => p_doc_id
1014: ,x_result_type => l_result);
1015:
1016: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'is_doc_fully_received result :' || l_result);
1017:
1012:
1013: PO_CLOSEOUT_PVT.is_doc_fully_received(p_doc_id => p_doc_id
1014: ,x_result_type => l_result);
1015:
1016: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'is_doc_fully_received result :' || l_result);
1017:
1018: l_progress := 55;
1019:
1020: IF l_result = c_result_type_FAILURE THEN
1030: END IF;
1031:
1032: l_progress := 60;
1033:
1034: PO_CLOSEOUT_PVT.is_doc_fully_invoiced(p_doc_id => p_doc_id
1035: ,x_result_type => l_result);
1036:
1037: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'is_doc_fully_invoiced result :' || l_result);
1038:
1033:
1034: PO_CLOSEOUT_PVT.is_doc_fully_invoiced(p_doc_id => p_doc_id
1035: ,x_result_type => l_result);
1036:
1037: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'is_doc_fully_invoiced result :' || l_result);
1038:
1039: l_progress := 70;
1040:
1041: IF l_result = c_result_type_FAILURE THEN
1051: END IF;
1052:
1053: l_progress := 80;
1054:
1055: PO_CLOSEOUT_PVT.is_doc_fully_paid(p_doc_id => p_doc_id
1056: ,x_result_type => l_result);
1057:
1058: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'is_doc_fully_paid result :' || l_result);
1059:
1054:
1055: PO_CLOSEOUT_PVT.is_doc_fully_paid(p_doc_id => p_doc_id
1056: ,x_result_type => l_result);
1057:
1058: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'is_doc_fully_paid result :' || l_result);
1059:
1060: l_progress := 90;
1061:
1062: IF l_result = c_result_type_FAILURE THEN
1078:
1079: EXCEPTION
1080: WHEN OTHERS THEN
1081:
1082: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'validate_manage_closeout : when others exception at '
1083: || l_progress || ';' || SQLERRM );
1084:
1085: END validate_manage_closeout;
1086:
1126:
1127:
1128: BEGIN
1129: IF (PO_LOG.d_proc) THEN PO_LOG.proc_begin(d_module); END IF;
1130: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_req_id ' || p_req_id);
1131: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_chk_list_req ' || p_chk_list_req);
1132:
1133: l_results := PO_MULTI_MOD_VAL_RESULTS_TYPE.NEW_INSTANCE();
1134: l_progress := 10;
1127:
1128: BEGIN
1129: IF (PO_LOG.d_proc) THEN PO_LOG.proc_begin(d_module); END IF;
1130: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_req_id ' || p_req_id);
1131: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_chk_list_req ' || p_chk_list_req);
1132:
1133: l_results := PO_MULTI_MOD_VAL_RESULTS_TYPE.NEW_INSTANCE();
1134: l_progress := 10;
1135:
1144: FETCH closeoutDocs INTO l_doc_id;
1145: EXIT WHEN closeoutDocs%NOTFOUND;
1146:
1147: l_progress := 30;
1148: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_id ' || l_doc_id);
1149:
1150: PO_CLOSEOUT_PVT.validate_manage_closeout(p_doc_id => l_doc_id
1151: , p_chk_list_req => p_chk_list_req
1152: , x_result_type => l_result_type
1146:
1147: l_progress := 30;
1148: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_id ' || l_doc_id);
1149:
1150: PO_CLOSEOUT_PVT.validate_manage_closeout(p_doc_id => l_doc_id
1151: , p_chk_list_req => p_chk_list_req
1152: , x_result_type => l_result_type
1153: , x_results => l_results);
1154: l_progress := 40;
1244: l_validation_status := c_result_type_SUCCESS;
1245: END IF;
1246:
1247: l_progress := 70;
1248: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_validation_status ' || l_validation_status);
1249:
1250: UPDATE po_multi_mod_requests
1251: SET VALIDATION_STATUS = l_validation_status
1252: WHERE MULTI_MOD_REQUEST_ID = p_req_id;
1256: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
1257: EXCEPTION
1258: WHEN OTHERS THEN
1259:
1260: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'check_exceptions : when others exception at '
1261: || l_progress || ';' || SQLERRM );
1262: x_result_type := c_result_type_FAILURE;
1263: END check_exceptions;
1264:
1321: FROM po_multi_mod_docs
1322: WHERE MULTI_MOD_REQUEST_ID = p_req_id;
1323: BEGIN
1324: IF (PO_LOG.d_proc) THEN PO_LOG.proc_begin(d_module); END IF;
1325: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_req_id ' || p_req_id);
1326: fnd_file.put_line(FND_FILE.LOG,'Current Concurrent Request Id : '||FND_GLOBAL.CONC_REQUEST_ID);
1327: fnd_file.put_line(FND_FILE.LOG,'Parameters ');
1328: fnd_file.put_line(FND_FILE.LOG,'Closeout RequestSet Id: '|| p_req_id);
1329: fnd_file.put_line(FND_FILE.LOG,'--------------------------------------------------------------');
1331: SELECT check_list_required
1332: INTO l_checklist_req
1333: FROM po_closeout_details
1334: WHERE reference_doc_id = p_req_id
1335: AND closeout_doc_type = PO_CLOSEOUT_PVT.g_CLOSEOUT_TYPE_MASS;
1336:
1337: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_checklist_req ' || l_checklist_req);
1338: l_progress := 5;
1339:
1333: FROM po_closeout_details
1334: WHERE reference_doc_id = p_req_id
1335: AND closeout_doc_type = PO_CLOSEOUT_PVT.g_CLOSEOUT_TYPE_MASS;
1336:
1337: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_checklist_req ' || l_checklist_req);
1338: l_progress := 5;
1339:
1340: OPEN closeoutDocs;
1341: LOOP
1341: LOOP
1342: FETCH closeoutDocs INTO l_doc_id;
1343: EXIT WHEN closeoutDocs%NOTFOUND;
1344:
1345: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_id ' || l_doc_id);
1346:
1347: SELECT type_lookup_code,revision_num,clm_document_number,org_id,vendor_id,vendor_contact_id,vendor_site_id
1348: INTO l_po_doc_type, l_rev_number, l_doc_num,l_org_id,l_vendor_id,l_vendor_contact_id,l_vendor_site_id
1349: FROM PO_HEADERS_ALL
1349: FROM PO_HEADERS_ALL
1350: WHERE po_header_id = l_doc_id;
1351:
1352: l_progress := 5;
1353: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_po_doc_type ' || l_po_doc_type);
1354: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_rev_number ' || l_rev_number);
1355: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
1356: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
1357: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
1350: WHERE po_header_id = l_doc_id;
1351:
1352: l_progress := 5;
1353: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_po_doc_type ' || l_po_doc_type);
1354: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_rev_number ' || l_rev_number);
1355: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
1356: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
1357: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
1358: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_id ' || l_vendor_contact_id);
1351:
1352: l_progress := 5;
1353: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_po_doc_type ' || l_po_doc_type);
1354: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_rev_number ' || l_rev_number);
1355: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
1356: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
1357: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
1358: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_id ' || l_vendor_contact_id);
1359: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_site_id ' || l_vendor_site_id);
1352: l_progress := 5;
1353: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_po_doc_type ' || l_po_doc_type);
1354: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_rev_number ' || l_rev_number);
1355: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
1356: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
1357: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
1358: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_id ' || l_vendor_contact_id);
1359: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_site_id ' || l_vendor_site_id);
1360:
1353: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_po_doc_type ' || l_po_doc_type);
1354: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_rev_number ' || l_rev_number);
1355: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
1356: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
1357: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
1358: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_id ' || l_vendor_contact_id);
1359: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_site_id ' || l_vendor_site_id);
1360:
1361: fnd_file.put_line(FND_FILE.LOG, 'Processing started for the document: ' || l_doc_num);
1354: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_rev_number ' || l_rev_number);
1355: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
1356: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
1357: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
1358: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_id ' || l_vendor_contact_id);
1359: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_site_id ' || l_vendor_site_id);
1360:
1361: fnd_file.put_line(FND_FILE.LOG, 'Processing started for the document: ' || l_doc_num);
1362: SELECT Count(reference_doc_id)
1355: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
1356: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_id ' || l_org_id);
1357: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_id ' || l_vendor_id);
1358: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_id ' || l_vendor_contact_id);
1359: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_site_id ' || l_vendor_site_id);
1360:
1361: fnd_file.put_line(FND_FILE.LOG, 'Processing started for the document: ' || l_doc_num);
1362: SELECT Count(reference_doc_id)
1363: INTO l_closeout_doc_count
1362: SELECT Count(reference_doc_id)
1363: INTO l_closeout_doc_count
1364: FROM PO_CLOSEOUT_DETAILS
1365: WHERE reference_doc_id = l_doc_id
1366: AND closeout_doc_type = PO_CLOSEOUT_PVT.g_CLOSEOUT_TYPE_INDIVIDUAL;
1367:
1368: l_progress := 10;
1369: IF l_closeout_doc_count > 0 THEN
1370: retcode := '1';
1367:
1368: l_progress := 10;
1369: IF l_closeout_doc_count > 0 THEN
1370: retcode := '1';
1371: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'Closeout process has already been initiated for this award: ' || l_doc_id);
1372: fnd_file.put_line(FND_FILE.LOG, 'Closeout process has already been initiated for this award: ' || l_doc_num);
1373:
1374: ELSE
1375: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'validation is successful for award ' || l_doc_id);
1371: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'Closeout process has already been initiated for this award: ' || l_doc_id);
1372: fnd_file.put_line(FND_FILE.LOG, 'Closeout process has already been initiated for this award: ' || l_doc_num);
1373:
1374: ELSE
1375: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'validation is successful for award ' || l_doc_id);
1376: fnd_file.put_line(FND_FILE.LOG, 'Initiating closeout process for this award ');
1377:
1378: BEGIN
1379: INSERT
1425: pco_signed_date,
1426: checklist_signed_date,
1427: is_reopened)
1428: (SELECT PO_CLOSEOUT_DETAILS_S.NEXTVAL,
1429: PO_CLOSEOUT_PVT.g_CLOSEOUT_TYPE_INDIVIDUAL,
1430: l_doc_id,
1431: check_list_required,
1432: ccs_required,
1433: check_list_sign_required,
1473: checklist_signed_date,
1474: is_reopened
1475: FROM PO_CLOSEOUT_DETAILS
1476: WHERE reference_doc_id = p_req_id
1477: AND closeout_doc_type = PO_CLOSEOUT_PVT.g_CLOSEOUT_TYPE_MASS);
1478:
1479: l_progress := 20;
1480: fnd_file.put_line(FND_FILE.LOG, 'New record has been added to the PO_CLOSEOUT_DETAILS table for this award.');
1481:
1488: WHERE organization_id = l_org_id
1489: AND language = UserEnv('lang');
1490:
1491: l_progress := 30;
1492: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_name ' || l_org_name);
1493:
1494: l_doc_contr_type := po_conterms_utl_grp.get_po_contract_doctype(l_po_doc_type);
1495:
1496: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_contr_type ' || l_doc_contr_type);
1492: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_org_name ' || l_org_name);
1493:
1494: l_doc_contr_type := po_conterms_utl_grp.get_po_contract_doctype(l_po_doc_type);
1495:
1496: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_contr_type ' || l_doc_contr_type);
1497:
1498: l_tgt_document_rec.document_number := l_doc_num;
1499: l_tgt_document_rec.business_document_type := l_doc_contr_type;
1500: l_tgt_document_rec.business_document_id := l_doc_id;
1532: INTO l_vendor_name
1533: FROM po_vendors pv
1534: WHERE pv.vendor_id = l_vendor_id;
1535:
1536: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_name ' || l_vendor_name);
1537: l_progress := 65;
1538:
1539: l_contract_parties(1).party_role_txt := 'Internal';
1540: l_contract_parties(1).party_name_txt := l_org_name;
1559: WHEN No_Data_Found THEN
1560: l_vendor_contact_name := '';
1561: END;
1562:
1563: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_vendor_contact_name ' || l_vendor_contact_name);
1564: --contacts
1565: l_party_contacts(1).contact_index := 1;
1566: l_party_contacts(1).party_role_txt := 'Supplier';
1567: l_party_contacts(1).party_name_txt := l_vendor_name;
1584: , x_msg_data => l_result_type
1585: , x_msg_count => l_msg_count
1586: , x_return_status => l_return_status);
1587: l_progress := 80;
1588: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'contract_id ' || l_contract_rec.contract_id);
1589: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'contract_ver ' || l_contract_rec.contract_version_num);
1590: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'contract_type ' || l_contract_rec.contract_type_txt);
1591: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_return_status ' || l_return_status);
1592: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1585: , x_msg_count => l_msg_count
1586: , x_return_status => l_return_status);
1587: l_progress := 80;
1588: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'contract_id ' || l_contract_rec.contract_id);
1589: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'contract_ver ' || l_contract_rec.contract_version_num);
1590: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'contract_type ' || l_contract_rec.contract_type_txt);
1591: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_return_status ' || l_return_status);
1592: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1593: fnd_file.put_line(FND_FILE.LOG, 'Contract creation is successful. Contract id is ' || l_contract_rec.contract_id);
1586: , x_return_status => l_return_status);
1587: l_progress := 80;
1588: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'contract_id ' || l_contract_rec.contract_id);
1589: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'contract_ver ' || l_contract_rec.contract_version_num);
1590: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'contract_type ' || l_contract_rec.contract_type_txt);
1591: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_return_status ' || l_return_status);
1592: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1593: fnd_file.put_line(FND_FILE.LOG, 'Contract creation is successful. Contract id is ' || l_contract_rec.contract_id);
1594: ELSE
1587: l_progress := 80;
1588: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'contract_id ' || l_contract_rec.contract_id);
1589: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'contract_ver ' || l_contract_rec.contract_version_num);
1590: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'contract_type ' || l_contract_rec.contract_type_txt);
1591: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_return_status ' || l_return_status);
1592: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1593: fnd_file.put_line(FND_FILE.LOG, 'Contract creation is successful. Contract id is ' || l_contract_rec.contract_id);
1594: ELSE
1595: fnd_file.put_line(FND_FILE.LOG, 'There are warnings/Errors while creating the contract.');
1597: END IF;
1598: END IF; --Checklist required
1599:
1600: fnd_file.put_line(FND_FILE.LOG, 'Workflow process has been intiated');
1601: PO_CLOSEOUT_PVT.start_closeout_wf_process(p_doc_id => l_doc_id,
1602: x_return_status => l_return_status);
1603:
1604: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1605: fnd_file.put_line(FND_FILE.LOG, 'Workflow is successfully initiated');
1608: fnd_file.put_line(FND_FILE.LOG, 'Error(s) occured while initiating the workflow');
1609: END IF;
1610: EXCEPTION
1611: WHEN OTHERS THEN
1612: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'Exception occured while processing the award '
1613: || l_doc_id || ' - ' || SQLERRM );
1614: fnd_file.put_line(FND_FILE.LOG, 'Fatal error occurred while processing the award ' || l_doc_num);
1615: END;
1616: l_progress := 90;
1619:
1620: po_multi_mod_pvt.remove_multi_mod_request(p_multi_mod_request_id => p_req_id
1621: , x_return_status => l_return_status);
1622: fnd_file.put_line(FND_FILE.LOG, 'The multimod request ' || p_req_id || ' details have been cleared from the system');
1623: PO_CLOSEOUT_PVT.delete_contract(p_doc_id => p_req_id,
1624: p_closeout_type => PO_CLOSEOUT_PVT.g_CLOSEOUT_TYPE_MASS,
1625: x_return_status => l_return_status,
1626: x_return_msg => l_msg_data);
1627: l_progress := 95;
1620: po_multi_mod_pvt.remove_multi_mod_request(p_multi_mod_request_id => p_req_id
1621: , x_return_status => l_return_status);
1622: fnd_file.put_line(FND_FILE.LOG, 'The multimod request ' || p_req_id || ' details have been cleared from the system');
1623: PO_CLOSEOUT_PVT.delete_contract(p_doc_id => p_req_id,
1624: p_closeout_type => PO_CLOSEOUT_PVT.g_CLOSEOUT_TYPE_MASS,
1625: x_return_status => l_return_status,
1626: x_return_msg => l_msg_data);
1627: l_progress := 95;
1628: fnd_file.put_line(FND_FILE.LOG, 'Deleting the contract which is created for closeout set ');
1627: l_progress := 95;
1628: fnd_file.put_line(FND_FILE.LOG, 'Deleting the contract which is created for closeout set ');
1629: fnd_file.put_line(FND_FILE.LOG, 'Delete contract status ' || l_return_status);
1630: fnd_file.put_line(FND_FILE.LOG, 'return message from Delete contract : ' || l_msg_data);
1631: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'Delete contract status ' || l_return_status);
1632: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'return message from Delete contract : ' || l_msg_data);
1633: l_progress := 100;
1634: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
1635: EXCEPTION
1628: fnd_file.put_line(FND_FILE.LOG, 'Deleting the contract which is created for closeout set ');
1629: fnd_file.put_line(FND_FILE.LOG, 'Delete contract status ' || l_return_status);
1630: fnd_file.put_line(FND_FILE.LOG, 'return message from Delete contract : ' || l_msg_data);
1631: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'Delete contract status ' || l_return_status);
1632: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'return message from Delete contract : ' || l_msg_data);
1633: l_progress := 100;
1634: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
1635: EXCEPTION
1636: WHEN OTHERS THEN
1637: errbuf := sqlerrm;
1638: retcode := '2';
1639: fnd_file.put_line(FND_FILE.LOG, 'Unexpected error occurred during this process');
1640: fnd_file.put_line(FND_FILE.LOG, SQLERRM);
1641: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'mass_closeout_submit : when others exception at '
1642: || l_progress || ';' || SQLERRM );
1643: END mass_closeout_submit;
1644:
1645: --------------------------------------------------------------------------------
1676: BEGIN
1677: IF (PO_LOG.d_proc) THEN
1678: PO_LOG.proc_begin(d_module);
1679: END IF;
1680: --PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_selected_docs ' || p_selected_docs);
1681:
1682: SELECT listagg(DOCUMENT_ID,',') within GROUP (ORDER BY DOCUMENT_ID)
1683: INTO l_doc_ids
1684: FROM po_multi_mod_docs docs,
1688: AND docs.DOCUMENT_ID IN (SELECT *
1689: FROM TABLE (p_selected_docs));
1690:
1691: l_progress := 50;
1692: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_ids ' || l_doc_ids);
1693: IF l_doc_ids IS NULL THEN
1694: x_result_type := c_result_type_SUCCESS;
1695: ELSE
1696: x_result_type := c_result_type_FAILURE;
1704: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
1705: EXCEPTION
1706: WHEN OTHERS THEN
1707:
1708: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'mass_closeout_validate_set : when others exception at '
1709: || l_progress || ';' || SQLERRM );
1710: x_result_type := c_result_type_FAILURE;
1711: END mass_closeout_validate_set;
1712:
1771: IF (PO_LOG.d_proc) THEN
1772: PO_LOG.proc_begin(d_module);
1773: END IF;
1774:
1775: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_req_id ' || p_req_id);
1776: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_chk_list_req ' || p_chk_list_req);
1777: fnd_file.put_line(FND_FILE.LOG,'Current Concurrent Request Id : '||FND_GLOBAL.CONC_REQUEST_ID);
1778: fnd_file.put_line(FND_FILE.LOG,'Parameters ');
1779: fnd_file.put_line(FND_FILE.LOG,'Closeout RequestSet Id: ' || p_req_id);
1772: PO_LOG.proc_begin(d_module);
1773: END IF;
1774:
1775: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_req_id ' || p_req_id);
1776: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_chk_list_req ' || p_chk_list_req);
1777: fnd_file.put_line(FND_FILE.LOG,'Current Concurrent Request Id : '||FND_GLOBAL.CONC_REQUEST_ID);
1778: fnd_file.put_line(FND_FILE.LOG,'Parameters ');
1779: fnd_file.put_line(FND_FILE.LOG,'Closeout RequestSet Id: ' || p_req_id);
1780: fnd_file.put_line(FND_FILE.LOG,'Checklist Required: ' || p_chk_list_req);
1784: FROM po_multi_mod_val_results
1785: WHERE multi_mod_request_id = p_req_id;
1786:
1787: l_progress := 5;
1788: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'Num of Records deleted from po_multi_mod_val_results:' || SQL%ROWCOUNT);
1789: fnd_file.put_line(FND_FILE.LOG,'Existing validation records have been cleared');
1790:
1791: IF p_chk_list_req = 'Y' THEN
1792: l_open_mod_fail_type := 'WARNING';
1793: ELSE
1794: l_open_mod_fail_type := 'ERROR';
1795: END IF;
1796:
1797: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_open_mod_fail_type:' || l_open_mod_fail_type);
1798:
1799: l_progress := 10;
1800:
1801: IF p_chk_list_req = 'Y' THEN
1817: l_progress := 15;
1818:
1819: IF l_document_num_tbl.Count() > 0 THEN
1820: FOR i IN 1..l_document_num_tbl.Count() LOOP
1821: PO_CLOSEOUT_PVT.store_validations(p_doc_id => l_document_id_tbl(i)
1822: , p_doc_num => l_document_num_tbl(i)
1823: , p_mod_doc_id => l_mod_doc_id_tbl(i)
1824: , p_req_id => p_req_id
1825: , p_validation_type => 'CHECKLIST'
1883: l_ref_col2 := x_qa_result_tbl(i).Reference_Column2;
1884: l_ref_col3 := x_qa_result_tbl(i).Reference_Column3;
1885: l_ref_col4 := x_qa_result_tbl(i).Reference_Column4;
1886: l_ref_col5 := x_qa_result_tbl(i).Reference_Column5;
1887: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'header id from x_qa_result_tbl: ' || x_qa_result_tbl(i).Document_id);
1888: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'clm doc number for above header: ' || l_clm_doc_num);
1889: PO_CLOSEOUT_PVT.store_validations(p_doc_id => x_qa_result_tbl(i).Document_id
1890: , p_doc_num => l_clm_doc_num
1891: , p_mod_doc_id => NULL
1884: l_ref_col3 := x_qa_result_tbl(i).Reference_Column3;
1885: l_ref_col4 := x_qa_result_tbl(i).Reference_Column4;
1886: l_ref_col5 := x_qa_result_tbl(i).Reference_Column5;
1887: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'header id from x_qa_result_tbl: ' || x_qa_result_tbl(i).Document_id);
1888: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'clm doc number for above header: ' || l_clm_doc_num);
1889: PO_CLOSEOUT_PVT.store_validations(p_doc_id => x_qa_result_tbl(i).Document_id
1890: , p_doc_num => l_clm_doc_num
1891: , p_mod_doc_id => NULL
1892: , p_req_id => p_req_id
1885: l_ref_col4 := x_qa_result_tbl(i).Reference_Column4;
1886: l_ref_col5 := x_qa_result_tbl(i).Reference_Column5;
1887: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'header id from x_qa_result_tbl: ' || x_qa_result_tbl(i).Document_id);
1888: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'clm doc number for above header: ' || l_clm_doc_num);
1889: PO_CLOSEOUT_PVT.store_validations(p_doc_id => x_qa_result_tbl(i).Document_id
1890: , p_doc_num => l_clm_doc_num
1891: , p_mod_doc_id => NULL
1892: , p_req_id => p_req_id
1893: , p_validation_type => 'CONTRACT'
1912:
1913: END IF;
1914: END IF;
1915: fnd_file.put_line(FND_FILE.LOG,'Contract Deliverables validation is completed ' || l_module_status);
1916: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'Contract Deliverables validation is completed ' || l_module_status);
1917:
1918:
1919: l_document_id_tbl := NEW po_tbl_number();
1920: l_document_num_tbl := NEW po_tbl_varchar100();
1936:
1937: l_module_status := '';
1938: IF l_document_num_tbl.Count() >0 THEN
1939: FOR i IN 1..l_document_num_tbl.Count() LOOP
1940: PO_CLOSEOUT_PVT.store_validations(p_doc_id => l_document_id_tbl(i)
1941: , p_doc_num => l_document_num_tbl(i)
1942: , p_mod_doc_id => l_mod_doc_id_tbl(i)
1943: , p_req_id => p_req_id
1944: , p_validation_type => 'MODIFICATION'
1955: END LOOP;
1956: END IF;
1957:
1958: fnd_file.put_line(FND_FILE.LOG,'Open modifications validation is completed ' || l_module_status);
1959: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'Open modifications validation is completed ' || l_module_status);
1960: l_progress := 45;
1961:
1962: l_document_id_tbl := NEW po_tbl_number();
1963: l_document_num_tbl := NEW po_tbl_varchar100();
1980:
1981: l_module_status := '';
1982: IF l_document_num_tbl.Count() >0 THEN
1983: FOR i IN 1..l_document_num_tbl.Count() LOOP
1984: PO_CLOSEOUT_PVT.store_validations(p_doc_id => l_document_id_tbl(i)
1985: , p_doc_num => l_document_num_tbl(i)
1986: , p_mod_doc_id => l_mod_doc_id_tbl(i)
1987: , p_req_id => p_req_id
1988: , p_validation_type => 'RECEIPTS'
1994: END LOOP;
1995: END IF;
1996:
1997: fnd_file.put_line(FND_FILE.LOG,'Fully received validation is completed ' || l_module_status);
1998: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'Fully received validation is completed ' || l_module_status);
1999:
2000: l_progress := 60;
2001:
2002: l_document_id_tbl := NEW po_tbl_number();
2020:
2021: l_module_status := '';
2022: IF l_document_num_tbl.Count() >0 THEN
2023: FOR i IN 1..l_document_num_tbl.Count() LOOP
2024: PO_CLOSEOUT_PVT.store_validations(p_doc_id => l_document_id_tbl(i)
2025: , p_doc_num => l_document_num_tbl(i)
2026: , p_mod_doc_id => l_mod_doc_id_tbl(i)
2027: , p_req_id => p_req_id
2028: , p_validation_type => 'INVOICE'
2034: END LOOP;
2035: END IF;
2036:
2037: fnd_file.put_line(FND_FILE.LOG,'Fully invoiced validation is completed ' || l_module_status);
2038: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'Fully invoiced validation is completed ' || l_module_status);
2039: l_progress := 80;
2040:
2041: l_document_id_tbl := NEW po_tbl_number();
2042: l_document_num_tbl := NEW po_tbl_varchar100();
2061: AND pha.po_header_id = poll.po_header_id);
2062:
2063: IF l_document_num_tbl.Count() >0 THEN
2064: FOR i IN 1..l_document_num_tbl.Count() LOOP
2065: PO_CLOSEOUT_PVT.store_validations(p_doc_id => l_document_id_tbl(i)
2066: , p_doc_num => l_document_num_tbl(i)
2067: , p_mod_doc_id => l_mod_doc_id_tbl(i)
2068: , p_req_id => p_req_id
2069: , p_validation_type => 'PAYMENT'
2103: l_progress := 90;
2104:
2105: IF l_document_num_tbl.Count() >0 THEN
2106: FOR i IN 1..l_document_num_tbl.Count() LOOP
2107: PO_CLOSEOUT_PVT.store_validations(p_doc_id => l_document_id_tbl(i)
2108: , p_doc_num => l_document_num_tbl(i)
2109: , p_mod_doc_id => l_mod_doc_id_tbl(i)
2110: , p_req_id => p_req_id
2111: , p_validation_type => 'FULLY_PAID'
2116: l_module_status := 'with warnings';
2117: END LOOP;
2118: END IF;
2119: fnd_file.put_line(FND_FILE.LOG,'Fully paid validation is completed ' || l_module_status);
2120: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'Fully paid validation is completed ' || l_module_status);
2121:
2122: IF l_fail_count > 0 THEN
2123: l_validation_status := c_result_type_FAILURE;
2124: ELSIF l_warn_count > 0 THEN
2127: l_validation_status := c_result_type_SUCCESS;
2128: END IF;
2129:
2130: l_progress := 95;
2131: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_validation_status ' || l_validation_status);
2132: fnd_file.put_line(FND_FILE.LOG,'Validation Status : ' || l_validation_status);
2133:
2134: UPDATE po_multi_mod_requests
2135: SET VALIDATION_STATUS = l_validation_status
2144: errbuf := sqlerrm;
2145: retcode := '2';
2146: fnd_file.put_line(FND_FILE.LOG, 'Unexpected error occurred during this process');
2147: fnd_file.put_line(FND_FILE.LOG, SQLERRM);
2148: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'validate_manage_closeout : when others exception at '
2149: || l_progress || ';' || SQLERRM );
2150:
2151: END validate_mass_closeout;
2152:
2226: l_tot_amt_tbl := NEW PO_TBL_NUMBER();
2227: l_doc_curr_tbl := NEW PO_TBL_VARCHAR15();
2228:
2229: l_messages := ' ';
2230: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'processing started for admin ' || l_admin_id);
2231: WF_DIRECTORY.GetUserName(p_orig_system, l_admin_id, l_username, l_user_display_name);
2232: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_username ' || l_username);
2233: fnd_file.put_line(FND_FILE.LOG,'Filtering documents for administrator ' || l_user_display_name);
2234: SELECT clm_document_number, comments,doc_type,status,supplier,totAmt,currency_code
2228:
2229: l_messages := ' ';
2230: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'processing started for admin ' || l_admin_id);
2231: WF_DIRECTORY.GetUserName(p_orig_system, l_admin_id, l_username, l_user_display_name);
2232: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_username ' || l_username);
2233: fnd_file.put_line(FND_FILE.LOG,'Filtering documents for administrator ' || l_user_display_name);
2234: SELECT clm_document_number, comments,doc_type,status,supplier,totAmt,currency_code
2235: BULK COLLECT INTO l_doc_num_tbl,l_comments_tbl,l_doc_type_tbl,
2236: l_doc_status_tbl,l_supplier_tbl,l_tot_amt_tbl,
2275: --Award should not any draft closeout details
2276: AND NOT EXISTS(SELECT 1
2277: FROM po_closeout_details pcd
2278: WHERE pcd.reference_doc_id = ph.po_header_id
2279: AND closeout_doc_type = PO_CLOSEOUT_PVT.g_CLOSEOUT_TYPE_INDIVIDUAL
2280: AND Nvl(pcd.incloseout,'N') = 'Y'
2281: )
2282: ORDER BY ph.last_update_date)
2283: WHERE ROWNUM<11;
2314: --DBMS_LOB.writeappend(l_document,Length(l_messages),l_messages);
2315: END LOOP;
2316: l_progress := 25;
2317: l_messages := l_messages || '';
2318: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_messages ' || l_messages);
2319: --l_progress := 26;
2320: --DBMS_LOB.writeappend(l_document,Length('/TABLE>'),'/TABLE>');
2321: l_progress := 26;
2322: l_notification_id := wf_notification.Send(ROLE => l_username,
2339:
2340: l_progress := 27;
2341: wf_notification.Setattrtext(nid => l_notification_id,
2342: aname => 'MESSAGE_BODY',
2343: avalue => 'PLSQLCLOB:PO_CLOSEOUT_PVT.get_eligible_doc_notfn_body/'|| l_messages ||'#' );
2344: l_progress := 30;
2345: fnd_file.put_line(FND_FILE.LOG,'Notification initiated for this administrator');
2346: --dbms_lob.close(l_document);
2347: ELSE
2344: l_progress := 30;
2345: fnd_file.put_line(FND_FILE.LOG,'Notification initiated for this administrator');
2346: --dbms_lob.close(l_document);
2347: ELSE
2348: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'There are no valid documents to closeout for this administrator');
2349: fnd_file.put_line(FND_FILE.LOG,'There are no valid documents to closeout for this administrator');
2350: END IF;
2351:
2352: END LOOP;
2358: errbuf := sqlerrm;
2359: retcode := '2';
2360: fnd_file.put_line(FND_FILE.LOG, 'Unexpected error occurred during this process');
2361: fnd_file.put_line(FND_FILE.LOG, SQLERRM);
2362: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'when others exception at '
2363: || l_progress || ';' || SQLERRM );
2364: END eligible_docs_for_closeout;
2365:
2366: --------------------------------------------------------------------------------
2410: IF (PO_LOG.d_proc) THEN
2411: PO_LOG.proc_begin(d_module);
2412: END IF;
2413:
2414: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_messages ' || messages);
2415: l_firstcolon := instr(messages, '#');
2416: l_secondcolon := instr(messages, '#', 1,2);
2417: l_messages := substr(messages, 1, l_firstcolon - 1);
2418:
2431: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
2432:
2433: EXCEPTION
2434: WHEN OTHERS THEN
2435: WF_CORE.context('PO_CLOSEOUT_PVT','get_eligible_doc_notfn_body',l_progress);
2436: RAISE;
2437:
2438: END get_eligible_doc_notfn_body;
2439:
2608: IF (PO_LOG.d_proc) THEN
2609: PO_LOG.proc_begin(d_module);
2610: END IF;
2611:
2612: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_doc_id ' || p_doc_id);
2613: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_closeout_type ' || p_closeout_type);
2614:
2615: PO_CLOSEOUT_PVT.check_contract_exists(p_doc_id => p_doc_id,
2616: p_closeout_type => p_closeout_type,
2609: PO_LOG.proc_begin(d_module);
2610: END IF;
2611:
2612: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_doc_id ' || p_doc_id);
2613: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_closeout_type ' || p_closeout_type);
2614:
2615: PO_CLOSEOUT_PVT.check_contract_exists(p_doc_id => p_doc_id,
2616: p_closeout_type => p_closeout_type,
2617: x_contract_type => l_contract_type,
2611:
2612: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_doc_id ' || p_doc_id);
2613: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'p_closeout_type ' || p_closeout_type);
2614:
2615: PO_CLOSEOUT_PVT.check_contract_exists(p_doc_id => p_doc_id,
2616: p_closeout_type => p_closeout_type,
2617: x_contract_type => l_contract_type,
2618: x_contract_id => l_contract_id,
2619: x_contract_ver => l_contract_ver,
2622:
2623: l_progress := 20;
2624:
2625: IF l_contract_id IS NOT NULL THEN
2626: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'Contract exists ');
2627: IF g_CLOSEOUT_TYPE_INDIVIDUAL = p_closeout_type THEN
2628: SELECT type_lookup_code, clm_document_number
2629: INTO l_po_doc_type, l_doc_num
2630: FROM PO_HEADERS_ALL
2630: FROM PO_HEADERS_ALL
2631: WHERE po_header_id = p_doc_id;
2632:
2633: l_progress := 30;
2634: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_po_doc_type ' || l_po_doc_type);
2635: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
2636:
2637: IF l_po_doc_type = 'STANDARD' THEN
2638: l_contract_type := 'PO_STANDARD';
2631: WHERE po_header_id = p_doc_id;
2632:
2633: l_progress := 30;
2634: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_po_doc_type ' || l_po_doc_type);
2635: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
2636:
2637: IF l_po_doc_type = 'STANDARD' THEN
2638: l_contract_type := 'PO_STANDARD';
2639: ELSIF l_po_doc_type = 'BLANKET' THEN
2665: x_return_msg := 'Contract does not exits for this document';
2666: x_return_status := FND_API.G_RET_STS_SUCCESS;
2667: END IF;
2668:
2669: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_return_msg ' || x_return_msg);
2670: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_msg_count ' || l_msg_count);
2671: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_return_status ' || x_return_status);
2672:
2673: l_progress := 50;
2666: x_return_status := FND_API.G_RET_STS_SUCCESS;
2667: END IF;
2668:
2669: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_return_msg ' || x_return_msg);
2670: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_msg_count ' || l_msg_count);
2671: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_return_status ' || x_return_status);
2672:
2673: l_progress := 50;
2674:
2667: END IF;
2668:
2669: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_return_msg ' || x_return_msg);
2670: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_msg_count ' || l_msg_count);
2671: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'x_return_status ' || x_return_status);
2672:
2673: l_progress := 50;
2674:
2675: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
2676:
2677: EXCEPTION
2678: WHEN OTHERS THEN
2679:
2680: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'when others exception at '
2681: || l_progress || ';' || SQLERRM );
2682: END delete_contract;
2683:
2684: --------------------------------------------------------------------------------
2731: IF (PO_LOG.d_proc) THEN
2732: PO_LOG.proc_begin(d_module);
2733: END IF;
2734:
2735: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'itemkey ' || itemkey);
2736: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'itemtype ' || itemtype);
2737:
2738: l_document_id := wf_engine.GetItemAttrNumber
2739: (itemtype => itemtype,
2732: PO_LOG.proc_begin(d_module);
2733: END IF;
2734:
2735: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'itemkey ' || itemkey);
2736: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'itemtype ' || itemtype);
2737:
2738: l_document_id := wf_engine.GetItemAttrNumber
2739: (itemtype => itemtype,
2740: itemkey => itemkey,
2743: (itemtype => itemtype,
2744: itemkey => itemkey,
2745: aname => 'CLOSEOUT_DATE');
2746:
2747: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_document_id ' || l_document_id);
2748: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_closeout_dtate ' || l_closeout_dtate);
2749:
2750: l_progress := 10;
2751: l_closeout_status := wf_engine.GetActivityAttrText
2744: itemkey => itemkey,
2745: aname => 'CLOSEOUT_DATE');
2746:
2747: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_document_id ' || l_document_id);
2748: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_closeout_dtate ' || l_closeout_dtate);
2749:
2750: l_progress := 10;
2751: l_closeout_status := wf_engine.GetActivityAttrText
2752: (itemtype => itemtype,
2753: itemkey => itemkey,
2754: actid => actid,
2755: aname => 'CLOSEOUT_STATUS');
2756:
2757: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_closeout_status ' || l_closeout_status);
2758:
2759: UPDATE po_headers_all
2760: SET clm_closeout_status = l_closeout_status
2761: WHERE po_header_id = l_document_id;
2783: SET aco_signer_name = l_aco_singer_name,
2784: aco_signed_date = Nvl(l_aco_signed_date, sysdate),
2785: aco_remarks = l_aco_remarks
2786: WHERE reference_doc_id = l_document_id
2787: AND closeout_doc_type = PO_CLOSEOUT_PVT.g_CLOSEOUT_TYPE_INDIVIDUAL;
2788:
2789: l_progress := 13;
2790:
2791: ELSIF (l_closeout_status = 'CLOSED_OUT') THEN
2812: pco_signed_date = Nvl(l_pco_signed_date, sysdate),
2813: pco_remarks = l_pco_remarks,
2814: incloseout = 'C' -- Completed
2815: WHERE reference_doc_id = l_document_id
2816: AND closeout_doc_type = PO_CLOSEOUT_PVT.g_CLOSEOUT_TYPE_INDIVIDUAL;
2817:
2818: l_progress := 15;
2819:
2820: select clm_document_number,type_lookup_code, Decode(type_lookup_code, 'STANDARD', 'PO', 'PA')
2821: into l_doc_num,l_doc_subtype,l_doc_type
2822: from po_headers_all
2823: where po_header_id = l_document_id;
2824:
2825: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
2826: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_subtype ' || l_doc_subtype);
2827: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_type ' || l_doc_type);
2828: l_progress := 16;
2829:
2822: from po_headers_all
2823: where po_header_id = l_document_id;
2824:
2825: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
2826: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_subtype ' || l_doc_subtype);
2827: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_type ' || l_doc_type);
2828: l_progress := 16;
2829:
2830: PO_DOCUMENT_ACTION_PVT.do_freeze
2823: where po_header_id = l_document_id;
2824:
2825: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_num ' || l_doc_num);
2826: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_subtype ' || l_doc_subtype);
2827: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_doc_type ' || l_doc_type);
2828: l_progress := 16;
2829:
2830: PO_DOCUMENT_ACTION_PVT.do_freeze
2831: (
2838: x_exception_msg => l_exc_msg
2839: );
2840: l_progress := 17;
2841:
2842: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_return_status ' || l_return_status);
2843: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_return_code ' || l_return_code);
2844: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_exc_msg ' || l_exc_msg);
2845: END IF;
2846: --closeout_date pco_remarks aco_signer_name pco_signer_name aco_signed_date pco_signed_date
2839: );
2840: l_progress := 17;
2841:
2842: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_return_status ' || l_return_status);
2843: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_return_code ' || l_return_code);
2844: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_exc_msg ' || l_exc_msg);
2845: END IF;
2846: --closeout_date pco_remarks aco_signer_name pco_signer_name aco_signed_date pco_signed_date
2847:
2840: l_progress := 17;
2841:
2842: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_return_status ' || l_return_status);
2843: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_return_code ' || l_return_code);
2844: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'l_exc_msg ' || l_exc_msg);
2845: END IF;
2846: --closeout_date pco_remarks aco_signer_name pco_signer_name aco_signed_date pco_signed_date
2847:
2848:
2846: --closeout_date pco_remarks aco_signer_name pco_signer_name aco_signed_date pco_signed_date
2847:
2848:
2849: l_progress := 20;
2850: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'update query count ' || SQL%ROWCOUNT);
2851:
2852: SELECT type_lookup_code,revision_num, agent_id
2853: INTO l_po_doc_type, l_rev_number , l_agent_id
2854: FROM PO_HEADERS_ALL
2905: , ''
2906: );
2907:
2908: l_progress := 50;
2909: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'insert query count ' || SQL%ROWCOUNT);
2910:
2911: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED' ;
2912:
2913: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
2914:
2915: EXCEPTION
2916: WHEN OTHERS THEN
2917:
2918: PO_CLOSEOUT_PVT.Log( d_module, l_progress, 'PO_CLOSEOUT_PVT.set_closeout_status : when others exception at '
2919: || l_progress || ';' || SQLERRM );
2920: RAISE;
2921: END set_closeout_status;
2922:
2974: IF (PO_LOG.d_proc) THEN
2975: PO_LOG.proc_begin(d_module);
2976: END IF;
2977:
2978: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'PO_CLOSEOUT_PVT.get_clsout_err_msg_body: 01');
2979: l_firstcolon := instr(message_type, ':');
2980: l_secondcolon := instr(message_type, ':', 1,2);
2981: l_message_type := substr(message_type, 1, l_firstcolon - 1);
2982: l_itemtype := substr(message_type, l_firstcolon + 1, l_secondcolon - l_firstcolon - 1);
2985: l_clm_document_number := wf_engine.GetItemAttrText (itemtype => l_itemtype, itemkey => l_itemkey, aname => 'CLM_DOCUMENT_NUMBER');
2986: l_doc_sub_type := wf_engine.GetItemAttrText (itemtype => l_itemtype, itemkey => l_itemkey, aname => 'DOCUMENT_TYPE_DISP');
2987: l_pdf_type := wf_engine.GetItemAttrText (itemtype => l_itemtype, itemkey => l_itemkey, aname => 'PDF_TYPE');
2988:
2989: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_message_type ' || l_message_type);
2990: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_clm_document_number ' || l_clm_document_number);
2991: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_doc_sub_type ' || l_doc_sub_type);
2992:
2993:
2986: l_doc_sub_type := wf_engine.GetItemAttrText (itemtype => l_itemtype, itemkey => l_itemkey, aname => 'DOCUMENT_TYPE_DISP');
2987: l_pdf_type := wf_engine.GetItemAttrText (itemtype => l_itemtype, itemkey => l_itemkey, aname => 'PDF_TYPE');
2988:
2989: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_message_type ' || l_message_type);
2990: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_clm_document_number ' || l_clm_document_number);
2991: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_doc_sub_type ' || l_doc_sub_type);
2992:
2993:
2994: IF ( l_message_type = 'CLSOUT_TASK_ACT_ERR') THEN
2987: l_pdf_type := wf_engine.GetItemAttrText (itemtype => l_itemtype, itemkey => l_itemkey, aname => 'PDF_TYPE');
2988:
2989: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_message_type ' || l_message_type);
2990: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_clm_document_number ' || l_clm_document_number);
2991: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_doc_sub_type ' || l_doc_sub_type);
2992:
2993:
2994: IF ( l_message_type = 'CLSOUT_TASK_ACT_ERR') THEN
2995:
3008: l_msgbody := fnd_message.get;
3009:
3010: WF_NOTIFICATION.WriteToClob(document, l_msgbody);
3011:
3012: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'PO_CLOSEOUT_PVT.get_clsout_err_msg_body: 03');
3013:
3014: l_progress := 1;
3015:
3016: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
3018: EXCEPTION
3019: WHEN OTHERS THEN
3020: --l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(l_item_type, l_item_key);
3021: --l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(l_item_type, l_item_key);
3022: WF_CORE.context('PO_CLOSEOUT_PVT','get_clsout_err_msg_body',l_progress);
3023: --PO_REQAPPROVAL_INIT1.send_error_notif(l_item_type, l_item_key, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_SIGNATURE_PVT.GET_SIGNATURE_NOTFN_BODY');
3024: RAISE;
3025:
3026: END get_clsout_err_msg_body;
3075: IF (PO_LOG.d_proc) THEN
3076: PO_LOG.proc_begin(d_module);
3077: END IF;
3078:
3079: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_messages ' || messages);
3080: l_firstcolon := instr(messages, '#');
3081: l_secondcolon := instr(messages, '#', 1,2);
3082: l_messages := substr(messages, 1, l_firstcolon - 1);
3083: l_itemtype := substr(messages, l_firstcolon + 1, l_secondcolon - l_firstcolon - 1);
3084: l_itemkey := substr(messages, l_secondcolon+1,length(messages) - l_secondcolon);
3085:
3086: l_msgbody := '
3087:
'||fnd_message.get_string('PO','PO_CONTROL_CHOOSE_ACTION')||' |
3097: EXCEPTION
3098: WHEN OTHERS THEN
3099: --l_doc_string := PO_REQAPPROVAL_INIT1.get_error_doc(l_item_type, l_item_key);
3100: --l_preparer_user_name := PO_REQAPPROVAL_INIT1.get_preparer_user_name(l_item_type, l_item_key);
3101: WF_CORE.context('PO_CLOSEOUT_PVT','get_val_notfn_body',l_progress);
3102: --PO_REQAPPROVAL_INIT1.send_error_notif(l_item_type, l_item_key, l_preparer_user_name, l_doc_string, sqlerrm, 'PO_SIGNATURE_PVT.GET_SIGNATURE_NOTFN_BODY');
3103: RAISE;
3104:
3105: END get_val_notfn_body;
3155: IF (PO_LOG.d_proc) THEN
3156: PO_LOG.proc_begin(d_module);
3157: END IF;
3158:
3159: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemkey ' || itemkey);
3160: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemtype ' || itemtype);
3161:
3162: l_document_id := wf_engine.GetItemAttrNumber
3163: (itemtype => itemtype,
3156: PO_LOG.proc_begin(d_module);
3157: END IF;
3158:
3159: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemkey ' || itemkey);
3160: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemtype ' || itemtype);
3161:
3162: l_document_id := wf_engine.GetItemAttrNumber
3163: (itemtype => itemtype,
3164: itemkey => itemkey,
3165: aname => 'DOCUMENT_ID');
3166: l_clm_document_number := wf_engine.GetItemAttrText (itemtype => itemtype, itemkey => itemkey, aname => 'CLM_DOCUMENT_NUMBER');
3167: l_doc_sub_type := wf_engine.GetItemAttrText (itemtype => itemtype, itemkey => itemkey, aname => 'DOCUMENT_TYPE_DISP');
3168:
3169: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_document_id ' || l_document_id);
3170:
3171: l_progress := 10;
3172:
3173: l_results := PO_MULTI_MOD_VAL_RESULTS_TYPE.NEW_INSTANCE();
3171: l_progress := 10;
3172:
3173: l_results := PO_MULTI_MOD_VAL_RESULTS_TYPE.NEW_INSTANCE();
3174:
3175: PO_CLOSEOUT_PVT.validate_manage_closeout (p_doc_id => l_document_id
3176: , p_chk_list_req => 'N' -- CheckList Error and Open Mod error are mutual exc, so the checklist added error not req for wf val.
3177: , x_result_type => l_result_type
3178: , x_results => l_results);
3179: l_progress := 30;
3209: '
3214: resultout := wf_engine.eng_completed || ':' || 'SUCCESS' ;
3215: RETURN;
3216: END IF;
3217:
3218: -- PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_message_subject'||l_message_subject);
3219:
3220: wf_engine.setitemattrtext(itemtype => itemtype,
3221: itemkey => itemkey,
3222: aname => 'MESSAGE_SUBJECT',
3230:
3231: wf_engine.setitemattrtext(itemtype => itemtype,
3232: itemkey => itemkey,
3233: aname => 'MESSAGE_BODY',
3234: avalue => 'PLSQLCLOB:PO_CLOSEOUT_PVT.get_val_notfn_body/'|| l_messages ||'#'||itemtype||'#'||itemkey);
3235:
3236:
3237: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'wf_validate_closeout result ' || resultout);
3238: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_result_type ' || l_result_type);
3233: aname => 'MESSAGE_BODY',
3234: avalue => 'PLSQLCLOB:PO_CLOSEOUT_PVT.get_val_notfn_body/'|| l_messages ||'#'||itemtype||'#'||itemkey);
3235:
3236:
3237: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'wf_validate_closeout result ' || resultout);
3238: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_result_type ' || l_result_type);
3239:
3240: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
3241:
3234: avalue => 'PLSQLCLOB:PO_CLOSEOUT_PVT.get_val_notfn_body/'|| l_messages ||'#'||itemtype||'#'||itemkey);
3235:
3236:
3237: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'wf_validate_closeout result ' || resultout);
3238: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_result_type ' || l_result_type);
3239:
3240: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
3241:
3242: EXCEPTION
3241:
3242: EXCEPTION
3243: WHEN OTHERS THEN
3244:
3245: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'PO_CLOSEOUT_PVT.Validate_Document : when others exception at '
3246: || l_progress || ';' || SQLERRM );
3247: resultout := wf_engine.eng_completed || ':' || 'ERROR' ;
3248:
3249: RAISE;
3299: IF (PO_LOG.d_proc) THEN
3300: PO_LOG.proc_begin(d_module);
3301: END IF;
3302:
3303: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemkey ' || itemkey);
3304: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemtype ' || itemtype);
3305:
3306: l_document_id := wf_engine.GetItemAttrNumber
3307: (itemtype => itemtype,
3300: PO_LOG.proc_begin(d_module);
3301: END IF;
3302:
3303: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemkey ' || itemkey);
3304: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemtype ' || itemtype);
3305:
3306: l_document_id := wf_engine.GetItemAttrNumber
3307: (itemtype => itemtype,
3308: itemkey => itemkey,
3337: x_msg_data => l_msg_data,
3338: x_msg_count => l_msg_count,
3339: x_return_status => l_return_status);
3340:
3341: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_msg_data:'||l_msg_data);
3342: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_task_status: '||l_task_status);
3343: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_return_status: '||l_return_status);
3344: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_document_id: '||l_document_id);
3345: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_po_doc_type: '||l_po_doc_type);
3338: x_msg_count => l_msg_count,
3339: x_return_status => l_return_status);
3340:
3341: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_msg_data:'||l_msg_data);
3342: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_task_status: '||l_task_status);
3343: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_return_status: '||l_return_status);
3344: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_document_id: '||l_document_id);
3345: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_po_doc_type: '||l_po_doc_type);
3346: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_rev_number: '||l_rev_number);
3339: x_return_status => l_return_status);
3340:
3341: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_msg_data:'||l_msg_data);
3342: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_task_status: '||l_task_status);
3343: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_return_status: '||l_return_status);
3344: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_document_id: '||l_document_id);
3345: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_po_doc_type: '||l_po_doc_type);
3346: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_rev_number: '||l_rev_number);
3347: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_doc_num: '||l_doc_num);
3340:
3341: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_msg_data:'||l_msg_data);
3342: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_task_status: '||l_task_status);
3343: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_return_status: '||l_return_status);
3344: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_document_id: '||l_document_id);
3345: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_po_doc_type: '||l_po_doc_type);
3346: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_rev_number: '||l_rev_number);
3347: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_doc_num: '||l_doc_num);
3348:
3341: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_msg_data:'||l_msg_data);
3342: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_task_status: '||l_task_status);
3343: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_return_status: '||l_return_status);
3344: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_document_id: '||l_document_id);
3345: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_po_doc_type: '||l_po_doc_type);
3346: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_rev_number: '||l_rev_number);
3347: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_doc_num: '||l_doc_num);
3348:
3349:
3342: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_task_status: '||l_task_status);
3343: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_return_status: '||l_return_status);
3344: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_document_id: '||l_document_id);
3345: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_po_doc_type: '||l_po_doc_type);
3346: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_rev_number: '||l_rev_number);
3347: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_doc_num: '||l_doc_num);
3348:
3349:
3350: IF (l_return_status = fnd_api.g_ret_sts_success AND l_task_status = 'COMPLETED') THEN
3343: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_return_status: '||l_return_status);
3344: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_document_id: '||l_document_id);
3345: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_po_doc_type: '||l_po_doc_type);
3346: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_rev_number: '||l_rev_number);
3347: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_doc_num: '||l_doc_num);
3348:
3349:
3350: IF (l_return_status = fnd_api.g_ret_sts_success AND l_task_status = 'COMPLETED') THEN
3351: resultout := wf_engine.eng_completed || ':' || 'COMPLETED' ;
3352: --When a document is reopened and If the tasks are already completed, workflow will directly initiates the signing process
3353: update PO_CLOSEOUT_DETAILS
3354: set incloseout = 'W'
3355: where reference_doc_id = l_document_id
3356: and closeout_doc_type = PO_CLOSEOUT_PVT.g_CLOSEOUT_TYPE_INDIVIDUAL;
3357: ELSIF (l_return_status = fnd_api.g_ret_sts_success AND l_task_status = 'INITIATED') THEN
3358: resultout := wf_engine.eng_completed || ':' || 'ACTIVATED' ;
3359: ELSIF (l_return_status = fnd_api.g_ret_sts_error OR l_return_status = fnd_api.g_ret_sts_unexp_error) THEN
3360: resultout := wf_engine.eng_completed || ':' || 'ERROR' ;
3364:
3365: EXCEPTION
3366: WHEN OTHERS THEN
3367:
3368: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'PO_CLOSEOUT_PVT.Activate_tasks_list : when others exception at '
3369: || l_progress || ';' || SQLERRM );
3370:
3371: resultout := wf_engine.eng_completed || ':' || 'ERROR' ;
3372: RAISE;
3420: IF (PO_LOG.d_proc) THEN
3421: PO_LOG.proc_begin(d_module);
3422: END IF;
3423:
3424: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemkey ' || itemkey);
3425: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemtype ' || itemtype);
3426:
3427: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED' ;
3428:
3421: PO_LOG.proc_begin(d_module);
3422: END IF;
3423:
3424: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemkey ' || itemkey);
3425: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemtype ' || itemtype);
3426:
3427: resultout := wf_engine.eng_completed || ':' || 'ACTIVITY_PERFORMED' ;
3428:
3429: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
3430:
3431: EXCEPTION
3432: WHEN OTHERS THEN
3433:
3434: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'PO_CLOSEOUT_PVT.Set_Doc_TO_Prev_State : when others exception at '
3435: || l_progress || ';' || SQLERRM );
3436: resultout := c_result_type_FAILURE;
3437:
3438: resultout := wf_engine.eng_completed || ':' || 'ACTIVATED' ;
3486: IF (PO_LOG.d_proc) THEN
3487: PO_LOG.proc_begin(d_module);
3488: END IF;
3489:
3490: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemkey ' || itemkey);
3491: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemtype ' || itemtype);
3492:
3493:
3494:
3487: PO_LOG.proc_begin(d_module);
3488: END IF;
3489:
3490: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemkey ' || itemkey);
3491: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemtype ' || itemtype);
3492:
3493:
3494:
3495: l_document_id := wf_engine.GetItemAttrNumber
3496: (itemtype => itemtype,
3497: itemkey => itemkey,
3498: aname => 'DOCUMENT_ID');
3499:
3500: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_document_id ' || l_document_id);
3501:
3502: l_progress := 10;
3503:
3504: BEGIN
3519:
3520: EXCEPTION
3521: WHEN OTHERS THEN
3522:
3523: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'PO_CLOSEOUT_PVT.IS_STATUS_PHYSICAL_COMPLETE : when others exception at '
3524: || l_progress || ';' || SQLERRM );
3525: resultout := wf_engine.eng_completed || ':' || 'N';
3526: RAISE;
3527:
3618: IF (PO_LOG.d_proc) THEN
3619: PO_LOG.proc_begin(d_module);
3620: END IF;
3621:
3622: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemkey ' || itemkey);
3623: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemtype ' || itemtype);
3624:
3625: l_administrator_id := wf_engine.GetItemAttrNumber (itemtype => itemtype, itemkey => itemkey, aname => 'ADMINISTRATOR_ID');
3626: get_user_name(l_administrator_id, l_name, l_disp);
3619: PO_LOG.proc_begin(d_module);
3620: END IF;
3621:
3622: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemkey ' || itemkey);
3623: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'itemtype ' || itemtype);
3624:
3625: l_administrator_id := wf_engine.GetItemAttrNumber (itemtype => itemtype, itemkey => itemkey, aname => 'ADMINISTRATOR_ID');
3626: get_user_name(l_administrator_id, l_name, l_disp);
3627:
3624:
3625: l_administrator_id := wf_engine.GetItemAttrNumber (itemtype => itemtype, itemkey => itemkey, aname => 'ADMINISTRATOR_ID');
3626: get_user_name(l_administrator_id, l_name, l_disp);
3627:
3628: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_name ' || l_name);
3629: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
3630:
3631: RETURN(l_name);
3632: END;
3673: IF (PO_LOG.d_proc) THEN
3674: PO_LOG.proc_begin(d_module);
3675: END IF;
3676:
3677: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_itemtype ' || p_itemtype);
3678: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_itemkey ' || p_itemkey);
3679: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_signer_type ' || p_signer_type);
3680:
3681: IF ( p_signer_type = 'CHECKLIST') THEN
3674: PO_LOG.proc_begin(d_module);
3675: END IF;
3676:
3677: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_itemtype ' || p_itemtype);
3678: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_itemkey ' || p_itemkey);
3679: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_signer_type ' || p_signer_type);
3680:
3681: IF ( p_signer_type = 'CHECKLIST') THEN
3682: l_signer_id := wf_engine.GetItemAttrNumber (itemtype => p_itemtype, itemkey => p_itemkey, aname => 'CHECK_LIST_SIGNER_ID');
3675: END IF;
3676:
3677: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_itemtype ' || p_itemtype);
3678: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_itemkey ' || p_itemkey);
3679: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'p_signer_type ' || p_signer_type);
3680:
3681: IF ( p_signer_type = 'CHECKLIST') THEN
3682: l_signer_id := wf_engine.GetItemAttrNumber (itemtype => p_itemtype, itemkey => p_itemkey, aname => 'CHECK_LIST_SIGNER_ID');
3683: ELSIF ( p_signer_type = 'ADMIN_OFFICER') THEN
3687: END IF;
3688:
3689: get_user_name(l_signer_id, l_name, l_disp_name);
3690:
3691: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_name ' || l_name);
3692: IF (PO_LOG.d_proc) THEN PO_LOG.proc_end(d_module); END IF;
3693:
3694: RETURN(l_name);
3695: END get_signer;
3780: AND PHA.vendor_id = VO.vendor_id;
3781:
3782: l_doc_type_disp:= PO_DOC_STYLE_PVT.get_style_display_name(l_document_id);
3783:
3784: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_admin_id ' || l_admin_id);
3785: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_clm_document_number ' || l_clm_document_number);
3786: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_revision_num ' || l_revision_num);
3787: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_comments ' || l_comments);
3788: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_vendor_name ' || l_vendor_name);
3781:
3782: l_doc_type_disp:= PO_DOC_STYLE_PVT.get_style_display_name(l_document_id);
3783:
3784: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_admin_id ' || l_admin_id);
3785: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_clm_document_number ' || l_clm_document_number);
3786: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_revision_num ' || l_revision_num);
3787: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_comments ' || l_comments);
3788: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_vendor_name ' || l_vendor_name);
3789: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_buyer_id ' || l_buyer_id);
3782: l_doc_type_disp:= PO_DOC_STYLE_PVT.get_style_display_name(l_document_id);
3783:
3784: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_admin_id ' || l_admin_id);
3785: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_clm_document_number ' || l_clm_document_number);
3786: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_revision_num ' || l_revision_num);
3787: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_comments ' || l_comments);
3788: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_vendor_name ' || l_vendor_name);
3789: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_buyer_id ' || l_buyer_id);
3790:
3783:
3784: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_admin_id ' || l_admin_id);
3785: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_clm_document_number ' || l_clm_document_number);
3786: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_revision_num ' || l_revision_num);
3787: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_comments ' || l_comments);
3788: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_vendor_name ' || l_vendor_name);
3789: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_buyer_id ' || l_buyer_id);
3790:
3791: get_user_name(l_buyer_id, l_buyer_name,l_buyer_dsp_name);
3784: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_admin_id ' || l_admin_id);
3785: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_clm_document_number ' || l_clm_document_number);
3786: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_revision_num ' || l_revision_num);
3787: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_comments ' || l_comments);
3788: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_vendor_name ' || l_vendor_name);
3789: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_buyer_id ' || l_buyer_id);
3790:
3791: get_user_name(l_buyer_id, l_buyer_name,l_buyer_dsp_name);
3792:
3785: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_clm_document_number ' || l_clm_document_number);
3786: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_revision_num ' || l_revision_num);
3787: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_comments ' || l_comments);
3788: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_vendor_name ' || l_vendor_name);
3789: PO_CLOSEOUT_PVT.Log( d_module, d_position, 'l_buyer_id ' || l_buyer_id);
3790:
3791: get_user_name(l_buyer_id, l_buyer_name,l_buyer_dsp_name);
3792:
3793: l_msgbody := '
3806: