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