DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_PS_RULE_PUB

Source


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