[Home] [Help]
PACKAGE BODY: APPS.CSC_PROF_MODULE_GROUPS_PVT
Source
1 PACKAGE BODY CSC_PROF_MODULE_GROUPS_PVT as
2 /* $Header: cscvpmgb.pls 115.23 2003/02/18 23:33:08 agaddam ship $ */
3 -- Start of Comments
4 -- Package name : CSC_PROF_MODULE_GROUPS_PVT
5 -- Purpose :
6 -- History :
7 -- 26 Nov 02 JAmose Addition of NOCOPY and the Removal of Fnd_Api.G_MISS*
8 -- from the definition for the performance reason
9 -- NOTE :
10 -- End of Comments
11
12
13 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSC_PROF_MODULE_GROUPS_PVT';
14 G_FILE_NAME CONSTANT VARCHAR2(12) := 'cscvpmgb.pls';
15
16 l_dummy VARCHAR2(100);
17
18
19 PROCEDURE Convert_Columns_to_Rec (
20 p_MODULE_GROUP_ID NUMBER DEFAULT NULL,
21 p_FORM_FUNCTION_ID NUMBER,
22 p_FORM_FUNCTION_NAME VARCHAR2,
23 p_RESPONSIBILITY_ID NUMBER,
24 p_RESP_APPL_ID NUMBER,
25 p_PARTY_TYPE VARCHAR2,
26 p_GROUP_ID NUMBER,
27 p_DASHBOARD_GROUP_FLAG VARCHAR2,
28 p_CURRENCY_CODE VARCHAR2,
29 p_LAST_UPDATE_DATE DATE,
30 p_LAST_UPDATED_BY NUMBER,
31 p_CREATION_DATE DATE,
32 p_CREATED_BY NUMBER,
33 p_LAST_UPDATE_LOGIN NUMBER,
34 p_SEEDED_FLAG VARCHAR2,
35 p_APPLICATION_ID NUMBER,
36 p_DASHBOARD_GROUP_ID NUMBER,
37 x_PROF_MODULE_GRP_Rec OUT NOCOPY PROF_MODULE_GRP_Rec_Type )
38 IS
39 BEGIN
40
41 x_PROF_MODULE_GRP_rec.MODULE_GROUP_ID := P_MODULE_GROUP_ID;
42 x_PROF_MODULE_GRP_rec.FORM_FUNCTION_ID := P_FORM_FUNCTION_ID;
43 x_PROF_MODULE_GRP_rec.FORM_FUNCTION_NAME := P_FORM_FUNCTION_NAME;
44 x_PROF_MODULE_GRP_rec.RESPONSIBILITY_ID := P_RESPONSIBILITY_ID;
45 x_PROF_MODULE_GRP_rec.RESP_APPL_ID := P_RESP_APPL_ID;
46 x_PROF_MODULE_GRP_rec.PARTY_TYPE := P_PARTY_TYPE;
47 x_PROF_MODULE_GRP_rec.GROUP_ID := P_GROUP_ID;
48 x_PROF_MODULE_GRP_rec.DASHBOARD_GROUP_FLAG := P_DASHBOARD_GROUP_FLAG;
49 x_PROF_MODULE_GRP_rec.CURRENCY_CODE := P_CURRENCY_CODE;
50 x_PROF_MODULE_GRP_rec.LAST_UPDATE_DATE := P_LAST_UPDATE_DATE;
51 x_PROF_MODULE_GRP_rec.LAST_UPDATED_BY := P_LAST_UPDATED_BY;
52 x_PROF_MODULE_GRP_rec.CREATION_DATE := P_CREATION_DATE;
53 x_PROF_MODULE_GRP_rec.CREATED_BY := P_CREATED_BY;
54 x_PROF_MODULE_GRP_rec.LAST_UPDATE_LOGIN := P_LAST_UPDATE_LOGIN;
55 x_PROF_MODULE_GRP_rec.SEEDED_FLAG:=P_SEEDED_FLAG;
56 x_PROF_MODULE_GRP_rec.APPLICATION_ID:=P_APPLICATION_ID;
57 x_PROF_MODULE_GRP_rec.DASHBOARD_GROUP_ID := P_DASHBOARD_GROUP_ID;
58
59 END Convert_Columns_to_Rec;
60
61
62 PROCEDURE Create_prof_module_groups(
63 P_Api_Version_Number IN NUMBER,
64 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
65 P_Commit IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
66 p_validation_level IN NUMBER := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
67 PX_MODULE_GROUP_ID IN OUT NOCOPY NUMBER,
68 p_FORM_FUNCTION_ID NUMBER,
69 p_FORM_FUNCTION_NAME VARCHAR2,
70 p_RESPONSIBILITY_ID NUMBER,
71 p_RESP_APPL_ID NUMBER,
72 p_PARTY_TYPE VARCHAR2,
73 p_GROUP_ID NUMBER,
74 p_DASHBOARD_GROUP_FLAG VARCHAR2,
75 p_CURRENCY_CODE VARCHAR2,
76 p_LAST_UPDATE_DATE DATE,
77 p_LAST_UPDATED_BY NUMBER,
78 p_CREATION_DATE DATE,
79 p_CREATED_BY NUMBER,
80 p_LAST_UPDATE_LOGIN NUMBER,
81 p_SEEDED_FLAG VARCHAR2,
82 p_APPLICATION_ID NUMBER,
83 p_DASHBOARD_GROUP_ID NUMBER,
84 X_Return_Status OUT NOCOPY VARCHAR2,
85 X_Msg_Count OUT NOCOPY NUMBER,
86 X_Msg_Data OUT NOCOPY VARCHAR2
87 )
88 IS
89 l_PROF_MODULE_GRP_REC PROF_MODULE_GRP_REC_TYPE;
90 BEGIN
91
92 Convert_Columns_to_Rec (
93 p_MODULE_GROUP_ID => PX_MODULE_GROUP_ID,
94 p_FORM_FUNCTION_ID => p_FORM_FUNCTION_ID,
95 p_FORM_FUNCTION_NAME => p_FORM_FUNCTION_NAME,
96 p_RESPONSIBILITY_ID => p_RESPONSIBILITY_ID,
97 p_RESP_APPL_ID => p_RESP_APPL_ID,
98 p_PARTY_TYPE => p_PARTY_TYPE,
99 p_GROUP_ID => p_GROUP_ID,
100 p_DASHBOARD_GROUP_FLAG => p_DASHBOARD_GROUP_FLAG,
101 p_CURRENCY_CODE => p_CURRENCY_CODE,
102 p_LAST_UPDATE_DATE => p_LAST_UPDATE_DATE,
103 p_LAST_UPDATED_BY => p_LAST_UPDATED_BY,
104 p_CREATION_DATE => p_CREATION_DATE,
105 p_CREATED_BY => p_CREATED_BY,
106 p_LAST_UPDATE_LOGIN => p_LAST_UPDATE_LOGIN,
107 p_SEEDED_FLAG => p_SEEDED_FLAG,
108 p_APPLICATION_ID => p_APPLICATION_ID,
109 p_DASHBOARD_GROUP_ID => p_DASHBOARD_GROUP_ID,
110 x_PROF_MODULE_GRP_Rec => l_PROF_MODULE_GRP_Rec );
111
112
113 Create_prof_module_groups(
114 P_Api_Version_Number => P_Api_Version_Number,
115 P_Init_Msg_List => P_Init_Msg_List,
116 P_Commit => P_Commit,
117 p_validation_level => p_validation_level,
118 P_PROF_MODULE_GRP_Rec => l_PROF_MODULE_GRP_Rec,
119 PX_MODULE_GROUP_ID => PX_MODULE_GROUP_ID,
120 X_Return_Status => X_Return_Status,
121 X_Msg_Count => X_Msg_Count,
122 X_Msg_Data => X_Msg_Data
123 );
124
125 END Create_prof_module_groups;
126
127 PROCEDURE Create_prof_module_groups(
128 P_Api_Version_Number IN NUMBER,
129 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
130 P_Commit IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
131 p_validation_level IN NUMBER := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
132 P_PROF_MODULE_GRP_Rec IN PROF_MODULE_GRP_Rec_Type := G_MISS_PROF_MODULE_GRP_REC,
133 PX_MODULE_GROUP_ID IN OUT NOCOPY NUMBER,
134 X_Return_Status OUT NOCOPY VARCHAR2,
135 X_Msg_Count OUT NOCOPY NUMBER,
136 X_Msg_Data OUT NOCOPY VARCHAR2
137 )
138
139 IS
140 l_api_name CONSTANT VARCHAR2(30) := 'Create_prof_module_groups';
141 l_api_version_number CONSTANT NUMBER := 1.0;
142 l_return_status_full VARCHAR2(1);
143 BEGIN
144 -- Standard Start of API savepoint
145 SAVEPOINT CREATE_PROF_MODULE_GROUPS_PVT;
146
147 -- Standard call to check for call compatibility.
148 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
149 p_api_version_number,
150 l_api_name,
151 G_PKG_NAME)
152 THEN
153 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
154 END IF;
155
156
157 -- Initialize message list if p_init_msg_list is set to TRUE.
158 IF FND_API.to_Boolean( p_init_msg_list )
159 THEN
160 FND_MSG_PUB.initialize;
161 END IF;
162
163
164 -- Initialize API return status to SUCCESS
165 x_return_status := FND_API.G_RET_STS_SUCCESS;
166
167 --
168 -- API body
169 --
170
171
172 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
173 THEN
174
175 -- Invoke validation procedures
176 Validate_prof_module_groups(
177 p_init_msg_list => CSC_CORE_UTILS_PVT.G_FALSE,
178 p_validation_level => p_validation_level,
179 p_validation_mode => CSC_CORE_UTILS_PVT.G_CREATE,
180 P_PROF_MODULE_GRP_Rec => P_PROF_MODULE_GRP_Rec,
181 x_return_status => x_return_status,
182 x_msg_count => x_msg_count,
183 x_msg_data => x_msg_data);
184 END IF;
185
186 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
187 RAISE FND_API.G_EXC_ERROR;
188 END IF;
189
190 -- Invoke table handler(CSC_PROF_MODULE_GROUPS_PKG.Insert_Row)
191 CSC_PROF_MODULE_GROUPS_PKG.Insert_Row(
192 px_MODULE_GROUP_ID => px_MODULE_GROUP_ID,
193 p_FORM_FUNCTION_ID => p_PROF_MODULE_GRP_rec.FORM_FUNCTION_ID,
194 p_FORM_FUNCTION_NAME => p_PROF_MODULE_GRP_rec.FORM_FUNCTION_NAME,
195 p_RESPONSIBILITY_ID => p_PROF_MODULE_GRP_rec.RESPONSIBILITY_ID,
196 p_RESP_APPL_ID => p_PROF_MODULE_GRP_rec.RESP_APPL_ID,
197 p_PARTY_TYPE => p_PROF_MODULE_GRP_rec.PARTY_TYPE,
198 p_GROUP_ID => p_PROF_MODULE_GRP_rec.GROUP_ID,
199 p_DASHBOARD_GROUP_FLAG => p_PROF_MODULE_GRP_rec.DASHBOARD_GROUP_FLAG,
200 p_CURRENCY_CODE => p_PROF_MODULE_GRP_rec.CURRENCY_CODE,
201 p_LAST_UPDATE_DATE => SYSDATE,
202 p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
203 p_CREATION_DATE => SYSDATE,
204 p_CREATED_BY => FND_GLOBAL.USER_ID,
205 p_LAST_UPDATE_LOGIN => p_PROF_MODULE_GRP_rec.LAST_UPDATE_LOGIN,
206 p_SEEDED_FLAG => p_PROF_MODULE_GRP_rec.SEEDED_FLAG,
207 p_APPLICATION_ID => p_PROF_MODULE_GRP_rec.APPLICATION_ID,
208 p_DASHBOARD_GROUP_ID => p_PROF_MODULE_GRP_rec.DASHBOARD_GROUP_ID);
209
210 -- x_MODULE_GROUP_ID := px_MODULE_GROUP_ID;
211
212 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
213 RAISE FND_API.G_EXC_ERROR;
214 END IF;
215
216 --
217 -- End of API body
218 --
219
220 -- Standard check for p_commit
221 IF FND_API.to_Boolean( p_commit )
222 THEN
223 COMMIT WORK;
224 END IF;
225
226
227 -- Standard call to get message count and if count is 1, get message info.
228 FND_MSG_PUB.Count_And_Get
229 ( p_count => x_msg_count,
230 p_data => x_msg_data
231 );
232
233 EXCEPTION
234 WHEN FND_API.G_EXC_ERROR THEN
235 ROLLBACK TO CREATE_PROF_MODULE_GROUPS_PVT;
236 x_return_status := FND_API.G_RET_STS_ERROR;
237 APP_EXCEPTION.RAISE_EXCEPTION;
238
239 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
240 ROLLBACK TO CREATE_PROF_MODULE_GROUPS_PVT;
241 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
242 APP_EXCEPTION.RAISE_EXCEPTION;
243
244 WHEN OTHERS THEN
245 ROLLBACK TO CREATE_PROF_MODULE_GROUPS_PVT;
246 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
247 FND_MSG_PUB.Build_Exc_Msg;
248 APP_EXCEPTION.RAISE_EXCEPTION;
249 End Create_prof_module_groups;
250
251
252 PROCEDURE Update_prof_module_groups(
253 P_Api_Version_Number IN NUMBER,
254 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
255 P_Commit IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
256 p_validation_level IN NUMBER := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
257 P_MODULE_GROUP_ID NUMBER,
258 p_FORM_FUNCTION_ID NUMBER,
259 p_FORM_FUNCTION_NAME VARCHAR2,
260 p_RESPONSIBILITY_ID NUMBER,
261 p_RESP_APPL_ID NUMBER,
262 p_PARTY_TYPE VARCHAR2,
263 p_GROUP_ID NUMBER,
264 p_DASHBOARD_GROUP_FLAG VARCHAR2,
265 p_CURRENCY_CODE VARCHAR2,
266 p_LAST_UPDATE_DATE DATE,
267 p_LAST_UPDATED_BY NUMBER,
268 p_CREATION_DATE DATE DEFAULT NULL,
269 p_CREATED_BY NUMBER DEFAULT NULL,
270 p_LAST_UPDATE_LOGIN NUMBER,
271 p_SEEDED_FLAG VARCHAR2,
272 p_APPLICATION_ID NUMBER,
273 p_DASHBOARD_GROUP_ID NUMBER,
274 X_Return_Status OUT NOCOPY VARCHAR2,
275 X_Msg_Count OUT NOCOPY NUMBER,
276 X_Msg_Data OUT NOCOPY VARCHAR2
277 )
278 IS
279 l_PROF_MODULE_GRP_REC PROF_MODULE_GRP_REC_TYPE;
280 BEGIN
281
282 -- Added by anand for bug 1334616 (p_module_group_id)
283 Convert_Columns_to_Rec (
284 p_MODULE_GROUP_ID => p_MODULE_GROUP_ID,
285 p_FORM_FUNCTION_ID => p_FORM_FUNCTION_ID,
286 p_FORM_FUNCTION_NAME => p_FORM_FUNCTION_NAME,
287 p_RESPONSIBILITY_ID => p_RESPONSIBILITY_ID,
288 p_RESP_APPL_ID => p_RESP_APPL_ID,
289 p_PARTY_TYPE => p_PARTY_TYPE,
290 p_GROUP_ID => p_GROUP_ID,
291 p_DASHBOARD_GROUP_FLAG => p_DASHBOARD_GROUP_FLAG,
292 p_CURRENCY_CODE => p_CURRENCY_CODE,
293 p_LAST_UPDATE_DATE => p_LAST_UPDATE_DATE,
294 p_LAST_UPDATED_BY => p_LAST_UPDATED_BY,
295 p_CREATION_DATE => p_CREATION_DATE,
296 p_CREATED_BY => p_CREATED_BY,
297 p_LAST_UPDATE_LOGIN => p_LAST_UPDATE_LOGIN,
298 p_SEEDED_FLAG => p_SEEDED_FLAG,
299 p_APPLICATION_ID => p_APPLICATION_ID,
300 p_DASHBOARD_GROUP_ID => p_DASHBOARD_GROUP_ID,
301 x_PROF_MODULE_GRP_Rec => l_PROF_MODULE_GRP_Rec );
302
303
304 Update_prof_module_groups(
305 P_Api_Version_Number => P_Api_Version_Number,
306 P_Init_Msg_List => P_Init_Msg_List,
307 P_Commit => P_Commit,
308 p_validation_level => p_validation_level,
309 P_PROF_MODULE_GRP_Rec => l_PROF_MODULE_GRP_Rec,
310 X_Return_Status => X_Return_Status,
311 X_Msg_Count => X_Msg_Count,
312 X_Msg_Data => X_Msg_Data
313 );
314
315 END Update_prof_module_groups;
316
317
318 PROCEDURE Update_prof_module_groups(
319 P_Api_Version_Number IN NUMBER,
320 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
321 P_Commit IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
322 p_validation_level IN NUMBER := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
323 P_PROF_MODULE_GRP_Rec IN PROF_MODULE_GRP_Rec_Type,
324 X_Return_Status OUT NOCOPY VARCHAR2,
325 X_Msg_Count OUT NOCOPY NUMBER,
326 X_Msg_Data OUT NOCOPY VARCHAR2
327 )
328
329 IS
330
331 Cursor C_Get_prof_module_groups(c_MODULE_GROUP_ID Number) IS
332 Select rowid,
333 MODULE_GROUP_ID,
334 FORM_FUNCTION_ID,
335 FORM_FUNCTION_NAME,
336 RESPONSIBILITY_ID,
337 RESP_APPL_ID,
338 PARTY_TYPE,
339 GROUP_ID,
340 DASHBOARD_GROUP_FLAG,
341 CURRENCY_CODE,
342 LAST_UPDATE_DATE,
343 LAST_UPDATED_BY,
344 CREATION_DATE,
345 CREATED_BY,
346 LAST_UPDATE_LOGIN,
347 SEEDED_FLAG,
348 APPLICATION_ID,
349 DASHBOARD_GROUP_ID
350 From CSC_PROF_MODULE_GROUPS
351 Where module_group_id = c_module_group_id
352 For Update NOWAIT;
353 l_api_name CONSTANT VARCHAR2(30) := 'Update_prof_module_groups';
354 l_api_version_number CONSTANT NUMBER := 1.0;
355 -- Local Variables
356 l_old_PROF_MODULE_GRP_rec PROF_MODULE_GRP_Rec_Type;
357 l_PROF_MODULE_GRP_Rec PROF_MODULE_GRP_Rec_Type := p_PROF_MODULE_GRP_REC;
358 l_rowid ROWID;
359 BEGIN
360 -- Standard Start of API savepoint
361 SAVEPOINT UPDATE_PROF_MODULE_GROUPS_PVT;
362
363 -- Standard call to check for call compatibility.
364 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
365 p_api_version_number,
366 l_api_name,
367 G_PKG_NAME)
368 THEN
369 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
370 END IF;
371
372
373 -- Initialize message list if p_init_msg_list is set to TRUE.
374 IF FND_API.to_Boolean( p_init_msg_list )
375 THEN
376 FND_MSG_PUB.initialize;
377 END IF;
378
379
380
381 -- Initialize API return status to SUCCESS
382 x_return_status := FND_API.G_RET_STS_SUCCESS;
383
384 Open C_Get_prof_module_groups( P_PROF_MODULE_GRP_rec.MODULE_GROUP_ID);
385
386 Fetch C_Get_prof_module_groups into
387 l_rowid,
388 l_old_PROF_MODULE_GRP_rec.MODULE_GROUP_ID,
389 l_old_PROF_MODULE_GRP_rec.FORM_FUNCTION_ID,
390 l_old_PROF_MODULE_GRP_rec.FORM_FUNCTION_NAME,
391 l_old_PROF_MODULE_GRP_rec.RESPONSIBILITY_ID,
392 l_old_PROF_MODULE_GRP_rec.RESP_APPL_ID,
393 l_old_PROF_MODULE_GRP_rec.PARTY_TYPE,
394 l_old_PROF_MODULE_GRP_rec.GROUP_ID,
395 l_old_PROF_MODULE_GRP_rec.DASHBOARD_GROUP_FLAG,
396 l_old_PROF_MODULE_GRP_rec.CURRENCY_CODE,
397 l_old_PROF_MODULE_GRP_rec.LAST_UPDATE_DATE,
398 l_old_PROF_MODULE_GRP_rec.LAST_UPDATED_BY,
399 l_old_PROF_MODULE_GRP_rec.CREATION_DATE,
400 l_old_PROF_MODULE_GRP_rec.CREATED_BY,
401 l_old_PROF_MODULE_GRP_rec.LAST_UPDATE_LOGIN,
402 l_old_PROF_MODULE_GRP_rec.SEEDED_FLAG,
403 l_old_PROF_MODULE_GRP_rec.APPLICATION_ID,
404 l_old_PROF_MODULE_GRP_rec.DASHBOARD_GROUP_ID;
405
406 If ( C_Get_prof_module_groups%NOTFOUND) Then
407
408 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
409 THEN
410 CSC_CORE_UTILS_PVT.RECORD_IS_LOCKED_MSG(p_Api_Name => l_api_name);
411 END IF;
412 raise FND_API.G_EXC_ERROR;
413
414 END IF;
415 Close C_Get_prof_module_groups;
416
417 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
418 THEN
419 /*
420 IF p_prof_module_grp_rec.group_id = CSC_CORE_UTILS_PVT.G_MISS_NUM THEN
421 l_prof_module_grp_rec.group_id := l_old_prof_module_grp_rec.group_id;
422 END IF;
423 IF p_prof_module_grp_rec.dashboard_group_flag = CSC_CORE_UTILS_PVT.G_MISS_CHAR THEN
424 l_prof_module_grp_rec.dashboard_group_Flag := l_old_prof_module_grp_rec.dashboard_group_flag;
425 END IF;
426 IF p_prof_module_grp_rec.form_function_id = CSC_CORE_UTILS_PVT.G_MISS_NUM THEN
427 l_prof_module_grp_Rec.form_function_id := l_old_prof_module_grp_rec.form_function_id;
428 END IF;
429 IF p_prof_module_grp_rec.responsibility_id = CSC_CORE_UTILS_PVT.G_MISS_NUM THEN
430 l_prof_module_grp_rec.responsibility_id := l_old_prof_module_grp_rec.responsibility_id;
431 END IF;
432 IF p_prof_module_grp_rec.resp_appl_id = CSC_CORE_UTILS_PVT.G_MISS_NUM THEN
433 l_prof_module_grp_rec.resp_appl_id := l_old_prof_module_grp_rec.resp_appl_id;
434 END IF;
435 */
436 l_prof_module_grp_rec.group_id := CSC_CORE_UTILS_PVT.Get_G_Miss_Num(p_prof_module_grp_rec.group_id,l_old_prof_module_grp_rec.group_id);
437 l_prof_module_grp_rec.dashboard_group_Flag := CSC_CORE_UTILS_PVT.Get_G_Miss_Char(p_prof_module_grp_rec.dashboard_group_flag,l_old_prof_module_grp_rec.dashboard_group_flag);
438 l_prof_module_grp_Rec.form_function_id := CSC_CORE_UTILS_PVT.Get_G_Miss_Num(p_prof_module_grp_rec.form_function_id,l_old_prof_module_grp_rec.form_function_id);
439 l_prof_module_grp_rec.responsibility_id := CSC_CORE_UTILS_PVT.Get_G_Miss_Num(p_prof_module_grp_rec.responsibility_id,l_old_prof_module_grp_rec.responsibility_id);
440
441 l_prof_module_grp_rec.resp_appl_id := CSC_CORE_UTILS_PVT.Get_G_Miss_Num(p_prof_module_grp_rec.resp_appl_id,l_old_prof_module_grp_rec.resp_appl_id);
442
443 -- Invoke validation procedures
444 Validate_prof_module_groups(
445 p_init_msg_list => CSC_CORE_UTILS_PVT.G_FALSE,
446 p_validation_level => p_validation_level,
447 p_validation_mode => CSC_CORE_UTILS_PVT.G_UPDATE,
448 P_PROF_MODULE_GRP_Rec => l_PROF_MODULE_GRP_Rec,
449 x_return_status => x_return_status,
450 x_msg_count => x_msg_count,
451 x_msg_data => x_msg_data);
452 END IF;
453
454 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
455 RAISE FND_API.G_EXC_ERROR;
456 END IF;
457
458
459 -- Invoke table handler(CSC_PROF_MODULE_GROUPS_PKG.Update_Row)
460 CSC_PROF_MODULE_GROUPS_PKG.Update_Row(
461 p_MODULE_GROUP_ID =>csc_core_utils_pvt.Get_G_Miss_Num(p_PROF_MODULE_GRP_rec.MODULE_GROUP_ID,l_old_PROF_MODULE_GRP_rec.MODULE_GROUP_ID),
462 p_FORM_FUNCTION_ID =>csc_core_utils_pvt.Get_G_Miss_Num(p_PROF_MODULE_GRP_rec.FORM_FUNCTION_ID,l_old_PROF_MODULE_GRP_rec.FORM_FUNCTION_ID),
463 p_FORM_FUNCTION_NAME =>csc_core_utils_pvt.Get_G_Miss_Char(p_PROF_MODULE_GRP_rec.FORM_FUNCTION_NAME,l_old_PROF_MODULE_GRP_rec.FORM_FUNCTION_NAME),
464 p_RESPONSIBILITY_ID =>csc_core_utils_pvt.Get_G_Miss_Num(p_PROF_MODULE_GRP_rec.RESPONSIBILITY_ID,l_old_PROF_MODULE_GRP_rec.RESPONSIBILITY_ID),
465 p_RESP_APPL_ID =>csc_core_utils_pvt.Get_G_Miss_Num(p_PROF_MODULE_GRP_rec.RESP_APPL_ID,l_old_PROF_MODULE_GRP_rec.RESP_APPL_ID),
466 p_PARTY_TYPE =>csc_core_utils_pvt.Get_G_Miss_Char(p_PROF_MODULE_GRP_rec.PARTY_TYPE,l_old_PROF_MODULE_GRP_rec.PARTY_TYPE),
467 p_GROUP_ID =>csc_core_utils_pvt.Get_G_Miss_Num(p_PROF_MODULE_GRP_rec.GROUP_ID,l_old_PROF_MODULE_GRP_rec.GROUP_ID),
468 p_DASHBOARD_GROUP_FLAG =>csc_core_utils_pvt.Get_G_Miss_Char(p_PROF_MODULE_GRP_rec.DASHBOARD_GROUP_FLAG,l_old_PROF_MODULE_GRP_rec.DASHBOARD_GROUP_FLAG),
469 p_CURRENCY_CODE => csc_core_utils_pvt.Get_G_Miss_Char(p_PROF_MODULE_GRP_rec.CURRENCY_CODE,l_old_PROF_MODULE_GRP_rec.CURRENCY_CODE),
470 p_LAST_UPDATE_DATE => SYSDATE,
471 p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
472 p_LAST_UPDATE_LOGIN =>csc_core_utils_pvt.Get_G_Miss_Num(p_PROF_MODULE_GRP_rec.LAST_UPDATE_LOGIN,l_old_PROF_MODULE_GRP_rec.LAST_UPDATE_LOGIN),
473 p_SEEDED_FLAG => csc_core_utils_pvt.Get_G_Miss_Char(p_PROF_MODULE_GRP_rec.SEEDED_FLAG,l_old_PROF_MODULE_GRP_rec.SEEDED_FLAG),
474 p_APPLICATION_ID =>csc_core_utils_pvt.Get_G_Miss_Num(p_PROF_MODULE_GRP_rec.APPLICATION_ID,l_old_PROF_MODULE_GRP_rec.APPLICATION_ID),
475 p_DASHBOARD_GROUP_ID =>csc_core_utils_pvt.Get_G_Miss_Num(p_PROF_MODULE_GRP_rec.DASHBOARD_GROUP_ID,l_old_PROF_MODULE_GRP_rec.DASHBOARD_GROUP_ID));
476 --
477 -- End of API body.
478 --
479
480 -- Standard check for p_commit
481 IF FND_API.to_Boolean( p_commit )
482 THEN
483 COMMIT WORK;
484 END IF;
485
486
487 -- Standard call to get message count and if count is 1, get message info.
488 FND_MSG_PUB.Count_And_Get
489 ( p_count => x_msg_count,
490 p_data => x_msg_data
491 );
492
493 EXCEPTION
494 WHEN FND_API.G_EXC_ERROR THEN
495 ROLLBACK TO UPDATE_PROF_MODULE_GROUPS_PVT;
496 x_return_status := FND_API.G_RET_STS_ERROR;
497 APP_EXCEPTION.RAISE_EXCEPTION;
498
499 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
500 ROLLBACK TO UPDATE_PROF_MODULE_GROUPS_PVT;
501 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
502 APP_EXCEPTION.RAISE_EXCEPTION;
503
504 WHEN OTHERS THEN
505 ROLLBACK TO UPDATE_PROF_MODULE_GROUPS_PVT;
506 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
507 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
508 THEN
509 FND_MSG_PUB.Build_Exc_Msg(G_PKG_NAME, l_api_name);
510 END IF;
511 APP_EXCEPTION.RAISE_EXCEPTION;
512 End Update_prof_module_groups;
513
514
515 PROCEDURE Delete_prof_module_groups(
516 P_Api_Version_Number IN NUMBER,
517 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
518 P_Commit IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
519 p_validation_level IN NUMBER := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
520 P_PROF_MODULE_GRP_Id IN NUMBER,
521 X_Return_Status OUT NOCOPY VARCHAR2,
522 X_Msg_Count OUT NOCOPY NUMBER,
523 X_Msg_Data OUT NOCOPY VARCHAR2
524 )
525
526 IS
527 l_api_name CONSTANT VARCHAR2(30) := 'Delete_prof_module_groups';
528 l_api_version_number CONSTANT NUMBER := 1.0;
529 BEGIN
530 -- Standard Start of API savepoint
531 SAVEPOINT DELETE_PROF_MODULE_GROUPS_PVT;
532
533 -- Standard call to check for call compatibility.
534 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
535 p_api_version_number,
536 l_api_name,
537 G_PKG_NAME)
538 THEN
539 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
540 END IF;
541
542
543 -- Initialize message list if p_init_msg_list is set to TRUE.
544 IF FND_API.to_Boolean( p_init_msg_list )
545 THEN
546 FND_MSG_PUB.initialize;
547 END IF;
548
549
550 -- Initialize API return status to SUCCESS
551 x_return_status := FND_API.G_RET_STS_SUCCESS;
552
553 -- Invoke table handler(CSC_PROF_MODULE_GROUPS_PKG.Delete_Row)
554 CSC_PROF_MODULE_GROUPS_PKG.Delete_Row(
555 p_MODULE_GROUP_ID => p_PROF_MODULE_GRP_Id);
556 --
557 -- End of API body
558 --
559
560 -- Standard check for p_commit
561 IF FND_API.to_Boolean( p_commit )
562 THEN
563 COMMIT WORK;
564 END IF;
565
566
567
568 -- Standard call to get message count and if count is 1, get message info.
569 FND_MSG_PUB.Count_And_Get
570 ( p_count => x_msg_count,
571 p_data => x_msg_data
572 );
573
574 EXCEPTION
575 WHEN FND_API.G_EXC_ERROR THEN
576 ROLLBACK TO DELETE_PROF_MODULE_GROUPS_PVT;
577 x_return_status := FND_API.G_RET_STS_ERROR ;
578 APP_EXCEPTION.RAISE_EXCEPTION;
579
580 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
581 ROLLBACK TO DELETE_PROF_MODULE_GROUPS_PVT;
582 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
583 APP_EXCEPTION.RAISE_EXCEPTION;
584
585 WHEN OTHERS THEN
586 ROLLBACK TO DELETE_PROF_MODULE_GROUPS_PVT;
587 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
588 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
589 THEN
590 FND_MSG_PUB.Build_Exc_Msg(G_PKG_NAME,l_api_name);
591 END IF ;
592 APP_EXCEPTION.RAISE_EXCEPTION;
593 End Delete_prof_module_groups;
594
595
596
597 -- Item-level validation procedures
598 PROCEDURE Validate_MODULE_GROUP_ID (
599 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
600 P_Validation_mode IN VARCHAR2,
601 P_MODULE_GROUP_ID IN NUMBER,
602 X_Return_Status OUT NOCOPY VARCHAR2,
603 X_Msg_Count OUT NOCOPY NUMBER,
604 X_Msg_Data OUT NOCOPY VARCHAR2
605 )
606 IS
607 p_Api_Name VARCHAR2(100) := 'Validate_Module_Group_Id';
608 BEGIN
609
610 -- Initialize message list if p_init_msg_list is set to TRUE.
611 IF FND_API.to_Boolean( p_init_msg_list )
612 THEN
613 FND_MSG_PUB.initialize;
614 END IF;
615
616
617 -- Initialize API return status to SUCCESS
618 x_return_status := FND_API.G_RET_STS_SUCCESS;
619
620 -- validate NOT NULL column
621
622 IF(p_validation_mode = CSC_CORE_UTILS_PVT.G_CREATE)
623 THEN
624 -- Hint: Validate data
625 -- IF p_MODULE_GROUP_ID is not NULL and p_MODULE_GROUP_ID <> G_MISS_CHAR
626 -- verify if data is valid
627 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
628 NULL;
629 ELSIF(p_validation_mode = CSC_CORE_UTILS_PVT.G_UPDATE)
630 THEN
631 -- Hint: Validate data
632 -- IF p_MODULE_GROUP_ID <> G_MISS_CHAR
633 -- verify if data is valid
634 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
635 -- NULL;
636 IF(p_MODULE_GROUP_ID is NULL)
637 THEN
638 x_return_status := FND_API.G_RET_STS_ERROR;
639 END IF;
640 END IF;
641
642 -- Standard call to get message count and if count is 1, get message info.
643 FND_MSG_PUB.Count_And_Get
644 ( p_count => x_msg_count,
645 p_data => x_msg_data
646 );
647
648 END Validate_MODULE_GROUP_ID;
649
650
651 PROCEDURE Validate_RESPONSIBILITY_ID (
652 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
653 P_Validation_mode IN VARCHAR2,
654 P_RESPONSIBILITY_ID IN NUMBER,
655 P_RESP_APPL_ID IN NUMBER,
656 X_Return_Status OUT NOCOPY VARCHAR2,
657 X_Msg_Count OUT NOCOPY NUMBER,
658 X_Msg_Data OUT NOCOPY VARCHAR2
659 )
660 IS
661 p_Api_Name VARCHAR2(100) := 'Validate Responsibility';
662
663 Cursor C1 is
664 Select NULL
665 from fnd_responsibility_vl
666 where responsibility_id = p_responsibility_id
667 and application_id = p_resp_appl_id;
668
669 BEGIN
670
671
672 -- Initialize message list if p_init_msg_list is set to TRUE.
673 IF FND_API.to_Boolean( p_init_msg_list )
674 THEN
675 FND_MSG_PUB.initialize;
676 END IF;
677
678 -- Initialize API return status to SUCCESS
679 x_return_status := FND_API.G_RET_STS_SUCCESS;
680
681 IF p_RESPONSIBILITY_ID is not NULL and p_RESPONSIBILITY_ID <> CSC_CORE_UTILS_PVT.G_MISS_CHAR
682 THEN
683 Open C1;
684 Fetch C1 INTO l_dummy;
685 IF C1%NOTFOUND THEN
686 x_return_status := FND_API.G_RET_STS_ERROR;
687 CSC_CORE_UTILS_PVT.Add_Invalid_Argument_Msg(
688 p_api_name => p_api_name,
689 p_argument_value => p_Responsibility_id,
690 p_argument => 'P_RESPONSIBILITY_ID');
691 END IF;
692 Close C1;
693 END IF;
694
695 -- Standard call to get message count and if count is 1, get message info.
696 FND_MSG_PUB.Count_And_Get
697 ( p_count => x_msg_count,
698 p_data => x_msg_data
699 );
700
701
702 END Validate_Responsibility_id;
703
704
705 PROCEDURE Validate_FORM_FUNCTION_NAME (
706 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
707 P_Validation_mode IN VARCHAR2,
708 P_FORM_FUNCTION_NAME IN VARCHAR2,
709 X_Return_Status OUT NOCOPY VARCHAR2,
710 X_Msg_Count OUT NOCOPY NUMBER,
711 X_Msg_Data OUT NOCOPY VARCHAR2
712 )
713 IS
714 p_Api_Name VARCHAR2(100) := 'Validate Form Function Name';
715 Cursor C1 is
716 Select NULL
717 from fnd_form_functions
718 where function_name = p_form_function_name;
719
720 BEGIN
721
722
723 -- Initialize message list if p_init_msg_list is set to TRUE.
724 IF FND_API.to_Boolean( p_init_msg_list )
725 THEN
726 FND_MSG_PUB.initialize;
727 END IF;
728
729 -- Initialize API return status to SUCCESS
730 x_return_status := FND_API.G_RET_STS_SUCCESS;
731
732 IF p_FORM_FUNCTION_NAME is not NULL and p_FORM_FUNCTION_NAME <> CSC_CORE_UTILS_PVT.G_MISS_CHAR
733 THEN
734 Open C1;
735 Fetch C1 INTO l_dummy;
736 IF C1%NOTFOUND THEN
737 x_return_status := FND_API.G_RET_STS_ERROR;
738 CSC_CORE_UTILS_PVT.Add_Invalid_Argument_Msg(
739 p_api_name => p_api_name,
740 p_argument_value => p_form_function_name,
741 p_argument => 'P_FORM_FUNCTION_NAME');
742 END IF;
743 Close C1;
744 END IF;
745
746 -- Standard call to get message count and if count is 1, get message info.
747 FND_MSG_PUB.Count_And_Get
748 ( p_count => x_msg_count,
749 p_data => x_msg_data
750 );
751
752 END Validate_Form_Function_Name;
753
754 PROCEDURE Validate_FORM_FUNCTION_ID (
755 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
756 P_Validation_mode IN VARCHAR2,
757 P_FORM_FUNCTION_ID IN NUMBER,
758 X_Return_Status OUT NOCOPY VARCHAR2,
759 X_Msg_Count OUT NOCOPY NUMBER,
760 X_Msg_Data OUT NOCOPY VARCHAR2
761 )
762 IS
763 p_Api_Name VARCHAR2(100) := 'Validate Form Function Id';
764 Cursor C1 is
765 Select NULL
766 from fnd_form_functions
767 where function_id = p_form_function_id;
768
769 BEGIN
770
771 -- Initialize message list if p_init_msg_list is set to TRUE.
772 IF FND_API.to_Boolean( p_init_msg_list )
773 THEN
774 FND_MSG_PUB.initialize;
775 END IF;
776
777
778 -- Initialize API return status to SUCCESS
779 x_return_status := FND_API.G_RET_STS_SUCCESS;
780
781
782 IF p_FORM_FUNCTION_ID is not NULL and p_FORM_FUNCTION_ID <> CSC_CORE_UTILS_PVT.G_MISS_NUM
783 THEN
784 open C1;
785 fetch C1 INTO l_dummy;
786 if C1%NOTFOUND then
787 -- if the form_function_id is not valid its an invalid argument
788 x_return_status := FND_API.G_RET_STS_ERROR;
789 CSC_CORE_UTILS_PVT.Add_Invalid_Argument_Msg(
790 p_api_name => p_api_name,
791 p_argument_value => p_form_function_id,
792 p_argument => 'P_FORM_FUNCTION_ID');
793 end if;
794 close C1;
795 END IF;
796
797 -- Standard call to get message count and if count is 1, get message info.
798 FND_MSG_PUB.Count_And_Get
799 ( p_count => x_msg_count,
800 p_data => x_msg_data
801 );
802
803 END Validate_FORM_FUNCTION_ID;
804
805
806 PROCEDURE Validate_PARTY_TYPE (
807 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
808 P_Validation_mode IN VARCHAR2,
809 P_PARTY_TYPE IN VARCHAR2,
810 X_Return_Status OUT NOCOPY VARCHAR2,
811 X_Msg_Count OUT NOCOPY NUMBER,
812 X_Msg_Data OUT NOCOPY VARCHAR2
813 )
814 IS
815 p_Api_Name VARCHAR2(100) := 'Validate_Party_Type';
816 BEGIN
817
818 -- Initialize message list if p_init_msg_list is set to TRUE.
819 IF FND_API.to_Boolean( p_init_msg_list )
820 THEN
821 FND_MSG_PUB.initialize;
822 END IF;
823
824
825 -- Initialize API return status to SUCCESS
826 x_return_status := FND_API.G_RET_STS_SUCCESS;
827
828 IF(p_validation_mode = CSC_CORE_UTILS_PVT.G_CREATE)
829 THEN
830 -- Hint: Validate data
831 -- IF p_PARTY_TYPE is not NULL and p_PARTY_TYPE <> G_MISS_CHAR
832 -- verify if data is valid
833 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
834 IF p_PARTY_TYPE is not NULL and p_PARTY_TYPE <> CSC_CORE_UTILS_PVT.G_MISS_CHAR
835 THEN
836 IF p_PARTY_TYPE NOT IN ('ALL','GROUP','PERSON','ORGANIZATION') THEN
837 x_return_status := FND_API.G_RET_STS_ERROR;
838 CSC_CORE_UTILS_PVT.Add_Invalid_Argument_Msg(
839 p_api_name => p_api_name,
840 p_argument_value => p_PARTY_TYPE,
841 p_argument => 'P_PARTY_TYPE');
842 END IF;
843 END IF;
844 ELSIF(p_validation_mode = CSC_CORE_UTILS_PVT.G_UPDATE)
845 THEN
846 -- Hint: Validate data
847 -- IF p_PARTY_TYPE <> G_MISS_CHAR
848 -- verify if data is valid
849 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
850 IF p_PARTY_TYPE is not NULL and p_PARTY_TYPE <> CSC_CORE_UTILS_PVT.G_MISS_CHAR
851 THEN
852 IF p_PARTY_TYPE NOT IN ('ALL','GROUP','PERSON','ORGANIZATION') THEN
853 x_return_status := FND_API.G_RET_STS_ERROR;
854 CSC_CORE_UTILS_PVT.Add_Invalid_Argument_Msg(
855 p_api_name => p_api_name,
856 p_argument_value => p_PARTY_TYPE,
857 p_argument => 'P_PARTY_TYPE');
858 END IF;
859 END IF;
860 END IF;
861
862 -- Standard call to get message count and if count is 1, get message info.
863 FND_MSG_PUB.Count_And_Get
864 ( p_count => x_msg_count,
865 p_data => x_msg_data
866 );
867
868 END Validate_PARTY_TYPE;
869
870
871 PROCEDURE Validate_GROUP_ID (
872 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
873 P_Validation_mode IN VARCHAR2,
874 P_GROUP_ID IN NUMBER,
875 P_PARTY_TYPE IN VARCHAR2,
876 X_Return_Status OUT NOCOPY VARCHAR2,
877 X_Msg_Count OUT NOCOPY NUMBER,
878 X_Msg_Data OUT NOCOPY VARCHAR2
879 )
880 IS
881 p_Api_Name VARCHAR2(100) := 'Validate_Group_Id';
882 --keep an UNION fo r ALL party type..
883 Cursor C1 is
884 Select NULL
885 from csc_prof_groups_vl
886 where group_id = P_GROUP_ID
887 and party_type = p_party_type
888 and nvl(use_in_customer_dashboard,'Y') = 'N'
889 UNION
890 Select NULL
891 from csc_prof_groups_vl
892 where group_id = P_GROUP_ID
893 and party_type = 'ALL'
894 and nvl(use_in_customer_dashboard,'Y') = 'N';
895 BEGIN
896
897 -- Initialize message list if p_init_msg_list is set to TRUE.
898 IF FND_API.to_Boolean( p_init_msg_list )
899 THEN
900 FND_MSG_PUB.initialize;
901 END IF;
902
903
904 -- Initialize API return status to SUCCESS
905 x_return_status := FND_API.G_RET_STS_SUCCESS;
906
907 IF(p_validation_mode = CSC_CORE_UTILS_PVT.G_CREATE)
908 THEN
909 -- Hint: Validate data
910 -- IF p_GROUP_ID is not NULL and p_GROUP_ID <> G_MISS_CHAR
911 -- verify if data is valid
912 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
913 /* IF p_GROUP_ID = CSC_CORE_UTILS_PVT.G_MISS_NUM
914 THEN
915 x_return_status := FND_API.G_RET_STS_ERROR;
916 CSC_CORE_UTILS_PVT.mandatory_arg_error(
917 p_api_name => p_api_name,
918 p_argument => 'p_GROUP_ID',
919 p_argument_value => p_GROUP_ID);
920 */
921 IF p_GROUP_ID is not NULL and p_GROUP_ID <> CSC_CORE_UTILS_PVT.G_MISS_NUM
922 THEN
923 Open C1;
924 Fetch C1 into l_dummy;
925 IF C1%NOTFOUND THEN
926 x_return_status := FND_API.G_RET_STS_ERROR;
927 CSC_CORE_UTILS_PVT.Add_Invalid_Argument_Msg(
928 p_api_name => p_api_name,
929 p_argument_value => p_GROUP_ID,
930 p_argument => 'P_GROUP_ID' );
931 END IF;
932 CLOSE C1;
933 END IF;
934 ELSIF(p_validation_mode = CSC_CORE_UTILS_PVT.G_UPDATE)
935 THEN
936 -- Hint: Validate data
937 -- IF p_GROUP_ID <> G_MISS_CHAR
938 -- verify if data is valid
939 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
940 IF p_GROUP_ID is not NULL and p_GROUP_ID <> CSC_CORE_UTILS_PVT.G_MISS_NUM
941 THEN
942 Open C1;
943 Fetch C1 into l_dummy;
944 IF C1%NOTFOUND THEN
945 x_return_status := FND_API.G_RET_STS_ERROR;
946 CSC_CORE_UTILS_PVT.Add_Invalid_Argument_Msg(
947 p_api_name => p_api_name,
948 p_argument_value => p_GROUP_ID,
949 p_argument => 'P_GROUP_ID' );
950 END IF;
951 Close C1;
952 END IF;
953 END IF;
954
955 -- Standard call to get message count and if count is 1, get message info.
956 FND_MSG_PUB.Count_And_Get
957 ( p_count => x_msg_count,
958 p_data => x_msg_data
959 );
960
961 END Validate_GROUP_ID;
962
963
964 PROCEDURE Validate_DASHBOARD_GROUP_FLAG (
965 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
966 P_Validation_mode IN VARCHAR2,
967 P_DASHBOARD_GROUP_FLAG IN VARCHAR2,
968 X_Return_Status OUT NOCOPY VARCHAR2,
969 X_Msg_Count OUT NOCOPY NUMBER,
970 X_Msg_Data OUT NOCOPY VARCHAR2
971 )
972 IS
973 p_Api_Name VARCHAR2(100) := 'Validate_Dashboard_Group_Flag';
974 BEGIN
975
976 null;
977 /*
978 -- Initialize message list if p_init_msg_list is set to TRUE.
979 IF FND_API.to_Boolean( p_init_msg_list )
980 THEN
981 FND_MSG_PUB.initialize;
982 END IF;
983
984
985 -- Initialize API return status to SUCCESS
986 x_return_status := FND_API.G_RET_STS_SUCCESS;
987
988 -- validate NOT NULL column
989 IF(p_DASHBOARD_GROUP_FLAG is NULL)
990 THEN
991 x_return_status := FND_API.G_RET_STS_ERROR;
992 CSC_CORE_UTILS_PVT.mandatory_arg_error(
993 p_api_name => p_api_name,
994 p_argument => 'P_DASHBOARD_GROUP_FLAG',
995 p_argument_value => p_dashboard_group_flag);
996 END IF;
997
998 IF(p_validation_mode = CSC_CORE_UTILS_PVT.G_CREATE)
999 THEN
1000 -- Hint: Validate data
1001 -- IF p_DASHBOARD_GROUP_FLAG is not NULL and p_DASHBOARD_GROUP_FLAG <> G_MISS_CHAR
1002 -- verify if data is valid
1003 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1004 IF p_DASHBOARD_GROUP_FLAG is not NULL AND
1005 p_DASHBOARD_GROUP_FLAG <> CSC_CORE_UTILS_PVT.G_MISS_CHAR
1006 THEN
1007 IF p_DASHBOARD_GROUP_FLAG NOT IN ('Y','N')
1008 THEN
1009 x_return_status := FND_API.G_RET_STS_ERROR;
1010 CSC_CORE_UTILS_PVT.Add_Invalid_Argument_Msg(
1011 p_api_name => p_api_name,
1012 p_argument_value => p_dashboard_group_flag,
1013 p_argument => 'P_DASHBOARD_GROUP_FLAG');
1014 END IF;
1015 END IF;
1016 ELSIF(p_validation_mode = CSC_CORE_UTILS_PVT.G_UPDATE)
1017 THEN
1018 IF p_DASHBOARD_GROUP_FLAG IS NOT NULL AND
1019 p_DASHBOARD_GROUP_FLAG <> CSC_CORE_UTILS_PVT.G_MISS_CHAR
1020 THEN
1021 IF p_DASHBOARD_GROUP_FLAG NOT IN ('Y','N')
1022 THEN
1023 x_return_status := FND_API.G_RET_STS_ERROR;
1024 CSC_CORE_UTILS_PVT.Add_Invalid_Argument_Msg(
1025 p_api_name => p_api_name,
1026 p_argument_value => p_dashboard_group_flag,
1027 p_argument => 'P_Dashboard_Group_Flag');
1028 END IF;
1029 END IF;
1030 END IF;
1031
1032
1033 -- Standard call to get message count and if count is 1, get message info.
1034 FND_MSG_PUB.Count_And_Get
1035 ( p_count => x_msg_count,
1036 p_data => x_msg_data
1037 );
1038 */
1039
1040 END Validate_DASHBOARD_GROUP_FLAG;
1041
1042
1043 PROCEDURE Validate_CURRENCY_CODE (
1044 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
1045 P_Validation_mode IN VARCHAR2,
1046 P_CURRENCY_CODE IN VARCHAR2,
1047 X_Return_Status OUT NOCOPY VARCHAR2,
1048 X_Msg_Count OUT NOCOPY NUMBER,
1049 X_Msg_Data OUT NOCOPY VARCHAR2
1050 )
1051 IS
1052 p_Api_Name VARCHAR2(100) := 'Validate_Currency_Code';
1053 BEGIN
1054
1055 -- Initialize message list if p_init_msg_list is set to TRUE.
1056 IF FND_API.to_Boolean( p_init_msg_list )
1057 THEN
1058 FND_MSG_PUB.initialize;
1059 END IF;
1060
1061
1062 -- Initialize API return status to SUCCESS
1063 x_return_status := FND_API.G_RET_STS_SUCCESS;
1064
1065 IF (p_currency_Code <> CSC_CORE_UTILS_PVT.G_MISS_CHAR ) AND
1066 p_currency_code IS NOT NULL
1067 THEN
1068 IF CSC_CORE_UTILS_PVT.Currency_code_not_exists(
1069 p_effective_date => sysdate,
1070 p_currency_code => p_currency_code ) <> FND_API.G_RET_STS_SUCCESS
1071 THEN
1072
1073 x_return_status := FND_API.G_RET_STS_ERROR;
1074 CSC_CORE_UTILS_PVT.Add_Invalid_Argument_Msg(
1075 p_api_name => p_api_name,
1076 p_argument_value => p_currency_code,
1077 p_argument => 'P_CURRENCY_CODE');
1078
1079 END IF;
1080 END IF;
1081 -- Standard call to get message count and if count is 1, get message info.
1082 FND_MSG_PUB.Count_And_Get
1083 ( p_count => x_msg_count,
1084 p_data => x_msg_data
1085 );
1086
1087 END Validate_CURRENCY_CODE;
1088
1089
1090 PROCEDURE Validate_PROF_MODULE_GRP_Rec(
1091 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
1092 P_Validation_mode IN VARCHAR2,
1093 P_PROF_MODULE_GRP_Rec IN PROF_MODULE_GRP_Rec_Type,
1094 X_Return_Status OUT NOCOPY VARCHAR2,
1095 X_Msg_Count OUT NOCOPY NUMBER,
1096 X_Msg_Data OUT NOCOPY VARCHAR2
1097 )
1098 IS
1099 p_Api_Name VARCHAR2(100) := 'Validate_PROF_MODULE_GRP_Rec';
1100 l_function_name VARCHAR2(240);
1101 l_group_flag VARCHAR2(240);
1102 X NUMBER;
1103
1104 Cursor C1(c_form_function_id number) is
1105 Select function_name
1106 from fnd_form_functions
1107 where function_id = c_form_function_id;
1108 /*
1109 Cursor C2 (c_group_id number) is
1110 Select use_in_customer_dashboard
1111 from csc_prof_groups_vl
1112 where group_id = c_group_id;
1113 */
1114
1115 /* BUG 1806606 - SRP2:PREFERENCES- MULTI-RECORDS (SAME TYPE) CAN BE SAVED
1116 FOR MODULE W/O PROBLEM- to solve this problem this cursor is added*/
1117
1118 Cursor C3(c_form_function_name varchar2 ,c_party_type varchar2,
1119 c_resp_id number, c_resp_appl_id number ) is
1120 select count(*) from csc_prof_module_groups
1121 where form_function_name=c_form_function_name
1122 and party_type=c_party_type
1123 and responsibility_id = c_resp_id
1124 and resp_appl_id = c_resp_appl_id;
1125
1126 Cursor C4(c_form_function_name varchar2 ,c_party_type varchar2,
1127 c_resp_id number, c_resp_appl_id number, c_mod_grp_id number ) is
1128 select count(*) from csc_prof_module_groups
1129 where form_function_name=c_form_function_name
1130 and party_type=c_party_type
1131 and responsibility_id = c_resp_id
1132 and resp_appl_id = c_resp_appl_id
1133 and module_group_id <> c_mod_grp_id;
1134
1135 BEGIN
1136
1137 -- Initialize message list if p_init_msg_list is set to TRUE.
1138 IF FND_API.to_Boolean( p_init_msg_list )
1139 THEN
1140 FND_MSG_PUB.initialize;
1141 END IF;
1142
1143
1144 -- Initialize API return status to SUCCESS
1145 x_return_status := FND_API.G_RET_STS_SUCCESS;
1146
1147 IF p_prof_module_grp_rec.form_function_name IS NULL then
1148 OPEN C1(p_PROF_MODULE_GRP_Rec.form_function_id);
1149 FETCH C1 into l_function_name;
1150 CLOSE C1;
1151 ELSE
1152 l_function_name := p_prof_module_grp_rec.form_function_name;
1153 END IF;
1154
1155 If ( p_prof_module_grp_rec.group_id is null
1156 or p_prof_module_grp_rec.group_id = CSC_CORE_UTILS_PVT.G_MISS_NUM )
1157 and ( p_prof_module_grp_rec.dashboard_group_id is null
1158 or p_prof_module_grp_rec.dashboard_group_id = CSC_CORE_UTILS_PVT.G_MISS_NUM ) then
1159
1160 x_return_status := FND_API.G_RET_STS_ERROR;
1161 FND_MESSAGE.Set_Name('CSC', 'CSC_PROFILE_GROUP_UNDEFINED');
1162
1163 End If;
1164
1165
1166
1167 if p_Validation_mode = CSC_CORE_UTILS_PVT.G_CREATE then
1168 Open C3(p_prof_module_grp_rec.form_function_name,p_prof_module_grp_rec.party_type,
1169 p_prof_module_grp_rec.responsibility_id, p_prof_module_grp_rec.resp_appl_id);
1170 Fetch C3 into x;
1171 Close C3;
1172
1173 If x<>0 then -- and P_Validation_mode=CSC_CORE_UTILS_PVT.G_CREATE then
1174 x_return_status := FND_API.G_RET_STS_ERROR;
1175 FND_MESSAGE.Set_Name('CSC', 'CSC_PROFILE_DUPLICATE_RECORD');
1176 End If;
1177
1178 elsif p_validation_mode = CSC_CORE_UTILS_PVT.G_UPDATE then
1179
1180 Open C4(p_prof_module_grp_rec.form_function_name,p_prof_module_grp_rec.party_type,
1181 p_prof_module_grp_rec.responsibility_id, p_prof_module_grp_rec.resp_appl_id,
1182 p_prof_module_grp_rec.module_group_id);
1183 Fetch C4 into x;
1184 Close C4;
1185
1186 If x<>0 then
1187 x_return_status := FND_API.G_RET_STS_ERROR;
1188 FND_MESSAGE.Set_Name('CSC', 'CSC_PROFILE_DUPLICATE_RECORD');
1189 End If;
1190
1191 end if;
1192
1193 -- Standard call to get message count and if count is 1, get message info.
1194 FND_MSG_PUB.Count_And_Get
1195 ( p_count => x_msg_count,
1196 p_data => x_msg_data
1197 );
1198
1199 END Validate_PROF_MODULE_GRP_Rec;
1200
1201
1202 PROCEDURE Validate_DASHBOARD_GROUP_ID (
1203 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
1204 P_Validation_mode IN VARCHAR2,
1205 P_DASHBOARD_GROUP_ID IN NUMBER,
1206 P_PARTY_TYPE IN VARCHAR2,
1207 X_Return_Status OUT NOCOPY VARCHAR2,
1208 X_Msg_Count OUT NOCOPY NUMBER,
1209 X_Msg_Data OUT NOCOPY VARCHAR2
1210 )
1211 IS
1212 p_Api_Name VARCHAR2(100) := 'Validate_Dashboard_Group_Id';
1213 --keep an UNION fo r ALL party type..
1214 Cursor C1 is
1215 Select NULL
1216 from csc_prof_groups_vl
1217 where group_id = P_DASHBOARD_GROUP_ID
1218 and party_type = p_party_type
1219 and nvl(use_in_customer_dashboard,'N') = 'Y'
1220 UNION
1221 Select NULL
1222 from csc_prof_groups_vl
1223 where group_id = P_DASHBOARD_GROUP_ID
1224 and party_type = 'ALL'
1225 and nvl(use_in_customer_dashboard,'N') = 'Y';
1226 BEGIN
1227
1228 -- Initialize message list if p_init_msg_list is set to TRUE.
1229 IF FND_API.to_Boolean( p_init_msg_list )
1230 THEN
1231 FND_MSG_PUB.initialize;
1232 END IF;
1233
1234
1235 -- Initialize API return status to SUCCESS
1236 x_return_status := FND_API.G_RET_STS_SUCCESS;
1237
1238 IF(p_validation_mode = CSC_CORE_UTILS_PVT.G_CREATE)
1239 THEN
1240 -- Hint: Validate data
1241 -- IF p_DASHBOARD_GROUP_ID is not NULL and p_DASHBOARD_GROUP_ID <> G_MISS_CHAR
1242 -- verify if data is valid
1243 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1244
1245 IF p_DASHBOARD_GROUP_ID is not NULL and p_DASHBOARD_GROUP_ID <> CSC_CORE_UTILS_PVT.G_MISS_NUM
1246 THEN
1247 Open C1;
1248 Fetch C1 into l_dummy;
1249 IF C1%NOTFOUND THEN
1250 x_return_status := FND_API.G_RET_STS_ERROR;
1251 CSC_CORE_UTILS_PVT.Add_Invalid_Argument_Msg(
1252 p_api_name => p_api_name,
1253 p_argument_value => p_DASHBOARD_GROUP_ID,
1254 p_argument => 'P_DASHBOARD_GROUP_ID' );
1255 END IF;
1256 CLOSE C1;
1257 END IF;
1258 ELSIF(p_validation_mode = CSC_CORE_UTILS_PVT.G_UPDATE)
1259 THEN
1260 -- Hint: Validate data
1261 -- IF p_DASHBOARD_GROUP_ID <> G_MISS_CHAR
1262 -- verify if data is valid
1263 -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
1264 IF p_DASHBOARD_GROUP_ID is not NULL and p_DASHBOARD_GROUP_ID <> CSC_CORE_UTILS_PVT.G_MISS_NUM
1265 THEN
1266 Open C1;
1267 Fetch C1 into l_dummy;
1268 IF C1%NOTFOUND THEN
1269 x_return_status := FND_API.G_RET_STS_ERROR;
1270 CSC_CORE_UTILS_PVT.Add_Invalid_Argument_Msg(
1271 p_api_name => p_api_name,
1272 p_argument_value => p_DASHBOARD_GROUP_ID,
1273 p_argument => 'P_DASHBOARD_GROUP_ID' );
1274 END IF;
1275 Close C1;
1276 END IF;
1277 END IF;
1278
1279 -- Standard call to get message count and if count is 1, get message info.
1280 FND_MSG_PUB.Count_And_Get
1281 ( p_count => x_msg_count,
1282 p_data => x_msg_data
1283 );
1284
1285 END Validate_DASHBOARD_GROUP_ID;
1286
1287
1288
1289 PROCEDURE Validate_prof_module_groups(
1290 P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
1291 P_Validation_level IN NUMBER := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
1292 P_Validation_mode IN VARCHAR2,
1293 P_PROF_MODULE_GRP_Rec IN PROF_MODULE_GRP_Rec_Type,
1294 X_Return_Status OUT NOCOPY VARCHAR2,
1295 X_Msg_Count OUT NOCOPY NUMBER,
1296 X_Msg_Data OUT NOCOPY VARCHAR2
1297 )
1298 IS
1299 l_api_name CONSTANT VARCHAR2(30) := 'Validate_Prof_Module_Groups';
1300 BEGIN
1301
1302
1303 -- Initialize API return status to SUCCESS
1304 x_return_status := FND_API.G_RET_STS_SUCCESS;
1305
1306 IF (p_validation_level > CSC_CORE_UTILS_PVT.G_VALID_LEVEL_NONE) THEN
1307
1308 Validate_MODULE_GROUP_ID(
1309 p_init_msg_list => CSC_CORE_UTILS_PVT.G_FALSE,
1310 p_validation_mode => p_validation_mode,
1311 p_MODULE_GROUP_ID => P_PROF_MODULE_GRP_Rec.MODULE_GROUP_ID,
1312 x_return_status => x_return_status,
1313 x_msg_count => x_msg_count,
1314 x_msg_data => x_msg_data);
1315 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1316 raise FND_API.G_EXC_ERROR;
1317 END IF;
1318
1319 /* Validate_FORM_FUNCTION_ID(
1320 p_init_msg_list => CSC_CORE_UTILS_PVT.G_FALSE,
1321 p_validation_mode => p_validation_mode,
1322 p_FORM_FUNCTION_ID => P_PROF_MODULE_GRP_Rec.FORM_FUNCTION_ID,
1323 x_return_status => x_return_status,
1324 x_msg_count => x_msg_count,
1325 x_msg_data => x_msg_data);
1326 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1327 raise FND_API.G_EXC_ERROR;
1328 END IF;
1329 */
1330
1331 Validate_FORM_FUNCTION_NAME(
1332 p_init_msg_list => CSC_CORE_UTILS_PVT.G_FALSE,
1333 p_validation_mode => p_validation_mode,
1334 p_FORM_FUNCTION_NAME => P_PROF_MODULE_GRP_Rec.FORM_FUNCTION_NAME,
1335 x_return_status => x_return_status,
1336 x_msg_count => x_msg_count,
1337 x_msg_data => x_msg_data);
1338 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1339 raise FND_API.G_EXC_ERROR;
1340 END IF;
1341
1342 Validate_FORM_FUNCTION_NAME(
1343 p_init_msg_list => CSC_CORE_UTILS_PVT.G_FALSE,
1344 p_validation_mode => p_validation_mode,
1345 p_FORM_FUNCTION_NAME => P_PROF_MODULE_GRP_Rec.FORM_FUNCTION_NAME,
1346 x_return_status => x_return_status,
1347 x_msg_count => x_msg_count,
1348 x_msg_data => x_msg_data);
1349 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1350 raise FND_API.G_EXC_ERROR;
1351 END IF;
1352
1353 Validate_PARTY_TYPE(
1354 p_init_msg_list => CSC_CORE_UTILS_PVT.G_FALSE,
1355 p_validation_mode => p_validation_mode,
1356 p_PARTY_TYPE => P_PROF_MODULE_GRP_Rec.PARTY_TYPE,
1357 x_return_status => x_return_status,
1358 x_msg_count => x_msg_count,
1359 x_msg_data => x_msg_data);
1360 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1361 raise FND_API.G_EXC_ERROR;
1362 END IF;
1363
1364 Validate_GROUP_ID(
1365 p_init_msg_list => CSC_CORE_UTILS_PVT.G_FALSE,
1366 p_validation_mode => p_validation_mode,
1367 p_GROUP_ID => P_PROF_MODULE_GRP_Rec.GROUP_ID,
1368 P_PARTY_TYPE => P_PROF_MODULE_GRP_Rec.PARTY_TYPE,
1369 x_return_status => x_return_status,
1370 x_msg_count => x_msg_count,
1371 x_msg_data => x_msg_data);
1372 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1373 raise FND_API.G_EXC_ERROR;
1374 END IF;
1375
1376 /* Validate_DASHBOARD_GROUP_FLAG(
1377 p_init_msg_list => CSC_CORE_UTILS_PVT.G_FALSE,
1378 p_validation_mode => p_validation_mode,
1379 p_DASHBOARD_GROUP_FLAG => P_PROF_MODULE_GRP_Rec.DASHBOARD_GROUP_FLAG,
1380 x_return_status => x_return_status,
1381 x_msg_count => x_msg_count,
1382 x_msg_data => x_msg_data);
1383 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1384 raise FND_API.G_EXC_ERROR;
1385 END IF;
1386 */
1387
1388 Validate_CURRENCY_CODE(
1389 p_init_msg_list => CSC_CORE_UTILS_PVT.G_FALSE,
1390 p_validation_mode => p_validation_mode,
1391 p_CURRENCY_CODE => P_PROF_MODULE_GRP_Rec.CURRENCY_CODE,
1392 x_return_status => x_return_status,
1393 x_msg_count => x_msg_count,
1394 x_msg_data => x_msg_data);
1395 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1396 raise FND_API.G_EXC_ERROR;
1397 END IF;
1398
1399 --Validate seeded flag
1400
1401 CSC_CORE_UTILS_PVT.Validate_Seeded_Flag(
1402 p_api_name =>'CSC_PROF_MODULE_GROUPS_PVT.VALIDATE_SEEDED_FLAG',
1403 p_seeded_flag => p_PROF_MODULE_GRP_rec.seeded_flag,
1404 x_return_status => x_return_status );
1405
1406 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1407 RAISE FND_API.G_EXC_ERROR;
1408 END IF;
1409
1410 /* This Call added for Enhancement 1781726 for Validating Application_id*/
1411
1412 CSC_CORE_UTILS_PVT.Validate_APPLICATION_ID (
1413 P_Init_Msg_List => CSC_CORE_UTILS_PVT.G_FALSE,
1414 P_Application_ID => p_PROF_MODULE_GRP_rec.application_id,
1415 X_Return_Status => x_return_status,
1416 X_Msg_Count => x_msg_count,
1417 X_Msg_Data => x_msg_data,
1418 p_effective_date => SYSDATE );
1419
1420 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1421 RAISE FND_API.G_EXC_ERROR;
1422 END IF;
1423
1424 Validate_DASHBOARD_GROUP_ID(
1425 p_init_msg_list => CSC_CORE_UTILS_PVT.G_FALSE,
1426 p_validation_mode => p_validation_mode,
1427 p_DASHBOARD_GROUP_ID => P_PROF_MODULE_GRP_Rec.DASHBOARD_GROUP_ID,
1428
1429 P_PARTY_TYPE => P_PROF_MODULE_GRP_Rec.PARTY_TYPE,
1430 x_return_status => x_return_status,
1431 x_msg_count => x_msg_count,
1432 x_msg_data => x_msg_data);
1433 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1434 raise FND_API.G_EXC_ERROR;
1435 END IF;
1436
1437 Validate_PROF_MODULE_GRP_Rec(
1438 p_init_msg_list => CSC_CORE_UTILS_PVT.G_FALSE,
1439 p_validation_mode => p_validation_mode,
1440 p_PROF_MODULE_GRP_Rec => P_PROF_MODULE_GRP_Rec,
1441 x_return_status => x_return_status,
1442 x_msg_count => x_msg_count,
1443 x_msg_data => x_msg_data);
1444 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1445 raise FND_API.G_EXC_ERROR;
1446 END IF;
1447
1448
1449
1450
1451
1452 END IF;
1453
1454
1455 END Validate_prof_module_groups;
1456
1457 End CSC_PROF_MODULE_GROUPS_PVT;