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