1: PACKAGE BODY DPP_CLAIMS_PVT AS
2: /* $Header: dppvclab.pls 120.36.12010000.3 2008/12/22 10:47:17 anbbalas ship $ */
3:
4: -- Package name : DPP_CLAIMS_PVT
5: -- Purpose :
1: PACKAGE BODY DPP_CLAIMS_PVT AS
2: /* $Header: dppvclab.pls 120.36.12010000.3 2008/12/22 10:47:17 anbbalas ship $ */
3:
4: -- Package name : DPP_CLAIMS_PVT
5: -- Purpose :
6: -- History :
7: -- NOTE :
8: -- End of Comments
6: -- History :
7: -- NOTE :
8: -- End of Comments
9:
10: G_PKG_NAME CONSTANT VARCHAR2(30) := 'DPP_CLAIMS_PVT';
11: G_DEBUG BOOLEAN := FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_high);
12: G_FILE_NAME CONSTANT VARCHAR2(14) := 'dppvclab.pls';
13: ---------------------------------------------------------------------
14: -- PROCEDURE
90: l_return_status VARCHAR2(30);
91: l_msg_count NUMBER;
92: l_msg_data VARCHAR2(4000);
93:
94: l_txn_hdr_rec DPP_CLAIMS_PVT.dpp_txn_hdr_rec_type := p_txn_hdr_rec;
95: l_txn_line_mtbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type := p_txn_line_tbl;
96: l_txn_line_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
97: l_txn_line_pi_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
98: l_txn_line_pd_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
91: l_msg_count NUMBER;
92: l_msg_data VARCHAR2(4000);
93:
94: l_txn_hdr_rec DPP_CLAIMS_PVT.dpp_txn_hdr_rec_type := p_txn_hdr_rec;
95: l_txn_line_mtbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type := p_txn_line_tbl;
96: l_txn_line_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
97: l_txn_line_pi_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
98: l_txn_line_pd_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
99:
92: l_msg_data VARCHAR2(4000);
93:
94: l_txn_hdr_rec DPP_CLAIMS_PVT.dpp_txn_hdr_rec_type := p_txn_hdr_rec;
95: l_txn_line_mtbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type := p_txn_line_tbl;
96: l_txn_line_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
97: l_txn_line_pi_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
98: l_txn_line_pd_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
99:
100: l_claim_pub_rec OZF_Claim_PUB.claim_rec_type;
93:
94: l_txn_hdr_rec DPP_CLAIMS_PVT.dpp_txn_hdr_rec_type := p_txn_hdr_rec;
95: l_txn_line_mtbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type := p_txn_line_tbl;
96: l_txn_line_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
97: l_txn_line_pi_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
98: l_txn_line_pd_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
99:
100: l_claim_pub_rec OZF_Claim_PUB.claim_rec_type;
101: l_claim_line_pub_tbl OZF_Claim_PUB.claim_line_tbl_type;
94: l_txn_hdr_rec DPP_CLAIMS_PVT.dpp_txn_hdr_rec_type := p_txn_hdr_rec;
95: l_txn_line_mtbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type := p_txn_line_tbl;
96: l_txn_line_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
97: l_txn_line_pi_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
98: l_txn_line_pd_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type;
99:
100: l_claim_pub_rec OZF_Claim_PUB.claim_rec_type;
101: l_claim_line_pub_tbl OZF_Claim_PUB.claim_line_tbl_type;
102: l_claim_line_pub_tbl_updt OZF_Claim_PUB.claim_line_tbl_type;
243: AND org_id = l_txn_hdr_rec.org_id;
244: EXCEPTION
245: WHEN NO_DATA_FOUND THEN
246: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
247: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
248: fnd_message.set_token('ERRNO', sqlcode);
249: fnd_message.set_token('REASON', 'NO CUST ACCOUNT ID RETRIEVED');
250: FND_MSG_PUB.add;
251: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
253: END IF;
254: RAISE FND_API.G_EXC_ERROR;
255: WHEN OTHERS THEN
256: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
257: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
258: fnd_message.set_token('ERRNO', sqlcode);
259: fnd_message.set_token('REASON', sqlerrm);
260: FND_MSG_PUB.add;
261: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
343: );
344: EXCEPTION
345: WHEN OTHERS THEN
346: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
347: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
348: fnd_message.set_token('ERRNO', sqlcode);
349: fnd_message.set_token('REASON', sqlerrm);
350: FND_MSG_PUB.add;
351: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
454: EXCEPTION
455: WHEN NO_DATA_FOUND THEN
456: ROLLBACK TO CREATE_CLAIMS_PVT;
457: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
458: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
459: fnd_message.set_token('ERRNO', sqlcode);
460: fnd_message.set_token('REASON', 'NO ITEM DESC RETRIEVED');
461: FND_MSG_PUB.add;
462: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
464: END IF;
465: RAISE FND_API.G_EXC_ERROR;
466: WHEN OTHERS THEN
467: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
468: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
469: fnd_message.set_token('ERRNO', sqlcode);
470: fnd_message.set_token('REASON', sqlerrm);
471: FND_MSG_PUB.add;
472: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
515: END IF;
516: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
517: x_return_status := l_return_status;
518: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
519: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
520: fnd_message.set_token('ERRNO', sqlcode);
521: fnd_message.set_token('REASON', 'Error while Creating Claim in Trade Management');
522: FND_MSG_PUB.add;
523: --Update the GT table with the reason for failure
565: l_approved_by_supplier);
566: EXCEPTION
567: WHEN OTHERS THEN
568: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
569: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
570: fnd_message.set_token('ERRNO', sqlcode);
571: fnd_message.set_token('REASON', sqlerrm);
572: FND_MSG_PUB.add;
573: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
640: WHERE claim_id = l_x_claim_id;
641: EXCEPTION
642: WHEN NO_DATA_FOUND THEN
643: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
644: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
645: fnd_message.set_token('ERRNO', sqlcode);
646: fnd_message.set_token('REASON', 'OBJECT VERSION NUMBER NOT FOUND');
647: FND_MSG_PUB.add;
648: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
650: END IF;
651: RAISE FND_API.G_EXC_ERROR;
652: WHEN OTHERS THEN
653: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
654: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
655: fnd_message.set_token('ERRNO', sqlcode);
656: fnd_message.set_token('REASON', sqlerrm);
657: FND_MSG_PUB.add;
658: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
683: --If the claim updation process failed
684: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
685: x_return_status := l_return_status;
686: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
687: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
688: fnd_message.set_token('ERRNO', sqlcode);
689: fnd_message.set_token('REASON', 'Error while Updating Claim in Trade Management');
690: FND_MSG_PUB.add;
691: --Delete the claim numbers from the GT table
750:
751: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
752: x_return_status := l_return_status;
753: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
754: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
755: fnd_message.set_token('ERRNO', sqlcode);
756: fnd_message.set_token('REASON', 'Error while Creating Claim in Trade Management');
757: FND_MSG_PUB.add;
758: --Update the claim id into the global temp table..
778: WHERE claim_id = l_x_claim_id;
779: EXCEPTION
780: WHEN NO_DATA_FOUND THEN
781: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
782: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
783: fnd_message.set_token('ERRNO', sqlcode);
784: fnd_message.set_token('REASON', 'OBJECT VERSION NUMBER NOT FOUND');
785: FND_MSG_PUB.add;
786: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
788: END IF;
789: RAISE FND_API.G_EXC_ERROR;
790: WHEN OTHERS THEN
791: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
792: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
793: fnd_message.set_token('ERRNO', sqlcode);
794: fnd_message.set_token('REASON', sqlerrm);
795: FND_MSG_PUB.add;
796: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
820: END IF;
821: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
822: x_return_status := l_return_status;
823: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
824: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
825: fnd_message.set_token('ERRNO', sqlcode);
826: fnd_message.set_token('REASON', 'Error while Updating Claim in Trade Management');
827: FND_MSG_PUB.add;
828: ELSE
856: 'Y');
857: EXCEPTION
858: WHEN OTHERS THEN
859: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
860: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
861: fnd_message.set_token('ERRNO', sqlcode);
862: fnd_message.set_token('REASON', sqlerrm);
863: FND_MSG_PUB.add;
864: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
961: END IF;
962: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
963: x_return_status := l_return_status;
964: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
965: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
966: fnd_message.set_token('ERRNO', sqlcode);
967: fnd_message.set_token('REASON', 'Error while Creating Claim in Trade Management');
968: FND_MSG_PUB.add;
969: --Insert the claim id into the global temp table..
990: WHERE claim_id = l_x_claim_id;
991: EXCEPTION
992: WHEN NO_DATA_FOUND THEN
993: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
994: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
995: fnd_message.set_token('ERRNO', sqlcode);
996: fnd_message.set_token('REASON', 'OBJECT VERSION NUMBER NOT FOUND');
997: FND_MSG_PUB.add;
998: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1000: END IF;
1001: RAISE FND_API.G_EXC_ERROR;
1002: WHEN OTHERS THEN
1003: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1004: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
1005: fnd_message.set_token('ERRNO', sqlcode);
1006: fnd_message.set_token('REASON', sqlerrm);
1007: FND_MSG_PUB.add;
1008: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1032: END IF;
1033: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1034: x_return_status := l_return_status;
1035: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1036: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
1037: fnd_message.set_token('ERRNO', sqlcode);
1038: fnd_message.set_token('REASON', 'Error while Creating Claim in Trade Management');
1039: FND_MSG_PUB.add;
1040: ELSE
1068: 'Y');
1069: EXCEPTION
1070: WHEN OTHERS THEN
1071: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1072: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
1073: fnd_message.set_token('ERRNO', sqlcode);
1074: fnd_message.set_token('REASON', sqlerrm);
1075: FND_MSG_PUB.add;
1076: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1251: END IF;
1252: WHEN OTHERS THEN
1253: ROLLBACK TO CREATE_CLAIMS_PVT;
1254: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1255: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
1256: fnd_message.set_token('ERRNO', sqlcode);
1257: fnd_message.set_token('REASON', sqlerrm);
1258: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1259: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1306: l_return_status VARCHAR2(30);
1307: l_msg_count NUMBER;
1308: l_msg_data VARCHAR2(4000);
1309:
1310: l_txn_hdr_rec DPP_CLAIMS_PVT.dpp_txn_hdr_rec_type := p_txn_hdr_rec;
1311: l_txn_line_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type := p_txn_line_tbl;
1312:
1313: l_claim_pub_rec OZF_Claim_PUB.claim_rec_type;
1314: l_claim_line_pub_tbl OZF_Claim_PUB.claim_line_tbl_type;
1307: l_msg_count NUMBER;
1308: l_msg_data VARCHAR2(4000);
1309:
1310: l_txn_hdr_rec DPP_CLAIMS_PVT.dpp_txn_hdr_rec_type := p_txn_hdr_rec;
1311: l_txn_line_tbl DPP_CLAIMS_PVT.dpp_txn_line_tbl_type := p_txn_line_tbl;
1312:
1313: l_claim_pub_rec OZF_Claim_PUB.claim_rec_type;
1314: l_claim_line_pub_tbl OZF_Claim_PUB.claim_line_tbl_type;
1315:
1388: WHERE claim_id = l_txn_hdr_rec.claim_id;
1389: EXCEPTION
1390: WHEN NO_DATA_FOUND THEN
1391: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1392: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
1393: fnd_message.set_token('ERRNO', sqlcode);
1394: fnd_message.set_token('REASON', 'OBJECT VERSION NUMBER NOT FOUND');
1395: FND_MSG_PUB.add;
1396: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1398: END IF;
1399: RAISE FND_API.G_EXC_ERROR;
1400: WHEN OTHERS THEN
1401: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1402: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
1403: fnd_message.set_token('ERRNO', sqlcode);
1404: fnd_message.set_token('REASON', sqlerrm);
1405: FND_MSG_PUB.add;
1406: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1450:
1451: EXCEPTION
1452: WHEN NO_DATA_FOUND THEN
1453: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1454: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
1455: fnd_message.set_token('ERRNO', sqlcode);
1456: fnd_message.set_token('REASON', 'CLAIM LINE DETAILS NOT FOUND');
1457: FND_MSG_PUB.add;
1458: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1460: END IF;
1461: RAISE FND_API.G_EXC_ERROR;
1462: WHEN OTHERS THEN
1463: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1464: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
1465: fnd_message.set_token('ERRNO', sqlcode);
1466: fnd_message.set_token('REASON', sqlerrm);
1467: FND_MSG_PUB.add;
1468: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1538: WHERE claim_id = l_txn_hdr_rec.claim_id;
1539: EXCEPTION
1540: WHEN NO_DATA_FOUND THEN
1541: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1542: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
1543: fnd_message.set_token('ERRNO', sqlcode);
1544: fnd_message.set_token('REASON', 'OBJECT VERSION NUMBER NOT FOUND');
1545: FND_MSG_PUB.add;
1546: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1548: END IF;
1549: RAISE FND_API.G_EXC_ERROR;
1550: WHEN OTHERS THEN
1551: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1552: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
1553: fnd_message.set_token('ERRNO', sqlcode);
1554: fnd_message.set_token('REASON', sqlerrm);
1555: FND_MSG_PUB.add;
1556: IF FND_MSG_PUB.check_msg_level (FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1605: );
1606: x_return_status := l_return_status;
1607: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1608: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1609: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
1610: fnd_message.set_token('ERRNO', sqlcode);
1611: fnd_message.set_token('REASON', 'Error while Updating claim in Trade Management');
1612: FND_MSG_PUB.add;
1613: RAISE FND_API.G_EXC_ERROR;
1673: END IF;
1674: WHEN OTHERS THEN
1675: ROLLBACK TO UPDATE_CLAIMS_PVT;
1676: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1677: fnd_message.set_token('ROUTINE', 'DPP_CLAIMS_PVT');
1678: fnd_message.set_token('ERRNO', sqlcode);
1679: fnd_message.set_token('REASON', sqlerrm);
1680: FND_MSG_PUB.add;
1681: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1695: END LOOP;
1696: END IF;
1697:
1698: END Update_Claims;
1699: END DPP_CLAIMS_PVT;