DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSC_PROF_COLOR_CODE_PVT

Source


1 PACKAGE BODY CSC_PROF_COLOR_CODE_PVT as
2 /* $Header: cscvpccb.pls 115.7 2002/12/03 19:31:56 jamose ship $ */
3 -- Start of Comments
4 -- Package name     : CSC_PROF_COLOR_CODE_PVT
5 -- Purpose          :
6 -- History          :
7 -- 27 Nov 02   jamose For Fnd_Api_G_Miss* and NOCOPY changes
8 -- NOTE             :
9 -- End of Comments
10 
11 
12 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSC_PROF_COLOR_CODE_PVT';
13 G_FILE_NAME CONSTANT VARCHAR2(12) := 'cscvpccb.pls';
14 
15 ----------------------------------------------------------------------------
16 -- Start of Procedure Body Convert_Columns_to_Rec
17 ----------------------------------------------------------------------------
18 
19 PROCEDURE Convert_Columns_to_Rec (
20        p_COLOR_CODE                      VARCHAR2 DEFAULT NULL,
21        p_RATING_CODE                     VARCHAR2,
22        p_LAST_UPDATE_DATE                DATE,
23        p_LAST_UPDATED_BY                 NUMBER,
24        p_CREATION_DATE                   DATE,
25        p_CREATED_BY                      NUMBER,
26        p_LAST_UPDATE_LOGIN               NUMBER,
27        x_prof_color_rec     OUT  NOCOPY  prof_color_Rec_Type
28     )
29   IS
30 BEGIN
31 
32     x_prof_color_rec.COLOR_CODE := p_COLOR_CODE;
33     x_prof_color_rec.RATING_CODE := p_RATING_CODE;
34     x_prof_color_rec.created_by := p_created_by;
35     x_prof_color_rec.creation_date := p_creation_date;
36     x_prof_color_rec.last_updated_by := p_last_updated_by;
37     x_prof_color_rec.last_update_date := p_last_update_date;
38     x_prof_color_rec.last_update_login := p_last_update_login;
39 
40 END Convert_Columns_to_Rec;
41 
42 PROCEDURE Create_prof_color_code(
43     P_Api_Version_Number         IN   NUMBER,
44     P_Init_Msg_List              IN   VARCHAR2     := CSC_CORE_UTILS_PVT.G_FALSE,
45     P_Commit                     IN   VARCHAR2     := CSC_CORE_UTILS_PVT.G_FALSE,
46     p_validation_level           IN   NUMBER       := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
47     px_COLOR_CODE                IN OUT NOCOPY   VARCHAR2 ,
48     p_RATING_CODE                IN   VARCHAR2,
49     p_LAST_UPDATE_DATE           IN   DATE,
50     p_LAST_UPDATED_BY            IN   NUMBER,
51     p_CREATION_DATE              IN   DATE,
52     p_CREATED_BY                 IN   NUMBER,
53     p_LAST_UPDATE_LOGIN          IN   NUMBER,
54     X_Return_Status              OUT NOCOPY VARCHAR2,
55     X_Msg_Count                  OUT NOCOPY NUMBER,
56     X_Msg_Data                   OUT NOCOPY VARCHAR2
57     )
58 
59  IS
60 l_prof_color_rec prof_color_Rec_Type;
61 BEGIN
62   Convert_Columns_to_Rec (
63        p_COLOR_CODE => px_COLOR_CODE,
64        p_RATING_CODE => p_RATING_CODE   ,
65        p_LAST_UPDATE_DATE => p_LAST_UPDATE_DATE ,
66        p_LAST_UPDATED_BY=>p_LAST_UPDATED_BY  ,
67        p_CREATION_DATE => p_CREATION_DATE    ,
68        p_CREATED_BY => p_CREATED_BY       ,
69        p_LAST_UPDATE_LOGIN => p_LAST_UPDATE_LOGIN ,
70        x_prof_color_rec=> l_prof_color_rec );
71 
72  Create_prof_color_code(
73     P_Api_Version_Number    => P_Api_Version_Number,
74     P_Init_Msg_List         => P_Init_Msg_List,
75     P_Commit                => P_Commit,
76     p_validation_level      => p_validation_level,
77     P_prof_color_rec => l_prof_color_rec,
78     PX_COLOR_CODE     		=> PX_COLOR_CODE,
79     X_Return_Status           => X_Return_Status,
80     X_Msg_Count               => X_Msg_Count,
81     X_Msg_Data                => X_Msg_Data   );
82 
83 
84 END Create_prof_color_code;
85 
86 
87 PROCEDURE Create_prof_color_code(
88     P_Api_Version_Number         IN   NUMBER,
89     P_Init_Msg_List              IN   VARCHAR2     := CSC_CORE_UTILS_PVT.G_FALSE,
90     P_Commit                     IN   VARCHAR2     := CSC_CORE_UTILS_PVT.G_FALSE,
91     p_validation_level           IN   NUMBER       := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
92     P_prof_color_rec     IN    prof_color_Rec_Type  := G_MISS_prof_color_rec_type_REC,
93     px_COLOR_CODE     		IN OUT NOCOPY VARCHAR2,
94     X_Return_Status              OUT NOCOPY VARCHAR2,
95     X_Msg_Count                  OUT NOCOPY NUMBER,
96     X_Msg_Data                   OUT NOCOPY VARCHAR2
97     )
98 
99  IS
100 l_api_name                CONSTANT VARCHAR2(30) := 'Create_prof_color_code';
101 l_api_version_number      CONSTANT NUMBER   := 1.0;
102 l_return_status_full        VARCHAR2(1);
103  BEGIN
104       -- Standard Start of API savepoint
105       SAVEPOINT CREATE_PROF_COLOR_CODE_PVT;
106 
107       -- Standard call to check for call compatibility.
108       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
109                          	             p_api_version_number,
110                                            l_api_name,
111                                            G_PKG_NAME)
112       THEN
113           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
114       END IF;
115 
116 
117       -- Initialize message list if p_init_msg_list is set to TRUE.
118       IF FND_API.to_Boolean( p_init_msg_list )
119       THEN
120           FND_MSG_PUB.initialize;
121       END IF;
122 
123 
124       -- Initialize API return status to SUCCESS
125       x_return_status := FND_API.G_RET_STS_SUCCESS;
126 
127       --
128       -- API body
129       --
130 
131 
132       IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
133       THEN
134           -- Invoke validation procedures
135           Validate_prof_color_code(
136               p_init_msg_list    => CSC_CORE_UTILS_PVT.G_FALSE,
137               p_validation_level => p_validation_level,
138               p_validation_mode  => CSC_CORE_UTILS_PVT.G_CREATE,
139               P_prof_color_rec_type_Rec  =>  P_prof_color_rec,
140               x_return_status    => x_return_status,
141               x_msg_count        => x_msg_count,
142               x_msg_data         => x_msg_data);
143       END IF;
144 
145       IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
146           RAISE FND_API.G_EXC_ERROR;
147       END IF;
148 
149 
150      CSC_COLOR_CODES_PKG.Insert_Row(
151           px_COLOR_CODE  => px_COLOR_CODE,
152           p_RATING_CODE  => P_prof_color_rec.RATING_CODE,
153           p_LAST_UPDATE_DATE  => SYSDATE,
154           p_LAST_UPDATED_BY  => FND_GLOBAL.USER_ID,
155           p_CREATION_DATE  => SYSDATE,
156           p_CREATED_BY  => FND_GLOBAL.USER_ID,
157           p_LAST_UPDATE_LOGIN  => p_prof_color_rec.LAST_UPDATE_LOGIN);
158 
159       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
160           RAISE FND_API.G_EXC_ERROR;
161       END IF;
162 
163       --
164       -- End of API body
165       --
166 
167       -- Standard check for p_commit
168       IF FND_API.to_Boolean( p_commit )
169       THEN
170           COMMIT WORK;
171       END IF;
172 
173 
174       -- Standard call to get message count and if count is 1, get message info.
175       FND_MSG_PUB.Count_And_Get
176       (  p_count          =>   x_msg_count,
177          p_data           =>   x_msg_data
178       );
179 
180       EXCEPTION
181           WHEN FND_API.G_EXC_ERROR THEN
182 		 ROLLBACK TO CREATE_PROF_COLOR_CODE_PVT;
183            x_return_status :=  FND_API.G_RET_STS_ERROR ;
184            --FND_MSG_PUB.Count_And_Get(p_count =>x_msg_count,
185                                      --p_data => x_msg_data) ;
186 
187            APP_EXCEPTION.RAISE_EXCEPTION;
188           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
189 		 ROLLBACK TO CREATE_PROF_COLOR_CODE_PVT;
190            x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
191            --FND_MSG_PUB.Count_And_Get(p_count =>x_msg_count,
192                                      --p_data => x_msg_data) ;
193            APP_EXCEPTION.RAISE_EXCEPTION;
194 
195           WHEN OTHERS THEN
196 		 ROLLBACK TO CREATE_PROF_COLOR_CODE_PVT;
197            x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
198            --FND_MSG_PUB.Count_And_Get(p_count =>x_msg_count,
199                                      --p_data => x_msg_data) ;
200     	      IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
201            	    FND_MSG_PUB.Build_Exc_Msg(G_PKG_NAME, l_api_name);
202     	      END IF;
203            APP_EXCEPTION.RAISE_EXCEPTION;
204 
205 End Create_prof_color_code;
206 
207 
208 PROCEDURE Update_prof_color_code(
209     P_Api_Version_Number         IN   NUMBER,
210     P_Init_Msg_List              IN   VARCHAR2     := CSC_CORE_UTILS_PVT.G_FALSE,
211     P_Commit                     IN   VARCHAR2     := CSC_CORE_UTILS_PVT.G_FALSE,
212     p_validation_level           IN   NUMBER       := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
213     p_COLOR_CODE                 IN   VARCHAR2,
214     p_RATING_CODE                IN   VARCHAR2,
215     p_LAST_UPDATE_DATE           IN   DATE,
216     p_LAST_UPDATED_BY            IN   NUMBER,
217     p_CREATION_DATE              IN   DATE DEFAULT NULL,
218     p_CREATED_BY                 IN   NUMBER DEFAULT NULL,
219     p_LAST_UPDATE_LOGIN          IN   NUMBER,
220     X_Return_Status              OUT NOCOPY VARCHAR2,
221     X_Msg_Count                  OUT NOCOPY NUMBER,
222     X_Msg_Data                   OUT NOCOPY VARCHAR2
223     )
224 
225 IS
226  l_prof_color_rec prof_color_Rec_Type;
227 BEGIN
228 
229  Convert_Columns_to_Rec (
230        p_COLOR_CODE    ,
231        p_RATING_CODE   ,
232        p_LAST_UPDATE_DATE ,
233        p_LAST_UPDATED_BY  ,
234        p_CREATION_DATE    ,
235        p_CREATED_BY       ,
236        p_LAST_UPDATE_LOGIN ,
237        l_prof_color_rec );
238 
239  Update_prof_color_code(
240     P_Api_Version_Number    => P_Api_Version_Number,
241     P_Init_Msg_List         => P_Init_Msg_List,
242     P_Commit                => P_Commit,
243     p_validation_level      => p_validation_level,
244     P_prof_color_rec   => l_prof_color_rec,
245     X_Return_Status           => X_Return_Status,
246     X_Msg_Count               => X_Msg_Count,
247     X_Msg_Data                => X_Msg_Data );
248 
249 
250 END Update_prof_color_code;
251 
252 PROCEDURE Update_prof_color_code(
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_prof_color_rec     IN    prof_color_Rec_Type,
258     X_Return_Status              OUT NOCOPY VARCHAR2,
259     X_Msg_Count                  OUT NOCOPY NUMBER,
260     X_Msg_Data                   OUT NOCOPY VARCHAR2
261     )
262 
263  IS
264 
265 Cursor C_Get_prof_color_code(c_RATING_CODE VARCHAR2) IS
266     Select rowid,
267            COLOR_CODE,
268            RATING_CODE,
269            LAST_UPDATE_DATE,
270            LAST_UPDATED_BY,
271            CREATION_DATE,
272            CREATED_BY,
273            LAST_UPDATE_LOGIN
274     From  CSC_COLOR_CODES
275     Where RATING_CODE = c_RATING_CODE
276     For Update NOWAIT;
277 l_old_prof_color_rec     CSC_COLOR_CODES%ROWTYPE;
278 l_api_name                CONSTANT VARCHAR2(30) := 'Update_prof_color_code';
279 l_api_version_number      CONSTANT NUMBER   := 1.0;
280 l_rowid  ROWID;
281  BEGIN
282       -- Standard Start of API savepoint
283       SAVEPOINT UPDATE_PROF_COLOR_CODE_PVT;
284 
285       -- Standard call to check for call compatibility.
286       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
287                          	             p_api_version_number,
288                                            l_api_name,
289                                            G_PKG_NAME)
290       THEN
291           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
292       END IF;
293 
294 
295       -- Initialize message list if p_init_msg_list is set to TRUE.
296       IF FND_API.to_Boolean( p_init_msg_list )
297       THEN
298           FND_MSG_PUB.initialize;
299       END IF;
300 
301 
302 
303 
304       -- Initialize API return status to SUCCESS
305       x_return_status := FND_API.G_RET_STS_SUCCESS;
306 
307       --
308       -- Api body
309       --
310 
311 
312       Open C_Get_prof_color_code( P_prof_color_rec.RATING_CODE);
313 
314       Fetch C_Get_prof_color_code into
315                l_rowid,
316                l_old_prof_color_rec.COLOR_CODE,
317                l_old_prof_color_rec.RATING_CODE,
318                l_old_prof_color_rec.LAST_UPDATE_DATE,
319                l_old_prof_color_rec.LAST_UPDATED_BY,
320                l_old_prof_color_rec.CREATION_DATE,
321                l_old_prof_color_rec.CREATED_BY,
322                l_old_prof_color_rec.LAST_UPDATE_LOGIN;
323 
324        If ( C_Get_prof_color_code%NOTFOUND) Then
325            IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
326            THEN
327 		CSC_CORE_UTILS_PVT.RECORD_IS_LOCKED_MSG(l_api_name);
328            END IF;
329            raise FND_API.G_EXC_ERROR;
330 
331        END IF;
332        Close     C_Get_prof_color_code;
333 
334 
335       IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
336       THEN
337 
338           -- Invoke validation procedures
339           Validate_prof_color_code(
340               p_init_msg_list    => FND_API.G_FALSE,
341               p_validation_level => p_validation_level,
342               p_validation_mode  => CSC_CORE_UTILS_PVT.G_UPDATE,
343               P_prof_color_rec_type_Rec  =>  P_prof_color_rec,
344               x_return_status    => x_return_status,
345               x_msg_count        => x_msg_count,
346               x_msg_data         => x_msg_data);
347       END IF;
348 
349       IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
350           RAISE FND_API.G_EXC_ERROR;
351       END IF;
352 
353       -- Invoke table handler(CSC_COLOR_CODES_PKG.Update_Row)
354       CSC_COLOR_CODES_PKG.Update_Row(
355           p_COLOR_CODE  =>csc_core_utils_pvt.Get_G_Miss_Char(p_prof_color_rec.COLOR_CODE,l_old_prof_color_rec.COLOR_CODE),
356           p_RATING_CODE  =>csc_core_utils_pvt.Get_G_Miss_Char(p_prof_color_rec.RATING_CODE,l_old_prof_color_rec.RATING_CODE),
357           p_LAST_UPDATE_DATE  => SYSDATE,
358           p_LAST_UPDATED_BY  => FND_GLOBAL.USER_ID,
359           p_LAST_UPDATE_LOGIN  =>csc_core_utils_pvt.Get_G_Miss_Char(p_prof_color_rec.LAST_UPDATE_LOGIN,l_old_prof_color_rec.LAST_UPDATE_LOGIN));
360       --
361       -- End of API body.
362       --
363 
364       -- Standard check for p_commit
365       IF FND_API.to_Boolean( p_commit )
366       THEN
367           COMMIT WORK;
368       END IF;
369 
370       -- Standard call to get message count and if count is 1, get message info.
371       FND_MSG_PUB.Count_And_Get
372       (  p_count          =>   x_msg_count,
373          p_data           =>   x_msg_data
374       );
375 
376       EXCEPTION
377           WHEN FND_API.G_EXC_ERROR THEN
378 		 ROLLBACK TO UPDATE_PROF_COLOR_CODE_PVT;
379            x_return_status :=  FND_API.G_RET_STS_ERROR ;
380            --FND_MSG_PUB.Count_And_Get(p_count =>x_msg_count,
381                                      --p_data => x_msg_data) ;
382            APP_EXCEPTION.RAISE_EXCEPTION;
383 
384           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
385 		 ROLLBACK TO UPDATE_PROF_COLOR_CODE_PVT;
386            x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
387            --FND_MSG_PUB.Count_And_Get(p_count =>x_msg_count,
388                                      --p_data => x_msg_data) ;
389            APP_EXCEPTION.RAISE_EXCEPTION;
390 
391           WHEN OTHERS THEN
392 		 ROLLBACK TO UPDATE_PROF_COLOR_CODE_PVT;
393            x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
394            --FND_MSG_PUB.Count_And_Get(p_count =>x_msg_count,
395                                      --p_data => x_msg_data) ;
396     	      IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
397            	    FND_MSG_PUB.Build_Exc_Msg(G_PKG_NAME, l_api_name);
398     	      END IF;
399            APP_EXCEPTION.RAISE_EXCEPTION;
400 
401 End Update_prof_color_code;
402 
403 
404 PROCEDURE Delete_prof_color_code(
405     P_Api_Version_Number         IN   NUMBER,
406     P_Init_Msg_List              IN   VARCHAR2     := CSC_CORE_UTILS_PVT.G_FALSE,
407     P_Commit                     IN   VARCHAR2     := CSC_CORE_UTILS_PVT.G_FALSE,
408     p_validation_level           IN   NUMBER       := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
409     P_COLOR_CODE			   IN   VARCHAR2,
410     X_Return_Status              OUT NOCOPY VARCHAR2,
411     X_Msg_Count                  OUT NOCOPY NUMBER,
412     X_Msg_Data                   OUT NOCOPY VARCHAR2
413     )
414 
415  IS
416 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_prof_color_code';
417 l_api_version_number      CONSTANT NUMBER   := 1.0;
418  BEGIN
419       -- Standard Start of API savepoint
420       SAVEPOINT DELETE_PROF_COLOR_CODE_PVT;
421 
422       -- Standard call to check for call compatibility.
423       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
424                          	             p_api_version_number,
425                                            l_api_name,
426                                            G_PKG_NAME)
427       THEN
428           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
429       END IF;
430 
431 
432       -- Initialize message list if p_init_msg_list is set to TRUE.
433       IF FND_API.to_Boolean( p_init_msg_list )
434       THEN
435           FND_MSG_PUB.initialize;
436       END IF;
437 
438 
439 
440 
441       -- Initialize API return status to SUCCESS
442       x_return_status := FND_API.G_RET_STS_SUCCESS;
443 
444       --
445       -- Api body
446       --
447       -- Invoke table handler(CSC_COLOR_CODES_PKG.Delete_Row)
448       CSC_COLOR_CODES_PKG.Delete_Row(
449           p_COLOR_CODE  => p_COLOR_CODE);
450       --
451       -- End of API body
452       --
453 
454       -- Standard check for p_commit
455       IF FND_API.to_Boolean( p_commit )
456       THEN
457           COMMIT WORK;
458       END IF;
459 
460 
461 
462 
463       -- Standard call to get message count and if count is 1, get message info.
464       FND_MSG_PUB.Count_And_Get
465       (  p_count          =>   x_msg_count,
466          p_data           =>   x_msg_data
467       );
468 
469       EXCEPTION
470           WHEN FND_API.G_EXC_ERROR THEN
471 		 ROLLBACK TO DELETE_PROF_COLOR_CODE_PVT;
472            x_return_status :=  FND_API.G_RET_STS_ERROR ;
473            --FND_MSG_PUB.Count_And_Get(p_count =>x_msg_count,
474                                      --p_data => x_msg_data) ;
475            APP_EXCEPTION.RAISE_EXCEPTION;
476 
477           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
478 		 ROLLBACK TO DELETE_PROF_COLOR_CODE_PVT;
479            x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
480            --FND_MSG_PUB.Count_And_Get(p_count =>x_msg_count,
481                                      --p_data => x_msg_data) ;
482            APP_EXCEPTION.RAISE_EXCEPTION;
483 
484           WHEN OTHERS THEN
485 		 ROLLBACK TO DELETE_PROF_COLOR_CODE_PVT;
486            x_return_status :=  FND_API.G_RET_STS_UNEXP_ERROR ;
487            --FND_MSG_PUB.Count_And_Get(p_count =>x_msg_count,
488                                      --p_data => x_msg_data) ;
489     	      IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
490            	    FND_MSG_PUB.Build_Exc_Msg(G_PKG_NAME, l_api_name);
491     	      END IF;
492            APP_EXCEPTION.RAISE_EXCEPTION;
493 
494 End Delete_prof_color_code;
495 
496 
497 -- Item-level validation procedures
498 PROCEDURE Validate_COLOR_CODE (
499     P_Init_Msg_List              IN   VARCHAR2     := CSC_CORE_UTILS_PVT.G_FALSE,
500     P_Validation_mode            IN   VARCHAR2,
501     P_COLOR_CODE                IN   VARCHAR2,
502     X_Return_Status              OUT NOCOPY VARCHAR2,
503     X_Msg_Count                  OUT NOCOPY NUMBER,
504     X_Msg_Data                   OUT NOCOPY VARCHAR2
505     )
506 IS
507  p_Api_Name Varchar2(100) := 'Validate_Prof_Color_Code';
508 
509 BEGIN
510 
511       -- Initialize message list if p_init_msg_list is set to TRUE.
512       IF FND_API.to_Boolean( p_init_msg_list )
513       THEN
514           FND_MSG_PUB.initialize;
515       END IF;
516 
517 
518       -- Initialize API return status to SUCCESS
519       x_return_status := FND_API.G_RET_STS_SUCCESS;
520 
521       -- validate NOT NULL column
522       IF(p_COLOR_CODE is NULL)
523       THEN
524           x_return_status := FND_API.G_RET_STS_ERROR;
525       END IF;
526 
527       IF(p_validation_mode = CSC_CORE_UTILS_PVT.G_CREATE)
528       THEN
529           -- Hint: Validate data
530 		  IF p_COLOR_CODE is not NULL and p_COLOR_CODE <> CSC_CORE_UTILS_PVT.G_MISS_CHAR THEN
531 			-- **********************
532 			-- No Validation for Color codes for now...
533 			-- *********************
534 			NULL;
535 		 else
536 			 CSC_CORE_UTILS_PVT.mandatory_arg_error(
537 				p_api_name => p_api_name,
538 				p_argument => 'p_color_code',
539 				p_argument_value => p_color_code);
540 		 end if;
541       ELSIF(p_validation_mode = CSC_CORE_UTILS_PVT.G_UPDATE)
542       THEN
543           -- Hint: Validate data
544 		  IF p_COLOR_CODE is not NULL and p_COLOR_CODE <> CSC_CORE_UTILS_PVT.G_MISS_CHAR THEN
545 			-- **********************
546 			-- No Validation for Color codes for now...
547 			-- *********************
548 			NULL;
549 		 else
550 			 CSC_CORE_UTILS_PVT.mandatory_arg_error(
551 				p_api_name => p_api_name,
552 				p_argument => 'p_color_code',
553 				p_argument_value => p_color_code);
554 		 end if;
555 
556       END IF;
557 
558       -- Standard call to get message count and if count is 1, get message info.
559       FND_MSG_PUB.Count_And_Get
560       (  p_count          =>   x_msg_count,
561          p_data           =>   x_msg_data
562       );
563 
564 END Validate_COLOR_CODE;
565 
566 
567 PROCEDURE Validate_RATING_CODE (
568     P_Init_Msg_List              IN   VARCHAR2     := CSC_CORE_UTILS_PVT.G_FALSE,
569     P_Validation_mode            IN   VARCHAR2,
570     P_RATING_CODE                IN   VARCHAR2,
571     X_Return_Status              OUT NOCOPY VARCHAR2,
572     X_Msg_Count                  OUT NOCOPY NUMBER,
573     X_Msg_Data                   OUT NOCOPY VARCHAR2
574     )
575 IS
576 	l_lookup_code varchar2(100);
577 	l_dummy		varchar2(1);
578       p_Api_Name    varchar2(30) := 'Validate_Rating_Code';
579 	cursor c is
580 		select null
581 		from csc_lookups
582 		where lookup_type = 'CSC_PROF_RATINGS'
583 		and   lookup_code = p_rating_code
584 		and   enabled_flag = 'Y'
585 		and   trunc(sysdate) between trunc(nvl(start_date_Active,sysdate))
586 			 and trunc(nvl(end_date_active,sysdate));
587 	cursor c1 is
588             select null
589 		from csc_color_codes
590 		where rating_code = p_rating_code;
591 BEGIN
592 
593       -- Initialize message list if p_init_msg_list is set to TRUE.
594       IF FND_API.to_Boolean( p_init_msg_list )
595       THEN
596           FND_MSG_PUB.initialize;
597       END IF;
598 
599       -- Initialize API return status to SUCCESS
600       x_return_status := FND_API.G_RET_STS_SUCCESS;
601 
602       -- validate NOT NULL column
603       IF(p_RATING_CODE is NULL and p_RATING_CODE = CSC_CORE_UTILS_PVT.G_MISS_CHAR)
604       THEN
605 			 x_return_status := FND_API.G_RET_STS_ERROR;
606 			 CSC_CORE_UTILS_PVT.mandatory_arg_error(
607 				p_api_name => p_api_name,
608 				p_argument => 'P_RATING_CODE',
609 				p_argument_value => p_rating_code);
610       END IF;
611 
612       -- IF(p_validation_mode = CSC_CORE_UTILS_PVT.G_CREATE)
613       --THEN
614           -- Hint: Validate data
615           IF p_RATING_CODE is not NULL and p_RATING_CODE <> CSC_CORE_UTILS_PVT.G_MISS_CHAR THEN
616 			-- Check whethere code is defined in CSC_LOOKUPS
617 			-- for CSC_PROF_RATINGS
618 			l_lookup_code := p_rating_code;
619 			open c;
620 			fetch c into l_dummy;
621 			if c%notfound then
622 				   x_return_status := FND_API.G_RET_STS_ERROR;
623 				   CSC_CORE_UTILS_PVT.Add_Invalid_Argument_Msg(
624 					  p_api_name => p_api_name,
625 			              p_argument_value  => p_rating_code,
626 			              p_argument  => 'p_rating_code');
627 			else
628 				IF(p_validation_mode = CSC_CORE_UTILS_PVT.G_CREATE)
629 				THEN
630 				  open c1;
631 				  fetch c1 into l_dummy;
632 				  if c1%found then
633 				    x_return_status := FND_API.G_RET_STS_ERROR;
634 				    CSC_CORE_UTILS_PVT.Add_Duplicate_Value_Msg(
635 		   			  p_api_name	=> p_api_name,
636 		     			  p_argument	=> 'p_rating_code' ,
637   		     			  p_argument_value => p_rating_code );
638 				  end if;
639 				  close c1;
640 				END IF;
641 			end if;
642 			close c;
643 		END IF;
644 
645       --END IF;
646 
647       -- Standard call to get message count and if count is 1, get message info.
648       FND_MSG_PUB.Count_And_Get
649       (  p_count          =>   x_msg_count,
650          p_data           =>   x_msg_data
651       );
652 
653 END Validate_RATING_CODE;
654 
655 PROCEDURE Validate_prof_color_code(
656     P_Init_Msg_List              IN   VARCHAR2     := CSC_CORE_UTILS_PVT.G_FALSE,
657     P_Validation_level           IN   NUMBER := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
658     P_Validation_mode            IN   VARCHAR2,
659     P_prof_color_rec_type_Rec     IN    prof_color_Rec_Type,
660     X_Return_Status              OUT NOCOPY VARCHAR2,
661     X_Msg_Count                  OUT NOCOPY NUMBER,
662     X_Msg_Data                   OUT NOCOPY VARCHAR2
663     )
664 IS
665 l_api_name   CONSTANT VARCHAR2(30) := 'Validate_prof_color_code';
666  BEGIN
667 
668 
669 
670       -- Initialize API return status to SUCCESS
671       x_return_status := FND_API.G_RET_STS_SUCCESS;
672 
673       IF (p_validation_level > CSC_CORE_UTILS_PVT.G_VALID_LEVEL_NONE) THEN
674 
675           Validate_COLOR_CODE(
676               p_init_msg_list          => FND_API.G_FALSE,
677               p_validation_mode        => p_validation_mode,
678               p_COLOR_CODE   => P_prof_color_rec_type_Rec.COLOR_CODE,
679               x_return_status          => x_return_status,
680               x_msg_count              => x_msg_count,
681               x_msg_data               => x_msg_data);
682           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
683               raise FND_API.G_EXC_ERROR;
684           END IF;
685 
686           Validate_RATING_CODE(
687               p_init_msg_list          => CSC_CORE_UTILS_PVT.G_FALSE,
688               p_validation_mode        => p_validation_mode,
689               p_RATING_CODE   => P_prof_color_rec_type_Rec.RATING_CODE,
690               x_return_status          => x_return_status,
691               x_msg_count              => x_msg_count,
692               x_msg_data               => x_msg_data);
693           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
694               raise FND_API.G_EXC_ERROR;
695           END IF;
696 
697       END IF;
698 
699 
700 END Validate_prof_color_code;
701 
702 End CSC_PROF_COLOR_CODE_PVT;