[Home] [Help]
PACKAGE BODY: APPS.AST_ACCESS
Source
1 PACKAGE BODY AST_ACCESS AS
2 /* $Header: astuaccb.pls 115.7 2004/02/18 10:54:57 rkumares ship $ */
3
4 G_Debug BOOLEAN := TRUE;
5
6 PROCEDURE Log_Mesg
7 (p_message IN VARCHAR2,
8 p_date IN VARCHAR2 DEFAULT 'N') IS
9 BEGIN
10 IF G_Debug THEN
11 AST_DEBUG_PUB.LogMessage(debug_msg => p_message,
12 print_date => p_date);
13 END IF;
14 END; -- End procedure Log_Mesg
15
16 PROCEDURE Initialize IS
17 BEGIN
18 G_ACCESS_REC_TYPE.Cust_Access_Profile_Value := NVL(FND_PROFILE.VALUE('AS_CUST_ACCESS'),'F');
19 G_ACCESS_REC_TYPE.Lead_Access_Profile_Value := NVL(FND_PROFILE.VALUE('AS_LEAD_ACCESS'),'F');
20 G_ACCESS_REC_TYPE.Opp_Access_Profile_Value := NVL(FND_PROFILE.VALUE('AS_OPP_ACCESS'),'F');
21 G_ACCESS_REC_TYPE.Mgr_Update_Profile_Value := NVL(FND_PROFILE.VALUE('AS_MGR_UPDATE'),'R');
22 G_ACCESS_REC_TYPE.Admin_Update_Profile_Value := NVL(FND_PROFILE.VALUE('AS_ADMIN_UPDATE'),'R');
23 END;
24
25 PROCEDURE Has_Create_LeadOppAccess
26 ( p_admin_flag VARCHAR2,
27 p_opplead_ident VARCHAR2,
28 x_return_status OUT NOCOPY VARCHAR2,
29 x_msg_count OUT NOCOPY NUMBER,
30 x_msg_data OUT NOCOPY VARCHAR2
31 ) IS
32 BEGIN
33 IF p_admin_flag = 'Y' THEN
34 IF p_opplead_ident = 'O' THEN
35 FND_MESSAGE.Set_Name('AST', 'AST_OPP_ADMIN_PREVLGE');
36 FND_MSG_PUB.ADD;
37 ELSE
38 FND_MESSAGE.Set_Name('AST', 'AST_LEAD_ADMIN_PREVLGE');
39 FND_MSG_PUB.ADD;
40 END IF;
41 x_return_status := FND_API.G_RET_STS_ERROR;
42 ELSIF (p_admin_flag = 'N') THEN
43 x_return_status := FND_API.G_RET_STS_SUCCESS;
44 END IF;
45 END Has_Create_LeadOppAccess;
46
47 PROCEDURE Has_UpdateLeadAccess
48 ( p_sales_lead_id NUMBER,
49 p_admin_flag VARCHAR2,
50 p_admin_group_id NUMBER,
51 p_person_id NUMBER,
52 p_resource_id NUMBER,
53 x_return_status OUT NOCOPY VARCHAR2,
54 x_msg_count OUT NOCOPY NUMBER,
55 x_msg_data OUT NOCOPY VARCHAR2
56 ) IS
57 l_accessFlag VARCHAR2(1);
58 l_true VARCHAR2(1) := FND_API.G_TRUE;
59 l_false VARCHAR2(1) := FND_API.G_FALSE;
60 l_validation_level_full NUMBER := FND_API.G_VALID_LEVEL_FULL;
61 l_msg_count NUMBER;
62 l_msg_data VARCHAR2(2000);
63 l_return_status VARCHAR2(1);
64 l_ret_stat_success VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
65
66 BEGIN
67 Initialize;
68 AS_ACCESS_PUB.Has_UpdateLeadAccess
69 ( p_api_version_Number => 2.0,
70 p_init_msg_list => l_false,
71 p_validation_level => l_validation_level_full,
72 p_access_profile_rec => G_Access_Rec_Type,
73 p_admin_flag => p_admin_flag,
74 p_admin_group_id => p_admin_group_id,
75 p_person_id => p_person_id,
76 p_sales_lead_id => p_sales_lead_Id,
77 p_check_access_flag => 'Y',
78 p_identity_salesforce_id => p_resource_id,
79 p_partner_cont_party_id => NULL,
80 x_return_status => l_return_status,
81 x_msg_count => l_msg_count,
82 x_msg_data => l_msg_data,
83 x_update_access_flag => l_accessflag
84 );
85
86 IF l_accessflag <> 'Y' THEN
87 x_return_status := FND_API.G_RET_STS_ERROR;
88 ELSE
89 x_return_status := FND_API.G_RET_STS_SUCCESS;
90 END IF;
91 IF x_return_status <> l_ret_stat_success THEN
92 FND_MESSAGE.Set_Name('AST', 'AST_LEAD_NOUPDATE_ACCESS');
93 FND_MSG_PUB.ADD;
94 x_msg_count := l_msg_count;
95 x_msg_data := l_msg_data;
96 END IF;
97 END Has_UpdateLeadAccess;
98
99 PROCEDURE Has_LeadOwnerAccess
100 ( p_sales_lead_id NUMBER,
101 p_admin_flag VARCHAR2,
102 p_admin_group_id NUMBER,
103 p_person_id NUMBER,
104 p_resource_id NUMBER,
105 x_return_status OUT NOCOPY VARCHAR2,
106 x_msg_count OUT NOCOPY NUMBER,
107 x_msg_data OUT NOCOPY VARCHAR2
108 ) IS
109 l_accessFlag VARCHAR2(1);
110 l_true VARCHAR2(1) := FND_API.G_TRUE;
111 l_false VARCHAR2(1) := FND_API.G_FALSE;
112 l_validation_level_full NUMBER := FND_API.G_VALID_LEVEL_FULL;
113 l_msg_count NUMBER;
114 l_msg_data VARCHAR2(2000);
115 l_return_status VARCHAR2(1);
116 l_ret_stat_success VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
117 BEGIN
118 Initialize;
119 l_accessFlag := nvl(fnd_profile.value('AS_ALLOW_CHANGE_LEAD_OWNER'),'N');
120 if (l_accessFlag <> 'Y') then
121 AS_ACCESS_PVT.has_LeadOwnerAccess
122 ( p_api_version_Number => 2.0,
123 p_init_msg_list => l_false,
124 p_validation_level => l_validation_level_full,
125 p_access_profile_rec => G_Access_Rec_Type,
126 p_admin_flag => p_admin_flag,
127 p_admin_group_id => p_admin_group_id,
128 p_person_id => p_person_id,
129 p_sales_lead_id => p_sales_lead_Id,
130 p_check_access_flag => 'Y',
131 p_identity_salesforce_id => p_resource_id,
132 p_partner_cont_party_id => NULL,
133 x_return_status => l_return_status,
134 x_msg_count => l_msg_count,
135 x_msg_data => l_msg_data,
136 x_update_access_flag => l_accessFlag
137 );
138 end if;
139 IF l_accessflag <> 'Y' THEN
140 x_return_status := FND_API.G_RET_STS_ERROR;
141 ELSE
142 x_return_status := FND_API.G_RET_STS_SUCCESS;
143 END IF;
144 IF x_return_status <> l_ret_stat_success THEN
145 FND_MESSAGE.Set_Name('AST', 'AST_NO_LEAD_OWNR_CHANGE_ACCESS');
146 FND_MSG_PUB.ADD;
147 x_msg_count := l_msg_count;
148 x_msg_data := l_msg_data;
149 END IF;
150 END Has_LeadOwnerAccess;
151
152 PROCEDURE Has_UpdateOpportunityAccess
153 ( p_lead_id NUMBER,
154 p_admin_flag VARCHAR2,
155 p_admin_group_id NUMBER,
156 p_person_id NUMBER,
157 p_resource_id NUMBER,
158 x_return_status OUT NOCOPY VARCHAR2,
159 x_msg_count OUT NOCOPY NUMBER,
160 x_msg_data OUT NOCOPY VARCHAR2
161 ) IS
162 l_accessFlag VARCHAR2(1);
163 l_true VARCHAR2(1) := FND_API.G_TRUE;
164 l_false VARCHAR2(1) := FND_API.G_FALSE;
165 l_validation_level_full NUMBER := FND_API.G_VALID_LEVEL_FULL;
166 l_msg_count NUMBER;
167 l_msg_data VARCHAR2(2000);
168 l_return_status VARCHAR2(1);
169 l_ret_stat_success VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
170
171 BEGIN
172 Initialize;
173 AS_ACCESS_PUB.has_updateOpportunityAccess
174 ( p_api_version_Number => 2.0,
175 p_init_msg_list => l_false,
176 p_validation_level => l_validation_level_full,
177 p_access_profile_rec => G_Access_Rec_Type,
178 p_admin_flag => p_admin_flag,
179 p_admin_group_id => p_admin_group_id,
180 p_person_id => p_person_id,
181 p_opportunity_id => p_lead_Id,
182 p_check_access_flag => 'Y',
183 p_identity_salesforce_id => p_resource_id,
184 p_partner_cont_party_id => NULL,
185 x_return_status => l_return_status,
186 x_msg_count => l_msg_count,
187 x_msg_data => l_msg_data,
188 x_update_access_flag => l_accessflag
189 );
190
191 IF l_accessflag <> 'Y' THEN
192 x_return_status := FND_API.G_RET_STS_ERROR;
193 ELSE
194 x_return_status := FND_API.G_RET_STS_SUCCESS;
195 END IF;
196 IF x_return_status <> l_ret_stat_success THEN
197 FND_MESSAGE.Set_Name('AST', 'AST_OPP_NOUPDATE_ACCESS');
198 FND_MSG_PUB.ADD;
199 x_msg_count := l_msg_count;
200 x_msg_data := l_msg_data;
201 END IF;
202 END Has_UpdateOpportunityAccess;
203
204 END AST_ACCESS; -- End package body AST_ACCESS