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