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