DBA Data[Home] [Help]

PACKAGE BODY: APPS.AS_OPPORTUNITY_PUB

Source


1 PACKAGE BODY AS_OPPORTUNITY_PUB as
2 /* $Header: asxpoppb.pls 120.3 2005/09/06 17:58:14 appldev ship $ */
3 -- Start of Comments
4 -- Package name     : AS_OPPORTUNITY_PUB
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 
10 
11 G_PKG_NAME 	CONSTANT VARCHAR2(30)	:= 'AS_OPPORTUNITY_PUB';
12 G_FILE_NAME 	CONSTANT VARCHAR2(12) 	:= 'asxpoppb.pls';
13 
14 -- Start of Comments
15 --
16 --    API name    : Create_Opp_header
17 --    Type        : Public.
18 --
19 -- End of Comments
20 
21 PROCEDURE Create_Opp_Header
22 (   p_api_version_number            IN    NUMBER,
23     p_init_msg_list                 IN    VARCHAR2  	DEFAULT FND_API.G_FALSE,
24     p_commit                        IN    VARCHAR2   	DEFAULT  FND_API.G_FALSE,
25     p_validation_level      	    IN    NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
26     p_header_rec                    IN    HEADER_REC_TYPE   DEFAULT  G_MISS_HEADER_REC,
27     p_check_access_flag     	    IN 	  VARCHAR2,
28     p_admin_flag	    	    IN 	  VARCHAR2,
29     p_admin_group_id	    	    IN	  NUMBER,
30     p_identity_salesforce_id 	    IN	  NUMBER,
31     p_salesgroup_id		    IN    NUMBER        DEFAULT  NULL,
32     p_partner_cont_party_id	    IN    NUMBER,
33     p_profile_tbl	    	    IN	  AS_UTILITY_PUB.Profile_Tbl_Type
34 					  DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
35     x_return_status                 OUT NOCOPY   VARCHAR2,
36     x_msg_count                     OUT NOCOPY   NUMBER,
37     x_msg_data                      OUT NOCOPY   VARCHAR2,
38     x_lead_id                       OUT NOCOPY   NUMBER
39 )
40 IS
41 l_api_name                CONSTANT VARCHAR2(30) := 'Create_opp_header';
42 l_api_version_number      CONSTANT NUMBER   := 2.0;
43 l_header_rec		  HEADER_REC_TYPE   := p_header_rec;
44 l_lead_id 		  NUMBER;
45 l_warning_msg		  VARCHAR2(2000)     := '';
46 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
47 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Create_Opp_Header';
48 
49  BEGIN
50       -- Standard Start of API savepoint
51       SAVEPOINT CREATE_OPP_HEADER_PUB;
52 
53       -- Standard call to check for call compatibility.
54       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
55                          	             p_api_version_number,
56                                            l_api_name,
57                                            G_PKG_NAME)
58       THEN
59           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
60       END IF;
61 
62 
63       -- Initialize message list if p_init_msg_list is set to TRUE.
64       IF FND_API.to_Boolean( p_init_msg_list )
65       THEN
66           FND_MSG_PUB.initialize;
67       END IF;
68 
69 
70       -- Debug Message
71       IF l_debug THEN
72       	IF l_debug THEN
73       	AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
74 					'Public API: ' || l_api_name || ' start');
75 
76       	AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
77 					'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
78       	END IF;
79       END IF;
80 
81       -- Initialize API return status to SUCCESS
82       x_return_status := FND_API.G_RET_STS_SUCCESS;
83 
84       --
85       -- API body
86       --
87 
88       /*****
89 
90       -- Debug Message
91       IF l_debug THEN
92       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
93 				'AS: Public API: Convert_Header_Values_To_Ids');
94 
95       END IF;
96 
97       -- Convert the values to ids
98       --
99       Convert_Header_Values_To_Ids (
100             p_Header_rec       =>  p_Header_rec,
101             x_pvt_Header_rec   =>  l_pvt_Header_rec
102       );
103 
104      *****/
105 
106     -- Calling Private package: Create_OPP_HEADER
107     -- Hint: Primary key needs to be returned
108       AS_OPP_header_PVT.Create_opp_header(
109       P_Api_Version_Number         => 2.0,
110       P_Init_Msg_List              => FND_API.G_FALSE,
111       P_Commit                     => p_commit,
112       P_Validation_Level           => P_Validation_Level ,
113       P_Check_Access_Flag          => p_check_access_flag,
114       P_Admin_Flag                 => P_Admin_Flag ,
115       P_Admin_Group_Id             => P_Admin_Group_Id,
116       P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
117       p_salesgroup_id		   => p_salesgroup_id,
118       P_Profile_Tbl                => P_Profile_tbl,
119       P_Partner_Cont_Party_Id	   => p_partner_cont_party_id,
120       P_Header_Rec  		   => l_Header_Rec ,
121       X_LEAD_ID     		   => x_LEAD_ID,
122       X_Return_Status              => x_return_status,
123       X_Msg_Count                  => x_msg_count,
124       X_Msg_Data                   => x_msg_data);
125 
126       IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
127 	l_warning_msg := X_Msg_Data;
128       END IF;
129 
130       -- Check return status from the above procedure call
131       IF x_return_status = FND_API.G_RET_STS_ERROR then
132           raise FND_API.G_EXC_ERROR;
133       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
134           raise FND_API.G_EXC_UNEXPECTED_ERROR;
135       END IF;
136 
137       -- USER HOOK standard : vertical industry post-processing section
138       IF(JTF_USR_HKS.Ok_to_execute('AS_OPPORTUNITY_PUB', 'Create_Opp_Header','A','V'))
139       THEN
140 	  l_Header_Rec.lead_id := x_LEAD_ID;
141           l_lead_id	:= x_LEAD_ID;
142 
143           AS_OPPORTUNITY_VUHK.Create_opp_header_Post(
144       	    P_Api_Version_Number         => 2.0,
145       	    P_Init_Msg_List              => FND_API.G_FALSE,
146       	    P_Commit                     => p_commit,
147       	    P_Validation_Level           => P_Validation_Level ,
148       	    P_Check_Access_Flag          => p_check_access_flag,
149       	    P_Admin_Flag                 => P_Admin_Flag ,
150       	    P_Admin_Group_Id             => P_Admin_Group_Id,
151       	    P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
152       	    p_salesgroup_id		   => p_salesgroup_id,
153       	    P_Profile_Tbl                => P_Profile_tbl,
154       	    P_Partner_Cont_Party_Id	   => p_partner_cont_party_id,
155       	    P_Header_Rec  		   => l_Header_Rec ,
156       	    X_LEAD_ID     		   => l_lead_id,
157       	    X_Return_Status              => x_return_status,
158       	    X_Msg_Count                  => x_msg_count,
159       	    X_Msg_Data                   => x_msg_data);
160 
161           -- Debug Message
162 	  IF x_return_status <> FND_API.G_RET_STS_SUCCESS then
163               IF l_debug THEN
164               AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
165 		   'Create_opp_header_Post fail');
166 	      END IF;
167 
168  	  END IF;
169 
170           -- Check return status from the above procedure call
171           IF x_return_status = FND_API.G_RET_STS_ERROR then
172               raise FND_API.G_EXC_ERROR;
173           elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
174               raise FND_API.G_EXC_UNEXPECTED_ERROR;
175           END IF;
176       END IF;
177 
178 
179       --
180       -- End of API body.
181       --
182 
183       -- Standard check for p_commit
184       IF FND_API.to_Boolean( p_commit )
185       THEN
186           COMMIT WORK;
187       END IF;
188 
189 
190       -- Debug Message
191       IF l_debug THEN
192       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
193 				'Public API: ' || l_api_name || ' end');
194 
195       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
196 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
197       END IF;
198 
199 
200 
201       -- Standard call to get message count and if count is 1, get message info.
202 
203       FND_MSG_PUB.Count_And_Get
204       (  p_count          =>   x_msg_count,
205          p_data           =>   x_msg_data
206       );
207 
208       IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
209 	X_Msg_Data := l_warning_msg;
210       END IF;
211 
212       EXCEPTION
213           WHEN FND_API.G_EXC_ERROR THEN
214               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
215                    P_MODULE => l_module
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_MODULE => l_module
227                   ,P_API_NAME => L_API_NAME
228                   ,P_PKG_NAME => G_PKG_NAME
229                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
230                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
231                   ,X_MSG_COUNT => X_MSG_COUNT
232                   ,X_MSG_DATA => X_MSG_DATA
233                   ,X_RETURN_STATUS => X_RETURN_STATUS);
234 
235           WHEN OTHERS THEN
236               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
237                    P_MODULE => l_module
238                   ,P_API_NAME => L_API_NAME
239                   ,P_PKG_NAME => G_PKG_NAME
240                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
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 End Create_opp_header;
246 
247 
248 -- Start of Comments
249 --
250 --    API name    : Update_Opp_Header
251 --    Type        : Public
252 --    Function    : Update Opportunity Information
253 --
254 
255 PROCEDURE Update_Opp_header
256 (   p_api_version_number    	IN     NUMBER,
257     p_init_msg_list         	IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
258     p_commit                	IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
259     p_validation_level      	IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
260     p_header_rec               	IN     AS_OPPORTUNITY_PUB.Header_Rec_Type,
261     p_check_access_flag     	IN     VARCHAR2,
262     p_admin_flag	    	IN     VARCHAR2,
263     p_admin_group_id	    	IN     NUMBER,
264     p_identity_salesforce_id 	IN     NUMBER,
265     p_partner_cont_party_id	IN     NUMBER,
266     p_profile_tbl	    	IN     AS_UTILITY_PUB.Profile_Tbl_Type
267 				       DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
268     x_return_status         	OUT NOCOPY    VARCHAR2,
269     x_msg_count             	OUT NOCOPY    NUMBER,
270     x_msg_data              	OUT NOCOPY    VARCHAR2,
271     x_lead_id               	OUT NOCOPY    NUMBER)
272 IS
273 l_api_name                CONSTANT VARCHAR2(30) := 'Update_opp_header';
274 l_api_version_number      CONSTANT NUMBER   := 2.0;
275 --l_pvt_Header_rec  AS_OPP_HEADER_PVT.Header_Rec_Type;
276 l_header_rec		  HEADER_REC_TYPE   := p_header_rec;
277 l_warning_msg		  VARCHAR2(2000)     := '';
278 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
279 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Update_Opp_header';
280  BEGIN
281       -- Standard Start of API savepoint
282       SAVEPOINT UPDATE_OPP_HEADER_PUB;
283 
284       -- Standard call to check for call compatibility.
285       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
286                          	             p_api_version_number,
287                                            l_api_name,
288                                            G_PKG_NAME)
289       THEN
290           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
291       END IF;
292 
293 
294       -- Initialize message list if p_init_msg_list is set to TRUE.
295       IF FND_API.to_Boolean( p_init_msg_list )
296       THEN
297           FND_MSG_PUB.initialize;
298       END IF;
299 
300 
301       -- Debug Message
302       IF l_debug THEN
303       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
304 				'Public API: ' || l_api_name || ' start');
305 
306       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
307 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
308       END IF;
309 
310 
311       -- Initialize API return status to SUCCESS
312       x_return_status := FND_API.G_RET_STS_SUCCESS;
313 
314       --
315       -- API body
316       --
317 
318       /*****
319       -- Debug Message
320       IF l_debug THEN
321       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
322 				'AS: Public API: Convert_Header_Values_To_Ids');
323       END IF;
324 
325       -- Convert the values to ids
326       --
327       Convert_Header_Values_To_Ids (
328             p_Header_rec       =>  p_Header_rec,
329             x_pvt_Header_rec   =>  l_pvt_Header_rec
330       );
331       *****/
332 
333       -- USER HOOK standard : vertical industry pre-processing section
334       IF(JTF_USR_HKS.Ok_to_execute('AS_OPPORTUNITY_PUB', 'Update_Opp_Header','B','V'))
335       THEN
336           AS_OPPORTUNITY_VUHK.Update_opp_header_Pre(
337     	    P_Api_Version_Number         => 2.0,
338     	    P_Init_Msg_List              => FND_API.G_FALSE,
339     	    P_Commit                     => FND_API.G_FALSE,
340     	    P_Validation_Level           => P_Validation_Level,
341     	    P_Check_Access_Flag          => p_check_access_flag,
342     	    P_Admin_Flag                 => P_Admin_Flag ,
343     	    P_Admin_Group_Id             => P_Admin_Group_Id,
344     	    P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
345     	    P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
346     	    P_Profile_Tbl                => P_Profile_tbl,
347     	    P_Header_Rec  		 => l_Header_Rec ,
348     	    X_Return_Status              => x_return_status,
349     	    X_Msg_Count                  => x_msg_count,
350     	    X_Msg_Data                   => x_msg_data);
351 
352           -- Debug Message
353 	  IF x_return_status <> FND_API.G_RET_STS_SUCCESS then
354               IF l_debug THEN
355               AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
356 		   'Update_opp_header_Pre fail');
357 	      END IF;
358 
359  	  END IF;
360 
361           -- Check return status from the above procedure call
362           IF x_return_status = FND_API.G_RET_STS_ERROR then
363               raise FND_API.G_EXC_ERROR;
364           elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
365               raise FND_API.G_EXC_UNEXPECTED_ERROR;
366           END IF;
367       END IF;
368 
369       -- Opp private API call
370       AS_OPP_header_PVT.Update_opp_header(
371     	P_Api_Version_Number         => 2.0,
372     	P_Init_Msg_List              => FND_API.G_FALSE,
373     	P_Commit                     => FND_API.G_FALSE,
374     	P_Validation_Level           => P_Validation_Level,
375     	P_Check_Access_Flag          => p_check_access_flag,
376     	P_Admin_Flag                 => P_Admin_Flag ,
377     	P_Admin_Group_Id             => P_Admin_Group_Id,
378     	P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
379     	P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
380     	P_Profile_Tbl                => P_Profile_tbl,
381     	P_Header_Rec  		 => l_Header_Rec ,
382     	X_Return_Status              => x_return_status,
383     	X_Msg_Count                  => x_msg_count,
384     	X_Msg_Data                   => x_msg_data);
385 
386       IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
387 	l_warning_msg := X_Msg_Data;
388       END IF;
389 
390       -- Check return status from the above procedure call
391       IF x_return_status = FND_API.G_RET_STS_ERROR then
392           raise FND_API.G_EXC_ERROR;
393       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
394           raise FND_API.G_EXC_UNEXPECTED_ERROR;
395       END IF;
396 
397 
398       -- USER HOOK standard : vertical industry post-processing section
399       IF(JTF_USR_HKS.Ok_to_execute('AS_OPPORTUNITY_PUB', 'Update_Opp_Header','A','V'))
400       THEN
401           AS_OPPORTUNITY_VUHK.Update_opp_header_Post(
402     	    P_Api_Version_Number         => 2.0,
403     	    P_Init_Msg_List              => FND_API.G_FALSE,
404     	    P_Commit                     => FND_API.G_FALSE,
405     	    P_Validation_Level           => P_Validation_Level,
406     	    P_Check_Access_Flag          => p_check_access_flag,
407     	    P_Admin_Flag                 => P_Admin_Flag ,
408     	    P_Admin_Group_Id             => P_Admin_Group_Id,
409     	    P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
410     	    P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
411     	    P_Profile_Tbl                => P_Profile_tbl,
412     	    P_Header_Rec  		 => l_Header_Rec ,
413     	    X_Return_Status              => x_return_status,
414     	    X_Msg_Count                  => x_msg_count,
415     	    X_Msg_Data                   => x_msg_data);
416 
417           -- Debug Message
418 	  IF x_return_status <> FND_API.G_RET_STS_SUCCESS then
419               IF l_debug THEN
420               AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
421 		   'Update_opp_header_Post fail');
422 	      END IF;
423  	  END IF;
424 
425           -- Check return status from the above procedure call
426           IF x_return_status = FND_API.G_RET_STS_ERROR then
427               raise FND_API.G_EXC_ERROR;
428           elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
429               raise FND_API.G_EXC_UNEXPECTED_ERROR;
430           END IF;
431       END IF;
432 
433 
434       --
435       -- End of API body
436       --
437 
438       -- Standard check for p_commit
439       IF FND_API.to_Boolean( p_commit )
440       THEN
441           COMMIT WORK;
442       END IF;
443 
444 
445       -- Debug Message
446       IF l_debug THEN
447       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
448 				'Public API: ' || l_api_name || ' end');
449 
450       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
451 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
452       END IF;
453       -- Standard call to get message count and if count is 1, get message info.
454       FND_MSG_PUB.Count_And_Get
455       (  p_count          =>   x_msg_count,
456          p_data           =>   x_msg_data
457       );
458 
459       IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
460 	X_Msg_Data := l_warning_msg;
461       END IF;
462 
463       EXCEPTION
464           WHEN FND_API.G_EXC_ERROR THEN
465               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
466                    P_MODULE => l_module
467                   ,P_API_NAME => L_API_NAME
468                   ,P_PKG_NAME => G_PKG_NAME
469                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
470                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
471                   ,X_MSG_COUNT => X_MSG_COUNT
472                   ,X_MSG_DATA => X_MSG_DATA
473                   ,X_RETURN_STATUS => X_RETURN_STATUS);
474 
475           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
476               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
477                    P_MODULE => l_module
478                   ,P_API_NAME => L_API_NAME
479                   ,P_PKG_NAME => G_PKG_NAME
480                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
481                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
482                   ,X_MSG_COUNT => X_MSG_COUNT
483                   ,X_MSG_DATA => X_MSG_DATA
484                   ,X_RETURN_STATUS => X_RETURN_STATUS);
485 
486           WHEN OTHERS THEN
487               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
488                    P_MODULE => l_module
489                   ,P_API_NAME => L_API_NAME
490                   ,P_PKG_NAME => G_PKG_NAME
491                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
492                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
493                   ,X_MSG_COUNT => X_MSG_COUNT
494                   ,X_MSG_DATA => X_MSG_DATA
495                   ,X_RETURN_STATUS => X_RETURN_STATUS);
496 End Update_opp_header;
497 
498 
499 -- Start of Comments
500 --
501 --    API name    : Delete_Opp_Header
502 --    Type        : Public
503 --    Function    : Delete Opportunity Record
504 --
505 
506 PROCEDURE Delete_Opp_Header
507 (   p_api_version_number    	IN     NUMBER,
508     p_init_msg_list         	IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
509     p_commit                	IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
510     p_validation_level      	IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
511     p_header_rec               	IN     AS_OPPORTUNITY_PUB.Header_Rec_Type,
512     p_check_access_flag     	IN     VARCHAR2,
513     p_admin_flag	    	IN     VARCHAR2,
514     p_admin_group_id	    	IN     NUMBER,
515     p_identity_salesforce_id 	IN     NUMBER,
516     p_partner_cont_party_id	IN     NUMBER,
517     p_profile_tbl	    	IN     AS_UTILITY_PUB.Profile_Tbl_Type
518 				       DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
519     x_return_status         	OUT NOCOPY    VARCHAR2,
520     x_msg_count             	OUT NOCOPY    NUMBER,
521     x_msg_data              	OUT NOCOPY    VARCHAR2,
522     x_lead_id               	OUT NOCOPY    NUMBER)
523 IS
524 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_opp_Header';
525 l_api_version_number      CONSTANT NUMBER   := 2.0;
526 l_header_rec		  Header_Rec_Type := p_header_rec;
527 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
528 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Delete_Opp_Header';
529 BEGIN
530       -- Standard Start of API savepoint
531       SAVEPOINT DELETE_OPP_HEADER_PUB;
532 
533       -- Standard call to check for call compatibility.
534       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
535                          	            p_api_version_number,
536                                            l_api_name,
537                                            G_PKG_NAME)
538       THEN
539           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
540       END IF;
541 
542 
543       -- Initialize message list if p_init_msg_list is set to TRUE.
544       IF FND_API.to_Boolean( p_init_msg_list )
545       THEN
546           FND_MSG_PUB.initialize;
547       END IF;
548 
549 
550       -- Debug Message
551       IF l_debug THEN
552       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
553 				'Public API: ' || l_api_name || ' start');
554 
555       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
556 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
557       END IF;
558       -- Initialize API return status to SUCCESS
559       x_return_status := FND_API.G_RET_STS_SUCCESS;
560 
561       --
562       -- API body
563       --
564 
565        /*****
566 
567       IF l_debug THEN
568       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
569 				'AS: Public API: Convert_Header_Values_To_Ids');
570 
571       END IF;
572 
573       -- Convert the values to ids
574       --
575       Convert_Header_Values_To_Ids (
576             p_Header_rec       =>  p_Header_rec,
577             x_pvt_Header_rec   =>  l_pvt_Header_rec
578       );
579       *****/
580 
581       AS_OPP_header_PVT.Delete_opp_header(
582     	P_Api_Version_Number         => 2.0,
583     	P_Init_Msg_List              => FND_API.G_FALSE,
584     	P_Commit                     => p_commit,
585     	P_Validation_Level           => P_Validation_Level,
586     	P_Check_Access_Flag          => p_check_access_flag,
587     	P_Admin_Flag                 => P_Admin_Flag ,
588     	P_Admin_Group_Id             => P_Admin_Group_Id,
589     	P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
590     	P_Partner_Cont_Party_Id	     => p_partner_cont_party_id,
591     	P_Profile_Tbl                => P_Profile_tbl,
592     	P_Lead_Id  		     => l_Header_Rec.lead_id ,
593     	X_Return_Status              => x_return_status,
594     	X_Msg_Count                  => x_msg_count,
595     	X_Msg_Data                   => x_msg_data);
596 
597       -- Check return status from the above procedure call
598       IF x_return_status = FND_API.G_RET_STS_ERROR then
599           raise FND_API.G_EXC_ERROR;
600       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
601           raise FND_API.G_EXC_UNEXPECTED_ERROR;
602       END IF;
603 
604       --
605       -- End of API body
606       --
607 
608       -- Standard check for p_commit
609       IF FND_API.to_Boolean( p_commit )
610       THEN
611           COMMIT WORK;
612       END IF;
613 
614 
615       -- Debug Message
616       IF l_debug THEN
617       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
618 				'Public API: ' || l_api_name || ' end');
619 
620       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
621 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
622       END IF;
623 
624 
625       -- Standard call to get message count and if count is 1, get message info.
626       FND_MSG_PUB.Count_And_Get
627       (  p_count          =>   x_msg_count,
628          p_data           =>   x_msg_data
629       );
630 
631       EXCEPTION
632           WHEN FND_API.G_EXC_ERROR THEN
633               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
634                    P_MODULE => l_module
635                   ,P_API_NAME => L_API_NAME
636                   ,P_PKG_NAME => G_PKG_NAME
637                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
638                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
639                   ,X_MSG_COUNT => X_MSG_COUNT
640                   ,X_MSG_DATA => X_MSG_DATA
641                   ,X_RETURN_STATUS => X_RETURN_STATUS);
642 
643           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
644               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
645                    P_MODULE => l_module
646                   ,P_API_NAME => L_API_NAME
647                   ,P_PKG_NAME => G_PKG_NAME
648                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
649                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
650                   ,X_MSG_COUNT => X_MSG_COUNT
651                   ,X_MSG_DATA => X_MSG_DATA
652                   ,X_RETURN_STATUS => X_RETURN_STATUS);
653 
654           WHEN OTHERS THEN
655               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
656                    P_MODULE => l_module
657                   ,P_API_NAME => L_API_NAME
658                   ,P_PKG_NAME => G_PKG_NAME
659                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
660                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
661                   ,X_MSG_COUNT => X_MSG_COUNT
662                   ,X_MSG_DATA => X_MSG_DATA
663                   ,X_RETURN_STATUS => X_RETURN_STATUS);
664 
665 End Delete_Opp_Header;
666 
667 -- Start of Comments
668 --
669 --    API name    : Create_Opp_Lines
670 --    Type        : Public
671 --    Function    : Create Opportunity Lines for an Opportunity
672 --
673 --
674 --
675 
676 PROCEDURE Create_Opp_Lines
677 (   p_api_version_number    	IN     NUMBER,
678     p_init_msg_list         	IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
679     p_commit                	IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
680     p_validation_level      	IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
681     p_line_tbl      		IN     AS_OPPORTUNITY_PUB.Line_Tbl_Type,
682     p_header_rec               	IN     AS_OPPORTUNITY_PUB.Header_Rec_Type,
683     p_check_access_flag     	IN     VARCHAR2,
684     p_admin_flag	    	IN     VARCHAR2,
685     p_admin_group_id	    	IN     NUMBER,
686     p_identity_salesforce_id 	IN     NUMBER,
687     p_salesgroup_id		IN    NUMBER        DEFAULT  NULL,
688     p_partner_cont_party_id	IN     NUMBER,
689     p_profile_tbl	    	IN     AS_UTILITY_PUB.Profile_Tbl_Type
690 				       DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
691     x_line_out_tbl		OUT NOCOPY    Line_Out_Tbl_Type,
692     x_return_status         	OUT NOCOPY    VARCHAR2,
693     x_msg_count             	OUT NOCOPY    NUMBER,
694     x_msg_data              	OUT NOCOPY    VARCHAR2)
695 IS
696 l_api_name                CONSTANT VARCHAR2(30) := 'Create_opp_lines';
697 l_api_version_number      CONSTANT NUMBER   := 2.0;
698 --l_pvt_Line_rec    	  AS_OPP_LINE_PVT.Line_Rec_Type;
699 
700 l_line_tbl      	  Line_Tbl_Type := p_line_tbl;
701 l_header_rec		  Header_Rec_Type := p_header_rec;
702 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
703 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Create_Opp_Lines';
704 
705  BEGIN
706       -- Standard Start of API savepoint
707       SAVEPOINT CREATE_OPP_LINES_PUB;
708 
709       -- Standard call to check for call compatibility.
710       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
711                          	             p_api_version_number,
712                                            l_api_name,
713                                            G_PKG_NAME)
714       THEN
715           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
716       END IF;
717 
718 
719       -- Initialize message list if p_init_msg_list is set to TRUE.
720       IF FND_API.to_Boolean( p_init_msg_list )
721       THEN
722           FND_MSG_PUB.initialize;
723       END IF;
724 
725 
726       -- Debug Message
727       IF l_debug THEN
728       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
729 				'Public API: ' || l_api_name || ' start');
730 
731       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
732 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
733       END IF;
734 
735       -- Initialize API return status to SUCCESS
736       x_return_status := FND_API.G_RET_STS_SUCCESS;
737 
738       --
739       -- API body
740       --
741 
742       /*****
743 
744       -- Debug Message
745       IF l_debug THEN
746       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
747 				'AS: Public API: Convert_Line_Values_To_Ids');
748       END IF;
749 
750       -- Convert the values to ids
751       --
752       Convert_Line_Values_To_Ids (
753             p_Line_rec       =>  p_Line_rec,
754             x_pvt_Line_rec   =>  l_pvt_Line_rec
755       );
756      *****/
757 
758     -- Calling Private package: Create_OPP_LINES
759     -- Hint: Primary key needs to be returned
760       AS_OPP_line_PVT.Create_opp_lines(
761       P_Api_Version_Number         => 2.0,
762       P_Init_Msg_List              => FND_API.G_FALSE,
763       P_Commit                     => p_commit,
764       P_Validation_Level           => P_Validation_Level,
765       P_Check_Access_Flag          => p_check_access_flag,
766       P_Admin_Flag                 => P_Admin_Flag ,
767       P_Admin_Group_Id             => P_Admin_Group_Id,
768       P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
769       p_salesgroup_id	           => p_salesgroup_id,
770       P_Partner_Cont_Party_Id	   => p_partner_cont_party_id,
771       P_Profile_Tbl                => P_Profile_tbl,
772       P_Line_Tbl 		   => l_line_tbl ,
773       P_Header_Rec		   => l_header_rec,
774       X_line_out_tbl    	   => x_line_out_tbl,
775       X_Return_Status              => x_return_status,
776       X_Msg_Count                  => x_msg_count,
777       X_Msg_Data                   => x_msg_data);
778 
779       -- Check return status from the above procedure call
780       IF x_return_status = FND_API.G_RET_STS_ERROR then
781           raise FND_API.G_EXC_ERROR;
782       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
783           raise FND_API.G_EXC_UNEXPECTED_ERROR;
784       END IF;
785 
786       --
787       -- End of API body.
788       --
789 
790       -- Standard check for p_commit
791       IF FND_API.to_Boolean( p_commit )
792       THEN
793           COMMIT WORK;
794       END IF;
795 
796 
797       -- Debug Message
798       IF l_debug THEN
799       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
800 				'Public API: ' || l_api_name || ' end');
801 
802       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
803 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
804 
805       END IF;
806 
807       -- Standard call to get message count and if count is 1, get message info.
808       FND_MSG_PUB.Count_And_Get
809       (  p_count          =>   x_msg_count,
810          p_data           =>   x_msg_data
811       );
812 
813       EXCEPTION
814           WHEN FND_API.G_EXC_ERROR THEN
815               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
816                    P_MODULE => l_module
817                   ,P_API_NAME => L_API_NAME
818                   ,P_PKG_NAME => G_PKG_NAME
819                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
820                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
821                   ,X_MSG_COUNT => X_MSG_COUNT
822                   ,X_MSG_DATA => X_MSG_DATA
823                   ,X_RETURN_STATUS => X_RETURN_STATUS);
824 
825           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
826               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
827                    P_MODULE => l_module
828                   ,P_API_NAME => L_API_NAME
829                   ,P_PKG_NAME => G_PKG_NAME
830                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
831                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
832                   ,X_MSG_COUNT => X_MSG_COUNT
833                   ,X_MSG_DATA => X_MSG_DATA
834                   ,X_RETURN_STATUS => X_RETURN_STATUS);
835 
836           WHEN OTHERS THEN
837               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
838                    P_MODULE => l_module
839                   ,P_API_NAME => L_API_NAME
840                   ,P_PKG_NAME => G_PKG_NAME
841                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
842                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
843                   ,X_MSG_COUNT => X_MSG_COUNT
844                   ,X_MSG_DATA => X_MSG_DATA
845                   ,X_RETURN_STATUS => X_RETURN_STATUS);
846 End Create_opp_lines;
847 
848 
849 
850 -- Start of Comments
851 --
852 --    API name    : Update_Opp_Lines
853 --    Type        : Public
854 --    Function    : Update Opp_Line Information for an Opportunity
855 --
856 --
857 
858 PROCEDURE Update_Opp_Lines
859 (   p_api_version_number    	IN    NUMBER,
860     p_init_msg_list         	IN    VARCHAR2 DEFAULT  FND_API.G_FALSE,
861     p_commit                	IN    VARCHAR2 DEFAULT  FND_API.G_FALSE,
862     p_validation_level      	IN    NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
863     p_identity_salesforce_id 	IN    NUMBER DEFAULT  NULL,
864     p_line_tbl       		IN    AS_OPPORTUNITY_PUB.Line_Tbl_Type,
865     p_header_rec               	IN    AS_OPPORTUNITY_PUB.Header_Rec_Type,
866     p_check_access_flag	    	IN    VARCHAR2,
867     p_admin_flag	    	IN    VARCHAR2,
868     p_admin_group_id	    	IN    NUMBER,
869     p_partner_cont_party_id	IN    NUMBER,
870     p_profile_tbl	    	IN    AS_UTILITY_PUB.Profile_Tbl_Type
871 				      DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
872     x_line_out_tbl		OUT NOCOPY   Line_Out_Tbl_Type,
873     x_return_status         	OUT NOCOPY   VARCHAR2,
874     x_msg_count             	OUT NOCOPY   NUMBER,
875     x_msg_data              	OUT NOCOPY   VARCHAR2)
876  IS
877 l_api_name                CONSTANT VARCHAR2(30) := 'Update_opp_lines';
878 l_api_version_number      CONSTANT NUMBER   := 2.0;
879 l_line_tbl      	  Line_Tbl_Type := p_line_tbl;
880 l_header_rec		  Header_Rec_Type := p_header_rec;
881 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
882 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Update_Opp_Lines';
883  BEGIN
884       -- Standard Start of API savepoint
885       SAVEPOINT UPDATE_OPP_LINES_PUB;
886 
887       -- Standard call to check for call compatibility.
888       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
889                          	             p_api_version_number,
890                                            l_api_name,
891                                            G_PKG_NAME)
892       THEN
893           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
894       END IF;
895 
896 
897       -- Initialize message list if p_init_msg_list is set to TRUE.
898       IF FND_API.to_Boolean( p_init_msg_list )
899       THEN
900           FND_MSG_PUB.initialize;
901       END IF;
902 
903 
904       -- Debug Message
905       IF l_debug THEN
906       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
907 				'Public API: ' || l_api_name || ' start');
908 
909       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
910 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
911 
912       END IF;
913 
914       -- Initialize API return status to SUCCESS
915       x_return_status := FND_API.G_RET_STS_SUCCESS;
916 
917       --
918       -- API body
919       --
920 
921      /*****
922 
923       -- Debug Message
924       IF l_debug THEN
925       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
926 				'AS: Public API: Convert_Line_Values_To_Ids');
927 
928       END IF;
929 
930       -- Convert the values to ids
931       --
932       Convert_Line_Values_To_Ids (
933             p_Line_rec       =>  p_Line_rec,
934             x_pvt_Line_rec   =>  l_pvt_Line_rec
935       );
936      *****/
937 
938     AS_OPP_line_PVT.Update_opp_lines(
939     P_Api_Version_Number         => 2.0,
940     P_Init_Msg_List              => FND_API.G_FALSE,
941     P_Commit                     => p_commit,
942     P_Validation_Level           => P_Validation_Level,
943     P_Check_Access_Flag          => p_check_access_flag,
944     P_Admin_Flag                 =>  P_Admin_Flag ,
945     P_Admin_Group_Id             => P_Admin_Group_Id,
946     P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
947     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
948     P_Profile_Tbl                => P_Profile_tbl,
949     P_Line_Tbl  		 => l_line_tbl ,
950     P_Header_Rec		 => l_header_rec,
951     X_Line_Out_Tbl		 => x_line_out_tbl,
952     X_Return_Status              => x_return_status,
953     X_Msg_Count                  => x_msg_count,
954     X_Msg_Data                   => x_msg_data);
955 
956       -- Check return status from the above procedure call
957       IF x_return_status = FND_API.G_RET_STS_ERROR then
958           raise FND_API.G_EXC_ERROR;
959       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
960           raise FND_API.G_EXC_UNEXPECTED_ERROR;
961       END IF;
962 
963       --
964       -- End of API body
965       --
966 
967       -- Standard check for p_commit
968       IF FND_API.to_Boolean( p_commit )
969       THEN
970           COMMIT WORK;
971       END IF;
972 
973 
974       -- Debug Message
975       IF l_debug THEN
976       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
977 				'Public API: ' || l_api_name || ' end');
978 
979       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
980 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
981 
982       END IF;
983 
984       -- Standard call to get message count and if count is 1, get message info.
985       FND_MSG_PUB.Count_And_Get
986       (  p_count          =>   x_msg_count,
987          p_data           =>   x_msg_data
988       );
989 
990       EXCEPTION
991           WHEN FND_API.G_EXC_ERROR THEN
992               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
993                    P_MODULE => l_module
994                   ,P_API_NAME => L_API_NAME
995                   ,P_PKG_NAME => G_PKG_NAME
996                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
997                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
998                   ,X_MSG_COUNT => X_MSG_COUNT
999                   ,X_MSG_DATA => X_MSG_DATA
1000                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1001 
1002           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1003               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1004                    P_MODULE => l_module
1005                   ,P_API_NAME => L_API_NAME
1006                   ,P_PKG_NAME => G_PKG_NAME
1007                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1008                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1009                   ,X_MSG_COUNT => X_MSG_COUNT
1010                   ,X_MSG_DATA => X_MSG_DATA
1011                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1012 
1013           WHEN OTHERS THEN
1014               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1015                    P_MODULE => l_module
1016                   ,P_API_NAME => L_API_NAME
1017                   ,P_PKG_NAME => G_PKG_NAME
1018                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
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 End Update_opp_lines;
1024 
1025 
1026 -- Start of Comments
1027 --
1028 --    API name    : Delete_Opp_Lines
1029 --    Type        : Public
1030 --    Function    : Delete Lines for an Opportunity
1031 --
1032 --
1033 
1034 PROCEDURE Delete_Opp_Lines
1035 (   p_api_version_number    	IN    NUMBER,
1036     p_init_msg_list         	IN    VARCHAR2 DEFAULT  FND_API.G_FALSE,
1037     p_commit                	IN    VARCHAR2 DEFAULT  FND_API.G_FALSE,
1038     p_validation_level          IN    NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
1039     p_identity_salesforce_id 	IN    NUMBER DEFAULT  NULL,
1040     p_line_tbl      		IN    AS_OPPORTUNITY_PUB.Line_Tbl_Type,
1041     p_header_rec               	IN    AS_OPPORTUNITY_PUB.Header_Rec_Type,
1042     p_check_access_flag     	IN    VARCHAR2,
1043     p_admin_flag	    	IN    VARCHAR2,
1044     p_admin_group_id	    	IN    NUMBER,
1045     p_partner_cont_party_id	IN    NUMBER,
1046     p_profile_tbl	    	IN    AS_UTILITY_PUB.Profile_Tbl_Type
1047 				      DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
1048     x_line_out_tbl		OUT NOCOPY   Line_Out_Tbl_Type,
1049     x_return_status         	OUT NOCOPY   VARCHAR2,
1050     x_msg_count             	OUT NOCOPY   NUMBER,
1051     x_msg_data              	OUT NOCOPY   VARCHAR2)
1052 IS
1053 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_opp_lines';
1054 l_api_version_number      CONSTANT NUMBER   := 2.0;
1055 l_line_tbl      	  Line_Tbl_Type := p_line_tbl;
1056 l_header_rec		  Header_Rec_Type := p_header_rec;
1057 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
1058 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Delete_Opp_Lines';
1059  BEGIN
1060       -- Standard Start of API savepoint
1061       SAVEPOINT DELETE_OPP_LINES_PUB;
1062 
1063       -- Standard call to check for call compatibility.
1064       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1065                          	             p_api_version_number,
1066                                            l_api_name,
1067                                            G_PKG_NAME)
1068       THEN
1069           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1070       END IF;
1071 
1072 
1073       -- Initialize message list if p_init_msg_list is set to TRUE.
1074       IF FND_API.to_Boolean( p_init_msg_list )
1075       THEN
1076           FND_MSG_PUB.initialize;
1077       END IF;
1078 
1079 
1080       -- Debug Message
1081       IF l_debug THEN
1082       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1083 				'Public API: ' || l_api_name || ' start');
1084 
1085       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1086 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1087 
1088       END IF;
1089 
1090       -- Initialize API return status to SUCCESS
1091       x_return_status := FND_API.G_RET_STS_SUCCESS;
1092 
1093       --
1094       -- API body
1095       --
1096 
1097      /*****
1098 
1099       -- Debug Message
1100       IF l_debug THEN
1101       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1102 				'AS: Public API: Convert_Line_Values_To_Ids');
1103       END IF;
1104 
1105       -- Convert the values to ids
1106       --
1107       Convert_Line_Values_To_Ids (
1108             p_Line_rec       =>  p_Line_rec,
1109             x_pvt_Line_rec   =>  l_pvt_Line_rec
1110       );
1111      *****/
1112 
1113     AS_OPP_line_PVT.Delete_opp_lines(
1114     P_Api_Version_Number         => 2.0,
1115     P_Init_Msg_List              => FND_API.G_FALSE,
1116     P_Commit                     => p_commit,
1117     P_Validation_Level           => P_Validation_Level,
1118     P_Check_Access_Flag          => p_check_access_flag,
1119     P_Admin_Flag                 =>  P_Admin_Flag ,
1120     P_Admin_Group_Id             => P_Admin_Group_Id,
1121     P_Profile_Tbl                => P_Profile_tbl,
1122     P_Identity_Salesforce_Id      => p_identity_salesforce_id,
1123     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
1124     P_Line_Tbl  		 => l_line_tbl ,
1125     P_Header_Rec		 => l_header_rec,
1126     X_Line_Out_Tbl		 => x_line_out_tbl,
1127     X_Return_Status              => x_return_status,
1128     X_Msg_Count                  => x_msg_count,
1129     X_Msg_Data                   => x_msg_data);
1130 
1131       -- Check return status from the above procedure call
1132       IF x_return_status = FND_API.G_RET_STS_ERROR then
1133           raise FND_API.G_EXC_ERROR;
1134       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1135           raise FND_API.G_EXC_UNEXPECTED_ERROR;
1136       END IF;
1137 
1138       --
1139       -- End of API body
1140       --
1141 
1142       -- Standard check for p_commit
1143       IF FND_API.to_Boolean( p_commit )
1144       THEN
1145           COMMIT WORK;
1146       END IF;
1147 
1148 
1149       -- Debug Message
1150       IF l_debug THEN
1151       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1152 				'Public API: ' || l_api_name || ' end');
1153 
1154       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1155 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1156 
1157       END IF;
1158 
1159       -- Standard call to get message count and if count is 1, get message info.
1160       FND_MSG_PUB.Count_And_Get
1161       (  p_count          =>   x_msg_count,
1162          p_data           =>   x_msg_data
1163       );
1164 
1165       EXCEPTION
1166           WHEN FND_API.G_EXC_ERROR THEN
1167               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1168                    P_MODULE => l_module
1169                   ,P_API_NAME => L_API_NAME
1170                   ,P_PKG_NAME => G_PKG_NAME
1171                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1172                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1173                   ,X_MSG_COUNT => X_MSG_COUNT
1174                   ,X_MSG_DATA => X_MSG_DATA
1175                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1176 
1177           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1178               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1179                    P_MODULE => l_module
1180                   ,P_API_NAME => L_API_NAME
1181                   ,P_PKG_NAME => G_PKG_NAME
1182                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1183                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1184                   ,X_MSG_COUNT => X_MSG_COUNT
1185                   ,X_MSG_DATA => X_MSG_DATA
1186                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1187 
1188           WHEN OTHERS THEN
1189               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1190                    P_MODULE => l_module
1191                   ,P_API_NAME => L_API_NAME
1192                   ,P_PKG_NAME => G_PKG_NAME
1193                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1194                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1195                   ,X_MSG_COUNT => X_MSG_COUNT
1196                   ,X_MSG_DATA => X_MSG_DATA
1197                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1198 End Delete_opp_lines;
1199 
1200 
1201 
1202 PROCEDURE Create_Sales_Credits
1203 (   p_api_version_number    IN     NUMBER,
1204     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
1205     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
1206     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
1207     p_identity_salesforce_id IN    NUMBER DEFAULT  NULL,
1208     p_sales_credit_tbl      IN     AS_OPPORTUNITY_PUB.Sales_Credit_Tbl_Type,
1209     p_check_access_flag     IN 	   VARCHAR2,
1210     p_admin_flag	    IN 	   VARCHAR2,
1211     p_admin_group_id	    IN	   NUMBER,
1212     p_partner_cont_party_id   IN     NUMBER,
1213     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
1214 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
1215     x_sales_credit_out_tbl  OUT NOCOPY    Sales_Credit_Out_Tbl_Type,
1216     x_return_status         OUT NOCOPY    VARCHAR2,
1217     x_msg_count             OUT NOCOPY    NUMBER,
1218     x_msg_data              OUT NOCOPY    VARCHAR2)
1219 IS
1220 l_api_name                CONSTANT VARCHAR2(30) := 'Create_sales_credits';
1221 l_api_version_number      CONSTANT NUMBER   := 2.0;
1222 l_sales_credit_tbl	  Sales_Credit_Tbl_type := p_sales_credit_tbl;
1223 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
1224 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Create_Sales_Credits';
1225  BEGIN
1226       -- Standard Start of API savepoint
1227       SAVEPOINT CREATE_SALES_CREDITS_PUB;
1228 
1229       -- Standard call to check for call compatibility.
1230       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1231                          	             p_api_version_number,
1232                                            l_api_name,
1233                                            G_PKG_NAME)
1234       THEN
1235           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1236       END IF;
1237 
1238 
1239       -- Initialize message list if p_init_msg_list is set to TRUE.
1240       IF FND_API.to_Boolean( p_init_msg_list )
1241       THEN
1242           FND_MSG_PUB.initialize;
1243       END IF;
1244 
1245 
1246       -- Debug Message
1247       IF l_debug THEN
1248       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1249 				'Public API: ' || l_api_name || ' start');
1250 
1251       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1252 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1253 
1254       END IF;
1255 
1256       -- Initialize API return status to SUCCESS
1257       x_return_status := FND_API.G_RET_STS_SUCCESS;
1258 
1259       --
1260       -- API body
1261       --
1262 
1263       /*****
1264 
1265       -- Debug Message
1266       IF l_debug THEN
1267       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1268 				'AS: Public API: Convert_SALES_CREDIT_Values_To_Ids');
1269 
1270       END IF;
1271 
1272       -- Convert the values to ids
1273       --
1274       Convert_SALES_CREDIT_Values_To_Ids (
1275             p_SALES_CREDIT_rec       =>  p_SALES_CREDIT_rec,
1276             x_pvt_SALES_CREDIT_rec   =>  l_pvt_SALES_CREDIT_rec
1277       );
1278       *****/
1279 
1280     -- Calling Private package: Create_SALES_CREDITS
1281     -- Hint: Primary key needs to be returned
1282       AS_OPP_sales_credit_PVT.Create_sales_credits(
1283       P_Api_Version_Number         => 2.0,
1284       P_Init_Msg_List              => FND_API.G_FALSE,
1285       P_Commit                     => p_commit,
1286       P_Validation_Level           => P_Validation_Level,
1287       P_Check_Access_Flag          => p_check_access_flag,
1288       P_Admin_Flag                 =>  P_Admin_Flag ,
1289       P_Admin_Group_Id             => P_Admin_Group_Id,
1290       P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
1291       P_Partner_Cont_Party_Id	   => p_partner_cont_party_id,
1292       P_Profile_Tbl                => P_Profile_tbl,
1293       P_Sales_Credit_Tbl	   => l_sales_credit_tbl,
1294       X_Sales_Credit_Out_Tbl	   => x_sales_credit_out_tbl,
1295       X_Return_Status              => x_return_status,
1296       X_Msg_Count                  => x_msg_count,
1297       X_Msg_Data                   => x_msg_data);
1298 
1299 
1300       -- Check return status from the above procedure call
1301       IF x_return_status = FND_API.G_RET_STS_ERROR then
1302           raise FND_API.G_EXC_ERROR;
1303       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1304           raise FND_API.G_EXC_UNEXPECTED_ERROR;
1305       END IF;
1306 
1307       --
1308       -- End of API body.
1309       --
1310 
1311       -- Standard check for p_commit
1312       IF FND_API.to_Boolean( p_commit )
1313       THEN
1314           COMMIT WORK;
1315       END IF;
1316 
1317 
1318       -- Debug Message
1319       IF l_debug THEN
1320       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1321 				'Public API: ' || l_api_name || ' end');
1322 
1323       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1324 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1325       END IF;
1326 
1327       -- Standard call to get message count and if count is 1, get message info.
1328       FND_MSG_PUB.Count_And_Get
1329       (  p_count          =>   x_msg_count,
1330          p_data           =>   x_msg_data
1331       );
1332 
1333       EXCEPTION
1334           WHEN FND_API.G_EXC_ERROR THEN
1335               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1336                    P_MODULE => l_module
1337                   ,P_API_NAME => L_API_NAME
1338                   ,P_PKG_NAME => G_PKG_NAME
1339                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1340                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1341                   ,X_MSG_COUNT => X_MSG_COUNT
1342                   ,X_MSG_DATA => X_MSG_DATA
1343                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1344 
1345           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1346               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1347                    P_MODULE => l_module
1348                   ,P_API_NAME => L_API_NAME
1349                   ,P_PKG_NAME => G_PKG_NAME
1350                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1351                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1352                   ,X_MSG_COUNT => X_MSG_COUNT
1353                   ,X_MSG_DATA => X_MSG_DATA
1354                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1355 
1356           WHEN OTHERS THEN
1357               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1358                    P_MODULE => l_module
1359                   ,P_API_NAME => L_API_NAME
1360                   ,P_PKG_NAME => G_PKG_NAME
1361                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1362                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1363                   ,X_MSG_COUNT => X_MSG_COUNT
1364                   ,X_MSG_DATA => X_MSG_DATA
1365                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1366 End Create_sales_credits;
1367 
1368 
1369 PROCEDURE Update_Sales_Credits
1370 (   p_api_version_number    IN     NUMBER,
1371     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
1372     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
1373     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
1374     p_identity_salesforce_id IN    NUMBER DEFAULT  NULL,
1375     p_sales_credit_tbl      IN     AS_OPPORTUNITY_PUB.Sales_Credit_Tbl_Type,
1376     p_check_access_flag     IN 	   VARCHAR2,
1377     p_admin_flag	    IN 	   VARCHAR2,
1378     p_admin_group_id	    IN	   NUMBER,
1379     p_partner_cont_party_id   IN     NUMBER,
1380     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
1381 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
1382     x_sales_credit_out_tbl  OUT NOCOPY    Sales_Credit_Out_Tbl_Type,
1383     x_return_status         OUT NOCOPY    VARCHAR2,
1384     x_msg_count             OUT NOCOPY    NUMBER,
1385     x_msg_data              OUT NOCOPY    VARCHAR2)
1386 
1387 IS
1388 l_api_name                CONSTANT VARCHAR2(30) := 'Update_sales_credits';
1389 l_api_version_number      CONSTANT NUMBER   := 2.0;
1390 l_sales_credit_tbl	  Sales_Credit_Tbl_type := p_sales_credit_tbl;
1391 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
1392 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Update_Sales_Credits';
1393 BEGIN
1394       -- Standard Start of API savepoint
1395       SAVEPOINT UPDATE_SALES_CREDITS_PUB;
1396 
1397       -- Standard call to check for call compatibility.
1398       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1399                          	             p_api_version_number,
1400                                            l_api_name,
1401                                            G_PKG_NAME)
1402       THEN
1403           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1404       END IF;
1405 
1406 
1407       -- Initialize message list if p_init_msg_list is set to TRUE.
1408       IF FND_API.to_Boolean( p_init_msg_list )
1409       THEN
1410           FND_MSG_PUB.initialize;
1411       END IF;
1412 
1413 
1414       -- Debug Message
1415       IF l_debug THEN
1416       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1417 				'Public API: ' || l_api_name || ' start');
1418 
1419       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1420 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1421 
1422       END IF;
1423 
1424       -- Initialize API return status to SUCCESS
1425       x_return_status := FND_API.G_RET_STS_SUCCESS;
1426 
1427       --
1428       -- API body
1429       --
1430 
1431       /*****
1432       -- Debug Message
1433       IF l_debug THEN
1434       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1435 				'AS: Public API: Convert_SALES_CREDIT_Values_To_Ids');
1436 
1437       END IF;
1438 
1439       -- Convert the values to ids
1440       --
1441       Convert_SALES_CREDIT_Values_To_Ids (
1442             p_SALES_CREDIT_rec       =>  p_SALES_CREDIT_rec,
1443             x_pvt_SALES_CREDIT_rec   =>  l_pvt_SALES_CREDIT_rec
1444       );
1445      *****/
1446 
1447     AS_OPP_sales_credit_PVT.Update_sales_credits(
1448     P_Api_Version_Number         => 2.0,
1449     P_Init_Msg_List              => FND_API.G_FALSE,
1450     P_Commit                     => p_commit,
1451     P_Validation_Level           => P_Validation_Level,
1452     P_Check_Access_Flag          => p_check_access_flag ,
1453     P_Admin_Flag                 =>  P_Admin_Flag ,
1454     P_Admin_Group_Id             => P_Admin_Group_Id,
1455     P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
1456     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
1457     P_Profile_Tbl                => P_Profile_tbl,
1458     P_Sales_Credit_Tbl	         => l_sales_credit_tbl,
1459     X_Sales_Credit_Out_Tbl	 => x_sales_credit_out_tbl,
1460     X_Return_Status              => x_return_status,
1461     X_Msg_Count                  => x_msg_count,
1462     X_Msg_Data                   => x_msg_data);
1463 
1464       -- Check return status from the above procedure call
1465       IF x_return_status = FND_API.G_RET_STS_ERROR then
1466           raise FND_API.G_EXC_ERROR;
1467       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1468           raise FND_API.G_EXC_UNEXPECTED_ERROR;
1469       END IF;
1470 
1471       --
1472       -- End of API body
1473       --
1474 
1475       -- Standard check for p_commit
1476       IF FND_API.to_Boolean( p_commit )
1477       THEN
1478           COMMIT WORK;
1479       END IF;
1480 
1481 
1482       -- Debug Message
1483       IF l_debug THEN
1484       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1485 				'Public API: ' || l_api_name || ' end');
1486 
1487       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1488 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1489 
1490       END IF;
1491 
1492       -- Standard call to get message count and if count is 1, get message info.
1493       FND_MSG_PUB.Count_And_Get
1494       (  p_count          =>   x_msg_count,
1495          p_data           =>   x_msg_data
1496       );
1497 
1498       EXCEPTION
1499           WHEN FND_API.G_EXC_ERROR THEN
1500               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1501                    P_MODULE => l_module
1502                   ,P_API_NAME => L_API_NAME
1503                   ,P_PKG_NAME => G_PKG_NAME
1504                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1505                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1506                   ,X_MSG_COUNT => X_MSG_COUNT
1507                   ,X_MSG_DATA => X_MSG_DATA
1508                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1509 
1510           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1511               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1512                    P_MODULE => l_module
1513                   ,P_API_NAME => L_API_NAME
1514                   ,P_PKG_NAME => G_PKG_NAME
1515                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1516                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1517                   ,X_MSG_COUNT => X_MSG_COUNT
1518                   ,X_MSG_DATA => X_MSG_DATA
1519                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1520 
1521           WHEN OTHERS THEN
1522               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1523                    P_MODULE => l_module
1524                   ,P_API_NAME => L_API_NAME
1525                   ,P_PKG_NAME => G_PKG_NAME
1526                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1527                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1528                   ,X_MSG_COUNT => X_MSG_COUNT
1529                   ,X_MSG_DATA => X_MSG_DATA
1530                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1531 End Update_sales_credits;
1532 
1533 
1534 
1535 PROCEDURE Modify_Sales_Credits
1536 (   p_api_version_number    IN     NUMBER,
1537     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
1538     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
1539     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
1540     p_identity_salesforce_id IN    NUMBER DEFAULT  NULL,
1541     p_sales_credit_tbl      IN     AS_OPPORTUNITY_PUB.Sales_Credit_Tbl_Type,
1542     p_check_access_flag     IN 	   VARCHAR2,
1543     p_admin_flag	    IN 	   VARCHAR2,
1544     p_admin_group_id	    IN	   NUMBER,
1545     p_partner_cont_party_id   IN     NUMBER,
1546     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
1547 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
1548     x_sales_credit_out_tbl  OUT NOCOPY    Sales_Credit_Out_Tbl_Type,
1549     x_return_status         OUT NOCOPY    VARCHAR2,
1550     x_msg_count             OUT NOCOPY    NUMBER,
1551     x_msg_data              OUT NOCOPY    VARCHAR2)
1552 
1553 IS
1554 l_api_name                CONSTANT VARCHAR2(30) := 'Modify_Sales_Credits';
1555 l_api_version_number      CONSTANT NUMBER   := 2.0;
1556 l_sales_credit_tbl	  Sales_Credit_Tbl_type := p_sales_credit_tbl;
1557 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
1558 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Modify_Sales_Credits';
1559 BEGIN
1560       -- Standard Start of API savepoint
1561       SAVEPOINT MODIFY_SALES_CREDITS_PUB;
1562 
1563       -- Standard call to check for call compatibility.
1564       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1565                          	             p_api_version_number,
1566                                            l_api_name,
1567                                            G_PKG_NAME)
1568       THEN
1569           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1570       END IF;
1571 
1572 
1573       -- Initialize message list if p_init_msg_list is set to TRUE.
1574       IF FND_API.to_Boolean( p_init_msg_list )
1575       THEN
1576           FND_MSG_PUB.initialize;
1577       END IF;
1578 
1579 
1580       -- Debug Message
1581       IF l_debug THEN
1582       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1583 				'Public API: ' || l_api_name || ' start');
1584 
1585       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1586 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1587 
1588       END IF;
1589 
1590       -- Initialize API return status to SUCCESS
1591       x_return_status := FND_API.G_RET_STS_SUCCESS;
1592 
1593       --
1594       -- API body
1595       --
1596 
1597       /*****
1598       -- Debug Message
1599       IF l_debug THEN
1600       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1601 				'AS: Public API: Convert_SALES_CREDIT_Values_To_Ids');
1602       END IF;
1603 
1604 
1605       -- Convert the values to ids
1606       --
1607       Convert_SALES_CREDIT_Values_To_Ids (
1608             p_SALES_CREDIT_rec       =>  p_SALES_CREDIT_rec,
1609             x_pvt_SALES_CREDIT_rec   =>  l_pvt_SALES_CREDIT_rec
1610       );
1611      *****/
1612 
1613     AS_OPP_sales_credit_PVT.Modify_Sales_Credits(
1614     P_Api_Version_Number         => 2.0,
1615     P_Init_Msg_List              => FND_API.G_FALSE,
1616     P_Commit                     => p_commit,
1617     P_Validation_Level           => P_Validation_Level,
1618     P_Check_Access_Flag          => p_check_access_flag ,
1619     P_Admin_Flag                 =>  P_Admin_Flag ,
1620     P_Admin_Group_Id             => P_Admin_Group_Id,
1621     P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
1622     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
1623     P_Profile_Tbl                => P_Profile_tbl,
1624     P_Sales_Credit_Tbl	         => l_sales_credit_tbl,
1625     X_Sales_Credit_Out_Tbl	 => x_sales_credit_out_tbl,
1626     X_Return_Status              => x_return_status,
1627     X_Msg_Count                  => x_msg_count,
1628     X_Msg_Data                   => x_msg_data);
1629 
1630       -- Check return status from the above procedure call
1631       IF x_return_status = FND_API.G_RET_STS_ERROR then
1632           raise FND_API.G_EXC_ERROR;
1633       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1634           raise FND_API.G_EXC_UNEXPECTED_ERROR;
1635       END IF;
1636 
1637       --
1638       -- End of API body
1639       --
1640 
1641       -- Standard check for p_commit
1642       IF FND_API.to_Boolean( p_commit )
1643       THEN
1644           COMMIT WORK;
1645       END IF;
1646 
1647 
1648       -- Debug Message
1649       IF l_debug THEN
1650       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1651 				'Public API: ' || l_api_name || ' end');
1652 
1653       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1654 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1655       END IF;
1656       -- Standard call to get message count and if count is 1, get message info.
1657       FND_MSG_PUB.Count_And_Get
1658       (  p_count          =>   x_msg_count,
1659          p_data           =>   x_msg_data
1660       );
1661 
1662       EXCEPTION
1663           WHEN FND_API.G_EXC_ERROR THEN
1664               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1665                    P_MODULE => l_module
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_MODULE => l_module
1677                   ,P_API_NAME => L_API_NAME
1678                   ,P_PKG_NAME => G_PKG_NAME
1679                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1680                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1681                   ,X_MSG_COUNT => X_MSG_COUNT
1682                   ,X_MSG_DATA => X_MSG_DATA
1683                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1684 
1685           WHEN OTHERS THEN
1686               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1687                    P_MODULE => l_module
1688                   ,P_API_NAME => L_API_NAME
1689                   ,P_PKG_NAME => G_PKG_NAME
1690                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
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 Modify_Sales_Credits;
1696 
1697 
1698 PROCEDURE Delete_Sales_Credits
1699 (   p_api_version_number    IN     NUMBER,
1700     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
1701     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
1702     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
1703     p_identity_salesforce_id IN    NUMBER DEFAULT  NULL,
1704     p_sales_credit_tbl      IN     AS_OPPORTUNITY_PUB.Sales_Credit_tbl_Type,
1705     p_check_access_flag     IN 	   VARCHAR2,
1706     p_admin_flag	    IN 	   VARCHAR2,
1707     p_admin_group_id	    IN	   NUMBER,
1708     p_partner_cont_party_id   IN     NUMBER,
1709     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
1710 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
1711     x_sales_credit_out_tbl  OUT NOCOPY    Sales_Credit_Out_Tbl_Type,
1712     x_return_status         OUT NOCOPY    VARCHAR2,
1713     x_msg_count             OUT NOCOPY    NUMBER,
1714     x_msg_data              OUT NOCOPY    VARCHAR2)
1715 
1716  IS
1717 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_sales_credits';
1718 l_api_version_number      CONSTANT NUMBER   := 2.0;
1719 l_sales_credit_tbl	  Sales_Credit_Tbl_type := p_sales_credit_tbl;
1720 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
1721 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Delete_Sales_Credits';
1722  BEGIN
1723       -- Standard Start of API savepoint
1724       SAVEPOINT DELETE_SALES_CREDITS_PUB;
1725 
1726       -- Standard call to check for call compatibility.
1727       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1728                          	             p_api_version_number,
1729                                            l_api_name,
1730                                            G_PKG_NAME)
1731       THEN
1732           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1733       END IF;
1734 
1735 
1736       -- Initialize message list if p_init_msg_list is set to TRUE.
1737       IF FND_API.to_Boolean( p_init_msg_list )
1738       THEN
1739           FND_MSG_PUB.initialize;
1740       END IF;
1741 
1742 
1743       -- Debug Message
1744       IF l_debug THEN
1745       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1746 				'Public API: ' || l_api_name || ' start');
1747 
1748       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1749 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1750 
1751       END IF;
1752 
1753       -- Initialize API return status to SUCCESS
1754       x_return_status := FND_API.G_RET_STS_SUCCESS;
1755 
1756       --
1757       -- API body
1758       --
1759 
1760       /*****
1761 
1762       -- Debug Message
1763       IF l_debug THEN
1764       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1765 				'AS: Public API: Convert_SALES_CREDIT_Values_To_Ids');
1766       END IF;
1767 
1768       -- Convert the values to ids
1769       --
1770       Convert_SALES_CREDIT_Values_To_Ids (
1771             p_SALES_CREDIT_rec       =>  p_SALES_CREDIT_rec,
1772             x_pvt_SALES_CREDIT_rec   =>  l_pvt_SALES_CREDIT_rec
1773       );
1774       *****/
1775     AS_OPP_sales_credit_PVT.Delete_sales_credits(
1776     P_Api_Version_Number         => 2.0,
1777     P_Init_Msg_List              => FND_API.G_FALSE,
1778     P_Commit                     => p_commit,
1779     P_Validation_Level           => P_Validation_Level,
1780     P_Check_Access_Flag          => p_check_access_flag,
1781     P_Admin_Flag                 => P_Admin_Flag,
1782     P_Admin_Group_Id             => P_Admin_Group_Id,
1783     P_Profile_Tbl                => P_Profile_tbl,
1784     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
1785     P_Identity_Salesforce_Id     => p_identity_salesforce_id,
1786     P_Sales_Credit_Tbl	         => l_sales_credit_tbl,
1787     X_Sales_Credit_Out_Tbl	 => x_sales_credit_out_tbl,
1788     X_Return_Status              => x_return_status,
1789     X_Msg_Count                  => x_msg_count,
1790     X_Msg_Data                   => x_msg_data);
1791 
1792       -- Check return status from the above procedure call
1793       IF x_return_status = FND_API.G_RET_STS_ERROR then
1794           raise FND_API.G_EXC_ERROR;
1795       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1796           raise FND_API.G_EXC_UNEXPECTED_ERROR;
1797       END IF;
1798 
1799       --
1800       -- End of API body
1801       --
1802 
1803       -- Standard check for p_commit
1804       IF FND_API.to_Boolean( p_commit )
1805       THEN
1806           COMMIT WORK;
1807       END IF;
1808 
1809 
1810       -- Debug Message
1811       IF l_debug THEN
1812       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1813 				'Public API: ' || l_api_name || ' end');
1814 
1815       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1816 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1817 
1818       END IF;
1819 
1820       -- Standard call to get message count and if count is 1, get message info.
1821       FND_MSG_PUB.Count_And_Get
1822       (  p_count          =>   x_msg_count,
1823          p_data           =>   x_msg_data
1824       );
1825 
1826       EXCEPTION
1827           WHEN FND_API.G_EXC_ERROR THEN
1828               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1829                    P_MODULE => l_module
1830                   ,P_API_NAME => L_API_NAME
1831                   ,P_PKG_NAME => G_PKG_NAME
1832                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1833                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1834                   ,X_MSG_COUNT => X_MSG_COUNT
1835                   ,X_MSG_DATA => X_MSG_DATA
1836                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1837 
1838           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1839               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1840                    P_MODULE => l_module
1841                   ,P_API_NAME => L_API_NAME
1842                   ,P_PKG_NAME => G_PKG_NAME
1843                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1844                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1845                   ,X_MSG_COUNT => X_MSG_COUNT
1846                   ,X_MSG_DATA => X_MSG_DATA
1847                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1848 
1849           WHEN OTHERS THEN
1850               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1851                    P_MODULE => l_module
1852                   ,P_API_NAME => L_API_NAME
1853                   ,P_PKG_NAME => G_PKG_NAME
1854                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1855                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1856                   ,X_MSG_COUNT => X_MSG_COUNT
1857                   ,X_MSG_DATA => X_MSG_DATA
1858                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1859 End Delete_sales_credits;
1860 
1861 
1862 PROCEDURE Update_Orders
1863 (   p_api_version_number    IN     NUMBER,
1864     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
1865     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
1866     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
1867     p_identity_salesforce_id IN    NUMBER   DEFAULT  NULL,
1868     p_lead_order_tbl        IN     AS_OPPORTUNITY_PUB.Order_tbl_Type,
1869     p_check_access_flag     IN 	   VARCHAR2,
1870     p_admin_flag	    IN 	   VARCHAR2,
1871     p_admin_group_id	    IN	   NUMBER,
1872     p_partner_cont_party_id   IN     NUMBER,
1873     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
1874 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
1875     x_order_out_tbl	    OUT NOCOPY    Order_Out_Tbl_Type,
1876     x_return_status         OUT NOCOPY    VARCHAR2,
1877     x_msg_count             OUT NOCOPY    NUMBER,
1878     x_msg_data              OUT NOCOPY    VARCHAR2)
1879 
1880  IS
1881 l_api_name                CONSTANT VARCHAR2(30) := 'Update_orders';
1882 l_api_version_number      CONSTANT NUMBER   := 2.0;
1883 l_order_tbl		  Order_Tbl_Type  := p_lead_order_tbl;
1884 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
1885 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Update_Orders';
1886  BEGIN
1887       -- Standard Start of API savepoint
1888       SAVEPOINT UPDATE_ORDERS_PUB;
1889 
1890       -- Standard call to check for call compatibility.
1891       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1892                          	             p_api_version_number,
1893                                            l_api_name,
1894                                            G_PKG_NAME)
1895       THEN
1896           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1897       END IF;
1898 
1899 
1900       -- Initialize message list if p_init_msg_list is set to TRUE.
1901       IF FND_API.to_Boolean( p_init_msg_list )
1902       THEN
1903           FND_MSG_PUB.initialize;
1904       END IF;
1905 
1906 
1907       -- Debug Message
1908       IF l_debug THEN
1909       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1910 				'Public API: ' || l_api_name || ' start');
1911 
1912       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1913 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1914       END IF;
1915 
1916       -- Initialize API return status to SUCCESS
1917       x_return_status := FND_API.G_RET_STS_SUCCESS;
1918 
1919       --
1920       -- API body
1921       --
1922 
1923       /*****
1924 
1925       -- Debug Message
1926       IF l_debug THEN
1927       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1928 				'AS: Public API: Convert_Order_Values_To_Ids');
1929       END IF;
1930 
1931 
1932       -- Convert the values to ids
1933       --
1934       Convert_Order_Values_To_Ids (
1935             p_Order_rec       =>  p_Order_rec,
1936             x_pvt_Order_rec   =>  l_pvt_Order_rec
1937       );
1938       *****/
1939   -- Commenting the following call and obsolete AS_OPP_order_PVT for R12
1940 
1941     /*AS_OPP_order_PVT.Update_orders(
1942     P_Api_Version_Number         => 2.0,
1943     P_Init_Msg_List              => FND_API.G_FALSE,
1944     P_Commit                     => p_commit,
1945     P_Validation_Level           => P_Validation_Level,
1946     P_Check_Access_Flag          => p_check_access_flag,
1947     P_Admin_Flag                 => P_Admin_Flag,
1948     P_Admin_Group_Id             => P_Admin_Group_Id,
1949     P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
1950     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
1951     P_Profile_Tbl                => P_Profile_tbl,
1952     P_Order_Tbl	                 => l_order_tbl,
1953     X_Lead_Order_Out_Tbl	 => x_order_out_tbl,
1954     X_Return_Status              => x_return_status,
1955     X_Msg_Count                  => x_msg_count,
1956     X_Msg_Data                   => x_msg_data);
1957 
1958       -- Check return status from the above procedure call
1959       IF x_return_status = FND_API.G_RET_STS_ERROR then
1960           raise FND_API.G_EXC_ERROR;
1961       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1962           raise FND_API.G_EXC_UNEXPECTED_ERROR;
1963       END IF;
1964       */
1965 
1966 
1967       --
1968       -- End of API body
1969       --
1970 
1971       -- Standard check for p_commit
1972       IF FND_API.to_Boolean( p_commit )
1973       THEN
1974           COMMIT WORK;
1975       END IF;
1976 
1977 
1978       -- Debug Message
1979       IF l_debug THEN
1980       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1981 				'Public API: ' || l_api_name || ' end');
1982 
1983       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1984 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1985 
1986       END IF;
1987 
1988       -- Standard call to get message count and if count is 1, get message info.
1989       FND_MSG_PUB.Count_And_Get
1990       (  p_count          =>   x_msg_count,
1991          p_data           =>   x_msg_data
1992       );
1993 
1994       EXCEPTION
1995           WHEN FND_API.G_EXC_ERROR THEN
1996               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1997                    P_MODULE => l_module
1998                   ,P_API_NAME => L_API_NAME
1999                   ,P_PKG_NAME => G_PKG_NAME
2000                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2001                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2002                   ,X_MSG_COUNT => X_MSG_COUNT
2003                   ,X_MSG_DATA => X_MSG_DATA
2004                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2005 
2006           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2007               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2008                    P_MODULE => l_module
2009                   ,P_API_NAME => L_API_NAME
2010                   ,P_PKG_NAME => G_PKG_NAME
2011                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2012                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2013                   ,X_MSG_COUNT => X_MSG_COUNT
2014                   ,X_MSG_DATA => X_MSG_DATA
2015                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2016 
2017           WHEN OTHERS THEN
2018               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2019                    P_MODULE => l_module
2020                   ,P_API_NAME => L_API_NAME
2021                   ,P_PKG_NAME => G_PKG_NAME
2022                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2023                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2024                   ,X_MSG_COUNT => X_MSG_COUNT
2025                   ,X_MSG_DATA => X_MSG_DATA
2026                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2027 End Update_orders;
2028 
2029 
2030 PROCEDURE Delete_Orders
2031 (   p_api_version_number    IN     NUMBER,
2032     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
2033     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
2034     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
2035     p_identity_salesforce_id IN    NUMBER   DEFAULT  NULL,
2036     p_lead_order_tbl        IN     AS_OPPORTUNITY_PUB.Order_tbl_Type,
2037     p_check_access_flag     IN 	   VARCHAR2,
2038     p_admin_flag	    IN 	   VARCHAR2,
2039     p_admin_group_id	    IN	   NUMBER,
2040     p_partner_cont_party_id   IN     NUMBER,
2041     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
2042 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
2043     x_order_out_tbl	    OUT NOCOPY    Order_Out_Tbl_Type,
2044     x_return_status         OUT NOCOPY    VARCHAR2,
2045     x_msg_count             OUT NOCOPY    NUMBER,
2046     x_msg_data              OUT NOCOPY    VARCHAR2)
2047 
2048  IS
2049 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_orders';
2050 l_api_version_number      CONSTANT NUMBER   := 2.0;
2051 l_order_tbl		  Order_Tbl_Type  := p_lead_order_tbl;
2052 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
2053 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Delete_Orders';
2054  BEGIN
2055       -- Standard Start of API savepoint
2056       SAVEPOINT DELETE_ORDERS_PUB;
2057 
2058       -- Standard call to check for call compatibility.
2059       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2060                          	             p_api_version_number,
2061                                            l_api_name,
2062                                            G_PKG_NAME)
2063       THEN
2064           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2065       END IF;
2066 
2067 
2068       -- Initialize message list if p_init_msg_list is set to TRUE.
2069       IF FND_API.to_Boolean( p_init_msg_list )
2070       THEN
2071           FND_MSG_PUB.initialize;
2072       END IF;
2073 
2074 
2075       -- Debug Message
2076       IF l_debug THEN
2077       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2078 				'Public API: ' || l_api_name || ' start');
2079 
2080       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2081 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2082       END IF;
2083 
2084       -- Initialize API return status to SUCCESS
2085       x_return_status := FND_API.G_RET_STS_SUCCESS;
2086 
2087       --
2088       -- API body
2089       --
2090 
2091       /*****
2092 
2093       -- Debug Message
2094       IF l_debug THEN
2095       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2096 				'AS: Public API: Convert_Order_Values_To_Ids');
2097       END IF;
2098 
2099       -- Convert the values to ids
2100       --
2101       Convert_Order_Values_To_Ids (
2102             p_Order_rec       =>  p_Order_rec,
2103             x_pvt_Order_rec   =>  l_pvt_Order_rec
2104       );
2105       *****/
2106  -- Commenting the following call and obsolete AS_OPP_order_PVT for R12
2107 /*    AS_OPP_order_PVT.Delete_orders(
2108     P_Api_Version_Number         => 2.0,
2109     P_Init_Msg_List              => FND_API.G_FALSE,
2110     P_Commit                     => p_commit,
2111     P_Validation_Level           => P_Validation_Level,
2112     P_Check_Access_Flag          => p_check_access_flag,
2113     P_Admin_Flag                 => P_Admin_Flag,
2114     P_Admin_Group_Id             => P_Admin_Group_Id,
2115     P_Identity_Salesforce_Id     => p_identity_salesforce_id,
2116     P_Profile_Tbl                => P_Profile_tbl,
2117     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
2118     P_Order_Tbl	                 => l_order_tbl,
2119     X_Lead_Order_Out_Tbl	 => x_order_out_tbl,
2120     X_Return_Status              => x_return_status,
2121     X_Msg_Count                  => x_msg_count,
2122     X_Msg_Data                   => x_msg_data);
2123 
2124       -- Check return status from the above procedure call
2125       IF x_return_status = FND_API.G_RET_STS_ERROR then
2126           raise FND_API.G_EXC_ERROR;
2127       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2128           raise FND_API.G_EXC_UNEXPECTED_ERROR;
2129       END IF;
2130 
2131       --
2132       -- End of API body
2133       --
2134 
2135       -- Standard check for p_commit
2136       IF FND_API.to_Boolean( p_commit )
2137       THEN
2138           COMMIT WORK;
2139       END IF;*/
2140 
2141 
2142       -- Debug Message
2143       IF l_debug THEN
2144       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2145 				'Public API: ' || l_api_name || ' end');
2146 
2147       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2148 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2149       END IF;
2150 
2151 
2152       -- Standard call to get message count and if count is 1, get message info.
2153       FND_MSG_PUB.Count_And_Get
2154       (  p_count          =>   x_msg_count,
2155          p_data           =>   x_msg_data
2156       );
2157 
2158       EXCEPTION
2159           WHEN FND_API.G_EXC_ERROR THEN
2160               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2161                    P_MODULE => l_module
2162                   ,P_API_NAME => L_API_NAME
2163                   ,P_PKG_NAME => G_PKG_NAME
2164                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2165                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2166                   ,X_MSG_COUNT => X_MSG_COUNT
2167                   ,X_MSG_DATA => X_MSG_DATA
2168                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2169 
2170           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2171               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2172                    P_MODULE => l_module
2173                   ,P_API_NAME => L_API_NAME
2174                   ,P_PKG_NAME => G_PKG_NAME
2175                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2176                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2177                   ,X_MSG_COUNT => X_MSG_COUNT
2178                   ,X_MSG_DATA => X_MSG_DATA
2179                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2180 
2181           WHEN OTHERS THEN
2182               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2183                    P_MODULE => l_module
2184                   ,P_API_NAME => L_API_NAME
2185                   ,P_PKG_NAME => G_PKG_NAME
2186                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2187                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2188                   ,X_MSG_COUNT => X_MSG_COUNT
2189                   ,X_MSG_DATA => X_MSG_DATA
2190                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2191 End Delete_orders;
2192 
2193 
2194 PROCEDURE Create_Competitors
2195 (   p_api_version_number    IN     NUMBER,
2196     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
2197     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
2198     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
2199     p_identity_salesforce_id IN    NUMBER   DEFAULT  NULL,
2200     p_competitor_tbl        IN     AS_OPPORTUNITY_PUB.Competitor_tbl_Type,
2201     p_check_access_flag     IN 	   VARCHAR2,
2202     p_admin_flag	    IN 	   VARCHAR2,
2203     p_admin_group_id	    IN	   NUMBER,
2204     p_partner_cont_party_id   IN     NUMBER,
2205     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
2206 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
2207     x_competitor_out_tbl    OUT NOCOPY    Competitor_Out_Tbl_Type,
2208     x_return_status         OUT NOCOPY    VARCHAR2,
2209     x_msg_count             OUT NOCOPY    NUMBER,
2210     x_msg_data              OUT NOCOPY    VARCHAR2)
2211 
2212  IS
2213 l_api_name                CONSTANT VARCHAR2(30) := 'Create_competitors';
2214 l_api_version_number      CONSTANT NUMBER   := 2.0;
2215 l_competitor_tbl	  Competitor_Tbl_Type := p_competitor_tbl;
2216 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
2217 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Create_Competitors';
2218 
2219  BEGIN
2220       -- Standard Start of API savepoint
2221       SAVEPOINT CREATE_COMPETITORS_PUB;
2222 
2223       -- Standard call to check for call compatibility.
2224       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2225                          	             p_api_version_number,
2226                                            l_api_name,
2227                                            G_PKG_NAME)
2228       THEN
2229           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2230       END IF;
2231 
2232 
2233       -- Initialize message list if p_init_msg_list is set to TRUE.
2234       IF FND_API.to_Boolean( p_init_msg_list )
2235       THEN
2236           FND_MSG_PUB.initialize;
2237       END IF;
2238 
2239 
2240       -- Debug Message
2241       IF l_debug THEN
2242       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2243 				'Public API: ' || l_api_name || ' start');
2244 
2245       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2246 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2247 
2248       END IF;
2249       -- Initialize API return status to SUCCESS
2250       x_return_status := FND_API.G_RET_STS_SUCCESS;
2251 
2252       --
2253       -- API body
2254       --
2255 
2256       /*****
2257 
2258       -- Debug Message
2259       IF l_debug THEN
2260       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2261 				'AS: Public API: Convert_Competitor_Values_To_Ids');
2262       END IF;
2263 
2264       -- Convert the values to ids
2265       --
2266       Convert_Competitor_Values_To_Ids (
2267             p_Competitor_rec       =>  p_Competitor_rec,
2268             x_pvt_Competitor_rec   =>  l_pvt_Competitor_rec
2269       );
2270       *****/
2271 
2272     -- Calling Private package: Create_COMPETITOR
2273     -- Hint: Primary key needs to be returned
2274       AS_OPP_competitor_PVT.Create_competitors(
2275       P_Api_Version_Number         => 2.0,
2276       P_Init_Msg_List              => FND_API.G_FALSE,
2277       P_Commit                     => p_commit,
2278       P_Validation_Level           => P_Validation_Level,
2279       P_Check_Access_Flag          => p_check_access_flag,
2280       P_Admin_Flag                 => P_Admin_Flag,
2281       P_Admin_Group_Id             => P_Admin_Group_Id,
2282       P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
2283       P_Partner_Cont_Party_Id	   => p_partner_cont_party_id,
2284       P_Profile_Tbl                => P_Profile_tbl,
2285       P_Competitor_Tbl             => l_competitor_tbl,
2286       X_Competitor_Out_Tbl         => x_competitor_out_tbl,
2287       X_Return_Status              => x_return_status,
2288       X_Msg_Count                  => x_msg_count,
2289       X_Msg_Data                   => x_msg_data);
2290 
2291       -- Check return status from the above procedure call
2292       IF x_return_status = FND_API.G_RET_STS_ERROR then
2293           raise FND_API.G_EXC_ERROR;
2294       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2295           raise FND_API.G_EXC_UNEXPECTED_ERROR;
2296       END IF;
2297 
2298       --
2299       -- End of API body.
2300       --
2301 
2302       -- Standard check for p_commit
2303       IF FND_API.to_Boolean( p_commit )
2304       THEN
2305           COMMIT WORK;
2306       END IF;
2307 
2308 
2309       -- Debug Message
2310       IF l_debug THEN
2311       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2312 				'Public API: ' || l_api_name || ' end');
2313 
2314       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2315 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2316 
2317       END IF;
2318 
2319       -- Standard call to get message count and if count is 1, get message info.
2320       FND_MSG_PUB.Count_And_Get
2321       (  p_count          =>   x_msg_count,
2322          p_data           =>   x_msg_data
2323       );
2324 
2325       EXCEPTION
2326           WHEN FND_API.G_EXC_ERROR THEN
2327               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2328                    P_MODULE => l_module
2329                   ,P_API_NAME => L_API_NAME
2330                   ,P_PKG_NAME => G_PKG_NAME
2331                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2332                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2333                   ,X_MSG_COUNT => X_MSG_COUNT
2334                   ,X_MSG_DATA => X_MSG_DATA
2335                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2336 
2337           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2338               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2339                    P_MODULE => l_module
2340                   ,P_API_NAME => L_API_NAME
2341                   ,P_PKG_NAME => G_PKG_NAME
2342                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2343                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2344                   ,X_MSG_COUNT => X_MSG_COUNT
2345                   ,X_MSG_DATA => X_MSG_DATA
2346                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2347 
2348           WHEN OTHERS THEN
2349               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2350                    P_MODULE => l_module
2351                   ,P_API_NAME => L_API_NAME
2352                   ,P_PKG_NAME => G_PKG_NAME
2353                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2354                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2355                   ,X_MSG_COUNT => X_MSG_COUNT
2356                   ,X_MSG_DATA => X_MSG_DATA
2357                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2358 End Create_competitors;
2359 
2360 
2361 PROCEDURE Update_Competitors
2362 (   p_api_version_number    IN     NUMBER,
2363     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
2364     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
2365     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
2366     p_identity_salesforce_id IN    NUMBER   DEFAULT  NULL,
2367     p_competitor_tbl        IN     AS_OPPORTUNITY_PUB.Competitor_tbl_Type,
2368     p_check_access_flag     IN 	   VARCHAR2,
2369     p_admin_flag	    IN 	   VARCHAR2,
2370     p_admin_group_id	    IN	   NUMBER,
2371     p_partner_cont_party_id   IN     NUMBER,
2372     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
2373 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
2374     x_competitor_out_tbl    OUT NOCOPY    Competitor_Out_Tbl_Type,
2375     x_return_status         OUT NOCOPY    VARCHAR2,
2376     x_msg_count             OUT NOCOPY    NUMBER,
2377     x_msg_data              OUT NOCOPY    VARCHAR2)
2378 
2379  IS
2380 l_api_name                CONSTANT VARCHAR2(30) := 'Update_competitors';
2381 l_api_version_number      CONSTANT NUMBER   := 2.0;
2382 l_competitor_tbl	  Competitor_Tbl_Type := p_competitor_tbl;
2383 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
2384 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Update_Competitors';
2385  BEGIN
2386       -- Standard Start of API savepoint
2387       SAVEPOINT UPDATE_COMPETITORS_PUB;
2388 
2389       -- Standard call to check for call compatibility.
2390       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2391                          	             p_api_version_number,
2392                                            l_api_name,
2393                                            G_PKG_NAME)
2394       THEN
2395           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2396       END IF;
2397 
2398 
2399       -- Initialize message list if p_init_msg_list is set to TRUE.
2400       IF FND_API.to_Boolean( p_init_msg_list )
2401       THEN
2402           FND_MSG_PUB.initialize;
2403       END IF;
2404 
2405 
2406       -- Debug Message
2407       IF l_debug THEN
2408       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2409 				'Public API: ' || l_api_name || ' start');
2410 
2411       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2412 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2413 
2414       END IF;
2415 
2416       -- Initialize API return status to SUCCESS
2417       x_return_status := FND_API.G_RET_STS_SUCCESS;
2418 
2419       --
2420       -- API body
2421       --
2422 
2423       /*****
2424       -- Debug Message
2425       IF l_debug THEN
2426       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2427 				'AS: Public API: Convert_Competitor_Values_To_Ids');
2428 
2429 
2430       END IF;
2431 
2432       -- Convert the values to ids
2433       --
2434       Convert_Competitor_Values_To_Ids (
2435             p_Competitor_rec       =>  p_Competitor_rec,
2436             x_pvt_Competitor_rec   =>  l_pvt_Competitor_rec
2437       );
2438       *****/
2439 
2440     AS_OPP_competitor_pvt.Update_competitors(
2441     P_Api_Version_Number         => 2.0,
2442     P_Init_Msg_List              => FND_API.G_FALSE,
2443     P_Commit                     => p_commit,
2444     P_Validation_Level           => P_Validation_Level,
2445     P_Check_Access_Flag          => p_check_access_flag,
2446     P_Admin_Flag                 => P_Admin_Flag ,
2447     P_Admin_Group_Id             => P_Admin_Group_Id,
2448     P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
2449     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
2450     P_Profile_Tbl                => P_Profile_tbl,
2451     P_Competitor_Tbl             => l_competitor_tbl,
2452     X_Competitor_Out_Tbl         => x_competitor_out_tbl,
2453     X_Return_Status              => x_return_status,
2454     X_Msg_Count                  => x_msg_count,
2455     X_Msg_Data                   => x_msg_data);
2456 
2457       -- Check return status from the above procedure call
2458       IF x_return_status = FND_API.G_RET_STS_ERROR then
2459           raise FND_API.G_EXC_ERROR;
2460       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2461           raise FND_API.G_EXC_UNEXPECTED_ERROR;
2462       END IF;
2463 
2464       --
2465       -- End of API body
2466       --
2467 
2468       -- Standard check for p_commit
2469       IF FND_API.to_Boolean( p_commit )
2470       THEN
2471           COMMIT WORK;
2472       END IF;
2473 
2474 
2475       -- Debug Message
2476       IF l_debug THEN
2477       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2478 				'Public API: ' || l_api_name || ' end');
2479 
2480       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2481 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2482 
2483       END IF;
2484       -- Standard call to get message count and if count is 1, get message info.
2485       FND_MSG_PUB.Count_And_Get
2486       (  p_count          =>   x_msg_count,
2487          p_data           =>   x_msg_data
2488       );
2489 
2490       EXCEPTION
2491           WHEN FND_API.G_EXC_ERROR THEN
2492               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2493                    P_MODULE => l_module
2494                   ,P_API_NAME => L_API_NAME
2495                   ,P_PKG_NAME => G_PKG_NAME
2496                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2497                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2498                   ,X_MSG_COUNT => X_MSG_COUNT
2499                   ,X_MSG_DATA => X_MSG_DATA
2500                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2501 
2502           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2503               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2504                    P_MODULE => l_module
2505                   ,P_API_NAME => L_API_NAME
2506                   ,P_PKG_NAME => G_PKG_NAME
2507                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2508                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2509                   ,X_MSG_COUNT => X_MSG_COUNT
2510                   ,X_MSG_DATA => X_MSG_DATA
2511                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2512 
2513           WHEN OTHERS THEN
2514               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2515                    P_MODULE => l_module
2516                   ,P_API_NAME => L_API_NAME
2517                   ,P_PKG_NAME => G_PKG_NAME
2518                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2519                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2520                   ,X_MSG_COUNT => X_MSG_COUNT
2521                   ,X_MSG_DATA => X_MSG_DATA
2522                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2523 End Update_competitors;
2524 
2525 
2526 PROCEDURE Delete_Competitors
2527 (   p_api_version_number    IN     NUMBER,
2528     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
2529     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
2530     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
2531     p_identity_salesforce_id IN    NUMBER   DEFAULT  NULL,
2532     p_competitor_tbl        IN     AS_OPPORTUNITY_PUB.Competitor_tbl_Type,
2533     p_check_access_flag     IN 	   VARCHAR2,
2534     p_admin_flag	    IN 	   VARCHAR2,
2535     p_admin_group_id	    IN	   NUMBER,
2536     p_partner_cont_party_id   IN     NUMBER,
2537     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
2538 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
2539     x_competitor_out_tbl    OUT NOCOPY    Competitor_Out_Tbl_Type,
2540     x_return_status         OUT NOCOPY    VARCHAR2,
2541     x_msg_count             OUT NOCOPY    NUMBER,
2542     x_msg_data              OUT NOCOPY    VARCHAR2)
2543 
2544  IS
2545 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_competitors';
2546 l_api_version_number      CONSTANT NUMBER   := 2.0;
2547 l_competitor_tbl	  Competitor_Tbl_Type := p_competitor_tbl;
2548 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
2549 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Delete_Competitors';
2550  BEGIN
2551       -- Standard Start of API savepoint
2552       SAVEPOINT DELETE_COMPETITORS_PUB;
2553 
2554       -- Standard call to check for call compatibility.
2555       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2556                          	             p_api_version_number,
2557                                            l_api_name,
2558                                            G_PKG_NAME)
2559       THEN
2560           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2561       END IF;
2562 
2563 
2564       -- Initialize message list if p_init_msg_list is set to TRUE.
2565       IF FND_API.to_Boolean( p_init_msg_list )
2566       THEN
2567           FND_MSG_PUB.initialize;
2568       END IF;
2569 
2570 
2571       -- Debug Message
2572       IF l_debug THEN
2573       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2574 				'Public API: ' || l_api_name || ' start');
2575 
2576       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2577 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2578 
2579       END IF;
2580 
2581       -- Initialize API return status to SUCCESS
2582       x_return_status := FND_API.G_RET_STS_SUCCESS;
2583 
2584       --
2585       -- API body
2586       --
2587 
2588       /*****
2589       -- Debug Message
2590       IF l_debug THEN
2591       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2592 				'AS: Public API: Convert_Competitor_Values_To_Ids');
2593 
2594       END IF;
2595 
2596       -- Convert the values to ids
2597       --
2598       Convert_Competitor_Values_To_Ids (
2599             p_Competitor_rec       =>  p_Competitor_rec,
2600             x_pvt_Competitor_rec   =>  l_pvt_Competitor_rec
2601       );
2602      *****/
2603 
2604     AS_OPP_competitor_pvt.Delete_competitors(
2605     P_Api_Version_Number         => 2.0,
2606     P_Init_Msg_List              => FND_API.G_FALSE,
2607     P_Commit                     => p_commit,
2608     P_Validation_Level           => P_Validation_Level,
2609     P_Check_Access_Flag          => p_check_access_flag,
2610     P_Admin_Flag                 => P_Admin_Flag,
2611     P_Admin_Group_Id             => P_Admin_Group_Id,
2612     P_Profile_Tbl                => P_Profile_tbl,
2613     P_Identity_Salesforce_Id      => p_identity_salesforce_id,
2614     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
2615     P_Competitor_Tbl             => l_competitor_tbl,
2616     X_Competitor_Out_Tbl         => x_competitor_out_tbl,
2617     X_Return_Status              => x_return_status,
2618     X_Msg_Count                  => x_msg_count,
2619     X_Msg_Data                   => x_msg_data);
2620 
2621       -- Check return status from the above procedure call
2622       IF x_return_status = FND_API.G_RET_STS_ERROR then
2623           raise FND_API.G_EXC_ERROR;
2624       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2625           raise FND_API.G_EXC_UNEXPECTED_ERROR;
2626       END IF;
2627 
2628       --
2629       -- End of API body
2630       --
2631 
2632       -- Standard check for p_commit
2633       IF FND_API.to_Boolean( p_commit )
2634       THEN
2635           COMMIT WORK;
2636       END IF;
2637 
2638 
2639       -- Debug Message
2640       IF l_debug THEN
2641       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2642 				'Public API: ' || l_api_name || ' end');
2643 
2644       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2645 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2646       END IF;
2647 
2648       -- Standard call to get message count and if count is 1, get message info.
2649       FND_MSG_PUB.Count_And_Get
2650       (  p_count          =>   x_msg_count,
2651          p_data           =>   x_msg_data
2652       );
2653 
2654       EXCEPTION
2655           WHEN FND_API.G_EXC_ERROR THEN
2656               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2657                    P_MODULE => l_module
2658                   ,P_API_NAME => L_API_NAME
2659                   ,P_PKG_NAME => G_PKG_NAME
2660                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2661                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2662                   ,X_MSG_COUNT => X_MSG_COUNT
2663                   ,X_MSG_DATA => X_MSG_DATA
2664                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2665 
2666           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2667               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2668                    P_MODULE => l_module
2669                   ,P_API_NAME => L_API_NAME
2670                   ,P_PKG_NAME => G_PKG_NAME
2671                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2672                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2673                   ,X_MSG_COUNT => X_MSG_COUNT
2674                   ,X_MSG_DATA => X_MSG_DATA
2675                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2676 
2677           WHEN OTHERS THEN
2678               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2679                    P_MODULE => l_module
2680                   ,P_API_NAME => L_API_NAME
2681                   ,P_PKG_NAME => G_PKG_NAME
2682                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2683                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2684                   ,X_MSG_COUNT => X_MSG_COUNT
2685                   ,X_MSG_DATA => X_MSG_DATA
2686                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2687 End Delete_competitors;
2688 
2689 
2690 PROCEDURE Create_Competitor_Prods
2691 (   p_api_version_number    IN     NUMBER,
2692     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
2693     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
2694     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
2695     p_identity_salesforce_id IN    NUMBER   DEFAULT  NULL,
2696     p_competitor_prod_tbl        IN     AS_OPPORTUNITY_PUB.Competitor_Prod_tbl_Type,
2697     p_check_access_flag     IN 	   VARCHAR2,
2698     p_admin_flag	    IN 	   VARCHAR2,
2699     p_admin_group_id	    IN	   NUMBER,
2700     p_partner_cont_party_id   IN     NUMBER,
2701     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
2702 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
2703     x_competitor_prod_out_tbl    OUT NOCOPY    Competitor_Prod_Out_Tbl_Type,
2704     x_return_status         OUT NOCOPY    VARCHAR2,
2705     x_msg_count             OUT NOCOPY    NUMBER,
2706     x_msg_data              OUT NOCOPY    VARCHAR2)
2707 
2708  IS
2709 l_api_name                CONSTANT VARCHAR2(30) := 'Create_competitor_prods';
2710 l_api_version_number      CONSTANT NUMBER   := 2.0;
2711 l_competitor_prod_tbl	  Competitor_Prod_Tbl_Type := p_competitor_prod_tbl;
2712 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
2713 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Create_Competitor_Prods';
2714 
2715  BEGIN
2716       -- Standard Start of API savepoint
2717       SAVEPOINT CREATE_COMPETITOR_PRODS_PUB;
2718 
2719       -- Standard call to check for call compatibility.
2720       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2721                          	             p_api_version_number,
2722                                            l_api_name,
2723                                            G_PKG_NAME)
2724       THEN
2725           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2726       END IF;
2727 
2728 
2729       -- Initialize message list if p_init_msg_list is set to TRUE.
2730       IF FND_API.to_Boolean( p_init_msg_list )
2731       THEN
2732           FND_MSG_PUB.initialize;
2733       END IF;
2734 
2735 
2736       -- Debug Message
2737       IF l_debug THEN
2738       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2739 				'Public API: ' || l_api_name || ' start');
2740 
2741       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2742 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2743 
2744       END IF;
2745 
2746       -- Initialize API return status to SUCCESS
2747       x_return_status := FND_API.G_RET_STS_SUCCESS;
2748 
2749       --
2750       -- API body
2751       --
2752 
2753       /*****
2754 
2755       -- Debug Message
2756       IF l_debug THEN
2757       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2758 				'AS: Public API: Convert_Competitor_Prod_Values_To_Ids');
2759       END IF;
2760 
2761       -- Convert the values to ids
2762       --
2763       Convert_Competitor_Prod_Values_To_Ids (
2764             p_Competitor_Prod_rec       =>  p_Competitor_Prod_rec,
2765             x_pvt_Competitor_Prod_rec   =>  l_pvt_Competitor_Prod_rec
2766       );
2767       *****/
2768 
2769     -- Calling Private package: Create_COMPETITOR_PROD
2770     -- Hint: Primary key needs to be returned
2771       AS_competitor_prod_PVT.Create_competitor_prods(
2772       P_Api_Version_Number         => 2.0,
2773       P_Init_Msg_List              => FND_API.G_FALSE,
2774       P_Commit                     => p_commit,
2775       P_Validation_Level           => P_Validation_Level,
2776       P_Check_Access_Flag          => p_check_access_flag,
2777       P_Admin_Flag                 => P_Admin_Flag,
2778       P_Admin_Group_Id             => P_Admin_Group_Id,
2779       P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
2780       P_Partner_Cont_Party_Id	   => p_partner_cont_party_id,
2781       P_Profile_Tbl                => P_Profile_tbl,
2782       P_Competitor_Prod_Tbl             => l_competitor_prod_tbl,
2783       X_Competitor_Prod_Out_Tbl         => x_competitor_prod_out_tbl,
2784       X_Return_Status              => x_return_status,
2785       X_Msg_Count                  => x_msg_count,
2786       X_Msg_Data                   => x_msg_data);
2787 
2788       -- Check return status from the above procedure call
2789       IF x_return_status = FND_API.G_RET_STS_ERROR then
2790           raise FND_API.G_EXC_ERROR;
2791       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2792           raise FND_API.G_EXC_UNEXPECTED_ERROR;
2793       END IF;
2794 
2795       --
2796       -- End of API body.
2797       --
2798 
2799       -- Standard check for p_commit
2800       IF FND_API.to_Boolean( p_commit )
2801       THEN
2802           COMMIT WORK;
2803       END IF;
2804 
2805 
2806       -- Debug Message
2807       IF l_debug THEN
2808       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2809 				'Public API: ' || l_api_name || ' end');
2810 
2811       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2812 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2813       END IF;
2814 
2815 
2816       -- Standard call to get message count and if count is 1, get message info.
2817       FND_MSG_PUB.Count_And_Get
2818       (  p_count          =>   x_msg_count,
2819          p_data           =>   x_msg_data
2820       );
2821 
2822       EXCEPTION
2823           WHEN FND_API.G_EXC_ERROR THEN
2824               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2825                    P_MODULE => l_module
2826                   ,P_API_NAME => L_API_NAME
2827                   ,P_PKG_NAME => G_PKG_NAME
2828                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2829                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2830                   ,X_MSG_COUNT => X_MSG_COUNT
2831                   ,X_MSG_DATA => X_MSG_DATA
2832                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2833 
2834           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2835               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2836                    P_MODULE => l_module
2837                   ,P_API_NAME => L_API_NAME
2838                   ,P_PKG_NAME => G_PKG_NAME
2839                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2840                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2841                   ,X_MSG_COUNT => X_MSG_COUNT
2842                   ,X_MSG_DATA => X_MSG_DATA
2843                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2844 
2845           WHEN OTHERS THEN
2846               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2847                    P_MODULE => l_module
2848                   ,P_API_NAME => L_API_NAME
2849                   ,P_PKG_NAME => G_PKG_NAME
2850                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2851                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2852                   ,X_MSG_COUNT => X_MSG_COUNT
2853                   ,X_MSG_DATA => X_MSG_DATA
2854                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2855 End Create_competitor_prods;
2856 
2857 
2858 PROCEDURE Update_Competitor_Prods
2859 (   p_api_version_number    IN     NUMBER,
2860     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
2861     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
2862     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
2863     p_identity_salesforce_id IN    NUMBER   DEFAULT  NULL,
2864     p_competitor_prod_tbl        IN     AS_OPPORTUNITY_PUB.Competitor_Prod_tbl_Type,
2865     p_check_access_flag     IN 	   VARCHAR2,
2866     p_admin_flag	    IN 	   VARCHAR2,
2867     p_admin_group_id	    IN	   NUMBER,
2868     p_partner_cont_party_id   IN     NUMBER,
2869     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
2870 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
2871     x_competitor_prod_out_tbl    OUT NOCOPY    Competitor_Prod_Out_Tbl_Type,
2872     x_return_status         OUT NOCOPY    VARCHAR2,
2873     x_msg_count             OUT NOCOPY    NUMBER,
2874     x_msg_data              OUT NOCOPY    VARCHAR2)
2875 
2876  IS
2877 l_api_name                CONSTANT VARCHAR2(30) := 'Update_competitor_prods';
2878 l_api_version_number      CONSTANT NUMBER   := 2.0;
2879 l_competitor_prod_tbl	  Competitor_Prod_Tbl_Type := p_competitor_prod_tbl;
2880 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
2881 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Update_Competitor_Prods';
2882  BEGIN
2883       -- Standard Start of API savepoint
2884       SAVEPOINT UPDATE_COMPETITOR_PRODS_PUB;
2885 
2886       -- Standard call to check for call compatibility.
2887       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2888                          	             p_api_version_number,
2889                                            l_api_name,
2890                                            G_PKG_NAME)
2891       THEN
2892           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2893       END IF;
2894 
2895 
2896       -- Initialize message list if p_init_msg_list is set to TRUE.
2897       IF FND_API.to_Boolean( p_init_msg_list )
2898       THEN
2899           FND_MSG_PUB.initialize;
2900       END IF;
2901 
2902 
2903       -- Debug Message
2904       IF l_debug THEN
2905       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2906 				'Public API: ' || l_api_name || ' start');
2907 
2908       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2909 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2910 
2911       END IF;
2912 
2913       -- Initialize API return status to SUCCESS
2914       x_return_status := FND_API.G_RET_STS_SUCCESS;
2915 
2916       --
2917       -- API body
2918       --
2919 
2920       /*****
2921       -- Debug Message
2922       IF l_debug THEN
2923       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2924 				'AS: Public API: Convert_Competitor_Prod_Values_To_Ids');
2925       END IF;
2926 
2927 
2928       -- Convert the values to ids
2929       --
2930       Convert_Competitor_Prod_Values_To_Ids (
2931             p_Competitor_Prod_rec       =>  p_Competitor_Prod_rec,
2932             x_pvt_Competitor_Prod_rec   =>  l_pvt_Competitor_Prod_rec
2933       );
2934       *****/
2935 
2936     AS_competitor_prod_pvt.Update_competitor_prods(
2937     P_Api_Version_Number         => 2.0,
2938     P_Init_Msg_List              => FND_API.G_FALSE,
2939     P_Commit                     => p_commit,
2940     P_Validation_Level           => P_Validation_Level,
2941     P_Check_Access_Flag          => p_check_access_flag,
2942     P_Admin_Flag                 => P_Admin_Flag ,
2943     P_Admin_Group_Id             => P_Admin_Group_Id,
2944     P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
2945     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
2946     P_Profile_Tbl                => P_Profile_tbl,
2947     P_Competitor_Prod_Tbl             => l_competitor_prod_tbl,
2948     X_Competitor_Prod_Out_Tbl         => x_competitor_prod_out_tbl,
2949     X_Return_Status              => x_return_status,
2950     X_Msg_Count                  => x_msg_count,
2951     X_Msg_Data                   => x_msg_data);
2952 
2953       -- Check return status from the above procedure call
2954       IF x_return_status = FND_API.G_RET_STS_ERROR then
2955           raise FND_API.G_EXC_ERROR;
2956       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2957           raise FND_API.G_EXC_UNEXPECTED_ERROR;
2958       END IF;
2959 
2960       --
2961       -- End of API body
2962       --
2963 
2964       -- Standard check for p_commit
2965       IF FND_API.to_Boolean( p_commit )
2966       THEN
2967           COMMIT WORK;
2968       END IF;
2969 
2970 
2971       -- Debug Message
2972       IF l_debug THEN
2973       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2974 				'Public API: ' || l_api_name || ' end');
2975 
2976       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2977 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2978       END IF;
2979 
2980       -- Standard call to get message count and if count is 1, get message info.
2981       FND_MSG_PUB.Count_And_Get
2982       (  p_count          =>   x_msg_count,
2983          p_data           =>   x_msg_data
2984       );
2985 
2986       EXCEPTION
2987           WHEN FND_API.G_EXC_ERROR THEN
2988               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2989                    P_MODULE => l_module
2990                   ,P_API_NAME => L_API_NAME
2991                   ,P_PKG_NAME => G_PKG_NAME
2992                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2993                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2994                   ,X_MSG_COUNT => X_MSG_COUNT
2995                   ,X_MSG_DATA => X_MSG_DATA
2996                   ,X_RETURN_STATUS => X_RETURN_STATUS);
2997 
2998           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2999               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3000                    P_MODULE => l_module
3001                   ,P_API_NAME => L_API_NAME
3002                   ,P_PKG_NAME => G_PKG_NAME
3003                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3004                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3005                   ,X_MSG_COUNT => X_MSG_COUNT
3006                   ,X_MSG_DATA => X_MSG_DATA
3007                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3008 
3009           WHEN OTHERS THEN
3010               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3011                    P_MODULE => l_module
3012                   ,P_API_NAME => L_API_NAME
3013                   ,P_PKG_NAME => G_PKG_NAME
3014                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
3015                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3016                   ,X_MSG_COUNT => X_MSG_COUNT
3017                   ,X_MSG_DATA => X_MSG_DATA
3018                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3019 End Update_competitor_prods;
3020 
3021 
3022 PROCEDURE Delete_Competitor_Prods
3023 (   p_api_version_number    IN     NUMBER,
3024     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
3025     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
3026     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
3027     p_identity_salesforce_id IN    NUMBER   DEFAULT  NULL,
3028     p_competitor_prod_tbl        IN     AS_OPPORTUNITY_PUB.Competitor_Prod_tbl_Type,
3029     p_check_access_flag     IN 	   VARCHAR2,
3030     p_admin_flag	    IN 	   VARCHAR2,
3031     p_admin_group_id	    IN	   NUMBER,
3032     p_partner_cont_party_id   IN     NUMBER,
3033     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
3034 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
3035     x_competitor_prod_out_tbl    OUT NOCOPY    Competitor_Prod_Out_Tbl_Type,
3036     x_return_status         OUT NOCOPY    VARCHAR2,
3037     x_msg_count             OUT NOCOPY    NUMBER,
3038     x_msg_data              OUT NOCOPY    VARCHAR2)
3039 
3040  IS
3041 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_competitor_prods';
3042 l_api_version_number      CONSTANT NUMBER   := 2.0;
3043 l_competitor_prod_tbl	  Competitor_Prod_Tbl_Type := p_competitor_prod_tbl;
3044 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
3045 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Delete_Competitor_Prods';
3046  BEGIN
3047       -- Standard Start of API savepoint
3048       SAVEPOINT DELETE_COMPETITOR_PRODS_PUB;
3049 
3050       -- Standard call to check for call compatibility.
3051       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3052                          	             p_api_version_number,
3053                                            l_api_name,
3054                                            G_PKG_NAME)
3055       THEN
3056           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3057       END IF;
3058 
3059 
3060       -- Initialize message list if p_init_msg_list is set to TRUE.
3061       IF FND_API.to_Boolean( p_init_msg_list )
3062       THEN
3063           FND_MSG_PUB.initialize;
3064       END IF;
3065 
3066 
3067       -- Debug Message
3068       IF l_debug THEN
3069       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3070 				'Public API: ' || l_api_name || ' start');
3071 
3072       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3073 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3074       END IF;
3075 
3076 
3077       -- Initialize API return status to SUCCESS
3078       x_return_status := FND_API.G_RET_STS_SUCCESS;
3079 
3080       --
3081       -- API body
3082       --
3083 
3084       /*****
3085       -- Debug Message
3086       IF l_debug THEN
3087       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3088 				'AS: Public API: Convert_Competitor_Prod_Values_To_Ids');
3089       END IF;
3090 
3091 
3092       -- Convert the values to ids
3093       --
3094       Convert_Competitor_Prod_Values_To_Ids (
3095             p_Competitor_Prod_rec       =>  p_Competitor_Prod_rec,
3096             x_pvt_Competitor_Prod_rec   =>  l_pvt_Competitor_Prod_rec
3097       );
3098      *****/
3099 
3100     AS_competitor_prod_pvt.Delete_competitor_prods(
3101     P_Api_Version_Number         => 2.0,
3102     P_Init_Msg_List              => FND_API.G_FALSE,
3103     P_Commit                     => p_commit,
3104     P_Validation_Level           => P_Validation_Level,
3105     P_Check_Access_Flag          => p_check_access_flag,
3106     P_Admin_Flag                 => P_Admin_Flag,
3107     P_Admin_Group_Id             => P_Admin_Group_Id,
3108     P_Profile_Tbl                => P_Profile_tbl,
3109     P_Identity_Salesforce_Id      => p_identity_salesforce_id,
3110     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
3111     P_Competitor_Prod_Tbl             => l_competitor_prod_tbl,
3112     X_Competitor_Prod_Out_Tbl         => x_competitor_prod_out_tbl,
3113     X_Return_Status              => x_return_status,
3114     X_Msg_Count                  => x_msg_count,
3115     X_Msg_Data                   => x_msg_data);
3116 
3117       -- Check return status from the above procedure call
3118       IF x_return_status = FND_API.G_RET_STS_ERROR then
3119           raise FND_API.G_EXC_ERROR;
3120       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
3121           raise FND_API.G_EXC_UNEXPECTED_ERROR;
3122       END IF;
3123 
3124       --
3125       -- End of API body
3126       --
3127 
3128       -- Standard check for p_commit
3129       IF FND_API.to_Boolean( p_commit )
3130       THEN
3131           COMMIT WORK;
3132       END IF;
3133 
3134 
3135       -- Debug Message
3136       IF l_debug THEN
3137       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3138 				'Public API: ' || l_api_name || ' end');
3139 
3140       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3141 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3142       END IF;
3143 
3144 
3145       -- Standard call to get message count and if count is 1, get message info.
3146       FND_MSG_PUB.Count_And_Get
3147       (  p_count          =>   x_msg_count,
3148          p_data           =>   x_msg_data
3149       );
3150 
3151       EXCEPTION
3152           WHEN FND_API.G_EXC_ERROR THEN
3153               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3154                    P_MODULE => l_module
3155                   ,P_API_NAME => L_API_NAME
3156                   ,P_PKG_NAME => G_PKG_NAME
3157                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3158                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3159                   ,X_MSG_COUNT => X_MSG_COUNT
3160                   ,X_MSG_DATA => X_MSG_DATA
3161                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3162 
3163           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3164               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3165                    P_MODULE => l_module
3166                   ,P_API_NAME => L_API_NAME
3167                   ,P_PKG_NAME => G_PKG_NAME
3168                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3169                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3170                   ,X_MSG_COUNT => X_MSG_COUNT
3171                   ,X_MSG_DATA => X_MSG_DATA
3172                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3173 
3174           WHEN OTHERS THEN
3175               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3176                    P_MODULE => l_module
3177                   ,P_API_NAME => L_API_NAME
3178                   ,P_PKG_NAME => G_PKG_NAME
3179                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
3180                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3181                   ,X_MSG_COUNT => X_MSG_COUNT
3182                   ,X_MSG_DATA => X_MSG_DATA
3183                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3184 End Delete_competitor_prods;
3185 
3186 
3187 PROCEDURE Create_Decision_Factors
3188 (   p_api_version_number    IN     NUMBER,
3189     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
3190     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
3191     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
3192     p_identity_salesforce_id IN    NUMBER   DEFAULT  NULL,
3193     p_decision_factor_tbl        IN     AS_OPPORTUNITY_PUB.Decision_Factor_tbl_Type,
3194     p_check_access_flag     IN 	   VARCHAR2,
3195     p_admin_flag	    IN 	   VARCHAR2,
3196     p_admin_group_id	    IN	   NUMBER,
3197     p_partner_cont_party_id   IN     NUMBER,
3198     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
3199 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
3200     x_decision_factor_out_tbl    OUT NOCOPY    Decision_Factor_Out_Tbl_Type,
3201     x_return_status         OUT NOCOPY    VARCHAR2,
3202     x_msg_count             OUT NOCOPY    NUMBER,
3203     x_msg_data              OUT NOCOPY    VARCHAR2)
3204 
3205  IS
3206 l_api_name                CONSTANT VARCHAR2(30) := 'Create_decision_factors';
3207 l_api_version_number      CONSTANT NUMBER   := 2.0;
3208 l_decision_factor_tbl	  Decision_Factor_Tbl_Type := p_decision_factor_tbl;
3209 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
3210 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Create_Decision_Factors';
3211  BEGIN
3212       -- Standard Start of API savepoint
3213       SAVEPOINT CREATE_DECISION_FACTORS_PUB;
3214 
3215       -- Standard call to check for call compatibility.
3216       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3217                          	             p_api_version_number,
3218                                            l_api_name,
3219                                            G_PKG_NAME)
3220       THEN
3221           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3222       END IF;
3223 
3224 
3225       -- Initialize message list if p_init_msg_list is set to TRUE.
3226       IF FND_API.to_Boolean( p_init_msg_list )
3227       THEN
3228           FND_MSG_PUB.initialize;
3229       END IF;
3230 
3231 
3232       -- Debug Message
3233       IF l_debug THEN
3234       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3235 				'Public API: ' || l_api_name || ' start');
3236 
3237       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3238 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3239       END IF;
3240 
3241 
3242       -- Initialize API return status to SUCCESS
3243       x_return_status := FND_API.G_RET_STS_SUCCESS;
3244 
3245       --
3246       -- API body
3247       --
3248 
3249       /*****
3250 
3251       -- Debug Message
3252       IF l_debug THEN
3253       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3254 				'AS: Public API: Convert_Decision_Factor_Values_To_Ids');
3255       END IF;
3256 
3257       -- Convert the values to ids
3258       --
3259       Convert_Decision_Factor_Values_To_Ids (
3260             p_Decision_Factor_rec       =>  p_Decision_Factor_rec,
3261             x_pvt_Decision_Factor_rec   =>  l_pvt_Decision_Factor_rec
3262       );
3263       *****/
3264 
3265     -- Calling Private package: Create_DECISION_FACTOR
3266     -- Hint: Primary key needs to be returned
3267       AS_decision_factor_PVT.Create_decision_factors(
3268       P_Api_Version_Number         => 2.0,
3269       P_Init_Msg_List              => FND_API.G_FALSE,
3270       P_Commit                     => p_commit,
3271       P_Validation_Level           => P_Validation_Level,
3272       P_Check_Access_Flag          => p_check_access_flag,
3273       P_Admin_Flag                 => P_Admin_Flag,
3274       P_Admin_Group_Id             => P_Admin_Group_Id,
3275       P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
3276       P_Partner_Cont_Party_Id	   => p_partner_cont_party_id,
3277       P_Profile_Tbl                => P_Profile_tbl,
3278       P_Decision_Factor_Tbl             => l_decision_factor_tbl,
3279       X_Decision_Factor_Out_Tbl         => x_decision_factor_out_tbl,
3280       X_Return_Status              => x_return_status,
3281       X_Msg_Count                  => x_msg_count,
3282       X_Msg_Data                   => x_msg_data);
3283 
3284       -- Check return status from the above procedure call
3285       IF x_return_status = FND_API.G_RET_STS_ERROR then
3286           raise FND_API.G_EXC_ERROR;
3287       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
3288           raise FND_API.G_EXC_UNEXPECTED_ERROR;
3289       END IF;
3290 
3291       --
3292       -- End of API body.
3293       --
3294 
3295       -- Standard check for p_commit
3296       IF FND_API.to_Boolean( p_commit )
3297       THEN
3298           COMMIT WORK;
3299       END IF;
3300 
3301 
3302       -- Debug Message
3303       IF l_debug THEN
3304       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3305 				'Public API: ' || l_api_name || ' end');
3306 
3307       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3308 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3309       END IF;
3310 
3311 
3312       -- Standard call to get message count and if count is 1, get message info.
3313       FND_MSG_PUB.Count_And_Get
3314       (  p_count          =>   x_msg_count,
3315          p_data           =>   x_msg_data
3316       );
3317 
3318       EXCEPTION
3319           WHEN FND_API.G_EXC_ERROR THEN
3320               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3321                    P_MODULE => l_module
3322                   ,P_API_NAME => L_API_NAME
3323                   ,P_PKG_NAME => G_PKG_NAME
3324                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3325                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3326                   ,X_MSG_COUNT => X_MSG_COUNT
3327                   ,X_MSG_DATA => X_MSG_DATA
3328                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3329 
3330           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3331               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3332                    P_MODULE => l_module
3333                   ,P_API_NAME => L_API_NAME
3334                   ,P_PKG_NAME => G_PKG_NAME
3335                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3336                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3337                   ,X_MSG_COUNT => X_MSG_COUNT
3338                   ,X_MSG_DATA => X_MSG_DATA
3339                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3340 
3341           WHEN OTHERS THEN
3342               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3343                    P_MODULE => l_module
3344                   ,P_API_NAME => L_API_NAME
3345                   ,P_PKG_NAME => G_PKG_NAME
3346                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
3347                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3348                   ,X_MSG_COUNT => X_MSG_COUNT
3349                   ,X_MSG_DATA => X_MSG_DATA
3350                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3351 End Create_decision_factors;
3352 
3353 
3354 PROCEDURE Update_Decision_Factors
3355 (   p_api_version_number    IN     NUMBER,
3356     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
3357     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
3358     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
3359     p_identity_salesforce_id IN    NUMBER   DEFAULT  NULL,
3360     p_decision_factor_tbl        IN     AS_OPPORTUNITY_PUB.Decision_Factor_tbl_Type,
3361     p_check_access_flag     IN 	   VARCHAR2,
3362     p_admin_flag	    IN 	   VARCHAR2,
3363     p_admin_group_id	    IN	   NUMBER,
3364     p_partner_cont_party_id   IN     NUMBER,
3365     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
3366 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
3367     x_decision_factor_out_tbl    OUT NOCOPY    Decision_Factor_Out_Tbl_Type,
3368     x_return_status         OUT NOCOPY    VARCHAR2,
3369     x_msg_count             OUT NOCOPY    NUMBER,
3370     x_msg_data              OUT NOCOPY    VARCHAR2)
3371 
3372  IS
3373 l_api_name                CONSTANT VARCHAR2(30) := 'Update_decision_factors';
3374 l_api_version_number      CONSTANT NUMBER   := 2.0;
3375 l_decision_factor_tbl	  Decision_Factor_Tbl_Type := p_decision_factor_tbl;
3376 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
3377 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Update_Decision_Factors';
3378  BEGIN
3379       -- Standard Start of API savepoint
3380       SAVEPOINT UPDATE_DECISION_FACTORS_PUB;
3381 
3382       -- Standard call to check for call compatibility.
3383       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3384                          	             p_api_version_number,
3385                                            l_api_name,
3386                                            G_PKG_NAME)
3387       THEN
3388           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3389       END IF;
3390 
3391 
3392       -- Initialize message list if p_init_msg_list is set to TRUE.
3393       IF FND_API.to_Boolean( p_init_msg_list )
3394       THEN
3395           FND_MSG_PUB.initialize;
3396       END IF;
3397 
3398 
3399       -- Debug Message
3400       IF l_debug THEN
3401       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3402 				'Public API: ' || l_api_name || ' start');
3403 
3404       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3405 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3406       END IF;
3407 
3408       -- Initialize API return status to SUCCESS
3409       x_return_status := FND_API.G_RET_STS_SUCCESS;
3410 
3411       --
3412       -- API body
3413       --
3414 
3415       /*****
3416       -- Debug Message
3417       IF l_debug THEN
3418       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3419 				'AS: Public API: Convert_Decision_Factor_Values_To_Ids');
3420       END IF;
3421 
3422 
3423       -- Convert the values to ids
3424       --
3425       Convert_Decision_Factor_Values_To_Ids (
3426             p_Decision_Factor_rec       =>  p_Decision_Factor_rec,
3427             x_pvt_Decision_Factor_rec   =>  l_pvt_Decision_Factor_rec
3428       );
3429       *****/
3430 
3431     AS_decision_factor_pvt.Update_decision_factors(
3432     P_Api_Version_Number         => 2.0,
3433     P_Init_Msg_List              => FND_API.G_FALSE,
3434     P_Commit                     => p_commit,
3435     P_Validation_Level           => P_Validation_Level,
3436     P_Check_Access_Flag          => p_check_access_flag,
3437     P_Admin_Flag                 => P_Admin_Flag ,
3438     P_Admin_Group_Id             => P_Admin_Group_Id,
3439     P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
3440     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
3441     P_Profile_Tbl                => P_Profile_tbl,
3442     P_Decision_Factor_Tbl             => l_decision_factor_tbl,
3443     X_Decision_Factor_Out_Tbl         => x_decision_factor_out_tbl,
3444     X_Return_Status              => x_return_status,
3445     X_Msg_Count                  => x_msg_count,
3446     X_Msg_Data                   => x_msg_data);
3447 
3448       -- Check return status from the above procedure call
3449       IF x_return_status = FND_API.G_RET_STS_ERROR then
3450           raise FND_API.G_EXC_ERROR;
3451       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
3452           raise FND_API.G_EXC_UNEXPECTED_ERROR;
3453       END IF;
3454 
3455       --
3456       -- End of API body
3457       --
3458 
3459       -- Standard check for p_commit
3460       IF FND_API.to_Boolean( p_commit )
3461       THEN
3462           COMMIT WORK;
3463       END IF;
3464 
3465 
3466       -- Debug Message
3467       IF l_debug THEN
3468       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3469 				'Public API: ' || l_api_name || ' end');
3470 
3471       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3472 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3473       END IF;
3474 
3475 
3476       -- Standard call to get message count and if count is 1, get message info.
3477       FND_MSG_PUB.Count_And_Get
3478       (  p_count          =>   x_msg_count,
3479          p_data           =>   x_msg_data
3480       );
3481 
3482       EXCEPTION
3483           WHEN FND_API.G_EXC_ERROR THEN
3484               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3485                    P_MODULE => l_module
3486                   ,P_API_NAME => L_API_NAME
3487                   ,P_PKG_NAME => G_PKG_NAME
3488                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3489                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3490                   ,X_MSG_COUNT => X_MSG_COUNT
3491                   ,X_MSG_DATA => X_MSG_DATA
3492                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3493 
3494           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3495               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3496                    P_MODULE => l_module
3497                   ,P_API_NAME => L_API_NAME
3498                   ,P_PKG_NAME => G_PKG_NAME
3499                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3500                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3501                   ,X_MSG_COUNT => X_MSG_COUNT
3502                   ,X_MSG_DATA => X_MSG_DATA
3503                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3504 
3505           WHEN OTHERS THEN
3506               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3507                    P_MODULE => l_module
3508                   ,P_API_NAME => L_API_NAME
3509                   ,P_PKG_NAME => G_PKG_NAME
3510                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
3511                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3512                   ,X_MSG_COUNT => X_MSG_COUNT
3513                   ,X_MSG_DATA => X_MSG_DATA
3514                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3515 End Update_decision_factors;
3516 
3517 
3518 PROCEDURE Delete_Decision_Factors
3519 (   p_api_version_number    IN     NUMBER,
3520     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
3521     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
3522     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
3523     p_identity_salesforce_id IN    NUMBER   DEFAULT  NULL,
3524     p_decision_factor_tbl        IN     AS_OPPORTUNITY_PUB.Decision_Factor_tbl_Type,
3525     p_check_access_flag     IN 	   VARCHAR2,
3526     p_admin_flag	    IN 	   VARCHAR2,
3527     p_admin_group_id	    IN	   NUMBER,
3528     p_partner_cont_party_id   IN     NUMBER,
3529     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
3530 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
3531     x_decision_factor_out_tbl    OUT NOCOPY    Decision_Factor_Out_Tbl_Type,
3532     x_return_status         OUT NOCOPY    VARCHAR2,
3533     x_msg_count             OUT NOCOPY    NUMBER,
3534     x_msg_data              OUT NOCOPY    VARCHAR2)
3535 
3536  IS
3537 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_decision_factors';
3538 l_api_version_number      CONSTANT NUMBER   := 2.0;
3539 l_decision_factor_tbl	  Decision_Factor_Tbl_Type := p_decision_factor_tbl;
3540 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
3541 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Delete_Decision_Factors';
3542  BEGIN
3543       -- Standard Start of API savepoint
3544       SAVEPOINT DELETE_DECISION_FACTORS_PUB;
3545 
3546       -- Standard call to check for call compatibility.
3547       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3548                          	             p_api_version_number,
3549                                            l_api_name,
3550                                            G_PKG_NAME)
3551       THEN
3552           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3553       END IF;
3554 
3555 
3556       -- Initialize message list if p_init_msg_list is set to TRUE.
3557       IF FND_API.to_Boolean( p_init_msg_list )
3558       THEN
3559           FND_MSG_PUB.initialize;
3560       END IF;
3561 
3562 
3563       -- Debug Message
3564       IF l_debug THEN
3565       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3566 				'Public API: ' || l_api_name || ' start');
3567 
3568       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3569 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3570       END IF;
3571 
3572 
3573       -- Initialize API return status to SUCCESS
3574       x_return_status := FND_API.G_RET_STS_SUCCESS;
3575 
3576       --
3577       -- API body
3578       --
3579 
3580       /*****
3581       -- Debug Message
3582       IF l_debug THEN
3583       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3584 				'AS: Public API: Convert_Decision_Factor_Values_To_Ids');
3585       END IF;
3586 
3587 
3588       -- Convert the values to ids
3589       --
3590       Convert_Decision_Factor_Values_To_Ids (
3591             p_Decision_Factor_rec       =>  p_Decision_Factor_rec,
3592             x_pvt_Decision_Factor_rec   =>  l_pvt_Decision_Factor_rec
3593       );
3594      *****/
3595 
3596     AS_decision_factor_pvt.Delete_decision_factors(
3597     P_Api_Version_Number         => 2.0,
3598     P_Init_Msg_List              => FND_API.G_FALSE,
3599     P_Commit                     => p_commit,
3600     P_Validation_Level           => P_Validation_Level,
3601     P_Check_Access_Flag          => p_check_access_flag,
3602     P_Admin_Flag                 => P_Admin_Flag,
3603     P_Admin_Group_Id             => P_Admin_Group_Id,
3604     P_Profile_Tbl                => P_Profile_tbl,
3605     P_Identity_Salesforce_Id      => p_identity_salesforce_id,
3606     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
3607     P_Decision_Factor_Tbl             => l_decision_factor_tbl,
3608     X_Decision_Factor_Out_Tbl         => x_decision_factor_out_tbl,
3609     X_Return_Status              => x_return_status,
3610     X_Msg_Count                  => x_msg_count,
3611     X_Msg_Data                   => x_msg_data);
3612 
3613       -- Check return status from the above procedure call
3614       IF x_return_status = FND_API.G_RET_STS_ERROR then
3615           raise FND_API.G_EXC_ERROR;
3616       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
3617           raise FND_API.G_EXC_UNEXPECTED_ERROR;
3618       END IF;
3619 
3620       --
3621       -- End of API body
3622       --
3623 
3624       -- Standard check for p_commit
3625       IF FND_API.to_Boolean( p_commit )
3626       THEN
3627           COMMIT WORK;
3628       END IF;
3629 
3630 
3631       -- Debug Message
3632       IF l_debug THEN
3633       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3634 				'Public API: ' || l_api_name || ' end');
3635 
3636       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3637 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3638       END IF;
3639 
3640 
3641       -- Standard call to get message count and if count is 1, get message info.
3642       FND_MSG_PUB.Count_And_Get
3643       (  p_count          =>   x_msg_count,
3644          p_data           =>   x_msg_data
3645       );
3646 
3647       EXCEPTION
3648           WHEN FND_API.G_EXC_ERROR THEN
3649               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3650                    P_MODULE => l_module
3651                   ,P_API_NAME => L_API_NAME
3652                   ,P_PKG_NAME => G_PKG_NAME
3653                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3654                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3655                   ,X_MSG_COUNT => X_MSG_COUNT
3656                   ,X_MSG_DATA => X_MSG_DATA
3657                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3658 
3659           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3660               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3661                    P_MODULE => l_module
3662                   ,P_API_NAME => L_API_NAME
3663                   ,P_PKG_NAME => G_PKG_NAME
3664                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3665                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3666                   ,X_MSG_COUNT => X_MSG_COUNT
3667                   ,X_MSG_DATA => X_MSG_DATA
3668                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3669 
3670           WHEN OTHERS THEN
3671               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3672                    P_MODULE => l_module
3673                   ,P_API_NAME => L_API_NAME
3674                   ,P_PKG_NAME => G_PKG_NAME
3675                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
3676                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3677                   ,X_MSG_COUNT => X_MSG_COUNT
3678                   ,X_MSG_DATA => X_MSG_DATA
3679                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3680 End Delete_decision_factors;
3681 
3682 
3683 PROCEDURE Create_Contacts
3684 (   p_api_version_number    IN     NUMBER,
3685     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
3686     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
3687     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
3688     p_identity_salesforce_id IN    NUMBER DEFAULT  NULL,
3689     p_contact_tbl           IN     AS_OPPORTUNITY_PUB.Contact_tbl_Type,
3690     p_header_rec            IN     HEADER_REC_TYPE DEFAULT  G_MISS_HEADER_REC,
3691     p_check_access_flag     IN 	   VARCHAR2,
3692     p_admin_flag	    IN 	   VARCHAR2,
3693     p_admin_group_id	    IN	   NUMBER,
3694     p_partner_cont_party_id   IN     NUMBER,
3695     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
3696 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
3697     x_contact_out_tbl	    OUT NOCOPY    Contact_Out_Tbl_Type,
3698     x_return_status         OUT NOCOPY    VARCHAR2,
3699     x_msg_count             OUT NOCOPY    NUMBER,
3700     x_msg_data              OUT NOCOPY    VARCHAR2)
3701 
3702  IS
3703 l_api_name                CONSTANT VARCHAR2(30) := 'Create_contacts';
3704 l_api_version_number      CONSTANT NUMBER   := 2.0;
3705 
3706 l_contact_tbl		  Contact_Tbl_type := p_contact_tbl;
3707 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
3708 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Create_Contacts';
3709  BEGIN
3710       -- Standard Start of API savepoint
3711       SAVEPOINT CREATE_CONTACTS_PUB;
3712 
3713       -- Standard call to check for call compatibility.
3714       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3715                          	             p_api_version_number,
3716                                            l_api_name,
3717                                            G_PKG_NAME)
3718       THEN
3719           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3720       END IF;
3721 
3722 
3723       -- Initialize message list if p_init_msg_list is set to TRUE.
3724       IF FND_API.to_Boolean( p_init_msg_list )
3725       THEN
3726           FND_MSG_PUB.initialize;
3727       END IF;
3728 
3729 
3730       -- Debug Message
3731       IF l_debug THEN
3732       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3733 				'Public API: ' || l_api_name || ' start');
3734 
3735       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3736 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3737       END IF;
3738 
3739 
3740       -- Initialize API return status to SUCCESS
3741       x_return_status := FND_API.G_RET_STS_SUCCESS;
3742 
3743       --
3744       -- API body
3745       --
3746 
3747       /*****
3748       -- Debug Message
3749       IF l_debug THEN
3750       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3751 				'AS: Public API: Convert_Contact_Values_To_Ids');
3752       END IF;
3753 
3754       -- Convert the values to ids
3755       --
3756       Convert_Contact_Values_To_Ids (
3757             p_Contact_rec       =>  p_Contact_rec,
3758             x_pvt_Contact_rec   =>  l_pvt_Contact_rec
3759       );
3760       *****/
3761 
3762     -- Calling Private package: Create_OPP_CONTACT
3763     -- Hint: Primary key needs to be returned
3764       AS_OPP_contact_PVT.Create_opp_contacts(
3765       P_Api_Version_Number         => 2.0,
3766       P_Init_Msg_List              => FND_API.G_FALSE,
3767       P_Commit                     => p_commit,
3768       P_Validation_Level           => P_Validation_Level,
3769       P_Check_Access_Flag          => p_check_access_flag,
3770       P_Admin_Flag                 => P_Admin_Flag,
3771       P_Admin_Group_Id             => P_Admin_Group_Id,
3772       P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
3773       P_Partner_Cont_Party_Id	   => p_partner_cont_party_id,
3774       P_Profile_Tbl                => P_Profile_tbl,
3775       P_Contact_Tbl 	    	   => l_contact_tbl,
3776       X_Contact_Out_Tbl     	   => x_contact_out_tbl,
3777       X_Return_Status              => x_return_status,
3778       X_Msg_Count                  => x_msg_count,
3779       X_Msg_Data                   => x_msg_data);
3780 
3781       -- Check return status from the above procedure call
3782       IF x_return_status = FND_API.G_RET_STS_ERROR then
3783           raise FND_API.G_EXC_ERROR;
3784       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
3785           raise FND_API.G_EXC_UNEXPECTED_ERROR;
3786       END IF;
3787 
3788       --
3789       -- End of API body.
3790       --
3791 
3792       -- Standard check for p_commit
3793       IF FND_API.to_Boolean( p_commit )
3794       THEN
3795           COMMIT WORK;
3796       END IF;
3797 
3798 
3799       -- Debug Message
3800       IF l_debug THEN
3801       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3802 				'Public API: ' || l_api_name || ' end');
3803 
3804       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3805 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3806 
3807       END IF;
3808 
3809       -- Standard call to get message count and if count is 1, get message info.
3810       FND_MSG_PUB.Count_And_Get
3811       (  p_count          =>   x_msg_count,
3812          p_data           =>   x_msg_data
3813       );
3814 
3815       EXCEPTION
3816           WHEN FND_API.G_EXC_ERROR THEN
3817               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3818                    P_MODULE => l_module
3819                   ,P_API_NAME => L_API_NAME
3820                   ,P_PKG_NAME => G_PKG_NAME
3821                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3822                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3823                   ,X_MSG_COUNT => X_MSG_COUNT
3824                   ,X_MSG_DATA => X_MSG_DATA
3825                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3826 
3827           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3828               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3829                    P_MODULE => l_module
3830                   ,P_API_NAME => L_API_NAME
3831                   ,P_PKG_NAME => G_PKG_NAME
3832                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3833                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3834                   ,X_MSG_COUNT => X_MSG_COUNT
3835                   ,X_MSG_DATA => X_MSG_DATA
3836                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3837 
3838           WHEN OTHERS THEN
3839               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3840                    P_MODULE => l_module
3841                   ,P_API_NAME => L_API_NAME
3842                   ,P_PKG_NAME => G_PKG_NAME
3843                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
3844                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3845                   ,X_MSG_COUNT => X_MSG_COUNT
3846                   ,X_MSG_DATA => X_MSG_DATA
3847                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3848 End Create_contacts;
3849 
3850 
3851 PROCEDURE Update_Contacts
3852 (   p_api_version_number    IN     NUMBER,
3853     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
3854     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
3855     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
3856     p_identity_salesforce_id IN    NUMBER DEFAULT  NULL,
3857     p_contact_tbl           IN     AS_OPPORTUNITY_PUB.Contact_tbl_Type,
3858     p_check_access_flag     IN 	   VARCHAR2,
3859     p_admin_flag	    IN 	   VARCHAR2,
3860     p_admin_group_id	    IN	   NUMBER,
3861     p_partner_cont_party_id   IN     NUMBER,
3862     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
3863 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
3864     x_contact_out_tbl	    OUT NOCOPY    Contact_Out_Tbl_Type,
3865     x_return_status         OUT NOCOPY    VARCHAR2,
3866     x_msg_count             OUT NOCOPY    NUMBER,
3867     x_msg_data              OUT NOCOPY    VARCHAR2)
3868 
3869  IS
3870 l_api_name                CONSTANT VARCHAR2(30) := 'Update_contacts';
3871 l_api_version_number      CONSTANT NUMBER   := 2.0;
3872 l_contact_tbl	 	  Contact_Tbl_Type := p_contact_tbl;
3873 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
3874 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Update_Contacts';
3875  BEGIN
3876       -- Standard Start of API savepoint
3877       SAVEPOINT UPDATE_CONTACTS_PUB;
3878 
3879       -- Standard call to check for call compatibility.
3880       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3881                          	             p_api_version_number,
3882                                            l_api_name,
3883                                            G_PKG_NAME)
3884       THEN
3885           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3886       END IF;
3887 
3888 
3889       -- Initialize message list if p_init_msg_list is set to TRUE.
3890       IF FND_API.to_Boolean( p_init_msg_list )
3891       THEN
3892           FND_MSG_PUB.initialize;
3893       END IF;
3894 
3895 
3896       -- Debug Message
3897       IF l_debug THEN
3898       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3899 				'Public API: ' || l_api_name || ' start');
3900 
3901       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3902 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3903 
3904       END IF;
3905 
3906       -- Initialize API return status to SUCCESS
3907       x_return_status := FND_API.G_RET_STS_SUCCESS;
3908 
3909       --
3910       -- API body
3911       --
3912 
3913       /*****
3914       -- Debug Message
3915       IF l_debug THEN
3916       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3917 				'AS: Public API: Convert_Contact_Values_To_Ids');
3918       END IF;
3919 
3920 
3921       -- Convert the values to ids
3922       --
3923       Convert_Contact_Values_To_Ids (
3924             p_Contact_rec       =>  p_Contact_rec,
3925             x_pvt_Contact_rec   =>  l_pvt_Contact_rec
3926       );
3927       *****/
3928 
3929     AS_OPP_contact_PVT.Update_opp_contacts(
3930     P_Api_Version_Number         => 2.0,
3931     P_Init_Msg_List              => FND_API.G_FALSE,
3932     P_Commit                     => p_commit,
3933     P_Validation_Level           => P_Validation_Level,
3934     P_Check_Access_Flag          => p_check_access_flag,
3935     P_Admin_Flag                 => P_Admin_Flag,
3936     P_Admin_Group_Id             => P_Admin_Group_Id,
3937     P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
3938     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
3939     P_Profile_Tbl                => P_Profile_tbl,
3940     P_Contact_Tbl                => l_contact_tbl ,
3941     X_Contact_Out_Tbl		 => x_contact_out_tbl,
3942     X_Return_Status              => x_return_status,
3943     X_Msg_Count                  => x_msg_count,
3944     X_Msg_Data                   => x_msg_data);
3945 
3946       -- Check return status from the above procedure call
3947       IF x_return_status = FND_API.G_RET_STS_ERROR then
3948           raise FND_API.G_EXC_ERROR;
3949       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
3950           raise FND_API.G_EXC_UNEXPECTED_ERROR;
3951       END IF;
3952 
3953       --
3954       -- End of API body
3955       --
3956 
3957       -- Standard check for p_commit
3958       IF FND_API.to_Boolean( p_commit )
3959       THEN
3960           COMMIT WORK;
3961       END IF;
3962 
3963 
3964       -- Debug Message
3965       IF l_debug THEN
3966       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3967 				'Public API: ' || l_api_name || ' end');
3968 
3969       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
3970 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
3971       END IF;
3972 
3973 
3974       -- Standard call to get message count and if count is 1, get message info.
3975       FND_MSG_PUB.Count_And_Get
3976       (  p_count          =>   x_msg_count,
3977          p_data           =>   x_msg_data
3978       );
3979 
3980       EXCEPTION
3981           WHEN FND_API.G_EXC_ERROR THEN
3982               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3983                    P_MODULE => l_module
3984                   ,P_API_NAME => L_API_NAME
3985                   ,P_PKG_NAME => G_PKG_NAME
3986                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3987                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3988                   ,X_MSG_COUNT => X_MSG_COUNT
3989                   ,X_MSG_DATA => X_MSG_DATA
3990                   ,X_RETURN_STATUS => X_RETURN_STATUS);
3991 
3992           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3993               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
3994                    P_MODULE => l_module
3995                   ,P_API_NAME => L_API_NAME
3996                   ,P_PKG_NAME => G_PKG_NAME
3997                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3998                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
3999                   ,X_MSG_COUNT => X_MSG_COUNT
4000                   ,X_MSG_DATA => X_MSG_DATA
4001                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4002 
4003           WHEN OTHERS THEN
4004               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4005                    P_MODULE => l_module
4006                   ,P_API_NAME => L_API_NAME
4007                   ,P_PKG_NAME => G_PKG_NAME
4008                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
4009                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4010                   ,X_MSG_COUNT => X_MSG_COUNT
4011                   ,X_MSG_DATA => X_MSG_DATA
4012                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4013 End Update_contacts;
4014 
4015 
4016 PROCEDURE Delete_Contacts
4017 (   p_api_version_number    IN     NUMBER,
4018     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
4019     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
4020     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
4021     p_identity_salesforce_id IN    NUMBER DEFAULT  NULL,
4022     p_contact_tbl           IN     AS_OPPORTUNITY_PUB.Contact_tbl_Type,
4023     p_check_access_flag     IN 	   VARCHAR2,
4024     p_admin_flag	    IN 	   VARCHAR2,
4025     p_admin_group_id	    IN	   NUMBER,
4026     p_partner_cont_party_id   IN     NUMBER,
4027     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
4028 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
4029     x_contact_out_tbl	    OUT NOCOPY    Contact_Out_Tbl_Type,
4030     x_return_status         OUT NOCOPY    VARCHAR2,
4031     x_msg_count             OUT NOCOPY    NUMBER,
4032     x_msg_data              OUT NOCOPY    VARCHAR2)
4033 
4034  IS
4035 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_contacts';
4036 l_api_version_number      CONSTANT NUMBER   := 2.0;
4037 l_contact_tbl             Contact_Tbl_Type  := p_contact_tbl;
4038 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
4039 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Delete_Contacts';
4040 
4041  BEGIN
4042       -- Standard Start of API savepoint
4043       SAVEPOINT DELETE_CONTACTS_PUB;
4044 
4045       -- Standard call to check for call compatibility.
4046       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
4047                          	             p_api_version_number,
4048                                            l_api_name,
4049                                            G_PKG_NAME)
4050       THEN
4051           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4052       END IF;
4053 
4054 
4055       -- Initialize message list if p_init_msg_list is set to TRUE.
4056       IF FND_API.to_Boolean( p_init_msg_list )
4057       THEN
4058           FND_MSG_PUB.initialize;
4059       END IF;
4060 
4061 
4062       -- Debug Message
4063       IF l_debug THEN
4064       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4065 				'Public API: ' || l_api_name || ' start');
4066 
4067       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4068 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4069       END IF;
4070 
4071 
4072       -- Initialize API return status to SUCCESS
4073       x_return_status := FND_API.G_RET_STS_SUCCESS;
4074 
4075       --
4076       -- API body
4077       --
4078 
4079       /*****
4080       -- Debug Message
4081       IF l_debug THEN
4082       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4083 				'AS: Public API: Convert_Contact_Values_To_Ids');
4084       END IF;
4085 
4086 
4087       -- Convert the values to ids
4088       --
4089       Convert_Contact_Values_To_Ids (
4090             p_Contact_rec       =>  p_Contact_rec,
4091             x_pvt_Contact_rec   =>  l_pvt_Contact_rec
4092       );
4093      *****/
4094 
4095     AS_OPP_contact_PVT.Delete_opp_contacts(
4096     P_Api_Version_Number         => 2.0,
4097     P_Init_Msg_List              => FND_API.G_FALSE,
4098     P_Commit                     => p_commit,
4099     P_Validation_Level           => P_Validation_Level,
4100     P_Check_Access_Flag          => p_check_access_flag,
4101     P_Admin_Flag                 => P_Admin_Flag,
4102     P_Admin_Group_Id             => P_Admin_Group_Id,
4103     P_Identity_Salesforce_Id     => p_identity_salesforce_id,
4104     P_Profile_Tbl                => P_Profile_tbl,
4105     P_Partner_Cont_Party_Id    => p_partner_cont_party_id,
4106     P_Contact_Tbl                => l_contact_tbl,
4107     X_Contact_Out_Tbl		 => x_contact_out_tbl,
4108     X_Return_Status              => x_return_status,
4109     X_Msg_Count                  => x_msg_count,
4110     X_Msg_Data                   => x_msg_data);
4111 
4112       -- Check return status from the above procedure call
4113       IF x_return_status = FND_API.G_RET_STS_ERROR then
4114           raise FND_API.G_EXC_ERROR;
4115       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
4116           raise FND_API.G_EXC_UNEXPECTED_ERROR;
4117       END IF;
4118 
4119       --
4120       -- End of API body
4121       --
4122 
4123       -- Standard check for p_commit
4124       IF FND_API.to_Boolean( p_commit )
4125       THEN
4126           COMMIT WORK;
4127       END IF;
4128 
4129 
4130       -- Debug Message
4131       IF l_debug THEN
4132       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4133 				'Public API: ' || l_api_name || ' end');
4134 
4135       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4136 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4137       END IF;
4138 
4139 
4140       -- Standard call to get message count and if count is 1, get message info.
4141       FND_MSG_PUB.Count_And_Get
4142       (  p_count          =>   x_msg_count,
4143          p_data           =>   x_msg_data
4144       );
4145 
4146       EXCEPTION
4147           WHEN FND_API.G_EXC_ERROR THEN
4148               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4149                    P_MODULE => l_module
4150                   ,P_API_NAME => L_API_NAME
4151                   ,P_PKG_NAME => G_PKG_NAME
4152                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
4153                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4154                   ,X_MSG_COUNT => X_MSG_COUNT
4155                   ,X_MSG_DATA => X_MSG_DATA
4156                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4157 
4158           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4159               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4160                    P_MODULE => l_module
4161                   ,P_API_NAME => L_API_NAME
4162                   ,P_PKG_NAME => G_PKG_NAME
4163                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
4164                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4165                   ,X_MSG_COUNT => X_MSG_COUNT
4166                   ,X_MSG_DATA => X_MSG_DATA
4167                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4168 
4169           WHEN OTHERS THEN
4170               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4171                    P_MODULE => l_module
4172                   ,P_API_NAME => L_API_NAME
4173                   ,P_PKG_NAME => G_PKG_NAME
4174                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
4175                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4176                   ,X_MSG_COUNT => X_MSG_COUNT
4177                   ,X_MSG_DATA => X_MSG_DATA
4178                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4179 End Delete_contacts;
4180 
4181 
4182 PROCEDURE Create_Obstacles
4183 (   p_api_version_number    IN     NUMBER,
4184     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
4185     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
4186     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
4187     p_identity_salesforce_id IN    NUMBER DEFAULT  NULL,
4188     p_obstacle_tbl          IN     AS_OPPORTUNITY_PUB.Obstacle_tbl_Type,
4189     p_check_access_flag     IN 	   VARCHAR2,
4190     p_admin_flag	    IN 	   VARCHAR2,
4191     p_admin_group_id	    IN	   NUMBER,
4192     p_partner_cont_party_id   IN     NUMBER,
4193     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
4194 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
4195     x_obstacle_out_tbl	    OUT NOCOPY    Obstacle_Out_Tbl_Type,
4196     x_return_status         OUT NOCOPY    VARCHAR2,
4197     x_msg_count             OUT NOCOPY    NUMBER,
4198     x_msg_data              OUT NOCOPY    VARCHAR2)
4199 
4200  IS
4201 l_api_name                CONSTANT VARCHAR2(30) := 'Create_obstacles';
4202 l_api_version_number      CONSTANT NUMBER   := 2.0;
4203 l_obstacle_tbl		  Obstacle_Tbl_Type := p_obstacle_tbl;
4204 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
4205 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Create_Obstacles';
4206  BEGIN
4207       -- Standard Start of API savepoint
4208       SAVEPOINT CREATE_OBSTACLES_PUB;
4209 
4210       -- Standard call to check for call compatibility.
4211       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
4212                          	             p_api_version_number,
4213                                            l_api_name,
4214                                            G_PKG_NAME)
4215       THEN
4216           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4217       END IF;
4218 
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 
4227       -- Debug Message
4228       IF l_debug THEN
4229       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4230 				'Public API: ' || l_api_name || ' start');
4231 
4232       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4233 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4234       END IF;
4235 
4236 
4237       -- Initialize API return status to SUCCESS
4238       x_return_status := FND_API.G_RET_STS_SUCCESS;
4239 
4240       --
4241       -- API body
4242       --
4243 
4244       /*****
4245 
4246       -- Debug Message
4247       IF l_debug THEN
4248       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4249 				'AS: Public API: Convert_Obstacle_Values_To_Ids');
4250 
4251       END IF;
4252 
4253       -- Convert the values to ids
4254       --
4255       Convert_Obstacle_Values_To_Ids (
4256             p_Obstacle_rec       =>  p_Obstacle_rec,
4257             x_pvt_Obstacle_rec   =>  l_pvt_Obstacle_rec
4258       );
4259       *****/
4260 
4261     -- Calling Private package: Create_OBSTACLE
4262     -- Hint: Primary key needs to be returned
4263       AS_OPP_obstacle_PVT.Create_obstacles(
4264       P_Api_Version_Number         => 2.0,
4265       P_Init_Msg_List              => FND_API.G_FALSE,
4266       P_Commit                     => p_commit,
4267       P_Validation_Level           => P_Validation_Level,
4268       P_Check_Access_Flag          => p_check_access_flag,
4269       P_Admin_Flag                 => P_Admin_Flag,
4270       P_Admin_Group_Id             => P_Admin_Group_Id,
4271       P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
4272       P_Partner_Cont_Party_Id	   => p_partner_cont_party_id,
4273       P_Profile_Tbl                => P_Profile_tbl,
4274       P_Obstacle_Tbl		   => l_obstacle_tbl,
4275       X_Lead_Obstacle_Out_Tbl	   => x_obstacle_out_tbl,
4276       X_Return_Status              => x_return_status,
4277       X_Msg_Count                  => x_msg_count,
4278       X_Msg_Data                   => x_msg_data);
4279 
4280       -- Check return status from the above procedure call
4281       IF x_return_status = FND_API.G_RET_STS_ERROR then
4282           raise FND_API.G_EXC_ERROR;
4283       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
4284           raise FND_API.G_EXC_UNEXPECTED_ERROR;
4285       END IF;
4286 
4287       --
4288       -- End of API body.
4289       --
4290 
4291       -- Standard check for p_commit
4292       IF FND_API.to_Boolean( p_commit )
4293       THEN
4294           COMMIT WORK;
4295       END IF;
4296 
4297 
4298       -- Debug Message
4299       IF l_debug THEN
4300       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4301 				'Public API: ' || l_api_name || ' end');
4302 
4303       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4304 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4305 
4306       END IF;
4307 
4308       -- Standard call to get message count and if count is 1, get message info.
4309       FND_MSG_PUB.Count_And_Get
4310       (  p_count          =>   x_msg_count,
4311          p_data           =>   x_msg_data
4312       );
4313 
4314       EXCEPTION
4315           WHEN FND_API.G_EXC_ERROR THEN
4316               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4317                    P_MODULE => l_module
4318                   ,P_API_NAME => L_API_NAME
4319                   ,P_PKG_NAME => G_PKG_NAME
4320                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
4321                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4322                   ,X_MSG_COUNT => X_MSG_COUNT
4323                   ,X_MSG_DATA => X_MSG_DATA
4324                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4325 
4326           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4327               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4328                    P_MODULE => l_module
4329                   ,P_API_NAME => L_API_NAME
4330                   ,P_PKG_NAME => G_PKG_NAME
4331                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
4332                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4333                   ,X_MSG_COUNT => X_MSG_COUNT
4334                   ,X_MSG_DATA => X_MSG_DATA
4335                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4336 
4337           WHEN OTHERS THEN
4338               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4339                    P_MODULE => l_module
4340                   ,P_API_NAME => L_API_NAME
4341                   ,P_PKG_NAME => G_PKG_NAME
4342                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
4343                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4344                   ,X_MSG_COUNT => X_MSG_COUNT
4345                   ,X_MSG_DATA => X_MSG_DATA
4346                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4347 End Create_obstacles;
4348 
4349 
4350 
4351 PROCEDURE Update_Obstacles
4352 (   p_api_version_number    IN     NUMBER,
4353     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
4354     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
4355     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
4356     p_identity_salesforce_id IN    NUMBER DEFAULT  NULL,
4357     p_obstacle_tbl          IN     AS_OPPORTUNITY_PUB.Obstacle_tbl_Type,
4358     p_check_access_flag     IN 	   VARCHAR2,
4359     p_admin_flag	    IN 	   VARCHAR2,
4360     p_admin_group_id	    IN	   NUMBER,
4361     p_partner_cont_party_id   IN     NUMBER,
4362     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
4363 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
4364     x_obstacle_out_tbl	    OUT NOCOPY    Obstacle_Out_Tbl_Type,
4365     x_return_status         OUT NOCOPY    VARCHAR2,
4366     x_msg_count             OUT NOCOPY    NUMBER,
4367     x_msg_data              OUT NOCOPY    VARCHAR2)
4368 
4369  IS
4370 l_api_name                CONSTANT VARCHAR2(30) := 'Update_obstacles';
4371 l_api_version_number      CONSTANT NUMBER   := 2.0;
4372 l_obstacle_tbl		  Obstacle_Tbl_Type := p_obstacle_tbl;
4373 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
4374 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Update_Obstacles';
4375  BEGIN
4376       -- Standard Start of API savepoint
4377       SAVEPOINT UPDATE_OBSTACLES_PUB;
4378 
4379       -- Standard call to check for call compatibility.
4380       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
4381                          	             p_api_version_number,
4382                                            l_api_name,
4383                                            G_PKG_NAME)
4384       THEN
4385           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4386       END IF;
4387 
4388 
4389       -- Initialize message list if p_init_msg_list is set to TRUE.
4390       IF FND_API.to_Boolean( p_init_msg_list )
4391       THEN
4392           FND_MSG_PUB.initialize;
4393       END IF;
4394 
4395 
4396       -- Debug Message
4397       IF l_debug THEN
4398       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4399 				'Public API: ' || l_api_name || ' start');
4400 
4401       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4402 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4403 
4404       END IF;
4405 
4406       -- Initialize API return status to SUCCESS
4407       x_return_status := FND_API.G_RET_STS_SUCCESS;
4408 
4409       --
4410       -- API body
4411       --
4412 
4413      /*****
4414       -- Debug Message
4415       IF l_debug THEN
4416       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4417 				'AS: Public API: Convert_Obstacle_Values_To_Ids');
4418       END IF;
4419 
4420       -- Convert the values to ids
4421       --
4422       Convert_Obstacle_Values_To_Ids (
4423             p_Obstacle_rec       =>  p_Obstacle_rec,
4424             x_pvt_Obstacle_rec   =>  l_pvt_Obstacle_rec
4425       );
4426        *****/
4427 
4428     AS_OPP_obstacle_PVT.Update_obstacles(
4429     P_Api_Version_Number         => 2.0,
4430     P_Init_Msg_List              => FND_API.G_FALSE,
4431     P_Commit                     => p_commit,
4432     P_Validation_Level           => P_Validation_Level,
4433     P_Check_Access_Flag          => p_check_access_flag,
4434     P_Admin_Flag                 => P_Admin_Flag,
4435     P_Admin_Group_Id             => P_Admin_Group_Id,
4436     P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
4437     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
4438     P_Profile_Tbl                => P_Profile_tbl,
4439     P_Obstacle_Tbl		 => l_obstacle_tbl,
4440     X_Lead_Obstacle_Out_Tbl	 => x_obstacle_out_tbl,
4441     X_Return_Status              => x_return_status,
4442     X_Msg_Count                  => x_msg_count,
4443     X_Msg_Data                   => x_msg_data);
4444 
4445 
4446       -- Check return status from the above procedure call
4447       IF x_return_status = FND_API.G_RET_STS_ERROR then
4448           raise FND_API.G_EXC_ERROR;
4449       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
4450           raise FND_API.G_EXC_UNEXPECTED_ERROR;
4451       END IF;
4452 
4453       --
4454       -- End of API body
4455       --
4456 
4457       -- Standard check for p_commit
4458       IF FND_API.to_Boolean( p_commit )
4459       THEN
4460           COMMIT WORK;
4461       END IF;
4462 
4463 
4464       -- Debug Message
4465       IF l_debug THEN
4466       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4467 				'Public API: ' || l_api_name || ' end');
4468 
4469       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4470 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4471       END IF;
4472 
4473 
4474       -- Standard call to get message count and if count is 1, get message info.
4475       FND_MSG_PUB.Count_And_Get
4476       (  p_count          =>   x_msg_count,
4477          p_data           =>   x_msg_data
4478       );
4479 
4480       EXCEPTION
4481           WHEN FND_API.G_EXC_ERROR THEN
4482               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4483                    P_MODULE => l_module
4484                   ,P_API_NAME => L_API_NAME
4485                   ,P_PKG_NAME => G_PKG_NAME
4486                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
4487                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4488                   ,X_MSG_COUNT => X_MSG_COUNT
4489                   ,X_MSG_DATA => X_MSG_DATA
4490                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4491 
4492           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4493               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4494                    P_MODULE => l_module
4495                   ,P_API_NAME => L_API_NAME
4496                   ,P_PKG_NAME => G_PKG_NAME
4497                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
4498                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4499                   ,X_MSG_COUNT => X_MSG_COUNT
4500                   ,X_MSG_DATA => X_MSG_DATA
4501                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4502 
4503           WHEN OTHERS THEN
4504               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4505                    P_MODULE => l_module
4506                   ,P_API_NAME => L_API_NAME
4507                   ,P_PKG_NAME => G_PKG_NAME
4508                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
4509                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4510                   ,X_MSG_COUNT => X_MSG_COUNT
4511                   ,X_MSG_DATA => X_MSG_DATA
4512                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4513 End Update_obstacles;
4514 
4515 
4516 PROCEDURE Delete_Obstacles
4517 (   p_api_version_number    IN     NUMBER,
4518     p_init_msg_list         IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
4519     p_commit                IN     VARCHAR2 DEFAULT  FND_API.G_FALSE,
4520     p_validation_level      IN     NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
4521     p_identity_salesforce_id IN    NUMBER DEFAULT  NULL,
4522     p_obstacle_tbl          IN     AS_OPPORTUNITY_PUB.Obstacle_tbl_Type,
4523     p_check_access_flag     IN 	   VARCHAR2,
4524     p_admin_flag	    IN 	   VARCHAR2,
4525     p_admin_group_id	    IN	   NUMBER,
4526     p_partner_cont_party_id   IN     NUMBER,
4527     p_profile_tbl	    IN     AS_UTILITY_PUB.Profile_Tbl_Type
4528 				   DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
4529     x_obstacle_out_tbl	    OUT NOCOPY    Obstacle_Out_Tbl_Type,
4530     x_return_status         OUT NOCOPY    VARCHAR2,
4531     x_msg_count             OUT NOCOPY    NUMBER,
4532     x_msg_data              OUT NOCOPY    VARCHAR2)
4533 
4534  IS
4535 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_obstacles';
4536 l_api_version_number      CONSTANT NUMBER   := 2.0;
4537 l_obstacle_tbl		  Obstacle_Tbl_Type := p_obstacle_tbl;
4538 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
4539 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Delete_Obstacles';
4540  BEGIN
4541       -- Standard Start of API savepoint
4542       SAVEPOINT DELETE_OBSTACLES_PUB;
4543 
4544       -- Standard call to check for call compatibility.
4545       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
4546                          	             p_api_version_number,
4547                                            l_api_name,
4548                                            G_PKG_NAME)
4549       THEN
4550           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4551       END IF;
4552 
4553 
4554       -- Initialize message list if p_init_msg_list is set to TRUE.
4555       IF FND_API.to_Boolean( p_init_msg_list )
4556       THEN
4557           FND_MSG_PUB.initialize;
4558       END IF;
4559 
4560 
4561       -- Debug Message
4562       IF l_debug THEN
4563       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4564 				'Public API: ' || l_api_name || ' start');
4565 
4566       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4567 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4568 
4569       END IF;
4570 
4571       -- Initialize API return status to SUCCESS
4572       x_return_status := FND_API.G_RET_STS_SUCCESS;
4573 
4574       --
4575       -- API body
4576       --
4577 
4578       /*****
4579 
4580       -- Debug Message
4581       IF l_debug THEN
4582       AS_UTILITY_PVT.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4583 				'AS: Public API: Convert_Obstacle_Values_To_Ids');
4584 
4585       END IF;
4586 
4587       -- Convert the values to ids
4588       --
4589       Convert_Obstacle_Values_To_Ids (
4590             p_Obstacle_rec       =>  p_Obstacle_rec,
4591             x_pvt_Obstacle_rec   =>  l_pvt_Obstacle_rec
4592       );
4593       *****/
4594 
4595     AS_OPP_obstacle_PVT.Delete_obstacles(
4596     P_Api_Version_Number         => 2.0,
4597     P_Init_Msg_List              => FND_API.G_FALSE,
4598     P_Commit                     => p_commit,
4599     P_Validation_Level           => P_Validation_Level ,
4600     P_Check_Access_Flag          => p_check_access_flag,
4601     P_Admin_Flag                 => P_Admin_Flag,
4602     P_Admin_Group_Id             => P_Admin_Group_Id,
4603     P_Identity_Salesforce_Id      => p_identity_salesforce_id,
4604     P_Profile_Tbl                => P_Profile_tbl,
4605     P_Partner_Cont_Party_Id	 => p_partner_cont_party_id,
4606     P_Obstacle_Tbl		 => l_obstacle_tbl,
4607     X_Lead_Obstacle_Out_Tbl	 => x_obstacle_out_tbl,
4608     X_Return_Status              => x_return_status,
4609     X_Msg_Count                  => x_msg_count,
4610     X_Msg_Data                   => x_msg_data);
4611 
4612       -- Check return status from the above procedure call
4613       IF x_return_status = FND_API.G_RET_STS_ERROR then
4614           raise FND_API.G_EXC_ERROR;
4615       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
4616           raise FND_API.G_EXC_UNEXPECTED_ERROR;
4617       END IF;
4618 
4619       --
4620       -- End of API body
4621       --
4622 
4623       -- Standard check for p_commit
4624       IF FND_API.to_Boolean( p_commit )
4625       THEN
4626           COMMIT WORK;
4627       END IF;
4628 
4629 
4630       -- Debug Message
4631       IF l_debug THEN
4632       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4633 				'Public API: ' || l_api_name || ' end');
4634 
4635       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4636 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4637       END IF;
4638 
4639 
4640       -- Standard call to get message count and if count is 1, get message info.
4641       FND_MSG_PUB.Count_And_Get
4642       (  p_count          =>   x_msg_count,
4643          p_data           =>   x_msg_data
4644       );
4645 
4646       EXCEPTION
4647           WHEN FND_API.G_EXC_ERROR THEN
4648               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4649                    P_MODULE => l_module
4650                   ,P_API_NAME => L_API_NAME
4651                   ,P_PKG_NAME => G_PKG_NAME
4652                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
4653                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4654                   ,X_MSG_COUNT => X_MSG_COUNT
4655                   ,X_MSG_DATA => X_MSG_DATA
4656                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4657 
4658           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4659               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4660                    P_MODULE => l_module
4661                   ,P_API_NAME => L_API_NAME
4662                   ,P_PKG_NAME => G_PKG_NAME
4663                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
4664                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4665                   ,X_MSG_COUNT => X_MSG_COUNT
4666                   ,X_MSG_DATA => X_MSG_DATA
4667                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4668 
4669           WHEN OTHERS THEN
4670               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4671                    P_MODULE => l_module
4672                   ,P_API_NAME => L_API_NAME
4673                   ,P_PKG_NAME => G_PKG_NAME
4674                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
4675                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4676                   ,X_MSG_COUNT => X_MSG_COUNT
4677                   ,X_MSG_DATA => X_MSG_DATA
4678                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4679 End Delete_obstacles;
4680 
4681 PROCEDURE Delete_SalesTeams
4682 (       p_api_version_number            IN      NUMBER,
4683         p_init_msg_list                 IN      VARCHAR2	DEFAULT  FND_API.G_FALSE,
4684         p_commit                        IN      VARCHAR2	DEFAULT  FND_API.G_FALSE,
4685     	p_validation_level      	IN      NUMBER   DEFAULT  FND_API.G_VALID_LEVEL_FULL,
4686         p_sales_team_tbl                IN      AS_ACCESS_PUB.SALES_TEAM_TBL_TYPE,
4687     	p_check_access_flag     	IN 	VARCHAR2,
4688     	p_admin_flag	    		IN 	VARCHAR2,
4689     	p_admin_group_id	    	IN	NUMBER,
4690     	p_identity_salesforce_id 	IN	NUMBER,
4691         p_partner_cont_party_id           IN      NUMBER,
4692      	p_profile_tbl	    		IN     	AS_UTILITY_PUB.Profile_Tbl_Type
4693 				 		DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
4694         x_return_status                 OUT NOCOPY     VARCHAR2,
4695         x_msg_count                     OUT NOCOPY     NUMBER,
4696         x_msg_data                      OUT NOCOPY     VARCHAR2
4697 )
4698 IS
4699 
4700   Cursor c_sales_team(p_access_id number) IS
4701 	select lead_id, salesforce_id, sales_group_id
4702    	from as_accesses_all
4703 	where access_id = p_access_id;
4704 
4705   Cursor C_SalesCredit_Exist (X_SalesForceID NUMBER,
4706 			      X_LeadID NUMBER,
4707 			      X_salesGroupID NUMBER)
4708   IS
4709     SELECT  sales_credit_id
4710     FROM    as_sales_credits
4711     WHERE   salesforce_id = X_SalesForceID
4712     AND     lead_id = X_LeadID
4713     AND     NVL(SALESGROUP_ID, -99) = NVL(X_salesGroupID, -99);
4714 
4715   Cursor C_GetPersonName(X_personID per_people_f.person_id%type)
4716   IS
4717     SELECT first_name||' '||last_name
4718     FROM per_people_f
4719     WHERE person_id = X_personID;
4720 
4721   l_salesforce_id           NUMBER;
4722   l_lead_id                 NUMBER;
4723   l_sales_credit_id         NUMBER;
4724   l_sales_group_id          NUMBER;
4725   l_person_name             VARCHAR2(65);
4726   l_api_name                CONSTANT VARCHAR2(30) := 'Delete_SalesTeams';
4727   l_api_version_number      CONSTANT NUMBER := 2.0;
4728   l_sales_team_rec		   AS_ACCESS_PUB.Sales_Team_Rec_Type;
4729   l_access_profile_rec      AS_ACCESS_PUB.Access_Profile_Rec_Type;
4730   l_line_count              CONSTANT NUMBER := p_sales_team_tbl.count;
4731   l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
4732   l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Delete_SalesTeams';
4733 BEGIN
4734       -- Standard Start of API savepoint
4735       SAVEPOINT DELETE_SALESTEAMS_PUB;
4736 
4737       -- Standard call to check for call compatibility.
4738       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
4739                                            p_api_version_number,
4740                                            l_api_name,
4741                                            G_PKG_NAME)
4742       THEN
4743           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4744       END IF;
4745 
4746 
4747       -- Initialize message list if p_init_msg_list is set to TRUE.
4748       IF FND_API.to_Boolean( p_init_msg_list )
4749       THEN
4750           FND_MSG_PUB.initialize;
4751       END IF;
4752 
4753 
4754       -- Debug Message
4755       IF l_debug THEN
4756       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4757                     'Public API: ' || l_api_name || ' start');
4758 
4759       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4760                     'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4761 
4762       END IF;
4763 
4764       -- Initialize API return status to SUCCESS
4765       x_return_status := FND_API.G_RET_STS_SUCCESS;
4766 
4767 	 -- Call Get_Access_Profiles to get access_profile_rec
4768       AS_OPPORTUNITY_PUB.Get_Access_Profiles(
4769 	     p_profile_tbl => p_profile_tbl,
4770 	     x_access_profile_rec => l_access_profile_rec);
4771 
4772       --
4773       -- API body
4774       --
4775 
4776 	 -- AS_ACCESS_PUB.Delete_SalesTeam handles single records.
4777 	 -- This procedure needs to be able to handle tables.
4778       FOR l_curr_row IN 1..l_line_count LOOP
4779 
4780 	     -- Check whether the Sales Person has Sales Credit
4781 	     BEGIN
4782 	       l_sales_team_rec := p_sales_team_tbl(l_curr_row);
4783 
4784 	       IF(l_sales_team_rec.lead_id IS NULL OR
4785 	          l_sales_team_rec.lead_id = FND_API.G_MISS_NUM) OR
4786 	 	 (l_sales_team_rec.salesforce_id IS NULL OR
4787 		  l_sales_team_rec.salesforce_id = FND_API.G_MISS_NUM)
4788   	       THEN
4789 		   open c_sales_team(l_sales_team_rec.access_id);
4790 		   fetch c_sales_team into l_lead_id, l_salesforce_id, l_sales_group_id;
4791 		   close c_sales_team;
4792 	       ELSE
4793 	           l_salesforce_id := l_sales_team_rec.salesforce_id;
4794 	           l_lead_id := l_sales_team_rec.lead_id;
4795                    l_sales_group_id := l_sales_team_rec.sales_group_id;
4796 	       END IF;
4797                    IF l_debug THEN
4798                    AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'sales group id: '||l_sales_group_id );
4799                    END IF;
4800 
4801 
4802 		      OPEN C_SalesCredit_Exist (l_salesforce_id,l_lead_id, l_sales_group_id);
4803 		      FETCH C_SalesCredit_Exist INTO l_sales_credit_id;
4804 
4805 		      IF C_SalesCredit_Exist%NOTFOUND THEN
4806 			     -- Call the AS_ACCESS_PUB.Delete_SalesTeam API
4807 			     AS_ACCESS_PUB.Delete_SalesTeam(
4808 			         p_api_version_number     =>  l_api_version_number,
4809                         p_init_msg_list          =>  FND_API.G_FALSE,
4810                         p_commit                 =>  p_commit,
4811 				    p_validation_level       =>  p_validation_level,
4812 				    p_access_profile_rec     =>  l_access_profile_rec,
4813 				    p_check_access_flag      =>  p_check_access_flag,
4814 				    p_admin_flag             =>  p_admin_flag,
4815 				    p_admin_group_id         =>  p_admin_group_id,
4816 				    p_identity_salesforce_id =>  p_identity_salesforce_id,
4817                         p_sales_team_rec         =>  l_sales_team_rec,
4818                         x_return_status          =>  x_return_status,
4819                         x_msg_count              =>  x_msg_count,
4820                         x_msg_data               =>  x_msg_data
4821                     );
4822 
4823 		      ELSE
4824 
4825 			     -- Raise message
4826 			     OPEN C_GetPersonName(l_sales_team_rec.person_id);
4827 			     FETCH C_GetPersonName INTO l_person_name;
4828 			     CLOSE C_GetPersonName;
4829 
4830 			     --IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
4831 			     --THEN
4832 				--    FND_MESSAGE.Set_Name('AS', 'AS_DELETE_SALESTEAM_NOTALLOWED');
4833 				--    FND_MESSAGE.Set_Token ('salesrep', l_person_name, FALSE);
4834 				--    FND_MSG_PUB.Add;
4835 			    -- END IF;
4836 
4837               	    	    AS_UTILITY_PVT.Set_Message(l_module,
4838                   			p_msg_level     => FND_MSG_PUB.G_MSG_LVL_ERROR,
4839                   			p_msg_name      => 'AS_DELETE_SALESTEAM_NOTALLOWED',
4840                       			p_token1        => 'SALESREP',
4841                       			p_token1_value  => l_person_name );
4842 
4843 
4844 			     x_return_status := FND_API.G_RET_STS_ERROR;
4845 
4846 			     FND_MSG_PUB.Count_And_Get(
4847 				    p_count => x_msg_count,
4848 				    p_data  => x_msg_data
4849 				    );
4850 
4851 		      END IF;
4852 
4853 		      CLOSE C_SalesCredit_Exist;
4854 
4855           END;
4856 
4857 	     -- Check return status from the above procedure call
4858 	     IF x_return_status = FND_API.G_RET_STS_ERROR
4859 	     THEN
4860 		    raise FND_API.G_EXC_ERROR;
4861 	     ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR
4862 	     THEN
4863 		    raise FND_API.G_EXC_UNEXPECTED_ERROR;
4864 	     END IF;
4865 
4866       END LOOP;
4867 
4868       --
4869       -- End of API body
4870       --
4871 
4872       -- Standard check for p_commit
4873       IF FND_API.to_Boolean( p_commit )
4874       THEN
4875           COMMIT WORK;
4876       END IF;
4877 
4878 
4879       -- Debug Message
4880       IF l_debug THEN
4881       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4882                     'Public API: ' || l_api_name || ' end');
4883 
4884 	 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
4885 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
4886 
4887       END IF;
4888 
4889       -- Standard call to get message count and if count is 1, get message info.
4890       FND_MSG_PUB.Count_And_Get
4891       (  p_count          =>   x_msg_count,
4892          p_data           =>   x_msg_data
4893       );
4894 
4895 
4896       EXCEPTION
4897           WHEN FND_API.G_EXC_ERROR THEN
4898               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4899                    P_MODULE => l_module
4900                   ,P_API_NAME => L_API_NAME
4901                   ,P_PKG_NAME => G_PKG_NAME
4902                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
4903                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4904                   ,X_MSG_COUNT => X_MSG_COUNT
4905                   ,X_MSG_DATA => X_MSG_DATA
4906                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4907 
4908           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4909               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4910                    P_MODULE => l_module
4911                   ,P_API_NAME => L_API_NAME
4912                   ,P_PKG_NAME => G_PKG_NAME
4913                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
4914                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4915                   ,X_MSG_COUNT => X_MSG_COUNT
4916                   ,X_MSG_DATA => X_MSG_DATA
4917                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4918 
4919           WHEN OTHERS THEN
4920               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
4921                    P_MODULE => l_module
4922                   ,P_API_NAME => L_API_NAME
4923                   ,P_PKG_NAME => G_PKG_NAME
4924                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
4925 			   ,P_SQLCODE => SQLCODE
4926 			   ,P_SQLERRM => SQLERRM
4927                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
4928                   ,P_ROLLBACK_FLAG => 'Y'
4929                   ,X_MSG_COUNT => X_MSG_COUNT
4930                   ,X_MSG_DATA => X_MSG_DATA
4931                   ,X_RETURN_STATUS => X_RETURN_STATUS);
4932 END Delete_SalesTeams;
4933 
4934 
4935 -- Start of Comments
4936 --
4937 --    API name    : Copy_Opportunity
4938 --    Type        : Public.
4939 --
4940 -- End of Comments
4941 
4942 PROCEDURE Copy_Opportunity
4943 (   p_api_version_number            IN    NUMBER,
4944     p_init_msg_list                 IN    VARCHAR2  	DEFAULT FND_API.G_FALSE,
4945     p_commit                        IN    VARCHAR2   	DEFAULT  FND_API.G_FALSE,
4946     p_validation_level      	    IN    NUMBER   	DEFAULT  FND_API.G_VALID_LEVEL_FULL,
4947     p_lead_id                       IN    NUMBER,
4948     p_description                   IN    VARCHAR2,
4949     p_copy_salesteam		    IN    VARCHAR2	DEFAULT FND_API.G_FALSE,
4950     p_copy_opp_lines		    IN    VARCHAR2	DEFAULT FND_API.G_FALSE,
4951     p_copy_lead_contacts     	    IN    VARCHAR2	DEFAULT FND_API.G_FALSE,
4952     p_copy_lead_competitors         IN    VARCHAR2	DEFAULT FND_API.G_FALSE,
4953     p_copy_sales_credits	    IN    VARCHAR2	DEFAULT FND_API.G_FALSE,
4954     p_copy_methodology	    	    IN    VARCHAR2     	DEFAULT FND_API.G_FALSE,
4955     p_new_customer_id		    IN 	  NUMBER,
4956     p_new_address_id		    IN    NUMBER,
4957     p_check_access_flag     	    IN 	  VARCHAR2,
4958     p_admin_flag	    	    IN 	  VARCHAR2,
4959     p_admin_group_id	    	    IN	  NUMBER,
4960     p_identity_salesforce_id 	    IN	  NUMBER,
4961     p_salesgroup_id		    IN    NUMBER        DEFAULT  NULL,
4962     p_partner_cont_party_id	    IN    NUMBER,
4963     p_profile_tbl	    	    IN	  AS_UTILITY_PUB.Profile_Tbl_Type
4964 					  DEFAULT AS_UTILITY_PUB.G_MISS_PROFILE_TBL,
4965     x_return_status                 OUT NOCOPY   VARCHAR2,
4966     x_msg_count                     OUT NOCOPY   NUMBER,
4967     x_msg_data                      OUT NOCOPY   VARCHAR2,
4968     x_lead_id                       OUT NOCOPY   NUMBER
4969 )
4970 IS
4971 l_api_name                CONSTANT VARCHAR2(30) := 'Copy_Opportunity';
4972 l_api_version_number      CONSTANT NUMBER   := 2.0;
4973 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
4974 l_module CONSTANT VARCHAR2(255) := 'as.plsql.oppb.Copy_Opportunity';
4975 
4976 BEGIN
4977       -- Standard Start of API savepoint
4978       SAVEPOINT COPY_OPPORTUNITY_PUB;
4979 
4980       -- Standard call to check for call compatibility.
4981       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
4982                          	             p_api_version_number,
4983                                            l_api_name,
4984                                            G_PKG_NAME)
4985       THEN
4986           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4987       END IF;
4988 
4989 
4990       -- Initialize message list if p_init_msg_list is set to TRUE.
4991       IF FND_API.to_Boolean( p_init_msg_list )
4992       THEN
4993           FND_MSG_PUB.initialize;
4994       END IF;
4995 
4996 
4997       -- Debug Message
4998 
4999       IF l_debug THEN
5000       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
5001 				'Public API: ' || l_api_name || ' start');
5002 
5003       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
5004 				'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
5005 
5006       END IF;
5007 
5008       -- Initialize API return status to SUCCESS
5009       x_return_status := FND_API.G_RET_STS_SUCCESS;
5010 
5011       --
5012       -- API body
5013       --
5014 
5015       -- Calling Private package: Create_OPP_HEADER
5016       -- Hint: Primary key needs to be returned
5017       AS_OPP_COPY_PVT.Copy_Opportunity(
5018       	P_Api_Version_Number         => 2.0,
5019       	P_Init_Msg_List              => FND_API.G_FALSE,
5020       	P_Commit                     => p_commit,
5021       	P_Validation_Level           => P_Validation_Level ,
5022     	P_Lead_Id                    => p_lead_id,
5023         P_Description                => p_description,
5024     	P_Copy_Salesteam	     => p_copy_salesteam,
5025     	P_Copy_Opp_Lines	     => p_copy_opp_lines,
5026     	p_copy_lead_contacts         => p_copy_lead_contacts,
5027     	p_copy_lead_competitors      => p_copy_lead_competitors,
5028     	p_copy_sales_credits	     => p_copy_sales_credits,
5029         p_copy_methodology	     => p_copy_methodology,
5030         p_new_customer_id	     => p_new_customer_id,
5031         p_new_address_id	     => p_new_address_id,
5032       	P_Check_Access_Flag          => p_check_access_flag,
5033       	P_Admin_Flag                 => P_Admin_Flag ,
5034       	P_Admin_Group_Id             => P_Admin_Group_Id,
5035       	P_Identity_Salesforce_Id     => P_Identity_Salesforce_Id,
5036       	p_salesgroup_id		     => p_salesgroup_id,
5037       	P_Profile_Tbl                => P_Profile_tbl,
5038       	P_Partner_Cont_Party_Id	     => p_partner_cont_party_id,
5039       	X_LEAD_ID     		     => x_LEAD_ID,
5040       	X_Return_Status              => x_return_status,
5041       	X_Msg_Count                  => x_msg_count,
5042       	X_Msg_Data                   => x_msg_data);
5043 
5044       -- Check return status from the above procedure call
5045       IF x_return_status = FND_API.G_RET_STS_ERROR then
5046           raise FND_API.G_EXC_ERROR;
5047       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
5048           raise FND_API.G_EXC_UNEXPECTED_ERROR;
5049       END IF;
5050 
5051       --
5052       -- End of API body.
5053       --
5054 
5055       -- Standard check for p_commit
5056       IF FND_API.to_Boolean( p_commit )
5057       THEN
5058           COMMIT WORK;
5059       END IF;
5060 
5061 
5062       -- Debug Message
5063       IF l_debug THEN
5064       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
5065 				'Public API: ' || l_api_name || ' end');
5066 
5067       AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
5068 				'End time:   ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
5069       END IF;
5070 
5071       -- Standard call to get message count and if count is 1, get message info.
5072       FND_MSG_PUB.Count_And_Get
5073       (  p_count          =>   x_msg_count,
5074          p_data           =>   x_msg_data
5075       );
5076 
5077       EXCEPTION
5078           WHEN FND_API.G_EXC_ERROR THEN
5079               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
5080                    P_MODULE => l_module
5081                   ,P_API_NAME => L_API_NAME
5082                   ,P_PKG_NAME => G_PKG_NAME
5083                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
5084                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
5085                   ,X_MSG_COUNT => X_MSG_COUNT
5086                   ,X_MSG_DATA => X_MSG_DATA
5087                   ,X_RETURN_STATUS => X_RETURN_STATUS);
5088 
5089           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5090               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
5091                    P_MODULE => l_module
5092                   ,P_API_NAME => L_API_NAME
5093                   ,P_PKG_NAME => G_PKG_NAME
5094                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
5095                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
5096                   ,X_MSG_COUNT => X_MSG_COUNT
5097                   ,X_MSG_DATA => X_MSG_DATA
5098                   ,X_RETURN_STATUS => X_RETURN_STATUS);
5099 
5100           WHEN OTHERS THEN
5101               AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
5102                    P_MODULE => l_module
5103                   ,P_API_NAME => L_API_NAME
5104                   ,P_PKG_NAME => G_PKG_NAME
5105                   ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
5106                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
5107                   ,X_MSG_COUNT => X_MSG_COUNT
5108                   ,X_MSG_DATA => X_MSG_DATA
5109                   ,X_RETURN_STATUS => X_RETURN_STATUS);
5110 End Copy_Opportunity;
5111 
5112 
5113 PROCEDURE Get_Access_Profiles(
5114 	p_profile_tbl			IN	AS_UTILITY_PUB.Profile_Tbl_Type,
5115 	x_access_profile_rec		OUT NOCOPY	AS_ACCESS_PUB.Access_Profile_Rec_Type
5116 )
5117 
5118 IS
5119 
5120 l_profile_count                 CONSTANT NUMBER := p_profile_tbl.count;
5121 l_profile_value			VARCHAR2(1);
5122 
5123 BEGIN
5124     FOR l_curr IN 1..l_profile_count LOOP
5125 
5126 	l_profile_value := SUBSTR(p_profile_tbl(l_curr).PROFILE_VALUE, 1, 1);
5127 
5128 	IF p_profile_tbl(l_curr).PROFILE_NAME = 'AS_OPP_ACCESS' THEN
5129 	    x_access_profile_rec.opp_access_profile_value := l_profile_value;
5130 	END IF;
5131 
5132 	IF p_profile_tbl(l_curr).PROFILE_NAME = 'AS_LEAD_ACCESS' THEN
5133 	    x_access_profile_rec.lead_access_profile_value := l_profile_value;
5134 	END IF;
5135 
5136 	IF p_profile_tbl(l_curr).PROFILE_NAME = 'AS_CUST_ACCESS' THEN
5137 	    x_access_profile_rec.cust_access_profile_value := l_profile_value;
5138 	END IF;
5139 
5140 	IF p_profile_tbl(l_curr).PROFILE_NAME = 'AS_MGR_UPDATE' THEN
5141 	    x_access_profile_rec.mgr_update_profile_value := l_profile_value;
5142 	END IF;
5143 
5144 	IF p_profile_tbl(l_curr).PROFILE_NAME = 'AS_ADMIN_UPDATE' THEN
5145 	    x_access_profile_rec.admin_update_profile_value := l_profile_value;
5146 	END IF;
5147 
5148     END LOOP;
5149 
5150     IF x_access_profile_rec.opp_access_profile_value IS NULL OR
5151        x_access_profile_rec.opp_access_profile_value = FND_API.G_MISS_CHAR
5152     THEN
5153 	x_access_profile_rec.opp_access_profile_value
5154 		:= FND_PROFILE.Value('AS_OPP_ACCESS');
5155     END IF;
5156 
5157     IF x_access_profile_rec.lead_access_profile_value IS NULL OR
5158        x_access_profile_rec.lead_access_profile_value = FND_API.G_MISS_CHAR
5159     THEN
5160 	x_access_profile_rec.lead_access_profile_value
5161 		:= FND_PROFILE.Value('AS_LEAD_ACCESS');
5162     END IF;
5163 
5164     IF x_access_profile_rec.cust_access_profile_value IS NULL OR
5165        x_access_profile_rec.cust_access_profile_value = FND_API.G_MISS_CHAR
5166     THEN
5167 	x_access_profile_rec.cust_access_profile_value
5168 		:= FND_PROFILE.Value('AS_CUST_ACCESS');
5169     END IF;
5170 
5171     IF x_access_profile_rec.mgr_update_profile_value IS NULL OR
5172        x_access_profile_rec.mgr_update_profile_value = FND_API.G_MISS_CHAR
5173     THEN
5174 	x_access_profile_rec.mgr_update_profile_value
5175 		:= FND_PROFILE.Value('AS_MGR_UPDATE');
5176     END IF;
5177 
5178     IF x_access_profile_rec.admin_update_profile_value IS NULL OR
5179        x_access_profile_rec.admin_update_profile_value = FND_API.G_MISS_CHAR
5180     THEN
5181 	x_access_profile_rec.admin_update_profile_value
5182 		:= FND_PROFILE.Value('AS_ADMIN_UPDATE');
5183     END IF;
5184 
5185 END Get_Access_Profiles;
5186 
5187 
5188 FUNCTION Get_Profile(
5189 	p_profile_tbl		IN	AS_UTILITY_PUB.Profile_Tbl_Type,
5190 	p_profile_name		IN 	VARCHAR2 )
5191 RETURN VARCHAR2
5192 IS
5193 l_profile_count                 CONSTANT NUMBER := p_profile_tbl.count;
5194 
5195 BEGIN
5196     FOR l_curr IN 1..l_profile_count LOOP
5197 	IF p_profile_tbl(l_curr).PROFILE_NAME = p_profile_name THEN
5198 	    IF p_profile_tbl(l_curr).PROFILE_VALUE IS NOT NULL AND
5199 	       p_profile_tbl(l_curr).PROFILE_VALUE <> FND_API.G_MISS_CHAR
5200 	    THEN
5201 		RETURN p_profile_tbl(l_curr).PROFILE_VALUE;
5202 	    END IF;
5203 	ELSE
5204 	    NULL;
5205 	END IF;
5206     END LOOP;
5207     RETURN FND_PROFILE.Value(p_profile_name);
5208 END;
5209 
5210 End AS_OPPORTUNITY_PUB;