DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_ACTRESOURCE_PUB

Source


1 PACKAGE BODY AMS_ActResource_PUB as
2  /*$Header: amsprscb.pls 115.4 2002/12/11 03:42:02 ptendulk ship $*/
3 
4 /*****************************************************************************************/
5 -- NAME
6 --   AMS_ActResource_PUB
7 --
8 -- HISTORY
9 -- 04/02/2002    gmadana    CREATED
10 /*****************************************************************************************/
11 
12 G_PACKAGE_NAME   CONSTANT   VARCHAR2(30)   :='AMS_ActResource_PUB';
13 G_FILE_NAME      CONSTANT   VARCHAR2(12)   :='amsprscb.pls';
14 
15 -- Debug mode
16 g_debug boolean := FALSE;
17 g_debug boolean := TRUE;
18 --
19 
20 PROCEDURE Convert_PubRec_To_PvtRec(
21    p_act_Resource_rec_pub      IN   Act_Resource_rec_type,
22    x_act_Resource_rec_pvt      OUT NOCOPY  AMS_ActResource_PVT.Act_Resource_rec_type
23 
24 )
25 
26 IS
27    l_act_Resource_rec_pub      Act_Resource_rec_type := p_act_Resource_rec_pub;
28 
29 BEGIN
30 
31        x_act_resource_rec_pvt.activity_resource_id           :=  l_act_resource_rec_pub.activity_resource_id;
32        x_act_resource_rec_pvt.last_update_date               :=  l_act_resource_rec_pub.last_update_date;
33        x_act_resource_rec_pvt.last_updated_by                :=  l_act_resource_rec_pub.last_updated_by ;
34        x_act_resource_rec_pvt.creation_date                  :=  l_act_resource_rec_pub.creation_date;
35        x_act_resource_rec_pvt.created_by                     :=  l_act_resource_rec_pub.created_by;
36        x_act_resource_rec_pvt.last_update_login              :=  l_act_resource_rec_pub.last_update_login;
37        x_act_resource_rec_pvt.object_version_number          :=  l_act_resource_rec_pub.object_version_number;
38        x_act_resource_rec_pvt.act_resource_used_by_id        :=  l_act_resource_rec_pub.act_resource_used_by_id;
39        x_act_resource_rec_pvt.arc_act_resource_used_by       :=  l_act_resource_rec_pub.arc_act_resource_used_by;
40        x_act_resource_rec_pvt.resource_id                    :=  l_act_resource_rec_pub.resource_id;
41        x_act_resource_rec_pvt.role_cd                        :=  l_act_resource_rec_pub.role_cd;
42        x_act_resource_rec_pvt.user_status_id                 :=  l_act_resource_rec_pub.user_status_id;
43        x_act_resource_rec_pvt.system_status_code             :=  l_act_resource_rec_pub.system_status_code;
44        x_act_resource_rec_pvt.start_date_time                :=  l_act_resource_rec_pub.start_date_time;
45        x_act_resource_rec_pvt.end_date_time                  :=  l_act_resource_rec_pub.end_date_time;
46        x_act_resource_rec_pvt.primary_flag                   :=  l_act_resource_rec_pub.primary_flag;
47        x_act_resource_rec_pvt.description                    :=  l_act_resource_rec_pub.description;
48        x_act_resource_rec_pvt.attribute_category             :=  l_act_resource_rec_pub.attribute_category;
49        x_act_resource_rec_pvt.attribute1                     :=  l_act_resource_rec_pub.attribute1;
50        x_act_resource_rec_pvt.attribute2                     :=  l_act_resource_rec_pub.attribute2;
51        x_act_resource_rec_pvt.attribute3                     :=  l_act_resource_rec_pub.attribute3;
52        x_act_resource_rec_pvt.attribute4                     :=  l_act_resource_rec_pub.attribute4;
53        x_act_resource_rec_pvt.attribute5                     :=  l_act_resource_rec_pub.attribute5;
54        x_act_resource_rec_pvt.attribute6                     :=  l_act_resource_rec_pub.attribute6;
55        x_act_resource_rec_pvt.attribute7                     :=  l_act_resource_rec_pub.attribute7;
56        x_act_resource_rec_pvt.attribute8                     :=  l_act_resource_rec_pub.attribute8;
57        x_act_resource_rec_pvt.attribute9                     :=  l_act_resource_rec_pub.attribute9;
58        x_act_resource_rec_pvt.attribute10                    :=  l_act_resource_rec_pub.attribute10;
59        x_act_resource_rec_pvt.attribute11                    :=  l_act_resource_rec_pub.attribute11;
60        x_act_resource_rec_pvt.attribute12                    :=  l_act_resource_rec_pub.attribute12;
61        x_act_resource_rec_pvt.attribute13                    :=  l_act_resource_rec_pub.attribute13;
62        x_act_resource_rec_pvt.attribute14                    :=  l_act_resource_rec_pub.attribute14;
63        x_act_resource_rec_pvt.attribute15                    :=  l_act_resource_rec_pub.attribute15;
64 
65 END;
66 
67 -- Procedure and function declarations.
68 /*****************************************************************************************/
69 -- Start of Comments
70 --
71 -- NAME
72 --   Create_Act_Resource
73 --
74 -- PURPOSE
75 --   This procedure is to create a Resource record that satisfy caller needs
76 --
77 -- HISTORY
78 --   04/02/2002       gmadana            created
79 --
80 /*****************************************************************************************/
81 
82 PROCEDURE Create_Act_Resource
83 ( p_api_version      IN     NUMBER,
84   p_init_msg_list    IN     VARCHAR2    := FND_API.G_FALSE,
85   p_commit           IN     VARCHAR2    := FND_API.G_FALSE,
86   p_validation_level IN     NUMBER      := FND_API.G_VALID_LEVEL_FULL,
87   x_return_status    OUT NOCOPY    VARCHAR2,
88   x_msg_count        OUT NOCOPY    NUMBER,
89   x_msg_data         OUT NOCOPY    VARCHAR2,
90   p_act_Resource_rec IN     act_Resource_rec_type,
91   x_act_resource_id  OUT NOCOPY    NUMBER
92 ) IS
93 
94    l_api_name      CONSTANT VARCHAR2(30)     := 'Create_Act_Resource';
95    l_api_version   CONSTANT NUMBER           := 1.0;
96    l_full_name     CONSTANT VARCHAR2(60)     := G_PACKAGE_NAME || '.' || l_api_name;
97    l_return_status VARCHAR2(1);
98 
99    --l_msg_count          NUMBER;
100    --l_msg_data           VARCHAR2(60);
101 
102 
103    l_pvt_resource_rec    AMS_ActResource_PVT.Act_Resource_rec_type ;
104    l_pub_resource_rec     Act_Resource_rec_type := p_act_Resource_rec;
105 
106     BEGIN
107       -- Standard Start of API savepoint
108       SAVEPOINT Create_Act_Resource_PUB;
109 
110       -- Initialize message list if p_init_msg_list is set to TRUE.
111       IF FND_API.to_Boolean( p_init_msg_list )
112       THEN
113          FND_MSG_PUB.initialize;
114       END IF;
115 
116       -- Debug Message
117       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
118 
119 
120       -- Initialize API return status to SUCCESS
121       x_return_status := FND_API.G_RET_STS_SUCCESS;
122 
123       -- convert public parameter to private-type
124       Convert_PubRec_To_PvtRec(l_pub_resource_rec,l_pvt_resource_rec);
125 
126       -- customer pre-processing
127       IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'B', 'C')
128          THEN
129             AMS_ActResource_CUHK.create_resource_pre(
130             l_pub_resource_rec,
131             l_return_status
132            );
133 
134          IF l_return_status = FND_API.g_ret_sts_error THEN
135             RAISE FND_API.g_exc_error;
136          ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
137             RAISE FND_API.g_exc_unexpected_error;
138          END IF;
139       END IF;
140 
141    -- vertical industry pre-processing
142    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'B', 'V')
143    THEN
144       AMS_ActResource_VUHK.create_resource_pre(
145          l_pub_resource_rec,
146          l_return_status
147       );
148 
149       IF l_return_status = FND_API.g_ret_sts_error THEN
150          RAISE FND_API.g_exc_error;
151       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
152          RAISE FND_API.g_exc_unexpected_error;
153       END IF;
154    END IF;
155 
156 
157    -- call business API
158    -- Calling Private package: Create_Act_Resource
159    -- Hint: Primary key needs to be returned
160      AMS_ActResource_PVT.Create_Act_Resource(
161          p_api_version                => 1.0,
162          p_init_msg_list              => p_init_msg_list,
163          p_commit                     => p_commit,
164          p_validation_level           => p_validation_level,
165          x_return_status              => x_return_status,
166          x_msg_count                  => x_msg_count,
167          x_msg_data                   => x_msg_data,
168          p_act_Resource_rec           => l_pvt_resource_rec,
169          x_act_resource_id            => x_act_resource_id
170          );
171 
172 
173       -- Check return status from the above procedure call
174       IF x_return_status = FND_API.G_RET_STS_ERROR then
175           RAISE FND_API.G_EXC_ERROR;
176       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
177           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
178       END IF;
179       --
180       -- End of API body.
181       --
182  -- customer post-processing
183    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'A', 'C')
184    THEN
185       AMS_ActResource_CUHK.create_resource_post(
186          l_pub_resource_rec,
187          x_act_resource_id,
188          l_return_status
189       );
190 
191       IF l_return_status = FND_API.g_ret_sts_error THEN
192          RAISE FND_API.g_exc_error;
193       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
194          RAISE FND_API.g_exc_unexpected_error;
195       END IF;
196    END IF;
197 
198    -- vertical industry post-processing
199    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'A', 'V')
200    THEN
201       AMS_ActResource_VUHK.create_resource_post(
202          l_pub_resource_rec,
203          x_act_resource_id,
204          l_return_status
205       );
206 
207       IF l_return_status = FND_API.g_ret_sts_error THEN
208          RAISE FND_API.g_exc_error;
209       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
210          RAISE FND_API.g_exc_unexpected_error;
211       END IF;
212    END IF;
213 
214 
215    -- Standard check for p_commit
216    IF FND_API.to_Boolean( p_commit )
217    THEN
218       COMMIT WORK;
219    END IF;
220 
221 
222    -- Debug Message
223    AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
224 
225    -- Standard call to get message count and if count is 1, get message info.
226    FND_MSG_PUB.Count_And_Get
227    (p_count          =>   x_msg_count,
228     p_data           =>   x_msg_data
229    );
230 
231 EXCEPTION
232    WHEN AMS_Utility_PVT.resource_locked THEN
233      x_return_status := FND_API.g_ret_sts_error;
234      IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
235         FND_MESSAGE.set_name('AMS', 'AMS_API_RESOURCE_LOCKED');
236         FND_MSG_PUB.add;
237      END IF;
238 
239    WHEN FND_API.G_EXC_ERROR THEN
240      ROLLBACK TO Create_Act_Resource_PUB;
241      x_return_status := FND_API.G_RET_STS_ERROR;
242      -- Standard call to get message count and if count=1, get the message
243      FND_MSG_PUB.Count_And_Get (
244             p_encoded => FND_API.G_FALSE,
245             p_count   => x_msg_count,
246             p_data    => x_msg_data
247      );
248 
249    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
250      ROLLBACK TO Create_Act_Resource_PUB;
251      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
252      -- Standard call to get message count and if count=1, get the message
253      FND_MSG_PUB.Count_And_Get (
254             p_encoded => FND_API.G_FALSE,
255             p_count => x_msg_count,
256             p_data  => x_msg_data
257      );
258 
259    WHEN OTHERS THEN
260      ROLLBACK TO Create_Act_Resource_PUB;
261      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
262      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
263      THEN
264         FND_MSG_PUB.Add_Exc_Msg( G_PACKAGE_NAME,l_api_name);
265      END IF;
266      -- Standard call to get message count and if count=1, get the message
267      FND_MSG_PUB.Count_And_Get (
268             p_encoded => FND_API.G_FALSE,
269             p_count => x_msg_count,
270             p_data  => x_msg_data
271      );
272 End Create_Act_Resource;
273 
274 /*****************************************************************************************/
275 -- Start of Comments
276 --
277 -- NAME
278 --   Update_Act_Resource
279 --
280 -- PURPOSE
281 --   This procedure is to update a Resource record that satisfy caller needs
282 --
283 -- HISTORY
284 --   02/20/2002        gmadana            created
285 --
286 /*****************************************************************************************/
287 
288 PROCEDURE Update_Act_Resource
289 ( p_api_version      IN  NUMBER,
290   p_init_msg_list    IN  VARCHAR2  := FND_API.G_FALSE,
291   p_commit           IN  VARCHAR2  := FND_API.G_FALSE,
292   p_validation_level IN  NUMBER    := FND_API.G_VALID_LEVEL_FULL,
293   x_return_status    OUT NOCOPY VARCHAR2,
294   x_msg_count        OUT NOCOPY NUMBER,
295   x_msg_data         OUT NOCOPY VARCHAR2,
296   p_act_Resource_rec IN  act_Resource_rec_type
297 ) IS
298 
299 L_API_NAME                  CONSTANT VARCHAR2(30) := 'Update_Act_Resource';
300 L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
301 l_object_version_number  NUMBER;
302 l_return_status  VARCHAR2(1);
303 
304 l_pvt_resource_rec    AMS_ActResource_PVT.Act_Resource_rec_type ;
305 l_pub_resource_rec     Act_Resource_rec_type := p_act_Resource_rec;
306 
307  BEGIN
308       -- Standard Start of API savepoint
309       SAVEPOINT Update_Act_Resource_PUB;
310 
311       -- Initialize message list if p_init_msg_list is set to TRUE.
312       IF FND_API.to_Boolean( p_init_msg_list )
313       THEN
314          FND_MSG_PUB.initialize;
315       END IF;
316 
317       -- Debug Message
318       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
319 
320       -- Initialize API return status to SUCCESS
321       x_return_status := FND_API.G_RET_STS_SUCCESS;
322 
323       -- convert public parameter to private-type
324       Convert_PubRec_To_PvtRec(l_pub_resource_rec,l_pvt_resource_rec);
325 
326     -- customer pre-processing
327    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'B', 'C')
328    THEN
329       AMS_ActResource_CUHK.update_resource_pre(
330          l_pub_resource_rec,
331          l_return_status
332       );
333 
334       IF l_return_status = FND_API.g_ret_sts_error THEN
335          RAISE FND_API.g_exc_error;
336       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
337          RAISE FND_API.g_exc_unexpected_error;
338       END IF;
339    END IF;
340 
341    -- vertical industry pre-processing
342    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'B', 'V')
343    THEN
344       AMS_ActResource_VUHK.update_resource_pre(
345          l_pub_resource_rec,
346          l_return_status
347       );
348 
349       IF l_return_status = FND_API.g_ret_sts_error THEN
350          RAISE FND_API.g_exc_error;
351       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
352          RAISE FND_API.g_exc_unexpected_error;
353       END IF;
354    END IF;
355 
356    -- call business API
357     AMS_ActResource_PVT.Update_Act_Resource(
358        p_api_version                => 1.0,
359        p_init_msg_list              => p_init_msg_list,
360        p_commit                     => p_commit,
361        p_validation_level           => p_validation_level,
362        x_return_status              => x_return_status,
363        x_msg_count                  => x_msg_count,
364        x_msg_data                   => x_msg_data,
365        p_Act_Resource_rec           => l_pvt_resource_rec
366     );
367 
368 
369       -- Check return status from the above procedure call
370       IF x_return_status = FND_API.G_RET_STS_ERROR then
371           RAISE FND_API.G_EXC_ERROR;
372       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
373           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
374       END IF;
375       --
376       -- End of API body
377       --
378 
379    -- vertical industry post-processing
380    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'A', 'V')
381    THEN
382       AMS_ActResource_VUHK.update_resource_post(
383          l_pub_resource_rec,
384          l_return_status
385       );
386 
387       IF l_return_status = FND_API.g_ret_sts_error THEN
388          RAISE FND_API.g_exc_error;
389       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
390          RAISE FND_API.g_exc_unexpected_error;
391       END IF;
392    END IF;
393 
394    -- customer post-processing
395    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'A', 'C')
396    THEN
397       AMS_ActResource_CUHK.update_resource_post(
398          l_pub_resource_rec,
399          l_return_status
400       );
401 
402       IF l_return_status = FND_API.g_ret_sts_error THEN
403          RAISE FND_API.g_exc_error;
404       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
405          RAISE FND_API.g_exc_unexpected_error;
406       END IF;
407    END IF;
408 
409    -- Standard check for p_commit
410    IF FND_API.to_Boolean( p_commit )
411    THEN
412       COMMIT WORK;
413    END IF;
414 
415 
416    -- Debug Message
417    AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
418 
419    -- Standard call to get message count and if count is 1, get message info.
420    FND_MSG_PUB.Count_And_Get
421    (p_count          =>   x_msg_count,
422     p_data           =>   x_msg_data
423    );
424 
425 EXCEPTION
426 
427    WHEN AMS_Utility_PVT.resource_locked THEN
428      x_return_status := FND_API.g_ret_sts_error;
429      IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
430         FND_MESSAGE.set_name('AMS', 'AMS_API_RESOURCE_LOCKED');
431         FND_MSG_PUB.add;
432      END IF;
433 
434    WHEN FND_API.G_EXC_ERROR THEN
435      ROLLBACK TO Update_Act_Resource_PUB;
436      x_return_status := FND_API.G_RET_STS_ERROR;
437      -- Standard call to get message count and if count=1, get the message
438      FND_MSG_PUB.Count_And_Get (
439             p_encoded => FND_API.G_FALSE,
440             p_count   => x_msg_count,
441             p_data    => x_msg_data
442      );
443 
444    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
445      ROLLBACK TO Update_Act_Resource_PUB;
446      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
447      -- Standard call to get message count and if count=1, get the message
448      FND_MSG_PUB.Count_And_Get (
449             p_encoded => FND_API.G_FALSE,
450             p_count => x_msg_count,
451             p_data  => x_msg_data
452      );
453 
454    WHEN OTHERS THEN
455      ROLLBACK TO Update_Act_Resource_PUB;
456      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
457      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
458      THEN
459         FND_MSG_PUB.Add_Exc_Msg( G_PACKAGE_NAME,l_api_name);
460      END IF;
461      -- Standard call to get message count and if count=1, get the message
462      FND_MSG_PUB.Count_And_Get (
463             p_encoded => FND_API.G_FALSE,
464             p_count => x_msg_count,
465             p_data  => x_msg_data
466      );
467 End Update_Act_Resource;
468 
469 
470 /*****************************************************************************************/
471 -- Start of Comments
472 --
473 -- NAME
474 --   Delete_Act_Resource
475 --
476 -- PURPOSE
477 --   This procedure is to delete a resource record that satisfy caller needs
478 --
479 -- HISTORY
480 --   02/20/2002        gmadana            created
481 --
482 /*****************************************************************************************/
483 
484 PROCEDURE Delete_Act_Resource
485 ( p_api_version      IN     NUMBER,
486   p_init_msg_list    IN     VARCHAR2   := FND_API.G_FALSE,
487   p_commit           IN     VARCHAR2   := FND_API.G_FALSE,
488   p_validation_level IN     NUMBER     := FND_API.G_VALID_LEVEL_FULL,
489   x_return_status    OUT NOCOPY    VARCHAR2,
490   x_msg_count        OUT NOCOPY    NUMBER,
491   x_msg_data         OUT NOCOPY    VARCHAR2,
492   p_act_Resource_id  IN     NUMBER,
493   p_object_version   IN     NUMBER
494 ) IS
495 
496 l_api_name                  CONSTANT VARCHAR2(30) := 'Delete_Act_Resource';
497 l_api_version_number        CONSTANT NUMBER       := 1.0;
498 l_resource_id               NUMBER                := p_act_Resource_id;
499 l_object_version            NUMBER                := p_object_version;
500 l_return_status             VARCHAR2(1);
501 
502  BEGIN
503       -- Standard Start of API savepoint
504       SAVEPOINT Delete_Act_Resource_PUB;
505 
506       -- Initialize message list if p_init_msg_list is set to TRUE.
507       IF FND_API.to_Boolean( p_init_msg_list )
508       THEN
509          FND_MSG_PUB.initialize;
510       END IF;
511 
512       -- Debug Message
513       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
514 
515       -- Initialize API return status to SUCCESS
516       x_return_status := FND_API.G_RET_STS_SUCCESS;
517 
518    -- customer pre-processing
519    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'B', 'C')
520    THEN
521       AMS_ActResource_CUHK.delete_resource_pre(
522          l_resource_id,
523          l_object_version,
524          l_return_status
525       );
526 
527       IF l_return_status = FND_API.g_ret_sts_error THEN
528          RAISE FND_API.g_exc_error;
529       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
530          RAISE FND_API.g_exc_unexpected_error;
531       END IF;
532    END IF;
533 
534    -- vertical industry pre-processing
535    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'B', 'V')
536    THEN
537       AMS_ActResource_VUHK.delete_resource_pre(
538          l_resource_id,
539          l_object_version,
540          l_return_status
541       );
542 
543       IF l_return_status = FND_API.g_ret_sts_error THEN
544          RAISE FND_API.g_exc_error;
545       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
546          RAISE FND_API.g_exc_unexpected_error;
547       END IF;
548    END IF;
549 
550   -- call business API
551     AMS_ActResource_PVT.Delete_Act_Resource(
552        p_api_version                => 1.0,
553        p_init_msg_list              => p_init_msg_list,
554        p_commit                     => p_commit,
555        p_validation_level           => p_validation_level,
556        x_return_status              => x_return_status,
557        x_msg_count                  => x_msg_count,
558        x_msg_data                   => x_msg_data,
559        p_Act_Resource_id            => l_resource_id,
560        p_object_version             => l_object_version
561        );
562 
563 
564       -- Check return status from the above procedure call
565       IF x_return_status = FND_API.G_RET_STS_ERROR then
566           RAISE FND_API.G_EXC_ERROR;
567       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
568           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
569       END IF;
570       --
571       -- End of API body
572       --
573 
574    -- vertical industry post-processing
575    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'A', 'V')
576    THEN
577       AMS_ActResource_VUHK.delete_resource_post(
578          l_resource_id,
579          l_object_version,
580          l_return_status
581       );
582 
583       IF l_return_status = FND_API.g_ret_sts_error THEN
584          RAISE FND_API.g_exc_error;
585       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
586          RAISE FND_API.g_exc_unexpected_error;
587       END IF;
588    END IF;
589 
590    -- customer post-processing
591    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'A', 'C')
592    THEN
593       AMS_ActResource_CUHK.delete_resource_post(
594          l_resource_id,
595          l_object_version,
596          l_return_status
597       );
598 
599       IF l_return_status = FND_API.g_ret_sts_error THEN
600          RAISE FND_API.g_exc_error;
601       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
602          RAISE FND_API.g_exc_unexpected_error;
603       END IF;
604    END IF;
605 
606    -- Standard check for p_commit
607    IF FND_API.to_Boolean( p_commit )
608    THEN
609       COMMIT WORK;
610    END IF;
611 
612 
613    -- Debug Message
614    AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
615 
616    -- Standard call to get message count and if count is 1, get message info.
617    FND_MSG_PUB.Count_And_Get
618    (p_count          =>   x_msg_count,
619     p_data           =>   x_msg_data
620    );
621 
622 EXCEPTION
623 
624    WHEN AMS_Utility_PVT.resource_locked THEN
625      x_return_status := FND_API.g_ret_sts_error;
626      IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
627         FND_MESSAGE.set_name('AMS', 'AMS_API_RESOURCE_LOCKED');
628         FND_MSG_PUB.add;
629      END IF;
630 
631    WHEN FND_API.G_EXC_ERROR THEN
632      ROLLBACK TO Delete_Act_Resource_PUB;
633      x_return_status := FND_API.G_RET_STS_ERROR;
634      -- Standard call to get message count and if count=1, get the message
635      FND_MSG_PUB.Count_And_Get (
636             p_encoded => FND_API.G_FALSE,
637             p_count   => x_msg_count,
638             p_data    => x_msg_data
639      );
640 
641    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
642      ROLLBACK TO Delete_Act_Resource_PUB;
643      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
644      -- Standard call to get message count and if count=1, get the message
645      FND_MSG_PUB.Count_And_Get (
646             p_encoded => FND_API.G_FALSE,
647             p_count => x_msg_count,
648             p_data  => x_msg_data
649      );
650 
651    WHEN OTHERS THEN
652      ROLLBACK TO Delete_Act_Resource_PUB;
653      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
654      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
655      THEN
656         FND_MSG_PUB.Add_Exc_Msg( G_PACKAGE_NAME,l_api_name);
657      END IF;
658      -- Standard call to get message count and if count=1, get the message
659      FND_MSG_PUB.Count_And_Get (
660             p_encoded => FND_API.G_FALSE,
661             p_count => x_msg_count,
662             p_data  => x_msg_data
663      );
664 
665 END Delete_Act_Resource;
666 
667 /*****************************************************************************************/
668 -- Start of Comments
669 --
670 -- NAME
671 --   Lock_Act_Resource
672 --
673 -- PURPOSE
674 --   This procedure is to lock a delivery method record that satisfy caller needs
675 --
676 -- HISTORY
677 --   04/02/2002        gmadana            created
678 --
679 /*****************************************************************************************/
680 
681 PROCEDURE Lock_Act_Resource
682 ( p_api_version      IN     NUMBER,
683   p_init_msg_list    IN     VARCHAR2    := FND_API.G_FALSE,
684   p_validation_level IN     NUMBER      := FND_API.G_VALID_LEVEL_FULL,
685 
686   x_return_status    OUT NOCOPY    VARCHAR2,
687   x_msg_count        OUT NOCOPY    NUMBER,
688   x_msg_data         OUT NOCOPY    VARCHAR2,
689 
690   p_act_resource_id  IN     NUMBER,
691   p_object_version   IN     NUMBER
692 )
693 IS
694 
695 l_api_name            CONSTANT VARCHAR2(30) := 'Lock_Act_Resource';
696 l_api_version_number  CONSTANT NUMBER       := 1.0;
697 l_object_version      NUMBER                := p_object_version;
698 l_resource_id         NUMBER                := p_act_resource_id;
699 l_return_status       VARCHAR2(1);
700 
701  BEGIN
702 
703       -- Standard call to check for call compatibility.
704       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
705                                            p_api_version,
706                                            l_api_name,
707                                            G_PACKAGE_NAME)
708       THEN
709           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
710       END IF;
711 
712       -- Initialize message list if p_init_msg_list is set to TRUE.
713       IF FND_API.to_Boolean( p_init_msg_list )
714       THEN
715          FND_MSG_PUB.initialize;
716       END IF;
717 
718    -- Debug Message
719       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
720 
721       SAVEPOINT lock_act_resource_pub;
722 
723    -- Initialize API return status to SUCCESS
724       x_return_status := FND_API.G_RET_STS_SUCCESS;
725 
726    -- customer pre-processing
727    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'B', 'C')
728    THEN
729       AMS_ActResource_CUHK.lock_resource_pre(
730          l_resource_id,
731          l_object_version,
732          l_return_status
733       );
734 
735       IF l_return_status = FND_API.g_ret_sts_error THEN
736          RAISE FND_API.g_exc_error;
737       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
738          RAISE FND_API.g_exc_unexpected_error;
739       END IF;
740    END IF;
741 
742    -- vertical industry pre-processing
743    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'B', 'V')
744    THEN
745       AMS_ActResource_VUHK.lock_resource_pre(
746          l_resource_id,
747          l_object_version,
748          l_return_status
749       );
750 
751       IF l_return_status = FND_API.g_ret_sts_error THEN
752          RAISE FND_API.g_exc_error;
753       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
754          RAISE FND_API.g_exc_unexpected_error;
755       END IF;
756    END IF;
757 
758    -- call business API
759      AMS_ActResource_PVT.Lock_Act_Resource(
760         p_api_version                => 1.0,
761         p_init_msg_list              => p_init_msg_list,
762         x_return_status              => x_return_status,
763         x_msg_count                  => x_msg_count,
764         x_msg_data                   => x_msg_data,
765         p_Act_Resource_id            => p_Act_Resource_id,
766         p_object_version             => p_object_version
767         );
768 
769 
770       -- Check return status from the above procedure call
771       IF x_return_status = FND_API.G_RET_STS_ERROR then
772           RAISE FND_API.G_EXC_ERROR;
773       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
774           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
775       END IF;
776       --
777       -- End of API body.
778       --
779 
780    -- vertical industry post-processing
781    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'A', 'V')
782    THEN
783       AMS_ActResource_VUHK.lock_resource_post(
784          l_resource_id,
785          l_object_version,
786          l_return_status
787       );
788 
789       IF l_return_status = FND_API.g_ret_sts_error THEN
790          RAISE FND_API.g_exc_error;
791       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
792          RAISE FND_API.g_exc_unexpected_error;
793       END IF;
794    END IF;
795 
796    -- customer post-processing
797    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'A', 'C')
798    THEN
799       AMS_ActResource_CUHK.lock_resource_post(
800          l_resource_id,
801          l_object_version,
802          l_return_status
803       );
804 
805       IF l_return_status = FND_API.g_ret_sts_error THEN
806          RAISE FND_API.g_exc_error;
807       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
808          RAISE FND_API.g_exc_unexpected_error;
809       END IF;
810    END IF;
811 
812       -- Debug Message
813       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
814 
815 EXCEPTION
816 
817    WHEN AMS_Utility_PVT.resource_locked THEN
818      x_return_status := FND_API.g_ret_sts_error;
819      IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
820         FND_MESSAGE.set_name('AMS', 'AMS_API_RESOURCE_LOCKED');
821         FND_MSG_PUB.add;
822      END IF;
823 
824    WHEN FND_API.G_EXC_ERROR THEN
825      ROLLBACK TO LOCK_Act_Resource_PUB;
826      x_return_status := FND_API.G_RET_STS_ERROR;
827      -- Standard call to get message count and if count=1, get the message
828      FND_MSG_PUB.Count_And_Get (
829             p_encoded => FND_API.G_FALSE,
830             p_count   => x_msg_count,
831             p_data    => x_msg_data
832      );
833 
834    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
835      ROLLBACK TO LOCK_Act_Resource_PUB;
836      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
837      -- Standard call to get message count and if count=1, get the message
838      FND_MSG_PUB.Count_And_Get (
839             p_encoded => FND_API.G_FALSE,
840             p_count => x_msg_count,
841             p_data  => x_msg_data
842      );
843 
844    WHEN OTHERS THEN
845      ROLLBACK TO LOCK_Act_Resource_PUB;
846      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
847      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
848      THEN
849         FND_MSG_PUB.Add_Exc_Msg( G_PACKAGE_NAME,l_api_name);
850      END IF;
851      -- Standard call to get message count and if count=1, get the message
852      FND_MSG_PUB.Count_And_Get (
853             p_encoded => FND_API.G_FALSE,
854             p_count => x_msg_count,
855             p_data  => x_msg_data
856      );
857 END Lock_Act_Resource;
858 
859 /*****************************************************************************************/
860 -- Start of Comments
861 --
862 -- NAME
863 --   Validate_Act_Resource
864 --
865 -- PURPOSE
866 --   This procedure is to validate an activity resource record
867 --
868 -- HISTORY
869 --   02/20/2002        gmadana            created
870 --
871 /*****************************************************************************************/
872 
873 PROCEDURE Validate_Act_Resource
874 ( p_api_version       IN     NUMBER,
875   p_init_msg_list     IN     VARCHAR2   := FND_API.G_FALSE,
876   p_validation_level  IN     NUMBER     := FND_API.G_VALID_LEVEL_FULL,
877   x_return_status     OUT NOCOPY    VARCHAR2,
878   x_msg_count         OUT NOCOPY    NUMBER,
879   x_msg_data          OUT NOCOPY    VARCHAR2,
880   p_act_Resource_rec  IN     act_Resource_rec_type
881 ) IS
882 
883    l_api_name       CONSTANT VARCHAR2(30) := 'Validate_Act_Resource';
884    l_return_status  VARCHAR2(1);
885    l_pvt_resource_rec  AMS_ActResource_PVT.Act_Resource_rec_type;
886    l_pub_resource_rec  Act_Resource_rec_type := p_act_resource_rec;
887 
888 BEGIN
889 
890    SAVEPOINT validate_act_resource_pub;
891 
892    -- initialize the message list;
893    -- won't do it again when calling private API
894    IF FND_API.to_boolean(p_init_msg_list) THEN
895       FND_MSG_PUB.initialize;
896    END IF;
897 
898    Convert_PubRec_To_PvtRec(l_pub_resource_rec,l_pvt_resource_rec);
899 
900    -- customer pre-processing
901    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'B', 'C')
902    THEN
903       AMS_ActResource_CUHK.validate_resource_pre(
904          l_pub_resource_rec,
905          l_return_status
906       );
907 
908       IF l_return_status = FND_API.g_ret_sts_error THEN
909          RAISE FND_API.g_exc_error;
910       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
911          RAISE FND_API.g_exc_unexpected_error;
912       END IF;
913    END IF;
914 
915    -- vertical industry pre-processing
916    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'B', 'V')
917    THEN
918       AMS_ActResource_VUHK.validate_resource_pre(
919          l_pub_resource_rec,
920          l_return_status
921       );
922 
923       IF l_return_status = FND_API.g_ret_sts_error THEN
924          RAISE FND_API.g_exc_error;
925       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
926          RAISE FND_API.g_exc_unexpected_error;
927       END IF;
928    END IF;
929 
930    -- call business API
931    AMS_ActResource_PVT.Validate_Act_Resource(
932       p_api_version          => p_api_version,
933       p_init_msg_list         => p_init_msg_list,
934       p_validation_level      => p_validation_level,
935       x_return_status         => l_return_status,
936       x_msg_count             => x_msg_count,
937       x_msg_data              => x_msg_data,
938       p_Act_Resource_rec      => l_pvt_resource_rec
939         );
940 
941    IF l_return_status = FND_API.g_ret_sts_error THEN
942       RAISE FND_API.g_exc_error;
943    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
944       RAISE FND_API.g_exc_unexpected_error;
945    END IF;
946 
947    -- vertical industry post-processing
948    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'A', 'V')
949    THEN
950       AMS_ActResource_VUHK.validate_resource_post(
951          l_pub_resource_rec,
952          l_return_status
953       );
954 
955       IF l_return_status = FND_API.g_ret_sts_error THEN
956          RAISE FND_API.g_exc_error;
957       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
958          RAISE FND_API.g_exc_unexpected_error;
959       END IF;
960    END IF;
961 
962    -- customer post-processing
963    IF JTF_USR_HKS.ok_to_execute(G_PACKAGE_NAME, l_api_name, 'A', 'C')
964    THEN
965       AMS_ActResource_CUHK.validate_resource_post(
966          l_pub_resource_rec,
967          l_return_status
968       );
969 
970       IF l_return_status = FND_API.g_ret_sts_error THEN
971          RAISE FND_API.g_exc_error;
972       ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
973          RAISE FND_API.g_exc_unexpected_error;
974       END IF;
975    END IF;
976 
977    -- Debug Message
978    AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
979 
980    -- Standard call to get message count and if count is 1, get message info.
981    FND_MSG_PUB.Count_And_Get
982    (p_count          =>   x_msg_count,
983     p_data           =>   x_msg_data
984    );
985 
986 EXCEPTION
987 
988    WHEN FND_API.g_exc_error THEN
989       ROLLBACK TO validate_act_resource_pub;
990       x_return_status := FND_API.g_ret_sts_error;
991       FND_MSG_PUB.count_and_get(
992             p_encoded => FND_API.g_false,
993             p_count   => x_msg_count,
994             p_data    => x_msg_data
995       );
996 
997    WHEN FND_API.g_exc_unexpected_error THEN
998       ROLLBACK TO validate_act_resource_pub;
999       x_return_status := FND_API.g_ret_sts_unexp_error ;
1000       FND_MSG_PUB.count_and_get(
1001             p_encoded => FND_API.g_false,
1002             p_count   => x_msg_count,
1003             p_data    => x_msg_data
1004       );
1005 
1006 
1007    WHEN OTHERS THEN
1008       ROLLBACK TO validate_act_resource_pub;
1009       x_return_status := FND_API.g_ret_sts_unexp_error ;
1010 
1011       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
1012       THEN
1013          FND_MSG_PUB.add_exc_msg(G_PACKAGE_NAME, l_api_name);
1014       END IF;
1015 
1016       FND_MSG_PUB.count_and_get(
1017             p_encoded => FND_API.g_false,
1018             p_count   => x_msg_count,
1019             p_data    => x_msg_data
1020       );
1021 END Validate_Act_Resource;
1022 
1023 
1024 END AMS_ActResource_PUB;