DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_ATTR_VALUES_TLP_DRAFT_PKG

Source


1 PACKAGE BODY PO_ATTR_VALUES_TLP_DRAFT_PKG AS
2 /* $Header: PO_ATTR_VALUES_TLP_DRAFT_PKG.plb 120.9 2006/09/28 22:58:56 bao noship $ */
3 
4 d_pkg_name CONSTANT varchar2(50) :=
5   PO_LOG.get_package_base('PO_ATTR_VALUES_TLP_DRAFT_PKG');
6 
7 -----------------------------------------------------------------------
8 --Start of Comments
9 --Name: delete_rows
13 --  None
10 --Pre-reqs: None
11 --Modifies:
12 --Locks:
14 --Function:
15 --  Deletes drafts for attribute tlp values based on the information given
16 --  If only draft_id is provided, then all attribute tlp values for the draft
17 --  will be deleted
18 --  If attribute_values_tlp_id is also provided, then the record that has such
19 --  primary key will be deleted
20 --Parameters:
21 --IN:
22 --p_draft_id
23 --  draft unique identifier
24 --p_attribute_values_tlp_id
25 --  po attribute values unique identifier
26 --IN OUT:
27 --OUT:
28 --Returns:
29 --Notes:
30 --Testing:
31 --End of Comments
32 ------------------------------------------------------------------------
33 PROCEDURE delete_rows
34 ( p_draft_id IN NUMBER,
35   p_attribute_values_tlp_id IN NUMBER
36 ) IS
37 
38 d_api_name CONSTANT VARCHAR2(30) := 'delete_rows';
39 d_module CONSTANT VARCHAR2(2000) := d_pkg_name || d_api_name || '.';
40 d_position NUMBER;
41 
42 BEGIN
43   d_position := 0;
44   IF (PO_LOG.d_proc) THEN
45     PO_LOG.proc_begin(d_module);
46   END IF;
47 
48   DELETE FROM po_attribute_values_tlp_draft
49   WHERE draft_id = p_draft_id
50   AND attribute_values_tlp_id = NVL(p_attribute_values_tlp_id,
51                                     attribute_values_tlp_id);
52 
53   d_position := 10;
54 EXCEPTION
55   WHEN OTHERS THEN
56     PO_MESSAGE_S.add_exc_msg
57     ( p_pkg_name => d_pkg_name,
58       p_procedure_name => d_api_name || '.' || d_position
59     );
60     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
61 END delete_rows;
62 
63 
64 -----------------------------------------------------------------------
65 --Start of Comments
66 --Name: sync_draft_from_txn
67 --Pre-reqs: None
68 --Modifies:
69 --Locks:
70 --  None
71 --Function:
72 --  Copy data from transaction table to draft table, if the corresponding
73 --  record in draft table does not exist. It also sets the delete flag of
74 --  the draft record according to the parameter.
75 --Parameters:
76 --IN:
77 --p_attribute_values_tlp_id_tbl
78 --  table of po attribute values tlp unique identifier
79 --p_draft_id_tbl
80 --  table of draft ids this sync up will be done for
81 --p_delete_flag_tbl
82 --  table fo flags to indicate whether the draft record should be maked as
83 --  "to be deleted"
84 --IN OUT:
85 --OUT:
86 --x_record_already_exist_tbl
87 --  Returns whether the record was already in draft table or not
88 --Returns:
89 --Notes:
90 --Testing:
91 --End of Comments
92 ------------------------------------------------------------------------
93 PROCEDURE sync_draft_from_txn
94 ( p_attribute_values_tlp_id_tbl IN PO_TBL_NUMBER,
95   p_draft_id_tbl                IN PO_TBL_NUMBER,
96   p_delete_flag_tbl             IN PO_TBL_VARCHAR1,
97   x_record_already_exist_tbl    OUT NOCOPY PO_TBL_VARCHAR1
98 ) IS
99 
100 d_api_name CONSTANT VARCHAR2(30) := 'sync_draft_from_txn';
101 d_module CONSTANT VARCHAR2(2000) := d_pkg_name || d_api_name || '.';
102 d_position NUMBER;
103 
104 l_distinct_id_list DBMS_SQL.NUMBER_TABLE;
105 l_duplicate_flag_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
106 
107 BEGIN
108   d_position := 0;
109   IF (PO_LOG.d_proc) THEN
110     PO_LOG.proc_begin(d_module);
111   END IF;
112 
113   x_record_already_exist_tbl :=
114     PO_ATTR_VALUES_TLP_DRAFT_PVT.draft_changes_exist
115     ( p_draft_id_tbl                => p_draft_id_tbl,
116       p_attribute_values_tlp_id_tbl => p_attribute_values_tlp_id_tbl
117     );
118 
119   -- bug5471513 START
120   -- If there're duplicate entries in the id table,
121   -- we do not want to insert multiple entries
122   -- Created an associative array to store what id has appeared.
123   l_duplicate_flag_tbl.EXTEND(p_attribute_values_tlp_id_tbl.COUNT);
124 
125   FOR i IN 1..p_attribute_values_tlp_id_tbl.COUNT LOOP
126     IF (x_record_already_exist_tbl(i) = FND_API.G_FALSE) THEN
127 
128       IF (l_distinct_id_list.EXISTS(p_attribute_values_tlp_id_tbl(i))) THEN
129 
130         l_duplicate_flag_tbl(i) := FND_API.G_TRUE;
131       ELSE
132         l_duplicate_flag_tbl(i) := FND_API.G_FALSE;
133 
134         l_distinct_id_list(p_attribute_values_tlp_id_tbl(i)) := 1;
135       END IF;
136 
137     ELSE
138 
139       l_duplicate_flag_tbl(i) := NULL;
140 
141     END IF;
142   END LOOP;
143   -- bug5471513 END
144 
145   d_position := 10;
146   IF (PO_LOG.d_stmt) THEN
147     PO_LOG.stmt(d_module, d_position, 'transfer records from txn to dft');
148   END IF;
149 
150   FORALL i IN 1..p_attribute_values_tlp_id_tbl.COUNT
151     INSERT INTO po_attribute_values_tlp_draft
152     ( draft_id,
153       delete_flag,
154       change_accepted_flag,
155       attribute_values_tlp_id,
156       po_line_id,
157       req_template_name,
158       req_template_line_num,
159       ip_category_id,
160       inventory_item_id,
161       org_id,
162       language,
163       description,
164       manufacturer,
165       comments,
166       alias,
167       long_description,
168       tl_text_base_attribute1,
169       tl_text_base_attribute2,
170       tl_text_base_attribute3,
171       tl_text_base_attribute4,
175       tl_text_base_attribute8,
172       tl_text_base_attribute5,
173       tl_text_base_attribute6,
174       tl_text_base_attribute7,
176       tl_text_base_attribute9,
177       tl_text_base_attribute10,
178       tl_text_base_attribute11,
179       tl_text_base_attribute12,
180       tl_text_base_attribute13,
181       tl_text_base_attribute14,
182       tl_text_base_attribute15,
183       tl_text_base_attribute16,
184       tl_text_base_attribute17,
185       tl_text_base_attribute18,
186       tl_text_base_attribute19,
187       tl_text_base_attribute20,
188       tl_text_base_attribute21,
189       tl_text_base_attribute22,
190       tl_text_base_attribute23,
191       tl_text_base_attribute24,
192       tl_text_base_attribute25,
193       tl_text_base_attribute26,
194       tl_text_base_attribute27,
195       tl_text_base_attribute28,
196       tl_text_base_attribute29,
197       tl_text_base_attribute30,
198       tl_text_base_attribute31,
199       tl_text_base_attribute32,
200       tl_text_base_attribute33,
201       tl_text_base_attribute34,
202       tl_text_base_attribute35,
203       tl_text_base_attribute36,
204       tl_text_base_attribute37,
205       tl_text_base_attribute38,
206       tl_text_base_attribute39,
207       tl_text_base_attribute40,
208       tl_text_base_attribute41,
209       tl_text_base_attribute42,
210       tl_text_base_attribute43,
211       tl_text_base_attribute44,
212       tl_text_base_attribute45,
213       tl_text_base_attribute46,
214       tl_text_base_attribute47,
215       tl_text_base_attribute48,
216       tl_text_base_attribute49,
217       tl_text_base_attribute50,
218       tl_text_base_attribute51,
219       tl_text_base_attribute52,
220       tl_text_base_attribute53,
221       tl_text_base_attribute54,
222       tl_text_base_attribute55,
223       tl_text_base_attribute56,
224       tl_text_base_attribute57,
225       tl_text_base_attribute58,
226       tl_text_base_attribute59,
227       tl_text_base_attribute60,
228       tl_text_base_attribute61,
229       tl_text_base_attribute62,
230       tl_text_base_attribute63,
231       tl_text_base_attribute64,
232       tl_text_base_attribute65,
233       tl_text_base_attribute66,
234       tl_text_base_attribute67,
235       tl_text_base_attribute68,
236       tl_text_base_attribute69,
237       tl_text_base_attribute70,
238       tl_text_base_attribute71,
239       tl_text_base_attribute72,
240       tl_text_base_attribute73,
241       tl_text_base_attribute74,
242       tl_text_base_attribute75,
243       tl_text_base_attribute76,
244       tl_text_base_attribute77,
245       tl_text_base_attribute78,
246       tl_text_base_attribute79,
247       tl_text_base_attribute80,
248       tl_text_base_attribute81,
249       tl_text_base_attribute82,
250       tl_text_base_attribute83,
251       tl_text_base_attribute84,
252       tl_text_base_attribute85,
253       tl_text_base_attribute86,
254       tl_text_base_attribute87,
255       tl_text_base_attribute88,
256       tl_text_base_attribute89,
257       tl_text_base_attribute90,
258       tl_text_base_attribute91,
259       tl_text_base_attribute92,
260       tl_text_base_attribute93,
261       tl_text_base_attribute94,
262       tl_text_base_attribute95,
263       tl_text_base_attribute96,
264       tl_text_base_attribute97,
265       tl_text_base_attribute98,
266       tl_text_base_attribute99,
267       tl_text_base_attribute100,
268       tl_text_cat_attribute1,
269       tl_text_cat_attribute2,
270       tl_text_cat_attribute3,
271       tl_text_cat_attribute4,
272       tl_text_cat_attribute5,
273       tl_text_cat_attribute6,
274       tl_text_cat_attribute7,
275       tl_text_cat_attribute8,
276       tl_text_cat_attribute9,
277       tl_text_cat_attribute10,
278       tl_text_cat_attribute11,
279       tl_text_cat_attribute12,
280       tl_text_cat_attribute13,
281       tl_text_cat_attribute14,
282       tl_text_cat_attribute15,
283       tl_text_cat_attribute16,
284       tl_text_cat_attribute17,
285       tl_text_cat_attribute18,
286       tl_text_cat_attribute19,
287       tl_text_cat_attribute20,
288       tl_text_cat_attribute21,
289       tl_text_cat_attribute22,
290       tl_text_cat_attribute23,
291       tl_text_cat_attribute24,
292       tl_text_cat_attribute25,
293       tl_text_cat_attribute26,
294       tl_text_cat_attribute27,
295       tl_text_cat_attribute28,
296       tl_text_cat_attribute29,
297       tl_text_cat_attribute30,
298       tl_text_cat_attribute31,
299       tl_text_cat_attribute32,
300       tl_text_cat_attribute33,
301       tl_text_cat_attribute34,
302       tl_text_cat_attribute35,
303       tl_text_cat_attribute36,
304       tl_text_cat_attribute37,
305       tl_text_cat_attribute38,
306       tl_text_cat_attribute39,
307       tl_text_cat_attribute40,
308       tl_text_cat_attribute41,
309       tl_text_cat_attribute42,
310       tl_text_cat_attribute43,
311       tl_text_cat_attribute44,
312       tl_text_cat_attribute45,
313       tl_text_cat_attribute46,
314       tl_text_cat_attribute47,
315       tl_text_cat_attribute48,
316       tl_text_cat_attribute49,
317       tl_text_cat_attribute50,
318       last_update_login,
319       last_updated_by,
320       last_update_date,
321       created_by,
322       creation_date,
323       request_id,
324       program_application_id,
325       program_id,
326       program_update_date
330       p_delete_flag_tbl(i),
327     )
328     SELECT
329       p_draft_id_tbl(i),
331       NULL,
332       attribute_values_tlp_id,
333       po_line_id,
334       req_template_name,
335       req_template_line_num,
336       ip_category_id,
337       inventory_item_id,
338       org_id,
339       language,
340       description,
341       manufacturer,
342       comments,
343       alias,
344       long_description,
345       tl_text_base_attribute1,
346       tl_text_base_attribute2,
347       tl_text_base_attribute3,
348       tl_text_base_attribute4,
349       tl_text_base_attribute5,
350       tl_text_base_attribute6,
351       tl_text_base_attribute7,
352       tl_text_base_attribute8,
353       tl_text_base_attribute9,
354       tl_text_base_attribute10,
355       tl_text_base_attribute11,
356       tl_text_base_attribute12,
357       tl_text_base_attribute13,
358       tl_text_base_attribute14,
359       tl_text_base_attribute15,
360       tl_text_base_attribute16,
361       tl_text_base_attribute17,
362       tl_text_base_attribute18,
363       tl_text_base_attribute19,
364       tl_text_base_attribute20,
365       tl_text_base_attribute21,
366       tl_text_base_attribute22,
367       tl_text_base_attribute23,
368       tl_text_base_attribute24,
369       tl_text_base_attribute25,
370       tl_text_base_attribute26,
371       tl_text_base_attribute27,
372       tl_text_base_attribute28,
373       tl_text_base_attribute29,
374       tl_text_base_attribute30,
375       tl_text_base_attribute31,
376       tl_text_base_attribute32,
377       tl_text_base_attribute33,
378       tl_text_base_attribute34,
379       tl_text_base_attribute35,
380       tl_text_base_attribute36,
381       tl_text_base_attribute37,
382       tl_text_base_attribute38,
383       tl_text_base_attribute39,
384       tl_text_base_attribute40,
385       tl_text_base_attribute41,
386       tl_text_base_attribute42,
387       tl_text_base_attribute43,
388       tl_text_base_attribute44,
389       tl_text_base_attribute45,
390       tl_text_base_attribute46,
391       tl_text_base_attribute47,
392       tl_text_base_attribute48,
393       tl_text_base_attribute49,
394       tl_text_base_attribute50,
395       tl_text_base_attribute51,
396       tl_text_base_attribute52,
397       tl_text_base_attribute53,
398       tl_text_base_attribute54,
399       tl_text_base_attribute55,
400       tl_text_base_attribute56,
401       tl_text_base_attribute57,
402       tl_text_base_attribute58,
403       tl_text_base_attribute59,
404       tl_text_base_attribute60,
405       tl_text_base_attribute61,
406       tl_text_base_attribute62,
407       tl_text_base_attribute63,
408       tl_text_base_attribute64,
409       tl_text_base_attribute65,
410       tl_text_base_attribute66,
411       tl_text_base_attribute67,
412       tl_text_base_attribute68,
413       tl_text_base_attribute69,
414       tl_text_base_attribute70,
415       tl_text_base_attribute71,
416       tl_text_base_attribute72,
417       tl_text_base_attribute73,
418       tl_text_base_attribute74,
419       tl_text_base_attribute75,
420       tl_text_base_attribute76,
421       tl_text_base_attribute77,
422       tl_text_base_attribute78,
423       tl_text_base_attribute79,
424       tl_text_base_attribute80,
425       tl_text_base_attribute81,
426       tl_text_base_attribute82,
427       tl_text_base_attribute83,
428       tl_text_base_attribute84,
429       tl_text_base_attribute85,
430       tl_text_base_attribute86,
431       tl_text_base_attribute87,
432       tl_text_base_attribute88,
433       tl_text_base_attribute89,
434       tl_text_base_attribute90,
435       tl_text_base_attribute91,
436       tl_text_base_attribute92,
437       tl_text_base_attribute93,
438       tl_text_base_attribute94,
439       tl_text_base_attribute95,
440       tl_text_base_attribute96,
441       tl_text_base_attribute97,
442       tl_text_base_attribute98,
443       tl_text_base_attribute99,
444       tl_text_base_attribute100,
445       tl_text_cat_attribute1,
446       tl_text_cat_attribute2,
447       tl_text_cat_attribute3,
448       tl_text_cat_attribute4,
449       tl_text_cat_attribute5,
450       tl_text_cat_attribute6,
451       tl_text_cat_attribute7,
452       tl_text_cat_attribute8,
453       tl_text_cat_attribute9,
454       tl_text_cat_attribute10,
455       tl_text_cat_attribute11,
456       tl_text_cat_attribute12,
457       tl_text_cat_attribute13,
458       tl_text_cat_attribute14,
459       tl_text_cat_attribute15,
460       tl_text_cat_attribute16,
461       tl_text_cat_attribute17,
462       tl_text_cat_attribute18,
463       tl_text_cat_attribute19,
464       tl_text_cat_attribute20,
465       tl_text_cat_attribute21,
466       tl_text_cat_attribute22,
467       tl_text_cat_attribute23,
468       tl_text_cat_attribute24,
469       tl_text_cat_attribute25,
470       tl_text_cat_attribute26,
471       tl_text_cat_attribute27,
472       tl_text_cat_attribute28,
473       tl_text_cat_attribute29,
474       tl_text_cat_attribute30,
475       tl_text_cat_attribute31,
476       tl_text_cat_attribute32,
477       tl_text_cat_attribute33,
478       tl_text_cat_attribute34,
479       tl_text_cat_attribute35,
480       tl_text_cat_attribute36,
481       tl_text_cat_attribute37,
482       tl_text_cat_attribute38,
483       tl_text_cat_attribute39,
487       tl_text_cat_attribute43,
484       tl_text_cat_attribute40,
485       tl_text_cat_attribute41,
486       tl_text_cat_attribute42,
488       tl_text_cat_attribute44,
489       tl_text_cat_attribute45,
490       tl_text_cat_attribute46,
491       tl_text_cat_attribute47,
492       tl_text_cat_attribute48,
493       tl_text_cat_attribute49,
494       tl_text_cat_attribute50,
495       last_update_login,
496       last_updated_by,
497       last_update_date,
498       created_by,
499       creation_date,
500       request_id,
501       program_application_id,
502       program_id,
503       program_update_date
504     FROM po_attribute_values_tlp
505     WHERE attribute_values_tlp_id = p_attribute_values_tlp_id_tbl(i)
506     AND x_record_already_exist_tbl(i) = FND_API.G_FALSE
507     AND l_duplicate_flag_tbl(i) = FND_API.G_FALSE;
508 
509   d_position := 20;
510   IF (PO_LOG.d_stmt) THEN
511     PO_LOG.stmt(d_module, d_position, 'transfer count = ' || SQL%ROWCOUNT);
512   END IF;
513 
514   FORALL i IN 1..p_attribute_values_tlp_id_tbl.COUNT
515     UPDATE po_attribute_values_tlp_draft
516     SET    delete_flag = p_delete_flag_tbl(i)
517     WHERE  attribute_values_tlp_id = p_attribute_values_tlp_id_tbl(i)
518     AND    draft_id = p_draft_id_tbl(i)
519     AND    NVL(delete_flag, 'N') <> 'Y'  -- bug5570989
520     AND    x_record_already_exist_tbl(i) = FND_API.G_TRUE;
521 
522   d_position := 30;
523 
524   IF (PO_LOG.d_stmt) THEN
525     PO_LOG.stmt(d_module, d_position, 'update draft records that are already' ||
526                 ' in draft table. Count = ' || SQL%ROWCOUNT);
527   END IF;
528 
529   d_position := 40;
530 
531   IF (PO_LOG.d_proc) THEN
532     PO_LOG.proc_end(d_module);
533   END IF;
534 
535 EXCEPTION
536   WHEN OTHERS THEN
537     PO_MESSAGE_S.add_exc_msg
538     ( p_pkg_name => d_pkg_name,
539       p_procedure_name => d_api_name || '.' || d_position
540     );
541     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
542 END sync_draft_from_txn;
543 
544 
545 -----------------------------------------------------------------------
546 --Start of Comments
547 --Name: sync_draft_from_txn
548 --Pre-reqs: None
549 --Modifies:
550 --Locks:
551 --  None
552 --Function:
553 --  Same functionality as the bulk version of this procedure
554 --Parameters:
555 --IN:
556 --p_attribute_values_tlp_id
557 --  attribute values unique identifier
558 --p_draft_id
559 --  the draft this sync up will be done for
560 --p_delete_flag
561 --  flag to indicate whether the draft record should be maked as "to be
562 --  deleted"
563 --IN OUT:
564 --OUT:
565 --x_record_already_exist
566 --  Returns whether the record was already in draft table or not
567 --Returns:
568 --Notes:
569 --Testing:
570 --End of Comments
571 ------------------------------------------------------------------------
572 PROCEDURE sync_draft_from_txn
573 ( p_attribute_values_tlp_id IN NUMBER,
574   p_draft_id IN NUMBER,
575   p_delete_flag IN VARCHAR2,
576   x_record_already_exist OUT NOCOPY VARCHAR2
577 ) IS
578 
579 d_api_name CONSTANT VARCHAR2(30) := 'sync_draft_from_txn';
580 d_module CONSTANT VARCHAR2(2000) := d_pkg_name || d_api_name || '.';
581 d_position NUMBER;
582 
583 l_record_already_exist_tbl PO_TBL_VARCHAR1;
584 
585 BEGIN
586   d_position := 0;
587   IF (PO_LOG.d_proc) THEN
588     PO_LOG.proc_begin(d_module);
589     PO_LOG.proc_begin(d_module, 'p_attribute_values_tlp_id',
590                                 p_attribute_values_tlp_id);
591   END IF;
592 
593   sync_draft_from_txn
594   ( p_attribute_values_tlp_id_tbl => PO_TBL_NUMBER(p_attribute_values_tlp_id),
595     p_draft_id_tbl                => PO_TBL_NUMBER(p_draft_id),
596     p_delete_flag_tbl             => PO_TBL_VARCHAR1(p_delete_flag),
597     x_record_already_exist_tbl    => l_record_already_exist_tbl
598   );
599 
600   x_record_already_exist := l_record_already_exist_tbl(1);
601 
602   d_position := 10;
603   IF (PO_LOG.d_proc) THEN
604     PO_LOG.proc_end(d_module);
605     PO_LOG.proc_end(d_module, 'x_record_already_exist', x_record_already_exist);
606   END IF;
607 
608 EXCEPTION
609   WHEN OTHERS THEN
610     PO_MESSAGE_S.add_exc_msg
611     ( p_pkg_name => d_pkg_name,
612       p_procedure_name => d_api_name || '.' || d_position
613     );
614     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
615 END sync_draft_from_txn;
616 
617 
618 -----------------------------------------------------------------------
619 --START of Comments
620 --Name: merge_changes
621 --Pre-reqs: None
622 --Modifies:
623 --Locks:
624 --  None
625 --Function:
626 --  Merge the records in draft table to transaction table
627 --  Either insert, update or delete will be performed on top of transaction
628 --  table, depending on the delete_flag on the draft record and whether the
629 --  record already exists in transaction table
630 --
631 --Parameters:
632 --IN:
633 --p_draft_id
634 --  draft unique identifier
635 --IN OUT:
636 --OUT:
637 --Returns:
638 --Notes:
639 --Testing:
640 --End of Comments
641 ------------------------------------------------------------------------
642 PROCEDURE merge_changes
643 ( p_draft_id IN NUMBER
644 ) IS
645 
646 d_api_name CONSTANT VARCHAR2(30) := 'merge_changes';
647 d_module CONSTANT VARCHAR2(2000) := d_pkg_name || d_api_name || '.';
651 
648 d_position NUMBER;
649 
650 BEGIN
652   d_position := 0;
653   IF (PO_LOG.d_proc) THEN
654     PO_LOG.proc_begin(d_module);
655   END IF;
656 
657 
658   -- Since putting DELETE within MERGE statement is causing database
659   -- to thrown internal error, for now we just separate the DELETE statement.
660   -- Once this is fixed we'll move the delete statement back to the merge
661   -- statement
662 
663   -- bug5187544
664   -- Delete only records that have not been rejected
665 
666   DELETE FROM po_attribute_values_tlp PAVT
667   WHERE PAVT.attribute_values_tlp_id IN
668          ( SELECT PAVTD.attribute_values_tlp_id
669            FROM   po_attribute_values_tlp_draft PAVTD
670            WHERE  PAVTD.draft_id = p_draft_id
671            AND    PAVTD.delete_flag = 'Y'
672            AND    NVL(PAVTD.change_accepted_flag, 'Y') = 'Y');
673 
674   -- During update case, the following attributes will be skipped:
675   --  PAVT.attribute_values_tlp_id = PAVTDV.attribute_values_tlp_id,
676   --  PAVT.created_by = PAVTDV.created_by,
677   --  PAVT.creation_date = PAVTDV.creation_date,
678 
679   MERGE INTO po_attribute_values_tlp PAVT
680   USING (
681     SELECT
682       PAVTD.draft_id,
683       PAVTD.delete_flag,
684       PAVTD.change_accepted_flag,
685       PAVTD.attribute_values_tlp_id,
686       PAVTD.po_line_id,
687       PAVTD.req_template_name,
688       PAVTD.req_template_line_num,
689       PAVTD.ip_category_id,
690       PAVTD.inventory_item_id,
691       PAVTD.org_id,
692       PAVTD.language,
693       PAVTD.description,
694       PAVTD.manufacturer,
695       PAVTD.comments,
696       PAVTD.alias,
697       PAVTD.long_description,
698       PAVTD.tl_text_base_attribute1,
699       PAVTD.tl_text_base_attribute2,
700       PAVTD.tl_text_base_attribute3,
701       PAVTD.tl_text_base_attribute4,
702       PAVTD.tl_text_base_attribute5,
703       PAVTD.tl_text_base_attribute6,
704       PAVTD.tl_text_base_attribute7,
705       PAVTD.tl_text_base_attribute8,
706       PAVTD.tl_text_base_attribute9,
707       PAVTD.tl_text_base_attribute10,
708       PAVTD.tl_text_base_attribute11,
709       PAVTD.tl_text_base_attribute12,
710       PAVTD.tl_text_base_attribute13,
711       PAVTD.tl_text_base_attribute14,
712       PAVTD.tl_text_base_attribute15,
713       PAVTD.tl_text_base_attribute16,
714       PAVTD.tl_text_base_attribute17,
715       PAVTD.tl_text_base_attribute18,
716       PAVTD.tl_text_base_attribute19,
717       PAVTD.tl_text_base_attribute20,
718       PAVTD.tl_text_base_attribute21,
719       PAVTD.tl_text_base_attribute22,
720       PAVTD.tl_text_base_attribute23,
721       PAVTD.tl_text_base_attribute24,
722       PAVTD.tl_text_base_attribute25,
723       PAVTD.tl_text_base_attribute26,
724       PAVTD.tl_text_base_attribute27,
725       PAVTD.tl_text_base_attribute28,
726       PAVTD.tl_text_base_attribute29,
727       PAVTD.tl_text_base_attribute30,
728       PAVTD.tl_text_base_attribute31,
729       PAVTD.tl_text_base_attribute32,
730       PAVTD.tl_text_base_attribute33,
731       PAVTD.tl_text_base_attribute34,
732       PAVTD.tl_text_base_attribute35,
733       PAVTD.tl_text_base_attribute36,
734       PAVTD.tl_text_base_attribute37,
735       PAVTD.tl_text_base_attribute38,
736       PAVTD.tl_text_base_attribute39,
737       PAVTD.tl_text_base_attribute40,
738       PAVTD.tl_text_base_attribute41,
739       PAVTD.tl_text_base_attribute42,
740       PAVTD.tl_text_base_attribute43,
741       PAVTD.tl_text_base_attribute44,
742       PAVTD.tl_text_base_attribute45,
743       PAVTD.tl_text_base_attribute46,
744       PAVTD.tl_text_base_attribute47,
745       PAVTD.tl_text_base_attribute48,
746       PAVTD.tl_text_base_attribute49,
747       PAVTD.tl_text_base_attribute50,
748       PAVTD.tl_text_base_attribute51,
749       PAVTD.tl_text_base_attribute52,
750       PAVTD.tl_text_base_attribute53,
751       PAVTD.tl_text_base_attribute54,
752       PAVTD.tl_text_base_attribute55,
753       PAVTD.tl_text_base_attribute56,
754       PAVTD.tl_text_base_attribute57,
755       PAVTD.tl_text_base_attribute58,
756       PAVTD.tl_text_base_attribute59,
757       PAVTD.tl_text_base_attribute60,
758       PAVTD.tl_text_base_attribute61,
759       PAVTD.tl_text_base_attribute62,
760       PAVTD.tl_text_base_attribute63,
761       PAVTD.tl_text_base_attribute64,
762       PAVTD.tl_text_base_attribute65,
763       PAVTD.tl_text_base_attribute66,
764       PAVTD.tl_text_base_attribute67,
765       PAVTD.tl_text_base_attribute68,
766       PAVTD.tl_text_base_attribute69,
767       PAVTD.tl_text_base_attribute70,
768       PAVTD.tl_text_base_attribute71,
769       PAVTD.tl_text_base_attribute72,
770       PAVTD.tl_text_base_attribute73,
771       PAVTD.tl_text_base_attribute74,
772       PAVTD.tl_text_base_attribute75,
773       PAVTD.tl_text_base_attribute76,
774       PAVTD.tl_text_base_attribute77,
775       PAVTD.tl_text_base_attribute78,
776       PAVTD.tl_text_base_attribute79,
777       PAVTD.tl_text_base_attribute80,
778       PAVTD.tl_text_base_attribute81,
779       PAVTD.tl_text_base_attribute82,
780       PAVTD.tl_text_base_attribute83,
781       PAVTD.tl_text_base_attribute84,
782       PAVTD.tl_text_base_attribute85,
783       PAVTD.tl_text_base_attribute86,
784       PAVTD.tl_text_base_attribute87,
785       PAVTD.tl_text_base_attribute88,
786       PAVTD.tl_text_base_attribute89,
787       PAVTD.tl_text_base_attribute90,
788       PAVTD.tl_text_base_attribute91,
789       PAVTD.tl_text_base_attribute92,
793       PAVTD.tl_text_base_attribute96,
790       PAVTD.tl_text_base_attribute93,
791       PAVTD.tl_text_base_attribute94,
792       PAVTD.tl_text_base_attribute95,
794       PAVTD.tl_text_base_attribute97,
795       PAVTD.tl_text_base_attribute98,
796       PAVTD.tl_text_base_attribute99,
797       PAVTD.tl_text_base_attribute100,
798       PAVTD.tl_text_cat_attribute1,
799       PAVTD.tl_text_cat_attribute2,
800       PAVTD.tl_text_cat_attribute3,
801       PAVTD.tl_text_cat_attribute4,
802       PAVTD.tl_text_cat_attribute5,
803       PAVTD.tl_text_cat_attribute6,
804       PAVTD.tl_text_cat_attribute7,
805       PAVTD.tl_text_cat_attribute8,
806       PAVTD.tl_text_cat_attribute9,
807       PAVTD.tl_text_cat_attribute10,
808       PAVTD.tl_text_cat_attribute11,
809       PAVTD.tl_text_cat_attribute12,
810       PAVTD.tl_text_cat_attribute13,
811       PAVTD.tl_text_cat_attribute14,
812       PAVTD.tl_text_cat_attribute15,
813       PAVTD.tl_text_cat_attribute16,
814       PAVTD.tl_text_cat_attribute17,
815       PAVTD.tl_text_cat_attribute18,
816       PAVTD.tl_text_cat_attribute19,
817       PAVTD.tl_text_cat_attribute20,
818       PAVTD.tl_text_cat_attribute21,
819       PAVTD.tl_text_cat_attribute22,
820       PAVTD.tl_text_cat_attribute23,
821       PAVTD.tl_text_cat_attribute24,
822       PAVTD.tl_text_cat_attribute25,
823       PAVTD.tl_text_cat_attribute26,
824       PAVTD.tl_text_cat_attribute27,
825       PAVTD.tl_text_cat_attribute28,
826       PAVTD.tl_text_cat_attribute29,
827       PAVTD.tl_text_cat_attribute30,
828       PAVTD.tl_text_cat_attribute31,
829       PAVTD.tl_text_cat_attribute32,
830       PAVTD.tl_text_cat_attribute33,
831       PAVTD.tl_text_cat_attribute34,
832       PAVTD.tl_text_cat_attribute35,
833       PAVTD.tl_text_cat_attribute36,
834       PAVTD.tl_text_cat_attribute37,
835       PAVTD.tl_text_cat_attribute38,
836       PAVTD.tl_text_cat_attribute39,
837       PAVTD.tl_text_cat_attribute40,
838       PAVTD.tl_text_cat_attribute41,
839       PAVTD.tl_text_cat_attribute42,
840       PAVTD.tl_text_cat_attribute43,
841       PAVTD.tl_text_cat_attribute44,
842       PAVTD.tl_text_cat_attribute45,
843       PAVTD.tl_text_cat_attribute46,
844       PAVTD.tl_text_cat_attribute47,
845       PAVTD.tl_text_cat_attribute48,
846       PAVTD.tl_text_cat_attribute49,
847       PAVTD.tl_text_cat_attribute50,
848       PAVTD.last_update_login,
849       PAVTD.last_updated_by,
850       PAVTD.last_update_date,
851       PAVTD.created_by,
852       PAVTD.creation_date,
853       PAVTD.request_id,
854       PAVTD.program_application_id,
855       PAVTD.program_id,
856       PAVTD.program_update_date
857     FROM po_attribute_values_tlp_draft PAVTD
858     WHERE PAVTD.draft_id = p_draft_id
859     AND NVL(PAVTD.change_accepted_flag, 'Y') = 'Y') PAVTDV
860   ON (PAVT.attribute_values_tlp_id = PAVTDV.attribute_values_tlp_id)
861   WHEN MATCHED THEN
862     UPDATE
863     SET
864       PAVT.po_line_id = PAVTDV.po_line_id,
865       PAVT.req_template_name = PAVTDV.req_template_name,
866       PAVT.req_template_line_num = PAVTDV.req_template_line_num,
867       PAVT.ip_category_id = PAVTDV.ip_category_id,
868       PAVT.inventory_item_id = PAVTDV.inventory_item_id,
869       PAVT.org_id = PAVTDV.org_id,
870       PAVT.language = PAVTDV.language,
871       PAVT.description = PAVTDV.description,
872       PAVT.manufacturer = PAVTDV.manufacturer,
873       PAVT.comments = PAVTDV.comments,
874       PAVT.alias = PAVTDV.alias,
875       PAVT.long_description = PAVTDV.long_description,
876       PAVT.tl_text_base_attribute1 = PAVTDV.tl_text_base_attribute1,
877       PAVT.tl_text_base_attribute2 = PAVTDV.tl_text_base_attribute2,
878       PAVT.tl_text_base_attribute3 = PAVTDV.tl_text_base_attribute3,
879       PAVT.tl_text_base_attribute4 = PAVTDV.tl_text_base_attribute4,
880       PAVT.tl_text_base_attribute5 = PAVTDV.tl_text_base_attribute5,
881       PAVT.tl_text_base_attribute6 = PAVTDV.tl_text_base_attribute6,
882       PAVT.tl_text_base_attribute7 = PAVTDV.tl_text_base_attribute7,
883       PAVT.tl_text_base_attribute8 = PAVTDV.tl_text_base_attribute8,
884       PAVT.tl_text_base_attribute9 = PAVTDV.tl_text_base_attribute9,
885       PAVT.tl_text_base_attribute10 = PAVTDV.tl_text_base_attribute10,
886       PAVT.tl_text_base_attribute11 = PAVTDV.tl_text_base_attribute11,
887       PAVT.tl_text_base_attribute12 = PAVTDV.tl_text_base_attribute12,
888       PAVT.tl_text_base_attribute13 = PAVTDV.tl_text_base_attribute13,
889       PAVT.tl_text_base_attribute14 = PAVTDV.tl_text_base_attribute14,
890       PAVT.tl_text_base_attribute15 = PAVTDV.tl_text_base_attribute15,
891       PAVT.tl_text_base_attribute16 = PAVTDV.tl_text_base_attribute16,
892       PAVT.tl_text_base_attribute17 = PAVTDV.tl_text_base_attribute17,
893       PAVT.tl_text_base_attribute18 = PAVTDV.tl_text_base_attribute18,
894       PAVT.tl_text_base_attribute19 = PAVTDV.tl_text_base_attribute19,
895       PAVT.tl_text_base_attribute20 = PAVTDV.tl_text_base_attribute20,
896       PAVT.tl_text_base_attribute21 = PAVTDV.tl_text_base_attribute21,
897       PAVT.tl_text_base_attribute22 = PAVTDV.tl_text_base_attribute22,
898       PAVT.tl_text_base_attribute23 = PAVTDV.tl_text_base_attribute23,
899       PAVT.tl_text_base_attribute24 = PAVTDV.tl_text_base_attribute24,
900       PAVT.tl_text_base_attribute25 = PAVTDV.tl_text_base_attribute25,
901       PAVT.tl_text_base_attribute26 = PAVTDV.tl_text_base_attribute26,
902       PAVT.tl_text_base_attribute27 = PAVTDV.tl_text_base_attribute27,
903       PAVT.tl_text_base_attribute28 = PAVTDV.tl_text_base_attribute28,
904       PAVT.tl_text_base_attribute29 = PAVTDV.tl_text_base_attribute29,
905       PAVT.tl_text_base_attribute30 = PAVTDV.tl_text_base_attribute30,
906       PAVT.tl_text_base_attribute31 = PAVTDV.tl_text_base_attribute31,
910       PAVT.tl_text_base_attribute35 = PAVTDV.tl_text_base_attribute35,
907       PAVT.tl_text_base_attribute32 = PAVTDV.tl_text_base_attribute32,
908       PAVT.tl_text_base_attribute33 = PAVTDV.tl_text_base_attribute33,
909       PAVT.tl_text_base_attribute34 = PAVTDV.tl_text_base_attribute34,
911       PAVT.tl_text_base_attribute36 = PAVTDV.tl_text_base_attribute36,
912       PAVT.tl_text_base_attribute37 = PAVTDV.tl_text_base_attribute37,
913       PAVT.tl_text_base_attribute38 = PAVTDV.tl_text_base_attribute38,
914       PAVT.tl_text_base_attribute39 = PAVTDV.tl_text_base_attribute39,
915       PAVT.tl_text_base_attribute40 = PAVTDV.tl_text_base_attribute40,
916       PAVT.tl_text_base_attribute41 = PAVTDV.tl_text_base_attribute41,
917       PAVT.tl_text_base_attribute42 = PAVTDV.tl_text_base_attribute42,
918       PAVT.tl_text_base_attribute43 = PAVTDV.tl_text_base_attribute43,
919       PAVT.tl_text_base_attribute44 = PAVTDV.tl_text_base_attribute44,
920       PAVT.tl_text_base_attribute45 = PAVTDV.tl_text_base_attribute45,
921       PAVT.tl_text_base_attribute46 = PAVTDV.tl_text_base_attribute46,
922       PAVT.tl_text_base_attribute47 = PAVTDV.tl_text_base_attribute47,
923       PAVT.tl_text_base_attribute48 = PAVTDV.tl_text_base_attribute48,
924       PAVT.tl_text_base_attribute49 = PAVTDV.tl_text_base_attribute49,
925       PAVT.tl_text_base_attribute50 = PAVTDV.tl_text_base_attribute50,
926       PAVT.tl_text_base_attribute51 = PAVTDV.tl_text_base_attribute51,
927       PAVT.tl_text_base_attribute52 = PAVTDV.tl_text_base_attribute52,
928       PAVT.tl_text_base_attribute53 = PAVTDV.tl_text_base_attribute53,
929       PAVT.tl_text_base_attribute54 = PAVTDV.tl_text_base_attribute54,
930       PAVT.tl_text_base_attribute55 = PAVTDV.tl_text_base_attribute55,
931       PAVT.tl_text_base_attribute56 = PAVTDV.tl_text_base_attribute56,
932       PAVT.tl_text_base_attribute57 = PAVTDV.tl_text_base_attribute57,
933       PAVT.tl_text_base_attribute58 = PAVTDV.tl_text_base_attribute58,
934       PAVT.tl_text_base_attribute59 = PAVTDV.tl_text_base_attribute59,
935       PAVT.tl_text_base_attribute60 = PAVTDV.tl_text_base_attribute60,
936       PAVT.tl_text_base_attribute61 = PAVTDV.tl_text_base_attribute61,
937       PAVT.tl_text_base_attribute62 = PAVTDV.tl_text_base_attribute62,
938       PAVT.tl_text_base_attribute63 = PAVTDV.tl_text_base_attribute63,
939       PAVT.tl_text_base_attribute64 = PAVTDV.tl_text_base_attribute64,
940       PAVT.tl_text_base_attribute65 = PAVTDV.tl_text_base_attribute65,
941       PAVT.tl_text_base_attribute66 = PAVTDV.tl_text_base_attribute66,
942       PAVT.tl_text_base_attribute67 = PAVTDV.tl_text_base_attribute67,
943       PAVT.tl_text_base_attribute68 = PAVTDV.tl_text_base_attribute68,
944       PAVT.tl_text_base_attribute69 = PAVTDV.tl_text_base_attribute69,
945       PAVT.tl_text_base_attribute70 = PAVTDV.tl_text_base_attribute70,
946       PAVT.tl_text_base_attribute71 = PAVTDV.tl_text_base_attribute71,
947       PAVT.tl_text_base_attribute72 = PAVTDV.tl_text_base_attribute72,
948       PAVT.tl_text_base_attribute73 = PAVTDV.tl_text_base_attribute73,
949       PAVT.tl_text_base_attribute74 = PAVTDV.tl_text_base_attribute74,
950       PAVT.tl_text_base_attribute75 = PAVTDV.tl_text_base_attribute75,
951       PAVT.tl_text_base_attribute76 = PAVTDV.tl_text_base_attribute76,
952       PAVT.tl_text_base_attribute77 = PAVTDV.tl_text_base_attribute77,
953       PAVT.tl_text_base_attribute78 = PAVTDV.tl_text_base_attribute78,
954       PAVT.tl_text_base_attribute79 = PAVTDV.tl_text_base_attribute79,
955       PAVT.tl_text_base_attribute80 = PAVTDV.tl_text_base_attribute80,
956       PAVT.tl_text_base_attribute81 = PAVTDV.tl_text_base_attribute81,
957       PAVT.tl_text_base_attribute82 = PAVTDV.tl_text_base_attribute82,
958       PAVT.tl_text_base_attribute83 = PAVTDV.tl_text_base_attribute83,
959       PAVT.tl_text_base_attribute84 = PAVTDV.tl_text_base_attribute84,
960       PAVT.tl_text_base_attribute85 = PAVTDV.tl_text_base_attribute85,
961       PAVT.tl_text_base_attribute86 = PAVTDV.tl_text_base_attribute86,
962       PAVT.tl_text_base_attribute87 = PAVTDV.tl_text_base_attribute87,
963       PAVT.tl_text_base_attribute88 = PAVTDV.tl_text_base_attribute88,
964       PAVT.tl_text_base_attribute89 = PAVTDV.tl_text_base_attribute89,
965       PAVT.tl_text_base_attribute90 = PAVTDV.tl_text_base_attribute90,
966       PAVT.tl_text_base_attribute91 = PAVTDV.tl_text_base_attribute91,
967       PAVT.tl_text_base_attribute92 = PAVTDV.tl_text_base_attribute92,
968       PAVT.tl_text_base_attribute93 = PAVTDV.tl_text_base_attribute93,
969       PAVT.tl_text_base_attribute94 = PAVTDV.tl_text_base_attribute94,
970       PAVT.tl_text_base_attribute95 = PAVTDV.tl_text_base_attribute95,
971       PAVT.tl_text_base_attribute96 = PAVTDV.tl_text_base_attribute96,
972       PAVT.tl_text_base_attribute97 = PAVTDV.tl_text_base_attribute97,
973       PAVT.tl_text_base_attribute98 = PAVTDV.tl_text_base_attribute98,
974       PAVT.tl_text_base_attribute99 = PAVTDV.tl_text_base_attribute99,
975       PAVT.tl_text_base_attribute100 = PAVTDV.tl_text_base_attribute100,
976       PAVT.tl_text_cat_attribute1 = PAVTDV.tl_text_cat_attribute1,
977       PAVT.tl_text_cat_attribute2 = PAVTDV.tl_text_cat_attribute2,
978       PAVT.tl_text_cat_attribute3 = PAVTDV.tl_text_cat_attribute3,
979       PAVT.tl_text_cat_attribute4 = PAVTDV.tl_text_cat_attribute4,
980       PAVT.tl_text_cat_attribute5 = PAVTDV.tl_text_cat_attribute5,
981       PAVT.tl_text_cat_attribute6 = PAVTDV.tl_text_cat_attribute6,
982       PAVT.tl_text_cat_attribute7 = PAVTDV.tl_text_cat_attribute7,
983       PAVT.tl_text_cat_attribute8 = PAVTDV.tl_text_cat_attribute8,
984       PAVT.tl_text_cat_attribute9 = PAVTDV.tl_text_cat_attribute9,
985       PAVT.tl_text_cat_attribute10 = PAVTDV.tl_text_cat_attribute10,
986       PAVT.tl_text_cat_attribute11 = PAVTDV.tl_text_cat_attribute11,
987       PAVT.tl_text_cat_attribute12 = PAVTDV.tl_text_cat_attribute12,
988       PAVT.tl_text_cat_attribute13 = PAVTDV.tl_text_cat_attribute13,
989       PAVT.tl_text_cat_attribute14 = PAVTDV.tl_text_cat_attribute14,
990       PAVT.tl_text_cat_attribute15 = PAVTDV.tl_text_cat_attribute15,
994       PAVT.tl_text_cat_attribute19 = PAVTDV.tl_text_cat_attribute19,
991       PAVT.tl_text_cat_attribute16 = PAVTDV.tl_text_cat_attribute16,
992       PAVT.tl_text_cat_attribute17 = PAVTDV.tl_text_cat_attribute17,
993       PAVT.tl_text_cat_attribute18 = PAVTDV.tl_text_cat_attribute18,
995       PAVT.tl_text_cat_attribute20 = PAVTDV.tl_text_cat_attribute20,
996       PAVT.tl_text_cat_attribute21 = PAVTDV.tl_text_cat_attribute21,
997       PAVT.tl_text_cat_attribute22 = PAVTDV.tl_text_cat_attribute22,
998       PAVT.tl_text_cat_attribute23 = PAVTDV.tl_text_cat_attribute23,
999       PAVT.tl_text_cat_attribute24 = PAVTDV.tl_text_cat_attribute24,
1000       PAVT.tl_text_cat_attribute25 = PAVTDV.tl_text_cat_attribute25,
1001       PAVT.tl_text_cat_attribute26 = PAVTDV.tl_text_cat_attribute26,
1002       PAVT.tl_text_cat_attribute27 = PAVTDV.tl_text_cat_attribute27,
1003       PAVT.tl_text_cat_attribute28 = PAVTDV.tl_text_cat_attribute28,
1004       PAVT.tl_text_cat_attribute29 = PAVTDV.tl_text_cat_attribute29,
1005       PAVT.tl_text_cat_attribute30 = PAVTDV.tl_text_cat_attribute30,
1006       PAVT.tl_text_cat_attribute31 = PAVTDV.tl_text_cat_attribute31,
1007       PAVT.tl_text_cat_attribute32 = PAVTDV.tl_text_cat_attribute32,
1008       PAVT.tl_text_cat_attribute33 = PAVTDV.tl_text_cat_attribute33,
1009       PAVT.tl_text_cat_attribute34 = PAVTDV.tl_text_cat_attribute34,
1010       PAVT.tl_text_cat_attribute35 = PAVTDV.tl_text_cat_attribute35,
1011       PAVT.tl_text_cat_attribute36 = PAVTDV.tl_text_cat_attribute36,
1012       PAVT.tl_text_cat_attribute37 = PAVTDV.tl_text_cat_attribute37,
1013       PAVT.tl_text_cat_attribute38 = PAVTDV.tl_text_cat_attribute38,
1014       PAVT.tl_text_cat_attribute39 = PAVTDV.tl_text_cat_attribute39,
1015       PAVT.tl_text_cat_attribute40 = PAVTDV.tl_text_cat_attribute40,
1016       PAVT.tl_text_cat_attribute41 = PAVTDV.tl_text_cat_attribute41,
1017       PAVT.tl_text_cat_attribute42 = PAVTDV.tl_text_cat_attribute42,
1018       PAVT.tl_text_cat_attribute43 = PAVTDV.tl_text_cat_attribute43,
1019       PAVT.tl_text_cat_attribute44 = PAVTDV.tl_text_cat_attribute44,
1020       PAVT.tl_text_cat_attribute45 = PAVTDV.tl_text_cat_attribute45,
1021       PAVT.tl_text_cat_attribute46 = PAVTDV.tl_text_cat_attribute46,
1022       PAVT.tl_text_cat_attribute47 = PAVTDV.tl_text_cat_attribute47,
1023       PAVT.tl_text_cat_attribute48 = PAVTDV.tl_text_cat_attribute48,
1024       PAVT.tl_text_cat_attribute49 = PAVTDV.tl_text_cat_attribute49,
1025       PAVT.tl_text_cat_attribute50 = PAVTDV.tl_text_cat_attribute50,
1026       PAVT.last_update_login = PAVTDV.last_update_login,
1027       PAVT.last_updated_by = PAVTDV.last_updated_by,
1028       PAVT.last_update_date = PAVTDV.last_update_date,
1029       PAVT.request_id = PAVTDV.request_id,
1030       PAVT.program_application_id = PAVTDV.program_application_id,
1031       PAVT.program_id = PAVTDV.program_id,
1032       PAVT.program_update_date = PAVTDV.program_update_date,
1033       PAVT.rebuild_search_index_flag = 'Y'  -- rebuild_index
1034   --  DELETE WHERE PAVTDV.delete_flag = 'Y'
1035   WHEN NOT MATCHED THEN
1036     INSERT
1037     (
1038       PAVT.attribute_values_tlp_id,
1039       PAVT.po_line_id,
1040       PAVT.req_template_name,
1041       PAVT.req_template_line_num,
1042       PAVT.ip_category_id,
1043       PAVT.inventory_item_id,
1044       PAVT.org_id,
1045       PAVT.language,
1046       PAVT.description,
1047       PAVT.manufacturer,
1048       PAVT.comments,
1049       PAVT.alias,
1050       PAVT.long_description,
1051       PAVT.tl_text_base_attribute1,
1052       PAVT.tl_text_base_attribute2,
1053       PAVT.tl_text_base_attribute3,
1054       PAVT.tl_text_base_attribute4,
1055       PAVT.tl_text_base_attribute5,
1056       PAVT.tl_text_base_attribute6,
1057       PAVT.tl_text_base_attribute7,
1058       PAVT.tl_text_base_attribute8,
1059       PAVT.tl_text_base_attribute9,
1060       PAVT.tl_text_base_attribute10,
1061       PAVT.tl_text_base_attribute11,
1062       PAVT.tl_text_base_attribute12,
1063       PAVT.tl_text_base_attribute13,
1064       PAVT.tl_text_base_attribute14,
1065       PAVT.tl_text_base_attribute15,
1066       PAVT.tl_text_base_attribute16,
1067       PAVT.tl_text_base_attribute17,
1068       PAVT.tl_text_base_attribute18,
1069       PAVT.tl_text_base_attribute19,
1070       PAVT.tl_text_base_attribute20,
1071       PAVT.tl_text_base_attribute21,
1072       PAVT.tl_text_base_attribute22,
1073       PAVT.tl_text_base_attribute23,
1074       PAVT.tl_text_base_attribute24,
1075       PAVT.tl_text_base_attribute25,
1076       PAVT.tl_text_base_attribute26,
1077       PAVT.tl_text_base_attribute27,
1078       PAVT.tl_text_base_attribute28,
1079       PAVT.tl_text_base_attribute29,
1080       PAVT.tl_text_base_attribute30,
1081       PAVT.tl_text_base_attribute31,
1082       PAVT.tl_text_base_attribute32,
1083       PAVT.tl_text_base_attribute33,
1084       PAVT.tl_text_base_attribute34,
1085       PAVT.tl_text_base_attribute35,
1086       PAVT.tl_text_base_attribute36,
1087       PAVT.tl_text_base_attribute37,
1088       PAVT.tl_text_base_attribute38,
1089       PAVT.tl_text_base_attribute39,
1090       PAVT.tl_text_base_attribute40,
1091       PAVT.tl_text_base_attribute41,
1092       PAVT.tl_text_base_attribute42,
1093       PAVT.tl_text_base_attribute43,
1094       PAVT.tl_text_base_attribute44,
1095       PAVT.tl_text_base_attribute45,
1096       PAVT.tl_text_base_attribute46,
1097       PAVT.tl_text_base_attribute47,
1098       PAVT.tl_text_base_attribute48,
1099       PAVT.tl_text_base_attribute49,
1100       PAVT.tl_text_base_attribute50,
1101       PAVT.tl_text_base_attribute51,
1102       PAVT.tl_text_base_attribute52,
1103       PAVT.tl_text_base_attribute53,
1104       PAVT.tl_text_base_attribute54,
1105       PAVT.tl_text_base_attribute55,
1106       PAVT.tl_text_base_attribute56,
1107       PAVT.tl_text_base_attribute57,
1111       PAVT.tl_text_base_attribute61,
1108       PAVT.tl_text_base_attribute58,
1109       PAVT.tl_text_base_attribute59,
1110       PAVT.tl_text_base_attribute60,
1112       PAVT.tl_text_base_attribute62,
1113       PAVT.tl_text_base_attribute63,
1114       PAVT.tl_text_base_attribute64,
1115       PAVT.tl_text_base_attribute65,
1116       PAVT.tl_text_base_attribute66,
1117       PAVT.tl_text_base_attribute67,
1118       PAVT.tl_text_base_attribute68,
1119       PAVT.tl_text_base_attribute69,
1120       PAVT.tl_text_base_attribute70,
1121       PAVT.tl_text_base_attribute71,
1122       PAVT.tl_text_base_attribute72,
1123       PAVT.tl_text_base_attribute73,
1124       PAVT.tl_text_base_attribute74,
1125       PAVT.tl_text_base_attribute75,
1126       PAVT.tl_text_base_attribute76,
1127       PAVT.tl_text_base_attribute77,
1128       PAVT.tl_text_base_attribute78,
1129       PAVT.tl_text_base_attribute79,
1130       PAVT.tl_text_base_attribute80,
1131       PAVT.tl_text_base_attribute81,
1132       PAVT.tl_text_base_attribute82,
1133       PAVT.tl_text_base_attribute83,
1134       PAVT.tl_text_base_attribute84,
1135       PAVT.tl_text_base_attribute85,
1136       PAVT.tl_text_base_attribute86,
1137       PAVT.tl_text_base_attribute87,
1138       PAVT.tl_text_base_attribute88,
1139       PAVT.tl_text_base_attribute89,
1140       PAVT.tl_text_base_attribute90,
1141       PAVT.tl_text_base_attribute91,
1142       PAVT.tl_text_base_attribute92,
1143       PAVT.tl_text_base_attribute93,
1144       PAVT.tl_text_base_attribute94,
1145       PAVT.tl_text_base_attribute95,
1146       PAVT.tl_text_base_attribute96,
1147       PAVT.tl_text_base_attribute97,
1148       PAVT.tl_text_base_attribute98,
1149       PAVT.tl_text_base_attribute99,
1150       PAVT.tl_text_base_attribute100,
1151       PAVT.tl_text_cat_attribute1,
1152       PAVT.tl_text_cat_attribute2,
1153       PAVT.tl_text_cat_attribute3,
1154       PAVT.tl_text_cat_attribute4,
1155       PAVT.tl_text_cat_attribute5,
1156       PAVT.tl_text_cat_attribute6,
1157       PAVT.tl_text_cat_attribute7,
1158       PAVT.tl_text_cat_attribute8,
1159       PAVT.tl_text_cat_attribute9,
1160       PAVT.tl_text_cat_attribute10,
1161       PAVT.tl_text_cat_attribute11,
1162       PAVT.tl_text_cat_attribute12,
1163       PAVT.tl_text_cat_attribute13,
1164       PAVT.tl_text_cat_attribute14,
1165       PAVT.tl_text_cat_attribute15,
1166       PAVT.tl_text_cat_attribute16,
1167       PAVT.tl_text_cat_attribute17,
1168       PAVT.tl_text_cat_attribute18,
1169       PAVT.tl_text_cat_attribute19,
1170       PAVT.tl_text_cat_attribute20,
1171       PAVT.tl_text_cat_attribute21,
1172       PAVT.tl_text_cat_attribute22,
1173       PAVT.tl_text_cat_attribute23,
1174       PAVT.tl_text_cat_attribute24,
1175       PAVT.tl_text_cat_attribute25,
1176       PAVT.tl_text_cat_attribute26,
1177       PAVT.tl_text_cat_attribute27,
1178       PAVT.tl_text_cat_attribute28,
1179       PAVT.tl_text_cat_attribute29,
1180       PAVT.tl_text_cat_attribute30,
1181       PAVT.tl_text_cat_attribute31,
1182       PAVT.tl_text_cat_attribute32,
1183       PAVT.tl_text_cat_attribute33,
1184       PAVT.tl_text_cat_attribute34,
1185       PAVT.tl_text_cat_attribute35,
1186       PAVT.tl_text_cat_attribute36,
1187       PAVT.tl_text_cat_attribute37,
1188       PAVT.tl_text_cat_attribute38,
1189       PAVT.tl_text_cat_attribute39,
1190       PAVT.tl_text_cat_attribute40,
1191       PAVT.tl_text_cat_attribute41,
1192       PAVT.tl_text_cat_attribute42,
1193       PAVT.tl_text_cat_attribute43,
1194       PAVT.tl_text_cat_attribute44,
1195       PAVT.tl_text_cat_attribute45,
1196       PAVT.tl_text_cat_attribute46,
1197       PAVT.tl_text_cat_attribute47,
1198       PAVT.tl_text_cat_attribute48,
1199       PAVT.tl_text_cat_attribute49,
1200       PAVT.tl_text_cat_attribute50,
1201       PAVT.last_update_login,
1202       PAVT.last_updated_by,
1203       PAVT.last_update_date,
1204       PAVT.created_by,
1205       PAVT.creation_date,
1206       PAVT.request_id,
1207       PAVT.program_application_id,
1208       PAVT.program_id,
1209       PAVT.program_update_date,
1210       PAVT.rebuild_search_index_flag
1211     )
1212     VALUES
1213     (
1214       PAVTDV.attribute_values_tlp_id,
1215       PAVTDV.po_line_id,
1216       PAVTDV.req_template_name,
1217       PAVTDV.req_template_line_num,
1218       PAVTDV.ip_category_id,
1219       PAVTDV.inventory_item_id,
1220       PAVTDV.org_id,
1221       PAVTDV.language,
1222       PAVTDV.description,
1223       PAVTDV.manufacturer,
1224       PAVTDV.comments,
1225       PAVTDV.alias,
1226       PAVTDV.long_description,
1227       PAVTDV.tl_text_base_attribute1,
1228       PAVTDV.tl_text_base_attribute2,
1229       PAVTDV.tl_text_base_attribute3,
1230       PAVTDV.tl_text_base_attribute4,
1231       PAVTDV.tl_text_base_attribute5,
1232       PAVTDV.tl_text_base_attribute6,
1233       PAVTDV.tl_text_base_attribute7,
1234       PAVTDV.tl_text_base_attribute8,
1235       PAVTDV.tl_text_base_attribute9,
1236       PAVTDV.tl_text_base_attribute10,
1237       PAVTDV.tl_text_base_attribute11,
1238       PAVTDV.tl_text_base_attribute12,
1239       PAVTDV.tl_text_base_attribute13,
1240       PAVTDV.tl_text_base_attribute14,
1241       PAVTDV.tl_text_base_attribute15,
1242       PAVTDV.tl_text_base_attribute16,
1243       PAVTDV.tl_text_base_attribute17,
1244       PAVTDV.tl_text_base_attribute18,
1245       PAVTDV.tl_text_base_attribute19,
1246       PAVTDV.tl_text_base_attribute20,
1247       PAVTDV.tl_text_base_attribute21,
1248       PAVTDV.tl_text_base_attribute22,
1249       PAVTDV.tl_text_base_attribute23,
1250       PAVTDV.tl_text_base_attribute24,
1254       PAVTDV.tl_text_base_attribute28,
1251       PAVTDV.tl_text_base_attribute25,
1252       PAVTDV.tl_text_base_attribute26,
1253       PAVTDV.tl_text_base_attribute27,
1255       PAVTDV.tl_text_base_attribute29,
1256       PAVTDV.tl_text_base_attribute30,
1257       PAVTDV.tl_text_base_attribute31,
1258       PAVTDV.tl_text_base_attribute32,
1259       PAVTDV.tl_text_base_attribute33,
1260       PAVTDV.tl_text_base_attribute34,
1261       PAVTDV.tl_text_base_attribute35,
1262       PAVTDV.tl_text_base_attribute36,
1263       PAVTDV.tl_text_base_attribute37,
1264       PAVTDV.tl_text_base_attribute38,
1265       PAVTDV.tl_text_base_attribute39,
1266       PAVTDV.tl_text_base_attribute40,
1267       PAVTDV.tl_text_base_attribute41,
1268       PAVTDV.tl_text_base_attribute42,
1269       PAVTDV.tl_text_base_attribute43,
1270       PAVTDV.tl_text_base_attribute44,
1271       PAVTDV.tl_text_base_attribute45,
1272       PAVTDV.tl_text_base_attribute46,
1273       PAVTDV.tl_text_base_attribute47,
1274       PAVTDV.tl_text_base_attribute48,
1275       PAVTDV.tl_text_base_attribute49,
1276       PAVTDV.tl_text_base_attribute50,
1277       PAVTDV.tl_text_base_attribute51,
1278       PAVTDV.tl_text_base_attribute52,
1279       PAVTDV.tl_text_base_attribute53,
1280       PAVTDV.tl_text_base_attribute54,
1281       PAVTDV.tl_text_base_attribute55,
1282       PAVTDV.tl_text_base_attribute56,
1283       PAVTDV.tl_text_base_attribute57,
1284       PAVTDV.tl_text_base_attribute58,
1285       PAVTDV.tl_text_base_attribute59,
1286       PAVTDV.tl_text_base_attribute60,
1287       PAVTDV.tl_text_base_attribute61,
1288       PAVTDV.tl_text_base_attribute62,
1289       PAVTDV.tl_text_base_attribute63,
1290       PAVTDV.tl_text_base_attribute64,
1291       PAVTDV.tl_text_base_attribute65,
1292       PAVTDV.tl_text_base_attribute66,
1293       PAVTDV.tl_text_base_attribute67,
1294       PAVTDV.tl_text_base_attribute68,
1295       PAVTDV.tl_text_base_attribute69,
1296       PAVTDV.tl_text_base_attribute70,
1297       PAVTDV.tl_text_base_attribute71,
1298       PAVTDV.tl_text_base_attribute72,
1299       PAVTDV.tl_text_base_attribute73,
1300       PAVTDV.tl_text_base_attribute74,
1301       PAVTDV.tl_text_base_attribute75,
1302       PAVTDV.tl_text_base_attribute76,
1303       PAVTDV.tl_text_base_attribute77,
1304       PAVTDV.tl_text_base_attribute78,
1305       PAVTDV.tl_text_base_attribute79,
1306       PAVTDV.tl_text_base_attribute80,
1307       PAVTDV.tl_text_base_attribute81,
1308       PAVTDV.tl_text_base_attribute82,
1309       PAVTDV.tl_text_base_attribute83,
1310       PAVTDV.tl_text_base_attribute84,
1311       PAVTDV.tl_text_base_attribute85,
1312       PAVTDV.tl_text_base_attribute86,
1313       PAVTDV.tl_text_base_attribute87,
1314       PAVTDV.tl_text_base_attribute88,
1315       PAVTDV.tl_text_base_attribute89,
1316       PAVTDV.tl_text_base_attribute90,
1317       PAVTDV.tl_text_base_attribute91,
1318       PAVTDV.tl_text_base_attribute92,
1319       PAVTDV.tl_text_base_attribute93,
1320       PAVTDV.tl_text_base_attribute94,
1321       PAVTDV.tl_text_base_attribute95,
1322       PAVTDV.tl_text_base_attribute96,
1323       PAVTDV.tl_text_base_attribute97,
1324       PAVTDV.tl_text_base_attribute98,
1325       PAVTDV.tl_text_base_attribute99,
1326       PAVTDV.tl_text_base_attribute100,
1327       PAVTDV.tl_text_cat_attribute1,
1328       PAVTDV.tl_text_cat_attribute2,
1329       PAVTDV.tl_text_cat_attribute3,
1330       PAVTDV.tl_text_cat_attribute4,
1331       PAVTDV.tl_text_cat_attribute5,
1332       PAVTDV.tl_text_cat_attribute6,
1333       PAVTDV.tl_text_cat_attribute7,
1334       PAVTDV.tl_text_cat_attribute8,
1335       PAVTDV.tl_text_cat_attribute9,
1336       PAVTDV.tl_text_cat_attribute10,
1337       PAVTDV.tl_text_cat_attribute11,
1338       PAVTDV.tl_text_cat_attribute12,
1339       PAVTDV.tl_text_cat_attribute13,
1340       PAVTDV.tl_text_cat_attribute14,
1341       PAVTDV.tl_text_cat_attribute15,
1342       PAVTDV.tl_text_cat_attribute16,
1343       PAVTDV.tl_text_cat_attribute17,
1344       PAVTDV.tl_text_cat_attribute18,
1345       PAVTDV.tl_text_cat_attribute19,
1346       PAVTDV.tl_text_cat_attribute20,
1347       PAVTDV.tl_text_cat_attribute21,
1348       PAVTDV.tl_text_cat_attribute22,
1349       PAVTDV.tl_text_cat_attribute23,
1350       PAVTDV.tl_text_cat_attribute24,
1351       PAVTDV.tl_text_cat_attribute25,
1352       PAVTDV.tl_text_cat_attribute26,
1353       PAVTDV.tl_text_cat_attribute27,
1354       PAVTDV.tl_text_cat_attribute28,
1355       PAVTDV.tl_text_cat_attribute29,
1356       PAVTDV.tl_text_cat_attribute30,
1357       PAVTDV.tl_text_cat_attribute31,
1358       PAVTDV.tl_text_cat_attribute32,
1359       PAVTDV.tl_text_cat_attribute33,
1360       PAVTDV.tl_text_cat_attribute34,
1361       PAVTDV.tl_text_cat_attribute35,
1362       PAVTDV.tl_text_cat_attribute36,
1363       PAVTDV.tl_text_cat_attribute37,
1364       PAVTDV.tl_text_cat_attribute38,
1365       PAVTDV.tl_text_cat_attribute39,
1366       PAVTDV.tl_text_cat_attribute40,
1367       PAVTDV.tl_text_cat_attribute41,
1368       PAVTDV.tl_text_cat_attribute42,
1369       PAVTDV.tl_text_cat_attribute43,
1370       PAVTDV.tl_text_cat_attribute44,
1371       PAVTDV.tl_text_cat_attribute45,
1372       PAVTDV.tl_text_cat_attribute46,
1373       PAVTDV.tl_text_cat_attribute47,
1374       PAVTDV.tl_text_cat_attribute48,
1375       PAVTDV.tl_text_cat_attribute49,
1376       PAVTDV.tl_text_cat_attribute50,
1377       PAVTDV.last_update_login,
1378       PAVTDV.last_updated_by,
1379       PAVTDV.last_update_date,
1380       PAVTDV.created_by,
1381       PAVTDV.creation_date,
1382       PAVTDV.request_id,
1383       PAVTDV.program_application_id,
1384       PAVTDV.program_id,
1385       PAVTDV.program_update_date,
1389   d_position := 10;
1386       'Y'   -- rebuild index
1387     ) WHERE NVL(PAVTDV.delete_flag, 'N') <> 'Y';
1388 
1390 EXCEPTION
1391   WHEN OTHERS THEN
1392     PO_MESSAGE_S.add_exc_msg
1393     ( p_pkg_name => d_pkg_name,
1394       p_procedure_name => d_api_name || '.' || d_position
1395     );
1396     RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1397 END merge_changes;
1398 
1399 -----------------------------------------------------------------------
1400 --Start of Comments
1401 --Name: lock_draft_record
1402 --Function:
1403 --  Obtain database lock for the record in draft table
1404 --Parameters:
1405 --IN:
1406 --p_attribute_values_tlp_id
1407 --  id for attribute values tlp record
1408 --p_draft_id
1409 --  draft unique identifier
1410 --RETURN:
1411 --End of Comments
1412 ------------------------------------------------------------------------
1413 PROCEDURE lock_draft_record
1414 ( p_attribute_values_tlp_id IN NUMBER,
1415   p_draft_id        IN NUMBER
1416 ) IS
1417 
1418 d_api_name CONSTANT VARCHAR2(30) := 'lock_draft_record';
1419 d_module CONSTANT VARCHAR2(2000) := d_pkg_name || d_api_name || '.';
1420 d_position NUMBER;
1421 
1422 l_dummy NUMBER;
1423 
1424 BEGIN
1425   d_position := 0;
1426   IF (PO_LOG.d_proc) THEN
1427     PO_LOG.proc_begin(d_module);
1428   END IF;
1429 
1430   SELECT 1
1431   INTO l_dummy
1432   FROM po_attribute_values_tlp_draft
1433   WHERE attribute_values_tlp_id = p_attribute_values_tlp_id
1434   AND draft_id = p_draft_id
1435   FOR UPDATE NOWAIT;
1436 
1437   IF (PO_LOG.d_proc) THEN
1438     PO_LOG.proc_end(d_module);
1439   END IF;
1440 
1441 EXCEPTION
1442 WHEN NO_DATA_FOUND THEN
1443   NULL;
1444 END lock_draft_record;
1445 
1446 -----------------------------------------------------------------------
1447 --Start of Comments
1448 --Name: lock_transaction_record
1449 --Function:
1450 --  Obtain database lock for the record in transaction table
1451 --Parameters:
1452 --IN:
1453 --p_attribute_values_tlp_id
1454 --  id for attribute values tlp record
1455 --RETURN:
1456 --End of Comments
1457 ------------------------------------------------------------------------
1458 PROCEDURE lock_transaction_record
1459 ( p_attribute_values_tlp_id IN NUMBER
1460 ) IS
1461 
1462 d_api_name CONSTANT VARCHAR2(30) := 'lock_transaction_record';
1463 d_module CONSTANT VARCHAR2(2000) := d_pkg_name || d_api_name || '.';
1464 d_position NUMBER;
1465 
1466 l_dummy NUMBER;
1467 
1468 BEGIN
1469   d_position := 0;
1470   IF (PO_LOG.d_proc) THEN
1471     PO_LOG.proc_begin(d_module);
1472   END IF;
1473 
1474   SELECT 1
1475   INTO l_dummy
1476   FROM po_attribute_values_tlp
1477   WHERE attribute_values_tlp_id = p_attribute_values_tlp_id
1478   FOR UPDATE NOWAIT;
1479 
1480   IF (PO_LOG.d_proc) THEN
1481     PO_LOG.proc_end(d_module);
1482   END IF;
1483 
1484 EXCEPTION
1485 WHEN NO_DATA_FOUND THEN
1486   NULL;
1487 END lock_transaction_record;
1488 
1489 END PO_ATTR_VALUES_TLP_DRAFT_PKG;