DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_ROLE_CONTROLS_PVT

Source


1 PACKAGE BODY pa_role_controls_pvt AS
2  /* $Header: PARPRCVB.pls 120.1 2005/08/19 16:58:49 mwasowic noship $ */
3 
4 -- --------------------------------------------------------------------------
5 --  PROCEDURE
6 --      Insert_Row
7 --  PURPOSE
8 --      This procedure inserts a row into the pa_role_controls table.
9 --
10 --  HISTORY
11 --      08-AUG-00		jwhite		Created
12 --
13 
14 PROCEDURE INSERT_ROW (
15  P_ROWID                        IN OUT     NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
16  P_ROLE_CONTROL_CODE            IN         VARCHAR2,
17  P_PROJECT_ROLE_ID              IN         NUMBER,
18  P_LAST_UPDATE_DATE             IN         DATE,
19  P_LAST_UPDATED_BY              IN         NUMBER,
20  P_CREATION_DATE                IN         DATE,
21  P_CREATED_BY                   IN         NUMBER,
22  P_LAST_UPDATE_LOGIN            IN         NUMBER,
23  X_RETURN_STATUS                OUT        NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
24  X_MSG_COUNT                    OUT        NOCOPY NUMBER, --File.Sql.39 bug 4440895
25  X_MSG_DATA                     OUT        NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
26 ) IS
27 
28 BEGIN
29 
30   -- Initialize the Error Stack
31         PA_DEBUG.init_err_stack('PA_ROLE_CONTROLS_PVT.Insert_Row');
32         x_msg_count := 0;
33         x_msg_data  := NULL;
34 
35   -- Initialize the return status to success
36         x_return_status := FND_API.G_RET_STS_SUCCESS;
37 
38       PA_ROLE_CONTROLS_PKG.Insert_Row
39       (X_ROWID                        =>  P_ROWID,
40        X_ROLE_CONTROL_CODE            =>  P_ROLE_CONTROL_CODE,
41        X_PROJECT_ROLE_ID              =>  P_PROJECT_ROLE_ID,
42        X_LAST_UPDATE_DATE             =>  P_LAST_UPDATE_DATE,
43        X_LAST_UPDATED_BY              =>  P_LAST_UPDATED_BY,
44        X_CREATION_DATE                =>  P_CREATION_DATE,
45        X_CREATED_BY                   =>  P_CREATED_BY,
46        X_LAST_UPDATE_LOGIN            =>  P_LAST_UPDATE_LOGIN
47       );
48 
49   -- Reset the Error Stack
50         PA_DEBUG.reset_err_stack;
51 
52         EXCEPTION
53         WHEN OTHERS THEN
54           x_msg_count := 1;
55           x_msg_data  := substr(SQLERRM,1,240);
56           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
57           FND_MSG_PUB.add_exc_msg
58           (p_pkg_name => 'PA_ROLE_CONTROLS_PVT'
59            , p_procedure_name => PA_DEBUG.G_Err_Stack
60            , p_error_text => substr(SQLERRM,1,240));
61            RETURN;
62 
63 END INSERT_ROW;
64 
65 
66 -- --------------------------------------------------------------------------
67 --  PROCEDURE
68 --      Lock_Row
69 --  PURPOSE
70 --      This procedure determines if a row in the pa_role_controls table can
71 --      be locked. If a row can be locked, this API returns (S)uccess for
72 --      x_return_status.
73 --
74 --  HISTORY
75 --      08-AUG-00		jwhite		Created
76 --
77 
78 PROCEDURE LOCK_ROW (
79  P_ROWID                        IN OUT     NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
80  P_RECORD_VERSION_NUMBER        IN         NUMBER,
81  X_RETURN_STATUS                OUT        NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
82  X_MSG_COUNT                    OUT        NOCOPY NUMBER, --File.Sql.39 bug 4440895
83  X_MSG_DATA                     OUT        NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
84 ) IS
85 
86 
87 BEGIN
88 
89   -- Initialize the Error Stack
90         PA_DEBUG.init_err_stack('PA_ROLE_CONTROLS_PVT.Lock_Row');
91         x_msg_count := 0;
92         x_msg_data  := NULL;
93 
94   -- Initialize the return status to success
95         x_return_status := FND_API.G_RET_STS_SUCCESS;
96 
97         PA_ROLE_CONTROLS_PKG.LOCK_ROW
98         (X_ROWID                  => P_ROWID,
99          X_RECORD_VERSION_NUMBER  => P_RECORD_VERSION_NUMBER
100          );
101 
102   -- Reset the Error Stack
103         PA_DEBUG.reset_err_stack;
104 
105         EXCEPTION
106         WHEN OTHERS THEN
107           x_msg_count := 1;
108           x_msg_data  := substr(SQLERRM,1,240);
109           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
110           FND_MSG_PUB.add_exc_msg
111           (p_pkg_name => 'PA_ROLE_CONTROLS_PVT'
112            , p_procedure_name => PA_DEBUG.G_Err_Stack
113            , p_error_text => substr(SQLERRM,1,240));
114            RETURN;
115 
116 END LOCK_ROW;
117 
118 -- -------------------------------------------------------------------------
119 --  PROCEDURE
120 --      Update_Row
121 --  PURPOSE
122 --      This procedure updates a row in the pa_role_controls table.
123 --
124 --  HISTORY
125 --      08-AUG-00		jwhite		Created
126 
127 PROCEDURE UPDATE_ROW (
128  P_ROWID                        IN OUT     NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
129  P_ROLE_CONTROL_CODE            IN         VARCHAR2,
130  P_PROJECT_ROLE_ID              IN         NUMBER,
131  P_LAST_UPDATE_DATE             IN         DATE,
132  P_LAST_UPDATED_BY              IN         NUMBER,
133  P_CREATION_DATE                IN         DATE,
134  P_CREATED_BY                   IN         NUMBER,
135  P_LAST_UPDATE_LOGIN            IN         NUMBER,
136  X_RETURN_STATUS                OUT        NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
137  X_MSG_COUNT                    OUT        NOCOPY NUMBER, --File.Sql.39 bug 4440895
138  X_MSG_DATA                     OUT        NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
139 ) IS
140 
141 BEGIN
142 
143   -- Initialize the Error Stack
144         PA_DEBUG.init_err_stack('PA_ROLE_CONTROLS_PVT.Update_Row');
145         x_msg_count := 0;
146         x_msg_data  := NULL;
147 
148   -- Initialize the return status to success
149         x_return_status := FND_API.G_RET_STS_SUCCESS;
150 
151         PA_ROLE_CONTROLS_PKG.UPDATE_ROW
152         (X_ROWID                       => P_ROWID,
153          X_ROLE_CONTROL_CODE           => P_ROLE_CONTROL_CODE,
154          X_PROJECT_ROLE_ID             => P_PROJECT_ROLE_ID,
155          X_LAST_UPDATE_DATE            => P_LAST_UPDATE_DATE,
156          X_LAST_UPDATED_BY             => P_LAST_UPDATED_BY,
157          X_CREATION_DATE               => P_CREATION_DATE,
158          X_CREATED_BY                  => P_CREATED_BY,
159          X_LAST_UPDATE_LOGIN           => P_LAST_UPDATE_LOGIN
160          );
161 
162   -- Reset the Error Stack
163         PA_DEBUG.reset_err_stack;
164 
165         EXCEPTION
166         WHEN OTHERS THEN
167           x_msg_count := 1;
168           x_msg_data  := substr(SQLERRM,1,240);
169           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
170           FND_MSG_PUB.add_exc_msg
171           (p_pkg_name => 'PA_ROLE_CONTROLS_PVT'
172            , p_procedure_name => PA_DEBUG.G_Err_Stack
173            , p_error_text => substr(SQLERRM,1,240));
174            RETURN;
175 
176 END UPDATE_ROW;
177 
178 
179 -- ---------------------------------------------------------------------
180 --  PROCEDURE
181 --      Delete_Row
182 --  PURPOSE
183 --      This procedure deletes a row in the pa_role_controls table.
184 --
185 --      This procedure first calls the Check_Remove_Control_OK utils procedure.
186 --      If the role is OK to purge, then this procedure calls the
187 --      table handler Delete_Row procedure.
188 --
189 --      If a row is deleted, this API returns (S)uccess for the
190 --      x_return_status.
191 --
192 --  HISTORY
193 --      08-AUG-00		jwhite		Created
194 --
195 
196 PROCEDURE DELETE_ROW (
197  P_ROWID                        IN         VARCHAR2,
198  X_RETURN_STATUS                OUT        NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
199  X_MSG_COUNT                    OUT        NOCOPY NUMBER, --File.Sql.39 bug 4440895
200  X_MSG_DATA                     OUT        NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
201 )
202 IS
203    l_rowid ROWID;
204    l_project_role_id     pa_role_controls.project_role_id%TYPE :=NULL;
205    l_role_control_code   pa_role_controls.role_control_code%TYPE :=NULL;
206    l_return_status       VARCHAR2(1)  := NULL;
207    l_error_message_code  VARCHAR2(30) := NULL;
208 
209 BEGIN
210 
211         l_rowid := p_rowid;
212 
213   -- Initialize the Error Stack
214         PA_DEBUG.init_err_stack('PA_ROLE_CONTROLS_PVT.Delete_Row');
215         x_msg_count := 0;
216         x_msg_data  := NULL;
217 
218   -- Initialize the return status to success
219         x_return_status := FND_API.G_RET_STS_SUCCESS;
220 
221   -- Check if OK to Delete the Project Role Id for the P_Rowid IN Parameter
222 
223                 SELECT project_role_id, role_control_code
224                 INTO   l_project_role_id, l_role_control_code
225                 FROM   pa_role_controls
226                 WHERE  rowid = l_rowid;
227 
228                 PA_ROLE_UTILS.Check_remove_control_ok
229                 (p_role_id             => l_project_role_id,
230                  p_role_control_code   => l_role_control_code,
231                  x_return_status       => l_return_status,
232                  x_error_message_code  => l_error_message_code
233                 );
234 
235                 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS)
236                 THEN
237                 	x_msg_count := 1;
238                         x_msg_data  := l_error_message_code;
239                         x_return_status := l_return_status;
240                         FND_MSG_PUB.add_exc_msg
241                         (p_pkg_name => 'PA_ROLE_CONTROLS_PVT'
242                         , p_procedure_name => PA_DEBUG.G_Err_Stack
243                         , p_error_text => l_error_message_code);
244                         RETURN;
245                 END IF;
246 
247 
248   -- Delete Role
249         PA_ROLE_CONTROLS_PKG.DELETE_ROW
250         ( X_ROWID         =>  P_ROWID
251         );
252 
253   -- Reset the Error Stack
254         PA_DEBUG.reset_err_stack;
255 
256         EXCEPTION
257         WHEN OTHERS THEN
258           x_msg_count := 1;
259           x_msg_data  := substr(SQLERRM,1,240);
260           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
261           FND_MSG_PUB.add_exc_msg
262           (p_pkg_name => 'PA_ROLE_CONTROLS_PVT'
263            , p_procedure_name => PA_DEBUG.G_Err_Stack
264            , p_error_text => substr(SQLERRM,1,240));
265            RETURN;
266 
267 END Delete_Row;
268 
269 
270 END pa_role_controls_pvt;