[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