DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSD_REPAIR_MILESTONES_PVT

Source


1 PACKAGE BODY CSD_REPAIR_MILESTONES_PVT as
2 /* $Header: csdvromb.pls 120.0 2005/07/14 18:57:26 vkjain noship $ */
3 
4 G_PKG_NAME    CONSTANT VARCHAR2(30) := 'CSD_REPAIR_MILESTONES_PVT';
5 G_FILE_NAME   CONSTANT VARCHAR2(12) := 'csdvromb.pls';
6 
7 /*--------------------------------------------------*/
8 /* procedure name: Create_Repair_Milestone          */
9 /* description   : procedure used to create         */
10 /*                 repair milestone                 */
11 /*                                                  */
12 /*--------------------------------------------------*/
13 PROCEDURE Create_Repair_Milestone
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_repair_milestone_rec      IN  REPAIR_MILESTONE_REC_TYPE,
23   x_repair_milestone_id 	OUT NOCOPY NUMBER
24 ) IS
25 
26 -- CONSTANTS --
27  lc_mod_name              CONSTANT VARCHAR2(100)  := 'csd.plsql.CSD_REPAIR_MILESTONES_PVT.create_repair_milestone';
28  lc_api_name              CONSTANT VARCHAR2(30)   := 'Create_Repair_Milestone';
29  lc_api_version           CONSTANT NUMBER         := 1.0;
30 
31 -- VARIABLES --
32  l_msg_count              NUMBER;
33  l_msg_data               VARCHAR2(100);
34  l_msg_index              NUMBER;
35  l_dummy	              VARCHAR2(1) := null;
36  l_obj_ver_num		  NUMBER := 1;
37  l_rowid		        ROWID;
38 
39 
40 BEGIN
41        -- Standard Start of API savepoint
42        SAVEPOINT  Create_Repair_Milestone;
43 
44        -- Standard call to check for call compatibility.
45        IF NOT FND_API.Compatible_API_Call (lc_api_version,
46                                            p_api_version,
47                                            lc_api_name   ,
48                                            G_PKG_NAME    )
49        THEN
50              RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
51        END IF;
52 
53        -- Initialize message list if p_init_msg_list is set to TRUE.
54        IF FND_API.to_Boolean( p_init_msg_list ) THEN
55            FND_MSG_PUB.initialize;
56        END IF;
57 
58        IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
59           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name || '.BEGIN',
60               'Entered Create_Repair_Milestone');
61        END IF;
62 
63 /*
64        -- log parameters
65        IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
66 	   csd_gen_utility_pvt.dump_repair_milestone_rec
67            ( p_repair_milestone_rec => p_repair_milestone_rec);
68        END IF;
69 */
70        -- Initialize API return status to success
71        x_return_status := FND_API.G_RET_STS_SUCCESS;
72 
73        -- Api body starts
74 
75        -- Check the required parameters
76        if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
77           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name,
78                        'Checking required parameters');
79        end if;
80 
81        -- Check the required parameters
82        CSD_PROCESS_UTIL.Check_Reqd_Param
83        ( p_param_value	  => p_repair_milestone_rec.repair_line_id,
84          p_param_name	  => 'REPAIR_LINE_ID',
85          p_api_name	  => lc_api_name);
86 
87        CSD_PROCESS_UTIL.Check_Reqd_Param
88        ( p_param_value	  => p_repair_milestone_rec.milestone_code,
89          p_param_name	  => 'MILESTONE_CODE',
90          p_api_name	  => lc_api_name);
91 
92        CSD_PROCESS_UTIL.Check_Reqd_Param
93        ( p_param_value	  => p_repair_milestone_rec.milestone_date,
94          p_param_name	  => 'MILESTONE_DATE',
95          p_api_name	  => lc_api_name);
96 
97        -- Insert row
98        if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
99           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name,
100                        'Calling Insert_Row table handler');
101        end if;
102 
103        Begin
104 
105          -- Insert the new flow status transition milestone
106          CSD_REPAIR_MILESTONES_PKG.Insert_Row
107          (
108           px_repair_milestone_id      => x_repair_milestone_id,
109           p_repair_line_id            => p_repair_milestone_rec.repair_line_id,
110           p_milestone_code            => p_repair_milestone_rec.milestone_code,
111           p_milestone_date            => p_repair_milestone_rec.milestone_date,
112           p_object_version_number     => l_obj_ver_num,
113           p_created_by                => FND_GLOBAL.USER_ID,
114           p_creation_date             => SYSDATE,
115           p_last_updated_by           => FND_GLOBAL.USER_ID,
116           p_last_update_date          => SYSDATE,
117           p_last_update_login         => FND_GLOBAL.LOGIN_ID
118  	   );
119 
120 
121        EXCEPTION
122           WHEN OTHERS THEN
123             IF ( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
124                FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,lc_mod_name,
125                               'Others exception in CSD_REPAIR_MILESTONES_PKG.Insert_Row Call :' ||
126                               SubStr('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM, 1,255));
127             END IF;
128             x_return_status := FND_API.G_RET_STS_ERROR;
129        END;
130 
131        IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
132           RAISE FND_API.G_EXC_ERROR;
133        END IF;
134 
135        if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
136           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name,
137                        'Returned from Insert_Row table handler');
138        end if;
139 
140       -- Api body ends here
141 
142       -- Standard check of p_commit.
143       IF FND_API.To_Boolean( p_commit ) THEN
144            COMMIT WORK;
145       END IF;
146 
147       -- Standard call to get message count and IF count is  get message info.
148       FND_MSG_PUB.Count_And_Get
149            (p_count  =>  x_msg_count,
150             p_data   =>  x_msg_data );
151 
152       IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
153         FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name || '.END',
154                        'Leaving Create_Repair_Milestone');
155       END IF;
156 
157   EXCEPTION
158      WHEN FND_API.G_EXC_ERROR THEN
159           ROLLBACK TO Create_Repair_Milestone;
160           x_return_status := FND_API.G_RET_STS_ERROR;
161 
162           FND_MSG_PUB.Count_And_Get
163               (p_count  =>  x_msg_count,
164                p_data   =>  x_msg_data );
165 
166           -- save message in debug log
167           IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
168               FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, lc_mod_name,
169                              'EXC_ERROR['||x_msg_data||']');
170           END IF;
171 
172      WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
173           ROLLBACK TO Create_Repair_Milestone;
174           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
175 
176           -- save message in fnd stack
177           IF  FND_MSG_PUB.Check_Msg_Level
178               (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
179           THEN
180               if (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
181                   FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, lc_mod_name,
182                                  'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
183               end if;
184               FND_MSG_PUB.Add_Exc_Msg
185               (G_PKG_NAME ,
186                lc_api_name  );
187           END IF;
188 
189           FND_MSG_PUB.Count_And_Get
190                 ( p_count  =>  x_msg_count,
191                   p_data   =>  x_msg_data );
192 
193           -- save message in debug log
194           IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
195               FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, lc_mod_name,
196                              'EXC_UNEXPECTED_ERROR['||x_msg_data||']');
197           END IF;
198 
199     WHEN OTHERS THEN
200           ROLLBACK TO Create_Repair_Milestone;
201           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
202 
203           -- save message in fnd stack
204           IF  FND_MSG_PUB.Check_Msg_Level
205               (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
206           THEN
207               if (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
208                   FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, lc_mod_name,
209                                  'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
210               end if;
211               FND_MSG_PUB.Add_Exc_Msg
212               (G_PKG_NAME ,
213                lc_api_name  );
214           END IF;
215 
216           FND_MSG_PUB.Count_And_Get
217               (p_count  =>  x_msg_count,
218                p_data   =>  x_msg_data );
219 
220           -- save message in debug log
221           IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
222               -- create a seeded message
223               FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, lc_mod_name,
224                              'SQL Message['||sqlerrm||']' );
225           END IF;
226 
227 END Create_Repair_Milestone;
228 
229 /*--------------------------------------------------*/
230 /* procedure name: Update_Repair_Milestone          */
231 /* description   : procedure used to update         */
232 /*                 repair milestone                 */
233 /*                                                  */
234 /*--------------------------------------------------*/
235 PROCEDURE Update_Repair_Milestone
236 (
237   p_api_version        		IN  NUMBER,
238   p_commit	   		      IN  VARCHAR2,
239   p_init_msg_list      		IN  VARCHAR2,
240   p_validation_level   		IN  NUMBER,
241   x_return_status      		OUT NOCOPY VARCHAR2,
242   x_msg_count          		OUT NOCOPY NUMBER,
243   x_msg_data           		OUT NOCOPY VARCHAR2,
244   p_repair_milestone_rec      IN  REPAIR_MILESTONE_REC_TYPE,
245   x_obj_ver_number 		OUT NOCOPY NUMBER
246 ) IS
247 
248 -- CONSTANTS --
249  lc_mod_name              CONSTANT VARCHAR2(100)  := 'csd.plsql.CSD_REPAIR_MILESTONES_PVT.update_repair_milestone';
250  lc_api_name              CONSTANT VARCHAR2(30)   := 'Update_Repair_Milestone';
251  lc_api_version           CONSTANT NUMBER         := 1.0;
252 
253 -- VARIABLES --
254  l_msg_count              NUMBER;
255  l_msg_data               VARCHAR2(100);
256  l_msg_index              NUMBER;
257  l_dummy	              VARCHAR2(1) := null;
258  l_obj_ver_num		  NUMBER;
259  l_rowid		        ROWID;
260 
261 BEGIN
262        -- Standard Start of API savepoint
263        SAVEPOINT  Update_Repair_Milestone;
264 
265        -- Standard call to check for call compatibility.
266        IF NOT FND_API.Compatible_API_Call (lc_api_version,
267                                            p_api_version,
268                                            lc_api_name   ,
269                                            G_PKG_NAME    )
270        THEN
271              RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
272        END IF;
273 
274        -- Initialize message list if p_init_msg_list is set to TRUE.
275        IF FND_API.to_Boolean( p_init_msg_list ) THEN
276            FND_MSG_PUB.initialize;
277        END IF;
278 
279        IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
280           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name || '.BEGIN',
281               'Entered Update_Repair_Milestone');
282        END IF;
283 
284 /*
285        -- log parameters
286        IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
287 	   csd_gen_utility_pvt.dump_repair_milestone_rec
288            ( p_repair_milestone_rec => p_repair_milestone_rec);
289        END IF;
290 */
291 
292        -- Initialize API return status to success
293        x_return_status := FND_API.G_RET_STS_SUCCESS;
294 
295        -- Api body starts
296 
297       -- Check the required parameters
298        if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
299           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name,
300                        'Checking required parameters');
301        end if;
302 
303        CSD_PROCESS_UTIL.Check_Reqd_Param
304        ( p_param_value	  => p_repair_milestone_rec.repair_milestone_id,
305          p_param_name	  => 'REPAIR_MILESTONE_ID',
306          p_api_name	  => lc_api_name);
307 
308        CSD_PROCESS_UTIL.Check_Reqd_Param
309        ( p_param_value	  => p_repair_milestone_rec.repair_line_id,
310          p_param_name	  => 'REPAIR_LINE_ID',
311          p_api_name	  => lc_api_name);
312 
313        CSD_PROCESS_UTIL.Check_Reqd_Param
314        ( p_param_value	  => p_repair_milestone_rec.milestone_code,
315          p_param_name	  => 'MILESTONE_CODE',
316          p_api_name	  => lc_api_name);
317 
318        CSD_PROCESS_UTIL.Check_Reqd_Param
319        ( p_param_value	  => p_repair_milestone_rec.milestone_date,
320          p_param_name	  => 'MILESTONE_DATE',
321          p_api_name	  => lc_api_name);
322 
323        -- Update row
324        if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
325            FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name,
326                         'Calling Update_Row table handler');
327        end if;
328 
329        Begin
330 
331          -- Update the FS transition milestone
332          CSD_REPAIR_MILESTONES_PKG.Update_Row
333          (
334           p_repair_milestone_id       => p_repair_milestone_rec.repair_milestone_id,
335           p_repair_line_id            => p_repair_milestone_rec.repair_line_id,
336           p_milestone_code            => p_repair_milestone_rec.milestone_code,
337           p_milestone_date            => p_repair_milestone_rec.milestone_date,
338           p_object_version_number     => p_repair_milestone_rec.object_version_number,
339           p_last_updated_by           => FND_GLOBAL.USER_ID,
340           p_last_update_date          => SYSDATE,
341           p_last_update_login         => FND_GLOBAL.LOGIN_ID
342  	 );
343 
344         x_obj_ver_number := p_repair_milestone_rec.object_version_number + 1;
345 
346        EXCEPTION
347           WHEN OTHERS THEN
348             IF ( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
349                FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,lc_mod_name,
350                'Others exception in CSD_REPAIR_MILESTONES_PKG.Update_Row Call :' ||
351                SubStr('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM, 1,255));
352             END IF;
353             x_return_status := FND_API.G_RET_STS_ERROR;
354        END;
355 
356        IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
357           RAISE FND_API.G_EXC_ERROR;
358        END IF;
359 
360        if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
361           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name,
362                        'Returned from Update_Row table handler');
363        end if;
364 
365       -- Api body ends here
366 
367       -- Standard check of p_commit.
368       IF FND_API.To_Boolean( p_commit ) THEN
369            COMMIT WORK;
370       END IF;
371 
372       -- Standard call to get message count and IF count is  get message info.
373       FND_MSG_PUB.Count_And_Get
374            (p_count  =>  x_msg_count,
375             p_data   =>  x_msg_data );
376 
377       IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
378         FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name || '.END',
379                        'Leaving Update_Repair_Milestone');
380       END IF;
381 
382   EXCEPTION
383     WHEN FND_API.G_EXC_ERROR THEN
384           ROLLBACK TO Update_Repair_Milestone;
385           x_return_status := FND_API.G_RET_STS_ERROR;
386 
387           FND_MSG_PUB.Count_And_Get
388               (p_count  =>  x_msg_count,
389                p_data   =>  x_msg_data );
390 
391          -- save message in debug log
392           IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
393               FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, lc_mod_name,
394                              'EXC_ERROR['||x_msg_data||']');
395           END IF;
396 
397     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
398           ROLLBACK TO Update_Repair_Milestone;
399           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
400 
401          IF  FND_MSG_PUB.Check_Msg_Level
402               (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
403           THEN
404               if (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
405                   FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, lc_mod_name,
406                                  'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
407               end if;
408               FND_MSG_PUB.Add_Exc_Msg
409               (G_PKG_NAME ,
410                lc_api_name  );
411           END IF;
412 
413           FND_MSG_PUB.Count_And_Get
414                 ( p_count  =>  x_msg_count,
415                   p_data   =>  x_msg_data );
416 
417           -- save message in debug log
418           IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
419               FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, lc_mod_name,
420                              'EXC_UNEXPECTED_ERROR['||x_msg_data||']');
421           END IF;
422 
423     WHEN OTHERS THEN
424           ROLLBACK TO Update_Repair_Milestone;
425           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
426 
427            -- save message in fnd stack
428            IF  FND_MSG_PUB.Check_Msg_Level
429                (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
430            THEN
431                if (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
432                    FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, lc_mod_name,
433                                   'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
434                end if;
435                FND_MSG_PUB.Add_Exc_Msg
436                (G_PKG_NAME ,
437                 lc_api_name  );
438            END IF;
439 
440            FND_MSG_PUB.Count_And_Get
441                (p_count  =>  x_msg_count,
442                 p_data   =>  x_msg_data );
443 
444            -- save message in debug log
445            IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
446                -- create a seeded message
447                FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, lc_mod_name,
448                               'SQL Message['||sqlerrm||']' );
449           END IF;
450 
451 END Update_Repair_Milestone;
452 
453 /*--------------------------------------------------*/
454 /* procedure name: Delete_Repair_Milestone          */
455 /* description   : procedure used to delete         */
456 /*                 repair milestone                 */
457 /*                                                  */
458 /*--------------------------------------------------*/
459 PROCEDURE Delete_Repair_Milestone
460 (
461   p_api_version        		IN  NUMBER,
462   p_commit	   		      IN  VARCHAR2,
463   p_init_msg_list      		IN  VARCHAR2,
464   p_validation_level   		IN  NUMBER,
465   x_return_status      		OUT NOCOPY VARCHAR2,
466   x_msg_count          		OUT NOCOPY NUMBER,
467   x_msg_data           		OUT NOCOPY VARCHAR2,
468   p_repair_milestone_id	 	IN  NUMBER
469 ) IS
470 
471 -- CONSTANTS --
472  lc_mod_name              CONSTANT VARCHAR2(100)  := 'csd.plsql.CSD_REPAIR_MILESTONES_PVT.Delete_Repair_Milestone';
473  lc_api_name              CONSTANT VARCHAR2(30)   := 'Delete_Repair_Milestone';
474  lc_api_version           CONSTANT NUMBER         := 1.0;
475 
476 -- VARIABLES --
477  l_msg_count              NUMBER;
478  l_msg_data               VARCHAR2(100);
479  l_msg_index              NUMBER;
480 
481 BEGIN
482        -- Standard Start of API savepoint
483        SAVEPOINT  Delete_Repair_Milestone;
484 
485        -- Standard call to check for call compatibility.
486        IF NOT FND_API.Compatible_API_Call (lc_api_version,
487                                            p_api_version,
488                                            lc_api_name   ,
489                                            G_PKG_NAME    )
490        THEN
491              RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
492        END IF;
493 
494        -- Initialize message list if p_init_msg_list is set to TRUE.
495        IF FND_API.to_Boolean( p_init_msg_list ) THEN
496            FND_MSG_PUB.initialize;
497        END IF;
498 
499        IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
500            FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name || '.BEGIN',
501                 'Entered Delete_Repair_Milestone');
502        END IF;
503 
504        -- Initialize API return status to success
505        x_return_status := FND_API.G_RET_STS_SUCCESS;
506 
507        -- Api body starts
508 
509        -- Check the required parameters
510        if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
511           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name,
512                        'Checking required parameter');
513        end if;
514 
515        -- Check the required parameter
516        CSD_PROCESS_UTIL.Check_Reqd_Param
517        ( p_param_value	  => p_repair_milestone_id,
518          p_param_name	  => 'REPAIR_MILESTONE_ID',
519          p_api_name	  => lc_api_name);
520 
521         -- Delete row
522         if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
523            FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name,
524                         'Calling Delete_Row table handler');
525        end if;
526 
527        BEGIN
528 
529          -- Delete the FS transition milestone
530          CSD_REPAIR_MILESTONES_PKG.Delete_Row
531          (  p_repair_milestone_id => p_repair_milestone_id);
532 
533        EXCEPTION
534          WHEN OTHERS THEN
535             IF ( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
536                FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,lc_mod_name,
537                'Others exception in CSD_REPAIR_MILESTONES_PKG.Delete_Row Call :' ||
538                SubStr('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM, 1,255));
539             END IF;
540             x_return_status := FND_API.G_RET_STS_ERROR;
541        END;
542 
543        IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
544           RAISE FND_API.G_EXC_ERROR;
545        END IF;
546 
547        if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
548           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name,
549                        'Returned from Delete_Row table handler');
550        end if;
551 
552       -- Api body ends here
553 
554       -- Standard check of p_commit.
555       IF FND_API.To_Boolean( p_commit ) THEN
556            COMMIT WORK;
557       END IF;
558 
559       -- Standard call to get message count and IF count is  get message info.
560       FND_MSG_PUB.Count_And_Get
561            (p_count  =>  x_msg_count,
562             p_data   =>  x_msg_data );
563 
564       IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
565         FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name || '.END',
566                        'Leaving Delete_Repair_Milestone');
567       END IF;
568 
569   EXCEPTION
570 
571     WHEN FND_API.G_EXC_ERROR THEN
572           ROLLBACK TO Delete_Repair_Milestone;
573 
574           x_return_status := FND_API.G_RET_STS_ERROR;
575 
576           FND_MSG_PUB.Count_And_Get
577               (p_count  =>  x_msg_count,
578                p_data   =>  x_msg_data );
579 
580          -- save message in debug log
581           IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
582               FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, lc_mod_name,
583                              'EXC_ERROR['||x_msg_data||']');
584           END IF;
585 
586     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
587           ROLLBACK TO Delete_Repair_Milestone;
588 
589           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
590 
591          IF  FND_MSG_PUB.Check_Msg_Level
592               (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
593           THEN
594               if (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
595                   FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, lc_mod_name,
596                                  'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
597               end if;
598               FND_MSG_PUB.Add_Exc_Msg
599               (G_PKG_NAME ,
600                lc_api_name  );
601           END IF;
602 
603           FND_MSG_PUB.Count_And_Get
604                 ( p_count  =>  x_msg_count,
605                   p_data   =>  x_msg_data );
606 
607           -- save message in debug log
608           IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
609               FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, lc_mod_name,
610                              'EXC_UNEXPECTED_ERROR['||x_msg_data||']');
611           END IF;
612 
613     WHEN OTHERS THEN
614           ROLLBACK TO Delete_Repair_Milestone;
615 
616           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
617 
618            -- save message in fnd stack
619            IF  FND_MSG_PUB.Check_Msg_Level
620                (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
621            THEN
622                if (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
623                    FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, lc_mod_name,
624                                   'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
625                end if;
626                FND_MSG_PUB.Add_Exc_Msg
627                (G_PKG_NAME ,
628                 lc_api_name  );
629            END IF;
630 
631            FND_MSG_PUB.Count_And_Get
632                (p_count  =>  x_msg_count,
633                 p_data   =>  x_msg_data );
634 
635            -- save message in debug log
636            IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
637                -- create a seeded message
638                FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, lc_mod_name,
639                               'SQL Message['||sqlerrm||']' );
640           END IF;
641 
642 END Delete_Repair_Milestone;
643 
644 /*--------------------------------------------------*/
645 /* procedure name: Lock_Repair_Milestone            */
646 /* description   : procedure used to lock           */
647 /*                 repair milestone                 */
648 /*                                                  */
649 /*--------------------------------------------------*/
650 PROCEDURE Lock_Repair_Milestone
651 (
652   p_api_version        		IN  NUMBER,
653   p_commit	   		      IN  VARCHAR2,
654   p_init_msg_list      		IN  VARCHAR2,
655   p_validation_level   		IN  NUMBER,
656   x_return_status      		OUT NOCOPY VARCHAR2,
657   x_msg_count          		OUT NOCOPY NUMBER,
658   x_msg_data           		OUT NOCOPY VARCHAR2,
659   p_repair_milestone_rec      IN  REPAIR_MILESTONE_REC_TYPE
660 ) IS
661 
662 -- CONSTANTS --
663  lc_mod_name              CONSTANT VARCHAR2(100)  := 'csd.plsql.CSD_REPAIR_MILESTONES_PVT.lock_repair_milestone';
664  lc_api_name              CONSTANT VARCHAR2(30)   := 'Lock_Repair_Milestone';
665  lc_api_version           CONSTANT NUMBER         := 1.0;
666 
667 -- VARIABLES --
668  l_msg_count              NUMBER;
669  l_msg_data               VARCHAR2(100);
670  l_msg_index              NUMBER;
671  l_rowid	              ROWID;
672 
673 BEGIN
674        -- Standard Start of API savepoint
675        SAVEPOINT  Lock_Repair_Milestone;
676 
677        -- Standard call to check for call compatibility.
678        IF NOT FND_API.Compatible_API_Call (lc_api_version,
679                                            p_api_version,
680                                            lc_api_name   ,
681                                            G_PKG_NAME    )
682        THEN
683              RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
684        END IF;
685 
686        -- Initialize message list if p_init_msg_list is set to TRUE.
687        IF FND_API.to_Boolean( p_init_msg_list ) THEN
688            FND_MSG_PUB.initialize;
689        END IF;
690 
691        IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
692           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name || '.BEGIN',
693               'Entered Lock_Repair_Milestone');
694        END IF;
695 
696        -- Initialize API return status to success
697        x_return_status := FND_API.G_RET_STS_SUCCESS;
698 
699        -- Api body starts
700 
701         -- Check the required parameters
702         if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
703            FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name,
704                         'Checking required parameters');
705         end if;
706 
707         -- Check the required parameters
708        CSD_PROCESS_UTIL.Check_Reqd_Param
709        ( p_param_value	  => p_repair_milestone_rec.repair_milestone_id,
710          p_param_name	  => 'REPAIR_MILESTONE_ID',
711          p_api_name	  => lc_api_name);
712 
713         CSD_PROCESS_UTIL.Check_Reqd_Param
714         ( p_param_value	  => p_repair_milestone_rec.object_version_number,
715           p_param_name	  => 'OBJECT_VERSION_NUMBER',
716           p_api_name	  => lc_api_name);
717 
718         -- Lock row
719         if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
720            FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name,
721                         'Calling Lock_Row table handler');
722        end if;
723 
724        Begin
725 
726          -- Lock the record
727          CSD_REPAIR_MILESTONES_PKG.Lock_Row
728          (
729           p_repair_milestone_id       => p_repair_milestone_rec.repair_milestone_id,
730           p_object_version_number     => p_repair_milestone_rec.object_version_number
731          );
732 
733        EXCEPTION
734           WHEN OTHERS THEN
735             IF ( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
736                FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,lc_mod_name,
737                'Others exception in CSD_REPAIR_MILESTONES_PKG.Lock_Row Call :' ||
738                SubStr('Error '||TO_CHAR(SQLCODE)||': '||SQLERRM, 1,255));
739             END IF;
740             x_return_status := FND_API.G_RET_STS_ERROR;
741        END;
742 
743        IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
744           RAISE FND_API.G_EXC_ERROR;
745        END IF;
746 
747        if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
748           FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name,
749                        'Returned from Lock_Row table handler');
750        end if;
751 
752       -- Api body ends here
753 
754       -- Standard check of p_commit.
755       IF FND_API.To_Boolean( p_commit ) THEN
756            COMMIT WORK;
757       END IF;
758 
759       -- Standard call to get message count and IF count is  get message info.
760       FND_MSG_PUB.Count_And_Get
761            (p_count  =>  x_msg_count,
762             p_data   =>  x_msg_data );
763 
764       IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
765         FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE, lc_mod_name || '.END',
766                        'Leaving Lock_Repair_Milestone');
767       END IF;
768 
769   EXCEPTION
770 
771     WHEN FND_API.G_EXC_ERROR THEN
772           ROLLBACK TO Lock_Repair_Milestone;
773           x_return_status := FND_API.G_RET_STS_ERROR;
774 
775           FND_MSG_PUB.Count_And_Get
776               (p_count  =>  x_msg_count,
777                p_data   =>  x_msg_data );
778 
779          -- save message in debug log
780           IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
781               FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, lc_mod_name,
782                              'EXC_ERROR['||x_msg_data||']');
783           END IF;
784 
785     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
786           ROLLBACK TO Lock_Repair_Milestone;
787           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
788 
789          IF  FND_MSG_PUB.Check_Msg_Level
790               (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
791           THEN
792               if (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
793                   FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, lc_mod_name,
794                                  'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
795               end if;
796               FND_MSG_PUB.Add_Exc_Msg
797               (G_PKG_NAME ,
798                lc_api_name  );
799           END IF;
800 
801           FND_MSG_PUB.Count_And_Get
802                 ( p_count  =>  x_msg_count,
803                   p_data   =>  x_msg_data );
804 
805           -- save message in debug log
806           IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
807               FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, lc_mod_name,
808                              'EXC_UNEXPECTED_ERROR['||x_msg_data||']');
809           END IF;
810 
811     WHEN OTHERS THEN
812           ROLLBACK TO Lock_Repair_Milestone;
813           x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
814 
815            -- save message in fnd stack
816            IF  FND_MSG_PUB.Check_Msg_Level
817                (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
818            THEN
819                if (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
820                    FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, lc_mod_name,
821                                   'Adding message using FND_MSG_PUB.Add_Exc_Msg to FND_MSG stack');
822                end if;
823                FND_MSG_PUB.Add_Exc_Msg
824                (G_PKG_NAME ,
825                 lc_api_name  );
826            END IF;
827 
828            FND_MSG_PUB.Count_And_Get
829                (p_count  =>  x_msg_count,
830                 p_data   =>  x_msg_data );
831 
832            -- save message in debug log
833            IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
834                -- create a seeded message
835                FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION, lc_mod_name,
836                               'SQL Message['||sqlerrm||']' );
837           END IF;
838 
839 END Lock_Repair_Milestone;
840 
841 End CSD_REPAIR_MILESTONES_PVT;