1: package body po_doc_numbering_pkg AS
2: /* $Header: po_doc_numbering_pkg.plb 120.35.12020000.8 2013/04/30 06:16:52 amalick ship $ */
3: d_pkg_name CONSTANT varchar2(50) := PO_LOG.get_package_base('PO_DOC_NUMBERING_PKG');
4:
5: PROCEDURE DEFAULT_DOC_NUMBER_UDA( p_doc_header_id IN NUMBER,
6: p_draft_id IN NUMBER,
7: p_template_id IN NUMBER,
53: l_idv_number VARCHAR2(50);
54: l_org_id NUMBER := po_moac_utils_pvt.get_current_org_id; --Bug 13241358/12881115:
55: BEGIN
56:
57: IF (PO_LOG.d_proc) THEN
58: PO_LOG.proc_begin(d_module);
59: PO_LOG.proc_begin(d_module, 'p_doc_header_id', p_doc_header_id);
60: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
61: PO_LOG.proc_begin(d_module, 'p_template_id', p_template_id);
54: l_org_id NUMBER := po_moac_utils_pvt.get_current_org_id; --Bug 13241358/12881115:
55: BEGIN
56:
57: IF (PO_LOG.d_proc) THEN
58: PO_LOG.proc_begin(d_module);
59: PO_LOG.proc_begin(d_module, 'p_doc_header_id', p_doc_header_id);
60: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
61: PO_LOG.proc_begin(d_module, 'p_template_id', p_template_id);
62: PO_LOG.proc_begin(d_module, 'p_context_usage', p_context_usage);
55: BEGIN
56:
57: IF (PO_LOG.d_proc) THEN
58: PO_LOG.proc_begin(d_module);
59: PO_LOG.proc_begin(d_module, 'p_doc_header_id', p_doc_header_id);
60: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
61: PO_LOG.proc_begin(d_module, 'p_template_id', p_template_id);
62: PO_LOG.proc_begin(d_module, 'p_context_usage', p_context_usage);
63: PO_LOG.proc_begin(d_module, 'p_source_org_owned', p_source_org_owned);
56:
57: IF (PO_LOG.d_proc) THEN
58: PO_LOG.proc_begin(d_module);
59: PO_LOG.proc_begin(d_module, 'p_doc_header_id', p_doc_header_id);
60: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
61: PO_LOG.proc_begin(d_module, 'p_template_id', p_template_id);
62: PO_LOG.proc_begin(d_module, 'p_context_usage', p_context_usage);
63: PO_LOG.proc_begin(d_module, 'p_source_org_owned', p_source_org_owned);
64: PO_LOG.proc_begin(d_module, 'p_caller', p_caller);
57: IF (PO_LOG.d_proc) THEN
58: PO_LOG.proc_begin(d_module);
59: PO_LOG.proc_begin(d_module, 'p_doc_header_id', p_doc_header_id);
60: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
61: PO_LOG.proc_begin(d_module, 'p_template_id', p_template_id);
62: PO_LOG.proc_begin(d_module, 'p_context_usage', p_context_usage);
63: PO_LOG.proc_begin(d_module, 'p_source_org_owned', p_source_org_owned);
64: PO_LOG.proc_begin(d_module, 'p_caller', p_caller);
65: END IF;
58: PO_LOG.proc_begin(d_module);
59: PO_LOG.proc_begin(d_module, 'p_doc_header_id', p_doc_header_id);
60: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
61: PO_LOG.proc_begin(d_module, 'p_template_id', p_template_id);
62: PO_LOG.proc_begin(d_module, 'p_context_usage', p_context_usage);
63: PO_LOG.proc_begin(d_module, 'p_source_org_owned', p_source_org_owned);
64: PO_LOG.proc_begin(d_module, 'p_caller', p_caller);
65: END IF;
66:
59: PO_LOG.proc_begin(d_module, 'p_doc_header_id', p_doc_header_id);
60: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
61: PO_LOG.proc_begin(d_module, 'p_template_id', p_template_id);
62: PO_LOG.proc_begin(d_module, 'p_context_usage', p_context_usage);
63: PO_LOG.proc_begin(d_module, 'p_source_org_owned', p_source_org_owned);
64: PO_LOG.proc_begin(d_module, 'p_caller', p_caller);
65: END IF;
66:
67: l_po_uda_usage_object := PO_UDA_USAGE_OBJECT();
60: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
61: PO_LOG.proc_begin(d_module, 'p_template_id', p_template_id);
62: PO_LOG.proc_begin(d_module, 'p_context_usage', p_context_usage);
63: PO_LOG.proc_begin(d_module, 'p_source_org_owned', p_source_org_owned);
64: PO_LOG.proc_begin(d_module, 'p_caller', p_caller);
65: END IF;
66:
67: l_po_uda_usage_object := PO_UDA_USAGE_OBJECT();
68: l_po_uda_usage_object_array := PO_UDA_USAGE_OBJECT_ARRAY();
89: l_idv_number := NULL;
90: l_source_org_owned :='NA';
91: END;
92: END;
93: PO_LOG.proc_begin(d_module, 'Source IDV number ', l_idv_number);
94: END IF;
95:
96: IF p_caller = 'REQ' OR p_caller = 'SOL' OR p_caller = 'SOL_AMD' THEN
97: l_context := EGO_COL_NAME_VALUE_PAIR_ARRAY(
181: /* Bug 13241358/12881115 get the attribute group id from
182: usage object, using the attr_group_id get attr group name*/
183: l_attrb_grp_id := l_po_uda_usage_object.Attr_group_Id(1);
184:
185: IF PO_LOG.d_stmt THEN
186: PO_LOG.stmt(d_module, d_progress, 'l_attrb_grp_id : ', l_attrb_grp_id);
187: END IF;
188:
189: select ags.ATTR_GROUP_NAME
182: usage object, using the attr_group_id get attr group name*/
183: l_attrb_grp_id := l_po_uda_usage_object.Attr_group_Id(1);
184:
185: IF PO_LOG.d_stmt THEN
186: PO_LOG.stmt(d_module, d_progress, 'l_attrb_grp_id : ', l_attrb_grp_id);
187: END IF;
188:
189: select ags.ATTR_GROUP_NAME
190: into l_attr_group_name
190: into l_attr_group_name
191: from ego_attr_groups_v ags
192: where ags.attr_group_id = l_attrb_grp_id;
193:
194: IF PO_LOG.d_stmt THEN
195: PO_LOG.stmt(d_module, d_progress, 'l_attr_group_name : ', l_attr_group_name);
196: END IF;
197:
198: /*Bug 13241358/12881115 ends*/
191: from ego_attr_groups_v ags
192: where ags.attr_group_id = l_attrb_grp_id;
193:
194: IF PO_LOG.d_stmt THEN
195: PO_LOG.stmt(d_module, d_progress, 'l_attr_group_name : ', l_attr_group_name);
196: END IF;
197:
198: /*Bug 13241358/12881115 ends*/
199:
357: EXCEPTION
358: WHEN OTHERS THEN
359: d_progress := 40;
360: x_return_status := 'U';
361: IF PO_LOG.d_stmt THEN
362: PO_LOG.stmt(d_module, d_progress, 'x_return_status', x_return_status);
363: END IF;
364: END DEFAULT_DOC_NUMBER_UDA;
365:
358: WHEN OTHERS THEN
359: d_progress := 40;
360: x_return_status := 'U';
361: IF PO_LOG.d_stmt THEN
362: PO_LOG.stmt(d_module, d_progress, 'x_return_status', x_return_status);
363: END IF;
364: END DEFAULT_DOC_NUMBER_UDA;
365:
366:
5161:
5162: EXCEPTION
5163: WHEN OTHERS THEN
5164: x_return_status := 'U';
5165: IF PO_LOG.d_stmt THEN
5166: PO_LOG.stmt(d_module, d_progress, 'x_return_status', x_return_status);
5167: PO_LOG.stmt(d_module, d_progress, 'error_message', SQLERRM);
5168: END IF;
5169:
5162: EXCEPTION
5163: WHEN OTHERS THEN
5164: x_return_status := 'U';
5165: IF PO_LOG.d_stmt THEN
5166: PO_LOG.stmt(d_module, d_progress, 'x_return_status', x_return_status);
5167: PO_LOG.stmt(d_module, d_progress, 'error_message', SQLERRM);
5168: END IF;
5169:
5170: END process_dod_awd_mod_doc_num;
5163: WHEN OTHERS THEN
5164: x_return_status := 'U';
5165: IF PO_LOG.d_stmt THEN
5166: PO_LOG.stmt(d_module, d_progress, 'x_return_status', x_return_status);
5167: PO_LOG.stmt(d_module, d_progress, 'error_message', SQLERRM);
5168: END IF;
5169:
5170: END process_dod_awd_mod_doc_num;
5171:
5484: AND puatu.attribute2='NA';
5485:
5486: BEGIN
5487:
5488: IF (PO_LOG.d_proc) THEN
5489: PO_LOG.proc_begin(d_module);
5490: PO_LOG.proc_begin(d_module, 'p_po_header_id', p_po_header_id);
5491: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
5492: PO_LOG.proc_begin(d_module, 'x_base_doc_number', x_base_doc_number);
5485:
5486: BEGIN
5487:
5488: IF (PO_LOG.d_proc) THEN
5489: PO_LOG.proc_begin(d_module);
5490: PO_LOG.proc_begin(d_module, 'p_po_header_id', p_po_header_id);
5491: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
5492: PO_LOG.proc_begin(d_module, 'x_base_doc_number', x_base_doc_number);
5493: PO_LOG.proc_begin(d_module, 'x_serial_number', x_serial_number);
5486: BEGIN
5487:
5488: IF (PO_LOG.d_proc) THEN
5489: PO_LOG.proc_begin(d_module);
5490: PO_LOG.proc_begin(d_module, 'p_po_header_id', p_po_header_id);
5491: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
5492: PO_LOG.proc_begin(d_module, 'x_base_doc_number', x_base_doc_number);
5493: PO_LOG.proc_begin(d_module, 'x_serial_number', x_serial_number);
5494: PO_LOG.proc_begin(d_module, 'x_delimiter', x_delimiter);
5487:
5488: IF (PO_LOG.d_proc) THEN
5489: PO_LOG.proc_begin(d_module);
5490: PO_LOG.proc_begin(d_module, 'p_po_header_id', p_po_header_id);
5491: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
5492: PO_LOG.proc_begin(d_module, 'x_base_doc_number', x_base_doc_number);
5493: PO_LOG.proc_begin(d_module, 'x_serial_number', x_serial_number);
5494: PO_LOG.proc_begin(d_module, 'x_delimiter', x_delimiter);
5495: PO_LOG.proc_begin(d_module, 'x_document_number', x_document_number);
5488: IF (PO_LOG.d_proc) THEN
5489: PO_LOG.proc_begin(d_module);
5490: PO_LOG.proc_begin(d_module, 'p_po_header_id', p_po_header_id);
5491: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
5492: PO_LOG.proc_begin(d_module, 'x_base_doc_number', x_base_doc_number);
5493: PO_LOG.proc_begin(d_module, 'x_serial_number', x_serial_number);
5494: PO_LOG.proc_begin(d_module, 'x_delimiter', x_delimiter);
5495: PO_LOG.proc_begin(d_module, 'x_document_number', x_document_number);
5496: END IF;
5489: PO_LOG.proc_begin(d_module);
5490: PO_LOG.proc_begin(d_module, 'p_po_header_id', p_po_header_id);
5491: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
5492: PO_LOG.proc_begin(d_module, 'x_base_doc_number', x_base_doc_number);
5493: PO_LOG.proc_begin(d_module, 'x_serial_number', x_serial_number);
5494: PO_LOG.proc_begin(d_module, 'x_delimiter', x_delimiter);
5495: PO_LOG.proc_begin(d_module, 'x_document_number', x_document_number);
5496: END IF;
5497: --First initialize the out variable to success
5490: PO_LOG.proc_begin(d_module, 'p_po_header_id', p_po_header_id);
5491: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
5492: PO_LOG.proc_begin(d_module, 'x_base_doc_number', x_base_doc_number);
5493: PO_LOG.proc_begin(d_module, 'x_serial_number', x_serial_number);
5494: PO_LOG.proc_begin(d_module, 'x_delimiter', x_delimiter);
5495: PO_LOG.proc_begin(d_module, 'x_document_number', x_document_number);
5496: END IF;
5497: --First initialize the out variable to success
5498: x_return_status := FND_API.G_RET_STS_SUCCESS;
5491: PO_LOG.proc_begin(d_module, 'p_draft_id', p_draft_id);
5492: PO_LOG.proc_begin(d_module, 'x_base_doc_number', x_base_doc_number);
5493: PO_LOG.proc_begin(d_module, 'x_serial_number', x_serial_number);
5494: PO_LOG.proc_begin(d_module, 'x_delimiter', x_delimiter);
5495: PO_LOG.proc_begin(d_module, 'x_document_number', x_document_number);
5496: END IF;
5497: --First initialize the out variable to success
5498: x_return_status := FND_API.G_RET_STS_SUCCESS;
5499: x_errorcode := '0';
5524: x_source_doc_number := NULL;
5525: END;
5526: END IF;
5527:
5528: IF PO_LOG.d_stmt THEN
5529: PO_LOG.stmt(d_module, d_progress, 'x_base_doc_number : ', x_base_doc_number);
5530: END IF;
5531:
5532: d_progress := 30;
5525: END;
5526: END IF;
5527:
5528: IF PO_LOG.d_stmt THEN
5529: PO_LOG.stmt(d_module, d_progress, 'x_base_doc_number : ', x_base_doc_number);
5530: END IF;
5531:
5532: d_progress := 30;
5533:
5538:
5539: x_document_number := x_base_doc_number ||x_delimiter||l_identifier||x_delimiter
5540: ||x_serial_number;
5541:
5542: IF PO_LOG.d_stmt THEN
5543: PO_LOG.stmt(d_module, d_progress, 'x_document_number : ', x_document_number);
5544: END IF;
5545:
5546: ELSIF x_serial_number IS NULL OR x_serial_number = 'XXXX' THEN
5539: x_document_number := x_base_doc_number ||x_delimiter||l_identifier||x_delimiter
5540: ||x_serial_number;
5541:
5542: IF PO_LOG.d_stmt THEN
5543: PO_LOG.stmt(d_module, d_progress, 'x_document_number : ', x_document_number);
5544: END IF;
5545:
5546: ELSIF x_serial_number IS NULL OR x_serial_number = 'XXXX' THEN
5547:
5566: ' where C_EXT_ATTR1 ='''||x_base_doc_number||''' ' ||
5567: ' and ATTR_GROUP_ID in ('||l_where_cls||') '||
5568: ' and C_EXT_ATTR7 not like ''%X%'' ';
5569:
5570: IF PO_LOG.d_stmt THEN
5571: PO_LOG.stmt(d_module, d_progress, 'l_query : ', l_query);
5572: END IF;
5573:
5574: BEGIN
5567: ' and ATTR_GROUP_ID in ('||l_where_cls||') '||
5568: ' and C_EXT_ATTR7 not like ''%X%'' ';
5569:
5570: IF PO_LOG.d_stmt THEN
5571: PO_LOG.stmt(d_module, d_progress, 'l_query : ', l_query);
5572: END IF;
5573:
5574: BEGIN
5575: d_progress := 70;
5575: d_progress := 70;
5576:
5577: EXECUTE IMMEDIATE l_query INTO l_num;
5578:
5579: IF PO_LOG.d_stmt THEN
5580: PO_LOG.stmt(d_module, d_progress, 'l_num : ', l_num);
5581: END IF;
5582:
5583: IF l_num IS NULL THEN
5576:
5577: EXECUTE IMMEDIATE l_query INTO l_num;
5578:
5579: IF PO_LOG.d_stmt THEN
5580: PO_LOG.stmt(d_module, d_progress, 'l_num : ', l_num);
5581: END IF;
5582:
5583: IF l_num IS NULL THEN
5584: d_progress := 80;
5583: IF l_num IS NULL THEN
5584: d_progress := 80;
5585: l_num :=0;
5586:
5587: IF PO_LOG.d_stmt THEN
5588: PO_LOG.stmt(d_module, d_progress, 'l_num : ', l_num);
5589: END IF;
5590:
5591: END IF;
5584: d_progress := 80;
5585: l_num :=0;
5586:
5587: IF PO_LOG.d_stmt THEN
5588: PO_LOG.stmt(d_module, d_progress, 'l_num : ', l_num);
5589: END IF;
5590:
5591: END IF;
5592:
5593: EXCEPTION
5594: WHEN No_Data_Found THEN
5595: d_progress := 90;
5596: l_num :=0;
5597: IF PO_LOG.d_exc THEN
5598: PO_LOG.exc(d_module, d_progress);
5599: END IF;
5600: END;
5601:
5594: WHEN No_Data_Found THEN
5595: d_progress := 90;
5596: l_num :=0;
5597: IF PO_LOG.d_exc THEN
5598: PO_LOG.exc(d_module, d_progress);
5599: END IF;
5600: END;
5601:
5602: d_progress := 100;
5608:
5609: x_document_number := x_base_doc_number ||x_delimiter||l_identifier||x_delimiter
5610: ||x_serial_number;
5611:
5612: IF PO_LOG.d_stmt THEN
5613: PO_LOG.stmt(d_module, d_progress, 'x_document_number : ', x_document_number);
5614: END IF;
5615:
5616: END IF;
5609: x_document_number := x_base_doc_number ||x_delimiter||l_identifier||x_delimiter
5610: ||x_serial_number;
5611:
5612: IF PO_LOG.d_stmt THEN
5613: PO_LOG.stmt(d_module, d_progress, 'x_document_number : ', x_document_number);
5614: END IF;
5615:
5616: END IF;
5617:
5614: END IF;
5615:
5616: END IF;
5617:
5618: IF (PO_LOG.d_proc) THEN
5619: PO_LOG.proc_end(d_module);
5620: END IF;
5621:
5622: END awd_par_XD;
5615:
5616: END IF;
5617:
5618: IF (PO_LOG.d_proc) THEN
5619: PO_LOG.proc_end(d_module);
5620: END IF;
5621:
5622: END awd_par_XD;
5623:
5641: d_progress NUMBER := 0;
5642:
5643: BEGIN
5644:
5645: IF PO_LOG.d_stmt THEN
5646: PO_LOG.stmt(d_module, d_progress, 'p_document_id ', p_document_id);
5647: PO_LOG.stmt(d_module, d_progress, 'p_clm_document_number ', p_clm_document_number);
5648: END IF;
5649:
5642:
5643: BEGIN
5644:
5645: IF PO_LOG.d_stmt THEN
5646: PO_LOG.stmt(d_module, d_progress, 'p_document_id ', p_document_id);
5647: PO_LOG.stmt(d_module, d_progress, 'p_clm_document_number ', p_clm_document_number);
5648: END IF;
5649:
5650: d_progress := 10;
5643: BEGIN
5644:
5645: IF PO_LOG.d_stmt THEN
5646: PO_LOG.stmt(d_module, d_progress, 'p_document_id ', p_document_id);
5647: PO_LOG.stmt(d_module, d_progress, 'p_clm_document_number ', p_clm_document_number);
5648: END IF;
5649:
5650: d_progress := 10;
5651:
5652: UPDATE PON_BID_HEADERS
5653: SET order_number = p_clm_document_number
5654: WHERE po_header_id = p_document_id;
5655:
5656: IF PO_LOG.d_stmt THEN
5657: PO_LOG.stmt(d_module, d_progress, 'No. of records updated in PON_BID_HEADERS: ', SQL%ROWCOUNT);
5658: END IF;
5659:
5660: d_progress := 20;
5653: SET order_number = p_clm_document_number
5654: WHERE po_header_id = p_document_id;
5655:
5656: IF PO_LOG.d_stmt THEN
5657: PO_LOG.stmt(d_module, d_progress, 'No. of records updated in PON_BID_HEADERS: ', SQL%ROWCOUNT);
5658: END IF;
5659:
5660: d_progress := 20;
5661:
5662: UPDATE PON_BID_ITEM_PRICES
5663: SET order_number = p_clm_document_number
5664: WHERE po_header_id = p_document_id;
5665:
5666: IF PO_LOG.d_stmt THEN
5667: PO_LOG.stmt(d_module, d_progress, 'No. of records updated in PON_BID_ITEM_PRICES: ', SQL%ROWCOUNT);
5668: END IF;
5669:
5670: EXCEPTION
5663: SET order_number = p_clm_document_number
5664: WHERE po_header_id = p_document_id;
5665:
5666: IF PO_LOG.d_stmt THEN
5667: PO_LOG.stmt(d_module, d_progress, 'No. of records updated in PON_BID_ITEM_PRICES: ', SQL%ROWCOUNT);
5668: END IF;
5669:
5670: EXCEPTION
5671: WHEN OTHERS THEN
5668: END IF;
5669:
5670: EXCEPTION
5671: WHEN OTHERS THEN
5672: IF PO_LOG.d_stmt THEN
5673: PO_LOG.stmt(d_module, d_progress, 'error_message', SQLERRM);
5674: END IF;
5675: RAISE;
5676:
5669:
5670: EXCEPTION
5671: WHEN OTHERS THEN
5672: IF PO_LOG.d_stmt THEN
5673: PO_LOG.stmt(d_module, d_progress, 'error_message', SQLERRM);
5674: END IF;
5675: RAISE;
5676:
5677: END sync_doc_num_change_to_bids;