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.30.12010000.4 2008/11/24 05:34:03 rohbansa 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 'TLP row for this language already exists'
3385            FROM PO_ATTRIBUTE_VALUES_TLP TLP2
3386            WHERE TLP2.po_line_id = TLP1.po_line_id
3387             AND TLP2.req_template_name = TLP1.req_template_name
3388             AND TLP2.req_template_line_num = TLP1.req_template_line_num
3389             AND TLP2.org_id = TLP1.org_id
3390             AND TLP2.language = l_tlp_language_list(i));
3391 
3392   l_progress := '090';
3393   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows inserted into TLP table='||SQL%rowcount); END IF;
3394 
3395   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
3396 EXCEPTION
3397   WHEN OTHERS THEN
3398     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
3399     RAISE;
3400 END create_translations;
3401 
3402 --------------------------------------------------------------------------------
3403 --Start of Comments
3404 --Name: create_default_attr_tlp
3405 --Pre-reqs:
3406 --  None
3407 --Modifies:
3408 --  FND_MSG_PUB on unhandled exceptions.
3409 --Locks:
3410 --  None.
3411 --Function:
3412 --  To insert a row for the Attribute Values and TLP by defaulting values
3413 --  from the line level.
3414 --
3415 --Parameters:
3416 --IN:
3417 --p_po_line_id
3418 --p_req_template_name
3419 --p_req_template_line_num
3420 --p_ip_category_id
3421 --p_inventory_item_id
3422 --p_org_id
3423 --p_description
3424 --p_manufacturer
3425 --  The default values of the Attr given by the calling program.
3426 --End of Comments
3427 --------------------------------------------------------------------------------
3428 PROCEDURE create_default_attr_tlp
3429 (
3430   p_doc_type              IN VARCHAR2, -- 'BLANKET', 'QUOTATION', 'REQ_TEMPLATE'
3431   p_po_line_id            IN PO_LINES.po_line_id%TYPE,
3432   p_req_template_name     IN PO_REQEXPRESS_LINES_ALL.express_name%TYPE,
3433   p_req_template_line_num IN PO_REQEXPRESS_LINES_ALL.sequence_num%TYPE,
3434   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
3435   p_inventory_item_id     IN PO_LINES_ALL.item_id%TYPE,
3436   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
3437   p_description           IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE,
3438   -- Bug 7039409: Added new param p_manufacturer
3439   p_manufacturer          IN PO_ATTRIBUTE_VALUES_TLP.manufacturer%TYPE
3440 )
3441 IS
3442   d_mod CONSTANT VARCHAR2(100) := D_create_default_attr_tlp;
3443   l_progress      VARCHAR2(4);
3444 
3445   l_default_lang PO_HEADERS_ALL.created_language%TYPE;
3446   l_description  PO_ATTRIBUTE_VALUES_TLP.description%TYPE;
3447   l_long_description PO_ATTRIBUTE_VALUES_TLP.long_description%TYPE;
3448 BEGIN
3449   l_progress := '010';
3450 
3451   IF PO_LOG.d_proc THEN
3452     PO_LOG.proc_begin(d_mod,'p_doc_type',p_doc_type);
3453     PO_LOG.proc_begin(d_mod,'p_po_line_id',p_po_line_id);
3454     PO_LOG.proc_begin(d_mod,'p_req_template_name',p_req_template_name);
3455     PO_LOG.proc_begin(d_mod,'p_req_template_line_num',p_req_template_line_num);
3456     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
3457     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
3458     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
3459     PO_LOG.proc_begin(d_mod,'p_description',p_description);
3460     PO_LOG.proc_begin(d_mod,'p_manufacturer',p_manufacturer);
3461   END IF;
3462 
3463   IF (p_po_line_id IS NOT NULL) THEN
3464     l_progress := '020';
3465     -- SQL What: Get the created_language of the header, for the given line
3466     -- SQL Why : To create a default Attr TLP row for the default language
3467     -- SQL Join: po_line_id, po_header_id
3468     SELECT POH.created_language
3469     INTO l_default_lang
3470     FROM PO_HEADERS_ALL POH,
3471          PO_LINES_ALL POL
3472     WHERE POH.po_header_id = POL.po_header_id
3473       AND POL.po_line_id = p_po_line_id;
3474   ELSE
3475     l_progress := '030';
3476     l_default_lang := g_base_language;
3477   END IF;
3478 
3479   l_description := p_description;
3480 
3481   -- Bug 7039409: Get the tlp item attribute values.
3482   IF p_inventory_item_id IS NOT NULL THEN
3483     get_item_attributes_tlp_values(
3484       p_inventory_item_id,
3485       l_default_lang,
3486       l_long_description);
3487   END IF;
3488 
3489   l_progress := '050';
3490   -- SQL What: Insert default rows for Attribute values TLP.
3491   --           This SQL will insert multiple rows, one for each installed lang.
3492   -- SQL Why : To create a default Attr TLP row
3493   -- SQL Join: po_line_id
3494   INSERT INTO PO_ATTRIBUTE_VALUES_TLP (
3495     attribute_values_tlp_id,
3496     po_line_id,
3497     req_template_name,
3498     req_template_line_num,
3499     ip_category_id,
3500     inventory_item_id,
3501     org_id,
3502     language,
3503     description,
3504     manufacturer,
3505     long_description,
3506     -- WHO columns
3507     last_update_login,
3508     last_updated_by,
3509     last_update_date,
3510     created_by,
3511     creation_date,
3512     request_id,
3513     program_application_id,
3514     program_id,
3515     program_update_date,
3516     last_updated_program
3517    )
3518    SELECT
3519     PO_ATTRIBUTE_VALUES_TLP_S.nextval,
3520     NVL(p_po_line_id,-2),
3521     NVL(p_req_template_name,'-2'),
3522     NVL(p_req_template_line_num,-2),
3523     NVL(p_ip_category_id,-2),
3524     NVL(p_inventory_item_id,-2),
3525     NVL(p_org_id,-2),
3526     l_default_lang,
3527     l_description,
3528     p_manufacturer,
3529     l_long_description,
3530     -- WHO columns
3531     FND_GLOBAL.login_id,        -- last_update_login
3532     FND_GLOBAL.user_id,         -- last_updated_by
3533     sysdate,                    -- last_update_date
3534     FND_GLOBAL.user_id,         -- created_by
3535     sysdate,                    -- creation_date
3536     FND_GLOBAL.conc_request_id, -- request_id
3537     FND_GLOBAL.prog_appl_id,    -- program_application_id
3538     FND_GLOBAL.conc_program_id, -- program_id
3539     sysdate,                    -- program_update_date
3540     d_mod                       -- last_updated_program
3541    FROM DUAL
3542    WHERE NOT EXISTS
3543      (SELECT 'TLP row for this language already exists'
3544       FROM PO_ATTRIBUTE_VALUES_TLP TLP2
3545       WHERE TLP2.po_line_id = p_po_line_id
3546        AND TLP2.req_template_name = p_req_template_name
3547        AND TLP2.req_template_line_num = p_req_template_line_num
3548        AND TLP2.org_id = p_org_id
3549        AND TLP2.language = l_default_lang);
3550 
3551   l_progress := '060';
3552   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows inserted in TLP table='||SQL%rowcount); END IF;
3553 
3554   create_translations
3555   (
3556     p_doc_type              => p_doc_type,
3557     p_po_line_id            => p_po_line_id,
3558     p_req_template_name     => p_req_template_name,
3559     p_req_template_line_num => p_req_template_line_num,
3560     p_org_id                => p_org_id
3561   );
3562 
3563   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
3564 EXCEPTION
3565   WHEN OTHERS THEN
3566     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
3567     RAISE;
3568 END create_default_attr_tlp;
3569 
3570 --------------------------------------------------------------------------------
3571 --Start of Comments
3572 --Name: create_default_attributes
3573 --Pre-reqs:
3574 --  None
3575 --Modifies:
3576 --  FND_MSG_PUB on unhandled exceptions.
3577 --Locks:
3578 --  None.
3579 --Function:
3580 --  To insert a row for the Attribute Values and TLP by defaulting values
3581 --  from the line level.
3582 --
3583 --Parameters:
3584 --IN:
3585 --p_po_line_id
3586 --p_req_template_name
3587 --p_req_template_line_num
3588 --p_ip_category_id
3589 --p_inventory_item_id
3590 --p_org_id
3591 --  The default values of the Attr given by the calling program.
3592 --End of Comments
3593 --------------------------------------------------------------------------------
3594 PROCEDURE create_default_attributes
3595 (
3596   p_doc_type              IN VARCHAR2, -- 'BLANKET', 'QUOTATION', 'REQ_TEMPLATE'
3597   p_po_line_id            IN PO_LINES.po_line_id%TYPE,
3598   p_req_template_name     IN PO_REQEXPRESS_LINES_ALL.express_name%TYPE,
3599   p_req_template_line_num IN PO_REQEXPRESS_LINES_ALL.sequence_num%TYPE,
3600   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
3601   p_inventory_item_id     IN PO_LINES_ALL.item_id%TYPE,
3602   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
3603   p_description           IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE
3604 )
3605 IS
3606   d_mod CONSTANT VARCHAR2(100) := D_create_default_attributes;
3607   l_progress      VARCHAR2(4);
3608 
3609   l_type_lookup_code PO_HEADERS_ALL.type_lookup_code%TYPE;
3610   -- Bug 7039409: Declared new variables
3611   l_manufacturer_part_num PO_ATTRIBUTE_VALUES.manufacturer_part_num%TYPE;
3612   l_manufacturer          PO_ATTRIBUTE_VALUES_TLP.manufacturer%TYPE;
3613   l_lead_time             PO_ATTRIBUTE_VALUES.lead_time%TYPE;
3614 BEGIN
3615   l_progress := '010';
3616 
3617   IF PO_LOG.d_proc THEN
3618     PO_LOG.proc_begin(d_mod,'p_doc_type',p_doc_type);
3619     PO_LOG.proc_begin(d_mod,'p_po_line_id',p_po_line_id);
3620     PO_LOG.proc_begin(d_mod,'p_req_template_name',p_req_template_name);
3621     PO_LOG.proc_begin(d_mod,'p_req_template_line_num',p_req_template_line_num);
3622     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
3623     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
3624     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
3625     PO_LOG.proc_begin(d_mod,'p_description',p_description);
3626   END IF;
3627 
3628   l_progress := '020';
3629   IF (p_po_line_id IS NOT NULL) THEN
3630     IF (p_doc_type IS NULL) THEN
3631       l_progress := '030';
3632       -- SQL What: Get the document type for the PO line
3633       -- SQL Why : To check if it BLANKET or QUOTATION or not
3634       -- SQL Join: po_line_id
3635       SELECT POH.type_lookup_code
3636       INTO l_type_lookup_code
3637       FROM PO_HEADERS_ALL POH,
3638            PO_LINES_ALL POL
3639       WHERE POL.po_line_id = p_po_line_id
3640         AND POH.po_header_id = POL.po_header_id;
3641     ELSE
3642       l_type_lookup_code := p_doc_type;
3643     END IF;
3644 
3645     -- Do not create Attr/TLP if the doc type is not BLANKET or QUOTATION
3646     IF (l_type_lookup_code NOT IN ('BLANKET', 'QUOTATION')) THEN
3647       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;
3648       RETURN;
3649     END IF;
3650   END IF;
3651 
3652   -- Bug 7039409: Get the item attribute values.
3653   IF p_inventory_item_id IS NOT NULL THEN
3654     get_item_attributes_values(
3655       p_inventory_item_id,
3656       l_manufacturer_part_num,
3657       l_manufacturer,
3658       l_lead_time);
3659   END IF;
3660 
3661   l_progress := '040';
3662   -- SQL What: Insert a new row for Attribute values
3663   -- SQL Why : To create a default Attr row
3664   -- SQL Join: none
3665   INSERT INTO PO_ATTRIBUTE_VALUES (
3666     attribute_values_id,
3667     po_line_id,
3668     req_template_name,
3669     req_template_line_num,
3670     ip_category_id,
3671     inventory_item_id,
3672     org_id,
3673     manufacturer_part_num,
3674     lead_time,
3675     -- WHO columns
3676     last_update_login,
3677     last_updated_by,
3678     last_update_date,
3679     created_by,
3680     creation_date,
3681     request_id,
3682     program_application_id,
3683     program_id,
3684     program_update_date,
3685     last_updated_program
3686    )
3687    SELECT
3688     PO_ATTRIBUTE_VALUES_S.nextval,
3689     NVL(p_po_line_id,-2),
3690     NVL(p_req_template_name,'-2'),
3691     NVL(p_req_template_line_num,-2),
3692     NVL(p_ip_category_id,-2),
3693     NVL(p_inventory_item_id,-2),
3694     NVL(p_org_id,-2),
3695     l_manufacturer_part_num,
3696     l_lead_time,
3697     -- WHO columns
3698     FND_GLOBAL.login_id,        -- last_update_login
3699     FND_GLOBAL.user_id,         -- last_updated_by
3700     sysdate,                    -- last_update_date
3701     FND_GLOBAL.user_id,         -- created_by
3702     sysdate,                    -- creation_date
3703     FND_GLOBAL.conc_request_id, -- request_id
3704     FND_GLOBAL.prog_appl_id,    -- program_application_id
3705     FND_GLOBAL.conc_program_id, -- program_id
3706     sysdate,                    -- program_update_date
3707     d_mod                       -- last_updated_program
3708    FROM DUAL
3709    WHERE NOT EXISTS
3710      (SELECT 'Attribute row already exists'
3711       FROM PO_ATTRIBUTE_VALUES POATR
3712       WHERE POATR.po_line_id = p_po_line_id
3713        AND POATR.req_template_name = p_req_template_name
3714        AND POATR.req_template_line_num = p_req_template_line_num
3715        AND POATR.org_id = p_org_id);
3716 
3717   l_progress := '050';
3718   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows inserted in ATR table='||SQL%rowcount); END IF;
3719 
3720   create_default_attr_tlp
3721   (
3722     p_doc_type              => p_doc_type,
3723     p_po_line_id            => p_po_line_id,
3724     p_req_template_name     => p_req_template_name,
3725     p_req_template_line_num => p_req_template_line_num,
3726     p_ip_category_id        => p_ip_category_id,
3727     p_inventory_item_id     => p_inventory_item_id,
3728     p_org_id                => p_org_id,
3729     p_description           => p_description,
3730     p_manufacturer          => l_manufacturer -- Bug7039409: Added new param
3731   );
3732 
3733   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
3734 EXCEPTION
3735   WHEN OTHERS THEN
3736     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
3737     RAISE;
3738 END create_default_attributes;
3739 
3740 PROCEDURE create_default_attributes_MI
3741 (
3742   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
3743   p_inventory_item_id     IN PO_LINES_ALL.item_id%TYPE,
3744   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
3745   p_description           IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE,
3746   p_organization_id       IN NUMBER,
3747   p_master_organization_id IN NUMBER
3748 )
3749 IS
3750   d_mod CONSTANT VARCHAR2(100) := D_create_default_attributes_MI;
3751   l_progress      VARCHAR2(4);
3752   l_manufacturer_part_num   PO_ATTRIBUTE_VALUES.MANUFACTURER_PART_NUM%TYPE;
3753   l_proc_lead_time   PO_ATTRIBUTE_VALUES.LEAD_TIME%TYPE;
3754   l_type_lookup_code PO_HEADERS_ALL.type_lookup_code%TYPE;
3755 BEGIN
3756   l_progress := '010';
3757 
3758   IF PO_LOG.d_proc THEN
3759     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
3760     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
3761     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
3762     PO_LOG.proc_begin(d_mod,'p_description',p_description);
3763     PO_LOG.proc_begin(d_mod,'p_organization_id', p_organization_id);
3764     PO_LOG.proc_begin(d_mod,'p_master_organization_id',p_master_organization_id);
3765   END IF;
3766 
3767   l_progress := '020';
3768 
3769   -- list down the base descriptors in PO_ATTRIBUTE_VALUES
3770   -- LEAD_TIME     AVAILABILITY    UNSPSC    MANUFACTURER_PART_NUM
3771   -- PICTURE   THUMBNAIL_IMAGE   SUPPLIER_URL  MANUFACTURER_URL
3772   -- ATTACHMENT_URL
3773   BEGIN
3774 
3775   SELECT MFG_PART_NUM
3776   INTO l_manufacturer_part_num
3777   FROM(
3778        SELECT * FROM  MTL_MFG_PART_NUMBERS_ALL_V
3779        WHERE INVENTORY_ITEM_ID = p_inventory_item_id
3780        AND ORGANIZATION_ID = p_master_organization_id
3781        ORDER BY ROW_ID
3782       ) WHERE ROWNUM =1;
3783 
3784   EXCEPTION
3785   WHEN No_Data_Found THEN
3786     l_manufacturer_part_num:='';
3787   END;
3788 
3789 
3790 
3791   SELECT FULL_LEAD_TIME
3792   INTO l_proc_lead_time
3793   FROM mtl_system_items_b
3794   WHERE INVENTORY_ITEM_ID = p_inventory_item_id
3795   AND ORGANIZATION_ID = p_organization_id;
3796 
3797 
3798 
3799   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;
3800 
3801 
3802   l_progress := '030';
3803   -- SQL What: Insert a new row for Attribute values
3804   -- SQL Why : To create a default Attr row
3805   -- SQL Join: none
3806   INSERT INTO PO_ATTRIBUTE_VALUES (
3807     attribute_values_id,
3808     po_line_id,
3809     req_template_name,
3810     req_template_line_num,
3811     ip_category_id,
3812     inventory_item_id,
3813     org_id,
3814     MANUFACTURER_PART_NUM,
3815     LEAD_TIME,
3816     -- WHO columns
3817     last_update_login,
3818     last_updated_by,
3819     last_update_date,
3820     created_by,
3821     creation_date,
3822     request_id,
3823     program_application_id,
3824     program_id,
3825     program_update_date,
3826     last_updated_program
3827    )
3828    SELECT
3829     PO_ATTRIBUTE_VALUES_S.nextval,
3830     -2,
3831     '-2',
3832     -2,
3833     NVL(p_ip_category_id,-2),
3834     NVL(p_inventory_item_id,-2),
3835     NVL(p_org_id,-2),
3836     l_manufacturer_part_num,
3837     l_proc_lead_time,
3838     -- WHO columns
3839     FND_GLOBAL.login_id,        -- last_update_login
3840     FND_GLOBAL.user_id,         -- last_updated_by
3841     sysdate,                    -- last_update_date
3842     FND_GLOBAL.user_id,         -- created_by
3843     sysdate,                    -- creation_date
3844     FND_GLOBAL.conc_request_id, -- request_id
3845     FND_GLOBAL.prog_appl_id,    -- program_application_id
3846     FND_GLOBAL.conc_program_id, -- program_id
3847     sysdate,                    -- program_update_date
3848     d_mod                       -- last_updated_program
3849    FROM DUAL
3850    WHERE NOT EXISTS
3851      (SELECT 'Attribute row already exists'
3852       FROM PO_ATTRIBUTE_VALUES POATR
3853       WHERE POATR.inventory_item_id = p_inventory_item_id
3854         AND POATR.org_id = p_org_id
3855         AND POATR.po_line_id   = -2
3856         AND POATR.req_template_name = '-2'
3857         AND POATR.req_template_line_num = -2);
3858 
3859   l_progress := '040';
3860   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows inserted in ATR table='||SQL%rowcount); END IF;
3861 
3862   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
3863 EXCEPTION
3864   WHEN OTHERS THEN
3865     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
3866     RAISE;
3867 END create_default_attributes_MI;
3868 
3869 -- this is for master items
3870 
3871 PROCEDURE wipeout_category_attributes_MI
3872 (
3873   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
3874   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
3875   p_inventory_item_id     IN PO_ATTRIBUTE_VALUES_TLP.inventory_item_id%TYPE,
3876   p_language              IN PO_ATTRIBUTE_VALUES_TLP.language%TYPE,
3877   p_item_description      IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE
3878 )
3879 IS
3880   d_mod CONSTANT VARCHAR2(100) := D_wipeout_category_attributes||'_MI';
3881   l_progress      VARCHAR2(4);
3882 
3883 BEGIN
3884   l_progress := '010';
3885 
3886   IF PO_LOG.d_proc THEN
3887     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
3888     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
3889     PO_LOG.proc_begin(d_mod,'p_language',p_language);
3890     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
3891   END IF;
3892 
3893   l_progress := '020';
3894   -- SQL What: Wipeout category based attributes from AttributeValues table
3895   -- SQL Why : Because the category was changed
3896   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
3897   UPDATE PO_ATTRIBUTE_VALUES
3898   SET
3899     NUM_CAT_ATTRIBUTE1 = NULL,
3900     NUM_CAT_ATTRIBUTE2 = NULL,
3901     NUM_CAT_ATTRIBUTE3 = NULL,
3902     NUM_CAT_ATTRIBUTE4 = NULL,
3903     NUM_CAT_ATTRIBUTE5 = NULL,
3904     NUM_CAT_ATTRIBUTE6 = NULL,
3905     NUM_CAT_ATTRIBUTE7 = NULL,
3906     NUM_CAT_ATTRIBUTE8 = NULL,
3907     NUM_CAT_ATTRIBUTE9 = NULL,
3908     NUM_CAT_ATTRIBUTE10 = NULL,
3909     NUM_CAT_ATTRIBUTE11 = NULL,
3910     NUM_CAT_ATTRIBUTE12 = NULL,
3911     NUM_CAT_ATTRIBUTE13 = NULL,
3912     NUM_CAT_ATTRIBUTE14 = NULL,
3913     NUM_CAT_ATTRIBUTE15 = NULL,
3914     NUM_CAT_ATTRIBUTE16 = NULL,
3915     NUM_CAT_ATTRIBUTE17 = NULL,
3916     NUM_CAT_ATTRIBUTE18 = NULL,
3917     NUM_CAT_ATTRIBUTE19 = NULL,
3918     NUM_CAT_ATTRIBUTE20 = NULL,
3919     NUM_CAT_ATTRIBUTE21 = NULL,
3920     NUM_CAT_ATTRIBUTE22 = NULL,
3921     NUM_CAT_ATTRIBUTE23 = NULL,
3922     NUM_CAT_ATTRIBUTE24 = NULL,
3923     NUM_CAT_ATTRIBUTE25 = NULL,
3924     NUM_CAT_ATTRIBUTE26 = NULL,
3925     NUM_CAT_ATTRIBUTE27 = NULL,
3926     NUM_CAT_ATTRIBUTE28 = NULL,
3927     NUM_CAT_ATTRIBUTE29 = NULL,
3928     NUM_CAT_ATTRIBUTE30 = NULL,
3929     NUM_CAT_ATTRIBUTE31 = NULL,
3930     NUM_CAT_ATTRIBUTE32 = NULL,
3931     NUM_CAT_ATTRIBUTE33 = NULL,
3932     NUM_CAT_ATTRIBUTE34 = NULL,
3933     NUM_CAT_ATTRIBUTE35 = NULL,
3934     NUM_CAT_ATTRIBUTE36 = NULL,
3935     NUM_CAT_ATTRIBUTE37 = NULL,
3936     NUM_CAT_ATTRIBUTE38 = NULL,
3937     NUM_CAT_ATTRIBUTE39 = NULL,
3938     NUM_CAT_ATTRIBUTE40 = NULL,
3939     NUM_CAT_ATTRIBUTE41 = NULL,
3940     NUM_CAT_ATTRIBUTE42 = NULL,
3941     NUM_CAT_ATTRIBUTE43 = NULL,
3942     NUM_CAT_ATTRIBUTE44 = NULL,
3943     NUM_CAT_ATTRIBUTE45 = NULL,
3944     NUM_CAT_ATTRIBUTE46 = NULL,
3945     NUM_CAT_ATTRIBUTE47 = NULL,
3946     NUM_CAT_ATTRIBUTE48 = NULL,
3947     NUM_CAT_ATTRIBUTE49 = NULL,
3948     NUM_CAT_ATTRIBUTE50 = NULL,
3949     TEXT_CAT_ATTRIBUTE1 = NULL,
3950     TEXT_CAT_ATTRIBUTE2 = NULL,
3951     TEXT_CAT_ATTRIBUTE3 = NULL,
3952     TEXT_CAT_ATTRIBUTE4 = NULL,
3953     TEXT_CAT_ATTRIBUTE5 = NULL,
3954     TEXT_CAT_ATTRIBUTE6 = NULL,
3955     TEXT_CAT_ATTRIBUTE7 = NULL,
3956     TEXT_CAT_ATTRIBUTE8 = NULL,
3957     TEXT_CAT_ATTRIBUTE9 = NULL,
3958     TEXT_CAT_ATTRIBUTE10 = NULL,
3959     TEXT_CAT_ATTRIBUTE11 = NULL,
3960     TEXT_CAT_ATTRIBUTE12 = NULL,
3961     TEXT_CAT_ATTRIBUTE13 = NULL,
3962     TEXT_CAT_ATTRIBUTE14 = NULL,
3963     TEXT_CAT_ATTRIBUTE15 = NULL,
3964     TEXT_CAT_ATTRIBUTE16 = NULL,
3965     TEXT_CAT_ATTRIBUTE17 = NULL,
3966     TEXT_CAT_ATTRIBUTE18 = NULL,
3967     TEXT_CAT_ATTRIBUTE19 = NULL,
3968     TEXT_CAT_ATTRIBUTE20 = NULL,
3969     TEXT_CAT_ATTRIBUTE21 = NULL,
3970     TEXT_CAT_ATTRIBUTE22 = NULL,
3971     TEXT_CAT_ATTRIBUTE23 = NULL,
3972     TEXT_CAT_ATTRIBUTE24 = NULL,
3973     TEXT_CAT_ATTRIBUTE25 = NULL,
3974     TEXT_CAT_ATTRIBUTE26 = NULL,
3975     TEXT_CAT_ATTRIBUTE27 = NULL,
3976     TEXT_CAT_ATTRIBUTE28 = NULL,
3977     TEXT_CAT_ATTRIBUTE29 = NULL,
3978     TEXT_CAT_ATTRIBUTE30 = NULL,
3979     TEXT_CAT_ATTRIBUTE31 = NULL,
3980     TEXT_CAT_ATTRIBUTE32 = NULL,
3981     TEXT_CAT_ATTRIBUTE33 = NULL,
3982     TEXT_CAT_ATTRIBUTE34 = NULL,
3983     TEXT_CAT_ATTRIBUTE35 = NULL,
3984     TEXT_CAT_ATTRIBUTE36 = NULL,
3985     TEXT_CAT_ATTRIBUTE37 = NULL,
3986     TEXT_CAT_ATTRIBUTE38 = NULL,
3987     TEXT_CAT_ATTRIBUTE39 = NULL,
3988     TEXT_CAT_ATTRIBUTE40 = NULL,
3989     TEXT_CAT_ATTRIBUTE41 = NULL,
3990     TEXT_CAT_ATTRIBUTE42 = NULL,
3991     TEXT_CAT_ATTRIBUTE43 = NULL,
3992     TEXT_CAT_ATTRIBUTE44 = NULL,
3993     TEXT_CAT_ATTRIBUTE45 = NULL,
3994     TEXT_CAT_ATTRIBUTE46 = NULL,
3995     TEXT_CAT_ATTRIBUTE47 = NULL,
3996     TEXT_CAT_ATTRIBUTE48 = NULL,
3997     TEXT_CAT_ATTRIBUTE49 = NULL,
3998     TEXT_CAT_ATTRIBUTE50 = NULL,
3999     -- WHO columns
4000     LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4001     LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4002     LAST_UPDATE_DATE       = sysdate,
4003     CREATED_BY             = FND_GLOBAL.user_id,
4004     CREATION_DATE          = sysdate,
4005     REQUEST_ID             = FND_GLOBAL.conc_request_id,
4006     PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4007     PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4008     PROGRAM_UPDATE_DATE    = sysdate,
4009     LAST_UPDATED_PROGRAM   = d_mod
4010   WHERE po_line_id = -2
4011     AND req_template_name = '-2'
4012     AND req_template_line_num = -2
4013     AND inventory_item_id = p_inventory_item_id
4014     AND org_id = p_org_id;
4015 
4016   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows wiped out='||SQL%rowcount); END IF;
4017 
4018   l_progress := '030';
4019   -- SQL What: Wipeout category based attributes from TLP table for all Langs
4020   -- SQL Why : Because the category was changed
4021   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4022   UPDATE PO_ATTRIBUTE_VALUES_TLP
4023   SET
4024     TL_TEXT_CAT_ATTRIBUTE1 = NULL,
4025     TL_TEXT_CAT_ATTRIBUTE2 = NULL,
4026     TL_TEXT_CAT_ATTRIBUTE3 = NULL,
4027     TL_TEXT_CAT_ATTRIBUTE4 = NULL,
4028     TL_TEXT_CAT_ATTRIBUTE5 = NULL,
4029     TL_TEXT_CAT_ATTRIBUTE6 = NULL,
4030     TL_TEXT_CAT_ATTRIBUTE7 = NULL,
4031     TL_TEXT_CAT_ATTRIBUTE8 = NULL,
4032     TL_TEXT_CAT_ATTRIBUTE9 = NULL,
4033     TL_TEXT_CAT_ATTRIBUTE10 = NULL,
4034     TL_TEXT_CAT_ATTRIBUTE11 = NULL,
4035     TL_TEXT_CAT_ATTRIBUTE12 = NULL,
4036     TL_TEXT_CAT_ATTRIBUTE13 = NULL,
4037     TL_TEXT_CAT_ATTRIBUTE14 = NULL,
4038     TL_TEXT_CAT_ATTRIBUTE15 = NULL,
4039     TL_TEXT_CAT_ATTRIBUTE16 = NULL,
4040     TL_TEXT_CAT_ATTRIBUTE17 = NULL,
4041     TL_TEXT_CAT_ATTRIBUTE18 = NULL,
4042     TL_TEXT_CAT_ATTRIBUTE19 = NULL,
4043     TL_TEXT_CAT_ATTRIBUTE20 = NULL,
4044     TL_TEXT_CAT_ATTRIBUTE21 = NULL,
4045     TL_TEXT_CAT_ATTRIBUTE22 = NULL,
4046     TL_TEXT_CAT_ATTRIBUTE23 = NULL,
4047     TL_TEXT_CAT_ATTRIBUTE24 = NULL,
4048     TL_TEXT_CAT_ATTRIBUTE25 = NULL,
4049     TL_TEXT_CAT_ATTRIBUTE26 = NULL,
4050     TL_TEXT_CAT_ATTRIBUTE27 = NULL,
4051     TL_TEXT_CAT_ATTRIBUTE28 = NULL,
4052     TL_TEXT_CAT_ATTRIBUTE29 = NULL,
4053     TL_TEXT_CAT_ATTRIBUTE30 = NULL,
4054     TL_TEXT_CAT_ATTRIBUTE31 = NULL,
4055     TL_TEXT_CAT_ATTRIBUTE32 = NULL,
4056     TL_TEXT_CAT_ATTRIBUTE33 = NULL,
4057     TL_TEXT_CAT_ATTRIBUTE34 = NULL,
4058     TL_TEXT_CAT_ATTRIBUTE35 = NULL,
4059     TL_TEXT_CAT_ATTRIBUTE36 = NULL,
4060     TL_TEXT_CAT_ATTRIBUTE37 = NULL,
4061     TL_TEXT_CAT_ATTRIBUTE38 = NULL,
4062     TL_TEXT_CAT_ATTRIBUTE39 = NULL,
4063     TL_TEXT_CAT_ATTRIBUTE40 = NULL,
4064     TL_TEXT_CAT_ATTRIBUTE41 = NULL,
4065     TL_TEXT_CAT_ATTRIBUTE42 = NULL,
4066     TL_TEXT_CAT_ATTRIBUTE43 = NULL,
4067     TL_TEXT_CAT_ATTRIBUTE44 = NULL,
4068     TL_TEXT_CAT_ATTRIBUTE45 = NULL,
4069     TL_TEXT_CAT_ATTRIBUTE46 = NULL,
4070     TL_TEXT_CAT_ATTRIBUTE47 = NULL,
4071     TL_TEXT_CAT_ATTRIBUTE48 = NULL,
4072     TL_TEXT_CAT_ATTRIBUTE49 = NULL,
4073     TL_TEXT_CAT_ATTRIBUTE50 = NULL,
4074     -- WHO columns
4075     LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4076     LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4077     LAST_UPDATE_DATE       = sysdate,
4078     CREATED_BY             = FND_GLOBAL.user_id,
4079     CREATION_DATE          = sysdate,
4080     REQUEST_ID             = FND_GLOBAL.conc_request_id,
4081     PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4082     PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4083     PROGRAM_UPDATE_DATE    = sysdate,
4084     LAST_UPDATED_PROGRAM   = d_mod
4085   WHERE  po_line_id = -2
4086     AND req_template_name = '-2'
4087     AND req_template_line_num = -2
4088     AND inventory_item_id = p_inventory_item_id
4089     AND org_id = p_org_id;
4090 
4091 
4092   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows wiped out='||SQL%rowcount); END IF;
4093 
4094   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
4095 EXCEPTION
4096   WHEN OTHERS THEN
4097     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
4098     RAISE;
4099 END wipeout_category_attributes_MI;
4100 
4101 -- update attributes for master items
4102 PROCEDURE update_attributes_MI
4103 (
4104   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
4105   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
4106   p_inventory_item_id     IN PO_ATTRIBUTE_VALUES_TLP.inventory_item_id%TYPE,
4107   p_language              IN PO_ATTRIBUTE_VALUES_TLP.language%TYPE,
4108   p_item_description      IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE,
4109   p_long_description      IN PO_ATTRIBUTE_VALUES_TLP.long_description%TYPE,
4110   p_organization_id       IN NUMBER,
4111   p_master_organization_id IN NUMBER
4112 )
4113 IS
4114   d_mod CONSTANT VARCHAR2(100) := D_update_attributes||'_MI';
4115   l_progress      VARCHAR2(4);
4116 
4117   l_type_lookup_code PO_HEADERS_ALL.type_lookup_code%TYPE;
4118   l_orig_ip_category_id PO_LINES_ALL.ip_category_id%TYPE;
4119   l_orig_item_description PO_ATTRIBUTE_VALUES_TLP.description%TYPE;
4120   l_manufacturer_part_num   PO_ATTRIBUTE_VALUES.MANUFACTURER_PART_NUM%TYPE;
4121   l_orig_long_desc    PO_ATTRIBUTE_VALUES_TLP.long_description%TYPE;
4122   l_new_long_description        PO_ATTRIBUTE_VALUES_TLP.long_description%TYPE := nvl(p_long_description,'   ');
4123   l_manufacturer       PO_ATTRIBUTE_VALUES_TLP.MANUFACTURER%TYPE;
4124   l_proc_lead_time     PO_ATTRIBUTE_VALUES.LEAD_TIME%TYPE;
4125   l_orig_manufacturer   PO_ATTRIBUTE_VALUES_TLP.MANUFACTURER%TYPE;
4126   l_inventory_org_id PO_LINES_ALL.org_id%TYPE;
4127   l_rec_tlp_for_lang VARCHAR2(100);
4128 
4129 BEGIN
4130   l_progress := '010';
4131 
4132 
4133   IF PO_LOG.d_proc THEN
4134     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
4135     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
4136     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
4137     PO_LOG.proc_begin(d_mod,'p_language',p_language);
4138     PO_LOG.proc_begin(d_mod,'p_item_description',p_item_description);
4139     PO_LOG.proc_begin(d_mod,'p_long_description',p_long_description);
4140     PO_LOG.proc_begin(d_mod,'p_organization_id', p_organization_id);
4141     PO_LOG.proc_begin(d_mod,'p_master_organization_id',p_master_organization_id);
4142   END IF;
4143 
4144   l_progress := '020';
4145   -- SQL What: Check if ip_category_id has changed
4146   -- SQL Why : If ip_category_id has changed, then NULL out the category based
4147   --           attributes i.e. all attribute columns that have 'CAT' in the
4148   --           name.
4149   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4150   SELECT ip_category_id
4151   INTO l_orig_ip_category_id
4152   FROM PO_ATTRIBUTE_VALUES
4153   WHERE po_line_id = -2
4154     AND req_template_name = '-2'
4155     AND req_template_line_num = -2
4156     AND inventory_item_id = p_inventory_item_id
4157     AND org_id = p_org_id;
4158 
4159   l_progress := '050';
4160   -- If ip_category_id has changed, then NULL out the category based attributes
4161   -- i.e. all attribute columns that have 'CAT' in the name.
4162         -- the         PO_ATTRIBUTE_VALUES is foing to be updated there for
4163         -- query the latest saved attributes in mtl
4164       -- list down the base descriptors in PO_ATTRIBUTE_VALUES
4165       -- LEAD_TIME     AVAILABILITY    UNSPSC    MANUFACTURER_PART_NUM
4166       -- PICTURE   THUMBNAIL_IMAGE   SUPPLIER_URL  MANUFACTURER_URL
4167       -- ATTACHMENT_URL
4168       BEGIN
4169 
4170         SELECT MFG_PART_NUM, MANUFACTURER_NAME
4171         INTO l_manufacturer_part_num, l_manufacturer
4172         FROM(
4173         SELECT MFG_PART_NUM,MANUFACTURER_NAME
4174         FROM  MTL_MFG_PART_NUMBERS_ALL_V
4175         WHERE INVENTORY_ITEM_ID =p_inventory_item_id
4176         AND ORGANIZATION_ID = p_master_organization_id
4177         ORDER BY ROW_ID ) WHERE ROWNUM =1;
4178 
4179       EXCEPTION
4180       WHEN No_Data_Found THEN
4181         l_manufacturer_part_num:='';
4182         l_manufacturer := '';
4183       END;
4184 
4185         SELECT FULL_LEAD_TIME
4186         INTO l_proc_lead_time
4187         FROM mtl_system_items_b
4188         WHERE INVENTORY_ITEM_ID =p_inventory_item_id
4189         AND ORGANIZATION_ID = p_organization_id;
4190 
4191 
4192 
4193 
4194 
4195       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;
4196    l_progress := '070';
4197 
4198 
4199 
4200   IF (p_ip_category_id <> l_orig_ip_category_id) THEN
4201     l_progress := '060';
4202     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;
4203 
4204     wipeout_category_attributes_MI
4205     (
4206       p_org_id                  => p_org_id,
4207       p_ip_category_id          => p_ip_category_id,
4208       p_inventory_item_id       => p_inventory_item_id,
4209       p_language                => p_language,
4210       p_item_description        => p_item_description
4211     );
4212 
4213   ELSE
4214       IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'IP_CATEGORY_ID has not changed.'); END IF;
4215   END IF;
4216 
4217   l_progress := '070';
4218 
4219     -- SQL What: Update Attribute values
4220     -- SQL Why : To keep in synch with the Line level values
4221     -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4222     UPDATE PO_ATTRIBUTE_VALUES
4223     SET ip_category_id = p_ip_category_id,
4224         MANUFACTURER_PART_NUM =  l_manufacturer_part_num,
4225 	LEAD_TIME	       = l_proc_lead_time,
4226         -- WHO columns
4227         LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4228         LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4229         LAST_UPDATE_DATE       = sysdate,
4230         CREATED_BY             = FND_GLOBAL.user_id,
4231         CREATION_DATE          = sysdate,
4232         REQUEST_ID             = FND_GLOBAL.conc_request_id,
4233         PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4234         PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4235         PROGRAM_UPDATE_DATE    = sysdate,
4236         LAST_UPDATED_PROGRAM   = d_mod
4237     WHERE po_line_id = -2
4238     AND req_template_name = '-2'
4239     AND req_template_line_num = -2
4240     AND inventory_item_id = p_inventory_item_id
4241     AND org_id = p_org_id;
4242 
4243 
4244     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows updated='||SQL%rowcount); END IF;
4245 
4246 
4247 
4248    l_progress := '085';
4249 
4250 
4251 /* Whenever translations are provided need to make sure inventory calls
4252       our api. In our update_attributes_mi we should insert records in
4253       to attributes tlp if record doesn't exist already.
4254 
4255 So check for this language if the record is present in tlp
4256 if not present than insert record for that lang
4257 if present update the record for that lang
4258 */
4259 
4260   l_rec_tlp_for_lang := '';
4261 
4262  BEGIN
4263    SELECT 'TLP row for this language already exists'
4264    INTO l_rec_tlp_for_lang
4265    FROM PO_ATTRIBUTE_VALUES_TLP TLP2
4266       WHERE TLP2.po_line_id = -2
4267        AND TLP2.req_template_name = '-2'
4268        AND TLP2.req_template_line_num = -2
4269        AND TLP2.org_id = p_org_id
4270        AND inventory_item_id= p_inventory_item_id
4271        AND TLP2.language = p_language;
4272  EXCEPTION
4273   WHEN No_Data_Found THEN
4274     l_rec_tlp_for_lang:='';
4275  END;
4276 
4277   IF (l_rec_tlp_for_lang IS NULL OR l_rec_tlp_for_lang = '' ) THEN
4278     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'no records hence insert into PO_ATTRIBUTE_VALUES_TLP ' ); END IF;
4279       l_progress := '090';
4280 
4281  INSERT INTO PO_ATTRIBUTE_VALUES_TLP TLP
4282     (
4283       attribute_values_tlp_id,
4284       description,
4285       language,
4286       po_line_id,
4287       req_template_name,
4288       req_template_line_num,
4289       ip_category_id,
4290       inventory_item_id,
4291       org_id,
4292       manufacturer,
4293       long_description,
4294       last_update_login,
4295       last_updated_by,
4296       last_update_date,
4297       created_by,
4298       creation_date,
4299       request_id,
4300       program_application_id,
4301       program_id,
4302       program_update_date,
4303       last_updated_program
4304     )
4305     SELECT
4306       PO_ATTRIBUTE_VALUES_TLP_S.nextval,
4307       p_item_description,
4308       p_language,
4309       -2,
4310       '-2',
4311       -2,
4312       p_ip_category_id,
4313       p_inventory_item_id,
4314       p_org_id,
4315       l_manufacturer,
4316       l_new_long_description,
4317       FND_GLOBAL.login_id,        -- last_update_login
4318       FND_GLOBAL.user_id,         -- last_updated_by
4319       sysdate,                    -- last_update_date
4320       FND_GLOBAL.user_id,         -- created_by
4321       sysdate,                    -- creation_date
4322       FND_GLOBAL.conc_request_id, -- request_id
4323       FND_GLOBAL.prog_appl_id,
4324       FND_GLOBAL.conc_program_id, -- program_id
4325       sysdate,                    -- program_update_date
4326       d_mod                       -- last_updated_program
4327     FROM dual;
4328 
4329   ELSE
4330        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;
4331     l_progress := '095';
4332         SELECT description,Nvl(LONG_DESCRIPTION,''),Nvl(MANUFACTURER,'')
4333         INTO l_orig_item_description,l_orig_long_desc,l_orig_manufacturer
4334         FROM PO_ATTRIBUTE_VALUES_TLP
4335         WHERE po_line_id = -2
4336         AND req_template_name = '-2'
4337         AND req_template_line_num = -2
4338         AND inventory_item_id = p_inventory_item_id
4339         AND org_id = p_org_id
4340         AND language = p_language;
4341 
4342 
4343        IF ( (p_ip_category_id <> l_orig_ip_category_id) OR
4344               (p_item_description is null AND  l_orig_item_description is not null ) OR
4345               (p_item_description is not null AND (  l_orig_item_description is null OR   l_orig_item_description <>p_item_description)) OR
4346               ( l_new_long_description is null AND l_orig_long_desc is not null ) OR
4347               (l_new_long_description is not null AND ( l_orig_long_desc is null OR  l_orig_long_desc <> l_new_long_description)) OR
4348               (l_manufacturer is null AND l_orig_manufacturer is not null ) OR
4349               (l_manufacturer is not null AND ( l_orig_manufacturer is null OR  l_orig_manufacturer <> l_manufacturer))
4350            )THEN
4351     -- SQL What: Update Attribute TLP values
4352     -- SQL Why : To keep in synch with the Line level values
4353     -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id, language
4354 
4355 
4356 
4357 	  UPDATE PO_ATTRIBUTE_VALUES_TLP
4358 	    SET ip_category_id = p_ip_category_id,
4359 		description = p_item_description,
4360 		manufacturer =   l_manufacturer,
4361 		long_description =  l_new_long_description,
4362 		-- WHO columns
4363 		LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4364 		LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4365 		LAST_UPDATE_DATE       = sysdate,
4366 		CREATED_BY             = FND_GLOBAL.user_id,
4367 		CREATION_DATE          = sysdate,
4368 		REQUEST_ID             = FND_GLOBAL.conc_request_id,
4369 		PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4370 		PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4371 		PROGRAM_UPDATE_DATE    = sysdate,
4372 		LAST_UPDATED_PROGRAM   = d_mod
4373 	    WHERE po_line_id = -2
4374 	    AND req_template_name = '-2'
4375 	    AND req_template_line_num = -2
4376 	    AND inventory_item_id = p_inventory_item_id
4377 	    AND org_id = p_org_id
4378 	    AND language = p_language;
4379 
4380 	    IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows updated='||SQL%rowcount); END IF;
4381 	  END IF;
4382 
4383   END IF;
4384 
4385 
4386   l_progress := '100';
4387 
4388   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
4389 EXCEPTION
4390   WHEN OTHERS THEN
4391     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
4392     RAISE;
4393 END update_attributes_MI;
4394 
4395 
4396 
4397 --BUG 6599217:END
4398 
4399 --------------------------------------------------------------------------------
4400 --Start of Comments
4401 --Name: gen_draft_line_translations
4402 --Pre-reqs:
4403 --  A TLP row for the Header's created_launguage should already have
4404 --  been inserted for each line in the given PO Header.
4405 --Modifies:
4406 --  FND_MSG_PUB on unhandled exceptions.
4407 --Locks:
4408 --  None.
4409 --Function:
4410 --  Create Translations in the TLP table for each of the modified line
4411 --  present in the PO_LINES_DRAFT_ALL table for a given draft_id.
4412 --  (for a Blanket or Quotation).
4413 --  It creates translations from one of the 2 sources:
4414 --      a) INV Item Master (if item_id is not null)
4415 --      b) Copies the TLP row of the created language to all other langs
4416 --         (if item_id is null)
4417 --
4418 --Parameters:
4419 --IN:
4420 --p_draft_id
4421 --  The DRAFT_ID to get the modifed PO Lines for which translations need to
4422 --  be created.
4423 --p_doc-type
4424 --  The document type of the document.
4425 --End of Comments
4426 --------------------------------------------------------------------------------
4427 PROCEDURE gen_draft_line_translations
4428 (
4429   p_draft_id IN NUMBER
4430 , p_doc_type IN VARCHAR2
4431 )
4432 IS
4433   d_mod CONSTANT VARCHAR2(100) := D_gen_draft_line_translations;
4434   l_progress      VARCHAR2(4);
4435 
4436   l_language_codes  PO_TBL_NUMBER;
4437   l_tlp_row         PO_ATTRIBUTE_VALUES_TLP%rowtype;
4438   l_po_line_id_list PO_TBL_NUMBER;
4439   l_tlp_id_list     PO_TBL_NUMBER;
4440 BEGIN
4441   l_progress := '010';
4442 
4443   IF PO_LOG.d_proc THEN
4444     PO_LOG.proc_begin(d_mod,'p_draft_id',p_draft_id);
4445     PO_LOG.proc_begin(d_mod,'p_doc_type',p_doc_type);
4446   END IF;
4447 
4448   IF (p_doc_type IN ('BLANKET', 'QUOTATION')) THEN
4449 
4450     -- SQL What: Get the PO_LINE_ID's and TLP_ID's for the PO
4451     --           Fetch only the lines that are modified. Since the
4452     --           PO_LINES_DRAFT_ALL table would contain only the lines that are
4453     --           modified, we join to it to get the list of PO_LINE_ID's.
4454     -- SQL Why : To create the TLP translations for each line
4455     -- SQL Join: draft_id, po_header_id, po_line_id, language
4456     SELECT POLD.po_line_id, TLP.attribute_values_tlp_id
4457     BULK COLLECT INTO l_po_line_id_list, l_tlp_id_list
4458     FROM PO_LINES_DRAFT_ALL POLD,
4459          PO_ATTRIBUTE_VALUES_TLP TLP,
4460          PO_HEADERS_ALL POH
4461     WHERE POLD.draft_id = p_draft_id
4462       AND NVL(POLD.change_accepted_flag, 'Y') = 'Y'
4463       AND POLD.po_line_id = TLP.po_line_id
4464       AND POH.po_header_id = POLD.po_header_id
4465       AND TLP.language = POH.created_language;
4466 
4467     l_progress := '020';
4468     create_translations
4469     (
4470       p_doc_type                 => p_doc_type,
4471       p_default_lang_tlp_id_list => l_tlp_id_list,
4472       p_po_line_id_list          => l_po_line_id_list
4473     );
4474   ELSE
4475     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Invalid doc type='||p_doc_type||'. No translations created.'); END IF;
4476   END IF; -- IF (p_doc_type IN ('BLANKET', 'QUOTATION'))
4477 
4478   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
4479 EXCEPTION
4480   WHEN OTHERS THEN
4481     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
4482     RAISE;
4483 END gen_draft_line_translations;
4484 
4485 --------------------------------------------------------------------------------
4486 --Start of Comments
4487 --Name: wipeout_category_attributes
4488 --Pre-reqs:
4489 --  None
4490 --Modifies:
4491 --  FND_MSG_PUB on unhandled exceptions.
4492 --Locks:
4493 --  None.
4494 --Function:
4495 --  To set the vlaue of all the category based descriptors in the Attribute
4496 --  Values and TLP tables as NULL.
4497 --
4498 --Parameters:
4499 --IN:
4500 --p_po_line_id
4501 --p_req_template_name
4502 --p_req_template_line_num
4503 --p_org_id
4504 --  The default values of the Attr given by the calling program.
4505 --p_ip_category_id
4506 --p_inventory_item_id
4507 --p_item_description
4508 --  The fields that can be updated
4509 --End of Comments
4510 --------------------------------------------------------------------------------
4511 PROCEDURE wipeout_category_attributes
4512 (
4513   p_po_line_id            IN NUMBER
4514 , p_req_template_name     IN VARCHAR2
4515 , p_req_template_line_num IN NUMBER
4516 , p_org_id                IN NUMBER
4517 )
4518 IS
4519   d_mod CONSTANT VARCHAR2(100) := D_wipeout_category_attributes;
4520   l_progress      VARCHAR2(4);
4521 
4522 BEGIN
4523   l_progress := '010';
4524 
4525   IF PO_LOG.d_proc THEN
4526     PO_LOG.proc_begin(d_mod,'p_po_line_id',p_po_line_id);
4527     PO_LOG.proc_begin(d_mod,'p_req_template_name',p_req_template_name);
4528     PO_LOG.proc_begin(d_mod,'p_req_template_line_num',p_req_template_line_num);
4529     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
4530   END IF;
4531 
4532   l_progress := '020';
4533   -- SQL What: Wipeout category based attributes from AttributeValues table
4534   -- SQL Why : Because the category was changed
4535   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4536   UPDATE PO_ATTRIBUTE_VALUES
4537   SET
4538     NUM_CAT_ATTRIBUTE1 = NULL,
4539     NUM_CAT_ATTRIBUTE2 = NULL,
4540     NUM_CAT_ATTRIBUTE3 = NULL,
4541     NUM_CAT_ATTRIBUTE4 = NULL,
4542     NUM_CAT_ATTRIBUTE5 = NULL,
4543     NUM_CAT_ATTRIBUTE6 = NULL,
4544     NUM_CAT_ATTRIBUTE7 = NULL,
4545     NUM_CAT_ATTRIBUTE8 = NULL,
4546     NUM_CAT_ATTRIBUTE9 = NULL,
4547     NUM_CAT_ATTRIBUTE10 = NULL,
4548     NUM_CAT_ATTRIBUTE11 = NULL,
4549     NUM_CAT_ATTRIBUTE12 = NULL,
4550     NUM_CAT_ATTRIBUTE13 = NULL,
4551     NUM_CAT_ATTRIBUTE14 = NULL,
4552     NUM_CAT_ATTRIBUTE15 = NULL,
4553     NUM_CAT_ATTRIBUTE16 = NULL,
4554     NUM_CAT_ATTRIBUTE17 = NULL,
4555     NUM_CAT_ATTRIBUTE18 = NULL,
4556     NUM_CAT_ATTRIBUTE19 = NULL,
4557     NUM_CAT_ATTRIBUTE20 = NULL,
4558     NUM_CAT_ATTRIBUTE21 = NULL,
4559     NUM_CAT_ATTRIBUTE22 = NULL,
4560     NUM_CAT_ATTRIBUTE23 = NULL,
4561     NUM_CAT_ATTRIBUTE24 = NULL,
4562     NUM_CAT_ATTRIBUTE25 = NULL,
4563     NUM_CAT_ATTRIBUTE26 = NULL,
4564     NUM_CAT_ATTRIBUTE27 = NULL,
4565     NUM_CAT_ATTRIBUTE28 = NULL,
4566     NUM_CAT_ATTRIBUTE29 = NULL,
4567     NUM_CAT_ATTRIBUTE30 = NULL,
4568     NUM_CAT_ATTRIBUTE31 = NULL,
4569     NUM_CAT_ATTRIBUTE32 = NULL,
4570     NUM_CAT_ATTRIBUTE33 = NULL,
4571     NUM_CAT_ATTRIBUTE34 = NULL,
4572     NUM_CAT_ATTRIBUTE35 = NULL,
4573     NUM_CAT_ATTRIBUTE36 = NULL,
4574     NUM_CAT_ATTRIBUTE37 = NULL,
4575     NUM_CAT_ATTRIBUTE38 = NULL,
4576     NUM_CAT_ATTRIBUTE39 = NULL,
4577     NUM_CAT_ATTRIBUTE40 = NULL,
4578     NUM_CAT_ATTRIBUTE41 = NULL,
4579     NUM_CAT_ATTRIBUTE42 = NULL,
4580     NUM_CAT_ATTRIBUTE43 = NULL,
4581     NUM_CAT_ATTRIBUTE44 = NULL,
4582     NUM_CAT_ATTRIBUTE45 = NULL,
4583     NUM_CAT_ATTRIBUTE46 = NULL,
4584     NUM_CAT_ATTRIBUTE47 = NULL,
4585     NUM_CAT_ATTRIBUTE48 = NULL,
4586     NUM_CAT_ATTRIBUTE49 = NULL,
4587     NUM_CAT_ATTRIBUTE50 = NULL,
4588     TEXT_CAT_ATTRIBUTE1 = NULL,
4589     TEXT_CAT_ATTRIBUTE2 = NULL,
4590     TEXT_CAT_ATTRIBUTE3 = NULL,
4591     TEXT_CAT_ATTRIBUTE4 = NULL,
4592     TEXT_CAT_ATTRIBUTE5 = NULL,
4593     TEXT_CAT_ATTRIBUTE6 = NULL,
4594     TEXT_CAT_ATTRIBUTE7 = NULL,
4595     TEXT_CAT_ATTRIBUTE8 = NULL,
4596     TEXT_CAT_ATTRIBUTE9 = NULL,
4597     TEXT_CAT_ATTRIBUTE10 = NULL,
4598     TEXT_CAT_ATTRIBUTE11 = NULL,
4599     TEXT_CAT_ATTRIBUTE12 = NULL,
4600     TEXT_CAT_ATTRIBUTE13 = NULL,
4601     TEXT_CAT_ATTRIBUTE14 = NULL,
4602     TEXT_CAT_ATTRIBUTE15 = NULL,
4603     TEXT_CAT_ATTRIBUTE16 = NULL,
4604     TEXT_CAT_ATTRIBUTE17 = NULL,
4605     TEXT_CAT_ATTRIBUTE18 = NULL,
4606     TEXT_CAT_ATTRIBUTE19 = NULL,
4607     TEXT_CAT_ATTRIBUTE20 = NULL,
4608     TEXT_CAT_ATTRIBUTE21 = NULL,
4609     TEXT_CAT_ATTRIBUTE22 = NULL,
4610     TEXT_CAT_ATTRIBUTE23 = NULL,
4611     TEXT_CAT_ATTRIBUTE24 = NULL,
4612     TEXT_CAT_ATTRIBUTE25 = NULL,
4613     TEXT_CAT_ATTRIBUTE26 = NULL,
4614     TEXT_CAT_ATTRIBUTE27 = NULL,
4615     TEXT_CAT_ATTRIBUTE28 = NULL,
4616     TEXT_CAT_ATTRIBUTE29 = NULL,
4617     TEXT_CAT_ATTRIBUTE30 = NULL,
4618     TEXT_CAT_ATTRIBUTE31 = NULL,
4619     TEXT_CAT_ATTRIBUTE32 = NULL,
4620     TEXT_CAT_ATTRIBUTE33 = NULL,
4621     TEXT_CAT_ATTRIBUTE34 = NULL,
4622     TEXT_CAT_ATTRIBUTE35 = NULL,
4623     TEXT_CAT_ATTRIBUTE36 = NULL,
4624     TEXT_CAT_ATTRIBUTE37 = NULL,
4625     TEXT_CAT_ATTRIBUTE38 = NULL,
4626     TEXT_CAT_ATTRIBUTE39 = NULL,
4627     TEXT_CAT_ATTRIBUTE40 = NULL,
4628     TEXT_CAT_ATTRIBUTE41 = NULL,
4629     TEXT_CAT_ATTRIBUTE42 = NULL,
4630     TEXT_CAT_ATTRIBUTE43 = NULL,
4631     TEXT_CAT_ATTRIBUTE44 = NULL,
4632     TEXT_CAT_ATTRIBUTE45 = NULL,
4633     TEXT_CAT_ATTRIBUTE46 = NULL,
4634     TEXT_CAT_ATTRIBUTE47 = NULL,
4635     TEXT_CAT_ATTRIBUTE48 = NULL,
4636     TEXT_CAT_ATTRIBUTE49 = NULL,
4637     TEXT_CAT_ATTRIBUTE50 = NULL,
4638     -- WHO columns
4639     LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4640     LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4641     LAST_UPDATE_DATE       = sysdate,
4642     CREATED_BY             = FND_GLOBAL.user_id,
4643     CREATION_DATE          = sysdate,
4644     REQUEST_ID             = FND_GLOBAL.conc_request_id,
4645     PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4646     PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4647     PROGRAM_UPDATE_DATE    = sysdate,
4648     LAST_UPDATED_PROGRAM   = d_mod
4649   WHERE po_line_id = NVL(p_po_line_id, -2)
4650     AND req_template_name = NVL(p_req_template_name, '-2')
4651     AND req_template_line_num = NVL(p_req_template_line_num, -2)
4652     AND org_id = p_org_id;
4653 
4654   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows wiped out='||SQL%rowcount); END IF;
4655 
4656   l_progress := '030';
4657   -- SQL What: Wipeout category based attributes from TLP table for all Langs
4658   -- SQL Why : Because the category was changed
4659   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4660   UPDATE PO_ATTRIBUTE_VALUES_TLP
4661   SET
4662     TL_TEXT_CAT_ATTRIBUTE1 = NULL,
4663     TL_TEXT_CAT_ATTRIBUTE2 = NULL,
4664     TL_TEXT_CAT_ATTRIBUTE3 = NULL,
4665     TL_TEXT_CAT_ATTRIBUTE4 = NULL,
4666     TL_TEXT_CAT_ATTRIBUTE5 = NULL,
4667     TL_TEXT_CAT_ATTRIBUTE6 = NULL,
4668     TL_TEXT_CAT_ATTRIBUTE7 = NULL,
4669     TL_TEXT_CAT_ATTRIBUTE8 = NULL,
4670     TL_TEXT_CAT_ATTRIBUTE9 = NULL,
4671     TL_TEXT_CAT_ATTRIBUTE10 = NULL,
4672     TL_TEXT_CAT_ATTRIBUTE11 = NULL,
4673     TL_TEXT_CAT_ATTRIBUTE12 = NULL,
4674     TL_TEXT_CAT_ATTRIBUTE13 = NULL,
4675     TL_TEXT_CAT_ATTRIBUTE14 = NULL,
4676     TL_TEXT_CAT_ATTRIBUTE15 = NULL,
4677     TL_TEXT_CAT_ATTRIBUTE16 = NULL,
4678     TL_TEXT_CAT_ATTRIBUTE17 = NULL,
4679     TL_TEXT_CAT_ATTRIBUTE18 = NULL,
4680     TL_TEXT_CAT_ATTRIBUTE19 = NULL,
4681     TL_TEXT_CAT_ATTRIBUTE20 = NULL,
4682     TL_TEXT_CAT_ATTRIBUTE21 = NULL,
4683     TL_TEXT_CAT_ATTRIBUTE22 = NULL,
4684     TL_TEXT_CAT_ATTRIBUTE23 = NULL,
4685     TL_TEXT_CAT_ATTRIBUTE24 = NULL,
4686     TL_TEXT_CAT_ATTRIBUTE25 = NULL,
4687     TL_TEXT_CAT_ATTRIBUTE26 = NULL,
4688     TL_TEXT_CAT_ATTRIBUTE27 = NULL,
4689     TL_TEXT_CAT_ATTRIBUTE28 = NULL,
4690     TL_TEXT_CAT_ATTRIBUTE29 = NULL,
4691     TL_TEXT_CAT_ATTRIBUTE30 = NULL,
4692     TL_TEXT_CAT_ATTRIBUTE31 = NULL,
4693     TL_TEXT_CAT_ATTRIBUTE32 = NULL,
4694     TL_TEXT_CAT_ATTRIBUTE33 = NULL,
4695     TL_TEXT_CAT_ATTRIBUTE34 = NULL,
4696     TL_TEXT_CAT_ATTRIBUTE35 = NULL,
4697     TL_TEXT_CAT_ATTRIBUTE36 = NULL,
4698     TL_TEXT_CAT_ATTRIBUTE37 = NULL,
4699     TL_TEXT_CAT_ATTRIBUTE38 = NULL,
4700     TL_TEXT_CAT_ATTRIBUTE39 = NULL,
4701     TL_TEXT_CAT_ATTRIBUTE40 = NULL,
4702     TL_TEXT_CAT_ATTRIBUTE41 = NULL,
4703     TL_TEXT_CAT_ATTRIBUTE42 = NULL,
4704     TL_TEXT_CAT_ATTRIBUTE43 = NULL,
4705     TL_TEXT_CAT_ATTRIBUTE44 = NULL,
4706     TL_TEXT_CAT_ATTRIBUTE45 = NULL,
4707     TL_TEXT_CAT_ATTRIBUTE46 = NULL,
4708     TL_TEXT_CAT_ATTRIBUTE47 = NULL,
4709     TL_TEXT_CAT_ATTRIBUTE48 = NULL,
4710     TL_TEXT_CAT_ATTRIBUTE49 = NULL,
4711     TL_TEXT_CAT_ATTRIBUTE50 = NULL,
4712     -- WHO columns
4713     LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4714     LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4715     LAST_UPDATE_DATE       = sysdate,
4716     CREATED_BY             = FND_GLOBAL.user_id,
4717     CREATION_DATE          = sysdate,
4718     REQUEST_ID             = FND_GLOBAL.conc_request_id,
4719     PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4720     PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4721     PROGRAM_UPDATE_DATE    = sysdate,
4722     LAST_UPDATED_PROGRAM   = d_mod
4723   WHERE po_line_id = NVL(p_po_line_id, -2)
4724     AND req_template_name = NVL(p_req_template_name, '-2')
4725     AND req_template_line_num = NVL(p_req_template_line_num, -2)
4726     AND org_id = p_org_id;
4727 
4728   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows wiped out='||SQL%rowcount); END IF;
4729 
4730   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
4731 EXCEPTION
4732   WHEN OTHERS THEN
4733     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
4734     RAISE;
4735 END wipeout_category_attributes;
4736 
4737 
4738 --------------------------------------------------------------------------------
4739 --Start of Comments
4740 --Name: update_attributes
4741 --Pre-reqs:
4742 --  None
4743 --Modifies:
4744 --  FND_MSG_PUB on unhandled exceptions.
4745 --Locks:
4746 --  None.
4747 --Function:
4748 --  To update the Attribute Values and TLP, by using the updated fields
4749 --  at the Line Level.
4750 --  Only the category_id or item_description can change in a saved PO line.
4751 --
4752 --Parameters:
4753 --IN:
4754 --p_po_line_id
4755 --p_req_template_name
4756 --p_req_template_line_num
4757 --p_org_id
4758 --  The default values of the Attr given by the calling program.
4759 --p_ip_category_id
4760 --p_item_description
4761 --  The fields that can be updated
4762 --End of Comments
4763 --------------------------------------------------------------------------------
4764 PROCEDURE update_attributes
4765 (
4766   p_doc_type              IN VARCHAR2, -- 'BLANKET', 'QUOTATION', 'REQ_TEMPLATE'
4767   p_po_line_id            IN PO_LINES.po_line_id%TYPE,
4768   p_req_template_name     IN PO_REQEXPRESS_LINES_ALL.express_name%TYPE,
4769   p_req_template_line_num IN PO_REQEXPRESS_LINES_ALL.sequence_num%TYPE,
4770   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
4771   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
4772   p_language              IN PO_ATTRIBUTE_VALUES_TLP.language%TYPE,
4773   p_item_description      IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE
4774 )
4775 IS
4776   d_mod CONSTANT VARCHAR2(100) := D_update_attributes;
4777   l_progress      VARCHAR2(4);
4778 
4779   l_type_lookup_code PO_HEADERS_ALL.type_lookup_code%TYPE;
4780   l_orig_ip_category_id PO_LINES_ALL.ip_category_id%TYPE;
4781   l_orig_item_description PO_ATTRIBUTE_VALUES_TLP.description%TYPE;
4782 BEGIN
4783   l_progress := '010';
4784 
4785   IF PO_LOG.d_proc THEN
4786     PO_LOG.proc_begin(d_mod,'p_po_line_id',p_po_line_id);
4787     PO_LOG.proc_begin(d_mod,'p_req_template_name',p_req_template_name);
4788     PO_LOG.proc_begin(d_mod,'p_req_template_line_num',p_req_template_line_num);
4789     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
4790     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
4791     PO_LOG.proc_begin(d_mod,'p_language',p_language);
4792     PO_LOG.proc_begin(d_mod,'p_item_description',p_item_description);
4793   END IF;
4794 
4795   l_progress := '020';
4796   IF (p_po_line_id IS NOT NULL) THEN
4797     IF (p_doc_type IS NULL) THEN
4798       l_progress := '030';
4799       -- SQL What: Get the document type for the PO line
4800       -- SQL Why : To check if it BLANKET or QUOTATION or not
4801       -- SQL Join: po_line_id
4802       SELECT POH.type_lookup_code
4803       INTO l_type_lookup_code
4804       FROM PO_HEADERS_ALL POH,
4805            PO_LINES_ALL POL
4806       WHERE POL.po_line_id = p_po_line_id
4807         AND POH.po_header_id = POL.po_header_id;
4808     ELSE
4809       l_type_lookup_code := p_doc_type;
4810     END IF;
4811 
4812     -- Do not create Attr/TLP if the doc type is not BLANKET or QUOTATION
4813     IF (l_type_lookup_code NOT IN ('BLANKET', 'QUOTATION')) THEN
4814       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;
4815       RETURN;
4816     END IF;
4817   END IF;
4818 
4819   l_progress := '040';
4820   -- SQL What: Check if ip_category_id has changed
4821   -- SQL Why : If ip_category_id has changed, then NULL out the category based
4822   --           attributes i.e. all attribute columns that have 'CAT' in the
4823   --           name.
4824   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4825   SELECT ip_category_id
4826   INTO l_orig_ip_category_id
4827   FROM PO_ATTRIBUTE_VALUES
4828   WHERE po_line_id = NVL(p_po_line_id, -2)
4829     AND req_template_name = NVL(p_req_template_name, '-2')
4830     AND req_template_line_num = NVL(p_req_template_line_num, -2)
4831     AND org_id = p_org_id;
4832 
4833   l_progress := '050';
4834   -- If ip_category_id has changed, then NULL out the category based attributes
4835   -- i.e. all attribute columns that have 'CAT' in the name.
4836   IF (p_ip_category_id <> l_orig_ip_category_id) THEN
4837     l_progress := '060';
4838 
4839     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;
4840 
4841     wipeout_category_attributes
4842     (
4843       p_po_line_id            => p_po_line_id
4844     , p_req_template_name     => p_req_template_name
4845     , p_req_template_line_num => p_req_template_line_num
4846     , p_org_id                => p_org_id
4847     );
4848 
4849     l_progress := '070';
4850     -- SQL What: Update Attribute values
4851     -- SQL Why : To keep in synch with the Line level values
4852     -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4853     UPDATE PO_ATTRIBUTE_VALUES
4854     SET ip_category_id = p_ip_category_id,
4855         -- WHO columns
4856         LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4857         LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4858         LAST_UPDATE_DATE       = sysdate,
4859         CREATED_BY             = FND_GLOBAL.user_id,
4860         CREATION_DATE          = sysdate,
4861         REQUEST_ID             = FND_GLOBAL.conc_request_id,
4862         PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4863         PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4864         PROGRAM_UPDATE_DATE    = sysdate,
4865         LAST_UPDATED_PROGRAM   = d_mod
4866     WHERE po_line_id = NVL(p_po_line_id, -2)
4867       AND req_template_name = NVL(p_req_template_name, '-2')
4868       AND req_template_line_num = NVL(p_req_template_line_num, -2)
4869       AND org_id = p_org_id;
4870 
4871     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows updated='||SQL%rowcount); END IF;
4872 
4873   ELSE
4874     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'IP_CATEGORY_ID has not changed.'); END IF;
4875   END IF;
4876 
4877   l_progress := '080';
4878   -- SQL What: Check if item_description has changed
4879   -- SQL Why : No need to update TLP row if item_description and ip_category_id
4880   --           have not changed.
4881   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
4882   SELECT description
4883   INTO l_orig_item_description
4884   FROM PO_ATTRIBUTE_VALUES_TLP
4885   WHERE po_line_id = NVL(p_po_line_id, -2)
4886     AND req_template_name = NVL(p_req_template_name, '-2')
4887     AND req_template_line_num = NVL(p_req_template_line_num, -2)
4888     AND org_id = p_org_id
4889     AND language = p_language;
4890 
4891   IF (p_item_description = l_orig_item_description) THEN
4892     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'ITEM_DESCRIPTION has not changed.'); END IF;
4893   ELSE
4894     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'ITEM_DESCRIPTION has changed.'); END IF;
4895   END IF;
4896 
4897   l_progress := '090';
4898   IF ( (p_ip_category_id <> l_orig_ip_category_id) OR
4899        (p_item_description <> l_orig_item_description) ) THEN
4900     -- SQL What: Update Attribute TLP values
4901     -- SQL Why : To keep in synch with the Line level values
4902     -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id, language
4903     UPDATE PO_ATTRIBUTE_VALUES_TLP
4904     SET ip_category_id = p_ip_category_id,
4905         description = p_item_description,
4906         -- WHO columns
4907         LAST_UPDATE_LOGIN      = FND_GLOBAL.login_id,
4908         LAST_UPDATED_BY        = FND_GLOBAL.user_id,
4909         LAST_UPDATE_DATE       = sysdate,
4910         CREATED_BY             = FND_GLOBAL.user_id,
4911         CREATION_DATE          = sysdate,
4912         REQUEST_ID             = FND_GLOBAL.conc_request_id,
4913         PROGRAM_APPLICATION_ID = FND_GLOBAL.prog_appl_id,
4914         PROGRAM_ID             = FND_GLOBAL.conc_program_id,
4915         PROGRAM_UPDATE_DATE    = sysdate,
4916         LAST_UPDATED_PROGRAM   = d_mod
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 
4923     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows updated='||SQL%rowcount); END IF;
4924   END IF;
4925 
4926   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
4927 EXCEPTION
4928   WHEN OTHERS THEN
4929     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
4930     RAISE;
4931 END update_attributes;
4932 
4933 --------------------------------------------------------------------------------
4934 --Start of Comments
4935 --Name: copy_attributes
4936 --Pre-reqs:
4937 --  None
4938 --Modifies:
4939 --  None
4940 --Locks:
4941 --  None.
4942 --Function:
4943 --  To copy the Attribute Values and TLP rows from a given document to a new
4944 --  document.
4945 --
4946 --Parameters:
4947 --IN:
4948 --p_orig_po_line_id
4949 --  The PO_LINE_ID of the document from which the data has to be copied.
4950 --p_new_po_line_id
4951 --  The PO_LINE_ID of the new document.
4952 --OUT:
4953 -- None
4954 --End of Comments
4955 --------------------------------------------------------------------------------
4956 PROCEDURE copy_attributes
4957 (
4958   p_orig_po_line_id IN PO_LINES.po_line_id%TYPE
4959 , p_new_po_line_id  IN PO_LINES.po_line_id%TYPE
4960 )
4961 IS
4962   d_mod CONSTANT VARCHAR2(100) := D_copy_attributes;
4963   l_progress      VARCHAR2(4);
4964 
4965 BEGIN
4966   l_progress := '010';
4967 
4968   IF PO_LOG.d_proc THEN
4969     PO_LOG.proc_begin(d_mod,'p_orig_po_line_id',p_orig_po_line_id);
4970     PO_LOG.proc_begin(d_mod,'p_new_po_line_id',p_new_po_line_id);
4971   END IF;
4972 
4973 --Bug# 5520701: PICTURE column needed to be inserted.
4974 
4975   -- SQL What: Insert a new row for Attribute values
4976   -- SQL Why : To copy the Attr from old doc to new doc
4977   -- SQL Join: po_line_id
4978 
4979   INSERT INTO PO_ATTRIBUTE_VALUES (
4980     attribute_values_id,
4981     po_line_id,
4982     req_template_name,
4983     req_template_line_num,
4984     ip_category_id,
4985     inventory_item_id,
4986     org_id,
4987     manufacturer_part_num,
4988     picture,
4989     thumbnail_image,
4990     supplier_url,
4991     manufacturer_url,
4992     attachment_url,
4993     unspsc,
4994     availability,
4995     lead_time,
4996     text_base_attribute1,
4997     text_base_attribute2,
4998     text_base_attribute3,
4999     text_base_attribute4,
5000     text_base_attribute5,
5001     text_base_attribute6,
5002     text_base_attribute7,
5003     text_base_attribute8,
5004     text_base_attribute9,
5005     text_base_attribute10,
5006     text_base_attribute11,
5007     text_base_attribute12,
5008     text_base_attribute13,
5009     text_base_attribute14,
5010     text_base_attribute15,
5011     text_base_attribute16,
5012     text_base_attribute17,
5013     text_base_attribute18,
5014     text_base_attribute19,
5015     text_base_attribute20,
5016     text_base_attribute21,
5017     text_base_attribute22,
5018     text_base_attribute23,
5019     text_base_attribute24,
5020     text_base_attribute25,
5021     text_base_attribute26,
5022     text_base_attribute27,
5023     text_base_attribute28,
5024     text_base_attribute29,
5025     text_base_attribute30,
5026     text_base_attribute31,
5027     text_base_attribute32,
5028     text_base_attribute33,
5029     text_base_attribute34,
5030     text_base_attribute35,
5031     text_base_attribute36,
5032     text_base_attribute37,
5033     text_base_attribute38,
5034     text_base_attribute39,
5035     text_base_attribute40,
5036     text_base_attribute41,
5037     text_base_attribute42,
5038     text_base_attribute43,
5039     text_base_attribute44,
5040     text_base_attribute45,
5041     text_base_attribute46,
5042     text_base_attribute47,
5043     text_base_attribute48,
5044     text_base_attribute49,
5045     text_base_attribute50,
5046     text_base_attribute51,
5047     text_base_attribute52,
5048     text_base_attribute53,
5049     text_base_attribute54,
5050     text_base_attribute55,
5051     text_base_attribute56,
5052     text_base_attribute57,
5053     text_base_attribute58,
5054     text_base_attribute59,
5055     text_base_attribute60,
5056     text_base_attribute61,
5057     text_base_attribute62,
5058     text_base_attribute63,
5059     text_base_attribute64,
5060     text_base_attribute65,
5061     text_base_attribute66,
5062     text_base_attribute67,
5063     text_base_attribute68,
5064     text_base_attribute69,
5065     text_base_attribute70,
5066     text_base_attribute71,
5067     text_base_attribute72,
5068     text_base_attribute73,
5069     text_base_attribute74,
5070     text_base_attribute75,
5071     text_base_attribute76,
5072     text_base_attribute77,
5073     text_base_attribute78,
5074     text_base_attribute79,
5075     text_base_attribute80,
5076     text_base_attribute81,
5077     text_base_attribute82,
5078     text_base_attribute83,
5079     text_base_attribute84,
5080     text_base_attribute85,
5081     text_base_attribute86,
5082     text_base_attribute87,
5083     text_base_attribute88,
5084     text_base_attribute89,
5085     text_base_attribute90,
5086     text_base_attribute91,
5087     text_base_attribute92,
5088     text_base_attribute93,
5089     text_base_attribute94,
5090     text_base_attribute95,
5091     text_base_attribute96,
5092     text_base_attribute97,
5093     text_base_attribute98,
5094     text_base_attribute99,
5095     text_base_attribute100,
5096     num_base_attribute1,
5097     num_base_attribute2,
5098     num_base_attribute3,
5099     num_base_attribute4,
5100     num_base_attribute5,
5101     num_base_attribute6,
5102     num_base_attribute7,
5103     num_base_attribute8,
5104     num_base_attribute9,
5105     num_base_attribute10,
5106     num_base_attribute11,
5107     num_base_attribute12,
5108     num_base_attribute13,
5109     num_base_attribute14,
5110     num_base_attribute15,
5111     num_base_attribute16,
5112     num_base_attribute17,
5113     num_base_attribute18,
5114     num_base_attribute19,
5115     num_base_attribute20,
5116     num_base_attribute21,
5117     num_base_attribute22,
5118     num_base_attribute23,
5119     num_base_attribute24,
5120     num_base_attribute25,
5121     num_base_attribute26,
5122     num_base_attribute27,
5123     num_base_attribute28,
5124     num_base_attribute29,
5125     num_base_attribute30,
5126     num_base_attribute31,
5127     num_base_attribute32,
5128     num_base_attribute33,
5129     num_base_attribute34,
5130     num_base_attribute35,
5131     num_base_attribute36,
5132     num_base_attribute37,
5133     num_base_attribute38,
5134     num_base_attribute39,
5135     num_base_attribute40,
5136     num_base_attribute41,
5137     num_base_attribute42,
5138     num_base_attribute43,
5139     num_base_attribute44,
5140     num_base_attribute45,
5141     num_base_attribute46,
5142     num_base_attribute47,
5143     num_base_attribute48,
5144     num_base_attribute49,
5145     num_base_attribute50,
5146     num_base_attribute51,
5147     num_base_attribute52,
5148     num_base_attribute53,
5149     num_base_attribute54,
5150     num_base_attribute55,
5151     num_base_attribute56,
5152     num_base_attribute57,
5153     num_base_attribute58,
5154     num_base_attribute59,
5155     num_base_attribute60,
5156     num_base_attribute61,
5157     num_base_attribute62,
5158     num_base_attribute63,
5159     num_base_attribute64,
5160     num_base_attribute65,
5161     num_base_attribute66,
5162     num_base_attribute67,
5163     num_base_attribute68,
5164     num_base_attribute69,
5165     num_base_attribute70,
5166     num_base_attribute71,
5167     num_base_attribute72,
5168     num_base_attribute73,
5169     num_base_attribute74,
5170     num_base_attribute75,
5171     num_base_attribute76,
5172     num_base_attribute77,
5173     num_base_attribute78,
5174     num_base_attribute79,
5175     num_base_attribute80,
5176     num_base_attribute81,
5177     num_base_attribute82,
5178     num_base_attribute83,
5179     num_base_attribute84,
5180     num_base_attribute85,
5181     num_base_attribute86,
5182     num_base_attribute87,
5183     num_base_attribute88,
5184     num_base_attribute89,
5185     num_base_attribute90,
5186     num_base_attribute91,
5187     num_base_attribute92,
5188     num_base_attribute93,
5189     num_base_attribute94,
5190     num_base_attribute95,
5191     num_base_attribute96,
5192     num_base_attribute97,
5193     num_base_attribute98,
5194     num_base_attribute99,
5195     num_base_attribute100,
5196     text_cat_attribute1,
5197     text_cat_attribute2,
5198     text_cat_attribute3,
5199     text_cat_attribute4,
5200     text_cat_attribute5,
5201     text_cat_attribute6,
5202     text_cat_attribute7,
5203     text_cat_attribute8,
5204     text_cat_attribute9,
5205     text_cat_attribute10,
5206     text_cat_attribute11,
5207     text_cat_attribute12,
5208     text_cat_attribute13,
5209     text_cat_attribute14,
5210     text_cat_attribute15,
5211     text_cat_attribute16,
5212     text_cat_attribute17,
5213     text_cat_attribute18,
5214     text_cat_attribute19,
5215     text_cat_attribute20,
5216     text_cat_attribute21,
5217     text_cat_attribute22,
5218     text_cat_attribute23,
5219     text_cat_attribute24,
5220     text_cat_attribute25,
5221     text_cat_attribute26,
5222     text_cat_attribute27,
5223     text_cat_attribute28,
5224     text_cat_attribute29,
5225     text_cat_attribute30,
5226     text_cat_attribute31,
5227     text_cat_attribute32,
5228     text_cat_attribute33,
5229     text_cat_attribute34,
5230     text_cat_attribute35,
5231     text_cat_attribute36,
5232     text_cat_attribute37,
5233     text_cat_attribute38,
5234     text_cat_attribute39,
5235     text_cat_attribute40,
5236     text_cat_attribute41,
5237     text_cat_attribute42,
5238     text_cat_attribute43,
5239     text_cat_attribute44,
5240     text_cat_attribute45,
5241     text_cat_attribute46,
5242     text_cat_attribute47,
5243     text_cat_attribute48,
5244     text_cat_attribute49,
5245     text_cat_attribute50,
5246     num_cat_attribute1,
5247     num_cat_attribute2,
5248     num_cat_attribute3,
5249     num_cat_attribute4,
5250     num_cat_attribute5,
5251     num_cat_attribute6,
5252     num_cat_attribute7,
5253     num_cat_attribute8,
5254     num_cat_attribute9,
5255     num_cat_attribute10,
5256     num_cat_attribute11,
5257     num_cat_attribute12,
5258     num_cat_attribute13,
5259     num_cat_attribute14,
5260     num_cat_attribute15,
5261     num_cat_attribute16,
5262     num_cat_attribute17,
5263     num_cat_attribute18,
5264     num_cat_attribute19,
5265     num_cat_attribute20,
5266     num_cat_attribute21,
5267     num_cat_attribute22,
5268     num_cat_attribute23,
5269     num_cat_attribute24,
5270     num_cat_attribute25,
5271     num_cat_attribute26,
5272     num_cat_attribute27,
5273     num_cat_attribute28,
5274     num_cat_attribute29,
5275     num_cat_attribute30,
5276     num_cat_attribute31,
5277     num_cat_attribute32,
5278     num_cat_attribute33,
5279     num_cat_attribute34,
5280     num_cat_attribute35,
5281     num_cat_attribute36,
5282     num_cat_attribute37,
5283     num_cat_attribute38,
5284     num_cat_attribute39,
5285     num_cat_attribute40,
5286     num_cat_attribute41,
5287     num_cat_attribute42,
5288     num_cat_attribute43,
5289     num_cat_attribute44,
5290     num_cat_attribute45,
5291     num_cat_attribute46,
5292     num_cat_attribute47,
5293     num_cat_attribute48,
5294     num_cat_attribute49,
5295     num_cat_attribute50,
5296     last_update_login,
5297     last_updated_by,
5298     last_update_date,
5299     created_by,
5300     creation_date,
5301     request_id,
5302     program_application_id,
5303     program_id,
5304     program_update_date,
5305     last_updated_program
5306   )
5307   SELECT
5308     PO_ATTRIBUTE_VALUES_S.nextval,
5309     p_new_po_line_id,
5310     POATR.req_template_name,
5311     POATR.req_template_line_num,
5312     POATR.ip_category_id,
5313     POATR.inventory_item_id,
5314     POATR.org_id,
5315     POATR.manufacturer_part_num,
5316     POATR.picture,
5317     POATR.thumbnail_image,
5318     POATR.supplier_url,
5319     POATR.manufacturer_url,
5320     POATR.attachment_url,
5321     POATR.unspsc,
5322     POATR.availability,
5323     POATR.lead_time,
5324     POATR.text_base_attribute1,
5325     POATR.text_base_attribute2,
5326     POATR.text_base_attribute3,
5327     POATR.text_base_attribute4,
5328     POATR.text_base_attribute5,
5329     POATR.text_base_attribute6,
5330     POATR.text_base_attribute7,
5331     POATR.text_base_attribute8,
5332     POATR.text_base_attribute9,
5333     POATR.text_base_attribute10,
5334     POATR.text_base_attribute11,
5335     POATR.text_base_attribute12,
5336     POATR.text_base_attribute13,
5337     POATR.text_base_attribute14,
5338     POATR.text_base_attribute15,
5339     POATR.text_base_attribute16,
5340     POATR.text_base_attribute17,
5341     POATR.text_base_attribute18,
5342     POATR.text_base_attribute19,
5343     POATR.text_base_attribute20,
5344     POATR.text_base_attribute21,
5345     POATR.text_base_attribute22,
5346     POATR.text_base_attribute23,
5347     POATR.text_base_attribute24,
5348     POATR.text_base_attribute25,
5349     POATR.text_base_attribute26,
5350     POATR.text_base_attribute27,
5351     POATR.text_base_attribute28,
5352     POATR.text_base_attribute29,
5353     POATR.text_base_attribute30,
5354     POATR.text_base_attribute31,
5355     POATR.text_base_attribute32,
5356     POATR.text_base_attribute33,
5357     POATR.text_base_attribute34,
5358     POATR.text_base_attribute35,
5359     POATR.text_base_attribute36,
5360     POATR.text_base_attribute37,
5361     POATR.text_base_attribute38,
5362     POATR.text_base_attribute39,
5363     POATR.text_base_attribute40,
5364     POATR.text_base_attribute41,
5365     POATR.text_base_attribute42,
5366     POATR.text_base_attribute43,
5367     POATR.text_base_attribute44,
5368     POATR.text_base_attribute45,
5369     POATR.text_base_attribute46,
5370     POATR.text_base_attribute47,
5371     POATR.text_base_attribute48,
5372     POATR.text_base_attribute49,
5373     POATR.text_base_attribute50,
5374     POATR.text_base_attribute51,
5375     POATR.text_base_attribute52,
5376     POATR.text_base_attribute53,
5377     POATR.text_base_attribute54,
5378     POATR.text_base_attribute55,
5379     POATR.text_base_attribute56,
5380     POATR.text_base_attribute57,
5381     POATR.text_base_attribute58,
5382     POATR.text_base_attribute59,
5383     POATR.text_base_attribute60,
5384     POATR.text_base_attribute61,
5385     POATR.text_base_attribute62,
5386     POATR.text_base_attribute63,
5387     POATR.text_base_attribute64,
5388     POATR.text_base_attribute65,
5389     POATR.text_base_attribute66,
5390     POATR.text_base_attribute67,
5391     POATR.text_base_attribute68,
5392     POATR.text_base_attribute69,
5393     POATR.text_base_attribute70,
5394     POATR.text_base_attribute71,
5395     POATR.text_base_attribute72,
5396     POATR.text_base_attribute73,
5397     POATR.text_base_attribute74,
5398     POATR.text_base_attribute75,
5399     POATR.text_base_attribute76,
5400     POATR.text_base_attribute77,
5401     POATR.text_base_attribute78,
5402     POATR.text_base_attribute79,
5403     POATR.text_base_attribute80,
5404     POATR.text_base_attribute81,
5405     POATR.text_base_attribute82,
5406     POATR.text_base_attribute83,
5407     POATR.text_base_attribute84,
5408     POATR.text_base_attribute85,
5409     POATR.text_base_attribute86,
5410     POATR.text_base_attribute87,
5411     POATR.text_base_attribute88,
5412     POATR.text_base_attribute89,
5413     POATR.text_base_attribute90,
5414     POATR.text_base_attribute91,
5415     POATR.text_base_attribute92,
5416     POATR.text_base_attribute93,
5417     POATR.text_base_attribute94,
5418     POATR.text_base_attribute95,
5419     POATR.text_base_attribute96,
5420     POATR.text_base_attribute97,
5421     POATR.text_base_attribute98,
5422     POATR.text_base_attribute99,
5423     POATR.text_base_attribute100,
5424     POATR.num_base_attribute1,
5425     POATR.num_base_attribute2,
5426     POATR.num_base_attribute3,
5427     POATR.num_base_attribute4,
5428     POATR.num_base_attribute5,
5429     POATR.num_base_attribute6,
5430     POATR.num_base_attribute7,
5431     POATR.num_base_attribute8,
5432     POATR.num_base_attribute9,
5433     POATR.num_base_attribute10,
5434     POATR.num_base_attribute11,
5435     POATR.num_base_attribute12,
5436     POATR.num_base_attribute13,
5437     POATR.num_base_attribute14,
5438     POATR.num_base_attribute15,
5439     POATR.num_base_attribute16,
5440     POATR.num_base_attribute17,
5441     POATR.num_base_attribute18,
5442     POATR.num_base_attribute19,
5443     POATR.num_base_attribute20,
5444     POATR.num_base_attribute21,
5445     POATR.num_base_attribute22,
5446     POATR.num_base_attribute23,
5447     POATR.num_base_attribute24,
5448     POATR.num_base_attribute25,
5449     POATR.num_base_attribute26,
5450     POATR.num_base_attribute27,
5451     POATR.num_base_attribute28,
5452     POATR.num_base_attribute29,
5453     POATR.num_base_attribute30,
5454     POATR.num_base_attribute31,
5455     POATR.num_base_attribute32,
5456     POATR.num_base_attribute33,
5457     POATR.num_base_attribute34,
5458     POATR.num_base_attribute35,
5459     POATR.num_base_attribute36,
5460     POATR.num_base_attribute37,
5461     POATR.num_base_attribute38,
5462     POATR.num_base_attribute39,
5463     POATR.num_base_attribute40,
5464     POATR.num_base_attribute41,
5465     POATR.num_base_attribute42,
5466     POATR.num_base_attribute43,
5467     POATR.num_base_attribute44,
5468     POATR.num_base_attribute45,
5469     POATR.num_base_attribute46,
5470     POATR.num_base_attribute47,
5471     POATR.num_base_attribute48,
5472     POATR.num_base_attribute49,
5473     POATR.num_base_attribute50,
5474     POATR.num_base_attribute51,
5475     POATR.num_base_attribute52,
5476     POATR.num_base_attribute53,
5477     POATR.num_base_attribute54,
5478     POATR.num_base_attribute55,
5479     POATR.num_base_attribute56,
5480     POATR.num_base_attribute57,
5481     POATR.num_base_attribute58,
5482     POATR.num_base_attribute59,
5483     POATR.num_base_attribute60,
5484     POATR.num_base_attribute61,
5485     POATR.num_base_attribute62,
5486     POATR.num_base_attribute63,
5487     POATR.num_base_attribute64,
5488     POATR.num_base_attribute65,
5489     POATR.num_base_attribute66,
5490     POATR.num_base_attribute67,
5491     POATR.num_base_attribute68,
5492     POATR.num_base_attribute69,
5493     POATR.num_base_attribute70,
5494     POATR.num_base_attribute71,
5495     POATR.num_base_attribute72,
5496     POATR.num_base_attribute73,
5497     POATR.num_base_attribute74,
5498     POATR.num_base_attribute75,
5499     POATR.num_base_attribute76,
5500     POATR.num_base_attribute77,
5501     POATR.num_base_attribute78,
5502     POATR.num_base_attribute79,
5503     POATR.num_base_attribute80,
5504     POATR.num_base_attribute81,
5505     POATR.num_base_attribute82,
5506     POATR.num_base_attribute83,
5507     POATR.num_base_attribute84,
5508     POATR.num_base_attribute85,
5509     POATR.num_base_attribute86,
5510     POATR.num_base_attribute87,
5511     POATR.num_base_attribute88,
5512     POATR.num_base_attribute89,
5513     POATR.num_base_attribute90,
5514     POATR.num_base_attribute91,
5515     POATR.num_base_attribute92,
5516     POATR.num_base_attribute93,
5517     POATR.num_base_attribute94,
5518     POATR.num_base_attribute95,
5519     POATR.num_base_attribute96,
5520     POATR.num_base_attribute97,
5521     POATR.num_base_attribute98,
5522     POATR.num_base_attribute99,
5523     POATR.num_base_attribute100,
5524     POATR.text_cat_attribute1,
5525     POATR.text_cat_attribute2,
5526     POATR.text_cat_attribute3,
5527     POATR.text_cat_attribute4,
5528     POATR.text_cat_attribute5,
5529     POATR.text_cat_attribute6,
5530     POATR.text_cat_attribute7,
5531     POATR.text_cat_attribute8,
5532     POATR.text_cat_attribute9,
5533     POATR.text_cat_attribute10,
5534     POATR.text_cat_attribute11,
5535     POATR.text_cat_attribute12,
5536     POATR.text_cat_attribute13,
5537     POATR.text_cat_attribute14,
5538     POATR.text_cat_attribute15,
5539     POATR.text_cat_attribute16,
5540     POATR.text_cat_attribute17,
5541     POATR.text_cat_attribute18,
5542     POATR.text_cat_attribute19,
5543     POATR.text_cat_attribute20,
5544     POATR.text_cat_attribute21,
5545     POATR.text_cat_attribute22,
5546     POATR.text_cat_attribute23,
5547     POATR.text_cat_attribute24,
5548     POATR.text_cat_attribute25,
5549     POATR.text_cat_attribute26,
5550     POATR.text_cat_attribute27,
5551     POATR.text_cat_attribute28,
5552     POATR.text_cat_attribute29,
5553     POATR.text_cat_attribute30,
5554     POATR.text_cat_attribute31,
5555     POATR.text_cat_attribute32,
5556     POATR.text_cat_attribute33,
5557     POATR.text_cat_attribute34,
5558     POATR.text_cat_attribute35,
5559     POATR.text_cat_attribute36,
5560     POATR.text_cat_attribute37,
5561     POATR.text_cat_attribute38,
5562     POATR.text_cat_attribute39,
5563     POATR.text_cat_attribute40,
5564     POATR.text_cat_attribute41,
5565     POATR.text_cat_attribute42,
5566     POATR.text_cat_attribute43,
5567     POATR.text_cat_attribute44,
5568     POATR.text_cat_attribute45,
5569     POATR.text_cat_attribute46,
5570     POATR.text_cat_attribute47,
5571     POATR.text_cat_attribute48,
5572     POATR.text_cat_attribute49,
5573     POATR.text_cat_attribute50,
5574     POATR.num_cat_attribute1,
5575     POATR.num_cat_attribute2,
5576     POATR.num_cat_attribute3,
5577     POATR.num_cat_attribute4,
5578     POATR.num_cat_attribute5,
5579     POATR.num_cat_attribute6,
5580     POATR.num_cat_attribute7,
5581     POATR.num_cat_attribute8,
5582     POATR.num_cat_attribute9,
5583     POATR.num_cat_attribute10,
5584     POATR.num_cat_attribute11,
5585     POATR.num_cat_attribute12,
5586     POATR.num_cat_attribute13,
5587     POATR.num_cat_attribute14,
5588     POATR.num_cat_attribute15,
5589     POATR.num_cat_attribute16,
5590     POATR.num_cat_attribute17,
5591     POATR.num_cat_attribute18,
5592     POATR.num_cat_attribute19,
5593     POATR.num_cat_attribute20,
5594     POATR.num_cat_attribute21,
5595     POATR.num_cat_attribute22,
5596     POATR.num_cat_attribute23,
5597     POATR.num_cat_attribute24,
5598     POATR.num_cat_attribute25,
5599     POATR.num_cat_attribute26,
5600     POATR.num_cat_attribute27,
5601     POATR.num_cat_attribute28,
5602     POATR.num_cat_attribute29,
5603     POATR.num_cat_attribute30,
5604     POATR.num_cat_attribute31,
5605     POATR.num_cat_attribute32,
5606     POATR.num_cat_attribute33,
5607     POATR.num_cat_attribute34,
5608     POATR.num_cat_attribute35,
5609     POATR.num_cat_attribute36,
5610     POATR.num_cat_attribute37,
5611     POATR.num_cat_attribute38,
5612     POATR.num_cat_attribute39,
5613     POATR.num_cat_attribute40,
5614     POATR.num_cat_attribute41,
5615     POATR.num_cat_attribute42,
5616     POATR.num_cat_attribute43,
5617     POATR.num_cat_attribute44,
5618     POATR.num_cat_attribute45,
5619     POATR.num_cat_attribute46,
5620     POATR.num_cat_attribute47,
5621     POATR.num_cat_attribute48,
5622     POATR.num_cat_attribute49,
5623     POATR.num_cat_attribute50,
5624     FND_GLOBAL.login_id,        -- last_update_login
5625     FND_GLOBAL.user_id,         -- last_updated_by
5626     sysdate,                    -- last_update_date
5627     POATR.created_by,
5628     POATR.creation_date,
5629     FND_GLOBAL.conc_request_id, -- request_id
5630     POATR.program_application_id,
5631     POATR.program_id,
5632     POATR.program_update_date,
5633     d_mod                       -- last_updated_program
5634   FROM PO_ATTRIBUTE_VALUES POATR
5635   WHERE POATR.po_line_id = p_orig_po_line_id
5636     AND NOT EXISTS
5637         (SELECT 'ATTR row already exists'
5638          FROM PO_ATTRIBUTE_VALUES ATR2
5639          WHERE ATR2.po_line_id = p_new_po_line_id
5640           AND ATR2.req_template_name = POATR.req_template_name
5641           AND ATR2.req_template_line_num = POATR.req_template_line_num
5642           AND ATR2.org_id = POATR.org_id);
5643 
5644   l_progress := '020';
5645   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows copied='||SQL%rowcount); END IF;
5646 
5647   -- SQL What: Insert new rows for Attribute  values TLP.
5648   --           This SQL will enter multiple rows, one for each installed lang.
5649   -- SQL Why : To copy the TLP from old doc to new doc
5650   -- SQL Join: po_line_id
5651   INSERT INTO PO_ATTRIBUTE_VALUES_TLP (
5652     attribute_values_tlp_id,
5653     po_line_id,
5654     req_template_name,
5655     req_template_line_num,
5656     ip_category_id,
5657     inventory_item_id,
5658     org_id,
5659     language,
5660     description,
5661     manufacturer,
5662     comments,
5663     alias,
5664     long_description,
5665     tl_text_base_attribute1,
5666     tl_text_base_attribute2,
5667     tl_text_base_attribute3,
5668     tl_text_base_attribute4,
5669     tl_text_base_attribute5,
5670     tl_text_base_attribute6,
5671     tl_text_base_attribute7,
5672     tl_text_base_attribute8,
5673     tl_text_base_attribute9,
5674     tl_text_base_attribute10,
5675     tl_text_base_attribute11,
5676     tl_text_base_attribute12,
5677     tl_text_base_attribute13,
5678     tl_text_base_attribute14,
5679     tl_text_base_attribute15,
5680     tl_text_base_attribute16,
5681     tl_text_base_attribute17,
5682     tl_text_base_attribute18,
5683     tl_text_base_attribute19,
5684     tl_text_base_attribute20,
5685     tl_text_base_attribute21,
5686     tl_text_base_attribute22,
5687     tl_text_base_attribute23,
5688     tl_text_base_attribute24,
5689     tl_text_base_attribute25,
5690     tl_text_base_attribute26,
5691     tl_text_base_attribute27,
5692     tl_text_base_attribute28,
5693     tl_text_base_attribute29,
5694     tl_text_base_attribute30,
5695     tl_text_base_attribute31,
5696     tl_text_base_attribute32,
5697     tl_text_base_attribute33,
5698     tl_text_base_attribute34,
5699     tl_text_base_attribute35,
5700     tl_text_base_attribute36,
5701     tl_text_base_attribute37,
5702     tl_text_base_attribute38,
5703     tl_text_base_attribute39,
5704     tl_text_base_attribute40,
5705     tl_text_base_attribute41,
5706     tl_text_base_attribute42,
5707     tl_text_base_attribute43,
5708     tl_text_base_attribute44,
5709     tl_text_base_attribute45,
5710     tl_text_base_attribute46,
5711     tl_text_base_attribute47,
5712     tl_text_base_attribute48,
5713     tl_text_base_attribute49,
5714     tl_text_base_attribute50,
5715     tl_text_base_attribute51,
5716     tl_text_base_attribute52,
5717     tl_text_base_attribute53,
5718     tl_text_base_attribute54,
5719     tl_text_base_attribute55,
5720     tl_text_base_attribute56,
5721     tl_text_base_attribute57,
5722     tl_text_base_attribute58,
5723     tl_text_base_attribute59,
5724     tl_text_base_attribute60,
5725     tl_text_base_attribute61,
5726     tl_text_base_attribute62,
5727     tl_text_base_attribute63,
5728     tl_text_base_attribute64,
5729     tl_text_base_attribute65,
5730     tl_text_base_attribute66,
5731     tl_text_base_attribute67,
5732     tl_text_base_attribute68,
5733     tl_text_base_attribute69,
5734     tl_text_base_attribute70,
5735     tl_text_base_attribute71,
5736     tl_text_base_attribute72,
5737     tl_text_base_attribute73,
5738     tl_text_base_attribute74,
5739     tl_text_base_attribute75,
5740     tl_text_base_attribute76,
5741     tl_text_base_attribute77,
5742     tl_text_base_attribute78,
5743     tl_text_base_attribute79,
5744     tl_text_base_attribute80,
5745     tl_text_base_attribute81,
5746     tl_text_base_attribute82,
5747     tl_text_base_attribute83,
5748     tl_text_base_attribute84,
5749     tl_text_base_attribute85,
5750     tl_text_base_attribute86,
5751     tl_text_base_attribute87,
5752     tl_text_base_attribute88,
5753     tl_text_base_attribute89,
5754     tl_text_base_attribute90,
5755     tl_text_base_attribute91,
5756     tl_text_base_attribute92,
5757     tl_text_base_attribute93,
5758     tl_text_base_attribute94,
5759     tl_text_base_attribute95,
5760     tl_text_base_attribute96,
5761     tl_text_base_attribute97,
5762     tl_text_base_attribute98,
5763     tl_text_base_attribute99,
5764     tl_text_base_attribute100,
5765     tl_text_cat_attribute1,
5766     tl_text_cat_attribute2,
5767     tl_text_cat_attribute3,
5768     tl_text_cat_attribute4,
5769     tl_text_cat_attribute5,
5770     tl_text_cat_attribute6,
5771     tl_text_cat_attribute7,
5772     tl_text_cat_attribute8,
5773     tl_text_cat_attribute9,
5774     tl_text_cat_attribute10,
5775     tl_text_cat_attribute11,
5776     tl_text_cat_attribute12,
5777     tl_text_cat_attribute13,
5778     tl_text_cat_attribute14,
5779     tl_text_cat_attribute15,
5780     tl_text_cat_attribute16,
5781     tl_text_cat_attribute17,
5782     tl_text_cat_attribute18,
5783     tl_text_cat_attribute19,
5784     tl_text_cat_attribute20,
5785     tl_text_cat_attribute21,
5786     tl_text_cat_attribute22,
5787     tl_text_cat_attribute23,
5788     tl_text_cat_attribute24,
5789     tl_text_cat_attribute25,
5790     tl_text_cat_attribute26,
5791     tl_text_cat_attribute27,
5792     tl_text_cat_attribute28,
5793     tl_text_cat_attribute29,
5794     tl_text_cat_attribute30,
5795     tl_text_cat_attribute31,
5796     tl_text_cat_attribute32,
5797     tl_text_cat_attribute33,
5798     tl_text_cat_attribute34,
5799     tl_text_cat_attribute35,
5800     tl_text_cat_attribute36,
5801     tl_text_cat_attribute37,
5802     tl_text_cat_attribute38,
5803     tl_text_cat_attribute39,
5804     tl_text_cat_attribute40,
5805     tl_text_cat_attribute41,
5806     tl_text_cat_attribute42,
5807     tl_text_cat_attribute43,
5808     tl_text_cat_attribute44,
5809     tl_text_cat_attribute45,
5810     tl_text_cat_attribute46,
5811     tl_text_cat_attribute47,
5812     tl_text_cat_attribute48,
5813     tl_text_cat_attribute49,
5814     tl_text_cat_attribute50,
5815     last_update_login,
5816     last_updated_by,
5817     last_update_date,
5818     created_by,
5819     creation_date,
5820     request_id,
5821     program_application_id,
5822     program_id,
5823     program_update_date,
5824     last_updated_program
5825    )
5826    SELECT
5827     PO_ATTRIBUTE_VALUES_TLP_S.nextval,
5828     p_new_po_line_id,
5829     POTLP.req_template_name,
5830     POTLP.req_template_line_num,
5831     POTLP.ip_category_id,
5832     POTLP.inventory_item_id,
5833     POTLP.org_id,
5834     POTLP.language,
5835     POTLP.description,
5836     POTLP.manufacturer,
5837     POTLP.comments,
5838     POTLP.alias,
5839     POTLP.long_description,
5840     POTLP.tl_text_base_attribute1,
5841     POTLP.tl_text_base_attribute2,
5842     POTLP.tl_text_base_attribute3,
5843     POTLP.tl_text_base_attribute4,
5844     POTLP.tl_text_base_attribute5,
5845     POTLP.tl_text_base_attribute6,
5846     POTLP.tl_text_base_attribute7,
5847     POTLP.tl_text_base_attribute8,
5848     POTLP.tl_text_base_attribute9,
5849     POTLP.tl_text_base_attribute10,
5850     POTLP.tl_text_base_attribute11,
5851     POTLP.tl_text_base_attribute12,
5852     POTLP.tl_text_base_attribute13,
5853     POTLP.tl_text_base_attribute14,
5854     POTLP.tl_text_base_attribute15,
5855     POTLP.tl_text_base_attribute16,
5856     POTLP.tl_text_base_attribute17,
5857     POTLP.tl_text_base_attribute18,
5858     POTLP.tl_text_base_attribute19,
5859     POTLP.tl_text_base_attribute20,
5860     POTLP.tl_text_base_attribute21,
5861     POTLP.tl_text_base_attribute22,
5862     POTLP.tl_text_base_attribute23,
5863     POTLP.tl_text_base_attribute24,
5864     POTLP.tl_text_base_attribute25,
5865     POTLP.tl_text_base_attribute26,
5866     POTLP.tl_text_base_attribute27,
5867     POTLP.tl_text_base_attribute28,
5868     POTLP.tl_text_base_attribute29,
5869     POTLP.tl_text_base_attribute30,
5870     POTLP.tl_text_base_attribute31,
5871     POTLP.tl_text_base_attribute32,
5872     POTLP.tl_text_base_attribute33,
5873     POTLP.tl_text_base_attribute34,
5874     POTLP.tl_text_base_attribute35,
5875     POTLP.tl_text_base_attribute36,
5876     POTLP.tl_text_base_attribute37,
5877     POTLP.tl_text_base_attribute38,
5878     POTLP.tl_text_base_attribute39,
5879     POTLP.tl_text_base_attribute40,
5880     POTLP.tl_text_base_attribute41,
5881     POTLP.tl_text_base_attribute42,
5882     POTLP.tl_text_base_attribute43,
5883     POTLP.tl_text_base_attribute44,
5884     POTLP.tl_text_base_attribute45,
5885     POTLP.tl_text_base_attribute46,
5886     POTLP.tl_text_base_attribute47,
5887     POTLP.tl_text_base_attribute48,
5888     POTLP.tl_text_base_attribute49,
5889     POTLP.tl_text_base_attribute50,
5890     POTLP.tl_text_base_attribute51,
5891     POTLP.tl_text_base_attribute52,
5892     POTLP.tl_text_base_attribute53,
5893     POTLP.tl_text_base_attribute54,
5894     POTLP.tl_text_base_attribute55,
5895     POTLP.tl_text_base_attribute56,
5896     POTLP.tl_text_base_attribute57,
5897     POTLP.tl_text_base_attribute58,
5898     POTLP.tl_text_base_attribute59,
5899     POTLP.tl_text_base_attribute60,
5900     POTLP.tl_text_base_attribute61,
5901     POTLP.tl_text_base_attribute62,
5902     POTLP.tl_text_base_attribute63,
5903     POTLP.tl_text_base_attribute64,
5904     POTLP.tl_text_base_attribute65,
5905     POTLP.tl_text_base_attribute66,
5906     POTLP.tl_text_base_attribute67,
5907     POTLP.tl_text_base_attribute68,
5908     POTLP.tl_text_base_attribute69,
5909     POTLP.tl_text_base_attribute70,
5910     POTLP.tl_text_base_attribute71,
5911     POTLP.tl_text_base_attribute72,
5912     POTLP.tl_text_base_attribute73,
5913     POTLP.tl_text_base_attribute74,
5914     POTLP.tl_text_base_attribute75,
5915     POTLP.tl_text_base_attribute76,
5916     POTLP.tl_text_base_attribute77,
5917     POTLP.tl_text_base_attribute78,
5918     POTLP.tl_text_base_attribute79,
5919     POTLP.tl_text_base_attribute80,
5920     POTLP.tl_text_base_attribute81,
5921     POTLP.tl_text_base_attribute82,
5922     POTLP.tl_text_base_attribute83,
5923     POTLP.tl_text_base_attribute84,
5924     POTLP.tl_text_base_attribute85,
5925     POTLP.tl_text_base_attribute86,
5926     POTLP.tl_text_base_attribute87,
5927     POTLP.tl_text_base_attribute88,
5928     POTLP.tl_text_base_attribute89,
5929     POTLP.tl_text_base_attribute90,
5930     POTLP.tl_text_base_attribute91,
5931     POTLP.tl_text_base_attribute92,
5932     POTLP.tl_text_base_attribute93,
5933     POTLP.tl_text_base_attribute94,
5934     POTLP.tl_text_base_attribute95,
5935     POTLP.tl_text_base_attribute96,
5936     POTLP.tl_text_base_attribute97,
5937     POTLP.tl_text_base_attribute98,
5938     POTLP.tl_text_base_attribute99,
5939     POTLP.tl_text_base_attribute100,
5940     POTLP.tl_text_cat_attribute1,
5941     POTLP.tl_text_cat_attribute2,
5942     POTLP.tl_text_cat_attribute3,
5943     POTLP.tl_text_cat_attribute4,
5944     POTLP.tl_text_cat_attribute5,
5945     POTLP.tl_text_cat_attribute6,
5946     POTLP.tl_text_cat_attribute7,
5947     POTLP.tl_text_cat_attribute8,
5948     POTLP.tl_text_cat_attribute9,
5949     POTLP.tl_text_cat_attribute10,
5950     POTLP.tl_text_cat_attribute11,
5951     POTLP.tl_text_cat_attribute12,
5952     POTLP.tl_text_cat_attribute13,
5953     POTLP.tl_text_cat_attribute14,
5954     POTLP.tl_text_cat_attribute15,
5955     POTLP.tl_text_cat_attribute16,
5956     POTLP.tl_text_cat_attribute17,
5957     POTLP.tl_text_cat_attribute18,
5958     POTLP.tl_text_cat_attribute19,
5959     POTLP.tl_text_cat_attribute20,
5960     POTLP.tl_text_cat_attribute21,
5961     POTLP.tl_text_cat_attribute22,
5962     POTLP.tl_text_cat_attribute23,
5963     POTLP.tl_text_cat_attribute24,
5964     POTLP.tl_text_cat_attribute25,
5965     POTLP.tl_text_cat_attribute26,
5966     POTLP.tl_text_cat_attribute27,
5967     POTLP.tl_text_cat_attribute28,
5968     POTLP.tl_text_cat_attribute29,
5969     POTLP.tl_text_cat_attribute30,
5970     POTLP.tl_text_cat_attribute31,
5971     POTLP.tl_text_cat_attribute32,
5972     POTLP.tl_text_cat_attribute33,
5973     POTLP.tl_text_cat_attribute34,
5974     POTLP.tl_text_cat_attribute35,
5975     POTLP.tl_text_cat_attribute36,
5976     POTLP.tl_text_cat_attribute37,
5977     POTLP.tl_text_cat_attribute38,
5978     POTLP.tl_text_cat_attribute39,
5979     POTLP.tl_text_cat_attribute40,
5980     POTLP.tl_text_cat_attribute41,
5981     POTLP.tl_text_cat_attribute42,
5982     POTLP.tl_text_cat_attribute43,
5983     POTLP.tl_text_cat_attribute44,
5984     POTLP.tl_text_cat_attribute45,
5985     POTLP.tl_text_cat_attribute46,
5986     POTLP.tl_text_cat_attribute47,
5987     POTLP.tl_text_cat_attribute48,
5988     POTLP.tl_text_cat_attribute49,
5989     POTLP.tl_text_cat_attribute50,
5990     FND_GLOBAL.login_id,        -- last_update_login
5991     FND_GLOBAL.user_id,         -- last_updated_by
5992     sysdate,                    -- last_update_date
5993     POTLP.created_by,
5994     POTLP.creation_date,
5995     FND_GLOBAL.conc_request_id, -- request_id
5996     POTLP.program_application_id,
5997     POTLP.program_id,
5998     POTLP.program_update_date,
5999     d_mod                       -- last_updated_program
6000   FROM PO_ATTRIBUTE_VALUES_TLP POTLP
6001   WHERE POTLP.po_line_id = p_orig_po_line_id
6002     AND NOT EXISTS
6003         (SELECT 'TLP row for this language already exists'
6004          FROM PO_ATTRIBUTE_VALUES_TLP TLP2
6005          WHERE TLP2.po_line_id = p_new_po_line_id
6006           AND TLP2.req_template_name = POTLP.req_template_name
6007           AND TLP2.req_template_line_num = POTLP.req_template_line_num
6008           AND TLP2.org_id = POTLP.org_id
6009           AND TLP2.language = POTLP.language);
6010 
6011   l_progress := '030';
6012   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows copied='||SQL%rowcount); END IF;
6013 
6014   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6015 EXCEPTION
6016   WHEN OTHERS THEN
6017     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
6018     RAISE;
6019 END copy_attributes;
6020 
6021 --------------------------------------------------------------------------------
6022 --Start of Comments
6023 --Name: get_ip_category_id
6024 --Pre-reqs:
6025 --  None
6026 --Modifies:
6027 --  None
6028 --Locks:
6029 --  None.
6030 --Function:
6031 --  To get the IP_CATEGORY_IF from PO's category_id using the iProc view
6032 --  ICX_CAT_PURCHASING_CAT_MAP_V.
6033 --
6034 --Parameters:
6035 --IN:
6036 --p_po_category_id
6037 --  PO's category ID
6038 --OUT:
6039 --x_ip_category_id
6040 --  The derived ip_category_is as OUT parameter
6041 --End of Comments
6042 --------------------------------------------------------------------------------
6043 PROCEDURE get_ip_category_id
6044 (
6045   p_po_category_id IN NUMBER
6046 , x_ip_category_id OUT NOCOPY NUMBER
6047 )
6048 IS
6049   d_mod CONSTANT VARCHAR2(100) := D_get_ip_category_id;
6050   l_progress      VARCHAR2(4);
6051 
6052 BEGIN
6053   l_progress := '010';
6054 
6055   IF PO_LOG.d_proc THEN
6056     PO_LOG.proc_begin(d_mod,'p_po_category_id',p_po_category_id);
6057   END IF;
6058 
6059   -- SQL What: Default the IP_CATEGORY_ID
6060   -- SQL Why : To insert the correct default value of IP_CATEGORY ID
6061   -- SQL Join: PO_CATEGORY_ID
6062   SELECT NVL(shopping_category_id, -2)
6063   INTO x_ip_category_id
6064   FROM ICX_CAT_PURCHASING_CAT_MAP_V
6065   WHERE po_category_id = p_po_category_id;
6066 
6067   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'x_ip_category_id='||x_ip_category_id); END IF;
6068 
6069   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6070 EXCEPTION
6071   WHEN NO_DATA_FOUND THEN
6072     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;
6073     x_ip_category_id := -2;
6074   WHEN TOO_MANY_ROWS THEN
6075     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'TOO_MANY_ROWS exception'); END IF;
6076     x_ip_category_id := -2; -- TODO: This is a temp fix. Resolve with iProc why this exceptions?
6077   WHEN OTHERS THEN
6078     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
6079     RAISE;
6080 END get_ip_category_id;
6081 
6082 --------------------------------------------------------------------------------
6083 --Start of Comments
6084 --Name: delete_attributes
6085 --Pre-reqs:
6086 --  None
6087 --Modifies:
6088 --  None
6089 --Locks:
6090 --  None.
6091 --Function:
6092 --  To delete the Attribute Values and TLP rows for a given Blanket PO Line,
6093 --  Quotation Line or ReqTemplate Line
6094 --
6095 --Parameters:
6096 --IN:
6097 --p_po_line_id
6098 --p_req_template_name
6099 --p_req_template_line_num
6100 --p_org_id
6101 --  The unique key to identify the Attr/TLP rows(s) to be delted.
6102 --OUT:
6103 -- None
6104 --End of Comments
6105 --------------------------------------------------------------------------------
6106 PROCEDURE delete_attributes
6107 (
6108   p_doc_type              IN VARCHAR2, -- 'BLANKET', 'QUOTATION', 'REQ_TEMPLATE'
6109   p_po_line_id            IN PO_LINES.po_line_id%TYPE DEFAULT NULL,
6110   p_req_template_name     IN PO_REQEXPRESS_LINES_ALL.express_name%TYPE DEFAULT NULL,
6111   p_req_template_line_num IN PO_REQEXPRESS_LINES_ALL.sequence_num%TYPE DEFAULT NULL,
6112   p_org_id                IN PO_LINES_ALL.org_id%TYPE DEFAULT NULL
6113 )
6114 IS
6115   d_mod CONSTANT VARCHAR2(100) := D_delete_attributes;
6116   l_progress      VARCHAR2(4);
6117 
6118 BEGIN
6119   l_progress := '010';
6120 
6121   IF PO_LOG.d_proc THEN
6122     PO_LOG.proc_begin(d_mod,'p_doc_type',p_doc_type);
6123     PO_LOG.proc_begin(d_mod,'p_po_line_id',p_po_line_id);
6124     PO_LOG.proc_begin(d_mod,'p_req_template_name',p_req_template_name);
6125     PO_LOG.proc_begin(d_mod,'p_req_template_line_num',p_req_template_line_num);
6126     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
6127   END IF;
6128 
6129   -- SQL What: Delete Attribute Values
6130   -- SQL Why : as required by this procedure
6131   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
6132   DELETE FROM PO_ATTRIBUTE_VALUES
6133   WHERE po_line_id = NVL(p_po_line_id, -2)
6134     AND req_template_name = NVL(p_req_template_name, '-2')
6135     AND req_template_line_num = NVL(p_req_template_line_num, -2)
6136     AND org_id = NVL(p_org_id, PO_MOAC_UTILS_PVT.get_current_org_id);
6137 
6138   l_progress := '020';
6139   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows deleted='||SQL%rowcount); END IF;
6140 
6141   -- SQL What: Delete Attribute Values TLP
6142   -- SQL Why : as required by this procedure
6143   -- SQL Join: po_line_id, req_template_name, req_template_line_num, org_id
6144   DELETE FROM PO_ATTRIBUTE_VALUES_TLP
6145   WHERE po_line_id = NVL(p_po_line_id, -2)
6146     AND req_template_name = NVL(p_req_template_name, '-2')
6147     AND req_template_line_num = NVL(p_req_template_line_num, -2)
6148     AND org_id = NVL(p_org_id, PO_MOAC_UTILS_PVT.get_current_org_id);
6149 
6150   l_progress := '030';
6151   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows deleted='||SQL%rowcount); END IF;
6152 
6153   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6154 EXCEPTION
6155   WHEN OTHERS THEN
6156     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
6157     RAISE;
6158 END delete_attributes;
6159 
6160 --------------------------------------------------------------------------------
6161 --Start of Comments
6162 --Name: delete_attributes_for_header
6163 --Pre-reqs:
6164 --  None
6165 --Modifies:
6166 --  None
6167 --Locks:
6168 --  None.
6169 --Function:
6170 --  To delete the Attribute Values and TLP rows for all lines in a given Header.
6171 --
6172 --Parameters:
6173 --IN:
6174 --p_doc_type
6175 --  The document type of the header. This can only be BLANKET or QUOTATION
6176 --p_po_Header_id
6177 --  The PO header for which the attribute and TLP rows need to be deleted.
6178 --OUT:
6179 -- None
6180 --End of Comments
6181 --------------------------------------------------------------------------------
6182 PROCEDURE delete_attributes_for_header
6183 (
6184   p_doc_type     IN VARCHAR2, -- 'BLANKET', 'QUOTATION'
6185   p_po_header_id IN PO_LINES.po_header_id%TYPE
6186 )
6187 IS
6188   d_mod CONSTANT VARCHAR2(100) := D_delete_attributes_for_header;
6189   l_progress      VARCHAR2(4);
6190 
6191 BEGIN
6192   l_progress := '010';
6193 
6194   IF PO_LOG.d_proc THEN
6195     PO_LOG.proc_begin(d_mod,'p_doc_type',p_doc_type);
6196     PO_LOG.proc_begin(d_mod,'p_po_header_id',p_po_header_id);
6197   END IF;
6198 
6199   IF (p_doc_type IN ('BLANKET', 'QUOTATION')) THEN
6200     -- SQL What: Delete Attribute Values for all lines in a PO Header
6201     -- SQL Why : as required by this procedure
6202     -- SQL Join: po_line_id, po_header_id
6203     DELETE FROM PO_ATTRIBUTE_VALUES POATR
6204     WHERE EXISTS
6205           (SELECT 'All PO Lines for the given Header'
6206            FROM PO_LINES_ALL POL
6207            WHERE POL.po_header_id = p_po_header_id
6208              AND POATR.po_line_id = POL.po_line_id);
6209 
6210 
6211     l_progress := '020';
6212     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of ATTR rows deleted='||SQL%rowcount); END IF;
6213 
6214     -- SQL What: Delete Attribute Values TLP for all lines in a PO Header
6215     -- SQL Why : as required by this procedure
6216     -- SQL Join: po_line_id, po_header_id
6217     DELETE FROM PO_ATTRIBUTE_VALUES_TLP POTLP
6218     WHERE EXISTS
6219           (SELECT 'All PO Lines for the given Header'
6220            FROM PO_LINES_ALL POL
6221            WHERE POL.po_header_id = p_po_header_id
6222              AND POTLP.po_line_id = POL.po_line_id);
6223 
6224     l_progress := '030';
6225     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of TLP rows deleted='||SQL%rowcount); END IF;
6226   ELSE
6227     IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Invalid doc_type='||p_doc_type); END IF;
6228   END IF;
6229 
6230   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6231 EXCEPTION
6232   WHEN OTHERS THEN
6233     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
6234     RAISE;
6235 END delete_attributes_for_header;
6236 
6237 --------------------------------------------------------------------------------
6238 --Start of Comments
6239 --Name: get_base_lang
6240 --Pre-reqs:
6241 --  None
6242 --Modifies:
6243 --  a) FND_MSG_PUB on unhandled exceptions.
6244 --Locks:
6245 --  None.
6246 --Function:
6247 --  Gets the Base Language of the installed system.
6248 --Parameters:
6249 --IN:
6250 -- None
6251 --RETURN:
6252 -- VARCHAR2 -- the base languages of the system.
6253 --End of Comments
6254 --------------------------------------------------------------------------------
6255 FUNCTION get_base_lang
6256 RETURN VARCHAR2
6257 IS
6258   d_mod CONSTANT VARCHAR2(100) := D_get_base_lang;
6259   l_progress      VARCHAR2(4);
6260 BEGIN
6261   l_progress := '010';
6262   IF PO_LOG.d_proc THEN PO_LOG.proc_begin(d_mod); END IF;
6263 
6264   l_progress := '020';
6265   IF (g_base_language IS NULL) THEN
6266     -- SQL What: Get the base language of the system installation.
6267     -- SQL Why : Will be used to populate the created_language column
6268     -- SQL Join: installed_flag
6269     SELECT language_code
6270     INTO g_base_language
6271     FROM FND_LANGUAGES
6272     WHERE installed_flag='B';
6273   END IF;
6274 
6275   l_progress := '030';
6276   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'base_lang=<'||g_base_language||'>'); END IF;
6277 
6278   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6279   RETURN g_base_language;
6280 EXCEPTION
6281   WHEN OTHERS THEN
6282     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
6283     RAISE;
6284 END get_base_lang;
6285 
6286 PROCEDURE create_attributes_tlp_MI
6287 (
6288   p_inventory_item_id     IN PO_LINES_ALL.item_id%TYPE,
6289   p_ip_category_id        IN PO_LINES_ALL.ip_category_id%TYPE,
6290   p_org_id                IN PO_LINES_ALL.org_id%TYPE,
6291   p_language              IN PO_ATTRIBUTE_VALUES_TLP.language%TYPE,
6292   p_description           IN PO_ATTRIBUTE_VALUES_TLP.description%TYPE,
6293   p_long_description      IN PO_ATTRIBUTE_VALUES_TLP.long_description%TYPE,
6294   p_organization_id       IN NUMBER,
6295   p_master_organization_id IN NUMBER
6296 )
6297 IS
6298   d_mod CONSTANT VARCHAR2(100) :=  D_create_attributes_tlp_MI;
6299   l_progress      VARCHAR2(4);
6300   l_description  PO_ATTRIBUTE_VALUES_TLP.description%TYPE := nvl(p_description,'    ');
6301   l_manufacturer PO_ATTRIBUTE_VALUES_TLP.MANUFACTURER%TYPE;
6302   l_long_description PO_ATTRIBUTE_VALUES_TLP.LONG_DESCRIPTION%TYPE := nvl(p_long_description,'   ');
6303 
6304 BEGIN
6305   l_progress := '010';
6306 
6307 
6308   IF PO_LOG.d_proc THEN
6309     PO_LOG.proc_begin(d_mod,'p_org_id',p_org_id);
6310     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
6311     PO_LOG.proc_begin(d_mod,'p_ip_category_id',p_ip_category_id);
6312     PO_LOG.proc_begin(d_mod,'p_language',p_language);
6313     PO_LOG.proc_begin(d_mod,'p_description',p_description);
6314     PO_LOG.proc_begin(d_mod,'p_long_description',p_long_description);
6315     PO_LOG.proc_begin(d_mod,'p_organization_id', p_organization_id);
6316     PO_LOG.proc_begin(d_mod,'p_master_organization_id',p_master_organization_id);
6317 
6318   END IF;
6319 
6320   l_progress := '030';
6321 
6322   --  list down the base descriptors in PO_ATTRIBUTE_VALUES_TLP
6323   --  MANUFACTURER    COMMENTS    ALIAS    LONG_DESCRIPTION
6324   Begin
6325    SELECT MANUFACTURER_NAME
6326    INTO l_manufacturer
6327    FROM(
6328    SELECT * FROM  MTL_MFG_PART_NUMBERS_ALL_V
6329    WHERE INVENTORY_ITEM_ID =p_inventory_item_id
6330    AND ORGANIZATION_ID = p_master_organization_id
6331    ORDER BY ROW_ID ) WHERE ROWNUM =1;
6332   EXCEPTION
6333   WHEN No_Data_Found THEN
6334     l_manufacturer:='';
6335   END;
6336 
6337 
6338    l_progress := '035';
6339 
6340   -- SQL What: Insert default rows for Attribute values TLP.
6341   --           This SQL will insert multiple rows, one for each installed lang.
6342   -- SQL Why : To create a default Attr TLP row
6343   -- SQL Join: po_line_id
6344   INSERT INTO PO_ATTRIBUTE_VALUES_TLP (
6345     attribute_values_tlp_id,
6346     po_line_id,
6347     req_template_name,
6348     req_template_line_num,
6349     ip_category_id,
6350     inventory_item_id,
6351     org_id,
6352     language,
6353     description,
6354     long_description,
6355     manufacturer,
6356     -- WHO columns
6357     last_update_login,
6358     last_updated_by,
6359     last_update_date,
6360     created_by,
6361     creation_date,
6362     request_id,
6363     program_application_id,
6364     program_id,
6365     program_update_date,
6366     last_updated_program
6367    )
6368    SELECT
6369     PO_ATTRIBUTE_VALUES_TLP_S.nextval,
6370     -2,
6371     '-2',
6372     -2,
6373     NVL(p_ip_category_id,-2),
6374     NVL(p_inventory_item_id,-2),
6375     NVL(p_org_id,-2),
6376     p_language,
6377     l_description,
6378     l_long_description,
6379     l_manufacturer,
6380     -- WHO columns
6381     FND_GLOBAL.login_id,        -- last_update_login
6382     FND_GLOBAL.user_id,         -- last_updated_by
6383     sysdate,                    -- last_update_date
6384     FND_GLOBAL.user_id,         -- created_by
6385     sysdate,                    -- creation_date
6386     FND_GLOBAL.conc_request_id, -- request_id
6387     FND_GLOBAL.prog_appl_id,    -- program_application_id
6388     FND_GLOBAL.conc_program_id, -- program_id
6389     sysdate,                    -- program_update_date
6390     d_mod                       -- last_updated_program
6391    FROM DUAL
6392    WHERE NOT EXISTS
6393      (SELECT 'TLP row for this language already exists'
6394       FROM PO_ATTRIBUTE_VALUES_TLP TLP2
6395       WHERE  TLP2.inventory_item_id = p_inventory_item_id
6396         AND  TLP2.org_id = p_org_id
6397         AND  TLP2.language = p_language
6398         AND  TLP2.po_line_id = -2
6399         AND  TLP2.req_template_name = '-2'
6400         AND  TLP2.req_template_line_num = -2
6401       );
6402 
6403   l_progress := '060';
6404   IF PO_LOG.d_stmt THEN PO_LOG.stmt(d_mod,l_progress,'Number of rows inserted in TLP table='||SQL%rowcount); END IF;
6405 
6406   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6407 EXCEPTION
6408   WHEN OTHERS THEN
6409     IF PO_LOG.d_exc THEN PO_LOG.exc(d_mod,l_progress,'Unhandled exception'); END IF;
6410     RAISE;
6411 END create_attributes_tlp_MI;
6412 
6413 --------------------------------------------------------------------------------
6414 --Start of Comments
6415 --Bug 7039409: Added new procedure
6416 --Name: get_item_attributes_values
6417 --Pre-reqs:
6418 --  None
6419 --Modifies:
6420 --  None
6421 --Locks:
6422 --  None.
6423 --Function:
6424 --  To derive item attributes to be populated in PO_ATTRIBUTE_VALUES.
6425 --
6426 --Parameters:
6427 --IN:
6428 --  p_inventory_item_id
6429 --OUT:
6430 --  p_manufacturer_part_num
6431 --  p_manufacturer
6432 --  p_lead_time
6433 --End of Comments
6434 --------------------------------------------------------------------------------
6435 PROCEDURE get_item_attributes_values
6436 (
6437   p_inventory_item_id       IN         PO_LINES_ALL.item_id%TYPE,
6438   p_manufacturer_part_num   OUT NOCOPY PO_ATTRIBUTE_VALUES.manufacturer_part_num%TYPE,
6439   p_manufacturer            OUT NOCOPY PO_ATTRIBUTE_VALUES_TLP.manufacturer%TYPE,
6440   p_lead_time               OUT NOCOPY PO_ATTRIBUTE_VALUES.lead_time%TYPE
6441 )
6442 IS
6443    l_manufacturer_id  po_requisition_lines_All.MANUFACTURER_ID%TYPE;
6444 BEGIN
6445      get_item_attributes_values(p_inventory_item_id, p_manufacturer_part_num ,p_manufacturer, p_lead_time, l_manufacturer_id);
6446 END get_item_attributes_values;
6447 
6448 
6449 -------------------------------------------------------------------------------
6450 --Start of Comments
6451 --Bug 7387487: Added new procedure
6452 --Name: get_item_attributes_values
6453 --Pre-reqs:
6454 --  None
6455 --Modifies:
6456 --  None
6457 --Locks:
6458 --  None.
6459 --Function:
6460 --  To derive item attributes to be populated in PO_ATTRIBUTE_VALUES.
6461 --
6462 --Parameters:
6463 --IN:
6464 --  p_inventory_item_id
6465 --OUT:
6466 --  p_manufacturer_part_num
6467 --  p_manufacturer
6468 --  p_lead_time
6469 --p_manufacturer_id
6470 --End of Comments
6471 --------------------------------------------------------------------------------
6472 PROCEDURE get_item_attributes_values
6473 (
6474   p_inventory_item_id       IN         PO_LINES_ALL.item_id%TYPE,
6475   p_manufacturer_part_num   OUT NOCOPY PO_ATTRIBUTE_VALUES.manufacturer_part_num%TYPE,
6476   p_manufacturer            OUT NOCOPY PO_ATTRIBUTE_VALUES_TLP.manufacturer%TYPE,
6477   p_lead_time               OUT NOCOPY PO_ATTRIBUTE_VALUES.lead_time%TYPE,
6478   p_manufacturer_id         OUT NOCOPY po_requisition_lines_All.MANUFACTURER_ID%TYPE
6479 )
6480 IS
6481   d_mod                     CONSTANT VARCHAR2(100) := D_get_item_attributes_values;
6482   l_progress                VARCHAR2(4);
6483   l_master_organization_id  MTL_PARAMETERS.master_organization_id%TYPE;
6484   l_inv_organization_id     MTL_PARAMETERS.master_organization_id%TYPE;
6485 
6486 BEGIN
6487   l_progress := '010';
6488   IF PO_LOG.d_proc THEN
6489     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
6490   END IF;
6491 
6492   -- Get MASTER_ORGANIZATION_ID and INVENTORY_ORGANIZATION_ID
6493   -- Use master org to get mfg_part_num, manufacturer_name and long_description
6494   -- as these are Master level attributes.
6495   -- Use inventory org to get full_lead_time as this is Org level attribute.
6496   SELECT mtl.master_organization_id,
6497          fsp.inventory_organization_id
6498   INTO   l_master_organization_id,
6499          l_inv_organization_id
6500   FROM   mtl_parameters mtl,
6501          financials_system_parameters fsp
6502   WHERE  fsp.inventory_organization_id = mtl.organization_id;
6503 
6504   IF PO_LOG.d_stmt THEN
6505     PO_LOG.stmt(d_mod,l_progress,'l_master_organization_id='||l_master_organization_id);
6506     PO_LOG.stmt(d_mod,l_progress,'l_inv_organization_id='||l_inv_organization_id);
6507   END IF;
6508   l_progress := '020';
6509 
6510   -- Get MANUFACTURER Related info
6511   BEGIN
6512     SELECT mfg_part_num,
6513            manufacturer_name,
6514            MANUFACTURER_ID
6515     INTO   p_manufacturer_part_num,
6516            p_manufacturer,
6517            p_manufacturer_id
6518     FROM  mtl_mfg_part_numbers_all_v WHERE row_id =
6519     (SELECT Min(row_id)
6520     FROM   mtl_mfg_part_numbers_all_v
6521     WHERE  inventory_item_id = p_inventory_item_id
6522            AND organization_id = l_master_organization_id);
6523 
6524 
6525   IF PO_LOG.d_stmt THEN
6526     PO_LOG.stmt(d_mod,l_progress,'p_manufacturer_part_num='||p_manufacturer_part_num);
6527     PO_LOG.stmt(d_mod,l_progress,'p_manufacturer='||p_manufacturer);
6528   END IF;
6529   l_progress := '030';
6530 
6531   EXCEPTION
6532     WHEN NO_DATA_FOUND THEN
6533       p_manufacturer_part_num := NULL;
6534       p_manufacturer := NULL;
6535   END;
6536 
6537   -- Get LEAD_TIME
6538   SELECT full_lead_time
6539   INTO   p_lead_time
6540   FROM   mtl_system_items_b
6541   WHERE  inventory_item_id = p_inventory_item_id
6542          AND organization_id = l_inv_organization_id;
6543 
6544   IF PO_LOG.d_stmt THEN
6545     PO_LOG.stmt(d_mod,l_progress,'p_lead_time='||p_lead_time);
6546   END IF;
6547   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6548 END get_item_attributes_values;
6549 --------------------------------------------------------------------------------
6550 --Start of Comments
6551 --Bug 7039409: Added new procedure
6552 --Name: get_item_attributes_tlp_values
6553 --Pre-reqs:
6554 --  None
6555 --Modifies:
6556 --  None
6557 --Locks:
6558 --  None.
6559 --Function:
6560 --  To derive tlp item attributes to be populated in PO_ATTRIBUTE_VALUES_TLP.
6561 --
6562 --Parameters:
6563 --IN:
6564 --  p_inventory_item_id
6565 --  p_lang
6566 --OUT:
6567 --  p_long_description
6568 --End of Comments
6569 --------------------------------------------------------------------------------
6570 PROCEDURE get_item_attributes_tlp_values
6571 (
6572   p_inventory_item_id       IN         PO_LINES_ALL.item_id%TYPE,
6573   p_lang                    IN         PO_ATTRIBUTE_VALUES_TLP.language%TYPE,
6574   p_long_description        OUT NOCOPY PO_ATTRIBUTE_VALUES_TLP.long_description%TYPE
6575 )
6576 IS
6577   d_mod                     CONSTANT VARCHAR2(100) := D_get_item_attributes_tlp;
6578   l_progress                VARCHAR2(4);
6579   l_master_organization_id  PO_LINES_ALL.org_id%TYPE;
6580 BEGIN
6581   l_progress := '010';
6582   IF PO_LOG.d_proc THEN
6583     PO_LOG.proc_begin(d_mod,'p_inventory_item_id',p_inventory_item_id);
6584     PO_LOG.proc_begin(d_mod,'p_lang',p_lang);
6585   END IF;
6586 
6587   -- Get MASTER_ORGANIZATION_ID
6588   SELECT mtl.master_organization_id
6589   INTO   l_master_organization_id
6590   FROM   mtl_parameters mtl,
6591          financials_system_parameters fsp
6592   WHERE  fsp.inventory_organization_id = mtl.organization_id;
6593 
6594   IF PO_LOG.d_stmt THEN
6595     PO_LOG.stmt(d_mod,l_progress,'l_master_organization_id='||l_master_organization_id);
6596   END IF;
6597   l_progress := '020';
6598 
6599   -- Get LONG_DESCRIPTION
6600   BEGIN
6601     SELECT long_description
6602     INTO   p_long_description
6603     FROM   mtl_system_items_tl
6604     WHERE  inventory_item_id = p_inventory_item_id
6605            AND organization_id = l_master_organization_id
6606            AND language = p_lang;
6607 
6608     IF PO_LOG.d_stmt THEN
6609       PO_LOG.stmt(d_mod,l_progress,'p_long_description='||p_long_description);
6610     END IF;
6611   EXCEPTION
6612     -- If not found, get it for the base lang
6613     WHEN NO_DATA_FOUND THEN
6614       SELECT long_description
6615       INTO   p_long_description
6616       FROM   mtl_system_items_tl
6617       WHERE  inventory_item_id = p_inventory_item_id
6618              AND organization_id = l_master_organization_id
6619              AND language = g_base_language;
6620       IF PO_LOG.d_stmt THEN
6621         PO_LOG.stmt(d_mod,l_progress,'NO_DATA_FOUND');
6622         PO_LOG.stmt(d_mod,l_progress,'p_long_description='||p_long_description);
6623       END IF;
6624   END;
6625 
6626   IF PO_LOG.d_proc THEN PO_LOG.proc_end(d_mod); END IF;
6627 END get_item_attributes_tlp_values;
6628 
6629 END;