[Home] [Help]
PACKAGE BODY: APPS.CSD_RO_DIAGNOSTIC_CODES_PVT
Source
1 PACKAGE BODY CSD_RO_DIAGNOSTIC_CODES_PVT as
2 /* $Header: csdvrdcb.pls 120.1 2006/09/20 00:18:42 rfieldma noship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'CSD_RO_DIAGNOSTIC_CODES_PVT';
5 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csdvrdcb.pls';
6
7 /*--------------------------------------------------*/
8 /* procedure name: Create_RO_Diagnostic_Code */
9 /* description : procedure used to create */
10 /* ro diagnostic code */
11 /* */
12 /*--------------------------------------------------*/
13 PROCEDURE Create_RO_Diagnostic_Code
14 (
15 p_api_version IN NUMBER,
16 p_commit IN VARCHAR2,
17 p_init_msg_list IN VARCHAR2,
18 p_validation_level IN NUMBER,
19 x_return_status OUT NOCOPY VARCHAR2,
20 x_msg_count OUT NOCOPY NUMBER,
21 x_msg_data OUT NOCOPY VARCHAR2,
22 p_ro_diagnostic_code_rec IN RO_DIAGNOSTIC_CODE_REC_TYPE,
23 x_ro_diagnostic_code_id OUT NOCOPY NUMBER
24 ) IS
25
26 -- CONSTANTS --
27 lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
28 lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
29 lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
30 lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
31 lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
32 lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
33 lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
34 lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_ro_diagnostic_codes_pvt.create_ro_diagnostic_code';
35 lc_api_name CONSTANT VARCHAR2(30) := 'Create_RO_Diagnostic_Code';
36 lc_api_version CONSTANT NUMBER := 1.0;
37
38 -- VARIABLES --
39 l_msg_count NUMBER;
40 l_msg_data VARCHAR2(100);
41 l_msg_index NUMBER;
42 l_dummy VARCHAR2(1) := null;
43 l_obj_ver_num NUMBER := 1;
44
45 -- EXCEPTIONS --
46 CSD_RDC_ASSOCIATION_EXISTS EXCEPTION;
47
48 BEGIN
49 -- Standard Start of API savepoint
50 SAVEPOINT Create_RO_Diagnostic_Code;
51
52 -- Standard call to check for call compatibility.
53 IF NOT FND_API.Compatible_API_Call (lc_api_version,
54 p_api_version,
55 lc_api_name ,
56 G_PKG_NAME )
57 THEN
58 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
59 END IF;
60
61 -- Initialize message list if p_init_msg_list is set to TRUE.
62 IF FND_API.to_Boolean( p_init_msg_list ) THEN
63 FND_MSG_PUB.initialize;
64 END IF;
65
66 IF (lc_proc_level >= lc_debug_level) THEN
67 FND_LOG.STRING(lc_proc_level, lc_mod_name || '.BEGIN',
68 'Entered Create_RO_Diagnostic_Code');
69 END IF;
70
71 -- log parameters
72 IF (lc_stat_level >= lc_debug_level) THEN
73 csd_gen_utility_pvt.dump_ro_diagnostic_code_rec
74 ( p_ro_diagnostic_code_rec => p_ro_diagnostic_code_rec);
75 END IF;
76
77 -- Initialize API return status to success
78 x_return_status := FND_API.G_RET_STS_SUCCESS;
79
80 -- Api body starts
81
82 -- Check the required parameters
83 if (lc_proc_level >= lc_debug_level) then
84 FND_LOG.STRING(lc_proc_level, lc_mod_name,
85 'Checking required parameters');
86 end if;
87
88 -- Check the required parameter
89 CSD_PROCESS_UTIL.Check_Reqd_Param
90 ( p_param_value => p_ro_diagnostic_code_rec.repair_line_id,
91 p_param_name => 'REPAIR_LINE_ID',
92 p_api_name => lc_api_name);
93
94 -- Check the required parameter
95 CSD_PROCESS_UTIL.Check_Reqd_Param
96 ( p_param_value => p_ro_diagnostic_code_rec.diagnostic_code_id,
97 p_param_name => 'DIAGNOSTIC_CODE_ID',
98 p_api_name => lc_api_name);
99
100 -- Check the required parameter, rfieldma 4666403
101 CSD_PROCESS_UTIL.Check_Reqd_Param
102 ( p_param_value => p_ro_diagnostic_code_rec.diagnostic_item_id,
103 p_param_name => 'DIAGNOSTIC_ITEM_ID',
104 p_api_name => lc_api_name);
105
106 -- Validate the repair line ID
107 if (lc_proc_level >= lc_debug_level) then
108 FND_LOG.STRING(lc_proc_level, lc_mod_name,
109 'Validate repair line id');
110 end if;
111
112 -- Validate the repair line ID
113 IF NOT( CSD_PROCESS_UTIL.Validate_rep_line_id
114 ( p_repair_line_id => p_ro_diagnostic_code_rec.repair_line_id )) THEN
115 RAISE FND_API.G_EXC_ERROR;
116 END IF;
117
118 -- Validate the ro association for diagnostic code
119 if (lc_proc_level >= lc_debug_level) then
120 FND_LOG.STRING(lc_proc_level, lc_mod_name,
121 'Validate if the ro association for diagnostic code exists');
122 end if;
123
124 -- Validate the ro association for diagnostic code
125 Begin
126 l_dummy := null;
127
128 select 'X'
129 into l_dummy
130 from csd_ro_diagnostic_codes
131 where repair_line_id = p_ro_diagnostic_code_rec.repair_line_id
132 and diagnostic_code_id = p_ro_diagnostic_code_rec.diagnostic_code_id;
133
134 Exception
135
136 WHEN no_data_found THEN
137 null;
138
139 WHEN others THEN
140 l_dummy := 'X';
141
142 End;
143
144 -- If association exists, throw an error
145 IF (l_dummy = 'X') then
146 RAISE CSD_RDC_ASSOCIATION_EXISTS;
147 ELSE
148 if (lc_stat_level >= lc_debug_level) then
149 FND_LOG.STRING(lc_stat_level, lc_mod_name,
150 'RO diagnostic code association already exists');
151 end if;
152 END IF;
153
154 -- Insert row
155 if (lc_proc_level >= lc_debug_level) then
156 FND_LOG.STRING(lc_proc_level, lc_mod_name,
157 'Calling Insert_Row table handler');
158 end if;
159
160 BEGIN
161
162 -- Insert the ro diagnostic code association
163 CSD_RO_DIAGNOSTIC_CODES_PKG.Insert_Row
164 (px_ro_diagnostic_code_id => x_ro_diagnostic_code_id,
165 p_object_version_number => l_obj_ver_num,
166 p_repair_line_id => p_ro_diagnostic_code_rec.repair_line_id,
167 p_diagnostic_code_id => p_ro_diagnostic_code_rec.diagnostic_code_id,
168 p_created_by => FND_GLOBAL.USER_ID,
169 p_creation_date => SYSDATE,
170 p_last_updated_by => FND_GLOBAL.USER_ID,
171 p_last_update_date => SYSDATE,
172 p_last_update_login => FND_GLOBAL.LOGIN_ID,
173 p_attribute_category => p_ro_diagnostic_code_rec.attribute_category,
174 p_attribute1 => p_ro_diagnostic_code_rec.attribute1,
175 p_attribute2 => p_ro_diagnostic_code_rec.attribute2,
176 p_attribute3 => p_ro_diagnostic_code_rec.attribute3,
177 p_attribute4 => p_ro_diagnostic_code_rec.attribute4,
178 p_attribute5 => p_ro_diagnostic_code_rec.attribute5,
179 p_attribute6 => p_ro_diagnostic_code_rec.attribute6,
180 p_attribute7 => p_ro_diagnostic_code_rec.attribute7,
181 p_attribute8 => p_ro_diagnostic_code_rec.attribute8,
182 p_attribute9 => p_ro_diagnostic_code_rec.attribute9,
183 p_attribute10 => p_ro_diagnostic_code_rec.attribute10,
184 p_attribute11 => p_ro_diagnostic_code_rec.attribute11,
185 p_attribute12 => p_ro_diagnostic_code_rec.attribute12,
186 p_attribute13 => p_ro_diagnostic_code_rec.attribute13,
187 p_attribute14 => p_ro_diagnostic_code_rec.attribute14,
188 p_attribute15 => p_ro_diagnostic_code_rec.attribute15,
189 p_diagnostic_item_id => p_ro_diagnostic_code_rec.diagnostic_item_id -- rfieldma, 4666403
190 );
191
192 EXCEPTION
193 WHEN OTHERS THEN
194 IF ( lc_excep_level >= lc_debug_level) THEN
195 FND_LOG.STRING(lc_excep_level,lc_mod_name,'Others exception in CSD_RO_DIAGNOSTIC_CODES_PKG.Insert_Row Call :'||SubStr('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM, 1,255));
196 END IF;
197 x_return_status := FND_API.G_RET_STS_ERROR;
198 END;
199
200 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
201 RAISE FND_API.G_EXC_ERROR;
202 END IF;
203
204 if (lc_proc_level >= lc_debug_level) then
205 FND_LOG.STRING(lc_proc_level, lc_mod_name,
206 'Returned from Insert_Row table handler');
207 end if;
208
209 -- Api body ends here
210
211 -- Standard check of p_commit.
212 IF FND_API.To_Boolean( p_commit ) THEN
213 COMMIT WORK;
214 END IF;
215
216 -- Standard call to get message count and IF count is get message info.
217 FND_MSG_PUB.Count_And_Get
218 (p_count => x_msg_count,
219 p_data => x_msg_data );
220
221 IF (lc_proc_level >= lc_debug_level) THEN
222 FND_LOG.STRING(lc_proc_level, lc_mod_name || '.END',
223 'Leaving Create_RO_Diagnostic_Code');
224 END IF;
225
226 EXCEPTION
227 WHEN CSD_RDC_ASSOCIATION_EXISTS THEN
228 ROLLBACK TO Create_RO_Diagnostic_Code;
229
230 -- RO diagnostic code already exists
231 x_return_status := FND_API.G_RET_STS_ERROR ;
232
233 -- save message in fnd stack
234 if (lc_stat_level >= lc_debug_level) then
235 FND_LOG.STRING(lc_stat_level, lc_mod_name,
236 'Adding message CSD_RDC_ASSOCIATION_EXISTS to FND_MSG stack');
237 end if;
238 FND_MESSAGE.SET_NAME('CSD','CSD_RDC_ASSOCIATION_EXISTS');
239 FND_MESSAGE.SET_TOKEN('DIAGNOSTIC_CODE_ID',p_ro_diagnostic_code_rec.diagnostic_code_id);
240 FND_MSG_PUB.Add;
241
242 FND_MSG_PUB.Count_And_Get
243 (p_count => x_msg_count,
244 p_data => x_msg_data );
245
246 -- save message in debug log
247 IF (lc_excep_level >= lc_debug_level) THEN
248 FND_LOG.STRING(lc_excep_level, lc_mod_name,
249 'RO diagnostic code already exists');
250 END IF;
251
252 WHEN FND_API.G_EXC_ERROR THEN
253 ROLLBACK TO Create_RO_Diagnostic_Code;
254
255 x_return_status := FND_API.G_RET_STS_ERROR;
256
257 FND_MSG_PUB.Count_And_Get
258 (p_count => x_msg_count,
259 p_data => x_msg_data );
260
261 -- save message in debug log
262 IF (lc_excep_level >= lc_debug_level) THEN
263 FND_LOG.STRING(lc_excep_level, lc_mod_name,
264 'EXC_ERROR['||x_msg_data||']');
265 END IF;
266
267 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
268 ROLLBACK TO Create_RO_Diagnostic_Code;
269
270 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
271
272 IF FND_MSG_PUB.Check_Msg_Level
273 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
274 THEN
275 if (lc_stat_level >= lc_debug_level) then
276 FND_LOG.STRING(lc_stat_level, lc_mod_name,
277 'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
278 end if;
279 FND_MSG_PUB.Add_Exc_Msg
280 (G_PKG_NAME ,
281 lc_api_name );
282 END IF;
283
284 FND_MSG_PUB.Count_And_Get
285 ( p_count => x_msg_count,
286 p_data => x_msg_data );
287
288 -- save message in debug log
289 IF (lc_excep_level >= lc_debug_level) THEN
290 FND_LOG.STRING(lc_excep_level, lc_mod_name,
291 'EXC_UNEXPECTED_ERROR['||x_msg_data||']');
292 END IF;
293
294 WHEN OTHERS THEN
295 ROLLBACK TO Create_RO_Diagnostic_Code;
296
297 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
298
299 -- save message in fnd stack
300 IF FND_MSG_PUB.Check_Msg_Level
301 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
302 THEN
303 if (lc_stat_level >= lc_debug_level) then
304 FND_LOG.STRING(lc_stat_level, lc_mod_name,
305 'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
306 end if;
307 FND_MSG_PUB.Add_Exc_Msg
308 (G_PKG_NAME ,
309 lc_api_name );
310 END IF;
311
312 FND_MSG_PUB.Count_And_Get
313 (p_count => x_msg_count,
314 p_data => x_msg_data );
315
316 -- save message in debug log
317 IF (lc_excep_level >= lc_debug_level) THEN
318 -- create a seeded message
319 FND_LOG.STRING(lc_excep_level, lc_mod_name,
320 'SQL Message['||sqlerrm||']' );
321 END IF;
322
323 END Create_RO_Diagnostic_Code;
324
325 /*--------------------------------------------------*/
326 /* procedure name: Update_RO_Diagnostic_Code */
327 /* description : procedure used to update */
328 /* ro diagnostic code */
329 /* */
330 /*--------------------------------------------------*/
331 PROCEDURE Update_RO_Diagnostic_Code
332 (
333 p_api_version IN NUMBER,
334 p_commit IN VARCHAR2,
335 p_init_msg_list IN VARCHAR2,
336 p_validation_level IN NUMBER,
337 x_return_status OUT NOCOPY VARCHAR2,
338 x_msg_count OUT NOCOPY NUMBER,
339 x_msg_data OUT NOCOPY VARCHAR2,
340 p_ro_diagnostic_code_rec IN RO_DIAGNOSTIC_CODE_REC_TYPE,
341 x_obj_ver_number OUT NOCOPY NUMBER
342 )IS
343
344 -- CONSTANTS --
345 lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
346 lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
347 lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
348 lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
349 lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
350 lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
351 lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
352 lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_ro_diagnostic_codes_pvt.update_ro_diagnostic_code';
353 lc_api_name CONSTANT VARCHAR2(30) := 'Update_RO_Diagnostic_Code';
354 lc_api_version CONSTANT NUMBER := 1.0;
355
356 -- VARIABLES --
357 l_msg_count NUMBER;
358 l_msg_data VARCHAR2(100);
359 l_msg_index NUMBER;
360 l_dummy VARCHAR2(1) :=null;
361 l_obj_ver_num NUMBER := 1;
362
363 -- EXCEPTIONS --
364 CSD_RDC_RO_ID_MISSING EXCEPTION;
365 CSD_RDC_DC_ID_MISSING EXCEPTION;
366 CSD_RDC_ASSOCIATION_EXISTS EXCEPTION;
367 CSD_RDC_INVALID_ID EXCEPTION;
368 CSD_RDC_GET_OVN_ERROR EXCEPTION;
369 CSD_RDC_OVN_MISMATCH EXCEPTION;
370
371 BEGIN
372 -- Standard Start of API savepoint
373 SAVEPOINT Update_RO_Diagnostic_Code;
374
375 -- Standard call to check for call compatibility.
376 IF NOT FND_API.Compatible_API_Call (lc_api_version,
377 p_api_version,
378 lc_api_name ,
379 G_PKG_NAME )
380 THEN
381 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
382 END IF;
383
384 -- Initialize message list if p_init_msg_list is set to TRUE.
385 IF FND_API.to_Boolean( p_init_msg_list ) THEN
386 FND_MSG_PUB.initialize;
387 END IF;
388
389 IF (lc_proc_level >= lc_debug_level) THEN
390 FND_LOG.STRING(lc_proc_level, lc_mod_name || '.BEGIN',
391 'Entered Update_RO_Diagnostic_Code');
392 END IF;
393
394 -- log parameters
395 IF (lc_stat_level >= lc_debug_level) THEN
396 csd_gen_utility_pvt.dump_ro_diagnostic_code_rec
397 ( p_ro_diagnostic_code_rec => p_ro_diagnostic_code_rec);
398 END IF;
399
400 -- Initialize API return status to success
401 x_return_status := FND_API.G_RET_STS_SUCCESS;
402
403 -- Api body starts
404
405 -- Check the required parameters
406 if (lc_proc_level >= lc_debug_level) then
407 FND_LOG.STRING(lc_proc_level, lc_mod_name,
408 'Checking required parameters');
409 end if;
410
411 -- Check the required parameter
412 CSD_PROCESS_UTIL.Check_Reqd_Param
413 ( p_param_value => p_ro_diagnostic_code_rec.ro_diagnostic_code_id,
414 p_param_name => 'RO_DIAGNOSTIC_CODE_ID',
415 p_api_name => lc_api_name);
416
417 -- Check the required parameter, rfieldma 4666403
418 CSD_PROCESS_UTIL.Check_Reqd_Param
419 ( p_param_value => p_ro_diagnostic_code_rec.diagnostic_item_id,
420 p_param_name => 'DIAGNOSTIC_ITEM_ID',
421 p_api_name => lc_api_name);
422
423 -- Check if required parameter is passed in as G_MISS
424 IF (p_ro_diagnostic_code_rec.repair_line_id = FND_API.G_MISS_NUM) THEN
425 RAISE CSD_RDC_RO_ID_MISSING;
426 END IF;
427
428 -- Check if required parameter is passed in as G_MISS
429 IF (p_ro_diagnostic_code_rec.diagnostic_code_id = FND_API.G_MISS_NUM) THEN
430 RAISE CSD_RDC_DC_ID_MISSING;
431 END IF;
432
433 -- Validate the ro diagnostic code association
434 if (lc_proc_level >= lc_debug_level) then
435 FND_LOG.STRING(lc_proc_level, lc_mod_name,
436 'Validate the id for ro diagnostic code');
437 end if;
438
439 -- Validate the ro diagnostic code association
440 Begin
441 l_dummy := null;
442
443 select 'X'
444 into l_dummy
445 from csd_ro_diagnostic_codes
446 where ro_diagnostic_code_id = p_ro_diagnostic_code_rec.ro_diagnostic_code_id;
447
448 Exception
449
450 WHEN others THEN
451 null;
452
453 End;
454
455 -- If ro diagnostic code association does not exist, throw an error
456 IF (l_dummy <> 'X') then
457 RAISE CSD_RDC_INVALID_ID;
458 ELSE
459 if (lc_stat_level >= lc_debug_level) then
460 FND_LOG.STRING(lc_stat_level, lc_mod_name,
461 'RO diagnostic code association is valid');
462 end if;
463 END IF;
464
465 -- Get the object version number for ro diagnostic code association
466 if (lc_proc_level >= lc_debug_level) then
467 FND_LOG.STRING(lc_proc_level, lc_mod_name,
468 'Get object version number for ro diagnostic code association');
469 end if;
470
471 -- Get object version number for ro diagnostic code
472 Begin
473 select object_version_number
474 into l_obj_ver_num
475 from csd_ro_diagnostic_codes
476 where ro_diagnostic_code_id = p_ro_diagnostic_code_rec.ro_diagnostic_code_id;
477
478 Exception
479
480 WHEN others THEN
481 l_obj_ver_num := null;
482
483 End;
484
485 -- If no object version number, throw an error
486 IF (l_obj_ver_num is null) then
487 RAISE CSD_RDC_GET_OVN_ERROR;
488 ELSE
489 if (lc_stat_level >= lc_debug_level) then
490 FND_LOG.STRING(lc_stat_level, lc_mod_name,
491 'Retrieved object version number');
492 end if;
493 END IF;
494
495 -- Validate the object version number for ro diagnostic code association
496 if (lc_proc_level >= lc_debug_level) then
497 FND_LOG.STRING(lc_proc_level, lc_mod_name,
498 'Validate object version number for ro diagnostic code association');
499 end if;
500
501 -- Validate if object version number for ro diagnostic code is same as the one passed in
502 IF NVL(p_ro_diagnostic_code_rec.object_version_number,FND_API.G_MISS_NUM) <> l_obj_ver_num THEN
503 RAISE CSD_RDC_OVN_MISMATCH;
504 ELSE
505 if (lc_stat_level >= lc_debug_level) then
506 FND_LOG.STRING(lc_stat_level, lc_mod_name,
507 'Object version number is valid');
508 end if;
509 END IF;
510
511 -- Validate the repair line id if it is passed in
512 if (lc_proc_level >= lc_debug_level) then
513 FND_LOG.STRING(lc_proc_level, lc_mod_name,
514 'Validate repair line id if it is passed in');
515 end if;
516
517 -- Validate the repair line ID
518 IF (p_ro_diagnostic_code_rec.repair_line_id IS NOT NULL) THEN
519 IF NOT( CSD_PROCESS_UTIL.Validate_rep_line_id
520 ( p_repair_line_id => p_ro_diagnostic_code_rec.repair_line_id )) THEN
521 RAISE FND_API.G_EXC_ERROR;
522 END IF;
523 END IF;
524
525 -- Validate the ro association for diagnostic code
526 if (lc_proc_level >= lc_debug_level) then
527 FND_LOG.STRING(lc_proc_level, lc_mod_name,
528 'Validate if the ro association for diagnostic code exists');
529 end if;
530
531 -- Validate the ro association for diagnostic code
532 Begin
533
534 l_dummy := null;
535
536 select 'X'
537 into l_dummy
538 from csd_ro_diagnostic_codes
539 where ro_diagnostic_code_id <> p_ro_diagnostic_code_rec.ro_diagnostic_code_id
540 and repair_line_id = p_ro_diagnostic_code_rec.repair_line_id
541 and diagnostic_code_id = p_ro_diagnostic_code_rec.diagnostic_code_id;
542
543 Exception
544
545 WHEN no_data_found THEN
546 null;
547
548 WHEN others THEN
549 l_dummy := 'X';
550
551 End;
552
553 -- If association exists, throw an error
554 IF (l_dummy = 'X') then
555 RAISE CSD_RDC_ASSOCIATION_EXISTS;
556 ELSE
557 if (lc_stat_level >= lc_debug_level) then
558 FND_LOG.STRING(lc_stat_level, lc_mod_name,
559 'RO diagnostic code association already exists');
560 end if;
561 END IF;
562
563 -- Update row
564 if (lc_proc_level >= lc_debug_level) then
565 FND_LOG.STRING(lc_proc_level, lc_mod_name,
566 'Calling Update_Row table handler');
567 end if;
568
569 BEGIN
570
571 -- Update the ro diagnostic code association
572 CSD_RO_DIAGNOSTIC_CODES_PKG.Update_Row
573 (p_ro_diagnostic_code_id => p_ro_diagnostic_code_rec.ro_diagnostic_code_id,
574 p_object_version_number => l_obj_ver_num + 1,
575 p_repair_line_id => p_ro_diagnostic_code_rec.repair_line_id,
576 p_diagnostic_code_id => p_ro_diagnostic_code_rec.diagnostic_code_id,
577 p_created_by => FND_GLOBAL.USER_ID,
578 p_creation_date => SYSDATE,
579 p_last_updated_by => FND_GLOBAL.USER_ID,
580 p_last_update_date => SYSDATE,
581 p_last_update_login => FND_GLOBAL.LOGIN_ID,
582 p_attribute_category => p_ro_diagnostic_code_rec.attribute_category,
583 p_attribute1 => p_ro_diagnostic_code_rec.attribute1,
584 p_attribute2 => p_ro_diagnostic_code_rec.attribute2,
585 p_attribute3 => p_ro_diagnostic_code_rec.attribute3,
586 p_attribute4 => p_ro_diagnostic_code_rec.attribute4,
587 p_attribute5 => p_ro_diagnostic_code_rec.attribute5,
588 p_attribute6 => p_ro_diagnostic_code_rec.attribute6,
589 p_attribute7 => p_ro_diagnostic_code_rec.attribute7,
590 p_attribute8 => p_ro_diagnostic_code_rec.attribute8,
591 p_attribute9 => p_ro_diagnostic_code_rec.attribute9,
592 p_attribute10 => p_ro_diagnostic_code_rec.attribute10,
593 p_attribute11 => p_ro_diagnostic_code_rec.attribute11,
594 p_attribute12 => p_ro_diagnostic_code_rec.attribute12,
595 p_attribute13 => p_ro_diagnostic_code_rec.attribute13,
596 p_attribute14 => p_ro_diagnostic_code_rec.attribute14,
597 p_attribute15 => p_ro_diagnostic_code_rec.attribute15,
598 p_diagnostic_item_id => p_ro_diagnostic_code_rec.diagnostic_item_id -- rfieldma, 4666403
599 );
600
601 x_obj_ver_number := l_obj_ver_num + 1;
602
603 EXCEPTION
604 WHEN OTHERS THEN
605 IF ( lc_excep_level >= lc_debug_level) THEN
606 FND_LOG.STRING(lc_excep_level,lc_mod_name,'Others exception in CSD_RO_DIAGNOSTIC_CODES_PKG.Update_Row Call :'||SubStr('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM, 1,255));
607 END IF;
608 x_return_status := FND_API.G_RET_STS_ERROR;
609 END;
610
611 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
612 RAISE FND_API.G_EXC_ERROR;
613 END IF;
614
615 if (lc_proc_level >= lc_debug_level) then
616 FND_LOG.STRING(lc_proc_level, lc_mod_name,
617 'Returned from Update_Row table handler');
618 end if;
619
620 -- Api body ends here
621
622 -- Standard check of p_commit.
623 IF FND_API.To_Boolean( p_commit ) THEN
624 COMMIT WORK;
625 END IF;
626
627 -- Standard call to get message count and IF count is get message info.
628 FND_MSG_PUB.Count_And_Get
629 (p_count => x_msg_count,
630 p_data => x_msg_data );
631
632 IF (lc_proc_level >= lc_debug_level) THEN
633 FND_LOG.STRING(lc_proc_level, lc_mod_name || '.END',
634 'Leaving Update_RO_Diagnostic_Code');
635 END IF;
636
637 EXCEPTION
638
639 WHEN CSD_RDC_RO_ID_MISSING THEN
640 ROLLBACK TO Update_RO_Diagnostic_Code;
641 -- Repair line id is missing
642 x_return_status := FND_API.G_RET_STS_ERROR ;
643
644 -- save message in fnd stack
645 if (lc_stat_level >= lc_debug_level) then
646 FND_LOG.STRING(lc_stat_level, lc_mod_name,
647 'Adding message CSD_RDC_RO_ID_MISSING to FND_MSG stack');
648 end if;
649 FND_MESSAGE.SET_NAME('CSD','CSD_API_MISSING_PARAM');
650 FND_MESSAGE.SET_TOKEN('API_NAME',lc_api_name);
651 FND_MESSAGE.SET_TOKEN('MISSING_PARAM','REPAIR_LINE_ID');
652 FND_MSG_PUB.Add;
653
654 FND_MSG_PUB.Count_And_Get
655 (p_count => x_msg_count,
656 p_data => x_msg_data );
657
658 -- save message in debug log
659 IF (lc_excep_level >= lc_debug_level) THEN
660 FND_LOG.STRING(lc_excep_level, lc_mod_name,
661 'Repair line id is missing');
662 END IF;
663
664 WHEN CSD_RDC_DC_ID_MISSING THEN
665 ROLLBACK TO Update_RO_Diagnostic_Code;
666 -- Diagnostic code id is missing
667 x_return_status := FND_API.G_RET_STS_ERROR ;
668
669 -- save message in fnd stack
670 if (lc_stat_level >= lc_debug_level) then
671 FND_LOG.STRING(lc_stat_level, lc_mod_name,
672 'Adding message CSD_RDC_DC_ID_MISSING to FND_MSG stack');
673 end if;
674 FND_MESSAGE.SET_NAME('CSD','CSD_API_MISSING_PARAM');
675 FND_MESSAGE.SET_TOKEN('API_NAME',lc_api_name);
676 FND_MESSAGE.SET_TOKEN('MISSING_PARAM','DIAGNOSTIC_CODE_ID');
677 FND_MSG_PUB.Add;
678
679 FND_MSG_PUB.Count_And_Get
680 (p_count => x_msg_count,
681 p_data => x_msg_data );
682
683 -- save message in debug log
684 IF (lc_excep_level >= lc_debug_level) THEN
685 FND_LOG.STRING(lc_excep_level, lc_mod_name,
686 'Diagnostic code id is missing');
687 END IF;
688
689 WHEN CSD_RDC_ASSOCIATION_EXISTS THEN
690 ROLLBACK TO Create_RO_Diagnostic_Code;
691
692 -- RO diagnostic code already exists
693 x_return_status := FND_API.G_RET_STS_ERROR ;
694
695 -- save message in fnd stack
696 if (lc_stat_level >= lc_debug_level) then
697 FND_LOG.STRING(lc_stat_level, lc_mod_name,
698 'Adding message CSD_RDC_ASSOCIATION_EXISTS to FND_MSG stack');
699 end if;
700 FND_MESSAGE.SET_NAME('CSD','CSD_RDC_ASSOCIATION_EXISTS');
701 FND_MESSAGE.SET_TOKEN('DIAGNOSTIC_CODE_ID',p_ro_diagnostic_code_rec.diagnostic_code_id);
702 FND_MSG_PUB.Add;
703
704 FND_MSG_PUB.Count_And_Get
705 (p_count => x_msg_count,
706 p_data => x_msg_data );
707
708 -- save message in debug log
709 IF (lc_excep_level >= lc_debug_level) THEN
710 FND_LOG.STRING(lc_excep_level, lc_mod_name,
711 'RO diagnostic code already exists');
712 END IF;
713
714 WHEN CSD_RDC_INVALID_ID THEN
715 ROLLBACK TO Update_RO_Diagnostic_Code;
716
717 -- RO diagnostic code id is invalid
718 x_return_status := FND_API.G_RET_STS_ERROR ;
719
720 -- save message in fnd stack
721 if (lc_stat_level >= lc_debug_level) then
722 FND_LOG.STRING(lc_stat_level, lc_mod_name,
723 'Adding message CSD_RDC_INVALID_ID to FND_MSG stack');
724 end if;
725 FND_MESSAGE.SET_NAME('CSD','CSD_RDC_INVALID_ID');
726 FND_MESSAGE.SET_TOKEN('RO_DIAGNOSTIC_CODE_ID',p_ro_diagnostic_code_rec.ro_diagnostic_code_id);
727 FND_MSG_PUB.Add;
728
729 FND_MSG_PUB.Count_And_Get
730 (p_count => x_msg_count,
731 p_data => x_msg_data );
732
733 -- save message in debug log
734 IF (lc_excep_level >= lc_debug_level) THEN
735 FND_LOG.STRING(lc_excep_level, lc_mod_name,
736 'RO diagnostic code id is invalid');
737 END IF;
738
739 WHEN CSD_RDC_GET_OVN_ERROR THEN
740 ROLLBACK TO Update_RO_Diagnostic_Code;
741
742 -- RO diagnostic code get object version number error
743 x_return_status := FND_API.G_RET_STS_ERROR ;
744
745 -- save message in fnd stack
746 if (lc_stat_level >= lc_debug_level) then
747 FND_LOG.STRING(lc_stat_level, lc_mod_name,
748 'Adding message CSD_RDC_GET_OVN_ERROR to FND_MSG stack');
749 end if;
750 FND_MESSAGE.SET_NAME('CSD','CSD_RDC_GET_OVN_ERROR');
751 FND_MESSAGE.SET_TOKEN('RO_DIAGNOSTIC_CODE_ID',p_ro_diagnostic_code_rec.ro_diagnostic_code_id);
752 FND_MSG_PUB.Add;
753
754 FND_MSG_PUB.Count_And_Get
755 (p_count => x_msg_count,
756 p_data => x_msg_data );
757
758 -- save message in debug log
759 IF (lc_excep_level >= lc_debug_level) THEN
760 FND_LOG.STRING(lc_excep_level, lc_mod_name,
761 'RO diagnostic code get object version number error');
762 END IF;
763
764 WHEN CSD_RDC_OVN_MISMATCH THEN
765 ROLLBACK TO Update_RO_Diagnostic_Code;
766
767 -- RO diagnostic code object version number mismatch
768 x_return_status := FND_API.G_RET_STS_ERROR ;
769
770 -- save message in fnd stack
771 if (lc_stat_level >= lc_debug_level) then
772 FND_LOG.STRING(lc_stat_level, lc_mod_name,
773 'Adding message CSD_RDC_OVN_MISMATCH to FND_MSG stack');
774 end if;
775 FND_MESSAGE.SET_NAME('CSD','CSD_RDC_OVN_MISMATCH');
776 FND_MESSAGE.SET_TOKEN('RO_DIAGNOSTIC_CODE_ID',p_ro_diagnostic_code_rec.ro_diagnostic_code_id);
777 FND_MSG_PUB.Add;
778
779 FND_MSG_PUB.Count_And_Get
780 (p_count => x_msg_count,
781 p_data => x_msg_data );
782
783 -- save message in debug log
784 IF (lc_excep_level >= lc_debug_level) THEN
785 FND_LOG.STRING(lc_excep_level, lc_mod_name,
786 'RO diagnostic code object version number mismatch');
787 END IF;
788
789 WHEN FND_API.G_EXC_ERROR THEN
790 ROLLBACK TO Update_RO_Diagnostic_Code;
791
792 x_return_status := FND_API.G_RET_STS_ERROR;
793
794 FND_MSG_PUB.Count_And_Get
795 (p_count => x_msg_count,
796 p_data => x_msg_data );
797
798 -- save message in debug log
799 IF (lc_excep_level >= lc_debug_level) THEN
800 FND_LOG.STRING(lc_excep_level, lc_mod_name,
801 'EXC_ERROR['||x_msg_data||']');
802 END IF;
803
804 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
805 ROLLBACK TO Update_RO_Diagnostic_Code;
806
807 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
808
809 IF FND_MSG_PUB.Check_Msg_Level
810 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
811 THEN
812 if (lc_stat_level >= lc_debug_level) then
813 FND_LOG.STRING(lc_stat_level, lc_mod_name,
814 'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
815 end if;
816 FND_MSG_PUB.Add_Exc_Msg
817 (G_PKG_NAME ,
818 lc_api_name );
819 END IF;
820
821 FND_MSG_PUB.Count_And_Get
822 ( p_count => x_msg_count,
823 p_data => x_msg_data );
824
825 -- save message in debug log
826 IF (lc_excep_level >= lc_debug_level) THEN
827 FND_LOG.STRING(lc_excep_level, lc_mod_name,
828 'EXC_UNEXPECTED_ERROR['||x_msg_data||']');
829 END IF;
830
831 WHEN OTHERS THEN
832 ROLLBACK TO Update_RO_Diagnostic_Code;
833
834 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
835
836 -- save message in fnd stack
837 IF FND_MSG_PUB.Check_Msg_Level
838 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
839 THEN
840 if (lc_stat_level >= lc_debug_level) then
841 FND_LOG.STRING(lc_stat_level, lc_mod_name,
842 'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
843 end if;
844 FND_MSG_PUB.Add_Exc_Msg
845 (G_PKG_NAME ,
846 lc_api_name );
847 END IF;
848
849 FND_MSG_PUB.Count_And_Get
850 (p_count => x_msg_count,
851 p_data => x_msg_data );
852
853 -- save message in debug log
854 IF (lc_excep_level >= lc_debug_level) THEN
855 -- create a seeded message
856 FND_LOG.STRING(lc_excep_level, lc_mod_name,
857 'SQL Message['||sqlerrm||']' );
858 END IF;
859
860 END Update_RO_Diagnostic_Code;
861
862
863 /*--------------------------------------------------*/
864 /* procedure name: Delete_RO_Diagnostic_Code */
865 /* description : procedure used to delete */
866 /* ro diagnostic code */
867 /* */
868 /*--------------------------------------------------*/
869 PROCEDURE Delete_RO_Diagnostic_Code
870 (
871 p_api_version IN NUMBER,
872 p_commit IN VARCHAR2,
873 p_init_msg_list IN VARCHAR2,
874 p_validation_level IN NUMBER,
875 x_return_status OUT NOCOPY VARCHAR2,
876 x_msg_count OUT NOCOPY NUMBER,
877 x_msg_data OUT NOCOPY VARCHAR2,
878 p_ro_diagnostic_code_id IN NUMBER
879 ) IS
880
881 -- CONSTANTS --
882 lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
883 lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
884 lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
885 lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
886 lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
887 lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
888 lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
889 lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_ro_diagnostic_codes_pvt.delete_ro_diagnostic_code';
890 lc_api_name CONSTANT VARCHAR2(30) := 'Delete_RO_Diagnostic_Code';
891 lc_api_version CONSTANT NUMBER := 1.0;
892
893 -- VARIABLES --
894 l_msg_count NUMBER;
895 l_msg_data VARCHAR2(100);
896 l_msg_index NUMBER;
897
898 BEGIN
899 -- Standard Start of API savepoint
900 SAVEPOINT Delete_RO_Diagnostic_Code;
901
902 -- Standard call to check for call compatibility.
903 IF NOT FND_API.Compatible_API_Call (lc_api_version,
904 p_api_version,
905 lc_api_name ,
906 G_PKG_NAME )
907 THEN
908 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
909 END IF;
910
911 -- Initialize message list if p_init_msg_list is set to TRUE.
912 IF FND_API.to_Boolean( p_init_msg_list ) THEN
913 FND_MSG_PUB.initialize;
914 END IF;
915
916 IF (lc_proc_level >= lc_debug_level) THEN
917 FND_LOG.STRING(lc_proc_level, lc_mod_name || '.BEGIN',
918 'Entered Delete_RO_Diagnostic_Code');
919 END IF;
920
921 -- Initialize API return status to success
922 x_return_status := FND_API.G_RET_STS_SUCCESS;
923
924 -- Api body starts
925
926 -- Check the required parameters
927 if (lc_proc_level >= lc_debug_level) then
928 FND_LOG.STRING(lc_proc_level, lc_mod_name,
929 'Checking required parameter');
930 end if;
931
932 -- Check the required parameter
933 CSD_PROCESS_UTIL.Check_Reqd_Param
934 ( p_param_value => p_ro_diagnostic_code_id,
935 p_param_name => 'RO_DIAGNOSTIC_CODE_ID',
936 p_api_name => lc_api_name);
937
938 -- Delete row
939 if (lc_proc_level >= lc_debug_level) then
940 FND_LOG.STRING(lc_proc_level, lc_mod_name,
941 'Calling Delete_Row table handler');
942 end if;
943
944 BEGIN
945
946 -- Delete the ro diagnostic code association
947 CSD_RO_DIAGNOSTIC_CODES_PKG.Delete_Row
948 (p_ro_diagnostic_code_id => p_ro_diagnostic_code_id);
949
950 EXCEPTION
951 WHEN OTHERS THEN
952 IF ( lc_excep_level >= lc_debug_level) THEN
953 FND_LOG.STRING(lc_excep_level,lc_mod_name,'Others exception in CSD_RO_DIAGNOSTIC_CODES_PKG.Delete_Row Call :'||SubStr('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM, 1,255));
954 END IF;
955 x_return_status := FND_API.G_RET_STS_ERROR;
956 END;
957
958 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
959 RAISE FND_API.G_EXC_ERROR;
960 END IF;
961
962 if (lc_proc_level >= lc_debug_level) then
963 FND_LOG.STRING(lc_proc_level, lc_mod_name,
964 'Returned from Delete_Row table handler');
965 end if;
966
967 -- Api body ends here
968
969 -- Standard check of p_commit.
970 IF FND_API.To_Boolean( p_commit ) THEN
971 COMMIT WORK;
972 END IF;
973
974 -- Standard call to get message count and IF count is get message info.
975 FND_MSG_PUB.Count_And_Get
976 (p_count => x_msg_count,
977 p_data => x_msg_data );
978
979 IF (lc_proc_level >= lc_debug_level) THEN
980 FND_LOG.STRING(lc_proc_level, lc_mod_name || '.END',
981 'Leaving Delete_RO_Diagnostic_Code');
982 END IF;
983
984 EXCEPTION
985 WHEN FND_API.G_EXC_ERROR THEN
986 ROLLBACK TO Delete_RO_Diagnostic_Code;
987
988 x_return_status := FND_API.G_RET_STS_ERROR;
989
990 FND_MSG_PUB.Count_And_Get
991 (p_count => x_msg_count,
992 p_data => x_msg_data );
993
994 -- save message in debug log
995 IF (lc_excep_level >= lc_debug_level) THEN
996 FND_LOG.STRING(lc_excep_level, lc_mod_name,
997 'EXC_ERROR['||x_msg_data||']');
998 END IF;
999
1000 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1001 ROLLBACK TO Delete_RO_Diagnostic_Code;
1002
1003 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1004
1005 IF FND_MSG_PUB.Check_Msg_Level
1006 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1007 THEN
1008 if (lc_stat_level >= lc_debug_level) then
1009 FND_LOG.STRING(lc_stat_level, lc_mod_name,
1010 'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
1011 end if;
1012 FND_MSG_PUB.Add_Exc_Msg
1013 (G_PKG_NAME ,
1014 lc_api_name );
1015 END IF;
1016
1017 FND_MSG_PUB.Count_And_Get
1018 ( p_count => x_msg_count,
1019 p_data => x_msg_data );
1020
1021 -- save message in debug log
1022 IF (lc_excep_level >= lc_debug_level) THEN
1023 FND_LOG.STRING(lc_excep_level, lc_mod_name,
1024 'EXC_UNEXPECTED_ERROR['||x_msg_data||']');
1025 END IF;
1026
1027 WHEN OTHERS THEN
1028 ROLLBACK TO Delete_RO_Diagnostic_Code;
1029
1030 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1031
1032 -- save message in fnd stack
1033 IF FND_MSG_PUB.Check_Msg_Level
1034 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1035 THEN
1036 if (lc_stat_level >= lc_debug_level) then
1037 FND_LOG.STRING(lc_stat_level, lc_mod_name,
1038 'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
1039 end if;
1040 FND_MSG_PUB.Add_Exc_Msg
1041 (G_PKG_NAME ,
1042 lc_api_name );
1043 END IF;
1044
1045 FND_MSG_PUB.Count_And_Get
1046 (p_count => x_msg_count,
1047 p_data => x_msg_data );
1048
1049 -- save message in debug log
1050 IF (lc_excep_level >= lc_debug_level) THEN
1051 -- create a seeded message
1052 FND_LOG.STRING(lc_excep_level, lc_mod_name,
1053 'SQL Message['||sqlerrm||']' );
1054 END IF;
1055
1056 END Delete_RO_Diagnostic_Code;
1057
1058 /*--------------------------------------------------*/
1059 /* procedure name: Lock_RO_Diagnostic_Code */
1060 /* description : procedure used to lock */
1061 /* ro diagnostic code */
1062 /* */
1063 /*--------------------------------------------------*/
1064 PROCEDURE Lock_RO_Diagnostic_Code
1065 (
1066 p_api_version IN NUMBER,
1067 p_commit IN VARCHAR2,
1068 p_init_msg_list IN VARCHAR2,
1069 p_validation_level IN NUMBER,
1070 x_return_status OUT NOCOPY VARCHAR2,
1071 x_msg_count OUT NOCOPY NUMBER,
1072 x_msg_data OUT NOCOPY VARCHAR2,
1073 p_ro_diagnostic_code_rec IN RO_DIAGNOSTIC_CODE_REC_TYPE
1074 )IS
1075
1076 -- CONSTANTS --
1077 lc_debug_level CONSTANT NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1078 lc_stat_level CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
1079 lc_proc_level CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
1080 lc_event_level CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
1081 lc_excep_level CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
1082 lc_error_level CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
1083 lc_unexp_level CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
1084 lc_mod_name CONSTANT VARCHAR2(100) := 'csd.plsql.csd_ro_diagnostic_codes_pvt.lock_ro_diagnostic_code';
1085 lc_api_name CONSTANT VARCHAR2(30) := 'Lock_RO_Diagnostic_Code';
1086 lc_api_version CONSTANT NUMBER := 1.0;
1087
1088 -- VARIABLES --
1089 l_msg_count NUMBER;
1090 l_msg_data VARCHAR2(100);
1091 l_msg_index NUMBER;
1092
1093 BEGIN
1094 -- Standard Start of API savepoint
1095 SAVEPOINT Lock_RO_Diagnostic_Code;
1096
1097 -- Standard call to check for call compatibility.
1098 IF NOT FND_API.Compatible_API_Call (lc_api_version,
1099 p_api_version,
1100 lc_api_name ,
1101 G_PKG_NAME )
1102 THEN
1103 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1104 END IF;
1105
1106 -- Initialize message list if p_init_msg_list is set to TRUE.
1107 IF FND_API.to_Boolean( p_init_msg_list ) THEN
1108 FND_MSG_PUB.initialize;
1109 END IF;
1110
1111 IF (lc_proc_level >= lc_debug_level) THEN
1112 FND_LOG.STRING(lc_proc_level, lc_mod_name || '.BEGIN',
1113 'Entered Lock_RO_Diagnostic_Code');
1114 END IF;
1115
1116 -- Initialize API return status to success
1117 x_return_status := FND_API.G_RET_STS_SUCCESS;
1118
1119 -- Api body starts
1120
1121 -- Check the required parameters
1122 if (lc_proc_level >= lc_debug_level) then
1123 FND_LOG.STRING(lc_proc_level, lc_mod_name,
1124 'Checking required parameters');
1125 end if;
1126 -- Check the required parameter
1127 CSD_PROCESS_UTIL.Check_Reqd_Param
1128 ( p_param_value => p_ro_diagnostic_code_rec.ro_diagnostic_code_id,
1129 p_param_name => 'RO_DIAGNOSTIC_CODE_ID',
1130 p_api_name => lc_api_name);
1131
1132 -- Check the required parameter
1133 CSD_PROCESS_UTIL.Check_Reqd_Param
1134 ( p_param_value => p_ro_diagnostic_code_rec.object_version_number,
1135 p_param_name => 'OBJECT_VERSION_NUMBER',
1136 p_api_name => lc_api_name);
1137
1138 -- Lock row
1139 if (lc_proc_level >= lc_debug_level) then
1140 FND_LOG.STRING(lc_proc_level, lc_mod_name,
1141 'Calling Lock_Row table handler');
1142 end if;
1143
1144 BEGIN
1145
1146 -- Lock the ro diagnostic code association
1147 CSD_RO_DIAGNOSTIC_CODES_PKG.Lock_Row
1148 (p_ro_diagnostic_code_id => p_ro_diagnostic_code_rec.ro_diagnostic_code_id,
1149 p_object_version_number => p_ro_diagnostic_code_rec.object_version_number
1150
1151 --commented out the rest of the record
1152 /*,
1153 p_repair_line_id => p_ro_diagnostic_code_rec.repair_line_id,
1154 p_diagnostic_code_id => p_ro_diagnostic_code_rec.diagnostic_code_id,
1155 p_created_by => FND_GLOBAL.USER_ID,
1156 p_creation_date => SYSDATE,
1157 p_last_updated_by => FND_GLOBAL.USER_ID,
1158 p_last_update_date => SYSDATE,
1159 p_last_update_login => FND_GLOBAL.LOGIN_ID,
1160 p_attribute_category => p_ro_diagnostic_code_rec.attribute_category,
1161 p_attribute1 => p_ro_diagnostic_code_rec.attribute1,
1162 p_attribute2 => p_ro_diagnostic_code_rec.attribute2,
1163 p_attribute3 => p_ro_diagnostic_code_rec.attribute3,
1164 p_attribute4 => p_ro_diagnostic_code_rec.attribute4,
1165 p_attribute5 => p_ro_diagnostic_code_rec.attribute5,
1166 p_attribute6 => p_ro_diagnostic_code_rec.attribute6,
1167 p_attribute7 => p_ro_diagnostic_code_rec.attribute7,
1168 p_attribute8 => p_ro_diagnostic_code_rec.attribute8,
1169 p_attribute9 => p_ro_diagnostic_code_rec.attribute9,
1170 p_attribute10 => p_ro_diagnostic_code_rec.attribute10,
1171 p_attribute11 => p_ro_diagnostic_code_rec.attribute11,
1172 p_attribute12 => p_ro_diagnostic_code_rec.attribute12,
1173 p_attribute13 => p_ro_diagnostic_code_rec.attribute13,
1174 p_attribute14 => p_ro_diagnostic_code_rec.attribute14,
1175 p_attribute15 => p_ro_diagnostic_code_rec.attribute15
1176 */
1177 --
1178 );
1179
1180 EXCEPTION
1181 WHEN OTHERS THEN
1182 IF ( lc_excep_level >= lc_debug_level) THEN
1183 FND_LOG.STRING(lc_excep_level,lc_mod_name,'Others exception in CSD_RO_DIAGNOSTIC_CODES_PKG.Lock_Row Call :'||SubStr('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM, 1,255));
1184 END IF;
1185 x_return_status := FND_API.G_RET_STS_ERROR;
1186 END;
1187
1188 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1189 RAISE FND_API.G_EXC_ERROR;
1190 END IF;
1191
1192 if (lc_proc_level >= lc_debug_level) then
1193 FND_LOG.STRING(lc_proc_level, lc_mod_name,
1194 'Returned from Lock_Row table handler');
1195 end if;
1196
1197 -- Api body ends here
1198
1199 -- Standard check of p_commit.
1200 IF FND_API.To_Boolean( p_commit ) THEN
1201 COMMIT WORK;
1202 END IF;
1203
1204 -- Standard call to get message count and IF count is get message info.
1205 FND_MSG_PUB.Count_And_Get
1206 (p_count => x_msg_count,
1207 p_data => x_msg_data );
1208
1209 IF (lc_proc_level >= lc_debug_level) THEN
1210 FND_LOG.STRING(lc_proc_level, lc_mod_name || '.END',
1211 'Leaving Lock_RO_Diagnostic_Code');
1212 END IF;
1213
1214 EXCEPTION
1215 WHEN FND_API.G_EXC_ERROR THEN
1216 ROLLBACK TO Lock_RO_Diagnostic_Code;
1217
1218 x_return_status := FND_API.G_RET_STS_ERROR;
1219
1220 FND_MSG_PUB.Count_And_Get
1221 (p_count => x_msg_count,
1222 p_data => x_msg_data );
1223
1224 -- save message in debug log
1225 IF (lc_excep_level >= lc_debug_level) THEN
1226 FND_LOG.STRING(lc_excep_level, lc_mod_name,
1227 'EXC_ERROR['||x_msg_data||']');
1228 END IF;
1229
1230 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1231 ROLLBACK TO Lock_RO_Diagnostic_Code;
1232
1233 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1234
1235 IF FND_MSG_PUB.Check_Msg_Level
1236 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1237 THEN
1238 if (lc_stat_level >= lc_debug_level) then
1239 FND_LOG.STRING(lc_stat_level, lc_mod_name,
1240 'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
1241 end if;
1242 FND_MSG_PUB.Add_Exc_Msg
1243 (G_PKG_NAME ,
1244 lc_api_name );
1245 END IF;
1246
1247 FND_MSG_PUB.Count_And_Get
1248 ( p_count => x_msg_count,
1249 p_data => x_msg_data );
1250
1251 -- save message in debug log
1252 IF (lc_excep_level >= lc_debug_level) THEN
1253 FND_LOG.STRING(lc_excep_level, lc_mod_name,
1254 'EXC_UNEXPECTED_ERROR['||x_msg_data||']');
1255 END IF;
1256
1257 WHEN OTHERS THEN
1258 ROLLBACK TO Lock_RO_Diagnostic_Code;
1259
1260 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1261
1262 -- save message in fnd stack
1263 IF FND_MSG_PUB.Check_Msg_Level
1264 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1265 THEN
1266 if (lc_stat_level >= lc_debug_level) then
1267 FND_LOG.STRING(lc_stat_level, lc_mod_name,
1268 'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
1269 end if;
1270 FND_MSG_PUB.Add_Exc_Msg
1271 (G_PKG_NAME ,
1272 lc_api_name );
1273 END IF;
1274
1275 FND_MSG_PUB.Count_And_Get
1276 (p_count => x_msg_count,
1277 p_data => x_msg_data );
1278
1279 -- save message in debug log
1280 IF (lc_excep_level >= lc_debug_level) THEN
1281 -- create a seeded message
1282 FND_LOG.STRING(lc_excep_level, lc_mod_name,
1283 'SQL Message['||sqlerrm||']' );
1284 END IF;
1285
1286 END Lock_RO_Diagnostic_Code;
1287
1288 End CSD_RO_DIAGNOSTIC_CODES_PVT;