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