DBA Data[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;