67:
68: EXCEPTION
69:
70: WHEN others THEN
71: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
72: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
73:
74: OE_MSG_PUB.Add_Exc_Msg
75: ( G_PKG_NAME
90:
91: PROCEDURE Check_Trx_Limit
92: ( p_header_rec IN OE_Order_PUB.Header_Rec_Type
93: , p_credit_rule_id IN NUMBER
94: , p_trx_credit_limit IN NUMBER := FND_API.G_MISS_NUM
95: , p_total_exposure IN NUMBER
96: , p_overall_credit_limit IN NUMBER
97: , p_result_out OUT NOCOPY /* file.sql.39 change */ VARCHAR2
98: , p_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
106:
107: BEGIN
108:
109: -- Initialize return status to success
110: p_return_status := FND_API.G_RET_STS_SUCCESS;
111:
112: -- Default to Pass
113: p_result_out := 'PASS';
114:
178:
179: EXCEPTION
180:
181: WHEN others THEN
182: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
183: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
184: OE_MSG_PUB.Add_Exc_Msg
185: ( G_PKG_NAME
186: , 'Check_Trx_Limit'
196: -- should be checked, calculates total exposure, find credit limits
197: -- and determine result for calling function.
198:
199: PROCEDURE Check_Available_Credit
200: ( p_header_id IN NUMBER := FND_API.G_MISS_NUM
201: , p_calling_action IN VARCHAR2 := 'BOOKING'
202: , p_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
203: , p_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
204: , p_result_out OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Pass or Fail Credit Check
227: -- Set the default behaviour to pass credit check
228: -- oe_debug_pub.debug_on;
229:
230: p_result_out := 'PASS';
231: p_return_status := FND_API.G_RET_STS_SUCCESS;
232:
233: oe_debug_pub.ADD('Calling action is '|| p_calling_action);
234:
235: -- The first thing to do is to load the record structure for the order header
257: , l_trx_credit_limit
258: , l_return_status
259: );
260:
261: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
262: RAISE FND_API.G_EXC_ERROR;
263: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
264: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
265: END IF;
258: , l_return_status
259: );
260:
261: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
262: RAISE FND_API.G_EXC_ERROR;
263: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
264: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
265: END IF;
266:
259: );
260:
261: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
262: RAISE FND_API.G_EXC_ERROR;
263: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
264: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
265: END IF;
266:
267: IF l_check_order = 'Y' THEN
260:
261: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
262: RAISE FND_API.G_EXC_ERROR;
263: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
264: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
265: END IF;
266:
267: IF l_check_order = 'Y' THEN
268:
277: ,l_credit_level
278: ,l_check_past_due
279: ,l_return_status
280: );
281: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
282: RAISE FND_API.G_EXC_ERROR;
283: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
284: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
285: END IF;
278: ,l_check_past_due
279: ,l_return_status
280: );
281: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
282: RAISE FND_API.G_EXC_ERROR;
283: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
284: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
285: END IF;
286:
279: ,l_return_status
280: );
281: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
282: RAISE FND_API.G_EXC_ERROR;
283: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
284: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
285: END IF;
286:
287: IF l_check_past_due = 'N' THEN
280: );
281: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
282: RAISE FND_API.G_EXC_ERROR;
283: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
284: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
285: END IF;
286:
287: IF l_check_past_due = 'N' THEN
288: -- Determine total exposure.
298: , l_total_exposure
299: , l_return_status
300: );
301:
302: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
303: RAISE FND_API.G_EXC_ERROR;
304: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
305: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
306: END IF;
299: , l_return_status
300: );
301:
302: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
303: RAISE FND_API.G_EXC_ERROR;
304: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
305: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
306: END IF;
307:
300: );
301:
302: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
303: RAISE FND_API.G_EXC_ERROR;
304: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
305: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
306: END IF;
307:
308: oe_debug_pub.ADD(' Credit Rule Id ='||to_char(l_credit_rule_id));
301:
302: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
303: RAISE FND_API.G_EXC_ERROR;
304: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
305: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
306: END IF;
307:
308: oe_debug_pub.ADD(' Credit Rule Id ='||to_char(l_credit_rule_id));
309:
326: oe_debug_pub.add('After the call for check_Trx_Limit');
327: oe_debug_pub.add('Result out ='||l_result_out);
328: oe_debug_pub.add('Return Status ='||l_return_status);
329:
330: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
331: RAISE FND_API.G_EXC_ERROR;
332: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
333: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
334: END IF;
327: oe_debug_pub.add('Result out ='||l_result_out);
328: oe_debug_pub.add('Return Status ='||l_return_status);
329:
330: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
331: RAISE FND_API.G_EXC_ERROR;
332: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
333: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
334: END IF;
335:
328: oe_debug_pub.add('Return Status ='||l_return_status);
329:
330: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
331: RAISE FND_API.G_EXC_ERROR;
332: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
333: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
334: END IF;
335:
336: p_result_out := l_result_out;
329:
330: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
331: RAISE FND_API.G_EXC_ERROR;
332: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
333: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
334: END IF;
335:
336: p_result_out := l_result_out;
337:
362: );
363:
364: EXCEPTION
365:
366: WHEN FND_API.G_EXC_ERROR THEN
367:
368: p_return_status := FND_API.G_RET_STS_ERROR;
369:
370: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
364: EXCEPTION
365:
366: WHEN FND_API.G_EXC_ERROR THEN
367:
368: p_return_status := FND_API.G_RET_STS_ERROR;
369:
370: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
371:
372: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
366: WHEN FND_API.G_EXC_ERROR THEN
367:
368: p_return_status := FND_API.G_RET_STS_ERROR;
369:
370: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
371:
372: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
373:
374: WHEN OTHERS THEN
368: p_return_status := FND_API.G_RET_STS_ERROR;
369:
370: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
371:
372: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
373:
374: WHEN OTHERS THEN
375:
376: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
372: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
373:
374: WHEN OTHERS THEN
375:
376: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
377:
378: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
379: THEN
380: OE_MSG_PUB.Add_Exc_Msg
404: , p_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
405: )
406: IS
407: -- Set up working Variables for Check Order
408: l_credit_limit_test NUMBER := FND_API.G_MISS_NUM;
409: l_credit_check_term NUMBER := FND_API.G_MISS_NUM;
410: l_credit_check_rule_id NUMBER := FND_API.G_MISS_NUM;
411: l_credit_check_lvl_out VARCHAR2(30) := 'SITE';
412: l_check_order VARCHAR2(1);
405: )
406: IS
407: -- Set up working Variables for Check Order
408: l_credit_limit_test NUMBER := FND_API.G_MISS_NUM;
409: l_credit_check_term NUMBER := FND_API.G_MISS_NUM;
410: l_credit_check_rule_id NUMBER := FND_API.G_MISS_NUM;
411: l_credit_check_lvl_out VARCHAR2(30) := 'SITE';
412: l_check_order VARCHAR2(1);
413: l_invoice_to_cust_id NUMBER;
406: IS
407: -- Set up working Variables for Check Order
408: l_credit_limit_test NUMBER := FND_API.G_MISS_NUM;
409: l_credit_check_term NUMBER := FND_API.G_MISS_NUM;
410: l_credit_check_rule_id NUMBER := FND_API.G_MISS_NUM;
411: l_credit_check_lvl_out VARCHAR2(30) := 'SITE';
412: l_check_order VARCHAR2(1);
413: l_invoice_to_cust_id NUMBER;
414:
423:
424: -- Set up a variable to capture the situation of having no credit
425: -- profile set up.
426:
427: p_return_status := FND_API.G_RET_STS_SUCCESS;
428:
429: -- Read the Credit Rules on the Order Type Definition for the
430: -- Order Being Credit Checked.
431: -- If Called from Validating the Order at Order Entry use the
544: ( G_PKG_NAME
545: , 'Check Order:Check Customer'
546: );
547: END IF;
548: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
549: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
550:
551: END;
552:
545: , 'Check Order:Check Customer'
546: );
547: END IF;
548: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
549: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
550:
551: END;
552:
553: -- If no credit limit has been set for either the total Order Amount
599: ( G_PKG_NAME
600: , 'Check Order:Check Customer'
601: );
602: END IF;
603: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
605: END;
606:
607: -- If no credit limit has been set for either the total Order Amount
600: , 'Check Order:Check Customer'
601: );
602: END IF;
603: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
605: END;
606:
607: -- If no credit limit has been set for either the total Order Amount
608: -- or the Total Exposure, do not credit check.
648: ( G_PKG_NAME
649: , 'Check_Order: Check Terms'
650: );
651: END IF;
652: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
653: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
654:
655: END;
656:
649: , 'Check_Order: Check Terms'
650: );
651: END IF;
652: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
653: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
654:
655: END;
656:
657: END IF; -- Order Type, Bill to or Customer are subject to Credit Check
670: ( G_PKG_NAME
671: , 'Check_Order'
672: );
673: END IF;
674: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
675: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
676:
677: END Check_Order;
678:
671: , 'Check_Order'
672: );
673: END IF;
674: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
675: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
676:
677: END Check_Order;
678:
679:
1195:
1196: BEGIN
1197:
1198: -- Set the default behaviour to pass credit check exposure
1199: p_return_status := FND_API.G_RET_STS_SUCCESS;
1200: -- Read the Credit rule and determine the inclusions and exclusions for exposure
1201:
1202: -- Include Amounts on Receivables if within the AR horizon. Add the OPEN_AR_DAYS
1203: -- to todays date to determine the AR Horizon. Use this to compare the Due date on
1629: ( G_PKG_NAME
1630: , 'Check_Exposure'
1631: );
1632: END IF;
1633: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1634:
1635: RAISE ;
1636:
1637: END Check_Exposure;
1687: oe_debug_pub.ADD('OEXPCRCB.pls: Line level Past due Invoice Check:' || p_check_past_due);
1688: EXCEPTION
1689:
1690: WHEN others THEN
1691: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1692: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1693:
1694: OE_MSG_PUB.Add_Exc_Msg
1695: ( G_PKG_NAME
1712: , p_invoice_to_org_id IN NUMBER
1713: , p_customer_id IN NUMBER
1714: , p_credit_rule_id IN NUMBER
1715: , p_credit_level IN VARCHAR2
1716: , p_trx_credit_limit IN NUMBER := FND_API.G_MISS_NUM
1717: , p_total_exposure IN NUMBER
1718: , p_overall_credit_limit IN NUMBER
1719: , p_result_out OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1720: , p_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1728:
1729: BEGIN
1730:
1731: -- Initialize return status to success
1732: p_return_status := FND_API.G_RET_STS_SUCCESS;
1733:
1734: -- Default to Pass
1735: p_result_out := 'PASS';
1736:
1824:
1825: EXCEPTION
1826:
1827: WHEN others THEN
1828: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1829: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1830: OE_MSG_PUB.Add_Exc_Msg
1831: ( G_PKG_NAME
1832: , 'Check_Trx_Limit_Line'
1843: -- and determine result for calling function.
1844:
1845: ----------------------------------------------------------------------------
1846: PROCEDURE Check_Available_Credit_Line
1847: ( p_header_id IN NUMBER := FND_API.G_MISS_NUM
1848: , p_invoice_to_org_id IN NUMBER := FND_API.G_MISS_NUM
1849: , p_calling_action IN VARCHAR2 := 'BOOKING'
1850: , p_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1851: , p_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1844:
1845: ----------------------------------------------------------------------------
1846: PROCEDURE Check_Available_Credit_Line
1847: ( p_header_id IN NUMBER := FND_API.G_MISS_NUM
1848: , p_invoice_to_org_id IN NUMBER := FND_API.G_MISS_NUM
1849: , p_calling_action IN VARCHAR2 := 'BOOKING'
1850: , p_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1851: , p_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1852: , p_result_out OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Pass or Fail Credit Check
1873: -- Set the default behaviour to pass credit check
1874: -- oe_debug_pub.debug_on;
1875:
1876: p_result_out := 'PASS';
1877: p_return_status := FND_API.G_RET_STS_SUCCESS;
1878:
1879: oe_debug_pub.ADD('Line Level: Calling action is '|| p_calling_action);
1880:
1881: -- The first thing to do is to load the record structure for the order header
1897: FROM oe_invoice_to_orgs_v
1898: WHERE ORGANIZATION_ID = p_invoice_to_org_id;
1899: EXCEPTION
1900: WHEN no_data_found then
1901: --x_return_status := FND_API.G_RET_STS_ERROR;
1902: --FND_MESSAGE.SET_NAME('ONT', 'OE_INVALID_SITE_USE_ID');
1903: --OE_MSG_PUB.ADD;
1904: --fnd_message.set_token('SITE_USE_ID',
1905: -- to_char(p_hold_entity_id));
1904: --fnd_message.set_token('SITE_USE_ID',
1905: -- to_char(p_hold_entity_id));
1906: OE_Debug_PUB.Add('OEXPCRCB: Line Level: No Customer ID for Bill to:' ||
1907: to_char(p_invoice_to_org_id), 1);
1908: RAISE FND_API.G_EXC_ERROR;
1909: END;
1910: OE_Debug_PUB.Add('OEXPCRCB: Line Level: Customer ID:' ||
1911: to_char(l_customer_id), 1);
1912: -- Now we have the Record Structure loaded we can call the other
1928: , l_trx_credit_limit
1929: , l_return_status
1930: );
1931:
1932: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1933: RAISE FND_API.G_EXC_ERROR;
1934: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1935: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1936: END IF;
1929: , l_return_status
1930: );
1931:
1932: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1933: RAISE FND_API.G_EXC_ERROR;
1934: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1935: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1936: END IF;
1937:
1930: );
1931:
1932: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1933: RAISE FND_API.G_EXC_ERROR;
1934: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1935: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1936: END IF;
1937:
1938: IF l_check_order = 'Y' THEN
1931:
1932: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1933: RAISE FND_API.G_EXC_ERROR;
1934: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1935: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1936: END IF;
1937:
1938: IF l_check_order = 'Y' THEN
1939:
1950: ,l_credit_level
1951: ,l_check_past_due
1952: ,l_return_status
1953: );
1954: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1955: RAISE FND_API.G_EXC_ERROR;
1956: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1957: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1958: END IF;
1951: ,l_check_past_due
1952: ,l_return_status
1953: );
1954: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1955: RAISE FND_API.G_EXC_ERROR;
1956: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1957: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1958: END IF;
1959:
1952: ,l_return_status
1953: );
1954: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1955: RAISE FND_API.G_EXC_ERROR;
1956: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1957: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1958: END IF;
1959:
1960: IF l_check_past_due = 'N' THEN
1953: );
1954: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1955: RAISE FND_API.G_EXC_ERROR;
1956: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1957: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1958: END IF;
1959:
1960: IF l_check_past_due = 'N' THEN
1961: -- Determine total exposure.
1970: , l_total_exposure
1971: , l_return_status
1972: );
1973:
1974: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1975: RAISE FND_API.G_EXC_ERROR;
1976: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1978: END IF;
1971: , l_return_status
1972: );
1973:
1974: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1975: RAISE FND_API.G_EXC_ERROR;
1976: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1978: END IF;
1979:
1972: );
1973:
1974: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1975: RAISE FND_API.G_EXC_ERROR;
1976: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1978: END IF;
1979:
1980: oe_debug_pub.ADD('Line Level: Credit Rule Id ='||to_char(l_credit_rule_id));
1973:
1974: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1975: RAISE FND_API.G_EXC_ERROR;
1976: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1977: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1978: END IF;
1979:
1980: oe_debug_pub.ADD('Line Level: Credit Rule Id ='||to_char(l_credit_rule_id));
1981:
2001: oe_debug_pub.add('Line Level: After the call for check_Trx_Limit_Line');
2002: oe_debug_pub.add('Line level: Result out ='||l_result_out);
2003: oe_debug_pub.add('Line Level: Return Status ='||l_return_status);
2004:
2005: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2006: RAISE FND_API.G_EXC_ERROR;
2007: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2008: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2009: END IF;
2002: oe_debug_pub.add('Line level: Result out ='||l_result_out);
2003: oe_debug_pub.add('Line Level: Return Status ='||l_return_status);
2004:
2005: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2006: RAISE FND_API.G_EXC_ERROR;
2007: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2008: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2009: END IF;
2010:
2003: oe_debug_pub.add('Line Level: Return Status ='||l_return_status);
2004:
2005: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2006: RAISE FND_API.G_EXC_ERROR;
2007: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2008: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2009: END IF;
2010:
2011: p_result_out := l_result_out;
2004:
2005: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2006: RAISE FND_API.G_EXC_ERROR;
2007: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2008: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2009: END IF;
2010:
2011: p_result_out := l_result_out;
2012:
2037: );
2038:
2039: EXCEPTION
2040:
2041: WHEN FND_API.G_EXC_ERROR THEN
2042:
2043: p_return_status := FND_API.G_RET_STS_ERROR;
2044:
2045: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2039: EXCEPTION
2040:
2041: WHEN FND_API.G_EXC_ERROR THEN
2042:
2043: p_return_status := FND_API.G_RET_STS_ERROR;
2044:
2045: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2046:
2047: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2041: WHEN FND_API.G_EXC_ERROR THEN
2042:
2043: p_return_status := FND_API.G_RET_STS_ERROR;
2044:
2045: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2046:
2047: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2048:
2049: WHEN OTHERS THEN
2043: p_return_status := FND_API.G_RET_STS_ERROR;
2044:
2045: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2046:
2047: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2048:
2049: WHEN OTHERS THEN
2050:
2051: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2047: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2048:
2049: WHEN OTHERS THEN
2050:
2051: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2052:
2053: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2054: THEN
2055: OE_MSG_PUB.Add_Exc_Msg
2081: , p_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2082: )
2083: IS
2084: -- Set up working Variables for Check Order
2085: l_credit_limit_test NUMBER := FND_API.G_MISS_NUM;
2086: l_credit_check_term NUMBER := FND_API.G_MISS_NUM;
2087: l_credit_check_rule_id NUMBER := FND_API.G_MISS_NUM;
2088: l_credit_check_lvl_out VARCHAR2(30) := 'SITE';
2089: l_check_order VARCHAR2(1);
2082: )
2083: IS
2084: -- Set up working Variables for Check Order
2085: l_credit_limit_test NUMBER := FND_API.G_MISS_NUM;
2086: l_credit_check_term NUMBER := FND_API.G_MISS_NUM;
2087: l_credit_check_rule_id NUMBER := FND_API.G_MISS_NUM;
2088: l_credit_check_lvl_out VARCHAR2(30) := 'SITE';
2089: l_check_order VARCHAR2(1);
2090:
2083: IS
2084: -- Set up working Variables for Check Order
2085: l_credit_limit_test NUMBER := FND_API.G_MISS_NUM;
2086: l_credit_check_term NUMBER := FND_API.G_MISS_NUM;
2087: l_credit_check_rule_id NUMBER := FND_API.G_MISS_NUM;
2088: l_credit_check_lvl_out VARCHAR2(30) := 'SITE';
2089: l_check_order VARCHAR2(1);
2090:
2091: BEGIN
2098:
2099: -- Set up a variable to capture the situation of having no credit
2100: -- profile set up.
2101:
2102: p_return_status := FND_API.G_RET_STS_SUCCESS;
2103:
2104: -- Read the Credit Rules on the Order Type Definition for the
2105: -- Order Being Credit Checked.
2106: -- If Called from Validating the Order at Order Entry use the
2206: ( G_PKG_NAME
2207: , 'Check Order:Check Customer'
2208: );
2209: END IF;
2210: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2211: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2212: END;
2213:
2214: -- If no credit limit has been set for either the total Order Amount
2207: , 'Check Order:Check Customer'
2208: );
2209: END IF;
2210: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2211: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2212: END;
2213:
2214: -- If no credit limit has been set for either the total Order Amount
2215: -- or the Total Exposure, get the credit profiles from the customer level
2264: ( G_PKG_NAME
2265: , 'Check Order:Check Customer'
2266: );
2267: END IF;
2268: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2269: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2270: END;
2271:
2272: -- If no credit limit has been set for either the total Order Amount
2265: , 'Check Order:Check Customer'
2266: );
2267: END IF;
2268: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2269: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2270: END;
2271:
2272: -- If no credit limit has been set for either the total Order Amount
2273: -- or the Total Exposure, do not credit check
2313: ( G_PKG_NAME
2314: , 'Check_Order: Check Terms'
2315: );
2316: END IF;
2317: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2318: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2319: END;
2320:
2321: END IF; -- Order Type, Bill to or Customer are subject to Credit Check
2314: , 'Check_Order: Check Terms'
2315: );
2316: END IF;
2317: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2318: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2319: END;
2320:
2321: END IF; -- Order Type, Bill to or Customer are subject to Credit Check
2322:
2334: ( G_PKG_NAME
2335: , 'Check_Order'
2336: );
2337: END IF;
2338: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2339: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2340:
2341: END Check_Order_line;
2342:
2335: , 'Check_Order'
2336: );
2337: END IF;
2338: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2339: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2340:
2341: END Check_Order_line;
2342:
2343:
2876:
2877: BEGIN
2878:
2879: -- Set the default behaviour to pass credit check exposure
2880: p_return_status := FND_API.G_RET_STS_SUCCESS;
2881: -- Read the Credit rule and determine the inclusions and exclusions
2882: -- for exposure
2883:
2884: -- Include Amounts on Receivables if within the AR horizon.
3259: ( G_PKG_NAME
3260: , 'Check_Exposure'
3261: );
3262: END IF;
3263: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3264: RAISE ;
3265:
3266: END Check_Exposure_Line;
3267: