DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_PDOI_MOVE_TO_DRAFT_TABS_PVT

Source


1 PACKAGE BODY PO_PDOI_MOVE_TO_DRAFT_TABS_PVT AS
2 /* $Header: PO_PDOI_MOVE_TO_DRAFT_TABS_PVT.plb 120.35.12010000.2 2008/08/04 08:40:01 rramasam ship $ */
3 
4 d_pkg_name CONSTANT VARCHAR2(50) :=
5   PO_LOG.get_package_base('PO_PDOI_MOVE_TO_DRAFT_TABS_PVT');
6 
7 --------------------------------------------------------------------------
8 ---------------------- PRIVATE PROCEDURES PROTOTYPE ----------------------
9 --------------------------------------------------------------------------
10 PROCEDURE insert_po_headers_draft_all
11 (
12   p_headers IN PO_PDOI_TYPES.headers_rec_type
13 );
14 
15 PROCEDURE insert_po_ga_org_assign_draft
16 (
17   p_headers IN PO_PDOI_TYPES.headers_rec_type
18 );
19 
20 PROCEDURE insert_blk_dists_draft_all
21 (
22   p_headers IN PO_PDOI_TYPES.headers_rec_type
23 );
24 
25 PROCEDURE insert_po_lines_draft_all
26 (
27   p_lines   IN PO_PDOI_TYPES.lines_rec_type
28 );
29 
30 PROCEDURE insert_po_line_locs_draft_all
31 (
32   p_line_locs   IN PO_PDOI_TYPES.line_locs_rec_type
33 );
34 
35 PROCEDURE insert_po_dists_draft_all
36 (
37   p_dists   IN PO_PDOI_TYPES.distributions_rec_type
38 );
39 
40 PROCEDURE insert_po_price_diff_draft
41 (
42   p_price_diffs   IN PO_PDOI_TYPES.price_diffs_rec_type
43 );
44 
45 PROCEDURE merge_po_attr_values_draft
46 (
47   p_key                IN po_session_gt.key%TYPE,
48   p_attr_values        IN PO_PDOI_TYPES.attr_values_rec_type
49 );
50 
51 PROCEDURE merge_po_attr_values_tlp_draft
52 (
53   p_key                IN po_session_gt.key%TYPE,
54   p_attr_values_tlp    IN PO_PDOI_TYPES.attr_values_tlp_rec_type
55 );
56 
57 PROCEDURE reset_cat_attributes
58 (
59   p_index_tbl       IN DBMS_SQL.NUMBER_TABLE,
60   p_po_line_id_tbl  IN PO_TBL_NUMBER,
61   p_draft_id_tbl    IN PO_TBL_NUMBER
62 );
63 --------------------------------------------------------------------------
64 ---------------------- PUBLIC PROCEDURES ---------------------------------
65 --------------------------------------------------------------------------
66 
67 -----------------------------------------------------------------------
68 --Start of Comments
69 --Name: insert_headers
70 --Function:
71 --  transfer header related data to draft table
72 --Parameters:
73 --IN:
74 --p_headers
75 --  record which contains processed header attributes in a batch;
76 --  If there is no processing logic(derive, default, validate) on
77 --  an attribute, this attribute's value will be read from
78 --  interface table directly
79 --IN OUT:
80 --OUT:
81 --End of Comments
82 ------------------------------------------------------------------------
83 PROCEDURE insert_headers
84 (
85   p_headers     IN PO_PDOI_TYPES.headers_rec_type
86 ) IS
87 
88   d_api_name CONSTANT VARCHAR2(30) := 'insert_headers';
89   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
90   d_position NUMBER;
91 
92 BEGIN
93   d_position := 0;
94 
95   IF (PO_LOG.d_proc) THEN
96     PO_LOG.proc_begin(d_module);
97   END IF;
98 
99   PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_HEADER_INSERT);
100 
101   -- insert records into po_headers_draft_all table
102   insert_po_headers_draft_all
103   (
104     p_headers   =>   p_headers
105   );
106 
107   d_position := 10;
108 
109   -- insert records into po_ga_org_assign_draft table
110   insert_po_ga_org_assign_draft
111   (
112     p_headers   =>   p_headers
113   );
114 
115   d_position := 20;
116 
117   -- insert a row into po_distributions_draft_all for a blanket
118   -- if encumbrance is required
119   insert_blk_dists_draft_all
120   (
121     p_headers   =>   p_headers
122   );
123 
124   PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_HEADER_INSERT);
125 
126   IF (PO_LOG.d_proc) THEN
127     PO_LOG.proc_end (d_module);
128   END IF;
129 
130 EXCEPTION
131   WHEN OTHERS THEN
132     PO_MESSAGE_S.add_exc_msg
133     (
134       p_pkg_name => d_pkg_name,
135       p_procedure_name => d_api_name || '.' || d_position
136     );
137     RAISE;
138 END insert_headers;
139 
140 -----------------------------------------------------------------------
141 --Start of Comments
142 --Name: insert_lines
143 --Function:
144 --  insert new po lines into draft table
145 --Parameters:
146 --IN:
147 --p_lines
148 --  record which contains processed line attributes in a batch;
149 --  If there is no processing logic(derive, default, validate) on
150 --  an attribute, this attribute's value will be read from
151 --  interface table directly
152 --IN OUT:
153 --OUT:
154 --End of Comments
155 ------------------------------------------------------------------------
156 PROCEDURE insert_lines
157 (
158   x_lines       IN OUT NOCOPY PO_PDOI_TYPES.lines_rec_type
159 ) IS
160 
161   d_api_name CONSTANT VARCHAR2(30) := 'insert_lines';
162   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
163   d_position NUMBER;
164 
165 BEGIN
166   d_position := 0;
167 
168   IF (PO_LOG.d_proc) THEN
169     PO_LOG.proc_begin(d_module);
170   END IF;
171 
172   PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_INSERT);
173 
174   d_position := 10;
175 
176   -- set all lines to notified if:
177   -- 1. user role is CAT ADMIN and
178   -- 2. document type is LBPA/QTN and
179   -- 3. the line's current status is not notified
180   IF (PO_PDOI_PARAMS.g_request.role = PO_GLOBAL.g_role_CAT_ADMIN
181       AND
182       ((PO_PDOI_PARAMS.g_request.document_type =
183           PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET         -- blanket
184         AND
185           ( x_lines.rec_count > 0 AND
186             NVL(x_lines.hd_global_agreement_flag_tbl(1), 'N') = 'N'))  -- local
187         OR
188         PO_PDOI_PARAMS.g_request.document_type = PO_PDOI_CONSTANTS.g_DOC_TYPE_QUOTATION
189       )
190       AND
191       (PO_PDOI_PARAMS.g_request.process_code <>
192        PO_PDOI_CONSTANTS.g_PROCESS_CODE_NOTIFIED)
193      ) THEN
194     d_position := 20;
195 
196     IF (PO_LOG.d_stmt) THEN
197       PO_LOG.stmt(d_module, d_position, 'set lines to be notified');
198     END IF;
199 
200     -- update interface table with new status set to NOTIFIED
201     -- bug 6743283 added a condition to check the action, so that only for update
202     -- we made the line notified if call comes from catalog admin.
203     FOR i IN 1..x_lines.rec_count
204     LOOP
205       IF (x_lines.error_flag_tbl(i) = FND_API.g_FALSE AND
206           x_lines.need_to_reject_flag_tbl(i) = FND_API.g_FALSE AND
207           x_lines.action_tbl(i) = 'UPDATE') THEN
208         x_lines.process_code_tbl(i) := PO_PDOI_CONSTANTS.g_PROCESS_CODE_NOTIFIED;
209       END IF;
210     END LOOP;
211 
212     -- set status on header level for notified lines
213     PO_PDOI_PARAMS.g_docs_info(x_lines.intf_header_id_tbl(1)).has_lines_to_notify := FND_API.g_TRUE;
214   ELSE
215     d_position := 30;
216 
217     -- populate value of has_lines_updated in g_doc_info for each document
218     FOR i IN 1..x_lines.rec_count
219     LOOP
220       IF (x_lines.error_flag_tbl(i) = FND_API.g_FALSE AND
221           x_lines.need_to_reject_flag_tbl(i) = FND_API.g_FALSE) THEN
222         PO_PDOI_PARAMS.g_docs_info(x_lines.intf_header_id_tbl(i)).has_lines_updated := 'Y';
223       END IF;
224     END LOOP;
225 
226   END IF;
227 
228   -- bug5149827
229   -- Insert all lines to draft lines regardless of whether the lines are in
230   -- status 'NOTIFIED' or not... those lines will be removed from the draft
231   -- table during post processing.
232 
233   IF (PO_LOG.d_stmt) THEN
234     PO_LOG.stmt(d_module, d_position, 'insert lines into draft table');
235   END IF;
236 
237   -- insert lines into po_lines_draft_all
238   insert_po_lines_draft_all
239   (
240     p_lines    =>   x_lines
241   );
242 
243   PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_INSERT);
244 
245   IF (PO_LOG.d_proc) THEN
246     PO_LOG.proc_end (d_module);
247   END IF;
248 
249 EXCEPTION
250   WHEN OTHERS THEN
251     PO_MESSAGE_S.add_exc_msg
252     (
253       p_pkg_name => d_pkg_name,
254       p_procedure_name => d_api_name || '.' || d_position
255     );
256     RAISE;
257 END insert_lines;
258 
259 -----------------------------------------------------------------------
260 --Start of Comments
261 --Name: update_lines
262 --Function:
263 --  update existing po lines; the new attribute value will override the
264 --  existing value of the attribute in draft table
265 --  the list of updatable attributes includes:
266 --  description, unit_price, unit_of_measure, amount,
267 --  attribute14, expiration_date, po_category_id,
268 --  ip_category_id, nogotiated_by_preparer_flag
269 --Parameters:
270 --IN:
271 --IN OUT:
272 --x_lines
273 --  record which contains processed line attributes in a batch;
274 --  If there is no processing logic(derive, default, validate) on
275 --  an attribute, this attribute's value will be read from
276 --  interface table directly
277 --OUT:
278 --End of Comments
279 ------------------------------------------------------------------------
280 PROCEDURE update_lines
281 (
282   x_lines       IN OUT NOCOPY PO_PDOI_TYPES.lines_rec_type
283 ) IS
284 
285   d_api_name CONSTANT VARCHAR2(30) := 'update_lines';
286   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
287   d_position NUMBER;
288 
289   l_po_line_id                NUMBER;
290   l_count                     NUMBER := 0;
291   l_key                       po_session_gt.key%TYPE;
292   l_index                     NUMBER;
293 
294   l_uom_different             VARCHAR2(1);
295   l_exceed_tolerance          VARCHAR2(1);
296 
297   -- variable used to bulk update description in item master
298   l_update_item_queue         DBMS_SQL.NUMBER_TABLE;
299 
300   -- hashtable used in two places:
301   -- 1. remove duplicate po_line_ids in p_lines
302   -- 2. store position of each row indexed by po_line_id
303   l_line_ref_tbl              DBMS_SQL.NUMBER_TABLE;
304 
305   -- table to save distinct po_line_ids within the batch
306   l_po_line_id_tbl            PO_TBL_NUMBER := PO_TBL_NUMBER();
307   l_draft_id_tbl              PO_TBL_NUMBER := PO_TBL_NUMBER();
308   l_delete_flag_tbl           PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
309   l_record_already_exist_tbl  PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
310 
311   -- tables containing existing values for updatable attrs
312   l_unit_of_measure_tbl       PO_TBL_VARCHAR30;
313   l_unit_price_tbl            PO_TBL_NUMBER;
314   l_item_desc_tbl             PO_TBL_VARCHAR2000;
315   l_expiration_date_tbl       PO_TBL_DATE;
316   l_retroactive_date_tbl      PO_TBL_DATE;
317   l_price_break_lookup_code_tbl PO_TBL_VARCHAR30;
318   l_base_unit_price_tbl       PO_TBL_NUMBER;
319   l_attribute14_tbl           PO_TBL_VARCHAR2000;
320   l_amount_tbl                PO_TBL_NUMBER;
321   l_price_limit_tbl           PO_TBL_NUMBER;
322   l_negotiated_flag_tbl       PO_TBL_VARCHAR1;
323   l_category_id_tbl           PO_TBL_NUMBER;
324   l_ip_category_id_tbl        PO_TBL_NUMBER;
325   l_orig_intf_line_id_tbl     PO_TBL_NUMBER; -- bug5149827
326   -- need the item_id value in processing even thought
327   -- it is not updatable
328   l_item_id_tbl               PO_TBL_NUMBER;
329   -- values read from item table
330   l_allow_desc_update_tbl     PO_TBL_VARCHAR1;
331 
332   -- variables to hold result from temp table
333   l_index_tbl                 PO_TBL_NUMBER;
334 
335   -- ordered num list
336   l_num_tbl                   DBMS_SQL.NUMBER_TABLE;
337 
338   -- variables used in UOM processing
339   l_precision                 FND_CURRENCIES.precision%TYPE;
340   l_precision_tbl             PO_PDOI_TYPES.varchar_index_tbl_type;
341   l_uom_rate                  NUMBER;
342 
343   -- location lines that need to be updated
344   l_update_loc_queue          DBMS_SQL.NUMBER_TABLE;
345   l_change_loc_id_tbl         PO_TBL_NUMBER;
346 
347   -- lines for which uom warning needs to be given
348   l_uom_warning_queue         DBMS_SQL.NUMBER_TABLE;
349   l_price_limit_queue         DBMS_SQL.NUMBER_TABLE;
350 
351   -- index of the po line for which description is changed;
352   -- we may need to update po_attribute_values_tlp_draft table
353   l_update_desc_queue         DBMS_SQL.NUMBER_TABLE;
354   l_sync_attr_tlp_id_tbl      PO_TBL_NUMBER;
355 
356   -- lines for which we need to null out the cat based attribute values
357   l_ip_cat_id_updated_queue   DBMS_SQL.NUMBER_TABLE;
358 
359   -- variables to hold results from INV's API call
360   l_inventory_item_id           NUMBER;
361   l_organization_id             NUMBER;
362   l_return_status               VARCHAR2(1);
363   l_msg_count                   VARCHAR2(10);
364   l_msg_data                    VARCHAR2(1000);
365   l_message_list                Error_Handler.Error_Tbl_Type;
366 BEGIN
367   d_position := 0;
368 
369   IF (PO_LOG.d_proc) THEN
370     PO_LOG.proc_begin(d_module);
371   END IF;
372 
373   PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_UPDATE);
374 
375   -- get ids of po lines that are going to be updated;
376   -- the id list will only contain distinct values
377   FOR i IN 1..x_lines.rec_count
378   LOOP
379     l_po_line_id := x_lines.po_line_id_tbl(i);
380 
381     IF (x_lines.error_flag_tbl(i) = FND_API.g_FALSE AND
382         x_lines.need_to_reject_flag_tbl(i) = FND_API.g_FALSE) THEN
383       IF (l_line_ref_tbl.EXISTS(l_po_line_id) = FALSE) THEN
384         l_count := l_count + 1;
385         l_po_line_id_tbl.EXTEND;
386         l_draft_id_tbl.EXTEND;
387         l_delete_flag_tbl.EXTEND;
388         l_po_line_id_tbl(l_count) := l_po_line_id;
389         l_draft_id_tbl(l_count) := x_lines.draft_id_tbl(i);
390         l_delete_flag_tbl(l_count) := 'N';
391         l_line_ref_tbl(l_po_line_id) := i;
392       END IF;
393 
394       -- mark lines that are going to be processed
395       l_num_tbl(i) := i;
396     END IF;
397   END LOOP;
398 
399   IF (PO_LOG.d_stmt) THEN
400     PO_LOG.stmt(d_module, d_position, 'count of to-be-processed lines',
401               l_num_tbl.COUNT);
402   END IF;
403 
404   IF (l_num_tbl.COUNT = 0) THEN
405     PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_UPDATE);
406 
407     IF (PO_LOG.d_proc) THEN
408       PO_LOG.proc_end (d_module);
409     END IF;
410 
411     RETURN;
412   END IF;
413 
414   IF (PO_LOG.d_stmt) THEN
415     PO_LOG.stmt(d_module, d_position, 'po line ids', l_po_line_id_tbl);
416     PO_LOG.stmt(d_module, d_position, 'draft ids', l_draft_id_tbl);
417   END IF;
418 
419   d_position := 10;
420 
421   -- read from txn table to draft table; if there is already a draft change
422   -- in the draft table, the line won't be read
423   PO_LINES_DRAFT_PKG.sync_draft_from_txn
424   (
425     p_po_line_id_tbl           => l_po_line_id_tbl,
426     p_draft_id_tbl             => l_draft_id_tbl,
427     p_delete_flag_tbl          => l_delete_flag_tbl,
428     x_record_already_exist_tbl => l_record_already_exist_tbl
429   );
430 
431   d_position := 20;
432 
433   -- get existing values for all updatable attributes
434   l_key := PO_CORE_S.get_session_gt_nextval;
435   FORALL i IN 1..l_po_line_id_tbl.COUNT
436     INSERT INTO po_session_gt
437     (
438       key,
439       num1,  -- po_line_id
440       char1, -- unit_of_measure
441       num2,  -- unit_price
442       char2, -- item_description
443       date1, -- expiration_date
444       date2, -- retroactive_date
445       char3, -- price_break_lookup_code
446       num3,  -- base_unit_price,
447       char4, -- attribute14
448       num4,  -- amount
449       num5,  -- not_to_exceed_price
450       char5, -- negotiated_flag
451       num6,  -- category_id
452       num7,  -- ip_category_id
453       num8,  -- original_interface_line_id
454       char6  -- allow_item_desc_update_flag
455     )
456     SELECT
457       l_key,
458       draft_lines.po_line_id,
459       draft_lines.unit_meas_lookup_code,
460       draft_lines.unit_price,
461       draft_lines.item_description,
462       TRUNC(draft_lines.expiration_date),
463       draft_lines.retroactive_date,
464       draft_lines.price_break_lookup_code,
465       draft_lines.base_unit_price,
466       draft_lines.attribute14,
467       draft_lines.amount,
468       draft_lines.not_to_exceed_price,
469       draft_lines.negotiated_by_preparer_flag,
470     draft_lines.category_id,
471     draft_lines.ip_category_id,
472       draft_lines.original_interface_line_id, -- bug5149827
473     items.allow_item_desc_update_flag
474     FROM   po_lines_draft_all draft_lines,
475            mtl_system_items items
476     WHERE  draft_lines.po_line_id = l_po_line_id_tbl(i)
477     AND    draft_lines.draft_id   = l_draft_id_tbl(i)
478     AND    draft_lines.item_id = items.inventory_item_id(+)
479     AND    items.organization_id(+) = PO_PDOI_PARAMS.g_sys.def_inv_org_id;
480 
481   d_position := 30;
482 
483   DELETE FROM po_session_gt
484   WHERE  key = l_key
485   RETURNING num1, char1, num2, char2, date1, date2, char3,
486             num3, char4, num4, num5, char5, num6, num7, num8, char6
487   BULK COLLECT INTO
488     l_po_line_id_tbl,
489     l_unit_of_measure_tbl,
490     l_unit_price_tbl,
491     l_item_desc_tbl,
492     l_expiration_date_tbl,
493     l_retroactive_date_tbl,
494     l_price_break_lookup_code_tbl,
495     l_base_unit_price_tbl,
496     l_attribute14_tbl,
497     l_amount_tbl,
498     l_price_limit_tbl,
499     l_negotiated_flag_tbl,
500     l_category_id_tbl,
501     l_ip_category_id_tbl,
502     l_orig_intf_line_id_tbl, -- bug5149827
503     l_allow_desc_update_tbl;
504 
505   IF (PO_LOG.d_stmt) THEN
506     PO_LOG.stmt(d_module, d_position, 'orig po line ids', l_po_line_id_tbl);
507     PO_LOG.stmt(d_module, d_position, 'orig uom', l_unit_of_measure_tbl);
508     PO_LOG.stmt(d_module, d_position, 'orig unit price', l_unit_price_tbl);
509     PO_LOG.stmt(d_module, d_position, 'orig item desc', l_item_desc_tbl);
510     PO_LOG.stmt(d_module, d_position, 'orig expiration date',
511                 l_expiration_date_tbl);
512     PO_LOG.stmt(d_module, d_position, 'orig retroactive date',
513                 l_retroactive_date_tbl);
514     PO_LOG.stmt(d_module, d_position, 'orig price break lookup code',
515                 l_price_break_lookup_code_tbl);
516     PO_LOG.stmt(d_module, d_position, 'orig base unit price',
517                 l_base_unit_price_tbl);
518     PO_LOG.stmt(d_module, d_position, 'orig attribute_14', l_attribute14_tbl);
519     PO_LOG.stmt(d_module, d_position, 'orig amount', l_amount_tbl);
520     PO_LOG.stmt(d_module, d_position, 'orig price limit', l_price_limit_tbl);
521     PO_LOG.stmt(d_module, d_position, 'orig negotiated flag', l_negotiated_flag_tbl);
522     PO_LOG.stmt(d_module, d_position, 'orig category_id', l_category_id_tbl);
523     PO_LOG.stmt(d_module, d_position, 'orig ip category id', l_ip_category_id_tbl);
524     PO_LOG.stmt(d_module, d_position, 'allow desc update', l_allow_desc_update_tbl);
525   END IF;
526 
527   -- set up hashtable to refer to existing values
528   l_line_ref_tbl.DELETE;
529   FOR i IN 1..l_po_line_id_tbl.COUNT
530   LOOP
531     l_line_ref_tbl(l_po_line_id_tbl(i)) := i;
532   END LOOP;
533 
534   d_position := 40;
535 
536   FOR i IN 1.. x_lines.rec_count
537   LOOP
538 
539     -- bug5107324
540     -- Only process lines that do not contain error or destined to get
541     -- rejected.
542     IF (x_lines.error_flag_tbl(i) = FND_API.g_FALSE AND
543         x_lines.need_to_reject_flag_tbl(i) = FND_API.g_FALSE) THEN
544 
545       IF (PO_LOG.d_stmt) THEN
546         PO_LOG.stmt(d_module, d_position, 'po_line_id', x_lines.po_line_id_tbl(i));
547         PO_LOG.stmt(d_module, d_position, 'reference',
548                   l_line_ref_tbl(x_lines.po_line_id_tbl(i)));
549         PO_LOG.stmt(d_module, d_position, 'orig category_id', x_lines.category_id_tbl(i));
550         PO_LOG.stmt(d_module, d_position, 'new category_id',
551                     l_category_id_tbl(l_line_ref_tbl(x_lines.po_line_id_tbl(i))));
552         PO_LOG.stmt(d_module, d_position, 'allow_desc_update_flag',
553                     l_allow_desc_update_tbl(l_line_ref_tbl(x_lines.po_line_id_tbl(i))));
554       END IF;
555 
556 
557       IF (x_lines.category_id_tbl(i) IS NULL) THEN
558         x_lines.category_id_tbl(i) :=
559         l_category_id_tbl(l_line_ref_tbl(x_lines.po_line_id_tbl(i)));
560       END IF;
561 
562 
563       -- bug5107324
564       -- The initialization of the table is now done in
565       -- PO_PDOI_LINE_PROCESS_PVT. We just need to assign the value here
566 
567       x_lines.allow_desc_update_flag_tbl(i) :=
568         l_allow_desc_update_tbl(l_line_ref_tbl(x_lines.po_line_id_tbl(i)));
569 
570     END IF;
571   END LOOP;
572 
573   -- get price update tolerance
574   PO_PDOI_PRICE_TOLERANCE_PVT.get_price_tolerance
575   (
576     p_index_tbl                  => l_num_tbl,
577     p_po_header_id_tbl           => x_lines.hd_po_header_id_tbl,
578     p_item_id_tbl                => x_lines.item_id_tbl,
579     p_category_id_tbl            => x_lines.category_id_tbl,
580     p_vendor_id_tbl              => x_lines.hd_vendor_id_tbl,
581     x_price_update_tolerance_tbl => x_lines.price_update_tolerance_tbl
582   );
583 
584   IF (PO_LOG.d_stmt) THEN
585     PO_LOG.stmt(d_module, d_position, 'price tolerance',
586                 x_lines.price_update_tolerance_tbl);
587   END IF;
588 
589   d_position := 50;
590 
591   -- loop through each line in x_lines and apply update on top of the
592   -- existing values
593   FOR i IN 1..x_lines.rec_count
594   LOOP
595     d_position := 60;
596 
597     IF (x_lines.error_flag_tbl(i) = FND_API.g_FALSE AND
598         x_lines.need_to_reject_flag_tbl(i) = FND_API.g_FALSE) THEN
599       IF (PO_LOG.d_stmt) THEN
600         PO_LOG.stmt(d_module, d_position, 'update line on index', i);
601       END IF;
602 
603       -- reset variables
604       l_uom_different := FND_API.g_FALSE;
605       l_exceed_tolerance := FND_API.g_FALSE;
606 
607       -- get index reference in existing value tables
608       l_index := l_line_ref_tbl(x_lines.po_line_id_tbl(i));
609 
610       IF (PO_LOG.d_stmt) THEN
611         PO_LOG.stmt(d_module, d_position, 'reference in original values',
612                     l_index);
613       END IF;
614 
615       d_position := 70;
616 
617       -- check whether uom has been changed
618       IF (x_lines.unit_of_measure_tbl(i) IS NOT NULL AND
619           x_lines.order_type_lookup_code_tbl(i) <> 'FIXED PRICE' AND
620           x_lines.unit_of_measure_tbl(i) <> l_unit_of_measure_tbl(l_index)) THEN
621         l_uom_different := FND_API.g_TRUE;
622 
623         IF (PO_LOG.d_stmt) THEN
624           PO_LOG.stmt(d_module, d_position, 'uom_different',
625                       l_uom_different);
626         END IF;
627 
628       END IF;
629 
630       d_position := 80;
631 
632       -- update description
633       IF (NVL(x_lines.allow_desc_update_flag_tbl(i), 'Y') = 'Y' AND
634           x_lines.item_desc_tbl(i) IS NOT NULL) THEN
635         IF (PO_LOG.d_stmt) THEN
636           PO_LOG.stmt(d_module, d_position, 'item id', x_lines.item_id_tbl(i));
637           PO_LOG.stmt(d_module, d_position, 'item desc', x_lines.item_desc_tbl(i));
638         END IF;
639 
640         -- update description in item master
641         IF (NVL(PO_PDOI_PARAMS.g_request.create_items, 'N') = 'Y' AND
642             x_lines.item_id_tbl(i) IS NOT NULL) THEN
643           l_update_item_queue(i) := i;
644         END IF;
645 
646         d_position := 90;
647 
648         -- update description in po_lines_all
649         IF (l_item_desc_tbl(l_index) <> x_lines.item_desc_tbl(i)) THEN
650           l_item_desc_tbl(l_index) := x_lines.item_desc_tbl(i);
651 
652           -- record down the index because we may need to change description
653           -- field in po_attribute_values_tlp_draft
654           l_update_desc_queue(i) := i;
655         END IF;
656       END IF;
657 
658       d_position := 100;
659 
660       IF (PO_LOG.d_stmt) THEN
661         PO_LOG.stmt(d_module, d_position, 'create_line_loc',
662                 x_lines.create_line_loc_tbl(i));
663         PO_LOG.stmt(d_module, d_position, 'unit_price',
664                 x_lines.unit_price_tbl(i));
665         PO_LOG.stmt(d_module, d_position, 'orig unit_price',
666                 l_unit_price_tbl(l_index));
667         PO_LOG.stmt(d_module, d_position, 'process_code in request',
668                 PO_PDOI_PARAMS.g_request.process_code);
669         PO_LOG.stmt(d_module, d_position, 'role in request',
670                 PO_PDOI_PARAMS.g_request.role);
671         PO_LOG.stmt(d_module, d_position, 'global agreement flag',
672                 x_lines.hd_global_agreement_flag_tbl(i));
673         PO_LOG.stmt(d_module, d_position, 'uom_different',
674                 l_uom_different);
675         PO_LOG.stmt(d_module, d_position, 'orig intf line id',
676                 l_orig_intf_line_id_tbl(l_index));
677       END IF;
678 
679       -- bug5149827
680       -- If original intf line id exists, automatically set exceed tolerance
681       -- to true so that it goes through price tolerance check
682       IF (PO_PDOI_PARAMS.g_request.process_code <>
683               PO_PDOI_CONSTANTS.g_PROCESS_CODE_NOTIFIED
684   	      AND
685           l_orig_intf_line_id_tbl(l_index) IS NOT NULL) THEN
686         IF (PO_LOG.d_stmt) THEN
687           PO_LOG.stmt(d_module, d_position, 'orig_intf_line_id exists');
688         END IF;
689 
690         l_exceed_tolerance := FND_API.G_TRUE;
691         x_lines.parent_interface_line_id_tbl(i) := l_orig_intf_line_id_tbl(l_index);
692 
693       -- check unit price
694       ELSIF (x_lines.create_line_loc_tbl(i) = FND_API.g_FALSE AND
695         x_lines.unit_price_tbl(i) IS NOT NULL AND
696         x_lines.unit_price_tbl(i) <> NVL(l_unit_price_tbl(l_index), -1)) THEN
697 
698         IF (x_lines.unit_price_tbl(i) <> PO_PDOI_CONSTANTS.g_NULLIFY_NUM) THEN
699           -- only check tolerance when previous status is not NOTIFIED
700           IF (PO_PDOI_PARAMS.g_request.process_code <>
701               PO_PDOI_CONSTANTS.g_PROCESS_CODE_NOTIFIED) THEN
702 
703             -- bug5149827
704             -- If original interface line id is there, then the line
705             -- automatically exceeds tolerance
706 
707             -- do not check the price tolerance when
708             -- 1. user role is CAT ADMIN/SUPPLIER and
709             -- 2. document type is GBPA
710 
711             IF (PO_PDOI_PARAMS.g_request.role = PO_GLOBAL.g_role_BUYER
712                 OR
713                 NOT
714                   (PO_PDOI_PARAMS.g_request.document_type =
715                      PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET
716                    AND
717                    NVL(x_lines.hd_global_agreement_flag_tbl(i), 'N') = 'Y')) THEN
718 
719               d_position := 110;
720               -- only perform tolerance checking when uom is not changed
721               IF (l_uom_different = FND_API.g_FALSE AND
722                   x_lines.unit_price_tbl(i) <> l_unit_price_tbl(l_index)) THEN
723                 -- check whether new price exceeds the tolerance
724                 l_exceed_tolerance :=
725                     PO_PDOI_PRICE_TOLERANCE_PVT.exceed_tolerance_check
726                             (
727                               p_price_tolerance => x_lines.price_update_tolerance_tbl(i),
728                               p_old_price       => l_unit_price_tbl(l_index),
729                               p_new_price       => x_lines.unit_price_tbl(i)
730                             );
731               END IF;  -- if uom_different = F and unit price different
732             END IF;  -- if buyer or not modifying ga
733           END IF; -- if process code <> 'NOTIFIED'
734         ELSE
735           x_lines.unit_price_tbl(i) := NULL;
736         END IF;  -- if unit price = NULLIFY_NUM
737 
738         IF (PO_LOG.d_stmt) THEN
739           PO_LOG.stmt(d_module, d_position, 'l_exceed_tolerance', l_exceed_tolerance);
740         END IF;
741 
742         d_position := 120;
743 
744         -- update unit_price, base_unit_price and retroactive_date
745         -- if price does not exceed tolerance
746         IF (l_exceed_tolerance = FND_API.g_FALSE) THEN
747           -- When we update an existing blanket with a new unit_price,
748           -- retroactive_date in po_lines must be updated with the timestamp.
749           -- This has to be done for non-cumulative blanket lines only.
750           IF (PO_PDOI_PARAMS.g_request.document_type = PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET AND
751               NVL(l_price_break_lookup_code_tbl(l_index), 'NON CUMULATIVE') = 'NON CUMULATIVE') THEN
752             l_retroactive_date_tbl(l_index) := sysdate;
753           END IF;
754 
755           -- set unit_price and base_unit_price
756           l_unit_price_tbl(l_index) := x_lines.unit_price_tbl(i);
757           IF (x_lines.base_unit_price_tbl(i) = PO_PDOI_CONSTANTS.g_NULLIFY_NUM) THEN
758             l_base_unit_price_tbl(l_index) := NULL;
759           ELSE
760             l_base_unit_price_tbl(l_index) :=
761               NVL(x_lines.base_unit_price_tbl(i), x_lines.unit_price_tbl(i));
762           END IF;
763 
764           d_position := 130;
765 
766           -- setup the queue to change price break when there is price change
767           -- the indexes saved in this queue must have distinct po_line_id
768           IF (NOT l_line_ref_tbl.EXISTS(x_lines.po_line_id_tbl(i))) THEN
769             l_update_loc_queue(i) := i;
770             l_line_ref_tbl(x_lines.po_line_id_tbl(i)) := i;
771           END IF;
772 
773         END IF; -- If Exceed tolerance = F
774       END IF;  -- if create_line_loc = false and unit price different
775 
776       d_position := 150;
777 
778       -- bug5149827
779       -- Move the handling of exceed tolerance = T to here
780       IF (l_exceed_tolerance = FND_API.g_TRUE) THEN
781 
782         IF (PO_LOG.d_stmt) THEN
783           PO_LOG.stmt(d_module, d_position, 'set line to be notified', i);
784           PO_LOG.stmt(d_module, d_position, 'notified intf header id',
785                 x_lines.intf_header_id_tbl(i));
786         END IF;
787 
788         -- set process_code to be 'NOTIFIED' for this line;
789         x_lines.process_code_tbl(i) := PO_PDOI_CONSTANTS.g_PROCESS_CODE_NOTIFIED;
790 
791         -- set status on header level for notified lines
792         PO_PDOI_PARAMS.g_docs_info(x_lines.intf_header_id_tbl(i)).has_lines_to_notify := FND_API.g_TRUE;
793 
794       END IF; -- l_exceed_tolerance = true
795 
796       -- check check expiration_date
797       -- do the following update only when price does not exceed tolerance
798       IF (l_exceed_tolerance = FND_API.g_FALSE) THEN
799         -- If the new value is '#DEL', we null out the expiration_date
800         IF (PO_PDOI_PARAMS.g_request.document_type =
801             PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET AND
802             x_lines.expiration_date_tbl(i) IS NOT NULL) THEN
803           IF (x_lines.expiration_date_tbl(i) =
804               PO_PDOI_CONSTANTS.g_NULLIFY_DATE) THEN
805             l_expiration_date_tbl(l_index) := NULL;
806           ELSE
807             l_expiration_date_tbl(l_index) := x_lines.expiration_date_tbl(i);
808           END IF;
809         END IF;
810       END IF;
811 
812       d_position := 160;
813 
814       -- check unit_of_measure
815       IF (x_lines.unit_of_measure_tbl(i) IS NOT NULL AND
816           x_lines.unit_of_measure_tbl(i) <> l_unit_of_measure_tbl(l_index)) THEN
817         BEGIN
818           -- if price is not specified in the request and customer update
819           -- the uom for the line, the existing price needs to be converted
820           -- to corresponding price in new uom
821           IF (x_lines.unit_price_tbl(i) IS NULL) THEN
822 
823             PO_UOM_S.po_uom_conversion(
824               from_unit     => l_unit_of_measure_tbl(l_index),
825               to_unit       => x_lines.unit_of_measure_tbl(i),
826               item_id       => NVL(x_lines.item_id_tbl(i),0),
827               uom_rate      => l_uom_rate
828             );
829 
830             d_position := 170;
831 
832             l_precision :=
833               PO_PDOI_MAINPROC_UTL_PVT.get_currency_precision
834               (
835                 p_currency_code     => x_lines.hd_currency_code_tbl(i),
836                 x_precision_tbl     => l_precision_tbl
837               );
838 
839             IF (PO_LOG.d_stmt) THEN
840               PO_LOG.stmt(d_module, d_position, 'l_precision', l_precision);
841             END IF;
842 
843             -- retroactive_date reset to sysdate since price is changed
844             IF (PO_PDOI_PARAMS.g_request.document_type = PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET AND
845                 NVL(l_price_break_lookup_code_tbl(l_index), 'NON CUMULATIVE') = 'NON CUMULATIVE') THEN
846               l_retroactive_date_tbl(l_index) := sysdate;
847             END IF;
848 
849             d_position := 180;
850 
851             l_unit_price_tbl(l_index) :=
852                round((l_unit_price_tbl(l_index)/l_uom_rate),l_precision);
853 
854             IF (PO_LOG.d_stmt) THEN
855               PO_LOG.stmt(d_module, d_position, 'new price', l_unit_price_tbl(l_index));
856             END IF;
857 
858             IF (x_lines.base_unit_price_tbl(i) = PO_PDOI_CONSTANTS.g_NULLIFY_NUM) THEN
859               l_base_unit_price_tbl(l_index) := NULL;
860             ELSE
861               l_base_unit_price_tbl(l_index) :=
862                 NVL(x_lines.base_unit_price_tbl(i), l_unit_price_tbl(l_index));
863             END IF;
864           END IF;
865 
866           d_position := 190;
867 
868           -- save new uom
869           l_unit_of_measure_tbl(l_index) := x_lines.unit_of_measure_tbl(i);
870 
871           -- give warnings if price break exist or line price limit is set;
872           -- the actual action to check price break is delayed until
873           -- all lines in the table is processed
874           l_uom_warning_queue(i) := i;
875           l_price_limit_queue(i) := l_price_limit_tbl(l_index);
876         EXCEPTION
877           WHEN OTHERS THEN
878             PO_PDOI_ERR_UTL.add_fatal_error
879             (
880               p_interface_header_id  => x_lines.intf_header_id_tbl(i),
881               p_interface_line_id    => x_lines.intf_line_id_tbl(i),
882               p_error_message_name   => 'PO_PDOI_INVALID_UOM_CODE',
883               p_table_name           => 'PO_LINES_INTERFACE',
884               p_column_name          => 'UNIT_OF_MEASURE',
885               p_column_value         => x_lines.unit_of_measure_tbl(i),
886               p_token1_name          => 'VALUE',
887               p_token1_value         => x_lines.unit_of_measure_tbl(i)
888             );
889         END;
890       END IF;
891 
892       d_position := 200;
893 
894       -- check attribute14
895       IF (x_lines.attribute14_tbl(i) IS NOT NULL) THEN
896         IF (x_lines.attribute14_tbl(i) = PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR) THEN
897           l_attribute14_tbl(l_index) := NULL;
898         ELSE
899           l_attribute14_tbl(l_index) := x_lines.attribute14_tbl(i);
900         END IF;
901       END IF;
902 
903       d_position := 210;
904 
905       -- check amount
906       IF (x_lines.amount_tbl(i) IS NOT NULL) THEN
907         IF (x_lines.amount_tbl(i) = PO_PDOI_CONSTANTS.g_NULLIFY_NUM) THEN
908           l_amount_tbl(l_index) := NULL;
909         ELSE
910           IF (x_lines.amount_tbl(i) <> 0) THEN
911             l_amount_tbl(l_index) := x_lines.amount_tbl(i);
912           END IF;
913         END IF;
914       END IF;
915 
916       d_position := 220;
917 
918       -- check negotiated_by_preparer_flag
919       IF (x_lines.negotiated_flag_tbl(i) IS NOT NULL) THEN
920         IF (x_lines.negotiated_flag_tbl(i) = PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR) THEN
921           l_negotiated_flag_tbl(l_index) := NULL;
922         ELSE
923           l_negotiated_flag_tbl(l_index) := x_lines.negotiated_flag_tbl(i);
924         END IF;
925       END IF;
926 
927       d_position := 230;
928 
929       -- check po category_id
930       IF (x_lines.category_id_tbl(i) IS NOT NULL) THEN
931         IF (x_lines.category_id_tbl(i) = PO_PDOI_CONSTANTS.g_NULLIFY_NUM) THEN
932           l_category_id_tbl(l_index) := NULL;
933         ELSE
934           l_category_id_tbl(l_index) := x_lines.category_id_tbl(i);
935         END IF;
936       END IF;
937 
938       d_position := 240;
939 
940       -- check ip_category_id
941       IF (x_lines.ip_category_id_tbl(i) IS NOT NULL AND
942         x_lines.ip_category_id_tbl(i) <> l_ip_category_id_tbl(l_index)) THEN
943         IF (x_lines.ip_category_id_tbl(i) = PO_PDOI_CONSTANTS.g_NULLIFY_NUM) THEN
944           l_ip_category_id_tbl(l_index) := -2;
945         ELSE
946           l_ip_category_id_tbl(l_index) := x_lines.ip_category_id_tbl(i);
947         END IF;
948 
949         -- mark down the index of line for which ip_category_id is changed,
950         -- need to null out all category based attribute values on
951         -- attribute_values and attribute_values_tlp tables
952         l_ip_cat_id_updated_queue(i) := i;
953     END IF;
954 
955       d_position := 250;
956 
957       -- set has_lines_updated flag in g_docs_info
958       IF (l_exceed_tolerance = FND_API.g_FALSE) THEN
959         PO_PDOI_PARAMS.g_docs_info(x_lines.intf_header_id_tbl(i)).has_lines_updated := 'Y';
960 
961         IF (PO_LOG.d_stmt) THEN
962           PO_LOG.stmt(d_module, d_position, 'line updated for document',
963                       x_lines.intf_header_id_tbl(i));
964         END IF;
965       END IF;
966 
967     END IF; -- IF (x_lines.error_flag_tbl(i) = FND_API.g_FALSE)
968   END LOOP;
969 
970   d_position := 260;
971 
972   /*
973      After processing each line, we need to make following changes:
974      1. update item with new description; Item is updated before po line
975         since we want to fail the line if item update failed
976      2. update line draft table with all changes
977      3. update or delete price break depending on document type
978      4. give warning message for lines in l_uom_warning_queue
979      5. update description field in po_attribute_values_tlp table if necessary
980      6. null out all cat attribute values in attribute_values and tlp tables
981   */
982   -- 1. update item master with new description
983   l_index := l_update_item_queue.FIRST;
984   WHILE (l_index IS NOT NULL)
985   LOOP
986     EGO_ITEM_PUB.Process_Item
987   (
988       p_api_version                 => 1.0,
989       p_init_msg_list               => FND_API.g_TRUE,
990       p_commit                      => FND_API.g_TRUE,
991       p_Transaction_Type            => 'UPDATE',
992       p_Inventory_Item_Id           => x_lines.item_id_tbl(l_index),
993       p_Organization_Id             => PO_PDOI_PARAMS.g_sys.def_inv_org_id,
994       p_description                 => NVL(x_lines.item_desc_tbl(l_index), EGO_ITEM_PUB.G_MISS_CHAR),
995       p_Item_Number                 => x_lines.item_tbl(l_index),
996       x_Inventory_Item_Id           => l_inventory_item_id,
997       x_Organization_Id             => l_organization_id,
998       x_return_status               => l_return_status,
999       x_msg_count                   => l_msg_count,
1000       x_msg_data                    => l_msg_data
1001   );
1002 
1003     d_position := 270;
1004 
1005     IF (PO_LOG.d_stmt) THEN
1006       PO_LOG.stmt(d_module, d_position, 'return status for item update',
1007                 l_return_status);
1008     END IF;
1009 
1010     IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1011     -- error handling
1012     Error_Handler.GET_MESSAGE_LIST
1013     (
1014       x_message_list  => l_message_list
1015     );
1016 
1017     IF (PO_LOG.d_stmt) THEN
1018         PO_LOG.stmt(d_module, d_position, 'count of error message',
1019                     l_message_list.COUNT);
1020       END IF;
1021 
1022       FOR i IN 1..l_message_list.COUNT
1023     LOOP
1024       IF (PO_LOG.d_stmt) THEN
1025           PO_LOG.stmt(d_module, d_position, 'index', i);
1026           PO_LOG.stmt(d_module, d_position, 'intf header id',
1027                   x_lines.intf_header_id_tbl(l_index));
1028       PO_LOG.stmt(d_module, d_position, 'intf line id',
1029                   x_lines.intf_line_id_tbl(l_index));
1030           PO_LOG.stmt(d_module, d_position, 'message text',
1031                   l_message_list(i).message_text);
1032       PO_LOG.stmt(d_module, d_position, 'table name',
1033                   l_message_list(i).table_name);
1034         END IF;
1035 
1036         PO_PDOI_ERR_UTL.add_fatal_error
1037         (
1038           p_interface_header_id  => x_lines.intf_header_id_tbl(l_index),
1039           p_interface_line_id    => x_lines.intf_line_id_tbl(l_index),
1040           p_app_name             => 'INV',
1041           p_error_message_name   => l_message_list(i).message_text,
1042           p_table_name           => l_message_list(i).table_name,
1043           p_column_name          => NULL,
1044           p_column_value         => NULL
1045         );
1046       END LOOP;
1047 
1048       x_lines.error_flag_tbl(l_index) := FND_API.g_TRUE;
1049 
1050       PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_UPDATE);
1051 
1052       IF (PO_LOG.d_proc) THEN
1053         PO_LOG.proc_end (d_module);
1054       END IF;
1055 
1056       RETURN;
1057   END IF;
1058 
1059   l_index := l_update_item_queue.NEXT(l_index);
1060   END LOOP;
1061 /*
1062   FORALL i IN 1..l_update_item_id_tbl.COUNT
1063     UPDATE mtl_system_items
1064     SET    description = l_update_item_desc_tbl(i),
1065            last_update_date = sysdate,
1066            last_updated_by = FND_GLOBAL.user_id,
1067            last_update_login = FND_GLOBAL.login_id,
1068            request_id = FND_GLOBAL.conc_request_id,
1069            program_application_id = FND_GLOBAL.prog_appl_id,
1070            program_id = FND_GLOBAL.conc_program_id,
1071            program_update_date = sysdate
1072     WHERE  inventory_item_id = l_update_item_id_tbl(i)
1073     AND    organization_id = PO_PDOI_PARAMS.g_sys.master_inv_org_id;
1074 
1075   d_position := 280;
1076 
1077   FORALL i IN 1..l_update_item_id_tbl.COUNT
1078     UPDATE mtl_system_items_tl
1079     SET    description = l_update_item_desc_tbl(i)
1080     WHERE  inventory_item_id = l_update_item_id_tbl(i)
1081     AND    organization_id = PO_PDOI_PARAMS.g_sys.master_inv_org_id
1082     AND    language = USERENV('LANG');
1083  */
1084 
1085   d_position := 280;
1086 
1087   -- 2. update draft table with all the changes
1088   FORALL i IN 1..l_po_line_id_tbl.COUNT
1089     UPDATE po_lines_draft_all
1090     SET    unit_price = l_unit_price_tbl(i),
1091            unit_meas_lookup_code = l_unit_of_measure_tbl(i),
1092            item_description = l_item_desc_tbl(i),
1093            expiration_date = l_expiration_date_tbl(i),
1094            retroactive_date = l_retroactive_date_tbl(i),
1095            base_unit_price = l_base_unit_price_tbl(i),
1096            attribute14 = l_attribute14_tbl(i),
1097            amount = l_amount_tbl(i),
1098            negotiated_by_preparer_flag = l_negotiated_flag_tbl(i),
1099            category_id = l_category_id_tbl(i),
1100            ip_category_id = l_ip_category_id_tbl(i),
1101            last_update_date = sysdate,
1102            last_updated_by = FND_GLOBAL.user_id,
1103            last_update_login = FND_GLOBAL.login_id,
1104            request_id = FND_GLOBAL.conc_request_id,
1105            program_application_id = FND_GLOBAL.prog_appl_id,
1106            program_id = FND_GLOBAL.conc_program_id,
1107            program_update_date = sysdate
1108     WHERE  po_line_id = l_po_line_id_tbl(i)
1109     AND    draft_id = l_draft_id_tbl(i);
1110 
1111   d_position := 290;
1112 
1113   -- 3. update or delete price break depending on document type
1114   --    when price is changed
1115   FORALL i IN INDICES OF l_update_loc_queue
1116     INSERT INTO po_session_gt(key, num1, num2, char1)
1117     SELECT l_key,
1118            line_location_id,
1119            x_lines.draft_id_tbl(i),
1120            'Y'
1121     FROM   po_line_locations
1122     WHERE  po_line_id = x_lines.po_line_id_tbl(i);
1123 
1124   d_position := 300;
1125 
1126   DELETE FROM po_session_gt
1127   WHERE  key = l_key
1128   RETURNING num1, num2, char1 BULK COLLECT INTO
1129     l_change_loc_id_tbl, l_draft_id_tbl, l_delete_flag_tbl;
1130 
1131   IF (PO_PDOI_PARAMS.g_request.document_type =
1132       PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET) THEN
1133     -- read lines into draft, the actual update of price discount
1134     -- happens when we process the line locations
1135     FOR i IN 1..l_change_loc_id_tbl.COUNT
1136     LOOP
1137       l_delete_flag_tbl(i) := 'N';
1138     END LOOP;
1139     PO_LINE_LOCATIONS_DRAFT_PKG.sync_draft_from_txn
1140     (
1141       p_line_location_id_tbl     => l_change_loc_id_tbl,
1142       p_draft_id_tbl             => l_draft_id_tbl,
1143       p_delete_flag_tbl          => l_delete_flag_tbl,
1144       x_record_already_exist_tbl => l_record_already_exist_tbl
1145     );
1146   ELSE -- document_type = 'QUOTATION'
1147     -- delete price breaks for the line
1148     PO_LINE_LOCATIONS_DRAFT_PKG.sync_draft_from_txn
1149     (
1150       p_line_location_id_tbl     => l_change_loc_id_tbl,
1151       p_draft_id_tbl             => l_draft_id_tbl,
1152       p_delete_flag_tbl          => l_delete_flag_tbl,
1153       x_record_already_exist_tbl => l_record_already_exist_tbl
1154     );
1155   END IF;
1156 
1157   d_position := 310;
1158 
1159   -- 4. give warning message for lines in l_uom_warning_queue
1160   FORALL i IN INDICES OF l_uom_warning_queue
1161     INSERT INTO po_session_gt(key, num1)
1162     SELECT l_key,
1163            l_uom_warning_queue(i)
1164     FROM   DUAL
1165     WHERE  EXISTS (SELECT 1
1166                    FROM   po_line_locations
1167                    WHERE  po_line_id = x_lines.po_line_id_tbl(i)
1168                    AND    shipment_type = 'PRICE BREAK')
1169     OR     EXISTS (SELECT 1
1170                    FROM   po_line_locations_draft_all
1171                    WHERE  po_line_id =
1172                             x_lines.po_line_id_tbl(i)
1173                    AND    draft_id = x_lines.draft_id_tbl(i)
1174                    AND    shipment_type = 'PRICE BREAK')
1175     OR     l_price_limit_queue(i) IS NOT NULL;
1176 
1177   d_position := 320;
1178 
1179   DELETE FROM po_session_gt
1180   WHERE key = l_key
1181   RETURNING num1 BULK COLLECT INTO l_index_tbl;
1182 
1183   FOR i IN 1..l_index_tbl.COUNT
1184   LOOP
1185     l_index := l_index_tbl(i);
1186 
1187     IF (x_lines.unit_price_tbl(l_index) IS NULL) THEN
1188       PO_PDOI_ERR_UTL.add_warning
1189       (
1190         p_interface_header_id   => x_lines.intf_header_id_tbl(l_index),
1191         p_interface_line_id     => x_lines.intf_line_id_tbl(l_index),
1192         p_error_message_name    => 'PO_BLANKET_UPDATE_PRICE_BREAKS',
1193         p_table_name            => 'PO_LINES_INTERFACE',
1194         p_column_name           => 'UNIT_OF_MEASURE'
1195       );
1196     ELSE
1197       PO_PDOI_ERR_UTL.add_warning
1198       (
1199         p_interface_header_id   => x_lines.intf_header_id_tbl(l_index),
1200         p_interface_line_id     => x_lines.intf_line_id_tbl(l_index),
1201         p_error_message_name    => 'PO_BLANKET_UPDATE_PB_NO_CONV',
1202         p_table_name            => 'PO_LINES_INTERFACE',
1203         p_column_name           => 'UNIT_OF_MEASURE'
1204       );
1205     END IF;
1206   END LOOP;
1207 
1208   d_position := 330;
1209 
1210   -- 5. update description field in po_attribute_values_tlp table for current lang
1211   -- a. get rows that need to be synced from txn table to draft table;
1212   FORALL i IN INDICES OF l_update_desc_queue
1213     INSERT INTO po_session_gt
1214     (
1215       key,
1216       num1,
1217       num2,
1218       char1,
1219       char2
1220     )
1221     SELECT
1222       l_key,
1223       attribute_values_tlp_id,
1224       x_lines.draft_id_tbl(i),
1225     x_lines.item_desc_tbl(i),
1226       'N'
1227     FROM  po_attribute_values_tlp
1228     WHERE po_line_id = x_lines.po_line_id_tbl(i)
1229     AND   language = USERENV('LANG');
1230 
1231   d_position := 340;
1232 
1233   DELETE FROM po_session_gt
1234   WHERE key = l_key
1235   RETURNING num1, num2, char1, char2 BULK COLLECT INTO
1236     l_sync_attr_tlp_id_tbl, l_draft_id_tbl,
1237     l_item_desc_tbl, l_delete_flag_tbl;
1238 
1239   d_position := 350;
1240 
1241   -- sync from txn table to draft table
1242   PO_ATTR_VALUES_TLP_DRAFT_PKG.sync_draft_from_txn
1243   (
1244     p_attribute_values_tlp_id_tbl  => l_sync_attr_tlp_id_tbl,
1245     p_draft_id_tbl                 => l_draft_id_tbl,
1246     p_delete_flag_tbl              => l_delete_flag_tbl,
1247     x_record_already_exist_tbl     => l_record_already_exist_tbl
1248   );
1249 
1250   d_position := 360;
1251 
1252   -- c. update records in draft table
1253   FORALL i IN 1..l_sync_attr_tlp_id_tbl.COUNT
1254     UPDATE po_attribute_values_tlp_draft
1255     SET    description = l_item_desc_tbl(i)
1256     WHERE  attribute_values_tlp_id = l_sync_attr_tlp_id_tbl(i)
1257     AND    draft_id = l_draft_id_tbl(i);
1258 
1259   d_position := 370;
1260 
1261   -- 6. null out all cat attribute values in attribute_values and tlp tables
1262   reset_cat_attributes
1263   (
1264     p_index_tbl       => l_ip_cat_id_updated_queue,
1265     p_po_line_id_tbl  => x_lines.po_line_id_tbl,
1266     p_draft_id_tbl    => x_lines.draft_id_tbl
1267   );
1268 
1269   PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_UPDATE);
1270 
1271   IF (PO_LOG.d_proc) THEN
1272     PO_LOG.proc_end (d_module);
1273   END IF;
1274 
1275 EXCEPTION
1276   WHEN OTHERS THEN
1277     PO_MESSAGE_S.add_exc_msg
1278     (
1279       p_pkg_name => d_pkg_name,
1280       p_procedure_name => d_api_name || '.' || d_position
1281     );
1282     RAISE;
1283 END update_lines;
1284 
1285 -----------------------------------------------------------------------
1286 --Start of Comments
1287 --Name: insert_line_locs
1288 --Function:
1289 --  transfer new line location rows to draft table
1290 --Parameters:
1291 --IN:
1292 --p_line_locs
1293 --  record which contains processed line location attributes in a batch;
1294 --  If there is no processing logic(derive, default, validate) on
1295 --  an attribute, this attribute's value will be read from
1296 --  interface table directly
1297 --IN OUT:
1298 --OUT:
1299 --End of Comments
1300 ------------------------------------------------------------------------
1301 PROCEDURE insert_line_locs
1302 (
1303   p_line_locs   IN PO_PDOI_TYPES.line_locs_rec_type
1304 ) IS
1305 
1306   d_api_name CONSTANT VARCHAR2(30) := 'insert_line_locs';
1307   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
1308   d_position NUMBER;
1309 
1310   l_key                       po_session_gt.key%TYPE;
1311 
1312   l_change_loc_id_tbl         PO_TBL_NUMBER;
1313   l_draft_id_tbl              PO_TBL_NUMBER;
1314   l_delete_flag_tbl           PO_TBL_VARCHAR1;
1315   l_record_already_exist_tbl  PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
1316 BEGIN
1317   d_position := 0;
1318 
1319   IF (PO_LOG.d_proc) THEN
1320     PO_LOG.proc_begin(d_module);
1321   END IF;
1322 
1323   PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_LINE_LOC_INSERT);
1324 
1325 /*
1326   -- delete existing price breaks for Quotation if new price breaks are added
1327   IF (PO_PDOI_PARAMS.g_request.document_type =
1328       PO_PDOI_CONSTANTS.g_DOC_TYPE_QUOTATION) THEN
1329     d_position := 10;
1330 
1331     -- get existing line_location_ids
1332     l_key := PO_CORE_S.get_session_gt_nextval;
1333     FORALL i IN 1..p_line_locs.rec_count
1334     INSERT INTO po_session_gt(key, num1, num2, char1)
1335     SELECT DISTINCT l_key,
1336            line_location_id,
1337            p_line_locs.draft_id_tbl(i),
1338            'Y'
1339     FROM   po_line_locations
1340     WHERE  po_line_id = p_line_locs.ln_po_line_id_tbl(i)
1341     AND    p_line_locs.error_flag_tbl(i) = FND_API.g_FALSE;
1342 
1343     d_position := 20;
1344 
1345     DELETE FROM po_session_gt
1346     WHERE  key = l_key
1347     RETURNING num1, num2, char1 BULK COLLECT INTO
1348     l_change_loc_id_tbl, l_draft_id_tbl, l_delete_flag_tbl;
1349 
1350     d_position := 30;
1351 
1352     -- sync from txn to draft table with delete_flag set to 'Y'
1353     PO_LINE_LOCATIONS_DRAFT_PKG.sync_draft_from_txn
1354     (
1355       p_line_location_id_tbl     => l_change_loc_id_tbl,
1356       p_draft_id_tbl             => l_draft_id_tbl,
1357       p_delete_flag_tbl          => l_delete_flag_tbl,
1358       x_record_already_exist_tbl => l_record_already_exist_tbl
1359     );
1360   END IF;
1361 */
1362   d_position := 40;
1363 
1364   -- insert line location rows into po_line_locations_draft_all
1365   insert_po_line_locs_draft_all
1366   (
1367     p_line_locs    =>   p_line_locs
1368   );
1369 
1370   PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_LINE_LOC_INSERT);
1371 
1372   IF (PO_LOG.d_proc) THEN
1373     PO_LOG.proc_end (d_module);
1374   END IF;
1375 
1376 EXCEPTION
1377   WHEN OTHERS THEN
1378     PO_MESSAGE_S.add_exc_msg
1379     (
1380       p_pkg_name => d_pkg_name,
1381       p_procedure_name => d_api_name || '.' || d_position
1382     );
1383     RAISE;
1384 END insert_line_locs;
1385 
1386 -----------------------------------------------------------------------
1387 --Start of Comments
1388 --Name: insert_dists
1389 --Function:
1390 --  insert new distribution rows into draft table
1391 --Parameters:
1392 --IN:
1393 --p_dists
1394 --  record which contains processed distribution attributes in a batch;
1395 --  If there is no processing logic(derive, default, validate) on
1396 --  an attribute, this attribute's value will be read from
1397 --  interface table directly
1398 --IN OUT:
1399 --OUT:
1400 --End of Comments
1401 ------------------------------------------------------------------------
1402 PROCEDURE insert_dists
1403 (
1404   p_dists       IN PO_PDOI_TYPES.distributions_rec_type
1405 ) IS
1406 
1407   d_api_name CONSTANT VARCHAR2(30) := 'insert_dists';
1408   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
1409   d_position NUMBER;
1410 
1411 BEGIN
1412   d_position := 0;
1413 
1414   IF (PO_LOG.d_proc) THEN
1415     PO_LOG.proc_begin(d_module);
1416   END IF;
1417 
1418   PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_DIST_INSERT);
1419 
1420   -- insert distribution rows into po_distributions_draft_all
1421   insert_po_dists_draft_all
1422   (
1423     p_dists    =>   p_dists
1424   );
1425 
1426   PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_DIST_INSERT);
1427 
1428   IF (PO_LOG.d_proc) THEN
1429     PO_LOG.proc_end (d_module);
1430   END IF;
1431 
1432 EXCEPTION
1433   WHEN OTHERS THEN
1434     PO_MESSAGE_S.add_exc_msg
1435     (
1436       p_pkg_name => d_pkg_name,
1437       p_procedure_name => d_api_name || '.' || d_position
1438     );
1439     RAISE;
1440 END insert_dists;
1441 
1442 -----------------------------------------------------------------------
1443 --Start of Comments
1444 --Name: insert_price_diffs
1445 --Function:
1446 --  insert new price differential rows into draft table
1447 --Parameters:
1448 --IN:
1449 --p_price_diffs
1450 --  record which contains processed price diff attributes in a batch;
1451 --  If there is no processing logic(derive, default, validate) on
1452 --  an attribute, this attribute's value will be read from
1453 --  interface table directly
1454 --IN OUT:
1455 --OUT:
1456 --End of Comments
1457 ------------------------------------------------------------------------
1458 PROCEDURE insert_price_diffs
1459 (
1460   p_price_diffs IN PO_PDOI_TYPES.price_diffs_rec_type
1461 ) IS
1462 
1463   d_api_name CONSTANT VARCHAR2(30) := 'insert_price_diffs';
1464   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
1465   d_position NUMBER;
1466 
1467 BEGIN
1468   d_position := 0;
1469 
1470   IF (PO_LOG.d_proc) THEN
1471     PO_LOG.proc_begin(d_module);
1472   END IF;
1473 
1474   PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_PRICE_DIFF_INSERT);
1475 
1476   -- insert price differential rows into po_price_diff_draft
1477   insert_po_price_diff_draft
1478   (
1479     p_price_diffs    =>   p_price_diffs
1480   );
1481 
1482   PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_PRICE_DIFF_INSERT);
1483 
1484   IF (PO_LOG.d_proc) THEN
1485     PO_LOG.proc_end (d_module);
1486   END IF;
1487 
1488 EXCEPTION
1489   WHEN OTHERS THEN
1490     PO_MESSAGE_S.add_exc_msg
1491     (
1492       p_pkg_name => d_pkg_name,
1493       p_procedure_name => d_api_name || '.' || d_position
1494     );
1495     RAISE;
1496 END insert_price_diffs;
1497 
1498 -----------------------------------------------------------------------
1499 --Start of Comments
1500 --Name: merge_attr_values
1501 --Function:
1502 --  insert new or update existing attribute values
1503 --Parameters:
1504 --IN:
1505 --p_processing_row_tbl
1506 --  index of rows to be created or updated
1507 --p_sync_attr_id_tbl
1508 --  existing attribute values rows we need to read from txn table
1509 --  to draft table
1510 --p_sync_draft_id_tbl
1511 --  draft_id we need to populate for rows read from txn table to
1512 --  draft table
1513 --p_attr_values
1514 --  record which contains processed attributes in a batch;
1515 --  If there is no processing logic(derive, default, validate) on
1516 --  an attribute, this attribute's value will be read from
1517 --  interface table directly
1518 --IN OUT:
1519 --OUT:
1520 --End of Comments
1521 ------------------------------------------------------------------------
1522 PROCEDURE merge_attr_values
1523 (
1524   p_processing_row_tbl IN DBMS_SQL.NUMBER_TABLE,
1525   p_sync_attr_id_tbl   IN PO_TBL_NUMBER,
1526   p_sync_draft_id_tbl  IN PO_TBL_NUMBER,
1527   p_attr_values        IN PO_PDOI_TYPES.attr_values_rec_type
1528 ) IS
1529 
1530   d_api_name CONSTANT VARCHAR2(30) := 'merge_attr_values';
1531   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
1532   d_position NUMBER;
1533 
1534   l_key                      po_session_gt.key%TYPE;
1535 
1536   -- variables used to sync attr values rows from txn table
1537   -- to draft table
1538   l_delete_flag_tbl          PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
1539   l_record_already_exist_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
1540 BEGIN
1541   d_position := 0;
1542 
1543   IF (PO_LOG.d_proc) THEN
1544     PO_LOG.proc_begin(d_module, 'p_sync_attr_id_tbl', p_sync_attr_id_tbl);
1545     PO_LOG.proc_begin(d_module, 'p_sync_draft_id_tbl', p_sync_draft_id_tbl);
1546   END IF;
1547 
1548   PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_ATTR_VALUES_INSERT);
1549 
1550   -- sync rows from txn tables to draft tables for update
1551   l_delete_flag_tbl.EXTEND(p_sync_attr_id_tbl.COUNT);
1552   FOR i IN 1..p_sync_attr_id_tbl.COUNT
1553   LOOP
1554     l_delete_flag_tbl(i) := 'N';
1555   END LOOP;
1556 
1557   PO_ATTR_VALUES_DRAFT_PKG.sync_draft_from_txn
1558   (
1559     p_attribute_values_id_tbl   => p_sync_attr_id_tbl,
1560     p_draft_id_tbl              => p_sync_draft_id_tbl,
1561     p_delete_flag_tbl           => l_delete_flag_tbl,
1562     x_record_already_exist_tbl  => l_record_already_exist_tbl
1563   );
1564 
1565   d_position := 10;
1566 
1567   -- save id attr values into po_session_gt for MERGE query
1568   l_key := PO_CORE_S.get_session_gt_nextval;
1569   FORALL i IN INDICES OF p_processing_row_tbl
1570     INSERT INTO po_session_gt
1571     (
1572       key,
1573       num1,  -- interface_attr_values_id
1574       num2,  -- attribute_values_id
1575       num3,  -- draft_id
1576       num4,  -- po_line_id
1577       num5,  -- ip_category_id
1578       num6   -- item_id
1579     )
1580     SELECT
1581       l_key,
1582       p_attr_values.intf_attr_values_id_tbl(i),
1583       p_attr_values.attribute_values_id_tbl(i),
1584       p_attr_values.draft_id_tbl(i),
1585       p_attr_values.ln_po_line_id_tbl(i),
1586       p_attr_values.ln_ip_category_id_tbl(i),
1587       p_attr_values.ln_item_id_tbl(i)
1588     FROM   DUAL
1589     WHERE  p_attr_values.error_flag_tbl(i) = FND_API.g_FALSE;
1590 
1591   d_position := 20;
1592 
1593   -- merge values from interface tables to draft tables
1594   merge_po_attr_values_draft
1595   (
1596     p_key                => l_key,
1597     p_attr_values        => p_attr_values
1598   );
1599 
1600   PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_ATTR_VALUES_INSERT);
1601 
1602   IF (PO_LOG.d_proc) THEN
1603     PO_LOG.proc_end (d_module);
1604   END IF;
1605 
1606 EXCEPTION
1607   WHEN OTHERS THEN
1608     PO_MESSAGE_S.add_exc_msg
1609     (
1610       p_pkg_name => d_pkg_name,
1611       p_procedure_name => d_api_name || '.' || d_position
1612     );
1613     RAISE;
1614 END merge_attr_values;
1615 
1616 -----------------------------------------------------------------------
1617 --Start of Comments
1618 --Name: merge_attr_values_tlp
1619 --Function:
1620 --  insert or update attribute values tlp rows into draft table
1621 --Parameters:
1622 --IN:
1623 --p_processing_row_tbl
1624 --  index of attr values tlp rows to be processed
1625 --p_sync_attr_tlp_id_tbl
1626 --  existing attribute values rows we need to read from txn table
1627 --  to draft table
1628 --p_sync_draft_id_tbl
1629 --  draft_id we need to populate for rows read from txn table to
1630 --  draft table
1631 --p_attr_values_tlp
1632 --  record which contains processed attributes in a batch;
1633 --  If there is no processing logic(derive, default, validate) on
1634 --  an attribute, this attribute's value will be read from
1635 --  interface table directly
1636 --IN OUT:
1637 --OUT:
1638 --End of Comments
1639 ------------------------------------------------------------------------
1640 PROCEDURE merge_attr_values_tlp
1641 (
1642   p_processing_row_tbl   IN DBMS_SQL.NUMBER_TABLE,
1643   p_sync_attr_tlp_id_tbl IN PO_TBL_NUMBER,
1644   p_sync_draft_id_tbl    IN PO_TBL_NUMBER,
1645   p_attr_values_tlp      IN PO_PDOI_TYPES.attr_values_tlp_rec_type
1646 ) IS
1647 
1648   d_api_name CONSTANT VARCHAR2(30) := 'merge_attr_values_tlp';
1649   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
1650   d_position NUMBER;
1651 
1652   l_key                      po_session_gt.key%TYPE;
1653 
1654   -- variables used to sync attr values rows from txn table
1655   -- to draft table
1656   l_delete_flag_tbl          PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
1657   l_record_already_exist_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
1658 BEGIN
1659   d_position := 0;
1660 
1661   IF (PO_LOG.d_proc) THEN
1662     PO_LOG.proc_begin(d_module, 'p_sync_attr_tlp_id_tbl', p_sync_attr_tlp_id_tbl);
1663     PO_LOG.proc_begin(d_module, 'p_sync_draft_id_tbl', p_sync_draft_id_tbl);
1664   END IF;
1665 
1666   PO_TIMING_UTL.start_time(PO_PDOI_CONSTANTS.g_T_ATTR_VALUES_TLP_INSERT);
1667 
1668   -- sync rows from txn tables to draft tables for update
1669   l_delete_flag_tbl.EXTEND(p_sync_attr_tlp_id_tbl.COUNT);
1670   FOR i IN 1..p_sync_attr_tlp_id_tbl.COUNT
1671   LOOP
1672     l_delete_flag_tbl(i) := 'N';
1673   END LOOP;
1674 
1675   PO_ATTR_VALUES_TLP_DRAFT_PKG.sync_draft_from_txn
1676   (
1677     p_attribute_values_tlp_id_tbl   => p_sync_attr_tlp_id_tbl,
1678     p_draft_id_tbl                  => p_sync_draft_id_tbl,
1679     p_delete_flag_tbl               => l_delete_flag_tbl,
1680     x_record_already_exist_tbl      => l_record_already_exist_tbl
1681   );
1682 
1683   d_position := 10;
1684 
1685   -- save id attr values tlp into po_session_gt for MERGE query
1686   l_key := PO_CORE_S.get_session_gt_nextval;
1687   FORALL i IN INDICES OF p_processing_row_tbl
1688     INSERT INTO po_session_gt
1689     (
1690       key,
1691       num1,  -- interface_attr_values_tlp_id
1692       num2,  -- attribute_values_tlp_id
1693       num3,  -- draft_id
1694       num4,  -- po_line_id
1695       num5,  -- ip_category_id
1696       num6,  -- item_id
1697       char1  -- item_desc
1698     )
1699     SELECT
1700       l_key,
1701       p_attr_values_tlp.intf_attr_values_tlp_id_tbl(i),
1702       p_attr_values_tlp.attribute_values_tlp_id_tbl(i),
1703       p_attr_values_tlp.draft_id_tbl(i),
1704       p_attr_values_tlp.ln_po_line_id_tbl(i),
1705       p_attr_values_tlp.ln_ip_category_id_tbl(i),
1706       p_attr_values_tlp.ln_item_id_tbl(i),
1707       p_attr_values_tlp.ln_item_desc_tbl(i)
1708     FROM   DUAL
1709     WHERE  p_attr_values_tlp.error_flag_tbl(i) = FND_API.g_FALSE;
1710 
1711   d_position := 20;
1712 
1713   -- insert or update attribute values rows into po_attribute_values_draft
1714   merge_po_attr_values_tlp_draft
1715   (
1716     p_key                => l_key,
1717     p_attr_values_tlp    => p_attr_values_tlp
1718   );
1719 
1720   PO_TIMING_UTL.stop_time(PO_PDOI_CONSTANTS.g_T_ATTR_VALUES_TLP_INSERT);
1721 
1722   IF (PO_LOG.d_proc) THEN
1723     PO_LOG.proc_end (d_module);
1724   END IF;
1725 
1726 EXCEPTION
1727   WHEN OTHERS THEN
1728     PO_MESSAGE_S.add_exc_msg
1729     (
1730       p_pkg_name => d_pkg_name,
1731       p_procedure_name => d_api_name || '.' || d_position
1732     );
1733     RAISE;
1734 END merge_attr_values_tlp;
1735 
1736 -------------------------------------------------------------------------
1737 --------------------- PRIVATE PROCEDURES --------------------------------
1738 -------------------------------------------------------------------------
1739 
1740 -----------------------------------------------------------------------
1741 --Start of Comments
1742 --Name: insert_po_headers_draft_all
1743 --Function:
1744 --  insert new documents attribute values into po_headers_draft_all
1745 --Parameters:
1746 --IN:
1747 --p_headers
1748 --  record which contains processed line attributes in a batch;
1749 --  If there is no processing logic(derive, default, validate) on
1750 --  an attribute, this attribute's value will be read from
1751 --  interface table directly
1752 --IN OUT:
1753 --OUT:
1754 --End of Comments
1755 ------------------------------------------------------------------------
1756 PROCEDURE insert_po_headers_draft_all
1757 (
1758   p_headers IN PO_PDOI_TYPES.headers_rec_type
1759 )IS
1760 
1761   d_api_name CONSTANT VARCHAR2(30) := 'insert_po_headers_draft_all';
1762   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
1763   d_position NUMBER;
1764 
1765   l_valid_intf_header_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
1766   l_count NUMBER;
1767 BEGIN
1768   d_position := 0;
1769 
1770   IF (PO_LOG.d_proc) THEN
1771     PO_LOG.proc_begin(d_module);
1772   END IF;
1773 
1774   IF (PO_LOG.d_stmt) THEN
1775     FOR i IN 1..p_headers.rec_count
1776     LOOP
1777       IF (p_headers.error_flag_tbl(i) = FND_API.G_FALSE) THEN
1778         l_valid_intf_header_id_tbl.EXTEND(1);
1779         l_count := l_valid_intf_header_id_tbl.COUNT;
1780         l_valid_intf_header_id_tbl(l_count) :=
1781           p_headers.intf_header_id_tbl(i);
1782       END IF;
1783     END LOOP;
1784 
1785     PO_LOG.stmt(d_module, d_position, 'intf header to be inserted',
1786                 l_valid_intf_header_id_tbl);
1787   END IF;
1788 
1789   FORALL i IN 1..p_headers.rec_count
1790     INSERT INTO po_headers_draft_all
1791     (
1792       draft_id,
1793       org_id,
1794       delete_flag,
1795       change_accepted_flag,
1796       po_header_id,
1797       agent_id,
1798       type_lookup_code,
1799       last_update_date,
1800       last_updated_by,
1801       segment1,
1802       summary_flag,
1803       enabled_flag,
1804       segment2,
1805       segment3,
1806       segment4,
1807       segment5,
1808       start_date_active,
1809       end_date_active,
1810       last_update_login,
1811       creation_date,
1812       created_by,
1813       vendor_id,
1814       vendor_site_id,
1815       vendor_contact_id,
1816       ship_to_location_id,
1817       bill_to_location_id,
1818       terms_id,
1819       ship_via_lookup_code,
1820       fob_lookup_code,
1821       freight_terms_lookup_code,
1822       status_lookup_code,
1823       currency_code,
1824       rate_type,
1825       rate_date,
1826       rate,
1827       from_header_id,
1828       from_type_lookup_code,
1829       start_date,
1830       end_date,
1831       blanket_total_amount,
1832       authorization_status,
1833       revision_num,
1834       revised_date,
1835       approved_flag,
1836       approved_date,
1837       amount_limit,
1838       min_release_amount,
1839       note_to_authorizer,
1840       note_to_vendor,
1841       note_to_receiver,
1842       print_count,
1843       printed_date,
1844       vendor_order_num,
1845       confirming_order_flag,
1846       comments,
1847       reply_date,
1848       reply_method_lookup_code,
1849       rfq_close_date,
1850       quote_type_lookup_code,
1851       quotation_class_code,
1852       quote_warning_delay,
1853       quote_vendor_quote_number,
1854       acceptance_required_flag,
1855       acceptance_due_date,
1856       closed_date,
1857       user_hold_flag,
1858       approval_required_flag,
1859       cancel_flag,
1860       firm_status_lookup_code,
1861       firm_date,
1862       frozen_flag,
1863       attribute_category,
1864       attribute1,
1865       attribute2,
1866       attribute3,
1867       attribute4,
1868       attribute5,
1869       attribute6,
1870       attribute7,
1871       attribute8,
1872       attribute9,
1873       attribute10,
1874       attribute11,
1875       attribute12,
1876       attribute13,
1877       attribute14,
1878       attribute15,
1879       closed_code,
1880       government_context,
1881       request_id,
1882       program_application_id,
1883       program_id,
1884       program_update_date,
1885       interface_source_code,
1886       reference_num,
1887       pay_on_code,
1888       quote_warning_delay_unit,
1889       global_agreement_flag,
1890       shipping_control,
1891       encumbrance_required_flag,
1892       document_creation_method,
1893 
1894       -- new columns in R12
1895       style_id,
1896       created_language,
1897       tax_attribute_update_code
1898     )
1899     SELECT
1900       p_headers.draft_id_tbl(i),
1901       PO_PDOI_PARAMS.g_request.org_id,
1902       NULL, -- delete_flag
1903       NULL, -- change_accepted_flag
1904       p_headers.po_header_id_tbl(i),
1905       p_headers.agent_id_tbl(i),
1906       p_headers.doc_type_tbl(i),
1907       p_headers.last_update_date_tbl(i),
1908       p_headers.last_updated_by_tbl(i),
1909       p_headers.document_num_tbl(i),
1910       'N',  -- summary flag
1911       'Y',  -- enabled_flag,
1912       NULL, -- segment2,
1913       NULL, -- segment3,
1914       NULL, -- segment4,
1915       NULL, -- segment5,
1916       NULL, -- start_date_active,
1917       NULL, -- end_date_active,
1918       p_headers.last_update_login_tbl(i),
1919       p_headers.creation_date_tbl(i),
1920       p_headers.created_by_tbl(i),
1921       p_headers.vendor_id_tbl(i),
1922       p_headers.vendor_site_id_tbl(i),
1923       p_headers.vendor_contact_id_tbl(i),
1924       p_headers.ship_to_loc_id_tbl(i),
1925       p_headers.bill_to_loc_id_tbl(i),
1926       p_headers.terms_id_tbl(i),
1927       p_headers.freight_carrier_tbl(i),
1928       p_headers.fob_tbl(i),
1929       p_headers.freight_term_tbl(i),
1930       p_headers.status_lookup_code_tbl(i),
1931       p_headers.currency_code_tbl(i),
1932       p_headers.rate_type_code_tbl(i),
1933       TRUNC(p_headers.rate_date_tbl(i)),
1934       p_headers.rate_tbl(i),
1935       p_headers.from_header_id_tbl(i),
1936       p_headers.from_type_lookup_code_tbl(i),
1937       TRUNC(effective_date),
1938       TRUNC(expiration_date),
1939       amount_agreed,
1940       NULL, -- p_headers.authorization_status_tbl(i),
1941       p_headers.revision_num_tbl(i),
1942       revised_date,
1943       p_headers.approved_flag_tbl(i),
1944       p_headers.approved_date_tbl(i),
1945       p_headers.amount_limit_tbl(i), -- bug5352625
1946       p_headers.min_release_amount_tbl(i),
1947       NULL, -- note_to_authorizer,
1948       note_to_vendor,
1949       note_to_receiver,
1950       p_headers.print_count_tbl(i),
1951       printed_date,
1952       p_headers.vendor_order_num_tbl(i),
1953       p_headers.confirming_order_flag_tbl(i),
1954       comments,
1955       TRUNC(p_headers.reply_date_tbl(i)),
1956       reply_method,
1957       TRUNC(rfq_close_date),
1958       p_headers.doc_subtype_tbl(i),
1959       p_headers.quotation_class_code_tbl(i),
1960       p_headers.quote_warning_delay_tbl(i),
1961       p_headers.quote_vendor_quote_num_tbl(i),
1962       p_headers.acceptance_required_flag_tbl(i),
1963       TRUNC(p_headers.acceptance_due_date_tbl(i)),
1964       closed_date,
1965       NULL, -- user_hold_flag,
1966       p_headers.approval_required_flag_tbl(i),
1967       p_headers.cancel_flag_tbl(i),
1968       NULL, -- firm_status_lookup_code,
1969       NULL, -- firm_date,
1970       p_headers.frozen_flag_tbl(i),
1971       attribute_category,
1972       attribute1,
1973       attribute2,
1974       attribute3,
1975       attribute4,
1976       attribute5,
1977       attribute6,
1978       attribute7,
1979       attribute8,
1980       attribute9,
1981       attribute10,
1982       attribute11,
1983       attribute12,
1984       attribute13,
1985       attribute14,
1986       attribute15,
1987       p_headers.closed_code_tbl(i),
1988       NULL, -- government_context,
1989       p_headers.request_id_tbl(i),
1990       p_headers.program_application_id_tbl(i),
1991       p_headers.program_id_tbl(i),
1992       p_headers.program_update_date_tbl(i),
1993       interface_source_code,
1994       reference_num,
1995       p_headers.pay_on_code_tbl(i),
1996       NULL, -- quote_warning_delay_unit,
1997       p_headers.global_agreement_flag_tbl(i),
1998       p_headers.shipping_control_tbl(i),
1999       p_headers.encumbrance_required_flag_tbl(i),
2000       p_headers.doc_creation_method_tbl(i),
2001 
2002       -- new columns added in R12
2003       p_headers.style_id_tbl(i),
2004       p_headers.created_language_tbl(i),
2005       p_headers.tax_attribute_update_code_tbl(i)
2006     FROM   po_headers_interface
2007     WHERE  interface_header_id = p_headers.intf_header_id_tbl(i)
2008     AND    p_headers.error_flag_tbl(i) = FND_API.g_FALSE;
2009 
2010   IF (PO_LOG.d_proc) THEN
2011     PO_LOG.proc_end (d_module);
2012   END IF;
2013 
2014 EXCEPTION
2015   WHEN OTHERS THEN
2016     PO_MESSAGE_S.add_exc_msg
2017     (
2018       p_pkg_name => d_pkg_name,
2019       p_procedure_name => d_api_name || '.' || d_position
2020     );
2021     RAISE;
2022 END insert_po_headers_draft_all;
2023 
2024 -----------------------------------------------------------------------
2025 --Start of Comments
2026 --Name: insert_po_ga_org_assign_draft
2027 --Function:
2028 --  insert rows into po_ga_org_assign draft table;
2029 --  this applies only to global blanket
2030 --Parameters:
2031 --IN:
2032 --p_headers
2033 --  record which contains processed attributes in a batch;
2034 --  If there is no processing logic(derive, default, validate) on
2035 --  an attribute, this attribute's value will be read from
2036 --  interface table directly
2037 --IN OUT:
2038 --OUT:
2039 --End of Comments
2040 ------------------------------------------------------------------------
2041 PROCEDURE insert_po_ga_org_assign_draft
2042 (
2043   p_headers IN PO_PDOI_TYPES.headers_rec_type
2044 ) IS
2045 
2046   d_api_name CONSTANT VARCHAR2(30) := 'insert_po_ga_org_assign_draft';
2047   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
2048   d_position NUMBER;
2049 
2050 BEGIN
2051   d_position := 0;
2052 
2053   IF (PO_LOG.d_proc) THEN
2054     PO_LOG.proc_begin(d_module);
2055   END IF;
2056 
2057   IF (PO_PDOI_PARAMS.g_request.document_type =
2058         PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET) THEN
2059     FORALL i IN 1..p_headers.rec_count
2060       INSERT INTO po_ga_org_assign_draft
2061       (
2062         draft_id,
2063         delete_flag,
2064         change_accepted_flag,
2065         po_header_id,
2066         organization_id,
2067         enabled_flag,
2068         vendor_site_id,
2069         purchasing_org_id,
2070         org_assignment_id,
2071         last_update_date,
2072         last_updated_by,
2073         last_update_login,
2074         creation_date,
2075         created_by
2076       )
2077       SELECT
2078         p_headers.draft_id_tbl(i),
2079         NULL, -- delete_flag,
2080         NULL, -- change_accepted_flag,
2081         p_headers.po_header_id_tbl(i),
2082         PO_PDOI_PARAMS.g_request.org_id,
2083         NVL(global_agreement_flag, PO_PDOI_PARAMS.g_request.ga_flag),
2084         p_headers.vendor_site_id_tbl(i),
2085         PO_PDOI_PARAMS.g_request.org_id,
2086         PO_GA_ORG_ASSIGNMENTS_S.nextval, -- org_assignment_id,
2087         p_headers.last_update_date_tbl(i),
2088         p_headers.last_updated_by_tbl(i),
2089         p_headers.last_update_login_tbl(i),
2090         p_headers.creation_date_tbl(i),
2091         p_headers.created_by_tbl(i)
2092       FROM   po_headers_interface
2093       WHERE  interface_header_id = p_headers.intf_header_id_tbl(i)
2094       AND    p_headers.error_flag_tbl(i) = FND_API.g_FALSE
2095       AND    p_headers.doc_type_tbl(i) = PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET
2096       AND    COALESCE(global_agreement_flag, PO_PDOI_PARAMS.g_request.ga_flag, 'N') = 'Y';
2097   END IF;
2098 
2099   IF (PO_LOG.d_proc) THEN
2100     PO_LOG.proc_end (d_module);
2101   END IF;
2102 
2103 EXCEPTION
2104   WHEN OTHERS THEN
2105     PO_MESSAGE_S.add_exc_msg
2106     (
2107       p_pkg_name => d_pkg_name,
2108       p_procedure_name => d_api_name || '.' || d_position
2109     );
2110     RAISE;
2111 END insert_po_ga_org_assign_draft;
2112 
2113 -----------------------------------------------------------------------
2114 --Start of Comments
2115 --Name: insert_blk_dists_draft_all
2116 --Function:
2117 --  insert rows into po_distribution draft_all table;
2118 --  There are 2 cases when new rows will be inserted
2119 --  into po_distributions_draft_all table:
2120 --  1. encumberance is required for new blanket: the
2121 --     attribute values will be read from
2122 --     po_headers_interface table
2123 --  2. valid distribution rows exist in interface table:
2124 --     attribute values will be read from
2125 --     po_distributions_interface table
2126 --  This procedure will handle the first case
2127 --Parameters:
2128 --IN:
2129 --p_headers
2130 --  record which contains processed attributes in a batch;
2131 --  If there is no processing logic(derive, default, validate) on
2132 --  an attribute, this attribute's value will be read from
2133 --  interface table directly
2134 --IN OUT:
2135 --OUT:
2136 --End of Comments
2137 ------------------------------------------------------------------------
2138 PROCEDURE insert_blk_dists_draft_all
2139 (
2140   p_headers IN PO_PDOI_TYPES.headers_rec_type
2141 ) IS
2142 
2143   d_api_name CONSTANT VARCHAR2(30) := 'insert_blk_dists_draft_all';
2144   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
2145   d_position NUMBER;
2146 
2147 BEGIN
2148   d_position := 0;
2149 
2150   IF (PO_LOG.d_proc) THEN
2151     PO_LOG.proc_begin(d_module);
2152   END IF;
2153 
2154   -- add distribution row from po_headers_interface table
2155   IF (PO_PDOI_PARAMS.g_request.document_type =
2156         PO_PDOI_CONSTANTS.g_DOC_TYPE_BLANKET AND
2157       PO_PDOI_PARAMS.g_sys.po_encumbrance_flag = 'Y' AND
2158       PO_PDOI_PARAMS.g_sys.req_encumbrance_flag = 'Y') THEN
2159     d_position := 10;
2160 
2161     FORALL i IN 1.. p_headers.rec_count
2162       INSERT INTO po_distributions_draft_all
2163       (
2164         draft_id,
2165         org_id,
2166         delete_flag,
2167         change_accepted_flag,
2168         po_distribution_id,
2169         po_header_id,
2170         distribution_num,
2171         set_of_books_id,
2172         rate_date,
2173         rate,
2174         gl_encumbered_date,
2175         gl_encumbered_period_name,
2176         budget_account_id,
2177         prevent_encumbrance_flag,
2178         distribution_type,
2179         amount_to_encumber,
2180         last_update_date,
2181         last_updated_by,
2182         last_update_login,
2183         creation_date,
2184         created_by,
2185         request_id,
2186         program_application_id,
2187         program_id,
2188         program_update_date
2189       )
2190       SELECT
2191         p_headers.draft_id_tbl(i),
2192         PO_PDOI_PARAMS.g_request.org_id,
2193         NULL, -- delete_flag,
2194         NULL, -- change_accepted_flag,
2195         p_headers.po_dist_id_tbl(i),
2196         p_headers.po_header_id_tbl(i),
2197         1, -- distribution_num
2198         PO_PDOI_PARAMS.g_sys.sob_id,
2199         p_headers.rate_date_tbl(i),
2200         p_headers.rate_tbl(i),
2201         p_headers.gl_encumbered_date_tbl(i),
2202         p_headers.gl_encumbered_period_tbl(i),
2203         p_headers.budget_account_id_tbl(i),
2204         'N', -- prevent_encumbrance_flag
2205         'AGREEMENT', -- distribution_type
2206         p_headers.amount_to_encumber_tbl(i),
2207         sysdate,
2208         FND_GLOBAL.user_id,
2209         FND_GLOBAL.login_id,
2210         sysdate,
2211         FND_GLOBAL.user_id,
2212         FND_GLOBAL.conc_request_id,
2213         FND_GLOBAL.prog_appl_id,
2214         FND_GLOBAL.conc_program_id,
2215         sysdate
2216       FROM   DUAL
2217       WHERE  p_headers.error_flag_tbl(i) = FND_API.g_FALSE
2218       AND    p_headers.encumbrance_required_flag_tbl(i) = 'Y';
2219     END IF;
2220 
2221   IF (PO_LOG.d_proc) THEN
2222     PO_LOG.proc_end (d_module);
2223   END IF;
2224 
2225 EXCEPTION
2226   WHEN OTHERS THEN
2227     PO_MESSAGE_S.add_exc_msg
2228     (
2229       p_pkg_name => d_pkg_name,
2230       p_procedure_name => d_api_name || '.' || d_position
2231     );
2232     RAISE;
2233 END insert_blk_dists_draft_all;
2234 
2235 -----------------------------------------------------------------------
2236 --Start of Comments
2237 --Name: insert_po_dists_draft_all
2238 --Function:
2239 --  insert rows into po_distribution draft_all table;
2240 --  There are 2 cases when new rows will be inserted
2241 --  into po_distributions_draft_all table:
2242 --  1. encumberance is required for new blanket: the
2243 --     attribute values will be read from
2244 --     po_headers_interface table
2245 --  2. valid distribution rows exist in interface table:
2246 --     attribute values will be read from
2247 --     po_distributions_interface table
2248 --  This procedure will handle the second case
2249 --Parameters:
2250 --IN:
2251 --p_dists
2252 --  record which contains processed attributes in a batch;
2253 --  If there is no processing logic(derive, default, validate) on
2254 --  an attribute, this attribute's value will be read from
2255 --  interface table directly
2256 --IN OUT:
2257 --OUT:
2258 --End of Comments
2259 ------------------------------------------------------------------------
2260 PROCEDURE insert_po_dists_draft_all
2261 (
2262   p_dists   IN PO_PDOI_TYPES.distributions_rec_type
2263 ) IS
2264 
2265   d_api_name CONSTANT VARCHAR2(30) := 'insert_po_dists_draft_all';
2266   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
2267   d_position NUMBER;
2268 
2269   -- variables used to print debug message
2270   l_valid_intf_dist_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
2271   l_count NUMBER := 0;
2272 BEGIN
2273   d_position := 0;
2274 
2275   IF (PO_LOG.d_proc) THEN
2276     PO_LOG.proc_begin(d_module);
2277   END IF;
2278 
2279   IF (PO_LOG.d_stmt) THEN
2280     FOR i IN 1..p_dists.rec_count
2281     LOOP
2282       IF (p_dists.error_flag_tbl(i) = FND_API.g_FALSE) THEN
2283         l_valid_intf_dist_id_tbl.EXTEND(1);
2284         l_count := l_count + 1;
2285         l_valid_intf_dist_id_tbl(l_count) :=
2286           p_dists.intf_dist_id_tbl(i);
2287       END IF;
2288     END LOOP;
2289 
2290     PO_LOG.stmt(d_module, d_position, 'intf dist to be inserted',
2291                 l_valid_intf_dist_id_tbl);
2292   END IF;
2293 
2294   -- add distribution row from po_distributions_inteface table
2295   FORALL i IN 1..p_dists.rec_count
2296     INSERT INTO po_distributions_draft_all
2297     (
2298       draft_id,
2299       org_id,
2300       delete_flag,
2301       change_accepted_flag,
2302       po_distribution_id,
2303       last_update_date,
2304       last_updated_by,
2305       po_header_id,
2306       po_line_id,
2307       line_location_id,
2308       set_of_books_id,
2309       code_combination_id,
2310       quantity_ordered,
2311       last_update_login,
2312       creation_date,
2313       created_by,
2314       po_release_id,
2315       quantity_delivered,
2316       quantity_billed,
2317       quantity_cancelled,
2318       req_header_reference_num,
2319       req_line_reference_num,
2320       req_distribution_id,
2321       deliver_to_location_id,
2322       deliver_to_person_id,
2323       rate_date,
2324       rate,
2325       amount_billed,
2326       accrued_flag,
2327       encumbered_flag,
2328       encumbered_amount,
2329       unencumbered_quantity,
2330       unencumbered_amount,
2331       failed_funds_lookup_code,
2332       gl_encumbered_date,
2333       gl_encumbered_period_name,
2334       gl_cancelled_date,
2335       destination_type_code,
2336       destination_organization_id,
2337       destination_subinventory,
2338       attribute_category,
2339       attribute1,
2340       attribute2,
2341       attribute3,
2342       attribute4,
2343       attribute5,
2344       attribute6,
2345       attribute7,
2346       attribute8,
2347       attribute9,
2348       attribute10,
2349       attribute11,
2350       attribute12,
2351       attribute13,
2352       attribute14,
2353       attribute15,
2354       wip_entity_id,
2355       wip_operation_seq_num,
2356       wip_resource_seq_num,
2357       wip_repetitive_schedule_id,
2358       wip_line_id,
2359       bom_resource_id,
2360       budget_account_id,
2361       accrual_account_id,
2362       variance_account_id,
2363       dest_charge_account_id,
2364       dest_variance_account_id,
2365       prevent_encumbrance_flag,
2366       government_context,
2367       destination_context,
2368       distribution_num,
2369       source_distribution_id,
2370       project_id,
2371       task_id,
2372       expenditure_type,
2373       project_accounting_context,
2374       expenditure_organization_id,
2375       gl_closed_date,
2376       accrue_on_receipt_flag,
2377       expenditure_item_date,
2378       end_item_unit_number,
2379       recovery_rate,
2380       tax_recovery_override_flag,
2381       award_id,
2382       oke_contract_line_id,
2383       oke_contract_deliverable_id,
2384       amount_ordered,
2385       distribution_type,
2386       amount_to_encumber,
2387       tax_attribute_update_code
2388     )
2389     SELECT
2390       p_dists.draft_id_tbl(i),
2391       PO_PDOI_PARAMS.g_request.org_id,
2392       NULL, -- delete_flag,
2393       NULL, -- change_accepted_flag,
2394       p_dists.po_dist_id_tbl(i),
2395       p_dists.last_update_date_tbl(i),
2396       p_dists.last_updated_by_tbl(i),
2397       p_dists.hd_po_header_id_tbl(i),
2398       p_dists.ln_po_line_id_tbl(i),
2399       p_dists.loc_line_loc_id_tbl(i),
2400       PO_PDOI_PARAMS.g_sys.sob_id,
2401       p_dists.charge_account_id_tbl(i),
2402       p_dists.quantity_ordered_tbl(i),
2403       p_dists.last_update_login_tbl(i),
2404       p_dists.creation_date_tbl(i),
2405       p_dists.created_by_tbl(i),
2406       NULL, -- po_release_id,
2407       0, -- quantity_delivered,
2408       0, -- quantity_billed,
2409       0, -- quantity_cancelled,
2410       req_header_reference_num,
2411       req_line_reference_num,
2412       NULL, -- req_distribution_id,
2413       p_dists.deliver_to_loc_id_tbl(i),
2414       p_dists.deliver_to_person_id_tbl(i),
2415       p_dists.hd_rate_date_tbl(i),
2416       p_dists.hd_rate_tbl(i),
2417       amount_billed,
2418       NULL, -- accrued_flag,
2419       'N', -- encumbered_flag,
2420       NULL, -- encumbered_amount,
2421       NULL, -- unencumbered_quantity,
2422       NULL, -- unencumbered_amount,
2423       NULL, -- failed_funds_lookup_code,
2424       p_dists.gl_encumbered_date_tbl(i),
2425       p_dists.gl_encumbered_period_tbl(i),
2426       NULL, -- gl_cancelled_date,
2427       p_dists.dest_type_code_tbl(i),
2428       p_dists.dest_org_id_tbl(i),
2429       p_dists.dest_subinventory_tbl(i),
2430       attribute_category,
2431       attribute1,
2432       attribute2,
2433       attribute3,
2434       attribute4,
2435       attribute5,
2436       attribute6,
2437       attribute7,
2438       attribute8,
2439       attribute9,
2440       attribute10,
2441       attribute11,
2442       attribute12,
2443       attribute13,
2444       attribute14,
2445       attribute15,
2446       p_dists.wip_entity_id_tbl(i),
2447       p_dists.wip_operation_seq_num_tbl(i),
2448       p_dists.wip_resource_seq_num_tbl(i),
2449       p_dists.wip_rep_schedule_id_tbl(i),
2450       p_dists.wip_line_id_tbl(i),
2451       p_dists.bom_resource_id_tbl(i),
2452       p_dists.budget_account_id_tbl(i),
2453       p_dists.accrual_account_id_tbl(i),
2454       p_dists.variance_account_id_tbl(i),
2455       p_dists.dest_charge_account_id_tbl(i),
2456       p_dists.dest_variance_account_id_tbl(i),
2457       p_dists.prevent_encumbrance_flag_tbl(i),
2458       NULL, -- government_context
2459       p_dists.dest_context_tbl(i),
2460       p_dists.dist_num_tbl(i),
2461       source_distribution_id,
2462       p_dists.project_id_tbl(i),
2463       p_dists.task_id_tbl(i),
2464       p_dists.expenditure_type_tbl(i),
2465       p_dists.project_accounting_context_tbl(i),
2466       p_dists.expenditure_org_id_tbl(i),
2467       NULL, -- gl_closed_date,
2468       p_dists.loc_accrue_on_receipt_flag_tbl(i),
2469       p_dists.expenditure_item_date_tbl(i),
2470       p_dists.end_item_unit_number_tbl(i),
2471       p_dists.recovery_rate_tbl(i),
2472       p_dists.tax_recovery_override_flag_tbl(i),
2473       p_dists.award_set_id_tbl(i),  -- bug 5201306: Should insert award_set_id
2474       oke_contract_line_id,
2475       oke_contract_deliverable_id,
2476       p_dists.amount_ordered_tbl(i),
2477       p_dists.loc_shipment_type_tbl(i),
2478       NULL, -- amount_to_encumber
2479       p_dists.tax_attribute_update_code_tbl(i)
2480     FROM   po_distributions_interface
2481     WHERE  interface_distribution_id = p_dists.intf_dist_id_tbl(i)
2482     AND    p_dists.error_flag_tbl(i) = FND_API.g_FALSE;
2483 
2484   IF (PO_LOG.d_proc) THEN
2485     PO_LOG.proc_end (d_module);
2486   END IF;
2487 
2488 EXCEPTION
2489   WHEN OTHERS THEN
2490     PO_MESSAGE_S.add_exc_msg
2491     (
2492       p_pkg_name => d_pkg_name,
2493       p_procedure_name => d_api_name || '.' || d_position
2494     );
2495     RAISE;
2496 END insert_po_dists_draft_all;
2497 
2498 -----------------------------------------------------------------------
2499 --Start of Comments
2500 --Name: insert_po_lines_draft_all
2501 --Function:
2502 --  insert new line attribute values into po_lines_draft_all
2503 --Parameters:
2504 --IN:
2505 --p_lines
2506 --  record which contains processed line attributes in a batch;
2507 --  If there is no processing logic(derive, default, validate) on
2508 --  an attribute, this attribute's value will be read from
2509 --  interface table directly
2510 --IN OUT:
2511 --OUT:
2512 --End of Comments
2513 ------------------------------------------------------------------------
2514 PROCEDURE insert_po_lines_draft_all
2515 (
2516   p_lines   IN PO_PDOI_TYPES.lines_rec_type
2517 ) IS
2518 
2519   d_api_name CONSTANT VARCHAR2(30) := 'insert_po_lines_draft_all';
2520   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
2521   d_position NUMBER;
2522 
2523   -- variables used to print debug message
2524   l_valid_intf_line_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
2525   l_count NUMBER := 0;
2526 BEGIN
2527   d_position := 0;
2528 
2529   IF (PO_LOG.d_proc) THEN
2530     PO_LOG.proc_begin(d_module);
2531   END IF;
2532 
2533 
2534   IF (PO_LOG.d_stmt) THEN
2535 
2536     FOR i IN 1..p_lines.rec_count
2537     LOOP
2538       IF (p_lines.error_flag_tbl(i) = FND_API.g_FALSE AND
2539           p_lines.need_to_reject_flag_tbl(i) = FND_API.g_FALSE) THEN
2540     PO_LOG.stmt(d_module, d_position, 'interface line id', p_lines.intf_line_id_tbl(i));
2541         PO_LOG.stmt(d_module, d_position, 'po_header_id', p_lines.po_header_id_tbl(i));
2542         PO_LOG.stmt(d_module, d_position, 'line_num', p_lines.line_num_tbl(i));
2543         PO_LOG.stmt(d_module, d_position, 'draft_id', p_lines.draft_id_tbl(i));
2544         PO_LOG.stmt(d_module, d_position, 'supplier_part_auxid',
2545                 p_lines.supplier_part_auxid_tbl(i));
2546       END IF;
2547     END LOOP;
2548   END IF;
2549 
2550   d_position := 10;
2551 
2552   FORALL i IN 1..p_lines.rec_count
2553     INSERT INTO po_lines_draft_all
2554     (
2555       draft_id,
2556       org_id,
2557       delete_flag,
2558       change_accepted_flag,
2559       po_line_id,
2560       last_update_date,
2561       last_updated_by,
2562       po_header_id,
2563       line_type_id,
2564       line_num,
2565       last_update_login,
2566       creation_date,
2567       created_by,
2568       item_id,
2569       item_revision,
2570       category_id,
2571       ip_category_id,
2572       item_description,
2573       unit_meas_lookup_code,
2574       quantity_committed,
2575       committed_amount,
2576       allow_price_override_flag,
2577       not_to_exceed_price,
2578       list_price_per_unit,
2579       base_unit_price,
2580       unit_price,
2581       quantity,
2582       un_number_id,
2583       hazard_class_id,
2584       note_to_vendor,
2585       from_header_id,
2586       from_line_id,
2587       min_order_quantity,
2588       max_order_quantity,
2589       qty_rcv_tolerance,
2590       over_tolerance_error_flag,
2591       market_price,
2592       unordered_flag,
2593       closed_flag,
2594       cancel_flag,
2595       cancelled_by,
2596       cancel_date,
2597       cancel_reason,
2598       vendor_product_num,
2599       contract_num,
2600       type_1099,
2601       capital_expense_flag,
2602       negotiated_by_preparer_flag,
2603       attribute_category,
2604       attribute1,
2605       attribute2,
2606       attribute3,
2607       attribute4,
2608       attribute5,
2609       attribute6,
2610       attribute7,
2611       attribute8,
2612       attribute9,
2613       attribute10,
2614       attribute11,
2615       attribute12,
2616       attribute13,
2617       attribute14,
2618       attribute15,
2619       min_release_amount,
2620       price_type_lookup_code,
2621       closed_code,
2622       price_break_lookup_code,
2623       government_context,
2624       request_id,
2625       program_application_id,
2626       program_id,
2627       program_update_date,
2628       closed_date,
2629       closed_reason,
2630       closed_by,
2631       transaction_reason_code,
2632       line_reference_num,
2633       oke_contract_header_id,
2634       oke_contract_version_id,
2635       expiration_date,
2636       job_id,
2637       contractor_first_name,
2638       contractor_last_name,
2639       amount,
2640       start_date,
2641       order_type_lookup_code,
2642       purchase_basis,
2643       matching_basis,
2644       tax_attribute_update_code,
2645       supplier_part_auxid,
2646       secondary_quantity,
2647       secondary_unit_of_measure,
2648       preferred_grade,
2649       catalog_name,
2650       original_interface_line_id -- bug5149827
2651     )
2652     SELECT
2653       p_lines.draft_id_tbl(i),
2654       PO_PDOI_PARAMS.g_request.org_id,
2655       NULL, -- delete_flag,
2656       DECODE (p_lines.process_code_tbl(i),
2657                 PO_PDOI_CONSTANTS.g_PROCESS_CODE_NOTIFIED,
2658                 PO_DRAFTS_PVT.g_chg_accepted_flag_NOTIFY,
2659                 NULL), -- change_accepted_flag  -- bug5149827
2660       p_lines.po_line_id_tbl(i),
2661       p_lines.last_update_date_tbl(i),
2662       p_lines.last_updated_by_tbl(i),
2663       p_lines.po_header_id_tbl(i),
2664       p_lines.line_type_id_tbl(i),
2665       p_lines.line_num_tbl(i),
2666       p_lines.last_update_login_tbl(i),
2667       p_lines.creation_date_tbl(i),
2668       p_lines.created_by_tbl(i),
2669       p_lines.item_id_tbl(i),
2670       p_lines.item_revision_tbl(i),
2671       p_lines.category_id_tbl(i),
2672       p_lines.ip_category_id_tbl(i),
2673       p_lines.item_desc_tbl(i),
2674       p_lines.unit_of_measure_tbl(i),
2675       p_lines.quantity_committed_tbl(i),
2676       p_lines.committed_amount_tbl(i),
2677       p_lines.allow_price_override_flag_tbl(i),
2678       p_lines.not_to_exceed_price_tbl(i),
2679       p_lines.list_price_per_unit_tbl(i),
2680       p_lines.base_unit_price_tbl(i),
2681       p_lines.unit_price_tbl(i),
2682       p_lines.quantity_tbl(i),
2683       p_lines.un_number_id_tbl(i),
2684       p_lines.hazard_class_id_tbl(i),
2685       note_to_vendor,
2686       p_lines.from_header_id_tbl(i),
2687       p_lines.from_line_id_tbl(i),
2688       min_order_quantity,
2689       max_order_quantity,
2690       qty_rcv_tolerance,
2691       p_lines.over_tolerance_err_flag_tbl(i),
2692       p_lines.market_price_tbl(i),
2693       p_lines.unordered_flag_tbl(i),
2694       NULL, -- closed_flag,
2695       p_lines.cancel_flag_tbl(i),
2696       NULL, -- cancelled_by,
2697       NULL, -- cancel_date,
2698       NULL, -- cancel_reason,
2699       p_lines.vendor_product_num_tbl(i),
2700       p_lines.contract_num_tbl(i),
2701       p_lines.type_1099_tbl(i),
2702       p_lines.capital_expense_flag_tbl(i),
2703       p_lines.negotiated_flag_tbl(i),
2704       line_attribute_category_lines,
2705       line_attribute1,
2706       line_attribute2,
2707       line_attribute3,
2708       line_attribute4,
2709       line_attribute5,
2710       line_attribute6,
2711       line_attribute7,
2712       line_attribute8,
2713       line_attribute9,
2714       line_attribute10,
2715       line_attribute11,
2716       line_attribute12,
2717       line_attribute13,
2718       line_attribute14,
2719       line_attribute15,
2720       p_lines.min_release_amount_tbl(i),
2721       p_lines.price_type_tbl(i),
2722       p_lines.closed_code_tbl(i),
2723       p_lines.price_break_lookup_code_tbl(i),
2724       NULL, -- government_context,
2725       p_lines.request_id_tbl(i),
2726       p_lines.program_application_id_tbl(i),
2727       p_lines.program_id_tbl(i),
2728       p_lines.program_update_date_tbl(i),
2729       p_lines.closed_date_tbl(i),
2730       closed_reason,
2731       p_lines.closed_by_tbl(i),
2732       transaction_reason_code,
2733       line_reference_num,
2734       oke_contract_header_id,
2735       oke_contract_version_id,
2736       p_lines.expiration_date_tbl(i),
2737       p_lines.job_id_tbl(i),
2738       p_lines.contractor_first_name_tbl(i),
2739       p_lines.contractor_last_name_tbl(i),
2740       p_lines.amount_tbl(i),
2741       DECODE(PO_PDOI_PARAMS.g_request.document_type, PO_PDOI_CONSTANTS.g_DOC_TYPE_STANDARD,
2742         DECODE(p_lines.purchase_basis_tbl(i), 'TEMP LABOR', TRUNC(p_lines.effective_date_tbl(i)), NULL),
2743         NULL), -- bug 4181354
2744       p_lines.order_type_lookup_code_tbl(i),
2745       p_lines.purchase_basis_tbl(i),
2746       p_lines.matching_basis_tbl(i),
2747       p_lines.tax_attribute_update_code_tbl(i),
2748       p_lines.supplier_part_auxid_tbl(i),
2749       p_lines.secondary_quantity_tbl(i),
2750       p_lines.secondary_unit_of_meas_tbl(i),
2751       p_lines.preferred_grade_tbl(i),
2752       catalog_name,
2753       DECODE (p_lines.process_code_tbl(i),
2754                 PO_PDOI_CONSTANTS.g_PROCESS_CODE_NOTIFIED,
2755                 p_lines.intf_line_id_tbl(i),
2756                 NULL) -- bug5149827
2757     FROM   po_lines_interface
2758     WHERE  interface_line_id = p_lines.intf_line_id_tbl(i)
2759     AND    p_lines.error_flag_tbl(i) = FND_API.g_FALSE
2760     AND    p_lines.need_to_reject_flag_tbl(i) = FND_API.g_FALSE;
2761 
2762   IF (PO_LOG.d_proc) THEN
2763     PO_LOG.proc_end (d_module);
2764   END IF;
2765 
2766 EXCEPTION
2767   WHEN OTHERS THEN
2768     PO_MESSAGE_S.add_exc_msg
2769     (
2770       p_pkg_name => d_pkg_name,
2771       p_procedure_name => d_api_name || '.' || d_position
2772     );
2773     RAISE;
2774 END insert_po_lines_draft_all;
2775 
2776 -----------------------------------------------------------------------
2777 --Start of Comments
2778 --Name: insert_po_line_locs_draft_all
2779 --Function:
2780 --  insert new line location attribute values into
2781 --  po_line_locations_draft_all
2782 --Parameters:
2783 --IN:
2784 --p_line_locs
2785 --  record which contains processed line attributes in a batch;
2786 --  If there is no processing logic(derive, default, validate) on
2787 --  an attribute, this attribute's value will be read from
2788 --  interface table directly
2789 --IN OUT:
2790 --OUT:
2791 --End of Comments
2792 ------------------------------------------------------------------------
2793 PROCEDURE insert_po_line_locs_draft_all
2794 (
2795   p_line_locs   IN PO_PDOI_TYPES.line_locs_rec_type
2796 ) IS
2797 
2798   d_api_name CONSTANT VARCHAR2(30) := 'insert_po_line_locs_draft_all';
2799   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
2800   d_position NUMBER;
2801 
2802   -- variables used to print debug message
2803   l_valid_intf_loc_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
2804   l_count NUMBER := 0;
2805 BEGIN
2806   d_position := 0;
2807 
2808   IF (PO_LOG.d_proc) THEN
2809     PO_LOG.proc_begin(d_module);
2810   END IF;
2811 
2812   IF (PO_LOG.d_stmt) THEN
2813     FOR i IN 1..p_line_locs.rec_count
2814     LOOP
2815       IF (p_line_locs.error_flag_tbl(i) = FND_API.g_FALSE) THEN
2816         l_valid_intf_loc_id_tbl.EXTEND(1);
2817         l_count := l_count + 1;
2818         l_valid_intf_loc_id_tbl(l_count) :=
2819           p_line_locs.intf_line_loc_id_tbl(i);
2820       END IF;
2821     END LOOP;
2822 
2823     PO_LOG.stmt(d_module, d_position, 'intf line loc to be inserted',
2824                 l_valid_intf_loc_id_tbl);
2825   END IF;
2826 
2827   FORALL i IN 1..p_line_locs.rec_count
2828     INSERT INTO po_line_locations_draft_all
2829     (
2830       draft_id,
2831       org_id,
2832       delete_flag,
2833       change_accepted_flag,
2834       line_location_id,
2835       last_update_date,
2836       last_updated_by,
2837       po_header_id,
2838       po_line_id,
2839       last_update_login,
2840       creation_date,
2841       created_by,
2842       quantity,
2843       quantity_received,
2844       quantity_accepted,
2845       quantity_rejected,
2846       quantity_billed,
2847       quantity_cancelled,
2848       unit_meas_lookup_code,
2849       po_release_id,
2850       ship_to_location_id,
2851       ship_via_lookup_code,
2852       need_by_date,
2853       promised_date,
2854       last_accept_date,
2855       price_override,
2856       encumbered_flag,
2857       encumbered_date,
2858       fob_lookup_code,
2859       freight_terms_lookup_code,
2860       tax_name,
2861       from_header_id,
2862       from_line_id,
2863       from_line_location_id,
2864       start_date,
2865       end_date,
2866       lead_time,
2867       lead_time_unit,
2868       price_discount,
2869       terms_id,
2870       approved_flag,
2871       closed_flag,
2872       cancel_flag,
2873       cancelled_by,
2874       cancel_date,
2875       cancel_reason,
2876       firm_status_lookup_code,
2877       attribute_category,
2878       attribute1,
2879       attribute2,
2880       attribute3,
2881       attribute4,
2882       attribute5,
2883       attribute6,
2884       attribute7,
2885       attribute8,
2886       attribute9,
2887       attribute10,
2888       attribute11,
2889       attribute12,
2890       attribute13,
2891       attribute14,
2892       attribute15,
2893       inspection_required_flag,
2894       receipt_required_flag,
2895       qty_rcv_tolerance,
2896       qty_rcv_exception_code,
2897       enforce_ship_to_location_code,
2898       allow_substitute_receipts_flag,
2899       days_early_receipt_allowed,
2900       days_late_receipt_allowed,
2901       receipt_days_exception_code,
2902       invoice_close_tolerance,
2903       receive_close_tolerance,
2904       ship_to_organization_id,
2905       shipment_num,
2906       source_shipment_id,
2907       shipment_type,
2908       closed_code,
2909       request_id,
2910       program_application_id,
2911       program_id,
2912       program_update_date,
2913       government_context,
2914       receiving_routing_id,
2915       accrue_on_receipt_flag,
2916       closed_reason,
2917       closed_date,
2918       closed_by,
2919       match_option,
2920       note_to_receiver,
2921       transaction_flow_header_id,
2922       amount,
2923       amount_received,
2924       amount_cancelled,
2925       amount_billed,
2926       outsourced_assembly,
2927       tax_attribute_update_code,
2928       secondary_quantity,
2929       secondary_unit_of_measure,
2930       preferred_grade,
2931       value_basis,
2932       matching_basis
2933     )
2934     SELECT
2935       p_line_locs.draft_id_tbl(i),
2936       PO_PDOI_PARAMS.g_request.org_id,
2937       NULL, -- delete_flag,
2938       NULL, -- change_accepted_flag,
2939       p_line_locs.line_loc_id_tbl(i),
2940       p_line_locs.last_update_date_tbl(i),
2941       p_line_locs.last_updated_by_tbl(i),
2942       p_line_locs.hd_po_header_id_tbl(i),
2943       p_line_locs.ln_po_line_id_tbl(i),
2944       p_line_locs.last_update_login_tbl(i),
2945       p_line_locs.creation_date_tbl(i),
2946       p_line_locs.created_by_tbl(i),
2947       p_line_locs.quantity_tbl(i),
2948       0, -- quantity_received
2949       0, -- quantity_accepted
2950       0, -- quantity_rejected
2951       0, -- quantity_billed
2952       0, -- quantity_canceled
2953       p_line_locs.unit_of_measure_tbl(i),
2954       NULL, -- po_release_id,
2955       p_line_locs.ship_to_loc_id_tbl(i),
2956       p_line_locs.freight_carrier_tbl(i),
2957       p_line_locs.need_by_date_tbl(i),
2958       p_line_locs.promised_date_tbl(i),
2959       NULL, -- last_accept_date,
2960       p_line_locs.price_override_tbl(i),
2961       NULL, -- encumbered_flag,
2962       NULL, -- encumbered_date,
2963       p_line_locs.fob_tbl(i),
2964       p_line_locs.freight_term_tbl(i),
2965       p_line_locs.tax_name_tbl(i),
2966       p_line_locs.ln_from_header_id_tbl(i),
2967       p_line_locs.ln_from_line_id_tbl(i),
2968       from_line_location_id,
2969       p_line_locs.start_date_tbl(i),
2970       p_line_locs.end_date_tbl(i),
2971       lead_time,
2972       lead_time_unit,
2973       p_line_locs.price_discount_tbl(i),
2974       p_line_locs.terms_id_tbl(i),
2975       p_line_locs.hd_approved_flag_tbl(i),
2976       NULL, -- closed_flag,
2977       NULL, -- cancel_flag,
2978       NULL, -- cancelled_by,
2979       NULL, -- cancel_date,
2980       NULL, -- cancel_reason,
2981       p_line_locs.firm_flag_tbl(i),
2982       attribute_category,
2983       attribute1,
2984       attribute2,
2985       attribute3,
2986       attribute4,
2987       attribute5,
2988       attribute6,
2989       attribute7,
2990       attribute8,
2991       attribute9,
2992       attribute10,
2993       attribute11,
2994       attribute12,
2995       attribute13,
2996       attribute14,
2997       attribute15,
2998       p_line_locs.inspection_required_flag_tbl(i),
2999       p_line_locs.receipt_required_flag_tbl(i),
3000       p_line_locs.qty_rcv_tolerance_tbl(i),
3001       p_line_locs.qty_rcv_exception_code_tbl(i),
3002       p_line_locs.enforce_ship_to_loc_code_tbl(i),
3003       p_line_locs.allow_sub_receipts_flag_tbl(i),
3004       p_line_locs.days_early_receipt_allowed_tbl(i),
3005       p_line_locs.days_late_receipt_allowed_tbl(i),
3006       p_line_locs.receipt_days_except_code_tbl(i),
3007       p_line_locs.invoice_close_tolerance_tbl(i),
3008       p_line_locs.receive_close_tolerance_tbl(i),
3009       p_line_locs.ship_to_org_id_tbl(i),
3010       p_line_locs.shipment_num_tbl(i),
3011       source_shipment_id,
3012       p_line_locs.shipment_type_tbl(i),
3013       p_line_locs.ln_closed_code_tbl(i),
3014       p_line_locs.request_id_tbl(i),
3015       p_line_locs.program_application_id_tbl(i),
3016       p_line_locs.program_id_tbl(i),
3017       p_line_locs.program_update_date_tbl(i),
3018       p_line_locs.ln_government_context_tbl(i),
3019       p_line_locs.receiving_routing_id_tbl(i),
3020       NVL2(p_line_locs.txn_flow_header_id_tbl(i), 'Y',
3021         p_line_locs.accrue_on_receipt_flag_tbl(i)),
3022       p_line_locs.ln_closed_reason_tbl(i),
3023       p_line_locs.ln_closed_date_tbl(i),
3024       p_line_locs.ln_closed_by_tbl(i),
3025       p_line_locs.match_option_tbl(i),
3026       p_line_locs.note_to_receiver_tbl(i),
3027       p_line_locs.txn_flow_header_id_tbl(i),
3028       amount,
3029       0, -- amount_received,
3030       0, -- amount_cancelled,
3031       0, -- amount_billed,
3032       p_line_locs.outsourced_assembly_tbl(i),
3033       p_line_locs.tax_attribute_update_code_tbl(i),
3034       p_line_locs.secondary_quantity_tbl(i),
3035       p_line_locs.secondary_unit_of_meas_tbl(i),
3036       p_line_locs.preferred_grade_tbl(i),
3037       p_line_locs.value_basis_tbl(i),
3038       p_line_locs.matching_basis_tbl(i)
3039     FROM   po_line_locations_interface
3040     WHERE  interface_line_location_id = p_line_locs.intf_line_loc_id_tbl(i)
3041     AND    p_line_locs.error_flag_tbl(i) = FND_API.g_FALSE;
3042 
3043   IF (PO_LOG.d_proc) THEN
3044     PO_LOG.proc_end (d_module);
3045   END IF;
3046 
3047 EXCEPTION
3048   WHEN OTHERS THEN
3049     PO_MESSAGE_S.add_exc_msg
3050     (
3051       p_pkg_name => d_pkg_name,
3052       p_procedure_name => d_api_name || '.' || d_position
3053     );
3054     RAISE;
3055 END insert_po_line_locs_draft_all;
3056 
3057 -----------------------------------------------------------------------
3058 --Start of Comments
3059 --Name: insert_po_price_diffs_draft
3060 --Function:
3061 --  insert new price differential attribute values into
3062 --  po_price_diff_draft
3063 --Parameters:
3064 --IN:
3065 --p_price_diffs
3066 --  record which contains processed line attributes in a batch;
3067 --  If there is no processing logic(derive, default, validate) on
3068 --  an attribute, this attribute's value will be read from
3069 --  interface table directly
3070 --IN OUT:
3071 --OUT:
3072 --End of Comments
3073 ------------------------------------------------------------------------
3074 PROCEDURE insert_po_price_diff_draft
3075 (
3076   p_price_diffs   IN PO_PDOI_TYPES.price_diffs_rec_type
3077 ) IS
3078 
3079   d_api_name CONSTANT VARCHAR2(30) := 'insert_po_price_diff_draft';
3080   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
3081   d_position NUMBER;
3082 
3083   -- variables used to print debug message
3084   l_valid_intf_diff_id_tbl PO_TBL_NUMBER := PO_TBL_NUMBER();
3085   l_count NUMBER := 0;
3086 BEGIN
3087   d_position := 0;
3088 
3089   IF (PO_LOG.d_proc) THEN
3090     PO_LOG.proc_begin(d_module);
3091   END IF;
3092 
3093   IF (PO_LOG.d_stmt) THEN
3094     FOR i IN 1..p_price_diffs.rec_count
3095     LOOP
3096       IF (p_price_diffs.error_flag_tbl(i) = FND_API.g_FALSE) THEN
3097         l_valid_intf_diff_id_tbl.EXTEND(1);
3098         l_count := l_count + 1;
3099         l_valid_intf_diff_id_tbl(l_count) :=
3100           p_price_diffs.intf_price_diff_id_tbl(i);
3101       END IF;
3102     END LOOP;
3103 
3104     PO_LOG.stmt(d_module, d_position, 'intf price diff to be inserted',
3105                 l_valid_intf_diff_id_tbl);
3106   END IF;
3107 
3108   FORALL i IN 1..p_price_diffs.rec_count
3109     INSERT INTO po_price_diff_draft
3110     (
3111       draft_id,
3112       delete_flag,
3113       change_accepted_flag,
3114       price_differential_id,
3115       price_differential_num,
3116       entity_type,
3117       entity_id,
3118       price_type,
3119       enabled_flag,
3120       min_multiplier,
3121       max_multiplier,
3122       multiplier,
3123       last_update_date,
3124       last_updated_by,
3125       last_update_login,
3126       creation_date,
3127       created_by
3128     )
3129     SELECT
3130       p_price_diffs.draft_id_tbl(i),
3131       NULL, -- delete_flag,
3132       NULL, -- change_accepted_flag,
3133       PO_PRICE_DIFFERENTIALS_S.nextval,
3134       p_price_diffs.price_diff_num_tbl(i),
3135       p_price_diffs.entity_type_tbl(i),
3136       p_price_diffs.entity_id_tbl(i),
3137       p_price_diffs.price_type_tbl(i),
3138       enabled_flag,
3139       p_price_diffs.min_multiplier_tbl(i),
3140       p_price_diffs.max_multiplier_tbl(i),
3141       p_price_diffs.multiplier_tbl(i),
3142       NVL(last_update_date, sysdate),
3143       NVL(last_updated_by, FND_GLOBAL.user_id),
3144       NVL(last_update_login, FND_GLOBAL.login_id),
3145       NVL(creation_date, sysdate),
3146       NVL(created_by, FND_GLOBAL.user_id)
3147     FROM   po_price_diff_interface
3148     WHERE  price_diff_interface_id = p_price_diffs.intf_price_diff_id_tbl(i)
3149     AND    p_price_diffs.error_flag_tbl(i) = FND_API.g_FALSE;
3150 
3151   IF (PO_LOG.d_proc) THEN
3152     PO_LOG.proc_end (d_module);
3153   END IF;
3154 
3155 EXCEPTION
3156   WHEN OTHERS THEN
3157     PO_MESSAGE_S.add_exc_msg
3158     (
3159       p_pkg_name => d_pkg_name,
3160       p_procedure_name => d_api_name || '.' || d_position
3161     );
3162     RAISE;
3163 END insert_po_price_diff_draft;
3164 
3165 -----------------------------------------------------------------------
3166 --Start of Comments
3167 --Name: merge_po_attr_values_draft
3168 --Function:
3169 --  insert new attribute values or update existing attribute values
3170 --  into po_attribute_values_draft
3171 --Parameters:
3172 --IN:
3173 --p_key
3174 --  key value used to join in MERGE statement
3175 --p_attr_values
3176 --  record which contains processed line attributes in a batch;
3177 --  If there is no processing logic(derive, default, validate) on
3178 --  an attribute, this attribute's value will be read from
3179 --  interface table directly
3180 --IN OUT:
3181 --OUT:
3182 --End of Comments
3183 ------------------------------------------------------------------------
3184 PROCEDURE merge_po_attr_values_draft
3185 (
3186   p_key                IN po_session_gt.key%TYPE,
3187   p_attr_values        IN PO_PDOI_TYPES.attr_values_rec_type
3188 ) IS
3189 
3190   d_api_name CONSTANT VARCHAR2(30) := 'merge_po_attr_values_draft';
3191   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
3192   d_position NUMBER;
3193 
3194 BEGIN
3195   d_position := 0;
3196 
3197   IF (PO_LOG.d_proc) THEN
3198     PO_LOG.proc_begin(d_module);
3199   END IF;
3200 
3201   MERGE INTO po_attribute_values_draft PAVD
3202   USING (
3203     SELECT
3204       NUM2 AS ATTRIBUTE_VALUES_ID,
3205       NUM3 AS DRAFT_ID,
3206       NUM4 AS PO_LINE_ID,
3207       REQ_TEMPLATE_NAME,
3208       REQ_TEMPLATE_LINE_NUM,
3209       NUM5 AS IP_CATEGORY_ID,
3210       NUM6 AS INVENTORY_ITEM_ID,
3211       ORG_ID,
3212       MANUFACTURER_PART_NUM,
3213       THUMBNAIL_IMAGE,
3214       SUPPLIER_URL,
3215       MANUFACTURER_URL,
3216       ATTACHMENT_URL,
3217       UNSPSC,
3218       AVAILABILITY,
3219       LEAD_TIME,
3220       TEXT_BASE_ATTRIBUTE1,
3221       TEXT_BASE_ATTRIBUTE2,
3222       TEXT_BASE_ATTRIBUTE3,
3223       TEXT_BASE_ATTRIBUTE4,
3224       TEXT_BASE_ATTRIBUTE5,
3225       TEXT_BASE_ATTRIBUTE6,
3226       TEXT_BASE_ATTRIBUTE7,
3227       TEXT_BASE_ATTRIBUTE8,
3228       TEXT_BASE_ATTRIBUTE9,
3229       TEXT_BASE_ATTRIBUTE10,
3230       TEXT_BASE_ATTRIBUTE11,
3231       TEXT_BASE_ATTRIBUTE12,
3232       TEXT_BASE_ATTRIBUTE13,
3233       TEXT_BASE_ATTRIBUTE14,
3234       TEXT_BASE_ATTRIBUTE15,
3235       TEXT_BASE_ATTRIBUTE16,
3236       TEXT_BASE_ATTRIBUTE17,
3237       TEXT_BASE_ATTRIBUTE18,
3238       TEXT_BASE_ATTRIBUTE19,
3239       TEXT_BASE_ATTRIBUTE20,
3240       TEXT_BASE_ATTRIBUTE21,
3241       TEXT_BASE_ATTRIBUTE22,
3242       TEXT_BASE_ATTRIBUTE23,
3243       TEXT_BASE_ATTRIBUTE24,
3244       TEXT_BASE_ATTRIBUTE25,
3245       TEXT_BASE_ATTRIBUTE26,
3246       TEXT_BASE_ATTRIBUTE27,
3247       TEXT_BASE_ATTRIBUTE28,
3248       TEXT_BASE_ATTRIBUTE29,
3249       TEXT_BASE_ATTRIBUTE30,
3250       TEXT_BASE_ATTRIBUTE31,
3251       TEXT_BASE_ATTRIBUTE32,
3252       TEXT_BASE_ATTRIBUTE33,
3253       TEXT_BASE_ATTRIBUTE34,
3254       TEXT_BASE_ATTRIBUTE35,
3255       TEXT_BASE_ATTRIBUTE36,
3256       TEXT_BASE_ATTRIBUTE37,
3257       TEXT_BASE_ATTRIBUTE38,
3258       TEXT_BASE_ATTRIBUTE39,
3259       TEXT_BASE_ATTRIBUTE40,
3260       TEXT_BASE_ATTRIBUTE41,
3261       TEXT_BASE_ATTRIBUTE42,
3262       TEXT_BASE_ATTRIBUTE43,
3263       TEXT_BASE_ATTRIBUTE44,
3264       TEXT_BASE_ATTRIBUTE45,
3265       TEXT_BASE_ATTRIBUTE46,
3266       TEXT_BASE_ATTRIBUTE47,
3267       TEXT_BASE_ATTRIBUTE48,
3268       TEXT_BASE_ATTRIBUTE49,
3269       TEXT_BASE_ATTRIBUTE50,
3270       TEXT_BASE_ATTRIBUTE51,
3271       TEXT_BASE_ATTRIBUTE52,
3272       TEXT_BASE_ATTRIBUTE53,
3273       TEXT_BASE_ATTRIBUTE54,
3274       TEXT_BASE_ATTRIBUTE55,
3275       TEXT_BASE_ATTRIBUTE56,
3276       TEXT_BASE_ATTRIBUTE57,
3277       TEXT_BASE_ATTRIBUTE58,
3278       TEXT_BASE_ATTRIBUTE59,
3279       TEXT_BASE_ATTRIBUTE60,
3280       TEXT_BASE_ATTRIBUTE61,
3281       TEXT_BASE_ATTRIBUTE62,
3282       TEXT_BASE_ATTRIBUTE63,
3283       TEXT_BASE_ATTRIBUTE64,
3284       TEXT_BASE_ATTRIBUTE65,
3285       TEXT_BASE_ATTRIBUTE66,
3286       TEXT_BASE_ATTRIBUTE67,
3287       TEXT_BASE_ATTRIBUTE68,
3288       TEXT_BASE_ATTRIBUTE69,
3289       TEXT_BASE_ATTRIBUTE70,
3290       TEXT_BASE_ATTRIBUTE71,
3291       TEXT_BASE_ATTRIBUTE72,
3292       TEXT_BASE_ATTRIBUTE73,
3293       TEXT_BASE_ATTRIBUTE74,
3294       TEXT_BASE_ATTRIBUTE75,
3295       TEXT_BASE_ATTRIBUTE76,
3296       TEXT_BASE_ATTRIBUTE77,
3297       TEXT_BASE_ATTRIBUTE78,
3298       TEXT_BASE_ATTRIBUTE79,
3299       TEXT_BASE_ATTRIBUTE80,
3300       TEXT_BASE_ATTRIBUTE81,
3301       TEXT_BASE_ATTRIBUTE82,
3302       TEXT_BASE_ATTRIBUTE83,
3303       TEXT_BASE_ATTRIBUTE84,
3304       TEXT_BASE_ATTRIBUTE85,
3305       TEXT_BASE_ATTRIBUTE86,
3306       TEXT_BASE_ATTRIBUTE87,
3307       TEXT_BASE_ATTRIBUTE88,
3308       TEXT_BASE_ATTRIBUTE89,
3309       TEXT_BASE_ATTRIBUTE90,
3310       TEXT_BASE_ATTRIBUTE91,
3311       TEXT_BASE_ATTRIBUTE92,
3312       TEXT_BASE_ATTRIBUTE93,
3313       TEXT_BASE_ATTRIBUTE94,
3314       TEXT_BASE_ATTRIBUTE95,
3315       TEXT_BASE_ATTRIBUTE96,
3316       TEXT_BASE_ATTRIBUTE97,
3317       TEXT_BASE_ATTRIBUTE98,
3318       TEXT_BASE_ATTRIBUTE99,
3319       TEXT_BASE_ATTRIBUTE100,
3320       NUM_BASE_ATTRIBUTE1,
3321       NUM_BASE_ATTRIBUTE2,
3322       NUM_BASE_ATTRIBUTE3,
3323       NUM_BASE_ATTRIBUTE4,
3324       NUM_BASE_ATTRIBUTE5,
3325       NUM_BASE_ATTRIBUTE6,
3326       NUM_BASE_ATTRIBUTE7,
3327       NUM_BASE_ATTRIBUTE8,
3328       NUM_BASE_ATTRIBUTE9,
3329       NUM_BASE_ATTRIBUTE10,
3330       NUM_BASE_ATTRIBUTE11,
3331       NUM_BASE_ATTRIBUTE12,
3332       NUM_BASE_ATTRIBUTE13,
3333       NUM_BASE_ATTRIBUTE14,
3334       NUM_BASE_ATTRIBUTE15,
3335       NUM_BASE_ATTRIBUTE16,
3336       NUM_BASE_ATTRIBUTE17,
3337       NUM_BASE_ATTRIBUTE18,
3338       NUM_BASE_ATTRIBUTE19,
3339       NUM_BASE_ATTRIBUTE20,
3340       NUM_BASE_ATTRIBUTE21,
3341       NUM_BASE_ATTRIBUTE22,
3342       NUM_BASE_ATTRIBUTE23,
3343       NUM_BASE_ATTRIBUTE24,
3344       NUM_BASE_ATTRIBUTE25,
3345       NUM_BASE_ATTRIBUTE26,
3346       NUM_BASE_ATTRIBUTE27,
3347       NUM_BASE_ATTRIBUTE28,
3348       NUM_BASE_ATTRIBUTE29,
3349       NUM_BASE_ATTRIBUTE30,
3350       NUM_BASE_ATTRIBUTE31,
3351       NUM_BASE_ATTRIBUTE32,
3352       NUM_BASE_ATTRIBUTE33,
3353       NUM_BASE_ATTRIBUTE34,
3354       NUM_BASE_ATTRIBUTE35,
3355       NUM_BASE_ATTRIBUTE36,
3356       NUM_BASE_ATTRIBUTE37,
3357       NUM_BASE_ATTRIBUTE38,
3358       NUM_BASE_ATTRIBUTE39,
3359       NUM_BASE_ATTRIBUTE40,
3360       NUM_BASE_ATTRIBUTE41,
3361       NUM_BASE_ATTRIBUTE42,
3362       NUM_BASE_ATTRIBUTE43,
3363       NUM_BASE_ATTRIBUTE44,
3364       NUM_BASE_ATTRIBUTE45,
3365       NUM_BASE_ATTRIBUTE46,
3366       NUM_BASE_ATTRIBUTE47,
3367       NUM_BASE_ATTRIBUTE48,
3368       NUM_BASE_ATTRIBUTE49,
3369       NUM_BASE_ATTRIBUTE50,
3370       NUM_BASE_ATTRIBUTE51,
3371       NUM_BASE_ATTRIBUTE52,
3372       NUM_BASE_ATTRIBUTE53,
3373       NUM_BASE_ATTRIBUTE54,
3374       NUM_BASE_ATTRIBUTE55,
3375       NUM_BASE_ATTRIBUTE56,
3376       NUM_BASE_ATTRIBUTE57,
3377       NUM_BASE_ATTRIBUTE58,
3378       NUM_BASE_ATTRIBUTE59,
3379       NUM_BASE_ATTRIBUTE60,
3380       NUM_BASE_ATTRIBUTE61,
3381       NUM_BASE_ATTRIBUTE62,
3382       NUM_BASE_ATTRIBUTE63,
3383       NUM_BASE_ATTRIBUTE64,
3384       NUM_BASE_ATTRIBUTE65,
3385       NUM_BASE_ATTRIBUTE66,
3386       NUM_BASE_ATTRIBUTE67,
3387       NUM_BASE_ATTRIBUTE68,
3388       NUM_BASE_ATTRIBUTE69,
3389       NUM_BASE_ATTRIBUTE70,
3390       NUM_BASE_ATTRIBUTE71,
3391       NUM_BASE_ATTRIBUTE72,
3392       NUM_BASE_ATTRIBUTE73,
3393       NUM_BASE_ATTRIBUTE74,
3394       NUM_BASE_ATTRIBUTE75,
3395       NUM_BASE_ATTRIBUTE76,
3396       NUM_BASE_ATTRIBUTE77,
3397       NUM_BASE_ATTRIBUTE78,
3398       NUM_BASE_ATTRIBUTE79,
3399       NUM_BASE_ATTRIBUTE80,
3400       NUM_BASE_ATTRIBUTE81,
3401       NUM_BASE_ATTRIBUTE82,
3402       NUM_BASE_ATTRIBUTE83,
3403       NUM_BASE_ATTRIBUTE84,
3404       NUM_BASE_ATTRIBUTE85,
3405       NUM_BASE_ATTRIBUTE86,
3406       NUM_BASE_ATTRIBUTE87,
3407       NUM_BASE_ATTRIBUTE88,
3408       NUM_BASE_ATTRIBUTE89,
3409       NUM_BASE_ATTRIBUTE90,
3410       NUM_BASE_ATTRIBUTE91,
3411       NUM_BASE_ATTRIBUTE92,
3412       NUM_BASE_ATTRIBUTE93,
3413       NUM_BASE_ATTRIBUTE94,
3414       NUM_BASE_ATTRIBUTE95,
3415       NUM_BASE_ATTRIBUTE96,
3416       NUM_BASE_ATTRIBUTE97,
3417       NUM_BASE_ATTRIBUTE98,
3418       NUM_BASE_ATTRIBUTE99,
3419       NUM_BASE_ATTRIBUTE100,
3420       TEXT_CAT_ATTRIBUTE1,
3421       TEXT_CAT_ATTRIBUTE2,
3422       TEXT_CAT_ATTRIBUTE3,
3423       TEXT_CAT_ATTRIBUTE4,
3424       TEXT_CAT_ATTRIBUTE5,
3425       TEXT_CAT_ATTRIBUTE6,
3426       TEXT_CAT_ATTRIBUTE7,
3427       TEXT_CAT_ATTRIBUTE8,
3428       TEXT_CAT_ATTRIBUTE9,
3429       TEXT_CAT_ATTRIBUTE10,
3430       TEXT_CAT_ATTRIBUTE11,
3431       TEXT_CAT_ATTRIBUTE12,
3432       TEXT_CAT_ATTRIBUTE13,
3433       TEXT_CAT_ATTRIBUTE14,
3434       TEXT_CAT_ATTRIBUTE15,
3435       TEXT_CAT_ATTRIBUTE16,
3436       TEXT_CAT_ATTRIBUTE17,
3437       TEXT_CAT_ATTRIBUTE18,
3438       TEXT_CAT_ATTRIBUTE19,
3439       TEXT_CAT_ATTRIBUTE20,
3440       TEXT_CAT_ATTRIBUTE21,
3441       TEXT_CAT_ATTRIBUTE22,
3442       TEXT_CAT_ATTRIBUTE23,
3443       TEXT_CAT_ATTRIBUTE24,
3444       TEXT_CAT_ATTRIBUTE25,
3445       TEXT_CAT_ATTRIBUTE26,
3446       TEXT_CAT_ATTRIBUTE27,
3447       TEXT_CAT_ATTRIBUTE28,
3448       TEXT_CAT_ATTRIBUTE29,
3449       TEXT_CAT_ATTRIBUTE30,
3450       TEXT_CAT_ATTRIBUTE31,
3451       TEXT_CAT_ATTRIBUTE32,
3452       TEXT_CAT_ATTRIBUTE33,
3453       TEXT_CAT_ATTRIBUTE34,
3454       TEXT_CAT_ATTRIBUTE35,
3455       TEXT_CAT_ATTRIBUTE36,
3456       TEXT_CAT_ATTRIBUTE37,
3457       TEXT_CAT_ATTRIBUTE38,
3458       TEXT_CAT_ATTRIBUTE39,
3459       TEXT_CAT_ATTRIBUTE40,
3460       TEXT_CAT_ATTRIBUTE41,
3461       TEXT_CAT_ATTRIBUTE42,
3462       TEXT_CAT_ATTRIBUTE43,
3463       TEXT_CAT_ATTRIBUTE44,
3464       TEXT_CAT_ATTRIBUTE45,
3465       TEXT_CAT_ATTRIBUTE46,
3466       TEXT_CAT_ATTRIBUTE47,
3467       TEXT_CAT_ATTRIBUTE48,
3468       TEXT_CAT_ATTRIBUTE49,
3469       TEXT_CAT_ATTRIBUTE50,
3470       NUM_CAT_ATTRIBUTE1,
3471       NUM_CAT_ATTRIBUTE2,
3472       NUM_CAT_ATTRIBUTE3,
3473       NUM_CAT_ATTRIBUTE4,
3474       NUM_CAT_ATTRIBUTE5,
3475       NUM_CAT_ATTRIBUTE6,
3476       NUM_CAT_ATTRIBUTE7,
3477       NUM_CAT_ATTRIBUTE8,
3478       NUM_CAT_ATTRIBUTE9,
3479       NUM_CAT_ATTRIBUTE10,
3480       NUM_CAT_ATTRIBUTE11,
3481       NUM_CAT_ATTRIBUTE12,
3482       NUM_CAT_ATTRIBUTE13,
3483       NUM_CAT_ATTRIBUTE14,
3484       NUM_CAT_ATTRIBUTE15,
3485       NUM_CAT_ATTRIBUTE16,
3486       NUM_CAT_ATTRIBUTE17,
3487       NUM_CAT_ATTRIBUTE18,
3488       NUM_CAT_ATTRIBUTE19,
3489       NUM_CAT_ATTRIBUTE20,
3490       NUM_CAT_ATTRIBUTE21,
3491       NUM_CAT_ATTRIBUTE22,
3492       NUM_CAT_ATTRIBUTE23,
3493       NUM_CAT_ATTRIBUTE24,
3494       NUM_CAT_ATTRIBUTE25,
3495       NUM_CAT_ATTRIBUTE26,
3496       NUM_CAT_ATTRIBUTE27,
3497       NUM_CAT_ATTRIBUTE28,
3498       NUM_CAT_ATTRIBUTE29,
3499       NUM_CAT_ATTRIBUTE30,
3500       NUM_CAT_ATTRIBUTE31,
3501       NUM_CAT_ATTRIBUTE32,
3502       NUM_CAT_ATTRIBUTE33,
3503       NUM_CAT_ATTRIBUTE34,
3504       NUM_CAT_ATTRIBUTE35,
3505       NUM_CAT_ATTRIBUTE36,
3506       NUM_CAT_ATTRIBUTE37,
3507       NUM_CAT_ATTRIBUTE38,
3508       NUM_CAT_ATTRIBUTE39,
3509       NUM_CAT_ATTRIBUTE40,
3510       NUM_CAT_ATTRIBUTE41,
3511       NUM_CAT_ATTRIBUTE42,
3512       NUM_CAT_ATTRIBUTE43,
3513       NUM_CAT_ATTRIBUTE44,
3514       NUM_CAT_ATTRIBUTE45,
3515       NUM_CAT_ATTRIBUTE46,
3516       NUM_CAT_ATTRIBUTE47,
3517       NUM_CAT_ATTRIBUTE48,
3518       NUM_CAT_ATTRIBUTE49,
3519       NUM_CAT_ATTRIBUTE50,
3520 
3521       -- Bug 4731494: Make WHO columns not-null in Attr/TLP tables
3522       NVL(LAST_UPDATE_LOGIN, FND_GLOBAL.login_id) AS LAST_UPDATE_LOGIN,
3523       NVL(LAST_UPDATED_BY, FND_GLOBAL.user_id) AS LAST_UPDATED_BY,
3524       NVL(LAST_UPDATE_DATE, sysdate) AS LAST_UPDATE_DATE,
3525       NVL(CREATED_BY, FND_GLOBAL.user_id) AS CREATED_BY,
3526       NVL(CREATION_DATE, sysdate) AS CREATION_DATE,
3527 
3528       REQUEST_ID,
3529       PROGRAM_APPLICATION_ID,
3530       PROGRAM_ID,
3531       PROGRAM_UPDATE_DATE,
3532       PICTURE
3533     FROM   po_attr_values_interface intf_attrs,
3534            po_session_gt gt
3535     WHERE  intf_attrs.interface_attr_values_id = gt.num1
3536     AND    gt.key = p_key) PAVI
3537   ON (PAVD.attribute_values_id = PAVI.attribute_values_id
3538       AND PAVD.draft_id = PAVI.draft_id)
3539   WHEN MATCHED THEN
3540     UPDATE
3541     SET
3542       CHANGE_ACCEPTED_FLAG = NULL,
3543       DELETE_FLAG = NULL,
3544       IP_CATEGORY_ID = NVL(PAVI.IP_CATEGORY_ID, PAVD.IP_CATEGORY_ID),
3545       MANUFACTURER_PART_NUM = DECODE(PAVI.MANUFACTURER_PART_NUM, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.MANUFACTURER_PART_NUM, PAVI.MANUFACTURER_PART_NUM),
3546       THUMBNAIL_IMAGE = DECODE(PAVI.THUMBNAIL_IMAGE, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.THUMBNAIL_IMAGE, PAVI.THUMBNAIL_IMAGE),
3547       SUPPLIER_URL = DECODE(PAVI.SUPPLIER_URL, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.SUPPLIER_URL, PAVI.SUPPLIER_URL),
3548       MANUFACTURER_URL = DECODE(PAVI.MANUFACTURER_URL, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.MANUFACTURER_URL, PAVI.MANUFACTURER_URL),
3549       ATTACHMENT_URL = DECODE(PAVI.ATTACHMENT_URL, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.ATTACHMENT_URL, PAVI.ATTACHMENT_URL),
3550       UNSPSC = DECODE(PAVI.UNSPSC, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.UNSPSC, PAVI.UNSPSC),
3551       AVAILABILITY = DECODE(PAVI.AVAILABILITY, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.AVAILABILITY, PAVI.AVAILABILITY),
3552       LEAD_TIME = DECODE(PAVI.LEAD_TIME, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.LEAD_TIME, PAVI.LEAD_TIME),
3553       TEXT_BASE_ATTRIBUTE1 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE1, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE1, PAVI.TEXT_BASE_ATTRIBUTE1),
3554       TEXT_BASE_ATTRIBUTE2 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE2, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE2, PAVI.TEXT_BASE_ATTRIBUTE2),
3555       TEXT_BASE_ATTRIBUTE3 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE3, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE3, PAVI.TEXT_BASE_ATTRIBUTE3),
3556       TEXT_BASE_ATTRIBUTE4 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE4, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE4, PAVI.TEXT_BASE_ATTRIBUTE4),
3557       TEXT_BASE_ATTRIBUTE5 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE5, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE5, PAVI.TEXT_BASE_ATTRIBUTE5),
3558       TEXT_BASE_ATTRIBUTE6 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE6, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE6, PAVI.TEXT_BASE_ATTRIBUTE6),
3559       TEXT_BASE_ATTRIBUTE7 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE7, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE7, PAVI.TEXT_BASE_ATTRIBUTE7),
3560       TEXT_BASE_ATTRIBUTE8 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE8, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE8, PAVI.TEXT_BASE_ATTRIBUTE8),
3561       TEXT_BASE_ATTRIBUTE9 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE9, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE9, PAVI.TEXT_BASE_ATTRIBUTE9),
3562       TEXT_BASE_ATTRIBUTE10 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE10, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE10, PAVI.TEXT_BASE_ATTRIBUTE10),
3563       TEXT_BASE_ATTRIBUTE11 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE11, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE11, PAVI.TEXT_BASE_ATTRIBUTE11),
3564       TEXT_BASE_ATTRIBUTE12 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE12, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE12, PAVI.TEXT_BASE_ATTRIBUTE12),
3565       TEXT_BASE_ATTRIBUTE13 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE13, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE13, PAVI.TEXT_BASE_ATTRIBUTE13),
3566       TEXT_BASE_ATTRIBUTE14 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE14, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE14, PAVI.TEXT_BASE_ATTRIBUTE14),
3567       TEXT_BASE_ATTRIBUTE15 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE15, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE15, PAVI.TEXT_BASE_ATTRIBUTE15),
3568       TEXT_BASE_ATTRIBUTE16 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE16, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE16, PAVI.TEXT_BASE_ATTRIBUTE16),
3569       TEXT_BASE_ATTRIBUTE17 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE17, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE17, PAVI.TEXT_BASE_ATTRIBUTE17),
3570       TEXT_BASE_ATTRIBUTE18 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE18, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE18, PAVI.TEXT_BASE_ATTRIBUTE18),
3571       TEXT_BASE_ATTRIBUTE19 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE19, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE19, PAVI.TEXT_BASE_ATTRIBUTE19),
3572       TEXT_BASE_ATTRIBUTE20 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE20, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE20, PAVI.TEXT_BASE_ATTRIBUTE20),
3573       TEXT_BASE_ATTRIBUTE21 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE21, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE21, PAVI.TEXT_BASE_ATTRIBUTE21),
3574       TEXT_BASE_ATTRIBUTE22 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE22, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE22, PAVI.TEXT_BASE_ATTRIBUTE22),
3575       TEXT_BASE_ATTRIBUTE23 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE23, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE23, PAVI.TEXT_BASE_ATTRIBUTE23),
3576       TEXT_BASE_ATTRIBUTE24 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE24, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE24, PAVI.TEXT_BASE_ATTRIBUTE24),
3577       TEXT_BASE_ATTRIBUTE25 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE25, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE25, PAVI.TEXT_BASE_ATTRIBUTE25),
3578       TEXT_BASE_ATTRIBUTE26 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE26, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE26, PAVI.TEXT_BASE_ATTRIBUTE26),
3579       TEXT_BASE_ATTRIBUTE27 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE27, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE27, PAVI.TEXT_BASE_ATTRIBUTE27),
3580       TEXT_BASE_ATTRIBUTE28 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE28, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE28, PAVI.TEXT_BASE_ATTRIBUTE28),
3581       TEXT_BASE_ATTRIBUTE29 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE29, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE29, PAVI.TEXT_BASE_ATTRIBUTE29),
3582       TEXT_BASE_ATTRIBUTE30 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE30, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE30, PAVI.TEXT_BASE_ATTRIBUTE30),
3583       TEXT_BASE_ATTRIBUTE31 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE31, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE31, PAVI.TEXT_BASE_ATTRIBUTE31),
3584       TEXT_BASE_ATTRIBUTE32 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE32, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE32, PAVI.TEXT_BASE_ATTRIBUTE32),
3585       TEXT_BASE_ATTRIBUTE33 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE33, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE33, PAVI.TEXT_BASE_ATTRIBUTE33),
3586       TEXT_BASE_ATTRIBUTE34 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE34, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE34, PAVI.TEXT_BASE_ATTRIBUTE34),
3587       TEXT_BASE_ATTRIBUTE35 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE35, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE35, PAVI.TEXT_BASE_ATTRIBUTE35),
3588       TEXT_BASE_ATTRIBUTE36 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE36, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE36, PAVI.TEXT_BASE_ATTRIBUTE36),
3589       TEXT_BASE_ATTRIBUTE37 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE37, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE37, PAVI.TEXT_BASE_ATTRIBUTE37),
3590       TEXT_BASE_ATTRIBUTE38 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE38, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE38, PAVI.TEXT_BASE_ATTRIBUTE38),
3591       TEXT_BASE_ATTRIBUTE39 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE39, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE39, PAVI.TEXT_BASE_ATTRIBUTE39),
3592       TEXT_BASE_ATTRIBUTE40 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE40, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE40, PAVI.TEXT_BASE_ATTRIBUTE40),
3593       TEXT_BASE_ATTRIBUTE41 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE41, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE41, PAVI.TEXT_BASE_ATTRIBUTE41),
3594       TEXT_BASE_ATTRIBUTE42 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE42, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE42, PAVI.TEXT_BASE_ATTRIBUTE42),
3595       TEXT_BASE_ATTRIBUTE43 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE43, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE43, PAVI.TEXT_BASE_ATTRIBUTE43),
3596       TEXT_BASE_ATTRIBUTE44 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE44, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE44, PAVI.TEXT_BASE_ATTRIBUTE44),
3597       TEXT_BASE_ATTRIBUTE45 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE45, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE45, PAVI.TEXT_BASE_ATTRIBUTE45),
3598       TEXT_BASE_ATTRIBUTE46 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE46, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE46, PAVI.TEXT_BASE_ATTRIBUTE46),
3599       TEXT_BASE_ATTRIBUTE47 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE47, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE47, PAVI.TEXT_BASE_ATTRIBUTE47),
3600       TEXT_BASE_ATTRIBUTE48 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE48, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE48, PAVI.TEXT_BASE_ATTRIBUTE48),
3601       TEXT_BASE_ATTRIBUTE49 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE49, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE49, PAVI.TEXT_BASE_ATTRIBUTE49),
3602       TEXT_BASE_ATTRIBUTE50 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE50, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE50, PAVI.TEXT_BASE_ATTRIBUTE50),
3603       TEXT_BASE_ATTRIBUTE51 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE51, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE51, PAVI.TEXT_BASE_ATTRIBUTE51),
3604       TEXT_BASE_ATTRIBUTE52 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE52, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE52, PAVI.TEXT_BASE_ATTRIBUTE52),
3605       TEXT_BASE_ATTRIBUTE53 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE53, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE53, PAVI.TEXT_BASE_ATTRIBUTE53),
3606       TEXT_BASE_ATTRIBUTE54 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE54, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE54, PAVI.TEXT_BASE_ATTRIBUTE54),
3607       TEXT_BASE_ATTRIBUTE55 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE55, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE55, PAVI.TEXT_BASE_ATTRIBUTE55),
3608       TEXT_BASE_ATTRIBUTE56 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE56, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE56, PAVI.TEXT_BASE_ATTRIBUTE56),
3609       TEXT_BASE_ATTRIBUTE57 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE57, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE57, PAVI.TEXT_BASE_ATTRIBUTE57),
3610       TEXT_BASE_ATTRIBUTE58 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE58, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE58, PAVI.TEXT_BASE_ATTRIBUTE58),
3611       TEXT_BASE_ATTRIBUTE59 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE59, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE59, PAVI.TEXT_BASE_ATTRIBUTE59),
3612       TEXT_BASE_ATTRIBUTE60 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE60, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE60, PAVI.TEXT_BASE_ATTRIBUTE60),
3613       TEXT_BASE_ATTRIBUTE61 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE61, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE61, PAVI.TEXT_BASE_ATTRIBUTE61),
3614       TEXT_BASE_ATTRIBUTE62 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE62, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE62, PAVI.TEXT_BASE_ATTRIBUTE62),
3615       TEXT_BASE_ATTRIBUTE63 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE63, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE63, PAVI.TEXT_BASE_ATTRIBUTE63),
3616       TEXT_BASE_ATTRIBUTE64 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE64, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE64, PAVI.TEXT_BASE_ATTRIBUTE64),
3617       TEXT_BASE_ATTRIBUTE65 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE65, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE65, PAVI.TEXT_BASE_ATTRIBUTE65),
3618       TEXT_BASE_ATTRIBUTE66 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE66, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE66, PAVI.TEXT_BASE_ATTRIBUTE66),
3619       TEXT_BASE_ATTRIBUTE67 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE67, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE67, PAVI.TEXT_BASE_ATTRIBUTE67),
3620       TEXT_BASE_ATTRIBUTE68 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE68, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE68, PAVI.TEXT_BASE_ATTRIBUTE68),
3621       TEXT_BASE_ATTRIBUTE69 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE69, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE69, PAVI.TEXT_BASE_ATTRIBUTE69),
3622       TEXT_BASE_ATTRIBUTE70 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE70, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE70, PAVI.TEXT_BASE_ATTRIBUTE70),
3623       TEXT_BASE_ATTRIBUTE71 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE71, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE71, PAVI.TEXT_BASE_ATTRIBUTE71),
3624       TEXT_BASE_ATTRIBUTE72 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE72, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE72, PAVI.TEXT_BASE_ATTRIBUTE72),
3625       TEXT_BASE_ATTRIBUTE73 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE73, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE73, PAVI.TEXT_BASE_ATTRIBUTE73),
3626       TEXT_BASE_ATTRIBUTE74 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE74, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE74, PAVI.TEXT_BASE_ATTRIBUTE74),
3627       TEXT_BASE_ATTRIBUTE75 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE75, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE75, PAVI.TEXT_BASE_ATTRIBUTE75),
3628       TEXT_BASE_ATTRIBUTE76 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE76, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE76, PAVI.TEXT_BASE_ATTRIBUTE76),
3629       TEXT_BASE_ATTRIBUTE77 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE77, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE77, PAVI.TEXT_BASE_ATTRIBUTE77),
3630       TEXT_BASE_ATTRIBUTE78 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE78, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE78, PAVI.TEXT_BASE_ATTRIBUTE78),
3631       TEXT_BASE_ATTRIBUTE79 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE79, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE79, PAVI.TEXT_BASE_ATTRIBUTE79),
3632       TEXT_BASE_ATTRIBUTE80 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE80, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE80, PAVI.TEXT_BASE_ATTRIBUTE80),
3633       TEXT_BASE_ATTRIBUTE81 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE81, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE81, PAVI.TEXT_BASE_ATTRIBUTE81),
3634       TEXT_BASE_ATTRIBUTE82 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE82, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE82, PAVI.TEXT_BASE_ATTRIBUTE82),
3635       TEXT_BASE_ATTRIBUTE83 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE83, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE83, PAVI.TEXT_BASE_ATTRIBUTE83),
3636       TEXT_BASE_ATTRIBUTE84 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE84, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE84, PAVI.TEXT_BASE_ATTRIBUTE84),
3637       TEXT_BASE_ATTRIBUTE85 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE85, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE85, PAVI.TEXT_BASE_ATTRIBUTE85),
3638       TEXT_BASE_ATTRIBUTE86 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE86, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE86, PAVI.TEXT_BASE_ATTRIBUTE86),
3639       TEXT_BASE_ATTRIBUTE87 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE87, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE87, PAVI.TEXT_BASE_ATTRIBUTE87),
3640       TEXT_BASE_ATTRIBUTE88 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE88, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE88, PAVI.TEXT_BASE_ATTRIBUTE88),
3641       TEXT_BASE_ATTRIBUTE89 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE89, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE89, PAVI.TEXT_BASE_ATTRIBUTE89),
3642       TEXT_BASE_ATTRIBUTE90 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE90, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE90, PAVI.TEXT_BASE_ATTRIBUTE90),
3643       TEXT_BASE_ATTRIBUTE91 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE91, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE91, PAVI.TEXT_BASE_ATTRIBUTE91),
3644       TEXT_BASE_ATTRIBUTE92 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE92, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE92, PAVI.TEXT_BASE_ATTRIBUTE92),
3645       TEXT_BASE_ATTRIBUTE93 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE93, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE93, PAVI.TEXT_BASE_ATTRIBUTE93),
3646       TEXT_BASE_ATTRIBUTE94 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE94, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE94, PAVI.TEXT_BASE_ATTRIBUTE94),
3647       TEXT_BASE_ATTRIBUTE95 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE95, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE95, PAVI.TEXT_BASE_ATTRIBUTE95),
3648       TEXT_BASE_ATTRIBUTE96 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE96, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE96, PAVI.TEXT_BASE_ATTRIBUTE96),
3649       TEXT_BASE_ATTRIBUTE97 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE97, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE97, PAVI.TEXT_BASE_ATTRIBUTE97),
3650       TEXT_BASE_ATTRIBUTE98 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE98, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE98, PAVI.TEXT_BASE_ATTRIBUTE98),
3651       TEXT_BASE_ATTRIBUTE99 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE99, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE99, PAVI.TEXT_BASE_ATTRIBUTE99),
3652       TEXT_BASE_ATTRIBUTE100 = DECODE(PAVI.TEXT_BASE_ATTRIBUTE100, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_BASE_ATTRIBUTE100, PAVI.TEXT_BASE_ATTRIBUTE100),
3653       NUM_BASE_ATTRIBUTE1 = DECODE(PAVI.NUM_BASE_ATTRIBUTE1, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE1, PAVI.NUM_BASE_ATTRIBUTE1),
3654       NUM_BASE_ATTRIBUTE2 = DECODE(PAVI.NUM_BASE_ATTRIBUTE2, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE2, PAVI.NUM_BASE_ATTRIBUTE2),
3655       NUM_BASE_ATTRIBUTE3 = DECODE(PAVI.NUM_BASE_ATTRIBUTE3, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE3, PAVI.NUM_BASE_ATTRIBUTE3),
3656       NUM_BASE_ATTRIBUTE4 = DECODE(PAVI.NUM_BASE_ATTRIBUTE4, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE4, PAVI.NUM_BASE_ATTRIBUTE4),
3657       NUM_BASE_ATTRIBUTE5 = DECODE(PAVI.NUM_BASE_ATTRIBUTE5, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE5, PAVI.NUM_BASE_ATTRIBUTE5),
3658       NUM_BASE_ATTRIBUTE6 = DECODE(PAVI.NUM_BASE_ATTRIBUTE6, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE6, PAVI.NUM_BASE_ATTRIBUTE6),
3659       NUM_BASE_ATTRIBUTE7 = DECODE(PAVI.NUM_BASE_ATTRIBUTE7, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE7, PAVI.NUM_BASE_ATTRIBUTE7),
3660       NUM_BASE_ATTRIBUTE8 = DECODE(PAVI.NUM_BASE_ATTRIBUTE8, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE8, PAVI.NUM_BASE_ATTRIBUTE8),
3661       NUM_BASE_ATTRIBUTE9 = DECODE(PAVI.NUM_BASE_ATTRIBUTE9, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE9, PAVI.NUM_BASE_ATTRIBUTE9),
3662       NUM_BASE_ATTRIBUTE10 = DECODE(PAVI.NUM_BASE_ATTRIBUTE10, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE10, PAVI.NUM_BASE_ATTRIBUTE10),
3663       NUM_BASE_ATTRIBUTE11 = DECODE(PAVI.NUM_BASE_ATTRIBUTE11, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE11, PAVI.NUM_BASE_ATTRIBUTE11),
3664       NUM_BASE_ATTRIBUTE12 = DECODE(PAVI.NUM_BASE_ATTRIBUTE12, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE12, PAVI.NUM_BASE_ATTRIBUTE12),
3665       NUM_BASE_ATTRIBUTE13 = DECODE(PAVI.NUM_BASE_ATTRIBUTE13, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE13, PAVI.NUM_BASE_ATTRIBUTE13),
3666       NUM_BASE_ATTRIBUTE14 = DECODE(PAVI.NUM_BASE_ATTRIBUTE14, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE14, PAVI.NUM_BASE_ATTRIBUTE14),
3667       NUM_BASE_ATTRIBUTE15 = DECODE(PAVI.NUM_BASE_ATTRIBUTE15, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE15, PAVI.NUM_BASE_ATTRIBUTE15),
3668       NUM_BASE_ATTRIBUTE16 = DECODE(PAVI.NUM_BASE_ATTRIBUTE16, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE16, PAVI.NUM_BASE_ATTRIBUTE16),
3669       NUM_BASE_ATTRIBUTE17 = DECODE(PAVI.NUM_BASE_ATTRIBUTE17, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE17, PAVI.NUM_BASE_ATTRIBUTE17),
3670       NUM_BASE_ATTRIBUTE18 = DECODE(PAVI.NUM_BASE_ATTRIBUTE18, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE18, PAVI.NUM_BASE_ATTRIBUTE18),
3671       NUM_BASE_ATTRIBUTE19 = DECODE(PAVI.NUM_BASE_ATTRIBUTE19, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE19, PAVI.NUM_BASE_ATTRIBUTE19),
3672       NUM_BASE_ATTRIBUTE20 = DECODE(PAVI.NUM_BASE_ATTRIBUTE20, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE20, PAVI.NUM_BASE_ATTRIBUTE20),
3673       NUM_BASE_ATTRIBUTE21 = DECODE(PAVI.NUM_BASE_ATTRIBUTE21, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE21, PAVI.NUM_BASE_ATTRIBUTE21),
3674       NUM_BASE_ATTRIBUTE22 = DECODE(PAVI.NUM_BASE_ATTRIBUTE22, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE22, PAVI.NUM_BASE_ATTRIBUTE22),
3675       NUM_BASE_ATTRIBUTE23 = DECODE(PAVI.NUM_BASE_ATTRIBUTE23, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE23, PAVI.NUM_BASE_ATTRIBUTE23),
3676       NUM_BASE_ATTRIBUTE24 = DECODE(PAVI.NUM_BASE_ATTRIBUTE24, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE24, PAVI.NUM_BASE_ATTRIBUTE24),
3677       NUM_BASE_ATTRIBUTE25 = DECODE(PAVI.NUM_BASE_ATTRIBUTE25, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE25, PAVI.NUM_BASE_ATTRIBUTE25),
3678       NUM_BASE_ATTRIBUTE26 = DECODE(PAVI.NUM_BASE_ATTRIBUTE26, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE26, PAVI.NUM_BASE_ATTRIBUTE26),
3679       NUM_BASE_ATTRIBUTE27 = DECODE(PAVI.NUM_BASE_ATTRIBUTE27, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE27, PAVI.NUM_BASE_ATTRIBUTE27),
3680       NUM_BASE_ATTRIBUTE28 = DECODE(PAVI.NUM_BASE_ATTRIBUTE28, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE28, PAVI.NUM_BASE_ATTRIBUTE28),
3681       NUM_BASE_ATTRIBUTE29 = DECODE(PAVI.NUM_BASE_ATTRIBUTE29, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE29, PAVI.NUM_BASE_ATTRIBUTE29),
3682       NUM_BASE_ATTRIBUTE30 = DECODE(PAVI.NUM_BASE_ATTRIBUTE30, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE30, PAVI.NUM_BASE_ATTRIBUTE30),
3683       NUM_BASE_ATTRIBUTE31 = DECODE(PAVI.NUM_BASE_ATTRIBUTE31, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE31, PAVI.NUM_BASE_ATTRIBUTE31),
3684       NUM_BASE_ATTRIBUTE32 = DECODE(PAVI.NUM_BASE_ATTRIBUTE32, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE32, PAVI.NUM_BASE_ATTRIBUTE32),
3685       NUM_BASE_ATTRIBUTE33 = DECODE(PAVI.NUM_BASE_ATTRIBUTE33, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE33, PAVI.NUM_BASE_ATTRIBUTE33),
3686       NUM_BASE_ATTRIBUTE34 = DECODE(PAVI.NUM_BASE_ATTRIBUTE34, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE34, PAVI.NUM_BASE_ATTRIBUTE34),
3687       NUM_BASE_ATTRIBUTE35 = DECODE(PAVI.NUM_BASE_ATTRIBUTE35, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE35, PAVI.NUM_BASE_ATTRIBUTE35),
3688       NUM_BASE_ATTRIBUTE36 = DECODE(PAVI.NUM_BASE_ATTRIBUTE36, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE36, PAVI.NUM_BASE_ATTRIBUTE36),
3689       NUM_BASE_ATTRIBUTE37 = DECODE(PAVI.NUM_BASE_ATTRIBUTE37, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE37, PAVI.NUM_BASE_ATTRIBUTE37),
3690       NUM_BASE_ATTRIBUTE38 = DECODE(PAVI.NUM_BASE_ATTRIBUTE38, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE38, PAVI.NUM_BASE_ATTRIBUTE38),
3691       NUM_BASE_ATTRIBUTE39 = DECODE(PAVI.NUM_BASE_ATTRIBUTE39, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE39, PAVI.NUM_BASE_ATTRIBUTE39),
3692       NUM_BASE_ATTRIBUTE40 = DECODE(PAVI.NUM_BASE_ATTRIBUTE40, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE40, PAVI.NUM_BASE_ATTRIBUTE40),
3693       NUM_BASE_ATTRIBUTE41 = DECODE(PAVI.NUM_BASE_ATTRIBUTE41, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE41, PAVI.NUM_BASE_ATTRIBUTE41),
3694       NUM_BASE_ATTRIBUTE42 = DECODE(PAVI.NUM_BASE_ATTRIBUTE42, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE42, PAVI.NUM_BASE_ATTRIBUTE42),
3695       NUM_BASE_ATTRIBUTE43 = DECODE(PAVI.NUM_BASE_ATTRIBUTE43, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE43, PAVI.NUM_BASE_ATTRIBUTE43),
3696       NUM_BASE_ATTRIBUTE44 = DECODE(PAVI.NUM_BASE_ATTRIBUTE44, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE44, PAVI.NUM_BASE_ATTRIBUTE44),
3697       NUM_BASE_ATTRIBUTE45 = DECODE(PAVI.NUM_BASE_ATTRIBUTE45, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE45, PAVI.NUM_BASE_ATTRIBUTE45),
3698       NUM_BASE_ATTRIBUTE46 = DECODE(PAVI.NUM_BASE_ATTRIBUTE46, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE46, PAVI.NUM_BASE_ATTRIBUTE46),
3699       NUM_BASE_ATTRIBUTE47 = DECODE(PAVI.NUM_BASE_ATTRIBUTE47, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE47, PAVI.NUM_BASE_ATTRIBUTE47),
3700       NUM_BASE_ATTRIBUTE48 = DECODE(PAVI.NUM_BASE_ATTRIBUTE48, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE48, PAVI.NUM_BASE_ATTRIBUTE48),
3701       NUM_BASE_ATTRIBUTE49 = DECODE(PAVI.NUM_BASE_ATTRIBUTE49, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE49, PAVI.NUM_BASE_ATTRIBUTE49),
3702       NUM_BASE_ATTRIBUTE50 = DECODE(PAVI.NUM_BASE_ATTRIBUTE50, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE50, PAVI.NUM_BASE_ATTRIBUTE50),
3703       NUM_BASE_ATTRIBUTE51 = DECODE(PAVI.NUM_BASE_ATTRIBUTE51, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE51, PAVI.NUM_BASE_ATTRIBUTE51),
3704       NUM_BASE_ATTRIBUTE52 = DECODE(PAVI.NUM_BASE_ATTRIBUTE52, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE52, PAVI.NUM_BASE_ATTRIBUTE52),
3705       NUM_BASE_ATTRIBUTE53 = DECODE(PAVI.NUM_BASE_ATTRIBUTE53, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE53, PAVI.NUM_BASE_ATTRIBUTE53),
3706       NUM_BASE_ATTRIBUTE54 = DECODE(PAVI.NUM_BASE_ATTRIBUTE54, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE54, PAVI.NUM_BASE_ATTRIBUTE54),
3707       NUM_BASE_ATTRIBUTE55 = DECODE(PAVI.NUM_BASE_ATTRIBUTE55, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE55, PAVI.NUM_BASE_ATTRIBUTE55),
3708       NUM_BASE_ATTRIBUTE56 = DECODE(PAVI.NUM_BASE_ATTRIBUTE56, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE56, PAVI.NUM_BASE_ATTRIBUTE56),
3709       NUM_BASE_ATTRIBUTE57 = DECODE(PAVI.NUM_BASE_ATTRIBUTE57, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE57, PAVI.NUM_BASE_ATTRIBUTE57),
3710       NUM_BASE_ATTRIBUTE58 = DECODE(PAVI.NUM_BASE_ATTRIBUTE58, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE58, PAVI.NUM_BASE_ATTRIBUTE58),
3711       NUM_BASE_ATTRIBUTE59 = DECODE(PAVI.NUM_BASE_ATTRIBUTE59, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE59, PAVI.NUM_BASE_ATTRIBUTE59),
3712       NUM_BASE_ATTRIBUTE60 = DECODE(PAVI.NUM_BASE_ATTRIBUTE60, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE60, PAVI.NUM_BASE_ATTRIBUTE60),
3713       NUM_BASE_ATTRIBUTE61 = DECODE(PAVI.NUM_BASE_ATTRIBUTE61, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE61, PAVI.NUM_BASE_ATTRIBUTE61),
3714       NUM_BASE_ATTRIBUTE62 = DECODE(PAVI.NUM_BASE_ATTRIBUTE62, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE62, PAVI.NUM_BASE_ATTRIBUTE62),
3715       NUM_BASE_ATTRIBUTE63 = DECODE(PAVI.NUM_BASE_ATTRIBUTE63, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE63, PAVI.NUM_BASE_ATTRIBUTE63),
3716       NUM_BASE_ATTRIBUTE64 = DECODE(PAVI.NUM_BASE_ATTRIBUTE64, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE64, PAVI.NUM_BASE_ATTRIBUTE64),
3717       NUM_BASE_ATTRIBUTE65 = DECODE(PAVI.NUM_BASE_ATTRIBUTE65, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE65, PAVI.NUM_BASE_ATTRIBUTE65),
3718       NUM_BASE_ATTRIBUTE66 = DECODE(PAVI.NUM_BASE_ATTRIBUTE66, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE66, PAVI.NUM_BASE_ATTRIBUTE66),
3719       NUM_BASE_ATTRIBUTE67 = DECODE(PAVI.NUM_BASE_ATTRIBUTE67, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE67, PAVI.NUM_BASE_ATTRIBUTE67),
3720       NUM_BASE_ATTRIBUTE68 = DECODE(PAVI.NUM_BASE_ATTRIBUTE68, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE68, PAVI.NUM_BASE_ATTRIBUTE68),
3721       NUM_BASE_ATTRIBUTE69 = DECODE(PAVI.NUM_BASE_ATTRIBUTE69, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE69, PAVI.NUM_BASE_ATTRIBUTE69),
3722       NUM_BASE_ATTRIBUTE70 = DECODE(PAVI.NUM_BASE_ATTRIBUTE70, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE70, PAVI.NUM_BASE_ATTRIBUTE70),
3723       NUM_BASE_ATTRIBUTE71 = DECODE(PAVI.NUM_BASE_ATTRIBUTE71, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE71, PAVI.NUM_BASE_ATTRIBUTE71),
3724       NUM_BASE_ATTRIBUTE72 = DECODE(PAVI.NUM_BASE_ATTRIBUTE72, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE72, PAVI.NUM_BASE_ATTRIBUTE72),
3725       NUM_BASE_ATTRIBUTE73 = DECODE(PAVI.NUM_BASE_ATTRIBUTE73, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE73, PAVI.NUM_BASE_ATTRIBUTE73),
3726       NUM_BASE_ATTRIBUTE74 = DECODE(PAVI.NUM_BASE_ATTRIBUTE74, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE74, PAVI.NUM_BASE_ATTRIBUTE74),
3727       NUM_BASE_ATTRIBUTE75 = DECODE(PAVI.NUM_BASE_ATTRIBUTE75, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE75, PAVI.NUM_BASE_ATTRIBUTE75),
3728       NUM_BASE_ATTRIBUTE76 = DECODE(PAVI.NUM_BASE_ATTRIBUTE76, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE76, PAVI.NUM_BASE_ATTRIBUTE76),
3729       NUM_BASE_ATTRIBUTE77 = DECODE(PAVI.NUM_BASE_ATTRIBUTE77, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE77, PAVI.NUM_BASE_ATTRIBUTE77),
3730       NUM_BASE_ATTRIBUTE78 = DECODE(PAVI.NUM_BASE_ATTRIBUTE78, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE78, PAVI.NUM_BASE_ATTRIBUTE78),
3731       NUM_BASE_ATTRIBUTE79 = DECODE(PAVI.NUM_BASE_ATTRIBUTE79, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE79, PAVI.NUM_BASE_ATTRIBUTE79),
3732       NUM_BASE_ATTRIBUTE80 = DECODE(PAVI.NUM_BASE_ATTRIBUTE80, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE80, PAVI.NUM_BASE_ATTRIBUTE80),
3733       NUM_BASE_ATTRIBUTE81 = DECODE(PAVI.NUM_BASE_ATTRIBUTE81, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE81, PAVI.NUM_BASE_ATTRIBUTE81),
3734       NUM_BASE_ATTRIBUTE82 = DECODE(PAVI.NUM_BASE_ATTRIBUTE82, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE82, PAVI.NUM_BASE_ATTRIBUTE82),
3735       NUM_BASE_ATTRIBUTE83 = DECODE(PAVI.NUM_BASE_ATTRIBUTE83, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE83, PAVI.NUM_BASE_ATTRIBUTE83),
3736       NUM_BASE_ATTRIBUTE84 = DECODE(PAVI.NUM_BASE_ATTRIBUTE84, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE84, PAVI.NUM_BASE_ATTRIBUTE84),
3737       NUM_BASE_ATTRIBUTE85 = DECODE(PAVI.NUM_BASE_ATTRIBUTE85, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE85, PAVI.NUM_BASE_ATTRIBUTE85),
3738       NUM_BASE_ATTRIBUTE86 = DECODE(PAVI.NUM_BASE_ATTRIBUTE86, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE86, PAVI.NUM_BASE_ATTRIBUTE86),
3739       NUM_BASE_ATTRIBUTE87 = DECODE(PAVI.NUM_BASE_ATTRIBUTE87, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE87, PAVI.NUM_BASE_ATTRIBUTE87),
3740       NUM_BASE_ATTRIBUTE88 = DECODE(PAVI.NUM_BASE_ATTRIBUTE88, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE88, PAVI.NUM_BASE_ATTRIBUTE88),
3741       NUM_BASE_ATTRIBUTE89 = DECODE(PAVI.NUM_BASE_ATTRIBUTE89, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE89, PAVI.NUM_BASE_ATTRIBUTE89),
3742       NUM_BASE_ATTRIBUTE90 = DECODE(PAVI.NUM_BASE_ATTRIBUTE90, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE90, PAVI.NUM_BASE_ATTRIBUTE90),
3743       NUM_BASE_ATTRIBUTE91 = DECODE(PAVI.NUM_BASE_ATTRIBUTE91, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE91, PAVI.NUM_BASE_ATTRIBUTE91),
3744       NUM_BASE_ATTRIBUTE92 = DECODE(PAVI.NUM_BASE_ATTRIBUTE92, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE92, PAVI.NUM_BASE_ATTRIBUTE92),
3745       NUM_BASE_ATTRIBUTE93 = DECODE(PAVI.NUM_BASE_ATTRIBUTE93, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE93, PAVI.NUM_BASE_ATTRIBUTE93),
3746       NUM_BASE_ATTRIBUTE94 = DECODE(PAVI.NUM_BASE_ATTRIBUTE94, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE94, PAVI.NUM_BASE_ATTRIBUTE94),
3747       NUM_BASE_ATTRIBUTE95 = DECODE(PAVI.NUM_BASE_ATTRIBUTE95, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE95, PAVI.NUM_BASE_ATTRIBUTE95),
3748       NUM_BASE_ATTRIBUTE96 = DECODE(PAVI.NUM_BASE_ATTRIBUTE96, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE96, PAVI.NUM_BASE_ATTRIBUTE96),
3749       NUM_BASE_ATTRIBUTE97 = DECODE(PAVI.NUM_BASE_ATTRIBUTE97, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE97, PAVI.NUM_BASE_ATTRIBUTE97),
3750       NUM_BASE_ATTRIBUTE98 = DECODE(PAVI.NUM_BASE_ATTRIBUTE98, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE98, PAVI.NUM_BASE_ATTRIBUTE98),
3751       NUM_BASE_ATTRIBUTE99 = DECODE(PAVI.NUM_BASE_ATTRIBUTE99, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE99, PAVI.NUM_BASE_ATTRIBUTE99),
3752       NUM_BASE_ATTRIBUTE100 = DECODE(PAVI.NUM_BASE_ATTRIBUTE100, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_BASE_ATTRIBUTE100, PAVI.NUM_BASE_ATTRIBUTE100),
3753       TEXT_CAT_ATTRIBUTE1 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE1, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE1, PAVI.TEXT_CAT_ATTRIBUTE1),
3754       TEXT_CAT_ATTRIBUTE2 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE2, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE2, PAVI.TEXT_CAT_ATTRIBUTE2),
3755       TEXT_CAT_ATTRIBUTE3 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE3, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE3, PAVI.TEXT_CAT_ATTRIBUTE3),
3756       TEXT_CAT_ATTRIBUTE4 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE4, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE4, PAVI.TEXT_CAT_ATTRIBUTE4),
3757       TEXT_CAT_ATTRIBUTE5 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE5, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE5, PAVI.TEXT_CAT_ATTRIBUTE5),
3758       TEXT_CAT_ATTRIBUTE6 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE6, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE6, PAVI.TEXT_CAT_ATTRIBUTE6),
3759       TEXT_CAT_ATTRIBUTE7 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE7, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE7, PAVI.TEXT_CAT_ATTRIBUTE7),
3760       TEXT_CAT_ATTRIBUTE8 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE8, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE8, PAVI.TEXT_CAT_ATTRIBUTE8),
3761       TEXT_CAT_ATTRIBUTE9 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE9, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE9, PAVI.TEXT_CAT_ATTRIBUTE9),
3762       TEXT_CAT_ATTRIBUTE10 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE10, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE10, PAVI.TEXT_CAT_ATTRIBUTE10),
3763       TEXT_CAT_ATTRIBUTE11 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE11, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE11, PAVI.TEXT_CAT_ATTRIBUTE11),
3764       TEXT_CAT_ATTRIBUTE12 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE12, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE12, PAVI.TEXT_CAT_ATTRIBUTE12),
3765       TEXT_CAT_ATTRIBUTE13 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE13, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE13, PAVI.TEXT_CAT_ATTRIBUTE13),
3766       TEXT_CAT_ATTRIBUTE14 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE14, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE14, PAVI.TEXT_CAT_ATTRIBUTE14),
3767       TEXT_CAT_ATTRIBUTE15 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE15, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE15, PAVI.TEXT_CAT_ATTRIBUTE15),
3768       TEXT_CAT_ATTRIBUTE16 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE16, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE16, PAVI.TEXT_CAT_ATTRIBUTE16),
3769       TEXT_CAT_ATTRIBUTE17 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE17, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE17, PAVI.TEXT_CAT_ATTRIBUTE17),
3770       TEXT_CAT_ATTRIBUTE18 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE18, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE18, PAVI.TEXT_CAT_ATTRIBUTE18),
3771       TEXT_CAT_ATTRIBUTE19 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE19, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE19, PAVI.TEXT_CAT_ATTRIBUTE19),
3772       TEXT_CAT_ATTRIBUTE20 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE20, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE20, PAVI.TEXT_CAT_ATTRIBUTE20),
3773       TEXT_CAT_ATTRIBUTE21 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE21, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE21, PAVI.TEXT_CAT_ATTRIBUTE21),
3774       TEXT_CAT_ATTRIBUTE22 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE22, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE22, PAVI.TEXT_CAT_ATTRIBUTE22),
3775       TEXT_CAT_ATTRIBUTE23 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE23, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE23, PAVI.TEXT_CAT_ATTRIBUTE23),
3776       TEXT_CAT_ATTRIBUTE24 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE24, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE24, PAVI.TEXT_CAT_ATTRIBUTE24),
3777       TEXT_CAT_ATTRIBUTE25 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE25, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE25, PAVI.TEXT_CAT_ATTRIBUTE25),
3778       TEXT_CAT_ATTRIBUTE26 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE26, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE26, PAVI.TEXT_CAT_ATTRIBUTE26),
3779       TEXT_CAT_ATTRIBUTE27 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE27, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE27, PAVI.TEXT_CAT_ATTRIBUTE27),
3780       TEXT_CAT_ATTRIBUTE28 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE28, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE28, PAVI.TEXT_CAT_ATTRIBUTE28),
3781       TEXT_CAT_ATTRIBUTE29 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE29, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE29, PAVI.TEXT_CAT_ATTRIBUTE29),
3782       TEXT_CAT_ATTRIBUTE30 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE30, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE30, PAVI.TEXT_CAT_ATTRIBUTE30),
3783       TEXT_CAT_ATTRIBUTE31 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE31, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE31, PAVI.TEXT_CAT_ATTRIBUTE31),
3784       TEXT_CAT_ATTRIBUTE32 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE32, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE32, PAVI.TEXT_CAT_ATTRIBUTE32),
3785       TEXT_CAT_ATTRIBUTE33 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE33, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE33, PAVI.TEXT_CAT_ATTRIBUTE33),
3786       TEXT_CAT_ATTRIBUTE34 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE34, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE34, PAVI.TEXT_CAT_ATTRIBUTE34),
3787       TEXT_CAT_ATTRIBUTE35 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE35, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE35, PAVI.TEXT_CAT_ATTRIBUTE35),
3788       TEXT_CAT_ATTRIBUTE36 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE36, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE36, PAVI.TEXT_CAT_ATTRIBUTE36),
3789       TEXT_CAT_ATTRIBUTE37 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE37, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE37, PAVI.TEXT_CAT_ATTRIBUTE37),
3790       TEXT_CAT_ATTRIBUTE38 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE38, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE38, PAVI.TEXT_CAT_ATTRIBUTE38),
3791       TEXT_CAT_ATTRIBUTE39 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE39, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE39, PAVI.TEXT_CAT_ATTRIBUTE39),
3792       TEXT_CAT_ATTRIBUTE40 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE40, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE40, PAVI.TEXT_CAT_ATTRIBUTE40),
3793       TEXT_CAT_ATTRIBUTE41 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE41, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE41, PAVI.TEXT_CAT_ATTRIBUTE41),
3794       TEXT_CAT_ATTRIBUTE42 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE42, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE42, PAVI.TEXT_CAT_ATTRIBUTE42),
3795       TEXT_CAT_ATTRIBUTE43 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE43, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE43, PAVI.TEXT_CAT_ATTRIBUTE43),
3796       TEXT_CAT_ATTRIBUTE44 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE44, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE44, PAVI.TEXT_CAT_ATTRIBUTE44),
3797       TEXT_CAT_ATTRIBUTE45 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE45, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE45, PAVI.TEXT_CAT_ATTRIBUTE45),
3798       TEXT_CAT_ATTRIBUTE46 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE46, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE46, PAVI.TEXT_CAT_ATTRIBUTE46),
3799       TEXT_CAT_ATTRIBUTE47 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE47, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE47, PAVI.TEXT_CAT_ATTRIBUTE47),
3800       TEXT_CAT_ATTRIBUTE48 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE48, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE48, PAVI.TEXT_CAT_ATTRIBUTE48),
3801       TEXT_CAT_ATTRIBUTE49 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE49, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE49, PAVI.TEXT_CAT_ATTRIBUTE49),
3802       TEXT_CAT_ATTRIBUTE50 = DECODE(PAVI.TEXT_CAT_ATTRIBUTE50, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.TEXT_CAT_ATTRIBUTE50, PAVI.TEXT_CAT_ATTRIBUTE50),
3803       NUM_CAT_ATTRIBUTE1 = DECODE(PAVI.NUM_CAT_ATTRIBUTE1, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE1, PAVI.NUM_CAT_ATTRIBUTE1),
3804       NUM_CAT_ATTRIBUTE2 = DECODE(PAVI.NUM_CAT_ATTRIBUTE2, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE2, PAVI.NUM_CAT_ATTRIBUTE2),
3805       NUM_CAT_ATTRIBUTE3 = DECODE(PAVI.NUM_CAT_ATTRIBUTE3, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE3, PAVI.NUM_CAT_ATTRIBUTE3),
3806       NUM_CAT_ATTRIBUTE4 = DECODE(PAVI.NUM_CAT_ATTRIBUTE4, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE4, PAVI.NUM_CAT_ATTRIBUTE4),
3807       NUM_CAT_ATTRIBUTE5 = DECODE(PAVI.NUM_CAT_ATTRIBUTE5, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE5, PAVI.NUM_CAT_ATTRIBUTE5),
3808       NUM_CAT_ATTRIBUTE6 = DECODE(PAVI.NUM_CAT_ATTRIBUTE6, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE6, PAVI.NUM_CAT_ATTRIBUTE6),
3809       NUM_CAT_ATTRIBUTE7 = DECODE(PAVI.NUM_CAT_ATTRIBUTE7, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE7, PAVI.NUM_CAT_ATTRIBUTE7),
3810       NUM_CAT_ATTRIBUTE8 = DECODE(PAVI.NUM_CAT_ATTRIBUTE8, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE8, PAVI.NUM_CAT_ATTRIBUTE8),
3811       NUM_CAT_ATTRIBUTE9 = DECODE(PAVI.NUM_CAT_ATTRIBUTE9, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE9, PAVI.NUM_CAT_ATTRIBUTE9),
3812       NUM_CAT_ATTRIBUTE10 = DECODE(PAVI.NUM_CAT_ATTRIBUTE10, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE10, PAVI.NUM_CAT_ATTRIBUTE10),
3813       NUM_CAT_ATTRIBUTE11 = DECODE(PAVI.NUM_CAT_ATTRIBUTE11, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE11, PAVI.NUM_CAT_ATTRIBUTE11),
3814       NUM_CAT_ATTRIBUTE12 = DECODE(PAVI.NUM_CAT_ATTRIBUTE12, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE12, PAVI.NUM_CAT_ATTRIBUTE12),
3815       NUM_CAT_ATTRIBUTE13 = DECODE(PAVI.NUM_CAT_ATTRIBUTE13, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE13, PAVI.NUM_CAT_ATTRIBUTE13),
3816       NUM_CAT_ATTRIBUTE14 = DECODE(PAVI.NUM_CAT_ATTRIBUTE14, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE14, PAVI.NUM_CAT_ATTRIBUTE14),
3817       NUM_CAT_ATTRIBUTE15 = DECODE(PAVI.NUM_CAT_ATTRIBUTE15, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE15, PAVI.NUM_CAT_ATTRIBUTE15),
3818       NUM_CAT_ATTRIBUTE16 = DECODE(PAVI.NUM_CAT_ATTRIBUTE16, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE16, PAVI.NUM_CAT_ATTRIBUTE16),
3819       NUM_CAT_ATTRIBUTE17 = DECODE(PAVI.NUM_CAT_ATTRIBUTE17, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE17, PAVI.NUM_CAT_ATTRIBUTE17),
3820       NUM_CAT_ATTRIBUTE18 = DECODE(PAVI.NUM_CAT_ATTRIBUTE18, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE18, PAVI.NUM_CAT_ATTRIBUTE18),
3821       NUM_CAT_ATTRIBUTE19 = DECODE(PAVI.NUM_CAT_ATTRIBUTE19, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE19, PAVI.NUM_CAT_ATTRIBUTE19),
3822       NUM_CAT_ATTRIBUTE20 = DECODE(PAVI.NUM_CAT_ATTRIBUTE20, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE20, PAVI.NUM_CAT_ATTRIBUTE20),
3823       NUM_CAT_ATTRIBUTE21 = DECODE(PAVI.NUM_CAT_ATTRIBUTE21, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE21, PAVI.NUM_CAT_ATTRIBUTE21),
3824       NUM_CAT_ATTRIBUTE22 = DECODE(PAVI.NUM_CAT_ATTRIBUTE22, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE22, PAVI.NUM_CAT_ATTRIBUTE22),
3825       NUM_CAT_ATTRIBUTE23 = DECODE(PAVI.NUM_CAT_ATTRIBUTE23, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE23, PAVI.NUM_CAT_ATTRIBUTE23),
3826       NUM_CAT_ATTRIBUTE24 = DECODE(PAVI.NUM_CAT_ATTRIBUTE24, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE24, PAVI.NUM_CAT_ATTRIBUTE24),
3827       NUM_CAT_ATTRIBUTE25 = DECODE(PAVI.NUM_CAT_ATTRIBUTE25, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE25, PAVI.NUM_CAT_ATTRIBUTE25),
3828       NUM_CAT_ATTRIBUTE26 = DECODE(PAVI.NUM_CAT_ATTRIBUTE26, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE26, PAVI.NUM_CAT_ATTRIBUTE26),
3829       NUM_CAT_ATTRIBUTE27 = DECODE(PAVI.NUM_CAT_ATTRIBUTE27, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE27, PAVI.NUM_CAT_ATTRIBUTE27),
3830       NUM_CAT_ATTRIBUTE28 = DECODE(PAVI.NUM_CAT_ATTRIBUTE28, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE28, PAVI.NUM_CAT_ATTRIBUTE28),
3831       NUM_CAT_ATTRIBUTE29 = DECODE(PAVI.NUM_CAT_ATTRIBUTE29, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE29, PAVI.NUM_CAT_ATTRIBUTE29),
3832       NUM_CAT_ATTRIBUTE30 = DECODE(PAVI.NUM_CAT_ATTRIBUTE30, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE30, PAVI.NUM_CAT_ATTRIBUTE30),
3833       NUM_CAT_ATTRIBUTE31 = DECODE(PAVI.NUM_CAT_ATTRIBUTE31, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE31, PAVI.NUM_CAT_ATTRIBUTE31),
3834       NUM_CAT_ATTRIBUTE32 = DECODE(PAVI.NUM_CAT_ATTRIBUTE32, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE32, PAVI.NUM_CAT_ATTRIBUTE32),
3835       NUM_CAT_ATTRIBUTE33 = DECODE(PAVI.NUM_CAT_ATTRIBUTE33, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE33, PAVI.NUM_CAT_ATTRIBUTE33),
3836       NUM_CAT_ATTRIBUTE34 = DECODE(PAVI.NUM_CAT_ATTRIBUTE34, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE34, PAVI.NUM_CAT_ATTRIBUTE34),
3837       NUM_CAT_ATTRIBUTE35 = DECODE(PAVI.NUM_CAT_ATTRIBUTE35, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE35, PAVI.NUM_CAT_ATTRIBUTE35),
3838       NUM_CAT_ATTRIBUTE36 = DECODE(PAVI.NUM_CAT_ATTRIBUTE36, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE36, PAVI.NUM_CAT_ATTRIBUTE36),
3839       NUM_CAT_ATTRIBUTE37 = DECODE(PAVI.NUM_CAT_ATTRIBUTE37, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE37, PAVI.NUM_CAT_ATTRIBUTE37),
3840       NUM_CAT_ATTRIBUTE38 = DECODE(PAVI.NUM_CAT_ATTRIBUTE38, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE38, PAVI.NUM_CAT_ATTRIBUTE38),
3841       NUM_CAT_ATTRIBUTE39 = DECODE(PAVI.NUM_CAT_ATTRIBUTE39, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE39, PAVI.NUM_CAT_ATTRIBUTE39),
3842       NUM_CAT_ATTRIBUTE40 = DECODE(PAVI.NUM_CAT_ATTRIBUTE40, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE40, PAVI.NUM_CAT_ATTRIBUTE40),
3843       NUM_CAT_ATTRIBUTE41 = DECODE(PAVI.NUM_CAT_ATTRIBUTE41, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE41, PAVI.NUM_CAT_ATTRIBUTE41),
3844       NUM_CAT_ATTRIBUTE42 = DECODE(PAVI.NUM_CAT_ATTRIBUTE42, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE42, PAVI.NUM_CAT_ATTRIBUTE42),
3845       NUM_CAT_ATTRIBUTE43 = DECODE(PAVI.NUM_CAT_ATTRIBUTE43, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE43, PAVI.NUM_CAT_ATTRIBUTE43),
3846       NUM_CAT_ATTRIBUTE44 = DECODE(PAVI.NUM_CAT_ATTRIBUTE44, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE44, PAVI.NUM_CAT_ATTRIBUTE44),
3847       NUM_CAT_ATTRIBUTE45 = DECODE(PAVI.NUM_CAT_ATTRIBUTE45, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE45, PAVI.NUM_CAT_ATTRIBUTE45),
3848       NUM_CAT_ATTRIBUTE46 = DECODE(PAVI.NUM_CAT_ATTRIBUTE46, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE46, PAVI.NUM_CAT_ATTRIBUTE46),
3849       NUM_CAT_ATTRIBUTE47 = DECODE(PAVI.NUM_CAT_ATTRIBUTE47, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE47, PAVI.NUM_CAT_ATTRIBUTE47),
3850       NUM_CAT_ATTRIBUTE48 = DECODE(PAVI.NUM_CAT_ATTRIBUTE48, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE48, PAVI.NUM_CAT_ATTRIBUTE48),
3851       NUM_CAT_ATTRIBUTE49 = DECODE(PAVI.NUM_CAT_ATTRIBUTE49, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE49, PAVI.NUM_CAT_ATTRIBUTE49),
3852       NUM_CAT_ATTRIBUTE50 = DECODE(PAVI.NUM_CAT_ATTRIBUTE50, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, NULL, PAVD.NUM_CAT_ATTRIBUTE50, PAVI.NUM_CAT_ATTRIBUTE50),
3853       LAST_UPDATE_LOGIN = NVL(PAVI.LAST_UPDATE_LOGIN, FND_GLOBAL.login_id),
3854       LAST_UPDATED_BY = NVL(PAVI.LAST_UPDATED_BY, FND_GLOBAL.user_id),
3855       LAST_UPDATE_DATE = NVL(PAVI.LAST_UPDATE_DATE, sysdate),
3856       REQUEST_ID = NVL(PAVI.REQUEST_ID, FND_GLOBAL.conc_request_id),
3857       PROGRAM_APPLICATION_ID = NVL(PAVI.PROGRAM_APPLICATION_ID, FND_GLOBAL.prog_appl_id),
3858       PROGRAM_ID = NVL(PAVI.PROGRAM_ID, FND_GLOBAL.conc_program_id),
3859       PROGRAM_UPDATE_DATE = NVL(PAVI.PROGRAM_UPDATE_DATE, sysdate),
3860       PICTURE = DECODE(PAVI.PICTURE, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVD.PICTURE, PAVI.PICTURE)
3861   WHEN NOT MATCHED THEN
3862     INSERT
3863     (
3864       ATTRIBUTE_VALUES_ID,
3865       DRAFT_ID,
3866       CHANGE_ACCEPTED_FLAG,
3867       DELETE_FLAG,
3868       PO_LINE_ID,
3869       REQ_TEMPLATE_NAME,
3870       REQ_TEMPLATE_LINE_NUM,
3871       IP_CATEGORY_ID,
3872       INVENTORY_ITEM_ID,
3873       ORG_ID,
3874       MANUFACTURER_PART_NUM,
3875       THUMBNAIL_IMAGE,
3876       SUPPLIER_URL,
3877       MANUFACTURER_URL,
3878       ATTACHMENT_URL,
3879       UNSPSC,
3880       AVAILABILITY,
3881       LEAD_TIME,
3882       TEXT_BASE_ATTRIBUTE1,
3883       TEXT_BASE_ATTRIBUTE2,
3884       TEXT_BASE_ATTRIBUTE3,
3885       TEXT_BASE_ATTRIBUTE4,
3886       TEXT_BASE_ATTRIBUTE5,
3887       TEXT_BASE_ATTRIBUTE6,
3888       TEXT_BASE_ATTRIBUTE7,
3889       TEXT_BASE_ATTRIBUTE8,
3890       TEXT_BASE_ATTRIBUTE9,
3891       TEXT_BASE_ATTRIBUTE10,
3892       TEXT_BASE_ATTRIBUTE11,
3893       TEXT_BASE_ATTRIBUTE12,
3894       TEXT_BASE_ATTRIBUTE13,
3895       TEXT_BASE_ATTRIBUTE14,
3896       TEXT_BASE_ATTRIBUTE15,
3897       TEXT_BASE_ATTRIBUTE16,
3898       TEXT_BASE_ATTRIBUTE17,
3899       TEXT_BASE_ATTRIBUTE18,
3900       TEXT_BASE_ATTRIBUTE19,
3901       TEXT_BASE_ATTRIBUTE20,
3902       TEXT_BASE_ATTRIBUTE21,
3903       TEXT_BASE_ATTRIBUTE22,
3904       TEXT_BASE_ATTRIBUTE23,
3905       TEXT_BASE_ATTRIBUTE24,
3906       TEXT_BASE_ATTRIBUTE25,
3907       TEXT_BASE_ATTRIBUTE26,
3908       TEXT_BASE_ATTRIBUTE27,
3909       TEXT_BASE_ATTRIBUTE28,
3910       TEXT_BASE_ATTRIBUTE29,
3911       TEXT_BASE_ATTRIBUTE30,
3912       TEXT_BASE_ATTRIBUTE31,
3913       TEXT_BASE_ATTRIBUTE32,
3914       TEXT_BASE_ATTRIBUTE33,
3915       TEXT_BASE_ATTRIBUTE34,
3916       TEXT_BASE_ATTRIBUTE35,
3917       TEXT_BASE_ATTRIBUTE36,
3918       TEXT_BASE_ATTRIBUTE37,
3919       TEXT_BASE_ATTRIBUTE38,
3920       TEXT_BASE_ATTRIBUTE39,
3921       TEXT_BASE_ATTRIBUTE40,
3922       TEXT_BASE_ATTRIBUTE41,
3923       TEXT_BASE_ATTRIBUTE42,
3924       TEXT_BASE_ATTRIBUTE43,
3925       TEXT_BASE_ATTRIBUTE44,
3926       TEXT_BASE_ATTRIBUTE45,
3927       TEXT_BASE_ATTRIBUTE46,
3928       TEXT_BASE_ATTRIBUTE47,
3929       TEXT_BASE_ATTRIBUTE48,
3930       TEXT_BASE_ATTRIBUTE49,
3931       TEXT_BASE_ATTRIBUTE50,
3932       TEXT_BASE_ATTRIBUTE51,
3933       TEXT_BASE_ATTRIBUTE52,
3934       TEXT_BASE_ATTRIBUTE53,
3935       TEXT_BASE_ATTRIBUTE54,
3936       TEXT_BASE_ATTRIBUTE55,
3937       TEXT_BASE_ATTRIBUTE56,
3938       TEXT_BASE_ATTRIBUTE57,
3939       TEXT_BASE_ATTRIBUTE58,
3940       TEXT_BASE_ATTRIBUTE59,
3941       TEXT_BASE_ATTRIBUTE60,
3942       TEXT_BASE_ATTRIBUTE61,
3943       TEXT_BASE_ATTRIBUTE62,
3944       TEXT_BASE_ATTRIBUTE63,
3945       TEXT_BASE_ATTRIBUTE64,
3946       TEXT_BASE_ATTRIBUTE65,
3947       TEXT_BASE_ATTRIBUTE66,
3948       TEXT_BASE_ATTRIBUTE67,
3949       TEXT_BASE_ATTRIBUTE68,
3950       TEXT_BASE_ATTRIBUTE69,
3951       TEXT_BASE_ATTRIBUTE70,
3952       TEXT_BASE_ATTRIBUTE71,
3953       TEXT_BASE_ATTRIBUTE72,
3954       TEXT_BASE_ATTRIBUTE73,
3955       TEXT_BASE_ATTRIBUTE74,
3956       TEXT_BASE_ATTRIBUTE75,
3957       TEXT_BASE_ATTRIBUTE76,
3958       TEXT_BASE_ATTRIBUTE77,
3959       TEXT_BASE_ATTRIBUTE78,
3960       TEXT_BASE_ATTRIBUTE79,
3961       TEXT_BASE_ATTRIBUTE80,
3962       TEXT_BASE_ATTRIBUTE81,
3963       TEXT_BASE_ATTRIBUTE82,
3964       TEXT_BASE_ATTRIBUTE83,
3965       TEXT_BASE_ATTRIBUTE84,
3966       TEXT_BASE_ATTRIBUTE85,
3967       TEXT_BASE_ATTRIBUTE86,
3968       TEXT_BASE_ATTRIBUTE87,
3969       TEXT_BASE_ATTRIBUTE88,
3970       TEXT_BASE_ATTRIBUTE89,
3971       TEXT_BASE_ATTRIBUTE90,
3972       TEXT_BASE_ATTRIBUTE91,
3973       TEXT_BASE_ATTRIBUTE92,
3974       TEXT_BASE_ATTRIBUTE93,
3975       TEXT_BASE_ATTRIBUTE94,
3976       TEXT_BASE_ATTRIBUTE95,
3977       TEXT_BASE_ATTRIBUTE96,
3978       TEXT_BASE_ATTRIBUTE97,
3979       TEXT_BASE_ATTRIBUTE98,
3980       TEXT_BASE_ATTRIBUTE99,
3981       TEXT_BASE_ATTRIBUTE100,
3982       NUM_BASE_ATTRIBUTE1,
3983       NUM_BASE_ATTRIBUTE2,
3984       NUM_BASE_ATTRIBUTE3,
3985       NUM_BASE_ATTRIBUTE4,
3986       NUM_BASE_ATTRIBUTE5,
3987       NUM_BASE_ATTRIBUTE6,
3988       NUM_BASE_ATTRIBUTE7,
3989       NUM_BASE_ATTRIBUTE8,
3990       NUM_BASE_ATTRIBUTE9,
3991       NUM_BASE_ATTRIBUTE10,
3992       NUM_BASE_ATTRIBUTE11,
3993       NUM_BASE_ATTRIBUTE12,
3994       NUM_BASE_ATTRIBUTE13,
3995       NUM_BASE_ATTRIBUTE14,
3996       NUM_BASE_ATTRIBUTE15,
3997       NUM_BASE_ATTRIBUTE16,
3998       NUM_BASE_ATTRIBUTE17,
3999       NUM_BASE_ATTRIBUTE18,
4000       NUM_BASE_ATTRIBUTE19,
4001       NUM_BASE_ATTRIBUTE20,
4002       NUM_BASE_ATTRIBUTE21,
4003       NUM_BASE_ATTRIBUTE22,
4004       NUM_BASE_ATTRIBUTE23,
4005       NUM_BASE_ATTRIBUTE24,
4006       NUM_BASE_ATTRIBUTE25,
4007       NUM_BASE_ATTRIBUTE26,
4008       NUM_BASE_ATTRIBUTE27,
4009       NUM_BASE_ATTRIBUTE28,
4010       NUM_BASE_ATTRIBUTE29,
4011       NUM_BASE_ATTRIBUTE30,
4012       NUM_BASE_ATTRIBUTE31,
4013       NUM_BASE_ATTRIBUTE32,
4014       NUM_BASE_ATTRIBUTE33,
4015       NUM_BASE_ATTRIBUTE34,
4016       NUM_BASE_ATTRIBUTE35,
4017       NUM_BASE_ATTRIBUTE36,
4018       NUM_BASE_ATTRIBUTE37,
4019       NUM_BASE_ATTRIBUTE38,
4020       NUM_BASE_ATTRIBUTE39,
4021       NUM_BASE_ATTRIBUTE40,
4022       NUM_BASE_ATTRIBUTE41,
4023       NUM_BASE_ATTRIBUTE42,
4024       NUM_BASE_ATTRIBUTE43,
4025       NUM_BASE_ATTRIBUTE44,
4026       NUM_BASE_ATTRIBUTE45,
4027       NUM_BASE_ATTRIBUTE46,
4028       NUM_BASE_ATTRIBUTE47,
4029       NUM_BASE_ATTRIBUTE48,
4030       NUM_BASE_ATTRIBUTE49,
4031       NUM_BASE_ATTRIBUTE50,
4032       NUM_BASE_ATTRIBUTE51,
4033       NUM_BASE_ATTRIBUTE52,
4034       NUM_BASE_ATTRIBUTE53,
4035       NUM_BASE_ATTRIBUTE54,
4036       NUM_BASE_ATTRIBUTE55,
4037       NUM_BASE_ATTRIBUTE56,
4038       NUM_BASE_ATTRIBUTE57,
4039       NUM_BASE_ATTRIBUTE58,
4040       NUM_BASE_ATTRIBUTE59,
4041       NUM_BASE_ATTRIBUTE60,
4042       NUM_BASE_ATTRIBUTE61,
4043       NUM_BASE_ATTRIBUTE62,
4044       NUM_BASE_ATTRIBUTE63,
4045       NUM_BASE_ATTRIBUTE64,
4046       NUM_BASE_ATTRIBUTE65,
4047       NUM_BASE_ATTRIBUTE66,
4048       NUM_BASE_ATTRIBUTE67,
4049       NUM_BASE_ATTRIBUTE68,
4050       NUM_BASE_ATTRIBUTE69,
4051       NUM_BASE_ATTRIBUTE70,
4052       NUM_BASE_ATTRIBUTE71,
4053       NUM_BASE_ATTRIBUTE72,
4054       NUM_BASE_ATTRIBUTE73,
4055       NUM_BASE_ATTRIBUTE74,
4056       NUM_BASE_ATTRIBUTE75,
4057       NUM_BASE_ATTRIBUTE76,
4058       NUM_BASE_ATTRIBUTE77,
4059       NUM_BASE_ATTRIBUTE78,
4060       NUM_BASE_ATTRIBUTE79,
4061       NUM_BASE_ATTRIBUTE80,
4062       NUM_BASE_ATTRIBUTE81,
4063       NUM_BASE_ATTRIBUTE82,
4064       NUM_BASE_ATTRIBUTE83,
4065       NUM_BASE_ATTRIBUTE84,
4066       NUM_BASE_ATTRIBUTE85,
4067       NUM_BASE_ATTRIBUTE86,
4068       NUM_BASE_ATTRIBUTE87,
4069       NUM_BASE_ATTRIBUTE88,
4070       NUM_BASE_ATTRIBUTE89,
4071       NUM_BASE_ATTRIBUTE90,
4072       NUM_BASE_ATTRIBUTE91,
4073       NUM_BASE_ATTRIBUTE92,
4074       NUM_BASE_ATTRIBUTE93,
4075       NUM_BASE_ATTRIBUTE94,
4076       NUM_BASE_ATTRIBUTE95,
4077       NUM_BASE_ATTRIBUTE96,
4078       NUM_BASE_ATTRIBUTE97,
4079       NUM_BASE_ATTRIBUTE98,
4080       NUM_BASE_ATTRIBUTE99,
4081       NUM_BASE_ATTRIBUTE100,
4082       TEXT_CAT_ATTRIBUTE1,
4083       TEXT_CAT_ATTRIBUTE2,
4084       TEXT_CAT_ATTRIBUTE3,
4085       TEXT_CAT_ATTRIBUTE4,
4086       TEXT_CAT_ATTRIBUTE5,
4087       TEXT_CAT_ATTRIBUTE6,
4088       TEXT_CAT_ATTRIBUTE7,
4089       TEXT_CAT_ATTRIBUTE8,
4090       TEXT_CAT_ATTRIBUTE9,
4091       TEXT_CAT_ATTRIBUTE10,
4092       TEXT_CAT_ATTRIBUTE11,
4093       TEXT_CAT_ATTRIBUTE12,
4094       TEXT_CAT_ATTRIBUTE13,
4095       TEXT_CAT_ATTRIBUTE14,
4096       TEXT_CAT_ATTRIBUTE15,
4097       TEXT_CAT_ATTRIBUTE16,
4098       TEXT_CAT_ATTRIBUTE17,
4099       TEXT_CAT_ATTRIBUTE18,
4100       TEXT_CAT_ATTRIBUTE19,
4101       TEXT_CAT_ATTRIBUTE20,
4102       TEXT_CAT_ATTRIBUTE21,
4103       TEXT_CAT_ATTRIBUTE22,
4104       TEXT_CAT_ATTRIBUTE23,
4105       TEXT_CAT_ATTRIBUTE24,
4106       TEXT_CAT_ATTRIBUTE25,
4107       TEXT_CAT_ATTRIBUTE26,
4108       TEXT_CAT_ATTRIBUTE27,
4109       TEXT_CAT_ATTRIBUTE28,
4110       TEXT_CAT_ATTRIBUTE29,
4111       TEXT_CAT_ATTRIBUTE30,
4112       TEXT_CAT_ATTRIBUTE31,
4113       TEXT_CAT_ATTRIBUTE32,
4114       TEXT_CAT_ATTRIBUTE33,
4115       TEXT_CAT_ATTRIBUTE34,
4116       TEXT_CAT_ATTRIBUTE35,
4117       TEXT_CAT_ATTRIBUTE36,
4118       TEXT_CAT_ATTRIBUTE37,
4119       TEXT_CAT_ATTRIBUTE38,
4120       TEXT_CAT_ATTRIBUTE39,
4121       TEXT_CAT_ATTRIBUTE40,
4122       TEXT_CAT_ATTRIBUTE41,
4123       TEXT_CAT_ATTRIBUTE42,
4124       TEXT_CAT_ATTRIBUTE43,
4125       TEXT_CAT_ATTRIBUTE44,
4126       TEXT_CAT_ATTRIBUTE45,
4127       TEXT_CAT_ATTRIBUTE46,
4128       TEXT_CAT_ATTRIBUTE47,
4129       TEXT_CAT_ATTRIBUTE48,
4130       TEXT_CAT_ATTRIBUTE49,
4131       TEXT_CAT_ATTRIBUTE50,
4132       NUM_CAT_ATTRIBUTE1,
4133       NUM_CAT_ATTRIBUTE2,
4134       NUM_CAT_ATTRIBUTE3,
4135       NUM_CAT_ATTRIBUTE4,
4136       NUM_CAT_ATTRIBUTE5,
4137       NUM_CAT_ATTRIBUTE6,
4138       NUM_CAT_ATTRIBUTE7,
4139       NUM_CAT_ATTRIBUTE8,
4140       NUM_CAT_ATTRIBUTE9,
4141       NUM_CAT_ATTRIBUTE10,
4142       NUM_CAT_ATTRIBUTE11,
4143       NUM_CAT_ATTRIBUTE12,
4144       NUM_CAT_ATTRIBUTE13,
4145       NUM_CAT_ATTRIBUTE14,
4146       NUM_CAT_ATTRIBUTE15,
4147       NUM_CAT_ATTRIBUTE16,
4148       NUM_CAT_ATTRIBUTE17,
4149       NUM_CAT_ATTRIBUTE18,
4150       NUM_CAT_ATTRIBUTE19,
4151       NUM_CAT_ATTRIBUTE20,
4152       NUM_CAT_ATTRIBUTE21,
4153       NUM_CAT_ATTRIBUTE22,
4154       NUM_CAT_ATTRIBUTE23,
4155       NUM_CAT_ATTRIBUTE24,
4156       NUM_CAT_ATTRIBUTE25,
4157       NUM_CAT_ATTRIBUTE26,
4158       NUM_CAT_ATTRIBUTE27,
4159       NUM_CAT_ATTRIBUTE28,
4160       NUM_CAT_ATTRIBUTE29,
4161       NUM_CAT_ATTRIBUTE30,
4162       NUM_CAT_ATTRIBUTE31,
4163       NUM_CAT_ATTRIBUTE32,
4164       NUM_CAT_ATTRIBUTE33,
4165       NUM_CAT_ATTRIBUTE34,
4166       NUM_CAT_ATTRIBUTE35,
4167       NUM_CAT_ATTRIBUTE36,
4168       NUM_CAT_ATTRIBUTE37,
4169       NUM_CAT_ATTRIBUTE38,
4170       NUM_CAT_ATTRIBUTE39,
4171       NUM_CAT_ATTRIBUTE40,
4172       NUM_CAT_ATTRIBUTE41,
4173       NUM_CAT_ATTRIBUTE42,
4174       NUM_CAT_ATTRIBUTE43,
4175       NUM_CAT_ATTRIBUTE44,
4176       NUM_CAT_ATTRIBUTE45,
4177       NUM_CAT_ATTRIBUTE46,
4178       NUM_CAT_ATTRIBUTE47,
4179       NUM_CAT_ATTRIBUTE48,
4180       NUM_CAT_ATTRIBUTE49,
4181       NUM_CAT_ATTRIBUTE50,
4182       LAST_UPDATE_LOGIN,
4183       LAST_UPDATED_BY,
4184       LAST_UPDATE_DATE,
4185       CREATED_BY,
4186       CREATION_DATE,
4187       REQUEST_ID,
4188       PROGRAM_APPLICATION_ID,
4189       PROGRAM_ID,
4190       PROGRAM_UPDATE_DATE,
4191       PICTURE
4192     )
4193     VALUES
4194     (
4195       PO_ATTRIBUTE_VALUES_S.nextval,
4196       PAVI.DRAFT_ID,
4197       NULL, -- CHANGE_ACCEPTED_FLAG,
4198       NULL, -- DELETE_FLAG,
4199       PAVI.PO_LINE_ID,
4200       '-2', -- REQ_TEMPLATE_NAME
4201       -2,   --REQ_TEMPLATE_LINE_NUM
4202       NVL(PAVI.IP_CATEGORY_ID, -2),
4203       NVL(PAVI.INVENTORY_ITEM_ID, -2),
4204       PO_PDOI_PARAMS.g_request.org_id,
4205       DECODE(PAVI.MANUFACTURER_PART_NUM, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.MANUFACTURER_PART_NUM),
4206       DECODE(PAVI.THUMBNAIL_IMAGE, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.THUMBNAIL_IMAGE),
4207       DECODE(PAVI.SUPPLIER_URL, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.SUPPLIER_URL),
4208       DECODE(PAVI.MANUFACTURER_URL, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.MANUFACTURER_URL),
4209       DECODE(PAVI.ATTACHMENT_URL, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.ATTACHMENT_URL),
4210       DECODE(PAVI.UNSPSC, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.UNSPSC),
4211       DECODE(PAVI.AVAILABILITY, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.AVAILABILITY),
4212       DECODE(PAVI.LEAD_TIME, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.LEAD_TIME),
4213       DECODE(PAVI.TEXT_BASE_ATTRIBUTE1, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE1),
4214       DECODE(PAVI.TEXT_BASE_ATTRIBUTE2, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE2),
4215       DECODE(PAVI.TEXT_BASE_ATTRIBUTE3, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE3),
4216       DECODE(PAVI.TEXT_BASE_ATTRIBUTE4, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE4),
4217       DECODE(PAVI.TEXT_BASE_ATTRIBUTE5, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE5),
4218       DECODE(PAVI.TEXT_BASE_ATTRIBUTE6, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE6),
4219       DECODE(PAVI.TEXT_BASE_ATTRIBUTE7, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE7),
4220       DECODE(PAVI.TEXT_BASE_ATTRIBUTE8, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE8),
4221       DECODE(PAVI.TEXT_BASE_ATTRIBUTE9, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE9),
4222       DECODE(PAVI.TEXT_BASE_ATTRIBUTE10, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE10),
4223       DECODE(PAVI.TEXT_BASE_ATTRIBUTE11, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE11),
4224       DECODE(PAVI.TEXT_BASE_ATTRIBUTE12, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE12),
4225       DECODE(PAVI.TEXT_BASE_ATTRIBUTE13, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE13),
4226       DECODE(PAVI.TEXT_BASE_ATTRIBUTE14, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE14),
4227       DECODE(PAVI.TEXT_BASE_ATTRIBUTE15, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE15),
4228       DECODE(PAVI.TEXT_BASE_ATTRIBUTE16, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE16),
4229       DECODE(PAVI.TEXT_BASE_ATTRIBUTE17, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE17),
4230       DECODE(PAVI.TEXT_BASE_ATTRIBUTE18, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE18),
4231       DECODE(PAVI.TEXT_BASE_ATTRIBUTE19, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE19),
4232       DECODE(PAVI.TEXT_BASE_ATTRIBUTE20, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE20),
4233       DECODE(PAVI.TEXT_BASE_ATTRIBUTE21, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE21),
4234       DECODE(PAVI.TEXT_BASE_ATTRIBUTE22, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE22),
4235       DECODE(PAVI.TEXT_BASE_ATTRIBUTE23, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE23),
4236       DECODE(PAVI.TEXT_BASE_ATTRIBUTE24, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE24),
4237       DECODE(PAVI.TEXT_BASE_ATTRIBUTE25, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE25),
4238       DECODE(PAVI.TEXT_BASE_ATTRIBUTE26, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE26),
4239       DECODE(PAVI.TEXT_BASE_ATTRIBUTE27, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE27),
4240       DECODE(PAVI.TEXT_BASE_ATTRIBUTE28, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE28),
4241       DECODE(PAVI.TEXT_BASE_ATTRIBUTE29, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE29),
4242       DECODE(PAVI.TEXT_BASE_ATTRIBUTE30, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE30),
4243       DECODE(PAVI.TEXT_BASE_ATTRIBUTE31, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE31),
4244       DECODE(PAVI.TEXT_BASE_ATTRIBUTE32, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE32),
4245       DECODE(PAVI.TEXT_BASE_ATTRIBUTE33, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE33),
4246       DECODE(PAVI.TEXT_BASE_ATTRIBUTE34, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE34),
4247       DECODE(PAVI.TEXT_BASE_ATTRIBUTE35, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE35),
4248       DECODE(PAVI.TEXT_BASE_ATTRIBUTE36, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE36),
4249       DECODE(PAVI.TEXT_BASE_ATTRIBUTE37, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE37),
4250       DECODE(PAVI.TEXT_BASE_ATTRIBUTE38, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE38),
4251       DECODE(PAVI.TEXT_BASE_ATTRIBUTE39, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE39),
4252       DECODE(PAVI.TEXT_BASE_ATTRIBUTE40, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE40),
4253       DECODE(PAVI.TEXT_BASE_ATTRIBUTE41, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE41),
4254       DECODE(PAVI.TEXT_BASE_ATTRIBUTE42, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE42),
4255       DECODE(PAVI.TEXT_BASE_ATTRIBUTE43, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE43),
4256       DECODE(PAVI.TEXT_BASE_ATTRIBUTE44, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE44),
4257       DECODE(PAVI.TEXT_BASE_ATTRIBUTE45, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE45),
4258       DECODE(PAVI.TEXT_BASE_ATTRIBUTE46, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE46),
4259       DECODE(PAVI.TEXT_BASE_ATTRIBUTE47, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE47),
4260       DECODE(PAVI.TEXT_BASE_ATTRIBUTE48, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE48),
4261       DECODE(PAVI.TEXT_BASE_ATTRIBUTE49, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE49),
4262       DECODE(PAVI.TEXT_BASE_ATTRIBUTE50, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE50),
4263       DECODE(PAVI.TEXT_BASE_ATTRIBUTE51, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE51),
4264       DECODE(PAVI.TEXT_BASE_ATTRIBUTE52, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE52),
4265       DECODE(PAVI.TEXT_BASE_ATTRIBUTE53, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE53),
4266       DECODE(PAVI.TEXT_BASE_ATTRIBUTE54, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE54),
4267       DECODE(PAVI.TEXT_BASE_ATTRIBUTE55, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE55),
4268       DECODE(PAVI.TEXT_BASE_ATTRIBUTE56, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE56),
4269       DECODE(PAVI.TEXT_BASE_ATTRIBUTE57, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE57),
4270       DECODE(PAVI.TEXT_BASE_ATTRIBUTE58, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE58),
4271       DECODE(PAVI.TEXT_BASE_ATTRIBUTE59, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE59),
4272       DECODE(PAVI.TEXT_BASE_ATTRIBUTE60, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE60),
4273       DECODE(PAVI.TEXT_BASE_ATTRIBUTE61, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE61),
4274       DECODE(PAVI.TEXT_BASE_ATTRIBUTE62, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE62),
4275       DECODE(PAVI.TEXT_BASE_ATTRIBUTE63, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE63),
4276       DECODE(PAVI.TEXT_BASE_ATTRIBUTE64, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE64),
4277       DECODE(PAVI.TEXT_BASE_ATTRIBUTE65, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE65),
4278       DECODE(PAVI.TEXT_BASE_ATTRIBUTE66, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE66),
4279       DECODE(PAVI.TEXT_BASE_ATTRIBUTE67, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE67),
4280       DECODE(PAVI.TEXT_BASE_ATTRIBUTE68, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE68),
4281       DECODE(PAVI.TEXT_BASE_ATTRIBUTE69, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE69),
4282       DECODE(PAVI.TEXT_BASE_ATTRIBUTE70, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE70),
4283       DECODE(PAVI.TEXT_BASE_ATTRIBUTE71, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE71),
4284       DECODE(PAVI.TEXT_BASE_ATTRIBUTE72, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE72),
4285       DECODE(PAVI.TEXT_BASE_ATTRIBUTE73, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE73),
4286       DECODE(PAVI.TEXT_BASE_ATTRIBUTE74, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE74),
4287       DECODE(PAVI.TEXT_BASE_ATTRIBUTE75, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE75),
4288       DECODE(PAVI.TEXT_BASE_ATTRIBUTE76, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE76),
4289       DECODE(PAVI.TEXT_BASE_ATTRIBUTE77, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE77),
4290       DECODE(PAVI.TEXT_BASE_ATTRIBUTE78, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE78),
4291       DECODE(PAVI.TEXT_BASE_ATTRIBUTE79, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE79),
4292       DECODE(PAVI.TEXT_BASE_ATTRIBUTE80, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE80),
4293       DECODE(PAVI.TEXT_BASE_ATTRIBUTE81, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE81),
4294       DECODE(PAVI.TEXT_BASE_ATTRIBUTE82, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE82),
4295       DECODE(PAVI.TEXT_BASE_ATTRIBUTE83, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE83),
4296       DECODE(PAVI.TEXT_BASE_ATTRIBUTE84, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE84),
4297       DECODE(PAVI.TEXT_BASE_ATTRIBUTE85, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE85),
4298       DECODE(PAVI.TEXT_BASE_ATTRIBUTE86, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE86),
4299       DECODE(PAVI.TEXT_BASE_ATTRIBUTE87, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE87),
4300       DECODE(PAVI.TEXT_BASE_ATTRIBUTE88, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE88),
4301       DECODE(PAVI.TEXT_BASE_ATTRIBUTE89, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE89),
4302       DECODE(PAVI.TEXT_BASE_ATTRIBUTE90, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE90),
4303       DECODE(PAVI.TEXT_BASE_ATTRIBUTE91, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE91),
4304       DECODE(PAVI.TEXT_BASE_ATTRIBUTE92, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE92),
4305       DECODE(PAVI.TEXT_BASE_ATTRIBUTE93, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE93),
4306       DECODE(PAVI.TEXT_BASE_ATTRIBUTE94, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE94),
4307       DECODE(PAVI.TEXT_BASE_ATTRIBUTE95, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE95),
4308       DECODE(PAVI.TEXT_BASE_ATTRIBUTE96, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE96),
4309       DECODE(PAVI.TEXT_BASE_ATTRIBUTE97, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE97),
4310       DECODE(PAVI.TEXT_BASE_ATTRIBUTE98, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE98),
4311       DECODE(PAVI.TEXT_BASE_ATTRIBUTE99, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE99),
4312       DECODE(PAVI.TEXT_BASE_ATTRIBUTE100, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_BASE_ATTRIBUTE100),
4313       DECODE(PAVI.NUM_BASE_ATTRIBUTE1, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE1),
4314       DECODE(PAVI.NUM_BASE_ATTRIBUTE2, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE2),
4315       DECODE(PAVI.NUM_BASE_ATTRIBUTE3, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE3),
4316       DECODE(PAVI.NUM_BASE_ATTRIBUTE4, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE4),
4317       DECODE(PAVI.NUM_BASE_ATTRIBUTE5, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE5),
4318       DECODE(PAVI.NUM_BASE_ATTRIBUTE6, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE6),
4319       DECODE(PAVI.NUM_BASE_ATTRIBUTE7, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE7),
4320       DECODE(PAVI.NUM_BASE_ATTRIBUTE8, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE8),
4321       DECODE(PAVI.NUM_BASE_ATTRIBUTE9, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE9),
4322       DECODE(PAVI.NUM_BASE_ATTRIBUTE10, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE10),
4323       DECODE(PAVI.NUM_BASE_ATTRIBUTE11, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE11),
4324       DECODE(PAVI.NUM_BASE_ATTRIBUTE12, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE12),
4325       DECODE(PAVI.NUM_BASE_ATTRIBUTE13, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE13),
4326       DECODE(PAVI.NUM_BASE_ATTRIBUTE14, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE14),
4327       DECODE(PAVI.NUM_BASE_ATTRIBUTE15, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE15),
4328       DECODE(PAVI.NUM_BASE_ATTRIBUTE16, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE16),
4329       DECODE(PAVI.NUM_BASE_ATTRIBUTE17, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE17),
4330       DECODE(PAVI.NUM_BASE_ATTRIBUTE18, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE18),
4331       DECODE(PAVI.NUM_BASE_ATTRIBUTE19, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE19),
4332       DECODE(PAVI.NUM_BASE_ATTRIBUTE20, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE20),
4333       DECODE(PAVI.NUM_BASE_ATTRIBUTE21, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE21),
4334       DECODE(PAVI.NUM_BASE_ATTRIBUTE22, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE22),
4335       DECODE(PAVI.NUM_BASE_ATTRIBUTE23, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE23),
4336       DECODE(PAVI.NUM_BASE_ATTRIBUTE24, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE24),
4337       DECODE(PAVI.NUM_BASE_ATTRIBUTE25, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE25),
4338       DECODE(PAVI.NUM_BASE_ATTRIBUTE26, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE26),
4339       DECODE(PAVI.NUM_BASE_ATTRIBUTE27, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE27),
4340       DECODE(PAVI.NUM_BASE_ATTRIBUTE28, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE28),
4341       DECODE(PAVI.NUM_BASE_ATTRIBUTE29, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE29),
4342       DECODE(PAVI.NUM_BASE_ATTRIBUTE30, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE30),
4343       DECODE(PAVI.NUM_BASE_ATTRIBUTE31, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE31),
4344       DECODE(PAVI.NUM_BASE_ATTRIBUTE32, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE32),
4345       DECODE(PAVI.NUM_BASE_ATTRIBUTE33, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE33),
4346       DECODE(PAVI.NUM_BASE_ATTRIBUTE34, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE34),
4347       DECODE(PAVI.NUM_BASE_ATTRIBUTE35, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE35),
4348       DECODE(PAVI.NUM_BASE_ATTRIBUTE36, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE36),
4349       DECODE(PAVI.NUM_BASE_ATTRIBUTE37, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE37),
4350       DECODE(PAVI.NUM_BASE_ATTRIBUTE38, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE38),
4351       DECODE(PAVI.NUM_BASE_ATTRIBUTE39, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE39),
4352       DECODE(PAVI.NUM_BASE_ATTRIBUTE40, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE40),
4353       DECODE(PAVI.NUM_BASE_ATTRIBUTE41, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE41),
4354       DECODE(PAVI.NUM_BASE_ATTRIBUTE42, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE42),
4355       DECODE(PAVI.NUM_BASE_ATTRIBUTE43, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE43),
4356       DECODE(PAVI.NUM_BASE_ATTRIBUTE44, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE44),
4357       DECODE(PAVI.NUM_BASE_ATTRIBUTE45, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE45),
4358       DECODE(PAVI.NUM_BASE_ATTRIBUTE46, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE46),
4359       DECODE(PAVI.NUM_BASE_ATTRIBUTE47, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE47),
4360       DECODE(PAVI.NUM_BASE_ATTRIBUTE48, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE48),
4361       DECODE(PAVI.NUM_BASE_ATTRIBUTE49, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE49),
4362       DECODE(PAVI.NUM_BASE_ATTRIBUTE50, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE50),
4363       DECODE(PAVI.NUM_BASE_ATTRIBUTE51, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE51),
4364       DECODE(PAVI.NUM_BASE_ATTRIBUTE52, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE52),
4365       DECODE(PAVI.NUM_BASE_ATTRIBUTE53, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE53),
4366       DECODE(PAVI.NUM_BASE_ATTRIBUTE54, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE54),
4367       DECODE(PAVI.NUM_BASE_ATTRIBUTE55, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE55),
4368       DECODE(PAVI.NUM_BASE_ATTRIBUTE56, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE56),
4369       DECODE(PAVI.NUM_BASE_ATTRIBUTE57, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE57),
4370       DECODE(PAVI.NUM_BASE_ATTRIBUTE58, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE58),
4371       DECODE(PAVI.NUM_BASE_ATTRIBUTE59, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE59),
4372       DECODE(PAVI.NUM_BASE_ATTRIBUTE60, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE60),
4373       DECODE(PAVI.NUM_BASE_ATTRIBUTE61, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE61),
4374       DECODE(PAVI.NUM_BASE_ATTRIBUTE62, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE62),
4375       DECODE(PAVI.NUM_BASE_ATTRIBUTE63, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE63),
4376       DECODE(PAVI.NUM_BASE_ATTRIBUTE64, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE64),
4377       DECODE(PAVI.NUM_BASE_ATTRIBUTE65, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE65),
4378       DECODE(PAVI.NUM_BASE_ATTRIBUTE66, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE66),
4379       DECODE(PAVI.NUM_BASE_ATTRIBUTE67, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE67),
4380       DECODE(PAVI.NUM_BASE_ATTRIBUTE68, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE68),
4381       DECODE(PAVI.NUM_BASE_ATTRIBUTE69, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE69),
4382       DECODE(PAVI.NUM_BASE_ATTRIBUTE70, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE70),
4383       DECODE(PAVI.NUM_BASE_ATTRIBUTE71, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE71),
4384       DECODE(PAVI.NUM_BASE_ATTRIBUTE72, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE72),
4385       DECODE(PAVI.NUM_BASE_ATTRIBUTE73, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE73),
4386       DECODE(PAVI.NUM_BASE_ATTRIBUTE74, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE74),
4387       DECODE(PAVI.NUM_BASE_ATTRIBUTE75, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE75),
4388       DECODE(PAVI.NUM_BASE_ATTRIBUTE76, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE76),
4389       DECODE(PAVI.NUM_BASE_ATTRIBUTE77, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE77),
4390       DECODE(PAVI.NUM_BASE_ATTRIBUTE78, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE78),
4391       DECODE(PAVI.NUM_BASE_ATTRIBUTE79, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE79),
4392       DECODE(PAVI.NUM_BASE_ATTRIBUTE80, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE80),
4393       DECODE(PAVI.NUM_BASE_ATTRIBUTE81, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE81),
4394       DECODE(PAVI.NUM_BASE_ATTRIBUTE82, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE82),
4395       DECODE(PAVI.NUM_BASE_ATTRIBUTE83, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE83),
4396       DECODE(PAVI.NUM_BASE_ATTRIBUTE84, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE84),
4397       DECODE(PAVI.NUM_BASE_ATTRIBUTE85, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE85),
4398       DECODE(PAVI.NUM_BASE_ATTRIBUTE86, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE86),
4399       DECODE(PAVI.NUM_BASE_ATTRIBUTE87, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE87),
4400       DECODE(PAVI.NUM_BASE_ATTRIBUTE88, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE88),
4401       DECODE(PAVI.NUM_BASE_ATTRIBUTE89, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE89),
4402       DECODE(PAVI.NUM_BASE_ATTRIBUTE90, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE90),
4403       DECODE(PAVI.NUM_BASE_ATTRIBUTE91, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE91),
4404       DECODE(PAVI.NUM_BASE_ATTRIBUTE92, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE92),
4405       DECODE(PAVI.NUM_BASE_ATTRIBUTE93, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE93),
4406       DECODE(PAVI.NUM_BASE_ATTRIBUTE94, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE94),
4407       DECODE(PAVI.NUM_BASE_ATTRIBUTE95, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE95),
4408       DECODE(PAVI.NUM_BASE_ATTRIBUTE96, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE96),
4409       DECODE(PAVI.NUM_BASE_ATTRIBUTE97, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE97),
4410       DECODE(PAVI.NUM_BASE_ATTRIBUTE98, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE98),
4411       DECODE(PAVI.NUM_BASE_ATTRIBUTE99, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE99),
4412       DECODE(PAVI.NUM_BASE_ATTRIBUTE100, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_BASE_ATTRIBUTE100),
4413       DECODE(PAVI.TEXT_CAT_ATTRIBUTE1, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE1),
4414       DECODE(PAVI.TEXT_CAT_ATTRIBUTE2, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE2),
4415       DECODE(PAVI.TEXT_CAT_ATTRIBUTE3, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE3),
4416       DECODE(PAVI.TEXT_CAT_ATTRIBUTE4, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE4),
4417       DECODE(PAVI.TEXT_CAT_ATTRIBUTE5, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE5),
4418       DECODE(PAVI.TEXT_CAT_ATTRIBUTE6, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE6),
4419       DECODE(PAVI.TEXT_CAT_ATTRIBUTE7, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE7),
4420       DECODE(PAVI.TEXT_CAT_ATTRIBUTE8, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE8),
4421       DECODE(PAVI.TEXT_CAT_ATTRIBUTE9, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE9),
4422       DECODE(PAVI.TEXT_CAT_ATTRIBUTE10, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE10),
4423       DECODE(PAVI.TEXT_CAT_ATTRIBUTE11, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE11),
4424       DECODE(PAVI.TEXT_CAT_ATTRIBUTE12, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE12),
4425       DECODE(PAVI.TEXT_CAT_ATTRIBUTE13, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE13),
4426       DECODE(PAVI.TEXT_CAT_ATTRIBUTE14, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE14),
4427       DECODE(PAVI.TEXT_CAT_ATTRIBUTE15, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE15),
4428       DECODE(PAVI.TEXT_CAT_ATTRIBUTE16, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE16),
4429       DECODE(PAVI.TEXT_CAT_ATTRIBUTE17, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE17),
4430       DECODE(PAVI.TEXT_CAT_ATTRIBUTE18, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE18),
4431       DECODE(PAVI.TEXT_CAT_ATTRIBUTE19, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE19),
4432       DECODE(PAVI.TEXT_CAT_ATTRIBUTE20, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE20),
4433       DECODE(PAVI.TEXT_CAT_ATTRIBUTE21, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE21),
4434       DECODE(PAVI.TEXT_CAT_ATTRIBUTE22, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE22),
4435       DECODE(PAVI.TEXT_CAT_ATTRIBUTE23, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE23),
4436       DECODE(PAVI.TEXT_CAT_ATTRIBUTE24, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE24),
4437       DECODE(PAVI.TEXT_CAT_ATTRIBUTE25, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE25),
4438       DECODE(PAVI.TEXT_CAT_ATTRIBUTE26, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE26),
4439       DECODE(PAVI.TEXT_CAT_ATTRIBUTE27, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE27),
4440       DECODE(PAVI.TEXT_CAT_ATTRIBUTE28, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE28),
4441       DECODE(PAVI.TEXT_CAT_ATTRIBUTE29, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE29),
4442       DECODE(PAVI.TEXT_CAT_ATTRIBUTE30, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE30),
4443       DECODE(PAVI.TEXT_CAT_ATTRIBUTE31, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE31),
4444       DECODE(PAVI.TEXT_CAT_ATTRIBUTE32, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE32),
4445       DECODE(PAVI.TEXT_CAT_ATTRIBUTE33, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE33),
4446       DECODE(PAVI.TEXT_CAT_ATTRIBUTE34, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE34),
4447       DECODE(PAVI.TEXT_CAT_ATTRIBUTE35, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE35),
4448       DECODE(PAVI.TEXT_CAT_ATTRIBUTE36, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE36),
4449       DECODE(PAVI.TEXT_CAT_ATTRIBUTE37, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE37),
4450       DECODE(PAVI.TEXT_CAT_ATTRIBUTE38, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE38),
4451       DECODE(PAVI.TEXT_CAT_ATTRIBUTE39, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE39),
4452       DECODE(PAVI.TEXT_CAT_ATTRIBUTE40, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE40),
4453       DECODE(PAVI.TEXT_CAT_ATTRIBUTE41, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE41),
4454       DECODE(PAVI.TEXT_CAT_ATTRIBUTE42, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE42),
4455       DECODE(PAVI.TEXT_CAT_ATTRIBUTE43, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE43),
4456       DECODE(PAVI.TEXT_CAT_ATTRIBUTE44, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE44),
4457       DECODE(PAVI.TEXT_CAT_ATTRIBUTE45, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE45),
4458       DECODE(PAVI.TEXT_CAT_ATTRIBUTE46, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE46),
4459       DECODE(PAVI.TEXT_CAT_ATTRIBUTE47, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE47),
4460       DECODE(PAVI.TEXT_CAT_ATTRIBUTE48, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE48),
4461       DECODE(PAVI.TEXT_CAT_ATTRIBUTE49, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE49),
4462       DECODE(PAVI.TEXT_CAT_ATTRIBUTE50, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.TEXT_CAT_ATTRIBUTE50),
4463       DECODE(PAVI.NUM_CAT_ATTRIBUTE1, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE1),
4464       DECODE(PAVI.NUM_CAT_ATTRIBUTE2, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE2),
4465       DECODE(PAVI.NUM_CAT_ATTRIBUTE3, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE3),
4466       DECODE(PAVI.NUM_CAT_ATTRIBUTE4, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE4),
4467       DECODE(PAVI.NUM_CAT_ATTRIBUTE5, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE5),
4468       DECODE(PAVI.NUM_CAT_ATTRIBUTE6, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE6),
4469       DECODE(PAVI.NUM_CAT_ATTRIBUTE7, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE7),
4470       DECODE(PAVI.NUM_CAT_ATTRIBUTE8, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE8),
4471       DECODE(PAVI.NUM_CAT_ATTRIBUTE9, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE9),
4472       DECODE(PAVI.NUM_CAT_ATTRIBUTE10, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE10),
4473       DECODE(PAVI.NUM_CAT_ATTRIBUTE11, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE11),
4474       DECODE(PAVI.NUM_CAT_ATTRIBUTE12, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE12),
4475       DECODE(PAVI.NUM_CAT_ATTRIBUTE13, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE13),
4476       DECODE(PAVI.NUM_CAT_ATTRIBUTE14, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE14),
4477       DECODE(PAVI.NUM_CAT_ATTRIBUTE15, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE15),
4478       DECODE(PAVI.NUM_CAT_ATTRIBUTE16, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE16),
4479       DECODE(PAVI.NUM_CAT_ATTRIBUTE17, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE17),
4480       DECODE(PAVI.NUM_CAT_ATTRIBUTE18, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE18),
4481       DECODE(PAVI.NUM_CAT_ATTRIBUTE19, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE19),
4482       DECODE(PAVI.NUM_CAT_ATTRIBUTE20, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE20),
4483       DECODE(PAVI.NUM_CAT_ATTRIBUTE21, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE21),
4484       DECODE(PAVI.NUM_CAT_ATTRIBUTE22, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE22),
4485       DECODE(PAVI.NUM_CAT_ATTRIBUTE23, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE23),
4486       DECODE(PAVI.NUM_CAT_ATTRIBUTE24, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE24),
4487       DECODE(PAVI.NUM_CAT_ATTRIBUTE25, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE25),
4488       DECODE(PAVI.NUM_CAT_ATTRIBUTE26, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE26),
4489       DECODE(PAVI.NUM_CAT_ATTRIBUTE27, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE27),
4490       DECODE(PAVI.NUM_CAT_ATTRIBUTE28, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE28),
4491       DECODE(PAVI.NUM_CAT_ATTRIBUTE29, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE29),
4492       DECODE(PAVI.NUM_CAT_ATTRIBUTE30, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE30),
4493       DECODE(PAVI.NUM_CAT_ATTRIBUTE31, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE31),
4494       DECODE(PAVI.NUM_CAT_ATTRIBUTE32, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE32),
4495       DECODE(PAVI.NUM_CAT_ATTRIBUTE33, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE33),
4496       DECODE(PAVI.NUM_CAT_ATTRIBUTE34, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE34),
4497       DECODE(PAVI.NUM_CAT_ATTRIBUTE35, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE35),
4498       DECODE(PAVI.NUM_CAT_ATTRIBUTE36, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE36),
4499       DECODE(PAVI.NUM_CAT_ATTRIBUTE37, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE37),
4500       DECODE(PAVI.NUM_CAT_ATTRIBUTE38, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE38),
4501       DECODE(PAVI.NUM_CAT_ATTRIBUTE39, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE39),
4502       DECODE(PAVI.NUM_CAT_ATTRIBUTE40, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE40),
4503       DECODE(PAVI.NUM_CAT_ATTRIBUTE41, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE41),
4504       DECODE(PAVI.NUM_CAT_ATTRIBUTE42, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE42),
4505       DECODE(PAVI.NUM_CAT_ATTRIBUTE43, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE43),
4506       DECODE(PAVI.NUM_CAT_ATTRIBUTE44, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE44),
4507       DECODE(PAVI.NUM_CAT_ATTRIBUTE45, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE45),
4508       DECODE(PAVI.NUM_CAT_ATTRIBUTE46, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE46),
4509       DECODE(PAVI.NUM_CAT_ATTRIBUTE47, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE47),
4510       DECODE(PAVI.NUM_CAT_ATTRIBUTE48, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE48),
4511       DECODE(PAVI.NUM_CAT_ATTRIBUTE49, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE49),
4512       DECODE(PAVI.NUM_CAT_ATTRIBUTE50, PO_PDOI_CONSTANTS.g_NULLIFY_NUM, NULL, PAVI.NUM_CAT_ATTRIBUTE50),
4513       NVL(PAVI.LAST_UPDATE_LOGIN, FND_GLOBAL.login_id),
4514       NVL(PAVI.LAST_UPDATED_BY, FND_GLOBAL.user_id),
4515       NVL(PAVI.LAST_UPDATE_DATE, sysdate),
4516       NVL(PAVI.CREATED_BY, FND_GLOBAL.user_id),
4517       NVL(PAVI.CREATION_DATE, sysdate),
4518       NVL(PAVI.REQUEST_ID, FND_GLOBAL.conc_request_id),
4519       NVL(PAVI.PROGRAM_APPLICATION_ID, FND_GLOBAL.prog_appl_id),
4520       NVL(PAVI.PROGRAM_ID, FND_GLOBAL.conc_program_id),
4521       NVL(PAVI.PROGRAM_UPDATE_DATE, sysdate),
4522       DECODE(PAVI.PICTURE, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVI.PICTURE));
4523 
4524   IF (PO_LOG.d_proc) THEN
4525     PO_LOG.proc_end (d_module);
4526   END IF;
4527 
4528 EXCEPTION
4529   WHEN OTHERS THEN
4530     PO_MESSAGE_S.add_exc_msg
4531     (
4532       p_pkg_name => d_pkg_name,
4533       p_procedure_name => d_api_name || '.' || d_position
4534     );
4535     RAISE;
4536 END merge_po_attr_values_draft;
4537 
4538 -----------------------------------------------------------------------
4539 --Start of Comments
4540 --Name: merge_po_attr_values_tlp_draft
4541 --Function:
4542 --  insert new attribute tlp values or update existing tlp values
4543 --  into po_attribute_values_tlp_draft
4544 --Parameters:
4545 --IN:
4546 --p_key
4547 --  key value used to join with gt table
4548 --p_attr_values_tlp
4549 --  record which contains processed line attributes in a batch;
4550 --  If there is no processing logic(derive, default, validate) on
4551 --  an attribute, this attribute's value will be read from
4552 --  interface table directly
4553 --IN OUT:
4554 --OUT:
4555 --End of Comments
4556 ------------------------------------------------------------------------
4557 PROCEDURE merge_po_attr_values_tlp_draft
4558 (
4559   p_key                IN po_session_gt.key%TYPE,
4560   p_attr_values_tlp    IN PO_PDOI_TYPES.attr_values_tlp_rec_type
4561 ) IS
4562 
4563   d_api_name CONSTANT VARCHAR2(30) := 'merge_po_attr_values_tlp_draft';
4564   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
4565   d_position NUMBER;
4566 
4567 BEGIN
4568   d_position := 0;
4569 
4570   IF (PO_LOG.d_proc) THEN
4571     PO_LOG.proc_begin(d_module);
4572   END IF;
4573 
4574   MERGE INTO po_attribute_values_tlp_draft PAVTD
4575   USING (
4576     SELECT
4577       NUM2 AS ATTRIBUTE_VALUES_TLP_ID,
4578       NUM3 AS DRAFT_ID,
4579       NUM4 AS PO_LINE_ID,
4580       REQ_TEMPLATE_NAME,
4581       REQ_TEMPLATE_LINE_NUM,
4582       NUM5 AS IP_CATEGORY_ID,
4583       NUM6 AS INVENTORY_ITEM_ID,
4584       ORG_ID,
4585       LANGUAGE,
4586       DESCRIPTION,
4587       char1 AS LINE_DESCRIPTION, -- used for default if description is null
4588       MANUFACTURER,
4589       COMMENTS,
4590       ALIAS,
4591       LONG_DESCRIPTION,
4592       TL_TEXT_BASE_ATTRIBUTE1,
4593       TL_TEXT_BASE_ATTRIBUTE2,
4594       TL_TEXT_BASE_ATTRIBUTE3,
4595       TL_TEXT_BASE_ATTRIBUTE4,
4596       TL_TEXT_BASE_ATTRIBUTE5,
4597       TL_TEXT_BASE_ATTRIBUTE6,
4598       TL_TEXT_BASE_ATTRIBUTE7,
4599       TL_TEXT_BASE_ATTRIBUTE8,
4600       TL_TEXT_BASE_ATTRIBUTE9,
4601       TL_TEXT_BASE_ATTRIBUTE10,
4602       TL_TEXT_BASE_ATTRIBUTE11,
4603       TL_TEXT_BASE_ATTRIBUTE12,
4604       TL_TEXT_BASE_ATTRIBUTE13,
4605       TL_TEXT_BASE_ATTRIBUTE14,
4606       TL_TEXT_BASE_ATTRIBUTE15,
4607       TL_TEXT_BASE_ATTRIBUTE16,
4608       TL_TEXT_BASE_ATTRIBUTE17,
4609       TL_TEXT_BASE_ATTRIBUTE18,
4610       TL_TEXT_BASE_ATTRIBUTE19,
4611       TL_TEXT_BASE_ATTRIBUTE20,
4612       TL_TEXT_BASE_ATTRIBUTE21,
4613       TL_TEXT_BASE_ATTRIBUTE22,
4614       TL_TEXT_BASE_ATTRIBUTE23,
4615       TL_TEXT_BASE_ATTRIBUTE24,
4616       TL_TEXT_BASE_ATTRIBUTE25,
4617       TL_TEXT_BASE_ATTRIBUTE26,
4618       TL_TEXT_BASE_ATTRIBUTE27,
4619       TL_TEXT_BASE_ATTRIBUTE28,
4620       TL_TEXT_BASE_ATTRIBUTE29,
4621       TL_TEXT_BASE_ATTRIBUTE30,
4622       TL_TEXT_BASE_ATTRIBUTE31,
4623       TL_TEXT_BASE_ATTRIBUTE32,
4624       TL_TEXT_BASE_ATTRIBUTE33,
4625       TL_TEXT_BASE_ATTRIBUTE34,
4626       TL_TEXT_BASE_ATTRIBUTE35,
4627       TL_TEXT_BASE_ATTRIBUTE36,
4628       TL_TEXT_BASE_ATTRIBUTE37,
4629       TL_TEXT_BASE_ATTRIBUTE38,
4630       TL_TEXT_BASE_ATTRIBUTE39,
4631       TL_TEXT_BASE_ATTRIBUTE40,
4632       TL_TEXT_BASE_ATTRIBUTE41,
4633       TL_TEXT_BASE_ATTRIBUTE42,
4634       TL_TEXT_BASE_ATTRIBUTE43,
4635       TL_TEXT_BASE_ATTRIBUTE44,
4636       TL_TEXT_BASE_ATTRIBUTE45,
4637       TL_TEXT_BASE_ATTRIBUTE46,
4638       TL_TEXT_BASE_ATTRIBUTE47,
4639       TL_TEXT_BASE_ATTRIBUTE48,
4640       TL_TEXT_BASE_ATTRIBUTE49,
4641       TL_TEXT_BASE_ATTRIBUTE50,
4642       TL_TEXT_BASE_ATTRIBUTE51,
4643       TL_TEXT_BASE_ATTRIBUTE52,
4644       TL_TEXT_BASE_ATTRIBUTE53,
4645       TL_TEXT_BASE_ATTRIBUTE54,
4646       TL_TEXT_BASE_ATTRIBUTE55,
4647       TL_TEXT_BASE_ATTRIBUTE56,
4648       TL_TEXT_BASE_ATTRIBUTE57,
4649       TL_TEXT_BASE_ATTRIBUTE58,
4650       TL_TEXT_BASE_ATTRIBUTE59,
4651       TL_TEXT_BASE_ATTRIBUTE60,
4652       TL_TEXT_BASE_ATTRIBUTE61,
4653       TL_TEXT_BASE_ATTRIBUTE62,
4654       TL_TEXT_BASE_ATTRIBUTE63,
4655       TL_TEXT_BASE_ATTRIBUTE64,
4656       TL_TEXT_BASE_ATTRIBUTE65,
4657       TL_TEXT_BASE_ATTRIBUTE66,
4658       TL_TEXT_BASE_ATTRIBUTE67,
4659       TL_TEXT_BASE_ATTRIBUTE68,
4660       TL_TEXT_BASE_ATTRIBUTE69,
4661       TL_TEXT_BASE_ATTRIBUTE70,
4662       TL_TEXT_BASE_ATTRIBUTE71,
4663       TL_TEXT_BASE_ATTRIBUTE72,
4664       TL_TEXT_BASE_ATTRIBUTE73,
4665       TL_TEXT_BASE_ATTRIBUTE74,
4666       TL_TEXT_BASE_ATTRIBUTE75,
4667       TL_TEXT_BASE_ATTRIBUTE76,
4668       TL_TEXT_BASE_ATTRIBUTE77,
4669       TL_TEXT_BASE_ATTRIBUTE78,
4670       TL_TEXT_BASE_ATTRIBUTE79,
4671       TL_TEXT_BASE_ATTRIBUTE80,
4672       TL_TEXT_BASE_ATTRIBUTE81,
4673       TL_TEXT_BASE_ATTRIBUTE82,
4674       TL_TEXT_BASE_ATTRIBUTE83,
4675       TL_TEXT_BASE_ATTRIBUTE84,
4676       TL_TEXT_BASE_ATTRIBUTE85,
4677       TL_TEXT_BASE_ATTRIBUTE86,
4678       TL_TEXT_BASE_ATTRIBUTE87,
4679       TL_TEXT_BASE_ATTRIBUTE88,
4680       TL_TEXT_BASE_ATTRIBUTE89,
4681       TL_TEXT_BASE_ATTRIBUTE90,
4682       TL_TEXT_BASE_ATTRIBUTE91,
4683       TL_TEXT_BASE_ATTRIBUTE92,
4684       TL_TEXT_BASE_ATTRIBUTE93,
4685       TL_TEXT_BASE_ATTRIBUTE94,
4686       TL_TEXT_BASE_ATTRIBUTE95,
4687       TL_TEXT_BASE_ATTRIBUTE96,
4688       TL_TEXT_BASE_ATTRIBUTE97,
4689       TL_TEXT_BASE_ATTRIBUTE98,
4690       TL_TEXT_BASE_ATTRIBUTE99,
4691       TL_TEXT_BASE_ATTRIBUTE100,
4692       TL_TEXT_CAT_ATTRIBUTE1,
4693       TL_TEXT_CAT_ATTRIBUTE2,
4694       TL_TEXT_CAT_ATTRIBUTE3,
4695       TL_TEXT_CAT_ATTRIBUTE4,
4696       TL_TEXT_CAT_ATTRIBUTE5,
4697       TL_TEXT_CAT_ATTRIBUTE6,
4698       TL_TEXT_CAT_ATTRIBUTE7,
4699       TL_TEXT_CAT_ATTRIBUTE8,
4700       TL_TEXT_CAT_ATTRIBUTE9,
4701       TL_TEXT_CAT_ATTRIBUTE10,
4702       TL_TEXT_CAT_ATTRIBUTE11,
4703       TL_TEXT_CAT_ATTRIBUTE12,
4704       TL_TEXT_CAT_ATTRIBUTE13,
4705       TL_TEXT_CAT_ATTRIBUTE14,
4706       TL_TEXT_CAT_ATTRIBUTE15,
4707       TL_TEXT_CAT_ATTRIBUTE16,
4708       TL_TEXT_CAT_ATTRIBUTE17,
4709       TL_TEXT_CAT_ATTRIBUTE18,
4710       TL_TEXT_CAT_ATTRIBUTE19,
4711       TL_TEXT_CAT_ATTRIBUTE20,
4712       TL_TEXT_CAT_ATTRIBUTE21,
4713       TL_TEXT_CAT_ATTRIBUTE22,
4714       TL_TEXT_CAT_ATTRIBUTE23,
4715       TL_TEXT_CAT_ATTRIBUTE24,
4716       TL_TEXT_CAT_ATTRIBUTE25,
4717       TL_TEXT_CAT_ATTRIBUTE26,
4718       TL_TEXT_CAT_ATTRIBUTE27,
4719       TL_TEXT_CAT_ATTRIBUTE28,
4720       TL_TEXT_CAT_ATTRIBUTE29,
4721       TL_TEXT_CAT_ATTRIBUTE30,
4722       TL_TEXT_CAT_ATTRIBUTE31,
4723       TL_TEXT_CAT_ATTRIBUTE32,
4724       TL_TEXT_CAT_ATTRIBUTE33,
4725       TL_TEXT_CAT_ATTRIBUTE34,
4726       TL_TEXT_CAT_ATTRIBUTE35,
4727       TL_TEXT_CAT_ATTRIBUTE36,
4728       TL_TEXT_CAT_ATTRIBUTE37,
4729       TL_TEXT_CAT_ATTRIBUTE38,
4730       TL_TEXT_CAT_ATTRIBUTE39,
4731       TL_TEXT_CAT_ATTRIBUTE40,
4732       TL_TEXT_CAT_ATTRIBUTE41,
4733       TL_TEXT_CAT_ATTRIBUTE42,
4734       TL_TEXT_CAT_ATTRIBUTE43,
4735       TL_TEXT_CAT_ATTRIBUTE44,
4736       TL_TEXT_CAT_ATTRIBUTE45,
4737       TL_TEXT_CAT_ATTRIBUTE46,
4738       TL_TEXT_CAT_ATTRIBUTE47,
4739       TL_TEXT_CAT_ATTRIBUTE48,
4740       TL_TEXT_CAT_ATTRIBUTE49,
4741       TL_TEXT_CAT_ATTRIBUTE50,
4742 
4743       -- Bug 4731494: Make WHO columns not-null in Attr/TLP tables
4744       NVL(LAST_UPDATE_LOGIN, FND_GLOBAL.login_id) AS LAST_UPDATE_LOGIN,
4745       NVL(LAST_UPDATED_BY, FND_GLOBAL.user_id) AS LAST_UPDATED_BY,
4746       NVL(LAST_UPDATE_DATE, sysdate) AS LAST_UPDATE_DATE,
4747       NVL(CREATED_BY, FND_GLOBAL.user_id) AS CREATED_BY,
4748       NVL(CREATION_DATE, sysdate) AS CREATION_DATE,
4749 
4750       REQUEST_ID,
4751       PROGRAM_APPLICATION_ID,
4752       PROGRAM_ID,
4753       PROGRAM_UPDATE_DATE
4754     FROM   po_attr_values_tlp_interface intf_attrs_tlp,
4755            po_session_gt gt
4756     WHERE  intf_attrs_tlp.interface_attr_values_tlp_id = gt.num1
4757     AND    gt.key = p_key) PAVTI
4758   ON (PAVTD.attribute_values_tlp_id = PAVTI.attribute_values_tlp_id
4759       AND PAVTD.draft_id = PAVTI.draft_id)
4760   WHEN MATCHED THEN
4761     UPDATE
4762     SET
4763       CHANGE_ACCEPTED_FLAG = NULL,
4764       DELETE_FLAG = NULL,
4765       IP_CATEGORY_ID = NVL(PAVTI.IP_CATEGORY_ID, PAVTD.IP_CATEGORY_ID),
4766       DESCRIPTION = DECODE(PAVTI.DESCRIPTION, NULL, PAVTD.DESCRIPTION, PAVTI.DESCRIPTION),
4767       MANUFACTURER = DECODE(PAVTI.MANUFACTURER, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.MANUFACTURER, PAVTI.MANUFACTURER),
4768       COMMENTS = DECODE(PAVTI.COMMENTS, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.COMMENTS, PAVTI.COMMENTS),
4769       ALIAS = DECODE(PAVTI.ALIAS, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.ALIAS, PAVTI.ALIAS),
4770       LONG_DESCRIPTION = DECODE(PAVTI.LONG_DESCRIPTION, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.LONG_DESCRIPTION, PAVTI.LONG_DESCRIPTION),
4771       TL_TEXT_BASE_ATTRIBUTE1 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE1, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE1, PAVTI.TL_TEXT_BASE_ATTRIBUTE1),
4772       TL_TEXT_BASE_ATTRIBUTE2 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE2, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE2, PAVTI.TL_TEXT_BASE_ATTRIBUTE2),
4773       TL_TEXT_BASE_ATTRIBUTE3 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE3, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE3, PAVTI.TL_TEXT_BASE_ATTRIBUTE3),
4774       TL_TEXT_BASE_ATTRIBUTE4 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE4, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE4, PAVTI.TL_TEXT_BASE_ATTRIBUTE4),
4775       TL_TEXT_BASE_ATTRIBUTE5 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE5, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE5, PAVTI.TL_TEXT_BASE_ATTRIBUTE5),
4776       TL_TEXT_BASE_ATTRIBUTE6 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE6, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE6, PAVTI.TL_TEXT_BASE_ATTRIBUTE6),
4777       TL_TEXT_BASE_ATTRIBUTE7 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE7, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE7, PAVTI.TL_TEXT_BASE_ATTRIBUTE7),
4778       TL_TEXT_BASE_ATTRIBUTE8 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE8, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE8, PAVTI.TL_TEXT_BASE_ATTRIBUTE8),
4779       TL_TEXT_BASE_ATTRIBUTE9 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE9, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE9, PAVTI.TL_TEXT_BASE_ATTRIBUTE9),
4780       TL_TEXT_BASE_ATTRIBUTE10 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE10, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE10, PAVTI.TL_TEXT_BASE_ATTRIBUTE10),
4781       TL_TEXT_BASE_ATTRIBUTE11 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE11, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE11, PAVTI.TL_TEXT_BASE_ATTRIBUTE11),
4782       TL_TEXT_BASE_ATTRIBUTE12 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE12, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE12, PAVTI.TL_TEXT_BASE_ATTRIBUTE12),
4783       TL_TEXT_BASE_ATTRIBUTE13 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE13, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE13, PAVTI.TL_TEXT_BASE_ATTRIBUTE13),
4784       TL_TEXT_BASE_ATTRIBUTE14 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE14, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE14, PAVTI.TL_TEXT_BASE_ATTRIBUTE14),
4785       TL_TEXT_BASE_ATTRIBUTE15 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE15, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE15, PAVTI.TL_TEXT_BASE_ATTRIBUTE15),
4786       TL_TEXT_BASE_ATTRIBUTE16 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE16, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE16, PAVTI.TL_TEXT_BASE_ATTRIBUTE16),
4787       TL_TEXT_BASE_ATTRIBUTE17 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE17, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE17, PAVTI.TL_TEXT_BASE_ATTRIBUTE17),
4788       TL_TEXT_BASE_ATTRIBUTE18 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE18, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE18, PAVTI.TL_TEXT_BASE_ATTRIBUTE18),
4789       TL_TEXT_BASE_ATTRIBUTE19 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE19, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE19, PAVTI.TL_TEXT_BASE_ATTRIBUTE19),
4790       TL_TEXT_BASE_ATTRIBUTE20 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE20, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE20, PAVTI.TL_TEXT_BASE_ATTRIBUTE20),
4791       TL_TEXT_BASE_ATTRIBUTE21 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE21, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE21, PAVTI.TL_TEXT_BASE_ATTRIBUTE21),
4792       TL_TEXT_BASE_ATTRIBUTE22 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE22, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE22, PAVTI.TL_TEXT_BASE_ATTRIBUTE22),
4793       TL_TEXT_BASE_ATTRIBUTE23 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE23, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE23, PAVTI.TL_TEXT_BASE_ATTRIBUTE23),
4794       TL_TEXT_BASE_ATTRIBUTE24 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE24, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE24, PAVTI.TL_TEXT_BASE_ATTRIBUTE24),
4795       TL_TEXT_BASE_ATTRIBUTE25 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE25, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE25, PAVTI.TL_TEXT_BASE_ATTRIBUTE25),
4796       TL_TEXT_BASE_ATTRIBUTE26 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE26, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE26, PAVTI.TL_TEXT_BASE_ATTRIBUTE26),
4797       TL_TEXT_BASE_ATTRIBUTE27 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE27, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE27, PAVTI.TL_TEXT_BASE_ATTRIBUTE27),
4798       TL_TEXT_BASE_ATTRIBUTE28 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE28, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE28, PAVTI.TL_TEXT_BASE_ATTRIBUTE28),
4799       TL_TEXT_BASE_ATTRIBUTE29 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE29, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE29, PAVTI.TL_TEXT_BASE_ATTRIBUTE29),
4800       TL_TEXT_BASE_ATTRIBUTE30 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE30, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE30, PAVTI.TL_TEXT_BASE_ATTRIBUTE30),
4801       TL_TEXT_BASE_ATTRIBUTE31 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE31, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE31, PAVTI.TL_TEXT_BASE_ATTRIBUTE31),
4802       TL_TEXT_BASE_ATTRIBUTE32 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE32, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE32, PAVTI.TL_TEXT_BASE_ATTRIBUTE32),
4803       TL_TEXT_BASE_ATTRIBUTE33 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE33, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE33, PAVTI.TL_TEXT_BASE_ATTRIBUTE33),
4804       TL_TEXT_BASE_ATTRIBUTE34 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE34, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE34, PAVTI.TL_TEXT_BASE_ATTRIBUTE34),
4805       TL_TEXT_BASE_ATTRIBUTE35 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE35, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE35, PAVTI.TL_TEXT_BASE_ATTRIBUTE35),
4806       TL_TEXT_BASE_ATTRIBUTE36 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE36, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE36, PAVTI.TL_TEXT_BASE_ATTRIBUTE36),
4807       TL_TEXT_BASE_ATTRIBUTE37 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE37, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE37, PAVTI.TL_TEXT_BASE_ATTRIBUTE37),
4808       TL_TEXT_BASE_ATTRIBUTE38 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE38, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE38, PAVTI.TL_TEXT_BASE_ATTRIBUTE38),
4809       TL_TEXT_BASE_ATTRIBUTE39 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE39, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE39, PAVTI.TL_TEXT_BASE_ATTRIBUTE39),
4810       TL_TEXT_BASE_ATTRIBUTE40 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE40, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE40, PAVTI.TL_TEXT_BASE_ATTRIBUTE40),
4811       TL_TEXT_BASE_ATTRIBUTE41 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE41, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE41, PAVTI.TL_TEXT_BASE_ATTRIBUTE41),
4812       TL_TEXT_BASE_ATTRIBUTE42 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE42, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE42, PAVTI.TL_TEXT_BASE_ATTRIBUTE42),
4813       TL_TEXT_BASE_ATTRIBUTE43 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE43, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE43, PAVTI.TL_TEXT_BASE_ATTRIBUTE43),
4814       TL_TEXT_BASE_ATTRIBUTE44 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE44, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE44, PAVTI.TL_TEXT_BASE_ATTRIBUTE44),
4815       TL_TEXT_BASE_ATTRIBUTE45 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE45, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE45, PAVTI.TL_TEXT_BASE_ATTRIBUTE45),
4816       TL_TEXT_BASE_ATTRIBUTE46 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE46, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE46, PAVTI.TL_TEXT_BASE_ATTRIBUTE46),
4817       TL_TEXT_BASE_ATTRIBUTE47 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE47, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE47, PAVTI.TL_TEXT_BASE_ATTRIBUTE47),
4818       TL_TEXT_BASE_ATTRIBUTE48 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE48, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE48, PAVTI.TL_TEXT_BASE_ATTRIBUTE48),
4819       TL_TEXT_BASE_ATTRIBUTE49 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE49, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE49, PAVTI.TL_TEXT_BASE_ATTRIBUTE49),
4820       TL_TEXT_BASE_ATTRIBUTE50 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE50, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE50, PAVTI.TL_TEXT_BASE_ATTRIBUTE50),
4821       TL_TEXT_BASE_ATTRIBUTE51 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE51, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE51, PAVTI.TL_TEXT_BASE_ATTRIBUTE51),
4822       TL_TEXT_BASE_ATTRIBUTE52 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE52, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE52, PAVTI.TL_TEXT_BASE_ATTRIBUTE52),
4823       TL_TEXT_BASE_ATTRIBUTE53 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE53, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE53, PAVTI.TL_TEXT_BASE_ATTRIBUTE53),
4824       TL_TEXT_BASE_ATTRIBUTE54 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE54, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE54, PAVTI.TL_TEXT_BASE_ATTRIBUTE54),
4825       TL_TEXT_BASE_ATTRIBUTE55 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE55, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE55, PAVTI.TL_TEXT_BASE_ATTRIBUTE55),
4826       TL_TEXT_BASE_ATTRIBUTE56 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE56, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE56, PAVTI.TL_TEXT_BASE_ATTRIBUTE56),
4827       TL_TEXT_BASE_ATTRIBUTE57 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE57, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE57, PAVTI.TL_TEXT_BASE_ATTRIBUTE57),
4828       TL_TEXT_BASE_ATTRIBUTE58 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE58, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE58, PAVTI.TL_TEXT_BASE_ATTRIBUTE58),
4829       TL_TEXT_BASE_ATTRIBUTE59 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE59, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE59, PAVTI.TL_TEXT_BASE_ATTRIBUTE59),
4830       TL_TEXT_BASE_ATTRIBUTE60 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE60, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE60, PAVTI.TL_TEXT_BASE_ATTRIBUTE60),
4831       TL_TEXT_BASE_ATTRIBUTE61 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE61, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE61, PAVTI.TL_TEXT_BASE_ATTRIBUTE61),
4832       TL_TEXT_BASE_ATTRIBUTE62 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE62, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE62, PAVTI.TL_TEXT_BASE_ATTRIBUTE62),
4833       TL_TEXT_BASE_ATTRIBUTE63 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE63, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE63, PAVTI.TL_TEXT_BASE_ATTRIBUTE63),
4834       TL_TEXT_BASE_ATTRIBUTE64 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE64, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE64, PAVTI.TL_TEXT_BASE_ATTRIBUTE64),
4835       TL_TEXT_BASE_ATTRIBUTE65 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE65, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE65, PAVTI.TL_TEXT_BASE_ATTRIBUTE65),
4836       TL_TEXT_BASE_ATTRIBUTE66 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE66, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE66, PAVTI.TL_TEXT_BASE_ATTRIBUTE66),
4837       TL_TEXT_BASE_ATTRIBUTE67 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE67, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE67, PAVTI.TL_TEXT_BASE_ATTRIBUTE67),
4838       TL_TEXT_BASE_ATTRIBUTE68 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE68, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE68, PAVTI.TL_TEXT_BASE_ATTRIBUTE68),
4839       TL_TEXT_BASE_ATTRIBUTE69 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE69, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE69, PAVTI.TL_TEXT_BASE_ATTRIBUTE69),
4840       TL_TEXT_BASE_ATTRIBUTE70 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE70, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE70, PAVTI.TL_TEXT_BASE_ATTRIBUTE70),
4841       TL_TEXT_BASE_ATTRIBUTE71 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE71, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE71, PAVTI.TL_TEXT_BASE_ATTRIBUTE71),
4842       TL_TEXT_BASE_ATTRIBUTE72 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE72, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE72, PAVTI.TL_TEXT_BASE_ATTRIBUTE72),
4843       TL_TEXT_BASE_ATTRIBUTE73 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE73, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE73, PAVTI.TL_TEXT_BASE_ATTRIBUTE73),
4844       TL_TEXT_BASE_ATTRIBUTE74 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE74, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE74, PAVTI.TL_TEXT_BASE_ATTRIBUTE74),
4845       TL_TEXT_BASE_ATTRIBUTE75 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE75, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE75, PAVTI.TL_TEXT_BASE_ATTRIBUTE75),
4846       TL_TEXT_BASE_ATTRIBUTE76 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE76, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE76, PAVTI.TL_TEXT_BASE_ATTRIBUTE76),
4847       TL_TEXT_BASE_ATTRIBUTE77 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE77, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE77, PAVTI.TL_TEXT_BASE_ATTRIBUTE77),
4848       TL_TEXT_BASE_ATTRIBUTE78 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE78, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE78, PAVTI.TL_TEXT_BASE_ATTRIBUTE78),
4849       TL_TEXT_BASE_ATTRIBUTE79 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE79, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE79, PAVTI.TL_TEXT_BASE_ATTRIBUTE79),
4850       TL_TEXT_BASE_ATTRIBUTE80 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE80, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE80, PAVTI.TL_TEXT_BASE_ATTRIBUTE80),
4851       TL_TEXT_BASE_ATTRIBUTE81 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE81, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE81, PAVTI.TL_TEXT_BASE_ATTRIBUTE81),
4852       TL_TEXT_BASE_ATTRIBUTE82 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE82, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE82, PAVTI.TL_TEXT_BASE_ATTRIBUTE82),
4853       TL_TEXT_BASE_ATTRIBUTE83 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE83, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE83, PAVTI.TL_TEXT_BASE_ATTRIBUTE83),
4854       TL_TEXT_BASE_ATTRIBUTE84 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE84, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE84, PAVTI.TL_TEXT_BASE_ATTRIBUTE84),
4855       TL_TEXT_BASE_ATTRIBUTE85 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE85, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE85, PAVTI.TL_TEXT_BASE_ATTRIBUTE85),
4856       TL_TEXT_BASE_ATTRIBUTE86 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE86, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE86, PAVTI.TL_TEXT_BASE_ATTRIBUTE86),
4857       TL_TEXT_BASE_ATTRIBUTE87 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE87, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE87, PAVTI.TL_TEXT_BASE_ATTRIBUTE87),
4858       TL_TEXT_BASE_ATTRIBUTE88 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE88, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE88, PAVTI.TL_TEXT_BASE_ATTRIBUTE88),
4859       TL_TEXT_BASE_ATTRIBUTE89 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE89, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE89, PAVTI.TL_TEXT_BASE_ATTRIBUTE89),
4860       TL_TEXT_BASE_ATTRIBUTE90 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE90, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE90, PAVTI.TL_TEXT_BASE_ATTRIBUTE90),
4861       TL_TEXT_BASE_ATTRIBUTE91 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE91, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE91, PAVTI.TL_TEXT_BASE_ATTRIBUTE91),
4862       TL_TEXT_BASE_ATTRIBUTE92 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE92, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE92, PAVTI.TL_TEXT_BASE_ATTRIBUTE92),
4863       TL_TEXT_BASE_ATTRIBUTE93 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE93, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE93, PAVTI.TL_TEXT_BASE_ATTRIBUTE93),
4864       TL_TEXT_BASE_ATTRIBUTE94 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE94, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE94, PAVTI.TL_TEXT_BASE_ATTRIBUTE94),
4865       TL_TEXT_BASE_ATTRIBUTE95 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE95, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE95, PAVTI.TL_TEXT_BASE_ATTRIBUTE95),
4866       TL_TEXT_BASE_ATTRIBUTE96 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE96, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE96, PAVTI.TL_TEXT_BASE_ATTRIBUTE96),
4867       TL_TEXT_BASE_ATTRIBUTE97 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE97, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE97, PAVTI.TL_TEXT_BASE_ATTRIBUTE97),
4868       TL_TEXT_BASE_ATTRIBUTE98 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE98, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE98, PAVTI.TL_TEXT_BASE_ATTRIBUTE98),
4869       TL_TEXT_BASE_ATTRIBUTE99 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE99, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE99, PAVTI.TL_TEXT_BASE_ATTRIBUTE99),
4870       TL_TEXT_BASE_ATTRIBUTE100 = DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE100, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_BASE_ATTRIBUTE100, PAVTI.TL_TEXT_BASE_ATTRIBUTE100),
4871       TL_TEXT_CAT_ATTRIBUTE1 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE1, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE1, PAVTI.TL_TEXT_CAT_ATTRIBUTE1),
4872       TL_TEXT_CAT_ATTRIBUTE2 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE2, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE2, PAVTI.TL_TEXT_CAT_ATTRIBUTE2),
4873       TL_TEXT_CAT_ATTRIBUTE3 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE3, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE3, PAVTI.TL_TEXT_CAT_ATTRIBUTE3),
4874       TL_TEXT_CAT_ATTRIBUTE4 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE4, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE4, PAVTI.TL_TEXT_CAT_ATTRIBUTE4),
4875       TL_TEXT_CAT_ATTRIBUTE5 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE5, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE5, PAVTI.TL_TEXT_CAT_ATTRIBUTE5),
4876       TL_TEXT_CAT_ATTRIBUTE6 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE6, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE6, PAVTI.TL_TEXT_CAT_ATTRIBUTE6),
4877       TL_TEXT_CAT_ATTRIBUTE7 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE7, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE7, PAVTI.TL_TEXT_CAT_ATTRIBUTE7),
4878       TL_TEXT_CAT_ATTRIBUTE8 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE8, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE8, PAVTI.TL_TEXT_CAT_ATTRIBUTE8),
4879       TL_TEXT_CAT_ATTRIBUTE9 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE9, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE9, PAVTI.TL_TEXT_CAT_ATTRIBUTE9),
4880       TL_TEXT_CAT_ATTRIBUTE10 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE10, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE10, PAVTI.TL_TEXT_CAT_ATTRIBUTE10),
4881       TL_TEXT_CAT_ATTRIBUTE11 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE11, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE11, PAVTI.TL_TEXT_CAT_ATTRIBUTE11),
4882       TL_TEXT_CAT_ATTRIBUTE12 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE12, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE12, PAVTI.TL_TEXT_CAT_ATTRIBUTE12),
4883       TL_TEXT_CAT_ATTRIBUTE13 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE13, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE13, PAVTI.TL_TEXT_CAT_ATTRIBUTE13),
4884       TL_TEXT_CAT_ATTRIBUTE14 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE14, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE14, PAVTI.TL_TEXT_CAT_ATTRIBUTE14),
4885       TL_TEXT_CAT_ATTRIBUTE15 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE15, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE15, PAVTI.TL_TEXT_CAT_ATTRIBUTE15),
4886       TL_TEXT_CAT_ATTRIBUTE16 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE16, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE16, PAVTI.TL_TEXT_CAT_ATTRIBUTE16),
4887       TL_TEXT_CAT_ATTRIBUTE17 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE17, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE17, PAVTI.TL_TEXT_CAT_ATTRIBUTE17),
4888       TL_TEXT_CAT_ATTRIBUTE18 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE18, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE18, PAVTI.TL_TEXT_CAT_ATTRIBUTE18),
4889       TL_TEXT_CAT_ATTRIBUTE19 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE19, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE19, PAVTI.TL_TEXT_CAT_ATTRIBUTE19),
4890       TL_TEXT_CAT_ATTRIBUTE20 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE20, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE20, PAVTI.TL_TEXT_CAT_ATTRIBUTE20),
4891       TL_TEXT_CAT_ATTRIBUTE21 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE21, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE21, PAVTI.TL_TEXT_CAT_ATTRIBUTE21),
4892       TL_TEXT_CAT_ATTRIBUTE22 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE22, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE22, PAVTI.TL_TEXT_CAT_ATTRIBUTE22),
4893       TL_TEXT_CAT_ATTRIBUTE23 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE23, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE23, PAVTI.TL_TEXT_CAT_ATTRIBUTE23),
4894       TL_TEXT_CAT_ATTRIBUTE24 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE24, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE24, PAVTI.TL_TEXT_CAT_ATTRIBUTE24),
4895       TL_TEXT_CAT_ATTRIBUTE25 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE25, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE25, PAVTI.TL_TEXT_CAT_ATTRIBUTE25),
4896       TL_TEXT_CAT_ATTRIBUTE26 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE26, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE26, PAVTI.TL_TEXT_CAT_ATTRIBUTE26),
4897       TL_TEXT_CAT_ATTRIBUTE27 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE27, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE27, PAVTI.TL_TEXT_CAT_ATTRIBUTE27),
4898       TL_TEXT_CAT_ATTRIBUTE28 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE28, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE28, PAVTI.TL_TEXT_CAT_ATTRIBUTE28),
4899       TL_TEXT_CAT_ATTRIBUTE29 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE29, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE29, PAVTI.TL_TEXT_CAT_ATTRIBUTE29),
4900       TL_TEXT_CAT_ATTRIBUTE30 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE30, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE30, PAVTI.TL_TEXT_CAT_ATTRIBUTE30),
4901       TL_TEXT_CAT_ATTRIBUTE31 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE31, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE31, PAVTI.TL_TEXT_CAT_ATTRIBUTE31),
4902       TL_TEXT_CAT_ATTRIBUTE32 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE32, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE32, PAVTI.TL_TEXT_CAT_ATTRIBUTE32),
4903       TL_TEXT_CAT_ATTRIBUTE33 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE33, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE33, PAVTI.TL_TEXT_CAT_ATTRIBUTE33),
4904       TL_TEXT_CAT_ATTRIBUTE34 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE34, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE34, PAVTI.TL_TEXT_CAT_ATTRIBUTE34),
4905       TL_TEXT_CAT_ATTRIBUTE35 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE35, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE35, PAVTI.TL_TEXT_CAT_ATTRIBUTE35),
4906       TL_TEXT_CAT_ATTRIBUTE36 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE36, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE36, PAVTI.TL_TEXT_CAT_ATTRIBUTE36),
4907       TL_TEXT_CAT_ATTRIBUTE37 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE37, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE37, PAVTI.TL_TEXT_CAT_ATTRIBUTE37),
4908       TL_TEXT_CAT_ATTRIBUTE38 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE38, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE38, PAVTI.TL_TEXT_CAT_ATTRIBUTE38),
4909       TL_TEXT_CAT_ATTRIBUTE39 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE39, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE39, PAVTI.TL_TEXT_CAT_ATTRIBUTE39),
4910       TL_TEXT_CAT_ATTRIBUTE40 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE40, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE40, PAVTI.TL_TEXT_CAT_ATTRIBUTE40),
4911       TL_TEXT_CAT_ATTRIBUTE41 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE41, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE41, PAVTI.TL_TEXT_CAT_ATTRIBUTE41),
4912       TL_TEXT_CAT_ATTRIBUTE42 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE42, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE42, PAVTI.TL_TEXT_CAT_ATTRIBUTE42),
4913       TL_TEXT_CAT_ATTRIBUTE43 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE43, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE43, PAVTI.TL_TEXT_CAT_ATTRIBUTE43),
4914       TL_TEXT_CAT_ATTRIBUTE44 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE44, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE44, PAVTI.TL_TEXT_CAT_ATTRIBUTE44),
4915       TL_TEXT_CAT_ATTRIBUTE45 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE45, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE45, PAVTI.TL_TEXT_CAT_ATTRIBUTE45),
4916       TL_TEXT_CAT_ATTRIBUTE46 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE46, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE46, PAVTI.TL_TEXT_CAT_ATTRIBUTE46),
4917       TL_TEXT_CAT_ATTRIBUTE47 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE47, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE47, PAVTI.TL_TEXT_CAT_ATTRIBUTE47),
4918       TL_TEXT_CAT_ATTRIBUTE48 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE48, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE48, PAVTI.TL_TEXT_CAT_ATTRIBUTE48),
4919       TL_TEXT_CAT_ATTRIBUTE49 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE49, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE49, PAVTI.TL_TEXT_CAT_ATTRIBUTE49),
4920       TL_TEXT_CAT_ATTRIBUTE50 = DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE50, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, NULL, PAVTD.TL_TEXT_CAT_ATTRIBUTE50, PAVTI.TL_TEXT_CAT_ATTRIBUTE50),
4921       LAST_UPDATE_LOGIN = NVL(PAVTI.LAST_UPDATE_LOGIN, FND_GLOBAL.login_id),
4922       LAST_UPDATED_BY = NVL(PAVTI.LAST_UPDATED_BY, FND_GLOBAL.user_id),
4923       LAST_UPDATE_DATE = NVL(PAVTI.LAST_UPDATE_DATE, sysdate),
4924       REQUEST_ID = NVL(PAVTI.REQUEST_ID, FND_GLOBAL.conc_request_id),
4925       PROGRAM_APPLICATION_ID = NVL(PAVTI.PROGRAM_APPLICATION_ID, FND_GLOBAL.prog_appl_id),
4926       PROGRAM_ID = NVL(PAVTI.PROGRAM_ID, FND_GLOBAL.conc_program_id),
4927       PROGRAM_UPDATE_DATE = NVL(PAVTI.PROGRAM_UPDATE_DATE, sysdate)
4928   WHEN NOT MATCHED THEN
4929     INSERT
4930     (
4931       ATTRIBUTE_VALUES_TLP_ID,
4932       DRAFT_ID,
4933       CHANGE_ACCEPTED_FLAG,
4934       DELETE_FLAG,
4935       PO_LINE_ID,
4936       REQ_TEMPLATE_NAME,
4937       REQ_TEMPLATE_LINE_NUM,
4938       IP_CATEGORY_ID,
4939       INVENTORY_ITEM_ID,
4940       ORG_ID,
4941       LANGUAGE,
4942       DESCRIPTION,
4943       MANUFACTURER,
4944       COMMENTS,
4945       ALIAS,
4946       LONG_DESCRIPTION,
4947       TL_TEXT_BASE_ATTRIBUTE1,
4948       TL_TEXT_BASE_ATTRIBUTE2,
4949       TL_TEXT_BASE_ATTRIBUTE3,
4950       TL_TEXT_BASE_ATTRIBUTE4,
4951       TL_TEXT_BASE_ATTRIBUTE5,
4952       TL_TEXT_BASE_ATTRIBUTE6,
4953       TL_TEXT_BASE_ATTRIBUTE7,
4954       TL_TEXT_BASE_ATTRIBUTE8,
4955       TL_TEXT_BASE_ATTRIBUTE9,
4956       TL_TEXT_BASE_ATTRIBUTE10,
4957       TL_TEXT_BASE_ATTRIBUTE11,
4958       TL_TEXT_BASE_ATTRIBUTE12,
4959       TL_TEXT_BASE_ATTRIBUTE13,
4960       TL_TEXT_BASE_ATTRIBUTE14,
4961       TL_TEXT_BASE_ATTRIBUTE15,
4962       TL_TEXT_BASE_ATTRIBUTE16,
4963       TL_TEXT_BASE_ATTRIBUTE17,
4964       TL_TEXT_BASE_ATTRIBUTE18,
4965       TL_TEXT_BASE_ATTRIBUTE19,
4966       TL_TEXT_BASE_ATTRIBUTE20,
4967       TL_TEXT_BASE_ATTRIBUTE21,
4968       TL_TEXT_BASE_ATTRIBUTE22,
4969       TL_TEXT_BASE_ATTRIBUTE23,
4970       TL_TEXT_BASE_ATTRIBUTE24,
4971       TL_TEXT_BASE_ATTRIBUTE25,
4972       TL_TEXT_BASE_ATTRIBUTE26,
4973       TL_TEXT_BASE_ATTRIBUTE27,
4974       TL_TEXT_BASE_ATTRIBUTE28,
4975       TL_TEXT_BASE_ATTRIBUTE29,
4976       TL_TEXT_BASE_ATTRIBUTE30,
4977       TL_TEXT_BASE_ATTRIBUTE31,
4978       TL_TEXT_BASE_ATTRIBUTE32,
4979       TL_TEXT_BASE_ATTRIBUTE33,
4980       TL_TEXT_BASE_ATTRIBUTE34,
4981       TL_TEXT_BASE_ATTRIBUTE35,
4982       TL_TEXT_BASE_ATTRIBUTE36,
4983       TL_TEXT_BASE_ATTRIBUTE37,
4984       TL_TEXT_BASE_ATTRIBUTE38,
4985       TL_TEXT_BASE_ATTRIBUTE39,
4986       TL_TEXT_BASE_ATTRIBUTE40,
4987       TL_TEXT_BASE_ATTRIBUTE41,
4988       TL_TEXT_BASE_ATTRIBUTE42,
4989       TL_TEXT_BASE_ATTRIBUTE43,
4990       TL_TEXT_BASE_ATTRIBUTE44,
4991       TL_TEXT_BASE_ATTRIBUTE45,
4992       TL_TEXT_BASE_ATTRIBUTE46,
4993       TL_TEXT_BASE_ATTRIBUTE47,
4994       TL_TEXT_BASE_ATTRIBUTE48,
4995       TL_TEXT_BASE_ATTRIBUTE49,
4996       TL_TEXT_BASE_ATTRIBUTE50,
4997       TL_TEXT_BASE_ATTRIBUTE51,
4998       TL_TEXT_BASE_ATTRIBUTE52,
4999       TL_TEXT_BASE_ATTRIBUTE53,
5000       TL_TEXT_BASE_ATTRIBUTE54,
5001       TL_TEXT_BASE_ATTRIBUTE55,
5002       TL_TEXT_BASE_ATTRIBUTE56,
5003       TL_TEXT_BASE_ATTRIBUTE57,
5004       TL_TEXT_BASE_ATTRIBUTE58,
5005       TL_TEXT_BASE_ATTRIBUTE59,
5006       TL_TEXT_BASE_ATTRIBUTE60,
5007       TL_TEXT_BASE_ATTRIBUTE61,
5008       TL_TEXT_BASE_ATTRIBUTE62,
5009       TL_TEXT_BASE_ATTRIBUTE63,
5010       TL_TEXT_BASE_ATTRIBUTE64,
5011       TL_TEXT_BASE_ATTRIBUTE65,
5012       TL_TEXT_BASE_ATTRIBUTE66,
5013       TL_TEXT_BASE_ATTRIBUTE67,
5014       TL_TEXT_BASE_ATTRIBUTE68,
5015       TL_TEXT_BASE_ATTRIBUTE69,
5016       TL_TEXT_BASE_ATTRIBUTE70,
5017       TL_TEXT_BASE_ATTRIBUTE71,
5018       TL_TEXT_BASE_ATTRIBUTE72,
5019       TL_TEXT_BASE_ATTRIBUTE73,
5020       TL_TEXT_BASE_ATTRIBUTE74,
5021       TL_TEXT_BASE_ATTRIBUTE75,
5022       TL_TEXT_BASE_ATTRIBUTE76,
5023       TL_TEXT_BASE_ATTRIBUTE77,
5024       TL_TEXT_BASE_ATTRIBUTE78,
5025       TL_TEXT_BASE_ATTRIBUTE79,
5026       TL_TEXT_BASE_ATTRIBUTE80,
5027       TL_TEXT_BASE_ATTRIBUTE81,
5028       TL_TEXT_BASE_ATTRIBUTE82,
5029       TL_TEXT_BASE_ATTRIBUTE83,
5030       TL_TEXT_BASE_ATTRIBUTE84,
5031       TL_TEXT_BASE_ATTRIBUTE85,
5032       TL_TEXT_BASE_ATTRIBUTE86,
5033       TL_TEXT_BASE_ATTRIBUTE87,
5034       TL_TEXT_BASE_ATTRIBUTE88,
5035       TL_TEXT_BASE_ATTRIBUTE89,
5036       TL_TEXT_BASE_ATTRIBUTE90,
5037       TL_TEXT_BASE_ATTRIBUTE91,
5038       TL_TEXT_BASE_ATTRIBUTE92,
5039       TL_TEXT_BASE_ATTRIBUTE93,
5040       TL_TEXT_BASE_ATTRIBUTE94,
5041       TL_TEXT_BASE_ATTRIBUTE95,
5042       TL_TEXT_BASE_ATTRIBUTE96,
5043       TL_TEXT_BASE_ATTRIBUTE97,
5044       TL_TEXT_BASE_ATTRIBUTE98,
5045       TL_TEXT_BASE_ATTRIBUTE99,
5046       TL_TEXT_BASE_ATTRIBUTE100,
5047       TL_TEXT_CAT_ATTRIBUTE1,
5048       TL_TEXT_CAT_ATTRIBUTE2,
5049       TL_TEXT_CAT_ATTRIBUTE3,
5050       TL_TEXT_CAT_ATTRIBUTE4,
5051       TL_TEXT_CAT_ATTRIBUTE5,
5052       TL_TEXT_CAT_ATTRIBUTE6,
5053       TL_TEXT_CAT_ATTRIBUTE7,
5054       TL_TEXT_CAT_ATTRIBUTE8,
5055       TL_TEXT_CAT_ATTRIBUTE9,
5056       TL_TEXT_CAT_ATTRIBUTE10,
5057       TL_TEXT_CAT_ATTRIBUTE11,
5058       TL_TEXT_CAT_ATTRIBUTE12,
5059       TL_TEXT_CAT_ATTRIBUTE13,
5060       TL_TEXT_CAT_ATTRIBUTE14,
5061       TL_TEXT_CAT_ATTRIBUTE15,
5062       TL_TEXT_CAT_ATTRIBUTE16,
5063       TL_TEXT_CAT_ATTRIBUTE17,
5064       TL_TEXT_CAT_ATTRIBUTE18,
5065       TL_TEXT_CAT_ATTRIBUTE19,
5066       TL_TEXT_CAT_ATTRIBUTE20,
5067       TL_TEXT_CAT_ATTRIBUTE21,
5068       TL_TEXT_CAT_ATTRIBUTE22,
5069       TL_TEXT_CAT_ATTRIBUTE23,
5070       TL_TEXT_CAT_ATTRIBUTE24,
5071       TL_TEXT_CAT_ATTRIBUTE25,
5072       TL_TEXT_CAT_ATTRIBUTE26,
5073       TL_TEXT_CAT_ATTRIBUTE27,
5074       TL_TEXT_CAT_ATTRIBUTE28,
5075       TL_TEXT_CAT_ATTRIBUTE29,
5076       TL_TEXT_CAT_ATTRIBUTE30,
5077       TL_TEXT_CAT_ATTRIBUTE31,
5078       TL_TEXT_CAT_ATTRIBUTE32,
5079       TL_TEXT_CAT_ATTRIBUTE33,
5080       TL_TEXT_CAT_ATTRIBUTE34,
5081       TL_TEXT_CAT_ATTRIBUTE35,
5082       TL_TEXT_CAT_ATTRIBUTE36,
5083       TL_TEXT_CAT_ATTRIBUTE37,
5084       TL_TEXT_CAT_ATTRIBUTE38,
5085       TL_TEXT_CAT_ATTRIBUTE39,
5086       TL_TEXT_CAT_ATTRIBUTE40,
5087       TL_TEXT_CAT_ATTRIBUTE41,
5088       TL_TEXT_CAT_ATTRIBUTE42,
5089       TL_TEXT_CAT_ATTRIBUTE43,
5090       TL_TEXT_CAT_ATTRIBUTE44,
5091       TL_TEXT_CAT_ATTRIBUTE45,
5092       TL_TEXT_CAT_ATTRIBUTE46,
5093       TL_TEXT_CAT_ATTRIBUTE47,
5094       TL_TEXT_CAT_ATTRIBUTE48,
5095       TL_TEXT_CAT_ATTRIBUTE49,
5096       TL_TEXT_CAT_ATTRIBUTE50,
5097       LAST_UPDATE_LOGIN,
5098       LAST_UPDATED_BY,
5099       LAST_UPDATE_DATE,
5100       CREATED_BY,
5101       CREATION_DATE,
5102       REQUEST_ID,
5103       PROGRAM_APPLICATION_ID,
5104       PROGRAM_ID,
5105       PROGRAM_UPDATE_DATE
5106     )
5107     VALUES
5108     (
5109       PO_ATTRIBUTE_VALUES_TLP_S.nextval,
5110       PAVTI.DRAFT_ID,
5111       NULL, -- CHANGE_ACCEPTED_FLAG,
5112       NULL, -- DELETE_FLAG,
5113       PAVTI.PO_LINE_ID,
5114       '-2', -- REQ_TEMPLATE_NAME
5115       -2,   -- REQ_TEMPLATE_LINE_NUM
5116       NVL(PAVTI.IP_CATEGORY_ID, -2),
5117       NVL(PAVTI.INVENTORY_ITEM_ID, -2),
5118       PO_PDOI_PARAMS.g_request.org_id,
5119       PAVTI.LANGUAGE,
5120       NVL(PAVTI.DESCRIPTION, PAVTI.LINE_DESCRIPTION),
5121       DECODE(PAVTI.MANUFACTURER, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.MANUFACTURER),
5122       DECODE(PAVTI.COMMENTS, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.COMMENTS),
5123       DECODE(PAVTI.ALIAS, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.ALIAS),
5124       DECODE(PAVTI.LONG_DESCRIPTION, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.LONG_DESCRIPTION),
5125       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE1, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE1),
5126       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE2, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE2),
5127       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE3, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE3),
5128       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE4, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE4),
5129       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE5, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE5),
5130       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE6, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE6),
5131       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE7, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE7),
5132       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE8, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE8),
5133       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE9, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE9),
5134       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE10, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE10),
5135       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE11, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE11),
5136       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE12, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE12),
5137       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE13, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE13),
5138       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE14, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE14),
5139       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE15, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE15),
5140       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE16, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE16),
5141       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE17, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE17),
5142       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE18, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE18),
5143       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE19, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE19),
5144       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE20, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE20),
5145       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE21, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE21),
5146       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE22, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE22),
5147       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE23, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE23),
5148       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE24, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE24),
5149       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE25, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE25),
5150       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE26, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE26),
5151       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE27, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE27),
5152       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE28, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE28),
5153       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE29, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE29),
5154       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE30, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE30),
5155       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE31, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE31),
5156       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE32, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE32),
5157       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE33, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE33),
5158       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE34, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE34),
5159       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE35, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE35),
5160       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE36, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE36),
5161       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE37, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE37),
5162       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE38, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE38),
5163       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE39, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE39),
5164       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE40, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE40),
5165       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE41, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE41),
5166       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE42, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE42),
5167       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE43, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE43),
5168       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE44, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE44),
5169       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE45, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE45),
5170       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE46, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE46),
5171       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE47, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE47),
5172       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE48, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE48),
5173       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE49, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE49),
5174       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE50, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE50),
5175       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE51, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE51),
5176       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE52, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE52),
5177       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE53, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE53),
5178       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE54, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE54),
5179       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE55, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE55),
5180       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE56, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE56),
5181       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE57, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE57),
5182       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE58, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE58),
5183       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE59, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE59),
5184       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE60, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE60),
5185       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE61, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE61),
5186       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE62, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE62),
5187       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE63, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE63),
5188       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE64, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE64),
5189       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE65, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE65),
5190       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE66, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE66),
5191       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE67, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE67),
5192       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE68, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE68),
5193       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE69, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE69),
5194       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE70, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE70),
5195       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE71, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE71),
5196       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE72, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE72),
5197       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE73, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE73),
5198       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE74, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE74),
5199       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE75, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE75),
5200       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE76, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE76),
5201       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE77, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE77),
5202       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE78, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE78),
5203       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE79, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE79),
5204       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE80, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE80),
5205       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE81, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE81),
5206       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE82, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE82),
5207       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE83, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE83),
5208       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE84, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE84),
5209       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE85, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE85),
5210       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE86, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE86),
5211       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE87, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE87),
5212       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE88, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE88),
5213       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE89, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE89),
5214       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE90, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE90),
5215       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE91, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE91),
5216       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE92, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE92),
5217       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE93, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE93),
5218       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE94, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE94),
5219       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE95, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE95),
5220       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE96, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE96),
5221       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE97, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE97),
5222       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE98, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE98),
5223       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE99, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE99),
5224       DECODE(PAVTI.TL_TEXT_BASE_ATTRIBUTE100, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_BASE_ATTRIBUTE100),
5225       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE1, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE1),
5226       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE2, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE2),
5227       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE3, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE3),
5228       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE4, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE4),
5229       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE5, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE5),
5230       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE6, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE6),
5231       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE7, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE7),
5232       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE8, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE8),
5233       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE9, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE9),
5234       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE10, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE10),
5235       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE11, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE11),
5236       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE12, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE12),
5237       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE13, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE13),
5238       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE14, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE14),
5239       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE15, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE15),
5240       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE16, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE16),
5241       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE17, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE17),
5242       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE18, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE18),
5243       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE19, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE19),
5244       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE20, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE20),
5245       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE21, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE21),
5246       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE22, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE22),
5247       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE23, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE23),
5248       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE24, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE24),
5249       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE25, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE25),
5250       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE26, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE26),
5251       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE27, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE27),
5252       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE28, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE28),
5253       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE29, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE29),
5254       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE30, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE30),
5255       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE31, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE31),
5256       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE32, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE32),
5257       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE33, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE33),
5258       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE34, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE34),
5259       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE35, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE35),
5260       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE36, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE36),
5261       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE37, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE37),
5262       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE38, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE38),
5263       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE39, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE39),
5264       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE40, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE40),
5265       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE41, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE41),
5266       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE42, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE42),
5267       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE43, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE43),
5268       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE44, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE44),
5269       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE45, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE45),
5270       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE46, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE46),
5271       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE47, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE47),
5272       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE48, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE48),
5273       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE49, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE49),
5274       DECODE(PAVTI.TL_TEXT_CAT_ATTRIBUTE50, PO_PDOI_CONSTANTS.g_NULLIFY_VARCHAR, NULL, PAVTI.TL_TEXT_CAT_ATTRIBUTE50),
5275       NVL(PAVTI.LAST_UPDATE_LOGIN, FND_GLOBAL.login_id),
5276       NVL(PAVTI.LAST_UPDATED_BY, FND_GLOBAL.user_id),
5277       NVL(PAVTI.LAST_UPDATE_DATE, sysdate),
5278       NVL(PAVTI.CREATED_BY, FND_GLOBAL.user_id),
5279       NVL(PAVTI.CREATION_DATE, sysdate),
5280       NVL(PAVTI.REQUEST_ID, FND_GLOBAL.conc_request_id),
5281       NVL(PAVTI.PROGRAM_APPLICATION_ID, FND_GLOBAL.prog_appl_id),
5282       NVL(PAVTI.PROGRAM_ID, FND_GLOBAL.conc_program_id),
5283       NVL(PAVTI.PROGRAM_UPDATE_DATE, sysdate));
5284 
5285   IF (PO_LOG.d_proc) THEN
5286     PO_LOG.proc_end (d_module);
5287   END IF;
5288 
5289 EXCEPTION
5290   WHEN OTHERS THEN
5291     PO_MESSAGE_S.add_exc_msg
5292     (
5293       p_pkg_name => d_pkg_name,
5294       p_procedure_name => d_api_name || '.' || d_position
5295     );
5296     RAISE;
5297 END merge_po_attr_values_tlp_draft;
5298 
5299 -----------------------------------------------------------------------
5300 --Start of Comments
5301 --Name: reset_cat_attributes
5302 --Function:
5303 --  reset all category attribute values to NULL on attribute_values and
5304 --  tlp tables if ip_category_id is changed
5305 --Parameters:
5306 --IN:
5307 --p_index_tbl
5308 --  mark down for which line we need to perform the reset
5309 --p_po_line_id_tbl
5310 --  list of po_line_id values. But only for lines marked in p_index_tbl,
5311 --  we will perform the reset on category attributes
5312 --p_draft_id_tbl
5313 --  list of draft id values.
5314 --IN OUT:
5315 --OUT:
5316 --End of Comments
5317 ------------------------------------------------------------------------
5318 PROCEDURE reset_cat_attributes
5319 (
5320   p_index_tbl       IN DBMS_SQL.NUMBER_TABLE,
5321   p_po_line_id_tbl  IN PO_TBL_NUMBER,
5322   p_draft_id_tbl    IN PO_TBL_NUMBER
5323 ) IS
5324 
5325   d_api_name CONSTANT VARCHAR2(30) := 'reset_cat_attributes';
5326   d_module   CONSTANT VARCHAR2(255) := d_pkg_name || d_api_name || '.';
5327   d_position NUMBER;
5328 
5329   l_key      po_session_gt.key%TYPE;
5330 
5331   l_sync_attr_values_id_tbl     PO_TBL_NUMBER;
5332   l_sync_attr_values_tlp_id_tbl PO_TBL_NUMBER;
5333   l_draft_id_tbl                PO_TBL_NUMBER;
5334   l_delete_flag_tbl             PO_TBL_VARCHAR1;
5335   l_record_already_exist_tbl    PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
5336 BEGIN
5337   d_position := 0;
5338 
5339   IF (PO_LOG.d_proc) THEN
5340     PO_LOG.proc_begin(d_module, 'p_po_line_id_tbl', p_po_line_id_tbl);
5341     PO_LOG.proc_begin(d_module, 'p_draft_id_tbl', p_draft_id_tbl);
5342   END IF;
5343 
5344   l_key := PO_CORE_S.get_session_gt_nextval;
5345 
5346   -- get attribute_values_id we need to sync from txn tables
5347   FORALL i IN INDICES OF p_index_tbl
5348     INSERT INTO po_session_gt
5349     (
5350       key,
5351       num1,
5352       num2,
5353       char1
5354     )
5355     SELECT
5356       l_key,
5357       attribute_values_id,
5358       p_draft_id_tbl(i),
5359       'N'
5360     FROM  po_attribute_values
5361     WHERE po_line_id = p_po_line_id_tbl(i);
5362 
5363   d_position := 10;
5364 
5365   DELETE FROM po_session_gt
5366   WHERE key = l_key
5367   RETURNING num1, num2, char1 BULK COLLECT INTO
5368     l_sync_attr_values_id_tbl, l_draft_id_tbl,
5369     l_delete_flag_tbl;
5370 
5371   d_position := 20;
5372 
5373   -- sync from txn table to draft table
5374   PO_ATTR_VALUES_DRAFT_PKG.sync_draft_from_txn
5375   (
5376     p_attribute_values_id_tbl      => l_sync_attr_values_id_tbl,
5377     p_draft_id_tbl                 => l_draft_id_tbl,
5378     p_delete_flag_tbl              => l_delete_flag_tbl,
5379     x_record_already_exist_tbl     => l_record_already_exist_tbl
5380   );
5381 
5382   d_position := 30;
5383 
5384   -- update records in draft table
5385   FORALL i IN 1..l_sync_attr_values_id_tbl.COUNT
5386     UPDATE po_attribute_values_draft
5387     SET    TEXT_CAT_ATTRIBUTE1 = NULL,
5388            TEXT_CAT_ATTRIBUTE2 = NULL,
5389            TEXT_CAT_ATTRIBUTE3 = NULL,
5390            TEXT_CAT_ATTRIBUTE4 = NULL,
5391            TEXT_CAT_ATTRIBUTE5 = NULL,
5392            TEXT_CAT_ATTRIBUTE6 = NULL,
5393            TEXT_CAT_ATTRIBUTE7 = NULL,
5394            TEXT_CAT_ATTRIBUTE8 = NULL,
5395            TEXT_CAT_ATTRIBUTE9 = NULL,
5396            TEXT_CAT_ATTRIBUTE10 = NULL,
5397            TEXT_CAT_ATTRIBUTE11 = NULL,
5398            TEXT_CAT_ATTRIBUTE12 = NULL,
5399            TEXT_CAT_ATTRIBUTE13 = NULL,
5400            TEXT_CAT_ATTRIBUTE14 = NULL,
5401            TEXT_CAT_ATTRIBUTE15 = NULL,
5402            TEXT_CAT_ATTRIBUTE16 = NULL,
5403            TEXT_CAT_ATTRIBUTE17 = NULL,
5404            TEXT_CAT_ATTRIBUTE18 = NULL,
5405            TEXT_CAT_ATTRIBUTE19 = NULL,
5406            TEXT_CAT_ATTRIBUTE20 = NULL,
5407            TEXT_CAT_ATTRIBUTE21 = NULL,
5408            TEXT_CAT_ATTRIBUTE22 = NULL,
5409            TEXT_CAT_ATTRIBUTE23 = NULL,
5410            TEXT_CAT_ATTRIBUTE24 = NULL,
5411            TEXT_CAT_ATTRIBUTE25 = NULL,
5412            TEXT_CAT_ATTRIBUTE26 = NULL,
5413            TEXT_CAT_ATTRIBUTE27 = NULL,
5414            TEXT_CAT_ATTRIBUTE28 = NULL,
5415            TEXT_CAT_ATTRIBUTE29 = NULL,
5416            TEXT_CAT_ATTRIBUTE30 = NULL,
5417            TEXT_CAT_ATTRIBUTE31 = NULL,
5418            TEXT_CAT_ATTRIBUTE32 = NULL,
5419            TEXT_CAT_ATTRIBUTE33 = NULL,
5420            TEXT_CAT_ATTRIBUTE34 = NULL,
5421            TEXT_CAT_ATTRIBUTE35 = NULL,
5422            TEXT_CAT_ATTRIBUTE36 = NULL,
5423            TEXT_CAT_ATTRIBUTE37 = NULL,
5424            TEXT_CAT_ATTRIBUTE38 = NULL,
5425            TEXT_CAT_ATTRIBUTE39 = NULL,
5426            TEXT_CAT_ATTRIBUTE40 = NULL,
5427            TEXT_CAT_ATTRIBUTE41 = NULL,
5428            TEXT_CAT_ATTRIBUTE42 = NULL,
5429            TEXT_CAT_ATTRIBUTE43 = NULL,
5430            TEXT_CAT_ATTRIBUTE44 = NULL,
5431            TEXT_CAT_ATTRIBUTE45 = NULL,
5432            TEXT_CAT_ATTRIBUTE46 = NULL,
5433            TEXT_CAT_ATTRIBUTE47 = NULL,
5434            TEXT_CAT_ATTRIBUTE48 = NULL,
5435            TEXT_CAT_ATTRIBUTE49 = NULL,
5436            TEXT_CAT_ATTRIBUTE50 = NULL,
5437            NUM_CAT_ATTRIBUTE1 = NULL,
5438            NUM_CAT_ATTRIBUTE2 = NULL,
5439            NUM_CAT_ATTRIBUTE3 = NULL,
5440            NUM_CAT_ATTRIBUTE4 = NULL,
5441            NUM_CAT_ATTRIBUTE5 = NULL,
5442            NUM_CAT_ATTRIBUTE6 = NULL,
5443            NUM_CAT_ATTRIBUTE7 = NULL,
5444            NUM_CAT_ATTRIBUTE8 = NULL,
5445            NUM_CAT_ATTRIBUTE9 = NULL,
5446            NUM_CAT_ATTRIBUTE10 = NULL,
5447            NUM_CAT_ATTRIBUTE11 = NULL,
5448            NUM_CAT_ATTRIBUTE12 = NULL,
5449            NUM_CAT_ATTRIBUTE13 = NULL,
5450            NUM_CAT_ATTRIBUTE14 = NULL,
5451            NUM_CAT_ATTRIBUTE15 = NULL,
5452            NUM_CAT_ATTRIBUTE16 = NULL,
5453            NUM_CAT_ATTRIBUTE17 = NULL,
5454            NUM_CAT_ATTRIBUTE18 = NULL,
5455            NUM_CAT_ATTRIBUTE19 = NULL,
5456            NUM_CAT_ATTRIBUTE20 = NULL,
5457            NUM_CAT_ATTRIBUTE21 = NULL,
5458            NUM_CAT_ATTRIBUTE22 = NULL,
5459            NUM_CAT_ATTRIBUTE23 = NULL,
5460            NUM_CAT_ATTRIBUTE24 = NULL,
5461            NUM_CAT_ATTRIBUTE25 = NULL,
5462            NUM_CAT_ATTRIBUTE26 = NULL,
5463            NUM_CAT_ATTRIBUTE27 = NULL,
5464            NUM_CAT_ATTRIBUTE28 = NULL,
5465            NUM_CAT_ATTRIBUTE29 = NULL,
5466            NUM_CAT_ATTRIBUTE30 = NULL,
5467            NUM_CAT_ATTRIBUTE31 = NULL,
5468            NUM_CAT_ATTRIBUTE32 = NULL,
5469            NUM_CAT_ATTRIBUTE33 = NULL,
5470            NUM_CAT_ATTRIBUTE34 = NULL,
5471            NUM_CAT_ATTRIBUTE35 = NULL,
5472            NUM_CAT_ATTRIBUTE36 = NULL,
5473            NUM_CAT_ATTRIBUTE37 = NULL,
5474            NUM_CAT_ATTRIBUTE38 = NULL,
5475            NUM_CAT_ATTRIBUTE39 = NULL,
5476            NUM_CAT_ATTRIBUTE40 = NULL,
5477            NUM_CAT_ATTRIBUTE41 = NULL,
5478            NUM_CAT_ATTRIBUTE42 = NULL,
5479            NUM_CAT_ATTRIBUTE43 = NULL,
5480            NUM_CAT_ATTRIBUTE44 = NULL,
5481            NUM_CAT_ATTRIBUTE45 = NULL,
5482            NUM_CAT_ATTRIBUTE46 = NULL,
5483            NUM_CAT_ATTRIBUTE47 = NULL,
5484            NUM_CAT_ATTRIBUTE48 = NULL,
5485            NUM_CAT_ATTRIBUTE49 = NULL,
5486            NUM_CAT_ATTRIBUTE50 = NULL,
5487            LAST_UPDATE_LOGIN = FND_GLOBAL.login_id,
5488            LAST_UPDATED_BY = FND_GLOBAL.user_id,
5489            LAST_UPDATE_DATE = sysdate,
5490            REQUEST_ID = FND_GLOBAL.conc_request_id,
5491            PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
5492            PROGRAM_ID = FND_GLOBAL.conc_program_id,
5493            PROGRAM_UPDATE_DATE = sysdate
5494     WHERE  attribute_values_id = l_sync_attr_values_id_tbl(i)
5495     AND    draft_id = l_draft_id_tbl(i);
5496 
5497   d_position := 40;
5498 
5499   -- get attribute_values_tlp_id we need to sync from txn tables
5500   FORALL i IN INDICES OF p_index_tbl
5501     INSERT INTO po_session_gt
5502     (
5503       key,
5504       num1,
5505       num2,
5506       char1
5507     )
5508     SELECT
5509       l_key,
5510       attribute_values_tlp_id,
5511       p_draft_id_tbl(i),
5512       'N'
5513     FROM  po_attribute_values_tlp
5514     WHERE po_line_id = p_po_line_id_tbl(i);
5515 
5516   d_position := 50;
5517 
5518   DELETE FROM po_session_gt
5519   WHERE key = l_key
5520   RETURNING num1, num2, char1 BULK COLLECT INTO
5521     l_sync_attr_values_tlp_id_tbl, l_draft_id_tbl,
5522     l_delete_flag_tbl;
5523 
5524   d_position := 60;
5525 
5526   -- sync from txn table to draft table
5527   PO_ATTR_VALUES_TLP_DRAFT_PKG.sync_draft_from_txn
5528   (
5529     p_attribute_values_tlp_id_tbl  => l_sync_attr_values_tlp_id_tbl,
5530     p_draft_id_tbl                 => l_draft_id_tbl,
5531     p_delete_flag_tbl              => l_delete_flag_tbl,
5532     x_record_already_exist_tbl     => l_record_already_exist_tbl
5533   );
5534 
5535   d_position := 70;
5536 
5537   -- update records in draft table
5538   FORALL i IN 1..l_sync_attr_values_tlp_id_tbl.COUNT
5539     UPDATE po_attribute_values_tlp_draft
5540     SET    TL_TEXT_CAT_ATTRIBUTE1 = NULL,
5541            TL_TEXT_CAT_ATTRIBUTE2 = NULL,
5542            TL_TEXT_CAT_ATTRIBUTE3 = NULL,
5543            TL_TEXT_CAT_ATTRIBUTE4 = NULL,
5544            TL_TEXT_CAT_ATTRIBUTE5 = NULL,
5545            TL_TEXT_CAT_ATTRIBUTE6 = NULL,
5546            TL_TEXT_CAT_ATTRIBUTE7 = NULL,
5547            TL_TEXT_CAT_ATTRIBUTE8 = NULL,
5548            TL_TEXT_CAT_ATTRIBUTE9 = NULL,
5549            TL_TEXT_CAT_ATTRIBUTE10 = NULL,
5550            TL_TEXT_CAT_ATTRIBUTE11 = NULL,
5551            TL_TEXT_CAT_ATTRIBUTE12 = NULL,
5552            TL_TEXT_CAT_ATTRIBUTE13 = NULL,
5553            TL_TEXT_CAT_ATTRIBUTE14 = NULL,
5554            TL_TEXT_CAT_ATTRIBUTE15 = NULL,
5555            TL_TEXT_CAT_ATTRIBUTE16 = NULL,
5556            TL_TEXT_CAT_ATTRIBUTE17 = NULL,
5557            TL_TEXT_CAT_ATTRIBUTE18 = NULL,
5558            TL_TEXT_CAT_ATTRIBUTE19 = NULL,
5559            TL_TEXT_CAT_ATTRIBUTE20 = NULL,
5560            TL_TEXT_CAT_ATTRIBUTE21 = NULL,
5561            TL_TEXT_CAT_ATTRIBUTE22 = NULL,
5562            TL_TEXT_CAT_ATTRIBUTE23 = NULL,
5563            TL_TEXT_CAT_ATTRIBUTE24 = NULL,
5564            TL_TEXT_CAT_ATTRIBUTE25 = NULL,
5565            TL_TEXT_CAT_ATTRIBUTE26 = NULL,
5566            TL_TEXT_CAT_ATTRIBUTE27 = NULL,
5567            TL_TEXT_CAT_ATTRIBUTE28 = NULL,
5568            TL_TEXT_CAT_ATTRIBUTE29 = NULL,
5569            TL_TEXT_CAT_ATTRIBUTE30 = NULL,
5570            TL_TEXT_CAT_ATTRIBUTE31 = NULL,
5571            TL_TEXT_CAT_ATTRIBUTE32 = NULL,
5572            TL_TEXT_CAT_ATTRIBUTE33 = NULL,
5573            TL_TEXT_CAT_ATTRIBUTE34 = NULL,
5574            TL_TEXT_CAT_ATTRIBUTE35 = NULL,
5575            TL_TEXT_CAT_ATTRIBUTE36 = NULL,
5576            TL_TEXT_CAT_ATTRIBUTE37 = NULL,
5577            TL_TEXT_CAT_ATTRIBUTE38 = NULL,
5578            TL_TEXT_CAT_ATTRIBUTE39 = NULL,
5579            TL_TEXT_CAT_ATTRIBUTE40 = NULL,
5580            TL_TEXT_CAT_ATTRIBUTE41 = NULL,
5581            TL_TEXT_CAT_ATTRIBUTE42 = NULL,
5582            TL_TEXT_CAT_ATTRIBUTE43 = NULL,
5583            TL_TEXT_CAT_ATTRIBUTE44 = NULL,
5584            TL_TEXT_CAT_ATTRIBUTE45 = NULL,
5585            TL_TEXT_CAT_ATTRIBUTE46 = NULL,
5586            TL_TEXT_CAT_ATTRIBUTE47 = NULL,
5587            TL_TEXT_CAT_ATTRIBUTE48 = NULL,
5588            TL_TEXT_CAT_ATTRIBUTE49 = NULL,
5589            TL_TEXT_CAT_ATTRIBUTE50 = NULL,
5590            LAST_UPDATE_LOGIN = FND_GLOBAL.login_id,
5591            LAST_UPDATED_BY = FND_GLOBAL.user_id,
5592            LAST_UPDATE_DATE = sysdate,
5593            REQUEST_ID = FND_GLOBAL.conc_request_id,
5594            PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
5595            PROGRAM_ID = FND_GLOBAL.conc_program_id,
5596            PROGRAM_UPDATE_DATE = sysdate
5597     WHERE  attribute_values_tlp_id = l_sync_attr_values_tlp_id_tbl(i)
5598     AND    draft_id = l_draft_id_tbl(i);
5599 
5600   IF (PO_LOG.d_proc) THEN
5601     PO_LOG.proc_end (d_module);
5602   END IF;
5603 
5604 EXCEPTION
5605   WHEN OTHERS THEN
5606     PO_MESSAGE_S.add_exc_msg
5607     (
5608       p_pkg_name => d_pkg_name,
5609       p_procedure_name => d_api_name || '.' || d_position
5610     );
5611     RAISE;
5612 END reset_cat_attributes;
5613 
5614 END PO_PDOI_MOVE_TO_DRAFT_TABS_PVT;