DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_ATTRIBUTE_VALUES_PVT

Source


1 PACKAGE BODY PO_ATTRIBUTE_VALUES_PVT AS
2 /* $Header: PO_ATTRIBUTE_VALUES_PVT.plb 120.44.12020000.3 2013/02/10 16:49:47 vegajula ship $ */
3 
4 -- The module base for this package.
5 D_PACKAGE_BASE CONSTANT VARCHAR2(50) := PO_LOG.get_package_base('PO_ATTRIBUTE_VALUES_PVT');
6 
7 -- The module base for the subprogram.
8 D_handle_attributes CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'handle_attributes');
9 D_set_attribute_values CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'set_attribute_values');
10 D_set_attribute_values_tlp CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'set_attribute_values_tlp');
11 D_transfer_intf_item_attribs CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'transfer_intf_item_attribs');
12 D_get_translations CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'get_translations');
13 D_get_tlp_ids_for_lines CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'get_tlp_ids_for_lines');
14 D_create_translations CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'create_translations');
15 D_create_default_attr_tlp CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'create_default_attr_tlp');
16 D_create_attributes_tlp_MI CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'create_attributes_tlp_MI');
17 D_create_default_attributes CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'create_default_attributes');
18 D_create_default_attributes_MI CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'create_default_attributes_MI');
19 D_gen_draft_line_translations CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'gen_draft_line_translations');
20 D_wipeout_category_attributes CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'wipeout_category_attributes');
21 D_update_attributes CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'update_attributes');
22 D_copy_attributes CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'copy_attributes');
23 D_get_ip_category_id CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'get_ip_category_id');
24 D_delete_attributes CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'delete_attributes');
25 D_delete_attributes_for_header CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'delete_attributes_for_header');
26 D_get_base_lang CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'get_base_lang');
27 D_get_item_attributes_values CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'get_item_attributes_values');
28 D_get_item_attributes_tlp CONSTANT VARCHAR2(100) := PO_LOG.get_subprogram_base(D_PACKAGE_BASE,'get_item_attributes_tlp_values');
29 
30 TYPE PO_TBL_VARCHAR4 IS TABLE OF VARCHAR2(4) INDEX BY pls_integer;
31 TYPE PO_TBL_VARCHAR480 IS TABLE OF VARCHAR2(480) INDEX BY pls_integer;
32 
33 -- iP defined value to signify NULL value
34 g_NOT_REQUIRED_ID CONSTANT NUMBER := -2;
35 
36 g_base_language VARCHAR2(4) := get_base_lang();
37 
38 -- cursor to select the non-translatable descriptors (type is 0 or 1) of
39 -- a particular category or base
40 CURSOR descriptors_csr
41 (
42   p_category_id NUMBER,
43   p_language  VARCHAR2
44 )
45 IS
46 SELECT attribute_id,
47        attribute_name,
48        type,
49        rt_category_id,
50        stored_in_table,
51        stored_in_column,
52        sequence
53   FROM ICX_CAT_AGREEMENT_ATTRS_V -- replaced ICX_CAT_ATTRIBUTES_TL
54  WHERE rt_category_id = p_category_id
55    AND language = p_language
56    AND type IN (0,1)
57    AND stored_in_table = 'PO_ATTRIBUTE_VALUES'
58 ORDER BY attribute_id, stored_in_table;
59 
60 -- cursor to select the translatable descriptors (type is 2) of
61 -- a particular category or base
62 CURSOR descriptors_tlp_csr
63 (
64   p_category_id NUMBER,
65   p_language VARCHAR2
66 )
67 IS
68 SELECT attribute_id,
69        attribute_name,
70        type,
71        rt_category_id,
72        stored_in_table,
73        stored_in_column,
74        sequence
75   FROM ICX_CAT_AGREEMENT_ATTRS_V -- replaced ICX_CAT_ATTRIBUTES_TL
76  WHERE rt_category_id = p_category_id
77    AND language = p_language
78    AND type = 2
79    AND stored_in_table = 'PO_ATTRIBUTE_VALUES_TLP'
80 ORDER BY attribute_id, stored_in_table;
81 
82 -- Cursor to select data from po_attribute_values
83 CURSOR attr_values_csr
84 (
85   p_interface_header_id NUMBER,
86   p_po_header_id NUMBER
87 )
88 IS
89 SELECT PAII.interface_line_number,
90        PAV.*
91   FROM PO_LINES_ALL POL,
92        PO_ATTRIBUTE_VALUES PAV,
93        PON_AUC_ITEMS_INTERFACE PAII
94  WHERE POL.po_header_id = p_po_header_id
95    AND POL.po_line_id = pav.po_line_id
96    AND PAII.source_doc_id = p_po_header_id
97    AND PAII.source_line_id = pol.po_line_id
98    AND PAII.interface_auction_header_id = p_interface_header_id;
99 
100 -- Cursor to select data from po_attribute_values_tlp
101 CURSOR attr_values_tlp_csr
102 (
103   p_interface_header_id NUMBER,
104   p_po_header_id NUMBER,
105   p_language VARCHAR2
106 )
107 IS
108 SELECT PAII.interface_line_number,
109        PAVT.*
110   FROM PO_LINES_ALL POL,
111        PO_ATTRIBUTE_VALUES_TLP PAVT,
112        PON_AUC_ITEMS_INTERFACE PAII
113  WHERE POL.po_header_id = p_po_header_id
114    AND POL.po_line_id = pavt.po_line_id
115    AND PAVT.language = p_language
116    AND PAII.source_doc_id = p_po_header_id
117    AND PAII.source_line_id = pol.po_line_id
118    AND PAII.interface_auction_header_id = p_interface_header_id;
119 
120 -- Cursor to select data from po_attribute_values
121 -- This is to facilitate callback from Sourcing in the req to negotiation flow
122 CURSOR pon_attr_values_csr
123 (
124   p_auction_header_id NUMBER
125 ) IS
126 SELECT PAIP.line_number,
127        PAV.*
128   FROM PON_AUCTION_ITEM_PRICES_ALL PAIP,
129        ( SELECT PB.auction_header_id, PB.line_number, blanket_po_header_id, blanket_po_line_num
130 		 FROM PON_BACKING_REQUISITIONS PB, PO_REQUISITION_LINES_ALL PRL
131 		 WHERE PB.auction_header_id = p_auction_header_id
132 		   AND PB.requisition_header_id = PRL.requisition_header_id
133 		   AND PB.requisition_line_id = PRL.requisition_line_id
134 		   AND PRL.blanket_po_header_id IS NOT NULL
135            AND PRL.blanket_po_line_num IS NOT NULL
136 		 GROUP BY  PB.auction_header_id,PB.line_number, blanket_po_header_id, blanket_po_line_num) PBR,
137        PO_ATTRIBUTE_VALUES PAV,
138        PO_LINES_ALL POL
139  WHERE PAIP.auction_header_id = PBR.auction_header_id
140    AND PAIP.line_number = PBR.line_number
141    AND POL.po_header_id = PBR.blanket_po_header_id
142    AND POL.line_num = PBR.blanket_po_line_num
143    AND PAV.po_line_id = POL.po_line_id;
144 
145 -- Cursor to select data from po_attribute_values
146 -- This is to facilitate callback from Sourcing in the req to negotiation flow
147 CURSOR pon_attr_values_tlp_csr
148 (
149   p_auction_header_id NUMBER,
150   p_language VARCHAR2
151 )
152 IS
153 SELECT PAIP.line_number,
154        PAVT.*
155   FROM PON_AUCTION_ITEM_PRICES_ALL PAIP,
156        ( SELECT PB.auction_header_id, PB.line_number, blanket_po_header_id, blanket_po_line_num
157 		 FROM PON_BACKING_REQUISITIONS PB, PO_REQUISITION_LINES_ALL PRL
158 		 WHERE PB.auction_header_id = p_auction_header_id
159 		   AND PB.requisition_header_id = PRL.requisition_header_id
160 		   AND PB.requisition_line_id = PRL.requisition_line_id
161 		   AND PRL.blanket_po_header_id IS NOT NULL
162            AND PRL.blanket_po_line_num IS NOT NULL
163 		 GROUP BY  PB.auction_header_id,PB.line_number, blanket_po_header_id, blanket_po_line_num) PBR,
164        PO_ATTRIBUTE_VALUES_TLP PAVT,
165        PO_LINES_ALL POL
166  WHERE PAIP.auction_header_id = PBR.auction_header_id
167    AND PAIP.line_number = PBR.line_number
168    AND POL.po_header_id = PBR.blanket_po_header_id
169    AND POL.line_num = PBR.blanket_po_line_num
170    AND PAVT.po_line_id = POL.po_line_id
171    AND PAVT.language = p_language;
172 
173 TYPE attr_value_typ IS TABLE OF attr_values_csr%ROWTYPE INDEX BY PLS_INTEGER;
174 TYPE attr_value_tlp_typ IS TABLE OF attr_values_tlp_csr%ROWTYPE INDEX BY PLS_INTEGER;
175 TYPE descriptors_typ IS TABLE OF descriptors_csr%ROWTYPE INDEX BY PLS_INTEGER;
176 TYPE descriptors_tlp_typ IS TABLE OF descriptors_tlp_csr%ROWTYPE INDEX BY PLS_INTEGER;
177 TYPE pon_attributes_typ IS TABLE OF pon_attributes_interface%ROWTYPE INDEX BY PLS_INTEGER;
178 
179 PROCEDURE set_attribute_values
180 (
181   x_pon_attributes IN OUT NOCOPY pon_attributes_interface%ROWTYPE,
182   x_attr_values IN OUT NOCOPY attr_values_csr%ROWTYPE,
183   x_descriptors IN OUT NOCOPY descriptors_csr%ROWTYPE
184 );
185 
186 PROCEDURE set_attribute_values_tlp
187 (
188   x_pon_attributes IN OUT NOCOPY pon_attributes_interface%ROWTYPE,
189   x_attr_values_tlp IN OUT NOCOPY attr_values_tlp_csr%ROWTYPE,
190   x_descriptors_tlp IN OUT NOCOPY descriptors_tlp_csr%ROWTYPE
191 );
192 
193 
194 
195 
196 --------------------------------------------------------------------------------
197 --Start of Comments
198 --Name: handle_attributes
199 --Pre-reqs:
200 --  None
201 --Modifies:
202 --  None
203 --Locks:
204 --  None.
205 --Function:
206 --  For Sourcing to PO flow.
207 --    Handles the descriptors.
208 --
209 --Parameters:
210 --IN:
211 --p_interface_header_id
212 --  The interface_header_id of the record that sourcing populates before
213 --  calling the autocreate backend API.
214 --p_po_header_id
215 --  The PO header for which the attribute and TLP rows need to be handled.
216 --p_language
217 --  The language for which the TLP rows need to be created
218 --OUT:
219 -- None
220 --End of Comments
221 --------------------------------------------------------------------------------
222 PROCEDURE handle_attributes
223 (
224   p_interface_header_id IN NUMBER
225 , p_po_header_id IN NUMBER DEFAULT NULL
226 , p_language IN VARCHAR2 DEFAULT NULL
227 )
228 IS
229   d_mod CONSTANT VARCHAR2(100) := D_handle_attributes;
230   l_progress      VARCHAR2(4);
231 
232   --variables for handling non-translatable attributes
233   l_attr_values attr_value_typ;
234   l_base_descriptors descriptors_typ;
235   l_cat_descriptors descriptors_typ;
236 
237   --varialbes for handling translatable attributes
238   l_attr_values_tlp attr_value_tlp_typ;
239   l_base_descriptors_tlp descriptors_tlp_typ;
240   l_cat_descriptors_tlp descriptors_tlp_typ;
241 
242   l_pon_attributes pon_attributes_typ;
243   l_count NUMBER := 1;
244   l_language ICX_CAT_AGREEMENT_ATTRS_V.LANGUAGE%TYPE;
245 
246 BEGIN
247   l_progress := '010';
248 
249   IF PO_LOG.d_proc THEN
250     PO_LOG.proc_begin(d_mod,'p_interface_header_id',p_interface_header_id);
251     PO_LOG.proc_begin(d_mod,'p_po_header_id',p_po_header_id);
252     PO_LOG.proc_begin(d_mod,'p_language',p_language);
253   END IF;
254 
255   -- If language is not passed in assume language of user session
256   IF (p_language IS NULL) THEN
257     l_language := userenv('LANG');
258   ELSE
259     l_language := p_language;
260   END IF;
261 
262   l_progress := '020';
263   -- fetch all non-translatable base descriptors information
264   -- base descriptors have rt_category_id as 0. Hence pass in 0
265   OPEN descriptors_csr(0,l_language);
266   FETCH descriptors_csr
267     BULK COLLECT INTO l_base_descriptors;
268   ClOSE descriptors_csr;
269 
270   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'l_base_descriptors.COUNT='||l_base_descriptors.COUNT); END IF;
271 
272   l_progress := '030';
273   -- fetch all translatable base descriptors information
274   -- base descriptors have rt_category_id as 0. Hence pass in 0
275   OPEN descriptors_tlp_csr(0,l_language);
276   FETCH descriptors_tlp_csr
277     BULK COLLECT INTO l_base_descriptors_tlp;
278   ClOSE descriptors_tlp_csr;
279 
280   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'l_base_descriptors_tlp.COUNT='||l_base_descriptors_tlp.COUNT); END IF;
281 
282   l_progress := '040';
283   -- if a specific PO header id is not passed in then
284   -- Sourcing is in the req to negotiation flow
285   -- use a different cursor to get all attribute values for many differnet PO blanket lines
286   IF (p_po_header_id IS NULL) THEN
287     l_progress := '050';
288     OPEN pon_attr_values_csr(p_interface_header_id);
289     FETCH pon_attr_values_csr
290       BULK COLLECT INTO l_attr_values;
291     CLOSE pon_attr_values_csr;
292   ELSE
293     l_progress := '060';
294     OPEN attr_values_csr(p_interface_header_id, p_po_header_id);
295     FETCH attr_values_csr
296       BULK COLLECT INTO l_attr_values;
297     CLOSE attr_values_csr;
298   END IF;
299 
300   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'l_attr_values.COUNT='||l_attr_values.COUNT); END IF;
301 
302   l_progress := '070';
303   --for each attribute value record for this header loop through
304   --and fetch base and category descriptor name, value and other
305   --information required for sourcing
306   FOR i IN 1..l_attr_values.COUNT --attribute values
307   LOOP
308     l_progress := '080';
309 
310     FOR j IN 1..l_base_descriptors.COUNT  --base descriptors
311     LOOP
312       l_progress := '090';
313       l_pon_attributes(l_count).interface_auction_header_id := p_interface_header_id;
314 
315       l_progress := '100';
316       set_attribute_values(x_pon_attributes => l_pon_attributes(l_count),
317                            x_attr_values => l_attr_values(i),
318                            x_descriptors => l_base_descriptors(j));
319 
320       l_count := l_count + 1;
321     END LOOP; --base descriptors
322 
323     l_progress := '110';
324     IF (l_attr_values(i).ip_category_id > 0) THEN  --for each ip_category
325       l_progress := '120';
326 
327       -- fetch all non-translatable category descriptors information
328       -- TODO there is an opportunity to cache the category descriptors as we fetch them
329       OPEN descriptors_csr(l_attr_values(i).ip_category_id, l_language);
330       FETCH descriptors_csr
331         BULK COLLECT INTO l_cat_descriptors;
332       ClOSE descriptors_csr;
333 
334       IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'l_cat_descriptors.COUNT='||l_cat_descriptors.COUNT); END IF;
335 
336       l_progress := '130';
337       FOR j IN 1..l_cat_descriptors.COUNT --category descriptors
338       LOOP
339         l_progress := '140';
340         l_pon_attributes(l_count).interface_auction_header_id := p_interface_header_id;
341 
342         l_progress := '150';
343         set_attribute_values(x_pon_attributes => l_pon_attributes(l_count),
344                              x_attr_values => l_attr_values(i),
345                              x_descriptors => l_cat_descriptors(j));
346 
347         l_count := l_count + 1;
348       END LOOP; --category descriptors
349     END IF; --for each ip_category
350   END LOOP; --attribute values
351 
352   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'After set_attribute_values in loop'); END IF;
353 
354   l_progress := '160';
355   -- if a specific PO header id is not passed in then
356   -- Sourcing is in the req to negotiation flow
357   -- use a different cursor to get all attribute values for many differnet PO blanket lines
358   IF (p_po_header_id IS NULL) THEN
359     l_progress := '170';
360     OPEN pon_attr_values_tlp_csr(p_interface_header_id, l_language);
361     FETCH pon_attr_values_tlp_csr
362         BULK COLLECT INTO l_attr_values_tlp;
363     CLOSE pon_attr_values_tlp_csr;
364   ELSE
365     l_progress := '180';
366     OPEN attr_values_tlp_csr(p_interface_header_id, p_po_header_id, l_language);
367     FETCH attr_values_tlp_csr
368         BULK COLLECT INTO l_attr_values_tlp;
369     CLOSE attr_values_tlp_csr;
370   END IF;
371 
372   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'l_attr_values_tlp.COUNT='||l_attr_values_tlp.COUNT); END IF;
373 
374   l_progress := '190';
375   --for each attribute value tlp record for this header loop through
376   --and fetch base and category descriptor name, tlp value and other
377   --information required for sourcing
378   FOR i IN 1..l_attr_values_tlp.COUNT --attribute values tlp
379   LOOP
380     l_progress := '200';
381 
382     FOR j IN 1..l_base_descriptors_tlp.COUNT  --base descriptors tlp
383     LOOP
384       l_progress := '210';
385       l_pon_attributes(l_count).interface_auction_header_id := p_interface_header_id;
386 
387       l_progress := '220';
388       set_attribute_values_tlp(x_pon_attributes => l_pon_attributes(l_count),
389                                x_attr_values_tlp => l_attr_values_tlp(i),
390                                x_descriptors_tlp => l_base_descriptors_tlp(j));
391       l_count := l_count + 1;
392     END LOOP; --base descriptors tlp
393 
394 
395     l_progress := '230';
396     IF (l_attr_values_tlp(i).ip_category_id > 0) THEN  -- for each ip_category
397       l_progress := '240';
398       -- fetch all translatable category descriptors information
399       -- TODO there is an opportunity to cache the category descriptors as we fetch them
400       OPEN descriptors_tlp_csr(l_attr_values_tlp(i).ip_category_id, l_language);
401       FETCH descriptors_tlp_csr
402         BULK COLLECT INTO l_cat_descriptors_tlp;
403       ClOSE descriptors_tlp_csr;
404 
405       IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'l_cat_descriptors_tlp.COUNT='||l_cat_descriptors_tlp.COUNT); END IF;
406 
407       l_progress := '250';
408       FOR j IN 1..l_cat_descriptors_tlp.COUNT --category descriptors tlp
409       LOOP
410         l_progress := '260';
411         l_pon_attributes(l_count).interface_auction_header_id := p_interface_header_id;
412 
413         l_progress := '270';
414         set_attribute_values_tlp(x_pon_attributes => l_pon_attributes(l_count),
415                              x_attr_values_tlp => l_attr_values_tlp(i),
416                              x_descriptors_tlp => l_cat_descriptors_tlp(j));
417         l_count := l_count + 1;
418       END LOOP; --category descriptors tlp
419     END IF; --for each ip_category
420   END LOOP; --attribute values tlp
421 
422   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'After set_attribute_values_tlp in loop'); END IF;
423 
424   l_progress := '280';
425   --insert data into pon_attributes_interface
426   FORALL i IN 1..l_pon_attributes.COUNT
427     INSERT INTO PON_ATTRIBUTES_INTERFACE VALUES l_pon_attributes(i);
428 
429   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows inserted in PON_ATTRIBUTES_INTERFACE='||SQL%rowcount); END IF;
430 
431   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
432 EXCEPTION
433   WHEN OTHERS THEN
434     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception:'||SQLCODE || SQLERRM); END IF;
435     RAISE;
436 END handle_attributes;
437 
438 --------------------------------------------------------------------------------
439 --Start of Comments
440 --Name: set_attribute_values
441 --Pre-reqs:
442 --  None
443 --Modifies:
444 --  None
445 --Locks:
446 --  None.
447 --Function:
448 --  For Sourcing to PO flow.
449 --    Transpose the attribute values from sourcing to PO.
450 --
451 --Parameters:
452 --IN/OUT:
453 --x_pon_attributes
454 --  A rows of PON_ATTRIBUTES_INTERFACE table carrying the attribute values
455 --x_attr_values
456 --  Attribute values cursor row type.
457 --x_descriptors
458 --  descriptors_csr row type
459 --OUT:
460 -- None
461 --End of Comments
462 --------------------------------------------------------------------------------
463 PROCEDURE set_attribute_values
464 (
465   x_pon_attributes IN OUT NOCOPY pon_attributes_interface%ROWTYPE
466 , x_attr_values IN OUT NOCOPY attr_values_csr%ROWTYPE
467 , x_descriptors IN OUT NOCOPY descriptors_csr%ROWTYPE
468 )
469 IS
470   d_mod CONSTANT VARCHAR2(100) := D_set_attribute_values;
471   l_progress     VARCHAR2(4);
472 BEGIN
473   l_progress := '010';
474 
475   IF PO_LOG.d_proc THEN
476     PO_LOG.proc_begin(d_mod,'x_attr_values.interface_line_number',x_attr_values.interface_line_number);
477     PO_LOG.proc_begin(d_mod,'x_descriptors.sequence',x_descriptors.sequence);
478     PO_LOG.proc_begin(d_mod,'x_descriptors.attribute_name',x_descriptors.attribute_name);
479     PO_LOG.proc_begin(d_mod,'x_descriptors.rt_category_id',x_descriptors.rt_category_id);
480     PO_LOG.proc_begin(d_mod,'x_descriptors.attribute_id',x_descriptors.attribute_id);
481     PO_LOG.proc_begin(d_mod,'x_descriptors.type',x_descriptors.type);
482     PO_LOG.proc_begin(d_mod,'x_descriptors.stored_in_column',x_descriptors.stored_in_column);
483   END IF;
484 
485   --move data from descriptors and attribute values into x_pon_attributes
486   x_pon_attributes.interface_line_number := x_attr_values.interface_line_number;
487   x_pon_attributes.interface_sequence_number := x_descriptors.sequence;
488   x_pon_attributes.attribute_name := x_descriptors.attribute_name;
489   x_pon_attributes.ip_category_id := NVL(x_descriptors.rt_category_id, -2);  -- negative 2 means  no category
490   x_pon_attributes.ip_descriptor_id := x_descriptors.attribute_id;
491 
492   --PON is expecting data type to be either TXT or NUM..minor conversion
493   --0 is text, 1 is NUM and 2 is translatable text
494 
495   l_progress := '020';
496   IF (x_descriptors.type IN (0,2)) THEN
497     x_pon_attributes.datatype := 'TXT';
498   ELSIF (x_descriptors.type = 1) THEN
499     x_pon_attributes.datatype := 'NUM';
500   END IF;
501 
502   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'x_pon_attributes.datatype='||x_pon_attributes.datatype); END IF;
503 
504   l_progress := '030';
505   IF (x_descriptors.stored_in_column = 'ATTACHMENT_URL') THEN
506     x_pon_attributes.value := x_attr_values.ATTACHMENT_URL;
507   ELSIF (x_descriptors.stored_in_column = 'ATTRIBUTE_VALUES_ID') THEN
508     x_pon_attributes.value := x_attr_values.ATTRIBUTE_VALUES_ID;
509   ELSIF (x_descriptors.stored_in_column = 'AVAILABILITY') THEN
510     x_pon_attributes.value := x_attr_values.AVAILABILITY;
511   ELSIF (x_descriptors.stored_in_column = 'CREATED_BY') THEN
512     x_pon_attributes.value := x_attr_values.CREATED_BY;
513   ELSIF (x_descriptors.stored_in_column = 'CREATION_DATE') THEN
514     x_pon_attributes.value := x_attr_values.CREATION_DATE;
515   ELSIF (x_descriptors.stored_in_column = 'INVENTORY_ITEM_ID') THEN
516     x_pon_attributes.value := x_attr_values.INVENTORY_ITEM_ID;
517   ELSIF (x_descriptors.stored_in_column = 'IP_CATEGORY_ID') THEN
518     x_pon_attributes.value := x_attr_values.IP_CATEGORY_ID;
519   ELSIF (x_descriptors.stored_in_column = 'LAST_UPDATED_BY') THEN
520     x_pon_attributes.value := x_attr_values.LAST_UPDATED_BY;
521   ELSIF (x_descriptors.stored_in_column = 'LAST_UPDATE_DATE') THEN
522     x_pon_attributes.value := x_attr_values.LAST_UPDATE_DATE;
523   ELSIF (x_descriptors.stored_in_column = 'LAST_UPDATE_LOGIN') THEN
524     x_pon_attributes.value := x_attr_values.LAST_UPDATE_LOGIN;
525   ELSIF (x_descriptors.stored_in_column = 'LEAD_TIME') THEN
526     x_pon_attributes.value := x_attr_values.LEAD_TIME;
527   ELSIF (x_descriptors.stored_in_column = 'MANUFACTURER_PART_NUM') THEN
528     x_pon_attributes.value := x_attr_values.MANUFACTURER_PART_NUM;
529   ELSIF (x_descriptors.stored_in_column = 'MANUFACTURER_URL') THEN
530     x_pon_attributes.value := x_attr_values.MANUFACTURER_URL;
531   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE1') THEN
532     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE1;
533   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE10') THEN
534     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE10;
535   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE100') THEN
536     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE100;
537   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE11') THEN
538     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE11;
539   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE12') THEN
540     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE12;
541   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE13') THEN
542     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE13;
543   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE14') THEN
544     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE14;
545   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE15') THEN
546     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE15;
547   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE16') THEN
548     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE16;
549   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE17') THEN
550     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE17;
551   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE18') THEN
552     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE18;
553   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE19') THEN
554     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE19;
555   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE2') THEN
556     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE2;
557   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE20') THEN
558     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE20;
559   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE21') THEN
560     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE21;
561   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE22') THEN
562     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE22;
563   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE23') THEN
564     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE23;
565   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE24') THEN
566     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE24;
567   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE25') THEN
568     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE25;
569   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE26') THEN
570     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE26;
571   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE27') THEN
572     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE27;
573   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE28') THEN
574     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE28;
575   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE29') THEN
576     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE29;
577   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE3') THEN
578     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE3;
579   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE30') THEN
580     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE30;
581   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE31') THEN
582     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE31;
583   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE32') THEN
584     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE32;
585   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE33') THEN
586     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE33;
587   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE34') THEN
588     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE34;
589   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE35') THEN
590     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE35;
591   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE36') THEN
592     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE36;
593   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE37') THEN
594     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE37;
595   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE38') THEN
596     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE38;
597   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE39') THEN
598     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE39;
599   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE4') THEN
600     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE4;
601   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE40') THEN
602     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE40;
603   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE41') THEN
604     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE41;
605   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE42') THEN
606     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE42;
607   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE43') THEN
608     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE43;
609   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE44') THEN
610     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE44;
611   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE45') THEN
612     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE45;
613   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE46') THEN
614     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE46;
615   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE47') THEN
616     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE47;
617   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE48') THEN
618     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE48;
619   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE49') THEN
620     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE49;
621   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE5') THEN
622     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE5;
623   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE50') THEN
624     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE50;
625   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE51') THEN
626     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE51;
627   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE52') THEN
628     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE52;
629   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE53') THEN
630     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE53;
631   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE54') THEN
632     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE54;
633   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE55') THEN
634     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE55;
635   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE56') THEN
636     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE56;
637   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE57') THEN
638     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE57;
639   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE58') THEN
640     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE58;
641   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE59') THEN
642     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE59;
643   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE6') THEN
644     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE6;
645   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE60') THEN
646     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE60;
647   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE61') THEN
648     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE61;
649   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE62') THEN
650     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE62;
651   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE63') THEN
652     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE63;
653   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE64') THEN
654     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE64;
655   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE65') THEN
656     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE65;
657   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE66') THEN
658     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE66;
659   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE67') THEN
660     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE67;
661   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE68') THEN
662     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE68;
663   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE69') THEN
664     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE69;
665   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE7') THEN
666     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE7;
667   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE70') THEN
668     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE70;
669   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE71') THEN
670     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE71;
671   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE72') THEN
672     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE72;
673   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE73') THEN
674     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE73;
675   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE74') THEN
676     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE74;
677   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE75') THEN
678     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE75;
679   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE76') THEN
680     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE76;
681   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE77') THEN
682     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE77;
683   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE78') THEN
684     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE78;
685   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE79') THEN
686     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE79;
687   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE8') THEN
688     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE8;
689   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE80') THEN
690     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE80;
691   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE81') THEN
692     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE81;
693   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE82') THEN
694     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE82;
695   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE83') THEN
696     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE83;
697   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE84') THEN
698     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE84;
699   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE85') THEN
700     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE85;
701   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE86') THEN
702     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE86;
703   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE87') THEN
704     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE87;
705   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE88') THEN
706     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE88;
707   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE89') THEN
708     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE89;
709   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE9') THEN
710     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE9;
711   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE90') THEN
712     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE90;
713   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE91') THEN
714     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE91;
715   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE92') THEN
716     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE92;
717   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE93') THEN
718     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE93;
719   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE94') THEN
720     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE94;
721   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE95') THEN
722     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE95;
723   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE96') THEN
724     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE96;
725   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE97') THEN
726     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE97;
727   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE98') THEN
728     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE98;
729   ELSIF (x_descriptors.stored_in_column = 'NUM_BASE_ATTRIBUTE99') THEN
730     x_pon_attributes.value := x_attr_values.NUM_BASE_ATTRIBUTE99;
731   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE1') THEN
732     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE1;
733   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE10') THEN
734     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE10;
735   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE11') THEN
736     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE11;
737   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE12') THEN
738     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE12;
739   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE13') THEN
740     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE13;
741   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE14') THEN
742     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE14;
743   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE15') THEN
744     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE15;
745   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE16') THEN
746     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE16;
747   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE17') THEN
748     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE17;
749   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE18') THEN
750     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE18;
751   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE19') THEN
752     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE19;
753   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE2') THEN
754     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE2;
755   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE20') THEN
756     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE20;
757   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE21') THEN
758     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE21;
759   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE22') THEN
760     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE22;
761   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE23') THEN
762     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE23;
763   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE24') THEN
764     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE24;
765   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE25') THEN
766     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE25;
767   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE26') THEN
768     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE26;
769   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE27') THEN
770     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE27;
771   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE28') THEN
772     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE28;
773   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE29') THEN
774     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE29;
775   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE3') THEN
776     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE3;
777   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE30') THEN
778     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE30;
779   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE31') THEN
780     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE31;
781   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE32') THEN
782     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE32;
783   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE33') THEN
784     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE33;
785   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE34') THEN
786     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE34;
787   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE35') THEN
788     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE35;
789   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE36') THEN
790     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE36;
791   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE37') THEN
792     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE37;
793   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE38') THEN
794     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE38;
795   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE39') THEN
796     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE39;
797   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE4') THEN
798     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE4;
799   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE40') THEN
800     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE40;
801   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE41') THEN
802     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE41;
803   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE42') THEN
804     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE42;
805   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE43') THEN
806     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE43;
807   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE44') THEN
808     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE44;
809   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE45') THEN
810     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE45;
811   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE46') THEN
812     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE46;
813   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE47') THEN
814     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE47;
815   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE48') THEN
816     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE48;
817   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE49') THEN
818     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE49;
819   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE5') THEN
820     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE5;
821   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE50') THEN
822     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE50;
823   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE6') THEN
824     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE6;
825   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE7') THEN
826     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE7;
827   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE8') THEN
828     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE8;
829   ELSIF (x_descriptors.stored_in_column = 'NUM_CAT_ATTRIBUTE9') THEN
830     x_pon_attributes.value := x_attr_values.NUM_CAT_ATTRIBUTE9;
831   ELSIF (x_descriptors.stored_in_column = 'ORG_ID') THEN
832     x_pon_attributes.value := x_attr_values.ORG_ID;
833   ELSIF (x_descriptors.stored_in_column = 'PICTURE') THEN
834     x_pon_attributes.value := x_attr_values.PICTURE;
835   ELSIF (x_descriptors.stored_in_column = 'PO_LINE_ID') THEN
836     x_pon_attributes.value := x_attr_values.PO_LINE_ID;
837   ELSIF (x_descriptors.stored_in_column = 'PROGRAM_APPLICATION_ID') THEN
838     x_pon_attributes.value := x_attr_values.PROGRAM_APPLICATION_ID;
839   ELSIF (x_descriptors.stored_in_column = 'PROGRAM_ID') THEN
840     x_pon_attributes.value := x_attr_values.PROGRAM_ID;
841   ELSIF (x_descriptors.stored_in_column = 'PROGRAM_UPDATE_DATE') THEN
842     x_pon_attributes.value := x_attr_values.PROGRAM_UPDATE_DATE;
843   ELSIF (x_descriptors.stored_in_column = 'REQUEST_ID') THEN
844     x_pon_attributes.value := x_attr_values.REQUEST_ID;
845   ELSIF (x_descriptors.stored_in_column = 'REQ_TEMPLATE_LINE_NUM') THEN
846     x_pon_attributes.value := x_attr_values.REQ_TEMPLATE_LINE_NUM;
847   ELSIF (x_descriptors.stored_in_column = 'REQ_TEMPLATE_NAME') THEN
848     x_pon_attributes.value := x_attr_values.REQ_TEMPLATE_NAME;
849   ELSIF (x_descriptors.stored_in_column = 'SUPPLIER_URL') THEN
850     x_pon_attributes.value := x_attr_values.SUPPLIER_URL;
851   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE1') THEN
852     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE1;
853   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE10') THEN
854     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE10;
855   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE100') THEN
856     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE100;
857   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE11') THEN
858     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE11;
859   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE12') THEN
860     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE12;
861   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE13') THEN
862     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE13;
863   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE14') THEN
864     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE14;
865   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE15') THEN
866     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE15;
867   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE16') THEN
868     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE16;
869   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE17') THEN
870     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE17;
871   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE18') THEN
872     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE18;
873   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE19') THEN
874     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE19;
875   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE2') THEN
876     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE2;
877   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE20') THEN
878     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE20;
879   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE21') THEN
880     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE21;
881   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE22') THEN
882     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE22;
883   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE23') THEN
884     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE23;
885   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE24') THEN
886     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE24;
887   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE25') THEN
888     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE25;
889   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE26') THEN
890     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE26;
891   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE27') THEN
892     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE27;
893   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE28') THEN
894     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE28;
895   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE29') THEN
896     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE29;
897   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE3') THEN
898     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE3;
899   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE30') THEN
900     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE30;
901   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE31') THEN
902     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE31;
903   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE32') THEN
904     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE32;
905   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE33') THEN
906     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE33;
907   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE34') THEN
908     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE34;
909   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE35') THEN
910     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE35;
911   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE36') THEN
912     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE36;
913   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE37') THEN
914     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE37;
915   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE38') THEN
916     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE38;
917   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE39') THEN
918     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE39;
919   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE4') THEN
920     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE4;
921   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE40') THEN
922     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE40;
923   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE41') THEN
924     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE41;
925   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE42') THEN
926     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE42;
927   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE43') THEN
928     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE43;
929   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE44') THEN
930     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE44;
931   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE45') THEN
932     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE45;
933   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE46') THEN
934     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE46;
935   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE47') THEN
936     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE47;
937   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE48') THEN
938     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE48;
939   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE49') THEN
940     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE49;
941   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE5') THEN
942     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE5;
943   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE50') THEN
944     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE50;
945   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE51') THEN
946     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE51;
947   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE52') THEN
948     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE52;
949   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE53') THEN
950     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE53;
951   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE54') THEN
952     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE54;
953   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE55') THEN
954     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE55;
955   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE56') THEN
956     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE56;
957   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE57') THEN
958     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE57;
959   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE58') THEN
960     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE58;
961   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE59') THEN
962     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE59;
963   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE6') THEN
964     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE6;
965   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE60') THEN
966     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE60;
967   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE61') THEN
968     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE61;
969   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE62') THEN
970     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE62;
971   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE63') THEN
972     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE63;
973   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE64') THEN
974     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE64;
975   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE65') THEN
976     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE65;
977   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE66') THEN
978     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE66;
979   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE67') THEN
980     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE67;
981   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE68') THEN
982     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE68;
983   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE69') THEN
984     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE69;
985   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE7') THEN
986     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE7;
987   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE70') THEN
988     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE70;
989   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE71') THEN
990     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE71;
991   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE72') THEN
992     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE72;
993   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE73') THEN
994     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE73;
995   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE74') THEN
996     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE74;
997   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE75') THEN
998     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE75;
999   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE76') THEN
1000     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE76;
1001   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE77') THEN
1002     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE77;
1003   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE78') THEN
1004     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE78;
1005   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE79') THEN
1006     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE79;
1007   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE8') THEN
1008     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE8;
1009   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE80') THEN
1010     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE80;
1011   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE81') THEN
1012     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE81;
1013   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE82') THEN
1014     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE82;
1015   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE83') THEN
1016     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE83;
1017   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE84') THEN
1018     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE84;
1019   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE85') THEN
1020     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE85;
1021   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE86') THEN
1022     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE86;
1023   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE87') THEN
1024     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE87;
1025   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE88') THEN
1026     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE88;
1027   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE89') THEN
1028     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE89;
1029   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE9') THEN
1030     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE9;
1031   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE90') THEN
1032     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE90;
1033   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE91') THEN
1034     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE91;
1035   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE92') THEN
1036     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE92;
1037   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE93') THEN
1038     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE93;
1039   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE94') THEN
1040     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE94;
1041   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE95') THEN
1042     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE95;
1043   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE96') THEN
1044     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE96;
1045   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE97') THEN
1046     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE97;
1047   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE98') THEN
1048     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE98;
1049   ELSIF (x_descriptors.stored_in_column = 'TEXT_BASE_ATTRIBUTE99') THEN
1050     x_pon_attributes.value := x_attr_values.TEXT_BASE_ATTRIBUTE99;
1051   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE1') THEN
1052     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE1;
1053   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE10') THEN
1054     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE10;
1055   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE11') THEN
1056     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE11;
1057   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE12') THEN
1058     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE12;
1059   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE13') THEN
1060     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE13;
1061   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE14') THEN
1062     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE14;
1063   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE15') THEN
1064     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE15;
1065   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE16') THEN
1066     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE16;
1067   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE17') THEN
1068     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE17;
1069   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE18') THEN
1070     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE18;
1071   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE19') THEN
1072     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE19;
1073   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE2') THEN
1074     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE2;
1075   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE20') THEN
1076     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE20;
1077   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE21') THEN
1078     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE21;
1079   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE22') THEN
1080     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE22;
1081   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE23') THEN
1082     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE23;
1083   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE24') THEN
1084     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE24;
1085   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE25') THEN
1086     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE25;
1087   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE26') THEN
1088     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE26;
1089   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE27') THEN
1090     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE27;
1091   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE28') THEN
1092     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE28;
1093   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE29') THEN
1094     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE29;
1095   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE3') THEN
1096     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE3;
1097   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE30') THEN
1098     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE30;
1099   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE31') THEN
1100     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE31;
1101   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE32') THEN
1102     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE32;
1103   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE33') THEN
1104     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE33;
1105   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE34') THEN
1106     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE34;
1107   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE35') THEN
1108     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE35;
1109   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE36') THEN
1110     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE36;
1111   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE37') THEN
1112     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE37;
1113   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE38') THEN
1114     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE38;
1115   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE39') THEN
1116     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE39;
1117   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE4') THEN
1118     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE4;
1119   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE40') THEN
1120     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE40;
1121   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE41') THEN
1122     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE41;
1123   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE42') THEN
1124     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE42;
1125   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE43') THEN
1126     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE43;
1127   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE44') THEN
1128     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE44;
1129   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE45') THEN
1130     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE45;
1131   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE46') THEN
1132     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE46;
1133   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE47') THEN
1134     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE47;
1135   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE48') THEN
1136     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE48;
1137   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE49') THEN
1138     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE49;
1139   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE5') THEN
1140     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE5;
1141   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE50') THEN
1142     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE50;
1143   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE6') THEN
1144     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE6;
1145   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE7') THEN
1146     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE7;
1147   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE8') THEN
1148     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE8;
1149   ELSIF (x_descriptors.stored_in_column = 'TEXT_CAT_ATTRIBUTE9') THEN
1150     x_pon_attributes.value := x_attr_values.TEXT_CAT_ATTRIBUTE9;
1151   ELSIF (x_descriptors.stored_in_column = 'THUMBNAIL_IMAGE') THEN
1152     x_pon_attributes.value := x_attr_values.THUMBNAIL_IMAGE;
1153   ELSIF (x_descriptors.stored_in_column = 'UNSPSC') THEN
1154     x_pon_attributes.value := x_attr_values.UNSPSC;
1155   END IF;
1156 
1157   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'x_pon_attributes.value='||x_pon_attributes.value); END IF;
1158 
1159   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
1160 EXCEPTION
1161   WHEN OTHERS THEN
1162     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception:'||SQLCODE || SQLERRM); END IF;
1163     RAISE;
1164 END set_attribute_values;
1165 
1166 --------------------------------------------------------------------------------
1167 --Start of Comments
1168 --Name: set_attribute_values_tlp
1169 --Pre-reqs:
1170 --  None
1171 --Modifies:
1172 --  None
1173 --Locks:
1174 --  None.
1175 --Function:
1176 --  For Sourcing to PO flow.
1177 --    Transpose the attribute values TLP from sourcing to PO.
1178 --
1179 --Parameters:
1180 --IN/OUT:
1181 --x_pon_attributes
1182 --  A rows of PON_ATTRIBUTES_INTERFACE table carrying the attribute values
1183 --x_attr_values_tlp
1184 --  Attribute values TLP cursor row type.
1185 --x_descriptors_tlp
1186 --  descriptors_tlp_csr row type
1187 --OUT:
1188 -- None
1189 --End of Comments
1190 --------------------------------------------------------------------------------
1191 PROCEDURE set_attribute_values_tlp
1192 (
1193   x_pon_attributes IN OUT NOCOPY pon_attributes_interface%ROWTYPE
1194 , x_attr_values_tlp IN OUT NOCOPY attr_values_tlp_csr%ROWTYPE
1195 , x_descriptors_tlp IN OUT NOCOPY descriptors_tlp_csr%ROWTYPE
1196 )
1197 IS
1198   d_mod CONSTANT VARCHAR2(100) := D_set_attribute_values_tlp;
1199   l_progress     VARCHAR2(4);
1200 BEGIN
1201   l_progress := '010';
1202 
1203   IF PO_LOG.d_proc THEN
1204     PO_LOG.proc_begin(d_mod,'x_attr_values_tlp.interface_line_number',x_attr_values_tlp.interface_line_number);
1205     PO_LOG.proc_begin(d_mod,'x_descriptors_tlp.sequence',x_descriptors_tlp.sequence);
1206     PO_LOG.proc_begin(d_mod,'x_descriptors_tlp.attribute_name',x_descriptors_tlp.attribute_name);
1207     PO_LOG.proc_begin(d_mod,'x_descriptors_tlp.rt_category_id',x_descriptors_tlp.rt_category_id);
1208     PO_LOG.proc_begin(d_mod,'x_descriptors_tlp.attribute_id',x_descriptors_tlp.attribute_id);
1209     PO_LOG.proc_begin(d_mod,'x_descriptors_tlp.type',x_descriptors_tlp.type);
1210     PO_LOG.proc_begin(d_mod,'x_descriptors_tlp.stored_in_column',x_descriptors_tlp.stored_in_column);
1211   END IF;
1212 
1213   --move data from descriptors and attribute values into x_pon_attributes
1214   x_pon_attributes.interface_line_number := x_attr_values_tlp.interface_line_number;
1215   x_pon_attributes.interface_sequence_number := x_descriptors_tlp.sequence;
1216   x_pon_attributes.attribute_name := x_descriptors_tlp.attribute_name;
1217   x_pon_attributes.ip_category_id := NVL(x_descriptors_tlp.rt_category_id, -2);  -- negative 2 means  no category
1218   x_pon_attributes.ip_descriptor_id := x_descriptors_tlp.attribute_id;
1219 
1220   l_progress := '020';
1221   --PON is expecting data type to be either TXT or NUM..minor conversion
1222   --0 is text, 1 is NUM and 2 is translatable text
1223   IF (x_descriptors_tlp.type IN (0,2)) THEN
1224     x_pon_attributes.datatype := 'TXT';
1225   ELSIF (x_descriptors_tlp.type = 1) THEN
1226     x_pon_attributes.datatype := 'NUM';
1227   END IF;
1228 
1229   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'x_pon_attributes.datatype='||x_pon_attributes.datatype); END IF;
1230 
1231   l_progress := '030';
1232   IF (x_descriptors_tlp.stored_in_column = 'ALIAS') THEN
1233     x_pon_attributes.value := x_attr_values_tlp.ALIAS;
1234   ELSIF (x_descriptors_tlp.stored_in_column = 'ATTRIBUTE_VALUES_TLP_ID') THEN
1235     x_pon_attributes.value := x_attr_values_tlp.ATTRIBUTE_VALUES_TLP_ID;
1236   ELSIF (x_descriptors_tlp.stored_in_column = 'COMMENTS') THEN
1237     x_pon_attributes.value := x_attr_values_tlp.COMMENTS;
1238   ELSIF (x_descriptors_tlp.stored_in_column = 'CREATED_BY') THEN
1239     x_pon_attributes.value := x_attr_values_tlp.CREATED_BY;
1240   ELSIF (x_descriptors_tlp.stored_in_column = 'CREATION_DATE') THEN
1241     x_pon_attributes.value := x_attr_values_tlp.CREATION_DATE;
1242   ELSIF (x_descriptors_tlp.stored_in_column = 'DESCRIPTION') THEN
1243     x_pon_attributes.value := x_attr_values_tlp.DESCRIPTION;
1244   ELSIF (x_descriptors_tlp.stored_in_column = 'INVENTORY_ITEM_ID') THEN
1245     x_pon_attributes.value := x_attr_values_tlp.INVENTORY_ITEM_ID;
1246   ELSIF (x_descriptors_tlp.stored_in_column = 'IP_CATEGORY_ID') THEN
1247     x_pon_attributes.value := x_attr_values_tlp.IP_CATEGORY_ID;
1248   ELSIF (x_descriptors_tlp.stored_in_column = 'LANGUAGE') THEN
1249     x_pon_attributes.value := x_attr_values_tlp.LANGUAGE;
1250   ELSIF (x_descriptors_tlp.stored_in_column = 'LAST_UPDATED_BY') THEN
1251     x_pon_attributes.value := x_attr_values_tlp.LAST_UPDATED_BY;
1252   ELSIF (x_descriptors_tlp.stored_in_column = 'LAST_UPDATE_DATE') THEN
1253     x_pon_attributes.value := x_attr_values_tlp.LAST_UPDATE_DATE;
1254   ELSIF (x_descriptors_tlp.stored_in_column = 'LAST_UPDATE_LOGIN') THEN
1255     x_pon_attributes.value := x_attr_values_tlp.LAST_UPDATE_LOGIN;
1256   ELSIF (x_descriptors_tlp.stored_in_column = 'LONG_DESCRIPTION') THEN
1257     x_pon_attributes.value := x_attr_values_tlp.LONG_DESCRIPTION;
1258   ELSIF (x_descriptors_tlp.stored_in_column = 'MANUFACTURER') THEN
1259     x_pon_attributes.value := x_attr_values_tlp.MANUFACTURER;
1260   ELSIF (x_descriptors_tlp.stored_in_column = 'ORG_ID') THEN
1261     x_pon_attributes.value := x_attr_values_tlp.ORG_ID;
1262   ELSIF (x_descriptors_tlp.stored_in_column = 'PO_LINE_ID') THEN
1263     x_pon_attributes.value := x_attr_values_tlp.PO_LINE_ID;
1264   ELSIF (x_descriptors_tlp.stored_in_column = 'PROGRAM_APPLICATION_ID') THEN
1265     x_pon_attributes.value := x_attr_values_tlp.PROGRAM_APPLICATION_ID;
1266   ELSIF (x_descriptors_tlp.stored_in_column = 'PROGRAM_ID') THEN
1267     x_pon_attributes.value := x_attr_values_tlp.PROGRAM_ID;
1268   ELSIF (x_descriptors_tlp.stored_in_column = 'PROGRAM_UPDATE_DATE') THEN
1269     x_pon_attributes.value := x_attr_values_tlp.PROGRAM_UPDATE_DATE;
1270   ELSIF (x_descriptors_tlp.stored_in_column = 'REQUEST_ID') THEN
1271     x_pon_attributes.value := x_attr_values_tlp.REQUEST_ID;
1272   ELSIF (x_descriptors_tlp.stored_in_column = 'REQ_TEMPLATE_LINE_NUM') THEN
1273     x_pon_attributes.value := x_attr_values_tlp.REQ_TEMPLATE_LINE_NUM;
1274   ELSIF (x_descriptors_tlp.stored_in_column = 'REQ_TEMPLATE_NAME') THEN
1275     x_pon_attributes.value := x_attr_values_tlp.REQ_TEMPLATE_NAME;
1276   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE1') THEN
1277     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE1;
1278   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE10') THEN
1279     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE10;
1280   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE100') THEN
1281     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE100;
1282   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE11') THEN
1283     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE11;
1284   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE12') THEN
1285     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE12;
1286   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE13') THEN
1287     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE13;
1288   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE14') THEN
1289     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE14;
1290   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE15') THEN
1291     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE15;
1292   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE16') THEN
1293     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE16;
1294   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE17') THEN
1295     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE17;
1296   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE18') THEN
1297     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE18;
1298   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE19') THEN
1299     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE19;
1300   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE2') THEN
1301     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE2;
1302   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE20') THEN
1303     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE20;
1304   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE21') THEN
1305     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE21;
1306   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE22') THEN
1307     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE22;
1308   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE23') THEN
1309     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE23;
1310   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE24') THEN
1311     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE24;
1312   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE25') THEN
1313     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE25;
1314   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE26') THEN
1315     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE26;
1316   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE27') THEN
1317     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE27;
1318   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE28') THEN
1319     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE28;
1320   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE29') THEN
1321     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE29;
1322   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE3') THEN
1323     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE3;
1324   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE30') THEN
1325     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE30;
1326   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE31') THEN
1327     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE31;
1328   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE32') THEN
1329     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE32;
1330   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE33') THEN
1331     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE33;
1332   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE34') THEN
1333     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE34;
1334   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE35') THEN
1335     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE35;
1336   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE36') THEN
1337     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE36;
1338   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE37') THEN
1339     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE37;
1340   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE38') THEN
1341     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE38;
1342   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE39') THEN
1343     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE39;
1344   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE4') THEN
1345     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE4;
1346   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE40') THEN
1347     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE40;
1348   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE41') THEN
1349     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE41;
1350   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE42') THEN
1351     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE42;
1352   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE43') THEN
1353     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE43;
1354   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE44') THEN
1355     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE44;
1356   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE45') THEN
1357     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE45;
1358   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE46') THEN
1359     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE46;
1360   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE47') THEN
1361     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE47;
1362   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE48') THEN
1363     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE48;
1364   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE49') THEN
1365     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE49;
1366   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE5') THEN
1367     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE5;
1368   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE50') THEN
1369     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE50;
1370   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE51') THEN
1371     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE51;
1372   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE52') THEN
1373     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE52;
1374   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE53') THEN
1375     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE53;
1376   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE54') THEN
1377     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE54;
1378   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE55') THEN
1379     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE55;
1380   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE56') THEN
1381     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE56;
1382   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE57') THEN
1383     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE57;
1384   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE58') THEN
1385     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE58;
1386   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE59') THEN
1387     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE59;
1388   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE6') THEN
1389     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE6;
1390   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE60') THEN
1391     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE60;
1392   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE61') THEN
1393     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE61;
1394   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE62') THEN
1395     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE62;
1396   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE63') THEN
1397     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE63;
1398   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE64') THEN
1399     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE64;
1400   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE65') THEN
1401     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE65;
1402   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE66') THEN
1403     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE66;
1404   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE67') THEN
1405     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE67;
1406   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE68') THEN
1407     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE68;
1408   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE69') THEN
1409     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE69;
1410   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE7') THEN
1411     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE7;
1412   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE70') THEN
1413     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE70;
1414   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE71') THEN
1415     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE71;
1416   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE72') THEN
1417     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE72;
1418   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE73') THEN
1419     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE73;
1420   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE74') THEN
1421     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE74;
1422   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE75') THEN
1423     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE75;
1424   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE76') THEN
1425     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE76;
1426   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE77') THEN
1427     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE77;
1428   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE78') THEN
1429     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE78;
1430   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE79') THEN
1431     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE79;
1432   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE8') THEN
1433     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE8;
1434   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE80') THEN
1435     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE80;
1436   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE81') THEN
1437     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE81;
1438   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE82') THEN
1439     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE82;
1440   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE83') THEN
1441     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE83;
1442   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE84') THEN
1443     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE84;
1444   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE85') THEN
1445     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE85;
1446   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE86') THEN
1447     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE86;
1448   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE87') THEN
1449     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE87;
1450   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE88') THEN
1451     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE88;
1452   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE89') THEN
1453     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE89;
1454   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE9') THEN
1455     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE9;
1456   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE90') THEN
1457     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE90;
1458   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE91') THEN
1459     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE91;
1460   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE92') THEN
1461     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE92;
1462   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE93') THEN
1463     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE93;
1464   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE94') THEN
1465     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE94;
1466   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE95') THEN
1467     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE95;
1468   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE96') THEN
1469     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE96;
1470   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE97') THEN
1471     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE97;
1472   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE98') THEN
1473     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE98;
1474   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_BASE_ATTRIBUTE99') THEN
1475     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_BASE_ATTRIBUTE99;
1476   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE1') THEN
1477     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE1;
1478   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE10') THEN
1479     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE10;
1480   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE11') THEN
1481     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE11;
1482   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE12') THEN
1483     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE12;
1484   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE13') THEN
1485     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE13;
1486   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE14') THEN
1487     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE14;
1488   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE15') THEN
1489     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE15;
1490   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE16') THEN
1491     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE16;
1492   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE17') THEN
1493     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE17;
1494   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE18') THEN
1495     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE18;
1496   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE19') THEN
1497     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE19;
1498   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE2') THEN
1499     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE2;
1500   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE20') THEN
1501     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE20;
1502   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE21') THEN
1503     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE21;
1504   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE22') THEN
1505     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE22;
1506   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE23') THEN
1507     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE23;
1508   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE24') THEN
1509     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE24;
1510   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE25') THEN
1511     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE25;
1512   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE26') THEN
1513     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE26;
1514   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE27') THEN
1515     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE27;
1516   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE28') THEN
1517     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE28;
1518   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE29') THEN
1519     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE29;
1520   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE3') THEN
1521     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE3;
1522   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE30') THEN
1523     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE30;
1524   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE31') THEN
1525     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE31;
1526   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE32') THEN
1527     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE32;
1528   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE33') THEN
1529     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE33;
1530   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE34') THEN
1531     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE34;
1532   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE35') THEN
1533     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE35;
1534   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE36') THEN
1535     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE36;
1536   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE37') THEN
1537     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE37;
1538   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE38') THEN
1539     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE38;
1540   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE39') THEN
1541     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE39;
1542   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE4') THEN
1543     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE4;
1544   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE40') THEN
1545     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE40;
1546   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE41') THEN
1547     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE41;
1548   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE42') THEN
1549     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE42;
1550   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE43') THEN
1551     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE43;
1552   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE44') THEN
1553     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE44;
1554   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE45') THEN
1555     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE45;
1556   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE46') THEN
1557     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE46;
1558   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE47') THEN
1559     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE47;
1560   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE48') THEN
1561     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE48;
1562   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE49') THEN
1563     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE49;
1564   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE5') THEN
1565     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE5;
1566   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE50') THEN
1567     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE50;
1568   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE6') THEN
1569     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE6;
1570   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE7') THEN
1571     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE7;
1572   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE8') THEN
1573     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE8;
1574   ELSIF (x_descriptors_tlp.stored_in_column = 'TL_TEXT_CAT_ATTRIBUTE9') THEN
1575     x_pon_attributes.value := x_attr_values_tlp.TL_TEXT_CAT_ATTRIBUTE9;
1576   END IF;
1577 
1578   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'x_pon_attributes.value='||x_pon_attributes.value); END IF;
1579 
1580   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
1581 EXCEPTION
1582   WHEN OTHERS THEN
1583     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception:'||SQLCODE || SQLERRM); END IF;
1584     RAISE;
1585 END set_attribute_values_tlp;
1586 
1587 --------------------------------------------------------------------------------
1588 --Start of Comments
1589 --Name: transfer_intf_item_attribs
1590 --Pre-reqs:
1591 --  None
1592 --Modifies:
1593 --  None
1594 --Locks:
1595 --  None.
1596 --Function:
1597 --  For Sourcing to PO flow.
1598 --    Create Attribute Values
1599 --
1600 --Parameters:
1601 --IN:
1602 --p_interface_header_id
1603 --  The interface_header_id of the record populated by Sourcing before calling
1604 --  the PO autocreate backend.
1605 --OUT:
1606 -- None
1607 --End of Comments
1608 --------------------------------------------------------------------------------
1609 PROCEDURE transfer_intf_item_attribs
1610 (
1611   p_interface_header_id IN NUMBER
1612 )
1613 IS
1614   d_mod CONSTANT VARCHAR2(100) := D_transfer_intf_item_attribs;
1615   l_progress     VARCHAR2(4);
1616 BEGIN
1617   l_progress := '010';
1618 
1619   IF PO_LOG.d_proc THEN
1620     PO_LOG.proc_begin(d_mod,'p_interface_header_id',p_interface_header_id);
1621   END IF;
1622 
1623   l_progress := '020';
1624   INSERT INTO PO_ATTRIBUTE_VALUES (
1625     ATTACHMENT_URL,
1626     ATTRIBUTE_VALUES_ID,
1627     AVAILABILITY,
1628     CREATED_BY,
1629     CREATION_DATE,
1630     INVENTORY_ITEM_ID,
1631     IP_CATEGORY_ID,
1632     LAST_UPDATED_BY,
1633     LAST_UPDATE_DATE,
1634     LAST_UPDATE_LOGIN,
1635     LEAD_TIME,
1636     MANUFACTURER_PART_NUM,
1637     MANUFACTURER_URL,
1638     NUM_BASE_ATTRIBUTE1,
1639     NUM_BASE_ATTRIBUTE10,
1640     NUM_BASE_ATTRIBUTE100,
1641     NUM_BASE_ATTRIBUTE11,
1642     NUM_BASE_ATTRIBUTE12,
1643     NUM_BASE_ATTRIBUTE13,
1644     NUM_BASE_ATTRIBUTE14,
1645     NUM_BASE_ATTRIBUTE15,
1646     NUM_BASE_ATTRIBUTE16,
1647     NUM_BASE_ATTRIBUTE17,
1648     NUM_BASE_ATTRIBUTE18,
1649     NUM_BASE_ATTRIBUTE19,
1650     NUM_BASE_ATTRIBUTE2,
1651     NUM_BASE_ATTRIBUTE20,
1652     NUM_BASE_ATTRIBUTE21,
1653     NUM_BASE_ATTRIBUTE22,
1654     NUM_BASE_ATTRIBUTE23,
1655     NUM_BASE_ATTRIBUTE24,
1656     NUM_BASE_ATTRIBUTE25,
1657     NUM_BASE_ATTRIBUTE26,
1658     NUM_BASE_ATTRIBUTE27,
1659     NUM_BASE_ATTRIBUTE28,
1660     NUM_BASE_ATTRIBUTE29,
1661     NUM_BASE_ATTRIBUTE3,
1662     NUM_BASE_ATTRIBUTE30,
1663     NUM_BASE_ATTRIBUTE31,
1664     NUM_BASE_ATTRIBUTE32,
1665     NUM_BASE_ATTRIBUTE33,
1666     NUM_BASE_ATTRIBUTE34,
1667     NUM_BASE_ATTRIBUTE35,
1668     NUM_BASE_ATTRIBUTE36,
1669     NUM_BASE_ATTRIBUTE37,
1670     NUM_BASE_ATTRIBUTE38,
1671     NUM_BASE_ATTRIBUTE39,
1672     NUM_BASE_ATTRIBUTE4,
1673     NUM_BASE_ATTRIBUTE40,
1674     NUM_BASE_ATTRIBUTE41,
1675     NUM_BASE_ATTRIBUTE42,
1676     NUM_BASE_ATTRIBUTE43,
1677     NUM_BASE_ATTRIBUTE44,
1678     NUM_BASE_ATTRIBUTE45,
1679     NUM_BASE_ATTRIBUTE46,
1680     NUM_BASE_ATTRIBUTE47,
1681     NUM_BASE_ATTRIBUTE48,
1682     NUM_BASE_ATTRIBUTE49,
1683     NUM_BASE_ATTRIBUTE5,
1684     NUM_BASE_ATTRIBUTE50,
1685     NUM_BASE_ATTRIBUTE51,
1686     NUM_BASE_ATTRIBUTE52,
1687     NUM_BASE_ATTRIBUTE53,
1688     NUM_BASE_ATTRIBUTE54,
1689     NUM_BASE_ATTRIBUTE55,
1690     NUM_BASE_ATTRIBUTE56,
1691     NUM_BASE_ATTRIBUTE57,
1692     NUM_BASE_ATTRIBUTE58,
1693     NUM_BASE_ATTRIBUTE59,
1694     NUM_BASE_ATTRIBUTE6,
1695     NUM_BASE_ATTRIBUTE60,
1696     NUM_BASE_ATTRIBUTE61,
1697     NUM_BASE_ATTRIBUTE62,
1698     NUM_BASE_ATTRIBUTE63,
1699     NUM_BASE_ATTRIBUTE64,
1700     NUM_BASE_ATTRIBUTE65,
1701     NUM_BASE_ATTRIBUTE66,
1702     NUM_BASE_ATTRIBUTE67,
1703     NUM_BASE_ATTRIBUTE68,
1704     NUM_BASE_ATTRIBUTE69,
1705     NUM_BASE_ATTRIBUTE7,
1706     NUM_BASE_ATTRIBUTE70,
1707     NUM_BASE_ATTRIBUTE71,
1708     NUM_BASE_ATTRIBUTE72,
1709     NUM_BASE_ATTRIBUTE73,
1710     NUM_BASE_ATTRIBUTE74,
1711     NUM_BASE_ATTRIBUTE75,
1712     NUM_BASE_ATTRIBUTE76,
1713     NUM_BASE_ATTRIBUTE77,
1714     NUM_BASE_ATTRIBUTE78,
1715     NUM_BASE_ATTRIBUTE79,
1716     NUM_BASE_ATTRIBUTE8,
1717     NUM_BASE_ATTRIBUTE80,
1718     NUM_BASE_ATTRIBUTE81,
1719     NUM_BASE_ATTRIBUTE82,
1720     NUM_BASE_ATTRIBUTE83,
1721     NUM_BASE_ATTRIBUTE84,
1722     NUM_BASE_ATTRIBUTE85,
1723     NUM_BASE_ATTRIBUTE86,
1724     NUM_BASE_ATTRIBUTE87,
1725     NUM_BASE_ATTRIBUTE88,
1726     NUM_BASE_ATTRIBUTE89,
1727     NUM_BASE_ATTRIBUTE9,
1728     NUM_BASE_ATTRIBUTE90,
1729     NUM_BASE_ATTRIBUTE91,
1730     NUM_BASE_ATTRIBUTE92,
1731     NUM_BASE_ATTRIBUTE93,
1732     NUM_BASE_ATTRIBUTE94,
1733     NUM_BASE_ATTRIBUTE95,
1734     NUM_BASE_ATTRIBUTE96,
1735     NUM_BASE_ATTRIBUTE97,
1736     NUM_BASE_ATTRIBUTE98,
1737     NUM_BASE_ATTRIBUTE99,
1738     NUM_CAT_ATTRIBUTE1,
1739     NUM_CAT_ATTRIBUTE10,
1740     NUM_CAT_ATTRIBUTE11,
1741     NUM_CAT_ATTRIBUTE12,
1742     NUM_CAT_ATTRIBUTE13,
1743     NUM_CAT_ATTRIBUTE14,
1744     NUM_CAT_ATTRIBUTE15,
1745     NUM_CAT_ATTRIBUTE16,
1746     NUM_CAT_ATTRIBUTE17,
1747     NUM_CAT_ATTRIBUTE18,
1748     NUM_CAT_ATTRIBUTE19,
1749     NUM_CAT_ATTRIBUTE2,
1750     NUM_CAT_ATTRIBUTE20,
1751     NUM_CAT_ATTRIBUTE21,
1752     NUM_CAT_ATTRIBUTE22,
1753     NUM_CAT_ATTRIBUTE23,
1754     NUM_CAT_ATTRIBUTE24,
1755     NUM_CAT_ATTRIBUTE25,
1756     NUM_CAT_ATTRIBUTE26,
1757     NUM_CAT_ATTRIBUTE27,
1758     NUM_CAT_ATTRIBUTE28,
1759     NUM_CAT_ATTRIBUTE29,
1760     NUM_CAT_ATTRIBUTE3,
1761     NUM_CAT_ATTRIBUTE30,
1762     NUM_CAT_ATTRIBUTE31,
1763     NUM_CAT_ATTRIBUTE32,
1764     NUM_CAT_ATTRIBUTE33,
1765     NUM_CAT_ATTRIBUTE34,
1766     NUM_CAT_ATTRIBUTE35,
1767     NUM_CAT_ATTRIBUTE36,
1768     NUM_CAT_ATTRIBUTE37,
1769     NUM_CAT_ATTRIBUTE38,
1770     NUM_CAT_ATTRIBUTE39,
1771     NUM_CAT_ATTRIBUTE4,
1772     NUM_CAT_ATTRIBUTE40,
1773     NUM_CAT_ATTRIBUTE41,
1774     NUM_CAT_ATTRIBUTE42,
1775     NUM_CAT_ATTRIBUTE43,
1776     NUM_CAT_ATTRIBUTE44,
1777     NUM_CAT_ATTRIBUTE45,
1778     NUM_CAT_ATTRIBUTE46,
1779     NUM_CAT_ATTRIBUTE47,
1780     NUM_CAT_ATTRIBUTE48,
1781     NUM_CAT_ATTRIBUTE49,
1782     NUM_CAT_ATTRIBUTE5,
1783     NUM_CAT_ATTRIBUTE50,
1784     NUM_CAT_ATTRIBUTE6,
1785     NUM_CAT_ATTRIBUTE7,
1786     NUM_CAT_ATTRIBUTE8,
1787     NUM_CAT_ATTRIBUTE9,
1788     ORG_ID,
1789     PICTURE,
1790     PO_LINE_ID,
1791     PROGRAM_APPLICATION_ID,
1792     PROGRAM_ID,
1793     PROGRAM_UPDATE_DATE,
1794     REQUEST_ID,
1795     REQ_TEMPLATE_LINE_NUM,
1796     REQ_TEMPLATE_NAME,
1797     SUPPLIER_URL,
1798     TEXT_BASE_ATTRIBUTE1,
1799     TEXT_BASE_ATTRIBUTE10,
1800     TEXT_BASE_ATTRIBUTE100,
1801     TEXT_BASE_ATTRIBUTE11,
1802     TEXT_BASE_ATTRIBUTE12,
1803     TEXT_BASE_ATTRIBUTE13,
1804     TEXT_BASE_ATTRIBUTE14,
1805     TEXT_BASE_ATTRIBUTE15,
1806     TEXT_BASE_ATTRIBUTE16,
1807     TEXT_BASE_ATTRIBUTE17,
1808     TEXT_BASE_ATTRIBUTE18,
1809     TEXT_BASE_ATTRIBUTE19,
1810     TEXT_BASE_ATTRIBUTE2,
1811     TEXT_BASE_ATTRIBUTE20,
1812     TEXT_BASE_ATTRIBUTE21,
1813     TEXT_BASE_ATTRIBUTE22,
1814     TEXT_BASE_ATTRIBUTE23,
1815     TEXT_BASE_ATTRIBUTE24,
1816     TEXT_BASE_ATTRIBUTE25,
1817     TEXT_BASE_ATTRIBUTE26,
1818     TEXT_BASE_ATTRIBUTE27,
1819     TEXT_BASE_ATTRIBUTE28,
1820     TEXT_BASE_ATTRIBUTE29,
1821     TEXT_BASE_ATTRIBUTE3,
1822     TEXT_BASE_ATTRIBUTE30,
1823     TEXT_BASE_ATTRIBUTE31,
1824     TEXT_BASE_ATTRIBUTE32,
1825     TEXT_BASE_ATTRIBUTE33,
1826     TEXT_BASE_ATTRIBUTE34,
1827     TEXT_BASE_ATTRIBUTE35,
1828     TEXT_BASE_ATTRIBUTE36,
1829     TEXT_BASE_ATTRIBUTE37,
1830     TEXT_BASE_ATTRIBUTE38,
1831     TEXT_BASE_ATTRIBUTE39,
1832     TEXT_BASE_ATTRIBUTE4,
1833     TEXT_BASE_ATTRIBUTE40,
1834     TEXT_BASE_ATTRIBUTE41,
1835     TEXT_BASE_ATTRIBUTE42,
1836     TEXT_BASE_ATTRIBUTE43,
1837     TEXT_BASE_ATTRIBUTE44,
1838     TEXT_BASE_ATTRIBUTE45,
1839     TEXT_BASE_ATTRIBUTE46,
1840     TEXT_BASE_ATTRIBUTE47,
1841     TEXT_BASE_ATTRIBUTE48,
1842     TEXT_BASE_ATTRIBUTE49,
1843     TEXT_BASE_ATTRIBUTE5,
1844     TEXT_BASE_ATTRIBUTE50,
1845     TEXT_BASE_ATTRIBUTE51,
1846     TEXT_BASE_ATTRIBUTE52,
1847     TEXT_BASE_ATTRIBUTE53,
1848     TEXT_BASE_ATTRIBUTE54,
1849     TEXT_BASE_ATTRIBUTE55,
1850     TEXT_BASE_ATTRIBUTE56,
1851     TEXT_BASE_ATTRIBUTE57,
1852     TEXT_BASE_ATTRIBUTE58,
1853     TEXT_BASE_ATTRIBUTE59,
1854     TEXT_BASE_ATTRIBUTE6,
1855     TEXT_BASE_ATTRIBUTE60,
1856     TEXT_BASE_ATTRIBUTE61,
1857     TEXT_BASE_ATTRIBUTE62,
1858     TEXT_BASE_ATTRIBUTE63,
1859     TEXT_BASE_ATTRIBUTE64,
1860     TEXT_BASE_ATTRIBUTE65,
1861     TEXT_BASE_ATTRIBUTE66,
1862     TEXT_BASE_ATTRIBUTE67,
1863     TEXT_BASE_ATTRIBUTE68,
1864     TEXT_BASE_ATTRIBUTE69,
1865     TEXT_BASE_ATTRIBUTE7,
1866     TEXT_BASE_ATTRIBUTE70,
1867     TEXT_BASE_ATTRIBUTE71,
1868     TEXT_BASE_ATTRIBUTE72,
1869     TEXT_BASE_ATTRIBUTE73,
1870     TEXT_BASE_ATTRIBUTE74,
1871     TEXT_BASE_ATTRIBUTE75,
1872     TEXT_BASE_ATTRIBUTE76,
1873     TEXT_BASE_ATTRIBUTE77,
1874     TEXT_BASE_ATTRIBUTE78,
1875     TEXT_BASE_ATTRIBUTE79,
1876     TEXT_BASE_ATTRIBUTE8,
1877     TEXT_BASE_ATTRIBUTE80,
1878     TEXT_BASE_ATTRIBUTE81,
1879     TEXT_BASE_ATTRIBUTE82,
1880     TEXT_BASE_ATTRIBUTE83,
1881     TEXT_BASE_ATTRIBUTE84,
1882     TEXT_BASE_ATTRIBUTE85,
1883     TEXT_BASE_ATTRIBUTE86,
1884     TEXT_BASE_ATTRIBUTE87,
1885     TEXT_BASE_ATTRIBUTE88,
1886     TEXT_BASE_ATTRIBUTE89,
1887     TEXT_BASE_ATTRIBUTE9,
1888     TEXT_BASE_ATTRIBUTE90,
1889     TEXT_BASE_ATTRIBUTE91,
1890     TEXT_BASE_ATTRIBUTE92,
1891     TEXT_BASE_ATTRIBUTE93,
1892     TEXT_BASE_ATTRIBUTE94,
1893     TEXT_BASE_ATTRIBUTE95,
1894     TEXT_BASE_ATTRIBUTE96,
1895     TEXT_BASE_ATTRIBUTE97,
1896     TEXT_BASE_ATTRIBUTE98,
1897     TEXT_BASE_ATTRIBUTE99,
1898     TEXT_CAT_ATTRIBUTE1,
1899     TEXT_CAT_ATTRIBUTE10,
1900     TEXT_CAT_ATTRIBUTE11,
1901     TEXT_CAT_ATTRIBUTE12,
1902     TEXT_CAT_ATTRIBUTE13,
1903     TEXT_CAT_ATTRIBUTE14,
1904     TEXT_CAT_ATTRIBUTE15,
1905     TEXT_CAT_ATTRIBUTE16,
1906     TEXT_CAT_ATTRIBUTE17,
1907     TEXT_CAT_ATTRIBUTE18,
1908     TEXT_CAT_ATTRIBUTE19,
1909     TEXT_CAT_ATTRIBUTE2,
1910     TEXT_CAT_ATTRIBUTE20,
1911     TEXT_CAT_ATTRIBUTE21,
1912     TEXT_CAT_ATTRIBUTE22,
1913     TEXT_CAT_ATTRIBUTE23,
1914     TEXT_CAT_ATTRIBUTE24,
1915     TEXT_CAT_ATTRIBUTE25,
1916     TEXT_CAT_ATTRIBUTE26,
1917     TEXT_CAT_ATTRIBUTE27,
1918     TEXT_CAT_ATTRIBUTE28,
1919     TEXT_CAT_ATTRIBUTE29,
1920     TEXT_CAT_ATTRIBUTE3,
1921     TEXT_CAT_ATTRIBUTE30,
1922     TEXT_CAT_ATTRIBUTE31,
1923     TEXT_CAT_ATTRIBUTE32,
1924     TEXT_CAT_ATTRIBUTE33,
1925     TEXT_CAT_ATTRIBUTE34,
1926     TEXT_CAT_ATTRIBUTE35,
1927     TEXT_CAT_ATTRIBUTE36,
1928     TEXT_CAT_ATTRIBUTE37,
1929     TEXT_CAT_ATTRIBUTE38,
1930     TEXT_CAT_ATTRIBUTE39,
1931     TEXT_CAT_ATTRIBUTE4,
1932     TEXT_CAT_ATTRIBUTE40,
1933     TEXT_CAT_ATTRIBUTE41,
1934     TEXT_CAT_ATTRIBUTE42,
1935     TEXT_CAT_ATTRIBUTE43,
1936     TEXT_CAT_ATTRIBUTE44,
1937     TEXT_CAT_ATTRIBUTE45,
1938     TEXT_CAT_ATTRIBUTE46,
1939     TEXT_CAT_ATTRIBUTE47,
1940     TEXT_CAT_ATTRIBUTE48,
1941     TEXT_CAT_ATTRIBUTE49,
1942     TEXT_CAT_ATTRIBUTE5,
1943     TEXT_CAT_ATTRIBUTE50,
1944     TEXT_CAT_ATTRIBUTE6,
1945     TEXT_CAT_ATTRIBUTE7,
1946     TEXT_CAT_ATTRIBUTE8,
1947     TEXT_CAT_ATTRIBUTE9,
1948     THUMBNAIL_IMAGE,
1949     UNSPSC,
1950     LAST_UPDATED_PROGRAM)
1951   SELECT
1952     ATTACHMENT_URL,
1953     PO_ATTRIBUTE_VALUES_S.nextval,
1954     AVAILABILITY,
1955     CREATED_BY,
1956     CREATION_DATE,
1957     INVENTORY_ITEM_ID,
1958     IP_CATEGORY_ID,
1959     LAST_UPDATED_BY,
1960     LAST_UPDATE_DATE,
1961     LAST_UPDATE_LOGIN,
1962     LEAD_TIME,
1963     MANUFACTURER_PART_NUM,
1964     MANUFACTURER_URL,
1965     NUM_BASE_ATTRIBUTE1,
1966     NUM_BASE_ATTRIBUTE10,
1967     NUM_BASE_ATTRIBUTE100,
1968     NUM_BASE_ATTRIBUTE11,
1969     NUM_BASE_ATTRIBUTE12,
1970     NUM_BASE_ATTRIBUTE13,
1971     NUM_BASE_ATTRIBUTE14,
1972     NUM_BASE_ATTRIBUTE15,
1973     NUM_BASE_ATTRIBUTE16,
1974     NUM_BASE_ATTRIBUTE17,
1975     NUM_BASE_ATTRIBUTE18,
1976     NUM_BASE_ATTRIBUTE19,
1977     NUM_BASE_ATTRIBUTE2,
1978     NUM_BASE_ATTRIBUTE20,
1979     NUM_BASE_ATTRIBUTE21,
1980     NUM_BASE_ATTRIBUTE22,
1981     NUM_BASE_ATTRIBUTE23,
1982     NUM_BASE_ATTRIBUTE24,
1983     NUM_BASE_ATTRIBUTE25,
1984     NUM_BASE_ATTRIBUTE26,
1985     NUM_BASE_ATTRIBUTE27,
1986     NUM_BASE_ATTRIBUTE28,
1987     NUM_BASE_ATTRIBUTE29,
1988     NUM_BASE_ATTRIBUTE3,
1989     NUM_BASE_ATTRIBUTE30,
1990     NUM_BASE_ATTRIBUTE31,
1991     NUM_BASE_ATTRIBUTE32,
1992     NUM_BASE_ATTRIBUTE33,
1993     NUM_BASE_ATTRIBUTE34,
1994     NUM_BASE_ATTRIBUTE35,
1995     NUM_BASE_ATTRIBUTE36,
1996     NUM_BASE_ATTRIBUTE37,
1997     NUM_BASE_ATTRIBUTE38,
1998     NUM_BASE_ATTRIBUTE39,
1999     NUM_BASE_ATTRIBUTE4,
2000     NUM_BASE_ATTRIBUTE40,
2001     NUM_BASE_ATTRIBUTE41,
2002     NUM_BASE_ATTRIBUTE42,
2003     NUM_BASE_ATTRIBUTE43,
2004     NUM_BASE_ATTRIBUTE44,
2005     NUM_BASE_ATTRIBUTE45,
2006     NUM_BASE_ATTRIBUTE46,
2007     NUM_BASE_ATTRIBUTE47,
2008     NUM_BASE_ATTRIBUTE48,
2009     NUM_BASE_ATTRIBUTE49,
2010     NUM_BASE_ATTRIBUTE5,
2011     NUM_BASE_ATTRIBUTE50,
2012     NUM_BASE_ATTRIBUTE51,
2013     NUM_BASE_ATTRIBUTE52,
2014     NUM_BASE_ATTRIBUTE53,
2015     NUM_BASE_ATTRIBUTE54,
2016     NUM_BASE_ATTRIBUTE55,
2017     NUM_BASE_ATTRIBUTE56,
2018     NUM_BASE_ATTRIBUTE57,
2019     NUM_BASE_ATTRIBUTE58,
2020     NUM_BASE_ATTRIBUTE59,
2021     NUM_BASE_ATTRIBUTE6,
2022     NUM_BASE_ATTRIBUTE60,
2023     NUM_BASE_ATTRIBUTE61,
2024     NUM_BASE_ATTRIBUTE62,
2025     NUM_BASE_ATTRIBUTE63,
2026     NUM_BASE_ATTRIBUTE64,
2027     NUM_BASE_ATTRIBUTE65,
2028     NUM_BASE_ATTRIBUTE66,
2029     NUM_BASE_ATTRIBUTE67,
2030     NUM_BASE_ATTRIBUTE68,
2031     NUM_BASE_ATTRIBUTE69,
2032     NUM_BASE_ATTRIBUTE7,
2033     NUM_BASE_ATTRIBUTE70,
2034     NUM_BASE_ATTRIBUTE71,
2035     NUM_BASE_ATTRIBUTE72,
2036     NUM_BASE_ATTRIBUTE73,
2037     NUM_BASE_ATTRIBUTE74,
2038     NUM_BASE_ATTRIBUTE75,
2039     NUM_BASE_ATTRIBUTE76,
2040     NUM_BASE_ATTRIBUTE77,
2041     NUM_BASE_ATTRIBUTE78,
2042     NUM_BASE_ATTRIBUTE79,
2043     NUM_BASE_ATTRIBUTE8,
2044     NUM_BASE_ATTRIBUTE80,
2045     NUM_BASE_ATTRIBUTE81,
2046     NUM_BASE_ATTRIBUTE82,
2047     NUM_BASE_ATTRIBUTE83,
2048     NUM_BASE_ATTRIBUTE84,
2049     NUM_BASE_ATTRIBUTE85,
2050     NUM_BASE_ATTRIBUTE86,
2051     NUM_BASE_ATTRIBUTE87,
2052     NUM_BASE_ATTRIBUTE88,
2053     NUM_BASE_ATTRIBUTE89,
2054     NUM_BASE_ATTRIBUTE9,
2055     NUM_BASE_ATTRIBUTE90,
2056     NUM_BASE_ATTRIBUTE91,
2057     NUM_BASE_ATTRIBUTE92,
2058     NUM_BASE_ATTRIBUTE93,
2059     NUM_BASE_ATTRIBUTE94,
2060     NUM_BASE_ATTRIBUTE95,
2061     NUM_BASE_ATTRIBUTE96,
2062     NUM_BASE_ATTRIBUTE97,
2063     NUM_BASE_ATTRIBUTE98,
2064     NUM_BASE_ATTRIBUTE99,
2065     NUM_CAT_ATTRIBUTE1,
2066     NUM_CAT_ATTRIBUTE10,
2067     NUM_CAT_ATTRIBUTE11,
2068     NUM_CAT_ATTRIBUTE12,
2069     NUM_CAT_ATTRIBUTE13,
2070     NUM_CAT_ATTRIBUTE14,
2071     NUM_CAT_ATTRIBUTE15,
2072     NUM_CAT_ATTRIBUTE16,
2073     NUM_CAT_ATTRIBUTE17,
2074     NUM_CAT_ATTRIBUTE18,
2075     NUM_CAT_ATTRIBUTE19,
2076     NUM_CAT_ATTRIBUTE2,
2077     NUM_CAT_ATTRIBUTE20,
2078     NUM_CAT_ATTRIBUTE21,
2079     NUM_CAT_ATTRIBUTE22,
2080     NUM_CAT_ATTRIBUTE23,
2081     NUM_CAT_ATTRIBUTE24,
2082     NUM_CAT_ATTRIBUTE25,
2083     NUM_CAT_ATTRIBUTE26,
2084     NUM_CAT_ATTRIBUTE27,
2085     NUM_CAT_ATTRIBUTE28,
2086     NUM_CAT_ATTRIBUTE29,
2087     NUM_CAT_ATTRIBUTE3,
2088     NUM_CAT_ATTRIBUTE30,
2089     NUM_CAT_ATTRIBUTE31,
2090     NUM_CAT_ATTRIBUTE32,
2091     NUM_CAT_ATTRIBUTE33,
2092     NUM_CAT_ATTRIBUTE34,
2093     NUM_CAT_ATTRIBUTE35,
2094     NUM_CAT_ATTRIBUTE36,
2095     NUM_CAT_ATTRIBUTE37,
2096     NUM_CAT_ATTRIBUTE38,
2097     NUM_CAT_ATTRIBUTE39,
2098     NUM_CAT_ATTRIBUTE4,
2099     NUM_CAT_ATTRIBUTE40,
2100     NUM_CAT_ATTRIBUTE41,
2101     NUM_CAT_ATTRIBUTE42,
2102     NUM_CAT_ATTRIBUTE43,
2103     NUM_CAT_ATTRIBUTE44,
2104     NUM_CAT_ATTRIBUTE45,
2105     NUM_CAT_ATTRIBUTE46,
2106     NUM_CAT_ATTRIBUTE47,
2107     NUM_CAT_ATTRIBUTE48,
2108     NUM_CAT_ATTRIBUTE49,
2109     NUM_CAT_ATTRIBUTE5,
2110     NUM_CAT_ATTRIBUTE50,
2111     NUM_CAT_ATTRIBUTE6,
2112     NUM_CAT_ATTRIBUTE7,
2113     NUM_CAT_ATTRIBUTE8,
2114     NUM_CAT_ATTRIBUTE9,
2115     ORG_ID,
2116     PICTURE,
2117     PO_LINE_ID,
2118     PROGRAM_APPLICATION_ID,
2119     PROGRAM_ID,
2120     PROGRAM_UPDATE_DATE,
2121     REQUEST_ID,
2122     REQ_TEMPLATE_LINE_NUM,
2123     REQ_TEMPLATE_NAME,
2124     SUPPLIER_URL,
2125     TEXT_BASE_ATTRIBUTE1,
2126     TEXT_BASE_ATTRIBUTE10,
2127     TEXT_BASE_ATTRIBUTE100,
2128     TEXT_BASE_ATTRIBUTE11,
2129     TEXT_BASE_ATTRIBUTE12,
2130     TEXT_BASE_ATTRIBUTE13,
2131     TEXT_BASE_ATTRIBUTE14,
2132     TEXT_BASE_ATTRIBUTE15,
2133     TEXT_BASE_ATTRIBUTE16,
2134     TEXT_BASE_ATTRIBUTE17,
2135     TEXT_BASE_ATTRIBUTE18,
2136     TEXT_BASE_ATTRIBUTE19,
2137     TEXT_BASE_ATTRIBUTE2,
2138     TEXT_BASE_ATTRIBUTE20,
2139     TEXT_BASE_ATTRIBUTE21,
2140     TEXT_BASE_ATTRIBUTE22,
2141     TEXT_BASE_ATTRIBUTE23,
2142     TEXT_BASE_ATTRIBUTE24,
2143     TEXT_BASE_ATTRIBUTE25,
2144     TEXT_BASE_ATTRIBUTE26,
2145     TEXT_BASE_ATTRIBUTE27,
2146     TEXT_BASE_ATTRIBUTE28,
2147     TEXT_BASE_ATTRIBUTE29,
2148     TEXT_BASE_ATTRIBUTE3,
2149     TEXT_BASE_ATTRIBUTE30,
2150     TEXT_BASE_ATTRIBUTE31,
2151     TEXT_BASE_ATTRIBUTE32,
2152     TEXT_BASE_ATTRIBUTE33,
2153     TEXT_BASE_ATTRIBUTE34,
2154     TEXT_BASE_ATTRIBUTE35,
2155     TEXT_BASE_ATTRIBUTE36,
2156     TEXT_BASE_ATTRIBUTE37,
2157     TEXT_BASE_ATTRIBUTE38,
2158     TEXT_BASE_ATTRIBUTE39,
2159     TEXT_BASE_ATTRIBUTE4,
2160     TEXT_BASE_ATTRIBUTE40,
2161     TEXT_BASE_ATTRIBUTE41,
2162     TEXT_BASE_ATTRIBUTE42,
2163     TEXT_BASE_ATTRIBUTE43,
2164     TEXT_BASE_ATTRIBUTE44,
2165     TEXT_BASE_ATTRIBUTE45,
2166     TEXT_BASE_ATTRIBUTE46,
2167     TEXT_BASE_ATTRIBUTE47,
2168     TEXT_BASE_ATTRIBUTE48,
2169     TEXT_BASE_ATTRIBUTE49,
2170     TEXT_BASE_ATTRIBUTE5,
2171     TEXT_BASE_ATTRIBUTE50,
2172     TEXT_BASE_ATTRIBUTE51,
2173     TEXT_BASE_ATTRIBUTE52,
2174     TEXT_BASE_ATTRIBUTE53,
2175     TEXT_BASE_ATTRIBUTE54,
2176     TEXT_BASE_ATTRIBUTE55,
2177     TEXT_BASE_ATTRIBUTE56,
2178     TEXT_BASE_ATTRIBUTE57,
2179     TEXT_BASE_ATTRIBUTE58,
2180     TEXT_BASE_ATTRIBUTE59,
2181     TEXT_BASE_ATTRIBUTE6,
2182     TEXT_BASE_ATTRIBUTE60,
2183     TEXT_BASE_ATTRIBUTE61,
2184     TEXT_BASE_ATTRIBUTE62,
2185     TEXT_BASE_ATTRIBUTE63,
2186     TEXT_BASE_ATTRIBUTE64,
2187     TEXT_BASE_ATTRIBUTE65,
2188     TEXT_BASE_ATTRIBUTE66,
2189     TEXT_BASE_ATTRIBUTE67,
2190     TEXT_BASE_ATTRIBUTE68,
2191     TEXT_BASE_ATTRIBUTE69,
2192     TEXT_BASE_ATTRIBUTE7,
2193     TEXT_BASE_ATTRIBUTE70,
2194     TEXT_BASE_ATTRIBUTE71,
2195     TEXT_BASE_ATTRIBUTE72,
2196     TEXT_BASE_ATTRIBUTE73,
2197     TEXT_BASE_ATTRIBUTE74,
2198     TEXT_BASE_ATTRIBUTE75,
2199     TEXT_BASE_ATTRIBUTE76,
2200     TEXT_BASE_ATTRIBUTE77,
2201     TEXT_BASE_ATTRIBUTE78,
2202     TEXT_BASE_ATTRIBUTE79,
2203     TEXT_BASE_ATTRIBUTE8,
2204     TEXT_BASE_ATTRIBUTE80,
2205     TEXT_BASE_ATTRIBUTE81,
2206     TEXT_BASE_ATTRIBUTE82,
2207     TEXT_BASE_ATTRIBUTE83,
2208     TEXT_BASE_ATTRIBUTE84,
2209     TEXT_BASE_ATTRIBUTE85,
2210     TEXT_BASE_ATTRIBUTE86,
2211     TEXT_BASE_ATTRIBUTE87,
2212     TEXT_BASE_ATTRIBUTE88,
2213     TEXT_BASE_ATTRIBUTE89,
2214     TEXT_BASE_ATTRIBUTE9,
2215     TEXT_BASE_ATTRIBUTE90,
2216     TEXT_BASE_ATTRIBUTE91,
2217     TEXT_BASE_ATTRIBUTE92,
2218     TEXT_BASE_ATTRIBUTE93,
2219     TEXT_BASE_ATTRIBUTE94,
2220     TEXT_BASE_ATTRIBUTE95,
2221     TEXT_BASE_ATTRIBUTE96,
2222     TEXT_BASE_ATTRIBUTE97,
2223     TEXT_BASE_ATTRIBUTE98,
2224     TEXT_BASE_ATTRIBUTE99,
2225     TEXT_CAT_ATTRIBUTE1,
2226     TEXT_CAT_ATTRIBUTE10,
2227     TEXT_CAT_ATTRIBUTE11,
2228     TEXT_CAT_ATTRIBUTE12,
2229     TEXT_CAT_ATTRIBUTE13,
2230     TEXT_CAT_ATTRIBUTE14,
2231     TEXT_CAT_ATTRIBUTE15,
2232     TEXT_CAT_ATTRIBUTE16,
2233     TEXT_CAT_ATTRIBUTE17,
2234     TEXT_CAT_ATTRIBUTE18,
2235     TEXT_CAT_ATTRIBUTE19,
2236     TEXT_CAT_ATTRIBUTE2,
2237     TEXT_CAT_ATTRIBUTE20,
2238     TEXT_CAT_ATTRIBUTE21,
2239     TEXT_CAT_ATTRIBUTE22,
2240     TEXT_CAT_ATTRIBUTE23,
2241     TEXT_CAT_ATTRIBUTE24,
2242     TEXT_CAT_ATTRIBUTE25,
2243     TEXT_CAT_ATTRIBUTE26,
2244     TEXT_CAT_ATTRIBUTE27,
2245     TEXT_CAT_ATTRIBUTE28,
2246     TEXT_CAT_ATTRIBUTE29,
2247     TEXT_CAT_ATTRIBUTE3,
2248     TEXT_CAT_ATTRIBUTE30,
2249     TEXT_CAT_ATTRIBUTE31,
2250     TEXT_CAT_ATTRIBUTE32,
2251     TEXT_CAT_ATTRIBUTE33,
2252     TEXT_CAT_ATTRIBUTE34,
2253     TEXT_CAT_ATTRIBUTE35,
2254     TEXT_CAT_ATTRIBUTE36,
2255     TEXT_CAT_ATTRIBUTE37,
2256     TEXT_CAT_ATTRIBUTE38,
2257     TEXT_CAT_ATTRIBUTE39,
2258     TEXT_CAT_ATTRIBUTE4,
2259     TEXT_CAT_ATTRIBUTE40,
2260     TEXT_CAT_ATTRIBUTE41,
2261     TEXT_CAT_ATTRIBUTE42,
2262     TEXT_CAT_ATTRIBUTE43,
2263     TEXT_CAT_ATTRIBUTE44,
2264     TEXT_CAT_ATTRIBUTE45,
2265     TEXT_CAT_ATTRIBUTE46,
2266     TEXT_CAT_ATTRIBUTE47,
2267     TEXT_CAT_ATTRIBUTE48,
2268     TEXT_CAT_ATTRIBUTE49,
2269     TEXT_CAT_ATTRIBUTE5,
2270     TEXT_CAT_ATTRIBUTE50,
2271     TEXT_CAT_ATTRIBUTE6,
2272     TEXT_CAT_ATTRIBUTE7,
2273     TEXT_CAT_ATTRIBUTE8,
2274     TEXT_CAT_ATTRIBUTE9,
2275     THUMBNAIL_IMAGE,
2276     UNSPSC,
2277     'AUTOCREATE_BACKEND_FOR_SOURCING'
2278   FROM PO_ATTR_VALUES_INTERFACE
2279   WHERE interface_header_id = p_interface_header_id;
2280 
2281   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows inserted in PO_ATTRIBUTE_VALUES table='||SQL%rowcount); END IF;
2282 
2283   l_progress := '030';
2284   --insert tlp records from interface table
2285   INSERT INTO PO_ATTRIBUTE_VALUES_TLP (
2286     ALIAS,
2287     ATTRIBUTE_VALUES_TLP_ID,
2288     COMMENTS,
2289     CREATED_BY,
2290     CREATION_DATE,
2291     DESCRIPTION,
2292     INVENTORY_ITEM_ID,
2293     IP_CATEGORY_ID,
2294     LANGUAGE,
2295     LAST_UPDATED_BY,
2296     LAST_UPDATE_DATE,
2297     LAST_UPDATE_LOGIN,
2298     LONG_DESCRIPTION,
2299     MANUFACTURER,
2300     ORG_ID,
2301     PO_LINE_ID,
2302     PROGRAM_APPLICATION_ID,
2303     PROGRAM_ID,
2304     PROGRAM_UPDATE_DATE,
2305     REQUEST_ID,
2306     REQ_TEMPLATE_LINE_NUM,
2307     REQ_TEMPLATE_NAME,
2308     TL_TEXT_BASE_ATTRIBUTE1,
2309     TL_TEXT_BASE_ATTRIBUTE10,
2310     TL_TEXT_BASE_ATTRIBUTE100,
2311     TL_TEXT_BASE_ATTRIBUTE11,
2312     TL_TEXT_BASE_ATTRIBUTE12,
2313     TL_TEXT_BASE_ATTRIBUTE13,
2314     TL_TEXT_BASE_ATTRIBUTE14,
2315     TL_TEXT_BASE_ATTRIBUTE15,
2316     TL_TEXT_BASE_ATTRIBUTE16,
2317     TL_TEXT_BASE_ATTRIBUTE17,
2318     TL_TEXT_BASE_ATTRIBUTE18,
2319     TL_TEXT_BASE_ATTRIBUTE19,
2320     TL_TEXT_BASE_ATTRIBUTE2,
2321     TL_TEXT_BASE_ATTRIBUTE20,
2322     TL_TEXT_BASE_ATTRIBUTE21,
2323     TL_TEXT_BASE_ATTRIBUTE22,
2324     TL_TEXT_BASE_ATTRIBUTE23,
2325     TL_TEXT_BASE_ATTRIBUTE24,
2326     TL_TEXT_BASE_ATTRIBUTE25,
2327     TL_TEXT_BASE_ATTRIBUTE26,
2328     TL_TEXT_BASE_ATTRIBUTE27,
2329     TL_TEXT_BASE_ATTRIBUTE28,
2330     TL_TEXT_BASE_ATTRIBUTE29,
2331     TL_TEXT_BASE_ATTRIBUTE3,
2332     TL_TEXT_BASE_ATTRIBUTE30,
2333     TL_TEXT_BASE_ATTRIBUTE31,
2334     TL_TEXT_BASE_ATTRIBUTE32,
2335     TL_TEXT_BASE_ATTRIBUTE33,
2336     TL_TEXT_BASE_ATTRIBUTE34,
2337     TL_TEXT_BASE_ATTRIBUTE35,
2338     TL_TEXT_BASE_ATTRIBUTE36,
2339     TL_TEXT_BASE_ATTRIBUTE37,
2340     TL_TEXT_BASE_ATTRIBUTE38,
2341     TL_TEXT_BASE_ATTRIBUTE39,
2342     TL_TEXT_BASE_ATTRIBUTE4,
2343     TL_TEXT_BASE_ATTRIBUTE40,
2344     TL_TEXT_BASE_ATTRIBUTE41,
2345     TL_TEXT_BASE_ATTRIBUTE42,
2346     TL_TEXT_BASE_ATTRIBUTE43,
2347     TL_TEXT_BASE_ATTRIBUTE44,
2348     TL_TEXT_BASE_ATTRIBUTE45,
2349     TL_TEXT_BASE_ATTRIBUTE46,
2350     TL_TEXT_BASE_ATTRIBUTE47,
2351     TL_TEXT_BASE_ATTRIBUTE48,
2352     TL_TEXT_BASE_ATTRIBUTE49,
2353     TL_TEXT_BASE_ATTRIBUTE5,
2354     TL_TEXT_BASE_ATTRIBUTE50,
2355     TL_TEXT_BASE_ATTRIBUTE51,
2356     TL_TEXT_BASE_ATTRIBUTE52,
2357     TL_TEXT_BASE_ATTRIBUTE53,
2358     TL_TEXT_BASE_ATTRIBUTE54,
2359     TL_TEXT_BASE_ATTRIBUTE55,
2360     TL_TEXT_BASE_ATTRIBUTE56,
2361     TL_TEXT_BASE_ATTRIBUTE57,
2362     TL_TEXT_BASE_ATTRIBUTE58,
2363     TL_TEXT_BASE_ATTRIBUTE59,
2364     TL_TEXT_BASE_ATTRIBUTE6,
2365     TL_TEXT_BASE_ATTRIBUTE60,
2366     TL_TEXT_BASE_ATTRIBUTE61,
2367     TL_TEXT_BASE_ATTRIBUTE62,
2368     TL_TEXT_BASE_ATTRIBUTE63,
2369     TL_TEXT_BASE_ATTRIBUTE64,
2370     TL_TEXT_BASE_ATTRIBUTE65,
2371     TL_TEXT_BASE_ATTRIBUTE66,
2372     TL_TEXT_BASE_ATTRIBUTE67,
2373     TL_TEXT_BASE_ATTRIBUTE68,
2374     TL_TEXT_BASE_ATTRIBUTE69,
2375     TL_TEXT_BASE_ATTRIBUTE7,
2376     TL_TEXT_BASE_ATTRIBUTE70,
2377     TL_TEXT_BASE_ATTRIBUTE71,
2378     TL_TEXT_BASE_ATTRIBUTE72,
2379     TL_TEXT_BASE_ATTRIBUTE73,
2380     TL_TEXT_BASE_ATTRIBUTE74,
2381     TL_TEXT_BASE_ATTRIBUTE75,
2382     TL_TEXT_BASE_ATTRIBUTE76,
2383     TL_TEXT_BASE_ATTRIBUTE77,
2384     TL_TEXT_BASE_ATTRIBUTE78,
2385     TL_TEXT_BASE_ATTRIBUTE79,
2386     TL_TEXT_BASE_ATTRIBUTE8,
2387     TL_TEXT_BASE_ATTRIBUTE80,
2388     TL_TEXT_BASE_ATTRIBUTE81,
2389     TL_TEXT_BASE_ATTRIBUTE82,
2390     TL_TEXT_BASE_ATTRIBUTE83,
2391     TL_TEXT_BASE_ATTRIBUTE84,
2392     TL_TEXT_BASE_ATTRIBUTE85,
2393     TL_TEXT_BASE_ATTRIBUTE86,
2394     TL_TEXT_BASE_ATTRIBUTE87,
2395     TL_TEXT_BASE_ATTRIBUTE88,
2396     TL_TEXT_BASE_ATTRIBUTE89,
2397     TL_TEXT_BASE_ATTRIBUTE9,
2398     TL_TEXT_BASE_ATTRIBUTE90,
2399     TL_TEXT_BASE_ATTRIBUTE91,
2400     TL_TEXT_BASE_ATTRIBUTE92,
2401     TL_TEXT_BASE_ATTRIBUTE93,
2402     TL_TEXT_BASE_ATTRIBUTE94,
2403     TL_TEXT_BASE_ATTRIBUTE95,
2404     TL_TEXT_BASE_ATTRIBUTE96,
2405     TL_TEXT_BASE_ATTRIBUTE97,
2406     TL_TEXT_BASE_ATTRIBUTE98,
2407     TL_TEXT_BASE_ATTRIBUTE99,
2408     TL_TEXT_CAT_ATTRIBUTE1,
2409     TL_TEXT_CAT_ATTRIBUTE10,
2410     TL_TEXT_CAT_ATTRIBUTE11,
2411     TL_TEXT_CAT_ATTRIBUTE12,
2412     TL_TEXT_CAT_ATTRIBUTE13,
2413     TL_TEXT_CAT_ATTRIBUTE14,
2414     TL_TEXT_CAT_ATTRIBUTE15,
2415     TL_TEXT_CAT_ATTRIBUTE16,
2416     TL_TEXT_CAT_ATTRIBUTE17,
2417     TL_TEXT_CAT_ATTRIBUTE18,
2418     TL_TEXT_CAT_ATTRIBUTE19,
2419     TL_TEXT_CAT_ATTRIBUTE2,
2420     TL_TEXT_CAT_ATTRIBUTE20,
2421     TL_TEXT_CAT_ATTRIBUTE21,
2422     TL_TEXT_CAT_ATTRIBUTE22,
2423     TL_TEXT_CAT_ATTRIBUTE23,
2424     TL_TEXT_CAT_ATTRIBUTE24,
2425     TL_TEXT_CAT_ATTRIBUTE25,
2426     TL_TEXT_CAT_ATTRIBUTE26,
2427     TL_TEXT_CAT_ATTRIBUTE27,
2428     TL_TEXT_CAT_ATTRIBUTE28,
2429     TL_TEXT_CAT_ATTRIBUTE29,
2430     TL_TEXT_CAT_ATTRIBUTE3,
2431     TL_TEXT_CAT_ATTRIBUTE30,
2432     TL_TEXT_CAT_ATTRIBUTE31,
2433     TL_TEXT_CAT_ATTRIBUTE32,
2434     TL_TEXT_CAT_ATTRIBUTE33,
2435     TL_TEXT_CAT_ATTRIBUTE34,
2436     TL_TEXT_CAT_ATTRIBUTE35,
2437     TL_TEXT_CAT_ATTRIBUTE36,
2438     TL_TEXT_CAT_ATTRIBUTE37,
2439     TL_TEXT_CAT_ATTRIBUTE38,
2440     TL_TEXT_CAT_ATTRIBUTE39,
2441     TL_TEXT_CAT_ATTRIBUTE4,
2442     TL_TEXT_CAT_ATTRIBUTE40,
2443     TL_TEXT_CAT_ATTRIBUTE41,
2444     TL_TEXT_CAT_ATTRIBUTE42,
2445     TL_TEXT_CAT_ATTRIBUTE43,
2446     TL_TEXT_CAT_ATTRIBUTE44,
2447     TL_TEXT_CAT_ATTRIBUTE45,
2448     TL_TEXT_CAT_ATTRIBUTE46,
2449     TL_TEXT_CAT_ATTRIBUTE47,
2450     TL_TEXT_CAT_ATTRIBUTE48,
2451     TL_TEXT_CAT_ATTRIBUTE49,
2452     TL_TEXT_CAT_ATTRIBUTE5,
2453     TL_TEXT_CAT_ATTRIBUTE50,
2454     TL_TEXT_CAT_ATTRIBUTE6,
2455     TL_TEXT_CAT_ATTRIBUTE7,
2456     TL_TEXT_CAT_ATTRIBUTE8,
2457     TL_TEXT_CAT_ATTRIBUTE9,
2458     LAST_UPDATED_PROGRAM)
2459   SELECT
2460     ALIAS,
2461     PO_ATTRIBUTE_VALUES_TLP_S.nextval,
2462     COMMENTS,
2463     CREATED_BY,
2464     CREATION_DATE,
2465     DESCRIPTION,
2466     INVENTORY_ITEM_ID,
2467     IP_CATEGORY_ID,
2468     LANGUAGE,
2469     LAST_UPDATED_BY,
2470     LAST_UPDATE_DATE,
2471     LAST_UPDATE_LOGIN,
2472     LONG_DESCRIPTION,
2473     MANUFACTURER,
2474     ORG_ID,
2475     PO_LINE_ID,
2476     PROGRAM_APPLICATION_ID,
2477     PROGRAM_ID,
2478     PROGRAM_UPDATE_DATE,
2479     REQUEST_ID,
2480     REQ_TEMPLATE_LINE_NUM,
2481     REQ_TEMPLATE_NAME,
2482     TL_TEXT_BASE_ATTRIBUTE1,
2483     TL_TEXT_BASE_ATTRIBUTE10,
2484     TL_TEXT_BASE_ATTRIBUTE100,
2485     TL_TEXT_BASE_ATTRIBUTE11,
2486     TL_TEXT_BASE_ATTRIBUTE12,
2487     TL_TEXT_BASE_ATTRIBUTE13,
2488     TL_TEXT_BASE_ATTRIBUTE14,
2489     TL_TEXT_BASE_ATTRIBUTE15,
2490     TL_TEXT_BASE_ATTRIBUTE16,
2491     TL_TEXT_BASE_ATTRIBUTE17,
2492     TL_TEXT_BASE_ATTRIBUTE18,
2493     TL_TEXT_BASE_ATTRIBUTE19,
2494     TL_TEXT_BASE_ATTRIBUTE2,
2495     TL_TEXT_BASE_ATTRIBUTE20,
2496     TL_TEXT_BASE_ATTRIBUTE21,
2497     TL_TEXT_BASE_ATTRIBUTE22,
2498     TL_TEXT_BASE_ATTRIBUTE23,
2499     TL_TEXT_BASE_ATTRIBUTE24,
2500     TL_TEXT_BASE_ATTRIBUTE25,
2501     TL_TEXT_BASE_ATTRIBUTE26,
2502     TL_TEXT_BASE_ATTRIBUTE27,
2503     TL_TEXT_BASE_ATTRIBUTE28,
2504     TL_TEXT_BASE_ATTRIBUTE29,
2505     TL_TEXT_BASE_ATTRIBUTE3,
2506     TL_TEXT_BASE_ATTRIBUTE30,
2507     TL_TEXT_BASE_ATTRIBUTE31,
2508     TL_TEXT_BASE_ATTRIBUTE32,
2509     TL_TEXT_BASE_ATTRIBUTE33,
2510     TL_TEXT_BASE_ATTRIBUTE34,
2511     TL_TEXT_BASE_ATTRIBUTE35,
2512     TL_TEXT_BASE_ATTRIBUTE36,
2513     TL_TEXT_BASE_ATTRIBUTE37,
2514     TL_TEXT_BASE_ATTRIBUTE38,
2515     TL_TEXT_BASE_ATTRIBUTE39,
2516     TL_TEXT_BASE_ATTRIBUTE4,
2517     TL_TEXT_BASE_ATTRIBUTE40,
2518     TL_TEXT_BASE_ATTRIBUTE41,
2519     TL_TEXT_BASE_ATTRIBUTE42,
2520     TL_TEXT_BASE_ATTRIBUTE43,
2521     TL_TEXT_BASE_ATTRIBUTE44,
2522     TL_TEXT_BASE_ATTRIBUTE45,
2523     TL_TEXT_BASE_ATTRIBUTE46,
2524     TL_TEXT_BASE_ATTRIBUTE47,
2525     TL_TEXT_BASE_ATTRIBUTE48,
2526     TL_TEXT_BASE_ATTRIBUTE49,
2527     TL_TEXT_BASE_ATTRIBUTE5,
2528     TL_TEXT_BASE_ATTRIBUTE50,
2529     TL_TEXT_BASE_ATTRIBUTE51,
2530     TL_TEXT_BASE_ATTRIBUTE52,
2531     TL_TEXT_BASE_ATTRIBUTE53,
2532     TL_TEXT_BASE_ATTRIBUTE54,
2533     TL_TEXT_BASE_ATTRIBUTE55,
2534     TL_TEXT_BASE_ATTRIBUTE56,
2535     TL_TEXT_BASE_ATTRIBUTE57,
2536     TL_TEXT_BASE_ATTRIBUTE58,
2537     TL_TEXT_BASE_ATTRIBUTE59,
2538     TL_TEXT_BASE_ATTRIBUTE6,
2539     TL_TEXT_BASE_ATTRIBUTE60,
2540     TL_TEXT_BASE_ATTRIBUTE61,
2541     TL_TEXT_BASE_ATTRIBUTE62,
2542     TL_TEXT_BASE_ATTRIBUTE63,
2543     TL_TEXT_BASE_ATTRIBUTE64,
2544     TL_TEXT_BASE_ATTRIBUTE65,
2545     TL_TEXT_BASE_ATTRIBUTE66,
2546     TL_TEXT_BASE_ATTRIBUTE67,
2547     TL_TEXT_BASE_ATTRIBUTE68,
2548     TL_TEXT_BASE_ATTRIBUTE69,
2549     TL_TEXT_BASE_ATTRIBUTE7,
2550     TL_TEXT_BASE_ATTRIBUTE70,
2551     TL_TEXT_BASE_ATTRIBUTE71,
2552     TL_TEXT_BASE_ATTRIBUTE72,
2553     TL_TEXT_BASE_ATTRIBUTE73,
2554     TL_TEXT_BASE_ATTRIBUTE74,
2555     TL_TEXT_BASE_ATTRIBUTE75,
2556     TL_TEXT_BASE_ATTRIBUTE76,
2557     TL_TEXT_BASE_ATTRIBUTE77,
2558     TL_TEXT_BASE_ATTRIBUTE78,
2559     TL_TEXT_BASE_ATTRIBUTE79,
2560     TL_TEXT_BASE_ATTRIBUTE8,
2561     TL_TEXT_BASE_ATTRIBUTE80,
2562     TL_TEXT_BASE_ATTRIBUTE81,
2563     TL_TEXT_BASE_ATTRIBUTE82,
2564     TL_TEXT_BASE_ATTRIBUTE83,
2565     TL_TEXT_BASE_ATTRIBUTE84,
2566     TL_TEXT_BASE_ATTRIBUTE85,
2567     TL_TEXT_BASE_ATTRIBUTE86,
2568     TL_TEXT_BASE_ATTRIBUTE87,
2569     TL_TEXT_BASE_ATTRIBUTE88,
2570     TL_TEXT_BASE_ATTRIBUTE89,
2571     TL_TEXT_BASE_ATTRIBUTE9,
2572     TL_TEXT_BASE_ATTRIBUTE90,
2573     TL_TEXT_BASE_ATTRIBUTE91,
2574     TL_TEXT_BASE_ATTRIBUTE92,
2575     TL_TEXT_BASE_ATTRIBUTE93,
2576     TL_TEXT_BASE_ATTRIBUTE94,
2577     TL_TEXT_BASE_ATTRIBUTE95,
2578     TL_TEXT_BASE_ATTRIBUTE96,
2579     TL_TEXT_BASE_ATTRIBUTE97,
2580     TL_TEXT_BASE_ATTRIBUTE98,
2581     TL_TEXT_BASE_ATTRIBUTE99,
2582     TL_TEXT_CAT_ATTRIBUTE1,
2583     TL_TEXT_CAT_ATTRIBUTE10,
2584     TL_TEXT_CAT_ATTRIBUTE11,
2585     TL_TEXT_CAT_ATTRIBUTE12,
2586     TL_TEXT_CAT_ATTRIBUTE13,
2587     TL_TEXT_CAT_ATTRIBUTE14,
2588     TL_TEXT_CAT_ATTRIBUTE15,
2589     TL_TEXT_CAT_ATTRIBUTE16,
2590     TL_TEXT_CAT_ATTRIBUTE17,
2591     TL_TEXT_CAT_ATTRIBUTE18,
2592     TL_TEXT_CAT_ATTRIBUTE19,
2593     TL_TEXT_CAT_ATTRIBUTE2,
2594     TL_TEXT_CAT_ATTRIBUTE20,
2595     TL_TEXT_CAT_ATTRIBUTE21,
2596     TL_TEXT_CAT_ATTRIBUTE22,
2597     TL_TEXT_CAT_ATTRIBUTE23,
2598     TL_TEXT_CAT_ATTRIBUTE24,
2599     TL_TEXT_CAT_ATTRIBUTE25,
2600     TL_TEXT_CAT_ATTRIBUTE26,
2601     TL_TEXT_CAT_ATTRIBUTE27,
2602     TL_TEXT_CAT_ATTRIBUTE28,
2603     TL_TEXT_CAT_ATTRIBUTE29,
2604     TL_TEXT_CAT_ATTRIBUTE3,
2605     TL_TEXT_CAT_ATTRIBUTE30,
2606     TL_TEXT_CAT_ATTRIBUTE31,
2607     TL_TEXT_CAT_ATTRIBUTE32,
2608     TL_TEXT_CAT_ATTRIBUTE33,
2609     TL_TEXT_CAT_ATTRIBUTE34,
2610     TL_TEXT_CAT_ATTRIBUTE35,
2611     TL_TEXT_CAT_ATTRIBUTE36,
2612     TL_TEXT_CAT_ATTRIBUTE37,
2613     TL_TEXT_CAT_ATTRIBUTE38,
2614     TL_TEXT_CAT_ATTRIBUTE39,
2615     TL_TEXT_CAT_ATTRIBUTE4,
2616     TL_TEXT_CAT_ATTRIBUTE40,
2617     TL_TEXT_CAT_ATTRIBUTE41,
2618     TL_TEXT_CAT_ATTRIBUTE42,
2619     TL_TEXT_CAT_ATTRIBUTE43,
2620     TL_TEXT_CAT_ATTRIBUTE44,
2621     TL_TEXT_CAT_ATTRIBUTE45,
2622     TL_TEXT_CAT_ATTRIBUTE46,
2623     TL_TEXT_CAT_ATTRIBUTE47,
2624     TL_TEXT_CAT_ATTRIBUTE48,
2625     TL_TEXT_CAT_ATTRIBUTE49,
2626     TL_TEXT_CAT_ATTRIBUTE5,
2627     TL_TEXT_CAT_ATTRIBUTE50,
2628     TL_TEXT_CAT_ATTRIBUTE6,
2629     TL_TEXT_CAT_ATTRIBUTE7,
2630     TL_TEXT_CAT_ATTRIBUTE8,
2631     TL_TEXT_CAT_ATTRIBUTE9,
2632     'AUTOCREATE_BACKEND_FOR_SOURCING'
2633   FROM PO_ATTR_VALUES_TLP_INTERFACE
2634   WHERE interface_header_id = p_interface_header_id;
2635 
2636   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows inserted in PO_ATTRIBUTE_VALUES_TLP table='||SQL%rowcount); END IF;
2637 
2638   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
2639 EXCEPTION
2640   WHEN OTHERS THEN
2641     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception:'||SQLCODE || SQLERRM); END IF;
2642     RAISE;
2643 END transfer_intf_item_attribs;
2644 
2645 --------------------------------------------------------------------------------
2646 --Start of Comments
2647 --Name: get_translations
2648 --Pre-reqs:
2649 --  TLP row for the created/base language must exist.
2650 --Modifies:
2651 --  FND_MSG_PUB on unhandled exceptions.
2652 --Locks:
2653 --  None.
2654 --Function:
2655 --  Gets the translations for each of the TLP row provided in the input
2656 --  array.
2657 --
2658 --Parameters:
2659 --IN:
2660 --p_attr_values_tlp_id_list
2661 --  The list of TLP row ID's which will provide data to join to MTL tables
2662 --  to get the translations (item_id, etc.)
2663 --OUT:
2664 --x_tlp_id_to_be_copied_list
2665 -- List of TLP ID's corresponding to each line for the languages for which
2666 -- translation is available.
2667 --x_tlp_new_descriptions_list
2668 -- List of translated descriptions corresponding to each language
2669 --x_tlp_language_list
2670 -- The list of languages for which the translations are available
2671 --x_tlp_long_descriptions_list
2672 -- List of translated long item descriptions
2673 --End of Comments
2674 --------------------------------------------------------------------------------
2675 PROCEDURE get_translations
2676 (
2677   p_attr_values_tlp_id_list   IN PO_TBL_NUMBER
2678 , x_tlp_id_to_be_copied_list  OUT NOCOPY PO_TBL_NUMBER
2679 , x_tlp_new_descriptions_list OUT NOCOPY PO_TBL_VARCHAR480
2680 , x_tlp_language_list         OUT NOCOPY PO_TBL_VARCHAR4
2681 , x_tlp_long_descriptions_list OUT NOCOPY PO_TBL_VARCHAR2000 -- Bug7039409: Added
2682 )
2683 IS
2684   d_mod CONSTANT VARCHAR2(100) := D_get_translations;
2685   l_progress      VARCHAR2(4);
2686 
2687   l_key PO_SESSION_GT.key%TYPE;
2688   l_onetime_item_all_languages FND_PROFILE_OPTION_VALUES.profile_option_value%TYPE;
2689 BEGIN
2690   l_progress := '010';
2691 
2692   IF PO_LOG.d_proc THEN
2693     PO_LOG.proc_begin(d_mod,'p_attr_values_tlp_id_list',p_attr_values_tlp_id_list);
2694   END IF;
2695 
2696   -- Get the profile value for "POR: Load One-Time Items in All Languages"
2697   l_onetime_item_all_languages := NVL(FND_PROFILE.value('POR_LOAD_ONETIME_ITEM_ALL_LANG'), 'N');
2698   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Profile POR_LOAD_ONETIME_ITEM_ALL_LANG='||l_onetime_item_all_languages); END IF;
2699 
2700   -- SQL What: Pick a new key from session GT sequence .
2701   -- SQL Why : To get tlp_id's
2702   -- SQL Join: none
2703   SELECT PO_SESSION_GT_S.nextval
2704   INTO l_key
2705   FROM DUAL;
2706 
2707   l_progress := '020';
2708   -- SQL What: Now get translations for each of the TLP rows, for each available language
2709   -- SQL Why : They will be inserted into the TLP table
2710   -- SQL Join: attribute_values_tlp_id, inventory_item_id, org_id, inventory_organization_id, language
2711   -- MANUFACTURER will be populated from the base language only
2712   FORALL i IN 1 .. p_attr_values_tlp_id_list.COUNT
2713     INSERT INTO PO_SESSION_GT(key,
2714                               num1,
2715                               char1,
2716                               char2,
2717                               char3 -- Bug7039409: Added for long_description
2718                              )
2719     SELECT l_key,
2720            TLP.attribute_values_tlp_id,
2721            MTL.description,
2722            MTL.language,
2723            MTL.long_description     -- Bug7039409: Get long_description also
2724       FROM MTL_SYSTEM_ITEMS_TL MTL,
2725            FINANCIALS_SYSTEM_PARAMS_ALL FSP,
2726            PO_ATTRIBUTE_VALUES_TLP TLP
2727      WHERE TLP.inventory_item_id IS NOT NULL
2728        AND TLP.inventory_item_id <> g_ATTR_VALUES_NULL_ID -- '-2'
2729        AND TLP.attribute_values_tlp_id = p_attr_values_tlp_id_list(i)
2730        AND MTL.inventory_item_id = TLP.inventory_item_id
2731        AND FSP.org_id = TLP.org_id
2732        AND FSP.inventory_organization_id = MTL.organization_id
2733        AND MTL.language = MTL.source_lang
2734        AND MTL.language <> TLP.language -- dont fetch for already existing row
2735 
2736     UNION ALL
2737 
2738            -- One-time item case
2739 
2740     SELECT l_key,
2741            TLP.attribute_values_tlp_id,
2742            TLP.description,
2743            FNDLANG.language_code,
2744            NULL -- Bug7039409: long_description as NULL for one-time item
2745       FROM FND_LANGUAGES FNDLANG,
2746            PO_ATTRIBUTE_VALUES_TLP TLP
2747      WHERE (TLP.inventory_item_id IS NULL OR
2748             TLP.inventory_item_id = g_ATTR_VALUES_NULL_ID) -- '-2'
2749        AND FNDLANG.installed_flag IN ('B', 'I')
2750        AND FNDLANG.language_code <> TLP.language
2751        AND TLP.attribute_values_tlp_id = p_attr_values_tlp_id_list(i)
2752        AND l_onetime_item_all_languages = 'Y';
2753 
2754   l_progress := '030';
2755   -- SQL What: Transfer from session GT table to local arrays
2756   -- SQL Why : It will be used to populate the OUT parameters.
2757   -- SQL Join: key
2758   DELETE FROM PO_SESSION_GT
2759   WHERE  key = l_key
2760   RETURNING num1, char1, char2, char3
2761   BULK COLLECT INTO
2762     x_tlp_id_to_be_copied_list, -- OUT parameters
2763     x_tlp_new_descriptions_list,
2764     x_tlp_language_list,
2765     x_tlp_long_descriptions_list; -- Bug7039409: Get tlp_long_description
2766 
2767   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows deleted from GT table='||SQL%rowcount); END IF;
2768 
2769   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
2770 EXCEPTION
2771   WHEN OTHERS THEN
2772     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
2773     RAISE;
2774 END get_translations;
2775 
2776 --------------------------------------------------------------------------------
2777 --Start of Comments
2778 --Name: get_tlp_ids_for_lines
2779 --Pre-reqs:
2780 --  TLP row for the created/base language must exist.
2781 --Modifies:
2782 --  FND_MSG_PUB on unhandled exceptions.
2783 --Locks:
2784 --  None.
2785 --Function:
2786 --  Gets the ATTRIBUTE_VALUES_TLP_ID's for each of the PO_LINE_ID
2787 --  specified in the input array (TLP row for created_language).
2788 --
2789 --Parameters:
2790 --IN:
2791 --p_po_line_id_list
2792 --  For the case when the parent doc is a Blanket or Quotation, this parameter
2793 --  specifies the list of PO_LINE_ID's for which TLP rows need to be created.
2794 --OUT:
2795 --x_tlp_id_list
2796 -- List of TLP ID's corresponding to each line for the created_language
2797 --End of Comments
2798 --------------------------------------------------------------------------------
2799 PROCEDURE get_tlp_ids_for_lines
2800 (
2801   p_po_line_id_list IN PO_TBL_NUMBER
2802 , x_tlp_id_list     OUT NOCOPY PO_TBL_NUMBER
2803 )
2804 IS
2805   d_mod CONSTANT VARCHAR2(100) := D_get_tlp_ids_for_lines;
2806   l_progress      VARCHAR2(4);
2807 
2808   l_attr_values_tlp_id PO_ATTRIBUTE_VALUES_TLP.attribute_values_tlp_id%TYPE;
2809   l_key PO_SESSION_GT.key%TYPE;
2810 BEGIN
2811   l_progress := '010';
2812 
2813   IF PO_LOG.d_proc THEN
2814     PO_LOG.proc_begin(d_mod,'p_po_line_id_list',p_po_line_id_list);
2815   END IF;
2816 
2817   -- SQL What: Pick a new key from session GT sequence .
2818   -- SQL Why : To get tlp_id's
2819   -- SQL Join: none
2820   SELECT PO_SESSION_GT_S.nextval
2821   INTO l_key
2822   FROM DUAL;
2823 
2824   l_progress := '020';
2825   -- SQL What: Get the primary key to the TLP row of the created_language
2826   -- SQL Why : This TLP row will be copied when creating translations
2827   -- SQL Join: po_line_id, po_header_id, language
2828   FORALL i IN 1 .. p_po_line_id_list.COUNT
2829     INSERT INTO PO_SESSION_GT(key,
2830                               num1
2831                              )
2832     SELECT l_key,
2833            TLP.attribute_values_tlp_id
2834       FROM PO_ATTRIBUTE_VALUES_TLP TLP,
2835            PO_LINES_ALL POL,
2836            PO_HEADERS_ALL POH
2837      WHERE TLP.po_line_id = p_po_line_id_list(i)
2838        AND p_po_line_id_list(i) <> g_NOT_REQUIRED_ID
2839        AND POL.po_line_id = TLP.po_line_id
2840        AND POH.po_header_id = POL.po_header_id
2841        AND language = POH.created_language;
2842 
2843   l_progress := '030';
2844   -- SQL What: Transfer from session GT table to local arrays
2845   -- SQL Why : It will be used to populate the OUT parameters.
2846   -- SQL Join: key
2847   DELETE FROM PO_SESSION_GT
2848   WHERE  key = l_key
2849   RETURNING num1
2850   BULK COLLECT INTO x_tlp_id_list; -- OUT parameter
2851 
2852   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows deleted from GT table='||SQL%rowcount); END IF;
2853 
2854   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
2855 EXCEPTION
2856   WHEN OTHERS THEN
2857     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
2858     RAISE;
2859 END get_tlp_ids_for_lines;
2860 
2861 --------------------------------------------------------------------------------
2862 --Start of Comments
2863 --Name: create_translations
2864 --Pre-reqs:
2865 --  TLP row for the created/base language must exist.
2866 --Modifies:
2867 --  FND_MSG_PUB on unhandled exceptions.
2868 --Locks:
2869 --  None.
2870 --Function:
2871 --  Create Translations in the TLP table from one of the 2 sources:
2872 --      a) INV Item Master (if item_id is not null)
2873 --      b) Copies the TLP row of the session language to all othe langs
2874 --         (if item_id is null)
2875 --
2876 --Parameters:
2877 --IN:
2878 --p_doc_type
2879 --  Specifies the type of the parent documents of the attributes.
2880 --p_default_lang_tlp_id
2881 --  The default language for which the TLP row already exists. For blankets
2882 --  and quotations, it is the created_language specified at the header level.
2883 --  Whereas for Req Templates, it is always the Base language of the
2884 --  installation.
2885 --p_po_line_id_list
2886 --  For the case when the parent doc is a Blanket or Quotation, this parameter
2887 --  specifies the list of PO_LINE_ID's for which TLP rows need to be created.
2888 --p_req_template_name
2889 --p_req_template_line_num
2890 --p_org_id
2891 --  For the case when the parent doc is a Req Template, this parameter
2892 --  specifies the req template line for which TLP rows need to be created.
2893 --End of Comments
2894 --------------------------------------------------------------------------------
2895 PROCEDURE create_translations
2896 (
2897   p_doc_type                 IN VARCHAR2, -- 'BLANKET', 'QUOTATION', 'REQ_TEMPLATE'
2898   p_default_lang_tlp_id      IN PO_ATTRIBUTE_VALUES_TLP.attribute_values_tlp_id%TYPE DEFAULT NULL,
2899   p_po_line_id               IN PO_LINES.po_line_id%TYPE DEFAULT NULL,
2900   p_default_lang_tlp_id_list IN PO_TBL_NUMBER DEFAULT NULL,
2901   p_po_line_id_list          IN PO_TBL_NUMBER DEFAULT NULL,
2902   p_req_template_name        IN PO_REQEXPRESS_LINES_ALL.express_name%TYPE DEFAULT NULL,
2903   p_req_template_line_num    IN PO_REQEXPRESS_LINES_ALL.sequence_num%TYPE DEFAULT NULL,
2904   p_org_id                   IN PO_LINES_ALL.org_id%TYPE DEFAULT NULL
2905 )
2906 IS
2907   d_mod CONSTANT VARCHAR2(100) := D_create_translations;
2908   l_progress      VARCHAR2(4);
2909 
2910   l_attr_values_tlp_id PO_ATTRIBUTE_VALUES_TLP.attribute_values_tlp_id%TYPE;
2911   l_attr_values_tlp_id_list PO_TBL_NUMBER := PO_TBL_NUMBER();
2912   l_tlp_id_to_be_copied_list PO_TBL_NUMBER := PO_TBL_NUMBER();
2913   l_tlp_new_descriptions_list PO_TBL_VARCHAR480;-- := PO_TBL_VARCHAR480();
2914   l_tlp_language_list PO_TBL_VARCHAR4;-- := PO_TBL_VARCHAR4();
2915   l_tlp_long_descriptions_list PO_TBL_VARCHAR2000; -- Bug7039409: Declared new table
2916 
2917   l_po_line_id_list PO_TBL_NUMBER := PO_TBL_NUMBER();
2918   l_default_lang_tlp_id_list PO_TBL_NUMBER := PO_TBL_NUMBER();
2919 BEGIN
2920   l_progress := '010';
2921 
2922   IF PO_LOG.d_proc THEN
2923     PO_LOG.proc_begin(d_mod,'p_doc_type',p_doc_type);
2924     PO_LOG.proc_begin(d_mod,'p_default_lang_tlp_id',p_default_lang_tlp_id);
2925     PO_LOG.proc_begin(d_mod,'p_po_line_id',p_po_line_id);
2926     PO_LOG.proc_begin(d_mod,'p_default_lang_tlp_id_list',p_default_lang_tlp_id_list);
2927     PO_LOG.proc_begin(d_mod,'p_po_line_id_list',p_po_line_id_list);
2928     PO_LOG.proc_begin(d_mod,'p_req_template_name',p_req_template_name);
2929     PO_LOG.proc_begin(d_mod,'p_req_template_line_num',p_req_template_line_num);
2930     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
2931   END IF;
2932 
2933   -- Wrap single po_line_id into the list collection
2934   IF (p_po_line_id IS NOT NULL) THEN
2935     l_po_line_id_list.extend;
2936     l_po_line_id_list(1) := p_po_line_id;
2937   ELSE
2938     IF (p_po_line_id_list IS NOT NULL) THEN
2939       -- Copy the list into a local array
2940       FOR i IN 1 .. p_po_line_id_list.COUNT
2941       LOOP
2942         l_po_line_id_list.extend;
2943         l_po_line_id_list(i) := p_po_line_id_list(i);
2944       END LOOP;
2945     END IF;
2946   END IF;
2947 
2948   l_progress := '020';
2949   -- Wrap single tlp_id into the list collection
2950   IF (p_default_lang_tlp_id IS NOT NULL) THEN
2951     l_default_lang_tlp_id_list.extend;
2952     l_default_lang_tlp_id_list(1) := p_default_lang_tlp_id;
2953   ELSE
2954     IF (p_default_lang_tlp_id_list IS NOT NULL) THEN
2955       -- Copy the list into a local array
2956       FOR i IN 1 .. p_default_lang_tlp_id_list.COUNT
2957       LOOP
2958         l_default_lang_tlp_id_list.extend;
2959         l_default_lang_tlp_id_list(i) := p_default_lang_tlp_id_list(i);
2960       END LOOP;
2961     END IF;
2962   END IF;
2963 
2964   l_progress := '030';
2965   -- Sometimes, the calling program may not have the TLP row ID for that TLP row
2966   -- which will be used to copy records in other languages (e.g. when called from
2967   -- transfer program). In those cases, query up the record here
2968   IF (l_default_lang_tlp_id_list IS NULL OR
2969       (l_default_lang_tlp_id_list.COUNT = 0)) THEN
2970 
2971     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Getting TLP IDs from the document(s)...'); END IF;
2972 
2973     IF (p_doc_type IN ('BLANKET', 'QUOTATION') ) THEN
2974       l_progress := '040';
2975       get_tlp_ids_for_lines
2976       (
2977         p_po_line_id_list => l_po_line_id_list
2978       , x_tlp_id_list     => l_attr_values_tlp_id_list -- OUT
2979       );
2980     ELSIF (p_doc_type = 'REQ_TEMPLATE' ) THEN
2981       l_progress := '050';
2982       -- SQL What: Get the primary key to the TLP row of the base_language
2983       -- SQL Why : This TLP row will be copied when creating translations
2984       -- SQL Join: org_id, req_template_name, req_template_line_num, language
2985       SELECT attribute_values_tlp_id
2986       BULK COLLECT INTO l_attr_values_tlp_id_list
2987       FROM PO_ATTRIBUTE_VALUES_TLP
2988       WHERE req_template_name = p_req_template_name
2989         AND req_template_line_num = p_req_template_line_num
2990         AND org_id = p_org_id
2991         AND p_req_template_line_num <> g_NOT_REQUIRED_ID
2992         AND language = g_base_language;
2993 
2994       IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP IDs fetched for ReqTemplate='||l_attr_values_tlp_id_list.COUNT); END IF;
2995     END IF;
2996   ELSE -- l_default_lang_tlp_id_list IS NOT NULL
2997     l_progress := '060';
2998     -- Copy the list into a local array
2999     FOR i IN 1 .. l_default_lang_tlp_id_list.COUNT
3000     LOOP
3001       l_attr_values_tlp_id_list.extend;
3002       l_attr_values_tlp_id_list(i) := l_default_lang_tlp_id_list(i);
3003     END LOOP;
3004   END IF;
3005 
3006   l_progress := '070';
3007   get_translations
3008   (
3009     p_attr_values_tlp_id_list   => l_attr_values_tlp_id_list
3010   , x_tlp_id_to_be_copied_list  => l_tlp_id_to_be_copied_list  -- OUT
3011   , x_tlp_new_descriptions_list => l_tlp_new_descriptions_list -- OUT
3012   , x_tlp_language_list         => l_tlp_language_list         -- OUT
3013   -- Bug7039409: Added new param x_tlp_long_descriptions_list
3014   , x_tlp_long_descriptions_list => l_tlp_long_descriptions_list -- OUT
3015   );
3016 
3017   l_progress := '080';
3018   -- SQL What: Now insert into the TLP table. Check that TLP row for that
3019   --           language does already exist.
3020   -- SQL Why : To create translations in multiple languages
3021   -- SQL Join: attribute_values_tlp_id
3022   FORALL i IN 1 .. l_tlp_id_to_be_copied_list.COUNT
3023     INSERT INTO PO_ATTRIBUTE_VALUES_TLP TLP
3024     (
3025       attribute_values_tlp_id,
3026       description,
3027       language,
3028 
3029       -- ... ALL OTHER COLUMNS FROM TLP
3030 
3031       po_line_id,
3032       req_template_name,
3033       req_template_line_num,
3034       ip_category_id,
3035       inventory_item_id,
3036       org_id,
3037       manufacturer,
3038       comments,
3039       alias,
3040       long_description,
3041       tl_text_base_attribute1,
3042       tl_text_base_attribute2,
3043       tl_text_base_attribute3,
3044       tl_text_base_attribute4,
3045       tl_text_base_attribute5,
3046       tl_text_base_attribute6,
3047       tl_text_base_attribute7,
3048       tl_text_base_attribute8,
3049       tl_text_base_attribute9,
3050       tl_text_base_attribute10,
3051       tl_text_base_attribute11,
3052       tl_text_base_attribute12,
3053       tl_text_base_attribute13,
3054       tl_text_base_attribute14,
3055       tl_text_base_attribute15,
3056       tl_text_base_attribute16,
3057       tl_text_base_attribute17,
3058       tl_text_base_attribute18,
3059       tl_text_base_attribute19,
3060       tl_text_base_attribute20,
3061       tl_text_base_attribute21,
3062       tl_text_base_attribute22,
3063       tl_text_base_attribute23,
3064       tl_text_base_attribute24,
3065       tl_text_base_attribute25,
3066       tl_text_base_attribute26,
3067       tl_text_base_attribute27,
3068       tl_text_base_attribute28,
3069       tl_text_base_attribute29,
3070       tl_text_base_attribute30,
3071       tl_text_base_attribute31,
3072       tl_text_base_attribute32,
3073       tl_text_base_attribute33,
3074       tl_text_base_attribute34,
3075       tl_text_base_attribute35,
3076       tl_text_base_attribute36,
3077       tl_text_base_attribute37,
3078       tl_text_base_attribute38,
3079       tl_text_base_attribute39,
3080       tl_text_base_attribute40,
3081       tl_text_base_attribute41,
3082       tl_text_base_attribute42,
3083       tl_text_base_attribute43,
3084       tl_text_base_attribute44,
3085       tl_text_base_attribute45,
3086       tl_text_base_attribute46,
3087       tl_text_base_attribute47,
3088       tl_text_base_attribute48,
3089       tl_text_base_attribute49,
3090       tl_text_base_attribute50,
3091       tl_text_base_attribute51,
3092       tl_text_base_attribute52,
3093       tl_text_base_attribute53,
3094       tl_text_base_attribute54,
3095       tl_text_base_attribute55,
3096       tl_text_base_attribute56,
3097       tl_text_base_attribute57,
3098       tl_text_base_attribute58,
3099       tl_text_base_attribute59,
3100       tl_text_base_attribute60,
3101       tl_text_base_attribute61,
3102       tl_text_base_attribute62,
3103       tl_text_base_attribute63,
3104       tl_text_base_attribute64,
3105       tl_text_base_attribute65,
3106       tl_text_base_attribute66,
3107       tl_text_base_attribute67,
3108       tl_text_base_attribute68,
3109       tl_text_base_attribute69,
3110       tl_text_base_attribute70,
3111       tl_text_base_attribute71,
3112       tl_text_base_attribute72,
3113       tl_text_base_attribute73,
3114       tl_text_base_attribute74,
3115       tl_text_base_attribute75,
3116       tl_text_base_attribute76,
3117       tl_text_base_attribute77,
3118       tl_text_base_attribute78,
3119       tl_text_base_attribute79,
3120       tl_text_base_attribute80,
3121       tl_text_base_attribute81,
3122       tl_text_base_attribute82,
3123       tl_text_base_attribute83,
3124       tl_text_base_attribute84,
3125       tl_text_base_attribute85,
3126       tl_text_base_attribute86,
3127       tl_text_base_attribute87,
3128       tl_text_base_attribute88,
3129       tl_text_base_attribute89,
3130       tl_text_base_attribute90,
3131       tl_text_base_attribute91,
3132       tl_text_base_attribute92,
3133       tl_text_base_attribute93,
3134       tl_text_base_attribute94,
3135       tl_text_base_attribute95,
3136       tl_text_base_attribute96,
3137       tl_text_base_attribute97,
3138       tl_text_base_attribute98,
3139       tl_text_base_attribute99,
3140       tl_text_base_attribute100,
3141       tl_text_cat_attribute1,
3142       tl_text_cat_attribute2,
3143       tl_text_cat_attribute3,
3144       tl_text_cat_attribute4,
3145       tl_text_cat_attribute5,
3146       tl_text_cat_attribute6,
3147       tl_text_cat_attribute7,
3148       tl_text_cat_attribute8,
3149       tl_text_cat_attribute9,
3150       tl_text_cat_attribute10,
3151       tl_text_cat_attribute11,
3152       tl_text_cat_attribute12,
3153       tl_text_cat_attribute13,
3154       tl_text_cat_attribute14,
3155       tl_text_cat_attribute15,
3156       tl_text_cat_attribute16,
3157       tl_text_cat_attribute17,
3158       tl_text_cat_attribute18,
3159       tl_text_cat_attribute19,
3160       tl_text_cat_attribute20,
3161       tl_text_cat_attribute21,
3162       tl_text_cat_attribute22,
3163       tl_text_cat_attribute23,
3164       tl_text_cat_attribute24,
3165       tl_text_cat_attribute25,
3166       tl_text_cat_attribute26,
3167       tl_text_cat_attribute27,
3168       tl_text_cat_attribute28,
3169       tl_text_cat_attribute29,
3170       tl_text_cat_attribute30,
3171       tl_text_cat_attribute31,
3172       tl_text_cat_attribute32,
3173       tl_text_cat_attribute33,
3174       tl_text_cat_attribute34,
3175       tl_text_cat_attribute35,
3176       tl_text_cat_attribute36,
3177       tl_text_cat_attribute37,
3178       tl_text_cat_attribute38,
3179       tl_text_cat_attribute39,
3180       tl_text_cat_attribute40,
3181       tl_text_cat_attribute41,
3182       tl_text_cat_attribute42,
3183       tl_text_cat_attribute43,
3184       tl_text_cat_attribute44,
3185       tl_text_cat_attribute45,
3186       tl_text_cat_attribute46,
3187       tl_text_cat_attribute47,
3188       tl_text_cat_attribute48,
3189       tl_text_cat_attribute49,
3190       tl_text_cat_attribute50,
3191       last_update_login,
3192       last_updated_by,
3193       last_update_date,
3194       created_by,
3195       creation_date,
3196       request_id,
3197       program_application_id,
3198       program_id,
3199       program_update_date,
3200       last_updated_program
3201     )
3202     SELECT
3203       PO_ATTRIBUTE_VALUES_TLP_S.nextval,
3204       l_tlp_new_descriptions_list(i),
3205       l_tlp_language_list(i),
3206 
3207       -- ... ALL OTHER COLUMNS FROM TLP
3208 
3209       TLP1.po_line_id,
3210       TLP1.req_template_name,
3211       TLP1.req_template_line_num,
3212       TLP1.ip_category_id,
3213       TLP1.inventory_item_id,
3214       TLP1.org_id,
3215       TLP1.manufacturer,               -- Copy value from base lang
3216       TLP1.comments,
3217       TLP1.alias,
3218       -- Bug7039409: Get long_description from l_tlp_long_descriptions_list
3219       -- instead of TLP1.long_description
3220       l_tlp_long_descriptions_list(i),
3221       TLP1.tl_text_base_attribute1,
3222       TLP1.tl_text_base_attribute2,
3223       TLP1.tl_text_base_attribute3,
3224       TLP1.tl_text_base_attribute4,
3225       TLP1.tl_text_base_attribute5,
3226       TLP1.tl_text_base_attribute6,
3227       TLP1.tl_text_base_attribute7,
3228       TLP1.tl_text_base_attribute8,
3229       TLP1.tl_text_base_attribute9,
3230       TLP1.tl_text_base_attribute10,
3231       TLP1.tl_text_base_attribute11,
3232       TLP1.tl_text_base_attribute12,
3233       TLP1.tl_text_base_attribute13,
3234       TLP1.tl_text_base_attribute14,
3235       TLP1.tl_text_base_attribute15,
3236       TLP1.tl_text_base_attribute16,
3237       TLP1.tl_text_base_attribute17,
3238       TLP1.tl_text_base_attribute18,
3239       TLP1.tl_text_base_attribute19,
3240       TLP1.tl_text_base_attribute20,
3241       TLP1.tl_text_base_attribute21,
3242       TLP1.tl_text_base_attribute22,
3243       TLP1.tl_text_base_attribute23,
3244       TLP1.tl_text_base_attribute24,
3245       TLP1.tl_text_base_attribute25,
3246       TLP1.tl_text_base_attribute26,
3247       TLP1.tl_text_base_attribute27,
3248       TLP1.tl_text_base_attribute28,
3249       TLP1.tl_text_base_attribute29,
3250       TLP1.tl_text_base_attribute30,
3251       TLP1.tl_text_base_attribute31,
3252       TLP1.tl_text_base_attribute32,
3253       TLP1.tl_text_base_attribute33,
3254       TLP1.tl_text_base_attribute34,
3255       TLP1.tl_text_base_attribute35,
3256       TLP1.tl_text_base_attribute36,
3257       TLP1.tl_text_base_attribute37,
3258       TLP1.tl_text_base_attribute38,
3259       TLP1.tl_text_base_attribute39,
3260       TLP1.tl_text_base_attribute40,
3261       TLP1.tl_text_base_attribute41,
3262       TLP1.tl_text_base_attribute42,
3263       TLP1.tl_text_base_attribute43,
3264       TLP1.tl_text_base_attribute44,
3265       TLP1.tl_text_base_attribute45,
3266       TLP1.tl_text_base_attribute46,
3267       TLP1.tl_text_base_attribute47,
3268       TLP1.tl_text_base_attribute48,
3269       TLP1.tl_text_base_attribute49,
3270       TLP1.tl_text_base_attribute50,
3271       TLP1.tl_text_base_attribute51,
3272       TLP1.tl_text_base_attribute52,
3273       TLP1.tl_text_base_attribute53,
3274       TLP1.tl_text_base_attribute54,
3275       TLP1.tl_text_base_attribute55,
3276       TLP1.tl_text_base_attribute56,
3277       TLP1.tl_text_base_attribute57,
3278       TLP1.tl_text_base_attribute58,
3279       TLP1.tl_text_base_attribute59,
3280       TLP1.tl_text_base_attribute60,
3281       TLP1.tl_text_base_attribute61,
3282       TLP1.tl_text_base_attribute62,
3283       TLP1.tl_text_base_attribute63,
3284       TLP1.tl_text_base_attribute64,
3285       TLP1.tl_text_base_attribute65,
3286       TLP1.tl_text_base_attribute66,
3287       TLP1.tl_text_base_attribute67,
3288       TLP1.tl_text_base_attribute68,
3289       TLP1.tl_text_base_attribute69,
3290       TLP1.tl_text_base_attribute70,
3291       TLP1.tl_text_base_attribute71,
3292       TLP1.tl_text_base_attribute72,
3293       TLP1.tl_text_base_attribute73,
3294       TLP1.tl_text_base_attribute74,
3295       TLP1.tl_text_base_attribute75,
3296       TLP1.tl_text_base_attribute76,
3297       TLP1.tl_text_base_attribute77,
3298       TLP1.tl_text_base_attribute78,
3299       TLP1.tl_text_base_attribute79,
3300       TLP1.tl_text_base_attribute80,
3301       TLP1.tl_text_base_attribute81,
3302       TLP1.tl_text_base_attribute82,
3303       TLP1.tl_text_base_attribute83,
3304       TLP1.tl_text_base_attribute84,
3305       TLP1.tl_text_base_attribute85,
3306       TLP1.tl_text_base_attribute86,
3307       TLP1.tl_text_base_attribute87,
3308       TLP1.tl_text_base_attribute88,
3309       TLP1.tl_text_base_attribute89,
3310       TLP1.tl_text_base_attribute90,
3311       TLP1.tl_text_base_attribute91,
3312       TLP1.tl_text_base_attribute92,
3313       TLP1.tl_text_base_attribute93,
3314       TLP1.tl_text_base_attribute94,
3315       TLP1.tl_text_base_attribute95,
3316       TLP1.tl_text_base_attribute96,
3317       TLP1.tl_text_base_attribute97,
3318       TLP1.tl_text_base_attribute98,
3319       TLP1.tl_text_base_attribute99,
3320       TLP1.tl_text_base_attribute100,
3321       TLP1.tl_text_cat_attribute1,
3322       TLP1.tl_text_cat_attribute2,
3323       TLP1.tl_text_cat_attribute3,
3324       TLP1.tl_text_cat_attribute4,
3325       TLP1.tl_text_cat_attribute5,
3326       TLP1.tl_text_cat_attribute6,
3327       TLP1.tl_text_cat_attribute7,
3328       TLP1.tl_text_cat_attribute8,
3329       TLP1.tl_text_cat_attribute9,
3330       TLP1.tl_text_cat_attribute10,
3331       TLP1.tl_text_cat_attribute11,
3332       TLP1.tl_text_cat_attribute12,
3333       TLP1.tl_text_cat_attribute13,
3334       TLP1.tl_text_cat_attribute14,
3335       TLP1.tl_text_cat_attribute15,
3336       TLP1.tl_text_cat_attribute16,
3337       TLP1.tl_text_cat_attribute17,
3338       TLP1.tl_text_cat_attribute18,
3339       TLP1.tl_text_cat_attribute19,
3340       TLP1.tl_text_cat_attribute20,
3341       TLP1.tl_text_cat_attribute21,
3342       TLP1.tl_text_cat_attribute22,
3343       TLP1.tl_text_cat_attribute23,
3344       TLP1.tl_text_cat_attribute24,
3345       TLP1.tl_text_cat_attribute25,
3346       TLP1.tl_text_cat_attribute26,
3347       TLP1.tl_text_cat_attribute27,
3348       TLP1.tl_text_cat_attribute28,
3349       TLP1.tl_text_cat_attribute29,
3350       TLP1.tl_text_cat_attribute30,
3351       TLP1.tl_text_cat_attribute31,
3352       TLP1.tl_text_cat_attribute32,
3353       TLP1.tl_text_cat_attribute33,
3354       TLP1.tl_text_cat_attribute34,
3355       TLP1.tl_text_cat_attribute35,
3356       TLP1.tl_text_cat_attribute36,
3357       TLP1.tl_text_cat_attribute37,
3358       TLP1.tl_text_cat_attribute38,
3359       TLP1.tl_text_cat_attribute39,
3360       TLP1.tl_text_cat_attribute40,
3361       TLP1.tl_text_cat_attribute41,
3362       TLP1.tl_text_cat_attribute42,
3363       TLP1.tl_text_cat_attribute43,
3364       TLP1.tl_text_cat_attribute44,
3365       TLP1.tl_text_cat_attribute45,
3366       TLP1.tl_text_cat_attribute46,
3367       TLP1.tl_text_cat_attribute47,
3368       TLP1.tl_text_cat_attribute48,
3369       TLP1.tl_text_cat_attribute49,
3370       TLP1.tl_text_cat_attribute50,
3371       FND_GLOBAL.login_id,        -- last_update_login
3372       FND_GLOBAL.user_id,         -- last_updated_by
3373       sysdate,                    -- last_update_date
3374       FND_GLOBAL.user_id,         -- created_by
3375       sysdate,                    -- creation_date
3376       FND_GLOBAL.conc_request_id, -- request_id
3377       TLP1.program_application_id,
3378       TLP1.program_id,
3379       TLP1.program_update_date,
3380       d_mod                       -- last_updated_program
3381     FROM PO_ATTRIBUTE_VALUES_TLP TLP1
3382     WHERE TLP1.attribute_values_tlp_id = l_tlp_id_to_be_copied_list(i)
3383       AND NOT EXISTS
3384           (SELECT /*+ push_subq no_unnest */ /* Hint for performance Bug 9392614 */
3385 	   'TLP row for this language already exists'
3386            FROM PO_ATTRIBUTE_VALUES_TLP TLP2
3387            WHERE TLP2.po_line_id = TLP1.po_line_id
3388             AND TLP2.req_template_name = TLP1.req_template_name
3389             AND TLP2.req_template_line_num = TLP1.req_template_line_num
3390             AND TLP2.org_id = TLP1.org_id
3391             AND TLP2.language = l_tlp_language_list(i));
3392 
3393   l_progress := '090';
3394   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows inserted into TLP table='||SQL%rowcount); END IF;
3395 
3396   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
3397 EXCEPTION
3398   WHEN OTHERS THEN
3399     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
3400     RAISE;
3401 END create_translations;
3402 
3403 --------------------------------------------------------------------------------
3404 --Start of Comments
3405 --Name: create_default_attr_tlp
3406 --Pre-reqs:
3407 --  None
3408 --Modifies:
3409 --  FND_MSG_PUB on unhandled exceptions.
3410 --Locks:
3411 --  None.
3412 --Function:
3413 --  To insert a row for the Attribute Values and TLP by defaulting values
3414 --  from the line level.
3415 --
3416 --Parameters:
3417 --IN:
3418 --p_po_line_id
3419 --p_req_template_name
3420 --p_req_template_line_num
3421 --p_ip_category_id
3422 --p_inventory_item_id
3423 --p_org_id
3424 --p_description
3425 --p_manufacturer
3426 --  The default values of the Attr given by the calling program.
3427 --End of Comments
3428 --------------------------------------------------------------------------------
3429 PROCEDURE create_default_attr_tlp
3430 (
3431   p_doc_type              IN VARCHAR2, -- 'BLANKET', 'QUOTATION', 'REQ_TEMPLATE'
3432   p_po_line_id            IN PO_LINES.po_line_id%TYPE,
3433   p_req_template_name     IN PO_REQEXPRESS_LINES_ALL.express_name%TYPE,
3434   p_req_template_line_num IN PO_REQEXPRESS_LINES_ALL.sequence_num%TYPE,
3435   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
3436   p_inventory_item_id     IN PO_LINES_ALL.item_id%TYPE,
3437   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
3438   p_description           IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE,
3439   -- Bug 7039409: Added new param p_manufacturer
3440   p_manufacturer          IN PO_ATTRIBUTE_VALUES_TLP.manufacturer%TYPE
3441 )
3442 IS
3443   d_mod CONSTANT VARCHAR2(100) := D_create_default_attr_tlp;
3444   l_progress      VARCHAR2(4);
3445 
3446   l_default_lang PO_HEADERS_ALL.created_language%TYPE;
3447   l_description  PO_ATTRIBUTE_VALUES_TLP.description%TYPE;
3448   l_long_description PO_ATTRIBUTE_VALUES_TLP.long_description%TYPE;
3449 BEGIN
3450   l_progress := '010';
3451 
3452   IF PO_LOG.d_proc THEN
3453     PO_LOG.proc_begin(d_mod,'p_doc_type',p_doc_type);
3454     PO_LOG.proc_begin(d_mod,'p_po_line_id',p_po_line_id);
3455     PO_LOG.proc_begin(d_mod,'p_req_template_name',p_req_template_name);
3456     PO_LOG.proc_begin(d_mod,'p_req_template_line_num',p_req_template_line_num);
3457     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
3458     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
3459     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
3460     PO_LOG.proc_begin(d_mod,'p_description',p_description);
3461     PO_LOG.proc_begin(d_mod,'p_manufacturer',p_manufacturer);
3462   END IF;
3463 
3464   IF (p_po_line_id IS NOT NULL) THEN
3465     l_progress := '020';
3466     -- SQL What: Get the created_language of the header, for the given line
3467     -- SQL Why : To create a default Attr TLP row for the default language
3468     -- SQL Join: po_line_id, po_header_id
3469     SELECT POH.created_language
3470     INTO l_default_lang
3471     FROM PO_HEADERS_ALL POH,
3472          PO_LINES_ALL POL
3473     WHERE POH.po_header_id = POL.po_header_id
3474       AND POL.po_line_id = p_po_line_id;
3475   ELSE
3476     l_progress := '030';
3477     l_default_lang := g_base_language;
3478   END IF;
3479 
3480   l_description := p_description;
3481 
3482   -- Bug 7039409: Get the tlp item attribute values.
3483   IF p_inventory_item_id IS NOT NULL THEN
3484     get_item_attributes_tlp_values(
3485       p_inventory_item_id,
3486       l_default_lang,
3487       l_long_description);
3488   END IF;
3489 
3490   l_progress := '050';
3491   -- SQL What: Insert default rows for Attribute values TLP.
3492   --           This SQL will insert multiple rows, one for each installed lang.
3493   -- SQL Why : To create a default Attr TLP row
3494   -- SQL Join: po_line_id
3495   INSERT INTO PO_ATTRIBUTE_VALUES_TLP (
3496     attribute_values_tlp_id,
3497     po_line_id,
3498     req_template_name,
3499     req_template_line_num,
3500     ip_category_id,
3501     inventory_item_id,
3502     org_id,
3503     language,
3504     description,
3505     manufacturer,
3506     long_description,
3507     -- WHO columns
3508     last_update_login,
3509     last_updated_by,
3510     last_update_date,
3511     created_by,
3512     creation_date,
3513     request_id,
3514     program_application_id,
3515     program_id,
3516     program_update_date,
3517     last_updated_program
3518    )
3519    SELECT
3520     PO_ATTRIBUTE_VALUES_TLP_S.nextval,
3521     NVL(p_po_line_id,-2),
3522     NVL(p_req_template_name,'-2'),
3523     NVL(p_req_template_line_num,-2),
3524     NVL(p_ip_category_id,-2),
3525     NVL(p_inventory_item_id,-2),
3526     NVL(p_org_id,-2),
3527     l_default_lang,
3528     l_description,
3529     p_manufacturer,
3530     l_long_description,
3531     -- WHO columns
3532     FND_GLOBAL.login_id,        -- last_update_login
3533     FND_GLOBAL.user_id,         -- last_updated_by
3534     sysdate,                    -- last_update_date
3535     FND_GLOBAL.user_id,         -- created_by
3536     sysdate,                    -- creation_date
3537     FND_GLOBAL.conc_request_id, -- request_id
3538     FND_GLOBAL.prog_appl_id,    -- program_application_id
3539     FND_GLOBAL.conc_program_id, -- program_id
3540     sysdate,                    -- program_update_date
3541     d_mod                       -- last_updated_program
3542    FROM DUAL
3543    WHERE NOT EXISTS
3544      (SELECT 'TLP row for this language already exists'
3545       FROM PO_ATTRIBUTE_VALUES_TLP TLP2
3546       WHERE TLP2.po_line_id = p_po_line_id
3547        AND TLP2.req_template_name = p_req_template_name
3548        AND TLP2.req_template_line_num = p_req_template_line_num
3549        AND TLP2.org_id = p_org_id
3550        AND TLP2.language = l_default_lang);
3551 
3552   l_progress := '060';
3553   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows inserted in TLP table='||SQL%rowcount); END IF;
3554 
3555   create_translations
3556   (
3557     p_doc_type              => p_doc_type,
3558     p_po_line_id            => p_po_line_id,
3559     p_req_template_name     => p_req_template_name,
3560     p_req_template_line_num => p_req_template_line_num,
3561     p_org_id                => p_org_id
3562   );
3563 
3564   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
3565 EXCEPTION
3566   WHEN OTHERS THEN
3567     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
3568     RAISE;
3569 END create_default_attr_tlp;
3570 
3571 --------------------------------------------------------------------------------
3572 --Start of Comments
3573 --Name: create_default_attributes
3574 --Pre-reqs:
3575 --  None
3576 --Modifies:
3577 --  FND_MSG_PUB on unhandled exceptions.
3578 --Locks:
3579 --  None.
3580 --Function:
3581 --  To insert a row for the Attribute Values and TLP by defaulting values
3582 --  from the line level.
3583 --
3584 --Parameters:
3585 --IN:
3586 --p_po_line_id
3587 --p_req_template_name
3588 --p_req_template_line_num
3589 --p_ip_category_id
3590 --p_inventory_item_id
3591 --p_org_id
3592 --  The default values of the Attr given by the calling program.
3593 --End of Comments
3594 --------------------------------------------------------------------------------
3595 PROCEDURE create_default_attributes
3596 (
3597   p_doc_type              IN VARCHAR2, -- 'BLANKET', 'QUOTATION', 'REQ_TEMPLATE'
3598   p_po_line_id            IN PO_LINES.po_line_id%TYPE,
3599   p_req_template_name     IN PO_REQEXPRESS_LINES_ALL.express_name%TYPE,
3600   p_req_template_line_num IN PO_REQEXPRESS_LINES_ALL.sequence_num%TYPE,
3601   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
3602   p_inventory_item_id     IN PO_LINES_ALL.item_id%TYPE,
3603   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
3604   p_description           IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE
3605 )
3606 IS
3607   d_mod CONSTANT VARCHAR2(100) := D_create_default_attributes;
3608   l_progress      VARCHAR2(4);
3609 
3610   l_type_lookup_code PO_HEADERS_ALL.type_lookup_code%TYPE;
3611   -- Bug 7039409: Declared new variables
3612   l_manufacturer_part_num PO_ATTRIBUTE_VALUES.manufacturer_part_num%TYPE;
3613   l_manufacturer          PO_ATTRIBUTE_VALUES_TLP.manufacturer%TYPE;
3614   l_lead_time             PO_ATTRIBUTE_VALUES.lead_time%TYPE;
3615 BEGIN
3616   l_progress := '010';
3617 
3618   IF PO_LOG.d_proc THEN
3619     PO_LOG.proc_begin(d_mod,'p_doc_type',p_doc_type);
3620     PO_LOG.proc_begin(d_mod,'p_po_line_id',p_po_line_id);
3621     PO_LOG.proc_begin(d_mod,'p_req_template_name',p_req_template_name);
3622     PO_LOG.proc_begin(d_mod,'p_req_template_line_num',p_req_template_line_num);
3623     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
3624     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
3625     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
3626     PO_LOG.proc_begin(d_mod,'p_description',p_description);
3627   END IF;
3628 
3629   l_progress := '020';
3630   IF (p_po_line_id IS NOT NULL) THEN
3631     IF (p_doc_type IS NULL) THEN
3632       l_progress := '030';
3633       -- SQL What: Get the document type for the PO line
3634       -- SQL Why : To check if it BLANKET or QUOTATION or not
3635       -- SQL Join: po_line_id
3636       SELECT POH.type_lookup_code
3637       INTO l_type_lookup_code
3638       FROM PO_HEADERS_ALL POH,
3639            PO_LINES_ALL POL
3640       WHERE POL.po_line_id = p_po_line_id
3641         AND POH.po_header_id = POL.po_header_id;
3642     ELSE
3643       l_type_lookup_code := p_doc_type;
3644     END IF;
3645 
3646     -- Do not create Attr/TLP if the doc type is not BLANKET or QUOTATION
3647     IF (l_type_lookup_code NOT IN ('BLANKET', 'QUOTATION')) THEN
3648       IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Returning without creating Attr/TLP. Doc type='||l_type_lookup_code); END IF;
3649       RETURN;
3650     END IF;
3651   END IF;
3652 
3653   -- Bug 7039409: Get the item attribute values.
3654   IF p_inventory_item_id IS NOT NULL THEN
3655     get_item_attributes_values(
3656       p_inventory_item_id,
3657       l_manufacturer_part_num,
3658       l_manufacturer,
3659       l_lead_time);
3660   END IF;
3661 
3662   l_progress := '040';
3663   -- SQL What: Insert a new row for Attribute values
3664   -- SQL Why : To create a default Attr row
3665   -- SQL Join: none
3666   INSERT INTO PO_ATTRIBUTE_VALUES (
3667     attribute_values_id,
3668     po_line_id,
3669     req_template_name,
3670     req_template_line_num,
3671     ip_category_id,
3672     inventory_item_id,
3673     org_id,
3674     manufacturer_part_num,
3675     lead_time,
3676     -- WHO columns
3677     last_update_login,
3678     last_updated_by,
3679     last_update_date,
3680     created_by,
3681     creation_date,
3682     request_id,
3683     program_application_id,
3684     program_id,
3685     program_update_date,
3686     last_updated_program
3687    )
3688    SELECT
3689     PO_ATTRIBUTE_VALUES_S.nextval,
3690     NVL(p_po_line_id,-2),
3691     NVL(p_req_template_name,'-2'),
3692     NVL(p_req_template_line_num,-2),
3693     NVL(p_ip_category_id,-2),
3694     NVL(p_inventory_item_id,-2),
3695     NVL(p_org_id,-2),
3696     l_manufacturer_part_num,
3697     l_lead_time,
3698     -- WHO columns
3699     FND_GLOBAL.login_id,        -- last_update_login
3700     FND_GLOBAL.user_id,         -- last_updated_by
3701     sysdate,                    -- last_update_date
3702     FND_GLOBAL.user_id,         -- created_by
3703     sysdate,                    -- creation_date
3704     FND_GLOBAL.conc_request_id, -- request_id
3705     FND_GLOBAL.prog_appl_id,    -- program_application_id
3706     FND_GLOBAL.conc_program_id, -- program_id
3707     sysdate,                    -- program_update_date
3708     d_mod                       -- last_updated_program
3709    FROM DUAL
3710    WHERE NOT EXISTS
3711      (SELECT 'Attribute row already exists'
3712       FROM PO_ATTRIBUTE_VALUES POATR
3713       WHERE POATR.po_line_id = p_po_line_id
3714        AND POATR.req_template_name = p_req_template_name
3715        AND POATR.req_template_line_num = p_req_template_line_num
3716        AND POATR.org_id = p_org_id);
3717 
3718   l_progress := '050';
3719   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows inserted in ATR table='||SQL%rowcount); END IF;
3720 
3721   create_default_attr_tlp
3722   (
3723     p_doc_type              => p_doc_type,
3724     p_po_line_id            => p_po_line_id,
3725     p_req_template_name     => p_req_template_name,
3726     p_req_template_line_num => p_req_template_line_num,
3727     p_ip_category_id        => p_ip_category_id,
3728     p_inventory_item_id     => p_inventory_item_id,
3729     p_org_id                => p_org_id,
3730     p_description           => p_description,
3731     p_manufacturer          => l_manufacturer -- Bug7039409: Added new param
3732   );
3733 
3734   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
3735 EXCEPTION
3736   WHEN OTHERS THEN
3737     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
3738     RAISE;
3739 END create_default_attributes;
3740 
3741 PROCEDURE create_default_attributes_MI
3742 (
3743   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
3744   p_inventory_item_id     IN PO_LINES_ALL.item_id%TYPE,
3745   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
3746   p_description           IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE,
3747   p_organization_id       IN NUMBER,
3748   p_master_organization_id IN NUMBER
3749 )
3750 IS
3751   d_mod CONSTANT VARCHAR2(100) := D_create_default_attributes_MI;
3752   l_progress      VARCHAR2(4);
3753   l_manufacturer_part_num   PO_ATTRIBUTE_VALUES.MANUFACTURER_PART_NUM%TYPE;
3754   l_proc_lead_time   PO_ATTRIBUTE_VALUES.LEAD_TIME%TYPE;
3755   l_type_lookup_code PO_HEADERS_ALL.type_lookup_code%TYPE;
3756 BEGIN
3757   l_progress := '010';
3758 
3759   IF PO_LOG.d_proc THEN
3760     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
3761     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
3762     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
3763     PO_LOG.proc_begin(d_mod,'p_description',p_description);
3764     PO_LOG.proc_begin(d_mod,'p_organization_id', p_organization_id);
3765     PO_LOG.proc_begin(d_mod,'p_master_organization_id',p_master_organization_id);
3766   END IF;
3767 
3768   l_progress := '020';
3769 
3770   -- list down the base descriptors in PO_ATTRIBUTE_VALUES
3771   -- LEAD_TIME     AVAILABILITY    UNSPSC    MANUFACTURER_PART_NUM
3772   -- PICTURE   THUMBNAIL_IMAGE   SUPPLIER_URL  MANUFACTURER_URL
3773   -- ATTACHMENT_URL
3774   BEGIN
3775 
3776   SELECT MFG_PART_NUM
3777   INTO l_manufacturer_part_num
3778   FROM(
3779        SELECT * FROM  MTL_MFG_PART_NUMBERS_ALL_V
3780        WHERE INVENTORY_ITEM_ID = p_inventory_item_id
3781        AND ORGANIZATION_ID = p_master_organization_id
3782        ORDER BY ROW_ID
3783       ) WHERE ROWNUM =1;
3784 
3785   EXCEPTION
3786   WHEN No_Data_Found THEN
3787     l_manufacturer_part_num:='';
3788   END;
3789 
3790 
3791 
3792   SELECT FULL_LEAD_TIME
3793   INTO l_proc_lead_time
3794   FROM mtl_system_items_b
3795   WHERE INVENTORY_ITEM_ID = p_inventory_item_id
3796   AND ORGANIZATION_ID = p_organization_id;
3797 
3798 
3799 
3800   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,' MANUFACTURER_PART_NUM='||l_manufacturer_part_num||' Lead_Time ='||l_proc_lead_time); END IF;
3801 
3802 
3803   l_progress := '030';
3804   -- SQL What: Insert a new row for Attribute values
3805   -- SQL Why : To create a default Attr row
3806   -- SQL Join: none
3807   INSERT INTO PO_ATTRIBUTE_VALUES (
3808     attribute_values_id,
3809     po_line_id,
3810     req_template_name,
3811     req_template_line_num,
3812     ip_category_id,
3813     inventory_item_id,
3814     org_id,
3815     MANUFACTURER_PART_NUM,
3816     LEAD_TIME,
3817     -- WHO columns
3818     last_update_login,
3819     last_updated_by,
3820     last_update_date,
3821     created_by,
3822     creation_date,
3823     request_id,
3824     program_application_id,
3825     program_id,
3826     program_update_date,
3827     last_updated_program
3828    )
3829    SELECT
3830     PO_ATTRIBUTE_VALUES_S.nextval,
3831     -2,
3832     '-2',
3833     -2,
3834     NVL(p_ip_category_id,-2),
3835     NVL(p_inventory_item_id,-2),
3836     NVL(p_org_id,-2),
3837     l_manufacturer_part_num,
3838     l_proc_lead_time,
3839     -- WHO columns
3840     FND_GLOBAL.login_id,        -- last_update_login
3841     FND_GLOBAL.user_id,         -- last_updated_by
3842     sysdate,                    -- last_update_date
3843     FND_GLOBAL.user_id,         -- created_by
3844     sysdate,                    -- creation_date
3845     FND_GLOBAL.conc_request_id, -- request_id
3846     FND_GLOBAL.prog_appl_id,    -- program_application_id
3847     FND_GLOBAL.conc_program_id, -- program_id
3848     sysdate,                    -- program_update_date
3849     d_mod                       -- last_updated_program
3850    FROM DUAL
3851    WHERE NOT EXISTS
3852      (SELECT 'Attribute row already exists'
3853       FROM PO_ATTRIBUTE_VALUES POATR
3854       WHERE POATR.inventory_item_id = p_inventory_item_id
3855         AND POATR.org_id = p_org_id
3856         AND POATR.po_line_id   = -2
3857         AND POATR.req_template_name = '-2'
3858         AND POATR.req_template_line_num = -2);
3859 
3860   l_progress := '040';
3861   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows inserted in ATR table='||SQL%rowcount); END IF;
3862 
3863   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
3864 EXCEPTION
3865   WHEN OTHERS THEN
3866     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
3867     RAISE;
3868 END create_default_attributes_MI;
3869 
3870 -- this is for master items
3871 
3872 PROCEDURE wipeout_category_attributes_MI
3873 (
3874   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
3875   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
3876   p_inventory_item_id     IN PO_ATTRIBUTE_VALUES_TLP.inventory_item_id%TYPE,
3877   p_language              IN PO_ATTRIBUTE_VALUES_TLP.language%TYPE,
3878   p_item_description      IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE
3879 )
3880 IS
3881   d_mod CONSTANT VARCHAR2(100) := D_wipeout_category_attributes||'_MI';
3882   l_progress      VARCHAR2(4);
3883 
3884 BEGIN
3885   l_progress := '010';
3886 
3887   IF PO_LOG.d_proc THEN
3888     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
3889     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
3890     PO_LOG.proc_begin(d_mod,'p_language',p_language);
3891     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
3892   END IF;
3893 
3894   l_progress := '020';
3895   -- SQL What: Wipeout category based attributes from AttributeValues table
3896   -- SQL Why : Because the category was changed
3897   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
3898   UPDATE PO_ATTRIBUTE_VALUES
3899   SET
3900     NUM_CAT_ATTRIBUTE1 = NULL,
3901     NUM_CAT_ATTRIBUTE2 = NULL,
3902     NUM_CAT_ATTRIBUTE3 = NULL,
3903     NUM_CAT_ATTRIBUTE4 = NULL,
3904     NUM_CAT_ATTRIBUTE5 = NULL,
3905     NUM_CAT_ATTRIBUTE6 = NULL,
3906     NUM_CAT_ATTRIBUTE7 = NULL,
3907     NUM_CAT_ATTRIBUTE8 = NULL,
3908     NUM_CAT_ATTRIBUTE9 = NULL,
3909     NUM_CAT_ATTRIBUTE10 = NULL,
3910     NUM_CAT_ATTRIBUTE11 = NULL,
3911     NUM_CAT_ATTRIBUTE12 = NULL,
3912     NUM_CAT_ATTRIBUTE13 = NULL,
3913     NUM_CAT_ATTRIBUTE14 = NULL,
3914     NUM_CAT_ATTRIBUTE15 = NULL,
3915     NUM_CAT_ATTRIBUTE16 = NULL,
3916     NUM_CAT_ATTRIBUTE17 = NULL,
3917     NUM_CAT_ATTRIBUTE18 = NULL,
3918     NUM_CAT_ATTRIBUTE19 = NULL,
3919     NUM_CAT_ATTRIBUTE20 = NULL,
3920     NUM_CAT_ATTRIBUTE21 = NULL,
3921     NUM_CAT_ATTRIBUTE22 = NULL,
3922     NUM_CAT_ATTRIBUTE23 = NULL,
3923     NUM_CAT_ATTRIBUTE24 = NULL,
3924     NUM_CAT_ATTRIBUTE25 = NULL,
3925     NUM_CAT_ATTRIBUTE26 = NULL,
3926     NUM_CAT_ATTRIBUTE27 = NULL,
3927     NUM_CAT_ATTRIBUTE28 = NULL,
3928     NUM_CAT_ATTRIBUTE29 = NULL,
3929     NUM_CAT_ATTRIBUTE30 = NULL,
3930     NUM_CAT_ATTRIBUTE31 = NULL,
3931     NUM_CAT_ATTRIBUTE32 = NULL,
3932     NUM_CAT_ATTRIBUTE33 = NULL,
3933     NUM_CAT_ATTRIBUTE34 = NULL,
3934     NUM_CAT_ATTRIBUTE35 = NULL,
3935     NUM_CAT_ATTRIBUTE36 = NULL,
3936     NUM_CAT_ATTRIBUTE37 = NULL,
3937     NUM_CAT_ATTRIBUTE38 = NULL,
3938     NUM_CAT_ATTRIBUTE39 = NULL,
3939     NUM_CAT_ATTRIBUTE40 = NULL,
3940     NUM_CAT_ATTRIBUTE41 = NULL,
3941     NUM_CAT_ATTRIBUTE42 = NULL,
3942     NUM_CAT_ATTRIBUTE43 = NULL,
3943     NUM_CAT_ATTRIBUTE44 = NULL,
3944     NUM_CAT_ATTRIBUTE45 = NULL,
3945     NUM_CAT_ATTRIBUTE46 = NULL,
3946     NUM_CAT_ATTRIBUTE47 = NULL,
3947     NUM_CAT_ATTRIBUTE48 = NULL,
3948     NUM_CAT_ATTRIBUTE49 = NULL,
3949     NUM_CAT_ATTRIBUTE50 = NULL,
3950     TEXT_CAT_ATTRIBUTE1 = NULL,
3951     TEXT_CAT_ATTRIBUTE2 = NULL,
3952     TEXT_CAT_ATTRIBUTE3 = NULL,
3953     TEXT_CAT_ATTRIBUTE4 = NULL,
3954     TEXT_CAT_ATTRIBUTE5 = NULL,
3955     TEXT_CAT_ATTRIBUTE6 = NULL,
3956     TEXT_CAT_ATTRIBUTE7 = NULL,
3957     TEXT_CAT_ATTRIBUTE8 = NULL,
3958     TEXT_CAT_ATTRIBUTE9 = NULL,
3959     TEXT_CAT_ATTRIBUTE10 = NULL,
3960     TEXT_CAT_ATTRIBUTE11 = NULL,
3961     TEXT_CAT_ATTRIBUTE12 = NULL,
3962     TEXT_CAT_ATTRIBUTE13 = NULL,
3963     TEXT_CAT_ATTRIBUTE14 = NULL,
3964     TEXT_CAT_ATTRIBUTE15 = NULL,
3965     TEXT_CAT_ATTRIBUTE16 = NULL,
3966     TEXT_CAT_ATTRIBUTE17 = NULL,
3967     TEXT_CAT_ATTRIBUTE18 = NULL,
3968     TEXT_CAT_ATTRIBUTE19 = NULL,
3969     TEXT_CAT_ATTRIBUTE20 = NULL,
3970     TEXT_CAT_ATTRIBUTE21 = NULL,
3971     TEXT_CAT_ATTRIBUTE22 = NULL,
3972     TEXT_CAT_ATTRIBUTE23 = NULL,
3973     TEXT_CAT_ATTRIBUTE24 = NULL,
3974     TEXT_CAT_ATTRIBUTE25 = NULL,
3975     TEXT_CAT_ATTRIBUTE26 = NULL,
3976     TEXT_CAT_ATTRIBUTE27 = NULL,
3977     TEXT_CAT_ATTRIBUTE28 = NULL,
3978     TEXT_CAT_ATTRIBUTE29 = NULL,
3979     TEXT_CAT_ATTRIBUTE30 = NULL,
3980     TEXT_CAT_ATTRIBUTE31 = NULL,
3981     TEXT_CAT_ATTRIBUTE32 = NULL,
3982     TEXT_CAT_ATTRIBUTE33 = NULL,
3983     TEXT_CAT_ATTRIBUTE34 = NULL,
3984     TEXT_CAT_ATTRIBUTE35 = NULL,
3985     TEXT_CAT_ATTRIBUTE36 = NULL,
3986     TEXT_CAT_ATTRIBUTE37 = NULL,
3987     TEXT_CAT_ATTRIBUTE38 = NULL,
3988     TEXT_CAT_ATTRIBUTE39 = NULL,
3989     TEXT_CAT_ATTRIBUTE40 = NULL,
3990     TEXT_CAT_ATTRIBUTE41 = NULL,
3991     TEXT_CAT_ATTRIBUTE42 = NULL,
3992     TEXT_CAT_ATTRIBUTE43 = NULL,
3993     TEXT_CAT_ATTRIBUTE44 = NULL,
3994     TEXT_CAT_ATTRIBUTE45 = NULL,
3995     TEXT_CAT_ATTRIBUTE46 = NULL,
3996     TEXT_CAT_ATTRIBUTE47 = NULL,
3997     TEXT_CAT_ATTRIBUTE48 = NULL,
3998     TEXT_CAT_ATTRIBUTE49 = NULL,
3999     TEXT_CAT_ATTRIBUTE50 = NULL,
4000     -- WHO columns
4001     LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4002     LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4003     LAST_UPDATE_DATE       = sysdate,
4004     CREATED_BY             = FND_GLOBAL.user_id,
4005     CREATION_DATE          = sysdate,
4006     REQUEST_ID             = FND_GLOBAL.conc_request_id,
4007     PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4008     PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4009     PROGRAM_UPDATE_DATE    = sysdate,
4010     LAST_UPDATED_PROGRAM   = d_mod
4011   WHERE po_line_id = -2
4012     AND req_template_name = '-2'
4013     AND req_template_line_num = -2
4014     AND inventory_item_id = p_inventory_item_id
4015     AND org_id = p_org_id;
4016 
4017   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows wiped out='||SQL%rowcount); END IF;
4018 
4019   l_progress := '030';
4020   -- SQL What: Wipeout category based attributes from TLP table for all Langs
4021   -- SQL Why : Because the category was changed
4022   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4023   UPDATE PO_ATTRIBUTE_VALUES_TLP
4024   SET
4025     TL_TEXT_CAT_ATTRIBUTE1 = NULL,
4026     TL_TEXT_CAT_ATTRIBUTE2 = NULL,
4027     TL_TEXT_CAT_ATTRIBUTE3 = NULL,
4028     TL_TEXT_CAT_ATTRIBUTE4 = NULL,
4029     TL_TEXT_CAT_ATTRIBUTE5 = NULL,
4030     TL_TEXT_CAT_ATTRIBUTE6 = NULL,
4031     TL_TEXT_CAT_ATTRIBUTE7 = NULL,
4032     TL_TEXT_CAT_ATTRIBUTE8 = NULL,
4033     TL_TEXT_CAT_ATTRIBUTE9 = NULL,
4034     TL_TEXT_CAT_ATTRIBUTE10 = NULL,
4035     TL_TEXT_CAT_ATTRIBUTE11 = NULL,
4036     TL_TEXT_CAT_ATTRIBUTE12 = NULL,
4037     TL_TEXT_CAT_ATTRIBUTE13 = NULL,
4038     TL_TEXT_CAT_ATTRIBUTE14 = NULL,
4039     TL_TEXT_CAT_ATTRIBUTE15 = NULL,
4040     TL_TEXT_CAT_ATTRIBUTE16 = NULL,
4041     TL_TEXT_CAT_ATTRIBUTE17 = NULL,
4042     TL_TEXT_CAT_ATTRIBUTE18 = NULL,
4043     TL_TEXT_CAT_ATTRIBUTE19 = NULL,
4044     TL_TEXT_CAT_ATTRIBUTE20 = NULL,
4045     TL_TEXT_CAT_ATTRIBUTE21 = NULL,
4046     TL_TEXT_CAT_ATTRIBUTE22 = NULL,
4047     TL_TEXT_CAT_ATTRIBUTE23 = NULL,
4048     TL_TEXT_CAT_ATTRIBUTE24 = NULL,
4049     TL_TEXT_CAT_ATTRIBUTE25 = NULL,
4050     TL_TEXT_CAT_ATTRIBUTE26 = NULL,
4051     TL_TEXT_CAT_ATTRIBUTE27 = NULL,
4052     TL_TEXT_CAT_ATTRIBUTE28 = NULL,
4053     TL_TEXT_CAT_ATTRIBUTE29 = NULL,
4054     TL_TEXT_CAT_ATTRIBUTE30 = NULL,
4055     TL_TEXT_CAT_ATTRIBUTE31 = NULL,
4056     TL_TEXT_CAT_ATTRIBUTE32 = NULL,
4057     TL_TEXT_CAT_ATTRIBUTE33 = NULL,
4058     TL_TEXT_CAT_ATTRIBUTE34 = NULL,
4059     TL_TEXT_CAT_ATTRIBUTE35 = NULL,
4060     TL_TEXT_CAT_ATTRIBUTE36 = NULL,
4061     TL_TEXT_CAT_ATTRIBUTE37 = NULL,
4062     TL_TEXT_CAT_ATTRIBUTE38 = NULL,
4063     TL_TEXT_CAT_ATTRIBUTE39 = NULL,
4064     TL_TEXT_CAT_ATTRIBUTE40 = NULL,
4065     TL_TEXT_CAT_ATTRIBUTE41 = NULL,
4066     TL_TEXT_CAT_ATTRIBUTE42 = NULL,
4067     TL_TEXT_CAT_ATTRIBUTE43 = NULL,
4068     TL_TEXT_CAT_ATTRIBUTE44 = NULL,
4069     TL_TEXT_CAT_ATTRIBUTE45 = NULL,
4070     TL_TEXT_CAT_ATTRIBUTE46 = NULL,
4071     TL_TEXT_CAT_ATTRIBUTE47 = NULL,
4072     TL_TEXT_CAT_ATTRIBUTE48 = NULL,
4073     TL_TEXT_CAT_ATTRIBUTE49 = NULL,
4074     TL_TEXT_CAT_ATTRIBUTE50 = NULL,
4075     -- WHO columns
4076     LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4077     LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4078     LAST_UPDATE_DATE       = sysdate,
4079     CREATED_BY             = FND_GLOBAL.user_id,
4080     CREATION_DATE          = sysdate,
4081     REQUEST_ID             = FND_GLOBAL.conc_request_id,
4082     PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4083     PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4084     PROGRAM_UPDATE_DATE    = sysdate,
4085     LAST_UPDATED_PROGRAM   = d_mod
4086   WHERE  po_line_id = -2
4087     AND req_template_name = '-2'
4088     AND req_template_line_num = -2
4089     AND inventory_item_id = p_inventory_item_id
4090     AND org_id = p_org_id;
4091 
4092 
4093   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows wiped out='||SQL%rowcount); END IF;
4094 
4095   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
4096 EXCEPTION
4097   WHEN OTHERS THEN
4098     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
4099     RAISE;
4100 END wipeout_category_attributes_MI;
4101 
4102 -- update attributes for master items
4103 PROCEDURE update_attributes_MI
4104 (
4105   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
4106   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
4107   p_inventory_item_id     IN PO_ATTRIBUTE_VALUES_TLP.inventory_item_id%TYPE,
4108   p_language              IN PO_ATTRIBUTE_VALUES_TLP.language%TYPE,
4109   p_item_description      IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE,
4110   p_long_description      IN PO_ATTRIBUTE_VALUES_TLP.long_description%TYPE,
4111   p_organization_id       IN NUMBER,
4112   p_master_organization_id IN NUMBER
4113 )
4114 IS
4115   d_mod CONSTANT VARCHAR2(100) := D_update_attributes||'_MI';
4116   l_progress      VARCHAR2(4);
4117 
4118   l_type_lookup_code PO_HEADERS_ALL.type_lookup_code%TYPE;
4119   l_orig_ip_category_id PO_LINES_ALL.ip_category_id%TYPE;
4120   l_orig_item_description PO_ATTRIBUTE_VALUES_TLP.description%TYPE;
4121   l_manufacturer_part_num   PO_ATTRIBUTE_VALUES.MANUFACTURER_PART_NUM%TYPE;
4122   l_orig_long_desc    PO_ATTRIBUTE_VALUES_TLP.long_description%TYPE;
4123   l_new_long_description        PO_ATTRIBUTE_VALUES_TLP.long_description%TYPE := nvl(p_long_description,'   ');
4124   l_manufacturer       PO_ATTRIBUTE_VALUES_TLP.MANUFACTURER%TYPE;
4125   l_proc_lead_time     PO_ATTRIBUTE_VALUES.LEAD_TIME%TYPE;
4126   l_orig_manufacturer   PO_ATTRIBUTE_VALUES_TLP.MANUFACTURER%TYPE;
4127   l_inventory_org_id PO_LINES_ALL.org_id%TYPE;
4128   l_rec_tlp_for_lang VARCHAR2(100);
4129 
4130 BEGIN
4131   l_progress := '010';
4132 
4133 
4134   IF PO_LOG.d_proc THEN
4135     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
4136     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
4137     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
4138     PO_LOG.proc_begin(d_mod,'p_language',p_language);
4139     PO_LOG.proc_begin(d_mod,'p_item_description',p_item_description);
4140     PO_LOG.proc_begin(d_mod,'p_long_description',p_long_description);
4141     PO_LOG.proc_begin(d_mod,'p_organization_id', p_organization_id);
4142     PO_LOG.proc_begin(d_mod,'p_master_organization_id',p_master_organization_id);
4143   END IF;
4144 
4145   l_progress := '020';
4146   -- SQL What: Check if ip_category_id has changed
4147   -- SQL Why : If ip_category_id has changed, then NULL out the category based
4148   --           attributes i.e. all attribute columns that have 'CAT' in the
4149   --           name.
4150   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4151  begin
4152 
4153   SELECT ip_category_id
4154   INTO l_orig_ip_category_id
4155   FROM PO_ATTRIBUTE_VALUES
4156   WHERE po_line_id = -2
4157     AND req_template_name = '-2'
4158     AND req_template_line_num = -2
4159     AND inventory_item_id = p_inventory_item_id
4160     AND org_id = p_org_id;
4161 
4162   EXCEPTION
4163       WHEN No_Data_Found THEN
4164         l_progress := '021';
4165         IF PO_LOG.d_stmt THEN
4166 	PO_LOG.stmt(d_mod,l_progress,'EXCEPTION calling create attributes p_inventory_item_id='||p_inventory_item_id||' p_org_id= '||p_org_id);
4167         END IF;
4168        create_default_attributes_MI
4169        (
4170         p_ip_category_id      =>   p_ip_category_id,
4171         p_inventory_item_id   =>  p_inventory_item_id,
4172         p_org_id              =>  p_org_id,
4173         p_description         =>   p_item_description,
4174         p_organization_id     =>   p_organization_id,
4175         p_master_organization_id => p_master_organization_id
4176       );
4177 
4178      END;
4179 
4180   l_progress := '050';
4181   -- If ip_category_id has changed, then NULL out the category based attributes
4182   -- i.e. all attribute columns that have 'CAT' in the name.
4183         -- the         PO_ATTRIBUTE_VALUES is foing to be updated there for
4184         -- query the latest saved attributes in mtl
4185       -- list down the base descriptors in PO_ATTRIBUTE_VALUES
4186       -- LEAD_TIME     AVAILABILITY    UNSPSC    MANUFACTURER_PART_NUM
4187       -- PICTURE   THUMBNAIL_IMAGE   SUPPLIER_URL  MANUFACTURER_URL
4188       -- ATTACHMENT_URL
4189       BEGIN
4190 
4191         SELECT MFG_PART_NUM, MANUFACTURER_NAME
4192         INTO l_manufacturer_part_num, l_manufacturer
4193         FROM(
4194         SELECT MFG_PART_NUM,MANUFACTURER_NAME
4195         FROM  MTL_MFG_PART_NUMBERS_ALL_V
4196         WHERE INVENTORY_ITEM_ID =p_inventory_item_id
4197         AND ORGANIZATION_ID = p_master_organization_id
4198         ORDER BY ROW_ID ) WHERE ROWNUM =1;
4199 
4200       EXCEPTION
4201       WHEN No_Data_Found THEN
4202         l_manufacturer_part_num:='';
4203         l_manufacturer := '';
4204       END;
4205 
4206         SELECT FULL_LEAD_TIME
4207         INTO l_proc_lead_time
4208         FROM mtl_system_items_b
4209         WHERE INVENTORY_ITEM_ID =p_inventory_item_id
4210         AND ORGANIZATION_ID = p_organization_id;
4211 
4212 
4213 
4214 
4215 
4216       IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,' MANUFACTURER_PART_NUM='||l_manufacturer_part_num||' LEAD_TIME= '||l_proc_lead_time); END IF;
4217    l_progress := '070';
4218 
4219 
4220 
4221   IF (p_ip_category_id <> l_orig_ip_category_id) THEN
4222     l_progress := '060';
4223     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'IPF_CATEGORY_ID has changed: p_ip_category_id='||p_ip_category_id||', l_orig_ip_category_id='||l_orig_ip_category_id); END IF;
4224 
4225     wipeout_category_attributes_MI
4226     (
4227       p_org_id                  => p_org_id,
4228       p_ip_category_id          => p_ip_category_id,
4229       p_inventory_item_id       => p_inventory_item_id,
4230       p_language                => p_language,
4231       p_item_description        => p_item_description
4232     );
4233 
4234   ELSE
4235       IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'IP_CATEGORY_ID has not changed.'); END IF;
4236   END IF;
4237 
4238   l_progress := '070';
4239 
4240     -- SQL What: Update Attribute values
4241     -- SQL Why : To keep in synch with the Line level values
4242     -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4243     UPDATE PO_ATTRIBUTE_VALUES
4244     SET ip_category_id = p_ip_category_id,
4245         MANUFACTURER_PART_NUM =  l_manufacturer_part_num,
4246 	LEAD_TIME	       = l_proc_lead_time,
4247         -- WHO columns
4248         LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4249         LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4250         LAST_UPDATE_DATE       = sysdate,
4251         CREATED_BY             = FND_GLOBAL.user_id,
4252         CREATION_DATE          = sysdate,
4253         REQUEST_ID             = FND_GLOBAL.conc_request_id,
4254         PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4255         PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4256         PROGRAM_UPDATE_DATE    = sysdate,
4257         LAST_UPDATED_PROGRAM   = d_mod
4258     WHERE po_line_id = -2
4259     AND req_template_name = '-2'
4260     AND req_template_line_num = -2
4261     AND inventory_item_id = p_inventory_item_id
4262     AND org_id = p_org_id;
4263 
4264 
4265     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows updated='||SQL%rowcount); END IF;
4266 
4267 
4268 
4269    l_progress := '085';
4270 
4271 
4272 /* Whenever translations are provided need to make sure inventory calls
4273       our api. In our update_attributes_mi we should insert records in
4274       to attributes tlp if record doesn't exist already.
4275 
4276 So check for this language if the record is present in tlp
4277 if not present than insert record for that lang
4278 if present update the record for that lang
4279 */
4280 
4281   l_rec_tlp_for_lang := '';
4282 
4283  BEGIN
4284    SELECT 'TLP row for this language already exists'
4285    INTO l_rec_tlp_for_lang
4286    FROM PO_ATTRIBUTE_VALUES_TLP TLP2
4287       WHERE TLP2.po_line_id = -2
4288        AND TLP2.req_template_name = '-2'
4289        AND TLP2.req_template_line_num = -2
4290        AND TLP2.org_id = p_org_id
4291        AND inventory_item_id= p_inventory_item_id
4292        AND TLP2.language = p_language;
4293  EXCEPTION
4294   WHEN No_Data_Found THEN
4295     l_rec_tlp_for_lang:='';
4296  END;
4297 
4298   IF (l_rec_tlp_for_lang IS NULL OR l_rec_tlp_for_lang = '' ) THEN
4299     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'no records hence insert into PO_ATTRIBUTE_VALUES_TLP ' ); END IF;
4300       l_progress := '090';
4301 
4302  INSERT INTO PO_ATTRIBUTE_VALUES_TLP TLP
4303     (
4304       attribute_values_tlp_id,
4305       description,
4306       language,
4307       po_line_id,
4308       req_template_name,
4309       req_template_line_num,
4310       ip_category_id,
4311       inventory_item_id,
4312       org_id,
4313       manufacturer,
4314       long_description,
4315       last_update_login,
4316       last_updated_by,
4317       last_update_date,
4318       created_by,
4319       creation_date,
4320       request_id,
4321       program_application_id,
4322       program_id,
4323       program_update_date,
4324       last_updated_program
4325     )
4326     SELECT
4327       PO_ATTRIBUTE_VALUES_TLP_S.nextval,
4328       p_item_description,
4329       p_language,
4330       -2,
4331       '-2',
4332       -2,
4333       p_ip_category_id,
4334       p_inventory_item_id,
4335       p_org_id,
4336       l_manufacturer,
4337       l_new_long_description,
4338       FND_GLOBAL.login_id,        -- last_update_login
4339       FND_GLOBAL.user_id,         -- last_updated_by
4340       sysdate,                    -- last_update_date
4341       FND_GLOBAL.user_id,         -- created_by
4342       sysdate,                    -- creation_date
4343       FND_GLOBAL.conc_request_id, -- request_id
4344       FND_GLOBAL.prog_appl_id,
4345       FND_GLOBAL.conc_program_id, -- program_id
4346       sysdate,                    -- program_update_date
4347       d_mod                       -- last_updated_program
4348     FROM dual;
4349 
4350   ELSE
4351        IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,' records present hence update PO_ATTRIBUTE_VALUES_TLP ' || l_rec_tlp_for_lang); END IF;
4352     l_progress := '095';
4353         SELECT description,Nvl(LONG_DESCRIPTION,''),Nvl(MANUFACTURER,'')
4354         INTO l_orig_item_description,l_orig_long_desc,l_orig_manufacturer
4355         FROM PO_ATTRIBUTE_VALUES_TLP
4356         WHERE po_line_id = -2
4357         AND req_template_name = '-2'
4358         AND req_template_line_num = -2
4359         AND inventory_item_id = p_inventory_item_id
4360         AND org_id = p_org_id
4361         AND language = p_language;
4362 
4363 
4364        IF ( (p_ip_category_id <> l_orig_ip_category_id) OR
4365               (p_item_description is null AND  l_orig_item_description is not null ) OR
4366               (p_item_description is not null AND (  l_orig_item_description is null OR   l_orig_item_description <>p_item_description)) OR
4367               ( l_new_long_description is null AND l_orig_long_desc is not null ) OR
4368               (l_new_long_description is not null AND ( l_orig_long_desc is null OR  l_orig_long_desc <> l_new_long_description)) OR
4369               (l_manufacturer is null AND l_orig_manufacturer is not null ) OR
4370               (l_manufacturer is not null AND ( l_orig_manufacturer is null OR  l_orig_manufacturer <> l_manufacturer))
4371            )THEN
4372     -- SQL What: Update Attribute TLP values
4373     -- SQL Why : To keep in synch with the Line level values
4374     -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id, language
4375 
4376 
4377 
4378 	  UPDATE PO_ATTRIBUTE_VALUES_TLP
4379 	    SET ip_category_id = p_ip_category_id,
4380 		description = p_item_description,
4381 		manufacturer =   l_manufacturer,
4382 		long_description =  l_new_long_description,
4383 		-- WHO columns
4384 		LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4385 		LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4386 		LAST_UPDATE_DATE       = sysdate,
4387 		CREATED_BY             = FND_GLOBAL.user_id,
4388 		CREATION_DATE          = sysdate,
4389 		REQUEST_ID             = FND_GLOBAL.conc_request_id,
4390 		PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4391 		PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4392 		PROGRAM_UPDATE_DATE    = sysdate,
4393 		LAST_UPDATED_PROGRAM   = d_mod
4394 	    WHERE po_line_id = -2
4395 	    AND req_template_name = '-2'
4396 	    AND req_template_line_num = -2
4397 	    AND inventory_item_id = p_inventory_item_id
4398 	    AND org_id = p_org_id
4399 	    AND language = p_language;
4400 
4401 	    IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows updated='||SQL%rowcount); END IF;
4402 	  END IF;
4403 
4404   END IF;
4405 
4406 
4407   l_progress := '100';
4408 
4409   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
4410 EXCEPTION
4411   WHEN OTHERS THEN
4412     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
4413     RAISE;
4414 END update_attributes_MI;
4415 
4416 
4417 
4418 --BUG 6599217:END
4419 
4420 --------------------------------------------------------------------------------
4421 --Start of Comments
4422 --Name: gen_draft_line_translations
4423 --Pre-reqs:
4424 --  A TLP row for the Header's created_launguage should already have
4425 --  been inserted for each line in the given PO Header.
4426 --Modifies:
4427 --  FND_MSG_PUB on unhandled exceptions.
4428 --Locks:
4429 --  None.
4430 --Function:
4431 --  Create Translations in the TLP table for each of the modified line
4432 --  present in the PO_LINES_DRAFT_ALL table for a given draft_id.
4433 --  (for a Blanket or Quotation).
4434 --  It creates translations from one of the 2 sources:
4435 --      a) INV Item Master (if item_id is not null)
4436 --      b) Copies the TLP row of the created language to all other langs
4437 --         (if item_id is null)
4438 --
4439 --Parameters:
4440 --IN:
4441 --p_draft_id
4442 --  The DRAFT_ID to get the modifed PO Lines for which translations need to
4443 --  be created.
4444 --p_doc-type
4445 --  The document type of the document.
4446 --End of Comments
4447 --------------------------------------------------------------------------------
4448 PROCEDURE gen_draft_line_translations
4449 (
4450   p_draft_id IN NUMBER
4451 , p_doc_type IN VARCHAR2
4452 )
4453 IS
4454   d_mod CONSTANT VARCHAR2(100) := D_gen_draft_line_translations;
4455   l_progress      VARCHAR2(4);
4456 
4457   l_language_codes  PO_TBL_NUMBER;
4458   l_tlp_row         PO_ATTRIBUTE_VALUES_TLP%rowtype;
4459   l_po_line_id_list PO_TBL_NUMBER;
4460   l_tlp_id_list     PO_TBL_NUMBER;
4461 BEGIN
4462   l_progress := '010';
4463 
4464   IF PO_LOG.d_proc THEN
4465     PO_LOG.proc_begin(d_mod,'p_draft_id',p_draft_id);
4466     PO_LOG.proc_begin(d_mod,'p_doc_type',p_doc_type);
4467   END IF;
4468 
4469   IF (p_doc_type IN ('BLANKET', 'QUOTATION')) THEN
4470 
4471     -- SQL What: Get the PO_LINE_ID's and TLP_ID's for the PO
4472     --           Fetch only the lines that are modified. Since the
4473     --           PO_LINES_DRAFT_ALL table would contain only the lines that are
4474     --           modified, we join to it to get the list of PO_LINE_ID's.
4475     -- SQL Why : To create the TLP translations for each line
4476     -- SQL Join: draft_id, po_header_id, po_line_id, language
4477     SELECT POLD.po_line_id, TLP.attribute_values_tlp_id
4478     BULK COLLECT INTO l_po_line_id_list, l_tlp_id_list
4479     FROM PO_LINES_DRAFT_ALL POLD,
4480          PO_ATTRIBUTE_VALUES_TLP TLP,
4481          PO_HEADERS_ALL POH
4482     WHERE POLD.draft_id = p_draft_id
4483       AND NVL(POLD.change_accepted_flag, 'Y') = 'Y'
4484       AND POLD.po_line_id = TLP.po_line_id
4485       AND POH.po_header_id = POLD.po_header_id
4486       AND TLP.language = POH.created_language;
4487 
4488     l_progress := '020';
4489     create_translations
4490     (
4491       p_doc_type                 => p_doc_type,
4492       p_default_lang_tlp_id_list => l_tlp_id_list,
4493       p_po_line_id_list          => l_po_line_id_list
4494     );
4495   ELSE
4496     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Invalid doc type='||p_doc_type||'. No translations created.'); END IF;
4497   END IF; -- IF (p_doc_type IN ('BLANKET', 'QUOTATION'))
4498 
4499   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
4500 EXCEPTION
4501   WHEN OTHERS THEN
4502     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
4503     RAISE;
4504 END gen_draft_line_translations;
4505 
4506 --------------------------------------------------------------------------------
4507 --Start of Comments
4508 --Name: wipeout_category_attributes
4509 --Pre-reqs:
4510 --  None
4511 --Modifies:
4512 --  FND_MSG_PUB on unhandled exceptions.
4513 --Locks:
4514 --  None.
4515 --Function:
4516 --  To set the vlaue of all the category based descriptors in the Attribute
4517 --  Values and TLP tables as NULL.
4518 --
4519 --Parameters:
4520 --IN:
4521 --p_po_line_id
4522 --p_req_template_name
4523 --p_req_template_line_num
4524 --p_org_id
4525 --  The default values of the Attr given by the calling program.
4526 --p_ip_category_id
4527 --p_inventory_item_id
4528 --p_item_description
4529 --  The fields that can be updated
4530 --End of Comments
4531 --------------------------------------------------------------------------------
4532 PROCEDURE wipeout_category_attributes
4533 (
4534   p_po_line_id            IN NUMBER
4535 , p_req_template_name     IN VARCHAR2
4536 , p_req_template_line_num IN NUMBER
4537 , p_org_id                IN NUMBER
4538 )
4539 IS
4540   d_mod CONSTANT VARCHAR2(100) := D_wipeout_category_attributes;
4541   l_progress      VARCHAR2(4);
4542 
4543 BEGIN
4544   l_progress := '010';
4545 
4546   IF PO_LOG.d_proc THEN
4547     PO_LOG.proc_begin(d_mod,'p_po_line_id',p_po_line_id);
4548     PO_LOG.proc_begin(d_mod,'p_req_template_name',p_req_template_name);
4549     PO_LOG.proc_begin(d_mod,'p_req_template_line_num',p_req_template_line_num);
4550     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
4551   END IF;
4552 
4553   l_progress := '020';
4554   -- SQL What: Wipeout category based attributes from AttributeValues table
4555   -- SQL Why : Because the category was changed
4556   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4557   UPDATE PO_ATTRIBUTE_VALUES
4558   SET
4559     NUM_CAT_ATTRIBUTE1 = NULL,
4560     NUM_CAT_ATTRIBUTE2 = NULL,
4561     NUM_CAT_ATTRIBUTE3 = NULL,
4562     NUM_CAT_ATTRIBUTE4 = NULL,
4563     NUM_CAT_ATTRIBUTE5 = NULL,
4564     NUM_CAT_ATTRIBUTE6 = NULL,
4565     NUM_CAT_ATTRIBUTE7 = NULL,
4566     NUM_CAT_ATTRIBUTE8 = NULL,
4567     NUM_CAT_ATTRIBUTE9 = NULL,
4568     NUM_CAT_ATTRIBUTE10 = NULL,
4569     NUM_CAT_ATTRIBUTE11 = NULL,
4570     NUM_CAT_ATTRIBUTE12 = NULL,
4571     NUM_CAT_ATTRIBUTE13 = NULL,
4572     NUM_CAT_ATTRIBUTE14 = NULL,
4573     NUM_CAT_ATTRIBUTE15 = NULL,
4574     NUM_CAT_ATTRIBUTE16 = NULL,
4575     NUM_CAT_ATTRIBUTE17 = NULL,
4576     NUM_CAT_ATTRIBUTE18 = NULL,
4577     NUM_CAT_ATTRIBUTE19 = NULL,
4578     NUM_CAT_ATTRIBUTE20 = NULL,
4579     NUM_CAT_ATTRIBUTE21 = NULL,
4580     NUM_CAT_ATTRIBUTE22 = NULL,
4581     NUM_CAT_ATTRIBUTE23 = NULL,
4582     NUM_CAT_ATTRIBUTE24 = NULL,
4583     NUM_CAT_ATTRIBUTE25 = NULL,
4584     NUM_CAT_ATTRIBUTE26 = NULL,
4585     NUM_CAT_ATTRIBUTE27 = NULL,
4586     NUM_CAT_ATTRIBUTE28 = NULL,
4587     NUM_CAT_ATTRIBUTE29 = NULL,
4588     NUM_CAT_ATTRIBUTE30 = NULL,
4589     NUM_CAT_ATTRIBUTE31 = NULL,
4590     NUM_CAT_ATTRIBUTE32 = NULL,
4591     NUM_CAT_ATTRIBUTE33 = NULL,
4592     NUM_CAT_ATTRIBUTE34 = NULL,
4593     NUM_CAT_ATTRIBUTE35 = NULL,
4594     NUM_CAT_ATTRIBUTE36 = NULL,
4595     NUM_CAT_ATTRIBUTE37 = NULL,
4596     NUM_CAT_ATTRIBUTE38 = NULL,
4597     NUM_CAT_ATTRIBUTE39 = NULL,
4598     NUM_CAT_ATTRIBUTE40 = NULL,
4599     NUM_CAT_ATTRIBUTE41 = NULL,
4600     NUM_CAT_ATTRIBUTE42 = NULL,
4601     NUM_CAT_ATTRIBUTE43 = NULL,
4602     NUM_CAT_ATTRIBUTE44 = NULL,
4603     NUM_CAT_ATTRIBUTE45 = NULL,
4604     NUM_CAT_ATTRIBUTE46 = NULL,
4605     NUM_CAT_ATTRIBUTE47 = NULL,
4606     NUM_CAT_ATTRIBUTE48 = NULL,
4607     NUM_CAT_ATTRIBUTE49 = NULL,
4608     NUM_CAT_ATTRIBUTE50 = NULL,
4609     TEXT_CAT_ATTRIBUTE1 = NULL,
4610     TEXT_CAT_ATTRIBUTE2 = NULL,
4611     TEXT_CAT_ATTRIBUTE3 = NULL,
4612     TEXT_CAT_ATTRIBUTE4 = NULL,
4613     TEXT_CAT_ATTRIBUTE5 = NULL,
4614     TEXT_CAT_ATTRIBUTE6 = NULL,
4615     TEXT_CAT_ATTRIBUTE7 = NULL,
4616     TEXT_CAT_ATTRIBUTE8 = NULL,
4617     TEXT_CAT_ATTRIBUTE9 = NULL,
4618     TEXT_CAT_ATTRIBUTE10 = NULL,
4619     TEXT_CAT_ATTRIBUTE11 = NULL,
4620     TEXT_CAT_ATTRIBUTE12 = NULL,
4621     TEXT_CAT_ATTRIBUTE13 = NULL,
4622     TEXT_CAT_ATTRIBUTE14 = NULL,
4623     TEXT_CAT_ATTRIBUTE15 = NULL,
4624     TEXT_CAT_ATTRIBUTE16 = NULL,
4625     TEXT_CAT_ATTRIBUTE17 = NULL,
4626     TEXT_CAT_ATTRIBUTE18 = NULL,
4627     TEXT_CAT_ATTRIBUTE19 = NULL,
4628     TEXT_CAT_ATTRIBUTE20 = NULL,
4629     TEXT_CAT_ATTRIBUTE21 = NULL,
4630     TEXT_CAT_ATTRIBUTE22 = NULL,
4631     TEXT_CAT_ATTRIBUTE23 = NULL,
4632     TEXT_CAT_ATTRIBUTE24 = NULL,
4633     TEXT_CAT_ATTRIBUTE25 = NULL,
4634     TEXT_CAT_ATTRIBUTE26 = NULL,
4635     TEXT_CAT_ATTRIBUTE27 = NULL,
4636     TEXT_CAT_ATTRIBUTE28 = NULL,
4637     TEXT_CAT_ATTRIBUTE29 = NULL,
4638     TEXT_CAT_ATTRIBUTE30 = NULL,
4639     TEXT_CAT_ATTRIBUTE31 = NULL,
4640     TEXT_CAT_ATTRIBUTE32 = NULL,
4641     TEXT_CAT_ATTRIBUTE33 = NULL,
4642     TEXT_CAT_ATTRIBUTE34 = NULL,
4643     TEXT_CAT_ATTRIBUTE35 = NULL,
4644     TEXT_CAT_ATTRIBUTE36 = NULL,
4645     TEXT_CAT_ATTRIBUTE37 = NULL,
4646     TEXT_CAT_ATTRIBUTE38 = NULL,
4647     TEXT_CAT_ATTRIBUTE39 = NULL,
4648     TEXT_CAT_ATTRIBUTE40 = NULL,
4649     TEXT_CAT_ATTRIBUTE41 = NULL,
4650     TEXT_CAT_ATTRIBUTE42 = NULL,
4651     TEXT_CAT_ATTRIBUTE43 = NULL,
4652     TEXT_CAT_ATTRIBUTE44 = NULL,
4653     TEXT_CAT_ATTRIBUTE45 = NULL,
4654     TEXT_CAT_ATTRIBUTE46 = NULL,
4655     TEXT_CAT_ATTRIBUTE47 = NULL,
4656     TEXT_CAT_ATTRIBUTE48 = NULL,
4657     TEXT_CAT_ATTRIBUTE49 = NULL,
4658     TEXT_CAT_ATTRIBUTE50 = NULL,
4659     -- WHO columns
4660     LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4661     LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4662     LAST_UPDATE_DATE       = sysdate,
4663     CREATED_BY             = FND_GLOBAL.user_id,
4664     CREATION_DATE          = sysdate,
4665     REQUEST_ID             = FND_GLOBAL.conc_request_id,
4666     PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4667     PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4668     PROGRAM_UPDATE_DATE    = sysdate,
4669     LAST_UPDATED_PROGRAM   = d_mod
4670   WHERE po_line_id = NVL(p_po_line_id, -2)
4671     AND req_template_name = NVL(p_req_template_name, '-2')
4672     AND req_template_line_num = NVL(p_req_template_line_num, -2)
4673     AND org_id = p_org_id;
4674 
4675   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows wiped out='||SQL%rowcount); END IF;
4676 
4677   l_progress := '030';
4678   -- SQL What: Wipeout category based attributes from TLP table for all Langs
4679   -- SQL Why : Because the category was changed
4680   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4681   UPDATE PO_ATTRIBUTE_VALUES_TLP
4682   SET
4683     TL_TEXT_CAT_ATTRIBUTE1 = NULL,
4684     TL_TEXT_CAT_ATTRIBUTE2 = NULL,
4685     TL_TEXT_CAT_ATTRIBUTE3 = NULL,
4686     TL_TEXT_CAT_ATTRIBUTE4 = NULL,
4687     TL_TEXT_CAT_ATTRIBUTE5 = NULL,
4688     TL_TEXT_CAT_ATTRIBUTE6 = NULL,
4689     TL_TEXT_CAT_ATTRIBUTE7 = NULL,
4690     TL_TEXT_CAT_ATTRIBUTE8 = NULL,
4691     TL_TEXT_CAT_ATTRIBUTE9 = NULL,
4692     TL_TEXT_CAT_ATTRIBUTE10 = NULL,
4693     TL_TEXT_CAT_ATTRIBUTE11 = NULL,
4694     TL_TEXT_CAT_ATTRIBUTE12 = NULL,
4695     TL_TEXT_CAT_ATTRIBUTE13 = NULL,
4696     TL_TEXT_CAT_ATTRIBUTE14 = NULL,
4697     TL_TEXT_CAT_ATTRIBUTE15 = NULL,
4698     TL_TEXT_CAT_ATTRIBUTE16 = NULL,
4699     TL_TEXT_CAT_ATTRIBUTE17 = NULL,
4700     TL_TEXT_CAT_ATTRIBUTE18 = NULL,
4701     TL_TEXT_CAT_ATTRIBUTE19 = NULL,
4702     TL_TEXT_CAT_ATTRIBUTE20 = NULL,
4703     TL_TEXT_CAT_ATTRIBUTE21 = NULL,
4704     TL_TEXT_CAT_ATTRIBUTE22 = NULL,
4705     TL_TEXT_CAT_ATTRIBUTE23 = NULL,
4706     TL_TEXT_CAT_ATTRIBUTE24 = NULL,
4707     TL_TEXT_CAT_ATTRIBUTE25 = NULL,
4708     TL_TEXT_CAT_ATTRIBUTE26 = NULL,
4709     TL_TEXT_CAT_ATTRIBUTE27 = NULL,
4710     TL_TEXT_CAT_ATTRIBUTE28 = NULL,
4711     TL_TEXT_CAT_ATTRIBUTE29 = NULL,
4712     TL_TEXT_CAT_ATTRIBUTE30 = NULL,
4713     TL_TEXT_CAT_ATTRIBUTE31 = NULL,
4714     TL_TEXT_CAT_ATTRIBUTE32 = NULL,
4715     TL_TEXT_CAT_ATTRIBUTE33 = NULL,
4716     TL_TEXT_CAT_ATTRIBUTE34 = NULL,
4717     TL_TEXT_CAT_ATTRIBUTE35 = NULL,
4718     TL_TEXT_CAT_ATTRIBUTE36 = NULL,
4719     TL_TEXT_CAT_ATTRIBUTE37 = NULL,
4720     TL_TEXT_CAT_ATTRIBUTE38 = NULL,
4721     TL_TEXT_CAT_ATTRIBUTE39 = NULL,
4722     TL_TEXT_CAT_ATTRIBUTE40 = NULL,
4723     TL_TEXT_CAT_ATTRIBUTE41 = NULL,
4724     TL_TEXT_CAT_ATTRIBUTE42 = NULL,
4725     TL_TEXT_CAT_ATTRIBUTE43 = NULL,
4726     TL_TEXT_CAT_ATTRIBUTE44 = NULL,
4727     TL_TEXT_CAT_ATTRIBUTE45 = NULL,
4728     TL_TEXT_CAT_ATTRIBUTE46 = NULL,
4729     TL_TEXT_CAT_ATTRIBUTE47 = NULL,
4730     TL_TEXT_CAT_ATTRIBUTE48 = NULL,
4731     TL_TEXT_CAT_ATTRIBUTE49 = NULL,
4732     TL_TEXT_CAT_ATTRIBUTE50 = NULL,
4733     -- WHO columns
4734     LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4735     LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4736     LAST_UPDATE_DATE       = sysdate,
4737     CREATED_BY             = FND_GLOBAL.user_id,
4738     CREATION_DATE          = sysdate,
4739     REQUEST_ID             = FND_GLOBAL.conc_request_id,
4740     PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4741     PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4742     PROGRAM_UPDATE_DATE    = sysdate,
4743     LAST_UPDATED_PROGRAM   = d_mod
4744   WHERE po_line_id = NVL(p_po_line_id, -2)
4745     AND req_template_name = NVL(p_req_template_name, '-2')
4746     AND req_template_line_num = NVL(p_req_template_line_num, -2)
4747     AND org_id = p_org_id;
4748 
4749   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows wiped out='||SQL%rowcount); END IF;
4750 
4751   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
4752 EXCEPTION
4753   WHEN OTHERS THEN
4754     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
4755     RAISE;
4756 END wipeout_category_attributes;
4757 
4758 
4759 --------------------------------------------------------------------------------
4760 --Start of Comments
4761 --Name: update_attributes
4762 --Pre-reqs:
4763 --  None
4764 --Modifies:
4765 --  FND_MSG_PUB on unhandled exceptions.
4766 --Locks:
4767 --  None.
4768 --Function:
4769 --  To update the Attribute Values and TLP, by using the updated fields
4770 --  at the Line Level.
4771 --  Only the category_id or item_description can change in a saved PO line.
4772 --
4773 --Parameters:
4774 --IN:
4775 --p_po_line_id
4776 --p_req_template_name
4777 --p_req_template_line_num
4778 --p_org_id
4779 --  The default values of the Attr given by the calling program.
4780 --p_ip_category_id
4781 --p_item_description
4782 --  The fields that can be updated
4783 --End of Comments
4784 --------------------------------------------------------------------------------
4785 PROCEDURE update_attributes
4786 (
4787   p_doc_type              IN VARCHAR2, -- 'BLANKET', 'QUOTATION', 'REQ_TEMPLATE'
4788   p_po_line_id            IN PO_LINES.po_line_id%TYPE,
4789   p_req_template_name     IN PO_REQEXPRESS_LINES_ALL.express_name%TYPE,
4790   p_req_template_line_num IN PO_REQEXPRESS_LINES_ALL.sequence_num%TYPE,
4791   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
4792   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
4793   p_language              IN PO_ATTRIBUTE_VALUES_TLP.language%TYPE,
4794   p_item_description      IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE
4795 )
4796 IS
4797   d_mod CONSTANT VARCHAR2(100) := D_update_attributes;
4798   l_progress      VARCHAR2(4);
4799 
4800   l_type_lookup_code PO_HEADERS_ALL.type_lookup_code%TYPE;
4801   l_orig_ip_category_id PO_LINES_ALL.ip_category_id%TYPE;
4802   l_orig_item_description PO_ATTRIBUTE_VALUES_TLP.description%TYPE;
4803   l_orig_long_description      PO_ATTRIBUTE_VALUES_TLP.long_description%TYPE;
4804   l_long_description      MTL_SYSTEM_ITEMS_TL.long_description%TYPE;
4805   l_lead_time               MTL_SYSTEM_ITEMS_B.full_lead_time%TYPE;
4806   l_orig_lead_time               PO_ATTRIBUTE_VALUES.lead_time%TYPE;
4807   l_inventory_item_id PO_ATTRIBUTE_VALUES_TLP.inventory_item_id%TYPE;
4808 BEGIN
4809   l_progress := '010';
4810 
4811   IF PO_LOG.d_proc THEN
4812     PO_LOG.proc_begin(d_mod,'p_po_line_id',p_po_line_id);
4813     PO_LOG.proc_begin(d_mod,'p_req_template_name',p_req_template_name);
4814     PO_LOG.proc_begin(d_mod,'p_req_template_line_num',p_req_template_line_num);
4815     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
4816     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
4817     PO_LOG.proc_begin(d_mod,'p_language',p_language);
4818     PO_LOG.proc_begin(d_mod,'p_item_description',p_item_description);
4819   END IF;
4820 
4821   l_progress := '020';
4822   IF (p_po_line_id IS NOT NULL) THEN
4823     IF (p_doc_type IS NULL) THEN
4824       l_progress := '030';
4825       -- SQL What: Get the document type for the PO line
4826       -- SQL Why : To check if it BLANKET or QUOTATION or not
4827       -- SQL Join: po_line_id
4828       SELECT POH.type_lookup_code
4829       INTO l_type_lookup_code
4830       FROM PO_HEADERS_ALL POH,
4831            PO_LINES_ALL POL
4832       WHERE POL.po_line_id = p_po_line_id
4833         AND POH.po_header_id = POL.po_header_id;
4834     ELSE
4835       l_type_lookup_code := p_doc_type;
4836     END IF;
4837 
4838     -- Do not create Attr/TLP if the doc type is not BLANKET or QUOTATION
4839     IF (l_type_lookup_code NOT IN ('BLANKET', 'QUOTATION')) THEN
4840       IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Returning without creating Attr/TLP. Doc type='||l_type_lookup_code); END IF;
4841       RETURN;
4842     END IF;
4843   END IF;
4844 
4845   l_progress := '040';
4846   -- SQL What: Check if ip_category_id has changed
4847   -- SQL Why : If ip_category_id has changed, then NULL out the category based
4848   --           attributes i.e. all attribute columns that have 'CAT' in the
4849   --           name.
4850   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4851   SELECT ip_category_id,inventory_item_id,lead_time
4852   INTO l_orig_ip_category_id,l_inventory_item_id,l_orig_lead_time
4853   FROM PO_ATTRIBUTE_VALUES
4854   WHERE po_line_id = NVL(p_po_line_id, -2)
4855     AND req_template_name = NVL(p_req_template_name, '-2')
4856     AND req_template_line_num = NVL(p_req_template_line_num, -2)
4857     AND org_id = p_org_id;
4858 
4859   l_progress := '050';
4860   -- If ip_category_id has changed, then NULL out the category based attributes
4861   -- i.e. all attribute columns that have 'CAT' in the name.
4862   IF (p_ip_category_id <> l_orig_ip_category_id) THEN
4863     l_progress := '060';
4864 
4865     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'IP_CATEGORY_ID has changed: p_ip_category_id='||p_ip_category_id||', l_orig_ip_category_id='||l_orig_ip_category_id); END IF;
4866 
4867     wipeout_category_attributes
4868     (
4869       p_po_line_id            => p_po_line_id
4870     , p_req_template_name     => p_req_template_name
4871     , p_req_template_line_num => p_req_template_line_num
4872     , p_org_id                => p_org_id
4873     );
4874 
4875     l_progress := '070';
4876     -- SQL What: Update Attribute values
4877     -- SQL Why : To keep in synch with the Line level values
4878     -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4879     UPDATE PO_ATTRIBUTE_VALUES
4880     SET ip_category_id = p_ip_category_id,
4881         -- WHO columns
4882         LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4883         LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4884         LAST_UPDATE_DATE       = sysdate,
4885         CREATED_BY             = FND_GLOBAL.user_id,
4886         CREATION_DATE          = sysdate,
4887         REQUEST_ID             = FND_GLOBAL.conc_request_id,
4888         PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4889         PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4890         PROGRAM_UPDATE_DATE    = sysdate,
4891         LAST_UPDATED_PROGRAM   = d_mod
4892     WHERE po_line_id = NVL(p_po_line_id, -2)
4893       AND req_template_name = NVL(p_req_template_name, '-2')
4894       AND req_template_line_num = NVL(p_req_template_line_num, -2)
4895       AND org_id = p_org_id;
4896 
4897     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows updated='||SQL%rowcount); END IF;
4898 
4899   ELSE
4900     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'IP_CATEGORY_ID has not changed.'); END IF;
4901   END IF;
4902 
4903   l_progress := '080';
4904 
4905   -- <Bug 7655719>
4906   -- Handle NO_DATA_FOUND exception, as for one time item there can be only one
4907   -- entry in PO_ATTRIBUTE_VALUES_TLP, corresponding to the base lang,
4908   -- if profile "POR: Load One-Time Items in All Languages" is set to No.
4909   BEGIN
4910     -- SQL What: Check if item_description has changed
4911     -- SQL Why : No need to update TLP row if item_description and
4912     --           ip_category_id have not changed.
4913     -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4914     SELECT description,long_description
4915     INTO l_orig_item_description,l_orig_long_description
4916     FROM PO_ATTRIBUTE_VALUES_TLP
4917     WHERE po_line_id = NVL(p_po_line_id, -2)
4918       AND req_template_name = NVL(p_req_template_name, '-2')
4919       AND req_template_line_num = NVL(p_req_template_line_num, -2)
4920       AND org_id = p_org_id
4921       AND language = p_language;
4922   EXCEPTION
4923     WHEN NO_DATA_FOUND THEN
4924       l_orig_item_description := NULL;
4925   END;
4926 
4927   IF (p_item_description = l_orig_item_description) THEN
4928     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'ITEM_DESCRIPTION has not changed.'); END IF;
4929   ELSE
4930     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'ITEM_DESCRIPTION has changed.'); END IF;
4931   END IF;
4932 
4933   l_progress := '090';
4934   IF ( (p_ip_category_id <> l_orig_ip_category_id) OR
4935        (p_item_description <> l_orig_item_description) ) THEN
4936     -- SQL What: Update Attribute TLP values
4937     -- SQL Why : To keep in synch with the Line level values
4938     -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id, language
4939     UPDATE PO_ATTRIBUTE_VALUES_TLP
4940     SET ip_category_id = p_ip_category_id,
4941         description = p_item_description,
4942         -- WHO columns
4943         LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4944         LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4945         LAST_UPDATE_DATE       = sysdate,
4946         CREATED_BY             = FND_GLOBAL.user_id,
4947         CREATION_DATE          = sysdate,
4948         REQUEST_ID             = FND_GLOBAL.conc_request_id,
4949         PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4950         PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4951         PROGRAM_UPDATE_DATE    = sysdate,
4952         LAST_UPDATED_PROGRAM   = d_mod
4953     WHERE po_line_id = NVL(p_po_line_id, -2)
4954       AND req_template_name = NVL(p_req_template_name, '-2')
4955       AND req_template_line_num = NVL(p_req_template_line_num, -2)
4956       AND org_id = p_org_id
4957       AND language = p_language;
4958 
4959     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows updated='||SQL%rowcount); END IF;
4960   END IF;
4961 
4962    l_progress := '100';
4963 
4964  	   -- <Bug 13249142>
4965  	   BEGIN
4966  	     -- SQL What: Gets the long_descripton from master items table
4967  	     -- SQL Why : Need to update long description value of Po_attribute_values
4968  	     --           if it does not match with master items long_description .
4969  	     -- SQL Join:
4970  	     SELECT long_description
4971  	         INTO   l_long_description
4972  	         FROM   mtl_system_items_tl
4973  	         WHERE  inventory_item_id = l_inventory_item_id
4974  	                 AND organization_id = p_org_id
4975  	                 AND language = p_language;
4976 
4977  	   EXCEPTION
4978  	     WHEN NO_DATA_FOUND THEN
4979  	       l_long_description := NULL;
4980  	   END;
4981 
4982  	   l_progress := '110';
4983  	   IF ((l_long_description <> l_orig_long_description) or(l_long_description is null and l_orig_long_description is not null)
4984  	           or (l_long_description is not null and l_orig_long_description is null)) THEN
4985 
4986  	     -- SQL What: Update Attribute TLP values
4987  	     -- SQL Why : To keep in synch with the Line level values
4988  	     -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id, language
4989  	     UPDATE PO_ATTRIBUTE_VALUES_TLP
4990  	     SET long_description = l_long_description,
4991  	         -- WHO columns
4992  	         LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4993  	         LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4994  	         LAST_UPDATE_DATE       = sysdate,
4995  	         REQUEST_ID             = FND_GLOBAL.conc_request_id,
4996  	         PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4997  	         PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4998  	         PROGRAM_UPDATE_DATE    = sysdate,
4999  	         LAST_UPDATED_PROGRAM   = d_mod
5000  	     WHERE po_line_id = NVL(p_po_line_id, -2)
5001  	       AND req_template_name = NVL(p_req_template_name, '-2')
5002  	       AND req_template_line_num = NVL(p_req_template_line_num, -2)
5003  	       AND org_id = p_org_id
5004  	       AND language = p_language;
5005 
5006  	     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows updated='||SQL%rowcount); END IF;
5007  	   ELSE
5008  	   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'long description has not changed.'); END IF;
5009  	   END IF;
5010 
5011  	   l_progress := '120';
5012  	    BEGIN
5013  	     -- SQL What: Gets the lead time from mtl_system_items_b table
5014  	     -- SQL Why : Need to update lead_time value of Po_attribute_values
5015  	     --           if it does not match withmtl_system_items_b lead_time.
5016  	     -- SQL Join:
5017  	     SELECT full_lead_time
5018  	         INTO   l_lead_time
5019  	         FROM   mtl_system_items_b
5020  	         WHERE  inventory_item_id = l_inventory_item_id
5021  	                 AND organization_id = p_org_id;
5022 
5023  	   EXCEPTION
5024  	     WHEN NO_DATA_FOUND THEN
5025  	       l_lead_time := NULL;
5026  	   END;
5027 
5028  	    l_progress := '130';
5029  	   -- If lead_time mismatched.
5030  	      IF ((l_orig_lead_time <> l_lead_time)or (l_orig_lead_time is not null and l_lead_time is null)
5031  	             or (l_orig_lead_time is null and l_lead_time is not null)) THEN
5032  	     l_progress := '060';-- SQL What: Update Attribute values
5033  	     -- SQL Why : To keep in synch with the Line level values
5034  	     -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
5035  	     UPDATE PO_ATTRIBUTE_VALUES
5036  	     SET lead_time = l_lead_time,
5037  	         -- WHO columns
5038  	         LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
5039  	         LAST_UPDATED_BY        = FND_GLOBAL.user_id,
5040  	         LAST_UPDATE_DATE       = sysdate,
5041  	         REQUEST_ID             = FND_GLOBAL.conc_request_id,
5042  	         PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
5043  	         PROGRAM_ID             = FND_GLOBAL.conc_program_id,
5044  	         PROGRAM_UPDATE_DATE    = sysdate,
5045  	         LAST_UPDATED_PROGRAM   = d_mod
5046  	     WHERE po_line_id = NVL(p_po_line_id, -2)
5047  	       AND req_template_name = NVL(p_req_template_name, '-2')
5048  	       AND req_template_line_num = NVL(p_req_template_line_num, -2)
5049  	       AND org_id = p_org_id;
5050 
5051  	     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows updated='||SQL%rowcount); END IF;
5052 
5053  	   ELSE
5054  	     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'lead time has not changed.'); END IF;
5055  	   END IF;
5056 
5057   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
5058 EXCEPTION
5059   WHEN OTHERS THEN
5060     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
5061     RAISE;
5062 END update_attributes;
5063 
5064 --------------------------------------------------------------------------------
5065 --Start of Comments
5066 --Name: copy_attributes
5067 --Pre-reqs:
5068 --  None
5069 --Modifies:
5070 --  None
5071 --Locks:
5072 --  None.
5073 --Function:
5074 --  To copy the Attribute Values and TLP rows from a given document to a new
5075 --  document.
5076 --
5077 --Parameters:
5078 --IN:
5079 --p_orig_po_line_id
5080 --  The PO_LINE_ID of the document from which the data has to be copied.
5081 --p_new_po_line_id
5082 --  The PO_LINE_ID of the new document.
5083 --OUT:
5084 -- None
5085 --End of Comments
5086 --------------------------------------------------------------------------------
5087 PROCEDURE copy_attributes
5088 (
5089   p_orig_po_line_id IN PO_LINES.po_line_id%TYPE
5090 , p_new_po_line_id  IN PO_LINES.po_line_id%TYPE
5091 )
5092 IS
5093   d_mod CONSTANT VARCHAR2(100) := D_copy_attributes;
5094   l_progress      VARCHAR2(4);
5095 
5096 BEGIN
5097   l_progress := '010';
5098 
5099   IF PO_LOG.d_proc THEN
5100     PO_LOG.proc_begin(d_mod,'p_orig_po_line_id',p_orig_po_line_id);
5101     PO_LOG.proc_begin(d_mod,'p_new_po_line_id',p_new_po_line_id);
5102   END IF;
5103 
5104 --Bug# 5520701: PICTURE column needed to be inserted.
5105 
5106   -- SQL What: Insert a new row for Attribute values
5107   -- SQL Why : To copy the Attr from old doc to new doc
5108   -- SQL Join: po_line_id
5109 
5110   INSERT INTO PO_ATTRIBUTE_VALUES (
5111     attribute_values_id,
5112     po_line_id,
5113     req_template_name,
5114     req_template_line_num,
5115     ip_category_id,
5116     inventory_item_id,
5117     org_id,
5118     manufacturer_part_num,
5119     picture,
5120     thumbnail_image,
5121     supplier_url,
5122     manufacturer_url,
5123     attachment_url,
5124     unspsc,
5125     availability,
5126     lead_time,
5127     text_base_attribute1,
5128     text_base_attribute2,
5129     text_base_attribute3,
5130     text_base_attribute4,
5131     text_base_attribute5,
5132     text_base_attribute6,
5133     text_base_attribute7,
5134     text_base_attribute8,
5135     text_base_attribute9,
5136     text_base_attribute10,
5137     text_base_attribute11,
5138     text_base_attribute12,
5139     text_base_attribute13,
5140     text_base_attribute14,
5141     text_base_attribute15,
5142     text_base_attribute16,
5143     text_base_attribute17,
5144     text_base_attribute18,
5145     text_base_attribute19,
5146     text_base_attribute20,
5147     text_base_attribute21,
5148     text_base_attribute22,
5149     text_base_attribute23,
5150     text_base_attribute24,
5151     text_base_attribute25,
5152     text_base_attribute26,
5153     text_base_attribute27,
5154     text_base_attribute28,
5155     text_base_attribute29,
5156     text_base_attribute30,
5157     text_base_attribute31,
5158     text_base_attribute32,
5159     text_base_attribute33,
5160     text_base_attribute34,
5161     text_base_attribute35,
5162     text_base_attribute36,
5163     text_base_attribute37,
5164     text_base_attribute38,
5165     text_base_attribute39,
5166     text_base_attribute40,
5167     text_base_attribute41,
5168     text_base_attribute42,
5169     text_base_attribute43,
5170     text_base_attribute44,
5171     text_base_attribute45,
5172     text_base_attribute46,
5173     text_base_attribute47,
5174     text_base_attribute48,
5175     text_base_attribute49,
5176     text_base_attribute50,
5177     text_base_attribute51,
5178     text_base_attribute52,
5179     text_base_attribute53,
5180     text_base_attribute54,
5181     text_base_attribute55,
5182     text_base_attribute56,
5183     text_base_attribute57,
5184     text_base_attribute58,
5185     text_base_attribute59,
5186     text_base_attribute60,
5187     text_base_attribute61,
5188     text_base_attribute62,
5189     text_base_attribute63,
5190     text_base_attribute64,
5191     text_base_attribute65,
5192     text_base_attribute66,
5193     text_base_attribute67,
5194     text_base_attribute68,
5195     text_base_attribute69,
5196     text_base_attribute70,
5197     text_base_attribute71,
5198     text_base_attribute72,
5199     text_base_attribute73,
5200     text_base_attribute74,
5201     text_base_attribute75,
5202     text_base_attribute76,
5203     text_base_attribute77,
5204     text_base_attribute78,
5205     text_base_attribute79,
5206     text_base_attribute80,
5207     text_base_attribute81,
5208     text_base_attribute82,
5209     text_base_attribute83,
5210     text_base_attribute84,
5211     text_base_attribute85,
5212     text_base_attribute86,
5213     text_base_attribute87,
5214     text_base_attribute88,
5215     text_base_attribute89,
5216     text_base_attribute90,
5217     text_base_attribute91,
5218     text_base_attribute92,
5219     text_base_attribute93,
5220     text_base_attribute94,
5221     text_base_attribute95,
5222     text_base_attribute96,
5223     text_base_attribute97,
5224     text_base_attribute98,
5225     text_base_attribute99,
5226     text_base_attribute100,
5227     num_base_attribute1,
5228     num_base_attribute2,
5229     num_base_attribute3,
5230     num_base_attribute4,
5231     num_base_attribute5,
5232     num_base_attribute6,
5233     num_base_attribute7,
5234     num_base_attribute8,
5235     num_base_attribute9,
5236     num_base_attribute10,
5237     num_base_attribute11,
5238     num_base_attribute12,
5239     num_base_attribute13,
5240     num_base_attribute14,
5241     num_base_attribute15,
5242     num_base_attribute16,
5243     num_base_attribute17,
5244     num_base_attribute18,
5245     num_base_attribute19,
5246     num_base_attribute20,
5247     num_base_attribute21,
5248     num_base_attribute22,
5249     num_base_attribute23,
5250     num_base_attribute24,
5251     num_base_attribute25,
5252     num_base_attribute26,
5253     num_base_attribute27,
5254     num_base_attribute28,
5255     num_base_attribute29,
5256     num_base_attribute30,
5257     num_base_attribute31,
5258     num_base_attribute32,
5259     num_base_attribute33,
5260     num_base_attribute34,
5261     num_base_attribute35,
5262     num_base_attribute36,
5263     num_base_attribute37,
5264     num_base_attribute38,
5265     num_base_attribute39,
5266     num_base_attribute40,
5267     num_base_attribute41,
5268     num_base_attribute42,
5269     num_base_attribute43,
5270     num_base_attribute44,
5271     num_base_attribute45,
5272     num_base_attribute46,
5273     num_base_attribute47,
5274     num_base_attribute48,
5275     num_base_attribute49,
5276     num_base_attribute50,
5277     num_base_attribute51,
5278     num_base_attribute52,
5279     num_base_attribute53,
5280     num_base_attribute54,
5281     num_base_attribute55,
5282     num_base_attribute56,
5283     num_base_attribute57,
5284     num_base_attribute58,
5285     num_base_attribute59,
5286     num_base_attribute60,
5287     num_base_attribute61,
5288     num_base_attribute62,
5289     num_base_attribute63,
5290     num_base_attribute64,
5291     num_base_attribute65,
5292     num_base_attribute66,
5293     num_base_attribute67,
5294     num_base_attribute68,
5295     num_base_attribute69,
5296     num_base_attribute70,
5297     num_base_attribute71,
5298     num_base_attribute72,
5299     num_base_attribute73,
5300     num_base_attribute74,
5301     num_base_attribute75,
5302     num_base_attribute76,
5303     num_base_attribute77,
5304     num_base_attribute78,
5305     num_base_attribute79,
5306     num_base_attribute80,
5307     num_base_attribute81,
5308     num_base_attribute82,
5309     num_base_attribute83,
5310     num_base_attribute84,
5311     num_base_attribute85,
5312     num_base_attribute86,
5313     num_base_attribute87,
5314     num_base_attribute88,
5315     num_base_attribute89,
5316     num_base_attribute90,
5317     num_base_attribute91,
5318     num_base_attribute92,
5319     num_base_attribute93,
5320     num_base_attribute94,
5321     num_base_attribute95,
5322     num_base_attribute96,
5323     num_base_attribute97,
5324     num_base_attribute98,
5325     num_base_attribute99,
5326     num_base_attribute100,
5327     text_cat_attribute1,
5328     text_cat_attribute2,
5329     text_cat_attribute3,
5330     text_cat_attribute4,
5331     text_cat_attribute5,
5332     text_cat_attribute6,
5333     text_cat_attribute7,
5334     text_cat_attribute8,
5335     text_cat_attribute9,
5336     text_cat_attribute10,
5337     text_cat_attribute11,
5338     text_cat_attribute12,
5339     text_cat_attribute13,
5340     text_cat_attribute14,
5341     text_cat_attribute15,
5342     text_cat_attribute16,
5343     text_cat_attribute17,
5344     text_cat_attribute18,
5345     text_cat_attribute19,
5346     text_cat_attribute20,
5347     text_cat_attribute21,
5348     text_cat_attribute22,
5349     text_cat_attribute23,
5350     text_cat_attribute24,
5351     text_cat_attribute25,
5352     text_cat_attribute26,
5353     text_cat_attribute27,
5354     text_cat_attribute28,
5355     text_cat_attribute29,
5356     text_cat_attribute30,
5357     text_cat_attribute31,
5358     text_cat_attribute32,
5359     text_cat_attribute33,
5360     text_cat_attribute34,
5361     text_cat_attribute35,
5362     text_cat_attribute36,
5363     text_cat_attribute37,
5364     text_cat_attribute38,
5365     text_cat_attribute39,
5366     text_cat_attribute40,
5367     text_cat_attribute41,
5368     text_cat_attribute42,
5369     text_cat_attribute43,
5370     text_cat_attribute44,
5371     text_cat_attribute45,
5372     text_cat_attribute46,
5373     text_cat_attribute47,
5374     text_cat_attribute48,
5375     text_cat_attribute49,
5376     text_cat_attribute50,
5377     num_cat_attribute1,
5378     num_cat_attribute2,
5379     num_cat_attribute3,
5380     num_cat_attribute4,
5381     num_cat_attribute5,
5382     num_cat_attribute6,
5383     num_cat_attribute7,
5384     num_cat_attribute8,
5385     num_cat_attribute9,
5386     num_cat_attribute10,
5387     num_cat_attribute11,
5388     num_cat_attribute12,
5389     num_cat_attribute13,
5390     num_cat_attribute14,
5391     num_cat_attribute15,
5392     num_cat_attribute16,
5393     num_cat_attribute17,
5394     num_cat_attribute18,
5395     num_cat_attribute19,
5396     num_cat_attribute20,
5397     num_cat_attribute21,
5398     num_cat_attribute22,
5399     num_cat_attribute23,
5400     num_cat_attribute24,
5401     num_cat_attribute25,
5402     num_cat_attribute26,
5403     num_cat_attribute27,
5404     num_cat_attribute28,
5405     num_cat_attribute29,
5406     num_cat_attribute30,
5407     num_cat_attribute31,
5408     num_cat_attribute32,
5409     num_cat_attribute33,
5410     num_cat_attribute34,
5411     num_cat_attribute35,
5412     num_cat_attribute36,
5413     num_cat_attribute37,
5414     num_cat_attribute38,
5415     num_cat_attribute39,
5416     num_cat_attribute40,
5417     num_cat_attribute41,
5418     num_cat_attribute42,
5419     num_cat_attribute43,
5420     num_cat_attribute44,
5421     num_cat_attribute45,
5422     num_cat_attribute46,
5423     num_cat_attribute47,
5424     num_cat_attribute48,
5425     num_cat_attribute49,
5426     num_cat_attribute50,
5427     last_update_login,
5428     last_updated_by,
5429     last_update_date,
5430     created_by,
5431     creation_date,
5432     request_id,
5433     program_application_id,
5434     program_id,
5435     program_update_date,
5436     last_updated_program
5437   )
5438   SELECT
5439     PO_ATTRIBUTE_VALUES_S.nextval,
5440     p_new_po_line_id,
5441     POATR.req_template_name,
5442     POATR.req_template_line_num,
5443     POATR.ip_category_id,
5444     POATR.inventory_item_id,
5445     POATR.org_id,
5446     POATR.manufacturer_part_num,
5447     POATR.picture,
5448     POATR.thumbnail_image,
5449     POATR.supplier_url,
5450     POATR.manufacturer_url,
5451     POATR.attachment_url,
5452     POATR.unspsc,
5453     POATR.availability,
5454     POATR.lead_time,
5455     POATR.text_base_attribute1,
5456     POATR.text_base_attribute2,
5457     POATR.text_base_attribute3,
5458     POATR.text_base_attribute4,
5459     POATR.text_base_attribute5,
5460     POATR.text_base_attribute6,
5461     POATR.text_base_attribute7,
5462     POATR.text_base_attribute8,
5463     POATR.text_base_attribute9,
5464     POATR.text_base_attribute10,
5465     POATR.text_base_attribute11,
5466     POATR.text_base_attribute12,
5467     POATR.text_base_attribute13,
5468     POATR.text_base_attribute14,
5469     POATR.text_base_attribute15,
5470     POATR.text_base_attribute16,
5471     POATR.text_base_attribute17,
5472     POATR.text_base_attribute18,
5473     POATR.text_base_attribute19,
5474     POATR.text_base_attribute20,
5475     POATR.text_base_attribute21,
5476     POATR.text_base_attribute22,
5477     POATR.text_base_attribute23,
5478     POATR.text_base_attribute24,
5479     POATR.text_base_attribute25,
5480     POATR.text_base_attribute26,
5481     POATR.text_base_attribute27,
5482     POATR.text_base_attribute28,
5483     POATR.text_base_attribute29,
5484     POATR.text_base_attribute30,
5485     POATR.text_base_attribute31,
5486     POATR.text_base_attribute32,
5487     POATR.text_base_attribute33,
5488     POATR.text_base_attribute34,
5489     POATR.text_base_attribute35,
5490     POATR.text_base_attribute36,
5491     POATR.text_base_attribute37,
5492     POATR.text_base_attribute38,
5493     POATR.text_base_attribute39,
5494     POATR.text_base_attribute40,
5495     POATR.text_base_attribute41,
5496     POATR.text_base_attribute42,
5497     POATR.text_base_attribute43,
5498     POATR.text_base_attribute44,
5499     POATR.text_base_attribute45,
5500     POATR.text_base_attribute46,
5501     POATR.text_base_attribute47,
5502     POATR.text_base_attribute48,
5503     POATR.text_base_attribute49,
5504     POATR.text_base_attribute50,
5505     POATR.text_base_attribute51,
5506     POATR.text_base_attribute52,
5507     POATR.text_base_attribute53,
5508     POATR.text_base_attribute54,
5509     POATR.text_base_attribute55,
5510     POATR.text_base_attribute56,
5511     POATR.text_base_attribute57,
5512     POATR.text_base_attribute58,
5513     POATR.text_base_attribute59,
5514     POATR.text_base_attribute60,
5515     POATR.text_base_attribute61,
5516     POATR.text_base_attribute62,
5517     POATR.text_base_attribute63,
5518     POATR.text_base_attribute64,
5519     POATR.text_base_attribute65,
5520     POATR.text_base_attribute66,
5521     POATR.text_base_attribute67,
5522     POATR.text_base_attribute68,
5523     POATR.text_base_attribute69,
5524     POATR.text_base_attribute70,
5525     POATR.text_base_attribute71,
5526     POATR.text_base_attribute72,
5527     POATR.text_base_attribute73,
5528     POATR.text_base_attribute74,
5529     POATR.text_base_attribute75,
5530     POATR.text_base_attribute76,
5531     POATR.text_base_attribute77,
5532     POATR.text_base_attribute78,
5533     POATR.text_base_attribute79,
5534     POATR.text_base_attribute80,
5535     POATR.text_base_attribute81,
5536     POATR.text_base_attribute82,
5537     POATR.text_base_attribute83,
5538     POATR.text_base_attribute84,
5539     POATR.text_base_attribute85,
5540     POATR.text_base_attribute86,
5541     POATR.text_base_attribute87,
5542     POATR.text_base_attribute88,
5543     POATR.text_base_attribute89,
5544     POATR.text_base_attribute90,
5545     POATR.text_base_attribute91,
5546     POATR.text_base_attribute92,
5547     POATR.text_base_attribute93,
5548     POATR.text_base_attribute94,
5549     POATR.text_base_attribute95,
5550     POATR.text_base_attribute96,
5551     POATR.text_base_attribute97,
5552     POATR.text_base_attribute98,
5553     POATR.text_base_attribute99,
5554     POATR.text_base_attribute100,
5555     POATR.num_base_attribute1,
5556     POATR.num_base_attribute2,
5557     POATR.num_base_attribute3,
5558     POATR.num_base_attribute4,
5559     POATR.num_base_attribute5,
5560     POATR.num_base_attribute6,
5561     POATR.num_base_attribute7,
5562     POATR.num_base_attribute8,
5563     POATR.num_base_attribute9,
5564     POATR.num_base_attribute10,
5565     POATR.num_base_attribute11,
5566     POATR.num_base_attribute12,
5567     POATR.num_base_attribute13,
5568     POATR.num_base_attribute14,
5569     POATR.num_base_attribute15,
5570     POATR.num_base_attribute16,
5571     POATR.num_base_attribute17,
5572     POATR.num_base_attribute18,
5573     POATR.num_base_attribute19,
5574     POATR.num_base_attribute20,
5575     POATR.num_base_attribute21,
5576     POATR.num_base_attribute22,
5577     POATR.num_base_attribute23,
5578     POATR.num_base_attribute24,
5579     POATR.num_base_attribute25,
5580     POATR.num_base_attribute26,
5581     POATR.num_base_attribute27,
5582     POATR.num_base_attribute28,
5583     POATR.num_base_attribute29,
5584     POATR.num_base_attribute30,
5585     POATR.num_base_attribute31,
5586     POATR.num_base_attribute32,
5587     POATR.num_base_attribute33,
5588     POATR.num_base_attribute34,
5589     POATR.num_base_attribute35,
5590     POATR.num_base_attribute36,
5591     POATR.num_base_attribute37,
5592     POATR.num_base_attribute38,
5593     POATR.num_base_attribute39,
5594     POATR.num_base_attribute40,
5595     POATR.num_base_attribute41,
5596     POATR.num_base_attribute42,
5597     POATR.num_base_attribute43,
5598     POATR.num_base_attribute44,
5599     POATR.num_base_attribute45,
5600     POATR.num_base_attribute46,
5601     POATR.num_base_attribute47,
5602     POATR.num_base_attribute48,
5603     POATR.num_base_attribute49,
5604     POATR.num_base_attribute50,
5605     POATR.num_base_attribute51,
5606     POATR.num_base_attribute52,
5607     POATR.num_base_attribute53,
5608     POATR.num_base_attribute54,
5609     POATR.num_base_attribute55,
5610     POATR.num_base_attribute56,
5611     POATR.num_base_attribute57,
5612     POATR.num_base_attribute58,
5613     POATR.num_base_attribute59,
5614     POATR.num_base_attribute60,
5615     POATR.num_base_attribute61,
5616     POATR.num_base_attribute62,
5617     POATR.num_base_attribute63,
5618     POATR.num_base_attribute64,
5619     POATR.num_base_attribute65,
5620     POATR.num_base_attribute66,
5621     POATR.num_base_attribute67,
5622     POATR.num_base_attribute68,
5623     POATR.num_base_attribute69,
5624     POATR.num_base_attribute70,
5625     POATR.num_base_attribute71,
5626     POATR.num_base_attribute72,
5627     POATR.num_base_attribute73,
5628     POATR.num_base_attribute74,
5629     POATR.num_base_attribute75,
5630     POATR.num_base_attribute76,
5631     POATR.num_base_attribute77,
5632     POATR.num_base_attribute78,
5633     POATR.num_base_attribute79,
5634     POATR.num_base_attribute80,
5635     POATR.num_base_attribute81,
5636     POATR.num_base_attribute82,
5637     POATR.num_base_attribute83,
5638     POATR.num_base_attribute84,
5639     POATR.num_base_attribute85,
5640     POATR.num_base_attribute86,
5641     POATR.num_base_attribute87,
5642     POATR.num_base_attribute88,
5643     POATR.num_base_attribute89,
5644     POATR.num_base_attribute90,
5645     POATR.num_base_attribute91,
5646     POATR.num_base_attribute92,
5647     POATR.num_base_attribute93,
5648     POATR.num_base_attribute94,
5649     POATR.num_base_attribute95,
5650     POATR.num_base_attribute96,
5651     POATR.num_base_attribute97,
5652     POATR.num_base_attribute98,
5653     POATR.num_base_attribute99,
5654     POATR.num_base_attribute100,
5655     POATR.text_cat_attribute1,
5656     POATR.text_cat_attribute2,
5657     POATR.text_cat_attribute3,
5658     POATR.text_cat_attribute4,
5659     POATR.text_cat_attribute5,
5660     POATR.text_cat_attribute6,
5661     POATR.text_cat_attribute7,
5662     POATR.text_cat_attribute8,
5663     POATR.text_cat_attribute9,
5664     POATR.text_cat_attribute10,
5665     POATR.text_cat_attribute11,
5666     POATR.text_cat_attribute12,
5667     POATR.text_cat_attribute13,
5668     POATR.text_cat_attribute14,
5669     POATR.text_cat_attribute15,
5670     POATR.text_cat_attribute16,
5671     POATR.text_cat_attribute17,
5672     POATR.text_cat_attribute18,
5673     POATR.text_cat_attribute19,
5674     POATR.text_cat_attribute20,
5675     POATR.text_cat_attribute21,
5676     POATR.text_cat_attribute22,
5677     POATR.text_cat_attribute23,
5678     POATR.text_cat_attribute24,
5679     POATR.text_cat_attribute25,
5680     POATR.text_cat_attribute26,
5681     POATR.text_cat_attribute27,
5682     POATR.text_cat_attribute28,
5683     POATR.text_cat_attribute29,
5684     POATR.text_cat_attribute30,
5685     POATR.text_cat_attribute31,
5686     POATR.text_cat_attribute32,
5687     POATR.text_cat_attribute33,
5688     POATR.text_cat_attribute34,
5689     POATR.text_cat_attribute35,
5690     POATR.text_cat_attribute36,
5691     POATR.text_cat_attribute37,
5692     POATR.text_cat_attribute38,
5693     POATR.text_cat_attribute39,
5694     POATR.text_cat_attribute40,
5695     POATR.text_cat_attribute41,
5696     POATR.text_cat_attribute42,
5697     POATR.text_cat_attribute43,
5698     POATR.text_cat_attribute44,
5699     POATR.text_cat_attribute45,
5700     POATR.text_cat_attribute46,
5701     POATR.text_cat_attribute47,
5702     POATR.text_cat_attribute48,
5703     POATR.text_cat_attribute49,
5704     POATR.text_cat_attribute50,
5705     POATR.num_cat_attribute1,
5706     POATR.num_cat_attribute2,
5707     POATR.num_cat_attribute3,
5708     POATR.num_cat_attribute4,
5709     POATR.num_cat_attribute5,
5710     POATR.num_cat_attribute6,
5711     POATR.num_cat_attribute7,
5712     POATR.num_cat_attribute8,
5713     POATR.num_cat_attribute9,
5714     POATR.num_cat_attribute10,
5715     POATR.num_cat_attribute11,
5716     POATR.num_cat_attribute12,
5717     POATR.num_cat_attribute13,
5718     POATR.num_cat_attribute14,
5719     POATR.num_cat_attribute15,
5720     POATR.num_cat_attribute16,
5721     POATR.num_cat_attribute17,
5722     POATR.num_cat_attribute18,
5723     POATR.num_cat_attribute19,
5724     POATR.num_cat_attribute20,
5725     POATR.num_cat_attribute21,
5726     POATR.num_cat_attribute22,
5727     POATR.num_cat_attribute23,
5728     POATR.num_cat_attribute24,
5729     POATR.num_cat_attribute25,
5730     POATR.num_cat_attribute26,
5731     POATR.num_cat_attribute27,
5732     POATR.num_cat_attribute28,
5733     POATR.num_cat_attribute29,
5734     POATR.num_cat_attribute30,
5735     POATR.num_cat_attribute31,
5736     POATR.num_cat_attribute32,
5737     POATR.num_cat_attribute33,
5738     POATR.num_cat_attribute34,
5739     POATR.num_cat_attribute35,
5740     POATR.num_cat_attribute36,
5741     POATR.num_cat_attribute37,
5742     POATR.num_cat_attribute38,
5743     POATR.num_cat_attribute39,
5744     POATR.num_cat_attribute40,
5745     POATR.num_cat_attribute41,
5746     POATR.num_cat_attribute42,
5747     POATR.num_cat_attribute43,
5748     POATR.num_cat_attribute44,
5749     POATR.num_cat_attribute45,
5750     POATR.num_cat_attribute46,
5751     POATR.num_cat_attribute47,
5752     POATR.num_cat_attribute48,
5753     POATR.num_cat_attribute49,
5754     POATR.num_cat_attribute50,
5755     FND_GLOBAL.login_id,        -- last_update_login
5756     FND_GLOBAL.user_id,         -- last_updated_by
5757     sysdate,                    -- last_update_date
5758     POATR.created_by,
5759     POATR.creation_date,
5760     FND_GLOBAL.conc_request_id, -- request_id
5761     POATR.program_application_id,
5762     POATR.program_id,
5763     POATR.program_update_date,
5764     d_mod                       -- last_updated_program
5765   FROM PO_ATTRIBUTE_VALUES POATR
5766   WHERE POATR.po_line_id = p_orig_po_line_id
5767     AND NOT EXISTS
5768         (SELECT /*+ push_subq no_unnest */ /* Hint for performance Bug 9392614 */
5769 	 'ATTR row already exists'
5770          FROM PO_ATTRIBUTE_VALUES ATR2
5771          WHERE ATR2.po_line_id = p_new_po_line_id
5772           AND ATR2.req_template_name = POATR.req_template_name
5773           AND ATR2.req_template_line_num = POATR.req_template_line_num
5774           AND ATR2.org_id = POATR.org_id);
5775 
5776   l_progress := '020';
5777   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows copied='||SQL%rowcount); END IF;
5778 
5779   -- SQL What: Insert new rows for Attribute  values TLP.
5780   --           This SQL will enter multiple rows, one for each installed lang.
5781   -- SQL Why : To copy the TLP from old doc to new doc
5782   -- SQL Join: po_line_id
5783   INSERT INTO PO_ATTRIBUTE_VALUES_TLP (
5784     attribute_values_tlp_id,
5785     po_line_id,
5786     req_template_name,
5787     req_template_line_num,
5788     ip_category_id,
5789     inventory_item_id,
5790     org_id,
5791     language,
5792     description,
5793     manufacturer,
5794     comments,
5795     alias,
5796     long_description,
5797     tl_text_base_attribute1,
5798     tl_text_base_attribute2,
5799     tl_text_base_attribute3,
5800     tl_text_base_attribute4,
5801     tl_text_base_attribute5,
5802     tl_text_base_attribute6,
5803     tl_text_base_attribute7,
5804     tl_text_base_attribute8,
5805     tl_text_base_attribute9,
5806     tl_text_base_attribute10,
5807     tl_text_base_attribute11,
5808     tl_text_base_attribute12,
5809     tl_text_base_attribute13,
5810     tl_text_base_attribute14,
5811     tl_text_base_attribute15,
5812     tl_text_base_attribute16,
5813     tl_text_base_attribute17,
5814     tl_text_base_attribute18,
5815     tl_text_base_attribute19,
5816     tl_text_base_attribute20,
5817     tl_text_base_attribute21,
5818     tl_text_base_attribute22,
5819     tl_text_base_attribute23,
5820     tl_text_base_attribute24,
5821     tl_text_base_attribute25,
5822     tl_text_base_attribute26,
5823     tl_text_base_attribute27,
5824     tl_text_base_attribute28,
5825     tl_text_base_attribute29,
5826     tl_text_base_attribute30,
5827     tl_text_base_attribute31,
5828     tl_text_base_attribute32,
5829     tl_text_base_attribute33,
5830     tl_text_base_attribute34,
5831     tl_text_base_attribute35,
5832     tl_text_base_attribute36,
5833     tl_text_base_attribute37,
5834     tl_text_base_attribute38,
5835     tl_text_base_attribute39,
5836     tl_text_base_attribute40,
5837     tl_text_base_attribute41,
5838     tl_text_base_attribute42,
5839     tl_text_base_attribute43,
5840     tl_text_base_attribute44,
5841     tl_text_base_attribute45,
5842     tl_text_base_attribute46,
5843     tl_text_base_attribute47,
5844     tl_text_base_attribute48,
5845     tl_text_base_attribute49,
5846     tl_text_base_attribute50,
5847     tl_text_base_attribute51,
5848     tl_text_base_attribute52,
5849     tl_text_base_attribute53,
5850     tl_text_base_attribute54,
5851     tl_text_base_attribute55,
5852     tl_text_base_attribute56,
5853     tl_text_base_attribute57,
5854     tl_text_base_attribute58,
5855     tl_text_base_attribute59,
5856     tl_text_base_attribute60,
5857     tl_text_base_attribute61,
5858     tl_text_base_attribute62,
5859     tl_text_base_attribute63,
5860     tl_text_base_attribute64,
5861     tl_text_base_attribute65,
5862     tl_text_base_attribute66,
5863     tl_text_base_attribute67,
5864     tl_text_base_attribute68,
5865     tl_text_base_attribute69,
5866     tl_text_base_attribute70,
5867     tl_text_base_attribute71,
5868     tl_text_base_attribute72,
5869     tl_text_base_attribute73,
5870     tl_text_base_attribute74,
5871     tl_text_base_attribute75,
5872     tl_text_base_attribute76,
5873     tl_text_base_attribute77,
5874     tl_text_base_attribute78,
5875     tl_text_base_attribute79,
5876     tl_text_base_attribute80,
5877     tl_text_base_attribute81,
5878     tl_text_base_attribute82,
5879     tl_text_base_attribute83,
5880     tl_text_base_attribute84,
5881     tl_text_base_attribute85,
5882     tl_text_base_attribute86,
5883     tl_text_base_attribute87,
5884     tl_text_base_attribute88,
5885     tl_text_base_attribute89,
5886     tl_text_base_attribute90,
5887     tl_text_base_attribute91,
5888     tl_text_base_attribute92,
5889     tl_text_base_attribute93,
5890     tl_text_base_attribute94,
5891     tl_text_base_attribute95,
5892     tl_text_base_attribute96,
5893     tl_text_base_attribute97,
5894     tl_text_base_attribute98,
5895     tl_text_base_attribute99,
5896     tl_text_base_attribute100,
5897     tl_text_cat_attribute1,
5898     tl_text_cat_attribute2,
5899     tl_text_cat_attribute3,
5900     tl_text_cat_attribute4,
5901     tl_text_cat_attribute5,
5902     tl_text_cat_attribute6,
5903     tl_text_cat_attribute7,
5904     tl_text_cat_attribute8,
5905     tl_text_cat_attribute9,
5906     tl_text_cat_attribute10,
5907     tl_text_cat_attribute11,
5908     tl_text_cat_attribute12,
5909     tl_text_cat_attribute13,
5910     tl_text_cat_attribute14,
5911     tl_text_cat_attribute15,
5912     tl_text_cat_attribute16,
5913     tl_text_cat_attribute17,
5914     tl_text_cat_attribute18,
5915     tl_text_cat_attribute19,
5916     tl_text_cat_attribute20,
5917     tl_text_cat_attribute21,
5918     tl_text_cat_attribute22,
5919     tl_text_cat_attribute23,
5920     tl_text_cat_attribute24,
5921     tl_text_cat_attribute25,
5922     tl_text_cat_attribute26,
5923     tl_text_cat_attribute27,
5924     tl_text_cat_attribute28,
5925     tl_text_cat_attribute29,
5926     tl_text_cat_attribute30,
5927     tl_text_cat_attribute31,
5928     tl_text_cat_attribute32,
5929     tl_text_cat_attribute33,
5930     tl_text_cat_attribute34,
5931     tl_text_cat_attribute35,
5932     tl_text_cat_attribute36,
5933     tl_text_cat_attribute37,
5934     tl_text_cat_attribute38,
5935     tl_text_cat_attribute39,
5936     tl_text_cat_attribute40,
5937     tl_text_cat_attribute41,
5938     tl_text_cat_attribute42,
5939     tl_text_cat_attribute43,
5940     tl_text_cat_attribute44,
5941     tl_text_cat_attribute45,
5942     tl_text_cat_attribute46,
5943     tl_text_cat_attribute47,
5944     tl_text_cat_attribute48,
5945     tl_text_cat_attribute49,
5946     tl_text_cat_attribute50,
5947     last_update_login,
5948     last_updated_by,
5949     last_update_date,
5950     created_by,
5951     creation_date,
5952     request_id,
5953     program_application_id,
5954     program_id,
5955     program_update_date,
5956     last_updated_program
5957    )
5958    SELECT
5959     PO_ATTRIBUTE_VALUES_TLP_S.nextval,
5960     p_new_po_line_id,
5961     POTLP.req_template_name,
5962     POTLP.req_template_line_num,
5963     POTLP.ip_category_id,
5964     POTLP.inventory_item_id,
5965     POTLP.org_id,
5966     POTLP.language,
5967     POTLP.description,
5968     POTLP.manufacturer,
5969     POTLP.comments,
5970     POTLP.alias,
5971     POTLP.long_description,
5972     POTLP.tl_text_base_attribute1,
5973     POTLP.tl_text_base_attribute2,
5974     POTLP.tl_text_base_attribute3,
5975     POTLP.tl_text_base_attribute4,
5976     POTLP.tl_text_base_attribute5,
5977     POTLP.tl_text_base_attribute6,
5978     POTLP.tl_text_base_attribute7,
5979     POTLP.tl_text_base_attribute8,
5980     POTLP.tl_text_base_attribute9,
5981     POTLP.tl_text_base_attribute10,
5982     POTLP.tl_text_base_attribute11,
5983     POTLP.tl_text_base_attribute12,
5984     POTLP.tl_text_base_attribute13,
5985     POTLP.tl_text_base_attribute14,
5986     POTLP.tl_text_base_attribute15,
5987     POTLP.tl_text_base_attribute16,
5988     POTLP.tl_text_base_attribute17,
5989     POTLP.tl_text_base_attribute18,
5990     POTLP.tl_text_base_attribute19,
5991     POTLP.tl_text_base_attribute20,
5992     POTLP.tl_text_base_attribute21,
5993     POTLP.tl_text_base_attribute22,
5994     POTLP.tl_text_base_attribute23,
5995     POTLP.tl_text_base_attribute24,
5996     POTLP.tl_text_base_attribute25,
5997     POTLP.tl_text_base_attribute26,
5998     POTLP.tl_text_base_attribute27,
5999     POTLP.tl_text_base_attribute28,
6000     POTLP.tl_text_base_attribute29,
6001     POTLP.tl_text_base_attribute30,
6002     POTLP.tl_text_base_attribute31,
6003     POTLP.tl_text_base_attribute32,
6004     POTLP.tl_text_base_attribute33,
6005     POTLP.tl_text_base_attribute34,
6006     POTLP.tl_text_base_attribute35,
6007     POTLP.tl_text_base_attribute36,
6008     POTLP.tl_text_base_attribute37,
6009     POTLP.tl_text_base_attribute38,
6010     POTLP.tl_text_base_attribute39,
6011     POTLP.tl_text_base_attribute40,
6012     POTLP.tl_text_base_attribute41,
6013     POTLP.tl_text_base_attribute42,
6014     POTLP.tl_text_base_attribute43,
6015     POTLP.tl_text_base_attribute44,
6016     POTLP.tl_text_base_attribute45,
6017     POTLP.tl_text_base_attribute46,
6018     POTLP.tl_text_base_attribute47,
6019     POTLP.tl_text_base_attribute48,
6020     POTLP.tl_text_base_attribute49,
6021     POTLP.tl_text_base_attribute50,
6022     POTLP.tl_text_base_attribute51,
6023     POTLP.tl_text_base_attribute52,
6024     POTLP.tl_text_base_attribute53,
6025     POTLP.tl_text_base_attribute54,
6026     POTLP.tl_text_base_attribute55,
6027     POTLP.tl_text_base_attribute56,
6028     POTLP.tl_text_base_attribute57,
6029     POTLP.tl_text_base_attribute58,
6030     POTLP.tl_text_base_attribute59,
6031     POTLP.tl_text_base_attribute60,
6032     POTLP.tl_text_base_attribute61,
6033     POTLP.tl_text_base_attribute62,
6034     POTLP.tl_text_base_attribute63,
6035     POTLP.tl_text_base_attribute64,
6036     POTLP.tl_text_base_attribute65,
6037     POTLP.tl_text_base_attribute66,
6038     POTLP.tl_text_base_attribute67,
6039     POTLP.tl_text_base_attribute68,
6040     POTLP.tl_text_base_attribute69,
6041     POTLP.tl_text_base_attribute70,
6042     POTLP.tl_text_base_attribute71,
6043     POTLP.tl_text_base_attribute72,
6044     POTLP.tl_text_base_attribute73,
6045     POTLP.tl_text_base_attribute74,
6046     POTLP.tl_text_base_attribute75,
6047     POTLP.tl_text_base_attribute76,
6048     POTLP.tl_text_base_attribute77,
6049     POTLP.tl_text_base_attribute78,
6050     POTLP.tl_text_base_attribute79,
6051     POTLP.tl_text_base_attribute80,
6052     POTLP.tl_text_base_attribute81,
6053     POTLP.tl_text_base_attribute82,
6054     POTLP.tl_text_base_attribute83,
6055     POTLP.tl_text_base_attribute84,
6056     POTLP.tl_text_base_attribute85,
6057     POTLP.tl_text_base_attribute86,
6058     POTLP.tl_text_base_attribute87,
6059     POTLP.tl_text_base_attribute88,
6060     POTLP.tl_text_base_attribute89,
6061     POTLP.tl_text_base_attribute90,
6062     POTLP.tl_text_base_attribute91,
6063     POTLP.tl_text_base_attribute92,
6064     POTLP.tl_text_base_attribute93,
6065     POTLP.tl_text_base_attribute94,
6066     POTLP.tl_text_base_attribute95,
6067     POTLP.tl_text_base_attribute96,
6068     POTLP.tl_text_base_attribute97,
6069     POTLP.tl_text_base_attribute98,
6070     POTLP.tl_text_base_attribute99,
6071     POTLP.tl_text_base_attribute100,
6072     POTLP.tl_text_cat_attribute1,
6073     POTLP.tl_text_cat_attribute2,
6074     POTLP.tl_text_cat_attribute3,
6075     POTLP.tl_text_cat_attribute4,
6076     POTLP.tl_text_cat_attribute5,
6077     POTLP.tl_text_cat_attribute6,
6078     POTLP.tl_text_cat_attribute7,
6079     POTLP.tl_text_cat_attribute8,
6080     POTLP.tl_text_cat_attribute9,
6081     POTLP.tl_text_cat_attribute10,
6082     POTLP.tl_text_cat_attribute11,
6083     POTLP.tl_text_cat_attribute12,
6084     POTLP.tl_text_cat_attribute13,
6085     POTLP.tl_text_cat_attribute14,
6086     POTLP.tl_text_cat_attribute15,
6087     POTLP.tl_text_cat_attribute16,
6088     POTLP.tl_text_cat_attribute17,
6089     POTLP.tl_text_cat_attribute18,
6090     POTLP.tl_text_cat_attribute19,
6091     POTLP.tl_text_cat_attribute20,
6092     POTLP.tl_text_cat_attribute21,
6093     POTLP.tl_text_cat_attribute22,
6094     POTLP.tl_text_cat_attribute23,
6095     POTLP.tl_text_cat_attribute24,
6096     POTLP.tl_text_cat_attribute25,
6097     POTLP.tl_text_cat_attribute26,
6098     POTLP.tl_text_cat_attribute27,
6099     POTLP.tl_text_cat_attribute28,
6100     POTLP.tl_text_cat_attribute29,
6101     POTLP.tl_text_cat_attribute30,
6102     POTLP.tl_text_cat_attribute31,
6103     POTLP.tl_text_cat_attribute32,
6104     POTLP.tl_text_cat_attribute33,
6105     POTLP.tl_text_cat_attribute34,
6106     POTLP.tl_text_cat_attribute35,
6107     POTLP.tl_text_cat_attribute36,
6108     POTLP.tl_text_cat_attribute37,
6109     POTLP.tl_text_cat_attribute38,
6110     POTLP.tl_text_cat_attribute39,
6111     POTLP.tl_text_cat_attribute40,
6112     POTLP.tl_text_cat_attribute41,
6113     POTLP.tl_text_cat_attribute42,
6114     POTLP.tl_text_cat_attribute43,
6115     POTLP.tl_text_cat_attribute44,
6116     POTLP.tl_text_cat_attribute45,
6117     POTLP.tl_text_cat_attribute46,
6118     POTLP.tl_text_cat_attribute47,
6119     POTLP.tl_text_cat_attribute48,
6120     POTLP.tl_text_cat_attribute49,
6121     POTLP.tl_text_cat_attribute50,
6122     FND_GLOBAL.login_id,        -- last_update_login
6123     FND_GLOBAL.user_id,         -- last_updated_by
6124     sysdate,                    -- last_update_date
6125     POTLP.created_by,
6126     POTLP.creation_date,
6127     FND_GLOBAL.conc_request_id, -- request_id
6128     POTLP.program_application_id,
6129     POTLP.program_id,
6130     POTLP.program_update_date,
6131     d_mod                       -- last_updated_program
6132   FROM PO_ATTRIBUTE_VALUES_TLP POTLP
6133   WHERE POTLP.po_line_id = p_orig_po_line_id
6134     AND NOT EXISTS
6135         (SELECT /*+ push_subq no_unnest */ /* Hint for performance Bug 9392614 */
6136 	'TLP row for this language already exists'
6137          FROM PO_ATTRIBUTE_VALUES_TLP TLP2
6138          WHERE TLP2.po_line_id = p_new_po_line_id
6139           AND TLP2.req_template_name = POTLP.req_template_name
6140           AND TLP2.req_template_line_num = POTLP.req_template_line_num
6141           AND TLP2.org_id = POTLP.org_id
6142           AND TLP2.language = POTLP.language);
6143 
6144   l_progress := '030';
6145   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows copied='||SQL%rowcount); END IF;
6146 
6147   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6148 EXCEPTION
6149   WHEN OTHERS THEN
6150     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
6151     RAISE;
6152 END copy_attributes;
6153 
6154 --------------------------------------------------------------------------------
6155 --Start of Comments
6156 --Name: get_ip_category_id
6157 --Pre-reqs:
6158 --  None
6159 --Modifies:
6160 --  None
6161 --Locks:
6162 --  None.
6163 --Function:
6164 --  To get the IP_CATEGORY_IF from PO's category_id using the iProc view
6165 --  ICX_CAT_PURCHASING_CAT_MAP_V.
6166 --
6167 --Parameters:
6168 --IN:
6169 --p_po_category_id
6170 --  PO's category ID
6171 --OUT:
6172 --x_ip_category_id
6173 --  The derived ip_category_is as OUT parameter
6174 --End of Comments
6175 --------------------------------------------------------------------------------
6176 PROCEDURE get_ip_category_id
6177 (
6178   p_po_category_id IN NUMBER
6179 , x_ip_category_id OUT NOCOPY NUMBER
6180 )
6181 IS
6182   d_mod CONSTANT VARCHAR2(100) := D_get_ip_category_id;
6183   l_progress      VARCHAR2(4);
6184 
6185 BEGIN
6186   l_progress := '010';
6187 
6188   IF PO_LOG.d_proc THEN
6189     PO_LOG.proc_begin(d_mod,'p_po_category_id',p_po_category_id);
6190   END IF;
6191 
6192   -- SQL What: Default the IP_CATEGORY_ID
6193   -- SQL Why : To insert the correct default value of IP_CATEGORY ID
6194   -- SQL Join: PO_CATEGORY_ID
6195   SELECT NVL(shopping_category_id, -2)
6196   INTO x_ip_category_id
6197   FROM ICX_CAT_PURCHASING_CAT_MAP_V
6198   WHERE po_category_id = p_po_category_id;
6199 
6200   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'x_ip_category_id='||x_ip_category_id); END IF;
6201 
6202   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6203 EXCEPTION
6204   WHEN NO_DATA_FOUND THEN
6205     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'NO_DATA_FOUND exception: Ignoring and setting ip_category_id=-2'); END IF;
6206     x_ip_category_id := -2;
6207   WHEN TOO_MANY_ROWS THEN
6208     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'TOO_MANY_ROWS exception'); END IF;
6209     x_ip_category_id := -2; -- TODO: This is a temp fix. Resolve with iProc why this exceptions?
6210   WHEN OTHERS THEN
6211     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
6212     RAISE;
6213 END get_ip_category_id;
6214 
6215 --------------------------------------------------------------------------------
6216 --Start of Comments
6217 --Name: delete_attributes
6218 --Pre-reqs:
6219 --  None
6220 --Modifies:
6221 --  None
6222 --Locks:
6223 --  None.
6224 --Function:
6225 --  To delete the Attribute Values and TLP rows for a given Blanket PO Line,
6226 --  Quotation Line or ReqTemplate Line
6227 --
6228 --Parameters:
6229 --IN:
6230 --p_po_line_id
6231 --p_req_template_name
6232 --p_req_template_line_num
6233 --p_org_id
6234 --  The unique key to identify the Attr/TLP rows(s) to be delted.
6235 --OUT:
6236 -- None
6237 --End of Comments
6238 --------------------------------------------------------------------------------
6239 PROCEDURE delete_attributes
6240 (
6241   p_doc_type              IN VARCHAR2, -- 'BLANKET', 'QUOTATION', 'REQ_TEMPLATE'
6242   p_po_line_id            IN PO_LINES.po_line_id%TYPE DEFAULT NULL,
6243   p_req_template_name     IN PO_REQEXPRESS_LINES_ALL.express_name%TYPE DEFAULT NULL,
6244   p_req_template_line_num IN PO_REQEXPRESS_LINES_ALL.sequence_num%TYPE DEFAULT NULL,
6245   p_org_id                IN PO_LINES_ALL.org_id%TYPE DEFAULT NULL
6246 )
6247 IS
6248   d_mod CONSTANT VARCHAR2(100) := D_delete_attributes;
6249   l_progress      VARCHAR2(4);
6250 
6251 BEGIN
6252   l_progress := '010';
6253 
6254   IF PO_LOG.d_proc THEN
6255     PO_LOG.proc_begin(d_mod,'p_doc_type',p_doc_type);
6256     PO_LOG.proc_begin(d_mod,'p_po_line_id',p_po_line_id);
6257     PO_LOG.proc_begin(d_mod,'p_req_template_name',p_req_template_name);
6258     PO_LOG.proc_begin(d_mod,'p_req_template_line_num',p_req_template_line_num);
6259     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
6260   END IF;
6261 
6262   -- SQL What: Delete Attribute Values
6263   -- SQL Why : as required by this procedure
6264   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
6265   DELETE FROM PO_ATTRIBUTE_VALUES
6266   WHERE po_line_id = NVL(p_po_line_id, -2)
6267     AND req_template_name = NVL(p_req_template_name, '-2')
6268     AND req_template_line_num = NVL(p_req_template_line_num, -2)
6269     AND org_id = NVL(p_org_id, PO_MOAC_UTILS_PVT.get_current_org_id);
6270 
6271   l_progress := '020';
6272   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows deleted='||SQL%rowcount); END IF;
6273 
6274   -- SQL What: Delete Attribute Values TLP
6275   -- SQL Why : as required by this procedure
6276   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
6277   DELETE FROM PO_ATTRIBUTE_VALUES_TLP
6278   WHERE po_line_id = NVL(p_po_line_id, -2)
6279     AND req_template_name = NVL(p_req_template_name, '-2')
6280     AND req_template_line_num = NVL(p_req_template_line_num, -2)
6281     AND org_id = NVL(p_org_id, PO_MOAC_UTILS_PVT.get_current_org_id);
6282 
6283   l_progress := '030';
6284   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows deleted='||SQL%rowcount); END IF;
6285 
6286   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6287 EXCEPTION
6288   WHEN OTHERS THEN
6289     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
6290     RAISE;
6291 END delete_attributes;
6292 
6293 --------------------------------------------------------------------------------
6294 --Start of Comments
6295 --Name: delete_attributes_for_header
6296 --Pre-reqs:
6297 --  None
6298 --Modifies:
6299 --  None
6300 --Locks:
6301 --  None.
6302 --Function:
6303 --  To delete the Attribute Values and TLP rows for all lines in a given Header.
6304 --
6305 --Parameters:
6306 --IN:
6307 --p_doc_type
6308 --  The document type of the header. This can only be BLANKET or QUOTATION
6309 --p_po_Header_id
6310 --  The PO header for which the attribute and TLP rows need to be deleted.
6311 --OUT:
6312 -- None
6313 --End of Comments
6314 --------------------------------------------------------------------------------
6315 PROCEDURE delete_attributes_for_header
6316 (
6317   p_doc_type     IN VARCHAR2, -- 'BLANKET', 'QUOTATION'
6318   p_po_header_id IN PO_LINES.po_header_id%TYPE
6319 )
6320 IS
6321   d_mod CONSTANT VARCHAR2(100) := D_delete_attributes_for_header;
6322   l_progress      VARCHAR2(4);
6323 
6324 BEGIN
6325   l_progress := '010';
6326 
6327   IF PO_LOG.d_proc THEN
6328     PO_LOG.proc_begin(d_mod,'p_doc_type',p_doc_type);
6329     PO_LOG.proc_begin(d_mod,'p_po_header_id',p_po_header_id);
6330   END IF;
6331 
6332   IF (p_doc_type IN ('BLANKET', 'QUOTATION')) THEN
6333     -- SQL What: Delete Attribute Values for all lines in a PO Header
6334     -- SQL Why : as required by this procedure
6335     -- SQL Join: po_line_id, po_header_id
6336     DELETE FROM PO_ATTRIBUTE_VALUES POATR
6337     WHERE EXISTS
6338           (SELECT 'All PO Lines for the given Header'
6339            FROM PO_LINES_ALL POL
6340            WHERE POL.po_header_id = p_po_header_id
6341              AND POATR.po_line_id = POL.po_line_id);
6342 
6343 
6344     l_progress := '020';
6345     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows deleted='||SQL%rowcount); END IF;
6346 
6347     -- SQL What: Delete Attribute Values TLP for all lines in a PO Header
6348     -- SQL Why : as required by this procedure
6349     -- SQL Join: po_line_id, po_header_id
6350     DELETE FROM PO_ATTRIBUTE_VALUES_TLP POTLP
6351     WHERE EXISTS
6352           (SELECT 'All PO Lines for the given Header'
6353            FROM PO_LINES_ALL POL
6354            WHERE POL.po_header_id = p_po_header_id
6355              AND POTLP.po_line_id = POL.po_line_id);
6356 
6357     l_progress := '030';
6358     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows deleted='||SQL%rowcount); END IF;
6359   ELSE
6360     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Invalid doc_type='||p_doc_type); END IF;
6361   END IF;
6362 
6363   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6364 EXCEPTION
6365   WHEN OTHERS THEN
6366     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
6367     RAISE;
6368 END delete_attributes_for_header;
6369 
6370 --------------------------------------------------------------------------------
6371 --Start of Comments
6372 --Name: get_base_lang
6373 --Pre-reqs:
6374 --  None
6375 --Modifies:
6376 --  a) FND_MSG_PUB on unhandled exceptions.
6377 --Locks:
6378 --  None.
6379 --Function:
6380 --  Gets the Base Language of the installed system.
6381 --Parameters:
6382 --IN:
6383 -- None
6384 --RETURN:
6385 -- VARCHAR2 -- the base languages of the system.
6386 --End of Comments
6387 --------------------------------------------------------------------------------
6388 FUNCTION get_base_lang
6389 RETURN VARCHAR2
6390 IS
6391   d_mod CONSTANT VARCHAR2(100) := D_get_base_lang;
6392   l_progress      VARCHAR2(4);
6393 BEGIN
6394   l_progress := '010';
6395   IF PO_LOG.d_proc THEN PO_LOG.proc_begin(d_mod); END IF;
6396 
6397   l_progress := '020';
6398   IF (g_base_language IS NULL) THEN
6399     -- SQL What: Get the base language of the system installation.
6400     -- SQL Why : Will be used to populate the created_language column
6401     -- SQL Join: installed_flag
6402     SELECT language_code
6403     INTO g_base_language
6404     FROM FND_LANGUAGES
6405     WHERE installed_flag='B';
6406   END IF;
6407 
6408   l_progress := '030';
6409   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'base_lang=<'||g_base_language||'>'); END IF;
6410 
6411   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6412   RETURN g_base_language;
6413 EXCEPTION
6414   WHEN OTHERS THEN
6415     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
6416     RAISE;
6417 END get_base_lang;
6418 
6419 PROCEDURE create_attributes_tlp_MI
6420 (
6421   p_inventory_item_id     IN PO_LINES_ALL.item_id%TYPE,
6422   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
6423   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
6424   p_language              IN PO_ATTRIBUTE_VALUES_TLP.language%TYPE,
6425   p_description           IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE,
6426   p_long_description      IN PO_ATTRIBUTE_VALUES_TLP.long_description%TYPE,
6427   p_organization_id       IN NUMBER,
6428   p_master_organization_id IN NUMBER
6429 )
6430 IS
6431   d_mod CONSTANT VARCHAR2(100) :=  D_create_attributes_tlp_MI;
6432   l_progress      VARCHAR2(4);
6433   l_description  PO_ATTRIBUTE_VALUES_TLP.description%TYPE := nvl(p_description,'    ');
6434   l_manufacturer PO_ATTRIBUTE_VALUES_TLP.MANUFACTURER%TYPE;
6435   l_long_description PO_ATTRIBUTE_VALUES_TLP.LONG_DESCRIPTION%TYPE := nvl(p_long_description,'   ');
6436 
6437 BEGIN
6438   l_progress := '010';
6439 
6440 
6441   IF PO_LOG.d_proc THEN
6442     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
6443     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
6444     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
6445     PO_LOG.proc_begin(d_mod,'p_language',p_language);
6446     PO_LOG.proc_begin(d_mod,'p_description',p_description);
6447     PO_LOG.proc_begin(d_mod,'p_long_description',p_long_description);
6448     PO_LOG.proc_begin(d_mod,'p_organization_id', p_organization_id);
6449     PO_LOG.proc_begin(d_mod,'p_master_organization_id',p_master_organization_id);
6450 
6451   END IF;
6452 
6453   l_progress := '030';
6454 
6455   --  list down the base descriptors in PO_ATTRIBUTE_VALUES_TLP
6456   --  MANUFACTURER    COMMENTS    ALIAS    LONG_DESCRIPTION
6457   Begin
6458    SELECT MANUFACTURER_NAME
6459    INTO l_manufacturer
6460    FROM(
6461    SELECT * FROM  MTL_MFG_PART_NUMBERS_ALL_V
6462    WHERE INVENTORY_ITEM_ID =p_inventory_item_id
6463    AND ORGANIZATION_ID = p_master_organization_id
6464    ORDER BY ROW_ID ) WHERE ROWNUM =1;
6465   EXCEPTION
6466   WHEN No_Data_Found THEN
6467     l_manufacturer:='';
6468   END;
6469 
6470 
6471    l_progress := '035';
6472 
6473   -- SQL What: Insert default rows for Attribute values TLP.
6474   --           This SQL will insert multiple rows, one for each installed lang.
6475   -- SQL Why : To create a default Attr TLP row
6476   -- SQL Join: po_line_id
6477   INSERT INTO PO_ATTRIBUTE_VALUES_TLP (
6478     attribute_values_tlp_id,
6479     po_line_id,
6480     req_template_name,
6481     req_template_line_num,
6482     ip_category_id,
6483     inventory_item_id,
6484     org_id,
6485     language,
6486     description,
6487     long_description,
6488     manufacturer,
6489     -- WHO columns
6490     last_update_login,
6491     last_updated_by,
6492     last_update_date,
6493     created_by,
6494     creation_date,
6495     request_id,
6496     program_application_id,
6497     program_id,
6498     program_update_date,
6499     last_updated_program
6500    )
6501    SELECT
6502     PO_ATTRIBUTE_VALUES_TLP_S.nextval,
6503     -2,
6504     '-2',
6505     -2,
6506     NVL(p_ip_category_id,-2),
6507     NVL(p_inventory_item_id,-2),
6508     NVL(p_org_id,-2),
6509     p_language,
6510     l_description,
6511     l_long_description,
6512     l_manufacturer,
6513     -- WHO columns
6514     FND_GLOBAL.login_id,        -- last_update_login
6515     FND_GLOBAL.user_id,         -- last_updated_by
6516     sysdate,                    -- last_update_date
6517     FND_GLOBAL.user_id,         -- created_by
6518     sysdate,                    -- creation_date
6519     FND_GLOBAL.conc_request_id, -- request_id
6520     FND_GLOBAL.prog_appl_id,    -- program_application_id
6521     FND_GLOBAL.conc_program_id, -- program_id
6522     sysdate,                    -- program_update_date
6523     d_mod                       -- last_updated_program
6524    FROM DUAL
6525    WHERE NOT EXISTS
6526      (SELECT 'TLP row for this language already exists'
6527       FROM PO_ATTRIBUTE_VALUES_TLP TLP2
6528       WHERE  TLP2.inventory_item_id = p_inventory_item_id
6529         AND  TLP2.org_id = p_org_id
6530         AND  TLP2.language = p_language
6531         AND  TLP2.po_line_id = -2
6532         AND  TLP2.req_template_name = '-2'
6533         AND  TLP2.req_template_line_num = -2
6534       );
6535 
6536   l_progress := '060';
6537   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows inserted in TLP table='||SQL%rowcount); END IF;
6538 
6539   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6540 EXCEPTION
6541   WHEN OTHERS THEN
6542     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
6543     RAISE;
6544 END create_attributes_tlp_MI;
6545 
6546 --------------------------------------------------------------------------------
6547 --Start of Comments
6548 --Bug 7039409: Added new procedure
6549 --Name: get_item_attributes_values
6550 --Pre-reqs:
6551 --  None
6552 --Modifies:
6553 --  None
6554 --Locks:
6555 --  None.
6556 --Function:
6557 --  To derive item attributes to be populated in PO_ATTRIBUTE_VALUES.
6558 --
6559 --Parameters:
6560 --IN:
6561 --  p_inventory_item_id
6562 --OUT:
6563 --  p_manufacturer_part_num
6564 --  p_manufacturer
6565 --  p_lead_time
6566 --End of Comments
6567 --------------------------------------------------------------------------------
6568 PROCEDURE get_item_attributes_values
6569 (
6570   p_inventory_item_id       IN         PO_LINES_ALL.item_id%TYPE,
6571   p_manufacturer_part_num   OUT NOCOPY PO_ATTRIBUTE_VALUES.manufacturer_part_num%TYPE,
6572   p_manufacturer            OUT NOCOPY PO_ATTRIBUTE_VALUES_TLP.manufacturer%TYPE,
6573   p_lead_time               OUT NOCOPY PO_ATTRIBUTE_VALUES.lead_time%TYPE
6574 )
6575 IS
6576    l_manufacturer_id  po_requisition_lines_All.MANUFACTURER_ID%TYPE;
6577 BEGIN
6578      get_item_attributes_values(p_inventory_item_id, p_manufacturer_part_num ,p_manufacturer, p_lead_time, l_manufacturer_id);
6579 END get_item_attributes_values;
6580 
6581 
6582 -------------------------------------------------------------------------------
6583 --Start of Comments
6584 --Bug 7387487: Added new procedure
6585 --Name: get_item_attributes_values
6586 --Pre-reqs:
6587 --  None
6588 --Modifies:
6589 --  None
6590 --Locks:
6591 --  None.
6592 --Function:
6593 --  To derive item attributes to be populated in PO_ATTRIBUTE_VALUES.
6594 --
6595 --Parameters:
6596 --IN:
6597 --  p_inventory_item_id
6598 --OUT:
6599 --  p_manufacturer_part_num
6600 --  p_manufacturer
6601 --  p_lead_time
6602 --p_manufacturer_id
6603 --End of Comments
6604 --------------------------------------------------------------------------------
6605 PROCEDURE get_item_attributes_values
6606 (
6607   p_inventory_item_id       IN         PO_LINES_ALL.item_id%TYPE,
6608   p_manufacturer_part_num   OUT NOCOPY PO_ATTRIBUTE_VALUES.manufacturer_part_num%TYPE,
6609   p_manufacturer            OUT NOCOPY PO_ATTRIBUTE_VALUES_TLP.manufacturer%TYPE,
6610   p_lead_time               OUT NOCOPY PO_ATTRIBUTE_VALUES.lead_time%TYPE,
6611   p_manufacturer_id         OUT NOCOPY po_requisition_lines_All.MANUFACTURER_ID%TYPE
6612 )
6613 IS
6614   d_mod                     CONSTANT VARCHAR2(100) := D_get_item_attributes_values;
6615   l_progress                VARCHAR2(4);
6616   l_master_organization_id  MTL_PARAMETERS.master_organization_id%TYPE;
6617   l_inv_organization_id     MTL_PARAMETERS.master_organization_id%TYPE;
6618 
6619 BEGIN
6620   l_progress := '010';
6621   IF PO_LOG.d_proc THEN
6622     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
6623   END IF;
6624 
6625   -- Get MASTER_ORGANIZATION_ID and INVENTORY_ORGANIZATION_ID
6626   -- Use master org to get mfg_part_num, manufacturer_name and long_description
6627   -- as these are Master level attributes.
6628   -- Use inventory org to get full_lead_time as this is Org level attribute.
6629   SELECT mtl.master_organization_id,
6630          fsp.inventory_organization_id
6631   INTO   l_master_organization_id,
6632          l_inv_organization_id
6633   FROM   mtl_parameters mtl,
6634          financials_system_parameters fsp
6635   WHERE  fsp.inventory_organization_id = mtl.organization_id;
6636 
6637   IF PO_LOG.d_stmt THEN
6638     PO_LOG.stmt(d_mod,l_progress,'l_master_organization_id='||l_master_organization_id);
6639     PO_LOG.stmt(d_mod,l_progress,'l_inv_organization_id='||l_inv_organization_id);
6640   END IF;
6641   l_progress := '020';
6642 
6643   -- Get MANUFACTURER Related info
6644   BEGIN
6645     SELECT mfg_part_num,
6646            manufacturer_name,
6647            MANUFACTURER_ID
6648     INTO   p_manufacturer_part_num,
6649            p_manufacturer,
6650            p_manufacturer_id
6651     FROM  mtl_mfg_part_numbers_all_v WHERE row_id =
6652     (SELECT Min(row_id)
6653     FROM   mtl_mfg_part_numbers_all_v
6654     WHERE  inventory_item_id = p_inventory_item_id
6655            AND organization_id = l_master_organization_id);
6656 
6657 
6658   IF PO_LOG.d_stmt THEN
6659     PO_LOG.stmt(d_mod,l_progress,'p_manufacturer_part_num='||p_manufacturer_part_num);
6660     PO_LOG.stmt(d_mod,l_progress,'p_manufacturer='||p_manufacturer);
6661   END IF;
6662   l_progress := '030';
6663 
6664   EXCEPTION
6665     WHEN NO_DATA_FOUND THEN
6666       p_manufacturer_part_num := NULL;
6667       p_manufacturer := NULL;
6668   END;
6669 
6670   -- Get LEAD_TIME
6671   SELECT full_lead_time
6672   INTO   p_lead_time
6673   FROM   mtl_system_items_b
6674   WHERE  inventory_item_id = p_inventory_item_id
6675          AND organization_id = l_inv_organization_id;
6676 
6677   IF PO_LOG.d_stmt THEN
6678     PO_LOG.stmt(d_mod,l_progress,'p_lead_time='||p_lead_time);
6679   END IF;
6680   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6681 exception
6682 when others then
6683   IF PO_LOG.d_stmt THEN
6684       PO_LOG.stmt(d_mod,l_progress,'exception in get_item_attributes_values sqlcode='||sqlcode||' sqlerrm='||sqlerrm);
6685     END IF;
6686 END get_item_attributes_values;
6687 --------------------------------------------------------------------------------
6688 --Start of Comments
6689 --Bug 7039409: Added new procedure
6690 --Name: get_item_attributes_tlp_values
6691 --Pre-reqs:
6692 --  None
6693 --Modifies:
6694 --  None
6695 --Locks:
6696 --  None.
6697 --Function:
6698 --  To derive tlp item attributes to be populated in PO_ATTRIBUTE_VALUES_TLP.
6699 --
6700 --Parameters:
6701 --IN:
6702 --  p_inventory_item_id
6703 --  p_lang
6704 --OUT:
6705 --  p_long_description
6706 --End of Comments
6707 --------------------------------------------------------------------------------
6708 PROCEDURE get_item_attributes_tlp_values
6709 (
6710   p_inventory_item_id       IN         PO_LINES_ALL.item_id%TYPE,
6711   p_lang                    IN         PO_ATTRIBUTE_VALUES_TLP.language%TYPE,
6712   p_long_description        OUT NOCOPY PO_ATTRIBUTE_VALUES_TLP.long_description%TYPE
6713 )
6714 IS
6715   d_mod                     CONSTANT VARCHAR2(100) := D_get_item_attributes_tlp;
6716   l_progress                VARCHAR2(4);
6717   l_master_organization_id  PO_LINES_ALL.org_id%TYPE;
6718 BEGIN
6719   l_progress := '010';
6720   IF PO_LOG.d_proc THEN
6721     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
6722     PO_LOG.proc_begin(d_mod,'p_lang',p_lang);
6723   END IF;
6724 
6725   -- Get MASTER_ORGANIZATION_ID
6726   SELECT mtl.master_organization_id
6727   INTO   l_master_organization_id
6728   FROM   mtl_parameters mtl,
6729          financials_system_parameters fsp
6730   WHERE  fsp.inventory_organization_id = mtl.organization_id;
6731 
6732   IF PO_LOG.d_stmt THEN
6733     PO_LOG.stmt(d_mod,l_progress,'l_master_organization_id='||l_master_organization_id);
6734   END IF;
6735   l_progress := '020';
6736 
6737   -- Get LONG_DESCRIPTION
6738   BEGIN
6739     SELECT long_description
6740     INTO   p_long_description
6741     FROM   mtl_system_items_tl
6742     WHERE  inventory_item_id = p_inventory_item_id
6743            AND organization_id = l_master_organization_id
6744            AND language = p_lang;
6745 
6746     IF PO_LOG.d_stmt THEN
6747       PO_LOG.stmt(d_mod,l_progress,'p_long_description='||p_long_description);
6748     END IF;
6749   EXCEPTION
6750     -- If not found, get it for the base lang
6751     WHEN NO_DATA_FOUND THEN
6752       SELECT long_description
6753       INTO   p_long_description
6754       FROM   mtl_system_items_tl
6755       WHERE  inventory_item_id = p_inventory_item_id
6756              AND organization_id = l_master_organization_id
6757              AND language = g_base_language;
6758       IF PO_LOG.d_stmt THEN
6759         PO_LOG.stmt(d_mod,l_progress,'NO_DATA_FOUND');
6760         PO_LOG.stmt(d_mod,l_progress,'p_long_description='||p_long_description);
6761       END IF;
6762   END;
6763 
6764   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6765 exception
6766 when others then
6767   IF PO_LOG.d_stmt THEN
6768       PO_LOG.stmt(d_mod,l_progress,'exception in get_item_attributes_tlp_values sqlcode='||sqlcode||' sqlerrm='||sqlerrm);
6769     END IF;
6770 END get_item_attributes_tlp_values;
6771 
6772 END;