[Home] [Help]
PACKAGE BODY: APPS.AS_LINK_LEAD_OPP_PUB
Source
1 PACKAGE BODY AS_LINK_LEAD_OPP_PUB as
2 /* $Header: asxpllob.pls 120.1 2005/06/14 01:31:13 appldev $ */
3 -- Start of Comments
4 -- Package name : AS_LINK_LEAD_OPP_PUB
5 -- Purpose : Link/Copy Leads to Opportunities
6 -- NOTE :
7 -- History :
8 -- 06/25/2002 FFANG Created.
9 -- 08/27/2003 VEKAMATH Fix for Bug#3118674
10 -- Changed the value being set to the variable
11 -- l_api_name
12 --
13 -- End of Comments
14
15 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AS_LINK_LEAD_OPP_PUB';
16 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asxpllob.pls';
17 G_CREATE NUMBER :=2;
18 G_UPDATE NUMBER :=1;
19
20
21 -- API Name: Get_Potential_Opportunity
22 PROCEDURE Get_Potential_Opportunity(
23 P_Api_Version_Number IN NUMBER,
24 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
25 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
26 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
27 P_Check_Access_Flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
28 P_Admin_Flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
29 P_Admin_Group_Id IN NUMBER := FND_API.G_MISS_NUM,
30 P_identity_salesforce_id IN NUMBER := FND_API.G_MISS_NUM,
31 P_Sales_Lead_Profile_Tbl IN AS_UTILITY_PUB.Profile_Tbl_Type
32 := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
33 P_SALES_LEAD_rec IN AS_SALES_LEADS_PUB.SALES_LEAD_rec_type,
34 X_Return_Status OUT NOCOPY VARCHAR2,
35 X_Msg_Count OUT NOCOPY NUMBER,
36 X_Msg_Data OUT NOCOPY VARCHAR2,
37 X_OPPORTUNITY_TBL OUT NOCOPY AS_OPPORTUNITY_PUB.HEADER_TBL_TYPE,
38 X_OPP_LINES_tbl OUT NOCOPY AS_OPPORTUNITY_PUB.LINE_TBL_TYPE
39
40 )
41 IS
42 l_api_name CONSTANT VARCHAR2(30) := 'Get_Potential_Opportunity';
43 l_api_version_number CONSTANT NUMBER := 2.0;
44 l_debug BOOLEAN;
45 l_module CONSTANT VARCHAR2(255) := 'as.plsql.llop.Get_Potential_Opportunity';
46 BEGIN
47 -- Standard Start of API savepoint
48 SAVEPOINT GET_POTENTIAL_OPPORTUNITY_PUB;
49
50 -- Standard call to check for call compatibility.
51 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
52 p_api_version_number,
53 l_api_name,
54 G_PKG_NAME)
55 THEN
56 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
57 END IF;
58 l_debug := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
59
60 -- Initialize message list if p_init_msg_list is set to TRUE.
61 IF FND_API.to_Boolean( p_init_msg_list )
62 THEN
63 FND_MSG_PUB.initialize;
64 END IF;
65
66 -- Debug Message
67 IF l_debug THEN
68 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Pub: ' || l_api_name || ' Start');
69 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
70 END IF;
71 -- Initialize API return status to SUCCESS
72 x_return_status := FND_API.G_RET_STS_SUCCESS;
73
74 --
75 -- API body
76 --
77
78 -- Calling private API
79 IF l_debug THEN
80 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'PUB: Call PVT.Get_Potential_Opportunity');
81 END IF;
82
83 AS_SALES_LEAD_OPP_PVT.Get_Potential_Opportunity(
84 P_Api_Version_Number => 2.0,
85 P_Init_Msg_List => FND_API.G_FALSE,
86 P_Commit => FND_API.G_FALSE,
87 P_Validation_Level => P_Validation_Level,
88 P_Check_Access_Flag => P_Check_Access_Flag,
89 P_Admin_Flag => P_Admin_Flag,
90 P_Admin_Group_Id => P_Admin_Group_Id,
91 P_identity_salesforce_id => P_identity_salesforce_id,
92 P_Sales_Lead_Profile_Tbl => P_Sales_Lead_Profile_Tbl,
93 P_SALES_LEAD_Rec => P_SALES_LEAD_Rec,
94 X_Return_Status => x_return_status,
95 X_Msg_Count => x_msg_count,
96 X_Msg_Data => x_msg_data,
97 X_OPPORTUNITY_TBL => X_OPPORTUNITY_TBL,
98 X_OPP_LINES_tbl => X_OPP_LINES_tbl
99 );
100
101 -- Check return status from the above procedure call
102 IF x_return_status = FND_API.G_RET_STS_ERROR then
103 raise FND_API.G_EXC_ERROR;
104 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
105 raise FND_API.G_EXC_UNEXPECTED_ERROR;
106 END IF;
107
108 --
109 -- End of API body
110 --
111 IF FND_API.to_Boolean( p_commit )
112 THEN
113 COMMIT WORK;
114 END IF;
115
116 -- Debug Message
117 IF l_debug THEN
118 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Pub: ' || l_api_name || ' End');
119 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
120 END IF;
121
122 -- Standard call to get message count and if count is 1, get message info.
123 FND_MSG_PUB.Count_And_Get
124 ( p_count => x_msg_count,
125 p_data => x_msg_data
126 );
127
128 EXCEPTION
129 WHEN FND_API.G_EXC_ERROR THEN
130 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
131 P_MODULE => l_module
132 ,P_API_NAME => L_API_NAME
133 ,P_PKG_NAME => G_PKG_NAME
134 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
135 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
136 ,X_MSG_COUNT => X_MSG_COUNT
137 ,X_MSG_DATA => X_MSG_DATA
138 ,X_RETURN_STATUS => X_RETURN_STATUS);
139
140 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
141 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
142 P_MODULE => l_module
143 ,P_API_NAME => L_API_NAME
144 ,P_PKG_NAME => G_PKG_NAME
145 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
146 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
147 ,X_MSG_COUNT => X_MSG_COUNT
148 ,X_MSG_DATA => X_MSG_DATA
149 ,X_RETURN_STATUS => X_RETURN_STATUS);
150
151 WHEN OTHERS THEN
152 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
153 P_MODULE => l_module
154 ,P_API_NAME => L_API_NAME
155 ,P_PKG_NAME => G_PKG_NAME
156 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
157 ,P_SQLCODE => SQLCODE
158 ,P_SQLERRM => SQLERRM
159 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
160 ,X_MSG_COUNT => X_MSG_COUNT
161 ,X_MSG_DATA => X_MSG_DATA
162 ,X_RETURN_STATUS => X_RETURN_STATUS);
163
164 End Get_Potential_Opportunity;
165
166
167 -- API Name: Copy_Lead_To_Opportunity
168
169 PROCEDURE Copy_Lead_To_Opportunity(
170 P_Api_Version_Number IN NUMBER,
171 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
172 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
173 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
174 P_Check_Access_Flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
175 P_Admin_Flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
176 P_Admin_Group_Id IN NUMBER := FND_API.G_MISS_NUM,
177 P_identity_salesforce_id IN NUMBER := FND_API.G_MISS_NUM,
178 P_identity_salesgroup_id IN NUMBER := FND_API.G_MISS_NUM,
179 P_Sales_Lead_Profile_Tbl IN AS_UTILITY_PUB.Profile_Tbl_Type
180 := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
181 P_SALES_LEAD_ID IN NUMBER,
182 P_SALES_LEAD_LINE_TBL IN AS_SALES_LEADS_PUB.SALES_LEAD_LINE_TBL_TYPE
183 := AS_SALES_LEADS_PUB.G_MISS_SALES_LEAD_LINE_TBL,
184 P_OPPORTUNITY_ID IN NUMBER,
185 X_Return_Status OUT NOCOPY VARCHAR2,
186 X_Msg_Count OUT NOCOPY NUMBER,
187 X_Msg_Data OUT NOCOPY VARCHAR2
188 )
189 IS
190 l_api_name CONSTANT VARCHAR2(30) := 'Copy_Lead_To_Opportunity';
191 l_api_version_number CONSTANT NUMBER := 2.0;
192
193 l_call_pre_uhk BOOLEAN;
194 l_call_post_uhk BOOLEAN;
195 l_debug BOOLEAN;
196 l_module CONSTANT VARCHAR2(255) := 'as.plsql.llop.Copy_Lead_To_Opportunity';
197
198 BEGIN
199 -- Standard Start of API savepoint
200 SAVEPOINT COPY_LEAD_TO_OPPORTUNITY_PUB;
201
202 -- Standard call to check for call compatibility.
203 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
204 p_api_version_number,
205 l_api_name,
206 G_PKG_NAME)
207 THEN
208 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
209 END IF;
210 l_debug := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
211
212
213 -- Initialize message list if p_init_msg_list is set to TRUE.
214 IF FND_API.to_Boolean( p_init_msg_list )
215 THEN
216 FND_MSG_PUB.initialize;
217 END IF;
218
219 -- Debug Message
220 IF l_debug THEN
221 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Pub: ' || l_api_name || ' Start');
222 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
223 END IF;
224 -- Initialize API return status to SUCCESS
225 x_return_status := FND_API.G_RET_STS_SUCCESS;
226
227 --
228 -- Pre User Hook
229 --
230 l_call_pre_uhk := JTF_USR_HKS.Ok_to_execute('AS_LINK_LEAD_OPP_PUB',
231 'Copy_Lead_To_Opportunity',
232 'B','C');
233
234 IF l_call_pre_uhk THEN
235 IF l_debug THEN
236 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Call pre user hook is true');
237 END IF;
238 AS_LINK_LEAD_OPP_UHK.Copy_Lead_To_Opp_Pre (
239 p_api_version_number => 2.0,
240 p_init_msg_list => FND_API.G_FALSE,
241 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
242 p_commit => FND_API.G_FALSE,
243 p_sales_lead_id => p_sales_lead_id,
244 p_opportunity_id => p_opportunity_id,
245 x_return_status => x_return_status,
246 x_msg_count => x_msg_count,
247 x_msg_data => x_msg_data);
248 END IF;
249
250 IF x_return_status = FND_API.G_RET_STS_ERROR then
251 raise FND_API.G_EXC_ERROR;
252 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
253 raise FND_API.G_EXC_UNEXPECTED_ERROR;
254 END IF;
255
256 --
257 -- API body
258 --
259 -- Calling private API
260 IF l_debug THEN
261 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'PUB: Call PVT.Copy_Lead_To_Opportunity');
262 END IF;
263 AS_SALES_LEAD_OPP_PVT.Copy_Lead_To_Opportunity(
264 P_Api_Version_Number => 2.0,
265 P_Init_Msg_List => FND_API.G_FALSE,
266 P_Commit => FND_API.G_FALSE,
267 P_Validation_Level => P_Validation_Level,
268 P_Check_Access_Flag => P_Check_Access_Flag,
269 P_Admin_Flag => P_Admin_Flag,
270 P_Admin_Group_Id => P_Admin_Group_Id,
271 P_identity_salesforce_id => P_identity_salesforce_id,
272 P_identity_salesgroup_id => P_identity_salesgroup_id,
273 P_Sales_Lead_Profile_Tbl => P_Sales_Lead_Profile_Tbl,
274 P_SALES_LEAD_ID => p_SALES_LEAD_ID ,
275 P_SALES_LEAD_LINE_TBL => P_SALES_LEAD_LINE_TBL,
276 P_OPPORTUNITY_ID => P_OPPORTUNITY_ID,
277 X_Return_Status => x_return_status,
278 X_Msg_Count => x_msg_count,
279 X_Msg_Data => x_msg_data);
280
281 -- Check return status from the above procedure call
282 IF x_return_status = FND_API.G_RET_STS_ERROR then
283 raise FND_API.G_EXC_ERROR;
284 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
285 raise FND_API.G_EXC_UNEXPECTED_ERROR;
286 END IF;
287
288 --
289 -- End of API body
290 --
291
292 --
293 -- Post User Hook
294 --
295 l_call_post_uhk := JTF_USR_HKS.Ok_to_execute('AS_LINK_LEAD_OPP_PUB',
296 'Copy_Lead_To_Opportunity',
297 'A','C');
298
299 IF l_call_post_uhk THEN
300 IF l_debug THEN
301 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Call post user hook is true');
302 END IF;
303 AS_LINK_LEAD_OPP_UHK.Copy_Lead_To_Opp_Post (
304 p_api_version_number => 2.0,
305 p_init_msg_list => FND_API.G_FALSE,
306 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
307 p_commit => FND_API.G_FALSE,
308 p_sales_lead_id => p_sales_lead_id,
309 p_opportunity_id => p_opportunity_id,
310 x_return_status => x_return_status,
311 x_msg_count => x_msg_count,
312 x_msg_data => x_msg_data);
313 END IF;
314
315 IF x_return_status = FND_API.G_RET_STS_ERROR then
316 raise FND_API.G_EXC_ERROR;
317 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
318 raise FND_API.G_EXC_UNEXPECTED_ERROR;
319 END IF;
320
321 IF FND_API.to_Boolean( p_commit )
322 THEN
323 COMMIT WORK;
324 END IF;
325
326 -- Debug Message
327 IF l_debug THEN
328 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Pub: ' || l_api_name || ' End');
329 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
330 END IF;
331
335 p_data => x_msg_data
332 -- Standard call to get message count and if count is 1, get message info.
333 FND_MSG_PUB.Count_And_Get
334 ( p_count => x_msg_count,
336 );
337
338 EXCEPTION
339 WHEN FND_API.G_EXC_ERROR THEN
340 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
341 P_MODULE => l_module
342 ,P_API_NAME => L_API_NAME
343 ,P_PKG_NAME => G_PKG_NAME
344 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
345 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
346 ,X_MSG_COUNT => X_MSG_COUNT
347 ,X_MSG_DATA => X_MSG_DATA
348 ,X_RETURN_STATUS => X_RETURN_STATUS);
349
350 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
351 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
352 P_MODULE => l_module
353 ,P_API_NAME => L_API_NAME
354 ,P_PKG_NAME => G_PKG_NAME
355 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
356 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
357 ,X_MSG_COUNT => X_MSG_COUNT
358 ,X_MSG_DATA => X_MSG_DATA
359 ,X_RETURN_STATUS => X_RETURN_STATUS);
360
361 WHEN OTHERS THEN
362 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
363 P_MODULE => l_module
364 ,P_API_NAME => L_API_NAME
365 ,P_PKG_NAME => G_PKG_NAME
366 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
367 ,P_SQLCODE => SQLCODE
368 ,P_SQLERRM => SQLERRM
369 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
370 ,X_MSG_COUNT => X_MSG_COUNT
371 ,X_MSG_DATA => X_MSG_DATA
372 ,X_RETURN_STATUS => X_RETURN_STATUS);
373 End Copy_Lead_To_Opportunity;
374
375
376
377 -- API Name: Link_Lead_To_Opportunity
378
379 PROCEDURE Link_Lead_To_Opportunity(
380 P_Api_Version_Number IN NUMBER,
381 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
382 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
383 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
384 P_Check_Access_Flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
385 P_Admin_Flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
386 P_Admin_Group_Id IN NUMBER := FND_API.G_MISS_NUM,
387 P_identity_salesforce_id IN NUMBER := FND_API.G_MISS_NUM,
388 P_identity_salesgroup_id IN NUMBER := FND_API.G_MISS_NUM,
389 P_Sales_Lead_Profile_Tbl IN AS_UTILITY_PUB.Profile_Tbl_Type
390 := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
391 P_SALES_LEAD_ID IN NUMBER,
392 P_OPPORTUNITY_ID IN NUMBER,
393 X_Return_Status OUT NOCOPY VARCHAR2,
394 X_Msg_Count OUT NOCOPY NUMBER,
395 X_Msg_Data OUT NOCOPY VARCHAR2
396 )
397 IS
398 l_api_name CONSTANT VARCHAR2(30) := 'Link_Lead_To_Opportunity';
399 l_api_version_number CONSTANT NUMBER := 2.0;
400
401 l_call_pre_uhk BOOLEAN;
402 l_call_post_uhk BOOLEAN;
403 l_debug BOOLEAN;
404 l_module CONSTANT VARCHAR2(255) := 'as.plsql.llop.Link_Lead_To_Opportunity';
405
406 BEGIN
407 -- Standard Start of API savepoint
408 SAVEPOINT LINK_LEAD_TO_OPPORTUNITY_PUB;
409
410 -- Standard call to check for call compatibility.
411 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
412 p_api_version_number,
413 l_api_name,
414 G_PKG_NAME)
415 THEN
416 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
417 END IF;
418 l_debug := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
419
420
421 -- Initialize message list if p_init_msg_list is set to TRUE.
422 IF FND_API.to_Boolean( p_init_msg_list )
423 THEN
424 FND_MSG_PUB.initialize;
425 END IF;
426
427 -- Debug Message
428 IF l_debug THEN
429 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Pub: ' || l_api_name || ' Start');
430 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
431 END IF;
432 -- Initialize API return status to SUCCESS
433 x_return_status := FND_API.G_RET_STS_SUCCESS;
434
435 --
436 -- Pre User Hook
437 --
438 l_call_pre_uhk := JTF_USR_HKS.Ok_to_execute('AS_LINK_LEAD_OPP_PUB',
439 'Link_Lead_To_Opportunity',
440 'B','C');
441
442 IF l_call_pre_uhk THEN
443 IF l_debug THEN
444 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Call pre user hook is true');
445 END IF;
446 AS_LINK_LEAD_OPP_UHK.Link_Lead_To_Opp_Pre (
447 p_api_version_number => 2.0,
448 p_init_msg_list => FND_API.G_FALSE,
449 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
450 p_commit => FND_API.G_FALSE,
454 x_msg_count => x_msg_count,
451 p_sales_lead_id => p_sales_lead_id,
452 p_opportunity_id => p_opportunity_id,
453 x_return_status => x_return_status,
455 x_msg_data => x_msg_data);
456 END IF;
457
458 IF x_return_status = FND_API.G_RET_STS_ERROR then
459 raise FND_API.G_EXC_ERROR;
460 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
461 raise FND_API.G_EXC_UNEXPECTED_ERROR;
462 END IF;
463
464 --
465 -- API body
466 --
467 -- Calling private API
468 IF l_debug THEN
469 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'PUB: Call PVT.Link_Lead_To_Opportunity');
470 END IF;
471 AS_SALES_LEAD_OPP_PVT.Link_Lead_To_Opportunity(
472 P_Api_Version_Number => 2.0,
473 P_Init_Msg_List => FND_API.G_FALSE,
474 P_Commit => FND_API.G_FALSE,
475 P_Validation_Level => P_Validation_Level,
476 P_Check_Access_Flag => P_Check_Access_Flag,
477 P_Admin_Flag => P_Admin_Flag,
478 P_Admin_Group_Id => P_Admin_Group_Id,
479 P_identity_salesforce_id => P_identity_salesforce_id,
480 P_identity_salesgroup_id => P_identity_salesgroup_id,
481 P_Sales_Lead_Profile_Tbl => P_Sales_Lead_Profile_Tbl,
482 P_SALES_LEAD_ID => p_SALES_LEAD_ID ,
483 P_OPPORTUNITY_ID => P_OPPORTUNITY_ID,
484 X_Return_Status => x_return_status,
485 X_Msg_Count => x_msg_count,
486 X_Msg_Data => x_msg_data);
487
488 -- Check return status from the above procedure call
489 IF x_return_status = FND_API.G_RET_STS_ERROR then
490 raise FND_API.G_EXC_ERROR;
491 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
492 raise FND_API.G_EXC_UNEXPECTED_ERROR;
493 END IF;
494
495 --
496 -- Post User Hook
497 --
498 l_call_post_uhk := JTF_USR_HKS.Ok_to_execute('AS_LINK_LEAD_OPP_PUB',
499 'Link_Lead_To_Opportunity',
500 'A','C');
501
502 IF l_call_post_uhk THEN
503 IF l_debug THEN
504 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Call post user hook is true');
505 END IF;
506 AS_LINK_LEAD_OPP_UHK.Link_Lead_To_Opp_Post (
507 p_api_version_number => 2.0,
508 p_init_msg_list => FND_API.G_FALSE,
509 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
510 p_commit => FND_API.G_FALSE,
511 p_sales_lead_id => p_sales_lead_id,
512 p_opportunity_id => p_opportunity_id,
513 x_return_status => x_return_status,
514 x_msg_count => x_msg_count,
515 x_msg_data => x_msg_data);
516 END IF;
517
518 IF x_return_status = FND_API.G_RET_STS_ERROR then
519 raise FND_API.G_EXC_ERROR;
520 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
521 raise FND_API.G_EXC_UNEXPECTED_ERROR;
522 END IF;
523
524 --
525 -- End of API body
526 --
527 IF FND_API.to_Boolean( p_commit )
528 THEN
529 COMMIT WORK;
530 END IF;
531
532 -- Debug Message
533 IF l_debug THEN
534 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Pub: ' || l_api_name || ' End');
535 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
536 END IF;
537
538 -- Standard call to get message count and if count is 1, get message info.
539 FND_MSG_PUB.Count_And_Get
540 ( p_count => x_msg_count,
541 p_data => x_msg_data
542 );
543
544 EXCEPTION
545 WHEN FND_API.G_EXC_ERROR THEN
546 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
547 P_MODULE => l_module
548 ,P_API_NAME => L_API_NAME
549 ,P_PKG_NAME => G_PKG_NAME
550 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
551 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
552 ,X_MSG_COUNT => X_MSG_COUNT
553 ,X_MSG_DATA => X_MSG_DATA
554 ,X_RETURN_STATUS => X_RETURN_STATUS);
555
556 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
557 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
558 P_MODULE => l_module
559 ,P_API_NAME => L_API_NAME
560 ,P_PKG_NAME => G_PKG_NAME
561 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
562 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
563 ,X_MSG_COUNT => X_MSG_COUNT
564 ,X_MSG_DATA => X_MSG_DATA
565 ,X_RETURN_STATUS => X_RETURN_STATUS);
566
567 WHEN OTHERS THEN
568 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
569 P_MODULE => l_module
570 ,P_API_NAME => L_API_NAME
574 ,P_SQLERRM => SQLERRM
571 ,P_PKG_NAME => G_PKG_NAME
572 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
573 ,P_SQLCODE => SQLCODE
575 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
576 ,X_MSG_COUNT => X_MSG_COUNT
577 ,X_MSG_DATA => X_MSG_DATA
578 ,X_RETURN_STATUS => X_RETURN_STATUS);
579 End Link_Lead_To_Opportunity;
580
581
582 -- API Name: Create_Opportunity_For_Lead
583 PROCEDURE Create_Opportunity_For_Lead(
584 P_Api_Version_Number IN NUMBER,
585 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
586 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
587 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
588 P_Check_Access_Flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
589 P_Admin_Flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
590 P_Admin_Group_Id IN NUMBER := FND_API.G_MISS_NUM,
591 P_identity_salesforce_id IN NUMBER := FND_API.G_MISS_NUM,
592 P_identity_salesgroup_id IN NUMBER := FND_API.G_MISS_NUM,
593 P_Sales_Lead_Profile_Tbl IN AS_UTILITY_PUB.Profile_Tbl_Type
594 := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
595 P_SALES_LEAD_ID IN NUMBER,
596 P_OPP_STATUS IN VARCHAR2 := FND_API.G_MISS_CHAR,
597 X_Return_Status OUT NOCOPY VARCHAR2,
598 X_Msg_Count OUT NOCOPY NUMBER,
599 X_Msg_Data OUT NOCOPY VARCHAR2,
600 X_OPPORTUNITY_ID OUT NOCOPY NUMBER
601 )
602 IS
603 --fix for bug#3118674
604 /*
605 Changed the value being set to the variable l_api_name from
606 Create_Opportunity_For_Lead to Create_Opp_For_Lead.
607 This was done because the rollback statement in the Handle_Exception API
608 was using this value and appending it with PUB. Because of which the
609 rollback statement was throwing and error as the length of the save point
610 was more than 30.
611 So set the l_api_name to be same as the savepoint with out the "_PUB"
612 */
613
614
615 l_api_name CONSTANT VARCHAR2(30) := 'Create_Opp_For_Lead';
616 l_api_version_number CONSTANT NUMBER := 2.0;
617
618 l_call_pre_uhk BOOLEAN;
619 l_call_post_uhk BOOLEAN;
620 l_debug BOOLEAN;
621 l_module CONSTANT VARCHAR2(255) := 'as.plsql.llop.Create_Opportunity_For_Lead';
622
623 BEGIN
624 -- Standard Start of API savepoint
625 SAVEPOINT CREATE_OPP_FOR_LEAD_PUB;
626
627 -- Standard call to check for call compatibility.
628 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
629 p_api_version_number,
630 l_api_name,
631 G_PKG_NAME)
632 THEN
633 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
634 END IF;
635 l_debug := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
636
637
638 -- Initialize message list if p_init_msg_list is set to TRUE.
639 IF FND_API.to_Boolean( p_init_msg_list )
640 THEN
641 FND_MSG_PUB.initialize;
642 END IF;
643
644 -- Debug Message
645 IF l_debug THEN
646 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Pub: ' || l_api_name || ' Start');
647 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
648 END IF;
649
650 -- Initialize API return status to SUCCESS
651 x_return_status := FND_API.G_RET_STS_SUCCESS;
652
653 --
654 -- Pre User Hook
655 --
656 l_call_pre_uhk := JTF_USR_HKS.Ok_to_execute('AS_LINK_LEAD_OPP_PUB',
657 'Create_Opportunity_For_Lead',
658 'B','C');
659
660 IF l_call_pre_uhk THEN
661 IF l_debug THEN
662 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Call pre user hook is true');
663 END IF;
664 AS_LINK_LEAD_OPP_UHK.Create_Opp_For_Lead_Pre (
665 p_api_version_number => 2.0,
666 p_init_msg_list => FND_API.G_FALSE,
667 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
668 p_commit => FND_API.G_FALSE,
669 p_sales_lead_id => p_sales_lead_id,
670 p_opportunity_id => null,
671 x_return_status => x_return_status,
672 x_msg_count => x_msg_count,
673 x_msg_data => x_msg_data);
674 END IF;
675
676 IF x_return_status = FND_API.G_RET_STS_ERROR then
677 raise FND_API.G_EXC_ERROR;
678 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
679 raise FND_API.G_EXC_UNEXPECTED_ERROR;
680 END IF;
681
682 --
683 -- API body
684 --
685 -- Calling private API
686 IF l_debug THEN
687 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'PUB: Calling PVT.Create_Opportunity_For_Lead');
688 END IF;
689
690 AS_SALES_LEAD_OPP_PVT.Create_Opportunity_For_Lead(
691 P_Api_Version_Number => 2.0,
692 P_Init_Msg_List => FND_API.G_FALSE,
693 P_Commit => FND_API.G_FALSE,
694 P_Validation_Level => P_Validation_Level, -- 100,
695 P_Check_Access_Flag => P_Check_Access_Flag, -- 'N',
696 P_Admin_Flag => P_Admin_Flag,
697 P_Admin_Group_Id => P_Admin_Group_Id,
698 P_identity_salesforce_id => P_identity_salesforce_id,
699 P_identity_salesgroup_id => P_identity_salesgroup_id,
700 P_Sales_Lead_Profile_Tbl => P_Sales_Lead_Profile_Tbl,
701 P_SALES_LEAD_ID => p_SALES_LEAD_ID ,
702 P_OPP_STATUS => P_OPP_STATUS,
703 X_Return_Status => x_return_status,
704 X_Msg_Count => x_msg_count,
705 X_Msg_Data => x_msg_data,
706 X_OPPORTUNITY_ID => X_OPPORTUNITY_ID);
707
708 -- Check return status from the above procedure call
709 IF x_return_status = FND_API.G_RET_STS_ERROR then
710 raise FND_API.G_EXC_ERROR;
711 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
712 raise FND_API.G_EXC_UNEXPECTED_ERROR;
713 END IF;
714
715
716 --
717 -- Post User Hook
718 --
719 l_call_post_uhk := JTF_USR_HKS.Ok_to_execute('AS_LINK_LEAD_OPP_PUB',
720 'Create_Opportunity_For_Lead',
721 'A','C');
722
723 IF l_call_post_uhk THEN
724 IF l_debug THEN
725 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Call post user hook is true');
726 END IF;
727 AS_LINK_LEAD_OPP_UHK.Create_Opp_For_Lead_Post (
728 p_api_version_number => 2.0,
729 p_init_msg_list => FND_API.G_FALSE,
730 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
731 p_commit => FND_API.G_FALSE,
732 p_sales_lead_id => p_sales_lead_id,
733 p_opportunity_id => x_opportunity_id,
734 x_return_status => x_return_status,
735 x_msg_count => x_msg_count,
736 x_msg_data => x_msg_data);
737 END IF;
738
739 IF x_return_status = FND_API.G_RET_STS_ERROR then
740 raise FND_API.G_EXC_ERROR;
741 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
742 raise FND_API.G_EXC_UNEXPECTED_ERROR;
743 END IF;
744 --
745 -- End of API body
746 --
747 IF FND_API.to_Boolean( p_commit )
748 THEN
749 COMMIT WORK;
750 END IF;
751
752 -- Debug Message
753 IF l_debug THEN
754 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'Pub: ' || l_api_name || ' End');
755 AS_UTILITY_PVT.Debug_Message(l_module, NULL, 'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
756 END IF;
757 -- Standard call to get message count and if count is 1, get message info.
758 FND_MSG_PUB.Count_And_Get
759 ( p_count => x_msg_count,
760 p_data => x_msg_data
761 );
762 EXCEPTION
763 WHEN FND_API.G_EXC_ERROR THEN
764 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
765 P_MODULE => l_module
766 ,P_API_NAME => L_API_NAME
767 ,P_PKG_NAME => G_PKG_NAME
768 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
769 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
770 ,X_MSG_COUNT => X_MSG_COUNT
771 ,X_MSG_DATA => X_MSG_DATA
772 ,X_RETURN_STATUS => X_RETURN_STATUS);
773
774 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
775 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
776 P_MODULE => l_module
777 ,P_API_NAME => L_API_NAME
778 ,P_PKG_NAME => G_PKG_NAME
779 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
780 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
781 ,X_MSG_COUNT => X_MSG_COUNT
782 ,X_MSG_DATA => X_MSG_DATA
783 ,X_RETURN_STATUS => X_RETURN_STATUS);
784
785 WHEN OTHERS THEN
786 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
787 P_MODULE => l_module
788 ,P_API_NAME => L_API_NAME
789 ,P_PKG_NAME => G_PKG_NAME
790 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
791 ,P_SQLCODE => SQLCODE
792 ,P_SQLERRM => SQLERRM
793 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
794 ,X_MSG_COUNT => X_MSG_COUNT
795 ,X_MSG_DATA => X_MSG_DATA
796 ,X_RETURN_STATUS => X_RETURN_STATUS);
797 End Create_Opportunity_For_Lead;
798
799
800
801 End AS_LINK_LEAD_OPP_PUB;