DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_CT_RULE_PUB

Source


1 PACKAGE BODY AMS_Ct_Rule_PUB as
2 /* $Header: amspctrb.pls 120.1 2006/02/22 02:26:21 anchaudh noship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 --          AMS_Ct_Rule_PUB
7 -- Purpose
8 --
9 -- History
10 --
11 -- NOTE
12 --
13 -- End of Comments
14 -- ===============================================================
15 
16 
17 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AMS_Ct_Rule_PUB';
18 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amspctrb.pls';
19 
20 PROCEDURE Create_Ct_Rule(
21     p_api_version_number         IN   NUMBER,
22     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
23     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
24 
25     x_return_status              OUT NOCOPY  VARCHAR2,
26     x_msg_count                  OUT NOCOPY  NUMBER,
27     x_msg_data                   OUT NOCOPY  VARCHAR2,
28 
29     p_ct_rule_rec               IN   ct_rule_rec_type  := g_miss_ct_rule_rec,
30     x_content_rule_id                   OUT NOCOPY  NUMBER
31      )
32 
33  IS
34 L_API_NAME                  CONSTANT VARCHAR2(30) := 'Create_Ct_Rule';
35 L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
36 l_pvt_ct_rule_rec    AMS_Ct_Rule_PVT.ct_rule_rec_type;
37  BEGIN
38       -- Standard Start of API savepoint
39       SAVEPOINT CREATE_Ct_Rule_PUB;
40 
41       -- Standard call to check for call compatibility.
42       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
43                                            p_api_version_number,
44                                            l_api_name,
45                                            G_PKG_NAME)
46       THEN
47           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
48       END IF;
49 
50       -- Initialize message list if p_init_msg_list is set to TRUE.
51       IF FND_API.to_Boolean( p_init_msg_list )
52       THEN
53          FND_MSG_PUB.initialize;
54       END IF;
55 
56       -- Debug Message
57       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
58 
59 
60       -- Initialize API return status to SUCCESS
61       x_return_status := FND_API.G_RET_STS_SUCCESS;
62 
63       --
64       -- API body
65       --
66     -- Calling Private package: Create_Ct_Rule
67     -- Hint: Primary key needs to be returned
68      AMS_Ct_Rule_PVT.Create_Ct_Rule(
69      p_api_version_number         => 1.0,
70      p_init_msg_list              => FND_API.G_FALSE,
71      p_commit                     => FND_API.G_FALSE,
72      p_validation_level           => FND_API.G_VALID_LEVEL_FULL,
73      x_return_status              => x_return_status,
74      x_msg_count                  => x_msg_count,
75      x_msg_data                   => x_msg_data,
76      p_ct_rule_rec  => l_pvt_ct_rule_rec,
77      x_content_rule_id     => x_content_rule_id);
78 
79 
80       -- Check return status from the above procedure call
81       IF x_return_status = FND_API.G_RET_STS_ERROR then
82           RAISE FND_API.G_EXC_ERROR;
83       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
84           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
85       END IF;
86       --
87       -- End of API body.
88       --
89 
90       -- Standard check for p_commit
91       IF FND_API.to_Boolean( p_commit )
92       THEN
93          COMMIT WORK;
94       END IF;
95 
96 
97       -- Debug Message
98       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
99 
100       -- Standard call to get message count and if count is 1, get message info.
101       FND_MSG_PUB.Count_And_Get
102         (p_count          =>   x_msg_count,
103          p_data           =>   x_msg_data
104       );
105 EXCEPTION
106 
107    WHEN AMS_Utility_PVT.resource_locked THEN
108      x_return_status := FND_API.g_ret_sts_error;
109  AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
110 
111    WHEN FND_API.G_EXC_ERROR THEN
112      ROLLBACK TO CREATE_Ct_Rule_PUB;
113      x_return_status := FND_API.G_RET_STS_ERROR;
114      -- Standard call to get message count and if count=1, get the message
115      FND_MSG_PUB.Count_And_Get (
116             p_encoded => FND_API.G_FALSE,
117             p_count   => x_msg_count,
118             p_data    => x_msg_data
119      );
120 
121    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
122      ROLLBACK TO CREATE_Ct_Rule_PUB;
123      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
124      -- Standard call to get message count and if count=1, get the message
125      FND_MSG_PUB.Count_And_Get (
126             p_encoded => FND_API.G_FALSE,
127             p_count => x_msg_count,
128             p_data  => x_msg_data
129      );
130 
131    WHEN OTHERS THEN
132      ROLLBACK TO CREATE_Ct_Rule_PUB;
133      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
134      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
135      THEN
136         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
137      END IF;
138      -- Standard call to get message count and if count=1, get the message
139      FND_MSG_PUB.Count_And_Get (
140             p_encoded => FND_API.G_FALSE,
141             p_count => x_msg_count,
142             p_data  => x_msg_data
143      );
144 End Create_Ct_Rule;
145 
146 
147 PROCEDURE Update_Ct_Rule(
148     p_api_version_number         IN   NUMBER,
149     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
150     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
151 
152     x_return_status              OUT NOCOPY  VARCHAR2,
153     x_msg_count                  OUT NOCOPY  NUMBER,
154     x_msg_data                   OUT NOCOPY  VARCHAR2,
155 
156     p_ct_rule_rec               IN    ct_rule_rec_type,
157     x_object_version_number      OUT NOCOPY  NUMBER
158     )
159 
160  IS
161 L_API_NAME                  CONSTANT VARCHAR2(30) := 'Update_Ct_Rule';
162 L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
163 l_object_version_number  NUMBER;
164 l_pvt_ct_rule_rec  AMS_Ct_Rule_PVT.ct_rule_rec_type;
165  BEGIN
166       -- Standard Start of API savepoint
167       SAVEPOINT UPDATE_Ct_Rule_PUB;
168 
169       -- Standard call to check for call compatibility.
170       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
171                                            p_api_version_number,
172                                            l_api_name,
173                                            G_PKG_NAME)
174       THEN
175           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
176       END IF;
177 
178       -- Initialize message list if p_init_msg_list is set to TRUE.
179       IF FND_API.to_Boolean( p_init_msg_list )
180       THEN
181          FND_MSG_PUB.initialize;
182       END IF;
183 
184       -- Debug Message
185       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
186 
187 
188       -- Initialize API return status to SUCCESS
189       x_return_status := FND_API.G_RET_STS_SUCCESS;
190 
191       --
192       -- API body
193       --
194     AMS_Ct_Rule_PVT.Update_Ct_Rule(
195     p_api_version_number         => 1.0,
196     p_init_msg_list              => FND_API.G_FALSE,
197     p_commit                     => p_commit,
198     p_validation_level           => FND_API.G_VALID_LEVEL_FULL,
199     x_return_status              => x_return_status,
200     x_msg_count                  => x_msg_count,
201     x_msg_data                   => x_msg_data,
202     p_ct_rule_rec  =>  l_pvt_ct_rule_rec,
203     x_object_version_number      => l_object_version_number );
204 
205 
206       -- Check return status from the above procedure call
207       IF x_return_status = FND_API.G_RET_STS_ERROR then
208           RAISE FND_API.G_EXC_ERROR;
209       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
210           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
211       END IF;
212       --
213       -- End of API body
214       --
215 
216       -- Standard check for p_commit
217       IF FND_API.to_Boolean( p_commit )
218       THEN
219          COMMIT WORK;
220       END IF;
221 
222 
223       -- Debug Message
224       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
225 
226       -- Standard call to get message count and if count is 1, get message info.
227       FND_MSG_PUB.Count_And_Get
228         (p_count          =>   x_msg_count,
229          p_data           =>   x_msg_data
230       );
231 EXCEPTION
232 
233    WHEN AMS_Utility_PVT.resource_locked THEN
234      x_return_status := FND_API.g_ret_sts_error;
235  AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
236 
237    WHEN FND_API.G_EXC_ERROR THEN
238      ROLLBACK TO UPDATE_Ct_Rule_PUB;
239      x_return_status := FND_API.G_RET_STS_ERROR;
240      -- Standard call to get message count and if count=1, get the message
241      FND_MSG_PUB.Count_And_Get (
242             p_encoded => FND_API.G_FALSE,
243             p_count   => x_msg_count,
244             p_data    => x_msg_data
245      );
246 
247    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
248      ROLLBACK TO UPDATE_Ct_Rule_PUB;
249      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
250      -- Standard call to get message count and if count=1, get the message
251      FND_MSG_PUB.Count_And_Get (
252             p_encoded => FND_API.G_FALSE,
253             p_count => x_msg_count,
254             p_data  => x_msg_data
255      );
256 
257    WHEN OTHERS THEN
258      ROLLBACK TO UPDATE_Ct_Rule_PUB;
259      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
260      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
261      THEN
262         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
263      END IF;
264      -- Standard call to get message count and if count=1, get the message
265      FND_MSG_PUB.Count_And_Get (
266             p_encoded => FND_API.G_FALSE,
267             p_count => x_msg_count,
268             p_data  => x_msg_data
269      );
270 End Update_Ct_Rule;
271 
272 
273 PROCEDURE Delete_Ct_Rule(
274     p_api_version_number         IN   NUMBER,
275     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
276     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
277     x_return_status              OUT NOCOPY  VARCHAR2,
278     x_msg_count                  OUT NOCOPY  NUMBER,
279     x_msg_data                   OUT NOCOPY  VARCHAR2,
280     p_content_rule_id                   IN  NUMBER,
281     p_object_version_number      IN   NUMBER
282     )
283 
284  IS
285 L_API_NAME                  CONSTANT VARCHAR2(30) := 'Delete_Ct_Rule';
286 L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
287 l_CONTENT_RULE_ID  NUMBER := p_CONTENT_RULE_ID;
288 l_object_version_number  NUMBER := p_object_version_number;
289 l_pvt_ct_rule_rec  AMS_Ct_Rule_PVT.ct_rule_rec_type;
290  BEGIN
291       -- Standard Start of API savepoint
292       SAVEPOINT DELETE_Ct_Rule_PUB;
293 
294       -- Standard call to check for call compatibility.
295       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
296                                            p_api_version_number,
297                                            l_api_name,
298                                            G_PKG_NAME)
299       THEN
300           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
301       END IF;
302 
303       -- Initialize message list if p_init_msg_list is set to TRUE.
304       IF FND_API.to_Boolean( p_init_msg_list )
305       THEN
306          FND_MSG_PUB.initialize;
307       END IF;
308 
309       -- Debug Message
310       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
311 
312 
313       -- Initialize API return status to SUCCESS
314       x_return_status := FND_API.G_RET_STS_SUCCESS;
315 
316       --
317       -- API body
318       --
319     AMS_Ct_Rule_PVT.Delete_Ct_Rule(
320     p_api_version_number         => 1.0,
321     p_init_msg_list              => FND_API.G_FALSE,
322     p_commit                     => p_commit,
323     p_validation_level           => FND_API.G_VALID_LEVEL_FULL,
324     x_return_status              => x_return_status,
325     x_msg_count                  => x_msg_count,
326     x_msg_data                   => x_msg_data,
327     p_content_rule_id     => l_content_rule_id,
328     p_object_version_number      => l_object_version_number );
329 
330 
331       -- Check return status from the above procedure call
332       IF x_return_status = FND_API.G_RET_STS_ERROR then
333           RAISE FND_API.G_EXC_ERROR;
334       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
335           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
336       END IF;
337       --
338       -- End of API body
339       --
340 
341       -- Standard check for p_commit
342       IF FND_API.to_Boolean( p_commit )
343       THEN
344          COMMIT WORK;
345       END IF;
346 
347 
348       -- Debug Message
349       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
350 
351       -- Standard call to get message count and if count is 1, get message info.
352       FND_MSG_PUB.Count_And_Get
353         (p_count          =>   x_msg_count,
354          p_data           =>   x_msg_data
355       );
356 EXCEPTION
357 
358    WHEN AMS_Utility_PVT.resource_locked THEN
359      x_return_status := FND_API.g_ret_sts_error;
360  AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
361 
362    WHEN FND_API.G_EXC_ERROR THEN
363      ROLLBACK TO DELETE_Ct_Rule_PUB;
364      x_return_status := FND_API.G_RET_STS_ERROR;
368             p_count   => x_msg_count,
365      -- Standard call to get message count and if count=1, get the message
366      FND_MSG_PUB.Count_And_Get (
367             p_encoded => FND_API.G_FALSE,
369             p_data    => x_msg_data
370      );
371 
372    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
373      ROLLBACK TO DELETE_Ct_Rule_PUB;
374      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
375      -- Standard call to get message count and if count=1, get the message
376      FND_MSG_PUB.Count_And_Get (
377             p_encoded => FND_API.G_FALSE,
378             p_count => x_msg_count,
379             p_data  => x_msg_data
380      );
381 
382    WHEN OTHERS THEN
383      ROLLBACK TO DELETE_Ct_Rule_PUB;
384      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
385      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
386      THEN
387         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
388      END IF;
389      -- Standard call to get message count and if count=1, get the message
390      FND_MSG_PUB.Count_And_Get (
391             p_encoded => FND_API.G_FALSE,
392             p_count => x_msg_count,
393             p_data  => x_msg_data
394      );
395 End Delete_Ct_Rule;
396 
397 
398 PROCEDURE Lock_Ct_Rule(
399     p_api_version_number         IN   NUMBER,
400     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
401     x_return_status              OUT NOCOPY  VARCHAR2,
402     x_msg_count                  OUT NOCOPY  NUMBER,
403     x_msg_data                   OUT NOCOPY  VARCHAR2,
404 
405     p_content_rule_id                   IN  NUMBER,
406     p_object_version             IN  NUMBER
407     )
408 
409  IS
410 L_API_NAME                  CONSTANT VARCHAR2(30) := 'Lock_Ct_Rule';
411 L_API_VERSION_NUMBER        CONSTANT NUMBER   := 1.0;
412 l_pvt_ct_rule_rec    AMS_Ct_Rule_PVT.ct_rule_rec_type;
413  BEGIN
414 
415       -- Standard call to check for call compatibility.
416       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
417                                            p_api_version_number,
418                                            l_api_name,
419                                            G_PKG_NAME)
420       THEN
421           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
422       END IF;
423 
424       -- Initialize message list if p_init_msg_list is set to TRUE.
425       IF FND_API.to_Boolean( p_init_msg_list )
426       THEN
427          FND_MSG_PUB.initialize;
428       END IF;
429 
430       -- Debug Message
431       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
432 
433 
434       -- Initialize API return status to SUCCESS
435       x_return_status := FND_API.G_RET_STS_SUCCESS;
436 
437       --
438       -- API body
439       --
440     -- Calling Private package: Create_Ct_Rule
441     -- Hint: Primary key needs to be returned
442      AMS_Ct_Rule_PVT.Lock_Ct_Rule(
443      p_api_version_number         => 1.0,
444      p_init_msg_list              => FND_API.G_FALSE,
445      x_return_status              => x_return_status,
446      x_msg_count                  => x_msg_count,
447      x_msg_data                   => x_msg_data,
448      p_content_rule_id     => p_content_rule_id,
449      p_object_version             => p_object_version);
450 
451 
452       -- Check return status from the above procedure call
453       IF x_return_status = FND_API.G_RET_STS_ERROR then
454           RAISE FND_API.G_EXC_ERROR;
455       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
456           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
457       END IF;
458       --
459       -- End of API body.
460       --
461 
462       -- Debug Message
463       AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
464 
465 EXCEPTION
466 
467    WHEN AMS_Utility_PVT.resource_locked THEN
468      x_return_status := FND_API.g_ret_sts_error;
469  AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
470 
471    WHEN FND_API.G_EXC_ERROR THEN
472      ROLLBACK TO LOCK_Ct_Rule_PUB;
473      x_return_status := FND_API.G_RET_STS_ERROR;
474      -- Standard call to get message count and if count=1, get the message
475      FND_MSG_PUB.Count_And_Get (
476             p_encoded => FND_API.G_FALSE,
477             p_count   => x_msg_count,
478             p_data    => x_msg_data
479      );
480 
481    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
482      ROLLBACK TO LOCK_Ct_Rule_PUB;
483      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
484      -- Standard call to get message count and if count=1, get the message
485      FND_MSG_PUB.Count_And_Get (
486             p_encoded => FND_API.G_FALSE,
487             p_count => x_msg_count,
488             p_data  => x_msg_data
489      );
490 
491    WHEN OTHERS THEN
492      ROLLBACK TO LOCK_Ct_Rule_PUB;
493      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
494      IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
495      THEN
496         FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
497      END IF;
498      -- Standard call to get message count and if count=1, get the message
499      FND_MSG_PUB.Count_And_Get (
500             p_encoded => FND_API.G_FALSE,
501             p_count => x_msg_count,
502             p_data  => x_msg_data
503      );
504 End Lock_Ct_Rule;
505 
506 
507 END AMS_Ct_Rule_PUB;