DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSD_RT_TRAN_RESPS_PVT

Source


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