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