[Home] [Help]
PACKAGE BODY: APPS.AMS_IMP_DOC_CON_PVT
Source
1 PACKAGE BODY AMS_Imp_Doc_Con_PVT as
2 /* $Header: amsvidcb.pls 115.4 2002/11/14 22:03:20 jieli noship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 -- AMS_Imp_Doc_Con_PVT
7 -- Purpose
8 --
9 -- History
10 --
11 -- NOTE
12 --
13 -- This Api is generated with Latest version of
14 -- Rosetta, where g_miss indicates NULL and
15 -- NULL indicates missing value. Rosetta Version 1.55
16 -- End of Comments
17 -- ===============================================================
18
19
20 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AMS_Imp_Doc_Con_PVT';
21 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amsvidcb.pls';
22
23 -- G_USER_ID NUMBER := FND_GLOBAL.USER_ID;
24 -- G_LOGIN_ID NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
25
26 -- Hint: Primary key needs to be returned.
27 -- ==============================================================================
28 -- Start of Comments
29 -- ==============================================================================
30 -- API Name
31 -- Create_Imp_Doc_Content
32 -- Type
33 -- Private
34 -- Pre-Req
35 --
36 -- Parameters
37 --
38 -- IN
39 -- p_api_version_number IN NUMBER Required
40 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
41 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
42 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
43 -- p_imp_doc_rec IN imp_doccon_rec_type Required
44 --
45 -- OUT
46 -- x_return_status OUT VARCHAR2
47 -- x_msg_count OUT NUMBER
48 -- x_msg_data OUT VARCHAR2
49 -- Version : Current version 1.0
50 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
51 -- and basic operation, developer must manually add parameters and business logic as necessary.
52 --
53 -- History
54 --
55 -- NOTE
56 --
57 -- End of Comments
58 -- ==============================================================================
59
60 AMS_DEBUG_HIGH_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
61 AMS_DEBUG_LOW_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
62 AMS_DEBUG_MEDIUM_ON boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
63
64 PROCEDURE Create_Imp_Doc_Content(
65 p_api_version_number IN NUMBER,
66 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
67 p_commit IN VARCHAR2 := FND_API.G_FALSE,
68 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
69
70 x_return_status OUT NOCOPY VARCHAR2,
71 x_msg_count OUT NOCOPY NUMBER,
72 x_msg_data OUT NOCOPY VARCHAR2,
73
74 p_imp_doc_rec IN imp_doccon_rec_type := g_miss_imp_doc_rec,
75 x_imp_doccontent_id OUT NOCOPY NUMBER
76 )
77
78 IS
79 L_API_NAME CONSTANT VARCHAR2(30) := 'Create_Imp_Doc_Content';
80 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
81 l_return_status_full VARCHAR2(1);
82 l_object_version_number NUMBER := 1;
83 l_org_id NUMBER := FND_API.G_MISS_NUM;
84 l_imp_document_id NUMBER;
85 l_dummy NUMBER;
86
87
88 CURSOR c_id IS
89 SELECT ams_imp_doc_content_s.NEXTVAL
90 FROM dual;
91
92 CURSOR c_id_exists (l_id IN NUMBER) IS
93 SELECT 1
94 FROM ams_imp_doc_content
95 WHERE imp_doc_content_id = l_id;
96
97 BEGIN
98 -- Standard Start of API savepoint
99 SAVEPOINT create_imp_doc_pvt;
100
101 -- Standard call to check for call compatibility.
102 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
103 p_api_version_number,
104 l_api_name,
105 G_PKG_NAME)
106 THEN
107 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
108 END IF;
109
110 --IF (AMS_DEBUG_HIGH_ON) THENAMS_UTILITY_PVT.debug_message( 'The header id is:' || p_imp_doc_rec.import_list_header_id );END IF;
111
112 -- Initialize message list if p_init_msg_list is set to TRUE.
113 IF FND_API.to_Boolean( p_init_msg_list )
114 THEN
115 FND_MSG_PUB.initialize;
116 END IF;
117
118
119
120 -- Debug Message
121 IF (AMS_DEBUG_HIGH_ON) THEN
122
123 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start and the header id:'
124 || p_imp_doc_rec.import_list_header_id);
125 END IF;
126
127
128
129 -- Initialize API return status to SUCCESS
130 x_return_status := FND_API.G_RET_STS_SUCCESS;
131
132 -- Local variable initialization
133
134 IF p_imp_doc_rec.imp_doc_content_id IS NULL OR p_imp_doc_rec.imp_doc_content_id = FND_API.g_miss_num THEN
135 LOOP
136 l_dummy := NULL;
137 OPEN c_id;
138 FETCH c_id INTO l_imp_document_id;
139 CLOSE c_id;
140
141 OPEN c_id_exists(l_imp_document_id);
142 FETCH c_id_exists INTO l_dummy;
143 CLOSE c_id_exists;
144 EXIT WHEN l_dummy IS NULL;
145 END LOOP;
146 ELSE
147 l_imp_document_id := p_imp_doc_rec.imp_doc_content_id;
148 END IF;
149
150 -- =========================================================================
151 -- Validate Environment
152 -- =========================================================================
153
154 IF FND_GLOBAL.USER_ID IS NULL
155 THEN
156 AMS_Utility_PVT.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
157 RAISE FND_API.G_EXC_ERROR;
158 END IF;
159
160 IF ( p_validation_level IS NULL OR
161 P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
162 THEN
163 -- Debug message
164 IF (AMS_DEBUG_HIGH_ON) THEN
165
166 AMS_UTILITY_PVT.debug_message('Private API: Validate_Imp_Doc');
167 END IF;
168
169 -- Invoke validation procedures
170 --Validate_imp_doc(
171 --p_api_version_number => 1.0,
172 -- p_init_msg_list => FND_API.G_FALSE,
173 -- p_validation_level => p_validation_level,
174 -- p_validation_mode => JTF_PLSQL_API.g_create,
175 -- p_imp_doc_rec => p_imp_doc_rec,
176 -- x_return_status => x_return_status,
177 -- x_msg_count => x_msg_count,
178 -- x_msg_data => x_msg_data);
179 NULL;
180 END IF;
181
182 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
183 RAISE FND_API.G_EXC_ERROR;
184 END IF;
185
186
187 -- Debug Message
188 IF (AMS_DEBUG_HIGH_ON) THEN
189
190 AMS_UTILITY_PVT.debug_message( 'Private API: Calling create table handler and the id:'
191 || p_imp_doc_rec.import_list_header_id);
192 END IF;
193
194 -- Invoke table handler(AMS_IMP_DOC_CON_PKG.Insert_Row)
195 AMS_IMP_DOC_CON_PKG.Insert_Row(
196 px_imp_doc_content_id => l_imp_document_id,
197 p_last_updated_by => FND_GLOBAL.USER_ID,
198 px_object_version_number => l_object_version_number,
199 p_created_by => FND_GLOBAL.USER_ID,
200 p_last_update_login => FND_GLOBAL.conc_login_id,
201 p_last_update_date => SYSDATE,
202 p_creation_date => SYSDATE,
203 p_import_list_header_id => p_imp_doc_rec.import_list_header_id,
204 p_file_id => p_imp_doc_rec.file_id,
205 p_file_name => p_imp_doc_rec.file_name
206 );
207
208 x_imp_doccontent_id := l_imp_document_id;
209 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
210 RAISE FND_API.G_EXC_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 IF (AMS_DEBUG_HIGH_ON) THEN
225
226 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
227 END IF;
228
229
230 -- Standard call to get message count and if count is 1, get message info.
231 FND_MSG_PUB.Count_And_Get
232 (p_count => x_msg_count,
233 p_data => x_msg_data
234 );
235 EXCEPTION
236
237 WHEN AMS_Utility_PVT.resource_locked THEN
238 x_return_status := FND_API.g_ret_sts_error;
239 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
240
241 WHEN FND_API.G_EXC_ERROR THEN
242 ROLLBACK TO CREATE_Imp_Doc_PVT;
243 x_return_status := FND_API.G_RET_STS_ERROR;
244 -- Standard call to get message count and if count=1, get the message
245 FND_MSG_PUB.Count_And_Get (
246 p_encoded => FND_API.G_FALSE,
247 p_count => x_msg_count,
248 p_data => x_msg_data
249 );
250
251 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
252 ROLLBACK TO CREATE_Imp_Doc_PVT;
253 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
254 -- Standard call to get message count and if count=1, get the message
255 FND_MSG_PUB.Count_And_Get (
256 p_encoded => FND_API.G_FALSE,
257 p_count => x_msg_count,
258 p_data => x_msg_data
259 );
260
261 WHEN OTHERS THEN
262 ROLLBACK TO CREATE_Imp_Doc_PVT;
263 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
264 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
265 THEN
266 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
267 END IF;
268 -- Standard call to get message count and if count=1, get the message
269 FND_MSG_PUB.Count_And_Get (
270 p_encoded => FND_API.G_FALSE,
271 p_count => x_msg_count,
272 p_data => x_msg_data
273 );
274 End Create_Imp_Doc_Content;
275
276
277 -- ==============================================================================
278 -- Start of Comments
279 -- ==============================================================================
280 -- API Name
281 -- Update_Imp_Doc_Con
282 -- Type
283 -- Private
284 -- Pre-Req
285 --
286 -- Parameters
287 --
288 -- IN
289 -- p_api_version_number IN NUMBER Required
290 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
291 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
292 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
293 -- p_imp_doc_rec IN imp_doccon_rec_type Required
294 --
295 -- OUT
296 -- x_return_status OUT VARCHAR2
297 -- x_msg_count OUT NUMBER
298 -- x_msg_data OUT VARCHAR2
299 -- Version : Current version 1.0
300 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
301 -- and basic operation, developer must manually add parameters and business logic as necessary.
302 --
303 -- History
304 --
305 -- NOTE
306 --
307 -- End of Comments
308 -- ==============================================================================
309
310 PROCEDURE Update_Imp_Doc_Con(
311 p_api_version_number IN NUMBER,
312 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
313 p_commit IN VARCHAR2 := FND_API.G_FALSE,
314 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
315
316 x_return_status OUT NOCOPY VARCHAR2,
317 x_msg_count OUT NOCOPY NUMBER,
318 x_msg_data OUT NOCOPY VARCHAR2,
319
320 p_imp_doc_rec IN imp_doccon_rec_type,
321 x_object_version_number OUT NOCOPY NUMBER
322 )
323
324 IS
325
326
327 CURSOR c_get_imp_doc(imp_doc_content_id NUMBER) IS
328 SELECT *
329 FROM ams_imp_doc_content
330 WHERE imp_doc_content_id = p_imp_doc_rec.imp_doc_content_id;
331 -- Hint: Developer need to provide Where clause
332
333
334 L_API_NAME CONSTANT VARCHAR2(30) := 'Update_Imp_Doc_Con';
335 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
336 -- Local Variables
337 l_object_version_number NUMBER;
338 l_imp_document_id NUMBER;
339 l_ref_imp_doc_rec c_get_Imp_Doc%ROWTYPE ;
343 BEGIN
340 l_tar_imp_doc_rec imp_doccon_rec_type := P_imp_doc_rec;
341 l_rowid ROWID;
342
344 -- Standard Start of API savepoint
345 SAVEPOINT update_imp_doc_pvt;
346
347 -- Standard call to check for call compatibility.
348 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
349 p_api_version_number,
350 l_api_name,
351 G_PKG_NAME)
352 THEN
353 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
354 END IF;
355
356
357 -- Initialize message list if p_init_msg_list is set to TRUE.
358 IF FND_API.to_Boolean( p_init_msg_list )
359 THEN
360 FND_MSG_PUB.initialize;
361 END IF;
362
363
364
365 -- Debug Message
366 IF (AMS_DEBUG_HIGH_ON) THEN
367
368 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
369 END IF;
370
371
372
373 -- Initialize API return status to SUCCESS
374 x_return_status := FND_API.G_RET_STS_SUCCESS;
375
376 -- Debug Message
377 IF (AMS_DEBUG_HIGH_ON) THEN
378
379 AMS_UTILITY_PVT.debug_message('Private API: - Open Cursor to Select');
380 END IF;
381
382 OPEN c_get_Imp_Doc( l_tar_imp_doc_rec.imp_doc_content_id);
383
384 FETCH c_get_Imp_Doc INTO l_ref_imp_doc_rec ;
385
386 If ( c_get_Imp_Doc%NOTFOUND) THEN
387 AMS_Utility_PVT.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET',
388 p_token_name => 'INFO',
389 p_token_value => 'Imp_Doc') ;
390 RAISE FND_API.G_EXC_ERROR;
391 END IF;
392 -- Debug Message
393 IF (AMS_DEBUG_HIGH_ON) THEN
394
395 AMS_UTILITY_PVT.debug_message('Private API: - Close Cursor');
396 END IF;
397 CLOSE c_get_Imp_Doc;
398
399
400 If (l_tar_imp_doc_rec.object_version_number is NULL or
401 l_tar_imp_doc_rec.object_version_number = FND_API.G_MISS_NUM ) Then
402 AMS_Utility_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING',
403 p_token_name => 'COLUMN',
404 p_token_value => 'Last_Update_Date') ;
405 raise FND_API.G_EXC_ERROR;
406 End if;
407 -- Check Whether record has been changed by someone else
408 If (l_tar_imp_doc_rec.object_version_number <> l_ref_imp_doc_rec.object_version_number) Then
409 AMS_Utility_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED',
410 p_token_name => 'INFO',
411 p_token_value => 'Imp_Doc') ;
412 raise FND_API.G_EXC_ERROR;
413 End if;
414
415
416 IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
417 THEN
418 -- Debug message
419 IF (AMS_DEBUG_HIGH_ON) THEN
420
421 AMS_UTILITY_PVT.debug_message('Private API: Validate_Imp_Doc');
422 END IF;
423
424 -- Invoke validation procedures
425 Validate_imp_doc(
426 p_api_version_number => 1.0,
427 p_init_msg_list => FND_API.G_FALSE,
428 p_validation_level => p_validation_level,
429 p_validation_mode => JTF_PLSQL_API.g_update,
430 p_imp_doc_rec => p_imp_doc_rec,
431 x_return_status => x_return_status,
432 x_msg_count => x_msg_count,
433 x_msg_data => x_msg_data);
434 END IF;
435
436 IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
437 RAISE FND_API.G_EXC_ERROR;
438 END IF;
439
440
441 -- Debug Message
442 IF (AMS_DEBUG_HIGH_ON) THEN
443
444 AMS_UTILITY_PVT.debug_message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling update table handler');
445 END IF;
446
447 -- Invoke table handler(AMS_IMP_DOC_CON_PKG.Update_Row)
448 AMS_IMP_DOC_CON_PKG.Update_Row(
449 p_imp_doc_content_id => p_imp_doc_rec.imp_doc_content_id,
450 p_last_updated_by => FND_GLOBAL.USER_ID,
451 px_object_version_number => l_object_version_number,
452 p_last_update_login => FND_GLOBAL.conc_login_id,
453 p_last_update_date => SYSDATE,
454 p_import_list_header_id => p_imp_doc_rec.import_list_header_id,
455 p_file_id => p_imp_doc_rec.file_id,
456 p_file_name => p_imp_doc_rec.file_name
457 );
458 --
459 -- End of API body.
460 --
461
462 -- Standard check for p_commit
463 IF FND_API.to_Boolean( p_commit )
464 THEN
465 COMMIT WORK;
466 END IF;
467
468
469 -- Debug Message
470 IF (AMS_DEBUG_HIGH_ON) THEN
471
472 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
473 END IF;
474
475
476 -- Standard call to get message count and if count is 1, get message info.
477 FND_MSG_PUB.Count_And_Get
478 (p_count => x_msg_count,
479 p_data => x_msg_data
480 );
481 EXCEPTION
482
483 WHEN AMS_Utility_PVT.resource_locked THEN
484 x_return_status := FND_API.g_ret_sts_error;
485 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
486
487 WHEN FND_API.G_EXC_ERROR THEN
488 ROLLBACK TO UPDATE_Imp_Doc_PVT;
489 x_return_status := FND_API.G_RET_STS_ERROR;
490 -- Standard call to get message count and if count=1, get the message
491 FND_MSG_PUB.Count_And_Get (
495 );
492 p_encoded => FND_API.G_FALSE,
493 p_count => x_msg_count,
494 p_data => x_msg_data
496
497 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
498 ROLLBACK TO UPDATE_Imp_Doc_PVT;
499 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
500 -- Standard call to get message count and if count=1, get the message
501 FND_MSG_PUB.Count_And_Get (
502 p_encoded => FND_API.G_FALSE,
503 p_count => x_msg_count,
504 p_data => x_msg_data
505 );
506
507 WHEN OTHERS THEN
508 ROLLBACK TO UPDATE_Imp_Doc_PVT;
509 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
510 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
511 THEN
512 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
513 END IF;
514 -- Standard call to get message count and if count=1, get the message
515 FND_MSG_PUB.Count_And_Get (
516 p_encoded => FND_API.G_FALSE,
517 p_count => x_msg_count,
518 p_data => x_msg_data
519 );
520 End Update_Imp_Doc_Con;
521
522
523 -- ==============================================================================
524 -- Start of Comments
525 -- ==============================================================================
526 -- API Name
527 -- Delete_Imp_Doc_Con
528 -- Type
529 -- Private
530 -- Pre-Req
531 --
532 -- Parameters
533 --
534 -- IN
535 -- p_api_version_number IN NUMBER Required
536 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
537 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
538 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
539 -- p_imp_document_id IN NUMBER
540 -- p_object_version_number IN NUMBER Optional Default = NULL
541 --
542 -- OUT
543 -- x_return_status OUT VARCHAR2
544 -- x_msg_count OUT NUMBER
545 -- x_msg_data OUT VARCHAR2
546 -- Version : Current version 1.0
547 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
548 -- and basic operation, developer must manually add parameters and business logic as necessary.
549 --
550 -- History
551 --
552 -- NOTE
553 --
554 -- End of Comments
555 -- ==============================================================================
556
557 PROCEDURE Delete_Imp_Doc_Con(
558 p_api_version_number IN NUMBER,
559 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
560 p_commit IN VARCHAR2 := FND_API.G_FALSE,
561 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
562 x_return_status OUT NOCOPY VARCHAR2,
563 x_msg_count OUT NOCOPY NUMBER,
564 x_msg_data OUT NOCOPY VARCHAR2,
565 p_imp_doccontent_id IN NUMBER,
566 p_object_version_number IN NUMBER
567 )
568
569 IS
570 L_API_NAME CONSTANT VARCHAR2(30) := 'Delete_Imp_Doc_Con';
571 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
572 l_object_version_number NUMBER;
573
574 BEGIN
575 -- Standard Start of API savepoint
576 SAVEPOINT delete_imp_doc_pvt;
577
578 -- Standard call to check for call compatibility.
579 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
580 p_api_version_number,
581 l_api_name,
582 G_PKG_NAME)
583 THEN
584 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
585 END IF;
586
587
588 -- Initialize message list if p_init_msg_list is set to TRUE.
589 IF FND_API.to_Boolean( p_init_msg_list )
590 THEN
591 FND_MSG_PUB.initialize;
592 END IF;
593
594
595
596 -- Debug Message
597 IF (AMS_DEBUG_HIGH_ON) THEN
598
599 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
600 END IF;
601
602
603
604 -- Initialize API return status to SUCCESS
605 x_return_status := FND_API.G_RET_STS_SUCCESS;
606
607 --
608 -- Api body
609 --
610 -- Debug Message
611 IF (AMS_DEBUG_HIGH_ON) THEN
612
613 AMS_UTILITY_PVT.debug_message( 'Private API: Calling delete table handler');
614 END IF;
615
616 -- Invoke table handler(AMS_IMP_DOC_CON_PKG.Delete_Row)
617 AMS_IMP_DOC_CON_PKG.Delete_Row(
618 p_imp_doc_content_id => p_imp_doccontent_id,
619 p_object_version_number => p_object_version_number );
620 --
621 -- End of API body
622 --
623
624 -- Standard check for p_commit
625 IF FND_API.to_Boolean( p_commit )
626 THEN
627 COMMIT WORK;
628 END IF;
629
630
631 -- Debug Message
632 IF (AMS_DEBUG_HIGH_ON) THEN
633
634 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
635 END IF;
636
637
638 -- Standard call to get message count and if count is 1, get message info.
639 FND_MSG_PUB.Count_And_Get
640 (p_count => x_msg_count,
641 p_data => x_msg_data
642 );
643 EXCEPTION
647 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
644
645 WHEN AMS_Utility_PVT.resource_locked THEN
646 x_return_status := FND_API.g_ret_sts_error;
648
649 WHEN FND_API.G_EXC_ERROR THEN
650 ROLLBACK TO DELETE_Imp_Doc_PVT;
651 x_return_status := FND_API.G_RET_STS_ERROR;
652 -- Standard call to get message count and if count=1, get the message
653 FND_MSG_PUB.Count_And_Get (
654 p_encoded => FND_API.G_FALSE,
655 p_count => x_msg_count,
656 p_data => x_msg_data
657 );
658
659 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
660 ROLLBACK TO DELETE_Imp_Doc_PVT;
661 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
662 -- Standard call to get message count and if count=1, get the message
663 FND_MSG_PUB.Count_And_Get (
664 p_encoded => FND_API.G_FALSE,
665 p_count => x_msg_count,
666 p_data => x_msg_data
667 );
668
669 WHEN OTHERS THEN
670 ROLLBACK TO DELETE_Imp_Doc_PVT;
671 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
672 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
673 THEN
674 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
675 END IF;
676 -- Standard call to get message count and if count=1, get the message
677 FND_MSG_PUB.Count_And_Get (
678 p_encoded => FND_API.G_FALSE,
679 p_count => x_msg_count,
680 p_data => x_msg_data
681 );
682 End Delete_Imp_Doc_Con;
683
684
685
686 -- Hint: Primary key needs to be returned.
687 -- ==============================================================================
688 -- Start of Comments
689 -- ==============================================================================
690 -- API Name
691 -- Lock_Imp_Doc_Con
692 -- Type
693 -- Private
694 -- Pre-Req
695 --
696 -- Parameters
697 --
698 -- IN
699 -- p_api_version_number IN NUMBER Required
700 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
701 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
702 -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
703 -- p_imp_doc_rec IN imp_doccon_rec_type Required
704 --
705 -- OUT
706 -- x_return_status OUT VARCHAR2
707 -- x_msg_count OUT NUMBER
708 -- x_msg_data OUT VARCHAR2
709 -- Version : Current version 1.0
710 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
711 -- and basic operation, developer must manually add parameters and business logic as necessary.
712 --
713 -- History
714 --
715 -- NOTE
716 --
717 -- End of Comments
718 -- ==============================================================================
719
720 PROCEDURE Lock_Imp_Doc_Con(
721 p_api_version_number IN NUMBER,
722 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
723
724 x_return_status OUT NOCOPY VARCHAR2,
725 x_msg_count OUT NOCOPY NUMBER,
726 x_msg_data OUT NOCOPY VARCHAR2,
727
728 p_imp_doccontent_id IN NUMBER,
729 p_object_version IN NUMBER
730 )
731
732 IS
733 L_API_NAME CONSTANT VARCHAR2(30) := 'Lock_Imp_Doc_Con';
734 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
735 L_FULL_NAME CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
736 l_imp_document_id NUMBER;
737
738 CURSOR c_imp_doc IS
739 SELECT imp_doc_content_id
740 FROM ams_imp_doc_content
741 WHERE imp_doc_content_id = p_imp_doccontent_id
742 AND object_version_number = p_object_version
743 FOR UPDATE NOWAIT;
744
745 BEGIN
746
747 -- Debug Message
748 IF (AMS_DEBUG_HIGH_ON) THEN
749
750 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
751 END IF;
752
753
754 -- Initialize message list if p_init_msg_list is set to TRUE.
755 IF FND_API.to_Boolean( p_init_msg_list )
756 THEN
757 FND_MSG_PUB.initialize;
758 END IF;
759
760
761
762 -- Standard call to check for call compatibility.
763 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
764 p_api_version_number,
765 l_api_name,
766 G_PKG_NAME)
767 THEN
768 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
769 END IF;
770
771
772
773 -- Initialize API return status to SUCCESS
774 x_return_status := FND_API.G_RET_STS_SUCCESS;
775
776
777 ------------------------ lock -------------------------
778
779 IF (AMS_DEBUG_HIGH_ON) THEN
780
781
782
783 AMS_Utility_PVT.debug_message(l_full_name||': start');
784
785 END IF;
786 OPEN c_imp_doc;
787
788 FETCH c_imp_doc INTO l_imp_document_id;
789
790 IF (c_imp_doc%NOTFOUND) THEN
791 CLOSE c_imp_doc;
792 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
793 FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
794 FND_MSG_PUB.add;
795 END IF;
796 RAISE FND_API.g_exc_error;
800
797 END IF;
798
799 CLOSE c_imp_doc;
801 -------------------- finish --------------------------
802 FND_MSG_PUB.count_and_get(
803 p_encoded => FND_API.g_false,
804 p_count => x_msg_count,
805 p_data => x_msg_data);
806 IF (AMS_DEBUG_HIGH_ON) THEN
807
808 AMS_Utility_PVT.debug_message(l_full_name ||': end');
809 END IF;
810 EXCEPTION
811
812 WHEN AMS_Utility_PVT.resource_locked THEN
813 x_return_status := FND_API.g_ret_sts_error;
814 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
815
816 WHEN FND_API.G_EXC_ERROR THEN
817 ROLLBACK TO LOCK_Imp_Doc_PVT;
818 x_return_status := FND_API.G_RET_STS_ERROR;
819 -- Standard call to get message count and if count=1, get the message
820 FND_MSG_PUB.Count_And_Get (
821 p_encoded => FND_API.G_FALSE,
822 p_count => x_msg_count,
823 p_data => x_msg_data
824 );
825
826 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
827 ROLLBACK TO LOCK_Imp_Doc_PVT;
828 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
829 -- Standard call to get message count and if count=1, get the message
830 FND_MSG_PUB.Count_And_Get (
831 p_encoded => FND_API.G_FALSE,
832 p_count => x_msg_count,
833 p_data => x_msg_data
834 );
835
836 WHEN OTHERS THEN
837 ROLLBACK TO LOCK_Imp_Doc_PVT;
838 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
839 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
840 THEN
841 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
842 END IF;
843 -- Standard call to get message count and if count=1, get the message
844 FND_MSG_PUB.Count_And_Get (
845 p_encoded => FND_API.G_FALSE,
846 p_count => x_msg_count,
847 p_data => x_msg_data
848 );
849 End Lock_Imp_Doc_Con;
850
851
852 -- ==============================================================================
853 -- Start of Comments
854 -- ==============================================================================
855 -- API Name
856 -- add_language
857 -- Type
858 -- Private
859 -- History
860 --
861 -- NOTE
862 --
863 -- End of Comments
864 -- ===============================================================
865
866
867
868 PROCEDURE check_Imp_Doc_Uk_Items(
869 p_imp_doc_rec IN imp_doccon_rec_type,
870 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
871 x_return_status OUT NOCOPY VARCHAR2)
872 IS
873 l_valid_flag VARCHAR2(1);
874
875 BEGIN
876 x_return_status := FND_API.g_ret_sts_success;
877 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
878 l_valid_flag := AMS_Utility_PVT.check_uniqueness(
879 'ams_imp_doc_content',
880 'imp_doc_content_id = ''' || p_imp_doc_rec.imp_doc_content_id ||''''
881 );
882 ELSE
883 l_valid_flag := AMS_Utility_PVT.check_uniqueness(
884 'ams_imp_doc_content',
885 'imp_doc_content_id = ''' || p_imp_doc_rec.imp_doc_content_id ||
886 ''' AND imp_doc_content_id <> ' || p_imp_doc_rec.imp_doc_content_id
887 );
888 END IF;
889
890 IF l_valid_flag = FND_API.g_false THEN
891 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_imp_document_id_DUPLICATE');
892 x_return_status := FND_API.g_ret_sts_error;
893 RETURN;
894 END IF;
895
896 END check_Imp_Doc_Uk_Items;
897
898
899
900 PROCEDURE check_Imp_Doc_Req_Items(
901 p_imp_doc_rec IN imp_doccon_rec_type,
902 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create,
903 x_return_status OUT NOCOPY VARCHAR2
904 )
905 IS
906 BEGIN
907 x_return_status := FND_API.g_ret_sts_success;
908
909 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
910
911
912 IF p_imp_doc_rec.imp_doc_content_id = FND_API.G_MISS_NUM OR p_imp_doc_rec.imp_doc_content_id IS NULL THEN
913 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
914 FND_MESSAGE.set_token('MISS_FIELD', 'imp_doc_content_id' );
915 x_return_status := FND_API.g_ret_sts_error;
916 END IF;
917
918
919 IF p_imp_doc_rec.last_updated_by = FND_API.G_MISS_NUM OR p_imp_doc_rec.last_updated_by IS NULL THEN
920 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
921 FND_MESSAGE.set_token('MISS_FIELD', 'LAST_UPDATED_BY' );
922 x_return_status := FND_API.g_ret_sts_error;
923 END IF;
924
925
926 IF p_imp_doc_rec.created_by = FND_API.G_MISS_NUM OR p_imp_doc_rec.created_by IS NULL THEN
927 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
928 FND_MESSAGE.set_token('MISS_FIELD', 'CREATED_BY' );
929 x_return_status := FND_API.g_ret_sts_error;
930 END IF;
931
932
933 IF p_imp_doc_rec.last_update_login = FND_API.G_MISS_NUM OR p_imp_doc_rec.last_update_login IS NULL THEN
934 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
935 FND_MESSAGE.set_token('MISS_FIELD', 'LAST_UPDATE_LOGIN' );
936 x_return_status := FND_API.g_ret_sts_error;
937 END IF;
938
939
940 IF p_imp_doc_rec.last_update_date = FND_API.G_MISS_DATE OR p_imp_doc_rec.last_update_date IS NULL THEN
944 END IF;
941 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
942 FND_MESSAGE.set_token('MISS_FIELD', 'LAST_UPDATE_DATE' );
943 x_return_status := FND_API.g_ret_sts_error;
945
946
947 IF p_imp_doc_rec.creation_date = FND_API.G_MISS_DATE OR p_imp_doc_rec.creation_date IS NULL THEN
948 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
949 FND_MESSAGE.set_token('MISS_FIELD', 'CREATION_DATE' );
950 x_return_status := FND_API.g_ret_sts_error;
951 END IF;
952
953
954 IF p_imp_doc_rec.import_list_header_id = FND_API.G_MISS_NUM OR p_imp_doc_rec.import_list_header_id IS NULL THEN
955 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
956 FND_MESSAGE.set_token('MISS_FIELD', 'IMPORT_LIST_HEADER_ID' );
957 x_return_status := FND_API.g_ret_sts_error;
958 END IF;
959
960
961 ELSE
962
963
964 IF p_imp_doc_rec.imp_doc_content_id = FND_API.G_MISS_NUM THEN
965 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
966 FND_MESSAGE.set_token('MISS_FIELD', 'imp_doc_content_id' );
967 x_return_status := FND_API.g_ret_sts_error;
968 RETURN;
969 END IF;
970
971
972 IF p_imp_doc_rec.last_updated_by = FND_API.G_MISS_NUM THEN
973 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
974 FND_MESSAGE.set_token('MISS_FIELD', 'LAST_UPDATED_BY' );
975 x_return_status := FND_API.g_ret_sts_error;
976 RETURN;
977 END IF;
978
979
980 IF p_imp_doc_rec.created_by = FND_API.G_MISS_NUM THEN
981 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
982 FND_MESSAGE.set_token('MISS_FIELD', 'CREATED_BY' );
983 x_return_status := FND_API.g_ret_sts_error;
984 RETURN;
985 END IF;
986
987
988 IF p_imp_doc_rec.last_update_login = FND_API.G_MISS_NUM THEN
989 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
990 FND_MESSAGE.set_token('MISS_FIELD', 'LAST_UPDATE_LOGIN' );
991 x_return_status := FND_API.g_ret_sts_error;
992 RETURN;
993 END IF;
994
995
996 IF p_imp_doc_rec.last_update_date = FND_API.G_MISS_DATE THEN
997 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
998 FND_MESSAGE.set_token('MISS_FIELD', 'LAST_UPDATE_DATE' );
999 x_return_status := FND_API.g_ret_sts_error;
1000 RETURN;
1001 END IF;
1002
1003
1004 IF p_imp_doc_rec.creation_date = FND_API.G_MISS_DATE THEN
1005 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
1006 FND_MESSAGE.set_token('MISS_FIELD', 'CREATION_DATE' );
1007 x_return_status := FND_API.g_ret_sts_error;
1008 RETURN;
1009 END IF;
1010
1011
1012 IF p_imp_doc_rec.import_list_header_id = FND_API.G_MISS_NUM THEN
1013 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_MISSING_FIELD');
1014 FND_MESSAGE.set_token('MISS_FIELD', 'IMPORT_LIST_HEADER_ID' );
1015 x_return_status := FND_API.g_ret_sts_error;
1016 RETURN;
1017 END IF;
1018 END IF;
1019
1020 END check_Imp_Doc_Req_Items;
1021
1022
1023
1024 PROCEDURE check_Imp_Doc_Fk_Items(
1025 p_imp_doc_rec IN imp_doccon_rec_type,
1026 x_return_status OUT NOCOPY VARCHAR2
1027 )
1028 IS
1029 BEGIN
1030 x_return_status := FND_API.g_ret_sts_success;
1031
1032 -- Enter custom code here
1033
1034 END check_Imp_Doc_Fk_Items;
1035
1036
1037
1038 PROCEDURE check_Imp_Doc_Lookup_Items(
1039 p_imp_doc_rec IN imp_doccon_rec_type,
1040 x_return_status OUT NOCOPY VARCHAR2
1041 )
1042 IS
1043 BEGIN
1044 x_return_status := FND_API.g_ret_sts_success;
1045
1046 -- Enter custom code here
1047
1048 END check_Imp_Doc_Lookup_Items;
1049
1050
1051
1052 PROCEDURE Check_Imp_Doc_Items (
1053 P_imp_doc_rec IN imp_doccon_rec_type,
1054 p_validation_mode IN VARCHAR2,
1055 x_return_status OUT NOCOPY VARCHAR2
1056 )
1057 IS
1058 BEGIN
1059
1060 -- Check Items Uniqueness API calls
1061
1062 check_Imp_doc_Uk_Items(
1063 p_imp_doc_rec => p_imp_doc_rec,
1064 p_validation_mode => p_validation_mode,
1065 x_return_status => x_return_status);
1066 IF x_return_status <> FND_API.g_ret_sts_success THEN
1067 RETURN;
1068 END IF;
1069
1070 -- Check Items Required/NOT NULL API calls
1071
1072 check_imp_doc_req_items(
1073 p_imp_doc_rec => p_imp_doc_rec,
1074 p_validation_mode => p_validation_mode,
1075 x_return_status => x_return_status);
1076 IF x_return_status <> FND_API.g_ret_sts_success THEN
1077 RETURN;
1078 END IF;
1079 -- Check Items Foreign Keys API calls
1080
1081 check_imp_doc_FK_items(
1082 p_imp_doc_rec => p_imp_doc_rec,
1083 x_return_status => x_return_status);
1084 IF x_return_status <> FND_API.g_ret_sts_success THEN
1085 RETURN;
1086 END IF;
1087 -- Check Items Lookups
1088
1089 check_imp_doc_Lookup_items(
1090 p_imp_doc_rec => p_imp_doc_rec,
1091 x_return_status => x_return_status);
1092 IF x_return_status <> FND_API.g_ret_sts_success THEN
1096 END Check_imp_doc_Items;
1093 RETURN;
1094 END IF;
1095
1097
1098
1099
1100
1101
1102 PROCEDURE Complete_Imp_Doc_Rec (
1103 p_imp_doc_rec IN imp_doccon_rec_type,
1104 x_complete_rec OUT NOCOPY imp_doccon_rec_type)
1105 IS
1106 l_return_status VARCHAR2(1);
1107
1108 CURSOR c_complete IS
1109 SELECT *
1110 FROM ams_imp_doc_content
1111 WHERE imp_doc_content_id = p_imp_doc_rec.imp_doc_content_id;
1112 l_imp_doc_rec c_complete%ROWTYPE;
1113 BEGIN
1114 x_complete_rec := p_imp_doc_rec;
1115
1116
1117 OPEN c_complete;
1118 FETCH c_complete INTO l_imp_doc_rec;
1119 CLOSE c_complete;
1120
1121 -- imp_doc_content_id
1122 IF p_imp_doc_rec.imp_doc_content_id IS NULL THEN
1123 x_complete_rec.imp_doc_content_id := l_imp_doc_rec.imp_doc_content_id;
1124 END IF;
1125
1126 -- imp_doc_content_id
1127 IF p_imp_doc_rec.imp_doc_content_id IS NULL THEN
1128 x_complete_rec.imp_doc_content_id := l_imp_doc_rec.imp_doc_content_id;
1129 END IF;
1130
1131 -- last_updated_by
1132 IF p_imp_doc_rec.last_updated_by IS NULL THEN
1133 x_complete_rec.last_updated_by := l_imp_doc_rec.last_updated_by;
1134 END IF;
1135
1136 -- last_update_date
1137 IF p_imp_doc_rec.last_update_date IS NULL THEN
1138 x_complete_rec.last_update_date := l_imp_doc_rec.last_update_date;
1139 END IF;
1140
1141 -- object_version_number
1142 IF p_imp_doc_rec.object_version_number IS NULL THEN
1143 x_complete_rec.object_version_number := l_imp_doc_rec.object_version_number;
1144 END IF;
1145
1146 -- last_update_by
1147 --IF p_imp_doc_rec.last_update_by IS NULL THEN
1148 -- x_complete_rec.last_update_by := l_imp_doc_rec.last_update_by;
1149 --END IF;
1150
1151 -- created_by
1152 IF p_imp_doc_rec.created_by IS NULL THEN
1153 x_complete_rec.created_by := l_imp_doc_rec.created_by;
1154 END IF;
1155
1156 -- creation_date
1157 IF p_imp_doc_rec.creation_date IS NULL THEN
1158 x_complete_rec.creation_date := l_imp_doc_rec.creation_date;
1159 END IF;
1160
1161 -- last_update_login
1162 IF p_imp_doc_rec.last_update_login IS NULL THEN
1163 x_complete_rec.last_update_login := l_imp_doc_rec.last_update_login;
1164 END IF;
1165
1166 -- created_by
1167 IF p_imp_doc_rec.created_by IS NULL THEN
1168 x_complete_rec.created_by := l_imp_doc_rec.created_by;
1169 END IF;
1170
1171 -- last_update_date
1172 IF p_imp_doc_rec.last_update_date IS NULL THEN
1173 x_complete_rec.last_update_date := l_imp_doc_rec.last_update_date;
1174 END IF;
1175
1176 -- last_update_login
1177 IF p_imp_doc_rec.last_update_login IS NULL THEN
1178 x_complete_rec.last_update_login := l_imp_doc_rec.last_update_login;
1179 END IF;
1180
1181 -- creation_date
1182 IF p_imp_doc_rec.creation_date IS NULL THEN
1183 x_complete_rec.creation_date := l_imp_doc_rec.creation_date;
1184 END IF;
1185
1186 -- object_version_number
1187 IF p_imp_doc_rec.object_version_number IS NULL THEN
1188 x_complete_rec.object_version_number := l_imp_doc_rec.object_version_number;
1189 END IF;
1190
1191 -- import_list_header_id
1192 IF p_imp_doc_rec.import_list_header_id IS NULL THEN
1193 x_complete_rec.import_list_header_id := l_imp_doc_rec.import_list_header_id;
1194 END IF;
1195
1196 -- import_list_header_id
1197 IF p_imp_doc_rec.import_list_header_id IS NULL THEN
1198 x_complete_rec.import_list_header_id := l_imp_doc_rec.import_list_header_id;
1199 END IF;
1200
1201 -- file_id
1202 IF p_imp_doc_rec.file_id IS NULL THEN
1203 x_complete_rec.file_id := l_imp_doc_rec.file_id;
1204 END IF;
1205
1206 -- file_name
1207 IF p_imp_doc_rec.file_name IS NULL THEN
1208 x_complete_rec.file_name := l_imp_doc_rec.file_name;
1209 END IF;
1210
1211 -- last_updated_by
1212 IF p_imp_doc_rec.last_updated_by IS NULL THEN
1213 x_complete_rec.last_updated_by := l_imp_doc_rec.last_updated_by;
1214 END IF;
1215 -- Note: Developers need to modify the procedure
1216 -- to handle any business specific requirements.
1217 END Complete_Imp_Doc_Rec;
1218
1219
1220
1221
1222 PROCEDURE Default_Item_Attribute ( p_imp_doc_rec IN imp_doccon_rec_type ,
1223 x_imp_doc_rec OUT NOCOPY imp_doccon_rec_type )
1224 IS
1225 l_imp_doc_rec imp_doccon_rec_type := p_imp_doc_rec;
1226 BEGIN
1227 -- Developers should put their code to default the record type
1228 -- e.g. IF p_campaign_rec.status_code IS NULL
1229 -- OR p_campaign_rec.status_code = FND_API.G_MISS_CHAR THEN
1230 -- l_campaign_rec.status_code := 'NEW' ;
1231 -- END IF ;
1232 --
1233 NULL ;
1234 END;
1235
1236
1237
1238
1239 PROCEDURE Validate_Imp_Doc(
1240 p_api_version_number IN NUMBER,
1241 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1242 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1243 p_imp_doc_rec IN imp_doccon_rec_type,
1244 p_validation_mode IN VARCHAR2,
1245 x_return_status OUT NOCOPY VARCHAR2,
1246 x_msg_count OUT NOCOPY NUMBER,
1247 x_msg_data OUT NOCOPY VARCHAR2
1248 )
1249 IS
1250 L_API_NAME CONSTANT VARCHAR2(30) := 'Validate_Imp_Doc';
1251 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
1252 l_object_version_number NUMBER;
1256 -- Standard Start of API savepoint
1253 l_imp_doc_rec imp_doccon_rec_type;
1254
1255 BEGIN
1257 SAVEPOINT validate_imp_doc_;
1258
1259 -- Standard call to check for call compatibility.
1260 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1261 p_api_version_number,
1262 l_api_name,
1263 G_PKG_NAME)
1264 THEN
1265 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1266 END IF;
1267
1268
1269 -- Initialize message list if p_init_msg_list is set to TRUE.
1270 IF FND_API.to_Boolean( p_init_msg_list )
1271 THEN
1272 FND_MSG_PUB.initialize;
1273 END IF;
1274
1275
1276 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1277 Check_imp_doc_Items(
1278 p_imp_doc_rec => p_imp_doc_rec,
1279 p_validation_mode => p_validation_mode,
1280 x_return_status => x_return_status
1281 );
1282
1283 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1284 RAISE FND_API.G_EXC_ERROR;
1285 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1286 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1287 END IF;
1288 END IF;
1289
1290 IF p_validation_mode = JTF_PLSQL_API.g_create THEN
1291 Default_Item_Attribute(p_imp_doc_rec => p_imp_doc_rec ,
1292 x_imp_doc_rec => l_imp_doc_rec) ;
1293 END IF ;
1294
1295
1296 Complete_imp_doc_Rec(
1297 p_imp_doc_rec => p_imp_doc_rec,
1298 x_complete_rec => l_imp_doc_rec
1299 );
1300
1301 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
1302 Validate_imp_doc_Rec(
1303 p_api_version_number => 1.0,
1304 p_init_msg_list => FND_API.G_FALSE,
1305 x_return_status => x_return_status,
1306 x_msg_count => x_msg_count,
1307 x_msg_data => x_msg_data,
1308 p_imp_doc_rec => l_imp_doc_rec);
1309
1310 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1311 RAISE FND_API.G_EXC_ERROR;
1312 ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1313 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1314 END IF;
1315 END IF;
1316
1317
1318 -- Debug Message
1319 IF (AMS_DEBUG_HIGH_ON) THEN
1320
1321 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
1322 END IF;
1323
1324
1325
1326 -- Initialize API return status to SUCCESS
1327 x_return_status := FND_API.G_RET_STS_SUCCESS;
1328
1329
1330 -- Debug Message
1331 IF (AMS_DEBUG_HIGH_ON) THEN
1332
1333 AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
1334 END IF;
1335
1336
1337 -- Standard call to get message count and if count is 1, get message info.
1338 FND_MSG_PUB.Count_And_Get
1339 (p_count => x_msg_count,
1340 p_data => x_msg_data
1341 );
1342 EXCEPTION
1343
1344 WHEN AMS_Utility_PVT.resource_locked THEN
1345 x_return_status := FND_API.g_ret_sts_error;
1346 AMS_Utility_PVT.Error_Message(p_message_name => 'AMS_API_RESOURCE_LOCKED');
1347
1348 WHEN FND_API.G_EXC_ERROR THEN
1349 ROLLBACK TO VALIDATE_Imp_Doc_;
1350 x_return_status := FND_API.G_RET_STS_ERROR;
1351 -- Standard call to get message count and if count=1, get the message
1352 FND_MSG_PUB.Count_And_Get (
1353 p_encoded => FND_API.G_FALSE,
1354 p_count => x_msg_count,
1355 p_data => x_msg_data
1356 );
1357
1358 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1359 ROLLBACK TO VALIDATE_Imp_Doc_;
1360 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1361 -- Standard call to get message count and if count=1, get the message
1362 FND_MSG_PUB.Count_And_Get (
1363 p_encoded => FND_API.G_FALSE,
1364 p_count => x_msg_count,
1365 p_data => x_msg_data
1366 );
1367
1368 WHEN OTHERS THEN
1369 ROLLBACK TO VALIDATE_Imp_Doc_;
1370 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1371 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1372 THEN
1373 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1374 END IF;
1375 -- Standard call to get message count and if count=1, get the message
1376 FND_MSG_PUB.Count_And_Get (
1377 p_encoded => FND_API.G_FALSE,
1378 p_count => x_msg_count,
1379 p_data => x_msg_data
1380 );
1381 End Validate_Imp_Doc;
1382
1383
1384 PROCEDURE Validate_Imp_Doc_Rec (
1385 p_api_version_number IN NUMBER,
1386 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1387 x_return_status OUT NOCOPY VARCHAR2,
1388 x_msg_count OUT NOCOPY NUMBER,
1389 x_msg_data OUT NOCOPY VARCHAR2,
1390 p_imp_doc_rec IN imp_doccon_rec_type
1391 )
1392 IS
1393 BEGIN
1394 -- Initialize message list if p_init_msg_list is set to TRUE.
1395 IF FND_API.to_Boolean( p_init_msg_list )
1396 THEN
1397 FND_MSG_PUB.initialize;
1398 END IF;
1399
1400
1401
1402 -- Initialize API return status to SUCCESS
1403 x_return_status := FND_API.G_RET_STS_SUCCESS;
1404
1405 -- Hint: Validate data
1406 -- If data not valid
1407 -- THEN
1408 -- x_return_status := FND_API.G_RET_STS_ERROR;
1409
1410 -- Debug Message
1411 IF (AMS_DEBUG_HIGH_ON) THEN
1412
1413 AMS_UTILITY_PVT.debug_message('Private API: Validate_dm_model_rec');
1414 END IF;
1415 -- Standard call to get message count and if count is 1, get message info.
1416 FND_MSG_PUB.Count_And_Get
1417 (p_count => x_msg_count,
1418 p_data => x_msg_data
1419 );
1420 END Validate_imp_doc_Rec;
1421
1422
1423
1424 END AMS_Imp_Doc_Con_PVT;