[Home] [Help]
PACKAGE BODY: APPS.AS_ACCESS_PUB
Source
1 PACKAGE BODY AS_ACCESS_PUB as
2 /* $Header: asxpacsb.pls 120.2 2005/08/10 04:22:58 appldev ship $ */
3 --
4 -- NAME
5 -- AS_ACCESS_PUB
6 --
7 -- HISTORY
8 -- 8/28/98 JKORNBER CREATED
9 -- 9/18/98 AWU UPDATED
10 --
11
12 G_PKG_NAME CONSTANT VARCHAR2(30):='AS_ACCESS_PUB';
13 G_FILE_NAME CONSTANT VARCHAR2(12):='asxpacsb.pls';
14
15 /*
16 procedure get_person_id(p_salesforce_id in varchar2,
17 x_person_id OUT NOCOPY varchar2)
18
19 is
20 cursor get_person_id_csr is
21 select employee_person_id
22 from as_salesforce
23 where salesforce_id = p_salesforce_id;
24
25 begin
26 open get_person_id_csr;
27 fetch get_person_id_csr into x_person_id;
28
29 if (get_person_id_csr%NOTFOUND)
30 then
31 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
32 THEN
33 FND_MESSAGE.Set_Name('AS', 'API_INVALID_ID');
34 FND_MESSAGE.Set_Token('COLUMN', 'SALESFORCE_ID', FALSE);
35 fnd_message.set_token('VALUE', p_salesforce_id, FALSE);
36 FND_MSG_PUB.ADD;
37 END IF;
38 raise FND_API.G_EXC_ERROR;
39 end if;
40 close get_person_id_csr;
41 end;
42 */
43
44 Procedure Convert_Pub_Sales_Team_To_Pvt(pub_rec IN AS_ACCESS_PUB.SALES_TEAM_REC_TYPE,
45 pvt_rec OUT NOCOPY AS_ACCESS_PVT.SALES_TEAM_REC_TYPE) IS
46 Begin
47
48 pvt_rec.access_id := pub_rec.access_id;
49 pvt_rec.freeze_flag := pub_rec.freeze_flag;
50 pvt_rec.reassign_flag := pub_rec.reassign_flag;
51 pvt_rec.team_leader_flag := pub_rec.team_leader_flag;
52 pvt_rec.customer_id := pub_rec.customer_id;
53 pvt_rec.address_id := pub_rec.address_id;
54 pvt_rec.salesforce_id := pub_rec.salesforce_id;
55 pvt_rec.partner_customer_id := pub_rec.partner_customer_id;
56 pvt_rec.partner_address_id := pub_rec.partner_address_id;
57 pvt_rec.lead_id := pub_rec.lead_id;
58 pvt_rec.person_id := pub_rec.person_id;
59 pvt_rec.freeze_date := pub_rec.freeze_date;
60 pvt_rec.reassign_reason := pub_rec.reassign_reason;
61 pvt_rec.reassign_request_date := pub_rec.reassign_request_date;
62 pvt_rec.reassign_requested_person_id := pub_rec.reassign_requested_person_id;
63 pvt_rec.downloadable_flag := pub_rec.downloadable_flag;
64 pvt_rec.attribute_category := pub_rec.attribute_category;
65 pvt_rec.attribute1 := pub_rec.attribute1;
66 pvt_rec.attribute2 := pub_rec.attribute2;
67 pvt_rec.attribute3 := pub_rec.attribute3;
68 pvt_rec.attribute4 := pub_rec.attribute4;
69 pvt_rec.attribute5 := pub_rec.attribute5;
70 pvt_rec.attribute6 := pub_rec.attribute6;
71 pvt_rec.attribute7 := pub_rec.attribute7;
72 pvt_rec.attribute8 := pub_rec.attribute8;
73 pvt_rec.attribute9 := pub_rec.attribute9;
74 pvt_rec.attribute10 := pub_rec.attribute10;
75 pvt_rec.attribute11 := pub_rec.attribute11;
76 pvt_rec.attribute12 := pub_rec.attribute12;
77 pvt_rec.attribute13 := pub_rec.attribute13;
78 pvt_rec.attribute14 := pub_rec.attribute14;
79 pvt_rec.attribute15 := pub_rec.attribute15;
80 pvt_rec.last_update_date := pub_rec.last_update_date;
81 pvt_rec.last_updated_by := pub_rec.last_updated_by;
82 pvt_rec.creation_date := pub_rec.creation_date;
83 pvt_rec.created_by := pub_rec.created_by;
84 pvt_rec.last_update_login := pub_rec.last_update_login;
85 pvt_rec.sales_group_id := pub_rec.sales_group_id;
86 pvt_rec.sales_lead_id := pub_rec.sales_lead_id;
87 pvt_rec.salesforce_role_code := pub_rec.salesforce_role_code;
88 pvt_rec.salesforce_relationship_code := pub_rec.salesforce_relationship_code;
89 pvt_rec.partner_cont_party_id := pub_rec.partner_cont_party_id;
90 pvt_rec.owner_flag := pub_rec.owner_flag;
91 pvt_rec.created_by_tap_flag := pub_rec.created_by_tap_flag;
92 pvt_rec.prm_keep_flag := pub_rec.prm_keep_flag;
93 pvt_rec.contributor_flag := pub_rec.contributor_flag; -- Added for ASNB
94 End Convert_Pub_Sales_Team_To_Pvt;
95
96
97 PROCEDURE Create_SalesTeam
98 ( p_api_version_number IN NUMBER,
99 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
100 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
101 p_validation_level IN NUMBER
102 DEFAULT FND_API.G_VALID_LEVEL_FULL,
103 p_access_profile_rec IN access_profile_rec_type,
104 p_check_access_flag IN VARCHAR2,
105 p_admin_flag IN VARCHAR2,
106 p_admin_group_id IN NUMBER,
107 p_identity_salesforce_id IN NUMBER,
108 p_sales_team_rec IN SALES_TEAM_REC_TYPE,
109 x_return_status OUT NOCOPY VARCHAR2,
110 x_msg_count OUT NOCOPY NUMBER,
111 x_msg_data OUT NOCOPY VARCHAR2,
112 x_access_id OUT NOCOPY NUMBER
113 ) is
114 l_api_name CONSTANT VARCHAR2(30) := 'Create_SalesTeam';
115 l_api_version_number CONSTANT NUMBER := 2.0;
116 l_pvt_sales_team_rec AS_ACCESS_PVT.Sales_Team_Rec_Type;
117 l_sales_team_rec sales_team_rec_type;
118 l_access_id number;
119 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.Create_SalesTeam';
120 BEGIN
121 SAVEPOINT CREATE_SALESTEAM_PUB;
122 -- Standard call to check for call compatibility.
123 IF NOT FND_API.Compatible_API_Call (l_api_version_number,
124 p_api_version_number,
125 l_api_name,
126 G_PKG_NAME)
127 THEN
128 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
129 THEN
130 FND_MESSAGE.Set_Name('AS', 'API_UNEXP_ERROR_IN_PROCESSING');
131 FND_MESSAGE.Set_Token('ROW', 'AS_ACCESS', TRUE);
132 FND_MSG_PUB.ADD;
133 END IF;
134 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
135 END IF;
136
137 -- Initialize message list if p_init_msg_list is set to TRUE.
138 IF FND_API.to_Boolean( p_init_msg_list )
139 THEN
140 FND_MSG_PUB.initialize;
141 END IF;
142
143 -- Initialize API return status to success
144 --
145 x_return_status := FND_API.G_RET_STS_SUCCESS;
146 l_sales_team_rec := p_sales_team_rec;
147 Convert_Pub_Sales_Team_To_Pvt(l_sales_team_rec, l_pvt_sales_team_rec);
148 -- get_person_id(l_sales_team_rec.salesforce_id, l_pvt_sales_team_rec.person_id);
149
150
151
152 AS_ACCESS_PVT.Create_SalesTeam
153 ( p_api_version_number => 2.0,
154 p_commit => p_commit,
155 p_validation_level => p_validation_level,
156 p_access_profile_rec => p_access_profile_rec,
157 p_check_access_flag => p_check_access_flag,
158 p_admin_flag => p_admin_flag,
159 p_admin_group_id => p_admin_group_id,
160 p_identity_salesforce_id => p_identity_salesforce_id,
161 p_sales_team_rec => l_pvt_sales_team_rec,
162 x_return_status => x_return_status,
163 x_msg_count => x_msg_count,
164 x_msg_data => x_msg_data,
165 x_access_id => x_access_id
166 );
167
168
169 IF (x_return_status = fnd_api.g_ret_sts_error) THEN
170 RAISE fnd_api.g_exc_error;
171 ELSIF (x_return_status = fnd_api.g_ret_sts_unexp_error) THEN
172 RAISE fnd_api.g_exc_unexpected_error;
173 END IF;
174
175 -- Assign return access_id to rec type so that it can pass the created access_id
176 -- to post User_Hook
177
178 l_pvt_sales_team_rec.access_id := x_access_id;
179
180
181 EXCEPTION
182 WHEN FND_API.G_EXC_ERROR THEN
183 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
184 P_MODULE => l_module
185 ,P_API_NAME => L_API_NAME
186 ,P_PKG_NAME => G_PKG_NAME
187 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
188 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
189 ,X_MSG_COUNT => X_MSG_COUNT
190 ,X_MSG_DATA => X_MSG_DATA
191 ,X_RETURN_STATUS => X_RETURN_STATUS);
192
193 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
194 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
195 P_MODULE => l_module
196 ,P_API_NAME => L_API_NAME
197 ,P_PKG_NAME => G_PKG_NAME
198 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
199 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
200 ,X_MSG_COUNT => X_MSG_COUNT
201 ,X_MSG_DATA => X_MSG_DATA
202 ,X_RETURN_STATUS => X_RETURN_STATUS);
203
204 WHEN OTHERS THEN
205 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
206 P_MODULE => l_module
207 ,P_API_NAME => L_API_NAME
208 ,P_PKG_NAME => G_PKG_NAME
209 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
210 ,P_SQLCODE => SQLCODE
211 ,P_SQLERRM => SQLERRM
212 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
213 ,X_MSG_COUNT => X_MSG_COUNT
214 ,X_MSG_DATA => X_MSG_DATA
215 ,X_RETURN_STATUS => X_RETURN_STATUS);
216
217
218 END Create_SalesTeam;
219
220
221 PROCEDURE Update_SalesTeam
222 ( p_api_version_number IN NUMBER,
223 p_init_msg_list IN VARCHAR2
224 DEFAULT FND_API.G_FALSE,
225 p_commit IN VARCHAR2
226 DEFAULT FND_API.G_FALSE,
227 p_validation_level IN NUMBER
228 DEFAULT FND_API.G_VALID_LEVEL_FULL,
229 p_access_profile_rec IN access_profile_rec_type,
230 p_check_access_flag IN VARCHAR2,
231 p_admin_flag IN VARCHAR2,
232 p_admin_group_id IN NUMBER,
233 p_identity_salesforce_id IN NUMBER,
234 p_sales_team_rec IN SALES_TEAM_REC_TYPE,
235 x_return_status OUT NOCOPY VARCHAR2,
236 x_msg_count OUT NOCOPY NUMBER,
237 x_msg_data OUT NOCOPY VARCHAR2,
238 x_access_id OUT NOCOPY NUMBER
239 ) is
240 l_api_name CONSTANT VARCHAR2(30) := 'Update_SalesTeam';
241 l_api_version_number CONSTANT NUMBER := 2.0;
242 l_pvt_sales_team_rec AS_ACCESS_PVT.Sales_Team_Rec_Type;
243 l_access_id number;
244 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.Update_SalesTeam';
245 BEGIN
246 SAVEPOINT UPDATE_SALESTEAM_PUB;
247 -- Standard call to check for call compatibility.
248 IF NOT FND_API.Compatible_API_Call (l_api_version_number,
249 p_api_version_number,
250 l_api_name,
251 G_PKG_NAME)
252 THEN
253 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
254 THEN
255 FND_MESSAGE.Set_Name('AS', 'API_UNEXP_ERROR_IN_PROCESSING');
256 FND_MESSAGE.Set_Token('ROW', 'AS_ACCESS', TRUE);
257 FND_MSG_PUB.ADD;
258 END IF;
259 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
260 END IF;
261
262 -- Initialize message list if p_init_msg_list is set to TRUE.
263 IF FND_API.to_Boolean( p_init_msg_list )
264 THEN
265 FND_MSG_PUB.initialize;
266 END IF;
267
268 -- Initialize API return status to success
269 --
270 x_return_status := FND_API.G_RET_STS_SUCCESS;
271
272 Convert_Pub_Sales_Team_To_Pvt(p_sales_team_rec, l_pvt_sales_team_rec);
273 -- get_person_id(p_sales_team_rec.salesforce_id, l_pvt_sales_team_rec.person_id);
274
275 AS_ACCESS_PVT.Update_SalesTeam
276 ( p_api_version_number => 2.0,
277 p_commit => p_commit,
278 p_validation_level => p_validation_level,
279 p_access_profile_rec => p_access_profile_rec,
280 p_check_access_flag => p_check_access_flag,
281 p_admin_flag => p_admin_flag,
282 p_admin_group_id => p_admin_group_id,
283 p_identity_salesforce_id => p_identity_salesforce_id,
284 p_sales_team_rec => l_pvt_sales_team_rec,
285 x_return_status => x_return_status,
286 x_msg_count => x_msg_count,
287 x_msg_data => x_msg_data,
288 x_access_id => x_access_id
289 );
290
291 IF (x_return_status = fnd_api.g_ret_sts_error) THEN
292 RAISE fnd_api.g_exc_error;
293 ELSIF (x_return_status = fnd_api.g_ret_sts_unexp_error) THEN
294 RAISE fnd_api.g_exc_unexpected_error;
295 END IF;
296
297
298
299
300 EXCEPTION
301 WHEN FND_API.G_EXC_ERROR THEN
302 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
303 P_MODULE => l_module
304 ,P_API_NAME => L_API_NAME
305 ,P_PKG_NAME => G_PKG_NAME
306 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
307 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
308 ,X_MSG_COUNT => X_MSG_COUNT
309 ,X_MSG_DATA => X_MSG_DATA
310 ,X_RETURN_STATUS => X_RETURN_STATUS);
311
312 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
313 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
314 P_MODULE => l_module
315 ,P_API_NAME => L_API_NAME
316 ,P_PKG_NAME => G_PKG_NAME
317 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
318 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
319 ,X_MSG_COUNT => X_MSG_COUNT
320 ,X_MSG_DATA => X_MSG_DATA
321 ,X_RETURN_STATUS => X_RETURN_STATUS);
322
323 WHEN OTHERS THEN
324 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
325 P_MODULE => l_module
326 ,P_API_NAME => L_API_NAME
327 ,P_PKG_NAME => G_PKG_NAME
328 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
329 ,P_SQLCODE => SQLCODE
330 ,P_SQLERRM => SQLERRM
331 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
332 ,X_MSG_COUNT => X_MSG_COUNT
333 ,X_MSG_DATA => X_MSG_DATA
334 ,X_RETURN_STATUS => X_RETURN_STATUS);
335
336
337 END Update_SalesTeam;
338
339
340 -- Start of Comments
341 --
342 -- API name : Delete_SalesTeam
343 -- Type : Public
344 -- Function : Delete sales team member records from the
345 -- sales team (access table)
346 --
347 -- Pre-reqs : Existing sales team record
348 --
349 -- Paramaeters :
350 -- IN :
351 -- p_api_version_number IN NUMBER,
352 -- p_init_msg_list IN VARCHAR2
353 -- p_commit IN VARCHAR2
354 -- p_validation_level IN NUMBER
355 -- OUT :
356 -- x_return_status OUT NOCOPY VARCHAR2(1)
357 -- x_msg_count OUT NOCOPY NUMBER
358 -- x_msg_data OUT NOCOPY VARCHAR2(2000)
359 --
360 --
361 -- Version : Current version 2.0
362 -- Initial Version
363 -- Initial version 1.0
364 --
365 -- Notes: API for delete either an customer or opportunity
366 -- sales team
367 --
368 --
369 -- End of Comments
370
371 PROCEDURE Delete_SalesTeam
372 ( p_api_version_number IN NUMBER,
373 p_init_msg_list IN VARCHAR2
374 DEFAULT FND_API.G_FALSE,
375 p_commit IN VARCHAR2
376 DEFAULT FND_API.G_FALSE,
377 p_validation_level IN NUMBER
378 DEFAULT FND_API.G_VALID_LEVEL_FULL,
379 p_access_profile_rec IN access_profile_rec_type,
380 p_check_access_flag IN VARCHAR2,
381 p_admin_flag IN VARCHAR2,
382 p_admin_group_id IN NUMBER,
383 p_identity_salesforce_id IN NUMBER,
384 p_sales_team_rec IN SALES_TEAM_REC_TYPE,
385 x_return_status OUT NOCOPY VARCHAR2,
386 x_msg_count OUT NOCOPY NUMBER,
387 x_msg_data OUT NOCOPY VARCHAR2
388 ) is
389 l_api_name CONSTANT VARCHAR2(30) := 'Delete_SalesTeam';
390 l_api_version_number CONSTANT NUMBER := 2.0;
391 l_pvt_sales_team_rec AS_ACCESS_PVT.Sales_Team_Rec_Type;
392 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
393 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.Delete_SalesTeam';
394
395 begin
396 SAVEPOINT DELETE_SALESTEAM_PUB;
397 -- Standard call to check for call compatibility.
398 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
399 p_api_version_number,
400 l_api_name,
401 G_PKG_NAME)
402 THEN
403 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
404 END IF;
405
406 -- Initialize message list if p_init_msg_list is set to TRUE.
407 IF FND_API.to_Boolean( p_init_msg_list )
408 THEN
409 FND_MSG_PUB.initialize;
410 END IF;
411
412 -- Debug Message
413 IF l_debug THEN
414 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
415 'Public API: ' || l_api_name || 'start');
416
417 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
418 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
419 END IF;
420
421 -- Initialize API return status to SUCCESS
422 x_return_status := FND_API.G_RET_STS_SUCCESS;
423
424 --
425 -- API body
426 --
427
428 IF l_debug THEN
429 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
430 'Public API: Calling AS_ACCESS_PVT.delete_salesTeam');
431 END IF;
432 Convert_Pub_Sales_Team_To_Pvt(p_sales_team_rec, l_pvt_sales_team_rec);
433
434
435
436 as_access_pvt.Delete_SalesTeam
437 (P_Api_Version_Number => 2.0,
438 P_Init_Msg_List => FND_API.G_FALSE,
439 P_Commit => FND_API.G_FALSE,
440 p_validation_level => P_Validation_Level,
441 p_access_profile_rec => p_access_profile_rec,
442 p_check_access_flag => p_check_access_flag,
443 p_admin_flag => p_admin_flag,
444 p_admin_group_id => p_admin_group_id,
445 p_identity_salesforce_id => p_identity_salesforce_id,
446 p_sales_team_rec => l_pvt_sales_team_rec,
447 x_return_status => x_return_status,
448 x_msg_count => x_msg_count,
449 x_msg_data => x_msg_data
450 );
451 IF x_return_status = FND_API.G_RET_STS_ERROR then
452 raise FND_API.G_EXC_ERROR;
453 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
454 raise FND_API.G_EXC_UNEXPECTED_ERROR;
455 END IF;
456
457
458
459 --
460 -- End of API body.
461 --
462
463 IF FND_API.to_Boolean( p_commit )
464 THEN
465 COMMIT WORK;
466 END IF;
467
468
469 -- Debug Message
470 IF l_debug THEN
471 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
472 'Public API: ' || l_api_name || 'end');
473
474 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
475 || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
476 END IF;
477
478
479 FND_MSG_PUB.Count_And_Get
480 ( p_count => x_msg_count,
481 p_data => x_msg_data
482 );
483
484 EXCEPTION
485 WHEN FND_API.G_EXC_ERROR THEN
486 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
487 P_MODULE => l_module
488 ,P_API_NAME => L_API_NAME
489 ,P_PKG_NAME => G_PKG_NAME
490 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
491 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
492 ,X_MSG_COUNT => X_MSG_COUNT
493 ,X_MSG_DATA => X_MSG_DATA
494 ,X_RETURN_STATUS => X_RETURN_STATUS);
495
496 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
497 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
498 P_MODULE => l_module
499 ,P_API_NAME => L_API_NAME
500 ,P_PKG_NAME => G_PKG_NAME
501 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
502 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
503 ,X_MSG_COUNT => X_MSG_COUNT
504 ,X_MSG_DATA => X_MSG_DATA
505 ,X_RETURN_STATUS => X_RETURN_STATUS);
506
507 WHEN OTHERS THEN
508 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
509 P_MODULE => l_module
510 ,P_API_NAME => L_API_NAME
511 ,P_PKG_NAME => G_PKG_NAME
512 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
513 ,P_SQLCODE => SQLCODE
514 ,P_SQLERRM => SQLERRM
515 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
516 ,X_MSG_COUNT => X_MSG_COUNT
517 ,X_MSG_DATA => X_MSG_DATA
518 ,X_RETURN_STATUS => X_RETURN_STATUS);
519
520 End delete_salesteam;
521
522 Procedure validate_accessProfiles
523 ( p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
524 p_access_profile_rec IN ACCESS_PROFILE_REC_TYPE,
525 x_return_status OUT NOCOPY VARCHAR2,
526 x_msg_count OUT NOCOPY NUMBER,
527 x_msg_data OUT NOCOPY VARCHAR2
528 ) is
529
530 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
531 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.validate_accessProfiles';
532
533 begin
534 IF l_debug THEN
535 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
536 'Val Access Profile start');
537 END IF;
538 x_return_status := FND_API.G_RET_STS_SUCCESS;
539
540 if p_access_profile_rec.cust_access_profile_value = 'T'
541 and (p_access_profile_rec.lead_access_profile_value in ('F', 'P')
542 or p_access_profile_rec.opp_access_profile_value in ('F', 'P'))
543 then
544 x_return_status := FND_API.G_RET_STS_ERROR;
545 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
546 THEN
547 FND_MESSAGE.Set_Name('AS', 'API_INVALID_COMINATION');
548 FND_MSG_PUB.ADD;
549 END IF;
550 end if;
551
552 IF l_debug THEN
553 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
554 'Val Access Profile end');
555 END IF;
556
557 FND_MSG_PUB.Count_And_Get
558 ( p_count => x_msg_count,
559 p_data => x_msg_data );
560
561 end;
562
563
564
565 procedure has_viewCustomerAccess
566 ( p_api_version_number IN NUMBER
567 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
568 ,p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL
569 ,p_access_profile_rec IN access_profile_rec_type
570 ,p_admin_flag IN VARCHAR2
571 ,p_admin_group_id IN NUMBER
572 ,p_person_id IN NUMBER
573 ,p_customer_id IN NUMBER
574 ,p_check_access_flag IN VARCHAR2
575 ,p_identity_salesforce_id IN NUMBER
576 ,p_partner_cont_party_id IN NUMBER
577 ,x_return_status OUT NOCOPY VARCHAR2
578 ,x_msg_count OUT NOCOPY NUMBER
579 ,x_msg_data OUT NOCOPY VARCHAR2
580 ,x_view_access_flag OUT NOCOPY VARCHAR2
581 ) is
582 l_api_name CONSTANT VARCHAR2(30) := 'has_viewCustomerAccess';
583 l_api_version_number CONSTANT NUMBER := 2.0;
584 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
585 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.has_viewCustomerAccess';
586
587 begin
588 -- Standard call to check for call compatibility.
589 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
590 p_api_version_number,
591 l_api_name,
592 G_PKG_NAME)
593 THEN
594 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
595 END IF;
596
597 -- Initialize message list if p_init_msg_list is set to TRUE.
598 IF FND_API.to_Boolean( p_init_msg_list )
599 THEN
600 FND_MSG_PUB.initialize;
601 END IF;
602
603 -- Debug Message
604 IF l_debug THEN
605 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
606 'Public API: ' || l_api_name || 'start');
607
608 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
609 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
610 END IF;
611
612 -- Initialize API return status to SUCCESS
613 x_return_status := FND_API.G_RET_STS_SUCCESS;
614
615 IF l_debug THEN
616 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
617 'Public API: Calling as_access_pvt.has_viewCustomerAccess');
618 END IF;
619
620
621 as_access_pvt.has_viewCustomerAccess
622 (p_api_version_number => 2.0
623 ,p_init_msg_list => FND_API.G_FALSE
624 ,p_validation_level => p_validation_level
625 ,p_access_profile_rec => p_access_profile_rec
626 ,p_admin_flag => p_admin_flag
627 ,p_admin_group_id => p_admin_group_id
628 ,p_person_id => p_person_id
629 ,p_customer_id => p_customer_id
630 ,p_check_access_flag => p_check_access_flag
631 ,p_identity_salesforce_id =>p_identity_salesforce_id
632 ,p_partner_cont_party_id =>p_partner_cont_party_id
633 ,x_return_status =>x_return_status
634 ,x_msg_count => x_msg_count
635 ,x_msg_data => x_msg_data
636 ,x_view_access_flag => x_view_access_flag);
637
638 IF x_return_status = FND_API.G_RET_STS_ERROR then
639 raise FND_API.G_EXC_ERROR;
640 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
641 raise FND_API.G_EXC_UNEXPECTED_ERROR;
642 END IF;
643
644
645 --
646 -- End of API body.
647 --
648
649 -- Debug Message
650 IF l_debug THEN
651 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
652 'Public API: ' || l_api_name || 'end');
653
654 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
655 || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
656 END IF;
657
658
659 FND_MSG_PUB.Count_And_Get
660 ( p_count => x_msg_count,
661 p_data => x_msg_data
662 );
663
664 EXCEPTION
665 WHEN FND_API.G_EXC_ERROR THEN
666 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
667 P_MODULE => l_module
668 ,P_API_NAME => L_API_NAME
669 ,P_PKG_NAME => G_PKG_NAME
670 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
671 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
672 , P_ROLLBACK_FLAG => 'N'
673 ,X_MSG_COUNT => X_MSG_COUNT
674 ,X_MSG_DATA => X_MSG_DATA
675 ,X_RETURN_STATUS => X_RETURN_STATUS);
676
677 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
678 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
679 P_MODULE => l_module
680 ,P_API_NAME => L_API_NAME
681 ,P_PKG_NAME => G_PKG_NAME
682 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
683 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
684 , P_ROLLBACK_FLAG => 'N'
685 ,X_MSG_COUNT => X_MSG_COUNT
686 ,X_MSG_DATA => X_MSG_DATA
687 ,X_RETURN_STATUS => X_RETURN_STATUS);
688
689 WHEN OTHERS THEN
690 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
691 P_MODULE => l_module
692 ,P_API_NAME => L_API_NAME
693 ,P_PKG_NAME => G_PKG_NAME
694 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
695 ,P_SQLCODE => SQLCODE
696 ,P_SQLERRM => SQLERRM
697 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
698 , P_ROLLBACK_FLAG => 'N'
699 ,X_MSG_COUNT => X_MSG_COUNT
700 ,X_MSG_DATA => X_MSG_DATA
701 ,X_RETURN_STATUS => X_RETURN_STATUS);
702
703
704 end has_viewCustomerAccess ;
705
706 procedure has_updateCustomerAccess
707 ( p_api_version_number IN NUMBER
708 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
709 ,p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL
710 ,p_access_profile_rec IN access_profile_rec_type
711 ,p_admin_flag IN VARCHAR2
712 ,p_admin_group_id IN NUMBER
713 ,p_person_id IN NUMBER
714 ,p_customer_id IN NUMBER
715 ,p_check_access_flag IN VARCHAR2
716 ,p_identity_salesforce_id IN NUMBER
717 ,p_partner_cont_party_id IN NUMBER
718 ,x_return_status OUT NOCOPY VARCHAR2
719 ,x_msg_count OUT NOCOPY NUMBER
720 ,x_msg_data OUT NOCOPY VARCHAR2
721 ,x_update_access_flag OUT NOCOPY VARCHAR2
722 )is
723 l_api_name CONSTANT VARCHAR2(30) := 'has_updateCustomerAccess';
724 l_api_version_number CONSTANT NUMBER := 2.0;
725 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
726 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.has_updateCustomerAccess';
727
728 begin
729 -- Standard call to check for call compatibility.
730 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
731 p_api_version_number,
732 l_api_name,
733 G_PKG_NAME)
734 THEN
735 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
736 END IF;
737
738 -- Initialize message list if p_init_msg_list is set to TRUE.
739 IF FND_API.to_Boolean( p_init_msg_list )
740 THEN
741 FND_MSG_PUB.initialize;
742 END IF;
743
744 -- Debug Message
745 IF l_debug THEN
746 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
747 'Public API: ' || l_api_name || 'start');
748
749 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
750 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
751 END IF;
752
753 -- Initialize API return status to SUCCESS
754 x_return_status := FND_API.G_RET_STS_SUCCESS;
755
756
757 IF l_debug THEN
758 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
759 'Public API: Calling as_access_pvt.has_updateCustomerAccess');
760 END IF;
761
762
763 as_access_pvt.has_updateCustomerAccess
764 (p_api_version_number => 2.0
765 ,p_init_msg_list => FND_API.G_FALSE
766 ,p_validation_level => p_validation_level
767 ,p_access_profile_rec => p_access_profile_rec
768 ,p_admin_flag => p_admin_flag
769 ,p_admin_group_id => p_admin_group_id
770 ,p_person_id => p_person_id
771 ,p_customer_id => p_customer_id
772 ,p_check_access_flag => p_check_access_flag
773 ,p_identity_salesforce_id =>p_identity_salesforce_id
774 ,p_partner_cont_party_id =>p_partner_cont_party_id
775 ,x_return_status =>x_return_status
776 ,x_msg_count => x_msg_count
777 ,x_msg_data => x_msg_data
778 ,x_update_access_flag => x_update_access_flag);
779
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 --
788 -- End of API body.
789 --
790
791 -- Debug Message
792 IF l_debug THEN
793 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
794 'Public API: ' || l_api_name || 'end');
795
796 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
797 || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
798 END IF;
799
800
801 FND_MSG_PUB.Count_And_Get
802 ( p_count => x_msg_count,
803 p_data => x_msg_data
804 );
805
806 EXCEPTION
807 WHEN FND_API.G_EXC_ERROR THEN
808 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
809 P_MODULE => l_module
810 ,P_API_NAME => L_API_NAME
811 ,P_PKG_NAME => G_PKG_NAME
812 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
813 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
814 , P_ROLLBACK_FLAG => 'N'
815 ,X_MSG_COUNT => X_MSG_COUNT
816 ,X_MSG_DATA => X_MSG_DATA
817 ,X_RETURN_STATUS => X_RETURN_STATUS);
818
819 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
820 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
821 P_MODULE => l_module
822 ,P_API_NAME => L_API_NAME
823 ,P_PKG_NAME => G_PKG_NAME
824 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
825 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
826 , P_ROLLBACK_FLAG => 'N'
827 ,X_MSG_COUNT => X_MSG_COUNT
828 ,X_MSG_DATA => X_MSG_DATA
829 ,X_RETURN_STATUS => X_RETURN_STATUS);
830
831 WHEN OTHERS THEN
832 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
833 P_MODULE => l_module
834 ,P_API_NAME => L_API_NAME
835 ,P_PKG_NAME => G_PKG_NAME
836 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
837 ,P_SQLCODE => SQLCODE
838 ,P_SQLERRM => SQLERRM
839 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
840 , P_ROLLBACK_FLAG => 'N'
841 ,X_MSG_COUNT => X_MSG_COUNT
842 ,X_MSG_DATA => X_MSG_DATA
843 ,X_RETURN_STATUS => X_RETURN_STATUS);
844
845
846 end has_updateCustomerAccess;
847
848 procedure has_updateLeadAccess
849 ( p_api_version_number IN NUMBER
850 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
851 ,p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL
852 ,p_access_profile_rec IN access_profile_rec_type
853 ,p_admin_flag IN VARCHAR2
854 ,p_admin_group_id IN NUMBER
855 ,p_person_id IN NUMBER
856 ,p_sales_lead_id IN NUMBER
857 ,p_check_access_flag IN VARCHAR2
858 ,p_identity_salesforce_id IN NUMBER
859 ,p_partner_cont_party_id IN NUMBER
860 ,x_return_status OUT NOCOPY VARCHAR2
861 ,x_msg_count OUT NOCOPY NUMBER
862 ,x_msg_data OUT NOCOPY VARCHAR2
863 ,x_update_access_flag OUT NOCOPY VARCHAR2
864 ) is
865 l_api_name CONSTANT VARCHAR2(30) := 'has_updateLeadAccess';
866 l_api_version_number CONSTANT NUMBER := 2.0;
867 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
868 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.has_updateLeadAccess';
869
870 begin
871 -- Standard call to check for call compatibility.
872 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
873 p_api_version_number,
874 l_api_name,
875 G_PKG_NAME)
876 THEN
877 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
878 END IF;
879
880 -- Initialize message list if p_init_msg_list is set to TRUE.
881 IF FND_API.to_Boolean( p_init_msg_list )
882 THEN
883 FND_MSG_PUB.initialize;
884 END IF;
885
886 -- Debug Message
887 IF l_debug THEN
888 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
889 'Public API: ' || l_api_name || 'start');
890
891 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
892 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
893 END IF;
894
895 -- Initialize API return status to SUCCESS
896 x_return_status := FND_API.G_RET_STS_SUCCESS;
897
898
899 IF l_debug THEN
900 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
901 'Public API: Calling as_access_pvt.has_updateLeadAccess');
902 END IF;
903
904
905 as_access_pvt.has_updateLeadAccess
906 (p_api_version_number => 2.0
907 ,p_init_msg_list => FND_API.G_FALSE
908 ,p_validation_level => p_validation_level
909 ,p_access_profile_rec => p_access_profile_rec
910 ,p_admin_flag => p_admin_flag
911 ,p_admin_group_id => p_admin_group_id
912 ,p_person_id => p_person_id
913 ,p_sales_lead_id => p_sales_lead_id
914 ,p_check_access_flag => p_check_access_flag
915 ,p_identity_salesforce_id =>p_identity_salesforce_id
916 ,p_partner_cont_party_id =>p_partner_cont_party_id
917 ,x_return_status =>x_return_status
918 ,x_msg_count => x_msg_count
919 ,x_msg_data => x_msg_data
920 ,x_update_access_flag => x_update_access_flag);
921
922 IF x_return_status = FND_API.G_RET_STS_ERROR then
923 raise FND_API.G_EXC_ERROR;
924 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
925 raise FND_API.G_EXC_UNEXPECTED_ERROR;
926 END IF;
927
928
929 --
930 -- End of API body.
931 --
932
933 -- Debug Message
934 IF l_debug THEN
935 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
936 'Public API: ' || l_api_name || 'end');
937
938 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
939 || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
940 END IF;
941
942 FND_MSG_PUB.Count_And_Get
943 ( p_count => x_msg_count,
944 p_data => x_msg_data
945 );
946
947 EXCEPTION
948 WHEN FND_API.G_EXC_ERROR THEN
949 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
950 P_MODULE => l_module
951 ,P_API_NAME => L_API_NAME
952 ,P_PKG_NAME => G_PKG_NAME
953 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
954 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
955 , P_ROLLBACK_FLAG => 'N'
956 ,X_MSG_COUNT => X_MSG_COUNT
957 ,X_MSG_DATA => X_MSG_DATA
958 ,X_RETURN_STATUS => X_RETURN_STATUS);
959
960 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
961 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
962 P_MODULE => l_module
963 ,P_API_NAME => L_API_NAME
964 ,P_PKG_NAME => G_PKG_NAME
965 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
966 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
967 , P_ROLLBACK_FLAG => 'N'
968 ,X_MSG_COUNT => X_MSG_COUNT
969 ,X_MSG_DATA => X_MSG_DATA
970 ,X_RETURN_STATUS => X_RETURN_STATUS);
971
972 WHEN OTHERS THEN
973 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
974 P_MODULE => l_module
975 ,P_API_NAME => L_API_NAME
976 ,P_PKG_NAME => G_PKG_NAME
977 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
978 ,P_SQLCODE => SQLCODE
979 ,P_SQLERRM => SQLERRM
980 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
981 , P_ROLLBACK_FLAG => 'N'
982 ,X_MSG_COUNT => X_MSG_COUNT
983 ,X_MSG_DATA => X_MSG_DATA
984 ,X_RETURN_STATUS => X_RETURN_STATUS);
985
986
987 end has_updateLeadAccess;
988
989 procedure has_updateOpportunityAccess
990 ( p_api_version_number IN NUMBER
991 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
992 ,p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL
993 ,p_access_profile_rec IN access_profile_rec_type
994 ,p_admin_flag IN VARCHAR2
995 ,p_admin_group_id IN NUMBER
996 ,p_person_id IN NUMBER
997 ,p_opportunity_id IN NUMBER
998 ,p_check_access_flag IN VARCHAR2
999 ,p_identity_salesforce_id IN NUMBER
1000 ,p_partner_cont_party_id IN NUMBER
1001 ,x_return_status OUT NOCOPY VARCHAR2
1002 ,x_msg_count OUT NOCOPY NUMBER
1003 ,x_msg_data OUT NOCOPY VARCHAR2
1004 ,x_update_access_flag OUT NOCOPY VARCHAR2
1005 ) is
1006 l_api_name CONSTANT VARCHAR2(30) := 'has_updateOpportunityAccess';
1007 l_api_version_number CONSTANT NUMBER := 2.0;
1008 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
1009 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.has_updateOpportunityAccess';
1010
1011 begin
1012
1013 -- Standard call to check for call compatibility.
1014 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1015 p_api_version_number,
1016 l_api_name,
1017 G_PKG_NAME)
1018 THEN
1019 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1020 END IF;
1021
1022 -- Initialize message list if p_init_msg_list is set to TRUE.
1023 IF FND_API.to_Boolean( p_init_msg_list )
1024 THEN
1025 FND_MSG_PUB.initialize;
1026 END IF;
1027
1028 -- Debug Message
1029 IF l_debug THEN
1030 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1031 'Public API: ' || l_api_name || 'start');
1032
1033 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1034 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1035 END IF;
1036
1037 -- Initialize API return status to SUCCESS
1038 x_return_status := FND_API.G_RET_STS_SUCCESS;
1039
1040
1041 IF l_debug THEN
1042 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1043 'Public API: Calling as_access_pvt.has_updateOpportunityAccess');
1044 END IF;
1045
1046
1047 as_access_pvt.has_updateOpportunityAccess
1048 (p_api_version_number => 2.0
1049 ,p_init_msg_list => FND_API.G_FALSE
1050 ,p_validation_level => p_validation_level
1051 ,p_access_profile_rec => p_access_profile_rec
1052 ,p_admin_flag => p_admin_flag
1053 ,p_admin_group_id => p_admin_group_id
1054 ,p_person_id => p_person_id
1055 ,p_opportunity_id => p_opportunity_id
1056 ,p_check_access_flag => p_check_access_flag
1057 ,p_identity_salesforce_id =>p_identity_salesforce_id
1058 ,p_partner_cont_party_id =>p_partner_cont_party_id
1059 ,x_return_status =>x_return_status
1060 ,x_msg_count => x_msg_count
1061 ,x_msg_data => x_msg_data
1062 ,x_update_access_flag => x_update_access_flag);
1063
1064 IF x_return_status = FND_API.G_RET_STS_ERROR then
1065 raise FND_API.G_EXC_ERROR;
1066 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1067 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1068 END IF;
1069
1070
1071 --
1072 -- End of API body.
1073 --
1074
1075 -- Debug Message
1076 IF l_debug THEN
1077 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1078 'Public API: ' || l_api_name || 'end');
1079
1080 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
1081 || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1082 END IF;
1083
1084
1085 FND_MSG_PUB.Count_And_Get
1086 ( p_count => x_msg_count,
1087 p_data => x_msg_data
1088 );
1089
1090 EXCEPTION
1091 WHEN FND_API.G_EXC_ERROR THEN
1092 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1093 P_MODULE => l_module
1094 ,P_API_NAME => L_API_NAME
1095 ,P_PKG_NAME => G_PKG_NAME
1096 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1097 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1098 , P_ROLLBACK_FLAG => 'N'
1099 ,X_MSG_COUNT => X_MSG_COUNT
1100 ,X_MSG_DATA => X_MSG_DATA
1101 ,X_RETURN_STATUS => X_RETURN_STATUS);
1102
1103 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1104 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1105 P_MODULE => l_module
1106 ,P_API_NAME => L_API_NAME
1107 ,P_PKG_NAME => G_PKG_NAME
1108 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1109 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1110 , P_ROLLBACK_FLAG => 'N'
1111 ,X_MSG_COUNT => X_MSG_COUNT
1112 ,X_MSG_DATA => X_MSG_DATA
1113 ,X_RETURN_STATUS => X_RETURN_STATUS);
1114
1115 WHEN OTHERS THEN
1116 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1117 P_MODULE => l_module
1118 ,P_API_NAME => L_API_NAME
1119 ,P_PKG_NAME => G_PKG_NAME
1120 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1121 ,P_SQLCODE => SQLCODE
1122 ,P_SQLERRM => SQLERRM
1123 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1124 , P_ROLLBACK_FLAG => 'N'
1125 ,X_MSG_COUNT => X_MSG_COUNT
1126 ,X_MSG_DATA => X_MSG_DATA
1127 ,X_RETURN_STATUS => X_RETURN_STATUS);
1128
1129 end has_updateOpportunityAccess;
1130
1131 procedure validate_id_combination(p_security_id IN NUMBER
1132 ,p_security_type IN VARCHAR2
1133 ,p_person_party_id IN NUMBER
1134 ,x_valid_flag OUT NOCOPY VARCHAR2) is
1135
1136 cursor org_contact_exist_csr is
1137 select 'x'
1138 from hz_relationships
1139 where subject_id = p_person_party_id
1140 and object_id = p_security_id
1141 and SUBJECT_TABLE_NAME = 'HZ_PARTIES'
1142 AND OBJECT_TABLE_NAME = 'HZ_PARTIES';
1143
1144 cursor opp_contact_exist_csr is
1145 select 'x'
1146 from as_lead_contacts cont,
1147 hz_relationships rel
1148 where cont.contact_party_id = rel.party_id
1149 and rel.subject_id = p_person_party_id
1150 and cont.lead_id = p_security_id
1151 and SUBJECT_TABLE_NAME = 'HZ_PARTIES'
1152 AND OBJECT_TABLE_NAME = 'HZ_PARTIES';
1153 cursor lead_contact_exist_csr is
1154 select 'x'
1155 from as_sales_lead_contacts cont,
1156 hz_relationships rel
1157 where cont.contact_party_id = rel.party_id
1158 and rel.subject_id = p_person_party_id
1159 and cont.sales_lead_id = p_security_id
1160 and SUBJECT_TABLE_NAME = 'HZ_PARTIES'
1161 AND OBJECT_TABLE_NAME = 'HZ_PARTIES';
1162 l_var varchar2(1);
1163 begin
1164 x_valid_flag := 'Y';
1165 if p_security_type = 'ORGANIZATION'
1166 and FND_PROFILE.Value('AS_CUST_ACCESS') <> 'F'
1167 then
1168 open org_contact_exist_csr;
1169 fetch org_contact_exist_csr into l_var;
1170 if org_contact_exist_csr%FOUND
1171 then
1172 x_valid_flag := 'Y';
1173 else
1174 x_valid_flag := 'N';
1175
1176 end if;
1177 close org_contact_exist_csr;
1178 elsif p_security_type = 'OPPORTUNITY'
1179 and FND_PROFILE.Value('AS_OPP_ACCESS') <> 'F'
1180 then
1181 open opp_contact_exist_csr;
1182 fetch opp_contact_exist_csr into l_var;
1183 if opp_contact_exist_csr%FOUND
1184 then
1185 x_valid_flag := 'Y';
1186 else
1187 x_valid_flag := 'N';
1188
1189 end if;
1190 close opp_contact_exist_csr;
1191 elsif p_security_type = 'LEAD'
1192 and FND_PROFILE.Value('AS_LEAD_ACCESS') <> 'F'
1193 then
1194 open lead_contact_exist_csr;
1195 fetch lead_contact_exist_csr into l_var;
1196 if lead_contact_exist_csr%FOUND
1197 then
1198 x_valid_flag := 'Y';
1199 else
1200 x_valid_flag := 'N';
1201
1202 end if;
1203 close lead_contact_exist_csr;
1204 elsif p_security_type is NULL -- for consumer, no validation needed
1205 then
1206 x_valid_flag := 'Y';
1207 end if;
1208 end validate_id_combination;
1209
1210 /*
1211 has_updatePersonAccess:
1212 p_security_id is the id which has relationship to the p_person_party_id.
1213 For example, to check access for contact person(1000) of opportunity (2222),
1214 you need to pass in p_security_id = 2222, p_security_type = 'OPPORTUNITY'
1215 and p_person_party_id = 1000
1216 values allowed for p_security_id are org party_id, opportunity_id,sales_lead_id
1217 and null.
1218 p_security_type allowed are 'ORGANIZATION', 'OPPORTUNITY','LEAD' and null
1219 p_person_party_id is person's party id. This id is required to check person's
1220 update access. To check consumer access, you can pass in null for
1221 p_security_id and p_security_type */
1222 procedure has_updatePersonAccess
1223 ( p_api_version_number IN NUMBER
1224 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
1225 ,p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL
1226 ,p_access_profile_rec IN access_profile_rec_type
1227 ,p_admin_flag IN VARCHAR2
1228 ,p_admin_group_id IN NUMBER
1229 ,p_person_id IN NUMBER
1230 ,p_security_id IN NUMBER
1231 ,p_security_type IN VARCHAR2
1232 ,p_person_party_id IN NUMBER
1233 ,p_check_access_flag IN VARCHAR2
1234 ,p_identity_salesforce_id IN NUMBER
1235 ,p_partner_cont_party_id IN NUMBER
1236 ,x_return_status OUT NOCOPY VARCHAR2
1237 ,x_msg_count OUT NOCOPY NUMBER
1238 ,x_msg_data OUT NOCOPY VARCHAR2
1239 ,x_update_access_flag OUT NOCOPY VARCHAR2
1240 ) is
1241 l_api_name CONSTANT VARCHAR2(30) := 'has_updatePersonAccess';
1242 l_api_version_number CONSTANT NUMBER := 2.0;
1243 l_valid_flag varchar2(1);
1244 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
1245 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.has_updatePersonAccess';
1246
1247 begin
1248
1249 -- Standard call to check for call compatibility.
1250 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1251 p_api_version_number,
1252 l_api_name,
1253 G_PKG_NAME)
1254 THEN
1255 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1256 END IF;
1257
1258 -- Initialize message list if p_init_msg_list is set to TRUE.
1259 IF FND_API.to_Boolean( p_init_msg_list )
1260 THEN
1261 FND_MSG_PUB.initialize;
1262 END IF;
1263
1264 -- Debug Message
1265 IF l_debug THEN
1266 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1267 'Public API: ' || l_api_name || 'start');
1268
1269 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1270 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1271 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1272 'p_security_id: ' || p_security_id);
1273 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1274 'p_security_type: ' || p_security_type);
1275 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1276 'p_person_party_id: ' || p_person_party_id);
1277 END IF;
1278
1279 -- Initialize API return status to SUCCESS
1280 x_return_status := FND_API.G_RET_STS_SUCCESS;
1281 x_update_access_flag := 'N';
1282 validate_id_combination(p_security_id => p_security_id
1283 ,p_security_type => p_security_type
1284 ,p_person_party_id => p_person_party_id
1285 ,x_valid_flag => l_valid_flag);
1286 IF l_debug THEN
1287 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1288 'valid id flag: ' || l_valid_flag);
1289 END IF;
1290 if l_valid_flag = 'N'
1291 then
1292 x_update_access_flag := 'N';
1293 else
1294 if p_security_type = 'ORGANIZATION'
1295 then
1296 as_access_pvt.has_updateCustomerAccess
1297 (p_api_version_number => 2.0
1298 ,p_init_msg_list => FND_API.G_FALSE
1299 ,p_validation_level => p_validation_level
1300 ,p_access_profile_rec => p_access_profile_rec
1301 ,p_admin_flag => p_admin_flag
1302 ,p_admin_group_id => p_admin_group_id
1303 ,p_person_id => p_person_id
1304 ,p_customer_id => p_security_id
1305 ,p_check_access_flag => p_check_access_flag
1306 ,p_identity_salesforce_id =>p_identity_salesforce_id
1307 ,p_partner_cont_party_id =>p_partner_cont_party_id
1308 ,x_return_status =>x_return_status
1309 ,x_msg_count => x_msg_count
1310 ,x_msg_data => x_msg_data
1311 ,x_update_access_flag => x_update_access_flag);
1312
1313 IF x_return_status = FND_API.G_RET_STS_ERROR then
1314 raise FND_API.G_EXC_ERROR;
1315 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1316 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1317 end if;
1318 elsif p_security_type = 'OPPORTUNITY'
1319 then
1320 as_access_pvt.has_updateOpportunityAccess
1321 (p_api_version_number => 2.0
1322 ,p_init_msg_list => FND_API.G_FALSE
1323 ,p_validation_level => p_validation_level
1324 ,p_access_profile_rec => p_access_profile_rec
1325 ,p_admin_flag => p_admin_flag
1326 ,p_admin_group_id => p_admin_group_id
1327 ,p_person_id => p_person_id
1328 ,p_opportunity_id => p_security_id
1329 ,p_check_access_flag => p_check_access_flag
1330 ,p_identity_salesforce_id =>p_identity_salesforce_id
1331 ,p_partner_cont_party_id =>p_partner_cont_party_id
1332 ,x_return_status =>x_return_status
1333 ,x_msg_count => x_msg_count
1334 ,x_msg_data => x_msg_data
1335 ,x_update_access_flag => x_update_access_flag);
1336
1337 IF x_return_status = FND_API.G_RET_STS_ERROR then
1338 raise FND_API.G_EXC_ERROR;
1339 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1340 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1341 end if;
1342 elsif p_security_type = 'LEAD'
1343 then
1344 as_access_pvt.has_updateLeadAccess
1345 (p_api_version_number => 2.0
1346 ,p_init_msg_list => FND_API.G_FALSE
1347 ,p_validation_level => p_validation_level
1348 ,p_access_profile_rec => p_access_profile_rec
1349 ,p_admin_flag => p_admin_flag
1350 ,p_admin_group_id => p_admin_group_id
1351 ,p_person_id => p_person_id
1352 ,p_sales_lead_id => p_security_id
1353 ,p_check_access_flag => p_check_access_flag
1354 ,p_identity_salesforce_id =>p_identity_salesforce_id
1355 ,p_partner_cont_party_id =>p_partner_cont_party_id
1356 ,x_return_status =>x_return_status
1357 ,x_msg_count => x_msg_count
1358 ,x_msg_data => x_msg_data
1359 ,x_update_access_flag => x_update_access_flag);
1360
1361 IF x_return_status = FND_API.G_RET_STS_ERROR then
1362 raise FND_API.G_EXC_ERROR;
1363 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1364 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1365 end if;
1366 elsif p_security_type is null and p_security_id is null
1367 then
1368 as_access_pvt.has_updateCustomerAccess
1369 (p_api_version_number => 2.0
1370 ,p_init_msg_list => FND_API.G_FALSE
1371 ,p_validation_level => p_validation_level
1372 ,p_access_profile_rec => p_access_profile_rec
1373 ,p_admin_flag => p_admin_flag
1374 ,p_admin_group_id => p_admin_group_id
1375 ,p_person_id => p_person_id
1376 ,p_customer_id => p_person_party_id
1377 ,p_check_access_flag => p_check_access_flag
1378 ,p_identity_salesforce_id =>p_identity_salesforce_id
1379 ,p_partner_cont_party_id =>p_partner_cont_party_id
1380 ,x_return_status =>x_return_status
1381 ,x_msg_count => x_msg_count
1382 ,x_msg_data => x_msg_data
1383 ,x_update_access_flag => x_update_access_flag);
1384
1385 IF x_return_status = FND_API.G_RET_STS_ERROR then
1386 raise FND_API.G_EXC_ERROR;
1387 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1388 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1389 end if;
1390 END IF; -- if p_security_type = 'ORGANIZATION'
1391 end if; --if l_valid_flag = 'N'
1392
1393 --
1394 -- End of API body.
1395 --
1396
1397 -- Debug Message
1398 IF l_debug THEN
1399 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1400 'Public API: ' || l_api_name || 'end');
1401
1402 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
1403 || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1404 END IF;
1405
1406
1407 FND_MSG_PUB.Count_And_Get
1408 ( p_count => x_msg_count,
1409 p_data => x_msg_data
1410 );
1411
1412 EXCEPTION
1413 WHEN FND_API.G_EXC_ERROR THEN
1414 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1415 P_MODULE => l_module
1416 ,P_API_NAME => L_API_NAME
1417 ,P_PKG_NAME => G_PKG_NAME
1418 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1419 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1420 , P_ROLLBACK_FLAG => 'N'
1421 ,X_MSG_COUNT => X_MSG_COUNT
1422 ,X_MSG_DATA => X_MSG_DATA
1423 ,X_RETURN_STATUS => X_RETURN_STATUS);
1424
1425 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1426 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1427 P_MODULE => l_module
1428 ,P_API_NAME => L_API_NAME
1429 ,P_PKG_NAME => G_PKG_NAME
1430 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1431 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1432 , P_ROLLBACK_FLAG => 'N'
1433 ,X_MSG_COUNT => X_MSG_COUNT
1434 ,X_MSG_DATA => X_MSG_DATA
1435 ,X_RETURN_STATUS => X_RETURN_STATUS);
1436
1437 WHEN OTHERS THEN
1438 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1439 P_MODULE => l_module
1440 ,P_API_NAME => L_API_NAME
1441 ,P_PKG_NAME => G_PKG_NAME
1442 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1443 ,P_SQLCODE => SQLCODE
1444 ,P_SQLERRM => SQLERRM
1445 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1446 , P_ROLLBACK_FLAG => 'N'
1447 ,X_MSG_COUNT => X_MSG_COUNT
1448 ,X_MSG_DATA => X_MSG_DATA
1449 ,X_RETURN_STATUS => X_RETURN_STATUS);
1450
1451 end has_updatePersonAccess;
1452
1453 procedure has_viewPersonAccess
1454 ( p_api_version_number IN NUMBER
1455 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
1456 ,p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL
1457 ,p_access_profile_rec IN access_profile_rec_type
1458 ,p_admin_flag IN VARCHAR2
1459 ,p_admin_group_id IN NUMBER
1460 ,p_person_id IN NUMBER
1461 ,p_security_id IN NUMBER
1462 ,p_security_type IN VARCHAR2
1463 ,p_person_party_id IN NUMBER
1464 ,p_check_access_flag IN VARCHAR2
1465 ,p_identity_salesforce_id IN NUMBER
1466 ,p_partner_cont_party_id IN NUMBER
1467 ,x_return_status OUT NOCOPY VARCHAR2
1468 ,x_msg_count OUT NOCOPY NUMBER
1469 ,x_msg_data OUT NOCOPY VARCHAR2
1470 ,x_view_access_flag OUT NOCOPY VARCHAR2
1471 ) is
1472 l_api_name CONSTANT VARCHAR2(30) := 'has_viewPersonAccess';
1473 l_api_version_number CONSTANT NUMBER := 2.0;
1474 l_valid_flag varchar2(1);
1475 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
1476 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.has_viewPersonAccess';
1477
1478 begin
1479
1480 -- Standard call to check for call compatibility.
1481 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1482 p_api_version_number,
1483 l_api_name,
1484 G_PKG_NAME)
1485 THEN
1486 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1487 END IF;
1488
1489 -- Initialize message list if p_init_msg_list is set to TRUE.
1490 IF FND_API.to_Boolean( p_init_msg_list )
1491 THEN
1492 FND_MSG_PUB.initialize;
1493 END IF;
1494
1495 -- Debug Message
1496 IF l_debug THEN
1497 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1498 'Public API: ' || l_api_name || 'start');
1499
1500 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1501 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1502 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1503 'p_security_id: ' || p_security_id);
1504 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1505 'p_security_type: ' || p_security_type);
1506 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1507 'p_person_party_id: ' || p_person_party_id);
1508 END IF;
1509
1510 -- Initialize API return status to SUCCESS
1511 x_return_status := FND_API.G_RET_STS_SUCCESS;
1512 x_view_access_flag := 'N';
1513 validate_id_combination(p_security_id => p_security_id
1514 ,p_security_type => p_security_type
1515 ,p_person_party_id => p_person_party_id
1516 ,x_valid_flag => l_valid_flag);
1517 IF l_debug THEN
1518 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1519 'valid id flag: ' || l_valid_flag);
1520 END IF;
1521
1522 if l_valid_flag = 'N'
1523 then
1524 x_view_access_flag := 'N';
1525 else
1526 if p_security_type = 'ORGANIZATION'
1527 then
1528 as_access_pvt.has_viewCustomerAccess
1529 (p_api_version_number => 2.0
1530 ,p_init_msg_list => FND_API.G_FALSE
1531 ,p_validation_level => p_validation_level
1532 ,p_access_profile_rec => p_access_profile_rec
1533 ,p_admin_flag => p_admin_flag
1534 ,p_admin_group_id => p_admin_group_id
1535 ,p_person_id => p_person_id
1536 ,p_customer_id => p_security_id
1537 ,p_check_access_flag => p_check_access_flag
1538 ,p_identity_salesforce_id =>p_identity_salesforce_id
1539 ,p_partner_cont_party_id =>p_partner_cont_party_id
1540 ,x_return_status =>x_return_status
1541 ,x_msg_count => x_msg_count
1542 ,x_msg_data => x_msg_data
1543 ,x_view_access_flag => x_view_access_flag);
1544
1545 IF x_return_status = FND_API.G_RET_STS_ERROR then
1546 raise FND_API.G_EXC_ERROR;
1547 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1548 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1549 end if;
1550 elsif p_security_type = 'OPPORTUNITY'
1551 then
1552 as_access_pvt.has_viewOpportunityAccess
1553 (p_api_version_number => 2.0
1554 ,p_init_msg_list => FND_API.G_FALSE
1555 ,p_validation_level => p_validation_level
1556 ,p_access_profile_rec => p_access_profile_rec
1557 ,p_admin_flag => p_admin_flag
1558 ,p_admin_group_id => p_admin_group_id
1559 ,p_person_id => p_person_id
1560 ,p_opportunity_id => p_security_id
1561 ,p_check_access_flag => p_check_access_flag
1562 ,p_identity_salesforce_id =>p_identity_salesforce_id
1563 ,p_partner_cont_party_id =>p_partner_cont_party_id
1564 ,x_return_status =>x_return_status
1565 ,x_msg_count => x_msg_count
1566 ,x_msg_data => x_msg_data
1567 ,x_view_access_flag => x_view_access_flag);
1568
1569 IF x_return_status = FND_API.G_RET_STS_ERROR then
1570 raise FND_API.G_EXC_ERROR;
1571 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1572 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1573 end if;
1574 elsif p_security_type = 'LEAD'
1575 then
1576 as_access_pvt.has_viewLeadAccess
1577 (p_api_version_number => 2.0
1578 ,p_init_msg_list => FND_API.G_FALSE
1579 ,p_validation_level => p_validation_level
1580 ,p_access_profile_rec => p_access_profile_rec
1581 ,p_admin_flag => p_admin_flag
1582 ,p_admin_group_id => p_admin_group_id
1583 ,p_person_id => p_person_id
1584 ,p_sales_lead_id => p_security_id
1585 ,p_check_access_flag => p_check_access_flag
1586 ,p_identity_salesforce_id =>p_identity_salesforce_id
1587 ,p_partner_cont_party_id =>p_partner_cont_party_id
1588 ,x_return_status =>x_return_status
1589 ,x_msg_count => x_msg_count
1590 ,x_msg_data => x_msg_data
1591 ,x_view_access_flag => x_view_access_flag);
1592
1593 IF x_return_status = FND_API.G_RET_STS_ERROR then
1594 raise FND_API.G_EXC_ERROR;
1595 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1596 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1597 end if;
1598 elsif p_security_type is null and p_security_id is null
1599 then
1600 as_access_pvt.has_viewCustomerAccess
1601 (p_api_version_number => 2.0
1602 ,p_init_msg_list => FND_API.G_FALSE
1603 ,p_validation_level => p_validation_level
1604 ,p_access_profile_rec => p_access_profile_rec
1605 ,p_admin_flag => p_admin_flag
1606 ,p_admin_group_id => p_admin_group_id
1607 ,p_person_id => p_person_id
1608 ,p_customer_id => p_person_party_id
1609 ,p_check_access_flag => p_check_access_flag
1610 ,p_identity_salesforce_id =>p_identity_salesforce_id
1611 ,p_partner_cont_party_id =>p_partner_cont_party_id
1612 ,x_return_status =>x_return_status
1613 ,x_msg_count => x_msg_count
1614 ,x_msg_data => x_msg_data
1615 ,x_view_access_flag => x_view_access_flag);
1616
1617 IF x_return_status = FND_API.G_RET_STS_ERROR then
1618 raise FND_API.G_EXC_ERROR;
1619 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1620 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1621 end if;
1622 END IF; -- if p_security_type = 'ORGANIZATION'
1623 end if; --if l_valid_flag = 'N'
1624
1625 --
1626 -- End of API body.
1627 --
1628
1629 -- Debug Message
1630 IF l_debug THEN
1631 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1632 'Public API: ' || l_api_name || 'end');
1633
1634 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
1635 || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1636 END IF;
1637
1638
1639 FND_MSG_PUB.Count_And_Get
1640 ( p_count => x_msg_count,
1641 p_data => x_msg_data
1642 );
1643
1644 EXCEPTION
1645 WHEN FND_API.G_EXC_ERROR THEN
1646 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1647 P_MODULE => l_module
1648 ,P_API_NAME => L_API_NAME
1649 ,P_PKG_NAME => G_PKG_NAME
1650 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1651 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1652 , P_ROLLBACK_FLAG => 'N'
1653 ,X_MSG_COUNT => X_MSG_COUNT
1654 ,X_MSG_DATA => X_MSG_DATA
1655 ,X_RETURN_STATUS => X_RETURN_STATUS);
1656
1657 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1658 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1659 P_MODULE => l_module
1660 ,P_API_NAME => L_API_NAME
1661 ,P_PKG_NAME => G_PKG_NAME
1662 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1663 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1664 , P_ROLLBACK_FLAG => 'N'
1665 ,X_MSG_COUNT => X_MSG_COUNT
1666 ,X_MSG_DATA => X_MSG_DATA
1667 ,X_RETURN_STATUS => X_RETURN_STATUS);
1668
1669 WHEN OTHERS THEN
1670 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1671 P_MODULE => l_module
1672 ,P_API_NAME => L_API_NAME
1673 ,P_PKG_NAME => G_PKG_NAME
1674 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1675 ,P_SQLCODE => SQLCODE
1676 ,P_SQLERRM => SQLERRM
1677 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1678 , P_ROLLBACK_FLAG => 'N'
1679 ,X_MSG_COUNT => X_MSG_COUNT
1680 ,X_MSG_DATA => X_MSG_DATA
1681 ,X_RETURN_STATUS => X_RETURN_STATUS);
1682
1683 end has_viewPersonAccess;
1684
1685
1686 procedure has_viewLeadAccess
1687 ( p_api_version_number IN NUMBER
1688 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
1689 ,p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL
1690 ,p_access_profile_rec IN access_profile_rec_type
1691 ,p_admin_flag IN VARCHAR2
1692 ,p_admin_group_id IN NUMBER
1693 ,p_person_id IN NUMBER
1694 ,p_sales_lead_id IN NUMBER
1695 ,p_check_access_flag IN VARCHAR2
1696 ,p_identity_salesforce_id IN NUMBER
1697 ,p_partner_cont_party_id IN NUMBER
1698 ,x_return_status OUT NOCOPY VARCHAR2
1699 ,x_msg_count OUT NOCOPY NUMBER
1700 ,x_msg_data OUT NOCOPY VARCHAR2
1701 ,x_view_access_flag OUT NOCOPY VARCHAR2
1702 ) is
1703 l_api_name CONSTANT VARCHAR2(30) := 'has_viewLeadAccess';
1704 l_api_version_number CONSTANT NUMBER := 2.0;
1705 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
1706 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.has_viewLeadAccess';
1707
1708 begin
1709 -- Standard call to check for call compatibility.
1710 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1711 p_api_version_number,
1712 l_api_name,
1713 G_PKG_NAME)
1714 THEN
1715 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1716 END IF;
1717
1718 -- Initialize message list if p_init_msg_list is set to TRUE.
1719 IF FND_API.to_Boolean( p_init_msg_list )
1720 THEN
1721 FND_MSG_PUB.initialize;
1722 END IF;
1723
1724 -- Debug Message
1725 IF l_debug THEN
1726 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1727 'Public API: ' || l_api_name || 'start');
1728
1729 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1730 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1731 END IF;
1732
1733 -- Initialize API return status to SUCCESS
1734 x_return_status := FND_API.G_RET_STS_SUCCESS;
1735
1736
1737 IF l_debug THEN
1738 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1739 'Public API: Calling as_access_pvt.has_viewLeadAccess');
1740 END IF;
1741
1742
1743 as_access_pvt.has_viewLeadAccess
1744 (p_api_version_number => 2.0
1745 ,p_init_msg_list => FND_API.G_FALSE
1746 ,p_validation_level => p_validation_level
1747 ,p_access_profile_rec => p_access_profile_rec
1748 ,p_admin_flag => p_admin_flag
1749 ,p_admin_group_id => p_admin_group_id
1750 ,p_person_id => p_person_id
1751 ,p_sales_lead_id => p_sales_lead_id
1752 ,p_check_access_flag => p_check_access_flag
1753 ,p_identity_salesforce_id =>p_identity_salesforce_id
1754 ,p_partner_cont_party_id =>p_partner_cont_party_id
1755 ,x_return_status =>x_return_status
1756 ,x_msg_count => x_msg_count
1757 ,x_msg_data => x_msg_data
1758 ,x_view_access_flag => x_view_access_flag);
1759
1760 IF x_return_status = FND_API.G_RET_STS_ERROR then
1761 raise FND_API.G_EXC_ERROR;
1762 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1763 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1764 END IF;
1765
1766
1767 --
1768 -- End of API body.
1769 --
1770
1771 -- Debug Message
1772 IF l_debug THEN
1773 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1774 'Public API: ' || l_api_name || 'end');
1775
1776 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
1777 || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1778 END IF;
1779
1780
1781 FND_MSG_PUB.Count_And_Get
1782 ( p_count => x_msg_count,
1783 p_data => x_msg_data
1784 );
1785
1786 EXCEPTION
1787 WHEN FND_API.G_EXC_ERROR THEN
1788 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1789 P_MODULE => l_module
1790 ,P_API_NAME => L_API_NAME
1791 ,P_PKG_NAME => G_PKG_NAME
1792 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1793 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1794 , P_ROLLBACK_FLAG => 'N'
1795 ,X_MSG_COUNT => X_MSG_COUNT
1796 ,X_MSG_DATA => X_MSG_DATA
1797 ,X_RETURN_STATUS => X_RETURN_STATUS);
1798
1799 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1800 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1801 P_MODULE => l_module
1802 ,P_API_NAME => L_API_NAME
1803 ,P_PKG_NAME => G_PKG_NAME
1804 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1805 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1806 , P_ROLLBACK_FLAG => 'N'
1807 ,X_MSG_COUNT => X_MSG_COUNT
1808 ,X_MSG_DATA => X_MSG_DATA
1809 ,X_RETURN_STATUS => X_RETURN_STATUS);
1810
1811 WHEN OTHERS THEN
1812 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1813 P_MODULE => l_module
1814 ,P_API_NAME => L_API_NAME
1815 ,P_PKG_NAME => G_PKG_NAME
1816 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1817 ,P_SQLCODE => SQLCODE
1818 ,P_SQLERRM => SQLERRM
1819 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1820 , P_ROLLBACK_FLAG => 'N'
1821 ,X_MSG_COUNT => X_MSG_COUNT
1822 ,X_MSG_DATA => X_MSG_DATA
1823 ,X_RETURN_STATUS => X_RETURN_STATUS);
1824
1825
1826 end has_viewLeadAccess;
1827
1828 procedure has_viewOpportunityAccess
1829 ( p_api_version_number IN NUMBER
1830 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
1831 ,p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL
1832 ,p_access_profile_rec IN access_profile_rec_type
1833 ,p_admin_flag IN VARCHAR2
1834 ,p_admin_group_id IN NUMBER
1835 ,p_person_id IN NUMBER
1836 ,p_opportunity_id IN NUMBER
1837 ,p_check_access_flag IN VARCHAR2
1838 ,p_identity_salesforce_id IN NUMBER
1839 ,p_partner_cont_party_id IN NUMBER
1840 ,x_return_status OUT NOCOPY VARCHAR2
1841 ,x_msg_count OUT NOCOPY NUMBER
1842 ,x_msg_data OUT NOCOPY VARCHAR2
1843 ,x_view_access_flag OUT NOCOPY VARCHAR2
1844 ) is
1845 l_api_name CONSTANT VARCHAR2(30) := 'has_viewOpportunityAccess';
1846 l_api_version_number CONSTANT NUMBER := 2.0;
1847 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
1848 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.has_viewOpportunityAccess';
1849
1850 begin
1851
1852 -- Standard call to check for call compatibility.
1853 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1854 p_api_version_number,
1855 l_api_name,
1856 G_PKG_NAME)
1857 THEN
1858 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1859 END IF;
1860
1861 -- Initialize message list if p_init_msg_list is set to TRUE.
1862 IF FND_API.to_Boolean( p_init_msg_list )
1863 THEN
1864 FND_MSG_PUB.initialize;
1865 END IF;
1866
1867 -- Debug Message
1868 IF l_debug THEN
1869 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1870 'Public API: ' || l_api_name || 'start');
1871
1872 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1873 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1874 END IF;
1875
1876 -- Initialize API return status to SUCCESS
1877 x_return_status := FND_API.G_RET_STS_SUCCESS;
1878
1879
1880 IF l_debug THEN
1881 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1882 'Public API: Calling as_access_pvt.has_viewOpportunityAccess');
1883 END IF;
1884
1885
1886 as_access_pvt.has_viewOpportunityAccess
1887 (p_api_version_number => 2.0
1888 ,p_init_msg_list => FND_API.G_FALSE
1889 ,p_validation_level => p_validation_level
1890 ,p_access_profile_rec => p_access_profile_rec
1891 ,p_admin_flag => p_admin_flag
1892 ,p_admin_group_id => p_admin_group_id
1893 ,p_person_id => p_person_id
1894 ,p_opportunity_id => p_opportunity_id
1895 ,p_check_access_flag => p_check_access_flag
1896 ,p_identity_salesforce_id =>p_identity_salesforce_id
1897 ,p_partner_cont_party_id =>p_partner_cont_party_id
1898 ,x_return_status =>x_return_status
1899 ,x_msg_count => x_msg_count
1900 ,x_msg_data => x_msg_data
1901 ,x_view_access_flag => x_view_access_flag);
1902
1903 IF x_return_status = FND_API.G_RET_STS_ERROR then
1904 raise FND_API.G_EXC_ERROR;
1905 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1906 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1907 END IF;
1908
1909
1910 --
1911 -- End of API body.
1912 --
1913
1914 -- Debug Message
1915 IF l_debug THEN
1916 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
1917 'Public API: ' || l_api_name || 'end');
1918
1919 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
1920 || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
1921 END IF;
1922
1923
1924 FND_MSG_PUB.Count_And_Get
1925 ( p_count => x_msg_count,
1926 p_data => x_msg_data
1927 );
1928
1929 EXCEPTION
1930 WHEN FND_API.G_EXC_ERROR THEN
1931 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1932 P_MODULE => l_module
1933 ,P_API_NAME => L_API_NAME
1934 ,P_PKG_NAME => G_PKG_NAME
1935 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1936 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1937 , P_ROLLBACK_FLAG => 'N'
1938 ,X_MSG_COUNT => X_MSG_COUNT
1939 ,X_MSG_DATA => X_MSG_DATA
1940 ,X_RETURN_STATUS => X_RETURN_STATUS);
1941
1942 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1943 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1944 P_MODULE => l_module
1945 ,P_API_NAME => L_API_NAME
1946 ,P_PKG_NAME => G_PKG_NAME
1947 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1948 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1949 , P_ROLLBACK_FLAG => 'N'
1950 ,X_MSG_COUNT => X_MSG_COUNT
1951 ,X_MSG_DATA => X_MSG_DATA
1952 ,X_RETURN_STATUS => X_RETURN_STATUS);
1953
1954 WHEN OTHERS THEN
1955 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
1956 P_MODULE => l_module
1957 ,P_API_NAME => L_API_NAME
1958 ,P_PKG_NAME => G_PKG_NAME
1959 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
1960 ,P_SQLCODE => SQLCODE
1961 ,P_SQLERRM => SQLERRM
1962 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
1963 , P_ROLLBACK_FLAG => 'N'
1964 ,X_MSG_COUNT => X_MSG_COUNT
1965 ,X_MSG_DATA => X_MSG_DATA
1966 ,X_RETURN_STATUS => X_RETURN_STATUS);
1967
1968 end has_viewOpportunityAccess;
1969
1970 /*
1971 This API is used for checking if login user has access for the pass in
1972 organization party id. x_access_privilege might return one of the following
1973 three values: 'N'(no access), 'R'(read only access) and 'F'(read/update access)
1974 */
1975
1976 procedure has_organizationAccess
1977 ( p_api_version_number IN NUMBER
1978 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
1979 ,p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL
1980 ,p_access_profile_rec IN access_profile_rec_type
1981 ,p_admin_flag IN VARCHAR2
1982 ,p_admin_group_id IN NUMBER
1983 ,p_person_id IN NUMBER
1984 ,p_customer_id IN NUMBER
1985 ,p_check_access_flag IN VARCHAR2
1986 ,p_identity_salesforce_id IN NUMBER
1987 ,p_partner_cont_party_id IN NUMBER
1988 ,x_return_status OUT NOCOPY VARCHAR2
1989 ,x_msg_count OUT NOCOPY NUMBER
1990 ,x_msg_data OUT NOCOPY VARCHAR2
1991 ,x_access_privilege OUT NOCOPY VARCHAR2
1992 ) is
1993 l_api_name CONSTANT VARCHAR2(30) := 'has_organizationAccess';
1994 l_api_version_number CONSTANT NUMBER := 2.0;
1995 l_view_access_flag varchar2(1);
1996 l_update_access_flag varchar2(1);
1997 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
1998 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.has_organizationAccess';
1999
2000 begin
2001 -- Standard call to check for call compatibility.
2002 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2003 p_api_version_number,
2004 l_api_name,
2005 G_PKG_NAME)
2006 THEN
2007 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2008 END IF;
2009
2010 -- Initialize message list if p_init_msg_list is set to TRUE.
2011 IF FND_API.to_Boolean( p_init_msg_list )
2012 THEN
2013 FND_MSG_PUB.initialize;
2014 END IF;
2015
2016 -- Debug Message
2017 IF l_debug THEN
2018 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2019 'Public API: ' || l_api_name || 'start');
2020
2021 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2022 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2023 END IF;
2024
2025 -- Initialize API return status to SUCCESS
2026 x_return_status := FND_API.G_RET_STS_SUCCESS;
2027
2028 IF l_debug THEN
2029 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2030 'Public API: Calling as_access_pvt.has_viewCustomerAccess');
2031 END IF;
2032
2033 x_access_privilege := 'N';
2034 as_access_pvt.has_viewCustomerAccess
2035 (p_api_version_number => 2.0
2036 ,p_init_msg_list => FND_API.G_FALSE
2037 ,p_validation_level => p_validation_level
2038 ,p_access_profile_rec => p_access_profile_rec
2039 ,p_admin_flag => p_admin_flag
2040 ,p_admin_group_id => p_admin_group_id
2041 ,p_person_id => p_person_id
2042 ,p_customer_id => p_customer_id
2043 ,p_check_access_flag => p_check_access_flag
2044 ,p_identity_salesforce_id =>p_identity_salesforce_id
2045 ,p_partner_cont_party_id =>p_partner_cont_party_id
2046 ,x_return_status =>x_return_status
2047 ,x_msg_count => x_msg_count
2048 ,x_msg_data => x_msg_data
2049 ,x_view_access_flag => l_view_access_flag);
2050
2051 IF x_return_status = FND_API.G_RET_STS_ERROR then
2052 raise FND_API.G_EXC_ERROR;
2053 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2054 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2055 END IF;
2056
2057 if l_view_access_flag = 'Y'
2058 then
2059 x_access_privilege := 'R';
2060 as_access_pvt.has_updateCustomerAccess
2061 (p_api_version_number => 2.0
2062 ,p_init_msg_list => FND_API.G_FALSE
2063 ,p_validation_level => p_validation_level
2064 ,p_access_profile_rec => p_access_profile_rec
2065 ,p_admin_flag => p_admin_flag
2066 ,p_admin_group_id => p_admin_group_id
2067 ,p_person_id => p_person_id
2068 ,p_customer_id => p_customer_id
2069 ,p_check_access_flag => p_check_access_flag
2070 ,p_identity_salesforce_id =>p_identity_salesforce_id
2071 ,p_partner_cont_party_id =>p_partner_cont_party_id
2072 ,x_return_status =>x_return_status
2073 ,x_msg_count => x_msg_count
2074 ,x_msg_data => x_msg_data
2075 ,x_update_access_flag => l_update_access_flag);
2076
2077 IF x_return_status = FND_API.G_RET_STS_ERROR then
2078 raise FND_API.G_EXC_ERROR;
2079 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2080 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2081 END IF;
2082
2083 if l_update_access_flag = 'Y'
2084 then
2085 x_access_privilege := 'F';
2086 end if;
2087 end if; -- l_view_access_flag = 'Y'
2088
2089 --
2090 -- End of API body.
2091 --
2092
2093 -- Debug Message
2094 IF l_debug THEN
2095 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2096 'Public API: ' || l_api_name || 'end');
2097
2098 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
2099 || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2100 END IF;
2101
2102
2103 FND_MSG_PUB.Count_And_Get
2104 ( p_count => x_msg_count,
2105 p_data => x_msg_data
2106 );
2107
2108 EXCEPTION
2109 WHEN FND_API.G_EXC_ERROR THEN
2110 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2111 P_MODULE => l_module
2112 ,P_API_NAME => L_API_NAME
2113 ,P_PKG_NAME => G_PKG_NAME
2114 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2115 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2116 , P_ROLLBACK_FLAG => 'N'
2117 ,X_MSG_COUNT => X_MSG_COUNT
2118 ,X_MSG_DATA => X_MSG_DATA
2119 ,X_RETURN_STATUS => X_RETURN_STATUS);
2120
2121 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2122 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2123 P_MODULE => l_module
2124 ,P_API_NAME => L_API_NAME
2125 ,P_PKG_NAME => G_PKG_NAME
2126 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2127 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2128 , P_ROLLBACK_FLAG => 'N'
2129 ,X_MSG_COUNT => X_MSG_COUNT
2130 ,X_MSG_DATA => X_MSG_DATA
2131 ,X_RETURN_STATUS => X_RETURN_STATUS);
2132
2133 WHEN OTHERS THEN
2134 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2135 P_MODULE => l_module
2136 ,P_API_NAME => L_API_NAME
2137 ,P_PKG_NAME => G_PKG_NAME
2138 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2139 ,P_SQLCODE => SQLCODE
2140 ,P_SQLERRM => SQLERRM
2141 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2142 , P_ROLLBACK_FLAG => 'N'
2143 ,X_MSG_COUNT => X_MSG_COUNT
2144 ,X_MSG_DATA => X_MSG_DATA
2145 ,X_RETURN_STATUS => X_RETURN_STATUS);
2146
2147
2148 end has_organizationAccess ;
2149
2150 procedure has_opportunityAccess
2151 ( p_api_version_number IN NUMBER
2152 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
2153 ,p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL
2154 ,p_access_profile_rec IN access_profile_rec_type
2155 ,p_admin_flag IN VARCHAR2
2156 ,p_admin_group_id IN NUMBER
2157 ,p_person_id IN NUMBER
2158 ,p_opportunity_id IN NUMBER
2159 ,p_check_access_flag IN VARCHAR2
2160 ,p_identity_salesforce_id IN NUMBER
2161 ,p_partner_cont_party_id IN NUMBER
2162 ,x_return_status OUT NOCOPY VARCHAR2
2163 ,x_msg_count OUT NOCOPY NUMBER
2164 ,x_msg_data OUT NOCOPY VARCHAR2
2165 ,x_access_privilege OUT NOCOPY VARCHAR2
2166 ) is
2167 l_api_name CONSTANT VARCHAR2(30) := 'has_opportunityAccess';
2168 l_api_version_number CONSTANT NUMBER := 2.0;
2169 l_view_access_flag varchar2(1);
2170 l_update_access_flag varchar2(1);
2171 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
2172 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.has_opportunityAccess';
2173
2174 begin
2175 -- Standard call to check for call compatibility.
2176 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2177 p_api_version_number,
2178 l_api_name,
2179 G_PKG_NAME)
2180 THEN
2181 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2182 END IF;
2183
2184 -- Initialize message list if p_init_msg_list is set to TRUE.
2185 IF FND_API.to_Boolean( p_init_msg_list )
2186 THEN
2187 FND_MSG_PUB.initialize;
2188 END IF;
2189
2190 -- Debug Message
2191 IF l_debug THEN
2192 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2193 'Public API: ' || l_api_name || 'start');
2194
2195 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2196 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2197 END IF;
2198
2199 -- Initialize API return status to SUCCESS
2200 x_return_status := FND_API.G_RET_STS_SUCCESS;
2201
2202 IF l_debug THEN
2203 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2204 'Public API: Calling as_access_pvt.has_viewCustomerAccess');
2205 END IF;
2206
2207 x_access_privilege := 'N';
2208 as_access_pvt.has_viewOpportunityAccess
2209 (p_api_version_number => 2.0
2210 ,p_init_msg_list => FND_API.G_FALSE
2211 ,p_validation_level => p_validation_level
2212 ,p_access_profile_rec => p_access_profile_rec
2213 ,p_admin_flag => p_admin_flag
2214 ,p_admin_group_id => p_admin_group_id
2215 ,p_person_id => p_person_id
2216 ,p_opportunity_id => p_opportunity_id
2217 ,p_check_access_flag => p_check_access_flag
2218 ,p_identity_salesforce_id =>p_identity_salesforce_id
2219 ,p_partner_cont_party_id =>p_partner_cont_party_id
2220 ,x_return_status =>x_return_status
2221 ,x_msg_count => x_msg_count
2222 ,x_msg_data => x_msg_data
2223 ,x_view_access_flag => l_view_access_flag);
2224
2225 IF x_return_status = FND_API.G_RET_STS_ERROR then
2226 raise FND_API.G_EXC_ERROR;
2227 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2228 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2229 END IF;
2230
2231 if l_view_access_flag = 'Y'
2232 then
2233 x_access_privilege := 'R';
2234 as_access_pvt.has_updateOpportunityAccess
2235 (p_api_version_number => 2.0
2236 ,p_init_msg_list => FND_API.G_FALSE
2237 ,p_validation_level => p_validation_level
2238 ,p_access_profile_rec => p_access_profile_rec
2239 ,p_admin_flag => p_admin_flag
2240 ,p_admin_group_id => p_admin_group_id
2241 ,p_person_id => p_person_id
2242 ,p_opportunity_id => p_opportunity_id
2243 ,p_check_access_flag => p_check_access_flag
2244 ,p_identity_salesforce_id =>p_identity_salesforce_id
2245 ,p_partner_cont_party_id =>p_partner_cont_party_id
2246 ,x_return_status =>x_return_status
2247 ,x_msg_count => x_msg_count
2248 ,x_msg_data => x_msg_data
2249 ,x_update_access_flag => l_update_access_flag);
2250
2251 IF x_return_status = FND_API.G_RET_STS_ERROR then
2252 raise FND_API.G_EXC_ERROR;
2253 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2254 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2255 END IF;
2256
2257 if l_update_access_flag = 'Y'
2258 then
2259 x_access_privilege := 'F';
2260 end if;
2261 end if; -- l_view_access_flag = 'Y'
2262
2263 --
2264 -- End of API body.
2265 --
2266
2267 -- Debug Message
2268 IF l_debug THEN
2269 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2270 'Public API: ' || l_api_name || 'end');
2271
2272 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
2273 || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2274 END IF;
2275
2276
2277 FND_MSG_PUB.Count_And_Get
2278 ( p_count => x_msg_count,
2279 p_data => x_msg_data
2280 );
2281
2282 EXCEPTION
2283 WHEN FND_API.G_EXC_ERROR THEN
2284 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2285 P_MODULE => l_module
2286 ,P_API_NAME => L_API_NAME
2287 ,P_PKG_NAME => G_PKG_NAME
2288 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2289 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2290 , P_ROLLBACK_FLAG => 'N'
2291 ,X_MSG_COUNT => X_MSG_COUNT
2292 ,X_MSG_DATA => X_MSG_DATA
2293 ,X_RETURN_STATUS => X_RETURN_STATUS);
2294
2295 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2296 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2297 P_MODULE => l_module
2298 ,P_API_NAME => L_API_NAME
2299 ,P_PKG_NAME => G_PKG_NAME
2300 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2301 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2302 , P_ROLLBACK_FLAG => 'N'
2303 ,X_MSG_COUNT => X_MSG_COUNT
2304 ,X_MSG_DATA => X_MSG_DATA
2305 ,X_RETURN_STATUS => X_RETURN_STATUS);
2306
2307 WHEN OTHERS THEN
2308 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2309 P_MODULE => l_module
2310 ,P_API_NAME => L_API_NAME
2311 ,P_PKG_NAME => G_PKG_NAME
2312 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2313 ,P_SQLCODE => SQLCODE
2314 ,P_SQLERRM => SQLERRM
2315 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2316 , P_ROLLBACK_FLAG => 'N'
2317 ,X_MSG_COUNT => X_MSG_COUNT
2318 ,X_MSG_DATA => X_MSG_DATA
2319 ,X_RETURN_STATUS => X_RETURN_STATUS);
2320
2321
2322 end has_opportunityAccess ;
2323
2324 procedure has_leadAccess
2325 ( p_api_version_number IN NUMBER
2326 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
2327 ,p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL
2328 ,p_access_profile_rec IN access_profile_rec_type
2329 ,p_admin_flag IN VARCHAR2
2330 ,p_admin_group_id IN NUMBER
2331 ,p_person_id IN NUMBER
2332 ,p_sales_lead_id IN NUMBER
2333 ,p_check_access_flag IN VARCHAR2
2334 ,p_identity_salesforce_id IN NUMBER
2335 ,p_partner_cont_party_id IN NUMBER
2336 ,x_return_status OUT NOCOPY VARCHAR2
2337 ,x_msg_count OUT NOCOPY NUMBER
2338 ,x_msg_data OUT NOCOPY VARCHAR2
2339 ,x_access_privilege OUT NOCOPY VARCHAR2
2340 ) is
2341 l_api_name CONSTANT VARCHAR2(30) := 'has_leadAccess';
2342 l_api_version_number CONSTANT NUMBER := 2.0;
2343 l_view_access_flag varchar2(1);
2344 l_update_access_flag varchar2(1);
2345 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
2346 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.has_leadAccess';
2347
2348 begin
2349 -- Standard call to check for call compatibility.
2350 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2351 p_api_version_number,
2352 l_api_name,
2353 G_PKG_NAME)
2354 THEN
2355 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2356 END IF;
2357
2358 -- Initialize message list if p_init_msg_list is set to TRUE.
2359 IF FND_API.to_Boolean( p_init_msg_list )
2360 THEN
2361 FND_MSG_PUB.initialize;
2362 END IF;
2363
2364 -- Debug Message
2365 IF l_debug THEN
2366 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2367 'Public API: ' || l_api_name || 'start');
2368
2369 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2370 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2371 END IF;
2372
2373 -- Initialize API return status to SUCCESS
2374 x_return_status := FND_API.G_RET_STS_SUCCESS;
2375
2376 IF l_debug THEN
2377 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2378 'Public API: Calling as_access_pvt.has_viewCustomerAccess');
2379 END IF;
2380
2381 x_access_privilege := 'N';
2382 as_access_pvt.has_viewLeadAccess
2383 (p_api_version_number => 2.0
2384 ,p_init_msg_list => FND_API.G_FALSE
2385 ,p_validation_level => p_validation_level
2386 ,p_access_profile_rec => p_access_profile_rec
2387 ,p_admin_flag => p_admin_flag
2388 ,p_admin_group_id => p_admin_group_id
2389 ,p_person_id => p_person_id
2390 ,p_sales_lead_id => p_sales_lead_id
2391 ,p_check_access_flag => p_check_access_flag
2392 ,p_identity_salesforce_id =>p_identity_salesforce_id
2393 ,p_partner_cont_party_id =>p_partner_cont_party_id
2394 ,x_return_status =>x_return_status
2395 ,x_msg_count => x_msg_count
2396 ,x_msg_data => x_msg_data
2397 ,x_view_access_flag => l_view_access_flag);
2398
2399 IF x_return_status = FND_API.G_RET_STS_ERROR then
2400 raise FND_API.G_EXC_ERROR;
2401 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2402 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2403 END IF;
2404
2405 if l_view_access_flag = 'Y'
2406 then
2407 x_access_privilege := 'R';
2408 as_access_pvt.has_updateLeadAccess
2409 (p_api_version_number => 2.0
2410 ,p_init_msg_list => FND_API.G_FALSE
2411 ,p_validation_level => p_validation_level
2412 ,p_access_profile_rec => p_access_profile_rec
2413 ,p_admin_flag => p_admin_flag
2414 ,p_admin_group_id => p_admin_group_id
2415 ,p_person_id => p_person_id
2416 ,p_sales_lead_id => p_sales_lead_id
2417 ,p_check_access_flag => p_check_access_flag
2418 ,p_identity_salesforce_id =>p_identity_salesforce_id
2419 ,p_partner_cont_party_id =>p_partner_cont_party_id
2420 ,x_return_status =>x_return_status
2421 ,x_msg_count => x_msg_count
2422 ,x_msg_data => x_msg_data
2423 ,x_update_access_flag => l_update_access_flag);
2424
2425 IF x_return_status = FND_API.G_RET_STS_ERROR then
2426 raise FND_API.G_EXC_ERROR;
2427 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2428 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2429 END IF;
2430
2431 if l_update_access_flag = 'Y'
2432 then
2433 x_access_privilege := 'F';
2434 end if;
2435 end if; -- l_view_access_flag = 'Y'
2436
2437 --
2438 -- End of API body.
2439 --
2440
2441 -- Debug Message
2442 IF l_debug THEN
2443 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2444 'Public API: ' || l_api_name || 'end');
2445
2446 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
2447 || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2448 END IF;
2449
2450
2451 FND_MSG_PUB.Count_And_Get
2452 ( p_count => x_msg_count,
2453 p_data => x_msg_data
2454 );
2455
2456 EXCEPTION
2457 WHEN FND_API.G_EXC_ERROR THEN
2458 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2459 P_MODULE => l_module
2460 ,P_API_NAME => L_API_NAME
2461 ,P_PKG_NAME => G_PKG_NAME
2462 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2463 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2464 , P_ROLLBACK_FLAG => 'N'
2465 ,X_MSG_COUNT => X_MSG_COUNT
2466 ,X_MSG_DATA => X_MSG_DATA
2467 ,X_RETURN_STATUS => X_RETURN_STATUS);
2468
2469 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2470 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2471 P_MODULE => l_module
2472 ,P_API_NAME => L_API_NAME
2473 ,P_PKG_NAME => G_PKG_NAME
2474 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2475 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2476 , P_ROLLBACK_FLAG => 'N'
2477 ,X_MSG_COUNT => X_MSG_COUNT
2478 ,X_MSG_DATA => X_MSG_DATA
2479 ,X_RETURN_STATUS => X_RETURN_STATUS);
2480
2481 WHEN OTHERS THEN
2482 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2483 P_MODULE => l_module
2484 ,P_API_NAME => L_API_NAME
2485 ,P_PKG_NAME => G_PKG_NAME
2486 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2487 ,P_SQLCODE => SQLCODE
2488 ,P_SQLERRM => SQLERRM
2489 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2490 , P_ROLLBACK_FLAG => 'N'
2491 ,X_MSG_COUNT => X_MSG_COUNT
2492 ,X_MSG_DATA => X_MSG_DATA
2493 ,X_RETURN_STATUS => X_RETURN_STATUS);
2494
2495
2496 end has_leadAccess ;
2497
2498 procedure has_personAccess
2499 ( p_api_version_number IN NUMBER
2500 ,p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
2501 ,p_validation_level IN NUMBER DEFAULT FND_API.G_VALID_LEVEL_FULL
2502 ,p_access_profile_rec IN access_profile_rec_type
2503 ,p_admin_flag IN VARCHAR2
2504 ,p_admin_group_id IN NUMBER
2505 ,p_person_id IN NUMBER
2506 ,p_security_id IN NUMBER
2507 ,p_security_type IN VARCHAR2
2508 ,p_person_party_id IN NUMBER
2509 ,p_check_access_flag IN VARCHAR2
2510 ,p_identity_salesforce_id IN NUMBER
2511 ,p_partner_cont_party_id IN NUMBER
2512 ,x_return_status OUT NOCOPY VARCHAR2
2513 ,x_msg_count OUT NOCOPY NUMBER
2514 ,x_msg_data OUT NOCOPY VARCHAR2
2515 ,x_access_privilege OUT NOCOPY VARCHAR2
2516 ) is
2517 l_api_name CONSTANT VARCHAR2(30) := 'has_personAccess';
2518 l_api_version_number CONSTANT NUMBER := 2.0;
2519 l_view_access_flag varchar2(1);
2520 l_update_access_flag varchar2(1);
2521 l_debug BOOLEAN := FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
2522 l_module CONSTANT VARCHAR2(255) := 'as.plsql.acpub.has_personAccess';
2523
2524 begin
2525 -- Standard call to check for call compatibility.
2526 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2527 p_api_version_number,
2528 l_api_name,
2529 G_PKG_NAME)
2530 THEN
2531 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2532 END IF;
2533
2534 -- Initialize message list if p_init_msg_list is set to TRUE.
2535 IF FND_API.to_Boolean( p_init_msg_list )
2536 THEN
2537 FND_MSG_PUB.initialize;
2538 END IF;
2539
2540 -- Debug Message
2541 IF l_debug THEN
2542 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2543 'Public API: ' || l_api_name || 'start');
2544
2545 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2546 'Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2547 END IF;
2548
2549 -- Initialize API return status to SUCCESS
2550 x_return_status := FND_API.G_RET_STS_SUCCESS;
2551
2552 x_access_privilege := 'N';
2553 as_access_pub.has_viewPersonAccess
2554 (p_api_version_number => 2.0
2555 ,p_init_msg_list => FND_API.G_FALSE
2556 ,p_validation_level => p_validation_level
2557 ,p_access_profile_rec => p_access_profile_rec
2558 ,p_admin_flag => p_admin_flag
2559 ,p_admin_group_id => p_admin_group_id
2560 ,p_person_id => p_person_id
2561 ,p_security_id => p_security_id
2562 ,p_security_type => p_security_type
2563 ,p_person_party_id => p_person_party_id
2564 ,p_check_access_flag => p_check_access_flag
2565 ,p_identity_salesforce_id =>p_identity_salesforce_id
2566 ,p_partner_cont_party_id =>p_partner_cont_party_id
2567 ,x_return_status =>x_return_status
2568 ,x_msg_count => x_msg_count
2569 ,x_msg_data => x_msg_data
2570 ,x_view_access_flag => l_view_access_flag);
2571
2572 IF x_return_status = FND_API.G_RET_STS_ERROR then
2573 raise FND_API.G_EXC_ERROR;
2574 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2575 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2576 END IF;
2577
2578 if l_view_access_flag = 'Y'
2579 then
2580 x_access_privilege := 'R';
2581 as_access_pub.has_updatePersonAccess
2582 (p_api_version_number => 2.0
2583 ,p_init_msg_list => FND_API.G_FALSE
2584 ,p_validation_level => p_validation_level
2585 ,p_access_profile_rec => p_access_profile_rec
2586 ,p_admin_flag => p_admin_flag
2587 ,p_admin_group_id => p_admin_group_id
2588 ,p_person_id => p_person_id
2589 ,p_security_id => p_security_id
2590 ,p_security_type => p_security_type
2591 ,p_person_party_id => p_person_party_id
2592 ,p_check_access_flag => p_check_access_flag
2593 ,p_identity_salesforce_id =>p_identity_salesforce_id
2594 ,p_partner_cont_party_id =>p_partner_cont_party_id
2595 ,x_return_status =>x_return_status
2596 ,x_msg_count => x_msg_count
2597 ,x_msg_data => x_msg_data
2598 ,x_update_access_flag => l_update_access_flag);
2599
2600 IF x_return_status = FND_API.G_RET_STS_ERROR then
2601 raise FND_API.G_EXC_ERROR;
2602 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2603 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2604 END IF;
2605
2606 if l_update_access_flag = 'Y'
2607 then
2608 x_access_privilege := 'F';
2609 end if;
2610 end if; -- l_view_access_flag = 'Y'
2611
2612 --
2613 -- End of API body.
2614 --
2615
2616 -- Debug Message
2617 IF l_debug THEN
2618 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,
2619 'Public API: ' || l_api_name || 'end');
2620
2621 AS_UTILITY_PVT.Debug_Message(l_module, FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'End time:'
2622 || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
2623 END IF;
2624
2625
2626 FND_MSG_PUB.Count_And_Get
2627 ( p_count => x_msg_count,
2628 p_data => x_msg_data
2629 );
2630
2631 EXCEPTION
2632 WHEN FND_API.G_EXC_ERROR THEN
2633 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2634 P_MODULE => l_module
2635 ,P_API_NAME => L_API_NAME
2636 ,P_PKG_NAME => G_PKG_NAME
2637 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2638 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2639 , P_ROLLBACK_FLAG => 'N'
2640 ,X_MSG_COUNT => X_MSG_COUNT
2641 ,X_MSG_DATA => X_MSG_DATA
2642 ,X_RETURN_STATUS => X_RETURN_STATUS);
2643
2644 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2645 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2646 P_MODULE => l_module
2647 ,P_API_NAME => L_API_NAME
2648 ,P_PKG_NAME => G_PKG_NAME
2649 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2650 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2651 , P_ROLLBACK_FLAG => 'N'
2652 ,X_MSG_COUNT => X_MSG_COUNT
2653 ,X_MSG_DATA => X_MSG_DATA
2654 ,X_RETURN_STATUS => X_RETURN_STATUS);
2655
2656 WHEN OTHERS THEN
2657 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
2658 P_MODULE => l_module
2659 ,P_API_NAME => L_API_NAME
2660 ,P_PKG_NAME => G_PKG_NAME
2661 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
2662 ,P_SQLCODE => SQLCODE
2663 ,P_SQLERRM => SQLERRM
2664 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
2665 , P_ROLLBACK_FLAG => 'N'
2666 ,X_MSG_COUNT => X_MSG_COUNT
2667 ,X_MSG_DATA => X_MSG_DATA
2668 ,X_RETURN_STATUS => X_RETURN_STATUS);
2669
2670
2671 end has_personAccess ;
2672
2673 END AS_ACCESS_PUB;