[Home] [Help]
PACKAGE BODY: APPS.EGO_ITEM_PUB
Source
1 PACKAGE BODY EGO_ITEM_PUB AS
2 /* $Header: EGOPITMB.pls 120.40.12020000.6 2012/11/19 12:12:02 vijoshi ship $ */
3
4 G_FILE_NAME CONSTANT VARCHAR2(12) := 'EGOPITMB.pls';
5 G_PKG_NAME CONSTANT VARCHAR2(30) := 'EGO_ITEM_PUB';
6
7 G_USER_ID NUMBER := FND_GLOBAL.User_Id;
8 G_LOGIN_ID NUMBER := FND_GLOBAL.Conc_Login_Id;
9
10 PROCEDURE initialize_item_info
11 (p_inventory_item_id IN NUMBER
12 ,p_organization_id IN NUMBER
13 ,p_tab_index IN INTEGER
14 ,x_item_table IN OUT NOCOPY EGO_ITEM_PUB.Item_Tbl_Type
15 ,x_return_status OUT NOCOPY VARCHAR2
16 ,x_msg_count OUT NOCOPY NUMBER);
17
18 PROCEDURE initialize_template_info
19 (p_template_id IN NUMBER
20 ,p_template_name IN VARCHAR2
21 ,p_organization_id IN NUMBER
22 ,p_organization_code IN VARCHAR2
23 ,p_tab_index IN INTEGER
24 ,x_item_table IN OUT NOCOPY EGO_ITEM_PUB.Item_Tbl_Type
25 ,x_return_status OUT NOCOPY VARCHAR2
26 ,x_msg_count OUT NOCOPY NUMBER);
27
28
29 -----------------------------------------------------------------
30 FUNCTION REPLACE_G_MISS_CHAR(p_value_passed VARCHAR2
31 ,p_value_set VARCHAR2)
32 RETURN VARCHAR2 IS
33 l_return_value VARCHAR2(4000);
34 BEGIN
35 IF p_value_passed = G_MISS_CHAR THEN
36 l_return_value := p_value_set;
37 ELSE
38 l_return_value := p_value_passed;
39 END IF;
40 RETURN l_return_value;
41 END REPLACE_G_MISS_CHAR;
42
43 -----------------------------------------------------------------
44 FUNCTION REPLACE_G_MISS_NUM(p_value_passed NUMBER
45 ,p_value_set NUMBER)
46 RETURN NUMBER IS
47 l_return_value NUMBER;
48 BEGIN
49 IF p_value_passed = G_MISS_NUM THEN
50 l_return_value := p_value_set;
51 ELSE
52 l_return_value := p_value_passed;
53 END IF;
54 RETURN l_return_value;
55 END REPLACE_G_MISS_NUM;
56
57 -----------------------------------------------------------------
58 FUNCTION REPLACE_G_MISS_DATE(p_value_passed DATE
59 ,p_value_set DATE)
60 RETURN DATE IS
61 l_return_value DATE;
62 BEGIN
63 IF p_value_passed = G_MISS_DATE THEN
64 l_return_value := p_value_set;
65 ELSE
66 l_return_value := p_value_passed;
67 END IF;
68 RETURN l_return_value;
69 END REPLACE_G_MISS_DATE;
70
71 -----------------------------------------------------------------
72 -- Write Debug statements to DBMS OUTPUT
73 -----------------------------------------------------------------
74 PROCEDURE Write_Out (p_msg IN VARCHAR2) IS
75 BEGIN
76 NULL;
77 --DBMS_OUTPUT.PUT_LINE('['||TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||'] '|| p_msg);
78 END;
79
80 ---------------------------------------------------------------------------
81 -- Procedure to merge the new value in the given Table
82 ---------------------------------------------------------------------------
83 PROCEDURE Merge_new_entry(p_num_table IN OUT NOCOPY EGO_NUMBER_TBL_TYPE,
84 p_num_value IN NUMBER) IS
85
86 l_value_exists BOOLEAN := FALSE;
87 BEGIN
88
89 IF (p_num_table IS NULL) THEN
90
91 p_num_table := EGO_NUMBER_TBL_TYPE();
92 --WRITE_OUT('NEW Entry, add value to the end: '||p_num_value);
93 p_num_table.EXTEND();
94 p_num_table(p_num_table.LAST) := p_num_value;
95
96 ELSE -- IF (p_num_table IS NULL)...
97
98 FOR i IN 1..p_num_table.COUNT LOOP
99 IF (p_num_table(i) = p_num_value) THEN
100 --WRITE_OUT('No need to Add. Value Exists: '||p_num_table(i));
101 l_value_exists := TRUE;
102 END IF;
103 END LOOP; --end: FOR i IN 1..l_num_table.COUNT LOOP
104
105 IF NOT (l_value_exists) THEN
106 --WRITE_OUT('NEW Entry, add value to the end: '||p_num_value);
107 p_num_table.EXTEND();
108 p_num_table(p_num_table.LAST) := p_num_value;
109 END IF; --end: IF NOT (l_value_exists) THEN
110
111 END IF; --end: IF (p_num_table IS NULL) THEN
112
113 END Merge_new_entry;
114
115 ---------------------------------------------------------------------------
116 PROCEDURE Process_Items(
117 p_api_version IN NUMBER
118 ,p_init_msg_list IN VARCHAR2 DEFAULT G_FALSE
119 ,p_commit IN VARCHAR2 DEFAULT G_FALSE
120 ,p_Item_Tbl IN EGO_Item_PUB.Item_Tbl_Type
121 ,x_Item_Tbl OUT NOCOPY EGO_Item_PUB.Item_Tbl_Type
122 ,p_Role_Grant_Tbl IN EGO_Item_PUB.Role_Grant_Tbl_Type DEFAULT EGO_Item_PUB.G_MISS_Role_Grant_Tbl
123 ,x_return_status OUT NOCOPY VARCHAR2
124 ,x_msg_count OUT NOCOPY NUMBER) IS
125
126 l_api_name CONSTANT VARCHAR2(30) := 'Process_Items';
127 l_api_version CONSTANT NUMBER := 1.0;
128 l_return_status VARCHAR2(1) := G_MISS_CHAR;
129 l_tab_index NUMBER := p_Item_Tbl.FIRST;
130 l_item_tbl EGO_Item_PUB.Item_Tbl_Type;
131
132 BEGIN
133
134 x_return_status := G_RET_STS_SUCCESS;
135
136 -- Check for call compatibility
137 IF NOT FND_API.Compatible_API_Call ( l_api_version, p_api_version,
138 l_api_name, G_PKG_NAME )
139 THEN
140 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
141 END IF;
142
143 -- Initialize message list
144 IF FND_API.To_Boolean (p_init_msg_list) THEN
145 Error_Handler.Initialize;
146 END IF;
147
148 -- Set business object identifier in the System Information record
149 Error_Handler.Set_BO_Identifier ( p_bo_identifier => G_BO_Identifier );
150
151 l_item_tbl := p_Item_Tbl;
152 -- Store items input data in the global table so that the business object
153 -- data are accessible without copying to all procedures.
154
155 WHILE l_tab_index <= p_Item_Tbl.LAST LOOP
156
157 IF ((p_Item_Tbl(l_tab_index).Transaction_Type = G_TTYPE_CREATE)
158 AND(p_Item_Tbl(l_tab_index).item_catalog_group_id IS NULL
159 OR p_Item_Tbl(l_tab_index).item_catalog_group_id = G_MISS_NUM
160 OR NOT INVIDIT3.CHECK_NPR_CATALOG(p_Item_Tbl(l_tab_index).item_catalog_group_id)))
161 THEN
162
163 IF p_Item_Tbl(l_tab_index).copy_inventory_item_Id IS NOT NULL
164 AND p_Item_Tbl(l_tab_index).copy_inventory_item_Id <> G_MISS_NUM THEN
165
166 initialize_item_info(
167 p_inventory_item_id => p_Item_Tbl(l_tab_index).copy_inventory_item_Id
168 ,p_organization_id => p_Item_Tbl(l_tab_index).organization_id
169 ,p_tab_index => l_tab_index
170 ,x_item_table => l_item_tbl
171 ,x_return_status => x_return_status
172 ,x_msg_count => x_msg_count);
173
174 -- serial_tagging enh -- bug 9913552
175 invpagi2.G_copy_item_id:=p_Item_Tbl(l_tab_index).copy_inventory_item_Id;
176
177 IF x_return_status = G_RET_STS_ERROR THEN
178 RAISE FND_API.G_EXC_ERROR;
179 ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
180 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
181 END IF;
182
183 END IF;
184
185 END IF;
186 l_tab_index := l_tab_index + 1;
187 END LOOP;
188
189 EGO_Item_PVT.G_Item_Tbl := l_item_tbl;
190
191 /* Below code is added as the process_items is not used in HTML/EXCEL etc,
192 so madating this to be API flow only */
193 INV_EGO_REVISION_VALIDATE.Set_Process_Control_HTML_API('API'); -- Bug 9852661
194
195 -- Call the Private API to process items table.
196 /* Below code is added as the process_items is not used in HTML/EXCEL etc,
197 so madating this to be API flow only */
198 INV_EGO_REVISION_VALIDATE.Set_Process_Control_HTML_API('API'); -- Bug 12669090
199 EGO_Item_PVT.Process_Items (
200 p_commit => p_commit
201 ,x_return_status => l_return_status
202 ,x_msg_count => x_msg_count );
203
204 x_return_status := l_return_status;
205 x_Item_Tbl := EGO_Item_PVT.G_Item_Tbl;
206
207 EXCEPTION
208 WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
209 x_return_status := G_RET_STS_UNEXP_ERROR;
210 WHEN others THEN
211 x_return_status := G_RET_STS_UNEXP_ERROR;
212 EGO_Item_Msg.Add_Error_Message ( EGO_Item_PVT.G_Item_indx, 'INV', 'INV_ITEM_UNEXPECTED_ERROR',
213 'PACKAGE_NAME', G_PKG_NAME, FALSE,
214 'PROCEDURE_NAME', l_api_name, FALSE,
215 'ERROR_TEXT', SQLERRM, FALSE );
216 END Process_Items;
217
218 ---------------------------------------------------------------------------
219 PROCEDURE Process_Item(
220 p_api_version IN NUMBER
221 ,p_init_msg_list IN VARCHAR2 DEFAULT G_FALSE
222 ,p_commit IN VARCHAR2 DEFAULT G_FALSE
223 -- Transaction data
224 ,p_Transaction_Type IN VARCHAR2 DEFAULT G_MISS_CHAR
225 ,p_Language_Code IN VARCHAR2 DEFAULT G_MISS_CHAR
226 -- Copy item from
227 ,p_Template_Id IN NUMBER DEFAULT NULL
228 ,p_Template_Name IN VARCHAR2 DEFAULT NULL
229 -- Item identifier
230 ,p_Inventory_Item_Id IN NUMBER DEFAULT G_MISS_NUM
231 ,p_Item_Number IN VARCHAR2 DEFAULT G_MISS_CHAR
232 ,p_Segment1 IN VARCHAR2 DEFAULT G_MISS_CHAR
233 ,p_Segment2 IN VARCHAR2 DEFAULT G_MISS_CHAR
234 ,p_Segment3 IN VARCHAR2 DEFAULT G_MISS_CHAR
235 ,p_Segment4 IN VARCHAR2 DEFAULT G_MISS_CHAR
236 ,p_Segment5 IN VARCHAR2 DEFAULT G_MISS_CHAR
237 ,p_Segment6 IN VARCHAR2 DEFAULT G_MISS_CHAR
238 ,p_Segment7 IN VARCHAR2 DEFAULT G_MISS_CHAR
239 ,p_Segment8 IN VARCHAR2 DEFAULT G_MISS_CHAR
240 ,p_Segment9 IN VARCHAR2 DEFAULT G_MISS_CHAR
241 ,p_Segment10 IN VARCHAR2 DEFAULT G_MISS_CHAR
242 ,p_Segment11 IN VARCHAR2 DEFAULT G_MISS_CHAR
243 ,p_Segment12 IN VARCHAR2 DEFAULT G_MISS_CHAR
244 ,p_Segment13 IN VARCHAR2 DEFAULT G_MISS_CHAR
245 ,p_Segment14 IN VARCHAR2 DEFAULT G_MISS_CHAR
246 ,p_Segment15 IN VARCHAR2 DEFAULT G_MISS_CHAR
247 ,p_Segment16 IN VARCHAR2 DEFAULT G_MISS_CHAR
248 ,p_Segment17 IN VARCHAR2 DEFAULT G_MISS_CHAR
249 ,p_Segment18 IN VARCHAR2 DEFAULT G_MISS_CHAR
250 ,p_Segment19 IN VARCHAR2 DEFAULT G_MISS_CHAR
251 ,p_Segment20 IN VARCHAR2 DEFAULT G_MISS_CHAR
252 ,p_Object_Version_Number IN NUMBER DEFAULT G_MISS_NUM
253 -- New Item segments Bug:2806390
254 ,p_New_Item_Number IN VARCHAR2 DEFAULT G_MISS_CHAR
255 ,p_New_Segment1 IN VARCHAR2 DEFAULT G_MISS_CHAR
256 ,p_New_Segment2 IN VARCHAR2 DEFAULT G_MISS_CHAR
257 ,p_New_Segment3 IN VARCHAR2 DEFAULT G_MISS_CHAR
258 ,p_New_Segment4 IN VARCHAR2 DEFAULT G_MISS_CHAR
259 ,p_New_Segment5 IN VARCHAR2 DEFAULT G_MISS_CHAR
260 ,p_New_Segment6 IN VARCHAR2 DEFAULT G_MISS_CHAR
261 ,p_New_Segment7 IN VARCHAR2 DEFAULT G_MISS_CHAR
262 ,p_New_Segment8 IN VARCHAR2 DEFAULT G_MISS_CHAR
263 ,p_New_Segment9 IN VARCHAR2 DEFAULT G_MISS_CHAR
264 ,p_New_Segment10 IN VARCHAR2 DEFAULT G_MISS_CHAR
265 ,p_New_Segment11 IN VARCHAR2 DEFAULT G_MISS_CHAR
266 ,p_New_Segment12 IN VARCHAR2 DEFAULT G_MISS_CHAR
267 ,p_New_Segment13 IN VARCHAR2 DEFAULT G_MISS_CHAR
268 ,p_New_Segment14 IN VARCHAR2 DEFAULT G_MISS_CHAR
269 ,p_New_Segment15 IN VARCHAR2 DEFAULT G_MISS_CHAR
270 ,p_New_Segment16 IN VARCHAR2 DEFAULT G_MISS_CHAR
271 ,p_New_Segment17 IN VARCHAR2 DEFAULT G_MISS_CHAR
272 ,p_New_Segment18 IN VARCHAR2 DEFAULT G_MISS_CHAR
273 ,p_New_Segment19 IN VARCHAR2 DEFAULT G_MISS_CHAR
274 ,p_New_Segment20 IN VARCHAR2 DEFAULT G_MISS_CHAR
275 -- Organization
276 ,p_Organization_Id IN NUMBER DEFAULT G_MISS_NUM
277 ,p_Organization_Code IN VARCHAR2 DEFAULT G_MISS_CHAR
278 -- Item catalog group
279 ,p_Item_Catalog_Group_Id IN NUMBER DEFAULT G_MISS_NUM
280 ,p_Catalog_Status_Flag IN VARCHAR2 DEFAULT G_MISS_CHAR
281 -- Lifecycle
282 ,p_Lifecycle_Id IN NUMBER DEFAULT G_MISS_NUM
283 ,p_Current_Phase_Id IN NUMBER DEFAULT G_MISS_NUM
284 -- Main attributes
285 ,p_Description IN VARCHAR2 DEFAULT G_MISS_CHAR
286 ,p_Long_Description IN VARCHAR2 DEFAULT G_MISS_CHAR
287 ,p_Primary_Uom_Code IN VARCHAR2 DEFAULT G_MISS_CHAR
288 ,p_Inventory_Item_Status_Code IN VARCHAR2 DEFAULT G_MISS_CHAR
289 -- BOM/Eng
290 ,p_Bom_Enabled_Flag IN VARCHAR2 DEFAULT G_MISS_CHAR
291 ,p_Eng_Item_Flag IN VARCHAR2 DEFAULT G_MISS_CHAR
292 -- Role Grant
293 ,p_Role_Id IN NUMBER DEFAULT G_MISS_NUM
294 ,p_Role_Name IN VARCHAR2 DEFAULT G_MISS_CHAR
295 ,p_Grantee_Party_Type IN VARCHAR2 DEFAULT G_MISS_CHAR
296 ,p_Grantee_Party_Id IN NUMBER DEFAULT G_MISS_NUM
297 ,p_Grantee_Party_Name IN VARCHAR2 DEFAULT G_MISS_CHAR
298 ,p_Grant_Start_Date IN DATE DEFAULT G_MISS_DATE
299 ,p_Grant_End_Date IN DATE DEFAULT G_MISS_DATE
300 -- Returned item id
301 ,x_Inventory_Item_Id OUT NOCOPY NUMBER
302 ,x_Organization_Id OUT NOCOPY NUMBER
303 ,x_return_status OUT NOCOPY VARCHAR2
304 ,x_msg_count OUT NOCOPY NUMBER) IS
305
306 l_api_name CONSTANT VARCHAR2(30) := 'Process_Item';
307 l_api_version CONSTANT NUMBER := 1.0;
308 l_return_status VARCHAR2(1) := G_MISS_CHAR;
309 l_Item_Tbl EGO_Item_PUB.Item_Tbl_Type;
310 l_Item_Tbl_out EGO_Item_PUB.Item_Tbl_Type;
311 indx BINARY_INTEGER := 1;
312
313 BEGIN
314 l_Item_Tbl(indx).Transaction_Type := p_Transaction_Type;
315 l_Item_Tbl(indx).Language_Code := p_Language_Code;
316 -- Copy item from
317 l_Item_Tbl(indx).Template_Id := p_Template_Id;
318 l_Item_Tbl(indx).Template_Name := p_Template_Name;
319 -- Item identifier
320 l_Item_Tbl(indx).Inventory_Item_Id := p_Inventory_Item_Id;
321 l_Item_Tbl(indx).Item_Number := p_Item_Number;
322 l_Item_Tbl(indx).Segment1 := p_Segment1;
323 l_Item_Tbl(indx).Segment2 := p_Segment2;
324 l_Item_Tbl(indx).Segment3 := p_Segment3;
325 l_Item_Tbl(indx).Segment4 := p_Segment4;
326 l_Item_Tbl(indx).Segment5 := p_Segment5;
327 l_Item_Tbl(indx).Segment6 := p_Segment6;
328 l_Item_Tbl(indx).Segment7 := p_Segment7;
329 l_Item_Tbl(indx).Segment8 := p_Segment8;
330 l_Item_Tbl(indx).Segment9 := p_Segment9;
331 l_Item_Tbl(indx).Segment10 := p_Segment10;
332 l_Item_Tbl(indx).Segment11 := p_Segment11;
333 l_Item_Tbl(indx).Segment12 := p_Segment12;
334 l_Item_Tbl(indx).Segment13 := p_Segment13;
335 l_Item_Tbl(indx).Segment14 := p_Segment14;
336 l_Item_Tbl(indx).Segment15 := p_Segment15;
337 l_Item_Tbl(indx).Segment16 := p_Segment16;
338 l_Item_Tbl(indx).Segment17 := p_Segment17;
339 l_Item_Tbl(indx).Segment18 := p_Segment18;
340 l_Item_Tbl(indx).Segment19 := p_Segment19;
341 l_Item_Tbl(indx).Segment20 := p_Segment20;
342 l_Item_Tbl(indx).Object_Version_Number := p_Object_Version_Number;
343 -- Organization
344 l_Item_Tbl(indx).Organization_Id := p_Organization_Id;
345 l_Item_Tbl(indx).Organization_Code := p_Organization_Code;
346 -- Item catalog group
347 l_Item_Tbl(indx).Item_Catalog_Group_Id := p_Item_Catalog_Group_Id;
348 l_Item_Tbl(indx).Catalog_Status_Flag := p_Catalog_Status_Flag;
349 -- Lifecycle
350 l_Item_Tbl(indx).Lifecycle_Id := p_Lifecycle_Id;
351 l_Item_Tbl(indx).Current_Phase_Id := p_Current_Phase_Id;
352 -- Main attributes
353 l_Item_Tbl(indx).Description := p_Description;
354 l_Item_Tbl(indx).Long_Description := p_Long_Description;
355 l_Item_Tbl(indx).Primary_Uom_Code := p_Primary_Uom_Code;
356 l_Item_Tbl(indx).Inventory_Item_Status_Code := p_Inventory_Item_Status_Code;
357 -- BoM/Eng
358 l_Item_Tbl(indx).Bom_Enabled_Flag := p_Bom_Enabled_Flag;
359 l_Item_Tbl(indx).Eng_Item_Flag := p_Eng_Item_Flag;
360
361 --Bug:2806390 Update Item segments
362 IF (p_Transaction_Type = G_TTYPE_UPDATE) THEN
363 Update_Item_Number(
364 p_Inventory_Item_Id
365 , p_Item_Number
366 , p_Segment1
367 , p_Segment2
368 , p_Segment3
369 , p_Segment4
370 , p_Segment5
371 , p_Segment6
372 , p_Segment7
373 , p_Segment8
374 , p_Segment9
375 , p_Segment10
376 , p_Segment11
377 , p_Segment12
378 , p_Segment13
379 , p_Segment14
380 , p_Segment15
381 , p_Segment16
382 , p_Segment17
383 , p_Segment18
384 , p_Segment19
385 , p_Segment20
386 , p_New_Segment1
387 , p_New_Segment2
388 , p_New_Segment3
389 , p_New_Segment4
390 , p_New_Segment5
391 , p_New_Segment6
392 , p_New_Segment7
393 , p_New_Segment8
394 , p_New_Segment9
395 , p_New_Segment10
396 , p_New_Segment11
397 , p_New_Segment12
398 , p_New_Segment13
399 , p_New_Segment14
400 , p_New_Segment15
401 , p_New_Segment16
402 , p_New_Segment17
403 , p_New_Segment18
404 , p_New_Segment19
405 , p_New_Segment20
406 , l_Item_Tbl
407 , l_return_status);
408
409 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
410 x_msg_count := NVL(x_msg_count,0)+1; --Bug:3947619
411 END IF;
412
413 END IF;
414
415 IF (l_return_status IN (FND_API.G_RET_STS_SUCCESS,G_MISS_CHAR) ) THEN
416 EGO_Item_PUB.Process_Items(
417 p_api_version => 1.0
418 , p_init_msg_list => p_init_msg_list
419 , p_commit => p_commit
420 , p_Item_Tbl => l_Item_Tbl
421 , x_Item_Tbl => l_Item_Tbl_out
422 , x_return_status => l_return_status
423 , x_msg_count => x_msg_count );
424 END IF;
425
426 x_Inventory_Item_Id := l_Item_Tbl_out(indx).Inventory_Item_Id;
427 x_Organization_Id := l_Item_Tbl_out(indx).Organization_Id;
428
429 x_return_status := l_return_status;
430
431 EXCEPTION
432 WHEN OTHERS THEN
433 x_return_status := G_RET_STS_UNEXP_ERROR;
434 EGO_Item_Msg.Add_Error_Message ( indx, 'INV', 'INV_ITEM_UNEXPECTED_ERROR',
435 'PACKAGE_NAME', G_PKG_NAME, FALSE,
436 'PROCEDURE_NAME', l_api_name, FALSE,
437 'ERROR_TEXT', SQLERRM, FALSE );
438
439 END Process_Item;
440
441 ---------------------------------------------------------------------------
442 --Added for bug 5997870. Will clear the session variable in the INVUPD2B package
443 PROCEDURE Clear_Object_Version_Values IS
444 BEGIN
445 INVUPD2B.obj_ver_rec.inventory_item_id := NULL;
446 INVUPD2B.obj_ver_rec.org_id := NULL;
447 INVUPD2B.obj_ver_rec.Object_Version_Number := NULL;
448 END;
449
450 ---------------------------------------------------------------------------
451 PROCEDURE Process_Item(
452 p_api_version IN NUMBER
453 ,p_init_msg_list IN VARCHAR2 DEFAULT G_FALSE
454 ,p_commit IN VARCHAR2 DEFAULT G_FALSE
455 -- Transaction data
456 ,p_Transaction_Type IN VARCHAR2 DEFAULT G_MISS_CHAR
457 ,p_Language_Code IN VARCHAR2 DEFAULT G_MISS_CHAR
458 -- Copy item from template
459 ,p_Template_Id IN NUMBER DEFAULT NULL
460 ,p_Template_Name IN VARCHAR2 DEFAULT NULL
461 -- Copy item from another item
462 ,p_copy_inventory_item_Id IN NUMBER DEFAULT G_MISS_NUM
463 -- Base Attributes
464 ,p_inventory_item_id IN NUMBER DEFAULT G_MISS_NUM
465 ,p_organization_id IN NUMBER DEFAULT G_MISS_NUM
466 ,p_master_organization_id IN NUMBER DEFAULT G_MISS_NUM
467 ,p_description IN VARCHAR2 DEFAULT G_MISS_CHAR
468 ,p_long_description IN VARCHAR2 DEFAULT G_MISS_CHAR
469 ,p_primary_uom_code IN VARCHAR2 DEFAULT G_MISS_CHAR
470 ,p_primary_unit_of_measure IN VARCHAR2 DEFAULT G_MISS_CHAR
471 ,p_item_type IN VARCHAR2 DEFAULT G_MISS_CHAR
472 ,p_inventory_item_status_code IN VARCHAR2 DEFAULT G_MISS_CHAR
473 ,p_allowed_units_lookup_code IN NUMBER DEFAULT G_MISS_NUM
474 ,p_item_catalog_group_id IN NUMBER DEFAULT G_MISS_NUM
475 ,p_catalog_status_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
476 ,p_inventory_item_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
477 ,p_stock_enabled_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
478 ,p_mtl_transactions_enabled_fl IN VARCHAR2 DEFAULT G_MISS_CHAR
479 ,p_check_shortages_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
480 ,p_revision_qty_control_code IN NUMBER DEFAULT G_MISS_NUM
481 ,p_reservable_type IN NUMBER DEFAULT G_MISS_NUM
482 ,p_shelf_life_code IN NUMBER DEFAULT G_MISS_NUM
483 ,p_shelf_life_days IN NUMBER DEFAULT G_MISS_NUM
484 ,p_cycle_count_enabled_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
485 ,p_negative_measurement_error IN NUMBER DEFAULT G_MISS_NUM
486 ,p_positive_measurement_error IN NUMBER DEFAULT G_MISS_NUM
487 ,p_lot_control_code IN NUMBER DEFAULT G_MISS_NUM
488 ,p_auto_lot_alpha_prefix IN VARCHAR2 DEFAULT G_MISS_CHAR
489 ,p_start_auto_lot_number IN VARCHAR2 DEFAULT G_MISS_CHAR
490 ,p_serial_number_control_code IN NUMBER DEFAULT G_MISS_NUM
491 ,p_auto_serial_alpha_prefix IN VARCHAR2 DEFAULT G_MISS_CHAR
492 ,p_start_auto_serial_number IN VARCHAR2 DEFAULT G_MISS_CHAR
493 ,p_location_control_code IN NUMBER DEFAULT G_MISS_NUM
494 ,p_restrict_subinventories_cod IN NUMBER DEFAULT G_MISS_NUM
495 ,p_restrict_locators_code IN NUMBER DEFAULT G_MISS_NUM
496 ,p_bom_enabled_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
497 ,p_bom_item_type IN NUMBER DEFAULT G_MISS_NUM
498 ,p_base_item_id IN NUMBER DEFAULT G_MISS_NUM
499 ,p_effectivity_control IN NUMBER DEFAULT G_MISS_NUM
500 ,p_eng_item_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
501 ,p_engineering_ecn_code IN VARCHAR2 DEFAULT G_MISS_CHAR
502 ,p_engineering_item_id IN NUMBER DEFAULT G_MISS_NUM
503 ,p_engineering_date IN DATE DEFAULT G_MISS_DATE
504 ,p_product_family_item_id IN NUMBER DEFAULT G_MISS_NUM
505 ,p_auto_created_config_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
506 ,p_model_config_clause_name IN VARCHAR2 DEFAULT G_MISS_CHAR
507 -- attribute not in the form
508 ,p_new_revision_code IN VARCHAR2 DEFAULT G_MISS_CHAR
509 ,p_costing_enabled_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
510 ,p_inventory_asset_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
511 ,p_default_include_in_rollup_f IN VARCHAR2 DEFAULT G_MISS_CHAR
512 ,p_cost_of_sales_account IN NUMBER DEFAULT G_MISS_NUM
513 ,p_std_lot_size IN NUMBER DEFAULT G_MISS_NUM
514 ,p_purchasing_item_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
515 ,p_purchasing_enabled_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
516 ,p_must_use_approved_vendor_fl IN VARCHAR2 DEFAULT G_MISS_CHAR
517 ,p_allow_item_desc_update_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
518 ,p_rfq_required_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
519 ,p_outside_operation_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
520 ,p_outside_operation_uom_type IN VARCHAR2 DEFAULT G_MISS_CHAR
521 ,p_taxable_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
522 ,p_purchasing_tax_code IN VARCHAR2 DEFAULT G_MISS_CHAR
523 ,p_receipt_required_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
524 ,p_inspection_required_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
525 ,p_buyer_id IN NUMBER DEFAULT G_MISS_NUM
526 ,p_unit_of_issue IN VARCHAR2 DEFAULT G_MISS_CHAR
527 ,p_receive_close_tolerance IN NUMBER DEFAULT G_MISS_NUM
528 ,p_invoice_close_tolerance IN NUMBER DEFAULT G_MISS_NUM
529 ,p_un_number_id IN NUMBER DEFAULT G_MISS_NUM
530 ,p_hazard_class_id IN NUMBER DEFAULT G_MISS_NUM
531 ,p_list_price_per_unit IN NUMBER DEFAULT G_MISS_NUM
532 ,p_market_price IN NUMBER DEFAULT G_MISS_NUM
533 ,p_price_tolerance_percent IN NUMBER DEFAULT G_MISS_NUM
534 ,p_rounding_factor IN NUMBER DEFAULT G_MISS_NUM
535 ,p_encumbrance_account IN NUMBER DEFAULT G_MISS_NUM
536 ,p_expense_account IN NUMBER DEFAULT G_MISS_NUM
537 ,p_expense_billable_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
538 ,p_asset_category_id IN NUMBER DEFAULT G_MISS_NUM
539 ,p_receipt_days_exception_code IN VARCHAR2 DEFAULT G_MISS_CHAR
540 ,p_days_early_receipt_allowed IN NUMBER DEFAULT G_MISS_NUM
541 ,p_days_late_receipt_allowed IN NUMBER DEFAULT G_MISS_NUM
542 ,p_allow_substitute_receipts_f IN VARCHAR2 DEFAULT G_MISS_CHAR
543 ,p_allow_unordered_receipts_fl IN VARCHAR2 DEFAULT G_MISS_CHAR
544 ,p_allow_express_delivery_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
545 ,p_qty_rcv_exception_code IN VARCHAR2 DEFAULT G_MISS_CHAR
546 ,p_qty_rcv_tolerance IN NUMBER DEFAULT G_MISS_NUM
547 ,p_receiving_routing_id IN NUMBER DEFAULT G_MISS_NUM
548 ,p_enforce_ship_to_location_c IN VARCHAR2 DEFAULT G_MISS_CHAR
549 ,p_weight_uom_code IN VARCHAR2 DEFAULT G_MISS_CHAR
550 ,p_unit_weight IN NUMBER DEFAULT G_MISS_NUM
551 ,p_volume_uom_code IN VARCHAR2 DEFAULT G_MISS_CHAR
552 ,p_unit_volume IN NUMBER DEFAULT G_MISS_NUM
553 ,p_container_item_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
554 ,p_vehicle_item_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
555 ,p_container_type_code IN VARCHAR2 DEFAULT G_MISS_CHAR
556 ,p_internal_volume IN NUMBER DEFAULT G_MISS_NUM
557 ,p_maximum_load_weight IN NUMBER DEFAULT G_MISS_NUM
558 ,p_minimum_fill_percent IN NUMBER DEFAULT G_MISS_NUM
559 ,p_inventory_planning_code IN NUMBER DEFAULT G_MISS_NUM
560 ,p_planner_code IN VARCHAR2 DEFAULT G_MISS_CHAR
561 ,p_planning_make_buy_code IN NUMBER DEFAULT G_MISS_NUM
562 ,p_min_minmax_quantity IN NUMBER DEFAULT G_MISS_NUM
563 ,p_max_minmax_quantity IN NUMBER DEFAULT G_MISS_NUM
564 ,p_minimum_order_quantity IN NUMBER DEFAULT G_MISS_NUM
565 ,p_maximum_order_quantity IN NUMBER DEFAULT G_MISS_NUM
566 ,p_order_cost IN NUMBER DEFAULT G_MISS_NUM
567 ,p_carrying_cost IN NUMBER DEFAULT G_MISS_NUM
568 ,p_source_type IN NUMBER DEFAULT G_MISS_NUM
569 ,p_source_organization_id IN NUMBER DEFAULT G_MISS_NUM
570 ,p_source_subinventory IN VARCHAR2 DEFAULT G_MISS_CHAR
571 ,p_mrp_safety_stock_code IN NUMBER DEFAULT G_MISS_NUM
572 ,p_safety_stock_bucket_days IN NUMBER DEFAULT G_MISS_NUM
573 ,p_mrp_safety_stock_percent IN NUMBER DEFAULT G_MISS_NUM
574 ,p_fixed_order_quantity IN NUMBER DEFAULT G_MISS_NUM
575 ,p_fixed_days_supply IN NUMBER DEFAULT G_MISS_NUM
576 ,p_fixed_lot_multiplier IN NUMBER DEFAULT G_MISS_NUM
577 ,p_mrp_planning_code IN NUMBER DEFAULT G_MISS_NUM
578 ,p_ato_forecast_control IN NUMBER DEFAULT G_MISS_NUM
579 ,p_planning_exception_set IN VARCHAR2 DEFAULT G_MISS_CHAR
580 ,p_end_assembly_pegging_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
581 ,p_shrinkage_rate IN NUMBER DEFAULT G_MISS_NUM
582 ,p_rounding_control_type IN NUMBER DEFAULT G_MISS_NUM
583 ,p_acceptable_early_days IN NUMBER DEFAULT G_MISS_NUM
584 ,p_repetitive_planning_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
585 ,p_overrun_percentage IN NUMBER DEFAULT G_MISS_NUM
586 ,p_acceptable_rate_increase IN NUMBER DEFAULT G_MISS_NUM
587 ,p_acceptable_rate_decrease IN NUMBER DEFAULT G_MISS_NUM
588 ,p_mrp_calculate_atp_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
589 ,p_auto_reduce_mps IN NUMBER DEFAULT G_MISS_NUM
590 ,p_planning_time_fence_code IN NUMBER DEFAULT G_MISS_NUM
591 ,p_planning_time_fence_days IN NUMBER DEFAULT G_MISS_NUM
592 ,p_demand_time_fence_code IN NUMBER DEFAULT G_MISS_NUM
593 ,p_demand_time_fence_days IN NUMBER DEFAULT G_MISS_NUM
594 ,p_release_time_fence_code IN NUMBER DEFAULT G_MISS_NUM
595 ,p_release_time_fence_days IN NUMBER DEFAULT G_MISS_NUM
596 ,p_preprocessing_lead_time IN NUMBER DEFAULT G_MISS_NUM
597 ,p_full_lead_time IN NUMBER DEFAULT G_MISS_NUM
598 ,p_postprocessing_lead_time IN NUMBER DEFAULT G_MISS_NUM
599 ,p_fixed_lead_time IN NUMBER DEFAULT G_MISS_NUM
600 ,p_variable_lead_time IN NUMBER DEFAULT G_MISS_NUM
601 ,p_cum_manufacturing_lead_time IN NUMBER DEFAULT G_MISS_NUM
602 ,p_cumulative_total_lead_time IN NUMBER DEFAULT G_MISS_NUM
603 ,p_lead_time_lot_size IN NUMBER DEFAULT G_MISS_NUM
604 ,p_build_in_wip_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
605 ,p_wip_supply_type IN NUMBER DEFAULT G_MISS_NUM
606 ,p_wip_supply_subinventory IN VARCHAR2 DEFAULT G_MISS_CHAR
607 ,p_wip_supply_locator_id IN NUMBER DEFAULT G_MISS_NUM
608 ,p_overcompletion_tolerance_ty IN NUMBER DEFAULT G_MISS_NUM
609 ,p_overcompletion_tolerance_va IN NUMBER DEFAULT G_MISS_NUM
610 ,p_customer_order_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
611 ,p_customer_order_enabled_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
612 ,p_shippable_item_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
613 ,p_internal_order_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
614 ,p_internal_order_enabled_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
615 ,p_so_transactions_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
616 ,p_pick_components_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
617 ,p_atp_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
618 ,p_replenish_to_order_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
619 ,p_atp_rule_id IN NUMBER DEFAULT G_MISS_NUM
620 ,p_atp_components_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
621 ,p_ship_model_complete_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
622 ,p_picking_rule_id IN NUMBER DEFAULT G_MISS_NUM
623 ,p_collateral_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
624 ,p_default_shipping_org IN NUMBER DEFAULT G_MISS_NUM
625 ,p_returnable_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
626 ,p_return_inspection_requireme IN NUMBER DEFAULT G_MISS_NUM
627 ,p_over_shipment_tolerance IN NUMBER DEFAULT G_MISS_NUM
628 ,p_under_shipment_tolerance IN NUMBER DEFAULT G_MISS_NUM
629 ,p_over_return_tolerance IN NUMBER DEFAULT G_MISS_NUM
630 ,p_under_return_tolerance IN NUMBER DEFAULT G_MISS_NUM
631 ,p_invoiceable_item_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
632 ,p_invoice_enabled_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
633 ,p_accounting_rule_id IN NUMBER DEFAULT G_MISS_NUM
634 ,p_invoicing_rule_id IN NUMBER DEFAULT G_MISS_NUM
635 ,p_tax_code IN VARCHAR2 DEFAULT G_MISS_CHAR
636 ,p_sales_account IN NUMBER DEFAULT G_MISS_NUM
637 ,p_payment_terms_id IN NUMBER DEFAULT G_MISS_NUM
638 ,p_coverage_schedule_id IN NUMBER DEFAULT G_MISS_NUM
639 ,p_service_duration IN NUMBER DEFAULT G_MISS_NUM
640 ,p_service_duration_period_cod IN VARCHAR2 DEFAULT G_MISS_CHAR
641 ,p_serviceable_product_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
642 ,p_service_starting_delay IN NUMBER DEFAULT G_MISS_NUM
643 ,p_material_billable_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
644 ,p_serviceable_component_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
645 ,p_preventive_maintenance_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
646 ,p_prorate_service_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
647 -- Start attributes not in the form
648 ,p_serviceable_item_class_id IN NUMBER DEFAULT G_MISS_NUM
649 ,p_base_warranty_service_id IN NUMBER DEFAULT G_MISS_NUM
650 ,p_warranty_vendor_id IN NUMBER DEFAULT G_MISS_NUM
651 ,p_max_warranty_amount IN NUMBER DEFAULT G_MISS_NUM
652 ,p_response_time_period_code IN VARCHAR2 DEFAULT G_MISS_CHAR
653 ,p_response_time_value IN NUMBER DEFAULT G_MISS_NUM
654 ,p_primary_specialist_id IN NUMBER DEFAULT G_MISS_NUM
655 ,p_secondary_specialist_id IN NUMBER DEFAULT G_MISS_NUM
656 -- End attributes not in the form
657 ,p_wh_update_date IN DATE DEFAULT G_MISS_DATE
658 ,p_equipment_type IN NUMBER DEFAULT G_MISS_NUM
659 ,p_recovered_part_disp_code IN VARCHAR2 DEFAULT G_MISS_CHAR
660 ,p_defect_tracking_on_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
661 ,p_event_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
662 ,p_electronic_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
663 ,p_downloadable_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
664 ,p_vol_discount_exempt_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
665 ,p_coupon_exempt_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
666 ,p_comms_nl_trackable_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
667 ,p_asset_creation_code IN VARCHAR2 DEFAULT G_MISS_CHAR
668 ,p_comms_activation_reqd_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
669 ,p_orderable_on_web_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
670 ,p_back_orderable_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
671 ,p_web_status IN VARCHAR2 DEFAULT G_MISS_CHAR
672 ,p_indivisible_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
673 ,p_dimension_uom_code IN VARCHAR2 DEFAULT G_MISS_CHAR
674 ,p_unit_length IN NUMBER DEFAULT G_MISS_NUM
675 ,p_unit_width IN NUMBER DEFAULT G_MISS_NUM
676 ,p_unit_height IN NUMBER DEFAULT G_MISS_NUM
677 ,p_bulk_picked_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
678 ,p_lot_status_enabled IN VARCHAR2 DEFAULT G_MISS_CHAR
679 ,p_default_lot_status_id IN NUMBER DEFAULT G_MISS_NUM
680 ,p_serial_status_enabled IN VARCHAR2 DEFAULT G_MISS_CHAR
681 ,p_default_serial_status_id IN NUMBER DEFAULT G_MISS_NUM
682 ,p_lot_split_enabled IN VARCHAR2 DEFAULT G_MISS_CHAR
683 ,p_lot_merge_enabled IN VARCHAR2 DEFAULT G_MISS_CHAR
684 ,p_inventory_carry_penalty IN NUMBER DEFAULT G_MISS_NUM
685 ,p_operation_slack_penalty IN NUMBER DEFAULT G_MISS_NUM
686 ,p_financing_allowed_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
687 ,p_eam_item_type IN NUMBER DEFAULT G_MISS_NUM
688 ,p_eam_activity_type_code IN VARCHAR2 DEFAULT G_MISS_CHAR
689 ,p_eam_activity_cause_code IN VARCHAR2 DEFAULT G_MISS_CHAR
690 ,p_eam_act_notification_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
691 ,p_eam_act_shutdown_status IN VARCHAR2 DEFAULT G_MISS_CHAR
692 ,p_dual_uom_control IN NUMBER DEFAULT G_MISS_NUM
693 ,p_secondary_uom_code IN VARCHAR2 DEFAULT G_MISS_CHAR
694 ,p_dual_uom_deviation_high IN NUMBER DEFAULT G_MISS_NUM
695 ,p_dual_uom_deviation_low IN NUMBER DEFAULT G_MISS_NUM
696 ,p_contract_item_type_code IN VARCHAR2 DEFAULT G_MISS_CHAR
697 ,p_subscription_depend_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
698 ,p_serv_req_enabled_code IN VARCHAR2 DEFAULT G_MISS_CHAR
699 ,p_serv_billing_enabled_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
700 ,p_serv_importance_level IN NUMBER DEFAULT G_MISS_NUM
701 ,p_planned_inv_point_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
702 ,p_lot_translate_enabled IN VARCHAR2 DEFAULT G_MISS_CHAR
703 ,p_default_so_source_type IN VARCHAR2 DEFAULT G_MISS_CHAR
704 ,p_create_supply_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
705 ,p_substitution_window_code IN NUMBER DEFAULT G_MISS_NUM
706 ,p_substitution_window_days IN NUMBER DEFAULT G_MISS_NUM
707 ,p_ib_item_instance_class IN VARCHAR2 DEFAULT G_MISS_CHAR
708 ,p_config_model_type IN VARCHAR2 DEFAULT G_MISS_CHAR
709 ,p_lot_substitution_enabled IN VARCHAR2 DEFAULT G_MISS_CHAR
710 ,p_minimum_license_quantity IN NUMBER DEFAULT G_MISS_NUM
711 ,p_eam_activity_source_code IN VARCHAR2 DEFAULT G_MISS_CHAR
712 ,p_approval_status IN VARCHAR2 DEFAULT G_MISS_CHAR
713 --Start: 26 new attributes
714 ,p_tracking_quantity_ind IN VARCHAR2 DEFAULT G_MISS_CHAR
715 ,p_ont_pricing_qty_source IN VARCHAR2 DEFAULT G_MISS_CHAR
716 ,p_secondary_default_ind IN VARCHAR2 DEFAULT G_MISS_CHAR
717 ,p_option_specific_sourced IN NUMBER DEFAULT G_MISS_NUM
718 ,p_vmi_minimum_units IN NUMBER DEFAULT G_MISS_NUM
719 ,p_vmi_minimum_days IN NUMBER DEFAULT G_MISS_NUM
720 ,p_vmi_maximum_units IN NUMBER DEFAULT G_MISS_NUM
721 ,p_vmi_maximum_days IN NUMBER DEFAULT G_MISS_NUM
722 ,p_vmi_fixed_order_quantity IN NUMBER DEFAULT G_MISS_NUM
723 ,p_so_authorization_flag IN NUMBER DEFAULT G_MISS_NUM
724 ,p_consigned_flag IN NUMBER DEFAULT G_MISS_NUM
725 ,p_asn_autoexpire_flag IN NUMBER DEFAULT G_MISS_NUM
726 ,p_vmi_forecast_type IN NUMBER DEFAULT G_MISS_NUM
727 ,p_forecast_horizon IN NUMBER DEFAULT G_MISS_NUM
728 ,p_exclude_from_budget_flag IN NUMBER DEFAULT G_MISS_NUM
729 ,p_days_tgt_inv_supply IN NUMBER DEFAULT G_MISS_NUM
730 ,p_days_tgt_inv_window IN NUMBER DEFAULT G_MISS_NUM
731 ,p_days_max_inv_supply IN NUMBER DEFAULT G_MISS_NUM
732 ,p_days_max_inv_window IN NUMBER DEFAULT G_MISS_NUM
733 ,p_drp_planned_flag IN NUMBER DEFAULT G_MISS_NUM
734 ,p_critical_component_flag IN NUMBER DEFAULT G_MISS_NUM
735 ,p_continous_transfer IN NUMBER DEFAULT G_MISS_NUM
736 ,p_convergence IN NUMBER DEFAULT G_MISS_NUM
737 ,p_divergence IN NUMBER DEFAULT G_MISS_NUM
738 ,p_config_orgs IN VARCHAR2 DEFAULT G_MISS_CHAR
739 ,p_config_match IN VARCHAR2 DEFAULT G_MISS_CHAR
740 --End: 26 new attributes
741 ,p_Item_Number IN VARCHAR2 DEFAULT G_MISS_CHAR
742 ,p_segment1 IN VARCHAR2 DEFAULT G_MISS_CHAR
743 ,p_segment2 IN VARCHAR2 DEFAULT G_MISS_CHAR
744 ,p_segment3 IN VARCHAR2 DEFAULT G_MISS_CHAR
745 ,p_segment4 IN VARCHAR2 DEFAULT G_MISS_CHAR
746 ,p_segment5 IN VARCHAR2 DEFAULT G_MISS_CHAR
747 ,p_segment6 IN VARCHAR2 DEFAULT G_MISS_CHAR
748 ,p_segment7 IN VARCHAR2 DEFAULT G_MISS_CHAR
749 ,p_segment8 IN VARCHAR2 DEFAULT G_MISS_CHAR
750 ,p_segment9 IN VARCHAR2 DEFAULT G_MISS_CHAR
751 ,p_segment10 IN VARCHAR2 DEFAULT G_MISS_CHAR
752 ,p_segment11 IN VARCHAR2 DEFAULT G_MISS_CHAR
753 ,p_segment12 IN VARCHAR2 DEFAULT G_MISS_CHAR
754 ,p_segment13 IN VARCHAR2 DEFAULT G_MISS_CHAR
755 ,p_segment14 IN VARCHAR2 DEFAULT G_MISS_CHAR
756 ,p_segment15 IN VARCHAR2 DEFAULT G_MISS_CHAR
757 ,p_segment16 IN VARCHAR2 DEFAULT G_MISS_CHAR
758 ,p_segment17 IN VARCHAR2 DEFAULT G_MISS_CHAR
759 ,p_segment18 IN VARCHAR2 DEFAULT G_MISS_CHAR
760 ,p_segment19 IN VARCHAR2 DEFAULT G_MISS_CHAR
761 ,p_segment20 IN VARCHAR2 DEFAULT G_MISS_CHAR
762 ,p_summary_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
763 ,p_enabled_flag IN VARCHAR2 DEFAULT G_MISS_CHAR
764 ,p_start_date_active IN DATE DEFAULT G_MISS_DATE
765 ,p_end_date_active IN DATE DEFAULT G_MISS_DATE
766 ,p_attribute_category IN VARCHAR2 DEFAULT G_MISS_CHAR
767 ,p_attribute1 IN VARCHAR2 DEFAULT G_MISS_CHAR
768 ,p_attribute2 IN VARCHAR2 DEFAULT G_MISS_CHAR
769 ,p_attribute3 IN VARCHAR2 DEFAULT G_MISS_CHAR
770 ,p_attribute4 IN VARCHAR2 DEFAULT G_MISS_CHAR
771 ,p_attribute5 IN VARCHAR2 DEFAULT G_MISS_CHAR
772 ,p_attribute6 IN VARCHAR2 DEFAULT G_MISS_CHAR
773 ,p_attribute7 IN VARCHAR2 DEFAULT G_MISS_CHAR
774 ,p_attribute8 IN VARCHAR2 DEFAULT G_MISS_CHAR
775 ,p_attribute9 IN VARCHAR2 DEFAULT G_MISS_CHAR
776 ,p_attribute10 IN VARCHAR2 DEFAULT G_MISS_CHAR
777 ,p_attribute11 IN VARCHAR2 DEFAULT G_MISS_CHAR
778 ,p_attribute12 IN VARCHAR2 DEFAULT G_MISS_CHAR
779 ,p_attribute13 IN VARCHAR2 DEFAULT G_MISS_CHAR
780 ,p_attribute14 IN VARCHAR2 DEFAULT G_MISS_CHAR
781 ,p_attribute15 IN VARCHAR2 DEFAULT G_MISS_CHAR
782 ,p_attribute16 IN VARCHAR2 DEFAULT G_MISS_CHAR
783 ,p_attribute17 IN VARCHAR2 DEFAULT G_MISS_CHAR
784 ,p_attribute18 IN VARCHAR2 DEFAULT G_MISS_CHAR
785 ,p_attribute19 IN VARCHAR2 DEFAULT G_MISS_CHAR
786 ,p_attribute20 IN VARCHAR2 DEFAULT G_MISS_CHAR
787 ,p_attribute21 IN VARCHAR2 DEFAULT G_MISS_CHAR
788 ,p_attribute22 IN VARCHAR2 DEFAULT G_MISS_CHAR
789 ,p_attribute23 IN VARCHAR2 DEFAULT G_MISS_CHAR
790 ,p_attribute24 IN VARCHAR2 DEFAULT G_MISS_CHAR
791 ,p_attribute25 IN VARCHAR2 DEFAULT G_MISS_CHAR
792 ,p_attribute26 IN VARCHAR2 DEFAULT G_MISS_CHAR
793 ,p_attribute27 IN VARCHAR2 DEFAULT G_MISS_CHAR
794 ,p_attribute28 IN VARCHAR2 DEFAULT G_MISS_CHAR
795 ,p_attribute29 IN VARCHAR2 DEFAULT G_MISS_CHAR
796 ,p_attribute30 IN VARCHAR2 DEFAULT G_MISS_CHAR
797 ,p_global_attribute_category IN VARCHAR2 DEFAULT G_MISS_CHAR
798 ,p_global_attribute1 IN VARCHAR2 DEFAULT G_MISS_CHAR
799 ,p_global_attribute2 IN VARCHAR2 DEFAULT G_MISS_CHAR
800 ,p_global_attribute3 IN VARCHAR2 DEFAULT G_MISS_CHAR
801 ,p_global_attribute4 IN VARCHAR2 DEFAULT G_MISS_CHAR
802 ,p_global_attribute5 IN VARCHAR2 DEFAULT G_MISS_CHAR
803 ,p_global_attribute6 IN VARCHAR2 DEFAULT G_MISS_CHAR
804 ,p_global_attribute7 IN VARCHAR2 DEFAULT G_MISS_CHAR
805 ,p_global_attribute8 IN VARCHAR2 DEFAULT G_MISS_CHAR
806 ,p_global_attribute9 IN VARCHAR2 DEFAULT G_MISS_CHAR
807 ,p_global_attribute10 IN VARCHAR2 DEFAULT G_MISS_CHAR
808 ,p_global_attribute11 IN VARCHAR2 DEFAULT G_MISS_CHAR
809 ,p_global_attribute12 IN VARCHAR2 DEFAULT G_MISS_CHAR
810 ,p_global_attribute13 IN VARCHAR2 DEFAULT G_MISS_CHAR
811 ,p_global_attribute14 IN VARCHAR2 DEFAULT G_MISS_CHAR
812 ,p_global_attribute15 IN VARCHAR2 DEFAULT G_MISS_CHAR
813 ,p_global_attribute16 IN VARCHAR2 DEFAULT G_MISS_CHAR
814 ,p_global_attribute17 IN VARCHAR2 DEFAULT G_MISS_CHAR
815 ,p_global_attribute18 IN VARCHAR2 DEFAULT G_MISS_CHAR
816 ,p_global_attribute19 IN VARCHAR2 DEFAULT G_MISS_CHAR
817 ,p_global_attribute20 IN VARCHAR2 DEFAULT G_MISS_CHAR
818 ,p_creation_date IN DATE DEFAULT G_MISS_DATE
819 ,p_created_by IN NUMBER DEFAULT G_MISS_NUM
820 ,p_last_update_date IN DATE DEFAULT G_MISS_DATE
821 ,p_last_updated_by IN NUMBER DEFAULT G_MISS_NUM
822 ,p_last_update_login IN NUMBER DEFAULT G_MISS_NUM
823 ,p_request_id IN NUMBER DEFAULT G_MISS_NUM
824 ,p_program_application_id IN NUMBER DEFAULT G_MISS_NUM
825 ,p_program_id IN NUMBER DEFAULT G_MISS_NUM
826 ,p_program_update_date IN DATE DEFAULT G_MISS_DATE
827 ,p_lifecycle_id IN NUMBER DEFAULT G_MISS_NUM
828 ,p_current_phase_id IN NUMBER DEFAULT G_MISS_NUM
829 -- Revision attribute parameter
830 ,p_revision_id IN NUMBER DEFAULT G_MISS_NUM
831 ,p_revision_code IN VARCHAR2 DEFAULT G_MISS_CHAR
832 ,p_revision_label IN VARCHAR2 DEFAULT G_MISS_CHAR
833 ,p_revision_description IN VARCHAR2 DEFAULT G_MISS_CHAR
834 ,p_effectivity_Date IN DATE DEFAULT G_MISS_DATE
835 ,p_rev_lifecycle_id IN NUMBER DEFAULT G_MISS_NUM
836 ,p_rev_current_phase_id IN NUMBER DEFAULT G_MISS_NUM
837 -- 5208102: Supporting template for UDA's at revisions
838 ,p_rev_template_id IN NUMBER DEFAULT G_MISS_NUM
839 ,p_rev_template_name IN VARCHAR2 DEFAULT G_MISS_CHAR
840
841 ,p_rev_attribute_category IN VARCHAR2 DEFAULT G_MISS_CHAR
842 ,p_rev_attribute1 IN VARCHAR2 DEFAULT G_MISS_CHAR
843 ,p_rev_attribute2 IN VARCHAR2 DEFAULT G_MISS_CHAR
844 ,p_rev_attribute3 IN VARCHAR2 DEFAULT G_MISS_CHAR
845 ,p_rev_attribute4 IN VARCHAR2 DEFAULT G_MISS_CHAR
846 ,p_rev_attribute5 IN VARCHAR2 DEFAULT G_MISS_CHAR
847 ,p_rev_attribute6 IN VARCHAR2 DEFAULT G_MISS_CHAR
848 ,p_rev_attribute7 IN VARCHAR2 DEFAULT G_MISS_CHAR
849 ,p_rev_attribute8 IN VARCHAR2 DEFAULT G_MISS_CHAR
850 ,p_rev_attribute9 IN VARCHAR2 DEFAULT G_MISS_CHAR
851 ,p_rev_attribute10 IN VARCHAR2 DEFAULT G_MISS_CHAR
852 ,p_rev_attribute11 IN VARCHAR2 DEFAULT G_MISS_CHAR
853 ,p_rev_attribute12 IN VARCHAR2 DEFAULT G_MISS_CHAR
854 ,p_rev_attribute13 IN VARCHAR2 DEFAULT G_MISS_CHAR
855 ,p_rev_attribute14 IN VARCHAR2 DEFAULT G_MISS_CHAR
856 ,p_rev_attribute15 IN VARCHAR2 DEFAULT G_MISS_CHAR
857 -- Returned item id
858 ,x_Inventory_Item_Id OUT NOCOPY NUMBER
859 ,x_Organization_Id OUT NOCOPY NUMBER
860 ,x_return_status OUT NOCOPY VARCHAR2
861 ,x_msg_count OUT NOCOPY NUMBER
862 ,x_msg_data OUT NOCOPY VARCHAR2
863 ,p_apply_template IN VARCHAR2 DEFAULT 'ALL'
864 ,p_object_version_number IN NUMBER DEFAULT G_MISS_NUM
865 ,p_process_control IN VARCHAR2 DEFAULT 'API' -- Bug 909288
866 ,p_process_item IN NUMBER DEFAULT G_MISS_NUM
867 --R12 Enhancement adding attributes
868 ,P_CAS_NUMBER IN VARCHAR2 DEFAULT G_MISS_CHAR
869 ,P_CHILD_LOT_FLAG IN VARCHAR2 DEFAULT G_MISS_CHAR
870 ,P_CHILD_LOT_PREFIX IN VARCHAR2 DEFAULT G_MISS_CHAR
871 ,P_CHILD_LOT_STARTING_NUMBER IN NUMBER DEFAULT G_MISS_NUM
872 ,P_CHILD_LOT_VALIDATION_FLAG IN VARCHAR2 DEFAULT G_MISS_CHAR
873 ,P_COPY_LOT_ATTRIBUTE_FLAG IN VARCHAR2 DEFAULT G_MISS_CHAR
874 ,P_DEFAULT_GRADE IN VARCHAR2 DEFAULT G_MISS_CHAR
875 ,P_EXPIRATION_ACTION_CODE IN VARCHAR2 DEFAULT G_MISS_CHAR
876 ,P_EXPIRATION_ACTION_INTERVAL IN NUMBER DEFAULT G_MISS_NUM
877 ,P_GRADE_CONTROL_FLAG IN VARCHAR2 DEFAULT G_MISS_CHAR
878 ,P_HAZARDOUS_MATERIAL_FLAG IN VARCHAR2 DEFAULT G_MISS_CHAR
879 ,P_HOLD_DAYS IN NUMBER DEFAULT G_MISS_NUM
880 ,P_LOT_DIVISIBLE_FLAG IN VARCHAR2 DEFAULT G_MISS_CHAR
881 ,P_MATURITY_DAYS IN NUMBER DEFAULT G_MISS_NUM
882 ,P_PARENT_CHILD_GENERATION_FLAG IN VARCHAR2 DEFAULT G_MISS_CHAR
883 ,P_PROCESS_COSTING_ENABLED_FLAG IN VARCHAR2 DEFAULT G_MISS_CHAR
884 ,P_PROCESS_EXECUTION_ENABLED_FL IN VARCHAR2 DEFAULT G_MISS_CHAR
885 ,P_PROCESS_QUALITY_ENABLED_FLAG IN VARCHAR2 DEFAULT G_MISS_CHAR
886 ,P_PROCESS_SUPPLY_LOCATOR_ID IN NUMBER DEFAULT G_MISS_NUM
887 ,P_PROCESS_SUPPLY_SUBINVENTORY IN VARCHAR2 DEFAULT G_MISS_CHAR
888 ,P_PROCESS_YIELD_LOCATOR_ID IN NUMBER DEFAULT G_MISS_NUM
889 ,P_PROCESS_YIELD_SUBINVENTORY IN VARCHAR2 DEFAULT G_MISS_CHAR
890 ,P_RECIPE_ENABLED_FLAG IN VARCHAR2 DEFAULT G_MISS_CHAR
891 ,P_RETEST_INTERVAL IN NUMBER DEFAULT G_MISS_NUM
892 ,P_CHARGE_PERIODICITY_CODE IN VARCHAR2 DEFAULT G_MISS_CHAR
893 ,P_REPAIR_LEADTIME IN NUMBER DEFAULT G_MISS_NUM
894 ,P_REPAIR_YIELD IN NUMBER DEFAULT G_MISS_NUM
895 ,P_PREPOSITION_POINT IN VARCHAR2 DEFAULT G_MISS_CHAR
896 ,P_REPAIR_PROGRAM IN NUMBER DEFAULT G_MISS_NUM
897 ,P_SUBCONTRACTING_COMPONENT IN NUMBER DEFAULT G_MISS_NUM
898 ,P_OUTSOURCED_ASSEMBLY IN NUMBER DEFAULT G_MISS_NUM
899 -- R12 C Attributes
900 ,P_GDSN_OUTBOUND_ENABLED_FLAG IN VARCHAR2 DEFAULT G_MISS_CHAR
901 ,P_TRADE_ITEM_DESCRIPTOR IN VARCHAR2 DEFAULT G_MISS_CHAR
902 ,P_STYLE_ITEM_FLAG IN VARCHAR2 DEFAULT G_MISS_CHAR
903 ,P_STYLE_ITEM_ID IN NUMBER DEFAULT G_MISS_NUM
904 -- Bug 9092888 - changes
905 ,p_attributes_row_table IN EGO_USER_ATTR_ROW_TABLE DEFAULT NULL
906 ,p_attributes_data_table IN EGO_USER_ATTR_DATA_TABLE DEFAULT NULL
907 -- Bug 9092888 - changes
908 ) IS
909
910 l_api_name CONSTANT VARCHAR2(30) := 'Process_Item_Scalar';
911 l_api_version CONSTANT NUMBER := 1.0;
912 indx BINARY_INTEGER := 1;
913 l_item_tbl EGO_ITEM_PUB.Item_Tbl_Type;
914 l_Revision_Tbl EGO_Item_PUB.Item_Revision_Tbl_Type;
915 l_item_created_tbl EGO_ITEM_PUB.Item_Tbl_Type;
916 l_approval_status VARCHAR2(30);
917 l_template_applied BOOLEAN := FALSE;
918 l_obj_version_num mtl_system_items_b.object_version_number%TYPE;
919
920 CURSOR c_get_obj_version_num(cp_inventory_item_id IN NUMBER
921 ,cp_organization_id IN NUMBER ) IS
922 SELECT object_version_number
923 FROM mtl_system_items_b
924 WHERE inventory_item_id = cp_inventory_item_id
925 AND organization_id = cp_organization_id;
926
927 -- Bug 9852661
928 l_attr_data_count NUMBER;
929 l_attr_row_count NUMBER;
930 -- Bug 9852661
931
932 BEGIN
933 -- standard check for API validation
934 IF NOT FND_API.Compatible_API_Call (l_api_version,
935 p_api_version,
936 l_api_name,
937 G_PKG_NAME)
938 THEN
939 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
940 END IF;
941
942 -- create save point
943 IF FND_API.To_Boolean(p_commit) THEN
944 SAVEPOINT Process_Item_Scalar;
945 END IF;
946
947 -- Initialize message list
948 IF FND_API.To_Boolean(p_init_msg_list) THEN
949 FND_MSG_PUB.Initialize;
950 END IF;
951
952 -- Set business object identifier in the System Information record
953 ERROR_HANDLER.Initialize;
954 Error_Handler.Set_BO_Identifier ( p_bo_identifier => G_BO_Identifier);
955
956 IF (((p_Transaction_Type = G_TTYPE_CREATE)
957 AND(p_item_catalog_group_id IS NULL
958 OR p_item_catalog_group_id = G_MISS_NUM
959 OR NOT INVIDIT3.CHECK_NPR_CATALOG(p_item_catalog_group_id)))
960 AND INSTR(p_process_control,'PLM_UI:Y') = 0)
961 THEN
962 IF p_copy_inventory_item_Id IS NOT NULL
963 AND p_copy_inventory_item_Id <> G_MISS_NUM THEN
964 initialize_item_info
965 (p_inventory_item_id => p_copy_inventory_item_Id
966 ,p_organization_id => p_organization_id
967 ,p_tab_index => indx
968 ,x_item_table => l_item_tbl
969 ,x_return_status => x_return_status
970 ,x_msg_count => x_msg_count);
971
972 -- serial_tagging enh -- bug 9913552
973 invpagi2.G_copy_item_id:=p_copy_inventory_item_Id;
974
975 IF x_return_status = G_RET_STS_ERROR THEN
976 RAISE FND_API.G_EXC_ERROR;
977 ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
978 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
979 END IF;
980 END IF;
981
982 IF p_Template_Id IS NOT NULL
983 AND p_Template_Id <> G_MISS_NUM
984 AND UPPER(p_apply_template) IN ('ALL','BASE_TEMPLATE') THEN
985 initialize_template_info
986 (p_template_id => p_template_id
987 ,p_template_name => p_template_name
988 ,p_organization_id => p_organization_id
989 ,p_organization_code => NULL
990 ,p_tab_index => indx
991 ,x_item_table => l_item_tbl
992 ,x_return_status => x_return_status
993 ,x_msg_count => x_msg_count);
994
995 l_template_applied := TRUE;
996
997 IF x_return_status = G_RET_STS_ERROR THEN
998 RAISE FND_API.G_EXC_ERROR;
999 ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
1000 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1001 END IF;
1002 END IF;
1003 END IF;
1004
1005 -- Bug 5997870.. set the value in invupd2b so that this check may be
1006 -- done after locking the record and not before it...
1007 IF((p_object_version_number IS NOT NULL) AND
1008 (p_object_version_number <> G_MISS_NUM)) THEN
1009 INVUPD2B.obj_ver_rec.inventory_item_id := p_inventory_item_id;
1010 INVUPD2B.obj_ver_rec.org_id := p_organization_id;
1011 INVUPD2B.obj_ver_rec.Object_Version_Number := Nvl(p_object_version_number,1);
1012 END IF;
1013 --Code changes for bug 5997870 ends...
1014
1015 --Check if record is changed before update.
1016 IF p_transaction_type = G_TTYPE_UPDATE
1017 AND Nvl(p_object_version_number,-1) <> G_MISS_NUM
1018 THEN
1019 OPEN c_get_obj_version_num (cp_inventory_item_id => p_inventory_item_id
1020 ,cp_organization_id => p_organization_id);
1021 FETCH c_get_obj_version_num into l_obj_version_num;
1022 CLOSE c_get_obj_version_num;
1023 IF nvl(l_obj_version_num,-1) <> nvl(p_object_version_number,-1) THEN
1024 x_return_status := G_RET_STS_ERROR;
1025 EGO_Item_Msg.Add_Error_Message (
1026 p_entity_index => 1
1027 ,p_application_short_name => 'EGO'
1028 ,p_message_name => 'EGO_REQUERY_ITEM_INFO'
1029 );
1030 IF FND_API.To_Boolean(p_commit) THEN
1031 ROLLBACK TO Process_Item_Scalar;
1032 END IF;
1033 x_msg_count := 1;
1034 RETURN;
1035 END IF;
1036 END IF;
1037
1038 --Apply only template during update
1039 IF p_transaction_type = G_TTYPE_UPDATE
1040 AND p_Template_Id IS NOT NULL
1041 AND p_Template_Id <> G_MISS_NUM
1042 AND UPPER(p_apply_template) IN ('ALL','BASE_TEMPLATE')
1043 AND INVIDIT3.CHECK_ITEM_APPROVED(p_inventory_item_id,p_organization_id)
1044 AND INSTR(p_process_control,'PLM_UI:Y') = 0
1045 THEN
1046
1047 initialize_template_info
1048 (p_template_id => p_template_id
1049 ,p_template_name => p_template_name
1050 ,p_organization_id => p_organization_id
1051 ,p_organization_code => NULL
1052 ,p_tab_index => indx
1053 ,x_item_table => l_item_tbl
1054 ,x_return_status => x_return_status
1055 ,x_msg_count => x_msg_count);
1056
1057 IF x_return_status = G_RET_STS_ERROR THEN
1058 RAISE FND_API.G_EXC_ERROR;
1059 ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
1060 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1061 END IF;
1062 END IF;
1063
1064 --During CREATE COPY_ITEM/TEMPLATE are applicable for NPR Catalog
1065 IF p_process_item NOT IN (1,2) THEN
1066 l_item_tbl(indx).process_item_record := 1;
1067 ELSE
1068 l_item_tbl(indx).process_item_record := p_process_item;
1069 END IF;
1070
1071 /*
1072 --- bug 14739246
1073 --- commented the below check for item number
1074 --- item number checked in IOI code
1075 --- this code causing chr(0) to be stamped in unused segs
1076 --- if segment1 and inv_item_id is passed as input params to
1077 --- this process_item API
1078 ---
1079
1080 IF p_transaction_type = G_TTYPE_UPDATE AND l_item_tbl(indx).process_item_record = 1 THEN
1081
1082 EGO_ITEM_PUB.Update_Item_Number (
1083 p_Inventory_Item_Id => REPLACE_G_MISS_NUM(p_inventory_item_id,null)
1084 ,p_item_number => p_item_number
1085 ,p_New_Segment1 => p_Segment1
1086 ,p_New_Segment2 => p_Segment2
1087 ,p_New_Segment3 => p_Segment3
1088 ,p_New_Segment4 => p_Segment4
1089 ,p_New_Segment5 => p_Segment5
1090 ,p_New_Segment6 => p_Segment6
1091 ,p_New_Segment7 => p_Segment7
1092 ,p_New_Segment8 => p_Segment8
1093 ,p_New_Segment9 => p_Segment9
1094 ,p_New_Segment10 => p_Segment10
1095 ,p_New_Segment11 => p_Segment11
1096 ,p_New_Segment12 => p_Segment12
1097 ,p_New_Segment13 => p_Segment13
1098 ,p_New_Segment14 => p_Segment14
1099 ,p_New_Segment15 => p_Segment15
1100 ,p_New_Segment16 => p_Segment16
1101 ,p_New_Segment17 => p_Segment17
1102 ,p_New_Segment18 => p_Segment18
1103 ,p_New_Segment19 => p_Segment19
1104 ,p_New_Segment20 => p_Segment20
1105 ,x_Item_Tbl => l_item_created_tbl
1106 ,x_return_status => x_return_status);
1107
1108 --Bug: 3947619 incrementing the msg count if error message were logged
1109 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
1110 x_msg_count := NVL(x_msg_count,0)+1;
1111 END IF;
1112 END IF;
1113 -- end bug 14739246
1114 */
1115
1116 IF NVL(x_return_status,FND_API.G_RET_STS_SUCCESS) = FND_API.G_RET_STS_SUCCESS AND
1117 p_transaction_type IN (G_TTYPE_CREATE, G_TTYPE_UPDATE) THEN
1118
1119 l_item_tbl(indx).item_number := p_item_number;
1120 l_item_tbl(indx).segment1 := p_segment1;
1121 l_item_tbl(indx).segment2 := p_segment2;
1122 l_item_tbl(indx).segment3 := p_segment3;
1123 l_item_tbl(indx).segment4 := p_segment4;
1124 l_item_tbl(indx).segment5 := p_segment5;
1125 l_item_tbl(indx).segment6 := p_segment6;
1126 l_item_tbl(indx).segment7 := p_segment7;
1127 l_item_tbl(indx).segment8 := p_segment8;
1128 l_item_tbl(indx).segment9 := p_segment9;
1129 l_item_tbl(indx).segment10 := p_segment10;
1130 l_item_tbl(indx).segment11 := p_segment11;
1131 l_item_tbl(indx).segment12 := p_segment12;
1132 l_item_tbl(indx).segment13 := p_segment13;
1133 l_item_tbl(indx).segment14 := p_segment14;
1134 l_item_tbl(indx).segment15 := p_segment15;
1135 l_item_tbl(indx).segment16 := p_segment16;
1136 l_item_tbl(indx).segment17 := p_segment17;
1137 l_item_tbl(indx).segment18 := p_segment18;
1138 l_item_tbl(indx).segment19 := p_segment19;
1139 l_item_tbl(indx).segment20 := p_segment20;
1140 l_item_tbl(indx).transaction_type := p_transaction_type;
1141 l_item_tbl(indx).language_code := p_language_code;
1142 -- item identifier
1143 l_item_tbl(indx).inventory_item_id := p_inventory_item_id;
1144 l_item_tbl(indx).summary_flag := p_summary_flag;
1145 l_item_tbl(indx).enabled_flag := p_enabled_flag;
1146 l_item_tbl(indx).start_date_active := p_start_date_active;
1147 l_item_tbl(indx).end_date_active := p_end_date_active;
1148 -- organization
1149 l_item_tbl(indx).organization_id := p_organization_id;
1150 -- item catalog group (user item type)
1151 l_item_tbl(indx).item_catalog_group_id := p_item_catalog_group_id;
1152 l_item_tbl(indx).catalog_status_flag := p_catalog_status_flag;
1153
1154 IF UPPER(p_apply_template) IN ('USER_TEMPLATE','ALL') THEN
1155 -- l_Item_Tbl(indx).template_id := (-1*p_Template_Id); --Let IOI not apply any template
1156 l_Item_Tbl(indx).template_id := (p_Template_Id); --Let IOI not apply any template
1157 /* Added to fix Bug#8434681: Setting template_id to a negative value in order to prevent the application of template (e.g. for user defined attributes) when the code is
1158 called from HTML pages. This is because HTML pages pre-apply the template through java code. However, this was causing the template not to be applied through the following
1159 code paths: 1. Open API, 2. Excel import, 3. concurrent request (item batch import) */
1160 ELSE
1161 l_Item_Tbl(indx).template_id := -1;
1162 END IF;
1163
1164 -- lifecycle
1165 l_item_tbl(indx).lifecycle_id := p_lifecycle_id;
1166 l_item_tbl(indx).current_phase_id := p_current_phase_id;
1167 -- main attributes
1168 l_item_tbl(indx).description := REPLACE_G_MISS_CHAR(p_description,l_item_tbl(indx).description);
1169 l_item_tbl(indx).long_description := REPLACE_G_MISS_CHAR(p_long_description,l_item_tbl(indx).long_description);
1170 l_item_tbl(indx).primary_uom_code := REPLACE_G_MISS_CHAR(p_primary_uom_code,l_item_tbl(indx).primary_uom_code);
1171 l_item_tbl(indx).allowed_units_lookup_code := REPLACE_G_MISS_NUM(p_allowed_units_lookup_code,l_item_tbl(indx).allowed_units_lookup_code);
1172 l_item_tbl(indx).inventory_item_status_code := REPLACE_G_MISS_CHAR(p_inventory_item_status_code,l_item_tbl(indx).inventory_item_status_code);
1173 l_item_tbl(indx).dual_uom_control := REPLACE_G_MISS_NUM(p_dual_uom_control,l_item_tbl(indx).dual_uom_control);
1174 l_item_tbl(indx).secondary_uom_code := REPLACE_G_MISS_CHAR(p_secondary_uom_code,l_item_tbl(indx).secondary_uom_code);
1175 l_item_tbl(indx).dual_uom_deviation_high := REPLACE_G_MISS_NUM (p_dual_uom_deviation_high,l_item_tbl(indx).dual_uom_deviation_high);
1176 l_item_tbl(indx).dual_uom_deviation_low := REPLACE_G_MISS_NUM (p_dual_uom_deviation_low,l_item_tbl(indx).dual_uom_deviation_low);
1177 l_item_tbl(indx).item_type := REPLACE_G_MISS_CHAR(p_item_type,l_item_tbl(indx).item_type);
1178 -- inventory
1179 l_item_tbl(indx).inventory_item_flag := REPLACE_G_MISS_CHAR(p_inventory_item_flag,l_item_tbl(indx).inventory_item_flag);
1180 l_item_tbl(indx).stock_enabled_flag := REPLACE_G_MISS_CHAR(p_stock_enabled_flag,l_item_tbl(indx).stock_enabled_flag);
1181 l_item_tbl(indx).mtl_transactions_enabled_flag := REPLACE_G_MISS_CHAR(p_mtl_transactions_enabled_fl,l_item_tbl(indx).mtl_transactions_enabled_flag);
1182 l_item_tbl(indx).revision_qty_control_code := REPLACE_G_MISS_NUM(p_revision_qty_control_code,l_item_tbl(indx).revision_qty_control_code);
1183 l_item_tbl(indx).lot_control_code := REPLACE_G_MISS_NUM(p_lot_control_code,l_item_tbl(indx).lot_control_code);
1184 l_item_tbl(indx).auto_lot_alpha_prefix := REPLACE_G_MISS_CHAR(p_auto_lot_alpha_prefix,l_item_tbl(indx).auto_lot_alpha_prefix);
1185 l_item_tbl(indx).start_auto_lot_number := REPLACE_G_MISS_CHAR(p_start_auto_lot_number,l_item_tbl(indx).start_auto_lot_number);
1186 l_item_tbl(indx).serial_number_control_code := REPLACE_G_MISS_NUM(p_serial_number_control_code,l_item_tbl(indx).serial_number_control_code);
1187 l_item_tbl(indx).auto_serial_alpha_prefix := REPLACE_G_MISS_CHAR(p_auto_serial_alpha_prefix,l_item_tbl(indx).auto_serial_alpha_prefix);
1188 l_item_tbl(indx).start_auto_serial_number := REPLACE_G_MISS_CHAR(p_start_auto_serial_number,l_item_tbl(indx).start_auto_serial_number);
1189 l_item_tbl(indx).shelf_life_code := REPLACE_G_MISS_NUM(p_shelf_life_code,l_item_tbl(indx).shelf_life_code);
1190 l_item_tbl(indx).shelf_life_days := REPLACE_G_MISS_NUM (p_shelf_life_days,l_item_tbl(indx).shelf_life_days);
1191 l_item_tbl(indx).restrict_subinventories_code := REPLACE_G_MISS_NUM(p_restrict_subinventories_cod,l_item_tbl(indx).restrict_subinventories_code);
1192 l_item_tbl(indx).location_control_code := REPLACE_G_MISS_NUM(p_location_control_code,l_item_tbl(indx).location_control_code);
1193 l_item_tbl(indx).restrict_locators_code := REPLACE_G_MISS_NUM(p_restrict_locators_code,l_item_tbl(indx).restrict_locators_code);
1194 l_item_tbl(indx).reservable_type := REPLACE_G_MISS_NUM(p_reservable_type,l_item_tbl(indx).reservable_type);
1195 l_item_tbl(indx).cycle_count_enabled_flag := REPLACE_G_MISS_CHAR(p_cycle_count_enabled_flag,l_item_tbl(indx).cycle_count_enabled_flag);
1196 l_item_tbl(indx).negative_measurement_error := REPLACE_G_MISS_NUM(p_negative_measurement_error,l_item_tbl(indx).negative_measurement_error);
1197 l_item_tbl(indx).positive_measurement_error := REPLACE_G_MISS_NUM(p_positive_measurement_error,l_item_tbl(indx).positive_measurement_error);
1198 l_item_tbl(indx).check_shortages_flag := REPLACE_G_MISS_CHAR(p_check_shortages_flag,l_item_tbl(indx).check_shortages_flag);
1199 l_item_tbl(indx).lot_status_enabled := REPLACE_G_MISS_CHAR(p_lot_status_enabled,l_item_tbl(indx).lot_status_enabled);
1200 l_item_tbl(indx).default_lot_status_id := REPLACE_G_MISS_NUM (p_default_lot_status_id,l_item_tbl(indx).default_lot_status_id);
1201 l_item_tbl(indx).serial_status_enabled := REPLACE_G_MISS_CHAR(p_serial_status_enabled,l_item_tbl(indx).serial_status_enabled);
1202 l_item_tbl(indx).default_serial_status_id := REPLACE_G_MISS_NUM (p_default_serial_status_id,l_item_tbl(indx).default_serial_status_id);
1203 l_item_tbl(indx).lot_split_enabled := REPLACE_G_MISS_CHAR(p_lot_split_enabled,l_item_tbl(indx).lot_split_enabled);
1204 l_item_tbl(indx).lot_merge_enabled := REPLACE_G_MISS_CHAR(p_lot_merge_enabled,l_item_tbl(indx).lot_merge_enabled);
1205 l_item_tbl(indx).lot_translate_enabled := REPLACE_G_MISS_CHAR(p_lot_translate_enabled,l_item_tbl(indx).lot_translate_enabled);
1206 l_item_tbl(indx).lot_substitution_enabled := REPLACE_G_MISS_CHAR(p_lot_substitution_enabled,l_item_tbl(indx).lot_substitution_enabled);
1207 l_item_tbl(indx).bulk_picked_flag := REPLACE_G_MISS_CHAR(p_bulk_picked_flag,l_item_tbl(indx).bulk_picked_flag);
1208 -- bills of material
1209 l_item_tbl(indx).bom_item_type := REPLACE_G_MISS_NUM(p_bom_item_type,l_item_tbl(indx).bom_item_type);
1210 l_item_tbl(indx).bom_enabled_flag := REPLACE_G_MISS_CHAR(p_bom_enabled_flag,l_item_tbl(indx).bom_enabled_flag);
1211 l_item_tbl(indx).base_item_id := REPLACE_G_MISS_NUM (p_base_item_id,l_item_tbl(indx).base_item_id);
1212 l_item_tbl(indx).eng_item_flag := REPLACE_G_MISS_CHAR(p_eng_item_flag,l_item_tbl(indx).eng_item_flag);
1213 l_item_tbl(indx).engineering_item_id := REPLACE_G_MISS_NUM (p_engineering_item_id,l_item_tbl(indx).engineering_item_id);
1214 l_item_tbl(indx).engineering_ecn_code := REPLACE_G_MISS_CHAR(p_engineering_ecn_code,l_item_tbl(indx).engineering_ecn_code);
1215 l_item_tbl(indx).engineering_date := REPLACE_G_MISS_DATE(p_engineering_date,l_item_tbl(indx).engineering_date);
1216 l_item_tbl(indx).effectivity_control := REPLACE_G_MISS_NUM (p_effectivity_control,l_item_tbl(indx).effectivity_control);
1217 l_item_tbl(indx).config_model_type := REPLACE_G_MISS_CHAR(p_config_model_type,l_item_tbl(indx).config_model_type);
1218 l_item_tbl(indx).product_family_item_id := REPLACE_G_MISS_NUM (p_product_family_item_id,l_item_tbl(indx).product_family_item_id);
1219 l_item_tbl(indx).auto_created_config_flag := REPLACE_G_MISS_CHAR(p_auto_created_config_flag,l_item_tbl(indx).auto_created_config_flag);--3911562
1220
1221 -- costing
1222 l_item_tbl(indx).costing_enabled_flag := REPLACE_G_MISS_CHAR(p_costing_enabled_flag,l_item_tbl(indx).costing_enabled_flag);
1223 l_item_tbl(indx).inventory_asset_flag := REPLACE_G_MISS_CHAR(p_inventory_asset_flag,l_item_tbl(indx).inventory_asset_flag);
1224 l_item_tbl(indx).cost_of_sales_account := REPLACE_G_MISS_NUM (p_cost_of_sales_account,l_item_tbl(indx).cost_of_sales_account);
1225 l_item_tbl(indx).default_include_in_rollup_flag := REPLACE_G_MISS_CHAR(p_default_include_in_rollup_f,l_item_tbl(indx).default_include_in_rollup_flag);
1226 l_item_tbl(indx).std_lot_size := REPLACE_G_MISS_NUM (p_std_lot_size,l_item_tbl(indx).std_lot_size);
1227 -- enterprise asset management
1228 l_item_tbl(indx).eam_item_type := REPLACE_G_MISS_NUM (p_eam_item_type,l_item_tbl(indx).eam_item_type);
1229 l_item_tbl(indx).eam_activity_type_code := REPLACE_G_MISS_CHAR(p_eam_activity_type_code,l_item_tbl(indx).eam_activity_type_code);
1230 l_item_tbl(indx).eam_activity_cause_code := REPLACE_G_MISS_CHAR(p_eam_activity_cause_code,l_item_tbl(indx).eam_activity_cause_code);
1231 l_item_tbl(indx).eam_activity_source_code := REPLACE_G_MISS_CHAR(p_eam_activity_source_code,l_item_tbl(indx).eam_activity_source_code);
1232 l_item_tbl(indx).eam_act_shutdown_status := REPLACE_G_MISS_CHAR(p_eam_act_shutdown_status,l_item_tbl(indx).eam_act_shutdown_status);
1233 l_item_tbl(indx).eam_act_notification_flag := REPLACE_G_MISS_CHAR(p_eam_act_notification_flag,l_item_tbl(indx).eam_act_notification_flag);
1234 -- purchasing
1235 l_item_tbl(indx).purchasing_item_flag := REPLACE_G_MISS_CHAR(p_purchasing_item_flag,l_item_tbl(indx).purchasing_item_flag);
1236 l_item_tbl(indx).purchasing_enabled_flag := REPLACE_G_MISS_CHAR(p_purchasing_enabled_flag,l_item_tbl(indx).purchasing_enabled_flag);
1237 l_item_tbl(indx).buyer_id := REPLACE_G_MISS_NUM (p_buyer_id,l_item_tbl(indx).buyer_id);
1238 l_item_tbl(indx).must_use_approved_vendor_flag := REPLACE_G_MISS_CHAR(p_must_use_approved_vendor_fl,l_item_tbl(indx).must_use_approved_vendor_flag);
1239 l_item_tbl(indx).purchasing_tax_code := REPLACE_G_MISS_CHAR(p_purchasing_tax_code,l_item_tbl(indx).purchasing_tax_code);
1240 l_item_tbl(indx).taxable_flag := REPLACE_G_MISS_CHAR(p_taxable_flag,l_item_tbl(indx).taxable_flag);
1241 l_item_tbl(indx).receive_close_tolerance := REPLACE_G_MISS_NUM (p_receive_close_tolerance,l_item_tbl(indx).receive_close_tolerance);
1242 l_item_tbl(indx).allow_item_desc_update_flag := REPLACE_G_MISS_CHAR(p_allow_item_desc_update_flag,l_item_tbl(indx).allow_item_desc_update_flag);
1243 l_item_tbl(indx).inspection_required_flag := REPLACE_G_MISS_CHAR(p_inspection_required_flag,l_item_tbl(indx).inspection_required_flag);
1244 l_item_tbl(indx).receipt_required_flag := REPLACE_G_MISS_CHAR(p_receipt_required_flag,l_item_tbl(indx).receipt_required_flag);
1245 l_item_tbl(indx).market_price := REPLACE_G_MISS_NUM (p_market_price,l_item_tbl(indx).market_price);
1246 l_item_tbl(indx).un_number_id := REPLACE_G_MISS_NUM (p_un_number_id,l_item_tbl(indx).un_number_id);
1247 l_item_tbl(indx).hazard_class_id := REPLACE_G_MISS_NUM (p_hazard_class_id,l_item_tbl(indx).hazard_class_id);
1248 l_item_tbl(indx).rfq_required_flag := REPLACE_G_MISS_CHAR(p_rfq_required_flag,l_item_tbl(indx).rfq_required_flag);
1249 l_item_tbl(indx).list_price_per_unit := REPLACE_G_MISS_NUM (p_list_price_per_unit,l_item_tbl(indx).list_price_per_unit);
1250 l_item_tbl(indx).price_tolerance_percent := REPLACE_G_MISS_NUM (p_price_tolerance_percent,l_item_tbl(indx).price_tolerance_percent);
1251 l_item_tbl(indx).asset_category_id := REPLACE_G_MISS_NUM (p_asset_category_id,l_item_tbl(indx).asset_category_id);
1252 l_item_tbl(indx).rounding_factor := REPLACE_G_MISS_NUM (p_rounding_factor,l_item_tbl(indx).rounding_factor);
1253 l_item_tbl(indx).unit_of_issue := REPLACE_G_MISS_CHAR(p_unit_of_issue,l_item_tbl(indx).unit_of_issue);
1254 l_item_tbl(indx).outside_operation_flag := REPLACE_G_MISS_CHAR(p_outside_operation_flag,l_item_tbl(indx).outside_operation_flag);
1255 l_item_tbl(indx).outside_operation_uom_type := REPLACE_G_MISS_CHAR(p_outside_operation_uom_type,l_item_tbl(indx).outside_operation_uom_type);
1256 l_item_tbl(indx).invoice_close_tolerance := REPLACE_G_MISS_NUM (p_invoice_close_tolerance,l_item_tbl(indx).invoice_close_tolerance);
1257 l_item_tbl(indx).encumbrance_account := REPLACE_G_MISS_NUM (p_encumbrance_account,l_item_tbl(indx).encumbrance_account);
1258 l_item_tbl(indx).expense_account := REPLACE_G_MISS_NUM (p_expense_account,l_item_tbl(indx).expense_account);
1259 l_item_tbl(indx).qty_rcv_exception_code := REPLACE_G_MISS_CHAR(p_qty_rcv_exception_code,l_item_tbl(indx).qty_rcv_exception_code);
1260 l_item_tbl(indx).receiving_routing_id := REPLACE_G_MISS_NUM (p_receiving_routing_id,l_item_tbl(indx).receiving_routing_id);
1261 l_item_tbl(indx).qty_rcv_tolerance := REPLACE_G_MISS_NUM (p_qty_rcv_tolerance,l_item_tbl(indx).qty_rcv_tolerance);
1262 l_item_tbl(indx).enforce_ship_to_location_code := REPLACE_G_MISS_CHAR(p_enforce_ship_to_location_c,l_item_tbl(indx).enforce_ship_to_location_code);
1263 l_item_tbl(indx).allow_substitute_receipts_flag := REPLACE_G_MISS_CHAR(p_allow_substitute_receipts_f,l_item_tbl(indx).allow_substitute_receipts_flag);
1264 l_item_tbl(indx).allow_unordered_receipts_flag := REPLACE_G_MISS_CHAR(p_allow_unordered_receipts_fl,l_item_tbl(indx).allow_unordered_receipts_flag);
1265 l_item_tbl(indx).allow_express_delivery_flag := REPLACE_G_MISS_CHAR(p_allow_express_delivery_flag,l_item_tbl(indx).allow_express_delivery_flag);
1266 l_item_tbl(indx).days_early_receipt_allowed := REPLACE_G_MISS_NUM (p_days_early_receipt_allowed,l_item_tbl(indx).days_early_receipt_allowed);
1267 l_item_tbl(indx).days_late_receipt_allowed := REPLACE_G_MISS_NUM (p_days_late_receipt_allowed,l_item_tbl(indx).days_late_receipt_allowed);
1268 l_item_tbl(indx).receipt_days_exception_code := REPLACE_G_MISS_CHAR(p_receipt_days_exception_code,l_item_tbl(indx).receipt_days_exception_code);
1269 -- physical
1270 l_item_tbl(indx).weight_uom_code := REPLACE_G_MISS_CHAR(p_weight_uom_code,l_item_tbl(indx).weight_uom_code);
1271 l_item_tbl(indx).unit_weight := REPLACE_G_MISS_NUM (p_unit_weight,l_item_tbl(indx).unit_weight);
1272 l_item_tbl(indx).volume_uom_code := REPLACE_G_MISS_CHAR(p_volume_uom_code,l_item_tbl(indx).volume_uom_code);
1273 l_item_tbl(indx).unit_volume := REPLACE_G_MISS_NUM (p_unit_volume,l_item_tbl(indx).unit_volume);
1274 l_item_tbl(indx).container_item_flag := REPLACE_G_MISS_CHAR(p_container_item_flag,l_item_tbl(indx).container_item_flag);
1275 l_item_tbl(indx).vehicle_item_flag := REPLACE_G_MISS_CHAR(p_vehicle_item_flag,l_item_tbl(indx).vehicle_item_flag);
1276 l_item_tbl(indx).maximum_load_weight := REPLACE_G_MISS_NUM (p_maximum_load_weight,l_item_tbl(indx).maximum_load_weight);
1277 l_item_tbl(indx).minimum_fill_percent := REPLACE_G_MISS_NUM (p_minimum_fill_percent,l_item_tbl(indx).minimum_fill_percent);
1278 l_item_tbl(indx).internal_volume := REPLACE_G_MISS_NUM (p_internal_volume,l_item_tbl(indx).internal_volume);
1279 l_item_tbl(indx).container_type_code := REPLACE_G_MISS_CHAR(p_container_type_code,l_item_tbl(indx).container_type_code);
1280 l_item_tbl(indx).collateral_flag := REPLACE_G_MISS_CHAR(p_collateral_flag,l_item_tbl(indx).collateral_flag);
1281 l_item_tbl(indx).event_flag := REPLACE_G_MISS_CHAR(p_event_flag,l_item_tbl(indx).event_flag);
1282 l_item_tbl(indx).equipment_type := REPLACE_G_MISS_NUM (p_equipment_type,l_item_tbl(indx).equipment_type);
1283 l_item_tbl(indx).electronic_flag := REPLACE_G_MISS_CHAR(p_electronic_flag,l_item_tbl(indx).electronic_flag);
1284 l_item_tbl(indx).downloadable_flag := REPLACE_G_MISS_CHAR(p_downloadable_flag,l_item_tbl(indx).downloadable_flag);
1285 l_item_tbl(indx).indivisible_flag := REPLACE_G_MISS_CHAR(p_indivisible_flag,l_item_tbl(indx).indivisible_flag);
1286 l_item_tbl(indx).dimension_uom_code := REPLACE_G_MISS_CHAR(p_dimension_uom_code,l_item_tbl(indx).dimension_uom_code);
1287 l_item_tbl(indx).unit_length := REPLACE_G_MISS_NUM (p_unit_length,l_item_tbl(indx).unit_length);
1288 l_item_tbl(indx).unit_width := REPLACE_G_MISS_NUM (p_unit_width,l_item_tbl(indx).unit_width);
1289 l_item_tbl(indx).unit_height := REPLACE_G_MISS_NUM (p_unit_height,l_item_tbl(indx).unit_height);
1290 --Planning
1291 l_item_tbl(indx).inventory_planning_code := REPLACE_G_MISS_NUM (p_inventory_planning_code,l_item_tbl(indx).inventory_planning_code);
1292 l_item_tbl(indx).planner_code := REPLACE_G_MISS_CHAR(p_planner_code,l_item_tbl(indx).planner_code);
1293 l_item_tbl(indx).planning_make_buy_code := REPLACE_G_MISS_NUM (p_planning_make_buy_code,l_item_tbl(indx).planning_make_buy_code);
1294 l_item_tbl(indx).min_minmax_quantity := REPLACE_G_MISS_NUM (p_min_minmax_quantity,l_item_tbl(indx).min_minmax_quantity);
1295 l_item_tbl(indx).max_minmax_quantity := REPLACE_G_MISS_NUM (p_max_minmax_quantity,l_item_tbl(indx).max_minmax_quantity);
1296 l_item_tbl(indx).safety_stock_bucket_days := REPLACE_G_MISS_NUM (p_safety_stock_bucket_days,l_item_tbl(indx).safety_stock_bucket_days);
1297 l_item_tbl(indx).carrying_cost := REPLACE_G_MISS_NUM (p_carrying_cost,l_item_tbl(indx).carrying_cost);
1298 l_item_tbl(indx).order_cost := REPLACE_G_MISS_NUM (p_order_cost,l_item_tbl(indx).order_cost);
1299 l_item_tbl(indx).mrp_safety_stock_percent := REPLACE_G_MISS_NUM (p_mrp_safety_stock_percent,l_item_tbl(indx).mrp_safety_stock_percent);
1300 l_item_tbl(indx).mrp_safety_stock_code := REPLACE_G_MISS_NUM (p_mrp_safety_stock_code,l_item_tbl(indx).mrp_safety_stock_code);
1301 l_item_tbl(indx).fixed_order_quantity := REPLACE_G_MISS_NUM (p_fixed_order_quantity,l_item_tbl(indx).fixed_order_quantity);
1302 l_item_tbl(indx).fixed_days_supply := REPLACE_G_MISS_NUM (p_fixed_days_supply,l_item_tbl(indx).fixed_days_supply);
1303 l_item_tbl(indx).minimum_order_quantity := REPLACE_G_MISS_NUM (p_minimum_order_quantity,l_item_tbl(indx).minimum_order_quantity);
1304 l_item_tbl(indx).maximum_order_quantity := REPLACE_G_MISS_NUM (p_maximum_order_quantity,l_item_tbl(indx).maximum_order_quantity);
1305 l_item_tbl(indx).fixed_lot_multiplier := REPLACE_G_MISS_NUM (p_fixed_lot_multiplier,l_item_tbl(indx).fixed_lot_multiplier);
1306 l_item_tbl(indx).source_type := REPLACE_G_MISS_NUM (p_source_type,l_item_tbl(indx).source_type);
1307 l_item_tbl(indx).source_organization_id := REPLACE_G_MISS_NUM (p_source_organization_id,l_item_tbl(indx).source_organization_id);
1308 l_item_tbl(indx).source_subinventory := REPLACE_G_MISS_CHAR(p_source_subinventory,l_item_tbl(indx).source_subinventory);
1309 l_item_tbl(indx).mrp_planning_code := REPLACE_G_MISS_NUM (p_mrp_planning_code,l_item_tbl(indx).mrp_planning_code);
1310 l_item_tbl(indx).ato_forecast_control := REPLACE_G_MISS_NUM (p_ato_forecast_control,l_item_tbl(indx).ato_forecast_control);
1311 l_item_tbl(indx).planning_exception_set := REPLACE_G_MISS_CHAR(p_planning_exception_set,l_item_tbl(indx).planning_exception_set);
1312 l_item_tbl(indx).shrinkage_rate := REPLACE_G_MISS_NUM (p_shrinkage_rate,l_item_tbl(indx).shrinkage_rate);
1313 l_item_tbl(indx).end_assembly_pegging_flag := REPLACE_G_MISS_CHAR(p_end_assembly_pegging_flag,l_item_tbl(indx).end_assembly_pegging_flag);
1314 l_item_tbl(indx).rounding_control_type := REPLACE_G_MISS_NUM (p_rounding_control_type,l_item_tbl(indx).rounding_control_type);
1315 l_item_tbl(indx).planned_inv_point_flag := REPLACE_G_MISS_CHAR(p_planned_inv_point_flag,l_item_tbl(indx).planned_inv_point_flag);
1316 l_item_tbl(indx).create_supply_flag := REPLACE_G_MISS_CHAR(p_create_supply_flag,l_item_tbl(indx).create_supply_flag);
1317 l_item_tbl(indx).acceptable_early_days := REPLACE_G_MISS_NUM (p_acceptable_early_days,l_item_tbl(indx).acceptable_early_days);
1318 l_item_tbl(indx).mrp_calculate_atp_flag := REPLACE_G_MISS_CHAR(p_mrp_calculate_atp_flag,l_item_tbl(indx).mrp_calculate_atp_flag);
1319 l_item_tbl(indx).auto_reduce_mps := REPLACE_G_MISS_NUM (p_auto_reduce_mps,l_item_tbl(indx).auto_reduce_mps);
1320 l_item_tbl(indx).repetitive_planning_flag := REPLACE_G_MISS_CHAR(p_repetitive_planning_flag,l_item_tbl(indx).repetitive_planning_flag);
1321 l_item_tbl(indx).overrun_percentage := REPLACE_G_MISS_NUM (p_overrun_percentage,l_item_tbl(indx).overrun_percentage);
1322 l_item_tbl(indx).acceptable_rate_decrease := REPLACE_G_MISS_NUM (p_acceptable_rate_decrease,l_item_tbl(indx).acceptable_rate_decrease);
1323 l_item_tbl(indx).acceptable_rate_increase := REPLACE_G_MISS_NUM (p_acceptable_rate_increase,l_item_tbl(indx).acceptable_rate_increase);
1324 l_item_tbl(indx).planning_time_fence_code := REPLACE_G_MISS_NUM (p_planning_time_fence_code,l_item_tbl(indx).planning_time_fence_code);
1325 l_item_tbl(indx).planning_time_fence_days := REPLACE_G_MISS_NUM (p_planning_time_fence_days,l_item_tbl(indx).planning_time_fence_days);
1326 l_item_tbl(indx).demand_time_fence_code := REPLACE_G_MISS_NUM (p_demand_time_fence_code,l_item_tbl(indx).demand_time_fence_code);
1327 l_item_tbl(indx).demand_time_fence_days := REPLACE_G_MISS_NUM (p_demand_time_fence_days,l_item_tbl(indx).demand_time_fence_days);
1328 l_item_tbl(indx).release_time_fence_code := REPLACE_G_MISS_NUM (p_release_time_fence_code,l_item_tbl(indx).release_time_fence_code);
1329 l_item_tbl(indx).release_time_fence_days := REPLACE_G_MISS_NUM (p_release_time_fence_days,l_item_tbl(indx).release_time_fence_days);
1330 l_item_tbl(indx).substitution_window_code := REPLACE_G_MISS_NUM (p_substitution_window_code,l_item_tbl(indx).substitution_window_code);
1331 l_item_tbl(indx).substitution_window_days := REPLACE_G_MISS_NUM (p_substitution_window_days,l_item_tbl(indx).substitution_window_days);
1332 -- lead times
1333 l_item_tbl(indx).preprocessing_lead_time := REPLACE_G_MISS_NUM (p_preprocessing_lead_time,l_item_tbl(indx).preprocessing_lead_time);
1334 l_item_tbl(indx).full_lead_time := REPLACE_G_MISS_NUM (p_full_lead_time,l_item_tbl(indx).full_lead_time);
1335 l_item_tbl(indx).postprocessing_lead_time := REPLACE_G_MISS_NUM (p_postprocessing_lead_time,l_item_tbl(indx).postprocessing_lead_time);
1336 l_item_tbl(indx).fixed_lead_time := REPLACE_G_MISS_NUM (p_fixed_lead_time,l_item_tbl(indx).fixed_lead_time);
1337 l_item_tbl(indx).variable_lead_time := REPLACE_G_MISS_NUM (p_variable_lead_time,l_item_tbl(indx).variable_lead_time);
1338 l_item_tbl(indx).cum_manufacturing_lead_time := REPLACE_G_MISS_NUM (p_cum_manufacturing_lead_time,l_item_tbl(indx).cum_manufacturing_lead_time);
1339 l_item_tbl(indx).cumulative_total_lead_time := REPLACE_G_MISS_NUM (p_cumulative_total_lead_time,l_item_tbl(indx).cumulative_total_lead_time);
1340 l_item_tbl(indx).lead_time_lot_size := REPLACE_G_MISS_NUM (p_lead_time_lot_size,l_item_tbl(indx).lead_time_lot_size);
1341 -- wip
1342 l_item_tbl(indx).build_in_wip_flag := REPLACE_G_MISS_CHAR(p_build_in_wip_flag,l_item_tbl(indx).build_in_wip_flag);
1343 l_item_tbl(indx).wip_supply_type := REPLACE_G_MISS_NUM (p_wip_supply_type,l_item_tbl(indx).wip_supply_type);
1344 l_item_tbl(indx).wip_supply_subinventory := REPLACE_G_MISS_CHAR(p_wip_supply_subinventory,l_item_tbl(indx).wip_supply_subinventory);
1345 l_item_tbl(indx).wip_supply_locator_id := REPLACE_G_MISS_NUM (p_wip_supply_locator_id,l_item_tbl(indx).wip_supply_locator_id);
1346 l_item_tbl(indx).overcompletion_tolerance_type := REPLACE_G_MISS_NUM (p_overcompletion_tolerance_ty,l_item_tbl(indx).overcompletion_tolerance_type);
1347 l_item_tbl(indx).overcompletion_tolerance_value := REPLACE_G_MISS_NUM (p_overcompletion_tolerance_va,l_item_tbl(indx).overcompletion_tolerance_value);
1348 l_item_tbl(indx).inventory_carry_penalty := REPLACE_G_MISS_NUM (p_inventory_carry_penalty,l_item_tbl(indx).inventory_carry_penalty);
1349 l_item_tbl(indx).operation_slack_penalty := REPLACE_G_MISS_NUM (p_operation_slack_penalty,l_item_tbl(indx).operation_slack_penalty);
1350 -- order management
1351 l_item_tbl(indx).customer_order_flag := REPLACE_G_MISS_CHAR(p_customer_order_flag,l_item_tbl(indx).customer_order_flag);
1352 l_item_tbl(indx).customer_order_enabled_flag := REPLACE_G_MISS_CHAR(p_customer_order_enabled_flag,l_item_tbl(indx).customer_order_enabled_flag);
1353 l_item_tbl(indx).internal_order_flag := REPLACE_G_MISS_CHAR(p_internal_order_flag,l_item_tbl(indx).internal_order_flag);
1354 l_item_tbl(indx).internal_order_enabled_flag := REPLACE_G_MISS_CHAR(p_internal_order_enabled_flag,l_item_tbl(indx).internal_order_enabled_flag);
1355 l_item_tbl(indx).shippable_item_flag := REPLACE_G_MISS_CHAR(p_shippable_item_flag,l_item_tbl(indx).shippable_item_flag);
1356 l_item_tbl(indx).so_transactions_flag := REPLACE_G_MISS_CHAR(p_so_transactions_flag,l_item_tbl(indx).so_transactions_flag);
1357 l_item_tbl(indx).picking_rule_id := REPLACE_G_MISS_NUM (p_picking_rule_id,l_item_tbl(indx).picking_rule_id);
1358 l_item_tbl(indx).pick_components_flag := REPLACE_G_MISS_CHAR(p_pick_components_flag,l_item_tbl(indx).pick_components_flag);
1359 l_item_tbl(indx).replenish_to_order_flag := REPLACE_G_MISS_CHAR(p_replenish_to_order_flag,l_item_tbl(indx).replenish_to_order_flag);
1360 l_item_tbl(indx).atp_flag := REPLACE_G_MISS_CHAR(p_atp_flag,l_item_tbl(indx).atp_flag);
1361 l_item_tbl(indx).atp_components_flag := REPLACE_G_MISS_CHAR(p_atp_components_flag,l_item_tbl(indx).atp_components_flag);
1362 l_item_tbl(indx).atp_rule_id := REPLACE_G_MISS_NUM (p_atp_rule_id,l_item_tbl(indx).atp_rule_id);
1363 l_item_tbl(indx).ship_model_complete_flag := REPLACE_G_MISS_CHAR(p_ship_model_complete_flag,l_item_tbl(indx).ship_model_complete_flag);
1364 l_item_tbl(indx).default_shipping_org := REPLACE_G_MISS_NUM (p_default_shipping_org,l_item_tbl(indx).default_shipping_org);
1365 l_item_tbl(indx).default_so_source_type := REPLACE_G_MISS_CHAR(p_default_so_source_type,l_item_tbl(indx).default_so_source_type);
1366 l_item_tbl(indx).returnable_flag := REPLACE_G_MISS_CHAR(p_returnable_flag,l_item_tbl(indx).returnable_flag);
1367 l_item_tbl(indx).return_inspection_requirement := REPLACE_G_MISS_NUM (p_return_inspection_requireme,l_item_tbl(indx).return_inspection_requirement);
1368 l_item_tbl(indx).over_shipment_tolerance := REPLACE_G_MISS_NUM (p_over_shipment_tolerance,l_item_tbl(indx).over_shipment_tolerance);
1369 l_item_tbl(indx).under_shipment_tolerance := REPLACE_G_MISS_NUM (p_under_shipment_tolerance,l_item_tbl(indx).under_shipment_tolerance);
1370 l_item_tbl(indx).over_return_tolerance := REPLACE_G_MISS_NUM (p_over_return_tolerance,l_item_tbl(indx).over_return_tolerance);
1371 l_item_tbl(indx).under_return_tolerance := REPLACE_G_MISS_NUM (p_under_return_tolerance,l_item_tbl(indx).under_return_tolerance);
1372 l_item_tbl(indx).financing_allowed_flag := REPLACE_G_MISS_CHAR(p_financing_allowed_flag,l_item_tbl(indx).financing_allowed_flag);
1373 l_item_tbl(indx).vol_discount_exempt_flag := REPLACE_G_MISS_CHAR(p_vol_discount_exempt_flag,l_item_tbl(indx).vol_discount_exempt_flag);
1374 l_item_tbl(indx).coupon_exempt_flag := REPLACE_G_MISS_CHAR(p_coupon_exempt_flag,l_item_tbl(indx).coupon_exempt_flag);
1375 l_item_tbl(indx).invoiceable_item_flag := REPLACE_G_MISS_CHAR(p_invoiceable_item_flag,l_item_tbl(indx).invoiceable_item_flag);
1376 l_item_tbl(indx).invoice_enabled_flag := REPLACE_G_MISS_CHAR(p_invoice_enabled_flag,l_item_tbl(indx).invoice_enabled_flag);
1377 l_item_tbl(indx).accounting_rule_id := REPLACE_G_MISS_NUM (p_accounting_rule_id,l_item_tbl(indx).accounting_rule_id);
1378 l_item_tbl(indx).invoicing_rule_id := REPLACE_G_MISS_NUM (p_invoicing_rule_id,l_item_tbl(indx).invoicing_rule_id);
1379 l_item_tbl(indx).tax_code := REPLACE_G_MISS_CHAR(p_tax_code,l_item_tbl(indx).tax_code);
1380 l_item_tbl(indx).sales_account := REPLACE_G_MISS_NUM (p_sales_account,l_item_tbl(indx).sales_account);
1381 l_item_tbl(indx).payment_terms_id := REPLACE_G_MISS_NUM (p_payment_terms_id,l_item_tbl(indx).payment_terms_id);
1382 -- service
1383 l_item_tbl(indx).contract_item_type_code := REPLACE_G_MISS_CHAR(p_contract_item_type_code,l_item_tbl(indx).contract_item_type_code);
1384 l_item_tbl(indx).service_duration_period_code := REPLACE_G_MISS_CHAR(p_service_duration_period_cod,l_item_tbl(indx).service_duration_period_code);
1385 l_item_tbl(indx).service_duration := REPLACE_G_MISS_NUM (p_service_duration,l_item_tbl(indx).service_duration);
1386 l_item_tbl(indx).coverage_schedule_id := REPLACE_G_MISS_NUM (p_coverage_schedule_id,l_item_tbl(indx).coverage_schedule_id);
1387 l_item_tbl(indx).subscription_depend_flag := REPLACE_G_MISS_CHAR(p_subscription_depend_flag,l_item_tbl(indx).subscription_depend_flag);
1388 l_item_tbl(indx).serv_importance_level := REPLACE_G_MISS_NUM (p_serv_importance_level,l_item_tbl(indx).serv_importance_level);
1389 l_item_tbl(indx).serv_req_enabled_code := REPLACE_G_MISS_CHAR(p_serv_req_enabled_code,l_item_tbl(indx).serv_req_enabled_code);
1390 l_item_tbl(indx).comms_activation_reqd_flag := REPLACE_G_MISS_CHAR(p_comms_activation_reqd_flag,l_item_tbl(indx).comms_activation_reqd_flag);
1391 l_item_tbl(indx).serviceable_product_flag := REPLACE_G_MISS_CHAR(p_serviceable_product_flag,l_item_tbl(indx).serviceable_product_flag);
1392 l_item_tbl(indx).material_billable_flag := REPLACE_G_MISS_CHAR(p_material_billable_flag,l_item_tbl(indx).material_billable_flag);
1393 l_item_tbl(indx).serv_billing_enabled_flag := REPLACE_G_MISS_CHAR(p_serv_billing_enabled_flag,l_item_tbl(indx).serv_billing_enabled_flag);
1394 l_item_tbl(indx).defect_tracking_on_flag := REPLACE_G_MISS_CHAR(p_defect_tracking_on_flag,l_item_tbl(indx).defect_tracking_on_flag);
1395 l_item_tbl(indx).recovered_part_disp_code := REPLACE_G_MISS_CHAR(p_recovered_part_disp_code,l_item_tbl(indx).recovered_part_disp_code);
1396 l_item_tbl(indx).comms_nl_trackable_flag := REPLACE_G_MISS_CHAR(p_comms_nl_trackable_flag,l_item_tbl(indx).comms_nl_trackable_flag);
1397 l_item_tbl(indx).asset_creation_code := REPLACE_G_MISS_CHAR(p_asset_creation_code,l_item_tbl(indx).asset_creation_code);
1398 l_item_tbl(indx).ib_item_instance_class := REPLACE_G_MISS_CHAR(p_ib_item_instance_class,l_item_tbl(indx).ib_item_instance_class);
1399 l_item_tbl(indx).service_starting_delay := REPLACE_G_MISS_NUM (p_service_starting_delay,l_item_tbl(indx).service_starting_delay);
1400 -- web option
1401 l_item_tbl(indx).web_status := REPLACE_G_MISS_CHAR(p_web_status,l_item_tbl(indx).web_status);
1402 l_item_tbl(indx).orderable_on_web_flag := REPLACE_G_MISS_CHAR(p_orderable_on_web_flag,l_item_tbl(indx).orderable_on_web_flag);
1403 l_item_tbl(indx).back_orderable_flag := REPLACE_G_MISS_CHAR(p_back_orderable_flag,l_item_tbl(indx).back_orderable_flag);
1404 l_item_tbl(indx).minimum_license_quantity := REPLACE_G_MISS_NUM (p_minimum_license_quantity,l_item_tbl(indx).minimum_license_quantity);
1405 --Start: 26 new attributes
1406 l_item_tbl(indx).tracking_quantity_ind := REPLACE_G_MISS_CHAR(p_tracking_quantity_ind,l_item_tbl(indx).tracking_quantity_ind);
1407 l_item_tbl(indx).ont_pricing_qty_source := REPLACE_G_MISS_CHAR(p_ont_pricing_qty_source,l_item_tbl(indx).ont_pricing_qty_source);
1408 l_item_tbl(indx).secondary_default_ind := REPLACE_G_MISS_CHAR(p_secondary_default_ind,l_item_tbl(indx).secondary_default_ind);
1409 l_item_tbl(indx).option_specific_sourced := REPLACE_G_MISS_NUM (p_option_specific_sourced,l_item_tbl(indx).option_specific_sourced);
1410 l_item_tbl(indx).vmi_minimum_units := REPLACE_G_MISS_NUM (p_vmi_minimum_units,l_item_tbl(indx).vmi_minimum_units);
1411 l_item_tbl(indx).vmi_minimum_days := REPLACE_G_MISS_NUM (p_vmi_minimum_days,l_item_tbl(indx).vmi_minimum_days);
1412 l_item_tbl(indx).vmi_maximum_units := REPLACE_G_MISS_NUM (p_vmi_maximum_units,l_item_tbl(indx).vmi_maximum_units);
1413 l_item_tbl(indx).vmi_maximum_days := REPLACE_G_MISS_NUM (p_vmi_maximum_days,l_item_tbl(indx).vmi_maximum_days);
1414 l_item_tbl(indx).vmi_fixed_order_quantity := REPLACE_G_MISS_NUM (p_vmi_fixed_order_quantity,l_item_tbl(indx).vmi_fixed_order_quantity);
1415 l_item_tbl(indx).so_authorization_flag := REPLACE_G_MISS_NUM (p_so_authorization_flag,l_item_tbl(indx).so_authorization_flag);
1416 l_item_tbl(indx).consigned_flag := REPLACE_G_MISS_NUM (p_consigned_flag,l_item_tbl(indx).consigned_flag);
1417 l_item_tbl(indx).asn_autoexpire_flag := REPLACE_G_MISS_NUM (p_asn_autoexpire_flag,l_item_tbl(indx).asn_autoexpire_flag);
1418 l_item_tbl(indx).vmi_forecast_type := REPLACE_G_MISS_NUM (p_vmi_forecast_type,l_item_tbl(indx).vmi_forecast_type);
1419 l_item_tbl(indx).forecast_horizon := REPLACE_G_MISS_NUM (p_forecast_horizon,l_item_tbl(indx).forecast_horizon);
1420 l_item_tbl(indx).exclude_from_budget_flag := REPLACE_G_MISS_NUM (p_exclude_from_budget_flag,l_item_tbl(indx).exclude_from_budget_flag);
1421 l_item_tbl(indx).days_tgt_inv_supply := REPLACE_G_MISS_NUM (p_days_tgt_inv_supply,l_item_tbl(indx).days_tgt_inv_supply);
1422 l_item_tbl(indx).days_tgt_inv_window := REPLACE_G_MISS_NUM (p_days_tgt_inv_window,l_item_tbl(indx).days_tgt_inv_window);
1423 l_item_tbl(indx).days_max_inv_supply := REPLACE_G_MISS_NUM (p_days_max_inv_supply,l_item_tbl(indx).days_max_inv_supply);
1424 l_item_tbl(indx).days_max_inv_window := REPLACE_G_MISS_NUM (p_days_max_inv_window,l_item_tbl(indx).days_max_inv_window);
1425 l_item_tbl(indx).drp_planned_flag := REPLACE_G_MISS_NUM (p_drp_planned_flag,l_item_tbl(indx).drp_planned_flag);
1426 l_item_tbl(indx).critical_component_flag := REPLACE_G_MISS_NUM (p_critical_component_flag,l_item_tbl(indx).critical_component_flag);
1427 l_item_tbl(indx).continous_transfer := REPLACE_G_MISS_NUM (p_continous_transfer,l_item_tbl(indx).continous_transfer);
1428 l_item_tbl(indx).convergence := REPLACE_G_MISS_NUM (p_convergence,l_item_tbl(indx).convergence);
1429 l_item_tbl(indx).divergence := REPLACE_G_MISS_NUM (p_divergence,l_item_tbl(indx).divergence);
1430 l_item_tbl(indx).config_orgs := REPLACE_G_MISS_CHAR(p_config_orgs,l_item_tbl(indx).config_orgs);
1431 l_item_tbl(indx).config_match := REPLACE_G_MISS_CHAR(p_config_match,l_item_tbl(indx).config_match);
1432 --End: 26 new attributes
1433 -- descriptive flex
1434 l_item_tbl(indx).attribute_category := REPLACE_G_MISS_CHAR(p_attribute_category,l_item_tbl(indx).attribute_category);
1435 l_item_tbl(indx).attribute1 := REPLACE_G_MISS_CHAR(p_attribute1,l_item_tbl(indx).attribute1);
1436 l_item_tbl(indx).attribute2 := REPLACE_G_MISS_CHAR(p_attribute2,l_item_tbl(indx).attribute2);
1437 l_item_tbl(indx).attribute3 := REPLACE_G_MISS_CHAR(p_attribute3,l_item_tbl(indx).attribute3);
1438 l_item_tbl(indx).attribute4 := REPLACE_G_MISS_CHAR(p_attribute4,l_item_tbl(indx).attribute4);
1439 l_item_tbl(indx).attribute5 := REPLACE_G_MISS_CHAR(p_attribute5,l_item_tbl(indx).attribute5);
1440 l_item_tbl(indx).attribute6 := REPLACE_G_MISS_CHAR(p_attribute6,l_item_tbl(indx).attribute6);
1441 l_item_tbl(indx).attribute7 := REPLACE_G_MISS_CHAR(p_attribute7,l_item_tbl(indx).attribute7);
1442 l_item_tbl(indx).attribute8 := REPLACE_G_MISS_CHAR(p_attribute8,l_item_tbl(indx).attribute8);
1443 l_item_tbl(indx).attribute9 := REPLACE_G_MISS_CHAR(p_attribute9,l_item_tbl(indx).attribute9);
1444 l_item_tbl(indx).attribute10 := REPLACE_G_MISS_CHAR(p_attribute10,l_item_tbl(indx).attribute10);
1445 l_item_tbl(indx).attribute11 := REPLACE_G_MISS_CHAR(p_attribute11,l_item_tbl(indx).attribute11);
1446 l_item_tbl(indx).attribute12 := REPLACE_G_MISS_CHAR(p_attribute12,l_item_tbl(indx).attribute12);
1447 l_item_tbl(indx).attribute13 := REPLACE_G_MISS_CHAR(p_attribute13,l_item_tbl(indx).attribute13);
1448 l_item_tbl(indx).attribute14 := REPLACE_G_MISS_CHAR(p_attribute14,l_item_tbl(indx).attribute14);
1449 l_item_tbl(indx).attribute15 := REPLACE_G_MISS_CHAR(p_attribute15,l_item_tbl(indx).attribute15);
1450 l_item_tbl(indx).attribute16 := REPLACE_G_MISS_CHAR(p_attribute16,l_item_tbl(indx).attribute16);
1451 l_item_tbl(indx).attribute17 := REPLACE_G_MISS_CHAR(p_attribute17,l_item_tbl(indx).attribute17);
1452 l_item_tbl(indx).attribute18 := REPLACE_G_MISS_CHAR(p_attribute18,l_item_tbl(indx).attribute18);
1453 l_item_tbl(indx).attribute19 := REPLACE_G_MISS_CHAR(p_attribute19,l_item_tbl(indx).attribute19);
1454 l_item_tbl(indx).attribute20 := REPLACE_G_MISS_CHAR(p_attribute20,l_item_tbl(indx).attribute20);
1455 l_item_tbl(indx).attribute21 := REPLACE_G_MISS_CHAR(p_attribute21,l_item_tbl(indx).attribute21);
1456 l_item_tbl(indx).attribute22 := REPLACE_G_MISS_CHAR(p_attribute22,l_item_tbl(indx).attribute22);
1457 l_item_tbl(indx).attribute23 := REPLACE_G_MISS_CHAR(p_attribute23,l_item_tbl(indx).attribute23);
1458 l_item_tbl(indx).attribute24 := REPLACE_G_MISS_CHAR(p_attribute24,l_item_tbl(indx).attribute24);
1459 l_item_tbl(indx).attribute25 := REPLACE_G_MISS_CHAR(p_attribute25,l_item_tbl(indx).attribute25);
1460 l_item_tbl(indx).attribute26 := REPLACE_G_MISS_CHAR(p_attribute26,l_item_tbl(indx).attribute26);
1461 l_item_tbl(indx).attribute27 := REPLACE_G_MISS_CHAR(p_attribute27,l_item_tbl(indx).attribute27);
1462 l_item_tbl(indx).attribute28 := REPLACE_G_MISS_CHAR(p_attribute28,l_item_tbl(indx).attribute28);
1463 l_item_tbl(indx).attribute29 := REPLACE_G_MISS_CHAR(p_attribute29,l_item_tbl(indx).attribute29);
1464 l_item_tbl(indx).attribute30 := REPLACE_G_MISS_CHAR(p_attribute30,l_item_tbl(indx).attribute30);
1465 -- global descriptive flex
1466 l_item_tbl(indx).global_attribute_category := REPLACE_G_MISS_CHAR(p_global_attribute_category,l_item_tbl(indx).global_attribute_category);
1467 l_item_tbl(indx).global_attribute1 := REPLACE_G_MISS_CHAR(p_global_attribute1,l_item_tbl(indx).global_attribute1);
1468 l_item_tbl(indx).global_attribute2 := REPLACE_G_MISS_CHAR(p_global_attribute2,l_item_tbl(indx).global_attribute2);
1469 l_item_tbl(indx).global_attribute3 := REPLACE_G_MISS_CHAR(p_global_attribute3,l_item_tbl(indx).global_attribute3);
1470 l_item_tbl(indx).global_attribute4 := REPLACE_G_MISS_CHAR(p_global_attribute4,l_item_tbl(indx).global_attribute4);
1471 l_item_tbl(indx).global_attribute5 := REPLACE_G_MISS_CHAR(p_global_attribute5,l_item_tbl(indx).global_attribute5);
1472 l_item_tbl(indx).global_attribute6 := REPLACE_G_MISS_CHAR(p_global_attribute6,l_item_tbl(indx).global_attribute6);
1473 l_item_tbl(indx).global_attribute7 := REPLACE_G_MISS_CHAR(p_global_attribute7,l_item_tbl(indx).global_attribute7);
1474 l_item_tbl(indx).global_attribute8 := REPLACE_G_MISS_CHAR(p_global_attribute8,l_item_tbl(indx).global_attribute8);
1475 l_item_tbl(indx).global_attribute9 := REPLACE_G_MISS_CHAR(p_global_attribute9,l_item_tbl(indx).global_attribute9);
1476 l_item_tbl(indx).global_attribute10 := REPLACE_G_MISS_CHAR(p_global_attribute10,l_item_tbl(indx).global_attribute10);
1477
1478 l_item_tbl(indx).global_attribute11 := REPLACE_G_MISS_CHAR(p_global_attribute11,l_item_tbl(indx).global_attribute11);
1479 l_item_tbl(indx).global_attribute12 := REPLACE_G_MISS_CHAR(p_global_attribute12,l_item_tbl(indx).global_attribute12);
1480 l_item_tbl(indx).global_attribute13 := REPLACE_G_MISS_CHAR(p_global_attribute13,l_item_tbl(indx).global_attribute13);
1481 l_item_tbl(indx).global_attribute14 := REPLACE_G_MISS_CHAR(p_global_attribute14,l_item_tbl(indx).global_attribute14);
1482 l_item_tbl(indx).global_attribute15 := REPLACE_G_MISS_CHAR(p_global_attribute15,l_item_tbl(indx).global_attribute15);
1483 l_item_tbl(indx).global_attribute16 := REPLACE_G_MISS_CHAR(p_global_attribute16,l_item_tbl(indx).global_attribute16);
1484 l_item_tbl(indx).global_attribute17 := REPLACE_G_MISS_CHAR(p_global_attribute17,l_item_tbl(indx).global_attribute17);
1485 l_item_tbl(indx).global_attribute18 := REPLACE_G_MISS_CHAR(p_global_attribute18,l_item_tbl(indx).global_attribute18);
1486 l_item_tbl(indx).global_attribute19 := REPLACE_G_MISS_CHAR(p_global_attribute19,l_item_tbl(indx).global_attribute19);
1487 l_item_tbl(indx).global_attribute20 := REPLACE_G_MISS_CHAR(p_global_attribute20,l_item_tbl(indx).global_attribute20);
1488 /* R12 Enhacement */
1489 l_item_tbl(indx).CAS_NUMBER := REPLACE_G_MISS_CHAR(p_CAS_NUMBER ,l_item_tbl(indx).CAS_NUMBER );
1490 l_item_tbl(indx).CHILD_LOT_FLAG := REPLACE_G_MISS_CHAR(p_CHILD_LOT_FLAG ,l_item_tbl(indx).CHILD_LOT_FLAG);
1491 l_item_tbl(indx).CHILD_LOT_PREFIX := REPLACE_G_MISS_CHAR(p_CHILD_LOT_PREFIX,l_item_tbl(indx).CHILD_LOT_PREFIX);
1492 l_item_tbl(indx).CHILD_LOT_STARTING_NUMBER := REPLACE_G_MISS_NUM(p_CHILD_LOT_STARTING_NUMBER,l_item_tbl(indx).CHILD_LOT_STARTING_NUMBER);
1493 l_item_tbl(indx).CHILD_LOT_VALIDATION_FLAG := REPLACE_G_MISS_CHAR(p_CHILD_LOT_VALIDATION_FLAG,l_item_tbl(indx).CHILD_LOT_VALIDATION_FLAG);
1494 l_item_tbl(indx).COPY_LOT_ATTRIBUTE_FLAG := REPLACE_G_MISS_CHAR(p_COPY_LOT_ATTRIBUTE_FLAG,l_item_tbl(indx).COPY_LOT_ATTRIBUTE_FLAG);
1495 l_item_tbl(indx).DEFAULT_GRADE := REPLACE_G_MISS_CHAR(p_DEFAULT_GRADE,l_item_tbl(indx).DEFAULT_GRADE);
1496 l_item_tbl(indx).EXPIRATION_ACTION_CODE := REPLACE_G_MISS_CHAR(p_EXPIRATION_ACTION_CODE,l_item_tbl(indx).EXPIRATION_ACTION_CODE);
1497 l_item_tbl(indx).EXPIRATION_ACTION_INTERVAL := REPLACE_G_MISS_NUM(p_EXPIRATION_ACTION_INTERVAL,l_item_tbl(indx).EXPIRATION_ACTION_INTERVAL);
1498 l_item_tbl(indx).GRADE_CONTROL_FLAG := REPLACE_G_MISS_CHAR(p_GRADE_CONTROL_FLAG,l_item_tbl(indx).GRADE_CONTROL_FLAG);
1499 l_item_tbl(indx).HAZARDOUS_MATERIAL_FLAG := REPLACE_G_MISS_CHAR(p_HAZARDOUS_MATERIAL_FLAG,l_item_tbl(indx).HAZARDOUS_MATERIAL_FLAG);
1500 l_item_tbl(indx).HOLD_DAYS := REPLACE_G_MISS_NUM(p_HOLD_DAYS,l_item_tbl(indx).HOLD_DAYS);
1501 l_item_tbl(indx).LOT_DIVISIBLE_FLAG := REPLACE_G_MISS_CHAR(p_LOT_DIVISIBLE_FLAG,l_item_tbl(indx).LOT_DIVISIBLE_FLAG);
1502 l_item_tbl(indx).MATURITY_DAYS := REPLACE_G_MISS_NUM(p_MATURITY_DAYS,l_item_tbl(indx).MATURITY_DAYS);
1503 l_item_tbl(indx).PARENT_CHILD_GENERATION_FLAG := REPLACE_G_MISS_CHAR(p_PARENT_CHILD_GENERATION_FLAG,l_item_tbl(indx).PARENT_CHILD_GENERATION_FLAG);
1504 l_item_tbl(indx).PROCESS_COSTING_ENABLED_FLAG := REPLACE_G_MISS_CHAR(p_PROCESS_COSTING_ENABLED_FLAG,l_item_tbl(indx).PROCESS_COSTING_ENABLED_FLAG);
1505 l_item_tbl(indx).PROCESS_EXECUTION_ENABLED_FLAG := REPLACE_G_MISS_CHAR(p_PROCESS_EXECUTION_ENABLED_FL,l_item_tbl(indx).PROCESS_EXECUTION_ENABLED_FLAG);
1506 l_item_tbl(indx).PROCESS_QUALITY_ENABLED_FLAG := REPLACE_G_MISS_CHAR(p_PROCESS_QUALITY_ENABLED_FLAG,l_item_tbl(indx).PROCESS_QUALITY_ENABLED_FLAG);
1507 l_item_tbl(indx).PROCESS_SUPPLY_LOCATOR_ID := REPLACE_G_MISS_NUM(p_PROCESS_SUPPLY_LOCATOR_ID,l_item_tbl(indx).PROCESS_SUPPLY_LOCATOR_ID);
1508 l_item_tbl(indx).PROCESS_SUPPLY_SUBINVENTORY := REPLACE_G_MISS_CHAR(p_PROCESS_SUPPLY_SUBINVENTORY,l_item_tbl(indx).PROCESS_SUPPLY_SUBINVENTORY);
1509 l_item_tbl(indx).PROCESS_YIELD_LOCATOR_ID := REPLACE_G_MISS_NUM(p_PROCESS_YIELD_LOCATOR_ID,l_item_tbl(indx).PROCESS_YIELD_LOCATOR_ID);
1510 l_item_tbl(indx).PROCESS_YIELD_SUBINVENTORY := REPLACE_G_MISS_CHAR(p_PROCESS_YIELD_SUBINVENTORY,l_item_tbl(indx).PROCESS_YIELD_SUBINVENTORY);
1511 l_item_tbl(indx).RECIPE_ENABLED_FLAG := REPLACE_G_MISS_CHAR(p_RECIPE_ENABLED_FLAG,l_item_tbl(indx).RECIPE_ENABLED_FLAG);
1512 l_item_tbl(indx).RETEST_INTERVAL := REPLACE_G_MISS_NUM(p_RETEST_INTERVAL,l_item_tbl(indx).RETEST_INTERVAL);
1513 l_item_tbl(indx).charge_periodicity_code := REPLACE_G_MISS_CHAR(p_charge_periodicity_code,l_item_tbl(indx).charge_periodicity_code);
1514 l_item_tbl(indx).REPAIR_LEADTIME := REPLACE_G_MISS_NUM(p_REPAIR_LEADTIME,l_item_tbl(indx).REPAIR_LEADTIME);
1515 l_item_tbl(indx).REPAIR_YIELD := REPLACE_G_MISS_NUM(p_REPAIR_YIELD,l_item_tbl(indx).REPAIR_YIELD);
1516 l_item_tbl(indx).PREPOSITION_POINT := REPLACE_G_MISS_CHAR(p_PREPOSITION_POINT,l_item_tbl(indx).PREPOSITION_POINT);
1517 l_item_tbl(indx).REPAIR_PROGRAM := REPLACE_G_MISS_NUM(p_REPAIR_PROGRAM,l_item_tbl(indx).REPAIR_PROGRAM);
1518 l_item_tbl(indx).SUBCONTRACTING_COMPONENT := REPLACE_G_MISS_NUM(p_SUBCONTRACTING_COMPONENT,l_item_tbl(indx).SUBCONTRACTING_COMPONENT);
1519 l_item_tbl(indx).OUTSOURCED_ASSEMBLY := REPLACE_G_MISS_NUM(p_OUTSOURCED_ASSEMBLY ,l_item_tbl(indx).OUTSOURCED_ASSEMBLY );
1520 --R12 C Attributes
1521 l_item_tbl(indx).GDSN_OUTBOUND_ENABLED_FLAG := REPLACE_G_MISS_CHAR(p_GDSN_OUTBOUND_ENABLED_FLAG ,l_item_tbl(indx).GDSN_OUTBOUND_ENABLED_FLAG );
1522 l_item_tbl(indx).TRADE_ITEM_DESCRIPTOR := REPLACE_G_MISS_CHAR(P_TRADE_ITEM_DESCRIPTOR ,l_item_tbl(indx).TRADE_ITEM_DESCRIPTOR );
1523 l_item_tbl(indx).STYLE_ITEM_FLAG := REPLACE_G_MISS_CHAR(P_STYLE_ITEM_FLAG ,l_item_tbl(indx).STYLE_ITEM_FLAG );
1524 l_item_tbl(indx).STYLE_ITEM_ID := REPLACE_G_MISS_NUM(P_STYLE_ITEM_ID ,l_item_tbl(indx).STYLE_ITEM_ID );
1525 -- Revision table populating
1526
1527 -- Bug 9852661
1528 IF ( p_attributes_row_table IS NOT NULL) THEN
1529 l_attr_row_count := 1;
1530 FOR i IN 1 .. p_attributes_row_table.Count LOOP
1531 l_item_tbl(indx).attributes_row_table.EXTEND;
1532 l_item_tbl(indx).attributes_row_table(l_attr_row_count) := p_attributes_row_table(i);
1533 l_attr_row_count := l_attr_row_count + 1;
1534 END LOOP;
1535 END IF;
1536
1537 IF ( p_attributes_data_table IS NOT NULL) THEN
1538 l_attr_data_count := 1;
1539 FOR i IN 1 .. p_attributes_data_table.Count LOOP
1540 l_item_tbl(indx).attributes_data_table.EXTEND;
1541 l_item_tbl(indx).attributes_data_table(l_attr_data_count) := p_attributes_data_table(i);
1542 l_attr_data_count := l_attr_data_count + 1;
1543 END LOOP;
1544 END IF;
1545 -- Bug 9852661
1546
1547 l_Revision_Tbl(indx).Transaction_Type := p_Transaction_Type;
1548 l_Revision_Tbl(indx).Inventory_Item_Id := p_inventory_item_id;
1549 l_Revision_Tbl(indx).Item_Number := p_Item_Number;
1550 l_Revision_Tbl(indx).Organization_Id := p_organization_id;
1551 l_Revision_Tbl(indx).Revision_Id := p_revision_id;
1552 l_Revision_Tbl(indx).Revision_Code := p_revision_code;
1553 l_Revision_Tbl(indx).Revision_Label := p_revision_label;
1554 l_Revision_Tbl(indx).Description := p_revision_description;
1555 l_Revision_Tbl(indx).Effectivity_Date := p_effectivity_Date;
1556 l_Revision_Tbl(indx).Lifecycle_Id := p_rev_lifecycle_id;
1557 l_Revision_Tbl(indx).Current_Phase_Id := p_rev_current_phase_id;
1558 -- 5208102: Supporting template for UDA's at revisions
1559 l_Revision_Tbl(indx).template_id := p_rev_template_id;
1560 l_Revision_Tbl(indx).template_name := p_rev_template_name;
1561
1562 l_Revision_Tbl(indx).Attribute_Category := p_rev_attribute_category;
1563 l_Revision_Tbl(indx).Attribute1 := p_rev_attribute1;
1564 l_Revision_Tbl(indx).Attribute2 := p_rev_attribute2;
1565 l_Revision_Tbl(indx).Attribute3 := p_rev_attribute3;
1566 l_Revision_Tbl(indx).Attribute4 := p_rev_attribute4;
1567 l_Revision_Tbl(indx).Attribute5 := p_rev_attribute5;
1568 l_Revision_Tbl(indx).Attribute6 := p_rev_attribute6;
1569 l_Revision_Tbl(indx).Attribute7 := p_rev_attribute7;
1570 l_Revision_Tbl(indx).Attribute8 := p_rev_attribute8;
1571 l_Revision_Tbl(indx).Attribute9 := p_rev_attribute9;
1572 l_Revision_Tbl(indx).Attribute10 := p_rev_attribute10;
1573 l_Revision_Tbl(indx).Attribute11 := p_rev_attribute11;
1574 l_Revision_Tbl(indx).Attribute12 := p_rev_attribute12;
1575 l_Revision_Tbl(indx).Attribute13 := p_rev_attribute13;
1576 l_Revision_Tbl(indx).Attribute14 := p_rev_attribute14;
1577 l_Revision_Tbl(indx).Attribute15 := p_rev_attribute15;
1578
1579 EGO_Item_PVT.G_Item_Tbl := l_item_tbl;
1580 EGO_Item_PVT.G_Revision_Tbl := l_Revision_Tbl;
1581
1582 /* Added to fix Bug#8434681 : Variable G_Process_Control_HTML_API in package INV_EGO_REVISION_VALIDATE is set to API to apply template
1583 when this procedure is being called from the following paths: 1. open API, 2. excel import, 3. concurrent request (item batch import)
1584 This variable also prevents the application of the template if the code is being called from HTML pages since template is already pre-applied there*/
1585
1586 IF p_process_control IS NULL
1587 THEN
1588 INV_EGO_REVISION_VALIDATE.Set_Process_Control_HTML_API('API');
1589 -- Bug 9092888 - Changes
1590 ELSE
1591 INV_EGO_REVISION_VALIDATE.Set_Process_Control_HTML_API(p_process_control);
1592 -- Bug 9092888 - Changes
1593 END IF;
1594
1595 --EMTAPIA: This statement is forcing the code path flow as if the code was always called from
1596 --the HTML pages.
1597
1598
1599 INV_EGO_REVISION_VALIDATE.Set_Process_Control(NVL(p_process_control,'PLM_UI:Y'));--Bug:3777954
1600
1601 EGO_Item_PVT.Process_Items (
1602 p_commit => p_commit
1603 ,x_return_status => x_return_status
1604 ,x_msg_count => x_msg_count);
1605
1606 x_msg_data := FND_MESSAGE.get; --Retrieving error message in the case of p_process_control = "Interface_Handler"
1607
1608 INV_EGO_REVISION_VALIDATE.Set_Process_Control(NULL);
1609
1610 l_item_created_tbl := EGO_Item_PVT.G_Item_Tbl;
1611
1612 IF x_return_status = FND_API.G_RET_STS_SUCCESS AND l_item_tbl(indx).process_item_record = 1 THEN
1613
1614 x_inventory_item_id := l_item_created_tbl(indx).inventory_item_id;
1615 x_organization_id := l_item_created_tbl(indx).organization_id;
1616
1617 IF p_approval_status = G_MISS_CHAR THEN
1618 -- fix for bug#8975836
1619 IF (p_transaction_type = G_TTYPE_CREATE ) THEN
1620 l_approval_status := NULL;
1621 END IF;
1622 ELSE
1623 l_approval_status := p_approval_status;
1624 END IF;
1625
1626 -- fix for bug#8975836
1627 IF ((p_transaction_type = G_TTYPE_CREATE) OR
1628 (p_transaction_type = G_TTYPE_UPDATE and p_approval_status <> G_MISS_CHAR)) THEN
1629 IF NVL(p_process_control,'PLM_UI:N') <> 'EGO_INTERFACE_HANDLER' THEN --R12 C
1630 EGO_ITEM_PUB.Update_Item_Approval_Status (
1631 p_inventory_item_id => x_inventory_item_id
1632 ,p_organization_id => x_organization_id
1633 ,p_approval_status => l_approval_status );
1634 END IF;
1635 END IF;
1636
1637 END IF; -- x_return_status = FND_API.G_RET_STS_SUCCESS from IOI
1638
1639 ELSIF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1640
1641 FND_MESSAGE.Set_Name ('EGO', 'EGO_PROGRAM_NOT_IMPLEMENTED');
1642 FND_MSG_PUB.Add;
1643 RAISE FND_API.G_EXC_ERROR;
1644
1645 END IF; -- TRANSACTION_TYPE IN CREATE/UPDATE
1646
1647 IF FND_API.To_Boolean(p_commit) THEN
1648 COMMIT WORK;
1649 END IF;
1650
1651 --EGO_Item_PVT.Process_Items returns the status which is correct, please donot override that.
1652 --x_return_status := G_RET_STS_SUCCESS;
1653 --Bug 5997870.. Clear the values before returning so that it does not stick around till next call..
1654 Clear_Object_Version_Values;
1655
1656 EXCEPTION
1657 WHEN FND_API.G_EXC_ERROR THEN
1658 Clear_Object_Version_Values;
1659
1660 IF FND_API.To_Boolean(p_commit) THEN
1661 ROLLBACK TO Process_Item_Scalar;
1662 END IF;
1663 x_return_status := G_RET_STS_ERROR;
1664 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE
1665 ,p_count => x_msg_count
1666 ,p_data => x_msg_data);
1667 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1668 Clear_Object_Version_Values;
1669
1670 IF FND_API.To_Boolean(p_commit) THEN
1671 ROLLBACK TO Process_Item_Scalar;
1672 END IF;
1673 x_RETURN_STATUS := G_RET_STS_UNEXP_ERROR;
1674 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE
1675 ,p_count => x_msg_count
1676 ,p_data => x_msg_data);
1677 WHEN OTHERS THEN
1678 Clear_Object_Version_Values;
1679
1680 IF FND_API.To_Boolean(p_commit) THEN
1681 ROLLBACK TO Process_Item_Scalar;
1682 END IF;
1683 x_return_status := G_RET_STS_UNEXP_ERROR;
1684 FND_MESSAGE.Set_Name('EGO', 'EGO_PLSQL_ERR');
1685 FND_MESSAGE.Set_Token('PKG_NAME', G_PKG_NAME);
1686 FND_MESSAGE.Set_Token('API_NAME', l_api_name);
1687 FND_MESSAGE.Set_Token('SQL_ERR_MSG', SQLERRM);
1688 FND_MSG_PUB.Add;
1689 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE
1690 ,p_count => x_msg_count
1691 ,p_data => x_msg_data);
1692 END Process_Item;
1693
1694 ---------------------------------------------------------------------------
1695 PROCEDURE Process_Item_Org_Assignments(
1696 p_api_version IN NUMBER
1697 ,p_init_msg_list IN VARCHAR2 DEFAULT G_FALSE
1698 ,p_commit IN VARCHAR2 DEFAULT G_FALSE
1699 ,p_Item_Org_Assignment_Tbl IN EGO_Item_PUB.Item_Org_Assignment_Tbl_Type
1700 ,x_return_status OUT NOCOPY VARCHAR2
1701 ,x_msg_count OUT NOCOPY NUMBER) IS
1702
1703 l_api_name CONSTANT VARCHAR2(30) := 'Process_Item_Org_Assignments';
1704 l_api_version CONSTANT NUMBER := 1.0;
1705 l_return_status VARCHAR2(1) := G_MISS_CHAR;
1706 BEGIN
1707 x_return_status := G_RET_STS_SUCCESS;
1708 -- Check for call compatibility
1709 IF NOT FND_API.Compatible_API_Call ( l_api_version, p_api_version,
1710 l_api_name, G_PKG_NAME )
1711 THEN
1712 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
1713 END IF;
1714
1715 -- Initialize message list
1716 IF FND_API.To_Boolean (p_init_msg_list) THEN
1717 Error_Handler.Initialize;
1718 END IF;
1719
1720 -- Set business object identifier in the System Information record
1721 Error_Handler.Set_BO_Identifier ( p_bo_identifier => G_BO_Identifier );
1722
1723 -- Store item org assignment data in the global table
1724 EGO_Item_PVT.G_Item_Org_Assignment_Tbl := p_Item_Org_Assignment_Tbl;
1725
1726 EGO_Item_PVT.Process_Item_Org_Assignments(
1727 p_commit => p_commit
1728 , x_return_status => l_return_status
1729 , x_msg_count => x_msg_count);
1730
1731 x_return_status := l_return_status;
1732
1733 EXCEPTION
1734 WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
1735 x_return_status := G_RET_STS_UNEXP_ERROR;
1736 WHEN others THEN
1737 x_return_status := G_RET_STS_UNEXP_ERROR;
1738 EGO_Item_Msg.Add_Error_Message ( EGO_Item_PVT.G_Item_Org_indx, 'INV', 'INV_ITEM_UNEXPECTED_ERROR',
1739 'PACKAGE_NAME', G_PKG_NAME, FALSE,
1740 'PROCEDURE_NAME', l_api_name, FALSE,
1741 'ERROR_TEXT', SQLERRM, FALSE );
1742 END Process_Item_Org_Assignments;
1743
1744 ---------------------------------------------------------------------------
1745 PROCEDURE Assign_Item_To_Org(
1746 p_api_version IN NUMBER
1747 ,p_init_msg_list IN VARCHAR2 DEFAULT G_FALSE
1748 ,p_commit IN VARCHAR2 DEFAULT G_FALSE
1749 ,p_Inventory_Item_Id IN NUMBER DEFAULT G_MISS_NUM
1750 ,p_Item_Number IN VARCHAR2 DEFAULT G_MISS_CHAR
1751 ,p_Organization_Id IN NUMBER DEFAULT G_MISS_NUM
1752 ,p_Organization_Code IN VARCHAR2 DEFAULT G_MISS_CHAR
1753 ,p_Primary_Uom_Code IN VARCHAR2 DEFAULT G_MISS_CHAR
1754 ,x_return_status OUT NOCOPY VARCHAR2
1755 ,x_msg_count OUT NOCOPY NUMBER) IS
1756
1757 l_api_name CONSTANT VARCHAR2(30) := 'Assign_Item_To_Org';
1758 l_api_version CONSTANT NUMBER := 1.0;
1759 l_return_status VARCHAR2(1) := G_MISS_CHAR;
1760 l_Item_Org_Assignment_Tbl EGO_Item_PUB.Item_Org_Assignment_Tbl_Type;
1761 indx BINARY_INTEGER := 1;
1762 BEGIN
1763
1764 l_Item_Org_Assignment_Tbl(indx).Inventory_Item_Id := p_Inventory_Item_Id;
1765 l_Item_Org_Assignment_Tbl(indx).Item_Number := p_Item_Number;
1766 l_Item_Org_Assignment_Tbl(indx).Organization_Id := p_Organization_Id;
1767 l_Item_Org_Assignment_Tbl(indx).Organization_Code := p_Organization_Code;
1768 l_Item_Org_Assignment_Tbl(indx).Primary_Uom_Code := p_Primary_Uom_Code;
1769
1770 EGO_Item_PUB.Process_Item_Org_Assignments(
1771 p_api_version => 1.0
1772 , p_init_msg_list => p_init_msg_list
1773 , p_commit => p_commit
1774 , p_Item_Org_Assignment_Tbl => l_Item_Org_Assignment_Tbl
1775 , x_return_status => x_return_status
1776 , x_msg_count => x_msg_count );
1777
1778 END Assign_Item_To_Org;
1779
1780 ---------------------------------------------------------------------------
1781 PROCEDURE Update_Item_Number(
1782 p_Inventory_Item_Id IN NUMBER
1783 ,p_Item_Number IN VARCHAR2 DEFAULT G_MISS_CHAR
1784 ,p_Segment1 IN VARCHAR2 DEFAULT G_MISS_CHAR
1785 ,p_Segment2 IN VARCHAR2 DEFAULT G_MISS_CHAR
1786 ,p_Segment3 IN VARCHAR2 DEFAULT G_MISS_CHAR
1787 ,p_Segment4 IN VARCHAR2 DEFAULT G_MISS_CHAR
1788 ,p_Segment5 IN VARCHAR2 DEFAULT G_MISS_CHAR
1789 ,p_Segment6 IN VARCHAR2 DEFAULT G_MISS_CHAR
1790 ,p_Segment7 IN VARCHAR2 DEFAULT G_MISS_CHAR
1791 ,p_Segment8 IN VARCHAR2 DEFAULT G_MISS_CHAR
1792 ,p_Segment9 IN VARCHAR2 DEFAULT G_MISS_CHAR
1793 ,p_Segment10 IN VARCHAR2 DEFAULT G_MISS_CHAR
1794 ,p_Segment11 IN VARCHAR2 DEFAULT G_MISS_CHAR
1795 ,p_Segment12 IN VARCHAR2 DEFAULT G_MISS_CHAR
1796 ,p_Segment13 IN VARCHAR2 DEFAULT G_MISS_CHAR
1797 ,p_Segment14 IN VARCHAR2 DEFAULT G_MISS_CHAR
1798 ,p_Segment15 IN VARCHAR2 DEFAULT G_MISS_CHAR
1799 ,p_Segment16 IN VARCHAR2 DEFAULT G_MISS_CHAR
1800 ,p_Segment17 IN VARCHAR2 DEFAULT G_MISS_CHAR
1801 ,p_Segment18 IN VARCHAR2 DEFAULT G_MISS_CHAR
1802 ,p_Segment19 IN VARCHAR2 DEFAULT G_MISS_CHAR
1803 ,p_Segment20 IN VARCHAR2 DEFAULT G_MISS_CHAR
1804 ,p_New_Segment1 IN VARCHAR2 DEFAULT G_MISS_CHAR
1805 ,p_New_Segment2 IN VARCHAR2 DEFAULT G_MISS_CHAR
1806 ,p_New_Segment3 IN VARCHAR2 DEFAULT G_MISS_CHAR
1807 ,p_New_Segment4 IN VARCHAR2 DEFAULT G_MISS_CHAR
1808 ,p_New_Segment5 IN VARCHAR2 DEFAULT G_MISS_CHAR
1809 ,p_New_Segment6 IN VARCHAR2 DEFAULT G_MISS_CHAR
1810 ,p_New_Segment7 IN VARCHAR2 DEFAULT G_MISS_CHAR
1811 ,p_New_Segment8 IN VARCHAR2 DEFAULT G_MISS_CHAR
1812 ,p_New_Segment9 IN VARCHAR2 DEFAULT G_MISS_CHAR
1813 ,p_New_Segment10 IN VARCHAR2 DEFAULT G_MISS_CHAR
1814 ,p_New_Segment11 IN VARCHAR2 DEFAULT G_MISS_CHAR
1815 ,p_New_Segment12 IN VARCHAR2 DEFAULT G_MISS_CHAR
1816 ,p_New_Segment13 IN VARCHAR2 DEFAULT G_MISS_CHAR
1817 ,p_New_Segment14 IN VARCHAR2 DEFAULT G_MISS_CHAR
1818 ,p_New_Segment15 IN VARCHAR2 DEFAULT G_MISS_CHAR
1819 ,p_New_Segment16 IN VARCHAR2 DEFAULT G_MISS_CHAR
1820 ,p_New_Segment17 IN VARCHAR2 DEFAULT G_MISS_CHAR
1821 ,p_New_Segment18 IN VARCHAR2 DEFAULT G_MISS_CHAR
1822 ,p_New_Segment19 IN VARCHAR2 DEFAULT G_MISS_CHAR
1823 ,p_New_Segment20 IN VARCHAR2 DEFAULT G_MISS_CHAR
1824 ,x_Item_Tbl IN OUT NOCOPY EGO_Item_PUB.Item_Tbl_Type
1825 ,x_return_status OUT NOCOPY VARCHAR2) IS
1826
1827 l_Segment_Rec INV_ITEM_API.Item_rec_type;
1828 l_Item_Id MTL_SYSTEM_ITEMS.INVENTORY_ITEM_ID%TYPE;
1829 l_description MTL_SYSTEM_ITEMS.DESCRIPTION%TYPE;
1830 l_uom MTL_SYSTEM_ITEMS.PRIMARY_UNIT_OF_MEASURE%TYPE;
1831 l_catalog MTL_SYSTEM_ITEMS.ITEM_CATALOG_GROUP_ID%TYPE;
1832 l_error_status VARCHAR2(500) := NULL;
1833 l_null_char VARCHAR2(1) := NULL;
1834
1835 BEGIN
1836
1837 x_return_status := G_MISS_CHAR;
1838
1839 IF p_Item_Number IS NOT NULL AND p_Item_Number <> G_MISS_CHAR THEN
1840 INVPUOPI.mtl_pr_parse_item_number(
1841 p_item_number =>p_Item_Number
1842 ,p_segment1 =>l_Segment_Rec.segment1
1843 ,p_segment2 =>l_Segment_Rec.segment2
1844 ,p_segment3 =>l_Segment_Rec.segment3
1845 ,p_segment4 =>l_Segment_Rec.segment4
1846 ,p_segment5 =>l_Segment_Rec.segment5
1847 ,p_segment6 =>l_Segment_Rec.segment6
1848 ,p_segment7 =>l_Segment_Rec.segment7
1849 ,p_segment8 =>l_Segment_Rec.segment8
1850 ,p_segment9 =>l_Segment_Rec.segment9
1851 ,p_segment10 =>l_Segment_Rec.segment10
1852 ,p_segment11 =>l_Segment_Rec.segment11
1853 ,p_segment12 =>l_Segment_Rec.segment12
1854 ,p_segment13 =>l_Segment_Rec.segment13
1855 ,p_segment14 =>l_Segment_Rec.segment14
1856 ,p_segment15 =>l_Segment_Rec.segment15
1857 ,p_segment16 =>l_Segment_Rec.segment16
1858 ,p_segment17 =>l_Segment_Rec.segment17
1859 ,p_segment18 =>l_Segment_Rec.segment18
1860 ,p_segment19 =>l_Segment_Rec.segment19
1861 ,p_segment20 =>l_Segment_Rec.segment20
1862 ,x_err_text =>l_error_status);
1863
1864 IF l_error_status IS NOT NULL THEN
1865 EGO_Item_Msg.Add_Error_Message (
1866 p_entity_index => 1
1867 ,p_application_short_name => 'INV'
1868 ,p_message_name => 'INV_ITEM_NUMBER_PARSE'
1869 ,p_token_name1 => 'PACKAGE_NAME'
1870 ,p_token_value1 => G_PKG_NAME
1871 ,p_translate1 => FALSE
1872 ,p_token_name2 => 'PROCEDURE_NAME'
1873 ,p_token_value2 => 'Update_Item_Number'
1874 ,p_translate2 => FALSE
1875 ,p_token_name3 => 'API_VERSION'
1876 ,p_token_value3 => '1.0'
1877 ,p_translate3 => FALSE);
1878 x_return_status := FND_API.G_RET_STS_ERROR;
1879 END IF;
1880
1881 ELSE
1882
1883 ---
1884 --- bug 14739246
1885 --- if p_new_segmentXX is G_MISS_CHAR (default value to proc)
1886 --- it is stamped in base tables as G_MISS_CHAR( chr(0)
1887 ---
1888 l_Segment_Rec.segment1 := CASE p_New_Segment1 WHEN l_Null_CHAR
1889 THEN G_INTF_NULL_CHAR
1890 WHEN g_MISS_CHAR THEN NULL
1891 ELSE P_New_Segment1 END;
1892 l_Segment_Rec.segment2 := CASE p_New_Segment2 WHEN l_Null_CHAR
1893 THEN G_INTF_NULL_CHAR
1894 WHEN g_MISS_CHAR THEN NULL
1895 ELSE P_New_Segment2 END;
1896 l_Segment_Rec.segment3 := CASE p_New_Segment3 WHEN l_Null_CHAR
1897 THEN G_INTF_NULL_CHAR
1898 WHEN g_MISS_CHAR THEN NULL
1899 ELSE P_New_Segment3 END;
1900 l_Segment_Rec.segment4 := CASE p_New_Segment4 WHEN l_Null_CHAR
1901 THEN G_INTF_NULL_CHAR
1902 WHEN g_MISS_CHAR THEN NULL
1903 ELSE P_New_Segment4 END;
1904 l_Segment_Rec.segment5 := CASE p_New_Segment5 WHEN l_Null_CHAR
1905 THEN G_INTF_NULL_CHAR
1906 WHEN g_MISS_CHAR THEN NULL
1907 ELSE P_New_Segment5 END;
1908 l_Segment_Rec.segment6 := CASE p_New_Segment6 WHEN l_Null_CHAR
1909 THEN G_INTF_NULL_CHAR
1910 WHEN g_MISS_CHAR THEN NULL
1911 ELSE P_New_Segment6 END;
1912 l_Segment_Rec.segment7 := CASE p_New_Segment7 WHEN l_Null_CHAR
1913 THEN G_INTF_NULL_CHAR
1914 WHEN g_MISS_CHAR THEN NULL
1915 ELSE P_New_Segment7 END;
1916 l_Segment_Rec.segment8 := CASE p_New_Segment8 WHEN l_Null_CHAR
1917 THEN G_INTF_NULL_CHAR
1918 WHEN g_MISS_CHAR THEN NULL
1919 ELSE P_New_Segment8 END;
1920 l_Segment_Rec.segment9 := CASE p_New_Segment9 WHEN l_Null_CHAR
1921 THEN G_INTF_NULL_CHAR
1922 WHEN g_MISS_CHAR THEN NULL
1923 ELSE P_New_Segment9 END;
1924 l_Segment_Rec.segment10 := CASE p_New_Segment10 WHEN l_Null_CHAR
1925 THEN G_INTF_NULL_CHAR
1926 WHEN g_MISS_CHAR THEN NULL
1927 ELSE P_New_Segment10 END;
1928 l_Segment_Rec.segment11 := CASE p_New_Segment11 WHEN l_Null_CHAR
1929 THEN G_INTF_NULL_CHAR
1930 WHEN g_MISS_CHAR THEN NULL
1931 ELSE P_New_Segment11 END;
1932 l_Segment_Rec.segment12 := CASE p_New_Segment12 WHEN l_Null_CHAR
1933 THEN G_INTF_NULL_CHAR
1934 WHEN g_MISS_CHAR THEN NULL
1935 ELSE P_New_Segment12 END;
1936 l_Segment_Rec.segment13 := CASE p_New_Segment13 WHEN l_Null_CHAR
1937 THEN G_INTF_NULL_CHAR
1938 WHEN g_MISS_CHAR THEN NULL
1939 ELSE P_New_Segment13 END;
1940 l_Segment_Rec.segment14 := CASE p_New_Segment14 WHEN l_Null_CHAR
1941 THEN G_INTF_NULL_CHAR
1942 WHEN g_MISS_CHAR THEN NULL
1943 ELSE P_New_Segment14 END;
1944 l_Segment_Rec.segment15 := CASE p_New_Segment15 WHEN l_Null_CHAR
1945 THEN G_INTF_NULL_CHAR
1946 WHEN g_MISS_CHAR THEN NULL
1947 ELSE P_New_Segment15 END;
1948 l_Segment_Rec.segment16 := CASE p_New_Segment16 WHEN l_Null_CHAR
1949 THEN G_INTF_NULL_CHAR
1950 WHEN g_MISS_CHAR THEN NULL
1951 ELSE P_New_Segment16 END;
1952 l_Segment_Rec.segment17 := CASE p_New_Segment17 WHEN l_Null_CHAR
1953 THEN G_INTF_NULL_CHAR
1954 WHEN g_MISS_CHAR THEN NULL
1955 ELSE P_New_Segment17 END;
1956 l_Segment_Rec.segment18 := CASE p_New_Segment18 WHEN l_Null_CHAR
1957 THEN G_INTF_NULL_CHAR
1958 WHEN g_MISS_CHAR THEN NULL
1959 ELSE P_New_Segment18 END;
1960 l_Segment_Rec.segment19 := CASE p_New_Segment19 WHEN l_Null_CHAR
1961 THEN G_INTF_NULL_CHAR
1962 WHEN g_MISS_CHAR THEN NULL
1963 ELSE P_New_Segment19 END;
1964 l_Segment_Rec.segment20 := CASE p_New_Segment20 WHEN l_Null_CHAR
1965 THEN G_INTF_NULL_CHAR
1966 WHEN g_MISS_CHAR THEN NULL
1967 ELSE P_New_Segment20 END;
1968 END IF;
1969
1970 INV_ITEM_PVT.Check_Item_Number (
1971 P_Segment_Rec => l_Segment_Rec
1972 ,P_Item_Id => l_Item_Id
1973 ,P_Description => l_description
1974 ,P_unit_of_measure => l_uom
1975 ,P_Item_Catalog_Group_Id => l_catalog);
1976
1977 IF l_Item_Id IS NULL THEN
1978
1979 UPDATE mtl_system_items_b
1980 SET segment1 = l_Segment_Rec.segment1
1981 ,segment2 = l_Segment_Rec.segment2
1982 ,segment3 = l_Segment_Rec.segment3
1983 ,segment4 = l_Segment_Rec.segment4
1984 ,segment5 = l_Segment_Rec.segment5
1985 ,segment6 = l_Segment_Rec.segment6
1986 ,segment7 = l_Segment_Rec.segment7
1987 ,segment8 = l_Segment_Rec.segment8
1988 ,segment9 = l_Segment_Rec.segment9
1989 ,segment10 = l_Segment_Rec.segment10
1990 ,segment11 = l_Segment_Rec.segment11
1991 ,segment12 = l_Segment_Rec.segment12
1992 ,segment13 = l_Segment_Rec.segment13
1993 ,segment14 = l_Segment_Rec.segment14
1994 ,segment15 = l_Segment_Rec.segment15
1995 ,segment16 = l_Segment_Rec.segment16
1996 ,segment17 = l_Segment_Rec.segment17
1997 ,segment18 = l_Segment_Rec.segment18
1998 ,segment19 = l_Segment_Rec.segment19
1999 ,segment20 = l_Segment_Rec.segment20
2000 WHERE inventory_item_id = P_Inventory_Item_Id;
2001
2002 x_Item_Tbl(1).segment1 := l_Segment_Rec.segment1;
2003 x_Item_Tbl(1).segment2 := l_Segment_Rec.segment2;
2004 x_Item_Tbl(1).segment3 := l_Segment_Rec.segment3;
2005 x_Item_Tbl(1).segment4 := l_Segment_Rec.segment4;
2006 x_Item_Tbl(1).segment5 := l_Segment_Rec.segment5;
2007 x_Item_Tbl(1).segment6 := l_Segment_Rec.segment6;
2008 x_Item_Tbl(1).segment7 := l_Segment_Rec.segment7;
2009 x_Item_Tbl(1).segment8 := l_Segment_Rec.segment8;
2010 x_Item_Tbl(1).segment9 := l_Segment_Rec.segment9;
2011 x_Item_Tbl(1).segment10 := l_Segment_Rec.segment10;
2012 x_Item_Tbl(1).segment11 := l_Segment_Rec.segment11;
2013 x_Item_Tbl(1).segment12 := l_Segment_Rec.segment12;
2014 x_Item_Tbl(1).segment13 := l_Segment_Rec.segment13;
2015 x_Item_Tbl(1).segment14 := l_Segment_Rec.segment14;
2016 x_Item_Tbl(1).segment15 := l_Segment_Rec.segment15;
2017 x_Item_Tbl(1).segment16 := l_Segment_Rec.segment16;
2018 x_Item_Tbl(1).segment17 := l_Segment_Rec.segment17;
2019 x_Item_Tbl(1).segment18 := l_Segment_Rec.segment18;
2020 x_Item_Tbl(1).segment19 := l_Segment_Rec.segment19;
2021 x_Item_Tbl(1).segment20 := l_Segment_Rec.segment20;
2022
2023 x_return_status := FND_API.G_RET_STS_SUCCESS;
2024
2025 ELSIF p_Inventory_Item_Id <> l_Item_Id THEN
2026
2027 EGO_Item_Msg.Add_Error_Message (
2028 p_entity_index => 1
2029 ,p_application_short_name => 'INV'
2030 ,p_message_name => 'INV_DUPL_ORG_ITEM_SEG');
2031
2032 x_return_status := FND_API.G_RET_STS_ERROR;
2033 ELSE
2034 --Segments are same not updated
2035 x_return_status := FND_API.G_RET_STS_SUCCESS;
2036 END IF;
2037
2038 END Update_Item_Number;
2039
2040 ---------------------------------------------------------------------------
2041 PROCEDURE Seed_Item_Long_Desc_Attr_Group (
2042 p_inventory_item_id IN NUMBER
2043 ,p_organization_id IN NUMBER
2044 ,p_item_catalog_group_id IN NUMBER
2045 ,p_commit IN VARCHAR2 DEFAULT G_FALSE
2046 ,x_return_status OUT NOCOPY VARCHAR2
2047 ,x_errorcode OUT NOCOPY NUMBER
2048 ,x_msg_count OUT NOCOPY NUMBER
2049 ,x_msg_data OUT NOCOPY VARCHAR2)IS
2050
2051 BEGIN
2052
2053 EGO_Item_PVT.Seed_Item_Long_Desc_Attr_Group(
2054 p_inventory_item_id => p_inventory_item_id
2055 ,p_organization_id => p_organization_id
2056 ,p_item_catalog_group_id => p_item_catalog_group_id
2057 ,x_return_status => x_return_status
2058 ,x_errorcode => x_errorcode
2059 ,x_msg_count => x_msg_count
2060 ,x_msg_data => x_msg_data);
2061
2062 IF FND_API.To_Boolean(p_commit) THEN
2063 COMMIT WORK;
2064 END IF;
2065
2066 END Seed_Item_Long_Desc_Attr_Group;
2067
2068 ---------------------------------------------------------------------------
2069 PROCEDURE Seed_Item_Long_Desc_In_Bulk (
2070 p_set_process_id IN NUMBER
2071 ,p_commit IN VARCHAR2 DEFAULT G_FALSE
2072 ,x_return_status OUT NOCOPY VARCHAR2
2073 ,x_msg_data OUT NOCOPY VARCHAR2
2074 ) IS
2075
2076 BEGIN
2077
2078 EGO_Item_PVT.Seed_Item_Long_Desc_In_Bulk(
2079 p_set_process_id => p_set_process_id
2080 ,x_return_status => x_return_status
2081 ,x_msg_data => x_msg_data
2082 );
2083
2084 IF FND_API.To_Boolean(p_commit) THEN
2085 COMMIT WORK;
2086 END IF;
2087
2088 END Seed_Item_Long_Desc_In_Bulk;
2089
2090 ---------------------------------------------------------------------------
2091 PROCEDURE Process_User_Attrs_For_Item (
2092 p_api_version IN NUMBER
2093 ,p_inventory_item_id IN NUMBER
2094 ,p_organization_id IN NUMBER
2095 ,p_attributes_row_table IN EGO_USER_ATTR_ROW_TABLE
2096 ,p_attributes_data_table IN EGO_USER_ATTR_DATA_TABLE
2097 ,p_entity_id IN NUMBER DEFAULT NULL
2098 ,p_entity_index IN NUMBER DEFAULT NULL
2099 ,p_entity_code IN VARCHAR2 DEFAULT NULL
2100 ,p_debug_level IN NUMBER DEFAULT 0
2101 ,p_init_error_handler IN VARCHAR2 DEFAULT FND_API.G_TRUE
2102 ,p_write_to_concurrent_log IN VARCHAR2 DEFAULT FND_API.G_FALSE
2103 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
2104 ,p_log_errors IN VARCHAR2 DEFAULT FND_API.G_TRUE
2105 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
2106 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
2107 ,x_failed_row_id_list OUT NOCOPY VARCHAR2
2108 ,x_return_status OUT NOCOPY VARCHAR2
2109 ,x_errorcode OUT NOCOPY NUMBER
2110 ,x_msg_count OUT NOCOPY NUMBER
2111 ,x_msg_data OUT NOCOPY VARCHAR2
2112 ) IS
2113
2114 BEGIN
2115
2116 EGO_ITEM_PVT.Process_User_Attrs_For_Item(
2117 p_api_version => p_api_version
2118 ,p_inventory_item_id => p_inventory_item_id
2119 ,p_organization_id => p_organization_id
2120 ,p_attributes_row_table => p_attributes_row_table
2121 ,p_attributes_data_table => p_attributes_data_table
2122 ,p_entity_id => p_entity_id
2123 ,p_entity_index => p_entity_index
2124 ,p_entity_code => p_entity_code
2125 ,p_debug_level => p_debug_level
2126 ,p_init_error_handler => p_init_error_handler
2127 ,p_write_to_concurrent_log => p_write_to_concurrent_log
2128 ,p_init_fnd_msg_list => p_init_fnd_msg_list
2129 ,p_log_errors => p_log_errors
2130 ,p_add_errors_to_fnd_stack => p_add_errors_to_fnd_stack
2131 ,p_commit => p_commit
2132 ,x_failed_row_id_list => x_failed_row_id_list
2133 ,x_return_status => x_return_status
2134 ,x_errorcode => x_errorcode
2135 ,x_msg_count => x_msg_count
2136 ,x_msg_data => x_msg_data
2137 );
2138
2139 END Process_User_Attrs_For_Item;
2140
2141 ---------------------------------------------------------------------------
2142 PROCEDURE Get_User_Attrs_For_Item (
2143 p_api_version IN NUMBER
2144 ,p_inventory_item_id IN NUMBER
2145 ,p_organization_id IN NUMBER
2146 ,p_attr_group_request_table IN EGO_ATTR_GROUP_REQUEST_TABLE
2147 ,p_entity_id IN NUMBER DEFAULT NULL
2148 ,p_entity_index IN NUMBER DEFAULT NULL
2149 ,p_entity_code IN VARCHAR2 DEFAULT NULL
2150 ,p_debug_level IN NUMBER DEFAULT 0
2151 ,p_init_error_handler IN VARCHAR2 DEFAULT FND_API.G_TRUE
2152 ,p_init_fnd_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE
2153 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT FND_API.G_FALSE
2154 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
2155 ,x_attributes_row_table OUT NOCOPY EGO_USER_ATTR_ROW_TABLE
2156 ,x_attributes_data_table OUT NOCOPY EGO_USER_ATTR_DATA_TABLE
2157 ,x_return_status OUT NOCOPY VARCHAR2
2158 ,x_errorcode OUT NOCOPY NUMBER
2159 ,x_msg_count OUT NOCOPY NUMBER
2160 ,x_msg_data OUT NOCOPY VARCHAR2
2161 ) IS
2162
2163 BEGIN
2164
2165 EGO_ITEM_PVT.Get_User_Attrs_For_Item(
2166 p_api_version => p_api_version
2167 ,p_inventory_item_id => p_inventory_item_id
2168 ,p_organization_id => p_organization_id
2169 ,p_attr_group_request_table => p_attr_group_request_table
2170 ,p_entity_id => p_entity_id
2171 ,p_entity_index => p_entity_index
2172 ,p_entity_code => p_entity_code
2173 ,p_debug_level => p_debug_level
2174 ,p_init_error_handler => p_init_error_handler
2175 ,p_init_fnd_msg_list => p_init_fnd_msg_list
2176 ,p_add_errors_to_fnd_stack => p_add_errors_to_fnd_stack
2177 ,p_commit => p_commit
2178 ,x_attributes_row_table => x_attributes_row_table
2179 ,x_attributes_data_table => x_attributes_data_table
2180 ,x_return_status => x_return_status
2181 ,x_errorcode => x_errorcode
2182 ,x_msg_count => x_msg_count
2183 ,x_msg_data => x_msg_data
2184 );
2185
2186 END Get_User_Attrs_For_Item;
2187
2188 ---------------------------------------------------------------------------
2189 PROCEDURE Update_Item_Approval_Status (
2190 p_inventory_item_id IN NUMBER
2191 ,p_organization_id IN NUMBER
2192 ,p_approval_status IN VARCHAR2
2193 ,p_nir_id IN NUMBER DEFAULT NULL
2194 ,p_commit IN VARCHAR2 DEFAULT G_FALSE)
2195 IS
2196 l_eng_item_flag VARCHAR2(10);
2197 l_msg_data VARCHAR2(2000);
2198 old_approval_status MTL_SYSTEM_ITEMS_B.APPROVAL_STATUS%TYPE;
2199 l_event_return_status VARCHAR2(1);
2200 BEGIN
2201 --get old Approval Status, needed for Raising event.
2202 SELECT APPROVAL_STATUS INTO old_approval_status
2203 FROM MTL_SYSTEM_ITEMS_B
2204 WHERE INVENTORY_ITEM_ID = p_inventory_item_id
2205 AND ORGANIZATION_ID = p_organization_id;
2206
2207 UPDATE MTL_SYSTEM_ITEMS_B
2208 SET APPROVAL_STATUS = p_approval_status
2209 WHERE INVENTORY_ITEM_ID = p_inventory_item_id
2210 AND ORGANIZATION_ID = p_organization_id
2211 RETURNING ENG_ITEM_FLAG INTO l_eng_item_flag;
2212
2213 -- Bug 8664940 Overrides 6404939 for "GDSN Syndication - GPC" category assignments
2214 -- i.e Do not delete category assignments for functional area "GDSN Syndication - GPC"
2215 --Bug: 6404939 Overrides 3808294, R12C onwards non-functional category
2216 -- assignments for unapproved items will be supported, so only
2217 -- functional category assignments will be deleted
2218 --Bug: 3808294 If its unapproved item delete default item-cat assignments
2219 IF p_approval_status <> 'A' THEN
2220 DELETE MTL_ITEM_CATEGORIES
2221 WHERE INVENTORY_ITEM_ID = p_inventory_item_id
2222 AND ORGANIZATION_ID = p_organization_id
2223 AND CATEGORY_SET_ID IN (SELECT CATEGORY_SET_ID
2224 FROM MTL_DEFAULT_CATEGORY_SETS
2225 WHERE functional_area_id <> 21); -- Bug 8664940: Added the WHERE clause
2226 ELSIF p_approval_status = 'A' AND l_eng_item_flag = 'Y' THEN
2227 INVIDIT2.Insert_Categories
2228 (
2229 X_event => 'INSERT'
2230 , X_item_id => p_inventory_item_id
2231 , X_org_id => p_organization_id
2232 , X_master_org_id => p_organization_id
2233 , X_inventory_item_flag => 'N'
2234 , X_purchasing_item_flag => 'N'
2235 , X_internal_order_flag => 'N'
2236 , X_mrp_planning_code => NULL
2237 , X_serviceable_product_flag => 'N'
2238 , X_costing_enabled_flag => 'N'
2239 , X_eng_item_flag => l_eng_item_flag
2240 , X_customer_order_flag => 'N'
2241 , X_eam_item_type => NULL
2242 , X_contract_item_type_code => NULL
2243 , p_Folder_Category_Set_id => NULL
2244 , p_Folder_Item_Category_id => NULL
2245 , X_last_updated_by => G_USER_ID
2246 );
2247 END IF;
2248 --Bug: 3808294 Ends
2249 --Bug: 6404939 Ends
2250
2251 -- R12-C: Since Items can now have multiple NIRs, we will store the latest
2252 --NIR that cause the approval status change for an item in MSIB.
2253 IF NVL(p_approval_status,'0') <> NVL(OLD_APPROVAL_STATUS,'0')
2254 AND p_nir_id IS NOT NULL THEN
2255 UPDATE MTL_SYSTEM_ITEMS_B
2256 SET LAST_SUBMITTED_NIR_ID = p_nir_id
2257 WHERE INVENTORY_ITEM_ID = p_inventory_item_id
2258 AND ORGANIZATION_ID = p_organization_id;
2259 END IF;
2260 -- R12-C End
2261
2262 -- Start 4105841 : Business Event Enhancement
2263 IF OLD_APPROVAL_STATUS IS NOT NULL
2264 AND NVL(p_approval_status,'0') <> NVL(OLD_APPROVAL_STATUS,'0')
2265 AND p_approval_status = 'A' THEN
2266 EGO_WF_WRAPPER_PVT.Raise_Item_Event
2267 (p_event_name => EGO_WF_WRAPPER_PVT.G_ITEM_APPROVED_EVENT
2268 ,p_Inventory_Item_Id => p_inventory_item_id
2269 ,p_Organization_Id => p_organization_id
2270 ,x_msg_data => l_msg_data
2271 ,x_return_status => l_event_return_status );
2272 END IF;
2273 -- End 4105841 : Business Event Enhancement
2274
2275 IF FND_API.To_Boolean(p_commit) THEN
2276 COMMIT WORK;
2277 END IF;
2278
2279 IF FND_API.To_Boolean(p_commit) THEN
2280 COMMIT WORK;
2281 END IF;
2282 END Update_Item_Approval_Status;
2283
2284 ---------------------------------------------------------------------------
2285 PROCEDURE initialize_item_info (p_inventory_item_id IN NUMBER
2286 ,p_organization_id IN NUMBER
2287 ,p_tab_index IN INTEGER
2288 ,x_item_table IN OUT NOCOPY EGO_ITEM_PUB.Item_Tbl_Type
2289 ,x_return_status OUT NOCOPY VARCHAR2
2290 ,x_msg_count OUT NOCOPY NUMBER) IS
2291
2292 CURSOR c_copy_item_info (cp_inventory_item_id IN NUMBER
2293 ,cp_organization_id IN NUMBER ) IS
2294 SELECT *
2295 FROM mtl_system_items_b
2296 WHERE inventory_item_id = cp_inventory_item_id
2297 AND organization_id = cp_organization_id;
2298
2299 l_orig_item_rec MTL_SYSTEM_ITEMS_B%ROWTYPE;
2300
2301 BEGIN
2302
2303 OPEN c_copy_item_info (cp_inventory_item_id => p_inventory_item_id
2304 ,cp_organization_id => p_organization_id);
2305 FETCH c_copy_item_info into l_orig_item_rec;
2306
2307 IF c_copy_item_info%NOTFOUND THEN
2308 EGO_Item_Msg.Add_Error_Message
2309 (p_entity_index => 1
2310 ,p_application_short_name => 'EGO'
2311 ,p_message_name => 'EGO_IPI_INVALID_ITEM'
2312 ,p_token_name1 => 'ITEM'
2313 ,p_token_value1 => p_inventory_item_id
2314 ,p_translate1 => FALSE
2315 ,p_token_name2 => 'ORGANIZATION'
2316 ,p_token_value2 => p_organization_id
2317 ,p_translate2 => FALSE
2318 ,p_token_name3 => NULL
2319 ,p_token_value3 => NULL
2320 ,p_translate3 => FALSE
2321 );
2322 x_return_status := G_RET_STS_ERROR;
2323 ELSE
2324 x_item_table(p_tab_index).summary_flag := l_orig_item_rec.SUMMARY_FLAG;
2325 x_item_table(p_tab_index).ALLOWED_UNITS_LOOKUP_CODE := l_orig_item_rec.allowed_units_lookup_code;
2326 x_item_table(p_tab_index).DUAL_UOM_CONTROL := l_orig_item_rec.DUAL_UOM_CONTROL;
2327 x_item_table(p_tab_index).SECONDARY_UOM_CODE := l_orig_item_rec.SECONDARY_UOM_CODE;
2328 x_item_table(p_tab_index).DUAL_UOM_DEVIATION_HIGH := l_orig_item_rec.DUAL_UOM_DEVIATION_HIGH;
2329 x_item_table(p_tab_index).DUAL_UOM_DEVIATION_LOW := l_orig_item_rec.DUAL_UOM_DEVIATION_LOW;
2330 x_item_table(p_tab_index).ITEM_TYPE := l_orig_item_rec.ITEM_TYPE;
2331 -- Inventory
2332 x_item_table(p_tab_index).INVENTORY_ITEM_FLAG := l_orig_item_rec.INVENTORY_ITEM_FLAG;
2333 x_item_table(p_tab_index).STOCK_ENABLED_FLAG := l_orig_item_rec.STOCK_ENABLED_FLAG;
2334 x_item_table(p_tab_index).MTL_TRANSACTIONS_ENABLED_FLAG := l_orig_item_rec.MTL_TRANSACTIONS_ENABLED_FLAG;
2335 x_item_table(p_tab_index).REVISION_QTY_CONTROL_CODE := l_orig_item_rec.REVISION_QTY_CONTROL_CODE;
2336 x_item_table(p_tab_index).LOT_CONTROL_CODE := l_orig_item_rec.LOT_CONTROL_CODE;
2337 x_item_table(p_tab_index).AUTO_LOT_ALPHA_PREFIX := l_orig_item_rec.AUTO_LOT_ALPHA_PREFIX;
2338 x_item_table(p_tab_index).START_AUTO_LOT_NUMBER := l_orig_item_rec.START_AUTO_LOT_NUMBER;
2339 x_item_table(p_tab_index).SERIAL_NUMBER_CONTROL_CODE := l_orig_item_rec.SERIAL_NUMBER_CONTROL_CODE;
2340 x_item_table(p_tab_index).AUTO_SERIAL_ALPHA_PREFIX := l_orig_item_rec.AUTO_SERIAL_ALPHA_PREFIX;
2341 x_item_table(p_tab_index).START_AUTO_SERIAL_NUMBER := l_orig_item_rec.START_AUTO_SERIAL_NUMBER;
2342 x_item_table(p_tab_index).SHELF_LIFE_CODE := l_orig_item_rec.SHELF_LIFE_CODE;
2343 x_item_table(p_tab_index).SHELF_LIFE_DAYS := l_orig_item_rec.SHELF_LIFE_DAYS;
2344 x_item_table(p_tab_index).RESTRICT_SUBINVENTORIES_CODE := l_orig_item_rec.RESTRICT_SUBINVENTORIES_CODE;
2345 x_item_table(p_tab_index).LOCATION_CONTROL_CODE := l_orig_item_rec.LOCATION_CONTROL_CODE;
2346 x_item_table(p_tab_index).RESTRICT_LOCATORS_CODE := l_orig_item_rec.RESTRICT_LOCATORS_CODE;
2347 x_item_table(p_tab_index).RESERVABLE_TYPE := l_orig_item_rec.RESERVABLE_TYPE;
2348 x_item_table(p_tab_index).CYCLE_COUNT_ENABLED_FLAG := l_orig_item_rec.CYCLE_COUNT_ENABLED_FLAG;
2349 x_item_table(p_tab_index).NEGATIVE_MEASUREMENT_ERROR := l_orig_item_rec.NEGATIVE_MEASUREMENT_ERROR;
2350 x_item_table(p_tab_index).POSITIVE_MEASUREMENT_ERROR := l_orig_item_rec.POSITIVE_MEASUREMENT_ERROR;
2351 x_item_table(p_tab_index).CHECK_SHORTAGES_FLAG := l_orig_item_rec.CHECK_SHORTAGES_FLAG;
2352 x_item_table(p_tab_index).LOT_STATUS_ENABLED := l_orig_item_rec.LOT_STATUS_ENABLED;
2353 x_item_table(p_tab_index).DEFAULT_LOT_STATUS_ID := l_orig_item_rec.DEFAULT_LOT_STATUS_ID;
2354 x_item_table(p_tab_index).SERIAL_STATUS_ENABLED := l_orig_item_rec.SERIAL_STATUS_ENABLED;
2355 x_item_table(p_tab_index).DEFAULT_SERIAL_STATUS_ID := l_orig_item_rec.DEFAULT_SERIAL_STATUS_ID;
2356 x_item_table(p_tab_index).LOT_SPLIT_ENABLED := l_orig_item_rec.LOT_SPLIT_ENABLED;
2357 x_item_table(p_tab_index).LOT_MERGE_ENABLED := l_orig_item_rec.LOT_MERGE_ENABLED;
2358 x_item_table(p_tab_index).LOT_TRANSLATE_ENABLED := l_orig_item_rec.LOT_TRANSLATE_ENABLED;
2359 x_item_table(p_tab_index).BULK_PICKED_FLAG := l_orig_item_rec.BULK_PICKED_FLAG;
2360 x_item_table(p_tab_index).LOT_SUBSTITUTION_ENABLED := l_orig_item_rec.LOT_SUBSTITUTION_ENABLED;
2361 -- Bills of Material
2362 x_item_table(p_tab_index).BOM_ITEM_TYPE := l_orig_item_rec.BOM_ITEM_TYPE;
2363 x_item_table(p_tab_index).BOM_ENABLED_FLAG := l_orig_item_rec.BOM_ENABLED_FLAG;
2364 x_item_table(p_tab_index).BASE_ITEM_ID := l_orig_item_rec.BASE_ITEM_ID;
2365 x_item_table(p_tab_index).ENG_ITEM_FLAG := l_orig_item_rec.ENG_ITEM_FLAG;
2366 x_item_table(p_tab_index).ENGINEERING_ITEM_ID := l_orig_item_rec.ENGINEERING_ITEM_ID;
2367 x_item_table(p_tab_index).ENGINEERING_ECN_CODE := l_orig_item_rec.ENGINEERING_ECN_CODE;
2368 x_item_table(p_tab_index).ENGINEERING_DATE := l_orig_item_rec.ENGINEERING_DATE;
2369 x_item_table(p_tab_index).EFFECTIVITY_CONTROL := l_orig_item_rec.EFFECTIVITY_CONTROL;
2370 x_item_table(p_tab_index).Product_Family_Item_Id := l_orig_item_rec.Product_Family_Item_Id;
2371 x_item_table(p_tab_index).auto_created_config_flag := l_orig_item_rec.auto_created_config_flag;--3911562
2372 -- Costing
2373 x_item_table(p_tab_index).COSTING_ENABLED_FLAG := l_orig_item_rec.COSTING_ENABLED_FLAG;
2374 x_item_table(p_tab_index).INVENTORY_ASSET_FLAG := l_orig_item_rec.INVENTORY_ASSET_FLAG;
2375 x_item_table(p_tab_index).COST_OF_SALES_ACCOUNT := l_orig_item_rec.COST_OF_SALES_ACCOUNT;
2376 x_item_table(p_tab_index).DEFAULT_INCLUDE_IN_ROLLUP_FLAG := l_orig_item_rec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG;
2377 x_item_table(p_tab_index).STD_LOT_SIZE := l_orig_item_rec.STD_LOT_SIZE;
2378 x_item_table(p_tab_index).CONFIG_MODEL_TYPE := l_orig_item_rec.CONFIG_MODEL_TYPE;
2379 -- Enterprise Asset Management
2380 x_item_table(p_tab_index).EAM_ITEM_TYPE := l_orig_item_rec.EAM_ITEM_TYPE;
2381 x_item_table(p_tab_index).EAM_ACTIVITY_TYPE_CODE := l_orig_item_rec.EAM_ACTIVITY_TYPE_CODE;
2382 x_item_table(p_tab_index).EAM_ACTIVITY_CAUSE_CODE := l_orig_item_rec.EAM_ACTIVITY_CAUSE_CODE;
2383 x_item_table(p_tab_index).EAM_ACT_SHUTDOWN_STATUS := l_orig_item_rec.EAM_ACT_SHUTDOWN_STATUS;
2384 x_item_table(p_tab_index).EAM_ACT_NOTIFICATION_FLAG := l_orig_item_rec.EAM_ACT_NOTIFICATION_FLAG;
2385 x_item_table(p_tab_index).EAM_ACTIVITY_SOURCE_CODE := l_orig_item_rec.EAM_ACTIVITY_SOURCE_CODE;
2386 -- Purchasing
2387 x_item_table(p_tab_index).PURCHASING_ITEM_FLAG := l_orig_item_rec.PURCHASING_ITEM_FLAG;
2388 x_item_table(p_tab_index).PURCHASING_ENABLED_FLAG := l_orig_item_rec.PURCHASING_ENABLED_FLAG;
2389 x_item_table(p_tab_index).BUYER_ID := l_orig_item_rec.BUYER_ID;
2390 x_item_table(p_tab_index).MUST_USE_APPROVED_VENDOR_FLAG := l_orig_item_rec.MUST_USE_APPROVED_VENDOR_FLAG;
2391 x_item_table(p_tab_index).PURCHASING_TAX_CODE := l_orig_item_rec.PURCHASING_TAX_CODE;
2392 x_item_table(p_tab_index).TAXABLE_FLAG := l_orig_item_rec.TAXABLE_FLAG;
2393 x_item_table(p_tab_index).RECEIVE_CLOSE_TOLERANCE := l_orig_item_rec.RECEIVE_CLOSE_TOLERANCE;
2394 x_item_table(p_tab_index).ALLOW_ITEM_DESC_UPDATE_FLAG := l_orig_item_rec.ALLOW_ITEM_DESC_UPDATE_FLAG;
2395 x_item_table(p_tab_index).INSPECTION_REQUIRED_FLAG := l_orig_item_rec.INSPECTION_REQUIRED_FLAG;
2396 x_item_table(p_tab_index).RECEIPT_REQUIRED_FLAG := l_orig_item_rec.RECEIPT_REQUIRED_FLAG;
2397 x_item_table(p_tab_index).MARKET_PRICE := l_orig_item_rec.MARKET_PRICE;
2398 x_item_table(p_tab_index).UN_NUMBER_ID := l_orig_item_rec.UN_NUMBER_ID;
2399 x_item_table(p_tab_index).HAZARD_CLASS_ID := l_orig_item_rec.HAZARD_CLASS_ID;
2400 x_item_table(p_tab_index).RFQ_REQUIRED_FLAG := l_orig_item_rec.RFQ_REQUIRED_FLAG;
2401 x_item_table(p_tab_index).LIST_PRICE_PER_UNIT := l_orig_item_rec.LIST_PRICE_PER_UNIT;
2402 x_item_table(p_tab_index).PRICE_TOLERANCE_PERCENT := l_orig_item_rec.PRICE_TOLERANCE_PERCENT;
2403 x_item_table(p_tab_index).ASSET_CATEGORY_ID := l_orig_item_rec.ASSET_CATEGORY_ID;
2404 x_item_table(p_tab_index).ROUNDING_FACTOR := l_orig_item_rec.ROUNDING_FACTOR;
2405 x_item_table(p_tab_index).UNIT_OF_ISSUE := l_orig_item_rec.UNIT_OF_ISSUE;
2406 x_item_table(p_tab_index).OUTSIDE_OPERATION_FLAG := l_orig_item_rec.OUTSIDE_OPERATION_FLAG;
2407 x_item_table(p_tab_index).OUTSIDE_OPERATION_UOM_TYPE := l_orig_item_rec.OUTSIDE_OPERATION_UOM_TYPE;
2408 x_item_table(p_tab_index).INVOICE_CLOSE_TOLERANCE := l_orig_item_rec.INVOICE_CLOSE_TOLERANCE;
2409 x_item_table(p_tab_index).ENCUMBRANCE_ACCOUNT := l_orig_item_rec.ENCUMBRANCE_ACCOUNT;
2410 x_item_table(p_tab_index).EXPENSE_ACCOUNT := l_orig_item_rec.EXPENSE_ACCOUNT;
2411 x_item_table(p_tab_index).QTY_RCV_EXCEPTION_CODE := l_orig_item_rec.QTY_RCV_EXCEPTION_CODE;
2412 x_item_table(p_tab_index).RECEIVING_ROUTING_ID := l_orig_item_rec.RECEIVING_ROUTING_ID;
2413 x_item_table(p_tab_index).QTY_RCV_TOLERANCE := l_orig_item_rec.QTY_RCV_TOLERANCE;
2414 x_item_table(p_tab_index).ENFORCE_SHIP_TO_LOCATION_CODE := l_orig_item_rec.ENFORCE_SHIP_TO_LOCATION_CODE;
2415 x_item_table(p_tab_index).ALLOW_SUBSTITUTE_RECEIPTS_FLAG := l_orig_item_rec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG;
2416 x_item_table(p_tab_index).ALLOW_UNORDERED_RECEIPTS_FLAG := l_orig_item_rec.ALLOW_UNORDERED_RECEIPTS_FLAG;
2417 x_item_table(p_tab_index).ALLOW_EXPRESS_DELIVERY_FLAG := l_orig_item_rec.ALLOW_EXPRESS_DELIVERY_FLAG;
2418 x_item_table(p_tab_index).DAYS_EARLY_RECEIPT_ALLOWED := l_orig_item_rec.DAYS_EARLY_RECEIPT_ALLOWED;
2419 x_item_table(p_tab_index).DAYS_LATE_RECEIPT_ALLOWED := l_orig_item_rec.DAYS_LATE_RECEIPT_ALLOWED;
2420 x_item_table(p_tab_index).RECEIPT_DAYS_EXCEPTION_CODE := l_orig_item_rec.RECEIPT_DAYS_EXCEPTION_CODE;
2421 -- Physical
2422 x_item_table(p_tab_index).WEIGHT_UOM_CODE := l_orig_item_rec.WEIGHT_UOM_CODE;
2423 x_item_table(p_tab_index).UNIT_WEIGHT := l_orig_item_rec.UNIT_WEIGHT;
2424 x_item_table(p_tab_index).VOLUME_UOM_CODE := l_orig_item_rec.VOLUME_UOM_CODE;
2425 x_item_table(p_tab_index).UNIT_VOLUME := l_orig_item_rec.UNIT_VOLUME;
2426 x_item_table(p_tab_index).CONTAINER_ITEM_FLAG := l_orig_item_rec.CONTAINER_ITEM_FLAG;
2427 x_item_table(p_tab_index).VEHICLE_ITEM_FLAG := l_orig_item_rec.VEHICLE_ITEM_FLAG;
2428 x_item_table(p_tab_index).MAXIMUM_LOAD_WEIGHT := l_orig_item_rec.MAXIMUM_LOAD_WEIGHT;
2429 x_item_table(p_tab_index).MINIMUM_FILL_PERCENT := l_orig_item_rec.MINIMUM_FILL_PERCENT;
2430 x_item_table(p_tab_index).INTERNAL_VOLUME := l_orig_item_rec.INTERNAL_VOLUME;
2431 x_item_table(p_tab_index).CONTAINER_TYPE_CODE := l_orig_item_rec.CONTAINER_TYPE_CODE;
2432 x_item_table(p_tab_index).COLLATERAL_FLAG := l_orig_item_rec.COLLATERAL_FLAG;
2433 x_item_table(p_tab_index).EVENT_FLAG := l_orig_item_rec.EVENT_FLAG;
2434 x_item_table(p_tab_index).EQUIPMENT_TYPE := l_orig_item_rec.EQUIPMENT_TYPE;
2435 x_item_table(p_tab_index).ELECTRONIC_FLAG := l_orig_item_rec.ELECTRONIC_FLAG;
2436 x_item_table(p_tab_index).DOWNLOADABLE_FLAG := l_orig_item_rec.DOWNLOADABLE_FLAG;
2437 x_item_table(p_tab_index).INDIVISIBLE_FLAG := l_orig_item_rec.INDIVISIBLE_FLAG;
2438 x_item_table(p_tab_index).DIMENSION_UOM_CODE := l_orig_item_rec.DIMENSION_UOM_CODE;
2439 x_item_table(p_tab_index).UNIT_LENGTH := l_orig_item_rec.UNIT_LENGTH;
2440 x_item_table(p_tab_index).UNIT_WIDTH := l_orig_item_rec.UNIT_WIDTH;
2441 x_item_table(p_tab_index).UNIT_HEIGHT := l_orig_item_rec.UNIT_HEIGHT;
2442 --Planning
2443 x_item_table(p_tab_index).INVENTORY_PLANNING_CODE := l_orig_item_rec.INVENTORY_PLANNING_CODE;
2444 x_item_table(p_tab_index).PLANNER_CODE := l_orig_item_rec.PLANNER_CODE;
2445 x_item_table(p_tab_index).PLANNING_MAKE_BUY_CODE := l_orig_item_rec.PLANNING_MAKE_BUY_CODE;
2446 x_item_table(p_tab_index).MIN_MINMAX_QUANTITY := l_orig_item_rec.MIN_MINMAX_QUANTITY;
2447 x_item_table(p_tab_index).MAX_MINMAX_QUANTITY := l_orig_item_rec.MAX_MINMAX_QUANTITY;
2448 x_item_table(p_tab_index).SAFETY_STOCK_BUCKET_DAYS := l_orig_item_rec.SAFETY_STOCK_BUCKET_DAYS;
2449 x_item_table(p_tab_index).MRP_SAFETY_STOCK_PERCENT := l_orig_item_rec.MRP_SAFETY_STOCK_PERCENT;
2450 x_item_table(p_tab_index).MRP_SAFETY_STOCK_CODE := l_orig_item_rec.MRP_SAFETY_STOCK_CODE;
2451 x_item_table(p_tab_index).FIXED_ORDER_QUANTITY := l_orig_item_rec.FIXED_ORDER_QUANTITY;
2452 x_item_table(p_tab_index).FIXED_DAYS_SUPPLY := l_orig_item_rec.FIXED_DAYS_SUPPLY;
2453 x_item_table(p_tab_index).MINIMUM_ORDER_QUANTITY := l_orig_item_rec.MINIMUM_ORDER_QUANTITY;
2454 x_item_table(p_tab_index).MAXIMUM_ORDER_QUANTITY := l_orig_item_rec.MAXIMUM_ORDER_QUANTITY;
2455 x_item_table(p_tab_index).FIXED_LOT_MULTIPLIER := l_orig_item_rec.FIXED_LOT_MULTIPLIER;
2456 x_item_table(p_tab_index).SOURCE_TYPE := l_orig_item_rec.SOURCE_TYPE;
2457 x_item_table(p_tab_index).SOURCE_ORGANIZATION_ID := l_orig_item_rec.SOURCE_ORGANIZATION_ID;
2458 x_item_table(p_tab_index).SOURCE_SUBINVENTORY := l_orig_item_rec.SOURCE_SUBINVENTORY;
2459 x_item_table(p_tab_index).MRP_PLANNING_CODE := l_orig_item_rec.MRP_PLANNING_CODE;
2460 x_item_table(p_tab_index).ATO_FORECAST_CONTROL := l_orig_item_rec.ATO_FORECAST_CONTROL;
2461 x_item_table(p_tab_index).PLANNING_EXCEPTION_SET := l_orig_item_rec.PLANNING_EXCEPTION_SET;
2462 x_item_table(p_tab_index).SHRINKAGE_RATE := l_orig_item_rec.SHRINKAGE_RATE;
2463 x_item_table(p_tab_index).END_ASSEMBLY_PEGGING_FLAG := l_orig_item_rec.END_ASSEMBLY_PEGGING_FLAG;
2464 x_item_table(p_tab_index).ROUNDING_CONTROL_TYPE := l_orig_item_rec.ROUNDING_CONTROL_TYPE;
2465 x_item_table(p_tab_index).PLANNED_INV_POINT_FLAG := l_orig_item_rec.PLANNED_INV_POINT_FLAG;
2466 x_item_table(p_tab_index).CREATE_SUPPLY_FLAG := l_orig_item_rec.CREATE_SUPPLY_FLAG;
2467 x_item_table(p_tab_index).ACCEPTABLE_EARLY_DAYS := l_orig_item_rec.ACCEPTABLE_EARLY_DAYS;
2468 x_item_table(p_tab_index).MRP_CALCULATE_ATP_FLAG := l_orig_item_rec.MRP_CALCULATE_ATP_FLAG;
2469 x_item_table(p_tab_index).AUTO_REDUCE_MPS := l_orig_item_rec.AUTO_REDUCE_MPS;
2470 x_item_table(p_tab_index).REPETITIVE_PLANNING_FLAG := l_orig_item_rec.REPETITIVE_PLANNING_FLAG;
2471 x_item_table(p_tab_index).OVERRUN_PERCENTAGE := l_orig_item_rec.OVERRUN_PERCENTAGE;
2472 x_item_table(p_tab_index).ACCEPTABLE_RATE_DECREASE := l_orig_item_rec.ACCEPTABLE_RATE_DECREASE;
2473 x_item_table(p_tab_index).ACCEPTABLE_RATE_INCREASE := l_orig_item_rec.ACCEPTABLE_RATE_INCREASE;
2474 x_item_table(p_tab_index).PLANNING_TIME_FENCE_CODE := l_orig_item_rec.PLANNING_TIME_FENCE_CODE;
2475 x_item_table(p_tab_index).PLANNING_TIME_FENCE_DAYS := l_orig_item_rec.PLANNING_TIME_FENCE_DAYS;
2476 x_item_table(p_tab_index).DEMAND_TIME_FENCE_CODE := l_orig_item_rec.DEMAND_TIME_FENCE_CODE;
2477 x_item_table(p_tab_index).DEMAND_TIME_FENCE_DAYS := l_orig_item_rec.DEMAND_TIME_FENCE_DAYS;
2478 x_item_table(p_tab_index).RELEASE_TIME_FENCE_CODE := l_orig_item_rec.RELEASE_TIME_FENCE_CODE;
2479 x_item_table(p_tab_index).RELEASE_TIME_FENCE_DAYS := l_orig_item_rec.RELEASE_TIME_FENCE_DAYS;
2480 x_item_table(p_tab_index).SUBSTITUTION_WINDOW_CODE := l_orig_item_rec.SUBSTITUTION_WINDOW_CODE;
2481 x_item_table(p_tab_index).SUBSTITUTION_WINDOW_DAYS := l_orig_item_rec.SUBSTITUTION_WINDOW_DAYS;
2482 -- Lead Times
2483 x_item_table(p_tab_index).PREPROCESSING_LEAD_TIME := l_orig_item_rec.PREPROCESSING_LEAD_TIME;
2484 x_item_table(p_tab_index).FULL_LEAD_TIME := l_orig_item_rec.FULL_LEAD_TIME;
2485 x_item_table(p_tab_index).POSTPROCESSING_LEAD_TIME := l_orig_item_rec.POSTPROCESSING_LEAD_TIME;
2486 x_item_table(p_tab_index).FIXED_LEAD_TIME := l_orig_item_rec.FIXED_LEAD_TIME;
2487 x_item_table(p_tab_index).VARIABLE_LEAD_TIME := l_orig_item_rec.VARIABLE_LEAD_TIME;
2488 x_item_table(p_tab_index).CUM_MANUFACTURING_LEAD_TIME := l_orig_item_rec.CUM_MANUFACTURING_LEAD_TIME;
2489 x_item_table(p_tab_index).CUMULATIVE_TOTAL_LEAD_TIME := l_orig_item_rec.CUMULATIVE_TOTAL_LEAD_TIME;
2490 x_item_table(p_tab_index).LEAD_TIME_LOT_SIZE := l_orig_item_rec.LEAD_TIME_LOT_SIZE;
2491 -- WIP
2492 x_item_table(p_tab_index).BUILD_IN_WIP_FLAG := l_orig_item_rec.BUILD_IN_WIP_FLAG;
2493 x_item_table(p_tab_index).WIP_SUPPLY_TYPE := l_orig_item_rec.WIP_SUPPLY_TYPE;
2494 x_item_table(p_tab_index).WIP_SUPPLY_SUBINVENTORY := l_orig_item_rec.WIP_SUPPLY_SUBINVENTORY;
2495 x_item_table(p_tab_index).WIP_SUPPLY_LOCATOR_ID := l_orig_item_rec.WIP_SUPPLY_LOCATOR_ID;
2496 x_item_table(p_tab_index).OVERCOMPLETION_TOLERANCE_TYPE := l_orig_item_rec.OVERCOMPLETION_TOLERANCE_TYPE;
2497 x_item_table(p_tab_index).OVERCOMPLETION_TOLERANCE_VALUE := l_orig_item_rec.OVERCOMPLETION_TOLERANCE_VALUE;
2498 x_item_table(p_tab_index).INVENTORY_CARRY_PENALTY := l_orig_item_rec.INVENTORY_CARRY_PENALTY;
2499 x_item_table(p_tab_index).OPERATION_SLACK_PENALTY := l_orig_item_rec.OPERATION_SLACK_PENALTY;
2500 -- Order Management
2501 x_item_table(p_tab_index).CUSTOMER_ORDER_FLAG := l_orig_item_rec.CUSTOMER_ORDER_FLAG;
2502 x_item_table(p_tab_index).CUSTOMER_ORDER_ENABLED_FLAG := l_orig_item_rec.CUSTOMER_ORDER_ENABLED_FLAG;
2503 x_item_table(p_tab_index).INTERNAL_ORDER_FLAG := l_orig_item_rec.INTERNAL_ORDER_FLAG;
2504 x_item_table(p_tab_index).INTERNAL_ORDER_ENABLED_FLAG := l_orig_item_rec.INTERNAL_ORDER_ENABLED_FLAG;
2505 x_item_table(p_tab_index).SHIPPABLE_ITEM_FLAG := l_orig_item_rec.SHIPPABLE_ITEM_FLAG;
2506 x_item_table(p_tab_index).SO_TRANSACTIONS_FLAG := l_orig_item_rec.SO_TRANSACTIONS_FLAG;
2507 x_item_table(p_tab_index).PICKING_RULE_ID := l_orig_item_rec.PICKING_RULE_ID;
2508 x_item_table(p_tab_index).PICK_COMPONENTS_FLAG := l_orig_item_rec.PICK_COMPONENTS_FLAG;
2509 x_item_table(p_tab_index).REPLENISH_TO_ORDER_FLAG := l_orig_item_rec.REPLENISH_TO_ORDER_FLAG;
2510 x_item_table(p_tab_index).ATP_FLAG := l_orig_item_rec.ATP_FLAG;
2511 x_item_table(p_tab_index).ATP_COMPONENTS_FLAG := l_orig_item_rec.ATP_COMPONENTS_FLAG;
2512 x_item_table(p_tab_index).ATP_RULE_ID := l_orig_item_rec.ATP_RULE_ID;
2513 x_item_table(p_tab_index).SHIP_MODEL_COMPLETE_FLAG := l_orig_item_rec.SHIP_MODEL_COMPLETE_FLAG;
2514 x_item_table(p_tab_index).DEFAULT_SHIPPING_ORG := l_orig_item_rec.DEFAULT_SHIPPING_ORG;
2515 x_item_table(p_tab_index).DEFAULT_SO_SOURCE_TYPE := l_orig_item_rec.DEFAULT_SO_SOURCE_TYPE;
2516 x_item_table(p_tab_index).RETURNABLE_FLAG := l_orig_item_rec.RETURNABLE_FLAG;
2517 x_item_table(p_tab_index).RETURN_INSPECTION_REQUIREMENT := l_orig_item_rec.RETURN_INSPECTION_REQUIREMENT;
2518 x_item_table(p_tab_index).OVER_SHIPMENT_TOLERANCE := l_orig_item_rec.OVER_SHIPMENT_TOLERANCE;
2519 x_item_table(p_tab_index).UNDER_SHIPMENT_TOLERANCE := l_orig_item_rec.UNDER_SHIPMENT_TOLERANCE;
2520 x_item_table(p_tab_index).OVER_RETURN_TOLERANCE := l_orig_item_rec.OVER_RETURN_TOLERANCE;
2521 x_item_table(p_tab_index).UNDER_RETURN_TOLERANCE := l_orig_item_rec.UNDER_RETURN_TOLERANCE;
2522 x_item_table(p_tab_index).FINANCING_ALLOWED_FLAG := l_orig_item_rec.FINANCING_ALLOWED_FLAG;
2523 x_item_table(p_tab_index).VOL_DISCOUNT_EXEMPT_FLAG := l_orig_item_rec.VOL_DISCOUNT_EXEMPT_FLAG;
2524 x_item_table(p_tab_index).COUPON_EXEMPT_FLAG := l_orig_item_rec.COUPON_EXEMPT_FLAG;
2525 x_item_table(p_tab_index).INVOICEABLE_ITEM_FLAG := l_orig_item_rec.INVOICEABLE_ITEM_FLAG;
2526 x_item_table(p_tab_index).INVOICE_ENABLED_FLAG := l_orig_item_rec.INVOICE_ENABLED_FLAG;
2527 x_item_table(p_tab_index).ACCOUNTING_RULE_ID := l_orig_item_rec.ACCOUNTING_RULE_ID;
2528 x_item_table(p_tab_index).INVOICING_RULE_ID := l_orig_item_rec.INVOICING_RULE_ID;
2529 x_item_table(p_tab_index).TAX_CODE := l_orig_item_rec.TAX_CODE;
2530 x_item_table(p_tab_index).SALES_ACCOUNT := l_orig_item_rec.SALES_ACCOUNT;
2531 x_item_table(p_tab_index).PAYMENT_TERMS_ID := l_orig_item_rec.PAYMENT_TERMS_ID;
2532 -- Service
2533 x_item_table(p_tab_index).CONTRACT_ITEM_TYPE_CODE := l_orig_item_rec.CONTRACT_ITEM_TYPE_CODE;
2534 x_item_table(p_tab_index).SERVICE_DURATION_PERIOD_CODE := l_orig_item_rec.SERVICE_DURATION_PERIOD_CODE;
2535 x_item_table(p_tab_index).SERVICE_DURATION := l_orig_item_rec.SERVICE_DURATION;
2536 x_item_table(p_tab_index).COVERAGE_SCHEDULE_ID := l_orig_item_rec.COVERAGE_SCHEDULE_ID;
2537 x_item_table(p_tab_index).SUBSCRIPTION_DEPEND_FLAG := l_orig_item_rec.SUBSCRIPTION_DEPEND_FLAG;
2538 x_item_table(p_tab_index).SERV_IMPORTANCE_LEVEL := l_orig_item_rec.SERV_IMPORTANCE_LEVEL;
2539 x_item_table(p_tab_index).SERV_REQ_ENABLED_CODE := l_orig_item_rec.SERV_REQ_ENABLED_CODE;
2540 x_item_table(p_tab_index).COMMS_ACTIVATION_REQD_FLAG := l_orig_item_rec.COMMS_ACTIVATION_REQD_FLAG;
2541 x_item_table(p_tab_index).SERVICEABLE_PRODUCT_FLAG := l_orig_item_rec.SERVICEABLE_PRODUCT_FLAG;
2542 x_item_table(p_tab_index).MATERIAL_BILLABLE_FLAG := l_orig_item_rec.MATERIAL_BILLABLE_FLAG;
2543 x_item_table(p_tab_index).SERV_BILLING_ENABLED_FLAG := l_orig_item_rec.SERV_BILLING_ENABLED_FLAG;
2544 x_item_table(p_tab_index).DEFECT_TRACKING_ON_FLAG := l_orig_item_rec.DEFECT_TRACKING_ON_FLAG;
2545 x_item_table(p_tab_index).RECOVERED_PART_DISP_CODE := l_orig_item_rec.RECOVERED_PART_DISP_CODE;
2546 x_item_table(p_tab_index).COMMS_NL_TRACKABLE_FLAG := l_orig_item_rec.COMMS_NL_TRACKABLE_FLAG;
2547 x_item_table(p_tab_index).ASSET_CREATION_CODE := l_orig_item_rec.ASSET_CREATION_CODE;
2548 x_item_table(p_tab_index).IB_ITEM_INSTANCE_CLASS := l_orig_item_rec.IB_ITEM_INSTANCE_CLASS;
2549 x_item_table(p_tab_index).SERVICE_STARTING_DELAY := l_orig_item_rec.SERVICE_STARTING_DELAY;
2550 -- Web Option
2551 x_item_table(p_tab_index).WEB_STATUS := l_orig_item_rec.WEB_STATUS;
2552 x_item_table(p_tab_index).ORDERABLE_ON_WEB_FLAG := l_orig_item_rec.ORDERABLE_ON_WEB_FLAG;
2553 x_item_table(p_tab_index).BACK_ORDERABLE_FLAG := l_orig_item_rec.BACK_ORDERABLE_FLAG;
2554 x_item_table(p_tab_index).MINIMUM_LICENSE_QUANTITY := l_orig_item_rec.MINIMUM_LICENSE_QUANTITY;
2555 --Start: 26 new attributes
2556 x_item_table(p_tab_index).tracking_quantity_ind := l_orig_item_rec.TRACKING_QUANTITY_IND;
2557 x_item_table(p_tab_index).ont_pricing_qty_source := l_orig_item_rec.ONT_PRICING_QTY_SOURCE;
2558 x_item_table(p_tab_index).secondary_default_ind := l_orig_item_rec.SECONDARY_DEFAULT_IND;
2559 x_item_table(p_tab_index).option_specific_sourced := l_orig_item_rec.OPTION_SPECIFIC_SOURCED;
2560 x_item_table(p_tab_index).vmi_minimum_units := l_orig_item_rec.VMI_MINIMUM_UNITS;
2561 x_item_table(p_tab_index).vmi_minimum_days := l_orig_item_rec.VMI_MINIMUM_DAYS;
2562 x_item_table(p_tab_index).vmi_maximum_units := l_orig_item_rec.VMI_MAXIMUM_UNITS;
2563 x_item_table(p_tab_index).vmi_maximum_days := l_orig_item_rec.VMI_MAXIMUM_DAYS;
2564 x_item_table(p_tab_index).vmi_fixed_order_quantity := l_orig_item_rec.VMI_FIXED_ORDER_QUANTITY;
2565 x_item_table(p_tab_index).so_authorization_flag := l_orig_item_rec.SO_AUTHORIZATION_FLAG;
2566 x_item_table(p_tab_index).consigned_flag := l_orig_item_rec.CONSIGNED_FLAG;
2567 x_item_table(p_tab_index).asn_autoexpire_flag := l_orig_item_rec.ASN_AUTOEXPIRE_FLAG;
2568 x_item_table(p_tab_index).vmi_forecast_type := l_orig_item_rec.VMI_FORECAST_TYPE;
2569 x_item_table(p_tab_index).forecast_horizon := l_orig_item_rec.FORECAST_HORIZON;
2570 x_item_table(p_tab_index).exclude_from_budget_flag := l_orig_item_rec.EXCLUDE_FROM_BUDGET_FLAG;
2571 x_item_table(p_tab_index).days_tgt_inv_supply := l_orig_item_rec.DAYS_TGT_INV_SUPPLY;
2572 x_item_table(p_tab_index).days_tgt_inv_window := l_orig_item_rec.DAYS_TGT_INV_WINDOW;
2573 x_item_table(p_tab_index).days_max_inv_supply := l_orig_item_rec.DAYS_MAX_INV_SUPPLY;
2574 x_item_table(p_tab_index).days_max_inv_window := l_orig_item_rec.DAYS_MAX_INV_WINDOW;
2575 x_item_table(p_tab_index).drp_planned_flag := l_orig_item_rec.DRP_PLANNED_FLAG;
2576 x_item_table(p_tab_index).critical_component_flag := l_orig_item_rec.CRITICAL_COMPONENT_FLAG;
2577 x_item_table(p_tab_index).continous_transfer := l_orig_item_rec.CONTINOUS_TRANSFER;
2578 x_item_table(p_tab_index).convergence := l_orig_item_rec.CONVERGENCE;
2579 x_item_table(p_tab_index).divergence := l_orig_item_rec.DIVERGENCE;
2580 x_item_table(p_tab_index).config_orgs := l_orig_item_rec.CONFIG_ORGS;
2581 x_item_table(p_tab_index).config_match := l_orig_item_rec.CONFIG_MATCH;
2582 --End: 26 new attributes
2583 -- Descriptive flex
2584 x_item_table(p_tab_index).Attribute_Category := l_orig_item_rec.Attribute_Category;
2585 x_item_table(p_tab_index).Attribute1 := l_orig_item_rec.Attribute1;
2586 x_item_table(p_tab_index).Attribute2 := l_orig_item_rec.Attribute2;
2587 x_item_table(p_tab_index).Attribute3 := l_orig_item_rec.Attribute3;
2588 x_item_table(p_tab_index).Attribute4 := l_orig_item_rec.Attribute4;
2589 x_item_table(p_tab_index).Attribute5 := l_orig_item_rec.Attribute5;
2590 x_item_table(p_tab_index).Attribute6 := l_orig_item_rec.Attribute6;
2591 x_item_table(p_tab_index).Attribute7 := l_orig_item_rec.Attribute7;
2592 x_item_table(p_tab_index).Attribute8 := l_orig_item_rec.Attribute8;
2593 x_item_table(p_tab_index).Attribute9 := l_orig_item_rec.Attribute9;
2594 x_item_table(p_tab_index).Attribute10 := l_orig_item_rec.Attribute10;
2595 x_item_table(p_tab_index).Attribute11 := l_orig_item_rec.Attribute11;
2596 x_item_table(p_tab_index).Attribute12 := l_orig_item_rec.Attribute12;
2597 x_item_table(p_tab_index).Attribute13 := l_orig_item_rec.Attribute13;
2598 x_item_table(p_tab_index).Attribute14 := l_orig_item_rec.Attribute14;
2599 x_item_table(p_tab_index).Attribute15 := l_orig_item_rec.Attribute15;
2600 x_item_table(p_tab_index).Attribute16 := l_orig_item_rec.Attribute16;
2601 x_item_table(p_tab_index).Attribute17 := l_orig_item_rec.Attribute17;
2602 x_item_table(p_tab_index).Attribute18 := l_orig_item_rec.Attribute18;
2603 x_item_table(p_tab_index).Attribute19 := l_orig_item_rec.Attribute19;
2604 x_item_table(p_tab_index).Attribute20 := l_orig_item_rec.Attribute20;
2605 x_item_table(p_tab_index).Attribute21 := l_orig_item_rec.Attribute21;
2606 x_item_table(p_tab_index).Attribute22 := l_orig_item_rec.Attribute22;
2607 x_item_table(p_tab_index).Attribute23 := l_orig_item_rec.Attribute23;
2608 x_item_table(p_tab_index).Attribute24 := l_orig_item_rec.Attribute24;
2609 x_item_table(p_tab_index).Attribute25 := l_orig_item_rec.Attribute25;
2610 x_item_table(p_tab_index).Attribute26 := l_orig_item_rec.Attribute26;
2611 x_item_table(p_tab_index).Attribute27 := l_orig_item_rec.Attribute27;
2612 x_item_table(p_tab_index).Attribute28 := l_orig_item_rec.Attribute28;
2613 x_item_table(p_tab_index).Attribute29 := l_orig_item_rec.Attribute29;
2614 x_item_table(p_tab_index).Attribute30 := l_orig_item_rec.Attribute30;
2615 -- Global Descriptive flex
2616 x_item_table(p_tab_index).Global_Attribute_Category := l_orig_item_rec.Global_Attribute_Category;
2617 x_item_table(p_tab_index).Global_Attribute1 := l_orig_item_rec.Global_Attribute1;
2618 x_item_table(p_tab_index).Global_Attribute2 := l_orig_item_rec.Global_Attribute2;
2619 x_item_table(p_tab_index).Global_Attribute3 := l_orig_item_rec.Global_Attribute3;
2620 x_item_table(p_tab_index).Global_Attribute4 := l_orig_item_rec.Global_Attribute4;
2621 x_item_table(p_tab_index).Global_Attribute5 := l_orig_item_rec.Global_Attribute5;
2622 x_item_table(p_tab_index).Global_Attribute6 := l_orig_item_rec.Global_Attribute6;
2623 x_item_table(p_tab_index).Global_Attribute7 := l_orig_item_rec.Global_Attribute7;
2624 x_item_table(p_tab_index).Global_Attribute8 := l_orig_item_rec.Global_Attribute8;
2625 x_item_table(p_tab_index).Global_Attribute9 := l_orig_item_rec.Global_Attribute9;
2626 x_item_table(p_tab_index).Global_Attribute10 := l_orig_item_rec.Global_Attribute10;
2627 x_item_table(p_tab_index).Global_Attribute11 := l_orig_item_rec.Global_Attribute11;
2628 x_item_table(p_tab_index).Global_Attribute12 := l_orig_item_rec.Global_Attribute12;
2629 x_item_table(p_tab_index).Global_Attribute13 := l_orig_item_rec.Global_Attribute13;
2630 x_item_table(p_tab_index).Global_Attribute14 := l_orig_item_rec.Global_Attribute14;
2631 x_item_table(p_tab_index).Global_Attribute15 := l_orig_item_rec.Global_Attribute15;
2632 x_item_table(p_tab_index).Global_Attribute16 := l_orig_item_rec.Global_Attribute16;
2633 x_item_table(p_tab_index).Global_Attribute17 := l_orig_item_rec.Global_Attribute17;
2634 x_item_table(p_tab_index).Global_Attribute18 := l_orig_item_rec.Global_Attribute18;
2635 x_item_table(p_tab_index).Global_Attribute19 := l_orig_item_rec.Global_Attribute19;
2636 x_item_table(p_tab_index).Global_Attribute20 := l_orig_item_rec.Global_Attribute20;
2637
2638 /* R12 Attributes */
2639
2640 x_item_table(p_tab_index).CAS_NUMBER := l_orig_item_rec.CAS_NUMBER;
2641 x_item_table(p_tab_index).CHILD_LOT_FLAG := l_orig_item_rec.CHILD_LOT_FLAG;
2642 x_item_table(p_tab_index).CHILD_LOT_PREFIX := l_orig_item_rec.CHILD_LOT_PREFIX;
2643 x_item_table(p_tab_index).CHILD_LOT_STARTING_NUMBER := l_orig_item_rec.CHILD_LOT_STARTING_NUMBER;
2644 x_item_table(p_tab_index).CHILD_LOT_VALIDATION_FLAG := l_orig_item_rec.CHILD_LOT_VALIDATION_FLAG;
2645 x_item_table(p_tab_index).COPY_LOT_ATTRIBUTE_FLAG := l_orig_item_rec.COPY_LOT_ATTRIBUTE_FLAG;
2646 x_item_table(p_tab_index).DEFAULT_GRADE := l_orig_item_rec.DEFAULT_GRADE;
2647 x_item_table(p_tab_index).EXPIRATION_ACTION_CODE := l_orig_item_rec.EXPIRATION_ACTION_CODE;
2648 x_item_table(p_tab_index).EXPIRATION_ACTION_INTERVAL := l_orig_item_rec.EXPIRATION_ACTION_INTERVAL;
2649 x_item_table(p_tab_index).GRADE_CONTROL_FLAG := l_orig_item_rec.GRADE_CONTROL_FLAG;
2650 x_item_table(p_tab_index).HAZARDOUS_MATERIAL_FLAG := l_orig_item_rec.HAZARDOUS_MATERIAL_FLAG;
2651 x_item_table(p_tab_index).HOLD_DAYS := l_orig_item_rec.HOLD_DAYS;
2652 x_item_table(p_tab_index).LOT_DIVISIBLE_FLAG := l_orig_item_rec.LOT_DIVISIBLE_FLAG;
2653 x_item_table(p_tab_index).MATURITY_DAYS := l_orig_item_rec.MATURITY_DAYS;
2654 x_item_table(p_tab_index).PARENT_CHILD_GENERATION_FLAG := l_orig_item_rec.PARENT_CHILD_GENERATION_FLAG;
2655 x_item_table(p_tab_index).PROCESS_COSTING_ENABLED_FLAG := l_orig_item_rec.PROCESS_COSTING_ENABLED_FLAG;
2656 x_item_table(p_tab_index).PROCESS_EXECUTION_ENABLED_FLAG := l_orig_item_rec.PROCESS_EXECUTION_ENABLED_FLAG;
2657 x_item_table(p_tab_index).PROCESS_QUALITY_ENABLED_FLAG := l_orig_item_rec.PROCESS_QUALITY_ENABLED_FLAG;
2658 x_item_table(p_tab_index).PROCESS_SUPPLY_LOCATOR_ID := l_orig_item_rec.PROCESS_SUPPLY_LOCATOR_ID;
2659 x_item_table(p_tab_index).PROCESS_SUPPLY_SUBINVENTORY := l_orig_item_rec.PROCESS_SUPPLY_SUBINVENTORY;
2660 x_item_table(p_tab_index).PROCESS_YIELD_LOCATOR_ID := l_orig_item_rec.PROCESS_YIELD_LOCATOR_ID;
2661 x_item_table(p_tab_index).PROCESS_YIELD_SUBINVENTORY := l_orig_item_rec.PROCESS_YIELD_SUBINVENTORY;
2662 x_item_table(p_tab_index).RECIPE_ENABLED_FLAG := l_orig_item_rec.RECIPE_ENABLED_FLAG;
2663 x_item_table(p_tab_index).RETEST_INTERVAL := l_orig_item_rec.RETEST_INTERVAL;
2664 x_item_table(p_tab_index).CHARGE_PERIODICITY_CODE := l_orig_item_rec.CHARGE_PERIODICITY_CODE;
2665 x_item_table(p_tab_index).REPAIR_LEADTIME := l_orig_item_rec.REPAIR_LEADTIME;
2666 x_item_table(p_tab_index).REPAIR_YIELD := l_orig_item_rec.REPAIR_YIELD;
2667 x_item_table(p_tab_index).PREPOSITION_POINT := l_orig_item_rec.PREPOSITION_POINT;
2668 x_item_table(p_tab_index).REPAIR_PROGRAM := l_orig_item_rec.REPAIR_PROGRAM;
2669 x_item_table(p_tab_index).SUBCONTRACTING_COMPONENT := l_orig_item_rec.SUBCONTRACTING_COMPONENT;
2670 x_item_table(p_tab_index).OUTSOURCED_ASSEMBLY := l_orig_item_rec.OUTSOURCED_ASSEMBLY;
2671 x_return_status := G_RET_STS_SUCCESS;
2672 END IF;
2673
2674 CLOSE c_copy_item_info;
2675
2676 EXCEPTION
2677 WHEN OTHERS THEN
2678 IF c_copy_item_info%ISOPEN THEN
2679 CLOSE c_copy_item_info;
2680 END IF;
2681 END initialize_item_info;
2682
2683 ---------------------------------------------------------------------------
2684 PROCEDURE initialize_template_info
2685 (p_template_id IN NUMBER
2686 ,p_template_name IN VARCHAR2
2687 ,p_organization_id IN NUMBER
2688 ,p_organization_code IN VARCHAR2
2689 ,p_tab_index IN INTEGER
2690 ,x_item_table IN OUT NOCOPY EGO_ITEM_PUB.Item_Tbl_Type
2691 ,x_return_status OUT NOCOPY VARCHAR2
2692 ,x_msg_count OUT NOCOPY NUMBER) IS
2693
2694 CURSOR c_get_context_org (cp_template_id IN NUMBER) IS
2695 SELECT context_organization_id
2696 FROM mtl_item_templates mit
2697 WHERE mit.template_id = cp_template_id;
2698
2699 CURSOR c_get_template_attributes (cp_template_id IN NUMBER) IS
2700 SELECT attribute_name, attribute_value
2701 FROM mtl_item_templ_attributes
2702 WHERE template_id = cp_template_id
2703 AND enabled_flag = 'Y'
2704 AND attribute_name IN
2705 ( SELECT a.attribute_name
2706 FROM mtl_item_attributes a
2707 WHERE NVL(a.status_control_code, 3) <> 1
2708 AND a.control_level IN (1, 2)
2709 AND a.attribute_group_id_gui IS NOT NULL
2710 AND a.attribute_name NOT IN
2711 ('MTL_SYSTEM_ITEMS.BASE_ITEM_ID',
2712 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_LOCATOR_ID',
2713 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_SUBINVENTORY',
2714 'MTL_SYSTEM_ITEMS.BASE_WARRANTY_SERVICE_ID',
2715 'MTL_SYSTEM_ITEMS.PLANNER_CODE',
2716 'MTL_SYSTEM_ITEMS.ENCUMBRANCE_ACCOUNT',
2717 'MTL_SYSTEM_ITEMS.EXPENSE_ACCOUNT',
2718 'MTL_SYSTEM_ITEMS.SALES_ACCOUNT',
2719 'MTL_SYSTEM_ITEMS.COST_OF_SALES_ACCOUNT',
2720 'MTL_SYSTEM_ITEMS.PLANNING_EXCEPTION_SET')
2721 );
2722
2723 -- Attributes that can be applied only through the Org Specific templates.
2724
2725 CURSOR c_get_org_template_attributes (cp_template_id IN NUMBER) IS
2726 SELECT attribute_name, attribute_value
2727 FROM mtl_item_templ_attributes
2728 WHERE template_id = cp_template_id
2729 AND enabled_flag = 'Y'
2730 AND attribute_name IN
2731 ( SELECT a.attribute_name
2732 FROM mtl_item_attributes a
2733 WHERE NVL(a.status_control_code, 3) <> 1
2734 AND a.control_level IN (1, 2)
2735 AND a.attribute_group_id_gui IS NOT NULL
2736 AND a.attribute_name IN
2737 ('MTL_SYSTEM_ITEMS.BASE_ITEM_ID',
2738 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_LOCATOR_ID',
2739 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_SUBINVENTORY',
2740 'MTL_SYSTEM_ITEMS.BASE_WARRANTY_SERVICE_ID',
2741 'MTL_SYSTEM_ITEMS.PLANNER_CODE',
2742 'MTL_SYSTEM_ITEMS.ENCUMBRANCE_ACCOUNT',
2743 'MTL_SYSTEM_ITEMS.EXPENSE_ACCOUNT',
2744 'MTL_SYSTEM_ITEMS.SALES_ACCOUNT',
2745 'MTL_SYSTEM_ITEMS.COST_OF_SALES_ACCOUNT',
2746 'MTL_SYSTEM_ITEMS.PLANNING_EXCEPTION_SET')
2747 );
2748
2749 CURSOR c_get_global_flex_fields (cp_template_id IN NUMBER) IS
2750 SELECT GLOBAL_ATTRIBUTE_CATEGORY,
2751 GLOBAL_ATTRIBUTE1,
2752 GLOBAL_ATTRIBUTE2,
2753 GLOBAL_ATTRIBUTE3,
2754 GLOBAL_ATTRIBUTE4,
2755 GLOBAL_ATTRIBUTE5,
2756 GLOBAL_ATTRIBUTE6,
2757 GLOBAL_ATTRIBUTE7,
2758 GLOBAL_ATTRIBUTE8,
2759 GLOBAL_ATTRIBUTE9,
2760 GLOBAL_ATTRIBUTE10,
2761 GLOBAL_ATTRIBUTE11,
2762 GLOBAL_ATTRIBUTE12,
2763 GLOBAL_ATTRIBUTE13,
2764 GLOBAL_ATTRIBUTE14,
2765 GLOBAL_ATTRIBUTE15,
2766 GLOBAL_ATTRIBUTE16,
2767 GLOBAL_ATTRIBUTE17,
2768 GLOBAL_ATTRIBUTE18,
2769 GLOBAL_ATTRIBUTE19,
2770 GLOBAL_ATTRIBUTE20
2771 FROM MTL_ITEM_TEMPLATES MIT
2772 WHERE MIT.template_id = cp_template_id;
2773
2774 l_org_id mtl_item_templates.context_organization_id%TYPE;
2775
2776 BEGIN
2777
2778 l_org_id := NULL;
2779 OPEN c_get_context_org (cp_template_id => p_template_id);
2780 FETCH c_get_context_org INTO l_org_id;
2781 CLOSE c_get_context_org;
2782
2783 IF ( (l_org_id is NOT NULL) AND (l_org_id <> p_organization_id) ) THEN
2784 EGO_Item_Msg.Add_Error_Message
2785 (p_entity_index => 1
2786 ,p_application_short_name => 'EGO'
2787 ,p_message_name => 'EGO_INVALID_TEMPLATE_ORG'
2788 ,p_token_name1 => 'TEMPLATE_NAME'
2789 ,p_token_value1 => p_template_name
2790 ,p_translate1 => FALSE
2791 ,p_token_name2 => 'ORGANIZATION_CODE'
2792 ,p_token_value2 => p_organization_code
2793 ,p_translate2 => FALSE
2794 ,p_token_name3 => NULL
2795 ,p_token_value3 => NULL
2796 ,p_translate3 => FALSE
2797 );
2798 x_return_status := G_RET_STS_ERROR;
2799 RETURN;
2800 END IF; -- c_get_context_org%NOTFOUND
2801
2802 ------------------------------------
2803 -- Set item record attribute values
2804 ------------------------------------
2805 FOR cr IN c_get_template_attributes (cp_template_id => p_template_id) LOOP
2806 IF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCEPTABLE_EARLY_DAYS' THEN
2807 x_item_table(p_tab_index).ACCEPTABLE_EARLY_DAYS := cr.ATTRIBUTE_VALUE;
2808 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCEPTABLE_RATE_DECREASE' THEN
2809 x_item_table(p_tab_index).ACCEPTABLE_RATE_DECREASE := cr.ATTRIBUTE_VALUE;
2810 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCEPTABLE_RATE_INCREASE' THEN
2811 x_item_table(p_tab_index).ACCEPTABLE_RATE_INCREASE := cr.ATTRIBUTE_VALUE;
2812 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCOUNTING_RULE_ID' THEN
2813 x_item_table(p_tab_index).ACCOUNTING_RULE_ID := cr.ATTRIBUTE_VALUE;
2814 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOWED_UNITS_LOOKUP_CODE' THEN
2815 x_item_table(p_tab_index).ALLOWED_UNITS_LOOKUP_CODE := cr.ATTRIBUTE_VALUE;
2816 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_EXPRESS_DELIVERY_FLAG' THEN
2817 x_item_table(p_tab_index).ALLOW_EXPRESS_DELIVERY_FLAG := cr.ATTRIBUTE_VALUE;
2818 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_ITEM_DESC_UPDATE_FLAG' THEN
2819 x_item_table(p_tab_index).ALLOW_ITEM_DESC_UPDATE_FLAG := cr.ATTRIBUTE_VALUE;
2820 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_SUBSTITUTE_RECEIPTS_FLAG' THEN
2821 x_item_table(p_tab_index).ALLOW_SUBSTITUTE_RECEIPTS_FLAG := cr.ATTRIBUTE_VALUE;
2822 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_UNORDERED_RECEIPTS_FLAG' THEN
2823 x_item_table(p_tab_index).ALLOW_UNORDERED_RECEIPTS_FLAG := cr.ATTRIBUTE_VALUE;
2824 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ASSET_CATEGORY_ID' THEN
2825 x_item_table(p_tab_index).ASSET_CATEGORY_ID := cr.ATTRIBUTE_VALUE;
2826 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATP_COMPONENTS_FLAG' THEN
2827 x_item_table(p_tab_index).ATP_COMPONENTS_FLAG := cr.ATTRIBUTE_VALUE;
2828 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATP_FLAG' THEN
2829 x_item_table(p_tab_index).ATP_FLAG := cr.ATTRIBUTE_VALUE;
2830 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATP_RULE_ID' THEN
2831 x_item_table(p_tab_index).ATP_RULE_ID := cr.ATTRIBUTE_VALUE;
2832 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_LOT_ALPHA_PREFIX' THEN
2833 x_item_table(p_tab_index).AUTO_LOT_ALPHA_PREFIX := cr.ATTRIBUTE_VALUE;
2834 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_REDUCE_MPS' THEN
2835 x_item_table(p_tab_index).AUTO_REDUCE_MPS := cr.ATTRIBUTE_VALUE;
2836 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_SERIAL_ALPHA_PREFIX' THEN
2837 x_item_table(p_tab_index).AUTO_SERIAL_ALPHA_PREFIX := cr.ATTRIBUTE_VALUE;
2838 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BOM_ENABLED_FLAG' THEN
2839 x_item_table(p_tab_index).BOM_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
2840 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BOM_ITEM_TYPE' THEN
2841 x_item_table(p_tab_index).BOM_ITEM_TYPE := cr.ATTRIBUTE_VALUE;
2842 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BUILD_IN_WIP_FLAG' THEN
2843 x_item_table(p_tab_index).BUILD_IN_WIP_FLAG := cr.ATTRIBUTE_VALUE;
2844 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BUYER_ID' THEN
2845 x_item_table(p_tab_index).BUYER_ID := cr.ATTRIBUTE_VALUE;
2846 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CARRYING_COST' THEN
2847 x_item_table(p_tab_index).CARRYING_COST := cr.ATTRIBUTE_VALUE;
2848 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COLLATERAL_FLAG' THEN
2849 x_item_table(p_tab_index).COLLATERAL_FLAG := cr.ATTRIBUTE_VALUE;
2850 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COSTING_ENABLED_FLAG' THEN
2851 x_item_table(p_tab_index).COSTING_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
2852 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_CREATED_CONFIG_FLAG' THEN--3911562
2853 x_item_table(p_tab_index).auto_created_config_flag := cr.ATTRIBUTE_VALUE;
2854 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COVERAGE_SCHEDULE_ID' THEN
2855 x_item_table(p_tab_index).COVERAGE_SCHEDULE_ID := cr.ATTRIBUTE_VALUE;
2856 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUMULATIVE_TOTAL_LEAD_TIME' THEN
2857 x_item_table(p_tab_index).CUMULATIVE_TOTAL_LEAD_TIME := cr.ATTRIBUTE_VALUE;
2858 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUM_MANUFACTURING_LEAD_TIME' THEN
2859 x_item_table(p_tab_index).CUM_MANUFACTURING_LEAD_TIME := cr.ATTRIBUTE_VALUE;
2860 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_ENABLED_FLAG' THEN
2861 x_item_table(p_tab_index).CUSTOMER_ORDER_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
2862 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_FLAG' THEN
2863 x_item_table(p_tab_index).CUSTOMER_ORDER_FLAG := cr.ATTRIBUTE_VALUE;
2864 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CYCLE_COUNT_ENABLED_FLAG' THEN
2865 x_item_table(p_tab_index).CYCLE_COUNT_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
2866 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_EARLY_RECEIPT_ALLOWED' THEN
2867 x_item_table(p_tab_index).DAYS_EARLY_RECEIPT_ALLOWED := cr.ATTRIBUTE_VALUE;
2868 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_LATE_RECEIPT_ALLOWED' THEN
2869 x_item_table(p_tab_index).DAYS_LATE_RECEIPT_ALLOWED := cr.ATTRIBUTE_VALUE;
2870 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_INCLUDE_IN_ROLLUP_FLAG' THEN
2871 x_item_table(p_tab_index).DEFAULT_INCLUDE_IN_ROLLUP_FLAG := cr.ATTRIBUTE_VALUE;
2872 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_SHIPPING_ORG' THEN
2873 x_item_table(p_tab_index).DEFAULT_SHIPPING_ORG := cr.ATTRIBUTE_VALUE;
2874 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEMAND_TIME_FENCE_CODE' THEN
2875 x_item_table(p_tab_index).DEMAND_TIME_FENCE_CODE := cr.ATTRIBUTE_VALUE;
2876 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEMAND_TIME_FENCE_DAYS' THEN
2877 x_item_table(p_tab_index).DEMAND_TIME_FENCE_DAYS := cr.ATTRIBUTE_VALUE;
2878 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.END_ASSEMBLY_PEGGING_FLAG' THEN
2879 x_item_table(p_tab_index).END_ASSEMBLY_PEGGING_FLAG := cr.ATTRIBUTE_VALUE;
2880 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ENFORCE_SHIP_TO_LOCATION_CODE' THEN
2881 x_item_table(p_tab_index).ENFORCE_SHIP_TO_LOCATION_CODE := cr.ATTRIBUTE_VALUE;
2882 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPENSE_ACCOUNT' THEN
2883 x_item_table(p_tab_index).EXPENSE_ACCOUNT := cr.ATTRIBUTE_VALUE;
2884 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_DAYS_SUPPLY' THEN
2885 x_item_table(p_tab_index).FIXED_DAYS_SUPPLY := cr.ATTRIBUTE_VALUE;
2886 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_LEAD_TIME' THEN
2887 x_item_table(p_tab_index).FIXED_LEAD_TIME := cr.ATTRIBUTE_VALUE;
2888 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_LOT_MULTIPLIER' THEN
2889 x_item_table(p_tab_index).FIXED_LOT_MULTIPLIER := cr.ATTRIBUTE_VALUE;
2890 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_ORDER_QUANTITY' THEN
2891 x_item_table(p_tab_index).FIXED_ORDER_QUANTITY := cr.ATTRIBUTE_VALUE;
2892 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FULL_LEAD_TIME' THEN
2893 x_item_table(p_tab_index).FULL_LEAD_TIME := cr.ATTRIBUTE_VALUE;
2894 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.HAZARD_CLASS_ID' THEN
2895 x_item_table(p_tab_index).HAZARD_CLASS_ID := cr.ATTRIBUTE_VALUE;
2896 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INSPECTION_REQUIRED_FLAG' THEN
2897 x_item_table(p_tab_index).INSPECTION_REQUIRED_FLAG := cr.ATTRIBUTE_VALUE;
2898 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_ENABLED_FLAG' THEN
2899 x_item_table(p_tab_index).INTERNAL_ORDER_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
2900 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_FLAG' THEN
2901 x_item_table(p_tab_index).INTERNAL_ORDER_FLAG := cr.ATTRIBUTE_VALUE;
2902 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_ASSET_FLAG' THEN
2903 x_item_table(p_tab_index).INVENTORY_ASSET_FLAG := cr.ATTRIBUTE_VALUE;
2904 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_ITEM_FLAG' THEN
2905 x_item_table(p_tab_index).INVENTORY_ITEM_FLAG := cr.ATTRIBUTE_VALUE;
2906 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_ITEM_STATUS_CODE' THEN
2907 x_item_table(p_tab_index).INVENTORY_ITEM_STATUS_CODE := cr.ATTRIBUTE_VALUE;
2908 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_PLANNING_CODE' THEN
2909 x_item_table(p_tab_index).INVENTORY_PLANNING_CODE := cr.ATTRIBUTE_VALUE;
2910 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICEABLE_ITEM_FLAG' THEN
2911 x_item_table(p_tab_index).INVOICEABLE_ITEM_FLAG := cr.ATTRIBUTE_VALUE;
2912 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICE_CLOSE_TOLERANCE' THEN
2913 x_item_table(p_tab_index).INVOICE_CLOSE_TOLERANCE := cr.ATTRIBUTE_VALUE;
2914 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICE_ENABLED_FLAG' THEN
2915 x_item_table(p_tab_index).INVOICE_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
2916 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICING_RULE_ID' THEN
2917 x_item_table(p_tab_index).INVOICING_RULE_ID := cr.ATTRIBUTE_VALUE;
2918 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ITEM_TYPE' THEN
2919 x_item_table(p_tab_index).ITEM_TYPE := cr.ATTRIBUTE_VALUE;
2920 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LEAD_TIME_LOT_SIZE' THEN
2921 x_item_table(p_tab_index).LEAD_TIME_LOT_SIZE := cr.ATTRIBUTE_VALUE;
2922 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LIST_PRICE_PER_UNIT' THEN
2923 x_item_table(p_tab_index).LIST_PRICE_PER_UNIT := cr.ATTRIBUTE_VALUE;
2924 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOCATION_CONTROL_CODE' THEN
2925 x_item_table(p_tab_index).LOCATION_CONTROL_CODE := cr.ATTRIBUTE_VALUE;
2926 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_CONTROL_CODE' THEN
2927 x_item_table(p_tab_index).LOT_CONTROL_CODE := cr.ATTRIBUTE_VALUE;
2928 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MARKET_PRICE' THEN
2929 x_item_table(p_tab_index).MARKET_PRICE := cr.ATTRIBUTE_VALUE;
2930 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MATERIAL_BILLABLE_FLAG' THEN
2931 x_item_table(p_tab_index).MATERIAL_BILLABLE_FLAG := cr.ATTRIBUTE_VALUE;
2932 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAXIMUM_ORDER_QUANTITY' THEN
2933 x_item_table(p_tab_index).MAXIMUM_ORDER_QUANTITY := cr.ATTRIBUTE_VALUE;
2934 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAX_MINMAX_QUANTITY' THEN
2935 x_item_table(p_tab_index).MAX_MINMAX_QUANTITY := cr.ATTRIBUTE_VALUE;
2936 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MINIMUM_ORDER_QUANTITY' THEN
2937 x_item_table(p_tab_index).MINIMUM_ORDER_QUANTITY := cr.ATTRIBUTE_VALUE;
2938 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MIN_MINMAX_QUANTITY' THEN
2939 x_item_table(p_tab_index).MIN_MINMAX_QUANTITY := cr.ATTRIBUTE_VALUE;
2940 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_CALCULATE_ATP_FLAG' THEN
2941 x_item_table(p_tab_index).MRP_CALCULATE_ATP_FLAG := cr.ATTRIBUTE_VALUE;
2942 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_PLANNING_CODE' THEN
2943 x_item_table(p_tab_index).MRP_PLANNING_CODE := cr.ATTRIBUTE_VALUE;
2944 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_SAFETY_STOCK_CODE' THEN
2945 x_item_table(p_tab_index).MRP_SAFETY_STOCK_CODE := cr.ATTRIBUTE_VALUE;
2946 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_SAFETY_STOCK_PERCENT' THEN
2947 x_item_table(p_tab_index).MRP_SAFETY_STOCK_PERCENT := cr.ATTRIBUTE_VALUE;
2948 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MTL_TRANSACTIONS_ENABLED_FLAG' THEN
2949 x_item_table(p_tab_index).MTL_TRANSACTIONS_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
2950 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MUST_USE_APPROVED_VENDOR_FLAG' THEN
2951 x_item_table(p_tab_index).MUST_USE_APPROVED_VENDOR_FLAG := cr.ATTRIBUTE_VALUE;
2952 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.NEGATIVE_MEASUREMENT_ERROR' THEN
2953 x_item_table(p_tab_index).NEGATIVE_MEASUREMENT_ERROR := cr.ATTRIBUTE_VALUE;
2954 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ORDER_COST' THEN
2955 x_item_table(p_tab_index).ORDER_COST := cr.ATTRIBUTE_VALUE;
2956 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OUTSIDE_OPERATION_FLAG' THEN
2957 x_item_table(p_tab_index).OUTSIDE_OPERATION_FLAG := cr.ATTRIBUTE_VALUE;
2958 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OUTSIDE_OPERATION_UOM_TYPE' THEN
2959 x_item_table(p_tab_index).OUTSIDE_OPERATION_UOM_TYPE := cr.ATTRIBUTE_VALUE;
2960 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVERRUN_PERCENTAGE' THEN
2961 x_item_table(p_tab_index).OVERRUN_PERCENTAGE := cr.ATTRIBUTE_VALUE;
2962 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PAYMENT_TERMS_ID' THEN
2963 x_item_table(p_tab_index).PAYMENT_TERMS_ID := cr.ATTRIBUTE_VALUE;
2964 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PICKING_RULE_ID' THEN
2965 x_item_table(p_tab_index).PICKING_RULE_ID := cr.ATTRIBUTE_VALUE;
2966 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PICK_COMPONENTS_FLAG' THEN
2967 x_item_table(p_tab_index).PICK_COMPONENTS_FLAG := cr.ATTRIBUTE_VALUE;
2968 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_MAKE_BUY_CODE' THEN
2969 x_item_table(p_tab_index).PLANNING_MAKE_BUY_CODE := cr.ATTRIBUTE_VALUE;
2970 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_TIME_FENCE_CODE' THEN
2971 x_item_table(p_tab_index).PLANNING_TIME_FENCE_CODE := cr.ATTRIBUTE_VALUE;
2972 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_TIME_FENCE_DAYS' THEN
2973 x_item_table(p_tab_index).PLANNING_TIME_FENCE_DAYS := cr.ATTRIBUTE_VALUE;
2974 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.POSITIVE_MEASUREMENT_ERROR' THEN
2975 x_item_table(p_tab_index).POSITIVE_MEASUREMENT_ERROR := cr.ATTRIBUTE_VALUE;
2976 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.POSTPROCESSING_LEAD_TIME' THEN
2977 x_item_table(p_tab_index).POSTPROCESSING_LEAD_TIME := cr.ATTRIBUTE_VALUE;
2978 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PREPROCESSING_LEAD_TIME' THEN
2979 x_item_table(p_tab_index).PREPROCESSING_LEAD_TIME := cr.ATTRIBUTE_VALUE;
2980 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PRICE_TOLERANCE_PERCENT' THEN
2981 x_item_table(p_tab_index).PRICE_TOLERANCE_PERCENT := cr.ATTRIBUTE_VALUE;
2982 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PURCHASING_ENABLED_FLAG' THEN
2983 x_item_table(p_tab_index).PURCHASING_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
2984 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PURCHASING_ITEM_FLAG' THEN
2985 x_item_table(p_tab_index).PURCHASING_ITEM_FLAG := cr.ATTRIBUTE_VALUE;
2986 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.QTY_RCV_EXCEPTION_CODE' THEN
2987 x_item_table(p_tab_index).QTY_RCV_EXCEPTION_CODE := cr.ATTRIBUTE_VALUE;
2988 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.QTY_RCV_TOLERANCE' THEN
2989 x_item_table(p_tab_index).QTY_RCV_TOLERANCE := cr.ATTRIBUTE_VALUE;
2990 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIPT_DAYS_EXCEPTION_CODE' THEN
2991 x_item_table(p_tab_index).RECEIPT_DAYS_EXCEPTION_CODE := cr.ATTRIBUTE_VALUE;
2992 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIPT_REQUIRED_FLAG' THEN
2993 x_item_table(p_tab_index).RECEIPT_REQUIRED_FLAG := cr.ATTRIBUTE_VALUE;
2994 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIVE_CLOSE_TOLERANCE' THEN
2995 x_item_table(p_tab_index).RECEIVE_CLOSE_TOLERANCE := cr.ATTRIBUTE_VALUE;
2996 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIVING_ROUTING_ID' THEN
2997 x_item_table(p_tab_index).RECEIVING_ROUTING_ID := cr.ATTRIBUTE_VALUE;
2998 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPETITIVE_PLANNING_FLAG' THEN
2999 x_item_table(p_tab_index).REPETITIVE_PLANNING_FLAG := cr.ATTRIBUTE_VALUE;
3000 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPLENISH_TO_ORDER_FLAG' THEN
3001 x_item_table(p_tab_index).REPLENISH_TO_ORDER_FLAG := cr.ATTRIBUTE_VALUE;
3002 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESERVABLE_TYPE' THEN
3003 x_item_table(p_tab_index).RESERVABLE_TYPE := cr.ATTRIBUTE_VALUE;
3004 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESTRICT_LOCATORS_CODE' THEN
3005 x_item_table(p_tab_index).RESTRICT_LOCATORS_CODE := cr.ATTRIBUTE_VALUE;
3006 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESTRICT_SUBINVENTORIES_CODE' THEN
3007 x_item_table(p_tab_index).RESTRICT_SUBINVENTORIES_CODE := cr.ATTRIBUTE_VALUE;
3008 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RETURNABLE_FLAG' THEN
3009 x_item_table(p_tab_index).RETURNABLE_FLAG := cr.ATTRIBUTE_VALUE;
3010 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RETURN_INSPECTION_REQUIREMENT' THEN
3011 x_item_table(p_tab_index).RETURN_INSPECTION_REQUIREMENT := cr.ATTRIBUTE_VALUE;
3012 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REVISION_QTY_CONTROL_CODE' THEN
3013 x_item_table(p_tab_index).REVISION_QTY_CONTROL_CODE := cr.ATTRIBUTE_VALUE;
3014 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RFQ_REQUIRED_FLAG' THEN
3015 x_item_table(p_tab_index).RFQ_REQUIRED_FLAG := cr.ATTRIBUTE_VALUE;
3016 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ROUNDING_CONTROL_TYPE' THEN
3017 x_item_table(p_tab_index).ROUNDING_CONTROL_TYPE := cr.ATTRIBUTE_VALUE;
3018 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ROUNDING_FACTOR' THEN
3019 x_item_table(p_tab_index).ROUNDING_FACTOR := cr.ATTRIBUTE_VALUE;
3020 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SAFETY_STOCK_BUCKET_DAYS' THEN
3021 x_item_table(p_tab_index).SAFETY_STOCK_BUCKET_DAYS := cr.ATTRIBUTE_VALUE;
3022 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERIAL_NUMBER_CONTROL_CODE' THEN
3023 x_item_table(p_tab_index).SERIAL_NUMBER_CONTROL_CODE := cr.ATTRIBUTE_VALUE;
3024 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICEABLE_PRODUCT_FLAG' THEN
3025 x_item_table(p_tab_index).SERVICEABLE_PRODUCT_FLAG := cr.ATTRIBUTE_VALUE;
3026 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICE_DURATION' THEN
3027 x_item_table(p_tab_index).SERVICE_DURATION := cr.ATTRIBUTE_VALUE;
3028 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICE_DURATION_PERIOD_CODE' THEN
3029 x_item_table(p_tab_index).SERVICE_DURATION_PERIOD_CODE := cr.ATTRIBUTE_VALUE;
3030 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICE_STARTING_DELAY' THEN
3031 x_item_table(p_tab_index).SERVICE_STARTING_DELAY := cr.ATTRIBUTE_VALUE;
3032 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHELF_LIFE_CODE' THEN
3033 x_item_table(p_tab_index).SHELF_LIFE_CODE := cr.ATTRIBUTE_VALUE;
3034 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHELF_LIFE_DAYS' THEN
3035 x_item_table(p_tab_index).SHELF_LIFE_DAYS := cr.ATTRIBUTE_VALUE;
3036 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHIPPABLE_ITEM_FLAG' THEN
3037 x_item_table(p_tab_index).SHIPPABLE_ITEM_FLAG := cr.ATTRIBUTE_VALUE;
3038 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHIP_MODEL_COMPLETE_FLAG' THEN
3039 x_item_table(p_tab_index).SHIP_MODEL_COMPLETE_FLAG := cr.ATTRIBUTE_VALUE;
3040 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHRINKAGE_RATE' THEN
3041 x_item_table(p_tab_index).SHRINKAGE_RATE := cr.ATTRIBUTE_VALUE;
3042 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SOURCE_ORGANIZATION_ID' THEN
3043 x_item_table(p_tab_index).SOURCE_ORGANIZATION_ID := cr.ATTRIBUTE_VALUE;
3044 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SOURCE_SUBINVENTORY' THEN
3045 x_item_table(p_tab_index).SOURCE_SUBINVENTORY := cr.ATTRIBUTE_VALUE;
3046 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SOURCE_TYPE' THEN
3047 x_item_table(p_tab_index).SOURCE_TYPE := cr.ATTRIBUTE_VALUE;
3048 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SO_TRANSACTIONS_FLAG' THEN
3049 x_item_table(p_tab_index).SO_TRANSACTIONS_FLAG := cr.ATTRIBUTE_VALUE;
3050 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.START_AUTO_LOT_NUMBER' THEN
3051 x_item_table(p_tab_index).START_AUTO_LOT_NUMBER := cr.ATTRIBUTE_VALUE;
3052 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.START_AUTO_SERIAL_NUMBER' THEN
3053 x_item_table(p_tab_index).START_AUTO_SERIAL_NUMBER := cr.ATTRIBUTE_VALUE;
3054 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.STD_LOT_SIZE' THEN
3055 x_item_table(p_tab_index).STD_LOT_SIZE := cr.ATTRIBUTE_VALUE;
3056 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.STOCK_ENABLED_FLAG' THEN
3057 x_item_table(p_tab_index).STOCK_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
3058 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TAXABLE_FLAG' THEN
3059 x_item_table(p_tab_index).TAXABLE_FLAG := cr.ATTRIBUTE_VALUE;
3060 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PURCHASING_TAX_CODE' THEN
3061 x_item_table(p_tab_index).PURCHASING_TAX_CODE := cr.ATTRIBUTE_VALUE;
3062 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TAX_CODE' THEN
3063 x_item_table(p_tab_index).TAX_CODE := cr.ATTRIBUTE_VALUE;
3064 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_OF_ISSUE' THEN
3065 x_item_table(p_tab_index).UNIT_OF_ISSUE := cr.ATTRIBUTE_VALUE;
3066 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_VOLUME' THEN
3067 x_item_table(p_tab_index).UNIT_VOLUME := cr.ATTRIBUTE_VALUE;
3068 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_WEIGHT' THEN
3069 x_item_table(p_tab_index).UNIT_WEIGHT := cr.ATTRIBUTE_VALUE;
3070 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UN_NUMBER_ID' THEN
3071 x_item_table(p_tab_index).UN_NUMBER_ID := cr.ATTRIBUTE_VALUE;
3072 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VARIABLE_LEAD_TIME' THEN
3073 x_item_table(p_tab_index).VARIABLE_LEAD_TIME := cr.ATTRIBUTE_VALUE;
3074 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VOLUME_UOM_CODE' THEN
3075 x_item_table(p_tab_index).VOLUME_UOM_CODE := cr.ATTRIBUTE_VALUE;
3076 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WEIGHT_UOM_CODE' THEN
3077 x_item_table(p_tab_index).WEIGHT_UOM_CODE := cr.ATTRIBUTE_VALUE;
3078 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_TYPE' THEN
3079 x_item_table(p_tab_index).WIP_SUPPLY_TYPE := cr.ATTRIBUTE_VALUE;
3080 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATO_FORECAST_CONTROL' THEN
3081 x_item_table(p_tab_index).ATO_FORECAST_CONTROL := cr.ATTRIBUTE_VALUE;
3082 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DESCRIPTION' THEN
3083 x_item_table(p_tab_index).DESCRIPTION := cr.ATTRIBUTE_VALUE;
3084 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RELEASE_TIME_FENCE_CODE' THEN
3085 x_item_table(p_tab_index).RELEASE_TIME_FENCE_CODE := cr.ATTRIBUTE_VALUE;
3086 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RELEASE_TIME_FENCE_DAYS' THEN
3087 x_item_table(p_tab_index).RELEASE_TIME_FENCE_DAYS := cr.ATTRIBUTE_VALUE;
3088 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTAINER_ITEM_FLAG' THEN
3089 x_item_table(p_tab_index).CONTAINER_ITEM_FLAG := cr.ATTRIBUTE_VALUE;
3090 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTAINER_TYPE_CODE' THEN
3091 x_item_table(p_tab_index).CONTAINER_TYPE_CODE := cr.ATTRIBUTE_VALUE;
3092 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INTERNAL_VOLUME' THEN
3093 x_item_table(p_tab_index).INTERNAL_VOLUME := cr.ATTRIBUTE_VALUE;
3094 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAXIMUM_LOAD_WEIGHT' THEN
3095 x_item_table(p_tab_index).MAXIMUM_LOAD_WEIGHT := cr.ATTRIBUTE_VALUE;
3096 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MINIMUM_FILL_PERCENT' THEN
3097 x_item_table(p_tab_index).MINIMUM_FILL_PERCENT := cr.ATTRIBUTE_VALUE;
3098 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VEHICLE_ITEM_FLAG' THEN
3099 x_item_table(p_tab_index).VEHICLE_ITEM_FLAG := cr.ATTRIBUTE_VALUE;
3100 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHECK_SHORTAGES_FLAG' THEN
3101 x_item_table(p_tab_index).CHECK_SHORTAGES_FLAG := cr.ATTRIBUTE_VALUE;
3102 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EFFECTIVITY_CONTROL' THEN
3103 x_item_table(p_tab_index).EFFECTIVITY_CONTROL := cr.ATTRIBUTE_VALUE;
3104 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVERCOMPLETION_TOLERANCE_TYPE' THEN
3105 x_item_table(p_tab_index).OVERCOMPLETION_TOLERANCE_TYPE := cr.ATTRIBUTE_VALUE;
3106 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVERCOMPLETION_TOLERANCE_VALUE' THEN
3107 x_item_table(p_tab_index).OVERCOMPLETION_TOLERANCE_VALUE := cr.ATTRIBUTE_VALUE;
3108 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVER_SHIPMENT_TOLERANCE' THEN
3109 x_item_table(p_tab_index).OVER_SHIPMENT_TOLERANCE := cr.ATTRIBUTE_VALUE;
3110 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNDER_SHIPMENT_TOLERANCE' THEN
3111 x_item_table(p_tab_index).UNDER_SHIPMENT_TOLERANCE := cr.ATTRIBUTE_VALUE;
3112 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVER_RETURN_TOLERANCE' THEN
3113 x_item_table(p_tab_index).OVER_RETURN_TOLERANCE := cr.ATTRIBUTE_VALUE;
3114 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNDER_RETURN_TOLERANCE' THEN
3115 x_item_table(p_tab_index).UNDER_RETURN_TOLERANCE := cr.ATTRIBUTE_VALUE;
3116 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EQUIPMENT_TYPE' THEN
3117 x_item_table(p_tab_index).EQUIPMENT_TYPE := cr.ATTRIBUTE_VALUE;
3118 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECOVERED_PART_DISP_CODE' THEN
3119 x_item_table(p_tab_index).RECOVERED_PART_DISP_CODE := cr.ATTRIBUTE_VALUE;
3120 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFECT_TRACKING_ON_FLAG' THEN
3121 x_item_table(p_tab_index).DEFECT_TRACKING_ON_FLAG := cr.ATTRIBUTE_VALUE;
3122 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EVENT_FLAG' THEN
3123 x_item_table(p_tab_index).EVENT_FLAG := cr.ATTRIBUTE_VALUE;
3124 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ELECTRONIC_FLAG' THEN
3125 x_item_table(p_tab_index).ELECTRONIC_FLAG := cr.ATTRIBUTE_VALUE;
3126 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DOWNLOADABLE_FLAG' THEN
3127 x_item_table(p_tab_index).DOWNLOADABLE_FLAG := cr.ATTRIBUTE_VALUE;
3128 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VOL_DISCOUNT_EXEMPT_FLAG' THEN
3129 x_item_table(p_tab_index).VOL_DISCOUNT_EXEMPT_FLAG := cr.ATTRIBUTE_VALUE;
3130 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COUPON_EXEMPT_FLAG' THEN
3131 x_item_table(p_tab_index).COUPON_EXEMPT_FLAG := cr.ATTRIBUTE_VALUE;
3132 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COMMS_NL_TRACKABLE_FLAG' THEN
3133 x_item_table(p_tab_index).COMMS_NL_TRACKABLE_FLAG := cr.ATTRIBUTE_VALUE;
3134 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ASSET_CREATION_CODE' THEN
3135 x_item_table(p_tab_index).ASSET_CREATION_CODE := cr.ATTRIBUTE_VALUE;
3136 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COMMS_ACTIVATION_REQD_FLAG' THEN
3137 x_item_table(p_tab_index).COMMS_ACTIVATION_REQD_FLAG := cr.ATTRIBUTE_VALUE;
3138 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ORDERABLE_ON_WEB_FLAG' THEN
3139 x_item_table(p_tab_index).ORDERABLE_ON_WEB_FLAG := cr.ATTRIBUTE_VALUE;
3140 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BACK_ORDERABLE_FLAG' THEN
3141 x_item_table(p_tab_index).BACK_ORDERABLE_FLAG := cr.ATTRIBUTE_VALUE;
3142 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WEB_STATUS' THEN
3143 x_item_table(p_tab_index).WEB_STATUS := cr.ATTRIBUTE_VALUE;
3144 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INDIVISIBLE_FLAG' THEN
3145 x_item_table(p_tab_index).INDIVISIBLE_FLAG := cr.ATTRIBUTE_VALUE;
3146 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DIMENSION_UOM_CODE' THEN
3147 x_item_table(p_tab_index).DIMENSION_UOM_CODE := cr.ATTRIBUTE_VALUE;
3148 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_LENGTH' THEN
3149 x_item_table(p_tab_index).UNIT_LENGTH := cr.ATTRIBUTE_VALUE;
3150 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_WIDTH' THEN
3151 x_item_table(p_tab_index).UNIT_WIDTH := cr.ATTRIBUTE_VALUE;
3152 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_HEIGHT' THEN
3153 x_item_table(p_tab_index).UNIT_HEIGHT := cr.ATTRIBUTE_VALUE;
3154 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BULK_PICKED_FLAG' THEN
3155 x_item_table(p_tab_index).BULK_PICKED_FLAG := cr.ATTRIBUTE_VALUE;
3156 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_STATUS_ENABLED' THEN
3157 x_item_table(p_tab_index).LOT_STATUS_ENABLED := cr.ATTRIBUTE_VALUE;
3158 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_LOT_STATUS_ID' THEN
3159 x_item_table(p_tab_index).DEFAULT_LOT_STATUS_ID := cr.ATTRIBUTE_VALUE;
3160 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERIAL_STATUS_ENABLED' THEN
3161 x_item_table(p_tab_index).SERIAL_STATUS_ENABLED := cr.ATTRIBUTE_VALUE;
3162 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_SERIAL_STATUS_ID' THEN
3163 x_item_table(p_tab_index).DEFAULT_SERIAL_STATUS_ID := cr.ATTRIBUTE_VALUE;
3164 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_SPLIT_ENABLED' THEN
3165 x_item_table(p_tab_index).LOT_SPLIT_ENABLED := cr.ATTRIBUTE_VALUE;
3166 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_MERGE_ENABLED' THEN
3167 x_item_table(p_tab_index).LOT_MERGE_ENABLED := cr.ATTRIBUTE_VALUE;
3168 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_CARRY_PENALTY' THEN
3169 x_item_table(p_tab_index).INVENTORY_CARRY_PENALTY := cr.ATTRIBUTE_VALUE;
3170 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OPERATION_SLACK_PENALTY' THEN
3171 x_item_table(p_tab_index).OPERATION_SLACK_PENALTY := cr.ATTRIBUTE_VALUE;
3172 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FINANCING_ALLOWED_FLAG' THEN
3173 x_item_table(p_tab_index).FINANCING_ALLOWED_FLAG := cr.ATTRIBUTE_VALUE;
3174 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PRIMARY_UOM_CODE' THEN
3175 x_item_table(p_tab_index).PRIMARY_UOM_CODE := cr.ATTRIBUTE_VALUE;
3176 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ITEM_TYPE' THEN
3177 x_item_table(p_tab_index).EAM_ITEM_TYPE := cr.ATTRIBUTE_VALUE;
3178 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACTIVITY_TYPE_CODE' THEN
3179 x_item_table(p_tab_index).EAM_ACTIVITY_TYPE_CODE := cr.ATTRIBUTE_VALUE;
3180 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACTIVITY_CAUSE_CODE' THEN
3181 x_item_table(p_tab_index).EAM_ACTIVITY_CAUSE_CODE := cr.ATTRIBUTE_VALUE;
3182 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACT_NOTIFICATION_FLAG' THEN
3183 x_item_table(p_tab_index).EAM_ACT_NOTIFICATION_FLAG := cr.ATTRIBUTE_VALUE;
3184 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACT_SHUTDOWN_STATUS' THEN
3185 x_item_table(p_tab_index).EAM_ACT_SHUTDOWN_STATUS := cr.ATTRIBUTE_VALUE;
3186 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DUAL_UOM_CONTROL' THEN
3187 x_item_table(p_tab_index).DUAL_UOM_CONTROL := cr.ATTRIBUTE_VALUE;
3188 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SECONDARY_UOM_CODE' THEN
3189 x_item_table(p_tab_index).SECONDARY_UOM_CODE := cr.ATTRIBUTE_VALUE;
3190 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DUAL_UOM_DEVIATION_HIGH' THEN
3191 x_item_table(p_tab_index).DUAL_UOM_DEVIATION_HIGH := cr.ATTRIBUTE_VALUE;
3192 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DUAL_UOM_DEVIATION_LOW' THEN
3193 x_item_table(p_tab_index).DUAL_UOM_DEVIATION_LOW := cr.ATTRIBUTE_VALUE;
3194 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTRACT_ITEM_TYPE_CODE' THEN
3195 x_item_table(p_tab_index).CONTRACT_ITEM_TYPE_CODE := cr.ATTRIBUTE_VALUE;
3196 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SUBSCRIPTION_DEPEND_FLAG' THEN
3197 x_item_table(p_tab_index).SUBSCRIPTION_DEPEND_FLAG := cr.ATTRIBUTE_VALUE;
3198 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERV_REQ_ENABLED_CODE' THEN
3199 x_item_table(p_tab_index).SERV_REQ_ENABLED_CODE := cr.ATTRIBUTE_VALUE;
3200 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERV_BILLING_ENABLED_FLAG' THEN
3201 x_item_table(p_tab_index).SERV_BILLING_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
3202 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERV_IMPORTANCE_LEVEL' THEN
3203 x_item_table(p_tab_index).SERV_IMPORTANCE_LEVEL := cr.ATTRIBUTE_VALUE;
3204 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNED_INV_POINT_FLAG' THEN
3205 x_item_table(p_tab_index).PLANNED_INV_POINT_FLAG := cr.ATTRIBUTE_VALUE;
3206 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_TRANSLATE_ENABLED' THEN
3207 x_item_table(p_tab_index).LOT_TRANSLATE_ENABLED := cr.ATTRIBUTE_VALUE;
3208 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_SO_SOURCE_TYPE' THEN
3209 x_item_table(p_tab_index).DEFAULT_SO_SOURCE_TYPE := cr.ATTRIBUTE_VALUE;
3210 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CREATE_SUPPLY_FLAG' THEN
3211 x_item_table(p_tab_index).CREATE_SUPPLY_FLAG := cr.ATTRIBUTE_VALUE;
3212 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SUBSTITUTION_WINDOW_CODE' THEN
3213 x_item_table(p_tab_index).SUBSTITUTION_WINDOW_CODE := cr.ATTRIBUTE_VALUE;
3214 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_SUBSTITUTION_ENABLED' THEN
3215 x_item_table(p_tab_index).LOT_SUBSTITUTION_ENABLED := cr.ATTRIBUTE_VALUE;
3216 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MINIMUM_LICENSE_QUANTITY' THEN
3217 x_item_table(p_tab_index).MINIMUM_LICENSE_QUANTITY := cr.ATTRIBUTE_VALUE;
3218 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACTIVITY_SOURCE_CODE' THEN
3219 x_item_table(p_tab_index).EAM_ACTIVITY_SOURCE_CODE := cr.ATTRIBUTE_VALUE;
3220 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.IB_ITEM_INSTANCE_CLASS' THEN
3221 x_item_table(p_tab_index).IB_ITEM_INSTANCE_CLASS := cr.ATTRIBUTE_VALUE;
3222 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONFIG_MODEL_TYPE' THEN
3223 x_item_table(p_tab_index).CONFIG_MODEL_TYPE := cr.ATTRIBUTE_VALUE;
3224 --Start: 26 new attributes
3225 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TRACKING_QUANTITY_IND' THEN
3226 x_item_table(p_tab_index).tracking_quantity_ind := cr.ATTRIBUTE_VALUE;
3227 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ONT_PRICING_QTY_SOURCE' THEN
3228 x_item_table(p_tab_index).ont_pricing_qty_source := cr.ATTRIBUTE_VALUE;
3229 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SECONDARY_DEFAULT_IND' THEN
3230 x_item_table(p_tab_index).secondary_default_ind := cr.ATTRIBUTE_VALUE;
3231 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OPTION_SPECIFIC_SOURCED' THEN
3232 x_item_table(p_tab_index).option_specific_sourced := cr.ATTRIBUTE_VALUE;
3233 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MINIMUM_UNITS' THEN
3234 x_item_table(p_tab_index).vmi_minimum_units := cr.ATTRIBUTE_VALUE;
3235 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MINIMUM_DAYS' THEN
3236 x_item_table(p_tab_index).vmi_minimum_days := cr.ATTRIBUTE_VALUE;
3237 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MAXIMUM_UNITS' THEN
3238 x_item_table(p_tab_index).vmi_maximum_units := cr.ATTRIBUTE_VALUE;
3239 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MAXIMUM_DAYS' THEN
3240 x_item_table(p_tab_index).vmi_maximum_days := cr.ATTRIBUTE_VALUE;
3241 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_FIXED_ORDER_QUANTITY' THEN
3242 x_item_table(p_tab_index).vmi_fixed_order_quantity := cr.ATTRIBUTE_VALUE;
3243 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SO_AUTHORIZATION_FLAG' THEN
3244 x_item_table(p_tab_index).so_authorization_flag := cr.ATTRIBUTE_VALUE;
3245 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONSIGNED_FLAG' THEN
3246 x_item_table(p_tab_index).consigned_flag := cr.ATTRIBUTE_VALUE;
3247 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ASN_AUTOEXPIRE_FLAG' THEN
3248 x_item_table(p_tab_index).asn_autoexpire_flag := cr.ATTRIBUTE_VALUE;
3249 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_FORECAST_TYPE' THEN
3250 x_item_table(p_tab_index).vmi_forecast_type := cr.ATTRIBUTE_VALUE;
3251 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FORECAST_HORIZON' THEN
3252 x_item_table(p_tab_index).forecast_horizon := cr.ATTRIBUTE_VALUE;
3253 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXCLUDE_FROM_BUDGET_FLAG' THEN
3254 x_item_table(p_tab_index).exclude_from_budget_flag := cr.ATTRIBUTE_VALUE;
3255 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_TGT_INV_SUPPLY' THEN
3256 x_item_table(p_tab_index).days_tgt_inv_supply := cr.ATTRIBUTE_VALUE;
3257 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_TGT_INV_WINDOW' THEN
3258 x_item_table(p_tab_index).days_tgt_inv_window := cr.ATTRIBUTE_VALUE;
3259 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_MAX_INV_SUPPLY' THEN
3260 x_item_table(p_tab_index).days_max_inv_supply := cr.ATTRIBUTE_VALUE;
3261 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_MAX_INV_WINDOW' THEN
3262 x_item_table(p_tab_index).days_max_inv_window := cr.ATTRIBUTE_VALUE;
3263 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DRP_PLANNED_FLAG' THEN
3264 x_item_table(p_tab_index).drp_planned_flag := cr.ATTRIBUTE_VALUE;
3265 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CRITICAL_COMPONENT_FLAG' THEN
3266 x_item_table(p_tab_index).critical_component_flag := cr.ATTRIBUTE_VALUE;
3267 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTINOUS_TRANSFER' THEN
3268 x_item_table(p_tab_index).continous_transfer := cr.ATTRIBUTE_VALUE;
3269 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONVERGENCE' THEN
3270 x_item_table(p_tab_index).convergence := cr.ATTRIBUTE_VALUE;
3271 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DIVERGENCE' THEN
3272 x_item_table(p_tab_index).divergence := cr.ATTRIBUTE_VALUE;
3273 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONFIG_ORGS' THEN
3274 x_item_table(p_tab_index).config_orgs := cr.ATTRIBUTE_VALUE;
3275 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONFIG_MATCH' THEN
3276 x_item_table(p_tab_index).config_match := cr.ATTRIBUTE_VALUE;
3277 --End: 26 new attributes
3278 /* R12 Enhancement */
3279 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CAS_NUMBER' THEN
3280 x_item_table(p_tab_index).CAS_NUMBER := cr.ATTRIBUTE_VALUE;
3281 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_FLAG' THEN
3282 x_item_table(p_tab_index).CHILD_LOT_FLAG := cr.ATTRIBUTE_VALUE;
3283 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_PREFIX' THEN
3284 x_item_table(p_tab_index).CHILD_LOT_PREFIX := cr.ATTRIBUTE_VALUE;
3285 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_STARTING_NUMBER' THEN
3286 x_item_table(p_tab_index).CHILD_LOT_STARTING_NUMBER := cr.ATTRIBUTE_VALUE;
3287 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_VALIDATION_FLAG' THEN
3288 x_item_table(p_tab_index).CHILD_LOT_VALIDATION_FLAG := cr.ATTRIBUTE_VALUE;
3289 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COPY_LOT_ATTRIBUTE_FLAG' THEN
3290 x_item_table(p_tab_index).COPY_LOT_ATTRIBUTE_FLAG := cr.ATTRIBUTE_VALUE;
3291 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_GRADE ' THEN
3292 x_item_table(p_tab_index).DEFAULT_GRADE := cr.ATTRIBUTE_VALUE;
3293 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPIRATION_ACTION_CODE' THEN
3294 x_item_table(p_tab_index).EXPIRATION_ACTION_CODE := cr.ATTRIBUTE_VALUE;
3295 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPIRATION_ACTION_INTERVAL' THEN
3296 x_item_table(p_tab_index).EXPIRATION_ACTION_INTERVAL := cr.ATTRIBUTE_VALUE;
3297 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.GRADE_CONTROL_FLAG ' THEN
3298 x_item_table(p_tab_index).GRADE_CONTROL_FLAG := cr.ATTRIBUTE_VALUE;
3299 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.HAZARDOUS_MATERIAL_FLAG' THEN
3300 x_item_table(p_tab_index).HAZARDOUS_MATERIAL_FLAG := cr.ATTRIBUTE_VALUE;
3301 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.HOLD_DAYS' THEN
3302 x_item_table(p_tab_index).HOLD_DAYS := cr.ATTRIBUTE_VALUE;
3303 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_DIVISIBLE_FLAG' THEN
3304 x_item_table(p_tab_index).LOT_DIVISIBLE_FLAG := cr.ATTRIBUTE_VALUE;
3305 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MATURITY_DAYS' THEN
3306 x_item_table(p_tab_index).MATURITY_DAYS := cr.ATTRIBUTE_VALUE;
3307 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PARENT_CHILD_GENERATION_FLAG' THEN
3308 x_item_table(p_tab_index).PARENT_CHILD_GENERATION_FLAG := cr.ATTRIBUTE_VALUE;
3309 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_COSTING_ENABLED_FLAG' THEN
3310 x_item_table(p_tab_index).PROCESS_COSTING_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
3311 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_EXECUTION_ENABLED_FLAG' THEN
3312 x_item_table(p_tab_index).PROCESS_EXECUTION_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
3313 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_QUALITY_ENABLED_FLAG' THEN
3314 x_item_table(p_tab_index).PROCESS_QUALITY_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
3315 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_SUPPLY_LOCATOR_ID' THEN
3316 x_item_table(p_tab_index).PROCESS_SUPPLY_LOCATOR_ID := cr.ATTRIBUTE_VALUE;
3317 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_SUPPLY_SUBINVENTORY' THEN
3318 x_item_table(p_tab_index).PROCESS_SUPPLY_SUBINVENTORY := cr.ATTRIBUTE_VALUE;
3319 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_YIELD_LOCATOR_ID' THEN
3320 x_item_table(p_tab_index).PROCESS_YIELD_LOCATOR_ID := cr.ATTRIBUTE_VALUE;
3321 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_YIELD_SUBINVENTORY' THEN
3322 x_item_table(p_tab_index).PROCESS_YIELD_SUBINVENTORY := cr.ATTRIBUTE_VALUE;
3323 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECIPE_ENABLED_FLAG ' THEN
3324 x_item_table(p_tab_index).RECIPE_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
3325 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RETEST_INTERVAL' THEN
3326 x_item_table(p_tab_index).RETEST_INTERVAL := cr.ATTRIBUTE_VALUE;
3327 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHARGE_PERIODICITY_CODE ' THEN
3328 x_item_table(p_tab_index).CHARGE_PERIODICITY_CODE := cr.ATTRIBUTE_VALUE;
3329 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPAIR_LEADTIME' THEN
3330 x_item_table(p_tab_index).REPAIR_LEADTIME := cr.ATTRIBUTE_VALUE;
3331 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPAIR_YIELD' THEN
3332 x_item_table(p_tab_index).REPAIR_YIELD := cr.ATTRIBUTE_VALUE;
3333 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PREPOSITION_POINT ' THEN
3334 x_item_table(p_tab_index).PREPOSITION_POINT := cr.ATTRIBUTE_VALUE;
3335 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPAIR_PROGRAM' THEN
3336 x_item_table(p_tab_index).REPAIR_PROGRAM := cr.ATTRIBUTE_VALUE;
3337 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SUBCONTRACTING_COMPONENT' THEN
3338 x_item_table(p_tab_index).SUBCONTRACTING_COMPONENT := cr.ATTRIBUTE_VALUE;
3339 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OUTSOURCED_ASSEMBLY' THEN
3340 x_item_table(p_tab_index).OUTSOURCED_ASSEMBLY := cr.ATTRIBUTE_VALUE;
3341
3342 END IF; -- cr.ATTRIBUTE_NAME
3343 END LOOP; -- cursor c_get_template_attributes
3344
3345 IF ( (l_org_id is NOT NULL) AND (l_org_id = p_organization_id) ) THEN
3346 FOR cr IN c_get_org_template_attributes (cp_template_id => p_template_id) LOOP
3347
3348 IF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BASE_ITEM_ID' THEN
3349 x_item_table(p_tab_index).BASE_ITEM_ID := cr.ATTRIBUTE_VALUE;
3350 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COST_OF_SALES_ACCOUNT' THEN
3351 x_item_table(p_tab_index).COST_OF_SALES_ACCOUNT := cr.ATTRIBUTE_VALUE;
3352 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ENCUMBRANCE_ACCOUNT' THEN
3353 x_item_table(p_tab_index).ENCUMBRANCE_ACCOUNT := cr.ATTRIBUTE_VALUE;
3354 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPENSE_ACCOUNT' THEN
3355 x_item_table(p_tab_index).EXPENSE_ACCOUNT := cr.ATTRIBUTE_VALUE;
3356 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNER_CODE' THEN
3357 x_item_table(p_tab_index).PLANNER_CODE := cr.ATTRIBUTE_VALUE;
3358 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_EXCEPTION_SET' THEN
3359 x_item_table(p_tab_index).PLANNING_EXCEPTION_SET := cr.ATTRIBUTE_VALUE;
3360 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SALES_ACCOUNT' THEN
3361 x_item_table(p_tab_index).SALES_ACCOUNT := cr.ATTRIBUTE_VALUE;
3362 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_LOCATOR_ID' THEN
3363 x_item_table(p_tab_index).WIP_SUPPLY_LOCATOR_ID := cr.ATTRIBUTE_VALUE;
3364 ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_SUBINVENTORY' THEN
3365 x_item_table(p_tab_index).WIP_SUPPLY_SUBINVENTORY := cr.ATTRIBUTE_VALUE;
3366 END IF;
3367 END LOOP; -- cursor c_get_org_template_attributes
3368 END IF; -- cursor c_get_org_template_attributes
3369
3370 -- setting the flexible attributes here.
3371 FOR cr IN c_get_global_flex_fields (cp_template_id => p_template_id) LOOP
3372 --bug9803004 adding checks for null, or there will be ORA-01403: no data found
3373 IF cr.Global_Attribute_Category IS NOT NULL THEN
3374 x_item_table(p_tab_index).Global_Attribute_Category := NVL(cr.Global_Attribute_Category,x_item_table(p_tab_index).Global_Attribute_Category);
3375 END IF;
3376 IF cr.Global_Attribute1 IS NOT NULL THEN
3377 x_item_table(p_tab_index).Global_Attribute1 := NVL(cr.Global_Attribute1,x_item_table(p_tab_index).Global_Attribute1);
3378 END IF;
3379 IF cr.Global_Attribute2 IS NOT NULL THEN
3380 x_item_table(p_tab_index).Global_Attribute2 := NVL(cr.Global_Attribute2,x_item_table(p_tab_index).Global_Attribute2);
3381 END IF;
3382 IF cr.Global_Attribute3 IS NOT NULL THEN
3383 x_item_table(p_tab_index).Global_Attribute3 := NVL(cr.Global_Attribute3,x_item_table(p_tab_index).Global_Attribute3);
3384 END IF;
3385 IF cr.Global_Attribute4 IS NOT NULL THEN
3386 x_item_table(p_tab_index).Global_Attribute4 := NVL(cr.Global_Attribute4,x_item_table(p_tab_index).Global_Attribute4);
3387 END IF;
3388 IF cr.Global_Attribute5 IS NOT NULL THEN
3389 x_item_table(p_tab_index).Global_Attribute5 := NVL(cr.Global_Attribute5,x_item_table(p_tab_index).Global_Attribute5);
3390 END IF;
3391 IF cr.Global_Attribute6 IS NOT NULL THEN
3392 x_item_table(p_tab_index).Global_Attribute6 := NVL(cr.Global_Attribute6,x_item_table(p_tab_index).Global_Attribute6);
3393 END IF;
3394 IF cr.Global_Attribute7 IS NOT NULL THEN
3395 x_item_table(p_tab_index).Global_Attribute7 := NVL(cr.Global_Attribute7,x_item_table(p_tab_index).Global_Attribute7);
3396 END IF;
3397 IF cr.Global_Attribute8 IS NOT NULL THEN
3398 x_item_table(p_tab_index).Global_Attribute8 := NVL(cr.Global_Attribute8,x_item_table(p_tab_index).Global_Attribute8);
3399 END IF;
3400 IF cr.Global_Attribute9 IS NOT NULL THEN
3401 x_item_table(p_tab_index).Global_Attribute9 := NVL(cr.Global_Attribute9,x_item_table(p_tab_index).Global_Attribute9);
3402 END IF;
3403 IF cr.Global_Attribute10 IS NOT NULL THEN
3404 x_item_table(p_tab_index).Global_Attribute10 := NVL(cr.Global_Attribute10,x_item_table(p_tab_index).Global_Attribute10);
3405 END IF;
3406 IF cr.Global_Attribute11 IS NOT NULL THEN
3407 x_item_table(p_tab_index).Global_Attribute11 := NVL(cr.Global_Attribute11,x_item_table(p_tab_index).Global_Attribute11);
3408 END IF;
3409 IF cr.Global_Attribute12 IS NOT NULL THEN
3410 x_item_table(p_tab_index).Global_Attribute12 := NVL(cr.Global_Attribute12,x_item_table(p_tab_index).Global_Attribute12);
3411 END IF;
3412 IF cr.Global_Attribute13 IS NOT NULL THEN
3413 x_item_table(p_tab_index).Global_Attribute13 := NVL(cr.Global_Attribute13,x_item_table(p_tab_index).Global_Attribute13);
3414 END IF;
3415 IF cr.Global_Attribute14 IS NOT NULL THEN
3416 x_item_table(p_tab_index).Global_Attribute14 := NVL(cr.Global_Attribute14,x_item_table(p_tab_index).Global_Attribute14);
3417 END IF;
3418 IF cr.Global_Attribute15 IS NOT NULL THEN
3419 x_item_table(p_tab_index).Global_Attribute15 := NVL(cr.Global_Attribute15,x_item_table(p_tab_index).Global_Attribute15);
3420 END IF;
3421 IF cr.Global_Attribute16 IS NOT NULL THEN
3422 x_item_table(p_tab_index).Global_Attribute16 := NVL(cr.Global_Attribute16,x_item_table(p_tab_index).Global_Attribute16);
3423 END IF;
3424 IF cr.Global_Attribute17 IS NOT NULL THEN
3425 x_item_table(p_tab_index).Global_Attribute17 := NVL(cr.Global_Attribute17,x_item_table(p_tab_index).Global_Attribute17);
3426 END IF;
3427 IF cr.Global_Attribute18 IS NOT NULL THEN
3428 x_item_table(p_tab_index).Global_Attribute18 := NVL(cr.Global_Attribute18,x_item_table(p_tab_index).Global_Attribute18);
3429 END IF;
3430 IF cr.Global_Attribute19 IS NOT NULL THEN
3431 x_item_table(p_tab_index).Global_Attribute19 := NVL(cr.Global_Attribute19,x_item_table(p_tab_index).Global_Attribute19);
3432 END IF;
3433 IF cr.Global_Attribute20 IS NOT NULL THEN
3434 x_item_table(p_tab_index).Global_Attribute20 := NVL(cr.Global_Attribute20,x_item_table(p_tab_index).Global_Attribute20);
3435 END IF;
3436 END LOOP;
3437 x_return_status := G_RET_STS_SUCCESS;
3438
3439 EXCEPTION
3440 WHEN OTHERS THEN
3441 IF c_get_context_org%ISOPEN THEN
3442 CLOSE c_get_context_org;
3443 END IF;
3444 IF c_get_template_attributes%ISOPEN THEN
3445 CLOSE c_get_template_attributes;
3446 END IF;
3447 IF c_get_org_template_attributes%ISOPEN THEN
3448 CLOSE c_get_org_template_attributes;
3449 END IF;
3450 IF c_get_global_flex_fields%ISOPEN THEN
3451 CLOSE c_get_global_flex_fields;
3452 END IF;
3453 RAISE;
3454 END initialize_template_info;
3455
3456 ---------------------------------------------------------------------------
3457 Procedure Process_Item_Lifecycle(
3458 P_API_VERSION IN NUMBER,
3459 P_INIT_MSG_LIST IN VARCHAR2,
3460 P_INVENTORY_ITEM_ID IN NUMBER,
3461 P_ORGANIZATION_ID IN NUMBER,
3462 P_CATALOG_GROUP_ID IN NUMBER,
3463 P_LIFECYCLE_ID IN NUMBER,
3464 P_CURRENT_PHASE_ID IN NUMBER,
3465 P_ITEM_STATUS IN VARCHAR2,
3466 P_TRANSACTION_TYPE IN VARCHAR2,
3467 P_COMMIT IN VARCHAR2 DEFAULT G_FALSE,
3468 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
3469 X_MSG_COUNT OUT NOCOPY NUMBER) IS
3470 BEGIN
3471 -- create save point
3472 IF FND_API.To_Boolean(p_commit) THEN
3473 SAVEPOINT Process_Item_Lifecycle;
3474 END IF;
3475
3476 X_RETURN_STATUS := FND_API.g_RET_STS_SUCCESS;
3477 X_MSG_COUNT := 0;
3478
3479 IF (P_TRANSACTION_TYPE = G_TTYPE_CREATE) THEN
3480 Create_Item_Lifecycle(
3481 P_API_VERSION => P_API_VERSION,
3482 P_INIT_MSG_LIST => P_INIT_MSG_LIST,
3483 P_COMMIT => P_COMMIT,
3484 P_INVENTORY_ITEM_ID => P_INVENTORY_ITEM_ID,
3485 P_ORGANIZATION_ID => P_ORGANIZATION_ID,
3486 P_LIFECYCLE_ID => P_LIFECYCLE_ID,
3487 P_CURRENT_PHASE_ID => P_CURRENT_PHASE_ID,
3488 P_ITEM_STATUS => P_ITEM_STATUS,
3489 X_RETURN_STATUS => X_RETURN_STATUS,
3490 X_MSG_COUNT => X_MSG_COUNT);
3491 ELSIF (P_TRANSACTION_TYPE = G_TTYPE_UPDATE) THEN
3492 Update_Item_Lifecycle(
3493 P_API_VERSION => P_API_VERSION,
3494 P_INIT_MSG_LIST => P_INIT_MSG_LIST,
3495 P_COMMIT => P_COMMIT,
3496 P_INVENTORY_ITEM_ID => P_INVENTORY_ITEM_ID,
3497 P_ORGANIZATION_ID => P_ORGANIZATION_ID,
3498 P_CATALOG_GROUP_ID => P_CATALOG_GROUP_ID,
3499 P_LIFECYCLE_ID => P_LIFECYCLE_ID,
3500 P_CURRENT_PHASE_ID => P_CURRENT_PHASE_ID,
3501 P_ITEM_STATUS => P_ITEM_STATUS,
3502 X_RETURN_STATUS => X_RETURN_STATUS,
3503 X_MSG_COUNT => X_MSG_COUNT);
3504 END IF;
3505
3506 EXCEPTION
3507 WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
3508 IF FND_API.To_Boolean(p_commit) THEN
3509 ROLLBACK TO Process_Item_Lifecycle;
3510 END IF;
3511 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3512 WHEN others THEN
3513 IF FND_API.To_Boolean(p_commit) THEN
3514 ROLLBACK TO Process_Item_Lifecycle;
3515 END IF;
3516 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3517 END Process_Item_Lifecycle;
3518
3519 ---------------------------------------------------------------------------
3520 Procedure Create_Item_Lifecycle(
3521 P_API_VERSION IN NUMBER,
3522 P_INIT_MSG_LIST IN VARCHAR2,
3523 P_INVENTORY_ITEM_ID IN NUMBER,
3524 P_ORGANIZATION_ID IN NUMBER,
3525 P_LIFECYCLE_ID IN NUMBER,
3526 P_CURRENT_PHASE_ID IN NUMBER,
3527 P_ITEM_STATUS IN VARCHAR2,
3528 P_COMMIT IN VARCHAR2 DEFAULT G_FALSE,
3529 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
3530 X_MSG_COUNT OUT NOCOPY NUMBER) IS
3531 BEGIN
3532 -- create save point
3533 IF FND_API.To_Boolean(p_commit) THEN
3534 SAVEPOINT Create_Item_Lifecycle;
3535 END IF;
3536 X_RETURN_STATUS := FND_API.g_RET_STS_SUCCESS;
3537 X_MSG_COUNT := 0;
3538
3539 UPDATE MTL_SYSTEM_ITEMS_B SET LIFECYCLE_ID = P_LIFECYCLE_ID
3540 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3541 AND ORGANIZATION_ID = P_ORGANIZATION_ID;
3542
3543 UPDATE MTL_SYSTEM_ITEMS_B SET CURRENT_PHASE_ID = P_CURRENT_PHASE_ID
3544 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3545 AND ORGANIZATION_ID = P_ORGANIZATION_ID;
3546
3547 UPDATE MTL_SYSTEM_ITEMS_B SET INVENTORY_ITEM_STATUS_CODE = P_ITEM_STATUS
3548 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3549 AND ORGANIZATION_ID = P_ORGANIZATION_ID;
3550
3551 UPDATE MTL_PENDING_ITEM_STATUS SET LIFECYCLE_ID = P_LIFECYCLE_ID
3552 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3553 AND ORGANIZATION_ID = P_ORGANIZATION_ID;
3554
3555 UPDATE MTL_PENDING_ITEM_STATUS SET PHASE_ID = P_CURRENT_PHASE_ID
3556 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3557 AND ORGANIZATION_ID = P_ORGANIZATION_ID;
3558
3559 UPDATE MTL_PENDING_ITEM_STATUS SET STATUS_CODE = P_ITEM_STATUS
3560 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3561 AND ORGANIZATION_ID = P_ORGANIZATION_ID;
3562
3563 IF FND_API.To_Boolean(p_commit) THEN
3564 COMMIT WORK;
3565 END IF;
3566
3567 EXCEPTION
3568 WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
3569 IF FND_API.To_Boolean(p_commit) THEN
3570 ROLLBACK TO Create_Item_Lifecycle;
3571 END IF;
3572 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3573 WHEN others THEN
3574 IF FND_API.To_Boolean(p_commit) THEN
3575 ROLLBACK TO Create_Item_Lifecycle;
3576 END IF;
3577 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3578 END Create_Item_Lifecycle;
3579
3580 ---------------------------------------------------------------------------
3581 Procedure Update_Item_Lifecycle(
3582 P_API_VERSION IN NUMBER,
3583 P_INIT_MSG_LIST IN VARCHAR2,
3584 P_INVENTORY_ITEM_ID IN NUMBER,
3585 P_ORGANIZATION_ID IN NUMBER,
3586 P_CATALOG_GROUP_ID IN NUMBER,
3587 P_LIFECYCLE_ID IN NUMBER,
3588 P_CURRENT_PHASE_ID IN NUMBER,
3589 P_ITEM_STATUS IN VARCHAR2,
3590 P_COMMIT IN VARCHAR2 DEFAULT G_FALSE,
3591 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
3592 X_MSG_COUNT OUT NOCOPY NUMBER) IS
3593
3594 /*CURSOR ego_item_assigned_org_csr (
3595 v_inventory_item_id IN MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID%TYPE,
3596 v_master_organization_id IN MTL_SYSTEM_ITEMS_B.ORGANIZATION_ID%TYPE)
3597 IS
3598 SELECT ORGANIZATION_ID
3599 FROM MTL_SYSTEM_ITEMS_VL
3600 WHERE INVENTORY_ITEM_ID = v_inventory_item_id
3601 AND ORGANIZATION_ID <> v_master_organization_id;
3602 */
3603 /*Added for bug 7660662*/
3604 CURSOR ego_item_all_assigned_org_csr (
3605 v_inventory_item_id IN MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID%TYPE,
3606 v_master_organization_id IN MTL_SYSTEM_ITEMS_B.ORGANIZATION_ID%TYPE)
3607 IS
3608 SELECT ORGANIZATION_ID
3609 FROM MTL_SYSTEM_ITEMS_VL msi
3610 WHERE msi.INVENTORY_ITEM_ID = v_inventory_item_id
3611 and exists (select 1 from mtl_parameters
3612 where organization_id=msi.organization_id
3613 and master_organization_id=v_master_organization_id);
3614
3615 L_SYSDATE DATE := Sysdate;
3616 L_LIFECYCLE_ID NUMBER;
3617 L_CURRENT_PHASE_ID NUMBER;
3618 L_MASTER_ORGANIZATION_ID NUMBER;
3619 L_ORGANIZATION_ID NUMBER;
3620 /* L_ITEM_ASSIGNED_ORG_REC ego_item_assigned_org_csr%ROWTYPE;*/
3621 L_CONTROL_LEVEL NUMBER;
3622
3623 --Bug 13489639
3624 L_CURRENT_STATUS_CODE VARCHAR2(100);
3625 L_UPDATE_STATUS_HIS_IND boolean default true;
3626
3627 BEGIN
3628 -- create save point
3629 IF FND_API.To_Boolean(p_commit) THEN
3630 SAVEPOINT Update_Item_Lifecycle;
3631 END IF;
3632 X_RETURN_STATUS := FND_API.g_RET_STS_SUCCESS;
3633 X_MSG_COUNT := 0;
3634
3635 --Bug 13489639
3636 SELECT MAX(MPIS.status_code) INTO L_CURRENT_STATUS_CODE FROM MTL_PENDING_ITEM_STATUS MPIS WHERE MPIS.INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID AND MPIS.ORGANIZATION_ID = P_ORGANIZATION_ID AND
3637 MPIS.pending_flag = 'N' AND effective_date = (SELECT MAX(effective_date) FROM MTL_PENDING_ITEM_STATUS STA WHERE STA.INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID AND STA.ORGANIZATION_ID = P_ORGANIZATION_ID AND STA.pending_flag = 'N');
3638
3639 IF L_CURRENT_STATUS_CODE IS NULL THEN
3640 L_UPDATE_STATUS_HIS_IND := FALSE;
3641 ELSIF (P_ITEM_STATUS = L_CURRENT_STATUS_CODE) THEN
3642 L_UPDATE_STATUS_HIS_IND := FALSE;
3643 END IF;
3644
3645 L_MASTER_ORGANIZATION_ID := EGO_ITEM_PUB.Get_Master_Organization_Id(P_ORGANIZATION_ID => P_ORGANIZATION_ID);
3646 /*Changed for bug 7660662*/
3647
3648 --IF (P_ORGANIZATION_ID = L_MASTER_ORGANIZATION_ID) THEN
3649 /*Changes for bug 7659489. Even when ICC is not associated to an item changes to Item status should be inserted into MTL_PENDING_ITEM_STATUSES
3650 so that the history of changes is properly logged*/
3651 L_CONTROL_LEVEL := EGO_ITEM_PUB.Get_Item_Attr_Control_Level(P_ITEM_ATTRIBUTE => 'MTL_SYSTEM_ITEMS.INVENTORY_ITEM_STATUS_CODE');
3652 IF (P_CATALOG_GROUP_ID IS NULL) THEN
3653 FOR rec IN ego_item_all_assigned_org_csr(v_inventory_item_id=> P_INVENTORY_ITEM_ID,v_master_organization_id => L_MASTER_ORGANIZATION_ID) LOOP
3654
3655 UPDATE MTL_SYSTEM_ITEMS_B SET LIFECYCLE_ID = NULL
3656 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3657 AND ORGANIZATION_ID = rec.organization_id;
3658
3659 UPDATE MTL_SYSTEM_ITEMS_B SET CURRENT_PHASE_ID = NULL
3660 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3661 AND ORGANIZATION_ID = rec.organization_id;
3662
3663 /*Added for bug 7659489*/
3664 IF ((L_CONTROL_LEVEL = 1) AND (P_ORGANIZATION_ID = L_MASTER_ORGANIZATION_ID) AND L_UPDATE_STATUS_HIS_IND) THEN
3665 INSERT INTO MTL_PENDING_ITEM_STATUS(
3666 INVENTORY_ITEM_ID,
3667 ORGANIZATION_ID,
3668 EFFECTIVE_DATE,
3669 IMPLEMENTED_DATE,
3670 PENDING_FLAG,
3671 LAST_UPDATE_DATE,
3672 LAST_UPDATED_BY,
3673 CREATION_DATE,
3674 CREATED_BY,
3675 LIFECYCLE_ID,
3676 PHASE_ID,
3677 STATUS_CODE)
3678 VALUES(
3679 P_INVENTORY_ITEM_ID,
3680 rec.organization_id,
3681 L_SYSDATE,
3682 L_SYSDATE,
3683 'N',
3684 L_SYSDATE,
3685 g_USER_ID,
3686 L_SYSDATE,
3687 g_USER_ID,
3688 P_LIFECYCLE_ID,
3689 P_CURRENT_PHASE_ID,
3690 P_ITEM_STATUS);
3691 END IF;
3692 /*End of bug 7659489*/
3693 END LOOP;
3694 /*Added for bug 7659489*/
3695 IF (L_CONTROL_LEVEL = 2 AND L_UPDATE_STATUS_HIS_IND) THEN
3696 INSERT INTO MTL_PENDING_ITEM_STATUS(
3697 INVENTORY_ITEM_ID,
3698 ORGANIZATION_ID,
3699 EFFECTIVE_DATE,
3700 IMPLEMENTED_DATE,
3701 PENDING_FLAG,
3702 LAST_UPDATE_DATE,
3703 LAST_UPDATED_BY,
3704 CREATION_DATE,
3705 CREATED_BY,
3706 LIFECYCLE_ID,
3707 PHASE_ID,
3708 STATUS_CODE)
3709 VALUES(
3710 P_INVENTORY_ITEM_ID,
3711 P_ORGANIZATION_ID,
3712 L_SYSDATE,
3713 L_SYSDATE,
3714 'N',
3715 L_SYSDATE,
3716 g_USER_ID,
3717 L_SYSDATE,
3718 g_USER_ID,
3719 P_LIFECYCLE_ID,
3720 P_CURRENT_PHASE_ID,
3721 P_ITEM_STATUS);
3722 END IF;
3723 /*End of bug 7659489*/
3724 ELSE
3725 /*L_CONTROL_LEVEL := EGO_ITEM_PUB.Get_Item_Attr_Control_Level(P_ITEM_ATTRIBUTE => 'MTL_SYSTEM_ITEMS.INVENTORY_ITEM_STATUS_CODE');*/ /*Commented for bug 7659489*/
3726
3727 /*IF Master control then insert for all the organizations with Pending status as 'N'*/
3728 IF ((L_CONTROL_LEVEL = 1) AND (P_ORGANIZATION_ID = L_MASTER_ORGANIZATION_ID))
3729 THEN
3730 FOR rec IN ego_item_all_assigned_org_csr(v_inventory_item_id=> P_INVENTORY_ITEM_ID,v_master_organization_id => L_MASTER_ORGANIZATION_ID) LOOP
3731
3732 UPDATE MTL_SYSTEM_ITEMS_B SET LIFECYCLE_ID = P_LIFECYCLE_ID
3733 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3734 AND ORGANIZATION_ID = rec.organization_id;
3735
3736 UPDATE MTL_SYSTEM_ITEMS_B SET CURRENT_PHASE_ID = P_CURRENT_PHASE_ID
3737 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3738 AND ORGANIZATION_ID = rec.organization_id;
3739
3740 if(L_UPDATE_STATUS_HIS_IND) then
3741 INSERT INTO MTL_PENDING_ITEM_STATUS(
3742 INVENTORY_ITEM_ID,
3743 ORGANIZATION_ID,
3744 EFFECTIVE_DATE,
3745 IMPLEMENTED_DATE,
3746 PENDING_FLAG,
3747 LAST_UPDATE_DATE,
3748 LAST_UPDATED_BY,
3749 CREATION_DATE,
3750 CREATED_BY,
3751 LIFECYCLE_ID,
3752 PHASE_ID,
3753 STATUS_CODE)
3754 VALUES(
3755 P_INVENTORY_ITEM_ID,
3756 rec.organization_id,
3757 L_SYSDATE,
3758 L_SYSDATE,
3759 'N',
3760 L_SYSDATE,
3761 g_USER_ID,
3762 L_SYSDATE,
3763 g_USER_ID,
3764 P_LIFECYCLE_ID,
3765 P_CURRENT_PHASE_ID,
3766 P_ITEM_STATUS);
3767 end if;
3768 END LOOP;
3769 /*If Org controlled then insert only for the specific organization with pending status as 'N'*/
3770 ELSIF (L_CONTROL_LEVEL = 2) THEN
3771 -- Org Control
3772 UPDATE MTL_SYSTEM_ITEMS_B SET LIFECYCLE_ID = P_LIFECYCLE_ID
3773 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3774 AND ORGANIZATION_ID = P_ORGANIZATION_ID;
3775
3776 UPDATE MTL_SYSTEM_ITEMS_B SET CURRENT_PHASE_ID = P_CURRENT_PHASE_ID
3777 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3778 AND ORGANIZATION_ID = P_ORGANIZATION_ID;
3779
3780 if(L_UPDATE_STATUS_HIS_IND) then
3781 INSERT INTO MTL_PENDING_ITEM_STATUS(
3782 INVENTORY_ITEM_ID,
3783 ORGANIZATION_ID,
3784 EFFECTIVE_DATE,
3785 IMPLEMENTED_DATE,
3786 PENDING_FLAG,
3787 LAST_UPDATE_DATE,
3788 LAST_UPDATED_BY,
3789 CREATION_DATE,
3790 CREATED_BY,
3791 LIFECYCLE_ID,
3792 PHASE_ID,
3793 STATUS_CODE)
3794 VALUES(
3795 P_INVENTORY_ITEM_ID,
3796 P_ORGANIZATION_ID,
3797 L_SYSDATE,
3798 L_SYSDATE,
3799 'N',
3800 L_SYSDATE,
3801 g_USER_ID,
3802 L_SYSDATE,
3803 g_USER_ID,
3804 P_LIFECYCLE_ID,
3805 P_CURRENT_PHASE_ID,
3806 P_ITEM_STATUS);
3807 end if;
3808 END IF;
3809 END IF;
3810 /*End of change for bug 7660662*/
3811 Update_Item_Attr_Ext(
3812 P_API_VERSION => P_API_VERSION,
3813 P_INIT_MSG_LIST => P_INIT_MSG_LIST,
3814 P_COMMIT => P_COMMIT,
3815 P_INVENTORY_ITEM_ID => P_INVENTORY_ITEM_ID,
3816 P_ITEM_CATALOG_GROUP_ID => P_CATALOG_GROUP_ID,
3817 X_RETURN_STATUS => X_RETURN_STATUS,
3818 X_MSG_COUNT => X_MSG_COUNT);
3819
3820 IF FND_API.To_Boolean(p_commit) THEN
3821 COMMIT WORK;
3822 END IF;
3823
3824 EXCEPTION
3825 WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
3826 IF FND_API.To_Boolean(p_commit) THEN
3827 ROLLBACK TO Update_Item_Lifecycle;
3828 END IF;
3829 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3830 WHEN others THEN
3831 IF FND_API.To_Boolean(p_commit) THEN
3832 ROLLBACK TO Update_Item_Lifecycle;
3833 END IF;
3834 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3835
3836 END Update_Item_Lifecycle;
3837
3838 ---------------------------------------------------------------------------
3839 Procedure Update_Item_Attr_Ext(
3840 P_API_VERSION IN NUMBER,
3841 P_INIT_MSG_LIST IN VARCHAR2,
3842 P_INVENTORY_ITEM_ID IN NUMBER,
3843 P_ITEM_CATALOG_GROUP_ID IN NUMBER,
3844 P_COMMIT IN VARCHAR2 DEFAULT G_FALSE,
3845 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
3846 X_MSG_COUNT OUT NOCOPY NUMBER) IS
3847
3848 BEGIN
3849
3850 -- create save point
3851 IF FND_API.To_Boolean(p_commit) THEN
3852 SAVEPOINT Update_Item_Attr_Ext;
3853 END IF;
3854
3855 X_RETURN_STATUS := FND_API.g_RET_STS_SUCCESS;
3856 X_MSG_COUNT := 0;
3857
3858 IF (P_ITEM_CATALOG_GROUP_ID IS NULL) THEN --delete query changed by absinha for Bug 3542129
3859 DELETE FROM EGO_MTL_SY_ITEMS_EXT_B WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3860 AND ATTR_GROUP_ID NOT IN (SELECT ATTR_GROUP_ID FROM EGO_ATTR_GROUPS_V WHERE APPLICATION_ID = 431
3861 AND ATTR_GROUP_TYPE = 'EGO_ITEMMGMT_GROUP' AND (ATTR_GROUP_NAME = 'ItemDetailDesc' OR ATTR_GROUP_NAME = 'ItemDetailImage'));
3862 DELETE FROM EGO_MTL_SY_ITEMS_EXT_TL WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3863 AND ATTR_GROUP_ID NOT IN (SELECT ATTR_GROUP_ID FROM EGO_ATTR_GROUPS_V WHERE APPLICATION_ID = 431
3864 AND ATTR_GROUP_TYPE = 'EGO_ITEMMGMT_GROUP' AND (ATTR_GROUP_NAME = 'ItemDetailDesc' OR ATTR_GROUP_NAME = 'ItemDetailImage'));
3865 ELSE
3866 UPDATE EGO_MTL_SY_ITEMS_EXT_B
3867 SET ITEM_CATALOG_GROUP_ID = P_ITEM_CATALOG_GROUP_ID
3868 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID;
3869
3870 UPDATE EGO_MTL_SY_ITEMS_EXT_TL
3871 SET ITEM_CATALOG_GROUP_ID = P_ITEM_CATALOG_GROUP_ID
3872 WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID;
3873 END IF;
3874
3875 IF FND_API.To_Boolean(p_commit) THEN
3876 COMMIT WORK;
3877 END IF;
3878
3879 EXCEPTION
3880 WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
3881 IF FND_API.To_Boolean(p_commit) THEN
3882 ROLLBACK TO Update_Item_Attr_Ext;
3883 END IF;
3884 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3885 WHEN others THEN
3886 IF FND_API.To_Boolean(p_commit) THEN
3887 ROLLBACK TO Update_Item_Attr_Ext;
3888 END IF;
3889 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3890 END Update_Item_Attr_Ext;
3891
3892
3893 FUNCTION Get_Master_Organization_Id(P_ORGANIZATION_ID IN NUMBER) RETURN NUMBER IS
3894 L_MASTER_ORGANIZATION_ID NUMBER;
3895 BEGIN
3896 SELECT MP.MASTER_ORGANIZATION_ID INTO L_MASTER_ORGANIZATION_ID
3897 FROM MTL_PARAMETERS MP
3898 WHERE MP.ORGANIZATION_ID = P_ORGANIZATION_ID;
3899
3900 RETURN L_MASTER_ORGANIZATION_ID;
3901
3902 END Get_Master_Organization_Id;
3903
3904 FUNCTION Get_Item_Attr_Control_Level(P_ITEM_ATTRIBUTE IN VARCHAR2) RETURN NUMBER IS
3905 L_CONTROL_LEVEL NUMBER;
3906 BEGIN
3907 SELECT LOOKUP_CODE2 INTO L_CONTROL_LEVEL
3908 FROM MTL_ITEM_ATTRIBUTES_V
3909 WHERE ATTRIBUTE_NAME = P_ITEM_ATTRIBUTE;
3910
3911 RETURN L_CONTROL_LEVEL;
3912
3913 END Get_Item_Attr_Control_Level;
3914
3915 /* Below Function is modified for the Bug 7459346 */
3916 FUNCTION Get_Item_Count(
3917 p_catalog_group_id IN NUMBER
3918 ,p_organization_id IN NUMBER) RETURN NUMBER
3919 IS
3920 l_total_count NUMBER :=0;
3921 l_cat_count NUMBER := 0;
3922 BEGIN
3923 SELECT COUNT(1) INTO l_cat_count
3924 FROM mtl_item_catalog_groups_b b
3925 CONNECT BY PRIOR item_catalog_group_id = parent_catalog_group_id
3926 START WITH b.item_catalog_group_id = p_catalog_group_id;
3927
3928 IF l_cat_count = 0 THEN
3929 SELECT COUNT(1) into l_total_count
3930 FROM mtl_system_items_b a
3931 WHERE a.organization_id = p_organization_id;
3932 ELSE
3933 SELECT COUNT(1) into l_total_count FROM mtl_system_items_b a
3934 WHERE a.organization_id = p_organization_id
3935 AND item_catalog_group_id in (SELECT item_catalog_group_id
3936 FROM mtl_item_catalog_groups_b b
3937 CONNECT BY PRIOR item_catalog_group_id = parent_catalog_group_id
3938 START WITH b.item_catalog_group_id = p_catalog_group_id );
3939 END IF;
3940
3941 RETURN l_total_count;
3942
3943 EXCEPTION WHEN OTHERS THEN
3944 NULL;
3945 END get_item_count;
3946
3947 FUNCTION Get_Category_Item_Count(
3948 P_CATEGORY_SET_ID IN NUMBER,
3949 P_CATEGORY_ID IN NUMBER,
3950 P_ORGANIZATION_ID IN NUMBER) RETURN NUMBER IS
3951
3952 l_total_count NUMBER := 0;
3953 BEGIN
3954 IF (P_CATEGORY_ID <> -1) THEN
3955 select count(*) into l_total_count
3956 from mtl_item_categories a
3957 where category_id in (
3958 select category_id
3959 from mtl_category_set_valid_cats
3960 start with category_id = P_CATEGORY_ID
3961 and category_set_id = P_CATEGORY_SET_ID --Corrected the connect clause in count query
3962 connect by prior category_id = parent_category_id
3963 and category_set_id = P_CATEGORY_SET_ID)
3964 and a.organization_id = P_ORGANIZATION_ID
3965 and a.category_set_id = P_CATEGORY_SET_ID;
3966 ELSE
3967 select count(*) into l_total_count
3968 from mtl_item_categories a
3969 where a.organization_id = P_ORGANIZATION_ID
3970 and a.category_set_id = P_CATEGORY_SET_ID;
3971 END IF;
3972
3973 return l_total_count;
3974
3975 EXCEPTION
3976 WHEN OTHERS THEN
3977 NULL;
3978 END Get_Category_Item_Count;
3979
3980 FUNCTION Get_Category_Hierarchy_Names(
3981 P_CATEGORY_SET_ID IN NUMBER,
3982 P_CATEGORY_ID IN NUMBER) RETURN VARCHAR2 IS
3983
3984 CURSOR get_parent_category_id_csr
3985 (p_category_set_id IN NUMBER,
3986 p_category_id IN NUMBER ) IS
3987 SELECT IC.CATEGORY_ID,
3988 IC.PARENT_CATEGORY_ID
3989 FROM MTL_CATEGORY_SET_VALID_CATS IC
3990 START WITH CATEGORY_ID = p_category_id --3030474
3991 AND CATEGORY_SET_ID = p_category_set_id
3992 CONNECT BY PRIOR PARENT_CATEGORY_ID = CATEGORY_ID
3993 AND CATEGORY_SET_ID = p_category_set_id;
3994
3995 l_parent_categories get_parent_category_id_csr%ROWTYPE;
3996 l_category_set_name VARCHAR2(30);
3997 l_category_name VARCHAR2(820); --Bug 9787973: increase size
3998 l_category_hierarchy_names VARCHAR2(1000);
3999 l_tmp_names VARCHAR2(1000);
4000
4001 BEGIN
4002
4003 SELECT CATEGORY_SET_NAME into l_category_set_name
4004 FROM MTL_CATEGORY_SETS_VL
4005 WHERE CATEGORY_SET_ID = P_CATEGORY_SET_ID;
4006
4007 OPEN get_parent_category_id_csr
4008 (p_category_set_id => P_CATEGORY_SET_ID,
4009 p_category_id => P_CATEGORY_ID);
4010 LOOP
4011 FETCH get_parent_category_id_csr into l_parent_categories;
4012 EXIT WHEN get_parent_category_id_csr%NOTFOUND;
4013
4014 SELECT C.CONCATENATED_SEGMENTS into l_category_name
4015 FROM MTL_CATEGORIES_KFV C
4016 WHERE C.CATEGORY_ID = l_parent_categories.CATEGORY_ID;
4017
4018 l_tmp_names := l_category_hierarchy_names;
4019 IF (l_tmp_names IS NULL) THEN
4020 l_category_hierarchy_names := l_category_name;
4021 ELSE
4022 l_category_hierarchy_names := l_category_name || ' > ' || l_tmp_names;
4023 END IF;
4024 END LOOP;
4025 CLOSE get_parent_category_id_csr;
4026
4027 l_tmp_names := l_category_hierarchy_names;
4028 --Bug: 3018903 Added If condition
4029 IF l_tmp_names IS NOT NULL THEN
4030 l_category_hierarchy_names := l_category_set_name || ' > ' || l_tmp_names;
4031 ELSE
4032 SELECT C.CONCATENATED_SEGMENTS into l_category_hierarchy_names
4033 FROM MTL_CATEGORIES_KFV C
4034 WHERE C.CATEGORY_ID = p_category_id;
4035 END IF;
4036
4037 RETURN l_category_hierarchy_names;
4038
4039 END Get_Category_Hierarchy_Names;
4040
4041 --------------------------------------------------------------------------------
4042 -- Added for bug 3781216
4043 PROCEDURE Apply_Templ_User_Attrs_To_Item (
4044 p_api_version IN NUMBER
4045 ,p_mode IN VARCHAR2 -- if CREATE, just apply. else check change policy
4046 ,p_item_id IN NUMBER
4047 ,p_organization_id IN NUMBER
4048 ,p_template_id IN NUMBER
4049 ,p_object_name IN VARCHAR2
4050 ,p_class_code_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY
4051 ,p_data_level_name_value_pairs IN EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
4052 ,x_return_status OUT NOCOPY VARCHAR2
4053 ,x_errorcode OUT NOCOPY NUMBER
4054 ,x_msg_count OUT NOCOPY NUMBER
4055 ,x_msg_data OUT NOCOPY VARCHAR2
4056 ) IS
4057
4058 l_api_name CONSTANT VARCHAR2(30) := 'Apply_Templ_User_Attrs_To_Item';
4059 l_api_version CONSTANT NUMBER := 1.0;
4060 l_policy_object_name CONSTANT VARCHAR2(30) := 'CATALOG_LIFECYCLE_PHASE';
4061 l_policy_code CONSTANT VARCHAR2(30) := 'CHANGE_POLICY';
4062 l_attr_object_name CONSTANT VARCHAR2(30) := 'EGO_CATALOG_GROUP';
4063 l_attr_code CONSTANT VARCHAR2(30) := 'ATTRIBUTE_GROUP';
4064 l_acceptable_policy CONSTANT VARCHAR2(30) := 'ALLOWED';
4065
4066 l_pk_column_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY;
4067 l_attr_group_ids EGO_NUMBER_TBL_TYPE := NULL;
4068 l_attr_group_ids_to_exclude EGO_NUMBER_TBL_TYPE := NULL;
4069 l_perform_dml BOOLEAN := TRUE;
4070 l_lc_catalog_cat_id NUMBER;
4071 l_catalog_category_id NUMBER;
4072 l_lifecycle_id NUMBER;
4073 l_current_phase_id NUMBER;
4074 l_policy_value VARCHAR2(100);
4075 l_dynamic_sql VARCHAR2(32767);
4076
4077
4078 -----------------------------------------------------------------------
4079 -- Variables used to query UCCnet Attr Groups to exclude from
4080 -- Template Application. (PPEDDAMA)
4081 -----------------------------------------------------------------------
4082 l_attr_grp_table DBMS_SQL.VARCHAR2_TABLE;
4083 l_attr_grp_cursor INTEGER;
4084 l_attr_grp_exec INTEGER;
4085 l_attr_grp_dyn_sql VARCHAR2(10000);
4086 l_attr_grp_rows_cnt NUMBER;
4087 -----------------------------------------------------------------------
4088
4089 CURSOR c_get_lc_catalog_cat_id (cp_catalog_category_id IN NUMBER
4090 ,cp_lifecycle_id IN NUMBER) IS
4091 --
4092 -- this code does not return the first catalog category id in the hierarchy
4093 --
4094 -- SELECT olc.object_classification_code
4095 -- FROM ego_obj_type_lifecycles olc, fnd_objects o
4096 -- WHERE o.obj_name = G_EGO_ITEM
4097 -- AND olc.object_id = o.object_id
4098 -- AND olc.lifecycle_id = cp_lifecycle_id
4099 -- AND olc.object_classification_code IN
4100 -- (SELECT TO_CHAR(ic.catalog_group_id)
4101 -- FROM ego_catalog_groups_v ic
4102 -- CONNECT BY PRIOR parent_catalog_group_id = catalog_group_id
4103 -- START WITH catalog_group_id = cp_catalog_category_id
4104 -- );
4105 --
4106 -- fix for bug 3681654
4107 -- using mtl_item_catalog_groups_b instead of ego_catalog_groups_v
4108 SELECT ic.item_catalog_group_id
4109 FROM mtl_item_catalog_groups_b ic
4110 WHERE EXISTS
4111 (
4112 SELECT olc.object_classification_code CatalogId
4113 FROM ego_obj_type_lifecycles olc, fnd_objects o
4114 WHERE o.obj_name = 'EGO_ITEM'
4115 AND olc.object_id = o.object_id
4116 AND olc.lifecycle_id = cp_lifecycle_id
4117 AND olc.object_classification_code = to_char(ic.item_catalog_group_id)
4118 )
4119 CONNECT BY PRIOR parent_catalog_group_id = item_catalog_group_id
4120 START WITH item_catalog_group_id = cp_catalog_category_id;
4121
4122 BEGIN
4123 EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Entered Apply_Templ_User_Attrs_To_Item ');
4124
4125 x_return_status := G_RET_STS_SUCCESS;
4126
4127 -- Check for call compatibility
4128 IF NOT FND_API.Compatible_API_Call ( l_api_version, p_api_version,
4129 l_api_name, G_PKG_NAME )
4130 THEN
4131 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
4132 END IF;
4133
4134 l_pk_column_name_value_pairs :=
4135 EGO_COL_NAME_VALUE_PAIR_ARRAY
4136 (EGO_COL_NAME_VALUE_PAIR_OBJ( 'INVENTORY_ITEM_ID'
4137 , to_char(p_item_id))
4138 ,EGO_COL_NAME_VALUE_PAIR_OBJ( 'ORGANIZATION_ID'
4139 , to_char(p_organization_id))
4140 );
4141
4142
4143 EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Apply_Templ_User_Attrs_To_Item: Template ID = '||p_template_id);
4144 EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Apply_Templ_User_Attrs_To_Item: p_mode = '||p_mode);
4145
4146 IF (p_mode <> G_TTYPE_CREATE) THEN
4147
4148 EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Apply_Templ_User_Attrs_To_Item: p_mode <> G_TTYPE_CREATE');
4149 -- check if CM exists
4150 IF (EGO_ITEM_AML_PUB.Check_CM_Existance() = G_RET_STS_SUCCESS) THEN
4151
4152 EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Apply_Templ_User_Attrs_To_Item: CM Exists!');
4153
4154 -- ENG exists
4155 -- check for policy control
4156 l_dynamic_sql :=
4157 ' SELECT item_catalog_group_id, lifecycle_id, current_phase_id' ||
4158 ' FROM mtl_system_items_b ' ||
4159 ' WHERE inventory_item_id = :1' ||
4160 ' AND organization_id = :2';
4161 EXECUTE IMMEDIATE l_dynamic_sql
4162 INTO l_catalog_category_id, l_lifecycle_id, l_current_phase_id
4163 USING p_item_id, p_organization_id;
4164
4165 -- check if the values are present.
4166 IF (l_catalog_category_id IS NOT NULL
4167 AND l_lifecycle_id IS NOT NULL
4168 AND l_current_phase_id IS NOT NULL
4169 ) THEN
4170
4171 -- get the catalog_group id from which the life cycle is associated
4172 OPEN c_get_lc_catalog_cat_id
4173 (cp_catalog_category_id => l_catalog_category_id
4174 ,cp_lifecycle_id => l_lifecycle_id
4175 );
4176 FETCH c_get_lc_catalog_cat_id INTO l_lc_catalog_cat_id;
4177 CLOSE c_get_lc_catalog_cat_id;
4178
4179 -- get list of attribute groups to check
4180 SELECT DISTINCT attribute_group_id
4181 BULK COLLECT INTO l_attr_group_ids
4182 FROM ego_templ_attributes
4183 WHERE template_id = p_template_id;
4184
4185 FOR a IN l_attr_group_ids.FIRST .. l_attr_group_ids.LAST
4186 LOOP
4187
4188 l_dynamic_sql :=
4189 ' BEGIN '||
4190 ' ENG_CHANGE_POLICY_PKG.GetChangePolicy '||
4191 ' ( '||
4192 ' p_policy_object_name => :l_policy_object_name '||
4193 ' , p_policy_code => :l_policy_code '||
4194 ' , p_policy_pk1_value => TO_CHAR(:l_lc_catalog_cat_id) '||
4195 ' , p_policy_pk2_value => TO_CHAR(:l_lifecycle_id) '||
4196 ' , p_policy_pk3_value => TO_CHAR(:l_current_phase_id) '||
4197 ' , p_policy_pk4_value => NULL '||
4198 ' , p_policy_pk5_value => NULL '||
4199 ' , p_attribute_object_name => :l_attr_object_name '||
4200 ' , p_attribute_code => :l_attr_code '||
4201 ' , p_attribute_value => :l_attr_group_id '||
4202 ' , x_policy_value => :l_policy_value '||
4203 ' ); '||
4204 ' END;';
4205
4206 EXECUTE IMMEDIATE l_dynamic_sql
4207 USING IN l_policy_object_name,
4208 IN l_policy_code,
4209 IN l_lc_catalog_cat_id,
4210 IN l_lifecycle_id,
4211 IN l_current_phase_id,
4212 IN l_attr_object_name,
4213 IN l_attr_code,
4214 IN l_attr_group_ids(a),
4215 OUT l_policy_value;
4216
4217 IF (l_policy_value IS NOT NULL AND
4218 l_policy_value <> l_acceptable_policy) THEN
4219
4220 IF l_attr_group_ids_to_exclude IS NULL THEN
4221
4222 l_attr_group_ids_to_exclude := EGO_NUMBER_TBL_TYPE();
4223
4224 END IF;
4225
4226 -- exclude this attribute group
4227 l_attr_group_ids_to_exclude.EXTEND();
4228 l_attr_group_ids_to_exclude(l_attr_group_ids_to_exclude.LAST)
4229 := l_attr_group_ids(a);
4230
4231 END IF;
4232
4233 END LOOP; -- loop through l_attr_group_ids
4234
4235 END IF; -- if cat, lifecycle, and phase are not null
4236
4237 END IF; -- if CM exists
4238
4239 END IF; -- if mode is not CREATE
4240
4241 -----------------------------------------------------------------
4242 -- PPEDDAMA (11th October 2004) --
4243 -- Append to the list of attribute group ids to exclude, the --
4244 -- UCCnet related Attribute groups, as the Template application--
4245 -- is taken care of in Java code for these Attrs. --
4246 -----------------------------------------------------------------
4247 EGO_USER_ATTRS_DATA_PVT.Debug_Msg(' About to call the UCCnet attrs exclude code');
4248 l_attr_grp_dyn_sql := '';
4249 l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || 'SELECT DISTINCT ATTRIBUTE_GROUP_ID ';
4250 l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || 'FROM EGO_TEMPL_ATTRIBUTES T ';
4251 l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || 'WHERE T.TEMPLATE_ID = :TEMPL_ID ';
4252 l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || 'AND ( ';
4253 l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || ' SELECT E.DESCRIPTIVE_FLEXFIELD_NAME ';
4254 l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || ' FROM EGO_FND_DSC_FLX_CTX_EXT E ';
4255 l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || ' WHERE E.ATTR_GROUP_ID = T.ATTRIBUTE_GROUP_ID ';
4256 l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || ' ) ';
4257 l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || ' IN (''EGO_ITEM_GTIN_ATTRS'', ''EGO_ITEM_GTIN_MULTI_ATTRS'') ';
4258
4259 l_attr_grp_cursor := DBMS_SQL.OPEN_CURSOR;
4260 DBMS_SQL.PARSE(l_attr_grp_cursor, l_attr_grp_dyn_sql, DBMS_SQL.NATIVE);
4261
4262 LOOP -- Loop for every 2500 rows.
4263
4264 DBMS_SQL.DEFINE_ARRAY(
4265 c => l_attr_grp_cursor -- cursor --
4266 , position => 1 -- select position --
4267 , c_tab => l_attr_grp_table -- table of numbers --
4268 , cnt => 2500 -- rows requested --
4269 , lower_bound => 1 -- start at --
4270 );
4271
4272 DBMS_SQL.BIND_VARIABLE(l_attr_grp_cursor, ':TEMPL_ID', p_template_id);
4273
4274 l_attr_grp_exec := DBMS_SQL.EXECUTE(l_attr_grp_cursor);
4275 l_attr_grp_rows_cnt := DBMS_SQL.FETCH_ROWS(l_attr_grp_cursor);
4276
4277 DBMS_SQL.COLUMN_VALUE(l_attr_grp_cursor, 1, l_attr_grp_table);
4278
4279 EGO_USER_ATTRS_DATA_PVT.Debug_Msg('load_item_oper_attr_values: Retrieved rows => '||To_char(l_attr_grp_rows_cnt));
4280
4281 FOR i IN 1..l_attr_grp_table.COUNT LOOP
4282
4283 -----------------------------------------------------------------------
4284 -- If the Exclusion Number table is NULL, then create new.
4285 -----------------------------------------------------------------------
4286 IF l_attr_group_ids_to_exclude IS NULL THEN
4287 l_attr_group_ids_to_exclude := EGO_NUMBER_TBL_TYPE();
4288 END IF;
4289
4290 EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Attr Grp ID => '|| l_attr_grp_table(i));
4291 -----------------------------------------------------------------------
4292 -- Add these retrieved Attr Grp IDs to the end of existing:
4293 -- Exclusion Attr Grp IDs table (l_attr_group_ids_to_exclude)
4294 -----------------------------------------------------------------------
4295 --l_attr_group_ids_to_exclude.EXTEND();
4296 --l_attr_group_ids_to_exclude(l_attr_group_ids_to_exclude.LAST) := l_attr_grp_table(i);
4297 --instead of plain appending, merge the entry, so that unique values exist.
4298 Merge_New_Entry(l_attr_group_ids_to_exclude, l_attr_grp_table(i));
4299
4300 END LOOP; --end: FOR (i:=0; i < l_attr_grp_table.COUNT; i++)
4301
4302 EXIT WHEN l_attr_grp_rows_cnt < 2500;
4303 END LOOP; --end: Loop for every 2500 rows.
4304 DBMS_SQL.Close_Cursor(l_attr_grp_cursor);
4305
4306 EGO_USER_ATTRS_DATA_PVT.Debug_Msg(' UCCnet exclusion code complete.');
4307
4308 -----------------------------------------------------------------
4309 -- END: PPEDDAMA (11th October 2004) --
4310 -----------------------------------------------------------------
4311
4312 IF (l_attr_group_ids_to_exclude IS NOT NULL AND
4313 l_attr_group_ids IS NOT NULL AND
4314 l_attr_group_ids_to_exclude.COUNT > 0 AND
4315 l_attr_group_ids.COUNT > 0 ) THEN
4316
4317 EGO_USER_ATTRS_DATA_PVT.Debug_Msg('l_attr_group_ids_to_exclude.COUNT = '||l_attr_group_ids_to_exclude.COUNT);
4318 EGO_USER_ATTRS_DATA_PVT.Debug_Msg('l_attr_group_ids.COUNT = '||l_attr_group_ids.COUNT);
4319
4320 -----------------------------------------------------------------
4321 -- don't issue perform dml if all attr grps are excluded
4322 -----------------------------------------------------------------
4323 IF (l_attr_group_ids_to_exclude.COUNT = l_attr_group_ids.COUNT) THEN
4324 EGO_USER_ATTRS_DATA_PVT.Debug_Msg('l_perform_dml is FALSE ');
4325 l_perform_dml := FALSE;
4326 END IF; --end: IF (l_attr_group_ids_to_exclude.COUNT >= ...
4327
4328 END IF; --end: IF (l_attr_group_ids_to_exclude IS NOT NULL ...
4329
4330 IF (l_perform_dml = TRUE) THEN
4331
4332 EGO_USER_ATTRS_DATA_PVT.Debug_Msg('l_perform_dml is TRUE ');
4333
4334 EGO_USER_ATTRS_DATA_PVT.Perform_DML_From_Template (
4335 p_api_version => 1.0
4336 ,p_template_id => p_template_id
4337 ,p_object_name => p_object_name
4338 ,p_pk_column_name_value_pairs => l_pk_column_name_value_pairs
4339 ,p_class_code_name_value_pairs => p_class_code_name_value_pairs
4340 ,p_data_level => 'ITEM_LEVEL'
4341 ,p_data_level_name_value_pairs => NULL
4342 ,p_attr_group_ids_to_exclude => l_attr_group_ids_to_exclude
4343 ,x_return_status => x_return_status
4344 ,x_errorcode => x_errorcode
4345 ,x_msg_count => x_msg_count
4346 ,x_msg_data => x_msg_data
4347 );
4348
4349 EGO_USER_ATTRS_DATA_PVT.Perform_DML_From_Template (
4350 p_api_version => 1.0
4351 ,p_template_id => p_template_id
4352 ,p_object_name => p_object_name
4353 ,p_pk_column_name_value_pairs => l_pk_column_name_value_pairs
4354 ,p_class_code_name_value_pairs => p_class_code_name_value_pairs
4355 ,p_data_level => 'ITEM_REVISION_LEVEL'
4356 ,p_data_level_name_value_pairs => p_data_level_name_value_pairs
4357 ,p_attr_group_ids_to_exclude => l_attr_group_ids_to_exclude
4358 ,x_return_status => x_return_status
4359 ,x_errorcode => x_errorcode
4360 ,x_msg_count => x_msg_count
4361 ,x_msg_data => x_msg_data
4362 );
4363
4364 EGO_USER_ATTRS_DATA_PVT.Perform_DML_From_Template (
4365 p_api_version => 1.0
4366 ,p_template_id => p_template_id
4367 ,p_object_name => p_object_name
4368 ,p_pk_column_name_value_pairs => l_pk_column_name_value_pairs
4369 ,p_class_code_name_value_pairs => p_class_code_name_value_pairs
4370 ,p_data_level => 'EGO_ITEM_GTIN_ATTRS'
4371 ,p_data_level_name_value_pairs => NULL
4372 ,p_attr_group_ids_to_exclude => l_attr_group_ids_to_exclude
4373 ,x_return_status => x_return_status
4374 ,x_errorcode => x_errorcode
4375 ,x_msg_count => x_msg_count
4376 ,x_msg_data => x_msg_data
4377 );
4378
4379 EGO_USER_ATTRS_DATA_PVT.Perform_DML_From_Template (
4380 p_api_version => 1.0
4381 ,p_template_id => p_template_id
4382 ,p_object_name => p_object_name
4383 ,p_pk_column_name_value_pairs => l_pk_column_name_value_pairs
4384 ,p_class_code_name_value_pairs => p_class_code_name_value_pairs
4385 ,p_data_level => 'EGO_ITEM_GTIN_MULTI_ATTRS'
4386 ,p_data_level_name_value_pairs => NULL
4387 ,p_attr_group_ids_to_exclude => l_attr_group_ids_to_exclude
4388 ,x_return_status => x_return_status
4389 ,x_errorcode => x_errorcode
4390 ,x_msg_count => x_msg_count
4391 ,x_msg_data => x_msg_data
4392 );
4393
4394 END IF;
4395
4396 EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Apply_Templ_User_Attrs_To_Item -- Done');
4397 EXCEPTION
4398 WHEN OTHERS THEN
4399 IF (l_attr_grp_cursor IS NOT NULL) THEN
4400 DBMS_SQL.Close_Cursor(l_attr_grp_cursor);
4401 END IF;
4402 EGO_USER_ATTRS_DATA_PVT.Debug_Msg('In Apply_Templ_User_Attrs_To_Item, got exception '||SQLERRM, 3);
4403
4404 END Apply_Templ_User_Attrs_To_Item;
4405
4406 ---------------------------------------------------------------------------
4407 PROCEDURE SYNC_IM_INDEX IS
4408 BEGIN
4409 INV_ITEM_PVT.SYNC_IM_INDEX;
4410 END SYNC_IM_INDEX;
4411
4412 ---------------------------------------------------------------------------
4413 PROCEDURE Process_item_role
4414 (p_api_version IN NUMBER
4415 ,p_commit IN VARCHAR2 DEFAULT G_FALSE
4416 ,p_init_msg_list IN VARCHAR2 DEFAULT G_FALSE
4417 ,p_transaction_type IN VARCHAR2 DEFAULT G_TTYPE_CREATE
4418 ,p_inventory_item_id IN NUMBER DEFAULT NULL
4419 ,p_item_number IN VARCHAR2 DEFAULT NULL
4420 ,p_organization_id IN NUMBER DEFAULT NULL
4421 ,p_organization_code IN VARCHAR2 DEFAULT NULL
4422 ,p_role_id IN NUMBER DEFAULT NULL
4423 ,p_role_name IN VARCHAR2 DEFAULT NULL
4424 ,p_instance_type IN VARCHAR2 DEFAULT G_INSTANCE_TYPE_INSTANCE
4425 ,p_instance_set_id IN NUMBER DEFAULT NULL
4426 ,p_instance_set_name IN VARCHAR2 DEFAULT NULL
4427 ,p_party_type IN VARCHAR2 DEFAULT G_USER_PARTY_TYPE
4428 ,p_party_id IN NUMBER DEFAULT NULL
4429 ,p_party_name IN VARCHAR2 DEFAULT NULL
4430 ,p_start_date IN DATE DEFAULT NULL
4431 ,p_end_date IN DATE DEFAULT NULL
4432 ,x_grant_guid IN OUT NOCOPY RAW
4433 ,x_return_status OUT NOCOPY VARCHAR2
4434 ,x_msg_count OUT NOCOPY NUMBER
4435 ,x_msg_data OUT NOCOPY VARCHAR2
4436 ) IS
4437 BEGIN
4438 EGO_ITEM_PVT.Process_item_role
4439 (p_api_version => p_api_version
4440 ,p_commit => p_commit
4441 ,p_init_msg_list => p_init_msg_list
4442 ,p_transaction_type => p_transaction_type
4443 ,p_inventory_item_id => p_inventory_item_id
4444 ,p_item_number => p_item_number
4445 ,p_organization_id => p_organization_id
4446 ,p_organization_code => p_organization_code
4447 ,p_role_id => p_role_id
4448 ,p_role_name => p_role_name
4449 ,p_instance_type => p_instance_type
4450 ,p_instance_set_id => p_instance_set_id
4451 ,p_instance_set_name => p_instance_set_name
4452 ,p_party_type => p_party_type
4453 ,p_party_id => p_party_id
4454 ,p_party_name => p_party_name
4455 ,p_start_date => p_start_date
4456 ,p_end_date => p_end_date
4457 ,x_grant_guid => x_grant_guid
4458 ,x_return_status => x_return_status
4459 ,x_msg_count => x_msg_count
4460 ,x_msg_data => x_msg_data
4461 );
4462
4463 END;
4464
4465 ---------------------------------------------------------------------------
4466 PROCEDURE Process_item_phase_and_status
4467 (p_api_version IN NUMBER
4468 ,p_commit IN VARCHAR2 DEFAULT G_FALSE
4469 ,p_init_msg_list IN VARCHAR2 DEFAULT G_FALSE
4470 ,p_transaction_type IN VARCHAR2 DEFAULT G_TTYPE_PROMOTE
4471 ,p_inventory_item_id IN NUMBER DEFAULT NULL
4472 ,p_item_number IN VARCHAR2 DEFAULT NULL
4473 ,p_organization_id IN NUMBER DEFAULT NULL
4474 ,p_organization_code IN VARCHAR2 DEFAULT NULL
4475 ,p_revision_id IN NUMBER DEFAULT NULL
4476 ,p_revision IN VARCHAR2 DEFAULT NULL
4477 ,p_implement_changes IN VARCHAR2 DEFAULT G_TRUE
4478 ,p_status IN VARCHAR2 DEFAULT NULL
4479 ,p_effective_date IN DATE DEFAULT NULL
4480 ,p_lifecycle_id IN NUMBER DEFAULT NULL
4481 ,p_phase_id IN NUMBER DEFAULT NULL
4482 ,p_new_effective_date IN DATE DEFAULT NULL
4483 ,x_return_status OUT NOCOPY VARCHAR2
4484 ,x_msg_count OUT NOCOPY NUMBER
4485 ,x_msg_data OUT NOCOPY VARCHAR2
4486 ) IS
4487 BEGIN
4488 EGO_ITEM_PVT.Process_item_phase_and_status
4489 (p_api_version => p_api_version
4490 ,p_commit => p_commit
4491 ,p_init_msg_list => p_init_msg_list
4492 ,p_transaction_type => p_transaction_type
4493 ,p_inventory_item_id => p_inventory_item_id
4494 ,p_item_number => p_item_number
4495 ,p_organization_id => p_organization_id
4496 ,p_organization_code => p_organization_code
4497 ,p_revision_id => p_revision_id
4498 ,p_revision => p_revision
4499 ,p_implement_changes => p_implement_changes
4500 ,p_status => p_status
4501 ,p_effective_date => p_effective_date
4502 ,p_lifecycle_id => p_lifecycle_id
4503 ,p_phase_id => p_phase_id
4504 ,p_new_effective_date => p_new_effective_date
4505 ,x_return_status => x_return_status
4506 ,x_msg_count => x_msg_count
4507 ,x_msg_data => x_msg_data
4508 );
4509 END;
4510
4511 ---------------------------------------------------------------------------
4512 PROCEDURE Implement_Item_Pending_Changes
4513 (p_api_version IN NUMBER
4514 ,p_commit IN VARCHAR2 DEFAULT G_FALSE
4515 ,p_init_msg_list IN VARCHAR2 DEFAULT G_FALSE
4516 ,p_inventory_item_id IN NUMBER DEFAULT NULL
4517 ,p_item_number IN VARCHAR2 DEFAULT NULL
4518 ,p_organization_id IN NUMBER DEFAULT NULL
4519 ,p_organization_code IN VARCHAR2 DEFAULT NULL
4520 ,p_revision_id IN NUMBER DEFAULT NULL
4521 ,p_revision IN VARCHAR2 DEFAULT NULL
4522 ,x_return_status OUT NOCOPY VARCHAR2
4523 ,x_msg_count OUT NOCOPY NUMBER
4524 ,x_msg_data OUT NOCOPY VARCHAR2
4525 ) IS
4526 BEGIN
4527 EGO_ITEM_PVT.Implement_Item_Pending_Changes
4528 (p_api_version => p_api_version
4529 ,p_commit => p_commit
4530 ,p_init_msg_list => p_init_msg_list
4531 ,p_inventory_item_id => p_inventory_item_id
4532 ,p_item_number => p_item_number
4533 ,p_organization_id => p_organization_id
4534 ,p_organization_code => p_organization_code
4535 ,p_revision_id => p_revision_id
4536 ,p_revision => p_revision
4537 ,x_return_status => x_return_status
4538 ,x_msg_count => x_msg_count
4539 ,x_msg_data => x_msg_data
4540 );
4541
4542 END;
4543
4544 ---------------------------------------------------------------------------
4545 PROCEDURE Process_Item_Revision(
4546 p_api_version IN NUMBER
4547 ,p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE
4548 ,p_commit IN VARCHAR2 DEFAULT G_FALSE
4549 ,p_transaction_type IN VARCHAR2
4550 ,p_inventory_item_id IN NUMBER DEFAULT G_MISS_NUM
4551 ,p_item_number IN VARCHAR2 DEFAULT G_MISS_CHAR
4552 ,p_organization_id IN NUMBER DEFAULT G_MISS_NUM
4553 ,p_Organization_Code IN VARCHAR2 DEFAULT G_MISS_CHAR
4554 ,p_revision IN VARCHAR2
4555 ,p_description IN VARCHAR2 DEFAULT NULL
4556 ,p_effectivity_date IN DATE
4557 ,p_revision_label IN VARCHAR2 DEFAULT G_MISS_CHAR
4558 ,p_revision_reason IN VARCHAR2 DEFAULT NULL
4559 ,p_lifecycle_id IN NUMBER DEFAULT G_MISS_NUM
4560 ,p_current_phase_id IN NUMBER DEFAULT G_MISS_NUM
4561 -- 5208102: Supporting template for UDA's at revisions
4562 ,p_template_id IN NUMBER DEFAULT G_MISS_NUM
4563 ,p_template_name IN VARCHAR2 DEFAULT G_MISS_CHAR
4564
4565 ,p_attribute_category IN VARCHAR2 DEFAULT G_MISS_CHAR
4566 ,p_attribute1 IN VARCHAR2 DEFAULT G_MISS_CHAR
4567 ,p_attribute2 IN VARCHAR2 DEFAULT G_MISS_CHAR
4568 ,p_attribute3 IN VARCHAR2 DEFAULT G_MISS_CHAR
4569 ,p_attribute4 IN VARCHAR2 DEFAULT G_MISS_CHAR
4570 ,p_attribute5 IN VARCHAR2 DEFAULT G_MISS_CHAR
4571 ,p_attribute6 IN VARCHAR2 DEFAULT G_MISS_CHAR
4572 ,p_attribute7 IN VARCHAR2 DEFAULT G_MISS_CHAR
4573 ,p_attribute8 IN VARCHAR2 DEFAULT G_MISS_CHAR
4574 ,p_attribute9 IN VARCHAR2 DEFAULT G_MISS_CHAR
4575 ,p_attribute10 IN VARCHAR2 DEFAULT G_MISS_CHAR
4576 ,p_attribute11 IN VARCHAR2 DEFAULT G_MISS_CHAR
4577 ,p_attribute12 IN VARCHAR2 DEFAULT G_MISS_CHAR
4578 ,p_attribute13 IN VARCHAR2 DEFAULT G_MISS_CHAR
4579 ,p_attribute14 IN VARCHAR2 DEFAULT G_MISS_CHAR
4580 ,p_attribute15 IN VARCHAR2 DEFAULT G_MISS_CHAR
4581 ,x_Return_Status OUT NOCOPY VARCHAR2
4582 ,x_msg_count OUT NOCOPY NUMBER
4583 ,x_msg_data OUT NOCOPY VARCHAR2 ) is
4584
4585 p_debug_filename VARCHAR2(100);
4586 x_revision_id NUMBER DEFAULT G_MISS_NUM;
4587 x_object_version_number NUMBER DEFAULT G_MISS_NUM;
4588 l_inventory_item_id NUMBER;
4589 l_organization_id NUMBER;
4590 l_api_name CONSTANT VARCHAR2(30) := 'Process_Item_Revision';
4591 l_api_version CONSTANT NUMBER := 1.0;
4592
4593 INVALID_ORG EXCEPTION;
4594 INVALID_ITEM EXCEPTION;
4595 INVALID_ITEM_ORG EXCEPTION;
4596
4597 BEGIN
4598
4599 IF NOT FND_API.Compatible_API_Call ( l_api_version, p_api_version,
4600 l_api_name, G_PKG_NAME )
4601 THEN
4602 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
4603 END IF;
4604
4605 BEGIN
4606 IF p_organization_id IS NULL THEN
4607 IF p_organization_code IS NOT NULL THEN
4608 SELECT ORGANIZATION_ID INTO l_organization_id
4609 FROM MTL_PARAMETERS
4610 WHERE ORGANIZATION_CODE = p_organization_code;
4611 ELSE
4612 RAISE INVALID_ORG;
4613 END IF;
4614 ELSE
4615 SELECT ORGANIZATION_ID INTO l_organization_id
4616 FROM MTL_PARAMETERS
4617 WHERE ORGANIZATION_ID = p_organization_id;
4618 END IF;
4619
4620 EXCEPTION
4621 WHEN NO_DATA_FOUND THEN
4622 RAISE INVALID_ORG;
4623 END;
4624
4625 BEGIN
4626 IF p_inventory_item_id IS NULL THEN
4627 IF p_item_number IS NOT NULL THEN
4628 SELECT INVENTORY_ITEM_ID INTO l_inventory_item_id
4629 FROM MTL_SYSTEM_ITEMS_B_KFV
4630 WHERE ORGANIZATION_ID = l_organization_id
4631 AND CONCATENATED_SEGMENTS = p_item_number;
4632 ELSE
4633 RAISE INVALID_ITEM;
4634 END IF;
4635 ELSE
4636 SELECT INVENTORY_ITEM_ID INTO l_inventory_item_id
4637 FROM MTL_SYSTEM_ITEMS_B_KFV
4638 WHERE ORGANIZATION_ID = l_organization_id
4639 AND INVENTORY_ITEM_ID = p_inventory_item_id;
4640 END IF;
4641
4642 EXCEPTION
4643 WHEN NO_DATA_FOUND THEN
4644 RAISE INVALID_ITEM_ORG;
4645 END;
4646
4647 INV_ITEM_REVISION_PUB.Process_Item_Revision
4648 (
4649 p_inventory_item_id => l_inventory_item_id
4650 ,p_organization_id => l_organization_id
4651 ,p_revision => p_revision
4652 ,p_description => p_description
4653 ,p_effectivity_date => p_effectivity_date
4654 ,p_attribute_category => p_attribute_category
4655 ,p_attribute1 => p_attribute1
4656 ,p_attribute2 => p_attribute2
4657 ,p_attribute3 => p_attribute3
4658 ,p_attribute4 => p_attribute4
4659 ,p_attribute5 => p_attribute5
4660 ,p_attribute6 => p_attribute6
4661 ,p_attribute7 => p_attribute7
4662 ,p_attribute8 => p_attribute8
4663 ,p_attribute9 => p_attribute9
4664 ,p_attribute10 => p_attribute10
4665 ,p_attribute11 => p_attribute11
4666 ,p_attribute12 => p_attribute12
4667 ,p_attribute13 => p_attribute13
4668 ,p_attribute14 => p_attribute14
4669 ,p_attribute15 => p_attribute15
4670 ,p_revision_label => p_revision_label
4671 ,p_revision_reason => p_revision_reason
4672 ,p_lifecycle_id => p_lifecycle_id
4673 ,p_current_phase_id => p_current_phase_id
4674 ,p_template_id => p_template_id
4675 ,p_template_name => p_template_name
4676 ,p_transaction_type => p_transaction_type
4677 ,p_init_msg_list => p_init_msg_list
4678 ,x_Return_Status => x_Return_Status
4679 ,x_msg_count => x_msg_count
4680 ,x_msg_data => x_msg_data /*Added for bug 8679971*/
4681 ,x_revision_id => x_revision_id
4682 ,x_object_version_number => x_object_version_number
4683 ,p_message_api => 'BOM'
4684 ,p_object_version_number => NULL );
4685
4686 EXCEPTION
4687 WHEN INVALID_ORG THEN
4688 FND_MESSAGE.Set_Name('EGO', 'EGO_INVALID_ORGANIZATION');
4689 FND_MSG_PUB.Add;
4690 x_return_status := FND_API.g_RET_STS_ERROR;
4691 WHEN INVALID_ITEM THEN
4692 FND_MESSAGE.Set_Name('EGO', 'EGO_INVALID_ITEM');
4693 FND_MSG_PUB.Add;
4694 x_return_status := FND_API.g_RET_STS_ERROR;
4695 WHEN INVALID_ITEM_ORG THEN
4696 FND_MESSAGE.Set_Name('EGO', 'EGO_INVALID_ITEM_ORGANIZATION');
4697 FND_MSG_PUB.Add;
4698 x_return_status := FND_API.g_RET_STS_ERROR;
4699 WHEN OTHERS THEN
4700 x_return_status := G_RET_STS_UNEXP_ERROR;
4701 RAISE;
4702 END Process_Item_Revision;
4703
4704 ------------------------ Process_item_descr_elements ---------------------
4705 /*#
4706 * This API allows user to give the values of item catalog category descriptive elements.
4707 * This will verify whether user has edit item privilege on item.
4708 */
4709 PROCEDURE Process_item_descr_elements
4710 (
4711 p_api_version IN NUMBER
4712 , p_init_msg_list IN VARCHAR2
4713 , p_commit_flag IN VARCHAR2
4714 , p_validation_level IN NUMBER
4715 , p_inventory_item_id IN NUMBER
4716 , p_item_number IN VARCHAR2
4717 , p_item_desc_element_table IN INV_ITEM_CATALOG_ELEM_PUB.ITEM_DESC_ELEMENT_TABLE
4718 , x_generated_descr OUT NOCOPY VARCHAR2
4719 , x_return_status OUT NOCOPY VARCHAR2
4720 , x_msg_count OUT NOCOPY NUMBER
4721 , x_msg_data OUT NOCOPY VARCHAR2
4722 )
4723 IS
4724 l_api_name CONSTANT VARCHAR2(30) := 'Process_item_descr_elements';
4725 l_err_text VARCHAR2(2000);
4726 BEGIN
4727
4728 x_return_status := G_RET_STS_SUCCESS;
4729
4730 -- Initialize message list
4731 IF FND_API.To_Boolean (p_init_msg_list) THEN
4732 Error_Handler.Initialize;
4733 END IF;
4734
4735 -- Set business object identifier in the System Information record
4736 Error_Handler.Set_BO_Identifier ( p_bo_identifier => G_BO_Identifier );
4737
4738
4739 INV_EGO_REVISION_VALIDATE.Set_Process_Control('EGO_ITEM_BULKLOAD');
4740 INV_ITEM_CATALOG_ELEM_PUB.Process_item_descr_elements
4741 (
4742 p_api_version => p_api_version
4743 , p_init_msg_list => p_init_msg_list
4744 , p_commit_flag => p_commit_flag
4745 , p_validation_level => p_validation_level
4746 , p_inventory_item_id => p_inventory_item_id
4747 , p_item_number => p_item_number
4748 , p_item_desc_element_table => p_item_desc_element_table
4749 , x_generated_descr => x_generated_descr
4750 , x_return_status => x_return_status
4751 , x_msg_count => x_msg_count
4752 , x_msg_data => x_msg_data
4753 );
4754 INV_EGO_REVISION_VALIDATE.Set_Process_Control('NULL');
4755
4756 EXCEPTION
4757 WHEN others THEN
4758 l_err_text := SUBSTRB(SQLERRM, 1,240);
4759 x_return_status := fnd_api.g_RET_STS_UNEXP_ERROR;
4760 EGO_Item_Msg.Add_Error_Message ( EGO_Item_PVT.G_Item_indx,
4761 'INV', 'INV_ITEM_UNEXPECTED_ERROR',
4762 'PACKAGE_NAME', G_PKG_NAME, FALSE,
4763 'PROCEDURE_NAME', l_api_name, FALSE,
4764 'ERROR_TEXT', l_err_text, FALSE );
4765 FND_MSG_PUB.Count_And_Get
4766 ( p_count => x_msg_count,
4767 p_data => x_msg_data
4768 );
4769
4770 END Process_item_descr_elements;
4771 ------------------------------------------------------------------------------
4772
4773 ------------------------ Process_Item_Cat_Assignment ---------------------
4774 /*#
4775 * This API allows user to assign/remove a catalog/category to/from an item.
4776 * This will verify whether user has edit item privilege on item.
4777 */
4778 PROCEDURE Process_Item_Cat_Assignment
4779 (
4780 p_api_version IN NUMBER
4781 , p_init_msg_list IN VARCHAR2
4782 , p_commit IN VARCHAR2
4783 , p_category_id IN NUMBER
4784 , p_category_set_id IN NUMBER
4785 , p_old_category_id IN NUMBER --- added bug bug 10091928
4786 , p_inventory_item_id IN NUMBER
4787 , p_organization_id IN NUMBER
4788 , p_transaction_type IN VARCHAR2
4789 , x_return_status OUT NOCOPY VARCHAR2
4790 , x_errorcode OUT NOCOPY NUMBER
4791 , x_msg_count OUT NOCOPY NUMBER
4792 , x_msg_data OUT NOCOPY VARCHAR2
4793 )
4794 IS
4795 l_api_name CONSTANT VARCHAR2(30) := 'Process_Item_Cat_Assignment';
4796 l_err_text VARCHAR2(2000);
4797 BEGIN
4798
4799 x_return_status := G_RET_STS_SUCCESS;
4800
4801 -- Initialize message list
4802 IF FND_API.To_Boolean (p_init_msg_list) THEN
4803 Error_Handler.Initialize;
4804 END IF;
4805
4806 -- Set business object identifier in the System Information record
4807 Error_Handler.Set_BO_Identifier ( p_bo_identifier => G_BO_Identifier );
4808
4809 IF INV_EGO_REVISION_VALIDATE.check_data_security(
4810 p_function => 'EGO_EDIT_ITEM'
4811 ,p_object_name => 'EGO_ITEM'
4812 ,p_instance_pk1_value => p_inventory_item_id
4813 ,p_instance_pk2_value => p_organization_id
4814 ,P_User_Id => FND_GLOBAL.user_id) <> 'T'
4815 THEN
4816 EGO_Item_Msg.Add_Error_Message (p_Entity_Index => EGO_Item_PVT.G_Item_indx,
4817 p_Application_Short_Name =>'INV',
4818 p_Message_Name =>'INV_IOI_ITEM_UPDATE_PRIV');
4819 RAISE FND_API.g_EXC_ERROR;
4820 ELSE
4821 IF p_transaction_type = G_TTYPE_CREATE THEN
4822 INV_ITEM_CATEGORY_PUB.Create_Category_Assignment
4823 (
4824 p_api_version => p_api_version
4825 , p_init_msg_list => p_init_msg_list
4826 , p_commit => p_commit
4827 , p_category_id => p_category_id
4828 , p_category_set_id => p_category_set_id
4829 , p_inventory_item_id=> p_inventory_item_id
4830 , p_organization_id => p_organization_id
4831 , x_return_status => x_return_status
4832 , x_errorcode => x_errorcode
4833 , x_msg_count => x_msg_count
4834 , x_msg_data => x_msg_data
4835 );
4836
4837 --- added update transaction bug 10091928
4838 ---
4839 ELSIF p_transaction_type = G_TTYPE_UPDATE THEN
4840 INV_ITEM_CATEGORY_PUB.Update_Category_Assignment
4841 (
4842 p_api_version => p_api_version
4843 , p_init_msg_list => p_init_msg_list
4844 , p_commit => p_commit
4845 , p_category_id => p_category_id
4846 , p_old_category_id => p_old_category_id
4847 , p_category_set_id => p_category_set_id
4848 , p_inventory_item_id => p_inventory_item_id
4849 , p_organization_id => p_organization_id
4850 , x_return_status => x_return_status
4851 , x_errorcode => x_errorcode
4852 , x_msg_count => x_msg_count
4853 , x_msg_data => x_msg_data
4854 );
4855
4856 ELSIF p_transaction_type = G_TTYPE_DELETE THEN
4857 INV_ITEM_CATEGORY_PUB.Delete_Category_Assignment
4858 (
4859 p_api_version => p_api_version
4860 , p_init_msg_list => p_init_msg_list
4861 , p_commit => p_commit
4862 , p_category_id => p_category_id
4863 , p_category_set_id => p_category_set_id
4864 , p_inventory_item_id=> p_inventory_item_id
4865 , p_organization_id => p_organization_id
4866 , x_return_status => x_return_status
4867 , x_errorcode => x_errorcode
4868 , x_msg_count => x_msg_count
4869 , x_msg_data => x_msg_data
4870 );
4871
4872 END IF;
4873 END IF;
4874
4875 EXCEPTION
4876 WHEN FND_API.G_EXC_ERROR THEN
4877 x_return_status := FND_API.G_RET_STS_ERROR;
4878 FND_MSG_PUB.Count_And_Get
4879 ( p_count => x_msg_count,
4880 p_data => x_msg_data
4881 );
4882 WHEN others THEN
4883 l_err_text := SUBSTRB(SQLERRM, 1,240);
4884 x_return_status := fnd_api.g_RET_STS_UNEXP_ERROR;
4885 EGO_Item_Msg.Add_Error_Message ( EGO_Item_PVT.G_Item_indx,
4886 'INV', 'INV_ITEM_UNEXPECTED_ERROR',
4887 'PACKAGE_NAME', G_PKG_NAME, FALSE,
4888 'PROCEDURE_NAME', l_api_name, FALSE,
4889 'ERROR_TEXT', l_err_text, FALSE );
4890 FND_MSG_PUB.Count_And_Get
4891 ( p_count => x_msg_count,
4892 p_data => x_msg_data
4893 );
4894
4895 END Process_Item_Cat_Assignment;
4896 ------------------------------------------------------------------------------
4897 /*
4898 * dsakalle - Public API to upload UCCnet Attributes
4899 * IREP comments need to be added
4900 */
4901 PROCEDURE Process_UCCnet_Attrs_For_Item (
4902 p_api_version IN NUMBER
4903 ,p_inventory_item_id IN NUMBER
4904 ,p_organization_id IN NUMBER
4905 ,p_single_row_attrs_rec IN UCCnet_Attrs_Singl_Row_Rec_Typ
4906 ,p_multi_row_attrs_table IN UCCnet_Attrs_Multi_Row_Tbl_Typ
4907 ,p_entity_id IN NUMBER DEFAULT NULL
4908 ,p_entity_index IN NUMBER DEFAULT NULL
4909 ,p_entity_code IN VARCHAR2 DEFAULT NULL
4910 ,p_init_error_handler IN VARCHAR2 DEFAULT FND_API.G_TRUE
4911 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
4912 ,x_return_status OUT NOCOPY VARCHAR2
4913 ,x_errorcode OUT NOCOPY NUMBER
4914 ,x_msg_count OUT NOCOPY NUMBER
4915 ,x_msg_data OUT NOCOPY VARCHAR2) IS
4916 BEGIN
4917 EGO_GTIN_ATTRS_PVT.Process_UCCnet_Attrs_For_Item(
4918 p_api_version => p_api_version
4919 ,p_inventory_item_id => p_inventory_item_id
4920 ,p_organization_id => p_organization_id
4921 ,p_single_row_attrs_rec => p_single_row_attrs_rec
4922 ,p_multi_row_attrs_table => p_multi_row_attrs_table
4923 ,p_entity_id => p_entity_id
4924 ,p_entity_index => p_entity_index
4925 ,p_entity_code => p_entity_code
4926 ,p_init_error_handler => p_init_error_handler
4927 ,p_commit => p_commit
4928 ,x_return_status => x_return_status
4929 ,x_errorcode => x_errorcode
4930 ,x_msg_count => x_msg_count
4931 ,x_msg_data => x_msg_data);
4932 END Process_UCCnet_Attrs_For_Item;
4933
4934 ------------------------------------------------------------------------------
4935
4936 PROCEDURE Validate_Required_Attrs(
4937 p_api_version IN NUMBER
4938 ,p_inventory_item_id IN NUMBER
4939 ,p_organization_id IN NUMBER
4940 ,p_revision_id IN NUMBER
4941 ,x_attributes_req_table OUT NOCOPY EGO_USER_ATTR_TABLE
4942 ,x_return_status OUT NOCOPY VARCHAR2
4943 ,x_errorcode OUT NOCOPY NUMBER
4944 ,x_msg_count OUT NOCOPY NUMBER
4945 ,x_msg_data OUT NOCOPY VARCHAR2
4946 ) IS
4947
4948 BEGIN
4949
4950 EGO_ITEM_PVT.Validate_Required_Attrs(
4951 p_api_version => p_api_version
4952 ,p_inventory_item_id => p_inventory_item_id
4953 ,p_organization_id => p_organization_id
4954 ,p_revision_id => p_revision_id
4955 ,x_attributes_req_table => x_attributes_req_table
4956 ,x_return_status => x_return_status
4957 ,x_errorcode => x_errorcode
4958 ,x_msg_count => x_msg_count
4959 ,x_msg_data => x_msg_data
4960 );
4961
4962 END Validate_Required_Attrs;
4963
4964
4965 ------------------------------------------------------------------------------
4966
4967 PROCEDURE Prep_Batch_Data_For_Import_UI
4968 ( p_api_version IN NUMBER
4969 , p_batch_id IN NUMBER
4970 , x_return_status OUT NOCOPY VARCHAR2
4971 , x_errorcode OUT NOCOPY NUMBER
4972 , x_msg_count OUT NOCOPY NUMBER
4973 , x_msg_data OUT NOCOPY VARCHAR2
4974 )
4975 IS
4976 l_api_name CONSTANT VARCHAR2(30) := 'Complete_Import_Data_Load';
4977 l_err_text VARCHAR2(2000);
4978 BEGIN
4979 x_return_status := G_RET_STS_SUCCESS;
4980
4981 EGO_IMPORT_PVT.Resolve_SSXRef_On_Data_Load
4982 ( p_data_set_id => p_batch_id
4983 , p_commit => FND_API.G_TRUE
4984 );
4985
4986 EXCEPTION
4987 WHEN OTHERS THEN
4988 l_err_text := SUBSTRB(SQLERRM, 1,240);
4989 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4990 EGO_ITEM_MSG.Add_Error_Message ( EGO_ITEM_PVT.G_ITEM_INDX,
4991 'EGO', 'EGO_ITEM_UNEXPECTED_ERROR',
4992 'PACKAGE_NAME', G_PKG_NAME, FALSE,
4993 'PROCEDURE_NAME', l_api_name, FALSE,
4994 'ERROR_TEXT', l_err_text, FALSE );
4995 FND_MSG_PUB.Count_And_Get
4996 ( p_count => x_msg_count
4997 , p_data => x_msg_data
4998 );
4999 END Prep_Batch_Data_For_Import_UI;
5000
5001 END EGO_ITEM_PUB;