DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSD_RT_TRANS_PVT

Source


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