14:
15: PROCEDURE Allocate_Sales_Credits
16: (
17: P_Api_Version_Number IN NUMBER,
18: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
19: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
20: p_control_rec IN ASO_QUOTE_PUB.SALES_ALLOC_CONTROL_REC_TYPE
21: := ASO_QUOTE_PUB.G_MISS_SALES_ALLOC_CONTROL_REC,
22: P_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type,
15: PROCEDURE Allocate_Sales_Credits
16: (
17: P_Api_Version_Number IN NUMBER,
18: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
19: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
20: p_control_rec IN ASO_QUOTE_PUB.SALES_ALLOC_CONTROL_REC_TYPE
21: := ASO_QUOTE_PUB.G_MISS_SALES_ALLOC_CONTROL_REC,
22: P_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type,
23: X_Qte_Header_Rec OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Qte_Header_Rec_Type,
81: -- Standard Start of API savepoint
82: SAVEPOINT ALLOCATE_SALES_CREDITS_PVT;
83:
84: -- Standard call to check for call compatibility.
85: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
86: 1.0,
87: l_api_name,
88: G_PKG_NAME)
89: THEN
86: 1.0,
87: l_api_name,
88: G_PKG_NAME)
89: THEN
90: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
91: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
92: END IF;
93:
94: -- Initialize message list if p_init_msg_list is set to TRUE.
87: l_api_name,
88: G_PKG_NAME)
89: THEN
90: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
91: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
92: END IF;
93:
94: -- Initialize message list if p_init_msg_list is set to TRUE.
95: IF FND_API.to_Boolean( p_init_msg_list )
91: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
92: END IF;
93:
94: -- Initialize message list if p_init_msg_list is set to TRUE.
95: IF FND_API.to_Boolean( p_init_msg_list )
96: THEN
97: FND_MSG_PUB.initialize;
98: END IF;
99:
97: FND_MSG_PUB.initialize;
98: END IF;
99:
100: -- Initialize API return status to SUCCESS
101: x_return_status := FND_API.G_RET_STS_SUCCESS;
102:
103: --
104: -- API body
105: --
129: RAISE Leave_Proc;
130:
131: END IF;
132:
133: IF p_control_rec.submit_quote_flag = FND_API.G_TRUE AND l_auto_sales_cred_prof <> 'FULL' THEN
134: RAISE Leave_Proc;
135: END IF;
136:
137: l_qte_header_rec := ASO_UTILITY_PVT.Query_Header_Row(p_qte_header_rec.quote_header_id);
137: l_qte_header_rec := ASO_UTILITY_PVT.Query_Header_Row(p_qte_header_rec.quote_header_id);
138:
139: -- Check Whether record has been changed
140: IF (l_qte_header_rec.last_update_date IS NULL OR
141: l_qte_header_rec.last_update_date = FND_API.G_MISS_DATE) THEN
142: x_return_status := FND_API.G_RET_STS_ERROR;
143: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
144: FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_COLUMN');
145: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
138:
139: -- Check Whether record has been changed
140: IF (l_qte_header_rec.last_update_date IS NULL OR
141: l_qte_header_rec.last_update_date = FND_API.G_MISS_DATE) THEN
142: x_return_status := FND_API.G_RET_STS_ERROR;
143: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
144: FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_COLUMN');
145: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
146: FND_MSG_PUB.ADD;
144: FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_COLUMN');
145: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
146: FND_MSG_PUB.ADD;
147: END IF;
148: RAISE FND_API.G_EXC_ERROR;
149: END IF;
150:
151:
152: IF (p_qte_header_rec.last_update_date IS NOT NULL AND
149: END IF;
150:
151:
152: IF (p_qte_header_rec.last_update_date IS NOT NULL AND
153: p_qte_header_rec.last_update_date <> FND_API.G_MISS_DATE) AND
154: (l_qte_header_rec.last_update_date <> p_qte_header_rec.last_update_date) THEN
155: x_return_status := FND_API.G_RET_STS_ERROR;
156: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
157: FND_MESSAGE.Set_Name('ASO', 'ASO_API_RECORD_CHANGED');
151:
152: IF (p_qte_header_rec.last_update_date IS NOT NULL AND
153: p_qte_header_rec.last_update_date <> FND_API.G_MISS_DATE) AND
154: (l_qte_header_rec.last_update_date <> p_qte_header_rec.last_update_date) THEN
155: x_return_status := FND_API.G_RET_STS_ERROR;
156: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
157: FND_MESSAGE.Set_Name('ASO', 'ASO_API_RECORD_CHANGED');
158: FND_MESSAGE.Set_Token('INFO', 'quote', FALSE);
159: FND_MSG_PUB.ADD;
157: FND_MESSAGE.Set_Name('ASO', 'ASO_API_RECORD_CHANGED');
158: FND_MESSAGE.Set_Token('INFO', 'quote', FALSE);
159: FND_MSG_PUB.ADD;
160: END IF;
161: RAISE FND_API.G_EXC_ERROR;
162: END IF;
163:
164: -- Check if a concurrent lock exists
165: ASO_CONC_REQ_INT.Lock_Exists(
165: ASO_CONC_REQ_INT.Lock_Exists(
166: p_quote_header_id => p_qte_header_rec.quote_header_id,
167: x_status => lx_return_status);
168:
169: IF (lx_return_status = FND_API.G_TRUE) THEN
170: x_return_status := FND_API.G_RET_STS_ERROR;
171: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
172: FND_MESSAGE.Set_Name('ASO', 'ASO_CONC_REQUEST_RUNNING');
173: FND_MSG_PUB.ADD;
166: p_quote_header_id => p_qte_header_rec.quote_header_id,
167: x_status => lx_return_status);
168:
169: IF (lx_return_status = FND_API.G_TRUE) THEN
170: x_return_status := FND_API.G_RET_STS_ERROR;
171: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
172: FND_MESSAGE.Set_Name('ASO', 'ASO_CONC_REQUEST_RUNNING');
173: FND_MSG_PUB.ADD;
174: END IF;
171: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
172: FND_MESSAGE.Set_Name('ASO', 'ASO_CONC_REQUEST_RUNNING');
173: FND_MSG_PUB.ADD;
174: END IF;
175: RAISE FND_API.G_EXC_ERROR;
176: END IF;
177:
178: IF aso_debug_pub.g_debug_flag = 'Y' THEN
179: aso_debug_pub.add('Allocate_Sales_Credits: l_qte_header_rec.Resource_Id: '||l_qte_header_rec.Resource_Id,1,'N');
180: aso_debug_pub.add('Allocate_Sales_Credits: l_qte_header_rec.Quote_Status_Id: '||l_qte_header_rec.Quote_Status_Id,1,'N');
181: aso_debug_pub.add('Allocate_Sales_Credits: l_qte_header_rec.Pricing_Status_Indicator: '||l_qte_header_rec.Pricing_Status_Indicator,1,'N');
182: END IF;
183: -- Check if Primary resource exists in the quote
184: IF l_qte_header_rec.Resource_Id IS NULL OR l_qte_header_rec.Resource_Id = FND_API.G_MISS_NUM THEN
185: RAISE Leave_Proc;
186: END IF;
187:
188: -- Check if Quote is ordered
193: IF aso_debug_pub.g_debug_flag = 'Y' THEN
194: aso_debug_pub.add('Allocate_Sales_Credits: l_ordered: '||l_ordered,1,'N');
195: END IF;
196: IF l_ordered IS NOT NULL AND l_ordered = 'Y' THEN
197: x_return_status := FND_API.G_RET_STS_ERROR;
198: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
199: FND_MESSAGE.Set_Name('ASO', 'ASO_API_ORDERED_STATUS_TRANS');
200: FND_MSG_PUB.ADD;
201: END IF;
198: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
199: FND_MESSAGE.Set_Name('ASO', 'ASO_API_ORDERED_STATUS_TRANS');
200: FND_MSG_PUB.ADD;
201: END IF;
202: RAISE FND_API.G_EXC_ERROR;
203: END IF;
204:
205: -- Check if pricing status is Complete
206: IF l_qte_header_rec.Pricing_Status_Indicator IS NOT NULL AND
204:
205: -- Check if pricing status is Complete
206: IF l_qte_header_rec.Pricing_Status_Indicator IS NOT NULL AND
207: l_qte_header_rec.Pricing_Status_Indicator <> 'C' THEN
208: x_return_status := FND_API.G_RET_STS_ERROR;
209: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
210: FND_MESSAGE.Set_Name('ASO', 'ASO_PRC_INCOMPLETE');
211: FND_MSG_PUB.ADD;
212: END IF;
209: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
210: FND_MESSAGE.Set_Name('ASO', 'ASO_PRC_INCOMPLETE');
211: FND_MSG_PUB.ADD;
212: END IF;
213: RAISE FND_API.G_EXC_ERROR;
214: END IF;
215:
216: -- Check if Atleast one line exists for the quote
217: OPEN C_Check_Qte_Line (P_Qte_Header_Rec.Quote_Header_Id);
221: IF aso_debug_pub.g_debug_flag = 'Y' THEN
222: aso_debug_pub.add('Allocate_Sales_Credits: l_line_exists: '||l_line_exists,1,'N');
223: END IF;
224: IF l_line_exists IS NULL OR l_line_exists <> 'Y' THEN
225: x_return_status := FND_API.G_RET_STS_ERROR;
226: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
227: FND_MESSAGE.Set_Name('ASO', 'ASO_NO_QUOTE_LINES');
228: FND_MSG_PUB.ADD;
229: END IF;
226: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
227: FND_MESSAGE.Set_Name('ASO', 'ASO_NO_QUOTE_LINES');
228: FND_MSG_PUB.ADD;
229: END IF;
230: RAISE FND_API.G_EXC_ERROR;
231: END IF;
232:
233: -- Call Sales Team Assign if required
234: IF l_auto_sales_team_prof <> 'FULL' AND l_auto_sales_team_prof <> 'PARTIAL' THEN
231: END IF;
232:
233: -- Call Sales Team Assign if required
234: IF l_auto_sales_team_prof <> 'FULL' AND l_auto_sales_team_prof <> 'PARTIAL' THEN
235: x_return_status := FND_API.G_RET_STS_ERROR;
236: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
237: FND_MESSAGE.Set_Name('ASO', 'ASO_S_TEAM_PROF_NOT_SET');
238: FND_MSG_PUB.ADD;
239: END IF;
236: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
237: FND_MESSAGE.Set_Name('ASO', 'ASO_S_TEAM_PROF_NOT_SET');
238: FND_MSG_PUB.ADD;
239: END IF;
240: RAISE FND_API.G_EXC_ERROR;
241: END IF;
242:
243: IF P_Control_Rec.Submit_Quote_Flag = FND_API.G_FALSE THEN
244:
239: END IF;
240: RAISE FND_API.G_EXC_ERROR;
241: END IF;
242:
243: IF P_Control_Rec.Submit_Quote_Flag = FND_API.G_FALSE THEN
244:
245: ASO_SALES_TEAM_PVT.Assign_Sales_Team
246: (
247: P_Init_Msg_List => FND_API.G_FALSE,
243: IF P_Control_Rec.Submit_Quote_Flag = FND_API.G_FALSE THEN
244:
245: ASO_SALES_TEAM_PVT.Assign_Sales_Team
246: (
247: P_Init_Msg_List => FND_API.G_FALSE,
248: P_Commit => FND_API.G_FALSE,
249: p_Qte_Header_Rec => p_qte_header_rec,
250: P_Operation => 'UPDATE',
251: x_Qte_Header_Rec => lx_qte_header_rec,
244:
245: ASO_SALES_TEAM_PVT.Assign_Sales_Team
246: (
247: P_Init_Msg_List => FND_API.G_FALSE,
248: P_Commit => FND_API.G_FALSE,
249: p_Qte_Header_Rec => p_qte_header_rec,
250: P_Operation => 'UPDATE',
251: x_Qte_Header_Rec => lx_qte_header_rec,
252: x_return_status => x_return_status,
255: );
256: IF aso_debug_pub.g_debug_flag = 'Y' THEN
257: aso_debug_pub.add('Allocate_Sales_Credits: Assign_Sales_Team:x_return_status: '||x_return_status,1,'N');
258: END IF;
259: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
260: RAISE FND_API.G_EXC_ERROR;
261: END IF;
262: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
263: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
256: IF aso_debug_pub.g_debug_flag = 'Y' THEN
257: aso_debug_pub.add('Allocate_Sales_Credits: Assign_Sales_Team:x_return_status: '||x_return_status,1,'N');
258: END IF;
259: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
260: RAISE FND_API.G_EXC_ERROR;
261: END IF;
262: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
263: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
264: END IF;
258: END IF;
259: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
260: RAISE FND_API.G_EXC_ERROR;
261: END IF;
262: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
263: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
264: END IF;
265:
266: END IF;
259: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
260: RAISE FND_API.G_EXC_ERROR;
261: END IF;
262: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
263: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
264: END IF;
265:
266: END IF;
267:
272: IF aso_debug_pub.g_debug_flag = 'Y' THEN
273: aso_debug_pub.add('Allocate_Sales_Credits: l_sreps_count: '||l_sreps_count,1,'N');
274: END IF;
275: IF C_Get_Sreps_Count%NOTFOUND OR l_sreps_count = 0 THEN
276: x_return_status := FND_API.G_RET_STS_ERROR;
277: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
278: FND_MESSAGE.Set_Name('ASO', 'ASO_NO_SALES_CREDIT_RECEIVERS');
279: FND_MSG_PUB.ADD;
280: END IF;
278: FND_MESSAGE.Set_Name('ASO', 'ASO_NO_SALES_CREDIT_RECEIVERS');
279: FND_MSG_PUB.ADD;
280: END IF;
281: CLOSE C_Get_Sreps_Count;
282: RAISE FND_API.G_EXC_ERROR;
283: END IF;
284: IF aso_debug_pub.g_debug_flag = 'Y' THEN
285: aso_debug_pub.add('Allocate_Sales_Credits: l_sreps_count: '||l_sreps_count,1,'N');
286: END IF;
292: -- Initiate Temp Tables and Call CN API
293: ASO_SALES_CREDIT_PVT.Get_Credits
294: (
295: P_Api_Version_Number => 1.0,
296: P_Init_Msg_List => FND_API.G_FALSE,
297: P_Commit => FND_API.G_FALSE,
298: p_Qte_Header_Rec => l_qte_header_rec,
299: x_return_status => x_return_status,
300: x_msg_count => x_msg_count,
293: ASO_SALES_CREDIT_PVT.Get_Credits
294: (
295: P_Api_Version_Number => 1.0,
296: P_Init_Msg_List => FND_API.G_FALSE,
297: P_Commit => FND_API.G_FALSE,
298: p_Qte_Header_Rec => l_qte_header_rec,
299: x_return_status => x_return_status,
300: x_msg_count => x_msg_count,
301: x_msg_data => x_msg_data
302: );
303: IF aso_debug_pub.g_debug_flag = 'Y' THEN
304: aso_debug_pub.add('Allocate_Sales_Credits: After Get_Credits:x_return_status: '||x_return_status,1,'N');
305: END IF;
306: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
307: RAISE FND_API.G_EXC_ERROR;
308: END IF;
309: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
310: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
303: IF aso_debug_pub.g_debug_flag = 'Y' THEN
304: aso_debug_pub.add('Allocate_Sales_Credits: After Get_Credits:x_return_status: '||x_return_status,1,'N');
305: END IF;
306: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
307: RAISE FND_API.G_EXC_ERROR;
308: END IF;
309: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
310: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
311: END IF;
305: END IF;
306: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
307: RAISE FND_API.G_EXC_ERROR;
308: END IF;
309: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
310: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
311: END IF;
312:
313:
306: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
307: RAISE FND_API.G_EXC_ERROR;
308: END IF;
309: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
310: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
311: END IF;
312:
313:
314: IF aso_debug_pub.g_debug_flag = 'Y' THEN
356:
357: WHEN Leave_Proc THEN
358: X_Qte_Header_Rec := P_Qte_Header_Rec;
359:
360: WHEN FND_API.G_EXC_ERROR THEN
361: ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
362: P_API_NAME => L_API_NAME,
363: P_PKG_NAME => G_PKG_NAME,
364: P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR,
369: X_MSG_DATA => X_MSG_DATA,
370: X_RETURN_STATUS => X_RETURN_STATUS
371: );
372:
373: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
374: ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
375: P_API_NAME => L_API_NAME,
376: P_PKG_NAME => G_PKG_NAME,
377: P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR,
402:
403: PROCEDURE Get_Credits
404: (
405: P_Api_Version_Number IN NUMBER := 1.0,
406: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
407: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
408: P_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type,
409: X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
410: X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
403: PROCEDURE Get_Credits
404: (
405: P_Api_Version_Number IN NUMBER := 1.0,
406: P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
407: P_Commit IN VARCHAR2 := FND_API.G_FALSE,
408: P_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type,
409: X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
410: X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
411: X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
533: l_dumb number := 0;
534: BEGIN
535:
536: -- Initialize API return status to SUCCESS
537: x_return_status := FND_API.G_RET_STS_SUCCESS;
538:
539: -- Standard Start of API savepoint
540: SAVEPOINT GET_CREDITS_PVT;
541:
763: END IF;
764: -- Call CN API to get sales credits
765: CN_SCA_CREDITS_ONLINE_PUB.Get_Sales_Credits (
766: p_api_version => 1.0,
767: p_init_msg_list => FND_API.G_FALSE,
768: x_batch_id => l_batch_id,
769: p_org_id => p_qte_header_rec.org_id,
770: x_return_status => x_return_status,
771: x_msg_count => x_msg_count,
779: IF aso_debug_pub.g_debug_flag = 'Y' THEN
780: select count(*) into l_dumb from CN_SCA_LINES_OUTPUT_GTT;
781: aso_debug_pub.add('Get_Credits: l_dumb: '||l_dumb,1,'N');
782: END IF;
783: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
784: RAISE FND_API.G_EXC_ERROR;
785: END IF;
786: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
787: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
780: select count(*) into l_dumb from CN_SCA_LINES_OUTPUT_GTT;
781: aso_debug_pub.add('Get_Credits: l_dumb: '||l_dumb,1,'N');
782: END IF;
783: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
784: RAISE FND_API.G_EXC_ERROR;
785: END IF;
786: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
787: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
788: END IF;
782: END IF;
783: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
784: RAISE FND_API.G_EXC_ERROR;
785: END IF;
786: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
787: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
788: END IF;
789:
790: -- Call Get Sales Credit Type for quota and non quota
783: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
784: RAISE FND_API.G_EXC_ERROR;
785: END IF;
786: IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
787: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
788: END IF;
789:
790: -- Call Get Sales Credit Type for quota and non quota
791: OPEN C_Get_Quota_Credit_Type;
818:
819: -- Check if atleast some credit has been allocated
820: IF (l_hdr_total IS NULL OR l_hdr_total < 1) AND
821: (l_line_total IS NULL OR l_line_total < 1) THEN
822: -- x_return_status := FND_API.G_RET_STS_ERROR;
823: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
824: FND_MESSAGE.Set_Name('ASO', 'ASO_NO_CREDIT_ALLOCATED');
825: FND_MSG_PUB.ADD;
826: END IF;
823: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
824: FND_MESSAGE.Set_Name('ASO', 'ASO_NO_CREDIT_ALLOCATED');
825: FND_MSG_PUB.ADD;
826: END IF;
827: -- RAISE FND_API.G_EXC_ERROR;
828: END IF;
829:
830: IF l_hdr_total IS NOT NULL AND l_hdr_total > 0 THEN
831:
1072: END IF; -- credit_upd_prof or l_line_total
1073:
1074: EXCEPTION
1075:
1076: WHEN FND_API.G_EXC_ERROR THEN
1077: ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
1078: P_API_NAME => L_API_NAME,
1079: P_PKG_NAME => G_PKG_NAME,
1080: P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR,
1085: X_MSG_DATA => X_MSG_DATA,
1086: X_RETURN_STATUS => X_RETURN_STATUS
1087: );
1088:
1089: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1090: ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
1091: P_API_NAME => L_API_NAME,
1092: P_PKG_NAME => G_PKG_NAME,
1093: P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR,