[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;