DBA Data[Home] [Help]

PACKAGE BODY: APPS.AS_SALES_LEADS_PUB

Source


1 PACKAGE BODY AS_SALES_LEADS_PUB as
2 /* $Header: asxpslmb.pls 115.68 2003/11/17 19:41:45 chchandr ship $ */
3 -- Start of Comments
4 -- Package name     : AS_SALES_LEADS_PUB
5 -- Purpose          : Sales Leads Management
6 -- NOTE             :
7 -- History          :
8 --     06/05/2000 FFANG  Created.
9 --     06/06/2000 FFANG  Modified according data schema changes.
10 --     09/21/2000 FFANG  Add two lines to others exception handling to meet
11 --                       coding standard
12 --     12/12/2000 FFANG  For bug 1529886, add one parameter P_OPP_STATUS in
13 --                       create_opportunity_for_lead to get opportunity status
14 --                       when creating opportunity
15 --     06/05/2001 SOLIN  Add API Build_Lead_Sales_Team and
16 --                       Rebuild_Lead_Sales_Team.
17 --     12/10/2001 SOLIN  Bug 2102901.
18 --                       Add salesgroup_id for current user in
19 --                       Build_Lead_Sales_Team and Rebuild_Lead_Sales_Team
20 --     03/05/2002 JRAMAN Added the Create_Opp_Entity_Attributes
21 --                       and Create_Opp_PSS_Lead_Lines procedures to populate
22 --                       the entity attributes when a lead gets converted
23 --			          to opportunity.
24 --     03/21/2002 SOLIN  Change API Run_Lead_Engines signature
25 --                       Add API Start_Partner_Matching
26 --     03/26/2002 AJOY   Add Route_Lead_To_Marketing API for assigning to
27 --                       marketing owner for the lead that does not have owner.
28 --     06/13/2002 SOLIN  Add AS_SALES_LEAD_RATINGS API.
29 --     07/10/2002 AJOY   Modify Route_Lead_To_Marketing API to see if the owner is specified.
30 --                       if so, ignore the process and use the owner provided.
31 --     07/19/2002 AJOY   Code changes due to decommission of Referral System and Attribute functionality.
32 --     08/06/2002 SOLIN  Comment out API Get_Potential_Opportunity because
33 --                       it's moved to package AS_LINK_LEAD_OPP_PUB.
34 --     11/04/2002 SOLIN  Add API Lead_Process_After_Create and
35 --                       Lead_Process_After_Update
36 --     02/06/2003 AJOY   Skipped looking into AS_ACCESSES_ALL for immature owner
37 --                       Manual access is taken care before calling ROUTE_LEAD_TO_MARKETING
38 --     03/07/2003 SOLIN  Bug 2822580
39 --                       Route_Lead_To_Marketing should remove access records
40 --                       when lead is updated.
41 --     03/14/2003 SOLIN  Bug 2852597
42 --                       Port 11.5.8 fix to 11.5.9.
43 --     03/20/2003 SOLIN  Bug 2858785
44 --                       Update address_id when user change address.
45 --                       To avoid duplicate record.
46 --     03/26/2003 SOLIN  Bug 2863580
47 --                       Update as_accesses_all when owner has record already
48 --                       in route_lead_to_marketing.
49 --     04/23/2003 SOLIN  Bug 2921021
50 --                       Route_Lead_To_Marketing should log lead_rank_id,
51 --                       assign_sales_group_id, qualified_flag in
52 --                       as_sales_leads_log.
53 --     04/24/2003 SOLIN  Bug 2923708
54 --                       Route_Lead_To_Marketing should set accept_flag to 'N'
55 --                       if owner is changed.
56 --     06/16/2003 SOLIN  Bug 3007246
57 --                       Route_Lead_To_Marketing should update sales_group_id
58 --                       for as_accesses_all table once a new owner is found.
59 --     08/19/2003 SOLIN  Bug 3102332
60 --                       Use type JTF_NUMBER_TABLE, instead of NUMBER_TABLE
61 --
62 -- End of Comments
63 
64 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AS_SALES_LEADS_PUB';
65 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asxpslmb.pls';
66 G_CREATE   NUMBER :=2;
67 G_UPDATE   NUMBER :=1;
68 
69 
70 -- *******************
71 --  Sales Lead Header
72 -- *******************
73 
74 AS_DEBUG_HIGH_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
75 AS_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
76 AS_DEBUG_MEDIUM_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
77 AS_DEBUG_ERROR_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_ERROR);
78 
79 PROCEDURE Create_sales_lead(
80     P_Api_Version_Number     IN   NUMBER,
81     P_Init_Msg_List          IN   VARCHAR2     := FND_API.G_FALSE,
82     P_Commit                 IN   VARCHAR2     := FND_API.G_FALSE,
83     P_Validation_Level       IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
84     P_Check_Access_Flag      IN   VARCHAR2     := FND_API.G_MISS_CHAR,
85     P_Admin_Flag             IN   VARCHAR2     := FND_API.G_MISS_CHAR,
86     P_Admin_Group_Id         IN   NUMBER       := FND_API.G_MISS_NUM,
87     P_identity_salesforce_id IN   NUMBER       := FND_API.G_MISS_NUM,
88     P_Sales_Lead_Profile_Tbl IN   AS_UTILITY_PUB.Profile_Tbl_Type
89                                       := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
90     P_SALES_LEAD_Rec         IN   SALES_LEAD_Rec_Type := G_MISS_SALES_LEAD_REC,
91     P_SALES_LEAD_LINE_tbl    IN   SALES_LEAD_LINE_tbl_type
92                                         DEFAULT G_MISS_SALES_LEAD_LINE_tbl,
93     P_SALES_LEAD_CONTACT_tbl IN   SALES_LEAD_CONTACT_tbl_type
94                                         DEFAULT G_MISS_SALES_LEAD_CONTACT_tbl,
95     X_SALES_LEAD_ID          OUT NOCOPY  NUMBER,
96     X_SALES_LEAD_LINE_OUT_Tbl OUT NOCOPY SALES_LEAD_LINE_OUT_Tbl_Type,
97     X_SALES_LEAD_CNT_OUT_Tbl OUT NOCOPY  SALES_LEAD_CNT_OUT_Tbl_Type,
98     X_Return_Status          OUT NOCOPY  VARCHAR2,
99     X_Msg_Count              OUT NOCOPY  NUMBER,
100     X_Msg_Data               OUT NOCOPY  VARCHAR2
101     )
102  IS
103     l_api_name                CONSTANT VARCHAR2(30) := 'Create_sales_lead';
104     l_api_version_number      CONSTANT NUMBER   := 2.0;
105 
106 BEGIN
107       SAVEPOINT CREATE_SALES_LEAD_PUB;
108 
109       -- Standard call to check for call compatibility.
110       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
111                                            p_api_version_number,
112                                            l_api_name,
113                                            G_PKG_NAME)
114       THEN
115           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
116       END IF;
117 
118       -- Initialize message list if p_init_msg_list is set to TRUE.
119       IF FND_API.to_Boolean( p_init_msg_list )
120       THEN
121           FND_MSG_PUB.initialize;
122       END IF;
123 
124       -- Debug Message
125       IF (AS_DEBUG_LOW_ON) THEN
126 
127       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
128                                    'Pub: ' || l_api_name || ' Start');
129       END IF;
130 
131       IF (AS_DEBUG_LOW_ON) THEN
132 
133 
134 
135       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
136                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
137 
138       END IF;
139 
140       -- Initialize API return status to SUCCESS
141       x_return_status := FND_API.G_RET_STS_SUCCESS;
142 
143       --
144       -- API body
145       --
146 
147       -- Calling Private package: Create_SALES_LEADS
148       IF (AS_DEBUG_LOW_ON) THEN
149 
150       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
151                                    'PUB: Call PVT.Create_sales_lead');
152       END IF;
153 
154       AS_SALES_LEADS_PVT.Create_sales_lead(
155             P_Api_Version_Number         => 2.0,
156             P_Init_Msg_List              => FND_API.G_FALSE,
157             P_Commit                     => FND_API.G_FALSE,
158             P_Validation_Level           => P_Validation_Level,
159             P_Check_Access_Flag          => P_Check_Access_Flag,
160             P_Admin_Flag                 => P_Admin_Flag,
161             P_Admin_Group_Id             => P_Admin_Group_Id,
162             P_identity_salesforce_id     => P_identity_salesforce_id,
163             P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
164             P_SALES_LEAD_Rec             => P_SALES_LEAD_Rec,
165             P_SALES_LEAD_LINE_tbl        => P_SALES_LEAD_LINE_tbl,
166             P_SALES_LEAD_CONTACT_tbl     => P_SALES_LEAD_CONTACT_tbl,
167             X_SALES_LEAD_ID              => x_SALES_LEAD_ID,
168             X_SALES_LEAD_LINE_OUT_Tbl    => X_SALES_LEAD_LINE_OUT_Tbl,
169             X_SALES_LEAD_CNT_OUT_Tbl     => X_SALES_LEAD_CNT_OUT_Tbl,
170             X_Return_Status              => x_return_status,
171             X_Msg_Count                  => x_msg_count,
172             X_Msg_Data                   => x_msg_data);
173 
174       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
175                 raise FND_API.G_EXC_ERROR;
176       ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
177                raise FND_API.G_EXC_UNEXPECTED_ERROR;
178       END IF;
179 
180 
181       --
182       -- End of API body.
183       --
184 
185       IF FND_API.to_Boolean( p_commit )
186       THEN
187           COMMIT WORK;
188       END IF;
189 
190 
191       -- Debug Message
192       IF (AS_DEBUG_LOW_ON) THEN
193 
194       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
195                                    'Pub: ' || l_api_name || ' End');
196       END IF;
197 
198       IF (AS_DEBUG_LOW_ON) THEN
199 
200 
201 
202       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
203                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
204 
205       END IF;
206 
207 
208       FND_MSG_PUB.Count_And_Get
209       (  p_count          =>   x_msg_count,
210          p_data           =>   x_msg_data
211       );
212 
213       EXCEPTION
214           WHEN FND_API.G_EXC_ERROR THEN
215               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
216                    P_API_NAME => L_API_NAME
217                   ,P_PKG_NAME => G_PKG_NAME
218                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
219                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
220                   ,X_MSG_COUNT => X_MSG_COUNT
221                   ,X_MSG_DATA => X_MSG_DATA
222                   ,X_RETURN_STATUS => X_RETURN_STATUS);
223 
224           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
225               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
226                    P_API_NAME => L_API_NAME
227                   ,P_PKG_NAME => G_PKG_NAME
228                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
229                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
230                   ,X_MSG_COUNT => X_MSG_COUNT
231                   ,X_MSG_DATA => X_MSG_DATA
232                   ,X_RETURN_STATUS => X_RETURN_STATUS);
233 
234           WHEN OTHERS THEN
235               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
236                    P_API_NAME => L_API_NAME
237                   ,P_PKG_NAME => G_PKG_NAME
238                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
239                   ,P_SQLCODE => SQLCODE
240                   ,P_SQLERRM => SQLERRM
241                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
242                   ,X_MSG_COUNT => X_MSG_COUNT
243                   ,X_MSG_DATA => X_MSG_DATA
244                   ,X_RETURN_STATUS => X_RETURN_STATUS);
245 
246 End Create_sales_lead;
247 
248 
249 PROCEDURE Update_sales_lead(
250     P_Api_Version_Number IN   NUMBER,
251     P_Init_Msg_List      IN   VARCHAR2     := FND_API.G_FALSE,
252     P_Commit             IN   VARCHAR2     := FND_API.G_FALSE,
253     P_Validation_Level   IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
254     P_Check_Access_Flag  IN   VARCHAR2     := FND_API.G_MISS_CHAR,
255     P_Admin_Flag         IN   VARCHAR2     := FND_API.G_MISS_CHAR,
256     P_Admin_Group_Id     IN   NUMBER       := FND_API.G_MISS_NUM,
257     P_identity_salesforce_id IN   NUMBER       := FND_API.G_MISS_NUM,
258     P_Sales_Lead_Profile_Tbl IN   AS_UTILITY_PUB.Profile_Tbl_Type
259                                       := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
260     P_SALES_LEAD_Rec     IN   SALES_LEAD_Rec_Type DEFAULT G_MISS_SALES_LEAD_REC,
261     X_Return_Status      OUT NOCOPY  VARCHAR2,
262     X_Msg_Count          OUT NOCOPY  NUMBER,
263     X_Msg_Data           OUT NOCOPY  VARCHAR2
264     )
265  IS
266     l_api_name                CONSTANT VARCHAR2(30) := 'Update_sales_lead';
267     l_api_version_number      CONSTANT NUMBER   := 2.0;
268 
269 BEGIN
270       -- Standard Start of API savepoint
271       SAVEPOINT UPDATE_SALES_LEAD_PUB;
272 
273       -- Standard call to check for call compatibility.
274       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
275                                            p_api_version_number,
276                                            l_api_name,
277                                            G_PKG_NAME)
278       THEN
279           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
280       END IF;
281 
282       -- Initialize message list if p_init_msg_list is set to TRUE.
283       IF FND_API.to_Boolean( p_init_msg_list )
284       THEN
285           FND_MSG_PUB.initialize;
286       END IF;
287 
288       -- Debug Message
289       IF (AS_DEBUG_LOW_ON) THEN
290 
291       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
292                                    'Pub: ' || l_api_name || ' Start');
293       END IF;
294 
295       IF (AS_DEBUG_LOW_ON) THEN
296 
297 
298 
299       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
300                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
301 
302       END IF;
303 
304       -- Initialize API return status to SUCCESS
305       x_return_status := FND_API.G_RET_STS_SUCCESS;
306 
307       --
308       -- API body
309       --
310 
311       IF (AS_DEBUG_LOW_ON) THEN
312 
313 
314 
315       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
316                    'PUB: Calling PVT.Update_sales_lead');
317 
318       END IF;
319       AS_SALES_LEADS_PVT.Update_sales_lead(
320             P_Api_Version_Number         => 2.0,
321             P_Init_Msg_List              => FND_API.G_FALSE,
322             P_Commit                     => FND_API.G_FALSE,   -- p_commit,
323             P_Validation_Level           => P_Validation_Level,
324             P_Check_Access_Flag          => P_Check_Access_Flag,
325             P_Admin_Flag                 => P_Admin_Flag,
326             P_Admin_Group_Id             => P_Admin_Group_Id,
327             P_identity_salesforce_id     => P_identity_salesforce_id,
328             P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
329             P_SALES_LEAD_Rec             => P_SALES_LEAD_Rec,
330             X_Return_Status              => x_return_status,
331             X_Msg_Count                  => x_msg_count,
332             X_Msg_Data                   => x_msg_data);
333 
334       -- Check return status from the above procedure call
335       IF x_return_status = FND_API.G_RET_STS_ERROR then
336           raise FND_API.G_EXC_ERROR;
337       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
338           raise FND_API.G_EXC_UNEXPECTED_ERROR;
339       END IF;
340 
341       --
342       -- End of API body
343       --
344       IF FND_API.to_Boolean( p_commit )
345       THEN
346           COMMIT WORK;
347       END IF;
348 
349       -- Debug Message
350       IF (AS_DEBUG_LOW_ON) THEN
351 
352       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
353                                    'Pub: ' || l_api_name || ' End');
354       END IF;
355 
356       IF (AS_DEBUG_LOW_ON) THEN
357 
358 
359 
360       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
361                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
362 
363       END IF;
364 
365       FND_MSG_PUB.Count_And_Get
366       (  p_count          =>   x_msg_count,
367          p_data           =>   x_msg_data
368       );
369 
370       EXCEPTION
371           WHEN FND_API.G_EXC_ERROR THEN
372               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
373                    P_API_NAME => L_API_NAME
374                   ,P_PKG_NAME => G_PKG_NAME
375                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
376                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
377                   ,X_MSG_COUNT => X_MSG_COUNT
378                   ,X_MSG_DATA => X_MSG_DATA
379                   ,X_RETURN_STATUS => X_RETURN_STATUS);
380           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
381               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
382                    P_API_NAME => L_API_NAME
383                   ,P_PKG_NAME => G_PKG_NAME
384                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
385                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
386                   ,X_MSG_COUNT => X_MSG_COUNT
387                   ,X_MSG_DATA => X_MSG_DATA
388                   ,X_RETURN_STATUS => X_RETURN_STATUS);
389 
390           WHEN OTHERS THEN
391               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
392                    P_API_NAME => L_API_NAME
393                   ,P_PKG_NAME => G_PKG_NAME
394                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
395                   ,P_SQLCODE => SQLCODE
396                   ,P_SQLERRM => SQLERRM
397                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
398                   ,X_MSG_COUNT => X_MSG_COUNT
399                   ,X_MSG_DATA => X_MSG_DATA
400                   ,X_RETURN_STATUS => X_RETURN_STATUS);
401 End Update_sales_lead;
402 
403 
404 -- *******************
405 --  Sales Lead Lines
406 -- *******************
407 
408 PROCEDURE Create_sales_lead_lines(
409     P_Api_Version_Number         IN   NUMBER,
410     P_Init_Msg_List              IN   VARCHAR2   := FND_API.G_FALSE,
411     P_Commit                     IN   VARCHAR2   := FND_API.G_FALSE,
412     p_validation_level           IN   NUMBER     := FND_API.G_VALID_LEVEL_FULL,
413     P_Check_Access_Flag          IN   VARCHAR2   := FND_API.G_MISS_CHAR,
414     P_Admin_Flag                 IN   VARCHAR2   := FND_API.G_MISS_CHAR,
415     P_Admin_Group_Id             IN   NUMBER     := FND_API.G_MISS_NUM,
416     P_identity_salesforce_id     IN   NUMBER     := FND_API.G_MISS_NUM,
417     P_Sales_Lead_Profile_Tbl     IN   AS_UTILITY_PUB.Profile_Tbl_Type := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
418     P_SALES_LEAD_LINE_Tbl        IN   SALES_LEAD_LINE_Tbl_type
419                                               := G_MISS_SALES_LEAD_LINE_Tbl,
420     p_SALES_LEAD_ID              IN   NUMBER,
421     X_SALES_LEAD_LINE_OUT_Tbl    OUT NOCOPY  SALES_LEAD_LINE_OUT_Tbl_Type,
422     X_Return_Status              OUT NOCOPY  VARCHAR2,
423     X_Msg_Count                  OUT NOCOPY  NUMBER,
424     X_Msg_Data                   OUT NOCOPY  VARCHAR2
425     )
426 
427  IS
428     l_api_name              CONSTANT VARCHAR2(30) := 'Create_sales_lead_lines';
429     l_api_version_number    CONSTANT NUMBER   := 2.0;
430 
431 BEGIN
432       -- Standard Start of API savepoint
433       SAVEPOINT CREATE_SALES_LEAD_LINES_PUB;
434 
435       -- Standard call to check for call compatibility.
436       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
437                                            p_api_version_number,
438                                            l_api_name,
439                                            G_PKG_NAME)
440       THEN
441           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
442       END IF;
443 
444       -- Initialize message list if p_init_msg_list is set to TRUE.
445       IF FND_API.to_Boolean( p_init_msg_list )
446       THEN
447           FND_MSG_PUB.initialize;
448       END IF;
449 
450       -- Debug Message
451       IF (AS_DEBUG_LOW_ON) THEN
452 
453       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
454                                    'Pub: ' || l_api_name || ' Start');
455       END IF;
456 
457       IF (AS_DEBUG_LOW_ON) THEN
458 
459 
460 
461       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
462                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
463 
464       END IF;
465 
466       -- Initialize API return status to SUCCESS
467       x_return_status := FND_API.G_RET_STS_SUCCESS;
468 
469       --
470       -- API body
471       --
472 
473       -- Calling Private package: Create_SALES_LEAD_LINE
474       IF (AS_DEBUG_LOW_ON) THEN
475 
476       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
477                                    'PUB: Calling PVT.Create_lines');
478       END IF;
479       AS_SALES_LEAD_LINES_PVT.Create_sales_lead_lines(
480           P_Api_Version_Number         => 2.0,
481           P_Init_Msg_List              => FND_API.G_FALSE,
482           P_Commit                     => FND_API.G_FALSE,
483           P_Validation_Level           => P_Validation_Level,
484           P_Check_Access_Flag          => P_Check_Access_Flag,
485           P_Admin_Flag                 => P_Admin_Flag,
486           P_Admin_Group_Id             => P_Admin_Group_Id,
487           P_identity_salesforce_id     => P_identity_salesforce_id,
488           P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
489           P_SALES_LEAD_LINE_Tbl        => P_SALES_LEAD_LINE_Tbl,
490 	  p_SALES_LEAD_ID              => p_sales_lead_id,
491           X_SALES_LEAD_LINE_OUT_tbl    => x_SALES_LEAD_LINE_OUT_tbl,
492           X_Return_Status              => x_return_status,
493           X_Msg_Count                  => x_msg_count,
494           X_Msg_Data                   => x_msg_data);
495 
496       -- Check return status from the above procedure call
497       IF x_return_status = FND_API.G_RET_STS_ERROR then
498           raise FND_API.G_EXC_ERROR;
499       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
500           raise FND_API.G_EXC_UNEXPECTED_ERROR;
501       END IF;
502 
503       --
504       -- End of API body.
505       --
506       IF FND_API.to_Boolean( p_commit )
507       THEN
508           COMMIT WORK;
509       END IF;
510 
511       -- Debug Message
512       IF (AS_DEBUG_LOW_ON) THEN
513 
514       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
515                                    'Pub: ' || l_api_name || ' End');
516       END IF;
517 
518       IF (AS_DEBUG_LOW_ON) THEN
519 
520 
521 
522       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
523                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
524 
525       END IF;
526 
527       FND_MSG_PUB.Count_And_Get
528       (  p_count          =>   x_msg_count,
529          p_data           =>   x_msg_data
530       );
531 
532       EXCEPTION
533           WHEN FND_API.G_EXC_ERROR THEN
534               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
535                    P_API_NAME => L_API_NAME
536                   ,P_PKG_NAME => G_PKG_NAME
537                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
538                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
539                   ,X_MSG_COUNT => X_MSG_COUNT
540                   ,X_MSG_DATA => X_MSG_DATA
541                   ,X_RETURN_STATUS => X_RETURN_STATUS);
542 
543           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
544               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
545                    P_API_NAME => L_API_NAME
546                   ,P_PKG_NAME => G_PKG_NAME
547                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
548                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
549                   ,X_MSG_COUNT => X_MSG_COUNT
550                   ,X_MSG_DATA => X_MSG_DATA
551                   ,X_RETURN_STATUS => X_RETURN_STATUS);
552 
553           WHEN OTHERS THEN
554               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
555                    P_API_NAME => L_API_NAME
556                   ,P_PKG_NAME => G_PKG_NAME
557                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
558                   ,P_SQLCODE => SQLCODE
559                   ,P_SQLERRM => SQLERRM
560                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
561                   ,X_MSG_COUNT => X_MSG_COUNT
562                   ,X_MSG_DATA => X_MSG_DATA
563                   ,X_RETURN_STATUS => X_RETURN_STATUS);
564 
565 End Create_sales_lead_lines;
566 
567 
568 PROCEDURE Update_sales_lead_lines(
569     P_Api_Version_Number         IN   NUMBER,
570     P_Init_Msg_List              IN   VARCHAR2   := FND_API.G_FALSE,
571     P_Commit                     IN   VARCHAR2   := FND_API.G_FALSE,
572     p_validation_level           IN   NUMBER     := FND_API.G_VALID_LEVEL_FULL,
573     P_Check_Access_Flag          IN   VARCHAR2   := FND_API.G_MISS_CHAR,
574     P_Admin_Flag                 IN   VARCHAR2   := FND_API.G_MISS_CHAR,
575     P_Admin_Group_Id             IN   NUMBER     := FND_API.G_MISS_NUM,
576     P_identity_salesforce_id     IN   NUMBER     := FND_API.G_MISS_NUM,
577     P_Sales_Lead_Profile_Tbl     IN   AS_UTILITY_PUB.Profile_Tbl_Type := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
578     P_SALES_LEAD_LINE_Tbl        IN   SALES_LEAD_LINE_Tbl_Type,
579     X_SALES_LEAD_LINE_OUT_Tbl    OUT NOCOPY  SALES_LEAD_LINE_OUT_Tbl_Type,
580     X_Return_Status              OUT NOCOPY  VARCHAR2,
581     X_Msg_Count                  OUT NOCOPY  NUMBER,
582     X_Msg_Data                   OUT NOCOPY  VARCHAR2
583     )
584  IS
585     l_api_name              CONSTANT VARCHAR2(30) := 'Update_sales_lead_lines';
586     l_api_version_number    CONSTANT NUMBER   := 2.0;
587 
588 BEGIN
589       -- Standard Start of API savepoint
590       SAVEPOINT UPDATE_SALES_LEAD_LINES_PUB;
591 
592       -- Standard call to check for call compatibility.
593       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
594                                            p_api_version_number,
595                                            l_api_name,
596                                            G_PKG_NAME)
597       THEN
598           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
599       END IF;
600 
601       -- Initialize message list if p_init_msg_list is set to TRUE.
602       IF FND_API.to_Boolean( p_init_msg_list )
603       THEN
604           FND_MSG_PUB.initialize;
605       END IF;
606 
607       -- Debug Message
608       IF (AS_DEBUG_LOW_ON) THEN
609 
610       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
611                                    'Pub: ' || l_api_name || ' Start');
612       END IF;
613 
614       IF (AS_DEBUG_LOW_ON) THEN
615 
616 
617 
618       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
619                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
620 
621       END IF;
622 
623       -- Initialize API return status to SUCCESS
624       x_return_status := FND_API.G_RET_STS_SUCCESS;
625 
626       --
627       -- API body
628       --
629 
630       IF (AS_DEBUG_LOW_ON) THEN
631 
632 
633 
634       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
635               'PUB: Calling PVT.Update_lines');
636 
637       END IF;
638 
639       AS_SALES_LEAD_LINES_PVT.Update_sales_lead_lines(
640             P_Api_Version_Number         => 2.0,
641             P_Init_Msg_List              => FND_API.G_FALSE,
642             P_Commit                     => FND_API.G_FALSE,   -- p_commit,
643             P_Validation_Level           => P_Validation_Level,
644             P_Check_Access_Flag          => P_Check_Access_Flag,
645             P_Admin_Flag                 => P_Admin_Flag,
646             P_Admin_Group_Id             => P_Admin_Group_Id,
647             P_identity_salesforce_id     => P_identity_salesforce_id,
648             P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
649             P_SALES_LEAD_LINE_Tbl        => P_SALES_LEAD_LINE_Tbl,
650             X_SALES_LEAD_LINE_OUT_Tbl    => X_Sales_Lead_Line_Out_tbl,
651             X_Return_Status              => x_return_status,
652             X_Msg_Count                  => x_msg_count,
653             X_Msg_Data                   => x_msg_data);
654 
655       -- Check return status from the above procedure call
656       IF x_return_status = FND_API.G_RET_STS_ERROR then
657           raise FND_API.G_EXC_ERROR;
658       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
659           raise FND_API.G_EXC_UNEXPECTED_ERROR;
660       END IF;
661 
662       --
663       -- End of API body
664       --
665 
666       IF FND_API.to_Boolean( p_commit )
667       THEN
668           COMMIT WORK;
669       END IF;
670 
671       -- Debug Message
672       IF (AS_DEBUG_LOW_ON) THEN
673 
674       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
675                                    'Pub: ' || l_api_name || ' End');
676       END IF;
677 
678       IF (AS_DEBUG_LOW_ON) THEN
679 
680 
681 
682       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
683                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
684 
685       END IF;
686 
687       FND_MSG_PUB.Count_And_Get
688       (  p_count          =>   x_msg_count,
689          p_data           =>   x_msg_data
690       );
691 
692       EXCEPTION
693           WHEN FND_API.G_EXC_ERROR THEN
694               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
695                    P_API_NAME => L_API_NAME
696                   ,P_PKG_NAME => G_PKG_NAME
697                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
698                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
699                   ,X_MSG_COUNT => X_MSG_COUNT
700                   ,X_MSG_DATA => X_MSG_DATA
701                   ,X_RETURN_STATUS => X_RETURN_STATUS);
702 
703           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
704               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
705                    P_API_NAME => L_API_NAME
706                   ,P_PKG_NAME => G_PKG_NAME
707                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
708                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
709                   ,X_MSG_COUNT => X_MSG_COUNT
710                   ,X_MSG_DATA => X_MSG_DATA
711                   ,X_RETURN_STATUS => X_RETURN_STATUS);
712 
713           WHEN OTHERS THEN
714               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
715                    P_API_NAME => L_API_NAME
716                   ,P_PKG_NAME => G_PKG_NAME
717                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
718                   ,P_SQLCODE => SQLCODE
719                   ,P_SQLERRM => SQLERRM
720                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
721                   ,X_MSG_COUNT => X_MSG_COUNT
722                   ,X_MSG_DATA => X_MSG_DATA
723                   ,X_RETURN_STATUS => X_RETURN_STATUS);
724 
725 End Update_sales_lead_lines;
726 
727 
728 PROCEDURE Delete_sales_lead_lines(
729     P_Api_Version_Number         IN   NUMBER,
730     P_Init_Msg_List              IN   VARCHAR2   := FND_API.G_FALSE,
731     P_Commit                     IN   VARCHAR2   := FND_API.G_FALSE,
732     p_validation_level           IN   NUMBER     := FND_API.G_VALID_LEVEL_FULL,
733     P_Check_Access_Flag          IN   VARCHAR2   := FND_API.G_MISS_CHAR,
734     P_Admin_Flag                 IN   VARCHAR2   := FND_API.G_MISS_CHAR,
735     P_Admin_Group_Id             IN   NUMBER     := FND_API.G_MISS_NUM,
736     P_identity_salesforce_id     IN   NUMBER     := FND_API.G_MISS_NUM,
737     P_Sales_Lead_Profile_Tbl     IN   AS_UTILITY_PUB.Profile_Tbl_Type := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
738     P_SALES_LEAD_LINE_Tbl        IN   SALES_LEAD_LINE_Tbl_Type,
739     X_SALES_LEAD_LINE_OUT_Tbl    OUT NOCOPY  SALES_LEAD_LINE_OUT_Tbl_Type,
740     X_Return_Status              OUT NOCOPY  VARCHAR2,
741     X_Msg_Count                  OUT NOCOPY  NUMBER,
742     X_Msg_Data                   OUT NOCOPY  VARCHAR2
743     )
744  IS
745     l_api_name             CONSTANT VARCHAR2(30) := 'Delete_sales_lead_lines';
746     l_api_version_number   CONSTANT NUMBER   := 2.0;
747  BEGIN
748       -- Standard Start of API savepoint
749       SAVEPOINT DELETE_SALES_LEAD_LINES_PUB;
750 
751       -- Standard call to check for call compatibility.
752       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
753                                            p_api_version_number,
754                                            l_api_name,
755                                            G_PKG_NAME)
756       THEN
757           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
758       END IF;
759 
760 
761       -- Initialize message list if p_init_msg_list is set to TRUE.
762       IF FND_API.to_Boolean( p_init_msg_list )
763       THEN
764           FND_MSG_PUB.initialize;
765       END IF;
766 
767       -- Debug Message
768       IF (AS_DEBUG_LOW_ON) THEN
769 
770       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
771                                    'Pub: ' || l_api_name || ' Start');
772       END IF;
773 
774       IF (AS_DEBUG_LOW_ON) THEN
775 
776 
777 
778       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
779                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
780 
781       END IF;
782 
783       -- Initialize API return status to SUCCESS
784       x_return_status := FND_API.G_RET_STS_SUCCESS;
785 
786       --
787       -- API body
788       --
789 
790       IF (AS_DEBUG_LOW_ON) THEN
791 
792 
793 
794       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
795                                    'PUB: Calling PVT.Delete_lines');
796 
797       END IF;
798       AS_SALES_LEAD_LINES_PVT.Delete_sales_lead_lines(
799             P_Api_Version_Number         => 2.0,
800             P_Init_Msg_List              => FND_API.G_FALSE,
801             P_Commit                     => FND_API.G_FALSE,   -- p_commit,
802             P_Validation_Level           => P_Validation_Level,
803             P_Check_Access_Flag          => P_Check_Access_Flag,
804             P_Admin_Flag                 => P_Admin_Flag,
805             P_Admin_Group_Id             => P_Admin_Group_Id,
806             P_identity_salesforce_id     => P_identity_salesforce_id,
807             P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
808             P_SALES_LEAD_LINE_Tbl        => P_SALES_LEAD_LINE_Tbl,
809             X_SALES_LEAD_LINE_OUT_Tbl    => X_Sales_Lead_Line_Out_tbl,
810             X_Return_Status              => x_return_status,
811             X_Msg_Count                  => x_msg_count,
812             X_Msg_Data                   => x_msg_data);
813 
814       -- Check return status from the above procedure call
815       IF x_return_status = FND_API.G_RET_STS_ERROR then
816           raise FND_API.G_EXC_ERROR;
817       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
818           raise FND_API.G_EXC_UNEXPECTED_ERROR;
819       END IF;
820 
821       --
822       -- End of API body
823       --
824       IF FND_API.to_Boolean( p_commit )
825       THEN
826           COMMIT WORK;
827       END IF;
828 
829       -- Debug Message
830       IF (AS_DEBUG_LOW_ON) THEN
831 
832       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
833                                    'Pub: ' || l_api_name || ' End');
834       END IF;
835 
836       IF (AS_DEBUG_LOW_ON) THEN
837 
838 
839 
840       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
841                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
842 
843       END IF;
844 
845       -- Standard call to get message count and if count is 1, get message info.
846       FND_MSG_PUB.Count_And_Get
847       (  p_count          =>   x_msg_count,
848          p_data           =>   x_msg_data
849       );
850 
851       EXCEPTION
852           WHEN FND_API.G_EXC_ERROR THEN
853               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
854                    P_API_NAME => L_API_NAME
855                   ,P_PKG_NAME => G_PKG_NAME
856                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
857                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
858                   ,X_MSG_COUNT => X_MSG_COUNT
859                   ,X_MSG_DATA => X_MSG_DATA
860                   ,X_RETURN_STATUS => X_RETURN_STATUS);
861 
862           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
863               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
864                    P_API_NAME => L_API_NAME
865                   ,P_PKG_NAME => G_PKG_NAME
866                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
867                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
868                   ,X_MSG_COUNT => X_MSG_COUNT
869                   ,X_MSG_DATA => X_MSG_DATA
870                   ,X_RETURN_STATUS => X_RETURN_STATUS);
871 
872           WHEN OTHERS THEN
873               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
874                    P_API_NAME => L_API_NAME
875                   ,P_PKG_NAME => G_PKG_NAME
876                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
877                   ,P_SQLCODE => SQLCODE
878                   ,P_SQLERRM => SQLERRM
879                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
880                   ,X_MSG_COUNT => X_MSG_COUNT
881                   ,X_MSG_DATA => X_MSG_DATA
882                   ,X_RETURN_STATUS => X_RETURN_STATUS);
883 
884 End Delete_sales_lead_lines;
885 
886 
887 -- *********************
888 --  Sales Lead Contacts
889 -- *********************
890 
891 PROCEDURE Create_sales_lead_contacts(
892     P_Api_Version_Number       IN   NUMBER,
893     P_Init_Msg_List            IN   VARCHAR2     := FND_API.G_FALSE,
894     P_Commit                   IN   VARCHAR2     := FND_API.G_FALSE,
895     p_validation_level         IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
896     P_Check_Access_Flag        IN   VARCHAR2     := FND_API.G_MISS_CHAR,
897     P_Admin_Flag               IN   VARCHAR2     := FND_API.G_MISS_CHAR,
898     P_Admin_Group_Id           IN   NUMBER       := FND_API.G_MISS_NUM,
899     P_identity_salesforce_id   IN   NUMBER       := FND_API.G_MISS_NUM,
900     P_Sales_Lead_Profile_Tbl   IN   AS_UTILITY_PUB.Profile_Tbl_Type := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
901     P_SALES_LEAD_CONTACT_Tbl   IN   SALES_LEAD_CONTACT_Tbl_Type
902                                          := G_MISS_SALES_LEAD_CONTACT_Tbl,
903     p_SALES_LEAD_ID            IN   NUMBER,
904     X_SALES_LEAD_CNT_OUT_Tbl   OUT NOCOPY  SALES_LEAD_CNT_OUT_Tbl_Type,
905     X_Return_Status            OUT NOCOPY  VARCHAR2,
906     X_Msg_Count                OUT NOCOPY  NUMBER,
907     X_Msg_Data                 OUT NOCOPY  VARCHAR2
908     )
909  IS
910     l_api_name            CONSTANT VARCHAR2(30) := 'Create_sales_lead_contacts';
911     l_api_version_number  CONSTANT NUMBER   := 2.0;
912 BEGIN
913       -- Standard Start of API savepoint
914       SAVEPOINT CREATE_SALES_LEAD_CONTACTS_PUB;
915 
916       -- Standard call to check for call compatibility.
917       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
918                                            p_api_version_number,
919                                            l_api_name,
920                                            G_PKG_NAME)
921       THEN
922           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
923       END IF;
924 
925       -- Initialize message list if p_init_msg_list is set to TRUE.
926       IF FND_API.to_Boolean( p_init_msg_list )
927       THEN
928           FND_MSG_PUB.initialize;
929       END IF;
930 
931       -- Debug Message
932       IF (AS_DEBUG_LOW_ON) THEN
933 
934       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
935                                    'Pub: ' || l_api_name || ' Start');
936       END IF;
937 
938       IF (AS_DEBUG_LOW_ON) THEN
939 
940 
941 
942       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
943                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
944 
945       END IF;
946 
947       -- Initialize API return status to SUCCESS
948       x_return_status := FND_API.G_RET_STS_SUCCESS;
949 
950       --
951       -- API body
952       --
953 
954       -- Calling Private package: Create_SALES_LEAD_LINE
955       IF (AS_DEBUG_LOW_ON) THEN
956 
957       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
958                                    'PUB: Calling PVT.Create_contacts');
959       END IF;
960       AS_SALES_LEAD_CONTACTS_PVT.Create_sales_lead_contacts(
961           P_Api_Version_Number         => 2.0,
962           P_Init_Msg_List              => FND_API.G_FALSE,
963           P_Commit                     => FND_API.G_FALSE,
964           P_Validation_Level           => P_Validation_Level,
965           P_Check_Access_Flag          => P_Check_Access_Flag,
966           P_Admin_Flag                 => P_Admin_Flag,
967           P_Admin_Group_Id             => P_Admin_Group_Id,
968           P_identity_salesforce_id     => P_identity_salesforce_id,
969           P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
970           P_SALES_LEAD_CONTACT_Tbl     => P_SALES_LEAD_CONTACT_Tbl,
971 	  p_SALES_LEAD_ID              => p_sales_lead_id,
972           x_SALES_LEAD_CNT_OUT_Tbl     => X_SALES_LEAD_CNT_OUT_Tbl,
973           X_Return_Status              => x_return_status,
974           X_Msg_Count                  => x_msg_count,
975           X_Msg_Data                   => x_msg_data);
976 
977       -- Check return status from the above procedure call
978       IF x_return_status = FND_API.G_RET_STS_ERROR then
979           raise FND_API.G_EXC_ERROR;
980       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
981           raise FND_API.G_EXC_UNEXPECTED_ERROR;
982       END IF;
983 
984       --
985       -- End of API body.
986       --
987       IF FND_API.to_Boolean( p_commit )
988       THEN
989           COMMIT WORK;
990       END IF;
991 
992       -- Debug Message
993       IF (AS_DEBUG_LOW_ON) THEN
994 
995       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
996                                    'Pub: ' || l_api_name || ' End');
997       END IF;
998 
999       IF (AS_DEBUG_LOW_ON) THEN
1000 
1001 
1002 
1003       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
1004                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1005 
1006       END IF;
1007 
1008       FND_MSG_PUB.Count_And_Get
1009       (  p_count          =>   x_msg_count,
1010          p_data           =>   x_msg_data
1011       );
1012 
1013       EXCEPTION
1014           WHEN FND_API.G_EXC_ERROR THEN
1015               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1016                    P_API_NAME => L_API_NAME
1017                   ,P_PKG_NAME => G_PKG_NAME
1018                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1019                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1020                   ,X_MSG_COUNT => X_MSG_COUNT
1021                   ,X_MSG_DATA => X_MSG_DATA
1022                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1023 
1024           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1025               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1026                    P_API_NAME => L_API_NAME
1027                   ,P_PKG_NAME => G_PKG_NAME
1028                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1029                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1030                   ,X_MSG_COUNT => X_MSG_COUNT
1031                   ,X_MSG_DATA => X_MSG_DATA
1032                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1033 
1034           WHEN OTHERS THEN
1035               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1036                    P_API_NAME => L_API_NAME
1037                   ,P_PKG_NAME => G_PKG_NAME
1038                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1039                   ,P_SQLCODE => SQLCODE
1040                   ,P_SQLERRM => SQLERRM
1041                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1042                   ,X_MSG_COUNT => X_MSG_COUNT
1043                   ,X_MSG_DATA => X_MSG_DATA
1044                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1045 End Create_sales_lead_contacts;
1046 
1047 
1048 --   API Name:  Update_sales_lead_contact
1049 --
1050 PROCEDURE Update_sales_lead_contacts(
1051     P_Api_Version_Number         IN   NUMBER,
1052     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1053     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
1054     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
1055     P_Check_Access_Flag          IN   VARCHAR2     := FND_API.G_MISS_CHAR,
1056     P_Admin_Flag                 IN   VARCHAR2     := FND_API.G_MISS_CHAR,
1057     P_Admin_Group_Id             IN   NUMBER       := FND_API.G_MISS_NUM,
1058     P_identity_salesforce_id     IN   NUMBER       := FND_API.G_MISS_NUM,
1059     P_Sales_Lead_Profile_Tbl     IN   AS_UTILITY_PUB.Profile_Tbl_Type := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
1060     P_SALES_LEAD_CONTACT_Tbl     IN   SALES_LEAD_CONTACT_Tbl_Type,
1061     X_SALES_LEAD_CNT_OUT_Tbl     OUT NOCOPY  SALES_LEAD_CNT_OUT_Tbl_Type,
1062     X_Return_Status              OUT NOCOPY  VARCHAR2,
1063     X_Msg_Count                  OUT NOCOPY  NUMBER,
1064     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1065     )
1066  IS
1067     l_api_name            CONSTANT VARCHAR2(30) := 'Update_sales_lead_contacts';
1068     l_api_version_number  CONSTANT NUMBER   := 2.0;
1069 BEGIN
1070       -- Standard Start of API savepoint
1071       SAVEPOINT UPDATE_SALES_LEAD_CONTACTS_PUB;
1072 
1073       -- Standard call to check for call compatibility.
1074       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1075                                            p_api_version_number,
1076                                            l_api_name,
1077                                            G_PKG_NAME)
1078       THEN
1079           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1080       END IF;
1081 
1082       -- Initialize message list if p_init_msg_list is set to TRUE.
1083       IF FND_API.to_Boolean( p_init_msg_list )
1084       THEN
1085           FND_MSG_PUB.initialize;
1086       END IF;
1087 
1088       -- Debug Message
1089       IF (AS_DEBUG_LOW_ON) THEN
1090 
1091       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1092                                    'Pub: ' || l_api_name || ' Start');
1093       END IF;
1094 
1095       IF (AS_DEBUG_LOW_ON) THEN
1096 
1097 
1098 
1099       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1100                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1101 
1102       END IF;
1103 
1104       -- Initialize API return status to SUCCESS
1105       x_return_status := FND_API.G_RET_STS_SUCCESS;
1106 
1107       --
1108       -- API body
1109       --
1110 
1111       IF (AS_DEBUG_LOW_ON) THEN
1112 
1113 
1114 
1115       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1116                                    'PUB: Calling PVT.Update_contacts');
1117 
1118       END IF;
1119       AS_SALES_LEAD_CONTACTS_PVT.Update_sales_lead_contacts(
1120             P_Api_Version_Number         => 2.0,
1121             P_Init_Msg_List              => FND_API.G_FALSE,
1122             P_Commit                     => FND_API.G_FALSE,   -- p_commit,
1123             P_Validation_Level           => P_Validation_Level,
1124             P_Check_Access_Flag          => P_Check_Access_Flag,
1125             P_Admin_Flag                 => P_Admin_Flag,
1126             P_Admin_Group_Id             => P_Admin_Group_Id,
1127             P_identity_salesforce_id     => P_identity_salesforce_id,
1128             P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
1129             P_SALES_LEAD_CONTACT_Tbl     => P_SALES_LEAD_CONTACT_Tbl,
1130             x_SALES_LEAD_CNT_OUT_Tbl => X_SALES_LEAD_CNT_OUT_Tbl,
1131             X_Return_Status              => x_return_status,
1132             X_Msg_Count                  => x_msg_count,
1133             X_Msg_Data                   => x_msg_data);
1134 
1135       -- Check return status from the above procedure call
1136       IF x_return_status = FND_API.G_RET_STS_ERROR then
1137           raise FND_API.G_EXC_ERROR;
1138       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1139           raise FND_API.G_EXC_UNEXPECTED_ERROR;
1140       END IF;
1141       --
1142       -- End of API body
1143       --
1144 
1145       IF FND_API.to_Boolean( p_commit )
1146       THEN
1147           COMMIT WORK;
1148       END IF;
1149 
1150       -- Debug Message
1151       IF (AS_DEBUG_LOW_ON) THEN
1152 
1153       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1154                                    'Pub: ' || l_api_name || ' End');
1155       END IF;
1156 
1157       IF (AS_DEBUG_LOW_ON) THEN
1158 
1159 
1160 
1161       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
1162                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1163 
1164       END IF;
1165 
1166       FND_MSG_PUB.Count_And_Get
1167       (  p_count          =>   x_msg_count,
1168          p_data           =>   x_msg_data
1169       );
1170 
1171       EXCEPTION
1172           WHEN FND_API.G_EXC_ERROR THEN
1173               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1174                    P_API_NAME => L_API_NAME
1175                   ,P_PKG_NAME => G_PKG_NAME
1176                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1177                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1178                   ,X_MSG_COUNT => X_MSG_COUNT
1179                   ,X_MSG_DATA => X_MSG_DATA
1180                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1181 
1182           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1183               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1184                    P_API_NAME => L_API_NAME
1185                   ,P_PKG_NAME => G_PKG_NAME
1186                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1187                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1188                   ,X_MSG_COUNT => X_MSG_COUNT
1189                   ,X_MSG_DATA => X_MSG_DATA
1190                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1191 
1192           WHEN OTHERS THEN
1193               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1194                    P_API_NAME => L_API_NAME
1195                   ,P_PKG_NAME => G_PKG_NAME
1196                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1197                   ,P_SQLCODE => SQLCODE
1198                   ,P_SQLERRM => SQLERRM
1199                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1200                   ,X_MSG_COUNT => X_MSG_COUNT
1201                   ,X_MSG_DATA => X_MSG_DATA
1202                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1203 
1204 End Update_sales_lead_contacts;
1205 
1206 
1207 
1208 --   API Name:  Delete_sales_lead_contacts
1209 PROCEDURE Delete_sales_lead_contacts(
1210     P_Api_Version_Number         IN   NUMBER,
1211     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1212     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
1213     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
1214     P_Check_Access_Flag          IN   VARCHAR2     := FND_API.G_MISS_CHAR,
1215     P_Admin_Flag                 IN   VARCHAR2     := FND_API.G_MISS_CHAR,
1216     P_Admin_Group_Id             IN   NUMBER       := FND_API.G_MISS_NUM,
1217     P_identity_salesforce_id     IN   NUMBER       := FND_API.G_MISS_NUM,
1218     P_Sales_Lead_Profile_Tbl     IN   AS_UTILITY_PUB.Profile_Tbl_Type := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
1219     P_SALES_LEAD_CONTACT_Tbl     IN   SALES_LEAD_CONTACT_Tbl_Type,
1220     X_SALES_LEAD_CNT_OUT_Tbl     OUT NOCOPY  SALES_LEAD_CNT_OUT_Tbl_Type,
1221     X_Return_Status              OUT NOCOPY  VARCHAR2,
1222     X_Msg_Count                  OUT NOCOPY  NUMBER,
1223     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1224     )
1225  IS
1226     l_api_name             CONSTANT VARCHAR2(30) := 'Delete_sales_lead_contacts';
1227     l_api_version_number   CONSTANT NUMBER   := 2.0;
1228  BEGIN
1229       -- Standard Start of API savepoint
1230       SAVEPOINT DELETE_SALES_LEAD_CONTACTS_PUB;
1231 
1232       -- Standard call to check for call compatibility.
1233       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1234                                            p_api_version_number,
1235                                            l_api_name,
1236                                            G_PKG_NAME)
1237       THEN
1238           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1239       END IF;
1240 
1241 
1242       -- Initialize message list if p_init_msg_list is set to TRUE.
1243       IF FND_API.to_Boolean( p_init_msg_list )
1244       THEN
1245           FND_MSG_PUB.initialize;
1246       END IF;
1247 
1248       -- Debug Message
1249       IF (AS_DEBUG_LOW_ON) THEN
1250 
1251       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1252                                    'Pub: ' || l_api_name || ' Start');
1253       END IF;
1254 
1255       IF (AS_DEBUG_LOW_ON) THEN
1256 
1257 
1258 
1259       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1260                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1261 
1262       END IF;
1263 
1264       -- Initialize API return status to SUCCESS
1265       x_return_status := FND_API.G_RET_STS_SUCCESS;
1266 
1267       --
1268       -- API body
1269       --
1270 
1271       IF (AS_DEBUG_LOW_ON) THEN
1272 
1273 
1274 
1275       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1276                                    'PUB: Calling PVT.Delete_contacts');
1277 
1278       END IF;
1279       AS_SALES_LEAD_CONTACTS_PVT.Delete_sales_lead_contacts(
1280             P_Api_Version_Number         => 2.0,
1281             P_Init_Msg_List              => FND_API.G_FALSE,
1282             P_Commit                     => FND_API.G_FALSE,   -- p_commit,
1283             P_Validation_Level           => P_Validation_Level,
1284             P_Check_Access_Flag          => P_Check_Access_Flag,
1285             P_Admin_Flag                 => P_Admin_Flag,
1286             P_Admin_Group_Id             => P_Admin_Group_Id,
1287             P_identity_salesforce_id     => P_identity_salesforce_id,
1288             P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
1289             P_SALES_LEAD_CONTACT_Tbl     => P_SALES_LEAD_CONTACT_Tbl,
1290             x_SALES_LEAD_CNT_OUT_Tbl     => X_SALES_LEAD_CNT_OUT_Tbl,
1291             X_Return_Status              => x_return_status,
1292             X_Msg_Count                  => x_msg_count,
1293             X_Msg_Data                   => x_msg_data);
1294 
1295       -- Check return status from the above procedure call
1296       IF x_return_status = FND_API.G_RET_STS_ERROR then
1297           raise FND_API.G_EXC_ERROR;
1298       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1299           raise FND_API.G_EXC_UNEXPECTED_ERROR;
1300       END IF;
1301 
1302       --
1303       -- End of API body
1304       --
1305       IF FND_API.to_Boolean( p_commit )
1306       THEN
1307           COMMIT WORK;
1308       END IF;
1309 
1310       -- Debug Message
1311       IF (AS_DEBUG_LOW_ON) THEN
1312 
1313       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1314                                    'Pub: ' || l_api_name || ' End');
1315       END IF;
1316 
1317       IF (AS_DEBUG_LOW_ON) THEN
1318 
1319 
1320 
1321       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
1322                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1323 
1324       END IF;
1325 
1326       -- Standard call to get message count and if count is 1, get message info.
1327       FND_MSG_PUB.Count_And_Get
1328       (  p_count          =>   x_msg_count,
1329          p_data           =>   x_msg_data
1330       );
1331 
1332       EXCEPTION
1333           WHEN FND_API.G_EXC_ERROR THEN
1334               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1335                    P_API_NAME => L_API_NAME
1336                   ,P_PKG_NAME => G_PKG_NAME
1337                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1338                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1339                   ,X_MSG_COUNT => X_MSG_COUNT
1340                   ,X_MSG_DATA => X_MSG_DATA
1341                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1342 
1343           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1344               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1345                    P_API_NAME => L_API_NAME
1346                   ,P_PKG_NAME => G_PKG_NAME
1347                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1348                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1349                   ,X_MSG_COUNT => X_MSG_COUNT
1350                   ,X_MSG_DATA => X_MSG_DATA
1351                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1352 
1353           WHEN OTHERS THEN
1354               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1355                    P_API_NAME => L_API_NAME
1356                   ,P_PKG_NAME => G_PKG_NAME
1357                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1358                   ,P_SQLCODE => SQLCODE
1359                   ,P_SQLERRM => SQLERRM
1360                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1361                   ,X_MSG_COUNT => X_MSG_COUNT
1362                   ,X_MSG_DATA => X_MSG_DATA
1363                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1364 
1365 End Delete_sales_lead_contacts;
1366 
1367 --   API Name:  Get_Potential_Opportunity
1368 --     08/06/2002 SOLIN  Comment out API Get_Potential_Opportunity because
1369 --                       it's moved to package AS_LINK_LEAD_OPP_PUB.
1370 /*
1371 PROCEDURE Get_Potential_Opportunity(
1372     P_Api_Version_Number         IN   NUMBER,
1373     P_Init_Msg_List              IN   VARCHAR2    := FND_API.G_FALSE,
1374     P_Commit                     IN   VARCHAR2    := FND_API.G_FALSE,
1375     p_validation_level           IN   NUMBER      := FND_API.G_VALID_LEVEL_FULL,
1376     P_Check_Access_Flag          IN   VARCHAR2    := FND_API.G_MISS_CHAR,
1377     P_Admin_Flag                 IN   VARCHAR2    := FND_API.G_MISS_CHAR,
1378     P_Admin_Group_Id             IN   NUMBER      := FND_API.G_MISS_NUM,
1379     P_identity_salesforce_id     IN   NUMBER      := FND_API.G_MISS_NUM,
1380     P_Sales_Lead_Profile_Tbl     IN   AS_UTILITY_PUB.Profile_Tbl_Type := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
1381     P_SALES_LEAD_rec             IN   SALES_LEAD_rec_type,
1382     X_Return_Status              OUT NOCOPY  VARCHAR2,
1383     X_Msg_Count                  OUT NOCOPY  NUMBER,
1384     X_Msg_Data                   OUT NOCOPY  VARCHAR2,
1385     X_OPPORTUNITY_TBL            OUT NOCOPY  AS_OPPORTUNITY_PUB.HEADER_TBL_TYPE,
1386     X_OPP_LINES_tbl              OUT NOCOPY  AS_OPPORTUNITY_PUB.LINE_TBL_TYPE
1387 
1388     )
1389  IS
1390     l_api_name             CONSTANT VARCHAR2(30) := 'Get_Potential_Opportunity';
1391     l_api_version_number   CONSTANT NUMBER   := 2.0;
1392 BEGIN
1393       -- Standard Start of API savepoint
1394       SAVEPOINT GET_POTENTIAL_OPPORTUNITY_PUB;
1395 
1396       -- Standard call to check for call compatibility.
1397       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1398                                            p_api_version_number,
1399                                            l_api_name,
1400                                            G_PKG_NAME)
1401       THEN
1402           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1403       END IF;
1404 
1405 
1406       -- Initialize message list if p_init_msg_list is set to TRUE.
1407       IF FND_API.to_Boolean( p_init_msg_list )
1408       THEN
1409           FND_MSG_PUB.initialize;
1410       END IF;
1411 
1412       -- Debug Message
1413       IF (AS_DEBUG_LOW_ON) THEN
1414 
1415       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1416                                    'Pub: ' || l_api_name || ' Start');
1417       END IF;
1418 
1419       IF (AS_DEBUG_LOW_ON) THEN
1420 
1421 
1422 
1423       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1424                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1425 
1426       END IF;
1427 
1428       -- Initialize API return status to SUCCESS
1429       x_return_status := FND_API.G_RET_STS_SUCCESS;
1430 
1431       --
1432       -- API body
1433       --
1434 
1435       -- Calling private API
1436       IF (AS_DEBUG_LOW_ON) THEN
1437 
1438       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1439                                    'PUB: Call PVT.Get_Potential_Opportunity');
1440       END IF;
1441       AS_SALES_LEAD_OPP_PVT.Get_Potential_Opportunity(
1442             P_Api_Version_Number         => 2.0,
1443             P_Init_Msg_List              => FND_API.G_FALSE,
1444             P_Commit                     => FND_API.G_FALSE,
1445             P_Validation_Level           => P_Validation_Level,
1446             P_Check_Access_Flag          => P_Check_Access_Flag,
1447             P_Admin_Flag                 => P_Admin_Flag,
1448             P_Admin_Group_Id             => P_Admin_Group_Id,
1449             P_identity_salesforce_id     => P_identity_salesforce_id,
1450             P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
1451             P_SALES_LEAD_Rec             => P_SALES_LEAD_Rec,
1452             X_Return_Status              => x_return_status,
1453             X_Msg_Count                  => x_msg_count,
1454             X_Msg_Data                   => x_msg_data,
1455             X_OPPORTUNITY_TBL            => X_OPPORTUNITY_TBL,
1456             X_OPP_LINES_tbl              => X_OPP_LINES_tbl
1457       );
1458 
1459       -- Check return status from the above procedure call
1460       IF x_return_status = FND_API.G_RET_STS_ERROR then
1461           raise FND_API.G_EXC_ERROR;
1462       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1463           raise FND_API.G_EXC_UNEXPECTED_ERROR;
1464       END IF;
1465 
1466       --
1467       -- End of API body
1468       --
1469       IF FND_API.to_Boolean( p_commit )
1470       THEN
1471           COMMIT WORK;
1472       END IF;
1473 
1474       -- Debug Message
1475       IF (AS_DEBUG_LOW_ON) THEN
1476 
1477       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1478                                    'Pub: ' || l_api_name || ' End');
1479       END IF;
1480 
1481       IF (AS_DEBUG_LOW_ON) THEN
1482 
1483 
1484 
1485       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
1486                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1487 
1488       END IF;
1489 
1490       -- Standard call to get message count and if count is 1, get message info.
1491       FND_MSG_PUB.Count_And_Get
1492       (  p_count          =>   x_msg_count,
1493          p_data           =>   x_msg_data
1494       );
1495 
1496       EXCEPTION
1497           WHEN FND_API.G_EXC_ERROR THEN
1498               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1499                    P_API_NAME => L_API_NAME
1500                   ,P_PKG_NAME => G_PKG_NAME
1501                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1502                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1503                   ,X_MSG_COUNT => X_MSG_COUNT
1504                   ,X_MSG_DATA => X_MSG_DATA
1505                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1506 
1507           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1508               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1509                    P_API_NAME => L_API_NAME
1510                   ,P_PKG_NAME => G_PKG_NAME
1511                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1512                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1513                   ,X_MSG_COUNT => X_MSG_COUNT
1514                   ,X_MSG_DATA => X_MSG_DATA
1515                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1516 
1517           WHEN OTHERS THEN
1518               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1519                    P_API_NAME => L_API_NAME
1520                   ,P_PKG_NAME => G_PKG_NAME
1521                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1522                   ,P_SQLCODE => SQLCODE
1523                   ,P_SQLERRM => SQLERRM
1524                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1525                   ,X_MSG_COUNT => X_MSG_COUNT
1526                   ,X_MSG_DATA => X_MSG_DATA
1527                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1528 
1529 
1530 
1531 End Get_Potential_Opportunity;
1532 */
1533 
1534 --   API Name:  Copy_Lead_To_Opportunity
1535 /* API renamed by Francis on 06/26/2001 from Link_Lead_To_Opportunity to Copy_Lead_To_Opportunity */
1536 
1537 PROCEDURE Copy_Lead_To_Opportunity(
1538     P_Api_Version_Number         IN   NUMBER,
1539     P_Init_Msg_List              IN   VARCHAR2    := FND_API.G_FALSE,
1540     P_Commit                     IN   VARCHAR2    := FND_API.G_FALSE,
1541     p_validation_level           IN   NUMBER      := FND_API.G_VALID_LEVEL_FULL,
1542     P_Check_Access_Flag          IN   VARCHAR2    := FND_API.G_MISS_CHAR,
1543     P_Admin_Flag                 IN   VARCHAR2    := FND_API.G_MISS_CHAR,
1544     P_Admin_Group_Id             IN   NUMBER      := FND_API.G_MISS_NUM,
1545     P_identity_salesforce_id     IN   NUMBER      := FND_API.G_MISS_NUM,
1546     P_identity_salesgroup_id	 IN   NUMBER      := FND_API.G_MISS_NUM,
1547     P_Sales_Lead_Profile_Tbl     IN   AS_UTILITY_PUB.Profile_Tbl_Type := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
1548     P_SALES_LEAD_ID              IN   NUMBER,
1549     P_SALES_LEAD_LINE_TBL        IN   SALES_LEAD_LINE_TBL_TYPE
1550                                                   := G_MISS_SALES_LEAD_LINE_TBL,
1551     P_OPPORTUNITY_ID             IN   NUMBER,
1552     X_Return_Status              OUT NOCOPY  VARCHAR2,
1553     X_Msg_Count                  OUT NOCOPY  NUMBER,
1554     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1555     )
1556  IS
1557     l_api_name             CONSTANT VARCHAR2(30) := 'Copy_Lead_To_Opportunity';
1558     l_api_version_number   CONSTANT NUMBER   := 2.0;
1559 
1560 BEGIN
1561       -- Standard Start of API savepoint
1562       SAVEPOINT COPY_LEAD_TO_OPPORTUNITY_PUB;
1563 
1564       -- Standard call to check for call compatibility.
1565       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1566                                            p_api_version_number,
1567                                            l_api_name,
1568                                            G_PKG_NAME)
1569       THEN
1570           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1571       END IF;
1572 
1573 
1574       -- Initialize message list if p_init_msg_list is set to TRUE.
1575       IF FND_API.to_Boolean( p_init_msg_list )
1576       THEN
1577           FND_MSG_PUB.initialize;
1578       END IF;
1579 
1580       -- Debug Message
1581       IF (AS_DEBUG_LOW_ON) THEN
1582 
1583       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1584                                    'Pub: ' || l_api_name || ' Start');
1585       END IF;
1586 
1587       IF (AS_DEBUG_LOW_ON) THEN
1588 
1589 
1590 
1591       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1592                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1593 
1594       END IF;
1595 
1596       -- Initialize API return status to SUCCESS
1597       x_return_status := FND_API.G_RET_STS_SUCCESS;
1598 
1599       --
1600       -- API body
1601       --
1602       -- Calling private API
1603       IF (AS_DEBUG_LOW_ON) THEN
1604 
1605       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1606                                    'PUB: Call PVT.Copy_Lead_To_Opportunity');
1607       END IF;
1608       AS_SALES_LEAD_OPP_PVT.Copy_Lead_To_Opportunity(
1609             P_Api_Version_Number         => 2.0,
1610             P_Init_Msg_List              => FND_API.G_FALSE,
1611             P_Commit                     => FND_API.G_FALSE,
1612             P_Validation_Level           => P_Validation_Level,
1613             P_Check_Access_Flag          => P_Check_Access_Flag,
1614             P_Admin_Flag                 => P_Admin_Flag,
1615             P_Admin_Group_Id             => P_Admin_Group_Id,
1616             P_identity_salesforce_id     => P_identity_salesforce_id,
1617             P_identity_salesgroup_id	 => P_identity_salesgroup_id,
1618             P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
1619             P_SALES_LEAD_ID              => p_SALES_LEAD_ID ,
1620             P_SALES_LEAD_LINE_TBL        => P_SALES_LEAD_LINE_TBL,
1621             P_OPPORTUNITY_ID             => P_OPPORTUNITY_ID,
1622             X_Return_Status              => x_return_status,
1623             X_Msg_Count                  => x_msg_count,
1624             X_Msg_Data                   => x_msg_data);
1625 
1626       -- Check return status from the above procedure call
1627       IF x_return_status = FND_API.G_RET_STS_ERROR then
1628           raise FND_API.G_EXC_ERROR;
1629       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1630           raise FND_API.G_EXC_UNEXPECTED_ERROR;
1631       END IF;
1632 
1633       --
1634       -- End of API body
1635       --
1636       IF FND_API.to_Boolean( p_commit )
1637       THEN
1638           COMMIT WORK;
1639       END IF;
1640 
1641       -- Debug Message
1642       IF (AS_DEBUG_LOW_ON) THEN
1643 
1644       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1645                                    'Pub: ' || l_api_name || ' End');
1646       END IF;
1647 
1648       IF (AS_DEBUG_LOW_ON) THEN
1649 
1650 
1651 
1652       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
1653                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1654 
1655       END IF;
1656 
1657       -- Standard call to get message count and if count is 1, get message info.
1658       FND_MSG_PUB.Count_And_Get
1659       (  p_count          =>   x_msg_count,
1660          p_data           =>   x_msg_data
1661       );
1662 
1663       EXCEPTION
1664           WHEN FND_API.G_EXC_ERROR THEN
1665               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1666                    P_API_NAME => L_API_NAME
1667                   ,P_PKG_NAME => G_PKG_NAME
1668                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1669                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1670                   ,X_MSG_COUNT => X_MSG_COUNT
1671                   ,X_MSG_DATA => X_MSG_DATA
1672                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1673 
1674           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1675               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1676                    P_API_NAME => L_API_NAME
1677                   ,P_PKG_NAME => G_PKG_NAME
1678                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1679                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1680                   ,X_MSG_COUNT => X_MSG_COUNT
1681                   ,X_MSG_DATA => X_MSG_DATA
1682                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1683 
1684           WHEN OTHERS THEN
1685               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1686                    P_API_NAME => L_API_NAME
1687                   ,P_PKG_NAME => G_PKG_NAME
1688                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1689                   ,P_SQLCODE => SQLCODE
1690                   ,P_SQLERRM => SQLERRM
1691                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1692                   ,X_MSG_COUNT => X_MSG_COUNT
1693                   ,X_MSG_DATA => X_MSG_DATA
1694                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1695 End Copy_Lead_To_Opportunity;
1696 
1697 
1698 
1699 
1700 
1701 
1702 --   API Name:  Link_Lead_To_Opportunity
1703 /* API added by Francis on 06/26/2001 */
1704 
1705 PROCEDURE Link_Lead_To_Opportunity(
1706     P_Api_Version_Number         IN   NUMBER,
1707     P_Init_Msg_List              IN   VARCHAR2    := FND_API.G_FALSE,
1708     P_Commit                     IN   VARCHAR2    := FND_API.G_FALSE,
1709     p_validation_level           IN   NUMBER      := FND_API.G_VALID_LEVEL_FULL,
1710     P_Check_Access_Flag          IN   VARCHAR2    := FND_API.G_MISS_CHAR,
1711     P_Admin_Flag                 IN   VARCHAR2    := FND_API.G_MISS_CHAR,
1712     P_Admin_Group_Id             IN   NUMBER      := FND_API.G_MISS_NUM,
1713     P_identity_salesforce_id     IN   NUMBER      := FND_API.G_MISS_NUM,
1714     P_identity_salesgroup_id	 IN   NUMBER      := FND_API.G_MISS_NUM,
1715     P_Sales_Lead_Profile_Tbl     IN   AS_UTILITY_PUB.Profile_Tbl_Type := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
1716     P_SALES_LEAD_ID              IN   NUMBER,
1717     P_OPPORTUNITY_ID             IN   NUMBER,
1718     X_Return_Status              OUT NOCOPY  VARCHAR2,
1719     X_Msg_Count                  OUT NOCOPY  NUMBER,
1720     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1721     )
1722  IS
1723     l_api_name             CONSTANT VARCHAR2(30) := 'Link_Lead_To_Opportunity';
1724     l_api_version_number   CONSTANT NUMBER   := 2.0;
1725     l_SALES_LEAD_Rec         AS_SALES_LEADS_PUB.SALES_LEAD_Rec_Type
1726                                       DEFAULT AS_SALES_LEADS_PUB.G_MISS_SALES_LEAD_REC;
1727     CURSOR C_Get_Sales_Lead (X_Sales_Lead_Id NUMBER) IS
1728       SELECT sales_lead_id
1729              ,last_update_date
1730              ,last_updated_by
1731              ,creation_date
1732              ,created_by
1733              ,last_update_login
1734              ,request_id
1735              ,program_application_id
1736              ,program_id
1737              ,program_update_date
1738              ,lead_number
1739              ,status_code
1740              ,customer_id
1741              ,address_id
1742              ,source_promotion_id
1743              ,initiating_contact_id
1744              ,orig_system_reference
1745              ,contact_role_code
1746              ,channel_code
1747              ,budget_amount
1748              ,currency_code
1749              ,decision_timeframe_code
1750              ,close_reason
1751              ,lead_rank_code
1752              ,parent_project
1753              ,description
1754              ,attribute_category
1755              ,attribute1
1756              ,attribute2
1757              ,attribute3
1758              ,attribute4
1759              ,attribute5
1760              ,attribute6
1761              ,attribute7
1762              ,attribute8
1763              ,attribute9
1764              ,attribute10
1765              ,attribute11
1766              ,attribute12
1767              ,attribute13
1768              ,attribute14
1769              ,attribute15
1770              ,assign_to_person_id
1771              ,assign_to_salesforce_id
1772              ,budget_status_code
1773              ,assign_date
1774              ,accept_flag
1775              ,vehicle_response_code
1776              ,total_score
1777              ,scorecard_id
1778              ,keep_flag
1779              ,urgent_flag
1780              ,import_flag
1781              ,reject_reason_code
1782              ,lead_rank_id
1783              ,deleted_flag
1784              ,assign_sales_group_id
1785              ,offer_id
1786              -- ,security_group_id
1787              ,incumbent_partner_party_id
1788              ,incumbent_partner_resource_id
1789              ,PRM_EXEC_SPONSOR_FLAG
1790              ,PRM_PRJ_LEAD_IN_PLACE_FLAG
1791              ,PRM_SALES_LEAD_TYPE
1792              ,PRM_IND_CLASSIFICATION_CODE
1793              ,QUALIFIED_FLAG
1794              ,ORIG_SYSTEM_CODE
1795              ,PRM_ASSIGNMENT_TYPE
1796              ,AUTO_ASSIGNMENT_TYPE
1797              ,PRIMARY_CONTACT_PARTY_ID
1798 
1799              ,PRIMARY_CNT_PERSON_PARTY_ID
1800              ,PRIMARY_CONTACT_PHONE_ID
1801 
1802 
1803              ,REFERRED_BY
1804              ,REFERRAL_TYPE
1805              ,REFERRAL_STATUS
1806              ,REF_DECLINE_REASON
1807              ,REF_COMM_LTR_STATUS
1808              ,REF_ORDER_NUMBER
1809              ,REF_ORDER_AMT
1810              ,REF_COMM_AMT
1811 -- bug No.2341515, 2368075
1812 	     ,LEAD_DATE
1813 	     ,SOURCE_SYSTEM
1814 	     ,COUNTRY
1815 
1816 -- 11.5.9
1817 	, TOTAL_AMOUNT
1818 	,EXPIRATION_DATE
1819 	,LEAD_RANK_IND
1820 	,LEAD_ENGINE_RUN_DATE
1821 	,CURRENT_REROUTES
1822 
1823       FROM as_sales_leads
1824       WHERE sales_lead_id = X_Sales_Lead_Id;
1825 
1826 BEGIN
1827       -- Standard Start of API savepoint
1828       SAVEPOINT LINK_LEAD_TO_OPPORTUNITY_PUB;
1829 
1830       -- Standard call to check for call compatibility.
1831       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1832                                            p_api_version_number,
1833                                            l_api_name,
1834                                            G_PKG_NAME)
1835       THEN
1836           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1837       END IF;
1838 
1839 
1840       -- Initialize message list if p_init_msg_list is set to TRUE.
1841       IF FND_API.to_Boolean( p_init_msg_list )
1842       THEN
1843           FND_MSG_PUB.initialize;
1844       END IF;
1845 
1846       -- Debug Message
1847       IF (AS_DEBUG_LOW_ON) THEN
1848 
1849       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1850                                    'Pub: ' || l_api_name || ' Start');
1851       END IF;
1852 
1853       IF (AS_DEBUG_LOW_ON) THEN
1854 
1855 
1856 
1857       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1858                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1859 
1860       END IF;
1861 
1862       -- Initialize API return status to SUCCESS
1863       x_return_status := FND_API.G_RET_STS_SUCCESS;
1864 
1865       --
1866       -- API body
1867       --
1868       -- Calling private API
1869       IF (AS_DEBUG_LOW_ON) THEN
1870 
1871       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1872                                    'PUB: Call PVT.Link_Lead_To_Opportunity');
1873       END IF;
1874       AS_SALES_LEAD_OPP_PVT.Link_Lead_To_Opportunity(
1875             P_Api_Version_Number         => 2.0,
1876             P_Init_Msg_List              => FND_API.G_FALSE,
1877             P_Commit                     => FND_API.G_FALSE,
1878             P_Validation_Level           => P_Validation_Level,
1879             P_Check_Access_Flag          => P_Check_Access_Flag,
1880             P_Admin_Flag                 => P_Admin_Flag,
1881             P_Admin_Group_Id             => P_Admin_Group_Id,
1882             P_identity_salesforce_id     => P_identity_salesforce_id,
1883             P_identity_salesgroup_id	 => P_identity_salesgroup_id,
1884             P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
1885             P_SALES_LEAD_ID              => p_SALES_LEAD_ID ,
1886             P_OPPORTUNITY_ID             => P_OPPORTUNITY_ID,
1887             X_Return_Status              => x_return_status,
1888             X_Msg_Count                  => x_msg_count,
1889             X_Msg_Data                   => x_msg_data);
1890 
1891       -- Check return status from the above procedure call
1892       IF x_return_status = FND_API.G_RET_STS_ERROR then
1893           raise FND_API.G_EXC_ERROR;
1894       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1895           raise FND_API.G_EXC_UNEXPECTED_ERROR;
1896       END IF;
1897 
1898 --- Anji's code starts here
1899 -- Ajoy, Referral functionality decommissioned - start, 07/19/02
1900 /*
1901       OPEN  C_Get_Sales_Lead (P_Sales_Lead_Id);
1902       FETCH C_Get_Sales_Lead INTO
1903             l_Sales_Lead_Rec.sales_lead_id
1904            ,l_Sales_Lead_Rec.last_update_date
1905            ,l_Sales_Lead_Rec.last_updated_by
1906            ,l_Sales_Lead_Rec.creation_date
1907            ,l_Sales_Lead_Rec.created_by
1908            ,l_Sales_Lead_Rec.last_update_login
1909            ,l_Sales_Lead_Rec.request_id
1910            ,l_Sales_Lead_Rec.program_application_id
1911            ,l_Sales_Lead_Rec.program_id
1912            ,l_Sales_Lead_Rec.program_update_date
1913            ,l_Sales_Lead_Rec.lead_number
1914            ,l_Sales_Lead_Rec.status_code
1915            ,l_Sales_Lead_Rec.customer_id
1916            ,l_Sales_Lead_Rec.address_id
1917            ,l_Sales_Lead_Rec.source_promotion_id
1918            ,l_Sales_Lead_Rec.initiating_contact_id
1919            ,l_Sales_Lead_Rec.orig_system_reference
1920            ,l_Sales_Lead_Rec.contact_role_code
1921            ,l_Sales_Lead_Rec.channel_code
1922            ,l_Sales_Lead_Rec.budget_amount
1923            ,l_Sales_Lead_Rec.currency_code
1924            ,l_Sales_Lead_Rec.decision_timeframe_code
1925            ,l_Sales_Lead_Rec.close_reason
1926            ,l_Sales_Lead_Rec.lead_rank_code
1927            ,l_Sales_Lead_Rec.parent_project
1928            ,l_Sales_Lead_Rec.description
1929            ,l_Sales_Lead_Rec.attribute_category
1930            ,l_Sales_Lead_Rec.attribute1
1931            ,l_Sales_Lead_Rec.attribute2
1932            ,l_Sales_Lead_Rec.attribute3
1933            ,l_Sales_Lead_Rec.attribute4
1934            ,l_Sales_Lead_Rec.attribute5
1935            ,l_Sales_Lead_Rec.attribute6
1936            ,l_Sales_Lead_Rec.attribute7
1937            ,l_Sales_Lead_Rec.attribute8
1938            ,l_Sales_Lead_Rec.attribute9
1939            ,l_Sales_Lead_Rec.attribute10
1940            ,l_Sales_Lead_Rec.attribute11
1941            ,l_Sales_Lead_Rec.attribute12
1942            ,l_Sales_Lead_Rec.attribute13
1943            ,l_Sales_Lead_Rec.attribute14
1944            ,l_Sales_Lead_Rec.attribute15
1945            ,l_Sales_Lead_Rec.assign_to_person_id
1946            ,l_Sales_Lead_Rec.assign_to_salesforce_id
1947            ,l_Sales_Lead_Rec.budget_status_code
1948            ,l_Sales_Lead_Rec.assign_date
1949            ,l_Sales_Lead_Rec.accept_flag
1950            ,l_Sales_Lead_Rec.vehicle_response_code
1951            ,l_Sales_Lead_Rec.total_score
1952            ,l_Sales_Lead_Rec.scorecard_id
1953            ,l_Sales_Lead_Rec.keep_flag
1954            ,l_Sales_Lead_Rec.urgent_flag
1955            ,l_Sales_Lead_Rec.import_flag
1956            ,l_Sales_Lead_Rec.reject_reason_code
1957            ,l_Sales_Lead_Rec.lead_rank_id
1958            ,l_Sales_Lead_Rec.deleted_flag
1959            ,l_Sales_Lead_Rec.assign_sales_group_id
1960            ,l_Sales_Lead_Rec.offer_id
1961            -- ,l_Sales_Lead_Rec.security_group_id
1962            ,l_Sales_Lead_Rec.incumbent_partner_party_id
1963            ,l_Sales_Lead_Rec.incumbent_partner_resource_id
1964            ,l_Sales_Lead_Rec.PRM_EXEC_SPONSOR_FLAG
1965             ,l_Sales_Lead_Rec.PRM_PRJ_LEAD_IN_PLACE_FLAG
1966             ,l_Sales_Lead_Rec.PRM_SALES_LEAD_TYPE
1967             ,l_Sales_Lead_Rec.PRM_IND_CLASSIFICATION_CODE
1968             ,l_Sales_Lead_Rec.QUALIFIED_FLAG
1969             ,l_Sales_Lead_Rec.ORIG_SYSTEM_CODE
1970             ,l_Sales_Lead_Rec.PRM_ASSIGNMENT_TYPE
1971              ,l_Sales_Lead_Rec.AUTO_ASSIGNMENT_TYPE
1972              ,l_Sales_Lead_Rec.PRIMARY_CONTACT_PARTY_ID
1973 
1974              ,l_Sales_Lead_Rec.PRIMARY_CNT_PERSON_PARTY_ID
1975              ,l_Sales_Lead_Rec.PRIMARY_CONTACT_PHONE_ID
1976 
1977 
1978              ,l_Sales_Lead_Rec.REFERRED_BY
1979              ,l_Sales_Lead_Rec.REFERRAL_TYPE
1980              ,l_Sales_Lead_Rec.REFERRAL_STATUS
1981              ,l_Sales_Lead_Rec.REF_DECLINE_REASON
1982              ,l_Sales_Lead_Rec.REF_COMM_LTR_STATUS
1983              ,l_Sales_Lead_Rec.REF_ORDER_NUMBER
1984              ,l_Sales_Lead_Rec.REF_ORDER_AMT
1985              ,l_Sales_Lead_Rec.REF_COMM_AMT
1986 -- bug No.2341515, 2368075
1987 	     ,l_Sales_Lead_Rec.LEAD_DATE
1988 	     ,l_Sales_Lead_Rec.SOURCE_SYSTEM
1989 	     ,l_Sales_Lead_Rec.COUNTRY
1990 
1991 	     -- 11.5.9
1992 	     	, l_Sales_Lead_Rec.TOTAL_AMOUNT
1993 	     	,l_Sales_Lead_Rec.EXPIRATION_DATE
1994 	     	,l_Sales_Lead_Rec.LEAD_RANK_IND
1995 	     	,l_Sales_Lead_Rec.LEAD_ENGINE_RUN_DATE
1996 		,l_Sales_Lead_Rec.CURRENT_REROUTES
1997 
1998            ;
1999 
2000      l_sales_lead_rec.SALES_LEAD_ID:=P_SALES_LEAD_ID;
2001      l_sales_lead_rec.referral_status:=fnd_profile.value('REF_STATUS_FOR_LINK_LEAD');
2002 
2003    AS_SALES_LEAD_REFERRAL.Update_sales_referral_lead(
2004             P_Api_Version_Number         => 2.0,
2005             P_Init_Msg_List              => FND_API.G_FALSE,
2006             P_Commit                     => FND_API.G_FALSE,
2007             P_Validation_Level           => P_Validation_Level,
2008             P_Check_Access_Flag          => P_Check_Access_Flag,
2009             P_Admin_Flag                 => P_Admin_Flag,
2010             P_Admin_Group_Id             => P_Admin_Group_Id,
2011             P_identity_salesforce_id     => P_identity_salesforce_id,
2012             P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
2013             P_SALES_LEAD_Rec		     => l_sales_lead_rec,
2014             p_overriding_usernames       => AS_SALES_LEAD_REFERRAL.G_MISS_OVER_USERNAMES_TBL,
2015             X_Return_Status              => x_return_status,
2016             X_Msg_Count                  => x_msg_count,
2017             X_Msg_Data                   => x_msg_data
2018         );
2019 */
2020 -- Ajoy, Referral functionality decommissioned - end, 07/19/02
2021 
2022 --REF_STATUS_FOR_LINK_LEAD
2023 --- Anji's code ends here
2024       --
2025       -- End of API body
2026       --
2027       IF FND_API.to_Boolean( p_commit )
2028       THEN
2029           COMMIT WORK;
2030       END IF;
2031 
2032       -- Debug Message
2033       IF (AS_DEBUG_LOW_ON) THEN
2034 
2035       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2036                                    'Pub: ' || l_api_name || ' End');
2037       END IF;
2038 
2039       IF (AS_DEBUG_LOW_ON) THEN
2040 
2041 
2042 
2043       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
2044                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2045 
2046       END IF;
2047 
2048       -- Standard call to get message count and if count is 1, get message info.
2049       FND_MSG_PUB.Count_And_Get
2050       (  p_count          =>   x_msg_count,
2051          p_data           =>   x_msg_data
2052       );
2053 
2054       EXCEPTION
2055           WHEN FND_API.G_EXC_ERROR THEN
2056               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2057                    P_API_NAME => L_API_NAME
2058                   ,P_PKG_NAME => G_PKG_NAME
2059                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2060                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2061                   ,X_MSG_COUNT => X_MSG_COUNT
2062                   ,X_MSG_DATA => X_MSG_DATA
2063                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2064 
2065           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2066               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2067                    P_API_NAME => L_API_NAME
2068                   ,P_PKG_NAME => G_PKG_NAME
2069                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2070                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2071                   ,X_MSG_COUNT => X_MSG_COUNT
2072                   ,X_MSG_DATA => X_MSG_DATA
2073                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2074 
2075           WHEN OTHERS THEN
2076               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2077                    P_API_NAME => L_API_NAME
2078                   ,P_PKG_NAME => G_PKG_NAME
2079                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2080                   ,P_SQLCODE => SQLCODE
2081                   ,P_SQLERRM => SQLERRM
2082                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2083                   ,X_MSG_COUNT => X_MSG_COUNT
2084                   ,X_MSG_DATA => X_MSG_DATA
2085                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2086 End Link_Lead_To_Opportunity;
2087 
2088 
2089 /* API added by Jaya Raman on 03/05/2002 */
2090 --   API Name:  Create_Opp_Entity_Attributes
2091 PROCEDURE Create_Opp_Entity_Attributes(
2092     P_Api_Version_Number         IN   NUMBER,
2093     P_Init_Msg_List              IN   VARCHAR2    := FND_API.G_FALSE,
2094     P_Commit                     IN   VARCHAR2    := FND_API.G_FALSE,
2095     p_validation_level           IN   NUMBER      := FND_API.G_VALID_LEVEL_FULL,
2096     P_SALES_LEAD_ID              IN   NUMBER,
2097     P_OPPORTUNITY_ID             IN   NUMBER,
2098     X_Return_Status              OUT NOCOPY  VARCHAR2,
2099     X_Msg_Count                  OUT NOCOPY  NUMBER,
2100     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2101     )
2102  IS
2103     l_api_name         	   	CONSTANT VARCHAR2(30) := 'Create_Opp_Entity_Attributes';
2104     l_api_version_number   	CONSTANT NUMBER   := 2.0;
2105     l_validation_level   	CONSTANT NUMBER   := FND_API.G_VALID_LEVEL_FULL;
2106 
2107     l_enty_attr_val_rec 		PV_ENTY_ATTR_VALUE_PVT.enty_attr_val_rec_type ;
2108     x_enty_attr_val_id        PV_ENTY_ATTR_VALUES.ENTY_ATTR_VAL_ID%TYPE;
2109 
2110      CURSOR C_Get_Entity_Attributes (X_Sales_Lead_Id NUMBER) IS
2111       SELECT  attribute_id
2112              ,attr_value
2113 	        ,party_id
2114 	        ,score
2115       FROM pv_enty_attr_values PVAV
2116       WHERE entity_id = X_Sales_Lead_Id
2117 	 AND   entity = 'SALES_LEAD'
2118 	 AND   enabled_flag = 'Y'
2119 	 AND   attribute_id in  (Select    ATTRIBUTE_ID
2120 						FROM 	PV_ENTITY_ATTRS pva
2121 	 		     		where  	entity='LEAD'
2122 						and 		pva.ATTRIBUTE_ID = pvav.attribute_id
2123 					     and       enabled_flag = 'Y'
2124 						);
2125 BEGIN
2126       -- Standard Start of API savepoint
2127       SAVEPOINT CREATE_OPP_ENTITY_ATTRIBUTE;
2128 
2129       -- Standard call to check for call compatibility.
2130       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2131                                            p_api_version_number,
2132                                            l_api_name,
2133                                            G_PKG_NAME)
2134       THEN
2135           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2136       END IF;
2137 
2138 
2139       -- Initialize message list if p_init_msg_list is set to TRUE.
2140       IF FND_API.to_Boolean( p_init_msg_list )
2141       THEN
2142           FND_MSG_PUB.initialize;
2143       END IF;
2144 
2145       -- Debug Message
2146       IF (AS_DEBUG_LOW_ON) THEN
2147 
2148       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2149                                    'Pub: ' || l_api_name || ' Start');
2150       END IF;
2151 
2152       IF (AS_DEBUG_LOW_ON) THEN
2153 
2154 
2155 
2156       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2157                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2158 
2159       END IF;
2160 
2161       -- Initialize API return status to SUCCESS
2162       x_return_status := FND_API.G_RET_STS_SUCCESS;
2163 
2164       --
2165       -- API body
2166       --
2167       -- Calling private API
2168       IF (AS_DEBUG_LOW_ON) THEN
2169 
2170       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2171                                'PUB: Calling PVT.PV_Enty_Attr_Values_PVT.Create_Attr_Value');
2172       END IF;
2173 
2174 
2175       -- Check return status from the above procedure call
2176       IF x_return_status = FND_API.G_RET_STS_ERROR then
2177           raise FND_API.G_EXC_ERROR;
2178       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2179           raise FND_API.G_EXC_UNEXPECTED_ERROR;
2180       END IF;
2181 
2182 
2183       OPEN  C_Get_Entity_Attributes (P_Sales_Lead_Id);
2184 	 LOOP
2185       	FETCH C_Get_Entity_Attributes INTO
2186 				l_enty_attr_val_rec.attribute_id
2187 			,	l_enty_attr_val_rec.attr_value
2188 			,	l_enty_attr_val_rec.party_id
2189 			,	l_enty_attr_val_rec.score;
2190 		EXIT WHEN C_Get_Entity_Attributes%NOTFOUND;
2191 
2192 
2193 		l_enty_attr_val_rec.entity := 'LEAD';
2194 		l_enty_attr_val_rec.entity_id := p_Opportunity_Id;
2195 		l_enty_attr_val_rec.enabled_flag := 'Y';
2196 
2197 		 PV_ENTY_ATTR_VALUE_PVT.Create_Attr_Value(
2198 			    p_api_version_number => 1.0,
2199 			    p_init_msg_list      => p_init_msg_list,
2200 			    p_commit             => p_commit,
2201 			    p_validation_level   => l_validation_level,
2202 			    x_return_status      => x_return_status,
2203 			    x_msg_count          => x_msg_count,
2204 			    x_msg_data           => x_msg_data,
2205 			    p_enty_attr_val_rec  => l_enty_attr_val_rec,
2206 			    x_enty_attr_val_id   => x_enty_attr_val_id
2207 			 );
2208 	END LOOP;
2209 
2210       --
2211       -- End of API body
2212       --
2213       IF FND_API.to_Boolean( p_commit )
2214       THEN
2215           COMMIT WORK;
2216       END IF;
2217 
2218       -- Debug Message
2219       IF (AS_DEBUG_LOW_ON) THEN
2220 
2221       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2222                                    'Pub: ' || l_api_name || ' End');
2223       END IF;
2224 
2225       IF (AS_DEBUG_LOW_ON) THEN
2226 
2227 
2228 
2229       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
2230                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2231 
2232       END IF;
2233 
2234       -- Standard call to get message count and if count is 1, get message info.
2235       FND_MSG_PUB.Count_And_Get
2236       (  p_count          =>   x_msg_count,
2237          p_data           =>   x_msg_data
2238       );
2239 EXCEPTION
2240           WHEN FND_API.G_EXC_ERROR THEN
2241               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2242                    P_API_NAME => L_API_NAME
2243                   ,P_PKG_NAME => G_PKG_NAME
2244                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2245                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2246                   ,X_MSG_COUNT => X_MSG_COUNT
2247                   ,X_MSG_DATA => X_MSG_DATA
2248                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2249 
2250           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2251               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2252                    P_API_NAME => L_API_NAME
2253                   ,P_PKG_NAME => G_PKG_NAME
2254                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2255                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2256                   ,X_MSG_COUNT => X_MSG_COUNT
2257                   ,X_MSG_DATA => X_MSG_DATA
2258                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2259 
2260           WHEN OTHERS THEN
2261               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2262                    P_API_NAME => L_API_NAME
2263                   ,P_PKG_NAME => G_PKG_NAME
2264                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2265                   ,P_SQLCODE => SQLCODE
2266                   ,P_SQLERRM => SQLERRM
2267                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2268                   ,X_MSG_COUNT => X_MSG_COUNT
2269                   ,X_MSG_DATA => X_MSG_DATA
2270                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2271 End Create_Opp_Entity_Attributes;
2272 
2273 /* API added by Jaya Raman on 03/05/2002 */
2274 --   API Name:  Create_Opp_Lead_PSS_Lines
2275 PROCEDURE Create_Opp_Lead_PSS_Lines(
2276     P_Api_Version_Number         IN   NUMBER,
2277     P_Init_Msg_List              IN   VARCHAR2    := FND_API.G_FALSE,
2278     P_Commit                     IN   VARCHAR2    := FND_API.G_FALSE,
2279     p_validation_level           IN   NUMBER      := FND_API.G_VALID_LEVEL_FULL,
2280     P_SALES_LEAD_ID              IN   NUMBER,
2281     P_OPPORTUNITY_ID             IN   NUMBER,
2282     X_Return_Status              OUT NOCOPY  VARCHAR2,
2283     X_Msg_Count                  OUT NOCOPY  NUMBER,
2284     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2285     )
2286  IS
2287     l_api_name         	   CONSTANT VARCHAR2(30) := 'Create_Opp_Lead_PSS_Lines';
2288     l_api_version_number   CONSTANT NUMBER   := 2.0;
2289 
2290     l_lead_pss_line_rec    PVX_LEAD_PSS_LINES_PVT.lead_pss_lines_rec_type ;
2291     x_lead_pss_line_id	   PV_LEAD_PSS_LINES.LEAD_PSS_LINE_ID%TYPE;
2292 
2293      CURSOR C_Get_pss_lead_lines (X_Sales_Lead_Id NUMBER) IS
2294       SELECT   	uom_code
2295 			,	quantity
2296 			,	amount
2297 			,	attr_code_id
2298 			,	partner_id
2299 			,	attribute_category
2300 			,	attribute1
2301 			,	attribute2
2302 			,	attribute3
2303 			,	attribute4
2304 			,	attribute5
2305 			,	attribute6
2306 			,	attribute7
2307 			,	attribute8
2308 			,	attribute9
2309 			,	attribute10
2310 			,	attribute11
2311 			,	attribute12
2312 			,	attribute13
2313 			,	attribute14
2314 			,	attribute15
2315       FROM PV_LEAD_PSS_LINES
2316       WHERE object_id = X_Sales_Lead_Id
2317 	 AND   object_name = 'SALES_LEAD';
2318 BEGIN
2319       -- Standard Start of API savepoint
2320       SAVEPOINT CREATE_OPP_PSS_LEAD_LINE;
2321 
2322       -- Standard call to check for call compatibility.
2323       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2324                                            p_api_version_number,
2325                                            l_api_name,
2326                                            G_PKG_NAME)
2327       THEN
2328           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2329       END IF;
2330 
2331 
2332       -- Initialize message list if p_init_msg_list is set to TRUE.
2333       IF FND_API.to_Boolean( p_init_msg_list )
2334       THEN
2335           FND_MSG_PUB.initialize;
2336       END IF;
2337 
2338       -- Debug Message
2339       IF (AS_DEBUG_LOW_ON) THEN
2340 
2341       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2342                                    'Pub: ' || l_api_name || ' Start');
2343       END IF;
2344 
2345       IF (AS_DEBUG_LOW_ON) THEN
2346 
2347 
2348 
2349       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2350                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2351 
2352       END IF;
2353 
2354       -- Initialize API return status to SUCCESS
2355       x_return_status := FND_API.G_RET_STS_SUCCESS;
2356 
2357       --
2358       -- API body
2359       --
2360       -- Calling private API
2361       IF (AS_DEBUG_LOW_ON) THEN
2362 
2363       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2364                                'PUB: Calling PVT.PV_PSS_LEAD_LINES.Create_Lead_PSS_Line');
2365       END IF;
2366 
2367 
2368       -- Check return status from the above procedure call
2369       IF x_return_status = FND_API.G_RET_STS_ERROR then
2370           raise FND_API.G_EXC_ERROR;
2371       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2372           raise FND_API.G_EXC_UNEXPECTED_ERROR;
2373       END IF;
2374 
2375 
2376       OPEN  C_Get_PSS_Lead_Lines (P_Sales_Lead_Id);
2377 	 LOOP
2378       	FETCH C_Get_PSS_Lead_Lines INTO
2379 		      			l_lead_pss_line_rec.uom_code
2380 					,	l_lead_pss_line_rec.quantity
2381 					,	l_lead_pss_line_rec.amount
2382 					,	l_lead_pss_line_rec.attr_code_id
2383 					,	l_lead_pss_line_rec.partner_id
2384 					,	l_lead_pss_line_rec.attribute_category
2385 					,	l_lead_pss_line_rec.attribute1
2386 					,	l_lead_pss_line_rec.attribute2
2387 					,	l_lead_pss_line_rec.attribute3
2388 					,	l_lead_pss_line_rec.attribute4
2389 					,	l_lead_pss_line_rec.attribute5
2390 					,	l_lead_pss_line_rec.attribute6
2391 					,	l_lead_pss_line_rec.attribute7
2392 					,	l_lead_pss_line_rec.attribute8
2393 					,	l_lead_pss_line_rec.attribute9
2394 					,	l_lead_pss_line_rec.attribute10
2395 					,	l_lead_pss_line_rec.attribute11
2396 					,	l_lead_pss_line_rec.attribute12
2397 					,	l_lead_pss_line_rec.attribute13
2398 					,	l_lead_pss_line_rec.attribute14
2399 					,	l_lead_pss_line_rec.attribute15;
2400 		EXIT WHEN C_Get_PSS_Lead_Lines%NOTFOUND;
2401 
2402 		l_lead_pss_line_rec.lead_id := p_opportunity_id;
2403 		l_lead_pss_line_rec.object_id := p_opportunity_id;
2404 		l_lead_pss_line_rec.object_name := 'OPPORTUNITY';
2405 
2406 		PVX_lead_pss_lines_PVT.create_lead_pss_line(
2407 			p_api_version_number => 1.0,
2408 			p_init_msg_list      => p_init_msg_list,
2409 			p_commit             => p_commit,
2410 			p_validation_level   => p_validation_level,
2411 			x_return_status      => x_return_status,
2412 			x_msg_count          => x_msg_count,
2413 			x_msg_data           => x_msg_data,
2414 			p_lead_pss_lines_rec => l_lead_pss_line_rec,
2415 			x_lead_pss_line_id   => x_lead_pss_line_id
2416 			);
2417 	END LOOP;
2418 
2419       --
2420       -- End of API body
2421       --
2422       IF FND_API.to_Boolean( p_commit )
2423       THEN
2424           COMMIT WORK;
2425       END IF;
2426 
2427       -- Debug Message
2428       IF (AS_DEBUG_LOW_ON) THEN
2429 
2430       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2431                                    'Pub: ' || l_api_name || ' End');
2432       END IF;
2433 
2434       IF (AS_DEBUG_LOW_ON) THEN
2435 
2436 
2437 
2438       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
2439                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2440 
2441       END IF;
2442 
2443       -- Standard call to get message count and if count is 1, get message info.
2444       FND_MSG_PUB.Count_And_Get
2445       (  p_count          =>   x_msg_count,
2446          p_data           =>   x_msg_data
2447       );
2448 EXCEPTION
2449           WHEN FND_API.G_EXC_ERROR THEN
2450               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2451                    P_API_NAME => L_API_NAME
2452                   ,P_PKG_NAME => G_PKG_NAME
2453                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2454                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2455                   ,X_MSG_COUNT => X_MSG_COUNT
2456                   ,X_MSG_DATA => X_MSG_DATA
2457                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2458 
2459           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2460               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2461                    P_API_NAME => L_API_NAME
2462                   ,P_PKG_NAME => G_PKG_NAME
2463                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2464                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2465                   ,X_MSG_COUNT => X_MSG_COUNT
2466                   ,X_MSG_DATA => X_MSG_DATA
2467                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2468 
2469           WHEN OTHERS THEN
2470               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2471                    P_API_NAME => L_API_NAME
2472                   ,P_PKG_NAME => G_PKG_NAME
2473                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2474                   ,P_SQLCODE => SQLCODE
2475                   ,P_SQLERRM => SQLERRM
2476                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2477                   ,X_MSG_COUNT => X_MSG_COUNT
2478                   ,X_MSG_DATA => X_MSG_DATA
2479                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2480 End Create_Opp_Lead_PSS_Lines;
2481 
2482 --   API Name:  Create_Opportunity_For_Lead
2483 PROCEDURE Create_Opportunity_For_Lead(
2484     P_Api_Version_Number         IN   NUMBER,
2485     P_Init_Msg_List              IN   VARCHAR2    := FND_API.G_FALSE,
2486     P_Commit                     IN   VARCHAR2    := FND_API.G_FALSE,
2487     p_validation_level           IN   NUMBER      := FND_API.G_VALID_LEVEL_FULL,
2488     P_Check_Access_Flag          IN   VARCHAR2    := FND_API.G_MISS_CHAR,
2489     P_Admin_Flag                 IN   VARCHAR2    := FND_API.G_MISS_CHAR,
2490     P_Admin_Group_Id             IN   NUMBER      := FND_API.G_MISS_NUM,
2491     P_identity_salesforce_id     IN   NUMBER      := FND_API.G_MISS_NUM,
2492     P_identity_salesgroup_id     IN   NUMBER      := FND_API.G_MISS_NUM,
2493     P_Sales_Lead_Profile_Tbl     IN   AS_UTILITY_PUB.Profile_Tbl_Type
2494                                        := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
2495     P_SALES_LEAD_ID              IN   NUMBER,
2496     P_OPP_STATUS                 IN   VARCHAR2    := FND_API.G_MISS_CHAR,
2497     X_Return_Status              OUT NOCOPY  VARCHAR2,
2498     X_Msg_Count                  OUT NOCOPY  NUMBER,
2499     X_Msg_Data                   OUT NOCOPY  VARCHAR2,
2500     X_OPPORTUNITY_ID             OUT NOCOPY  NUMBER
2501     )
2502  IS
2503     l_api_name         CONSTANT VARCHAR2(30) := 'Create_Opp_For_Lead';
2504     l_api_version_number   CONSTANT NUMBER   := 2.0;
2505     l_SALES_LEAD_Rec         AS_SALES_LEADS_PUB.SALES_LEAD_Rec_Type
2506                                       DEFAULT AS_SALES_LEADS_PUB.G_MISS_SALES_LEAD_REC;
2507      CURSOR C_Get_Sales_Lead (X_Sales_Lead_Id NUMBER) IS
2508       SELECT sales_lead_id
2509              ,last_update_date
2510              ,last_updated_by
2511              ,creation_date
2512              ,created_by
2513              ,last_update_login
2514              ,request_id
2515              ,program_application_id
2516              ,program_id
2517              ,program_update_date
2518              ,lead_number
2519              ,status_code
2520              ,customer_id
2521              ,address_id
2522              ,source_promotion_id
2523              ,initiating_contact_id
2524              ,orig_system_reference
2525              ,contact_role_code
2526              ,channel_code
2527              ,budget_amount
2528              ,currency_code
2529              ,decision_timeframe_code
2530              ,close_reason
2531              ,lead_rank_code
2532              ,parent_project
2533              ,description
2534              ,attribute_category
2535              ,attribute1
2536              ,attribute2
2537              ,attribute3
2538              ,attribute4
2539              ,attribute5
2540              ,attribute6
2541              ,attribute7
2542              ,attribute8
2543              ,attribute9
2544              ,attribute10
2545              ,attribute11
2546              ,attribute12
2547              ,attribute13
2548              ,attribute14
2549              ,attribute15
2550              ,assign_to_person_id
2551              ,assign_to_salesforce_id
2552              ,budget_status_code
2553              ,assign_date
2554              ,accept_flag
2555              ,vehicle_response_code
2556              ,total_score
2557              ,scorecard_id
2558              ,keep_flag
2559              ,urgent_flag
2560              ,import_flag
2561              ,reject_reason_code
2562              ,lead_rank_id
2563              ,deleted_flag
2564              ,assign_sales_group_id
2565              ,offer_id
2566              -- ,security_group_id
2567              ,incumbent_partner_party_id
2568              ,incumbent_partner_resource_id
2569              ,PRM_EXEC_SPONSOR_FLAG
2570              ,PRM_PRJ_LEAD_IN_PLACE_FLAG
2571              ,PRM_SALES_LEAD_TYPE
2572              ,PRM_IND_CLASSIFICATION_CODE
2573              ,QUALIFIED_FLAG
2574              ,ORIG_SYSTEM_CODE
2575              ,PRM_ASSIGNMENT_TYPE
2576              ,AUTO_ASSIGNMENT_TYPE
2577              ,PRIMARY_CONTACT_PARTY_ID
2578 
2579              ,PRIMARY_CNT_PERSON_PARTY_ID
2580              ,PRIMARY_CONTACT_PHONE_ID
2581 
2582 
2583              ,REFERRED_BY
2584              ,REFERRAL_TYPE
2585              ,REFERRAL_STATUS
2586              ,REF_DECLINE_REASON
2587              ,REF_COMM_LTR_STATUS
2588              ,REF_ORDER_NUMBER
2589              ,REF_ORDER_AMT
2590              ,REF_COMM_AMT
2591 
2592 -- bug No.2341515, 2368075
2593 	     ,LEAD_DATE
2594 	     ,SOURCE_SYSTEM
2595 	     ,COUNTRY
2596 
2597 	     -- 11.5.9
2598 	     	, TOTAL_AMOUNT
2599 	     	,EXPIRATION_DATE
2600 	     	,LEAD_RANK_IND
2601 	     	,LEAD_ENGINE_RUN_DATE
2602 	,CURRENT_REROUTES
2603 
2604 
2605 
2606 
2607       FROM as_sales_leads
2608       WHERE sales_lead_id = X_Sales_Lead_Id;
2609 BEGIN
2610       -- Standard Start of API savepoint
2611       SAVEPOINT CREATE_OPP_FOR_LEAD_PUB;
2612 
2613       -- Standard call to check for call compatibility.
2614       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2615                                            p_api_version_number,
2616                                            l_api_name,
2617                                            G_PKG_NAME)
2618       THEN
2619           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2620       END IF;
2621 
2622 
2623       -- Initialize message list if p_init_msg_list is set to TRUE.
2624       IF FND_API.to_Boolean( p_init_msg_list )
2625       THEN
2626           FND_MSG_PUB.initialize;
2627       END IF;
2628 
2629       -- Debug Message
2630       IF (AS_DEBUG_LOW_ON) THEN
2631 
2632       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2633                                    'Pub: ' || l_api_name || ' Start');
2634       END IF;
2635 
2636       IF (AS_DEBUG_LOW_ON) THEN
2637 
2638 
2639 
2640       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2641                            'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2642 
2643       END IF;
2644 
2645       -- Initialize API return status to SUCCESS
2646       x_return_status := FND_API.G_RET_STS_SUCCESS;
2647 
2648       --
2649       -- API body
2650       --
2651       -- Calling private API
2652       IF (AS_DEBUG_LOW_ON) THEN
2653 
2654       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2655                                'PUB: Calling PVT.Create_Opportunity_For_Lead');
2656       END IF;
2657 
2658       AS_SALES_LEAD_OPP_PVT.Create_Opportunity_For_Lead(
2659             P_Api_Version_Number         => 2.0,
2660             P_Init_Msg_List              => FND_API.G_FALSE,
2661             P_Commit                     => FND_API.G_FALSE,
2662             P_Validation_Level           => P_Validation_Level,   -- 100,
2663             P_Check_Access_Flag          => P_Check_Access_Flag,   -- 'N',
2664             P_Admin_Flag                 => P_Admin_Flag,
2665             P_Admin_Group_Id             => P_Admin_Group_Id,
2666             P_identity_salesforce_id     => P_identity_salesforce_id,
2667             P_identity_salesgroup_id	 => P_identity_salesgroup_id,
2668             P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
2669             P_SALES_LEAD_ID              => p_SALES_LEAD_ID ,
2670             P_OPP_STATUS                 => P_OPP_STATUS,
2671             X_Return_Status              => x_return_status,
2672             X_Msg_Count                  => x_msg_count,
2673             X_Msg_Data                   => x_msg_data,
2674             X_OPPORTUNITY_ID             => X_OPPORTUNITY_ID);
2675 
2676       -- Check return status from the above procedure call
2677       IF x_return_status = FND_API.G_RET_STS_ERROR then
2678           raise FND_API.G_EXC_ERROR;
2679       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2680           raise FND_API.G_EXC_UNEXPECTED_ERROR;
2681       END IF;
2682 
2683       --  Jaya Raman The following code will create the Entity Attributes
2684       --             and  PSS Lead Lines for the opportunity.
2685 
2686       -- Ajoy, commented out as this functionality is required now.
2687       /*
2688 	Create_Opp_Entity_Attributes(
2689             	P_Api_Version_Number         => 2.0,
2690             	P_Init_Msg_List              => FND_API.G_FALSE,
2691             	P_Commit                     => FND_API.G_TRUE,
2692             	P_Validation_Level           => P_Validation_Level,
2693     			P_SALES_LEAD_ID              => p_SALES_LEAD_ID,
2694     			P_OPPORTUNITY_ID             => X_OPPORTUNITY_ID,
2695     			X_Return_Status              => x_return_status,
2696     			X_Msg_Count                  => x_msg_count,
2697     			X_Msg_Data                   => x_msg_data
2698     			);
2699         */
2700 
2701 	/*Jaya Raman Commented this OUT NOCOPY for possible use in the future
2702 	Create_Opp_Lead_PSS_Lines(
2703             	P_Api_Version_Number         => 2.0,
2704             	P_Init_Msg_List              => FND_API.G_FALSE,
2705             	P_Commit                     => FND_API.G_FALSE,
2706             	P_Validation_Level           => P_Validation_Level,
2707     			P_SALES_LEAD_ID              => p_SALES_LEAD_ID,
2708     			P_OPPORTUNITY_ID             => X_OPPORTUNITY_ID,
2709     			X_Return_Status              => x_return_status,
2710     			X_Msg_Count                  => x_msg_count,
2711     			X_Msg_Data                   => x_msg_data
2712     			);
2713 	*/
2714 --- Anji's code starts here
2715 -- Ajoy, Referral functionality decommissioned - start, 07/19/02
2716 /*
2717       OPEN  C_Get_Sales_Lead (P_Sales_Lead_Id);
2718       FETCH C_Get_Sales_Lead INTO
2719             l_Sales_Lead_Rec.sales_lead_id
2720            ,l_Sales_Lead_Rec.last_update_date
2721            ,l_Sales_Lead_Rec.last_updated_by
2722            ,l_Sales_Lead_Rec.creation_date
2723            ,l_Sales_Lead_Rec.created_by
2724            ,l_Sales_Lead_Rec.last_update_login
2725            ,l_Sales_Lead_Rec.request_id
2726            ,l_Sales_Lead_Rec.program_application_id
2727            ,l_Sales_Lead_Rec.program_id
2728            ,l_Sales_Lead_Rec.program_update_date
2729            ,l_Sales_Lead_Rec.lead_number
2730            ,l_Sales_Lead_Rec.status_code
2731            ,l_Sales_Lead_Rec.customer_id
2732            ,l_Sales_Lead_Rec.address_id
2733            ,l_Sales_Lead_Rec.source_promotion_id
2734            ,l_Sales_Lead_Rec.initiating_contact_id
2735            ,l_Sales_Lead_Rec.orig_system_reference
2736            ,l_Sales_Lead_Rec.contact_role_code
2737            ,l_Sales_Lead_Rec.channel_code
2738            ,l_Sales_Lead_Rec.budget_amount
2739            ,l_Sales_Lead_Rec.currency_code
2740            ,l_Sales_Lead_Rec.decision_timeframe_code
2741            ,l_Sales_Lead_Rec.close_reason
2742            ,l_Sales_Lead_Rec.lead_rank_code
2743            ,l_Sales_Lead_Rec.parent_project
2744            ,l_Sales_Lead_Rec.description
2745            ,l_Sales_Lead_Rec.attribute_category
2746            ,l_Sales_Lead_Rec.attribute1
2747            ,l_Sales_Lead_Rec.attribute2
2748            ,l_Sales_Lead_Rec.attribute3
2749            ,l_Sales_Lead_Rec.attribute4
2750            ,l_Sales_Lead_Rec.attribute5
2751            ,l_Sales_Lead_Rec.attribute6
2752            ,l_Sales_Lead_Rec.attribute7
2753            ,l_Sales_Lead_Rec.attribute8
2754            ,l_Sales_Lead_Rec.attribute9
2755            ,l_Sales_Lead_Rec.attribute10
2756            ,l_Sales_Lead_Rec.attribute11
2757            ,l_Sales_Lead_Rec.attribute12
2758            ,l_Sales_Lead_Rec.attribute13
2759            ,l_Sales_Lead_Rec.attribute14
2760            ,l_Sales_Lead_Rec.attribute15
2761            ,l_Sales_Lead_Rec.assign_to_person_id
2762            ,l_Sales_Lead_Rec.assign_to_salesforce_id
2763            ,l_Sales_Lead_Rec.budget_status_code
2764            ,l_Sales_Lead_Rec.assign_date
2765            ,l_Sales_Lead_Rec.accept_flag
2766            ,l_Sales_Lead_Rec.vehicle_response_code
2767            ,l_Sales_Lead_Rec.total_score
2768            ,l_Sales_Lead_Rec.scorecard_id
2769            ,l_Sales_Lead_Rec.keep_flag
2770            ,l_Sales_Lead_Rec.urgent_flag
2771            ,l_Sales_Lead_Rec.import_flag
2772            ,l_Sales_Lead_Rec.reject_reason_code
2773            ,l_Sales_Lead_Rec.lead_rank_id
2774            ,l_Sales_Lead_Rec.deleted_flag
2775            ,l_Sales_Lead_Rec.assign_sales_group_id
2776            ,l_Sales_Lead_Rec.offer_id
2777            -- ,l_Sales_Lead_Rec.security_group_id
2778            ,l_Sales_Lead_Rec.incumbent_partner_party_id
2779            ,l_Sales_Lead_Rec.incumbent_partner_resource_id
2780            ,l_Sales_Lead_Rec.PRM_EXEC_SPONSOR_FLAG
2781             ,l_Sales_Lead_Rec.PRM_PRJ_LEAD_IN_PLACE_FLAG
2782             ,l_Sales_Lead_Rec.PRM_SALES_LEAD_TYPE
2783             ,l_Sales_Lead_Rec.PRM_IND_CLASSIFICATION_CODE
2784             ,l_Sales_Lead_Rec.QUALIFIED_FLAG
2785             ,l_Sales_Lead_Rec.ORIG_SYSTEM_CODE
2786             ,l_Sales_Lead_Rec.PRM_ASSIGNMENT_TYPE
2787              ,l_Sales_Lead_Rec.AUTO_ASSIGNMENT_TYPE
2788              ,l_Sales_Lead_Rec.PRIMARY_CONTACT_PARTY_ID
2789 
2790              ,l_Sales_Lead_Rec.PRIMARY_CNT_PERSON_PARTY_ID
2791              ,l_Sales_Lead_Rec.PRIMARY_CONTACT_PHONE_ID
2792 
2793 
2794              ,l_Sales_Lead_Rec.REFERRED_BY
2795              ,l_Sales_Lead_Rec.REFERRAL_TYPE
2796              ,l_Sales_Lead_Rec.REFERRAL_STATUS
2797              ,l_Sales_Lead_Rec.REF_DECLINE_REASON
2798              ,l_Sales_Lead_Rec.REF_COMM_LTR_STATUS
2799              ,l_Sales_Lead_Rec.REF_ORDER_NUMBER
2800              ,l_Sales_Lead_Rec.REF_ORDER_AMT
2801              ,l_Sales_Lead_Rec.REF_COMM_AMT
2802  -- bug No.2341515, 2368075
2803 	     ,l_Sales_Lead_Rec.LEAD_DATE
2804 	     ,l_Sales_Lead_Rec.SOURCE_SYSTEM
2805 	     ,l_Sales_Lead_Rec.COUNTRY
2806 
2807 	     -- 11.5.9
2808 	     	,l_Sales_Lead_Rec.TOTAL_AMOUNT
2809 	     	,l_Sales_Lead_Rec.EXPIRATION_DATE
2810 	     	,l_Sales_Lead_Rec.LEAD_RANK_IND
2811 	     	,l_Sales_Lead_Rec.LEAD_ENGINE_RUN_DATE
2812 		,l_Sales_Lead_Rec.CURRENT_REROUTES
2813 
2814            ;
2815      l_sales_lead_rec.SALES_LEAD_ID:=P_SALES_LEAD_ID;
2816      l_sales_lead_rec.referral_status:=fnd_profile.value('REF_STATUS_FOR_CONV_LEAD');
2817 
2818    AS_SALES_LEAD_REFERRAL.Update_sales_referral_lead(
2819             P_Api_Version_Number         => 2.0,
2820             P_Init_Msg_List              => FND_API.G_FALSE,
2821             P_Commit                     => FND_API.G_FALSE,
2822             P_Validation_Level           => P_Validation_Level,
2823             P_Check_Access_Flag          => P_Check_Access_Flag,
2824             P_Admin_Flag                 => P_Admin_Flag,
2825             P_Admin_Group_Id             => P_Admin_Group_Id,
2826             P_identity_salesforce_id     => P_identity_salesforce_id,
2827             P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
2828             P_SALES_LEAD_Rec		     => l_sales_lead_rec,
2829             p_overriding_usernames       => AS_SALES_LEAD_REFERRAL.G_MISS_OVER_USERNAMES_TBL,
2830             X_Return_Status              => x_return_status,
2831             X_Msg_Count                  => x_msg_count,
2832             X_Msg_Data                   => x_msg_data
2833         );
2834 */
2835 -- Ajoy, Referral functionality decommissioned - end, 07/19/02
2836 --REF_STATUS_FOR_CONV_LEAD
2837 --- Anji's code ends here
2838 
2839       --
2840       -- End of API body
2841       --
2842       IF FND_API.to_Boolean( p_commit )
2843       THEN
2844           COMMIT WORK;
2845       END IF;
2846 
2847       -- Debug Message
2848       IF (AS_DEBUG_LOW_ON) THEN
2849 
2850       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2851                                    'Pub: ' || l_api_name || ' End');
2852       END IF;
2853 
2854       IF (AS_DEBUG_LOW_ON) THEN
2855 
2856 
2857 
2858       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
2859                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2860 
2861       END IF;
2862 
2863       -- Standard call to get message count and if count is 1, get message info.
2864       FND_MSG_PUB.Count_And_Get
2865       (  p_count          =>   x_msg_count,
2866          p_data           =>   x_msg_data
2867       );
2868 EXCEPTION
2869           WHEN FND_API.G_EXC_ERROR THEN
2870               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2871                    P_API_NAME => L_API_NAME
2872                   ,P_PKG_NAME => G_PKG_NAME
2873                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2874                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2875                   ,X_MSG_COUNT => X_MSG_COUNT
2876                   ,X_MSG_DATA => X_MSG_DATA
2877                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2878 
2879           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2880               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2881                    P_API_NAME => L_API_NAME
2882                   ,P_PKG_NAME => G_PKG_NAME
2883                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2884                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2885                   ,X_MSG_COUNT => X_MSG_COUNT
2886                   ,X_MSG_DATA => X_MSG_DATA
2887                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2888 
2889           WHEN OTHERS THEN
2890               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2891                    P_API_NAME => L_API_NAME
2892                   ,P_PKG_NAME => G_PKG_NAME
2893                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2894                   ,P_SQLCODE => SQLCODE
2895                   ,P_SQLERRM => SQLERRM
2896                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2897                   ,X_MSG_COUNT => X_MSG_COUNT
2898                   ,X_MSG_DATA => X_MSG_DATA
2899                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2900 End Create_Opportunity_For_Lead;
2901 
2902 
2903 --   API Name:  Assign_Sales_Lead
2904 PROCEDURE Assign_Sales_Lead(
2905     P_Api_Version_Number         IN   NUMBER,
2906     P_Init_Msg_List              IN   VARCHAR2    := FND_API.G_FALSE,
2907     P_Commit                     IN   VARCHAR2    := FND_API.G_FALSE,
2908     p_validation_level           IN   NUMBER      := FND_API.G_VALID_LEVEL_FULL,
2909     P_Check_Access_Flag          IN   VARCHAR2    := FND_API.G_MISS_CHAR,
2910     P_Admin_Flag                 IN   VARCHAR2    := FND_API.G_MISS_CHAR,
2911     P_Admin_Group_Id             IN   NUMBER      := FND_API.G_MISS_NUM,
2912     P_identity_salesforce_id     IN   NUMBER      := FND_API.G_MISS_NUM,
2913     P_Sales_Lead_Profile_Tbl     IN   AS_UTILITY_PUB.Profile_Tbl_Type := AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
2914     P_Sales_Lead_Id              IN   NUMBER,
2915     X_Return_Status              OUT NOCOPY  VARCHAR2,
2916     X_Msg_Count                  OUT NOCOPY  NUMBER,
2917     X_Msg_Data                   OUT NOCOPY  VARCHAR2,
2918     X_Assign_Id_Tbl              OUT NOCOPY  Assign_Id_Tbl_Type
2919     )
2920  IS
2921     l_api_name             CONSTANT VARCHAR2(30) := 'Assign_Sales_Lead';
2922     l_api_version_number   CONSTANT NUMBER   := 2.0;
2923 
2924 BEGIN
2925     -- Standard Start of API savepoint
2926     SAVEPOINT ASSIGN_SALES_LEAD_PUB;
2927 
2928     -- Standard call to check for call compatibility.
2929     IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2930                                          p_api_version_number,
2931                                          l_api_name,
2932                                          G_PKG_NAME)
2933     THEN
2934         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2935     END IF;
2936 
2937 
2938     -- Initialize message list if p_init_msg_list is set to TRUE.
2939     IF FND_API.to_Boolean( p_init_msg_list )
2940     THEN
2941         FND_MSG_PUB.initialize;
2942     END IF;
2943 
2944     -- Debug Message
2945     IF (AS_DEBUG_LOW_ON) THEN
2946 
2947     AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2948                                  'Pub: ' || l_api_name || ' Start');
2949     END IF;
2950 
2951     IF (AS_DEBUG_LOW_ON) THEN
2952 
2953 
2954 
2955     AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2956                          'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2957 
2958     END IF;
2959 
2960     -- Initialize API return status to SUCCESS
2961     x_return_status := FND_API.G_RET_STS_SUCCESS;
2962 
2963     --
2964     -- API body
2965     --
2966     -- Calling private API
2967     IF (AS_DEBUG_LOW_ON) THEN
2968 
2969     AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2970                                  'PUB: Call PVT.Assign_Sales_Lead');
2971     END IF;
2972 
2973     AS_SALES_LEAD_ASSIGN_PVT.Assign_Sales_Lead(
2974           P_Api_Version_Number         => l_api_version_number,
2975           P_Init_Msg_List              => FND_API.G_FALSE,
2976           p_commit                     => FND_API.G_FALSE,
2977           p_validation_level           => FND_API.G_VALID_LEVEL_FULL,
2978           P_Check_Access_Flag          => P_Check_Access_Flag,
2979           P_Admin_Flag                 => P_Admin_Flag,
2980           P_Admin_Group_Id             => P_Admin_Group_Id,
2981           P_identity_salesforce_id     => P_identity_salesforce_id,
2982           P_Sales_Lead_Profile_Tbl     => P_Sales_Lead_Profile_Tbl,
2983           P_resource_type              => NULL,
2984           P_role                       => NULL,
2985           P_no_of_resources            => 1,
2986           P_auto_select_flag           => NULL,
2987           P_effort_duration            => NULL,
2988           P_effort_uom                 => NULL,
2989           P_start_date                 => NULL,
2990           p_end_date                   => NULL,
2991           P_territory_flag             => 'Y',
2992           P_calendar_flag              => 'Y',
2993           P_Sales_Lead_Id              => P_Sales_Lead_Id,
2994           X_Return_Status              => X_Msg_Count,
2995           X_Msg_Count                  => X_Msg_Count,
2996           X_Msg_Data                   => X_Msg_Data,
2997           X_Assign_Id_Tbl              => X_Assign_Id_Tbl
2998     );
2999 
3000     -- Check return status from the above procedure call
3001     IF x_return_status = FND_API.G_RET_STS_ERROR then
3002         raise FND_API.G_EXC_ERROR;
3003     elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
3004         raise FND_API.G_EXC_UNEXPECTED_ERROR;
3005     END IF;
3006 
3007     --
3008     -- End of API body
3009     --
3010     IF FND_API.to_Boolean( p_commit )
3011     THEN
3012         COMMIT WORK;
3013     END IF;
3014 
3015     -- Debug Message
3016     IF (AS_DEBUG_LOW_ON) THEN
3017 
3018     AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3019                                  'Pub: ' || l_api_name || ' End');
3020     END IF;
3021 
3022     IF (AS_DEBUG_LOW_ON) THEN
3023 
3024 
3025 
3026     AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
3027                                  || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3028 
3029     END IF;
3030 
3031     -- Standard call to get message count and if count is 1, get message info.
3032     FND_MSG_PUB.Count_And_Get
3033     (  p_count          =>   x_msg_count,
3034        p_data           =>   x_msg_data
3035     );
3036 
3037     EXCEPTION
3038         WHEN FND_API.G_EXC_ERROR THEN
3039             AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3040                  P_API_NAME => L_API_NAME
3041                 ,P_PKG_NAME => G_PKG_NAME
3042                 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3043                 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3044                 ,X_MSG_COUNT => X_MSG_COUNT
3045                 ,X_MSG_DATA => X_MSG_DATA
3046                 ,X_RETURN_STATUS => X_RETURN_STATUS);
3047 
3048         WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3049             AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3050                  P_API_NAME => L_API_NAME
3051                 ,P_PKG_NAME => G_PKG_NAME
3052                 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3053                 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3054                 ,X_MSG_COUNT => X_MSG_COUNT
3055                 ,X_MSG_DATA => X_MSG_DATA
3056                 ,X_RETURN_STATUS => X_RETURN_STATUS);
3057 
3058         WHEN OTHERS THEN
3059             AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3060                  P_API_NAME => L_API_NAME
3061                 ,P_PKG_NAME => G_PKG_NAME
3062                 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
3063                 ,P_SQLCODE => SQLCODE
3064                 ,P_SQLERRM => SQLERRM
3065                 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3066                 ,X_MSG_COUNT => X_MSG_COUNT
3067                 ,X_MSG_DATA => X_MSG_DATA
3068                 ,X_RETURN_STATUS => X_RETURN_STATUS);
3069 End Assign_Sales_Lead;
3070 
3071 PROCEDURE Get_Access_Profiles(
3072 	p_profile_tbl			IN	AS_UTILITY_PUB.Profile_Tbl_Type,
3073 	x_access_profile_rec OUT NOCOPY AS_ACCESS_PUB.Access_Profile_Rec_Type)
3074 IS
3075 
3076     l_profile_count           CONSTANT NUMBER := p_profile_tbl.count;
3077     l_profile_value			VARCHAR2(1);
3078 
3079 BEGIN
3080     FOR l_curr IN 1..l_profile_count LOOP
3081 	l_profile_value := SUBSTR(p_profile_tbl(l_curr).PROFILE_VALUE, 1, 1);
3082 
3083 	IF p_profile_tbl(l_curr).PROFILE_NAME = 'AS_OPP_ACCESS' THEN
3084 	    x_access_profile_rec.opp_access_profile_value := l_profile_value;
3085 	END IF;
3086 
3087 	IF p_profile_tbl(l_curr).PROFILE_NAME = 'AS_LEAD_ACCESS' THEN
3088 	    x_access_profile_rec.lead_access_profile_value := l_profile_value;
3089 	END IF;
3090 
3091 	IF p_profile_tbl(l_curr).PROFILE_NAME = 'AS_CUST_ACCESS' THEN
3092 	    x_access_profile_rec.cust_access_profile_value := l_profile_value;
3093 	END IF;
3094 
3095 	IF p_profile_tbl(l_curr).PROFILE_NAME = 'AS_MGR_UPDATE' THEN
3096 	    x_access_profile_rec.mgr_update_profile_value := l_profile_value;
3097 	END IF;
3098 
3099 	IF p_profile_tbl(l_curr).PROFILE_NAME = 'AS_ADMIN_UPDATE' THEN
3100 	    x_access_profile_rec.admin_update_profile_value := l_profile_value;
3101 	END IF;
3102 
3103     END LOOP;
3104 
3105     IF x_access_profile_rec.opp_access_profile_value IS NULL OR
3106        x_access_profile_rec.opp_access_profile_value = FND_API.G_MISS_CHAR
3107     THEN
3108 	x_access_profile_rec.opp_access_profile_value
3109 		:= FND_PROFILE.Value('AS_OPP_ACCESS');
3110     END IF;
3111 
3112     IF x_access_profile_rec.lead_access_profile_value IS NULL OR
3113        x_access_profile_rec.lead_access_profile_value = FND_API.G_MISS_CHAR
3114     THEN
3115 	x_access_profile_rec.lead_access_profile_value
3116 		:= FND_PROFILE.Value('AS_LEAD_ACCESS');
3117     END IF;
3118 
3119     IF x_access_profile_rec.cust_access_profile_value IS NULL OR
3120        x_access_profile_rec.cust_access_profile_value = FND_API.G_MISS_CHAR
3121     THEN
3122 	x_access_profile_rec.cust_access_profile_value
3123 		:= FND_PROFILE.Value('AS_CUST_ACCESS');
3124     END IF;
3125 
3126     IF x_access_profile_rec.mgr_update_profile_value IS NULL OR
3127        x_access_profile_rec.mgr_update_profile_value = FND_API.G_MISS_CHAR
3128     THEN
3129 	x_access_profile_rec.mgr_update_profile_value
3130 		:= FND_PROFILE.Value('AS_MGR_UPDATE');
3131     END IF;
3132 
3133     IF x_access_profile_rec.admin_update_profile_value IS NULL OR
3134        x_access_profile_rec.admin_update_profile_value = FND_API.G_MISS_CHAR
3135     THEN
3136 	x_access_profile_rec.admin_update_profile_value
3137 		:= FND_PROFILE.Value('AS_ADMIN_UPDATE');
3138     END IF;
3139 
3140 END Get_Access_Profiles;
3141 
3142 
3143 FUNCTION Get_Profile(
3144 	p_profile_tbl		IN	AS_UTILITY_PUB.Profile_Tbl_Type,
3145 	p_profile_name		IN 	VARCHAR2 )
3146   RETURN VARCHAR2
3147   IS
3148     l_profile_count                 CONSTANT NUMBER := p_profile_tbl.count;
3149 
3150 BEGIN
3151     FOR l_curr IN 1..l_profile_count LOOP
3152 	IF p_profile_tbl(l_curr).PROFILE_NAME = p_profile_name THEN
3153 	    IF p_profile_tbl(l_curr).PROFILE_VALUE IS NOT NULL AND
3154 	       p_profile_tbl(l_curr).PROFILE_VALUE <> FND_API.G_MISS_CHAR
3155 	    THEN
3156 		RETURN p_profile_tbl(l_curr).PROFILE_VALUE;
3157 	    END IF;
3158 	ELSE
3159 	    NULL;
3160 	END IF;
3161     END LOOP;
3162     RETURN NULL;
3163 END;
3164 
3165 
3166 PROCEDURE CALL_WF_TO_ASSIGN (
3167     P_Api_Version_Number         IN  NUMBER,
3168     P_Init_Msg_List              IN  VARCHAR2    := FND_API.G_FALSE,
3169     P_Commit                     IN   VARCHAR2    := FND_API.G_FALSE,
3170     P_Sales_Lead_Id              IN  NUMBER,
3171     P_assigned_resource_id       IN  NUMBER DEFAULT NULL,
3172     X_Return_Status              OUT NOCOPY VARCHAR2,
3173     X_Msg_Count                  OUT NOCOPY NUMBER,
3174     X_Msg_Data                   OUT NOCOPY VARCHAR2
3175     )
3176  IS
3177     l_api_name             CONSTANT VARCHAR2(30) := 'CALL_WF_TO_ASSIGN';
3178     l_api_version_number   CONSTANT NUMBER   := 2.0;
3179 
3180 BEGIN
3181     -- Standard Start of API savepoint
3182     SAVEPOINT CALL_WF_TO_ASSIGN_PUB;
3183 
3184     -- Standard call to check for call compatibility.
3185     IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3186                                          p_api_version_number,
3187                                          l_api_name,
3188                                          G_PKG_NAME)
3189     THEN
3190         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3191     END IF;
3192 
3193 
3194     -- Initialize message list if p_init_msg_list is set to TRUE.
3195     IF FND_API.to_Boolean( p_init_msg_list )
3196     THEN
3197         FND_MSG_PUB.initialize;
3198     END IF;
3199 
3200     -- Debug Message
3201     IF (AS_DEBUG_LOW_ON) THEN
3202 
3203     AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3204                                  'Pub: ' || l_api_name || ' Start');
3205     END IF;
3206 
3207     IF (AS_DEBUG_LOW_ON) THEN
3208 
3209 
3210 
3211     AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3212                          'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3213 
3214     END IF;
3215 
3216     -- Initialize API return status to SUCCESS
3217     x_return_status := FND_API.G_RET_STS_SUCCESS;
3218 
3219     --
3220     -- API body
3221     --
3222     -- Calling private API
3223     IF (AS_DEBUG_LOW_ON) THEN
3224 
3225     AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3226                                  'PUB: Call PVT.CALL_WF_TO_ASSIGN');
3227     END IF;
3228 
3229     AS_SALES_LEAD_ASSIGN_PVT.CALL_WF_TO_ASSIGN(
3230           P_Api_Version_Number         => l_api_version_number,
3231           P_Init_Msg_List              => FND_API.G_FALSE,
3232           P_Sales_Lead_Id              => P_Sales_Lead_Id,
3233           -- P_assigned_resource_id       => P_assigned_resource_id,
3234           P_assigned_resource_id       => NULL,
3235           X_Return_Status              => X_Return_Status,
3236           X_Msg_Count                  => X_Msg_Count,
3237           X_Msg_Data                   => X_Msg_Data
3238     );
3239 
3240     -- Check return status from the above procedure call
3241     IF x_return_status = FND_API.G_RET_STS_ERROR then
3242         raise FND_API.G_EXC_ERROR;
3243     elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
3244         raise FND_API.G_EXC_UNEXPECTED_ERROR;
3245     END IF;
3246 
3247     --
3248     -- End of API body
3249     --
3250     IF FND_API.to_Boolean( p_commit )
3251     THEN
3252         COMMIT WORK;
3253     END IF;
3254 
3255     -- Debug Message
3256     IF (AS_DEBUG_LOW_ON) THEN
3257 
3258     AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3259                                  'Pub: ' || l_api_name || ' End');
3260     END IF;
3261 
3262     IF (AS_DEBUG_LOW_ON) THEN
3263 
3264 
3265 
3266     AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
3267                                  || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3268 
3269     END IF;
3270 
3271     -- Standard call to get message count and if count is 1, get message info.
3272     FND_MSG_PUB.Count_And_Get
3273     (  p_count          =>   x_msg_count,
3274        p_data           =>   x_msg_data
3275     );
3276 
3277     EXCEPTION
3278         WHEN FND_API.G_EXC_ERROR THEN
3279             AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3280                  P_API_NAME => L_API_NAME
3281                 ,P_PKG_NAME => G_PKG_NAME
3282                 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3283                 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3284                 ,X_MSG_COUNT => X_MSG_COUNT
3285                 ,X_MSG_DATA => X_MSG_DATA
3286                 ,X_RETURN_STATUS => X_RETURN_STATUS);
3287 
3288         WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3289             AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3290                  P_API_NAME => L_API_NAME
3291                 ,P_PKG_NAME => G_PKG_NAME
3292                 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3293                 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3294                 ,X_MSG_COUNT => X_MSG_COUNT
3295                 ,X_MSG_DATA => X_MSG_DATA
3296                 ,X_RETURN_STATUS => X_RETURN_STATUS);
3297 
3298         WHEN OTHERS THEN
3299             AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3300                  P_API_NAME => L_API_NAME
3301                 ,P_PKG_NAME => G_PKG_NAME
3302                 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
3303                 ,P_SQLCODE => SQLCODE
3304                 ,P_SQLERRM => SQLERRM
3305                 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3306                 ,X_MSG_COUNT => X_MSG_COUNT
3307                 ,X_MSG_DATA => X_MSG_DATA
3308                 ,X_RETURN_STATUS => X_RETURN_STATUS);
3309 END CALL_WF_TO_ASSIGN;
3310 
3311 
3312 PROCEDURE Build_Lead_Sales_Team(
3313     P_Api_Version_Number     IN   NUMBER,
3314     P_Init_Msg_List          IN   VARCHAR2     := FND_API.G_FALSE,
3315     P_Commit                 IN   VARCHAR2     := FND_API.G_FALSE,
3316     P_Validation_Level       IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
3317     P_Admin_Group_Id         IN   NUMBER       := FND_API.G_MISS_NUM,
3318     P_identity_salesforce_id IN   NUMBER       := FND_API.G_MISS_NUM,
3319     P_Salesgroup_id          IN   NUMBER       := FND_API.G_MISS_NUM,
3320     P_Sales_Lead_Id          IN   NUMBER,
3321     X_Return_Status          OUT NOCOPY  VARCHAR2,
3322     X_Msg_Count              OUT NOCOPY  NUMBER,
3323     X_Msg_Data               OUT NOCOPY  VARCHAR2
3324     )
3325  IS
3326     l_api_name                CONSTANT VARCHAR2(30) := 'Build_Lead_Sales_Team';
3327     l_api_version_number      CONSTANT NUMBER   := 2.0;
3328     l_request_id              NUMBER;
3329 
3330 BEGIN
3331       SAVEPOINT BUILD_LEAD_SALES_TEAM_PUB;
3332 
3333       -- Standard call to check for call compatibility.
3334       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3335                                            p_api_version_number,
3336                                            l_api_name,
3337                                            G_PKG_NAME)
3338       THEN
3339           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3340       END IF;
3341 
3342       -- Initialize message list if p_init_msg_list is set to TRUE.
3343       IF FND_API.to_Boolean( p_init_msg_list )
3344       THEN
3345           FND_MSG_PUB.initialize;
3346       END IF;
3347 
3348       -- Debug Message
3349       IF (AS_DEBUG_LOW_ON) THEN
3350 
3351       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3352           'Pub: ' || l_api_name || ' Start');
3353       END IF;
3354 
3355       IF (AS_DEBUG_LOW_ON) THEN
3356 
3357 
3358 
3359       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3360           'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3361 
3362       END IF;
3363 
3364       -- Initialize API return status to SUCCESS
3365       x_return_status := FND_API.G_RET_STS_SUCCESS;
3366 
3367       --
3368       -- API body
3369       --
3370 
3371       -- Calling Private package: Build_Lead_Sales_Team
3372       IF (AS_DEBUG_LOW_ON) THEN
3373 
3374       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3375           'PUB: Call PVT.Build_Lead_Sales_Team');
3376       END IF;
3377 
3378       AS_SALES_LEAD_ASSIGN_PVT.Build_Lead_Sales_Team(
3379             P_Api_Version_Number         => 2.0,
3380             P_Init_Msg_List              => FND_API.G_FALSE,
3381             P_Commit                     => FND_API.G_FALSE,
3382             P_Validation_Level           => P_Validation_Level,
3383             P_Admin_Group_Id             => P_Admin_Group_Id,
3384             P_identity_salesforce_id     => P_identity_salesforce_id,
3385             P_Salesgroup_Id              => P_Salesgroup_Id,
3386             P_Sales_Lead_Id              => P_Sales_Lead_Id,
3387             X_Request_Id                 => l_request_id,
3388             X_Return_Status              => x_return_status,
3389             X_Msg_Count                  => x_msg_count,
3390             X_Msg_Data                   => x_msg_data);
3391 
3392       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3393           raise FND_API.G_EXC_ERROR;
3394       ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3395           raise FND_API.G_EXC_UNEXPECTED_ERROR;
3396       END IF;
3397 
3398 
3399       --
3400       -- End of API body.
3401       --
3402 
3403       IF FND_API.to_Boolean( p_commit )
3404       THEN
3405           COMMIT WORK;
3406       END IF;
3407 
3408 
3409       -- Debug Message
3410       IF (AS_DEBUG_LOW_ON) THEN
3411 
3412       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3413           'Pub: ' || l_api_name || ' End');
3414       END IF;
3415 
3416       IF (AS_DEBUG_LOW_ON) THEN
3417 
3418 
3419 
3420       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
3421           || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3422 
3423       END IF;
3424 
3425 
3426       FND_MSG_PUB.Count_And_Get
3427       (  p_count          =>   x_msg_count,
3428          p_data           =>   x_msg_data
3429       );
3430 
3431       EXCEPTION
3432           WHEN FND_API.G_EXC_ERROR THEN
3433               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3434                    P_API_NAME => L_API_NAME
3435                   ,P_PKG_NAME => G_PKG_NAME
3436                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3437                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3438                   ,X_MSG_COUNT => X_MSG_COUNT
3439                   ,X_MSG_DATA => X_MSG_DATA
3440                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3441 
3442           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3443               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3444                    P_API_NAME => L_API_NAME
3445                   ,P_PKG_NAME => G_PKG_NAME
3446                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3447                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3448                   ,X_MSG_COUNT => X_MSG_COUNT
3449                   ,X_MSG_DATA => X_MSG_DATA
3450                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3451 
3452           WHEN OTHERS THEN
3453               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3454                    P_API_NAME => L_API_NAME
3455                   ,P_PKG_NAME => G_PKG_NAME
3456                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
3457                   ,P_SQLCODE => SQLCODE
3458                   ,P_SQLERRM => SQLERRM
3459                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3460                   ,X_MSG_COUNT => X_MSG_COUNT
3461                   ,X_MSG_DATA => X_MSG_DATA
3462                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3463 
3464 End Build_Lead_Sales_Team;
3465 
3466 PROCEDURE Rebuild_Lead_Sales_Team(
3467     P_Api_Version_Number     IN   NUMBER,
3468     P_Init_Msg_List          IN   VARCHAR2     := FND_API.G_FALSE,
3469     P_Commit                 IN   VARCHAR2     := FND_API.G_FALSE,
3470     P_Validation_Level       IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
3471     P_Admin_Group_Id         IN   NUMBER       := FND_API.G_MISS_NUM,
3472     P_identity_salesforce_id IN   NUMBER       := FND_API.G_MISS_NUM,
3473     P_Salesgroup_id          IN   NUMBER       := FND_API.G_MISS_NUM,
3474     P_Sales_Lead_Id          IN   NUMBER,
3475     X_Return_Status          OUT NOCOPY  VARCHAR2,
3476     X_Msg_Count              OUT NOCOPY  NUMBER,
3477     X_Msg_Data               OUT NOCOPY  VARCHAR2
3478     )
3479  IS
3480     l_api_name               CONSTANT VARCHAR2(30) := 'Rebuild_Lead_Sales_Team';
3481     l_api_version_number     CONSTANT NUMBER   := 2.0;
3482     l_request_id             NUMBER;
3483 
3484 BEGIN
3485       SAVEPOINT REBUILD_LEAD_SALES_TEAM_PUB;
3486 
3487       -- Standard call to check for call compatibility.
3488       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3489                                            p_api_version_number,
3490                                            l_api_name,
3491                                            G_PKG_NAME)
3492       THEN
3493           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3494       END IF;
3495 
3496       -- Initialize message list if p_init_msg_list is set to TRUE.
3497       IF FND_API.to_Boolean( p_init_msg_list )
3498       THEN
3499           FND_MSG_PUB.initialize;
3500       END IF;
3501 
3502       -- Debug Message
3503       IF (AS_DEBUG_LOW_ON) THEN
3504 
3505       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3506           'Pub: ' || l_api_name || ' Start');
3507       END IF;
3508 
3509       IF (AS_DEBUG_LOW_ON) THEN
3510 
3511 
3512 
3513       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3514           'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3515 
3516       END IF;
3517 
3518       -- Initialize API return status to SUCCESS
3519       x_return_status := FND_API.G_RET_STS_SUCCESS;
3520 
3521       --
3522       -- API body
3523       --
3524 
3525       -- Calling Private package: Rebuild_Lead_Sales_Team
3526       IF (AS_DEBUG_LOW_ON) THEN
3527 
3528       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3529           'PUB: Call PVT.Rebuild_Lead_Sales_Team');
3530       END IF;
3531 
3532       AS_SALES_LEAD_ASSIGN_PVT.Rebuild_Lead_Sales_Team(
3533             P_Api_Version_Number         => 2.0,
3534             P_Init_Msg_List              => FND_API.G_FALSE,
3535             P_Commit                     => FND_API.G_FALSE,
3536             P_Validation_Level           => P_Validation_Level,
3537             P_Admin_Group_Id             => P_Admin_Group_Id,
3538             P_identity_salesforce_id     => P_identity_salesforce_id,
3539             P_Salesgroup_Id              => P_Salesgroup_Id,
3540             P_Sales_Lead_Id              => P_Sales_Lead_Id,
3541             X_Request_Id                 => l_request_id,
3542             X_Return_Status              => x_return_status,
3543             X_Msg_Count                  => x_msg_count,
3544             X_Msg_Data                   => x_msg_data);
3545 
3546       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3547           raise FND_API.G_EXC_ERROR;
3548       ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3549           raise FND_API.G_EXC_UNEXPECTED_ERROR;
3550       END IF;
3551 
3552 
3553       --
3554       -- End of API body.
3555       --
3556 
3557       IF FND_API.to_Boolean( p_commit )
3558       THEN
3559           COMMIT WORK;
3560       END IF;
3561 
3562 
3563       -- Debug Message
3564       IF (AS_DEBUG_LOW_ON) THEN
3565 
3566       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3567           'Pub: ' || l_api_name || ' End');
3568       END IF;
3569 
3570       IF (AS_DEBUG_LOW_ON) THEN
3571 
3572 
3573 
3574       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
3575           || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3576 
3577       END IF;
3578 
3579 
3580       FND_MSG_PUB.Count_And_Get
3581       (  p_count          =>   x_msg_count,
3582          p_data           =>   x_msg_data
3583       );
3584 
3585       EXCEPTION
3586           WHEN FND_API.G_EXC_ERROR THEN
3587               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3588                    P_API_NAME => L_API_NAME
3589                   ,P_PKG_NAME => G_PKG_NAME
3590                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3591                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3592                   ,X_MSG_COUNT => X_MSG_COUNT
3593                   ,X_MSG_DATA => X_MSG_DATA
3594                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3595 
3596           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3597               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3598                    P_API_NAME => L_API_NAME
3599                   ,P_PKG_NAME => G_PKG_NAME
3600                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3601                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3602                   ,X_MSG_COUNT => X_MSG_COUNT
3603                   ,X_MSG_DATA => X_MSG_DATA
3604                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3605 
3606           WHEN OTHERS THEN
3607               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3608                    P_API_NAME => L_API_NAME
3609                   ,P_PKG_NAME => G_PKG_NAME
3610                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
3611                   ,P_SQLCODE => SQLCODE
3612                   ,P_SQLERRM => SQLERRM
3613                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3614                   ,X_MSG_COUNT => X_MSG_COUNT
3615                   ,X_MSG_DATA => X_MSG_DATA
3616                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3617 
3618 End Rebuild_Lead_Sales_Team;
3619 
3620 
3621 PROCEDURE Run_Lead_Engines(
3622     P_Api_Version_Number     IN   NUMBER,
3623     P_Init_Msg_List          IN   VARCHAR2     := FND_API.G_FALSE,
3624     P_Commit                 IN   VARCHAR2     := FND_API.G_FALSE,
3625     P_Validation_Level       IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
3626     P_Admin_Group_Id         IN   NUMBER       := FND_API.G_MISS_NUM,
3627     P_identity_salesforce_id IN   NUMBER       := FND_API.G_MISS_NUM,
3628     P_Salesgroup_id          IN   NUMBER       := FND_API.G_MISS_NUM,
3629     P_Sales_Lead_Id          IN   NUMBER,
3630     X_Sales_Team_Flag        OUT NOCOPY VARCHAR2,
3631     X_Return_Status          OUT NOCOPY  VARCHAR2,
3632     X_Msg_Count              OUT NOCOPY  NUMBER,
3633     X_Msg_Data               OUT NOCOPY  VARCHAR2
3634     )
3635  IS
3636     l_api_name               CONSTANT VARCHAR2(30) := 'Run_Lead_Engines';
3637     l_api_version_number     CONSTANT NUMBER   := 2.0;
3638     l_Lead_Engines_Out_Rec   Lead_Engines_Out_Rec_Type;
3639 
3640 BEGIN
3641       SAVEPOINT RUN_LEAD_ENGINES_PUB;
3642 
3643       -- Standard call to check for call compatibility.
3644       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3645                                            p_api_version_number,
3646                                            l_api_name,
3647                                            G_PKG_NAME)
3648       THEN
3649           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3650       END IF;
3651 
3652       -- Initialize message list if p_init_msg_list is set to TRUE.
3653       IF FND_API.to_Boolean( p_init_msg_list )
3654       THEN
3655           FND_MSG_PUB.initialize;
3656       END IF;
3657 
3658       -- Debug Message
3659       IF (AS_DEBUG_LOW_ON) THEN
3660 
3661       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3662           'Pub: ' || l_api_name || ' Start');
3663       END IF;
3664 
3665       IF (AS_DEBUG_LOW_ON) THEN
3666 
3667 
3668 
3669       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3670           'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3671 
3672       END IF;
3673 
3674       -- Initialize API return status to SUCCESS
3675       x_return_status := FND_API.G_RET_STS_SUCCESS;
3676 
3677       --
3678       -- API body
3679       --
3680 
3681       -- Calling Private package: Run_Lead_Engines
3682       IF (AS_DEBUG_LOW_ON) THEN
3683 
3684       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3685           'PUB: Call PVT.Run_Lead_Engines');
3686       END IF;
3687 
3688       AS_SALES_LEAD_ENGINE_PVT.Run_Lead_Engines(
3689             P_Api_Version_Number         => 2.0,
3690             P_Init_Msg_List              => FND_API.G_FALSE,
3691             P_Commit                     => FND_API.G_FALSE,
3692             P_Validation_Level           => P_Validation_Level,
3693             P_Admin_Group_Id             => P_Admin_Group_Id,
3694             P_identity_salesforce_id     => P_identity_salesforce_id,
3695             P_Salesgroup_Id              => P_Salesgroup_Id,
3696             P_Sales_Lead_Id              => P_Sales_Lead_Id,
3697             -- ckapoor Phase 2 filtering project 11.5.10   IS THIS OK????
3698     	    --P_Is_Create_Mode	      	 => 'N',
3699 
3700             X_Lead_Engines_Out_Rec       => l_Lead_Engines_Out_Rec,
3701             X_Return_Status              => x_return_status,
3702             X_Msg_Count                  => x_msg_count,
3703             X_Msg_Data                   => x_msg_data);
3704 
3705       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3706           raise FND_API.G_EXC_ERROR;
3707       ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3708           raise FND_API.G_EXC_UNEXPECTED_ERROR;
3709       END IF;
3710 
3711       x_sales_team_flag := l_Lead_Engines_Out_Rec.sales_team_flag;
3712 
3713       --
3714       -- End of API body.
3715       --
3716 
3717       IF FND_API.to_Boolean( p_commit )
3718       THEN
3719           COMMIT WORK;
3720       END IF;
3721 
3722 
3723       -- Debug Message
3724       IF (AS_DEBUG_LOW_ON) THEN
3725 
3726       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3727           'Pub: ' || l_api_name || ' End');
3728       END IF;
3729 
3730       IF (AS_DEBUG_LOW_ON) THEN
3731 
3732 
3733 
3734       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
3735           || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3736 
3737       END IF;
3738 
3739 
3740       FND_MSG_PUB.Count_And_Get
3741       (  p_count          =>   x_msg_count,
3742          p_data           =>   x_msg_data
3743       );
3744 
3745       EXCEPTION
3746           WHEN FND_API.G_EXC_ERROR THEN
3747               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3748                    P_API_NAME => L_API_NAME
3749                   ,P_PKG_NAME => G_PKG_NAME
3750                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3751                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3752                   ,X_MSG_COUNT => X_MSG_COUNT
3753                   ,X_MSG_DATA => X_MSG_DATA
3754                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3755 
3756           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3757               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3758                    P_API_NAME => L_API_NAME
3759                   ,P_PKG_NAME => G_PKG_NAME
3760                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3761                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3762                   ,X_MSG_COUNT => X_MSG_COUNT
3763                   ,X_MSG_DATA => X_MSG_DATA
3764                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3765 
3766           WHEN OTHERS THEN
3767               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3768                    P_API_NAME => L_API_NAME
3769                   ,P_PKG_NAME => G_PKG_NAME
3770                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
3771                   ,P_SQLCODE => SQLCODE
3772                   ,P_SQLERRM => SQLERRM
3773                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3774                   ,X_MSG_COUNT => X_MSG_COUNT
3775                   ,X_MSG_DATA => X_MSG_DATA
3776                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3777 
3778 End Run_Lead_Engines;
3779 
3780 
3781 PROCEDURE Run_Lead_Engines(
3782     P_Api_Version_Number     IN   NUMBER,
3783     P_Init_Msg_List          IN   VARCHAR2     := FND_API.G_FALSE,
3784     P_Commit                 IN   VARCHAR2     := FND_API.G_FALSE,
3785     P_Validation_Level       IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
3786     P_Admin_Group_Id         IN   NUMBER       := FND_API.G_MISS_NUM,
3787     P_identity_salesforce_id IN   NUMBER       := FND_API.G_MISS_NUM,
3788     P_Salesgroup_id          IN   NUMBER       := FND_API.G_MISS_NUM,
3789     P_Sales_Lead_Id          IN   NUMBER,
3790     X_Lead_Engines_Out_Rec   OUT NOCOPY  LEAD_ENGINES_OUT_Rec_Type,
3791     X_Return_Status          OUT NOCOPY  VARCHAR2,
3792     X_Msg_Count              OUT NOCOPY  NUMBER,
3793     X_Msg_Data               OUT NOCOPY  VARCHAR2
3794     )
3795  IS
3796     l_api_name               CONSTANT VARCHAR2(30) := 'Run_Lead_Engines';
3797     l_api_version_number     CONSTANT NUMBER   := 2.0;
3798 
3799 BEGIN
3800       SAVEPOINT RUN_LEAD_ENGINES_PUB;
3801 
3802       -- Standard call to check for call compatibility.
3803       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3804                                            p_api_version_number,
3805                                            l_api_name,
3806                                            G_PKG_NAME)
3807       THEN
3808           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3809       END IF;
3810 
3811       -- Initialize message list if p_init_msg_list is set to TRUE.
3812       IF FND_API.to_Boolean( p_init_msg_list )
3813       THEN
3814           FND_MSG_PUB.initialize;
3815       END IF;
3816 
3817       -- Debug Message
3818       IF (AS_DEBUG_LOW_ON) THEN
3819 
3820       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3821           'Pub: ' || l_api_name || ' Start');
3822       END IF;
3823 
3824       IF (AS_DEBUG_LOW_ON) THEN
3825 
3826 
3827 
3828       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3829           'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3830 
3831       END IF;
3832 
3833       -- Initialize API return status to SUCCESS
3834       x_return_status := FND_API.G_RET_STS_SUCCESS;
3835 
3836       --
3837       -- API body
3838       --
3839 
3840       -- Calling Private package: Run_Lead_Engines
3841       IF (AS_DEBUG_LOW_ON) THEN
3842 
3843       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3844           'PUB: Call PVT.Run_Lead_Engines');
3845       END IF;
3846 
3847       AS_SALES_LEAD_ENGINE_PVT.Run_Lead_Engines(
3848             P_Api_Version_Number         => 2.0,
3849             P_Init_Msg_List              => FND_API.G_FALSE,
3850             P_Commit                     => FND_API.G_FALSE,
3851             P_Validation_Level           => P_Validation_Level,
3852             P_Admin_Group_Id             => P_Admin_Group_Id,
3853             P_identity_salesforce_id     => P_identity_salesforce_id,
3854             P_Salesgroup_Id              => P_Salesgroup_Id,
3855             P_Sales_Lead_Id              => P_Sales_Lead_Id,
3856             -- ckapoor Phase 2 filtering project 11.5.10
3857     	   -- P_Is_Create_Mode	      	 => 'N',
3858 
3859             X_Lead_Engines_Out_Rec       => X_Lead_Engines_Out_Rec,
3860             X_Return_Status              => x_return_status,
3861             X_Msg_Count                  => x_msg_count,
3862             X_Msg_Data                   => x_msg_data);
3863 
3864       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3865           raise FND_API.G_EXC_ERROR;
3866       ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3867           raise FND_API.G_EXC_UNEXPECTED_ERROR;
3868       END IF;
3869 
3870 
3871       --
3872       -- End of API body.
3873       --
3874 
3875       IF FND_API.to_Boolean( p_commit )
3876       THEN
3877           COMMIT WORK;
3878       END IF;
3879 
3880 
3881       -- Debug Message
3882       IF (AS_DEBUG_LOW_ON) THEN
3883 
3884       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3885           'Pub: ' || l_api_name || ' End');
3886       END IF;
3887 
3888       IF (AS_DEBUG_LOW_ON) THEN
3889 
3890 
3891 
3892       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
3893           || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3894 
3895       END IF;
3896 
3897 
3898       FND_MSG_PUB.Count_And_Get
3899       (  p_count          =>   x_msg_count,
3900          p_data           =>   x_msg_data
3901       );
3902 
3903       EXCEPTION
3904           WHEN FND_API.G_EXC_ERROR THEN
3905               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3906                    P_API_NAME => L_API_NAME
3907                   ,P_PKG_NAME => G_PKG_NAME
3908                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3909                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3910                   ,X_MSG_COUNT => X_MSG_COUNT
3911                   ,X_MSG_DATA => X_MSG_DATA
3912                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3913 
3914           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3915               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3916                    P_API_NAME => L_API_NAME
3917                   ,P_PKG_NAME => G_PKG_NAME
3918                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3919                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3920                   ,X_MSG_COUNT => X_MSG_COUNT
3921                   ,X_MSG_DATA => X_MSG_DATA
3922                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3923 
3924           WHEN OTHERS THEN
3925               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3926                    P_API_NAME => L_API_NAME
3927                   ,P_PKG_NAME => G_PKG_NAME
3928                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
3929                   ,P_SQLCODE => SQLCODE
3930                   ,P_SQLERRM => SQLERRM
3931                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3932                   ,X_MSG_COUNT => X_MSG_COUNT
3933                   ,X_MSG_DATA => X_MSG_DATA
3934                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3935 
3936 End Run_Lead_Engines;
3937 
3938 PROCEDURE Start_Partner_Matching(
3939     P_Api_Version_Number      IN  NUMBER,
3940     P_Init_Msg_List           IN  VARCHAR2    := FND_API.G_FALSE,
3941     P_Commit                  IN  VARCHAR2    := FND_API.G_FALSE,
3942     P_Validation_Level        IN  NUMBER      := FND_API.G_VALID_LEVEL_FULL,
3943     P_Admin_Group_Id          IN  NUMBER      := FND_API.G_MISS_NUM,
3944     P_Identity_Salesforce_Id  IN  NUMBER,
3945     P_Salesgroup_Id           IN  NUMBER,
3946     P_Lead_id                 IN  NUMBER,
3947     X_Return_Status           OUT NOCOPY VARCHAR2,
3948     X_Msg_Count               OUT NOCOPY NUMBER,
3949     X_Msg_Data                OUT NOCOPY VARCHAR2)
3950  IS
3951     l_api_name               CONSTANT VARCHAR2(30) := 'Start_Partner_Matching';
3952     l_api_version_number     CONSTANT NUMBER   := 2.0;
3953 
3954 BEGIN
3955       SAVEPOINT START_PARTNER_MATCHING_PUB;
3956 
3957       -- Standard call to check for call compatibility.
3958       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3959                                            p_api_version_number,
3960                                            l_api_name,
3961                                            G_PKG_NAME)
3962       THEN
3963           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3964       END IF;
3965 
3966       -- Initialize message list if p_init_msg_list is set to TRUE.
3967       IF FND_API.to_Boolean( p_init_msg_list )
3968       THEN
3969           FND_MSG_PUB.initialize;
3970       END IF;
3971 
3972       -- Debug Message
3973       IF (AS_DEBUG_LOW_ON) THEN
3974 
3975       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3976           'Pub: ' || l_api_name || ' Start');
3977       END IF;
3978 
3979       IF (AS_DEBUG_LOW_ON) THEN
3980 
3981 
3982 
3983       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3984           'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3985 
3986       END IF;
3987 
3988       -- Initialize API return status to SUCCESS
3989       x_return_status := FND_API.G_RET_STS_SUCCESS;
3990 
3991       --
3992       -- API body
3993       --
3994 
3995       -- Calling Private package: Run_Lead_Engines
3996       IF (AS_DEBUG_LOW_ON) THEN
3997 
3998       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3999           'PUB: Call PVT.Run_Lead_Engines');
4000       END IF;
4001 
4002       PV_BG_PARTNER_MATCHING_PUB.Start_Partner_Matching(
4003             P_Api_Version_Number         => 2.0,
4004             P_Init_Msg_List              => FND_API.G_FALSE,
4005             P_Commit                     => FND_API.G_FALSE,
4006             P_Validation_Level           => P_Validation_Level,
4007             P_Admin_Group_Id             => P_Admin_Group_Id,
4008             P_identity_salesforce_id     => P_identity_salesforce_id,
4009             P_Salesgroup_Id              => P_Salesgroup_Id,
4010             P_Lead_Id                    => P_Lead_Id,
4011             X_Return_Status              => x_return_status,
4012             X_Msg_Count                  => x_msg_count,
4013             X_Msg_Data                   => x_msg_data);
4014 
4015       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4016           raise FND_API.G_EXC_ERROR;
4017       ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4018           raise FND_API.G_EXC_UNEXPECTED_ERROR;
4019       END IF;
4020 
4021 
4022       --
4023       -- End of API body.
4024       --
4025 
4026       IF FND_API.to_Boolean( p_commit )
4027       THEN
4028           COMMIT WORK;
4029       END IF;
4030 
4031 
4032       -- Debug Message
4033       IF (AS_DEBUG_LOW_ON) THEN
4034 
4035       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4036           'Pub: ' || l_api_name || ' End');
4037       END IF;
4038 
4039       IF (AS_DEBUG_LOW_ON) THEN
4040 
4041 
4042 
4043       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
4044           || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4045 
4046       END IF;
4047 
4048 
4049       FND_MSG_PUB.Count_And_Get
4050       (  p_count          =>   x_msg_count,
4051          p_data           =>   x_msg_data
4052       );
4053 
4054       EXCEPTION
4055           WHEN FND_API.G_EXC_ERROR THEN
4056               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4057                    P_API_NAME => L_API_NAME
4058                   ,P_PKG_NAME => G_PKG_NAME
4059                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
4060                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4061                   ,X_MSG_COUNT => X_MSG_COUNT
4062                   ,X_MSG_DATA => X_MSG_DATA
4063                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4064 
4065           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4066               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4067                    P_API_NAME => L_API_NAME
4068                   ,P_PKG_NAME => G_PKG_NAME
4069                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
4070                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4071                   ,X_MSG_COUNT => X_MSG_COUNT
4072                   ,X_MSG_DATA => X_MSG_DATA
4073                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4074 
4075           WHEN OTHERS THEN
4076               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4077                    P_API_NAME => L_API_NAME
4078                   ,P_PKG_NAME => G_PKG_NAME
4079                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
4080                   ,P_SQLCODE => SQLCODE
4081                   ,P_SQLERRM => SQLERRM
4082                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4083                   ,X_MSG_COUNT => X_MSG_COUNT
4084                   ,X_MSG_DATA => X_MSG_DATA
4085                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4086 
4087 End Start_Partner_Matching;
4088 
4089 --
4090 --   API Name:  Route_Lead_To_Marketing
4091 --
4092 PROCEDURE Route_Lead_To_Marketing(
4093     P_Api_Version_Number      IN  NUMBER,
4094     P_Init_Msg_List           IN  VARCHAR2    := FND_API.G_FALSE,
4095     P_Commit                  IN  VARCHAR2    := FND_API.G_FALSE,
4096     P_Validation_Level        IN  NUMBER      := FND_API.G_VALID_LEVEL_FULL,
4097     P_Admin_Group_Id          IN  NUMBER      := FND_API.G_MISS_NUM,
4098     P_Identity_Salesforce_Id  IN  NUMBER,
4099     P_Sales_Lead_id           IN  NUMBER,
4100     X_Return_Status           OUT NOCOPY VARCHAR2,
4101     X_Msg_Count               OUT NOCOPY NUMBER,
4102     X_Msg_Data                OUT NOCOPY VARCHAR2
4103     )
4104 
4105  IS
4106     l_api_name               CONSTANT VARCHAR2(30) := 'Route_Lead_To_Marketing';
4107     l_api_version_number     CONSTANT NUMBER   := 2.0;
4108     l_Sales_Team_Rec         AS_ACCESS_PUB.Sales_Team_Rec_Type := AS_ACCESS_PUB.G_MISS_SALES_TEAM_REC;
4109     l_access_profile_rec     AS_ACCESS_PUB.Access_Profile_Rec_Type;
4110     l_sales_lead_profile_tbl AS_UTILITY_PUB.Profile_Tbl_Type := AS_UTILITY_PUB.G_MISS_PROFILE_TBL;
4111     l_sales_lead_rec         AS_SALES_LEADS_PUB.SALES_LEAD_Rec_Type := AS_SALES_LEADS_PUB.G_MISS_SALES_LEAD_REC;
4112 
4113     l_assign_sales_group_id  NUMBER;
4114     l_assign_to_person_id    NUMBER;
4115     l_assign_to_salesforce_id         NUMBER;
4116     l_salesforce_id          NUMBER;
4117     l_owner_id               NUMBER;
4118     l_person_id              NUMBER;
4119     l_customer_id            NUMBER;
4120     l_address_id             NUMBER;
4121     l_access_id              NUMBER;
4122     l_group_id               NUMBER;
4123     l_last_update_date       DATE;
4124     l_sales_lead_log_id      NUMBER;
4125 
4126     l_status_code            as_sales_leads.status_code%type;
4127     l_reject_reason_code     as_sales_leads.reject_reason_code%type;
4128     l_qualified_flag         VARCHAR2(1);
4129     l_lead_rank_id           NUMBER;
4130 
4131     -- Bug 2822580, SOLIN, 03/07/2003
4132     -- The following variables are for as_territory_accesses
4133     l_ta_access_id_tbl       JTF_NUMBER_TABLE;
4134     l_ta_terr_id_tbl         JTF_NUMBER_TABLE;
4135     l_owner_exists_flag      VARCHAR2(1);
4136 
4137     -- Get access_id, terr_id for the records that come from LEAD territory.
4138     -- Delete these records before new resource records are created in
4139     -- AS_ACCESSES_ALL table.
4140     CURSOR C_Get_Acc_Terr(c_sales_lead_id NUMBER) IS
4141       SELECT ACC.ACCESS_ID, TERRACC.TERRITORY_ID
4142       FROM AS_ACCESSES_ALL ACC, AS_TERRITORY_ACCESSES TERRACC
4143       WHERE  ACC.FREEZE_FLAG = 'N'
4144       AND    ACC.SALES_LEAD_ID = c_sales_lead_id
4145       AND    ACC.ACCESS_ID = TERRACC.ACCESS_ID;
4146     -- Bug 2822580, SOLIN, 03/07/2003, end
4147 
4148 -- bugfix# 2770000
4149 /*
4150 CURSOR get_sales_lead_owner (c_sales_lead_id NUMBER) IS
4151     SELECT asl.ASSIGN_TO_SALESFORCE_ID
4152     FROM   AS_SALES_LEADS asl
4153     WHERE  asl.sales_lead_id = c_sales_lead_id;
4154 */
4155 
4156 CURSOR get_person_id_csr (c_resource_id NUMBER) IS
4157       SELECT js.source_id
4158       FROM JTF_RS_RESOURCE_EXTNS js
4159       WHERE js.resource_id = c_resource_id;
4160 
4161 CURSOR get_sales_lead_csr (c_sales_lead_id NUMBER) IS
4162     SELECT asl.customer_id, asl.address_id, asl.status_code,
4163            asl.reject_reason_code, asl.assign_to_salesforce_id,
4164            asl.qualified_flag, asl.lead_rank_id
4165     FROM   AS_SALES_LEADS asl
4166     WHERE  asl.sales_lead_id = c_sales_lead_id;
4167 
4168 CURSOR c_get_group_id (c_resource_id NUMBER, c_rs_group_member VARCHAR2,
4169                        c_sales VARCHAR2, c_telesales VARCHAR2,
4170                        c_fieldsales VARCHAR2, c_prm VARCHAR2, c_y VARCHAR2) IS
4171       SELECT grp.group_id
4172       FROM JTF_RS_GROUP_MEMBERS mem,
4173            JTF_RS_ROLE_RELATIONS rrel,
4174            JTF_RS_ROLES_B role,
4175            JTF_RS_GROUP_USAGES u,
4176            JTF_RS_GROUPS_B grp
4177       WHERE mem.group_member_id = rrel.role_resource_id
4178       AND rrel.role_resource_type = c_rs_group_member --'RS_GROUP_MEMBER'
4179       AND rrel.role_id = role.role_id
4180       AND role.role_type_code in (c_sales, c_telesales, c_fieldsales, c_prm) --'SALES','TELESALES','FIELDSALES','PRM')
4181       AND mem.delete_flag <> c_y --'Y'
4182       AND rrel.delete_flag <> c_y --'Y'
4183       AND SYSDATE BETWEEN rrel.start_date_active AND
4184           NVL(rrel.end_date_active,SYSDATE)
4185       AND mem.resource_id = c_resource_id
4186       AND mem.group_id = u.group_id
4187       AND u.usage = c_sales --'SALES'
4188       AND mem.group_id = grp.group_id
4189       AND SYSDATE BETWEEN grp.start_date_active AND
4190           NVL(grp.end_date_active,SYSDATE)
4191       AND ROWNUM < 2;
4192 
4193     -- Check whether owner exists or not
4194     CURSOR c_check_owner_exists(c_sales_lead_id NUMBER) IS
4195       SELECT 'Y'
4196       FROM as_accesses_all acc
4197       WHERE acc.sales_lead_id = c_sales_lead_id
4198       AND acc.owner_flag = 'Y';
4199 
4200     -- Check whether the resource is in the sales team or not.
4201     -- Group_id is not required to check here because no group_id is always
4202     -- from c_get_group_id cursor.
4203     CURSOR c_check_sales_team(c_resource_id NUMBER, c_sales_lead_id NUMBER) IS
4204       SELECT acc.access_id
4205       FROM  as_accesses_all acc
4206       WHERE acc.salesforce_id = c_resource_id
4207       AND   acc.sales_lead_id = c_sales_lead_id;
4208 BEGIN
4209       SAVEPOINT ROUTE_LEAD_TO_MARKETING_PUB;
4210 
4211       -- Standard call to check for call compatibility.
4212       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
4213                                            p_api_version_number,
4214                                            l_api_name,
4215                                            G_PKG_NAME)
4216       THEN
4217           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4218       END IF;
4219 
4220       -- Initialize message list if p_init_msg_list is set to TRUE.
4221       IF FND_API.to_Boolean( p_init_msg_list )
4222       THEN
4223           FND_MSG_PUB.initialize;
4224       END IF;
4225 
4226       -- Debug Message
4227       IF (AS_DEBUG_LOW_ON) THEN
4228           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4229               'Pub: ' || l_api_name || ' Start');
4230           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4231               'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4232       END IF;
4233 
4234       -- Initialize API return status to SUCCESS
4235       x_return_status := FND_API.G_RET_STS_SUCCESS;
4236 
4237       --
4238       -- API body
4239       --
4240 
4241       -- Bug 2822580, SOLIN, 03/07/2003
4242       OPEN C_Get_Acc_Terr(p_sales_lead_id);
4243       FETCH C_Get_Acc_Terr BULK COLLECT INTO
4244           l_ta_access_id_tbl, l_ta_terr_id_tbl;
4245       CLOSE C_Get_Acc_Terr;
4246 
4247       IF (AS_DEBUG_LOW_ON) THEN
4248           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4249               'l_ta_access_id_tbl.count:' || l_ta_access_id_tbl.count);
4250       END IF;
4251 
4252       IF l_ta_access_id_tbl.count > 0
4253       THEN
4254           IF (AS_DEBUG_LOW_ON) THEN
4255               FOR l_i IN 1..l_ta_access_id_tbl.count
4256               LOOP
4257                   AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4258                       'Delete acc_id:' || l_ta_access_id_tbl(l_i)
4259                       || ' terr_id:' || l_ta_terr_id_tbl(l_i));
4260               END LOOP;
4261           END IF;
4262 
4263           FORALL l_i IN 1..l_ta_access_id_tbl.count
4264               DELETE FROM AS_ACCESSES_ALL
4265               WHERE ACCESS_ID = l_ta_access_id_tbl(l_i);
4266 
4267           FORALL l_i IN 1..l_ta_terr_id_tbl.count
4268               DELETE FROM AS_TERRITORY_ACCESSES
4269               WHERE ACCESS_ID = l_ta_access_id_tbl(l_i)
4270               AND   TERRITORY_ID = l_ta_terr_id_tbl(l_i);
4271       END IF;
4272 
4273       -- Delete non-frozen resources who are not from territory.
4274       DELETE FROM as_accesses_all acc
4275       WHERE acc.sales_lead_id = p_sales_lead_id
4276       AND acc.freeze_flag = 'N'
4277       --AND acc.salesforce_id <> p_identity_salesforce_id
4278       AND NOT EXISTS (
4279           SELECT 1
4280           FROM as_territory_accesses terracc
4281           WHERE terracc.access_id = acc.access_id);
4282       -- Bug 2822580, SOLIN, 03/07/2003, end
4283 
4284 
4285 -- bugfix# 2770000, do not look for owner in the lead record. Validation is done before that.
4286 /*
4287       -- Checking if the owner is provided from UI
4288       IF (AS_DEBUG_LOW_ON) THEN
4289       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4290           'Opening cursor get_sales_lead_owner');
4291       END IF;
4292 
4293       OPEN  get_sales_lead_owner(P_Sales_Lead_id);
4294       FETCH get_sales_lead_owner
4295       INTO  l_owner_id;
4296       CLOSE get_sales_lead_owner;
4297 
4298       -- If owner is found, use the owner given and ignore the rest of the processing.
4299       IF (l_owner_id IS NOT NULL) THEN
4300           return;
4301       END IF;
4302 */
4303 
4304       OPEN  get_sales_lead_csr(p_sales_lead_id);
4305       FETCH get_sales_lead_csr
4306       INTO  l_customer_id, l_address_id, l_status_code,
4307             l_reject_reason_code, l_salesforce_id, l_qualified_flag,
4308             l_lead_rank_id;
4309       CLOSE get_sales_lead_csr;
4310 
4311       -- Check owner again here because the above delete may
4312       -- remove owner in as_accesses_all
4313       l_owner_exists_flag := 'N';
4314       OPEN c_check_owner_exists(p_sales_lead_id);
4315       FETCH c_check_owner_exists INTO l_owner_exists_flag;
4316       CLOSE c_check_owner_exists;
4317 
4318       IF (AS_DEBUG_LOW_ON) THEN
4319           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4320               'assign to=' || l_salesforce_id);
4321           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4322               'reject reason=' || l_reject_reason_code);
4323           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4324               'owner exist?' || l_owner_exists_flag);
4325       END IF;
4326 
4327       -- Bug 2858785
4328       -- Update address_id when user change address.
4329       UPDATE as_accesses_all
4330       SET address_id = l_address_id
4331       WHERE sales_lead_id = p_sales_lead_id;
4332       -- end Bug 2858785
4333 
4334       IF l_salesforce_id IS NULL OR
4335          l_reject_reason_code IS NOT NULL OR
4336          l_owner_exists_flag = 'N'
4337       THEN
4338           -- Calling Private package to get immature lead owner
4339           IF (AS_DEBUG_LOW_ON) THEN
4340               AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4341                   'PUB: Call AS_SALES_LEAD_OWNER.Get_Immatured_Lead_Owner');
4342           END IF;
4343 
4344           AS_SALES_LEAD_OWNER.Get_Immatured_Lead_Owner(
4345                 P_Api_Version                => 2.0,
4346                 P_Init_Msg_List              => FND_API.G_FALSE,
4347                 P_Commit                     => FND_API.G_FALSE,
4348                 P_Validation_Level           => P_Validation_Level,
4349                 P_Sales_Lead_id              => P_Sales_Lead_id,
4350                 X_salesforce_id              => L_Salesforce_id,
4351                 X_Return_Status              => x_return_status,
4352                 X_Msg_Count                  => x_msg_count,
4353                 X_Msg_Data                   => x_msg_data);
4354 
4355           IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4356               raise FND_API.G_EXC_ERROR;
4357           ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4358               raise FND_API.G_EXC_UNEXPECTED_ERROR;
4359           END IF;
4360 
4361           IF (l_salesforce_id IS NULL)
4362           THEN
4363               l_salesforce_id := fnd_profile.value('AS_DEFAULT_RESOURCE_ID');
4364           END IF;
4365 
4366           IF (l_salesforce_id IS NOT NULL)
4367           THEN
4368               IF (AS_DEBUG_LOW_ON) THEN
4369                   AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4370                       'Marketing Owner id=' || l_salesforce_id);
4371               END IF;
4372 
4373               OPEN c_check_sales_team (l_salesforce_id, p_sales_lead_id);
4374               FETCH c_check_sales_team INTO l_access_id;
4375               CLOSE c_check_sales_team;
4376 
4377               -- Find the sales group of the person being added
4378               -- bugfix # 2538741
4379               OPEN c_get_group_id (l_salesforce_id, 'RS_GROUP_MEMBER',
4380                   'SALES', 'TELESALES', 'FIELDSALES', 'PRM', 'Y');
4381               FETCH c_get_group_id INTO l_group_id;
4382               CLOSE c_get_group_id;
4383 
4384               IF (AS_DEBUG_LOW_ON) THEN
4385                   AS_UTILITY_PVT.Debug_Message( FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4386                       'group_id=' || l_group_id);
4387               END IF;
4388 
4389               OPEN  get_person_id_csr(l_salesforce_id);
4390               FETCH get_person_id_csr
4391               INTO  l_person_id;
4392               CLOSE get_person_id_csr;
4393 
4394               IF (AS_DEBUG_LOW_ON) THEN
4395                   AS_UTILITY_PVT.Debug_Message( FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4396                       'person_id=' || l_person_id);
4397               END IF;
4398 
4399               IF l_access_id IS NULL
4400               THEN
4401                   --
4402                   -- Call Create_Salesteam
4403                   --
4404 
4405                   l_Sales_Team_Rec.person_id := l_person_id;
4406                   l_sales_team_rec.sales_group_id := NULL;
4407                   l_Sales_Team_Rec.salesforce_id := l_salesforce_id;
4408                   -- ckapoor 052902 Bug that owner is not set in as_accesses_all
4409                   -- Also created by TAP flag explicitly marked as 'N'
4410                   l_Sales_Team_Rec.owner_flag := 'Y';
4411                   l_Sales_Team_Rec.created_by_TAP_flag := 'N';
4412                   l_Sales_Team_Rec.team_leader_flag := 'Y';
4413                   l_Sales_Team_Rec.reassign_flag := 'N';
4414                   -- bugfix# 2795679, keep the owner in sales team so that the
4415                   -- owner is not removed by TAP
4416                   l_Sales_Team_Rec.freeze_flag := 'Y';
4417                   l_Sales_Team_Rec.customer_id := l_customer_id;
4418                   l_Sales_Team_Rec.address_id := l_address_id;
4419                   l_Sales_Team_Rec.lead_id := NULL;
4420                   l_Sales_Team_Rec.sales_lead_id := p_sales_lead_id;
4421                   l_Sales_Team_Rec.sales_group_id := l_group_id;
4422 
4423                   l_access_profile_rec.cust_access_profile_value :=
4424                       fnd_profile.value( 'AS_CUST_ACCESS');
4425 
4426                   AS_ACCESS_PUB.Create_SalesTeam (
4427                        p_api_version_number  => 2.0
4428                       ,p_init_msg_list => FND_API.G_FALSE
4429                       ,p_commit => FND_API.G_FALSE
4430                       ,p_validation_level => FND_API.G_VALID_LEVEL_FULL
4431                       ,p_access_profile_rec => l_access_profile_rec
4432                       ,p_check_access_flag => 'N'
4433                       ,p_admin_flag => 'N'
4434                       ,p_admin_group_id => P_Admin_Group_Id
4435                       ,p_identity_salesforce_id => P_Identity_Salesforce_Id
4436                       ,p_sales_team_rec => l_Sales_Team_Rec
4437                       ,x_return_status => x_return_status
4438                       ,x_msg_count => x_msg_count
4439                       ,x_msg_data => x_msg_data
4440                       ,x_access_id => l_Access_Id
4441                     );
4442               ELSE
4443                   UPDATE as_accesses_all
4444                   SET owner_flag = 'Y',
4445                       sales_group_id = l_group_id
4446                   WHERE access_id = l_access_id;
4447               END IF;
4448 
4449               IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4450                   raise FND_API.G_EXC_ERROR;
4451               ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4452                   raise FND_API.G_EXC_UNEXPECTED_ERROR;
4453               END IF;
4454 
4455               --
4456               -- Call Update sales lead
4457               --
4458 
4459               IF (AS_DEBUG_LOW_ON) THEN
4460                   AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4461                       'Before calling Update Saleslead');
4462 	      END IF;
4463 
4464               -- Call API to create log entry
4465 
4466               AS_SALES_LEADS_LOG_PKG.Insert_Row(
4467                   px_log_id                 => l_sales_lead_log_id ,
4468                   p_sales_lead_id           => p_sales_lead_id,
4469                   p_created_by              => fnd_global.user_id,
4470                   p_creation_date           => SYSDATE,
4471                   p_last_updated_by         => fnd_global.user_id,
4472                   p_last_update_date        => SYSDATE,
4473                   p_last_update_login       => FND_GLOBAL.CONC_LOGIN_ID,
4474                   p_request_id              => FND_GLOBAL.Conc_Request_Id,
4475                   p_program_application_id  => FND_GLOBAL.Prog_Appl_Id,
4476                   p_program_id              => FND_GLOBAL.Conc_Program_Id,
4477                   p_program_update_date     => SYSDATE,
4478                   p_status_code             => l_status_code,
4479                   p_assign_to_person_id     => l_person_id,
4480                   p_assign_to_salesforce_id => l_salesforce_id,
4481                   p_reject_reason_code      => l_reject_reason_code,
4482                   p_assign_sales_group_id   => l_group_id,
4483                   p_lead_rank_id            => l_lead_rank_id,
4484                   p_qualified_flag          => l_qualified_flag,
4485                   p_category                => NULL);
4486 
4487               -- Call table handler directly, not calling Update_Sales_Lead,
4488               -- in case current user doesn't have update privilege.
4489               AS_SALES_LEADS_PKG.Sales_Lead_Update_Row(
4490                   p_SALES_LEAD_ID  => p_SALES_LEAD_ID,
4491                   p_LAST_UPDATE_DATE  => SYSDATE,
4492                   p_LAST_UPDATED_BY  => FND_GLOBAL.USER_ID,
4493                   p_CREATION_DATE  => FND_API.G_MISS_DATE,
4494                   p_CREATED_BY  => FND_API.G_MISS_NUM,
4495                   p_LAST_UPDATE_LOGIN  => FND_API.G_MISS_NUM,
4496                   p_REQUEST_ID  => FND_GLOBAL.Conc_Request_Id,
4497                   p_PROGRAM_APPLICATION_ID  => FND_GLOBAL.Prog_Appl_Id,
4498                   p_PROGRAM_ID  => FND_GLOBAL.Conc_Program_Id,
4499                   p_PROGRAM_UPDATE_DATE  => SYSDATE,
4500                   p_LEAD_NUMBER  => FND_API.G_MISS_CHAR,
4501                   p_STATUS_CODE => FND_API.G_MISS_CHAR,
4502                   p_CUSTOMER_ID  => FND_API.G_MISS_NUM,
4503                   p_ADDRESS_ID  => FND_API.G_MISS_NUM,
4504                   p_SOURCE_PROMOTION_ID  => FND_API.G_MISS_NUM,
4505                   p_INITIATING_CONTACT_ID => FND_API.G_MISS_NUM,
4506                   p_ORIG_SYSTEM_REFERENCE => FND_API.G_MISS_CHAR,
4507                   p_CONTACT_ROLE_CODE  => FND_API.G_MISS_CHAR,
4508                   p_CHANNEL_CODE  => FND_API.G_MISS_CHAR,
4509                   p_BUDGET_AMOUNT  => FND_API.G_MISS_NUM,
4510                   p_CURRENCY_CODE  => FND_API.G_MISS_CHAR,
4511                   p_DECISION_TIMEFRAME_CODE => FND_API.G_MISS_CHAR,
4512                   p_CLOSE_REASON  => FND_API.G_MISS_CHAR,
4513                   p_LEAD_RANK_ID  => FND_API.G_MISS_NUM,
4514                   p_LEAD_RANK_CODE  => FND_API.G_MISS_CHAR,
4515                   p_PARENT_PROJECT  => FND_API.G_MISS_CHAR,
4516                   p_DESCRIPTION  => FND_API.G_MISS_CHAR,
4517                   p_ATTRIBUTE_CATEGORY  => FND_API.G_MISS_CHAR,
4518                   p_ATTRIBUTE1  => FND_API.G_MISS_CHAR,
4519                   p_ATTRIBUTE2  => FND_API.G_MISS_CHAR,
4520                   p_ATTRIBUTE3  => FND_API.G_MISS_CHAR,
4521                   p_ATTRIBUTE4  => FND_API.G_MISS_CHAR,
4522                   p_ATTRIBUTE5  => FND_API.G_MISS_CHAR,
4523                   p_ATTRIBUTE6  => FND_API.G_MISS_CHAR,
4524                   p_ATTRIBUTE7  => FND_API.G_MISS_CHAR,
4525                   p_ATTRIBUTE8  => FND_API.G_MISS_CHAR,
4526                   p_ATTRIBUTE9  => FND_API.G_MISS_CHAR,
4527                   p_ATTRIBUTE10 => FND_API.G_MISS_CHAR,
4528                   p_ATTRIBUTE11 => FND_API.G_MISS_CHAR,
4529                   p_ATTRIBUTE12 => FND_API.G_MISS_CHAR,
4530                   p_ATTRIBUTE13 => FND_API.G_MISS_CHAR,
4531                   p_ATTRIBUTE14 => FND_API.G_MISS_CHAR,
4532                   p_ATTRIBUTE15 => FND_API.G_MISS_CHAR,
4533                   p_ASSIGN_TO_PERSON_ID  => l_person_id,
4534                   p_ASSIGN_TO_SALESFORCE_ID => l_salesforce_id,
4535                   p_ASSIGN_SALES_GROUP_ID => l_group_id,
4536                   p_ASSIGN_DATE  => SYSDATE,
4537                   p_BUDGET_STATUS_CODE  => FND_API.G_MISS_CHAR,
4538                   p_ACCEPT_FLAG  => 'N',
4539                   p_VEHICLE_RESPONSE_CODE => FND_API.G_MISS_CHAR,
4540                   p_TOTAL_SCORE  => FND_API.G_MISS_NUM,
4541                   p_SCORECARD_ID  => FND_API.G_MISS_NUM,
4542                   p_KEEP_FLAG  => FND_API.G_MISS_CHAR,
4543                   p_URGENT_FLAG  => FND_API.G_MISS_CHAR,
4544                   p_IMPORT_FLAG  => FND_API.G_MISS_CHAR,
4545                   p_REJECT_REASON_CODE  => NULL, --l_reject_reason_code,
4546                   p_DELETED_FLAG => FND_API.G_MISS_CHAR,
4547                   p_OFFER_ID  =>  FND_API.G_MISS_NUM,
4548                   p_QUALIFIED_FLAG => FND_API.G_MISS_CHAR,
4549                   p_ORIG_SYSTEM_CODE => FND_API.G_MISS_CHAR,
4550                   -- p_SECURITY_GROUP_ID    => FND_API.G_MISS_NUM,
4551                   p_INC_PARTNER_PARTY_ID => FND_API.G_MISS_NUM,
4552                   p_INC_PARTNER_RESOURCE_ID => FND_API.G_MISS_NUM,
4553                   p_PRM_EXEC_SPONSOR_FLAG   => FND_API.G_MISS_CHAR,
4554                   p_PRM_PRJ_LEAD_IN_PLACE_FLAG => FND_API.G_MISS_CHAR,
4555                   p_PRM_SALES_LEAD_TYPE     => FND_API.G_MISS_CHAR,
4556                   p_PRM_IND_CLASSIFICATION_CODE => FND_API.G_MISS_CHAR,
4557                   p_PRM_ASSIGNMENT_TYPE => FND_API.G_MISS_CHAR,
4558                   p_AUTO_ASSIGNMENT_TYPE => FND_API.G_MISS_CHAR,
4559                   p_PRIMARY_CONTACT_PARTY_ID => FND_API.G_MISS_NUM,
4560                   p_PRIMARY_CNT_PERSON_PARTY_ID => FND_API.G_MISS_NUM,
4561                   p_PRIMARY_CONTACT_PHONE_ID => FND_API.G_MISS_NUM,
4562                   p_REFERRED_BY => FND_API.G_MISS_NUM,
4563                   p_REFERRAL_TYPE => FND_API.G_MISS_CHAR,
4564                   p_REFERRAL_STATUS => FND_API.G_MISS_CHAR,
4565                   p_REF_DECLINE_REASON => FND_API.G_MISS_CHAR,
4566                   p_REF_COMM_LTR_STATUS => FND_API.G_MISS_CHAR,
4567                   p_REF_ORDER_NUMBER => FND_API.G_MISS_NUM,
4568                   p_REF_ORDER_AMT => FND_API.G_MISS_NUM,
4569                   p_REF_COMM_AMT => FND_API.G_MISS_NUM,
4570                   -- bug No.2341515, 2368075
4571                   p_LEAD_DATE => FND_API.G_MISS_DATE,
4572                   p_SOURCE_SYSTEM => FND_API.G_MISS_CHAR,
4573                   p_COUNTRY => FND_API.G_MISS_CHAR,
4574                   -- 11.5.9
4575 
4576                   p_TOTAL_AMOUNT => FND_API.G_MISS_NUM,
4577                   p_EXPIRATION_DATE => FND_API.G_MISS_DATE,
4578                   p_LEAD_RANK_IND => FND_API.G_MISS_CHAR,
4579                   p_LEAD_ENGINE_RUN_DATE => FND_API.G_MISS_DATE,
4580                   p_CURRENT_REROUTES => FND_API.G_MISS_NUM,
4581 
4582                   -- new columns for appsperf CRMAP denorm project bug 2928041
4583                   p_STATUS_OPEN_FLAG =>  FND_API.G_MISS_CHAR,
4584                   p_LEAD_RANK_SCORE => FND_API.G_MISS_NUM
4585 
4586                   -- 11.5.10 new columns ckapoor
4587 
4588 
4589                 , p_MARKETING_SCORE	=> FND_API.G_MISS_NUM
4590 		, p_INTERACTION_SCORE   => FND_API.G_MISS_NUM
4591 		, p_SOURCE_PRIMARY_REFERENCE	=> FND_API.G_MISS_CHAR
4592 		, p_SOURCE_SECONDARY_REFERENCE	=> FND_API.G_MISS_CHAR
4593 		, p_SALES_METHODOLOGY_ID	=> FND_API.G_MISS_NUM
4594 		, p_SALES_STAGE_ID		=> FND_API.G_MISS_NUM
4595 
4596 
4597 
4598 
4599               );
4600 
4601           END IF; -- IF (X_salesforce_id IS NOT NULL) THEN
4602       END IF; -- if there's no owner
4603 
4604       --
4605       -- End of API body.
4606       --
4607 
4608       IF FND_API.to_Boolean( p_commit )
4609       THEN
4610           COMMIT WORK;
4611       END IF;
4612 
4613       -- Debug Message
4614       IF (AS_DEBUG_LOW_ON) THEN
4615           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4616               'Pub: ' || l_api_name || ' End');
4617           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4618               'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4619       END IF;
4620 
4621       FND_MSG_PUB.Count_And_Get
4622       (  p_count          =>   x_msg_count,
4623          p_data           =>   x_msg_data
4624       );
4625 
4626       EXCEPTION
4627           WHEN FND_API.G_EXC_ERROR THEN
4628               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4629                    P_API_NAME => L_API_NAME
4630                   ,P_PKG_NAME => G_PKG_NAME
4631                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
4632                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4633                   ,X_MSG_COUNT => X_MSG_COUNT
4634                   ,X_MSG_DATA => X_MSG_DATA
4635                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4636 
4637           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4638               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4639                    P_API_NAME => L_API_NAME
4640                   ,P_PKG_NAME => G_PKG_NAME
4641                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
4642                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4643                   ,X_MSG_COUNT => X_MSG_COUNT
4644                   ,X_MSG_DATA => X_MSG_DATA
4645                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4646 
4647           WHEN OTHERS THEN
4648               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4649                    P_API_NAME => L_API_NAME
4650                   ,P_PKG_NAME => G_PKG_NAME
4651                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
4652                   ,P_SQLCODE => SQLCODE
4653                   ,P_SQLERRM => SQLERRM
4654                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4655                   ,X_MSG_COUNT => X_MSG_COUNT
4656                   ,X_MSG_DATA => X_MSG_DATA
4657                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4658 
4659 End Route_Lead_To_Marketing;
4660 
4661 PROCEDURE Lead_Process_After_Create (
4662     P_Api_Version_Number      IN  NUMBER,
4663     P_Init_Msg_List           IN  VARCHAR2    := FND_API.G_FALSE,
4664     p_Commit                  IN  VARCHAR2    := FND_API.G_FALSE,
4665     p_Validation_Level        IN  NUMBER      := FND_API.G_VALID_LEVEL_FULL,
4666     P_Check_Access_Flag       IN  VARCHAR2    := FND_API.G_MISS_CHAR,
4667     p_Admin_Flag              IN  VARCHAR2    := FND_API.G_MISS_CHAR,
4668     P_Admin_Group_Id          IN  NUMBER      := FND_API.G_MISS_NUM,
4669     P_identity_salesforce_id  IN  NUMBER      := FND_API.G_MISS_NUM,
4670     P_Salesgroup_id           IN  NUMBER      := FND_API.G_MISS_NUM,
4671     P_Sales_Lead_Id           IN  NUMBER,
4672     X_Return_Status           OUT NOCOPY VARCHAR2,
4673     X_Msg_Count               OUT NOCOPY NUMBER,
4674     X_Msg_Data                OUT NOCOPY VARCHAR2
4675     )
4676  IS
4677     l_api_name               CONSTANT VARCHAR2(30) := 'Lead_Process_After_Create';
4678     l_api_version_number     CONSTANT NUMBER   := 2.0;
4679 
4680 BEGIN
4681       SAVEPOINT LEAD_PROCESS_AFTER_CREATE_PUB;
4682 
4683       -- Standard call to check for call compatibility.
4684       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
4685                                            p_api_version_number,
4686                                            l_api_name,
4687                                            G_PKG_NAME)
4688       THEN
4689           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4690       END IF;
4691 
4692       -- Initialize message list if p_init_msg_list is set to TRUE.
4693       IF FND_API.to_Boolean( p_init_msg_list )
4694       THEN
4695           FND_MSG_PUB.initialize;
4696       END IF;
4697 
4698       -- Debug Message
4699       IF (AS_DEBUG_LOW_ON) THEN
4700           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4701               'Pub: ' || l_api_name || ' Start');
4702           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4703               'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4704       END IF;
4705 
4706       -- Initialize API return status to SUCCESS
4707       x_return_status := FND_API.G_RET_STS_SUCCESS;
4708 
4709       --
4710       -- API body
4711       --
4712 
4713       -- Calling Private package: Run_Lead_Engines
4714       IF (AS_DEBUG_LOW_ON) THEN
4715           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4716               'PUB: Call PVT.Lead_Process_After_Create');
4717       END IF;
4718 
4719       AS_SALES_LEAD_ENGINE_PVT.Lead_Process_After_Create(
4720             P_Api_Version_Number         => 2.0,
4721             P_Init_Msg_List              => FND_API.G_FALSE,
4722             P_Commit                     => FND_API.G_FALSE,
4723             P_Validation_Level           => P_Validation_Level,
4724             P_Check_Access_Flag          => P_Check_Access_Flag,
4725             p_Admin_Flag                 => p_Admin_Flag,
4726             P_Admin_Group_Id             => P_Admin_Group_Id,
4727             P_identity_salesforce_id     => P_identity_salesforce_id,
4728             P_Salesgroup_Id              => P_Salesgroup_Id,
4729             P_Sales_Lead_Id              => P_Sales_Lead_Id,
4730             X_Return_Status              => x_return_status,
4731             X_Msg_Count                  => x_msg_count,
4732             X_Msg_Data                   => x_msg_data);
4733 
4734       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4735           raise FND_API.G_EXC_ERROR;
4736       ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4737           raise FND_API.G_EXC_UNEXPECTED_ERROR;
4738       END IF;
4739 
4740 
4741       --
4742       -- End of API body.
4743       --
4744 
4745       IF FND_API.to_Boolean( p_commit )
4746       THEN
4747           COMMIT WORK;
4748       END IF;
4749 
4750 
4751       -- Debug Message
4752       IF (AS_DEBUG_LOW_ON) THEN
4753           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4754               'Pub: ' || l_api_name || ' End');
4755           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4756               'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4757       END IF;
4758 
4759       IF x_return_status = 'W'
4760       THEN
4761           FND_MSG_PUB.Count_And_Get
4762           (  p_encoded        =>   FND_API.G_FALSE,
4763              p_count          =>   x_msg_count,
4764              p_data           =>   x_msg_data
4765           );
4766       ELSE
4767           FND_MSG_PUB.Count_And_Get
4768           (  p_count          =>   x_msg_count,
4769              p_data           =>   x_msg_data
4770           );
4771       END IF;
4772 
4773       EXCEPTION
4774 
4775           WHEN AS_SALES_LEADS_PUB.Filter_Exception THEN
4776 	               RAISE AS_SALES_LEADS_PUB.Filter_Exception;
4777 
4778           WHEN FND_API.G_EXC_ERROR THEN
4779               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4780                    P_API_NAME => L_API_NAME
4781                   ,P_PKG_NAME => G_PKG_NAME
4782                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
4783                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4784                   ,X_MSG_COUNT => X_MSG_COUNT
4785                   ,X_MSG_DATA => X_MSG_DATA
4786                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4787 
4788           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4789               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4790                    P_API_NAME => L_API_NAME
4791                   ,P_PKG_NAME => G_PKG_NAME
4792                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
4793                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4794                   ,X_MSG_COUNT => X_MSG_COUNT
4795                   ,X_MSG_DATA => X_MSG_DATA
4796                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4797 
4798           WHEN OTHERS THEN
4799               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4800                    P_API_NAME => L_API_NAME
4801                   ,P_PKG_NAME => G_PKG_NAME
4802                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
4803                   ,P_SQLCODE => SQLCODE
4804                   ,P_SQLERRM => SQLERRM
4805                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4806                   ,X_MSG_COUNT => X_MSG_COUNT
4807                   ,X_MSG_DATA => X_MSG_DATA
4808                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4809 
4810 End Lead_Process_After_Create;
4811 
4812 
4813 PROCEDURE Lead_Process_After_Update (
4814     P_Api_Version_Number      IN  NUMBER,
4815     P_Init_Msg_List           IN  VARCHAR2    := FND_API.G_FALSE,
4816     p_Commit                  IN  VARCHAR2    := FND_API.G_FALSE,
4817     p_Validation_Level        IN  NUMBER      := FND_API.G_VALID_LEVEL_FULL,
4818     P_Check_Access_Flag       IN  VARCHAR2    := FND_API.G_MISS_CHAR,
4819     p_Admin_Flag              IN  VARCHAR2    := FND_API.G_MISS_CHAR,
4820     P_Admin_Group_Id          IN  NUMBER      := FND_API.G_MISS_NUM,
4821     P_identity_salesforce_id  IN  NUMBER      := FND_API.G_MISS_NUM,
4822     P_Salesgroup_id           IN  NUMBER      := FND_API.G_MISS_NUM,
4823     P_Sales_Lead_Id           IN  NUMBER,
4824     X_Return_Status           OUT NOCOPY VARCHAR2,
4825     X_Msg_Count               OUT NOCOPY NUMBER,
4826     X_Msg_Data                OUT NOCOPY VARCHAR2
4827     )
4828  IS
4829     l_api_name               CONSTANT VARCHAR2(30) := 'Lead_Process_After_Update';
4830     l_api_version_number     CONSTANT NUMBER   := 2.0;
4831 
4832 BEGIN
4833       SAVEPOINT LEAD_PROCESS_AFTER_UPDATE_PUB;
4834 
4835       -- Standard call to check for call compatibility.
4836       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
4837                                            p_api_version_number,
4838                                            l_api_name,
4839                                            G_PKG_NAME)
4840       THEN
4841           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4842       END IF;
4843 
4844       -- Initialize message list if p_init_msg_list is set to TRUE.
4845       IF FND_API.to_Boolean( p_init_msg_list )
4846       THEN
4847           FND_MSG_PUB.initialize;
4848       END IF;
4849 
4850       -- Debug Message
4851       IF (AS_DEBUG_LOW_ON) THEN
4852           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4853               'Pub: ' || l_api_name || ' Start');
4854           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4855               'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4856       END IF;
4857 
4858 
4859       -- Initialize API return status to SUCCESS
4860       x_return_status := FND_API.G_RET_STS_SUCCESS;
4861 
4862       --
4863       -- API body
4864       --
4865 
4866       -- Calling Private package: Run_Lead_Engines
4867       IF (AS_DEBUG_LOW_ON) THEN
4868           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4869               'PUB: Call PVT.Lead_Process_After_Update');
4870       END IF;
4871 
4872       AS_SALES_LEAD_ENGINE_PVT.Lead_Process_After_Update(
4873             P_Api_Version_Number         => 2.0,
4874             P_Init_Msg_List              => FND_API.G_FALSE,
4875             P_Commit                     => FND_API.G_FALSE,
4876             P_Validation_Level           => P_Validation_Level,
4877             P_Check_Access_Flag          => P_Check_Access_Flag,
4878             p_Admin_Flag                 => p_Admin_Flag,
4879             P_Admin_Group_Id             => P_Admin_Group_Id,
4880             P_identity_salesforce_id     => P_identity_salesforce_id,
4881             P_Salesgroup_Id              => P_Salesgroup_Id,
4882             P_Sales_Lead_Id              => P_Sales_Lead_Id,
4883             X_Return_Status              => x_return_status,
4884             X_Msg_Count                  => x_msg_count,
4885             X_Msg_Data                   => x_msg_data);
4886 
4887       IF x_return_status = FND_API.G_RET_STS_ERROR THEN
4888           raise FND_API.G_EXC_ERROR;
4889       ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4890           raise FND_API.G_EXC_UNEXPECTED_ERROR;
4891       END IF;
4892 
4893 
4894       --
4895       -- End of API body.
4896       --
4897 
4898       IF FND_API.to_Boolean( p_commit )
4899       THEN
4900           COMMIT WORK;
4901       END IF;
4902 
4903 
4904       -- Debug Message
4905       IF (AS_DEBUG_LOW_ON) THEN
4906           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4907               'Pub: ' || l_api_name || ' End');
4908           AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4909               'End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4910       END IF;
4911 
4912       IF x_return_status = 'W'
4913       THEN
4914           FND_MSG_PUB.Count_And_Get
4915           (  p_encoded        =>   FND_API.G_FALSE,
4916              p_count          =>   x_msg_count,
4917              p_data           =>   x_msg_data
4918           );
4919       ELSE
4920           FND_MSG_PUB.Count_And_Get
4921           (  p_count          =>   x_msg_count,
4922              p_data           =>   x_msg_data
4923           );
4924       END IF;
4925 
4926       EXCEPTION
4927           WHEN FND_API.G_EXC_ERROR THEN
4928               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4929                    P_API_NAME => L_API_NAME
4930                   ,P_PKG_NAME => G_PKG_NAME
4931                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
4932                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4933                   ,X_MSG_COUNT => X_MSG_COUNT
4934                   ,X_MSG_DATA => X_MSG_DATA
4935                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4936 
4937           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4938               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4939                    P_API_NAME => L_API_NAME
4940                   ,P_PKG_NAME => G_PKG_NAME
4941                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
4942                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4943                   ,X_MSG_COUNT => X_MSG_COUNT
4944                   ,X_MSG_DATA => X_MSG_DATA
4945                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4946 
4947           WHEN OTHERS THEN
4948               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4949                    P_API_NAME => L_API_NAME
4950                   ,P_PKG_NAME => G_PKG_NAME
4951                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
4952                   ,P_SQLCODE => SQLCODE
4953                   ,P_SQLERRM => SQLERRM
4954                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4955                   ,X_MSG_COUNT => X_MSG_COUNT
4956                   ,X_MSG_DATA => X_MSG_DATA
4957                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4958 
4959 End Lead_Process_After_Update;
4960 
4961 
4962 End AS_SALES_LEADS_PUB;