[Home] [Help]
PACKAGE BODY: APPS.PVX_LEAD_PSS_LINES_PVT
Source
1 PACKAGE BODY PVX_LEAD_PSS_LINES_PVT AS
2 /* $Header: pvxvpssb.pls 115.11 2002/12/11 10:58:54 anubhavk ship $ */
3
4
5 g_pkg_name CONSTANT VARCHAR2(30):='PVX_lead_pss_lines_PVT';
6
7 ---------------------------------------------------------------------
8 -- PROCEDURE
9 -- Create_lead_pss_line
10 --
11 -- PURPOSE
12 -- Create a new lead pss lines record
13 --
14 -- PARAMETERS
15 -- p_lead_pss_lines_rec: the new record to be inserted
16 -- x_lead_pss_line_id: return the lead_pss_line_id of the new record.
17 --
18 -- NOTES
19 -- 1. object_version_number will be set to 1.
20 -- 2. If lead_pss_line_id is passed in, the uniqueness will be checked.
21 -- Raise exception in case of duplicates.
22 -- 3. If lead_pss_line_id is not passed in, generate a unique one from
23 -- the sequence.
24 -- 4. If a flag column is passed in, check if it is 'Y' or 'N'.
25 -- Raise exception for invalid flag.
26 -- 5. If a flag column is not passed in, default it to 'Y' or 'N'.
27 -- 6. Please don't pass in any FND_API.g_mess_char/num/date.
28 ---------------------------------------------------------------------
29 PROCEDURE Create_Lead_pss_line(
30 p_api_version_number IN NUMBER
31 ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
32 ,p_commit IN VARCHAR2 := FND_API.g_false
33 ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
34
35 ,x_return_status OUT NOCOPY VARCHAR2
36 ,x_msg_count OUT NOCOPY NUMBER
37 ,x_msg_data OUT NOCOPY VARCHAR2
38
39 ,p_lead_pss_lines_rec IN lead_pss_lines_rec_type
40 ,x_lead_pss_line_id OUT NOCOPY NUMBER
41 )
42 IS
43
44 l_api_version CONSTANT NUMBER := 1.0;
45 l_api_name CONSTANT VARCHAR2(30) := 'Create_Lead_pss_line';
46 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
47
48 l_return_status VARCHAR2(1);
49 l_lead_pss_lines_rec lead_pss_lines_rec_type := p_lead_pss_lines_rec;
50
51 l_object_version_number NUMBER := 1;
52
53 l_uniqueness_check VARCHAR2(10);
54
55
56 -- Cursor to get the sequence for enty_attr_value
57 CURSOR c_lead_pss_lines_seq IS
58 SELECT PV_LEAD_PSS_LINES_S.NEXTVAL
59 FROM DUAL;
60
61 -- Cursor to validate the uniqueness
62 CURSOR c_count(cv_lead_pss_line_id IN NUMBER) IS
63 SELECT 'X'
64 FROM pv_lead_pss_lines
65 WHERE lead_pss_line_id = cv_lead_pss_line_id;
66
67
68 BEGIN
69
70 --------------------- initialize -----------------------
71 SAVEPOINT Create_lead_pss_line;
72
73 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
74 PVX_Utility_PVT.debug_message(l_full_name||': start');
75 END IF;
76
77
78 IF FND_API.to_boolean(p_init_msg_list) THEN
79 FND_MSG_PUB.initialize;
80 END IF;
81
82 IF NOT FND_API.compatible_api_call(
83 l_api_version,
84 p_api_version_number,
85 l_api_name,
86 g_pkg_name
87 ) THEN
88 RAISE FND_API.g_exc_unexpected_error;
89 END IF;
90
91 x_return_status := FND_API.g_ret_sts_success;
92
93 ----------------------- validate -----------------------
94 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
95 PVX_Utility_PVT.debug_message(l_full_name ||': validate');
96 END IF;
97
98
99
100
101
102 Validate_lead_pss_line(
103 p_api_version_number => l_api_version,
104 p_init_msg_list => p_init_msg_list,
105 p_validation_level => p_validation_level,
106 x_return_status => l_return_status,
107 x_msg_count => x_msg_count,
108 x_msg_data => x_msg_data,
109 p_lead_pss_lines_rec => l_lead_pss_lines_rec
110 );
111
112
113
114 IF l_return_status = FND_API.g_ret_sts_error THEN
115 RAISE FND_API.g_exc_error;
116 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
117 RAISE FND_API.g_exc_unexpected_error;
118 END IF;
119
120
121 -------------------------- insert --------------------------
122 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
123 PVX_Utility_PVT.debug_message(l_full_name ||': insert');
124 END IF;
125
126
127
128 IF l_lead_pss_lines_rec.lead_pss_line_id IS NULL THEN
129 LOOP
130 -- Get the identifier
131 OPEN c_lead_pss_lines_seq;
132 FETCH c_lead_pss_lines_seq INTO l_lead_pss_lines_rec.lead_pss_line_id;
133 CLOSE c_lead_pss_lines_seq;
134
135 -- Check the uniqueness of the identifier
136 OPEN c_count(l_lead_pss_lines_rec.lead_pss_line_id);
137 FETCH c_count INTO l_uniqueness_check;
138 -- Exit when the identifier uniqueness is established
139 EXIT WHEN c_count%ROWCOUNT = 0;
140 CLOSE c_count;
141 END LOOP;
142 END IF;
143
144
145 INSERT INTO PV_LEAD_PSS_LINES (
146 lead_pss_line_id
147 ,last_update_date
148 ,last_updated_by
149 ,creation_date
150 ,created_by
151 ,last_update_login
152 ,request_id
153 ,program_application_id
154 ,program_id
155 ,program_update_date
156 ,attr_code_id
157 ,lead_id
158 ,uom_code
159 ,quantity
160 ,amount
161 ,attribute_category
162 ,attribute1
163 ,attribute2
164 ,attribute3
165 ,attribute4
166 ,attribute5
167 ,attribute6
168 ,attribute7
169 ,attribute8
170 ,attribute9
171 ,attribute10
172 ,attribute11
173 ,attribute12
174 ,attribute13
175 ,attribute14
176 ,attribute15
177 ,object_name
178 ,object_version_number
179 ,partner_id
180 ,object_id
181 )
182 VALUES (
183 l_lead_pss_lines_rec.lead_pss_line_id
184 ,SYSDATE -- LAST_UPDATE_DATE
185 ,NVL(FND_GLOBAL.user_id,-1) -- LAST_UPDATED_BY
186 ,SYSDATE -- CREATION_DATE
187 ,NVL(FND_GLOBAL.user_id,-1) -- CREATED_BY
188 ,NVL(FND_GLOBAL.conc_login_id,-1) -- LAST_UPDATE_LOGIN
189 , l_lead_pss_lines_rec.request_id
190 ,l_lead_pss_lines_rec.program_application_id
191 ,l_lead_pss_lines_rec.program_id
192 ,l_lead_pss_lines_rec.program_update_date
193 ,l_lead_pss_lines_rec.attr_code_id
194 ,l_lead_pss_lines_rec.lead_id
195 ,l_lead_pss_lines_rec.uom_code
196 ,l_lead_pss_lines_rec.quantity
197 ,l_lead_pss_lines_rec.amount
198 ,l_lead_pss_lines_rec.attribute_category
199 ,l_lead_pss_lines_rec.attribute1
200 ,l_lead_pss_lines_rec.attribute2
201 ,l_lead_pss_lines_rec.attribute3
202 ,l_lead_pss_lines_rec.attribute4
203 ,l_lead_pss_lines_rec.attribute5
204 ,l_lead_pss_lines_rec.attribute6
205 ,l_lead_pss_lines_rec.attribute7
206 ,l_lead_pss_lines_rec.attribute8
207 ,l_lead_pss_lines_rec.attribute9
208 ,l_lead_pss_lines_rec.attribute10
209 ,l_lead_pss_lines_rec.attribute11
210 ,l_lead_pss_lines_rec.attribute12
211 ,l_lead_pss_lines_rec.attribute13
212 ,l_lead_pss_lines_rec.attribute14
213 ,l_lead_pss_lines_rec.attribute15
214 ,l_lead_pss_lines_rec.object_name
215 ,l_object_version_number -- object_version_number
216 ,l_lead_pss_lines_rec.partner_id
217 ,l_lead_pss_lines_rec.object_id
218 );
219
220 ------------------------- finish -------------------------------
221 x_lead_pss_line_id := l_lead_pss_lines_rec.lead_pss_line_id;
222
223 IF l_return_status = FND_API.g_ret_sts_error THEN
224 RAISE FND_API.g_exc_error;
225 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
226 RAISE FND_API.g_exc_unexpected_error;
227 END IF;
228
229
230 -- Check for commit
231 IF FND_API.to_boolean(p_commit) THEN
232 COMMIT;
233 END IF;
234
235 FND_MSG_PUB.count_and_get(
236 p_encoded => FND_API.g_false,
237 p_count => x_msg_count,
238 p_data => x_msg_data
239 );
240
241 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
242 PVX_Utility_PVT.debug_message(l_full_name ||': end');
243 END IF;
244
245
246 EXCEPTION
247
248 WHEN FND_API.g_exc_error THEN
249 ROLLBACK TO Create_lead_pss_line;
250 x_return_status := FND_API.g_ret_sts_error;
251 FND_MSG_PUB.count_and_get (
252 p_encoded => FND_API.g_false
253 ,p_count => x_msg_count
254 ,p_data => x_msg_data
255 );
256
257 WHEN FND_API.g_exc_unexpected_error THEN
258 ROLLBACK TO Create_lead_pss_line;
259 x_return_status := FND_API.g_ret_sts_unexp_error ;
260 FND_MSG_PUB.count_and_get (
261 p_encoded => FND_API.g_false
262 ,p_count => x_msg_count
263 ,p_data => x_msg_data
264 );
265
266
267 WHEN OTHERS THEN
268 ROLLBACK TO Create_lead_pss_line;
269 x_return_status := FND_API.g_ret_sts_unexp_error ;
270
271 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
272 THEN
273 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
274 END IF;
275
276 FND_MSG_PUB.count_and_get(
277 p_encoded => FND_API.g_false
278 ,p_count => x_msg_count
279 ,p_data => x_msg_data
280 );
281
282 END Create_lead_pss_line;
283
284
285 ---------------------------------------------------------------
286 -- PROCEDURE
287 -- Delete_lead_pss_line
288 --
289 ---------------------------------------------------------------
290 PROCEDURE Delete_lead_pss_line(
291 p_api_version_number IN NUMBER
292 ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
293 ,p_commit IN VARCHAR2 := FND_API.g_false
294
295 ,x_return_status OUT NOCOPY VARCHAR2
296 ,x_msg_count OUT NOCOPY NUMBER
297 ,x_msg_data OUT NOCOPY VARCHAR2
298
299 ,p_lead_pss_line_id IN NUMBER
300 ,p_object_version IN NUMBER
301
302 )
303 IS
304
305 l_api_version CONSTANT NUMBER := 1.0;
306 l_api_name CONSTANT VARCHAR2(30) := 'Delete_lead_pss_line';
307 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
308
309 BEGIN
310
311 --------------------- initialize -----------------------
312 SAVEPOINT Delete_lead_pss_line;
313
314 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
315 PVX_Utility_PVT.debug_message(l_full_name||': start');
316 END IF;
317
318
319
320 IF FND_API.to_boolean(p_init_msg_list) THEN
321 FND_MSG_PUB.initialize;
322 END IF;
323
324 IF NOT FND_API.compatible_api_call(
325 l_api_version,
326 p_api_version_number,
327 l_api_name,
328 g_pkg_name
329 ) THEN
330 RAISE FND_API.g_exc_unexpected_error;
331 END IF;
332
333 x_return_status := FND_API.G_RET_STS_SUCCESS;
334
335 ------------------------ delete ------------------------
336 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
340
337 PVX_Utility_PVT.debug_message(l_full_name ||': delete');
338 END IF;
339
341 DELETE FROM PV_LEAD_PSS_LINES
342 WHERE lead_pss_line_id = p_lead_pss_line_id
343 AND object_version_number = p_object_version;
344
345 IF (SQL%NOTFOUND) THEN
346 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error)
347 THEN
348 FND_MESSAGE.set_name('PV', 'PV_RECORD_NOT_FOUND');
349 FND_MSG_PUB.add;
350 END IF;
351 RAISE FND_API.g_exc_error;
352 END IF;
353
354 -------------------- finish --------------------------
355 IF FND_API.to_boolean(p_commit) THEN
356 COMMIT;
357 END IF;
358
359 FND_MSG_PUB.count_and_get(
360 p_encoded => FND_API.g_false,
361 p_count => x_msg_count,
362 p_data => x_msg_data
363 );
364
365 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
366 PVX_Utility_PVT.debug_message(l_full_name ||': end');
367 END IF;
368
369
370
371 EXCEPTION
372
373 WHEN FND_API.g_exc_error THEN
374 ROLLBACK TO Delete_lead_pss_line;
375 x_return_status := FND_API.g_ret_sts_error;
376 FND_MSG_PUB.count_and_get(
377 p_encoded => FND_API.g_false,
378 p_count => x_msg_count,
379 p_data => x_msg_data
380 );
381
382 WHEN FND_API.g_exc_unexpected_error THEN
383 ROLLBACK TO Delete_lead_pss_line;
384 x_return_status := FND_API.g_ret_sts_unexp_error ;
385 FND_MSG_PUB.count_and_get(
386 p_encoded => FND_API.g_false,
387 p_count => x_msg_count,
388 p_data => x_msg_data
389 );
390
391 WHEN OTHERS THEN
392 ROLLBACK TO Delete_lead_pss_line;
393 x_return_status := FND_API.g_ret_sts_unexp_error ;
394
395 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
396 THEN
397 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
398 END IF;
399
400 FND_MSG_PUB.count_and_get(
401 p_encoded => FND_API.g_false,
402 p_count => x_msg_count,
403 p_data => x_msg_data
404 );
405
406 END Delete_lead_pss_line;
407
408
409 -------------------------------------------------------------------
410 -- PROCEDURE
411 -- Lock_lead_pss_line
412 --
413 --------------------------------------------------------------------
414 PROCEDURE Lock_lead_pss_line(
415 p_api_version_number IN NUMBER
416 ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
417
418 ,x_return_status OUT NOCOPY VARCHAR2
419 ,x_msg_count OUT NOCOPY NUMBER
420 ,x_msg_data OUT NOCOPY VARCHAR2
421
422 ,p_lead_pss_line_id IN NUMBER
423 ,p_object_version IN NUMBER
424 )
425 IS
426
427 l_api_version CONSTANT NUMBER := 1.0;
428 l_api_name CONSTANT VARCHAR2(30) := 'Lock_lead_pss_line';
429 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
430
431 l_lead_pss_line_id NUMBER;
432
433 CURSOR c_lead_pss_line IS
434 SELECT lead_pss_line_id
435 FROM pv_lead_pss_lines
436 WHERE lead_pss_line_id = p_lead_pss_line_id
437 AND object_version_number = p_object_version
438 FOR UPDATE OF lead_pss_line_id NOWAIT;
439
440 BEGIN
441
442 -------------------- initialize ------------------------
443 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
444 PVX_Utility_PVT.debug_message(l_full_name||': start');
445 END IF;
446
447
448 IF FND_API.to_boolean(p_init_msg_list) THEN
449 FND_MSG_PUB.initialize;
450 END IF;
451
452 IF NOT FND_API.compatible_api_call(
453 l_api_version,
454 p_api_version_number,
455 l_api_name,
456 g_pkg_name
457 ) THEN
458 RAISE FND_API.g_exc_unexpected_error;
459 END IF;
460
461 x_return_status := FND_API.G_RET_STS_SUCCESS;
462
463 ------------------------ lock -------------------------
464 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
465 PVX_Utility_PVT.debug_message(l_full_name||': lock');
466 END IF;
467
468
469 OPEN c_lead_pss_line;
470 FETCH c_lead_pss_line INTO l_lead_pss_line_id;
471 IF (c_lead_pss_line%NOTFOUND) THEN
472 CLOSE c_lead_pss_line;
473 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
474 FND_MESSAGE.set_name('PV', 'PV_RECORD_NOT_FOUND');
475 FND_MSG_PUB.add;
476 END IF;
477 RAISE FND_API.g_exc_error;
478 END IF;
479 CLOSE c_lead_pss_line;
480
481
482 -------------------- finish --------------------------
483 FND_MSG_PUB.count_and_get(
484 p_encoded => FND_API.g_false,
485 p_count => x_msg_count,
486 p_data => x_msg_data
487 );
488
489
490 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
491 PVX_Utility_PVT.debug_message(l_full_name ||': end');
492 END IF;
493
494
495
496 EXCEPTION
497
498 WHEN PVX_Utility_PVT.resource_locked THEN
499 x_return_status := FND_API.g_ret_sts_error;
500 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
501 FND_MESSAGE.set_name('PV', 'PV_RESOURCE_LOCKED');
502 FND_MSG_PUB.add;
503 END IF;
504
505 FND_MSG_PUB.count_and_get(
506 p_encoded => FND_API.g_false,
510
507 p_count => x_msg_count,
508 p_data => x_msg_data
509 );
511 WHEN FND_API.g_exc_error THEN
512 x_return_status := FND_API.g_ret_sts_error;
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 FND_API.g_exc_unexpected_error THEN
520 x_return_status := FND_API.g_ret_sts_unexp_error ;
521 FND_MSG_PUB.count_and_get(
522 p_encoded => FND_API.g_false,
523 p_count => x_msg_count,
524 p_data => x_msg_data
525 );
526
527 WHEN OTHERS THEN
528 x_return_status := FND_API.g_ret_sts_unexp_error ;
529 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
530 THEN
531 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
532 END IF;
533
534 FND_MSG_PUB.count_and_get(
535 p_encoded => FND_API.g_false,
536 p_count => x_msg_count,
537 p_data => x_msg_data
538 );
539
540 END Lock_lead_pss_line;
541
542
543 ---------------------------------------------------------------------
544 -- PROCEDURE
545 -- Update_lead_pss_line
546 ----------------------------------------------------------------------
547 PROCEDURE Update_lead_pss_line(
548 p_api_version_number IN NUMBER
549 ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
550 ,p_commit IN VARCHAR2 := FND_API.g_false
551 ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
552
553 ,x_return_status OUT NOCOPY VARCHAR2
554 ,x_msg_count OUT NOCOPY NUMBER
555 ,x_msg_data OUT NOCOPY VARCHAR2
556 ,p_lead_pss_lines_rec IN lead_pss_lines_rec_type
557
558 )
559 IS
560
561 l_api_version CONSTANT NUMBER := 1.0;
562 l_api_name CONSTANT VARCHAR2(30) := 'Update_lead_pss_line';
563 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
564
565 l_lead_pss_lines_rec lead_pss_lines_rec_type;
566 l_return_status VARCHAR2(1);
567 l_mode VARCHAR2(30) := 'UPDATE';
568
569
570 BEGIN
571
572 -------------------- initialize -------------------------
573 SAVEPOINT Update_lead_pss_line;
574
575 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
576 PVX_Utility_PVT.debug_message(l_full_name||': start');
577 END IF;
578
579
580 IF FND_API.to_boolean(p_init_msg_list) THEN
581 FND_MSG_PUB.initialize;
582 END IF;
583
584 IF NOT FND_API.compatible_api_call(
585 l_api_version,
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 x_return_status := FND_API.G_RET_STS_SUCCESS;
594
595 ----------------------- validate ----------------------
596 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
597 PVX_Utility_PVT.debug_message(l_full_name ||': validate');
598 END IF;
599
600
601 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
602 Check_lead_pss_line_Items(
603 p_lead_pss_lines_rec => p_lead_pss_lines_rec,
604 p_validation_mode => JTF_PLSQL_API.g_update,
605 x_return_status => l_return_status
606 );
607
608 IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
609 RAISE FND_API.g_exc_unexpected_error;
610 ELSIF l_return_status = FND_API.g_ret_sts_error THEN
611 RAISE FND_API.g_exc_error;
612 END IF;
613 END IF;
614
615
616
617 -- replace g_miss_char/num/date with current column values
618 Complete_lead_pss_line_rec(p_lead_pss_lines_rec, l_lead_pss_lines_rec);
619
620
621
622 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_record THEN
623
624 Check_lead_pss_line_Record(
625 p_lead_pss_lines_rec => p_lead_pss_lines_rec,
626 p_complete_rec => l_lead_pss_lines_rec,
627 p_mode => l_mode,
628 x_return_status => l_return_status
629 );
630
631
632 IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
633 RAISE FND_API.g_exc_unexpected_error;
634 ELSIF l_return_status = FND_API.g_ret_sts_error THEN
635 RAISE FND_API.g_exc_error;
636 END IF;
637 END IF;
638
639 -------------------------- update --------------------
640 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
641 PVX_Utility_PVT.debug_message(l_full_name ||': update');
642 END IF;
643
644
645
646 UPDATE PV_LEAD_PSS_LINES SET
647 last_update_date = SYSDATE
648 ,last_updated_by = NVL(FND_GLOBAL.user_id,-1)
649 ,last_update_login = NVL(FND_GLOBAL.conc_login_id,-1)
650 ,request_id = l_lead_pss_lines_rec.request_id
651 ,program_application_id = l_lead_pss_lines_rec.program_application_id
652 ,program_id = l_lead_pss_lines_rec.program_id
653 ,program_update_date = l_lead_pss_lines_rec.program_update_date
654 ,attr_code_id = l_lead_pss_lines_rec.attr_code_id
655 ,lead_id = l_lead_pss_lines_rec.lead_id
656 ,uom_code = l_lead_pss_lines_rec.uom_code
657 ,quantity = l_lead_pss_lines_rec.quantity
658 ,amount = l_lead_pss_lines_rec.amount
662 ,attribute3 = l_lead_pss_lines_rec.attribute3
659 ,attribute_category = l_lead_pss_lines_rec.attribute_category
660 ,attrIbute1 = l_lead_pss_lines_rec.attribute1
661 ,attribute2 = l_lead_pss_lines_rec.attribute2
663 ,attribute4 = l_lead_pss_lines_rec.attribute4
664 ,attribute5 = l_lead_pss_lines_rec.attribute5
665 ,attribute6 = l_lead_pss_lines_rec.attribute6
666 ,attribute7 = l_lead_pss_lines_rec.attribute7
667 ,attribute8 = l_lead_pss_lines_rec.attribute8
668 ,attribute9 = l_lead_pss_lines_rec.attribute9
669 ,attribute10 = l_lead_pss_lines_rec.attribute10
670 ,attribute11 = l_lead_pss_lines_rec.attribute11
671 ,attribute12 = l_lead_pss_lines_rec.attribute12
672 ,attribute13 = l_lead_pss_lines_rec.attribute13
673 ,attribute14 = l_lead_pss_lines_rec.attribute14
674 ,attribute15 = l_lead_pss_lines_rec.attribute15
675 ,object_name = l_lead_pss_lines_rec.object_name
676 ,object_version_number = l_lead_pss_lines_rec.object_version_number + 1
677 ,partner_id = l_lead_pss_lines_rec.partner_id
678 ,object_id = l_lead_pss_lines_rec.object_id
679 WHERE lead_pss_line_id = l_lead_pss_lines_rec.lead_pss_line_id
680 AND object_version_number = l_lead_pss_lines_rec.object_version_number;
681
682
683 IF (SQL%NOTFOUND) THEN
684 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
685 FND_MESSAGE.set_name('PV', 'PV_NO_RECORD_FOUND');
686 FND_MSG_PUB.add;
687 END IF;
688 RAISE FND_API.g_exc_error;
689 END IF;
690
691
692
693
694
695 -------------------- finish --------------------------
696
697 -- Check for commit
698 IF FND_API.to_boolean(p_commit) THEN
699 COMMIT;
700 END IF;
701
702
703
704 FND_MSG_PUB.count_and_get(
705 p_encoded => FND_API.g_false,
706 p_count => x_msg_count,
707 p_data => x_msg_data
708 );
709
710 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
711 PVX_Utility_PVT.debug_message(l_full_name ||': end');
712 END IF;
713
714
715
716
717 EXCEPTION
718
719 WHEN FND_API.g_exc_error THEN
720 ROLLBACK TO Update_lead_pss_line;
721 x_return_status := FND_API.g_ret_sts_error;
722 FND_MSG_PUB.count_and_get(
723 p_encoded => FND_API.g_false,
724 p_count => x_msg_count,
725 p_data => x_msg_data
726 );
727
728 WHEN FND_API.g_exc_unexpected_error THEN
729 ROLLBACK TO Update_lead_pss_line;
730 x_return_status := FND_API.g_ret_sts_unexp_error ;
731 FND_MSG_PUB.count_and_get(
732 p_encoded => FND_API.g_false,
733 p_count => x_msg_count,
734 p_data => x_msg_data
735 );
736
737 WHEN OTHERS THEN
738 ROLLBACK TO Update_lead_pss_line;
739 x_return_status := FND_API.g_ret_sts_unexp_error ;
740
741 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
742 THEN
743 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
744 END IF;
745
746 FND_MSG_PUB.count_and_get(
747 p_encoded => FND_API.g_false,
748 p_count => x_msg_count,
749 p_data => x_msg_data
750 );
751
752 END Update_lead_pss_line;
753
754
755 --------------------------------------------------------------------
756 -- PROCEDURE
757 -- Validate_lead_pss_line
758 --
759 --------------------------------------------------------------------
760 PROCEDURE Validate_lead_pss_line(
761 p_api_version_number IN NUMBER
762 ,p_init_msg_list IN VARCHAR2 := FND_API.g_false
763 ,p_validation_level IN NUMBER := FND_API.g_valid_level_full
764
765 ,x_return_status OUT NOCOPY VARCHAR2
766 ,x_msg_count OUT NOCOPY NUMBER
767 ,x_msg_data OUT NOCOPY VARCHAR2
768
769 ,p_lead_pss_lines_rec IN lead_pss_lines_rec_type
770 )
771 IS
772
773 l_api_version CONSTANT NUMBER := 1.0;
774 l_api_name CONSTANT VARCHAR2(30) := 'Validate_lead_pss_line';
775 l_full_name CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
776 l_return_status VARCHAR2(1);
777
778 BEGIN
779
780
781
782 ----------------------- initialize --------------------
783 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
784 PVX_Utility_PVT.debug_message(l_full_name||': start');
785 END IF;
786
787
788 IF FND_API.to_boolean(p_init_msg_list) THEN
789 FND_MSG_PUB.initialize;
790 END IF;
791
792 IF NOT FND_API.compatible_api_call(
793 l_api_version,
794 p_api_version_number,
795 l_api_name,
796 g_pkg_name
797 ) THEN
798 RAISE FND_API.g_exc_unexpected_error;
799 END IF;
800
801 x_return_status := FND_API.g_ret_sts_success;
802
803 ---------------------- validate ------------------------
804 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
805 PVX_Utility_PVT.debug_message(l_full_name||': check items');
806 END IF;
807
808
809
810
811 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
812 Check_Lead_pss_line_Items(
813 p_lead_pss_lines_rec => p_lead_pss_lines_rec,
817
814 p_validation_mode => JTF_PLSQL_API.g_create,
815 x_return_status => l_return_status
816 );
818
819 IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
820 RAISE FND_API.g_exc_unexpected_error;
821 ELSIF l_return_status = FND_API.g_ret_sts_error THEN
822 RAISE FND_API.g_exc_error;
823 END IF;
824 END IF;
825
826
827
828 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
829 PVX_Utility_PVT.debug_message(l_full_name||': check record');
830 END IF;
831
832
833
834
835 IF p_validation_level >= JTF_PLSQL_API.g_valid_level_record THEN
836 Check_lead_pss_line_Record(
837 p_lead_pss_lines_rec => p_lead_pss_lines_rec,
838 p_complete_rec => NULL,
839 x_return_status => l_return_status
840 );
841
842
843
844
845 IF l_return_status = FND_API.g_ret_sts_unexp_error THEN
846 RAISE FND_API.g_exc_unexpected_error;
847 ELSIF l_return_status = FND_API.g_ret_sts_error THEN
848 RAISE FND_API.g_exc_error;
849 END IF;
850 END IF;
851
852
853
854
855 -------------------- finish --------------------------
856 FND_MSG_PUB.count_and_get(
857 p_encoded => FND_API.g_false,
858 p_count => x_msg_count,
859 p_data => x_msg_data
860 );
861
862 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
863 PVX_Utility_PVT.debug_message(l_full_name ||': end');
864 END IF;
865
866
867
868
869
870 EXCEPTION
871
872 WHEN FND_API.g_exc_error THEN
873 x_return_status := FND_API.g_ret_sts_error;
874 FND_MSG_PUB.count_and_get(
875 p_encoded => FND_API.g_false,
876 p_count => x_msg_count,
877 p_data => x_msg_data
878 );
879
880 WHEN FND_API.g_exc_unexpected_error THEN
881 x_return_status := FND_API.g_ret_sts_unexp_error ;
882 FND_MSG_PUB.count_and_get(
883 p_encoded => FND_API.g_false,
884 p_count => x_msg_count,
885 p_data => x_msg_data
886 );
887
888 WHEN OTHERS THEN
889 x_return_status := FND_API.g_ret_sts_unexp_error;
890 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
891 THEN
892 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
893 END IF;
894
895 FND_MSG_PUB.count_and_get(
896 p_encoded => FND_API.g_false,
897 p_count => x_msg_count,
898 p_data => x_msg_data
899 );
900
901 END Validate_lead_pss_line;
902
903
904 ---------------------------------------------------------------------
905 -- PROCEDURE
906 -- Check_Req_Items
907 --
908 ---------------------------------------------------------------------
909 PROCEDURE Check_Req_Items(
910 p_lead_pss_lines_rec IN lead_pss_lines_rec_type
911 ,x_return_status OUT NOCOPY VARCHAR2
912 )
913 IS
914 BEGIN
915
916 x_return_status := FND_API.g_ret_sts_success;
917
918
919 ------------------------ entity --------------------------
920 IF p_lead_pss_lines_rec.object_id IS NULL THEN
921 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
922 FND_MESSAGE.set_name('PV', 'PV_NO_OBJECT_ID');
923 FND_MSG_PUB.add;
924 END IF;
925
926 x_return_status := FND_API.g_ret_sts_error;
927 RETURN;
928 ------------------------ attribute id -------------------------------
929 ELSIF p_lead_pss_lines_rec.attr_code_id IS NULL THEN
930 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
931 FND_MESSAGE.set_name('PV', 'PV_NO_ATTR_CODE_ID');
932 FND_MSG_PUB.add;
933 END IF;
934
935 x_return_status := FND_API.g_ret_sts_error;
936 RETURN;
937 ------------------------ Object_name -------------------------------
938 ELSIF p_lead_pss_lines_rec.object_name IS NULL THEN
939 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
940 FND_MESSAGE.set_name('PV', 'PV_NO_OBJECT_NAME');
941 FND_MSG_PUB.add;
942 END IF;
943
944 x_return_status := FND_API.g_ret_sts_error;
945 RETURN;
946 END IF;
947
948 END Check_Req_Items;
949
950
951 ---------------------------------------------------------------------
952 -- PROCEDURE
953 -- Check_Uk_Items
954 --
955 ---------------------------------------------------------------------
956 PROCEDURE Check_Uk_Items(
957 p_lead_pss_lines_rec IN lead_pss_lines_rec_type
958 ,p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create
959 ,x_return_status OUT NOCOPY VARCHAR2
960 )
961 IS
962 l_valid_flag VARCHAR2(1);
963 BEGIN
964
965 x_return_status := FND_API.g_ret_sts_success;
966
967 -- when lead_pss_line_id is passed in, we need to
968 -- check if this is unique.
969 IF p_validation_mode = JTF_PLSQL_API.g_create
970 AND p_lead_pss_lines_rec.lead_pss_line_id IS NOT NULL
971 THEN
972 IF PVX_Utility_PVT.check_uniqueness(
973 'PV_lead_pss_lines',
974 'lead_pss_line_id = ' || p_lead_pss_lines_rec.lead_pss_line_id
975 ) = FND_API.g_false
976 THEN
977 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error)
978 THEN
979 FND_MESSAGE.set_name('PV', 'PV_DUPLICATE_ID');
980 FND_MSG_PUB.add;
981 END IF;
985 END IF;
982 x_return_status := FND_API.g_ret_sts_error;
983 RETURN;
984 END IF;
986
987 -- check other unique items
988
989 END Check_Uk_Items;
990
991
992 ---------------------------------------------------------------------
993 -- PROCEDURE
994 -- Check_Fk_Items
995 --
996 ---------------------------------------------------------------------
997 PROCEDURE Check_Fk_Items(
998 p_lead_pss_lines_rec IN lead_pss_lines_rec_type
999 ,x_return_status OUT NOCOPY VARCHAR2
1000 )
1001 IS
1002 BEGIN
1003
1004 x_return_status := FND_API.g_ret_sts_success;
1005
1006
1007 ----------------------- lead_id ------------------------
1008 IF (p_lead_pss_lines_rec.lead_id <> FND_API.g_miss_num and p_lead_pss_lines_rec.object_name = 'OPPORTUNITY') THEN
1009 IF PVX_Utility_PVT.check_fk_exists(
1010 'as_leads_all', -- Parent schema object having the primary key
1011 'lead_id', -- Column name in the parent object that maps to the fk value
1012 p_lead_pss_lines_rec.object_id, -- Value of fk to be validated against the parent object's pk column
1013 PVX_utility_PVT.g_number -- datatype of fk
1014 ) = FND_API.g_false
1015 THEN
1016 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error)
1017 THEN
1018 FND_MESSAGE.set_name('PV', 'PV_NOT_A_VALID_LEAD_ID');
1019 FND_MSG_PUB.add;
1020 END IF;
1021
1022 x_return_status := FND_API.g_ret_sts_error;
1023 RETURN;
1024 END IF;
1025
1026 else IF (p_lead_pss_lines_rec.lead_id <> FND_API.g_miss_num and p_lead_pss_lines_rec.object_name = 'LEAD') then
1027
1028 IF PVX_Utility_PVT.check_fk_exists(
1029 'as_sales_leads', -- Parent schema object having the primary key
1030 'sales_lead_id', -- Column name in the parent object that maps to the fk value
1031 p_lead_pss_lines_rec.object_id, -- Value of fk to be validated against the parent object's pk column
1032 PVX_utility_PVT.g_number -- datatype of fk
1033 ) = FND_API.g_false
1034 THEN
1035 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error)
1036 THEN
1037 FND_MESSAGE.set_name('PV', 'PV_NOT_A_VALID_SALES_LEAD_ID');
1038 FND_MSG_PUB.add;
1039 END IF;
1040 x_return_status := FND_API.g_ret_sts_error;
1041 RETURN;
1042
1043 END IF;
1044 END IF;
1045 END IF;
1046
1047 ----------------------- attr_code_id ------------------------
1048 IF p_lead_pss_lines_rec.attr_code_id <> FND_API.g_miss_num THEN
1049 IF PVX_Utility_PVT.check_fk_exists(
1050 'pv_attribute_codes_vl', -- Parent schema object having the primary key
1051 'attr_code_id', -- Column name in the parent object that maps to the fk value
1052 p_lead_pss_lines_rec.attr_code_id, -- Value of fk to be validated against the parent object's pk column
1053 PVX_utility_PVT.g_number -- datatype of fk
1054 ) = FND_API.g_false
1055 THEN
1056 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error)
1057 THEN
1058 FND_MESSAGE.set_name('PV', 'PV_NOT_A_VALID_ATTRIBUTE_CODE_ID');
1059 FND_MSG_PUB.add;
1060 END IF;
1061 x_return_status := FND_API.g_ret_sts_error;
1062 RETURN;
1063
1064 end if;
1065 end if;
1066
1067 END Check_Fk_Items;
1068
1069
1070 ---------------------------------------------------------------------
1071 -- PROCEDURE
1072 -- Check_Lookup_Items
1073 --
1074 ---------------------------------------------------------------------
1075 PROCEDURE Check_Lookup_Items(
1076 p_lead_pss_lines_rec IN lead_pss_lines_rec_type
1077 ,x_return_status OUT NOCOPY VARCHAR2
1078 )
1079 IS
1080 BEGIN
1081
1082
1083 x_return_status := FND_API.g_ret_sts_success;
1084
1085
1086
1087 ----------------------- object_name lookup ------------------------
1088 IF p_lead_pss_lines_rec.object_name <> FND_API.g_miss_char THEN
1089
1090 IF PVX_Utility_PVT.check_lookup_exists(
1091 'pv_lookups', -- Look up Table Name
1092 'PV_OBJECT_NAME', -- Lookup Type
1093 p_lead_pss_lines_rec.object_name -- Lookup Code
1094 ) = FND_API.g_false
1095 THEN
1096 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error)
1097 THEN
1098 FND_MESSAGE.set_name('PV', 'PV_NOT_A_VALID_OBJECT_NAME_CODE');
1099 FND_MSG_PUB.add;
1100 END IF;
1101 x_return_status := FND_API.g_ret_sts_error;
1102 RETURN;
1103
1104 end if;
1105 end if;
1106
1107 -- check other lookup codes
1108
1109 END Check_Lookup_Items;
1110
1111
1112 ---------------------------------------------------------------------
1113 -- PROCEDURE
1114 -- Check_Flag_Items
1115 --
1116 ---------------------------------------------------------------------
1117 PROCEDURE Check_Flag_Items(
1118 p_lead_pss_lines_rec IN lead_pss_lines_rec_type
1119 ,x_return_status OUT NOCOPY VARCHAR2
1120 )
1121 IS
1122 BEGIN
1123
1124 x_return_status := FND_API.g_ret_sts_success;
1125
1126
1127 END Check_Flag_Items;
1128
1129
1130 ---------------------------------------------------------------------
1131 -- PROCEDURE
1132 -- Check_lead_pss_line_items
1133 --
1134 ---------------------------------------------------------------------
1135 PROCEDURE Check_lead_pss_line_Items(
1136 p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create
1140 IS
1137 ,x_return_status OUT NOCOPY VARCHAR2
1138 ,p_lead_pss_lines_rec IN lead_pss_lines_rec_type
1139 )
1141 BEGIN
1142
1143 Check_Req_Items(
1144 p_lead_pss_lines_rec => p_lead_pss_lines_rec
1145 ,x_return_status => x_return_status
1146 );
1147
1148
1149 IF x_return_status <> FND_API.g_ret_sts_success THEN
1150 RETURN;
1151 END IF;
1152
1153
1154
1155 Check_Uk_Items(
1156 p_lead_pss_lines_rec => p_lead_pss_lines_rec
1157 ,p_validation_mode => p_validation_mode
1158 ,x_return_status => x_return_status
1159 );
1160
1161
1162
1163
1164 IF x_return_status <> FND_API.g_ret_sts_success THEN
1165 RETURN;
1166 END IF;
1167
1168
1169
1170 Check_Fk_Items(
1171 p_lead_pss_lines_rec => p_lead_pss_lines_rec
1172 ,x_return_status => x_return_status
1173 );
1174
1175
1176
1177 IF x_return_status <> FND_API.g_ret_sts_success THEN
1178 RETURN;
1179 END IF;
1180
1181
1182
1183 Check_Lookup_Items(
1184 p_lead_pss_lines_rec => p_lead_pss_lines_rec
1185 ,x_return_status => x_return_status
1186 );
1187
1188
1189
1190
1191 IF x_return_status <> FND_API.g_ret_sts_success THEN
1192 RETURN;
1193 END IF;
1194
1195
1196
1197
1198 Check_Flag_Items(
1199 p_lead_pss_lines_rec => p_lead_pss_lines_rec
1200 ,x_return_status => x_return_status
1201 );
1202
1203
1204
1205
1206 IF x_return_status <> FND_API.g_ret_sts_success THEN
1207 RETURN;
1208 END IF;
1209
1210 END Check_lead_pss_line_Items;
1211
1212
1213
1214 ---------------------------------------------------------------------
1215 -- PROCEDURE
1216 -- Check_lead_pss_line_Record
1217 --
1218 ---------------------------------------------------------------------
1219 PROCEDURE Check_lead_pss_line_Record(
1220 p_lead_pss_lines_rec IN lead_pss_lines_rec_type
1221 ,p_complete_rec IN lead_pss_lines_rec_type := NULL
1222 ,p_mode IN VARCHAR2 := 'INSERT'
1223 ,x_return_status OUT NOCOPY VARCHAR2
1224 )
1225 IS
1226
1227
1228 BEGIN
1229
1230 x_return_status := FND_API.g_ret_sts_success;
1231
1232
1233
1234 -- do other record level checkings
1235
1236 END Check_lead_pss_line_Record;
1237
1238
1239 ---------------------------------------------------------------------
1240 -- PROCEDURE
1241 -- Init_lead_pss_line_Rec
1242 --
1243 ---------------------------------------------------------------------
1244 PROCEDURE Init_lead_pss_line_Rec(
1245 x_lead_pss_lines_rec OUT NOCOPY lead_pss_lines_rec_type
1246 )
1247 IS
1248 BEGIN
1249
1250 x_lead_pss_lines_rec.lead_pss_line_id := FND_API.G_MISS_NUM;
1251 x_lead_pss_lines_rec.last_update_date := FND_API.G_MISS_DATE;
1252 x_lead_pss_lines_rec.last_updated_by := FND_API.G_MISS_NUM;
1253 x_lead_pss_lines_rec.creation_date := FND_API.G_MISS_DATE;
1254 x_lead_pss_lines_rec.created_by := FND_API.G_MISS_NUM;
1255 x_lead_pss_lines_rec.last_update_login := FND_API.G_MISS_NUM;
1256 x_lead_pss_lines_rec.object_version_number := FND_API.G_MISS_NUM;
1257 x_lead_pss_lines_rec.request_id := FND_API.G_MISS_NUM;
1258 x_lead_pss_lines_rec.program_application_id := FND_API.G_MISS_NUM;
1259 x_lead_pss_lines_rec.program_id := FND_API.G_MISS_NUM;
1260 x_lead_pss_lines_rec.program_update_date := FND_API.G_MISS_DATE;
1261 x_lead_pss_lines_rec.attr_code_id := FND_API.G_MISS_NUM;
1262 x_lead_pss_lines_rec.lead_id := FND_API.G_MISS_NUM;
1263 x_lead_pss_lines_rec.uom_code := FND_API.G_MISS_CHAR;
1264 x_lead_pss_lines_rec.quantity := FND_API.G_MISS_NUM;
1265 x_lead_pss_lines_rec.amount := FND_API.G_MISS_NUM;
1266 x_lead_pss_lines_rec.attribute_category := FND_API.G_MISS_CHAR;
1267 x_lead_pss_lines_rec.attribute1 := FND_API.G_MISS_CHAR;
1268 x_lead_pss_lines_rec.attribute2 := FND_API.G_MISS_CHAR;
1269 x_lead_pss_lines_rec.attribute3 := FND_API.G_MISS_CHAR;
1270 x_lead_pss_lines_rec.attribute4 := FND_API.G_MISS_CHAR;
1271 x_lead_pss_lines_rec.attribute5 := FND_API.G_MISS_CHAR;
1272 x_lead_pss_lines_rec.attribute6 := FND_API.G_MISS_CHAR;
1273 x_lead_pss_lines_rec.attribute7 := FND_API.G_MISS_CHAR;
1274 x_lead_pss_lines_rec.attribute8 := FND_API.G_MISS_CHAR;
1275 x_lead_pss_lines_rec.attribute9 := FND_API.G_MISS_CHAR;
1276 x_lead_pss_lines_rec.attribute10 := FND_API.G_MISS_CHAR;
1277 x_lead_pss_lines_rec.attribute11 := FND_API.G_MISS_CHAR;
1278 x_lead_pss_lines_rec.attribute12 := FND_API.G_MISS_CHAR;
1279 x_lead_pss_lines_rec.attribute13 := FND_API.G_MISS_CHAR;
1280 x_lead_pss_lines_rec.attribute14 := FND_API.G_MISS_CHAR;
1281 x_lead_pss_lines_rec.attribute15 := FND_API.G_MISS_CHAR;
1282 x_lead_pss_lines_rec.object_name := FND_API.G_MISS_CHAR;
1283 x_lead_pss_lines_rec.object_id := FND_API.G_MISS_NUM;
1284 x_lead_pss_lines_rec.partner_id := FND_API.G_MISS_NUM;
1285 END Init_lead_pss_line_Rec;
1286
1287
1288 ---------------------------------------------------------------------
1289 -- PROCEDURE
1290 -- Complete_lead_pss_line_Rec
1291 --
1292 ---------------------------------------------------------------------
1293 PROCEDURE Complete_lead_pss_line_Rec(
1294 p_lead_pss_lines_rec IN lead_pss_lines_rec_type
1298
1295 ,x_complete_rec OUT NOCOPY lead_pss_lines_rec_type
1296 )
1297 IS
1299 CURSOR c_lead_pss_line IS
1300 SELECT *
1301 FROM PV_lead_pss_lines
1302 WHERE lead_pss_line_id = p_lead_pss_lines_rec.lead_pss_line_id;
1303
1304 l_lead_pss_lines_rec c_Lead_pss_line%ROWTYPE;
1305
1306 BEGIN
1307
1308 x_complete_rec := p_lead_pss_lines_rec;
1309
1310 OPEN c_lead_pss_line;
1311 FETCH c_lead_pss_line INTO l_lead_pss_lines_rec;
1312 IF c_lead_pss_line%NOTFOUND THEN
1313 CLOSE c_lead_pss_line;
1314 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1315 FND_MESSAGE.set_name('PV', 'PV_NO_RECORD_FOUND');
1316 FND_MSG_PUB.add;
1317 END IF;
1318 RAISE FND_API.g_exc_error;
1319 END IF;
1320 CLOSE c_lead_pss_line;
1321
1322 IF p_lead_pss_lines_rec.uom_code = FND_API.G_MISS_CHAR THEN
1323 x_complete_rec.uom_code := l_lead_pss_lines_rec.uom_code;
1324 END IF;
1325
1326 IF p_lead_pss_lines_rec.lead_id = FND_API.G_MISS_NUM THEN
1327 x_complete_rec.lead_id := l_lead_pss_lines_rec.lead_id;
1328 END IF;
1329
1330 IF p_lead_pss_lines_rec.amount = FND_API.G_MISS_NUM THEN
1331 x_complete_rec.amount := l_lead_pss_lines_rec.amount;
1332 END IF;
1333
1334 IF p_lead_pss_lines_rec.object_name = FND_API.G_MISS_CHAR THEN
1335 x_complete_rec.object_name := l_lead_pss_lines_rec.object_name;
1336 END IF;
1337
1338 IF p_lead_pss_lines_rec.attr_code_id = FND_API.G_MISS_NUM THEN
1339 x_complete_rec.attr_code_id := l_lead_pss_lines_rec.attr_code_id;
1340 END IF;
1341
1342 IF p_lead_pss_lines_rec.quantity = FND_API.G_MISS_NUM THEN
1343 x_complete_rec.quantity := l_lead_pss_lines_rec.quantity;
1344 END IF;
1345 IF p_lead_pss_lines_rec.object_version_number = FND_API.G_MISS_NUM THEN
1346 x_complete_rec.object_version_number := l_lead_pss_lines_rec.object_version_number;
1347 END IF;
1348 IF p_lead_pss_lines_rec.attribute_category = FND_API.G_MISS_CHAR THEN
1349 x_complete_rec.attribute_category := l_lead_pss_lines_rec.attribute_category;
1350 END IF;
1351
1352 IF p_lead_pss_lines_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1353 x_complete_rec.attribute1 := l_lead_pss_lines_rec.attribute1;
1354 END IF;
1355
1356 IF p_lead_pss_lines_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1357 x_complete_rec.attribute2 := l_lead_pss_lines_rec.attribute2;
1358 END IF;
1359
1360 IF p_lead_pss_lines_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1361 x_complete_rec.attribute3 := l_lead_pss_lines_rec.attribute3;
1362 END IF;
1363
1364 IF p_lead_pss_lines_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1365 x_complete_rec.attribute4 := l_lead_pss_lines_rec.attribute4;
1366 END IF;
1367
1368 IF p_lead_pss_lines_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1369 x_complete_rec.attribute5 := l_lead_pss_lines_rec.attribute5;
1370 END IF;
1371
1372 IF p_lead_pss_lines_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1373 x_complete_rec.attribute6 := l_lead_pss_lines_rec.attribute6;
1374 END IF;
1375
1376 IF p_lead_pss_lines_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1377 x_complete_rec.attribute7 := l_lead_pss_lines_rec.attribute7;
1378 END IF;
1379
1380 IF p_lead_pss_lines_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1381 x_complete_rec.attribute8 := l_lead_pss_lines_rec.attribute8;
1382 END IF;
1383
1384 IF p_lead_pss_lines_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1385 x_complete_rec.attribute9 := l_lead_pss_lines_rec.attribute9;
1386 END IF;
1387
1388 IF p_lead_pss_lines_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1389 x_complete_rec.attribute10 := l_lead_pss_lines_rec.attribute10;
1390 END IF;
1391
1392 IF p_lead_pss_lines_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1393 x_complete_rec.attribute11 := l_lead_pss_lines_rec.attribute11;
1394 END IF;
1395
1396 IF p_lead_pss_lines_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1397 x_complete_rec.attribute12 := l_lead_pss_lines_rec.attribute12;
1398 END IF;
1399
1400 IF p_lead_pss_lines_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1401 x_complete_rec.attribute13 := l_lead_pss_lines_rec.attribute13;
1402 END IF;
1403
1404 IF p_lead_pss_lines_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1405 x_complete_rec.attribute14 := l_lead_pss_lines_rec.attribute14;
1406 END IF;
1407
1408 IF p_lead_pss_lines_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1409 x_complete_rec.attribute15 := l_lead_pss_lines_rec.attribute15;
1410 END IF;
1411
1412 IF p_lead_pss_lines_rec.request_id = FND_API.G_MISS_NUM THEN
1413 x_complete_rec.request_id := l_lead_pss_lines_rec.request_id;
1414 END IF;
1415
1416 IF p_lead_pss_lines_rec.program_id = FND_API.G_MISS_NUM THEN
1417 x_complete_rec.program_id := l_lead_pss_lines_rec.program_id;
1418 END IF;
1419
1420 IF p_lead_pss_lines_rec.program_application_id = FND_API.G_MISS_NUM THEN
1421 x_complete_rec.program_application_id := l_lead_pss_lines_rec.program_application_id;
1422 END IF;
1423
1424 IF p_lead_pss_lines_rec.program_update_date = FND_API.G_MISS_DATE THEN
1425 x_complete_rec.program_update_date := l_lead_pss_lines_rec.program_update_date;
1426 END IF;
1427
1431
1428 IF p_lead_pss_lines_rec.partner_id = FND_API.G_MISS_NUM THEN
1429 x_complete_rec.partner_id := l_lead_pss_lines_rec.partner_id;
1430 END IF;
1432 IF p_lead_pss_lines_rec.object_id = FND_API.G_MISS_NUM THEN
1433 x_complete_rec.object_id := l_lead_pss_lines_rec.object_id;
1434 END IF;
1435
1436 end complete_lead_pss_line_rec;
1437
1438 END PVX_lead_pss_lines_PVT;