68: l_msg_count NUMBER;
69: l_msg_data VARCHAR2(4000);
70:
71: l_input_xml CLOB;
72: l_queryCtx dbms_xmlquery.ctxType;
73: l_table_count NUMBER;
74: l_row_count NUMBER := 0;
75: l_exe_dtl_id NUMBER;
76: l_user_id NUMBER := FND_GLOBAL.USER_ID;
274: END IF;
275:
276: IF p_txn_hdr_rec.process_code = 'UPDTLP' THEN
277: --Generate the Input Xml required for the Business Event -- UpdateListPrice
278: l_queryCtx := dbms_xmlquery.newContext('SELECT Transaction_header_id,
279: transaction_number,
280: org_id,
281: Vendor_id,'
282: ||l_user_name|| ' user_name, '
296: FROM dpp_transaction_lines_all
297: WHERE Transaction_header_id = '||p_txn_hdr_rec.Transaction_Header_ID||'
298: AND nvl(UPDATE_ITEM_LIST_PRICE,''N'') = ''N'')'
299: );
300: dbms_xmlquery.setRowTag(l_queryCtx
301: , 'HEADER'
302: );
303: dbms_xmlquery.setRowSetTag(l_queryCtx
304: ,'TRANSACTION'
299: );
300: dbms_xmlquery.setRowTag(l_queryCtx
301: , 'HEADER'
302: );
303: dbms_xmlquery.setRowSetTag(l_queryCtx
304: ,'TRANSACTION'
305: );
306: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
307: --Check if the query returns any rows
302: );
303: dbms_xmlquery.setRowSetTag(l_queryCtx
304: ,'TRANSACTION'
305: );
306: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
307: --Check if the query returns any rows
308: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
309: dbms_xmlquery.closeContext(l_queryCtx);
310:
304: ,'TRANSACTION'
305: );
306: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
307: --Check if the query returns any rows
308: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
309: dbms_xmlquery.closeContext(l_queryCtx);
310:
311: IF l_row_count >0 THEN
312: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
305: );
306: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
307: --Check if the query returns any rows
308: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
309: dbms_xmlquery.closeContext(l_queryCtx);
310:
311: IF l_row_count >0 THEN
312: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
313: UPDATE DPP_TRANSACTION_LINES_ALL
327:
328: END IF;
329: ELSIF p_txn_hdr_rec.process_code = 'OUTPL' THEN
330: --Generate the Input Xml required for the Business-- Event Send Notification for Outbound Price lists
331: l_queryCtx := dbms_xmlquery.newContext('SELECT Transaction_header_id,
332: Transaction_number,
333: to_char(Effective_start_date,''YYYY-MM-DD'') Effectivity_date,
334: org_id,
335: Vendor_id,
350: FROM dpp_transaction_lines_all
351: WHERE Transaction_header_id = '||p_txn_hdr_rec.Transaction_Header_ID||'
352: AND nvl(NOTIFY_OUTBOUND_PRICELIST,''N'') <> ''D'')'
353: );
354: dbms_xmlquery.setRowTag(l_queryCtx
355: , 'HEADER'
356: );
357: dbms_xmlquery.setRowSetTag(l_queryCtx
358: ,'TRANSACTION'
353: );
354: dbms_xmlquery.setRowTag(l_queryCtx
355: , 'HEADER'
356: );
357: dbms_xmlquery.setRowSetTag(l_queryCtx
358: ,'TRANSACTION'
359: );
360: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
361: --Check if the query returns any rows
356: );
357: dbms_xmlquery.setRowSetTag(l_queryCtx
358: ,'TRANSACTION'
359: );
360: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
361: --Check if the query returns any rows
362: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
363: dbms_xmlquery.closeContext(l_queryCtx);
364:
358: ,'TRANSACTION'
359: );
360: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
361: --Check if the query returns any rows
362: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
363: dbms_xmlquery.closeContext(l_queryCtx);
364:
365: IF l_row_count >0 THEN
366: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
359: );
360: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
361: --Check if the query returns any rows
362: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
363: dbms_xmlquery.closeContext(l_queryCtx);
364:
365: IF l_row_count >0 THEN
366: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
367: UPDATE DPP_TRANSACTION_LINES_ALL
412: END IF;
413: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
414: END;
415: --Generate the Input Xml required for the Business Event --Update Claim
416: l_queryCtx := dbms_xmlquery.newContext('SELECT Transaction_header_id,
417: Transaction_number,
418: Vendor_id,
419: org_id,
420: Vendor_site_id,'
437: AND lines.supp_dist_claim_id = '||p_txn_hdr_rec.claim_id||') LINES
438: FROM dpp_transaction_headers_all headers
439: WHERE headers.Transaction_header_id = ' ||p_txn_hdr_rec.Transaction_Header_ID
440: );
441: dbms_xmlquery.setRowTag(l_queryCtx
442: , 'HEADER'
443: );
444: dbms_xmlquery.setRowSetTag(l_queryCtx
445: ,'TRANSACTION'
440: );
441: dbms_xmlquery.setRowTag(l_queryCtx
442: , 'HEADER'
443: );
444: dbms_xmlquery.setRowSetTag(l_queryCtx
445: ,'TRANSACTION'
446: );
447: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
448: --Check if the query returns any rows
443: );
444: dbms_xmlquery.setRowSetTag(l_queryCtx
445: ,'TRANSACTION'
446: );
447: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
448: --Check if the query returns any rows
449: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
450: dbms_xmlquery.closeContext(l_queryCtx);
451:
445: ,'TRANSACTION'
446: );
447: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
448: --Check if the query returns any rows
449: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
450: dbms_xmlquery.closeContext(l_queryCtx);
451:
452: ELSIF p_txn_hdr_rec.process_code = 'INPL' THEN
453: --Generate the Input Xml required for the Business Event -- Send Notification for Inbound Price lists
446: );
447: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
448: --Check if the query returns any rows
449: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
450: dbms_xmlquery.closeContext(l_queryCtx);
451:
452: ELSIF p_txn_hdr_rec.process_code = 'INPL' THEN
453: --Generate the Input Xml required for the Business Event -- Send Notification for Inbound Price lists
454: l_queryCtx := dbms_xmlquery.newContext('SELECT Transaction_header_id,
450: dbms_xmlquery.closeContext(l_queryCtx);
451:
452: ELSIF p_txn_hdr_rec.process_code = 'INPL' THEN
453: --Generate the Input Xml required for the Business Event -- Send Notification for Inbound Price lists
454: l_queryCtx := dbms_xmlquery.newContext('SELECT Transaction_header_id,
455: Transaction_number,
456: to_char(Effective_start_date,''YYYY-MM-DD'') Effectivity_date,
457: org_id,
458: Vendor_id,
473: FROM dpp_transaction_lines_all
474: WHERE Transaction_header_id = '||p_txn_hdr_rec.Transaction_Header_ID||'
475: AND nvl(NOTIFY_INBOUND_PRICELIST,''N'') <> ''D'')'
476: );
477: dbms_xmlquery.setRowTag(l_queryCtx
478: , 'HEADER'
479: );
480: dbms_xmlquery.setRowSetTag(l_queryCtx
481: ,'TRANSACTION'
476: );
477: dbms_xmlquery.setRowTag(l_queryCtx
478: , 'HEADER'
479: );
480: dbms_xmlquery.setRowSetTag(l_queryCtx
481: ,'TRANSACTION'
482: );
483: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
484: --Check if the query returns any rows
479: );
480: dbms_xmlquery.setRowSetTag(l_queryCtx
481: ,'TRANSACTION'
482: );
483: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
484: --Check if the query returns any rows
485: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
486: dbms_xmlquery.closeContext(l_queryCtx);
487:
481: ,'TRANSACTION'
482: );
483: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
484: --Check if the query returns any rows
485: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
486: dbms_xmlquery.closeContext(l_queryCtx);
487:
488: IF l_row_count >0 THEN
489: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
482: );
483: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
484: --Check if the query returns any rows
485: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
486: dbms_xmlquery.closeContext(l_queryCtx);
487:
488: IF l_row_count >0 THEN
489: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
490: UPDATE DPP_TRANSACTION_LINES_ALL
504: END IF;
505:
506: ELSIF p_txn_hdr_rec.process_code = 'PROMO' THEN
507: --Generate the Input Xml required for the Business Event -- Send Notification for Offers
508: l_queryCtx := dbms_xmlquery.newContext('SELECT Transaction_header_id,
509: Transaction_number,
510: to_char(Effective_start_date,''YYYY-MM-DD'') Effectivity_date,
511: org_id,
512: Vendor_id,
527: FROM dpp_transaction_lines_all
528: WHERE Transaction_header_id = '||p_txn_hdr_rec.Transaction_Header_ID||'
529: AND nvl(NOTIFY_PROMOTIONS_PRICELIST,''N'') <> ''D'')'
530: );
531: dbms_xmlquery.setRowTag(l_queryCtx
532: , 'HEADER'
533: );
534: dbms_xmlquery.setRowSetTag(l_queryCtx
535: ,'TRANSACTION'
530: );
531: dbms_xmlquery.setRowTag(l_queryCtx
532: , 'HEADER'
533: );
534: dbms_xmlquery.setRowSetTag(l_queryCtx
535: ,'TRANSACTION'
536: );
537: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
538: --Check if the query returns any rows
533: );
534: dbms_xmlquery.setRowSetTag(l_queryCtx
535: ,'TRANSACTION'
536: );
537: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
538: --Check if the query returns any rows
539: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
540: dbms_xmlquery.closeContext(l_queryCtx);
541:
535: ,'TRANSACTION'
536: );
537: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
538: --Check if the query returns any rows
539: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
540: dbms_xmlquery.closeContext(l_queryCtx);
541:
542: IF l_row_count >0 THEN
543: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
536: );
537: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
538: --Check if the query returns any rows
539: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
540: dbms_xmlquery.closeContext(l_queryCtx);
541:
542: IF l_row_count >0 THEN
543: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
544: UPDATE DPP_TRANSACTION_LINES_ALL
621: IF g_debug THEN
622: DPP_UTILITY_PVT.debug_message('Cost Adjustment Account : ' ||l_cost_adj_acct);
623: END IF;
624: --Generate the Input Xml required for the Business Event -- Update Inventory Costing
625: l_queryCtx := dbms_xmlquery.newContext('SELECT Transaction_header_id,
626: Transaction_number,
627: org_id,'
628: ||l_user_name|| ' user_name, '
629: ||l_user_id||'user_id,'
644: FROM dpp_transaction_lines_all
645: WHERE Transaction_header_id = '||p_txn_hdr_rec.Transaction_Header_ID||'
646: AND nvl(UPDATE_INVENTORY_COSTING,''N'') = ''N'')'
647: );
648: dbms_xmlquery.setRowTag(l_queryCtx
649: , 'HEADER'
650: );
651: dbms_xmlquery.setRowSetTag(l_queryCtx
652: ,'TRANSACTION'
647: );
648: dbms_xmlquery.setRowTag(l_queryCtx
649: , 'HEADER'
650: );
651: dbms_xmlquery.setRowSetTag(l_queryCtx
652: ,'TRANSACTION'
653: );
654: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
655: --Check if the query returns any rows
650: );
651: dbms_xmlquery.setRowSetTag(l_queryCtx
652: ,'TRANSACTION'
653: );
654: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
655: --Check if the query returns any rows
656: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
657: dbms_xmlquery.closeContext(l_queryCtx);
658:
652: ,'TRANSACTION'
653: );
654: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
655: --Check if the query returns any rows
656: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
657: dbms_xmlquery.closeContext(l_queryCtx);
658:
659: IF l_row_count >0 THEN
660: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
653: );
654: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
655: --Check if the query returns any rows
656: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
657: dbms_xmlquery.closeContext(l_queryCtx);
658:
659: IF l_row_count >0 THEN
660: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
661: UPDATE DPP_TRANSACTION_LINES_ALL
686: END IF;
687:
688: ELSIF p_txn_hdr_rec.process_code = 'NTFYPO' THEN
689: --Generate the Input Xml required for the Business-- Event Send Notifications for Purchase Orders
690: l_queryCtx := dbms_xmlquery.newContext('SELECT Transaction_header_id,
691: Transaction_number,
692: org_id,
693: to_char(Effective_start_date,''YYYY-MM-DD'') Effectivity_date,
694: vendor_site_id,
710: FROM dpp_transaction_lines_all
711: WHERE Transaction_header_id = '||p_txn_hdr_rec.Transaction_Header_ID||'
712: AND nvl(NOTIFY_PURCHASING_DOCS,''N'') <> ''D'')'
713: );
714: dbms_xmlquery.setRowTag(l_queryCtx
715: , 'HEADER'
716: );
717: dbms_xmlquery.setRowSetTag(l_queryCtx
718: ,'TRANSACTION'
713: );
714: dbms_xmlquery.setRowTag(l_queryCtx
715: , 'HEADER'
716: );
717: dbms_xmlquery.setRowSetTag(l_queryCtx
718: ,'TRANSACTION'
719: );
720: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
721: --Check if the query returns any rows
716: );
717: dbms_xmlquery.setRowSetTag(l_queryCtx
718: ,'TRANSACTION'
719: );
720: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
721: --Check if the query returns any rows
722: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
723: dbms_xmlquery.closeContext(l_queryCtx);
724:
718: ,'TRANSACTION'
719: );
720: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
721: --Check if the query returns any rows
722: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
723: dbms_xmlquery.closeContext(l_queryCtx);
724:
725: IF l_row_count >0 THEN
726: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
719: );
720: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
721: --Check if the query returns any rows
722: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
723: dbms_xmlquery.closeContext(l_queryCtx);
724:
725: IF l_row_count >0 THEN
726: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
727: UPDATE DPP_TRANSACTION_LINES_ALL
740: END IF;
741: END IF;
742: ELSIF p_txn_hdr_rec.process_code = 'UPDTPO' THEN
743: --Generate the Input Xml required for the Business Event -- Update Purchasing - Purchase Orders
744: l_queryCtx := dbms_xmlquery.newContext('SELECT Transaction_header_id,
745: Transaction_number,
746: org_id,
747: Vendor_id,'
748: ||l_user_name|| ' user_name, '
762: FROM dpp_transaction_lines_all
763: WHERE Transaction_header_id = '||p_txn_hdr_rec.Transaction_Header_ID||'
764: AND nvl(UPDATE_PURCHASING_DOCS,''N'') = ''N'')'
765: );
766: dbms_xmlquery.setRowTag(l_queryCtx
767: , 'HEADER'
768: );
769: dbms_xmlquery.setRowSetTag(l_queryCtx
770: ,'TRANSACTION'
765: );
766: dbms_xmlquery.setRowTag(l_queryCtx
767: , 'HEADER'
768: );
769: dbms_xmlquery.setRowSetTag(l_queryCtx
770: ,'TRANSACTION'
771: );
772: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
773: --Check if the query returns any rows
768: );
769: dbms_xmlquery.setRowSetTag(l_queryCtx
770: ,'TRANSACTION'
771: );
772: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
773: --Check if the query returns any rows
774: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
775: dbms_xmlquery.closeContext(l_queryCtx);
776:
770: ,'TRANSACTION'
771: );
772: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
773: --Check if the query returns any rows
774: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
775: dbms_xmlquery.closeContext(l_queryCtx);
776:
777: IF l_row_count >0 THEN
778: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
771: );
772: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
773: --Check if the query returns any rows
774: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
775: dbms_xmlquery.closeContext(l_queryCtx);
776:
777: IF l_row_count >0 THEN
778: --Update the line status to PENDING in the DPP_TRANSACTION_LINES_ALL table
779: UPDATE DPP_TRANSACTION_LINES_ALL
835: dtla_price_change := 'nvl(dtla.price_change,0) <> 0';
836: END IF;
837:
838: --Generate the Input Xml required for the Business Event -- Create On-Hand Inventory claim
839: l_queryCtx := dbms_xmlquery.newContext('SELECT headers.Transaction_header_id,
840: headers.Transaction_number,
841: headers.Vendor_id,
842: headers.org_id,
843: headers.Vendor_site_id,'
869: AND nvl(dtla.SUPP_DIST_CLAIM_STATUS,''N'') = ''N''
870: AND '||dtla_price_change||'
871: AND nvl(dtla.approved_inventory,0) > 0)'
872: );
873: dbms_xmlquery.setRowTag(l_queryCtx
874: , 'HEADER'
875: );
876: dbms_xmlquery.setRowSetTag(l_queryCtx
877: ,'TRANSACTION'
872: );
873: dbms_xmlquery.setRowTag(l_queryCtx
874: , 'HEADER'
875: );
876: dbms_xmlquery.setRowSetTag(l_queryCtx
877: ,'TRANSACTION'
878: );
879: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
880: --Check if the query returns any rows
875: );
876: dbms_xmlquery.setRowSetTag(l_queryCtx
877: ,'TRANSACTION'
878: );
879: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
880: --Check if the query returns any rows
881: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
882: dbms_xmlquery.closeContext(l_queryCtx);
883:
877: ,'TRANSACTION'
878: );
879: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
880: --Check if the query returns any rows
881: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
882: dbms_xmlquery.closeContext(l_queryCtx);
883:
884: IF l_row_count >0 THEN
885: IF p_txn_hdr_rec.claim_creation_source = 'EXEDTLS' THEN
878: );
879: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
880: --Check if the query returns any rows
881: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
882: dbms_xmlquery.closeContext(l_queryCtx);
883:
884: IF l_row_count >0 THEN
885: IF p_txn_hdr_rec.claim_creation_source = 'EXEDTLS' THEN
886:
944: END IF; --p_txn_hdr_rec.claim_creation_source = 'EXEDTLS'
945: END IF;
946: ELSIF p_txn_hdr_rec.process_code = 'CUSTINVCL' THEN
947: --Generate the Input Xml required for the Business Event -- Create Customer Inventory claim for distributor
948: l_queryCtx := dbms_xmlquery.newContext('SELECT headers.Transaction_header_id,
949: headers.Transaction_number,
950: headers.org_id,
951: headers.Vendor_id,
952: headers.Vendor_site_id,'
979: AND nvl(dcca.supplier_claim_created,''N'') = ''N''
980: AND nvl(dcca.reported_inventory,0) > 0
981: AND nvl(dcca.supp_claim_amt,0) > 0)'
982: );
983: dbms_xmlquery.setRowTag(l_queryCtx
984: , 'HEADER'
985: );
986: dbms_xmlquery.setRowSetTag(l_queryCtx
987: ,'TRANSACTION'
982: );
983: dbms_xmlquery.setRowTag(l_queryCtx
984: , 'HEADER'
985: );
986: dbms_xmlquery.setRowSetTag(l_queryCtx
987: ,'TRANSACTION'
988: );
989: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
990: --Check if the query returns any rows
985: );
986: dbms_xmlquery.setRowSetTag(l_queryCtx
987: ,'TRANSACTION'
988: );
989: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
990: --Check if the query returns any rows
991: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
992: dbms_xmlquery.closeContext(l_queryCtx);
993:
987: ,'TRANSACTION'
988: );
989: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
990: --Check if the query returns any rows
991: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
992: dbms_xmlquery.closeContext(l_queryCtx);
993:
994: IF l_row_count >0 THEN
995: IF p_txn_hdr_rec.claim_creation_source = 'EXEDTLS' THEN
988: );
989: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
990: --Check if the query returns any rows
991: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
992: dbms_xmlquery.closeContext(l_queryCtx);
993:
994: IF l_row_count >0 THEN
995: IF p_txn_hdr_rec.claim_creation_source = 'EXEDTLS' THEN
996: --Update the line status to PENDING in the DPP_customer_claims_all table
1024: END IF; --IF p_txn_hdr_rec.claim_creation_source = 'EXEDTLS' THEN
1025: END IF;
1026: ELSIF p_txn_hdr_rec.process_code = 'CUSTCL' THEN
1027: --Generate the Input Xml required for the Business Event -- Create Customer Inventory claim for customer
1028: l_queryCtx := dbms_xmlquery.newContext('SELECT headers.Transaction_header_id,
1029: headers.Transaction_number,
1030: headers.org_id,
1031: headers.Vendor_id,
1032: headers.Vendor_site_id,'
1059: AND nvl(dcca.customer_claim_created,''N'') = ''N''
1060: AND nvl(dcca.reported_inventory,0) > 0
1061: AND nvl(dcca.cust_claim_amt,0) > 0)'
1062: );
1063: dbms_xmlquery.setRowTag(l_queryCtx
1064: , 'HEADER'
1065: );
1066: dbms_xmlquery.setRowSetTag(l_queryCtx
1067: ,'TRANSACTION'
1062: );
1063: dbms_xmlquery.setRowTag(l_queryCtx
1064: , 'HEADER'
1065: );
1066: dbms_xmlquery.setRowSetTag(l_queryCtx
1067: ,'TRANSACTION'
1068: );
1069: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
1070: --Check if the query returns any rows
1065: );
1066: dbms_xmlquery.setRowSetTag(l_queryCtx
1067: ,'TRANSACTION'
1068: );
1069: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
1070: --Check if the query returns any rows
1071: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
1072: dbms_xmlquery.closeContext(l_queryCtx);
1073:
1067: ,'TRANSACTION'
1068: );
1069: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
1070: --Check if the query returns any rows
1071: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
1072: dbms_xmlquery.closeContext(l_queryCtx);
1073:
1074: ELSIF p_txn_hdr_rec.process_code = 'POPCUSTCLAIM' THEN
1075: --Generate the Input Xml required for the Business Event -- Populate Customer Claim lines details
1068: );
1069: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
1070: --Check if the query returns any rows
1071: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
1072: dbms_xmlquery.closeContext(l_queryCtx);
1073:
1074: ELSIF p_txn_hdr_rec.process_code = 'POPCUSTCLAIM' THEN
1075: --Generate the Input Xml required for the Business Event -- Populate Customer Claim lines details
1076: l_queryCtx := dbms_xmlquery.newContext('SELECT Transaction_header_id,
1072: dbms_xmlquery.closeContext(l_queryCtx);
1073:
1074: ELSIF p_txn_hdr_rec.process_code = 'POPCUSTCLAIM' THEN
1075: --Generate the Input Xml required for the Business Event -- Populate Customer Claim lines details
1076: l_queryCtx := dbms_xmlquery.newContext('SELECT Transaction_header_id,
1077: Transaction_number,
1078: org_id,
1079: nvl(to_char(effective_start_date-days_covered,''YYYY-MM-DD''),''1900-01-01'' ) EFFECTIVE_START_DATE,
1080: to_char(Effective_start_date,''YYYY-MM-DD'') effective_end_date,
1094: FROM dpp_transaction_lines_all
1095: WHERE price_change > 0
1096: AND Transaction_header_id = '||p_txn_hdr_rec.Transaction_Header_ID||')'
1097: );
1098: dbms_xmlquery.setRowTag(l_queryCtx
1099: , 'HEADER'
1100: );
1101: dbms_xmlquery.setRowSetTag(l_queryCtx
1102: ,'TRANSACTION'
1097: );
1098: dbms_xmlquery.setRowTag(l_queryCtx
1099: , 'HEADER'
1100: );
1101: dbms_xmlquery.setRowSetTag(l_queryCtx
1102: ,'TRANSACTION'
1103: );
1104: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
1105: --Check if the query returns any rows
1100: );
1101: dbms_xmlquery.setRowSetTag(l_queryCtx
1102: ,'TRANSACTION'
1103: );
1104: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
1105: --Check if the query returns any rows
1106: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
1107: dbms_xmlquery.closeContext(l_queryCtx);
1108:
1102: ,'TRANSACTION'
1103: );
1104: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
1105: --Check if the query returns any rows
1106: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
1107: dbms_xmlquery.closeContext(l_queryCtx);
1108:
1109: ELSIF p_txn_hdr_rec.process_code = 'POPINVDTLS' THEN
1110: --Generate the Input Xml required for the Business Event --Populate Inventory Details
1103: );
1104: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
1105: --Check if the query returns any rows
1106: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
1107: dbms_xmlquery.closeContext(l_queryCtx);
1108:
1109: ELSIF p_txn_hdr_rec.process_code = 'POPINVDTLS' THEN
1110: --Generate the Input Xml required for the Business Event --Populate Inventory Details
1111: l_queryCtx := dbms_xmlquery.newContext('SELECT Transaction_header_id,
1107: dbms_xmlquery.closeContext(l_queryCtx);
1108:
1109: ELSIF p_txn_hdr_rec.process_code = 'POPINVDTLS' THEN
1110: --Generate the Input Xml required for the Business Event --Populate Inventory Details
1111: l_queryCtx := dbms_xmlquery.newContext('SELECT Transaction_header_id,
1112: Transaction_number,
1113: org_id,
1114: nvl(to_char(effective_start_date-days_covered,''YYYY-MM-DD''),''1900-01-01'' ) EFFECTIVE_START_DATE,
1115: to_char(Effective_start_date,''YYYY-MM-DD'') effective_end_date,'
1125: 'AND EXISTS (SELECT Transaction_header_id
1126: FROM dpp_transaction_lines_all
1127: WHERE Transaction_header_id = '||p_txn_hdr_rec.Transaction_Header_ID||')'
1128: );
1129: dbms_xmlquery.setRowTag(l_queryCtx
1130: , 'HEADER'
1131: );
1132: dbms_xmlquery.setRowSetTag(l_queryCtx
1133: ,'TRANSACTION'
1128: );
1129: dbms_xmlquery.setRowTag(l_queryCtx
1130: , 'HEADER'
1131: );
1132: dbms_xmlquery.setRowSetTag(l_queryCtx
1133: ,'TRANSACTION'
1134: );
1135: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
1136: --Check if the query returns any rows
1131: );
1132: dbms_xmlquery.setRowSetTag(l_queryCtx
1133: ,'TRANSACTION'
1134: );
1135: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
1136: --Check if the query returns any rows
1137: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
1138: dbms_xmlquery.closeContext(l_queryCtx);
1139: ELSE
1133: ,'TRANSACTION'
1134: );
1135: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
1136: --Check if the query returns any rows
1137: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
1138: dbms_xmlquery.closeContext(l_queryCtx);
1139: ELSE
1140: FND_MESSAGE.set_name('DPP', 'DPP_BUSEVT_INVALID_PRO_CODE');
1141: fnd_message.set_token('PROCESS_CODE', p_txn_hdr_rec.process_code);
1134: );
1135: l_input_xml := dbms_xmlquery.getXml(l_queryCtx);
1136: --Check if the query returns any rows
1137: l_row_count := dbms_xmlquery.getNumRowsProcessed(l_queryCtx);
1138: dbms_xmlquery.closeContext(l_queryCtx);
1139: ELSE
1140: FND_MESSAGE.set_name('DPP', 'DPP_BUSEVT_INVALID_PRO_CODE');
1141: fnd_message.set_token('PROCESS_CODE', p_txn_hdr_rec.process_code);
1142: FND_MSG_PUB.add;