[Home] [Help]
PACKAGE BODY: APPS.AMS_DELIVKITITEM_PUB
Source
1 PACKAGE BODY AMS_DelivKitItem_PUB as
2 /* $Header: amspkitb.pls 115.2 2002/11/14 00:21:17 musman noship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 -- AMS_DelivKitItem_PUB
7 -- Purpose
8 --
9 -- History
10 -- 27-sep-2002 ABHOLA Created
11 -- NOTE
12 --
13 -- End of Comments
14 -- ===============================================================
15
16
17 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AMS_DelivKitItem_PUB';
18 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amspkitb.pls';
19
20
21 PROCEDURE Create_DelivKitItem(
22
23 p_api_version_number IN NUMBER,
24 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
25 p_commit IN VARCHAR2 := FND_API.g_false,
26 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
27
28 x_return_status OUT NOCOPY VARCHAR2,
29 x_msg_count OUT NOCOPY NUMBER,
30 x_msg_data OUT NOCOPY VARCHAR2,
31
32 p_Deliv_Kit_Item_rec IN AMS_DelivKitItem_PVT.deliv_kit_item_rec_type,
33 x_deliv_kit_item_id OUT NOCOPY NUMBER
34
35 )
36
37
38
39 IS
40
41 L_API_NAME CONSTANT VARCHAR2(30) := 'Create_DelivKitItem';
42 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
43 l_return_status VARCHAR2(1);
44 l_pvt_DelivKitItem_rec AMS_DelivKitItem_PVT.deliv_kit_item_rec_type := p_Deliv_Kit_Item_rec;
45
46 BEGIN
47
48 SAVEPOINT CREATE_DelivKitItem_PUB;
49
50 -- Standard call to check for call compatibility.
51 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
52 p_api_version_number,
53 l_api_name,
54 G_PKG_NAME)
55 THEN
56 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
57 END IF;
58
59 -- Initialize message list if p_init_msg_list is set to TRUE.
60 IF FND_API.to_Boolean( p_init_msg_list )
61 THEN
62 FND_MSG_PUB.initialize;
63 END IF;
64
65 -- Debug Message
66 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
67
68
69 -- Initialize API return status to SUCCESS
70 x_return_status := FND_API.G_RET_STS_SUCCESS;
71
72 --
73 -- API body
74 --
75 -- Calling Private package: Create_DelivKitItem
76 -- Hint: Primary key needs to be returned
77
78 -- customer pre-processing
79 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
80 THEN
81 AMS_DelivKitItem_CUHK.create_DelivKitItem_pre(
82 l_pvt_DelivKitItem_rec,
83 l_return_status
84 );
85
86 IF l_return_status = FND_API.g_ret_sts_error THEN
87 RAISE FND_API.g_exc_error;
88 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
89 RAISE FND_API.g_exc_unexpected_error;
90 END IF;
91 END IF;
92
93 -- vertical industry pre-processing
94 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
95 THEN
96 AMS_DelivKitItem_VUHK.create_DelivKitItem_pre(
97 l_pvt_DelivKitItem_rec,
98 l_return_status
99 );
100
101 IF l_return_status = FND_API.g_ret_sts_error THEN
102 RAISE FND_API.g_exc_error;
103 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
104 RAISE FND_API.g_exc_unexpected_error;
105 END IF;
106 END IF;
107 -------------------------------------------------------
108 AMS_DelivKitItem_PVT.Create_Deliv_Kit_Item(
109 p_api_version => 1.0,
110 p_init_msg_list => FND_API.G_FALSE,
111 p_commit => FND_API.G_FALSE,
112 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
113 x_return_status => x_return_status,
114 x_msg_count => x_msg_count,
115 x_msg_data => x_msg_data,
116 p_Deliv_Kit_Item_rec => l_pvt_DelivKitItem_rec,
117 x_Deliv_kit_item_id => x_Deliv_kit_item_id);
118
119
120 -- Check return status from the above procedure call
121 IF x_return_status = FND_API.G_RET_STS_ERROR then
122 RAISE FND_API.G_EXC_ERROR;
123 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
124 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
125 END IF;
126 --
127 -- End of API body.
128 --
129
130 -- customer pre-processing
131 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
132 THEN
133 AMS_DelivKitItem_CUHK.create_DelivKitItem_post(
134 l_pvt_DelivKitItem_rec,
135 x_Deliv_kit_item_id,
136 l_return_status
137 );
138
139 IF l_return_status = FND_API.g_ret_sts_error THEN
140 RAISE FND_API.g_exc_error;
141 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
142 RAISE FND_API.g_exc_unexpected_error;
143 END IF;
144 END IF;
145
146
147
148 -- vertical industry pre-processing
149 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
150 THEN
151 AMS_DelivKitItem_VUHK.create_DelivKitItem_post(
152 l_pvt_DelivKitItem_rec,
153 x_Deliv_kit_item_id,
154 l_return_status
155 );
156
157 IF l_return_status = FND_API.g_ret_sts_error THEN
158 RAISE FND_API.g_exc_error;
159 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
160 RAISE FND_API.g_exc_unexpected_error;
161 END IF;
162 END IF;
163 ------------------------------------------
164
165 -- Standard check for p_commit
166 IF FND_API.to_Boolean( p_commit )
167 THEN
168 COMMIT WORK;
169 END IF;
170
171
172 -- Debug Message
173 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
174
175 -- Standard call to get message count and if count is 1, get message info.
176 FND_MSG_PUB.Count_And_Get
177 (p_count => x_msg_count,
178 p_data => x_msg_data
179 );
180
181 EXCEPTION
182
183 WHEN AMS_Utility_PVT.resource_locked THEN
184 x_return_status := FND_API.g_ret_sts_error;
185 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
186 FND_MESSAGE.set_name('AMS', 'AMS_API_RESOURCE_LOCKED');
187 FND_MSG_PUB.add;
188 END IF;
189
190 WHEN FND_API.G_EXC_ERROR THEN
191 ROLLBACK TO CREATE_DelivKitItem_PUB;
192 x_return_status := FND_API.G_RET_STS_ERROR;
193 -- Standard call to get message count and if count=1, get the message
194 FND_MSG_PUB.Count_And_Get (
195 p_encoded => FND_API.G_FALSE,
196 p_count => x_msg_count,
197 p_data => x_msg_data
198 );
199
200 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
201 ROLLBACK TO CREATE_DelivKitItem_PUB;
202 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
203 -- Standard call to get message count and if count=1, get the message
204 FND_MSG_PUB.Count_And_Get (
205 p_encoded => FND_API.G_FALSE,
206 p_count => x_msg_count,
207 p_data => x_msg_data
208 );
209
210 WHEN OTHERS THEN
211 ROLLBACK TO CREATE_DelivKitItem_PUB;
212 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
213 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
214 THEN
215 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
216 END IF;
217 -- Standard call to get message count and if count=1, get the message
218 FND_MSG_PUB.Count_And_Get (
219 p_encoded => FND_API.G_FALSE,
220 p_count => x_msg_count,
221 p_data => x_msg_data
222 );
223 End Create_DelivKitItem;
224
225
226 PROCEDURE Update_DelivKitItem(
227 p_api_version_number IN NUMBER,
228 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
229 p_commit IN VARCHAR2 := FND_API.G_FALSE,
230 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
231 x_return_status OUT NOCOPY VARCHAR2,
232 x_msg_count OUT NOCOPY NUMBER,
233 x_msg_data OUT NOCOPY VARCHAR2,
234 p_Deliv_Kit_Item_rec IN AMS_DelivKitItem_PVT.deliv_kit_item_rec_type
235 )
236
237 IS
238
239 L_API_NAME CONSTANT VARCHAR2(30) := 'Update_DelivKitItem';
240 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
241 l_object_version_number NUMBER;
242 l_return_status VARCHAR2(1);
243 l_pvt_DelivKitItem_rec AMS_DelivKitItem_PVT.deliv_kit_item_rec_type := p_Deliv_Kit_Item_rec;
244
245 BEGIN
246
247 -- Standard Start of API savepoint
248 SAVEPOINT UPDATE_DelivKitItem_PUB;
249
250 -- Standard call to check for call compatibility.
251 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
252 p_api_version_number,
253 l_api_name,
254 G_PKG_NAME)
255 THEN
256 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
257 END IF;
258
259 -- Initialize message list if p_init_msg_list is set to TRUE.
260 IF FND_API.to_Boolean( p_init_msg_list )
261 THEN
262 FND_MSG_PUB.initialize;
263 END IF;
264
265 -- Debug Message
266 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
267
268
269 -- Initialize API return status to SUCCESS
270 x_return_status := FND_API.G_RET_STS_SUCCESS;
271
272 -- customer pre-processing
273 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
274 THEN
275 AMS_DelivKitItem_CUHK.update_DelivKitItem_pre(
276 l_pvt_DelivKitItem_rec,
277 l_return_status
278 );
279
280 IF l_return_status = FND_API.g_ret_sts_error THEN
281 RAISE FND_API.g_exc_error;
282 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
283 RAISE FND_API.g_exc_unexpected_error;
284 END IF;
285 END IF;
286
287 -- vertical industry pre-processing
288 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
289 THEN
290 AMS_DelivKitItem_VUHK.update_DelivKitItem_pre(
291 l_pvt_DelivKitItem_rec,
292 l_return_status
293 );
294
295 IF l_return_status = FND_API.g_ret_sts_error THEN
296 RAISE FND_API.g_exc_error;
297 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
298 RAISE FND_API.g_exc_unexpected_error;
299 END IF;
300 END IF;
301 -------------------------------------------------------
302 --
303 -- API body
304 --
305 AMS_DelivKitItem_PVT.Update_Deliv_Kit_Item(
306 p_api_version => 1.0,
307 p_init_msg_list => FND_API.G_FALSE,
308 p_commit => p_commit,
309 p_validation_level => FND_API.G_VALID_LEVEL_FULL,
310 x_return_status => x_return_status,
311 x_msg_count => x_msg_count,
312 x_msg_data => x_msg_data,
313 p_Deliv_Kit_Item_rec => l_pvt_DelivKitItem_rec);
314
315
316 -- Check return status from the above procedure call
317 IF x_return_status = FND_API.G_RET_STS_ERROR then
318 RAISE FND_API.G_EXC_ERROR;
319 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
320 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
321 END IF;
322 --
323 -- End of API body
324 --
325 -- Standard check for p_commit
326 IF FND_API.to_Boolean( p_commit )
327 THEN
328 COMMIT WORK;
329 END IF;
330
331 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
332 THEN
333 AMS_DelivKitItem_CUHK.update_DelivKitItem_post(
334 l_pvt_DelivKitItem_rec,
335 l_return_status
336 );
337
338 IF l_return_status = FND_API.g_ret_sts_error THEN
339 RAISE FND_API.g_exc_error;
340 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
341 RAISE FND_API.g_exc_unexpected_error;
342 END IF;
343 END IF;
344
345 -- vertical industry pre-processing
346 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
347 THEN
348 AMS_DelivKitItem_VUHK.update_DelivKitItem_post(
349 l_pvt_DelivKitItem_rec,
350 l_return_status
351 );
352
353 IF l_return_status = FND_API.g_ret_sts_error THEN
354 RAISE FND_API.g_exc_error;
355 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
356 RAISE FND_API.g_exc_unexpected_error;
357 END IF;
358 END IF;
359 -------------------------------------------------------
360 -- Debug Message
361 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
362
363 -- Standard call to get message count and if count is 1, get message info.
364 FND_MSG_PUB.Count_And_Get
365 (p_count => x_msg_count,
366 p_data => x_msg_data
367 );
368 EXCEPTION
369
370 WHEN AMS_Utility_PVT.resource_locked THEN
371 x_return_status := FND_API.g_ret_sts_error;
372 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
373
374 WHEN FND_API.G_EXC_ERROR THEN
378 FND_MSG_PUB.Count_And_Get (
375 ROLLBACK TO UPDATE_DelivKitItem_PUB;
376 x_return_status := FND_API.G_RET_STS_ERROR;
377 -- Standard call to get message count and if count=1, get the message
379 p_encoded => FND_API.G_FALSE,
380 p_count => x_msg_count,
381 p_data => x_msg_data
382 );
383
384 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
385 ROLLBACK TO UPDATE_DelivKitItem_PUB;
386 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
387 -- Standard call to get message count and if count=1, get the message
388 FND_MSG_PUB.Count_And_Get (
389 p_encoded => FND_API.G_FALSE,
390 p_count => x_msg_count,
391 p_data => x_msg_data
392 );
393
394 WHEN OTHERS THEN
395 ROLLBACK TO UPDATE_DelivKitItem_PUB;
396 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
397 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
398 THEN
399 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
400 END IF;
401 -- Standard call to get message count and if count=1, get the message
402 FND_MSG_PUB.Count_And_Get (
403 p_encoded => FND_API.G_FALSE,
404 p_count => x_msg_count,
405 p_data => x_msg_data
406 );
407
408 End Update_DelivKitItem;
409
410
411 PROCEDURE Delete_DelivKitItem(
412 p_api_version_number IN NUMBER,
413 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
414 p_commit IN VARCHAR2 := FND_API.G_FALSE,
415 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
416 x_return_status OUT NOCOPY VARCHAR2,
417 x_msg_count OUT NOCOPY NUMBER,
418 x_msg_data OUT NOCOPY VARCHAR2,
419 p_deliv_kit_item_id IN NUMBER,
420 p_object_version_number IN NUMBER
421 )
422
423
424
425 IS
426
427 L_API_NAME CONSTANT VARCHAR2(30) := 'Delete_DelivKitItem';
428 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
429 l_deliv_kit_item_id NUMBER := p_deliv_kit_item_id;
430 l_object_version_number NUMBER := p_object_version_number;
431 l_return_status VARCHAR2(1);
432
433
434 BEGIN
435 -- Standard Start of API savepoint
436 SAVEPOINT DELETE_DelivKitItem_PUB;
437
438 -- Standard call to check for call compatibility.
439 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
440 p_api_version_number,
441 l_api_name,
442 G_PKG_NAME)
443 THEN
444 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
445 END IF;
446
447 -- Initialize message list if p_init_msg_list is set to TRUE.
448 IF FND_API.to_Boolean( p_init_msg_list )
449 THEN
450 FND_MSG_PUB.initialize;
451 END IF;
452
453 -- Debug Message
454 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
455
456
457 -- Initialize API return status to SUCCESS
458 x_return_status := FND_API.G_RET_STS_SUCCESS;
459
460 -- customer pre-processing
461 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
462 THEN
463 AMS_DelivKitItem_CUHK.delete_DelivKitItem_pre(
464 l_deliv_kit_item_id,
465 l_object_version_number,
466 l_return_status
467 );
468
469 IF l_return_status = FND_API.g_ret_sts_error THEN
470 RAISE FND_API.g_exc_error;
471 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
472 RAISE FND_API.g_exc_unexpected_error;
473 END IF;
474 END IF;
475
476 -- vertical industry pre-processing
477 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
478 THEN
479 AMS_DelivKitItem_VUHK.delete_DelivKitItem_pre(
480 l_deliv_kit_item_id,
481 l_object_version_number,
482 l_return_status
483 );
484
485 IF l_return_status = FND_API.g_ret_sts_error THEN
486 RAISE FND_API.g_exc_error;
487 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
488 RAISE FND_API.g_exc_unexpected_error;
489 END IF;
490 END IF;
491 -------------------------------------------------------
492
493 --
494 -- API body
495 --
496 AMS_DelivKitItem_PVT.Delete_Deliv_Kit_Item(
497 p_api_version => 1.0,
498 p_init_msg_list => FND_API.G_FALSE,
499 p_commit => p_commit,
500 x_return_status => x_return_status,
501 x_msg_count => x_msg_count,
502 x_msg_data => x_msg_data,
503 p_deliv_kit_item_id => l_deliv_kit_item_id,
504 p_object_version => l_object_version_number );
505
506
507
508 -- Check return status from the above procedure call
509 IF x_return_status = FND_API.G_RET_STS_ERROR then
510 RAISE FND_API.G_EXC_ERROR;
511 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
512 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
513 END IF;
514 --
515 -- End of API body
516 --
517
518 -- customer pre-processing
519 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
520 THEN
521 AMS_DelivKitItem_CUHK.delete_DelivKitItem_post(
522 l_deliv_kit_item_id,
523 l_object_version_number,
527 IF l_return_status = FND_API.g_ret_sts_error THEN
524 l_return_status
525 );
526
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_pkg_name, l_api_name, 'A', 'V')
536 THEN
537 AMS_DelivKitItem_VUHK.delete_DelivKitItem_post(
538 l_deliv_kit_item_id,
539 l_object_version_number,
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
551
552 -- Standard check for p_commit
553 IF FND_API.to_Boolean( p_commit )
554 THEN
555 COMMIT WORK;
556 END IF;
557
558
559 -- Debug Message
560 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
561
562 -- Standard call to get message count and if count is 1, get message info.
563 FND_MSG_PUB.Count_And_Get
564 (p_count => x_msg_count,
565 p_data => x_msg_data
566 );
567 EXCEPTION
568
569 WHEN AMS_Utility_PVT.resource_locked THEN
570 x_return_status := FND_API.g_ret_sts_error;
571 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
572
573 WHEN FND_API.G_EXC_ERROR THEN
574 ROLLBACK TO DELETE_DelivKitItem_PUB;
575 x_return_status := FND_API.G_RET_STS_ERROR;
576 -- Standard call to get message count and if count=1, get the message
577 FND_MSG_PUB.Count_And_Get (
578 p_encoded => FND_API.G_FALSE,
579 p_count => x_msg_count,
580 p_data => x_msg_data
581 );
582
583 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
584 ROLLBACK TO DELETE_DelivKitItem_PUB;
585 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
586 -- Standard call to get message count and if count=1, get the message
587 FND_MSG_PUB.Count_And_Get (
588 p_encoded => FND_API.G_FALSE,
589 p_count => x_msg_count,
590 p_data => x_msg_data
591 );
592
593 WHEN OTHERS THEN
594 ROLLBACK TO DELETE_DelivKitItem_PUB;
595 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
596 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
597 THEN
598 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
599 END IF;
600 -- Standard call to get message count and if count=1, get the message
601 FND_MSG_PUB.Count_And_Get (
602 p_encoded => FND_API.G_FALSE,
603 p_count => x_msg_count,
604 p_data => x_msg_data
605 );
606 End Delete_DelivKitItem;
607
608
609
610
611 PROCEDURE Validate_DelivKitItem(
612 p_api_version_number IN NUMBER,
613 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
614 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
615 x_return_status OUT NOCOPY VARCHAR2,
616 x_msg_count OUT NOCOPY NUMBER,
617 x_msg_data OUT NOCOPY VARCHAR2,
618 p_Deliv_Kit_Item_rec IN AMS_DelivKitItem_PVT.deliv_kit_item_rec_type
619 )
620
621
622 IS
623
624 l_api_name CONSTANT VARCHAR2(30) := 'Validate_DelivKitItem';
625 l_return_status VARCHAR2(1);
626 l_pvt_DelivKitItem_rec AMS_DelivKitItem_PVT.deliv_kit_item_rec_type := p_Deliv_Kit_Item_rec;
627
628
629 BEGIN
630
631 SAVEPOINT validate_DelivKitItem_pub;
632
633 -- initialize the message list;
634 -- won't do it again when calling private API
635 IF FND_API.to_boolean(p_init_msg_list) THEN
636 FND_MSG_PUB.initialize;
637 END IF;
638
639 -- customer pre-processing
640 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
641 THEN
642 AMS_DelivKitItem_CUHK.validate_DelivKitItem_pre(
643 l_pvt_DelivKitItem_rec,
644 l_return_status
645 );
646
647 IF l_return_status = FND_API.g_ret_sts_error THEN
648 RAISE FND_API.g_exc_error;
649 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
650 RAISE FND_API.g_exc_unexpected_error;
651 END IF;
652 END IF;
653
654 -- vertical industry pre-processing
655 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
656 THEN
657 AMS_DelivKitItem_VUHK.validate_DelivKitItem_pre(
658 l_pvt_DelivKitItem_rec,
659 l_return_status
660 );
661
662 IF l_return_status = FND_API.g_ret_sts_error THEN
663 RAISE FND_API.g_exc_error;
664 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
665 RAISE FND_API.g_exc_unexpected_error;
666 END IF;
667 END IF;
668
669 -- call business API
670
671 AMS_DelivKitItem_PVT.Validate_Deliv_Kit_Item(
672 p_api_version => p_api_version_number,
673 p_init_msg_list => p_init_msg_list, --has done before
674 p_validation_level => p_validation_level,
675 p_Deliv_Kit_Item_rec => l_pvt_DelivKitItem_rec,
676 x_return_status => l_return_status,
680
677 x_msg_count => x_msg_count,
678 x_msg_data => x_msg_data
679 );
681
682 IF l_return_status = FND_API.g_ret_sts_error THEN
683 RAISE FND_API.g_exc_error;
684 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
685 RAISE FND_API.g_exc_unexpected_error;
686 END IF;
687
688
689
690
691
692 -- vertical industry post-processing
693 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
694 THEN
695 AMS_DelivKitItem_VUHK.validate_DelivKitItem_post(
696 l_pvt_DelivKitItem_rec,
697 l_return_status
698 );
699
700 IF l_return_status = FND_API.g_ret_sts_error THEN
701 RAISE FND_API.g_exc_error;
702 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
703 RAISE FND_API.g_exc_unexpected_error;
704 END IF;
705 END IF;
706
707 -- customer post-processing
708 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
709 THEN
710 AMS_DelivKitItem_CUHK.validate_DelivKitItem_post(
711 l_pvt_DelivKitItem_rec,
712 l_return_status
713 );
714
715 IF l_return_status = FND_API.g_ret_sts_error THEN
716 RAISE FND_API.g_exc_error;
717 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
718 RAISE FND_API.g_exc_unexpected_error;
719 END IF;
720 END IF;
721
722 -- Debug Message
723 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
724
725 -- Standard call to get message count and if count is 1, get message info.
726 FND_MSG_PUB.Count_And_Get
727 (p_count => x_msg_count,
728 p_data => x_msg_data
729 );
730
731 EXCEPTION
732
733 WHEN FND_API.g_exc_error THEN
734 ROLLBACK TO validate_DelivKitItem_pub;
735 x_return_status := FND_API.g_ret_sts_error;
736 FND_MSG_PUB.count_and_get(
737 p_encoded => FND_API.g_false,
738 p_count => x_msg_count,
739 p_data => x_msg_data
740 );
741
742 WHEN FND_API.g_exc_unexpected_error THEN
743 ROLLBACK TO validate_DelivKitItem_pub;
744 x_return_status := FND_API.g_ret_sts_unexp_error ;
745 FND_MSG_PUB.count_and_get(
746 p_encoded => FND_API.g_false,
747 p_count => x_msg_count,
748 p_data => x_msg_data
749 );
750
751
752 WHEN OTHERS THEN
753 ROLLBACK TO validate_DelivKitItem_pub;
754 x_return_status := FND_API.g_ret_sts_unexp_error ;
755
756 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
757 THEN
758 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
759 END IF;
760
761 FND_MSG_PUB.count_and_get(
762 p_encoded => FND_API.g_false,
763 p_count => x_msg_count,
764 p_data => x_msg_data
765 );
766
767 END Validate_DelivKitItem;
768
769
770 PROCEDURE Lock_DelivKitItem(
771 p_api_version_number IN NUMBER,
772 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
773
774 x_return_status OUT NOCOPY VARCHAR2,
775 x_msg_count OUT NOCOPY NUMBER,
776 x_msg_data OUT NOCOPY VARCHAR2,
777
778 p_deliv_kit_item_id IN NUMBER,
779 p_object_version_number IN NUMBER
780 )
781
782 IS
783
784 L_API_NAME CONSTANT VARCHAR2(30) := 'Lock_DelivKitItem';
785 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
786
787 l_deliv_kit_item_id NUMBER := p_deliv_kit_item_id ;
788 l_object_version_number NUMBER := p_object_version_number;
789 l_return_status VARCHAR2(1);
790
791 BEGIN
792
793 -- Standard call to check for call compatibility.
794 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
795 p_api_version_number,
796 l_api_name,
797 G_PKG_NAME)
798 THEN
799 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
800 END IF;
801
802 -- Initialize message list if p_init_msg_list is set to TRUE.
803 IF FND_API.to_Boolean( p_init_msg_list )
804 THEN
805 FND_MSG_PUB.initialize;
806 END IF;
807
808 -- Debug Message
809 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
810
811
812 -- Initialize API return status to SUCCESS
813 x_return_status := FND_API.G_RET_STS_SUCCESS;
814 --
815 -- customer pre-processing
816 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
817 THEN
818 AMS_DelivKitItem_CUHK.lock_DelivKitItem_pre(
819 l_deliv_kit_item_id,
820 l_object_version_number,
821 l_return_status
822 );
823
824 IF l_return_status = FND_API.g_ret_sts_error THEN
825 RAISE FND_API.g_exc_error;
826 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
827 RAISE FND_API.g_exc_unexpected_error;
828 END IF;
829 END IF;
830
831 -- vertical industry pre-processing
832 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
833 THEN
834 AMS_DelivKitItem_VUHK.lock_DelivKitItem_pre(
835 l_deliv_kit_item_id,
836 l_object_version_number,
837 l_return_status
838 );
842 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
839
840 IF l_return_status = FND_API.g_ret_sts_error THEN
841 RAISE FND_API.g_exc_error;
843 RAISE FND_API.g_exc_unexpected_error;
844 END IF;
845 END IF;
846 --
847 -- API body
848 --
849 -- Calling Private package: Create_DelivKitItem
850 -- Hint: Primary key needs to be returned
851
852 AMS_DelivKitItem_PVT.Lock_Deliv_Kit_Item(
853 p_api_version => 1.0,
854 p_init_msg_list => FND_API.G_FALSE,
855 x_return_status => x_return_status,
856 x_msg_count => x_msg_count,
857 x_msg_data => x_msg_data,
858 p_deliv_kit_item_id => l_deliv_kit_item_id,
859 p_object_version => l_object_version_number);
860
861
862 -- Check return status from the above procedure call
863 IF x_return_status = FND_API.G_RET_STS_ERROR then
864 RAISE FND_API.G_EXC_ERROR;
865 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
866 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
867 END IF;
868 --
869 -- End of API body.
870 --
871 -- customer pre-processing
872 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
873 THEN
874 AMS_DelivKitItem_CUHK.lock_DelivKitItem_post(
875 l_deliv_kit_item_id,
876 l_object_version_number,
877 l_return_status
878 );
879
880 IF l_return_status = FND_API.g_ret_sts_error THEN
881 RAISE FND_API.g_exc_error;
882 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
883 RAISE FND_API.g_exc_unexpected_error;
884 END IF;
885 END IF;
886
887 -- vertical industry pre-processing
888 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
889 THEN
890 AMS_DelivKitItem_VUHK.lock_DelivKitItem_post(
891 l_deliv_kit_item_id,
892 l_object_version_number,
893 l_return_status
894 );
895
896 IF l_return_status = FND_API.g_ret_sts_error THEN
897 RAISE FND_API.g_exc_error;
898 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
899 RAISE FND_API.g_exc_unexpected_error;
900 END IF;
901 END IF;
902 --
903
904 -- Debug Message
905 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
906
907 EXCEPTION
908
909 WHEN AMS_Utility_PVT.resource_locked THEN
910 x_return_status := FND_API.g_ret_sts_error;
911 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
912
913 WHEN FND_API.G_EXC_ERROR THEN
914 ROLLBACK TO LOCK_DelivKitItem_PUB;
915 x_return_status := FND_API.G_RET_STS_ERROR;
916 -- Standard call to get message count and if count=1, get the message
917 FND_MSG_PUB.Count_And_Get (
918 p_encoded => FND_API.G_FALSE,
919 p_count => x_msg_count,
920 p_data => x_msg_data
921 );
922
923 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
924 ROLLBACK TO LOCK_DelivKitItem_PUB;
925 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
926 -- Standard call to get message count and if count=1, get the message
927 FND_MSG_PUB.Count_And_Get (
928 p_encoded => FND_API.G_FALSE,
929 p_count => x_msg_count,
930 p_data => x_msg_data
931 );
932
933 WHEN OTHERS THEN
934 ROLLBACK TO LOCK_DelivKitItem_PUB;
935 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
936 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
937 THEN
938 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
939 END IF;
940 -- Standard call to get message count and if count=1, get the message
941 FND_MSG_PUB.Count_And_Get (
942 p_encoded => FND_API.G_FALSE,
943 p_count => x_msg_count,
944 p_data => x_msg_data
945 );
946 End Lock_DelivKitItem;
947
948
949 END AMS_DelivKitItem_PUB;