[Home] [Help]
PACKAGE BODY: APPS.INV_ITEM_PVT
Source
1 PACKAGE BODY INV_ITEM_PVT AS
2 /* $Header: INVVITMB.pls 120.51.12020000.7 2013/01/30 16:49:13 ccsingh ship $ */
3 G_PKG_NAME CONSTANT VARCHAR2(30) := 'INV_ITEM_PVT';
4
5 -- =============================================================================
6 -- Package variables, constants and cursors
7 -- =============================================================================
8
9 /*
10 -- Pre-defined validation levels
11 --
12 G_VALID_LEVEL_NONE CONSTANT NUMBER := 0;
13 G_VALID_LEVEL_FULL CONSTANT NUMBER := 100;
14
15 -- Return codes
16 --
17 G_RET_STS_SUCCESS CONSTANT VARCHAR2(1) := 'S';
18 G_RET_STS_ERROR CONSTANT VARCHAR2(1) := 'E';
19 G_RET_STS_UNEXP_ERROR CONSTANT VARCHAR2(1) := 'U';
20
21 -- Error exceptions
22 --
23 G_EXC_ERROR EXCEPTION;
24 G_EXC_UNEXPECTED_ERROR EXCEPTION;
25 */
26
27 SUBTYPE Attribute_Code_type IS mtl_item_attributes.attribute_name%TYPE; -- VARCHAR2(50)
28
29 TYPE Attribute_Code_tbl_type IS TABLE OF Attribute_Code_type
30 INDEX BY BINARY_INTEGER;
31
32 g_Master_Attribute_tbl Attribute_Code_tbl_type;
33 g_Master_Org_ID NUMBER;
34 g_Org_ID NUMBER;
35 G_IS_MASTER_ATTR_MODIFIED VARCHAR2(1) := 'N';
36 /*Bug 6407303 Adding a new parameter to check for the master attribute */
37
38 ------------------------- Get_Master_Org_ID ----------------------------------
39 FUNCTION Get_Master_Org_ID(p_Org_ID IN NUMBER) RETURN NUMBER IS
40 BEGIN
41
42 IF ((g_Master_Org_ID IS NULL ) OR NOT(g_Org_ID = p_Org_ID)) THEN
43 g_Org_ID := p_Org_ID;
44 SELECT master_organization_id
45 INTO g_Master_Org_ID
46 FROM mtl_parameters
47 WHERE organization_id = p_Org_ID;
48 END IF;
49 RETURN ( g_Master_Org_ID );
50
51 END Get_Master_Org_ID;
52
53 /*-------------------------- Get_Master_Attributes ---------------------------*/
54
55 -- =============================================================================
56 -- Procedure: Get_Master_Attributes
57 --
58 -- Description:
59 -- Store master-controlled attribute codes into a package pl/sql table.
60 -- =============================================================================
61
62 PROCEDURE Get_Master_Attributes
63 (
64 x_return_status OUT NOCOPY VARCHAR2
65 )
66 IS
67 l_api_name CONSTANT VARCHAR2(30) := 'Get_Master_Attributes';
68
69 --------------------------------------------------------
70 -- Fetch master-controlled attributes which values need
71 -- to be propagated to org items.
72 --------------------------------------------------------
73
74 CURSOR Master_Attribute_csr
75 IS
76 SELECT SUBSTR(attribute_name, 18) Attribute_Code
77 FROM mtl_item_attributes
78 WHERE control_level = 1
79 AND attribute_group_id_gui IN
80 (20, 25, 30, 31, 35, 40, 41, 51,
81 60, 62, 65, 70, 80, 90, 100, 120 /* Start Bug 3713912 */,130/* End Bug 3713912 */);
82
83 l_Master_Attribute_Code Attribute_Code_type;
84 i BINARY_INTEGER;
85
86 BEGIN
87
88 IF ( g_Master_Attribute_tbl.COUNT = 0 ) THEN
89
90 OPEN Master_Attribute_csr;
91
92 -- Loop through item attributes
93
94 i := 0;
95
96 LOOP
97 i := i + 1;
98
99 FETCH Master_Attribute_csr INTO l_Master_Attribute_Code;
100 EXIT WHEN ( Master_Attribute_csr%NOTFOUND );
101
102 g_Master_Attribute_tbl (i) := l_Master_Attribute_Code;
103
104 IF ( l_Master_Attribute_Code = 'PRIMARY_UOM_CODE' ) THEN
105 i := i + 1;
106 g_Master_Attribute_tbl (i) := 'PRIMARY_UNIT_OF_MEASURE';
107 END IF;
108
109 END LOOP; -- Loop through item attributes
110
111 CLOSE Master_Attribute_csr;
112
113 END IF; -- (g_Master_Attribute_tbl.COUNT = 0)
114
115 -- Set return status
116 x_return_status := FND_API.g_RET_STS_SUCCESS;
117
118 EXCEPTION
119
120 WHEN others THEN
121
122 IF ( Master_Attribute_csr%ISOPEN ) THEN
123 CLOSE Master_Attribute_csr;
124 END IF;
125
126 x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
127
128 IF FND_MSG_PUB.Check_Msg_Level
129 ( FND_MSG_PUB.g_MSG_LVL_UNEXP_ERROR )
130 THEN
131 FND_MSG_PUB.Add_Exc_Msg
132 ( p_pkg_name => G_PKG_NAME
133 , p_procedure_name => l_api_name
134 -- , p_error_text => 'UNEXP_ERROR : ' || SQLERRM
135 );
136 END IF;
137
138 END Get_Master_Attributes;
139
140
141 /*------------------------------ Lock_Org_Items ------------------------------*/
142
143 PROCEDURE Lock_Org_Items
144 (
145 p_Item_ID IN NUMBER
146 , p_Org_ID IN NUMBER
147 , p_lock_Master IN VARCHAR2 := FND_API.g_TRUE
148 , p_lock_Orgs IN VARCHAR2 := FND_API.g_FALSE
149 , x_return_status OUT NOCOPY VARCHAR2
150 )
151 IS
152 l_api_name CONSTANT VARCHAR2(30) := 'Lock_Org_Items';
153 /*
154 l_Item_ID NUMBER ;
155 l_Org_ID NUMBER ;
156 */
157 l_return_status VARCHAR2(1);
158 BEGIN
159
160 OPEN INV_ITEM_API.Item_csr
161 (
162 p_Item_ID => p_Item_ID
163 , p_Org_ID => p_Org_ID
164 , p_fetch_Master => p_lock_Master
165 , p_fetch_Orgs => p_lock_Orgs
166 );
167
168 CLOSE INV_ITEM_API.Item_csr;
169
170 OPEN INV_ITEM_API.Item_TL_csr
171 (
172 p_Item_ID => p_Item_ID
173 , p_Org_ID => p_Org_ID
174 , p_fetch_Master => p_lock_Master
175 , p_fetch_Orgs => p_lock_Orgs
176 );
177
178 CLOSE INV_ITEM_API.Item_TL_csr;
179
180 EXCEPTION
181
182 /*
183 -- row locking exception
184 --
185 WHEN FND_API.g_EXC_ THEN
186 x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
187 fnd_message.Set_Name( 'INV', 'Cannot_Lock_Item_rec' );
188 FND_MSG_PUB.Add;
189 RAISE;
190 */
191
192 WHEN OTHERS THEN
193
194 IF ( INV_ITEM_API.Item_csr%ISOPEN ) THEN
195 CLOSE INV_ITEM_API.Item_csr;
196 END IF;
197
198 IF ( INV_ITEM_API.Item_TL_csr%ISOPEN ) THEN
199 CLOSE INV_ITEM_API.Item_TL_csr;
200 END IF;
201
202 x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
203 fnd_message.Set_Name( 'INV', 'Cannot_Lock_Item_rec' );
204 FND_MSG_PUB.Add;
205 RAISE;
206
207 END Lock_Org_Items;
208
209
210 /*----------------------------- Update_Org_Items -----------------------------*/
211
212 PROCEDURE Update_Org_Items
213 (
214 p_init_msg_list IN VARCHAR2 := FND_API.g_FALSE
215 , p_commit IN VARCHAR2 := FND_API.g_FALSE
216 , p_lock_rows IN VARCHAR2 := FND_API.g_TRUE
217 , p_validation_level IN NUMBER := FND_API.g_VALID_LEVEL_FULL
218 , p_Item_rec IN INV_ITEM_API.Item_rec_type
219 , p_update_changes_only IN VARCHAR2 := FND_API.g_FALSE
220 , p_validate_Master IN VARCHAR2 := FND_API.g_TRUE
221 , x_return_status OUT NOCOPY VARCHAR2
222 , x_msg_count OUT NOCOPY NUMBER
223 , x_msg_data OUT NOCOPY VARCHAR2
224 )
225 IS
226 l_api_name CONSTANT VARCHAR2(30) := 'Update_Org_Items';
227
228 p_Item_ID NUMBER;
229 p_Org_ID NUMBER;
230 p_Master_Org_ID NUMBER;
231 p_Org_is_Master BOOLEAN;
232
233 -- l_Item_ID NUMBER;
234 -- l_Org_ID NUMBER;
235
236 l_Item_rec INV_ITEM_API.Item_rec_type;
237 m_Item_rec INV_ITEM_API.Item_rec_type;
238
239 -- l_Item_TL_rec INV_ITEM_API.Item_TL_rec_type;
240
241 l_Attribute_Code Attribute_Code_type;
242 l_update_Item_TL BOOLEAN;
243 -- l_Lang_Flag VARCHAR2(1);
244 l_Lang_Flag FND_LANGUAGES.INSTALLED_FLAG%TYPE;
245
246 l_return_status VARCHAR2(1);
247 --Added for 11.5.10
248 l_vmiorconsign_enabled NUMBER;
249 l_consign_enabled NUMBER;
250 l_exists NUMBER;
251
252
253 CURSOR org_parameters_csr(c_organization_id NUMBER)
254 IS
255 SELECT process_enabled_flag, wms_enabled_flag,
256 eam_enabled_flag, primary_cost_method,
257 trading_partner_org_flag
258 FROM mtl_parameters
259 WHERE organization_id = c_organization_id;
260
261 l_process_enabled VARCHAR2(1);
262 l_eam_enabled VARCHAR2(1);
263 l_wms_enabled VARCHAR2(1);
264 l_primary_cost_method NUMBER;
265 l_trading_partner_org VARCHAR2(1);
266
267
268 -- Added for bug 5236494
269 CURSOR status_attr_control IS
270 SELECT attribute_name, status_control_code,control_level /*Bug#6911195 Added control_level*/
271 FROM mtl_item_attributes
272 WHERE status_control_code IS NOT NULL;
273
274 CURSOR status_attr_values (p_item_status_code VARCHAR2) IS
275 SELECT attribute_name, attribute_value
276 FROM mtl_status_attribute_values
277 WHERE inventory_item_status_code = p_item_status_code;
278
279 -- bug 9944329, get org level controlled status attributes
280 CURSOR org_status_attr_values_csr (p_item_status_code VARCHAR2) IS
281 SELECT status.attribute_name, attribute_value, status_control_code
282 FROM mtl_status_attribute_values status, mtl_item_attributes control
283 WHERE inventory_item_status_code =p_item_status_code
284 AND status.attribute_name = control.attribute_name
285 AND control_level = 2;
286
287 l_status_attr VARCHAR2(50);
288 l_status_ctrl NUMBER;
289 l_bom_enabled_status VARCHAR2(1);
290 l_purchasable_status VARCHAR2(1);
291 l_transactable_status VARCHAR2(1);
292 l_stockable_status VARCHAR2(1);
293 l_wip_status VARCHAR2(1);
294 l_cust_ord_status VARCHAR2(1);
295 l_int_ord_status VARCHAR2(1);
296 l_invoiceable_status VARCHAR2(1);
297
298 /*Added for Bug# 6911195 Begin*/
299 l_status_ctrl_lvl NUMBER;
300 l_bom_enabled_status_ctrl VARCHAR2(1);
301 l_purchasable_status_ctrl VARCHAR2(1);
302 l_transactable_status_ctrl VARCHAR2(1);
303 l_stockable_status_ctrl VARCHAR2(1);
304 l_wip_status_ctrl VARCHAR2(1);
305 l_cust_ord_status_ctrl VARCHAR2(1);
306 l_int_ord_status_ctrl VARCHAR2(1);
307 l_invoiceable_status_ctrl VARCHAR2(1);
308 /*Added for Bug# 6911195 End*/
309
310 l_attr_name VARCHAR2(50);
311 l_attr_value VARCHAR2(1);
312 l_bom_enabled_value VARCHAR2(1);
313 l_purchasable_value VARCHAR2(1);
314 l_transactable_value VARCHAR2(1);
315 l_stockable_value VARCHAR2(1);
316 l_wip_value VARCHAR2(1);
317 l_cust_ord_value VARCHAR2(1);
318 l_int_ord_value VARCHAR2(1);
319 l_invoiceable_value VARCHAR2(1);
320 -- End of bug 5236494
321 l_update_child_rec Boolean := FALSE; --Bug: 5220205
322 --bug 9944329
323 l_status_code_changed Boolean := FALSE;
324 l_status_code_control_level NUMBER;
325 l_org_status_attribute_name VARCHAR2(50);
326 l_org_status_attribute_value VARCHAR2(1);
327 l_org_status_attribute_control NUMBER;
328 --End bug 9944329
329 BEGIN
330
331 -- Set savepoint
332 SAVEPOINT Update_Org_Items_PVT;
333
334 -- Initialize message list
335 --
336 IF ( FND_API.to_Boolean (p_init_msg_list) ) THEN
337 FND_MSG_PUB.Initialize;
338 END IF;
339
340 -- Initialize API return status to success
341 --
342 x_return_status := FND_API.g_RET_STS_SUCCESS;
343
344 p_Item_ID := p_Item_rec.INVENTORY_ITEM_ID ;
345 p_Org_ID := p_Item_rec.ORGANIZATION_ID ;
346
347 IF ( p_Item_ID IS NULL ) OR
348 ( p_Org_ID IS NULL )
349 THEN
350 fnd_message.SET_NAME( 'INV', 'INV_MISS_OrgItem_ID' );
351 FND_MSG_PUB.Add;
352 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
353 END IF;
354
355
356
357 -- At this point it is sufficient to check (above) that item id
358 -- is not missing.
359 /*
360 -- Check if item record has any attribute values assigned
361 --
362 IF ( INV_ITEM_Lib.Is_Item_rec_Missing( p_Item_rec ) ) THEN
363 fnd_message.SET_NAME( 'INV', 'INV_MISS_Item_rec' );
364 FND_MSG_PUB.Add;
365 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
366 END IF;
367 */
368
369 ------------------------
370 -- Lock org item rows --
371 ------------------------
372
373 IF ( FND_API.to_Boolean (p_lock_rows) ) THEN
374
375 INV_ITEM_PVT.Lock_Org_Items
376 (
377 p_Item_ID => p_Item_ID
378 , p_Org_ID => p_Org_ID
379 , p_lock_Master => FND_API.g_TRUE
380 , p_lock_Orgs => FND_API.g_TRUE
381 , x_return_status => l_return_status
382 );
383
384 END IF; -- Lock org item rows
385
386 -- Get current language installation status (B or I)
387 -- to see if it is base language
388 --
389 SELECT INSTALLED_FLAG INTO l_Lang_Flag
390 FROM FND_LANGUAGES
391 WHERE LANGUAGE_CODE = userenv('LANG');
392
393 --------------------------------------------
394 -- Open item query and fetch a first row. --
395 -- The first row is master item, if p_Org --
396 -- is master organization. --
397 --------------------------------------------
398
399 OPEN INV_ITEM_API.Item_csr
400 (
401 p_Item_ID => p_Item_ID
402 , p_Org_ID => p_Org_ID
403 , p_fetch_Master => FND_API.g_TRUE
404 , p_fetch_Orgs => FND_API.g_TRUE
405 );
406 FETCH INV_ITEM_API.Item_csr INTO l_Item_rec;
407
408 IF ( INV_ITEM_API.Item_csr%NOTFOUND ) THEN
409 CLOSE INV_ITEM_API.Item_csr;
410 fnd_message.SET_NAME( 'INV', 'INV_Update_Org_Items_notfound' );
411 FND_MSG_PUB.Add;
412 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
413 END IF;
414
415 -- Get master org ID from the fetched record
416 -- (parameter p_Item_rec may not have this value)
417 --
418 p_Master_Org_ID := l_Item_rec.MASTER_ORGANIZATION_ID ;
419
420 p_Org_is_Master := ( p_Org_ID = p_Master_Org_ID );
421
422 ----------------------------------------------------------
423 -- Depending on the input parameter, copy either --
424 -- input item record "as is", or changed atributes only --
425 ----------------------------------------------------------
426
427 IF ( FND_API.to_Boolean (p_update_changes_only) )
428 THEN
429 -- Update changed attributes only - not implemented yet
430 /*
431 INV_ITEM_Lib.Copy_Changed_Attributes
432 (
433 p_Item_rec => p_Item_rec
434 , x_Item_rec => l_Item_rec
435 );
436 */
437 l_Item_rec := p_Item_rec ;
438 ELSE
439 l_Item_rec := p_Item_rec ;
440 END IF;
441
442 /*
443 -- Value layer
444
445 -- Attribute defaulting
446 */
447
448 -------------------------------------------------------
449 -- Item validation, depending on the input parameter --
450 -------------------------------------------------------
451
452 IF ( FND_API.to_Boolean (p_validate_Master) ) THEN
453
454 IF (l_Item_rec.inventory_item_flag ='N' AND
455 l_Item_rec.stock_enabled_flag ='Y' ) THEN
456 fnd_message.SET_NAME('INV', 'INVALID_INV_STK_FLAG_COMB');
457 FND_MSG_PUB.Add;
458 l_return_status := FND_API.g_RET_STS_ERROR;
459 ELSIF (l_Item_rec.stock_enabled_flag ='N' AND
460 l_Item_rec.mtl_transactions_enabled_flag ='Y' )THEN
461 fnd_message.SET_NAME('INV', 'INVALID_STK_TRX_FLAG_COMB');
462 FND_MSG_PUB.Add;
463 l_return_status := FND_API.g_RET_STS_ERROR;
464 --added for bug 8575398, pop up exception when check_shortages_flag = Y and transactions_enabled_flag = N
465 ELSIF (l_Item_rec.check_shortages_flag ='Y' AND
466 l_Item_rec.mtl_transactions_enabled_flag ='N' )THEN
467 fnd_message.SET_NAME('INV', 'INVALID_CHK_TRX_FLAG_COMB');
468 FND_MSG_PUB.Add;
469 l_return_status := FND_API.g_RET_STS_ERROR;
470 ELSIF (l_Item_rec.purchasing_item_flag ='N' AND
471 l_Item_rec.purchasing_enabled_flag ='Y' )THEN
472 fnd_message.SET_NAME('INV', 'INVALID_PI_PE_FLAG_COMB');
473 FND_MSG_PUB.Add;
474 l_return_status := FND_API.g_RET_STS_ERROR;
475 ELSIF (l_Item_rec.customer_order_flag ='N' AND
476 l_Item_rec.customer_order_enabled_flag ='Y' )THEN
477 fnd_message.SET_NAME('INV', 'INVALID_CO_COE_FLAG_COMB');
478 FND_MSG_PUB.Add;
479 l_return_status := FND_API.g_RET_STS_ERROR;
480 ELSIF (l_Item_rec.internal_order_flag ='N' AND
481 l_Item_rec.internal_order_enabled_flag ='Y' )THEN
482 fnd_message.SET_NAME('INV', 'INVALID_IO_IOE_FLAG_COMB');
483 FND_MSG_PUB.Add;
484 l_return_status := FND_API.g_RET_STS_ERROR;
485 /** Bug: 3546140 Removed for PLM RBOM
486 ELSIF (l_Item_rec.inventory_item_flag = 'N' AND
487 l_Item_rec.contract_item_type_code IS NULL AND
488 l_Item_rec.bom_enabled_flag = 'Y') THEN
489 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
490 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_BOM_ENABLED', TRUE);
491 FND_MSG_PUB.Add;
492 l_return_status := FND_API.g_RET_STS_ERROR;
493 ***/
494 ELSIF ( ( l_item_rec.inventory_item_flag = 'N'
495 OR l_item_rec.bom_item_type <> 4 )
496 AND l_Item_rec.build_in_wip_flag ='Y' ) THEN
497 FND_MESSAGE.Set_Name ('INV', 'INVALID_INV_WIP_FLAG_COMB');
498 FND_MSG_PUB.Add;
499 l_return_status := FND_API.g_RET_STS_ERROR;
500
501 ELSIF ( l_Item_rec.EFFECTIVITY_CONTROL = 2 ) AND
502 ( l_Item_rec.SERIAL_NUMBER_CONTROL_CODE NOT IN (2, 5) ) THEN
503 fnd_message.SET_NAME('INV', 'ITM-EFFC-INVALID SERIAL CTRL-2');
504 FND_MSG_PUB.Add;
505 l_return_status := FND_API.g_RET_STS_ERROR;
506
507 ELSIF (l_Item_rec.serviceable_product_flag = 'Y' AND
508 nvl(l_Item_rec.comms_nl_trackable_flag,'N') = 'N') THEN
509 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
510 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_IB_TRACKING_SERVICEABLE', TRUE);
511 FND_MSG_PUB.Add;
512 l_return_status := FND_API.g_RET_STS_ERROR;
513 --Added for 11.5.10 validations
514 ELSE
515 INVIDIT3.VMI_Table_Queries(
516 P_org_id => l_Item_rec.organization_id
517 , P_item_id => l_Item_rec.inventory_item_id
518 , X_vmiorconsign_enabled => l_vmiorconsign_enabled
519 , X_consign_enabled => l_consign_enabled
520 );
521 IF ( (l_vmiorconsign_enabled = 1 AND
522 (NVL(l_Item_rec.outside_operation_flag,'N') = 'Y' OR
523 l_Item_rec.eam_item_type IS NOT NULL OR
524 NVL(l_Item_rec.mtl_transactions_enabled_flag,'N') = 'N' OR
525 NVL(l_Item_rec.stock_enabled_flag,'N') = 'N'))
526 OR
527 (l_consign_enabled = 1 AND NVL(l_Item_rec.inventory_asset_flag,'N') = 'N')
528 ) THEN
529 fnd_message.SET_NAME ('INV', 'INV_INVALID_VMI_COMB');
530 FND_MSG_PUB.Add;
531 l_return_status := FND_API.g_RET_STS_ERROR;
532 END IF;
533 END IF;
534
535 /*
536 INV_ITEM_PVT.Validate_Item
537 (
538 p_validation_level => p_validation_level
539 , p_Item_rec => l_Item_rec
540 , x_return_status => l_return_status
541 , x_msg_count => x_msg_count
542 , x_msg_data => x_msg_data
543 );
544 */
545
546 IF ( l_return_status = FND_API.g_RET_STS_ERROR ) THEN
547 RAISE FND_API.g_EXC_ERROR;
548 ELSIF ( l_return_status = FND_API.g_RET_STS_UNEXP_ERROR ) THEN
549 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
550 END IF;
551
552 END IF; -- validate master
553
554 ----------------------------
555 -- Update master item row --
556 ----------------------------
557
558 INV_ITEM_API.Update_Item_Row
559 (
560 p_Item_rec => l_Item_rec
561 , p_update_Item_TL => TRUE
562 , p_Lang_Flag => l_Lang_Flag
563 , x_return_status => l_return_status
564 );
565
566 -------------------------------------------------
567 -- Continue with org items, if p_Org is master --
568 -------------------------------------------------
569
570 ----------------------------------- p_Org is master ---
571 IF ( p_Org_is_Master ) THEN
572
573 -- Save master item record
574 --
575 m_Item_rec := l_Item_rec;
576
577 -- Get a list of master control level attributes
578
579 Get_Master_Attributes ( x_return_status => l_return_status );
580
581 IF ( l_return_status = FND_API.g_RET_STS_ERROR ) THEN
582 RAISE FND_API.g_EXC_ERROR;
583 ELSIF ( l_return_status = FND_API.g_RET_STS_UNEXP_ERROR ) THEN
584 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
585 END IF;
586 /*
587 ELSE
588 fnd_message.Set_Name( 'INV', 'Master_Attribute.COUNT <> 0' );
589 FND_MSG_PUB.Add;
590 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
591 */
592
593 /* Following fix needs to be reverted for 5645595
594 -- Added for bug 5236494
595 -- Fetching status setting for each status controlled attribute
596 OPEN status_attr_control;
597 LOOP
598 FETCH status_attr_control INTO l_status_attr, l_status_ctrl;
599 EXIT when status_attr_control%NOTFOUND;
600
601 IF l_status_attr = 'MTL_SYSTEM_ITEMS.BOM_ENABLED_FLAG' THEN
602 l_bom_enabled_status := l_status_ctrl;
603 ELSIF l_status_attr = 'MTL_SYSTEM_ITEMS.PURCHASING_ENABLED_FLAG' THEN
604 l_purchasable_status := l_status_ctrl;
605 ELSIF l_status_attr = 'MTL_SYSTEM_ITEMS.MTL_TRANSACTIONS_ENABLED_FLAG' THEN
606 l_transactable_status := l_status_ctrl;
607 ELSIF l_status_attr = 'MTL_SYSTEM_ITEMS.STOCK_ENABLED_FLAG' THEN
608 l_stockable_status := l_status_ctrl;
609 ELSIF l_status_attr = 'MTL_SYSTEM_ITEMS.BUILD_IN_WIP_FLAG' THEN
610 l_wip_status := l_status_ctrl;
611 ELSIF l_status_attr = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_ENABLED_FLAG' THEN
612 l_cust_ord_status := l_status_ctrl;
613 ELSIF l_status_attr = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_ENABLED_FLAG' THEN
614 l_int_ord_status := l_status_ctrl;
615 ELSIF l_status_attr = 'MTL_SYSTEM_ITEMS.INVOICE_ENABLED_FLAG' THEN
616 l_invoiceable_status := l_status_ctrl;
617 END IF;
618
619 END LOOP;
620 CLOSE status_attr_control;
621
622 -- Fetching attribute value for each status controlled attribute
623 -- corresponding to master organization's status code
624 OPEN status_attr_values (m_Item_rec.INVENTORY_ITEM_STATUS_CODE);
625 LOOP
626 FETCH status_attr_values INTO l_attr_name, l_attr_value;
627 EXIT when status_attr_values%NOTFOUND;
628
629 IF l_attr_name = 'MTL_SYSTEM_ITEMS.BOM_ENABLED_FLAG' THEN
630 l_bom_enabled_value := l_attr_value;
631 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.PURCHASING_ENABLED_FLAG' THEN
632 l_purchasable_value := l_attr_value;
633 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.MTL_TRANSACTIONS_ENABLED_FLAG' THEN
634 l_transactable_value := l_attr_value;
635 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.STOCK_ENABLED_FLAG' THEN
636 l_stockable_value := l_attr_value;
637 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.BUILD_IN_WIP_FLAG' THEN
638 l_wip_value := l_attr_value;
639 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_ENABLED_FLAG' THEN
640 l_cust_ord_value := l_attr_value;
641 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_ENABLED_FLAG' THEN
642 l_int_ord_value := l_attr_value;
643 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.INVOICE_ENABLED_FLAG' THEN
644 l_invoiceable_value := l_attr_value;
645 END IF;
646
647 END LOOP;
648 CLOSE status_attr_values; */
649 -- End of bug 5236494
650
651 --Added for Bug# 6911195 Begin --
652 -- Fetching attribute value for each status controlled attribute
653 -- corresponding to master organization's status code
654 OPEN status_attr_values (m_Item_rec.INVENTORY_ITEM_STATUS_CODE);
655 LOOP
656 FETCH status_attr_values INTO l_attr_name, l_attr_value;
657 EXIT when status_attr_values%NOTFOUND;
658
659 IF l_attr_name = 'MTL_SYSTEM_ITEMS.BOM_ENABLED_FLAG' THEN
660 l_bom_enabled_value := l_attr_value;
661 l_bom_enabled_status_ctrl := l_status_ctrl_lvl;
662 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.PURCHASING_ENABLED_FLAG' THEN
663 l_purchasable_value := l_attr_value;
664 l_purchasable_status_ctrl := l_status_ctrl_lvl;
665 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.MTL_TRANSACTIONS_ENABLED_FLAG' THEN
666 l_transactable_value := l_attr_value;
667 l_transactable_status_ctrl := l_status_ctrl_lvl;
668 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.STOCK_ENABLED_FLAG' THEN
669 l_stockable_value := l_attr_value;
670 l_stockable_status_ctrl := l_status_ctrl_lvl;
671 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.BUILD_IN_WIP_FLAG' THEN
672 l_wip_value := l_attr_value;
673 l_wip_status_ctrl := l_status_ctrl_lvl;
674 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_ENABLED_FLAG' THEN
675 l_cust_ord_value := l_attr_value;
676 l_cust_ord_status_ctrl := l_status_ctrl_lvl;
677 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_ENABLED_FLAG' THEN
678 l_int_ord_value := l_attr_value;
679 l_int_ord_status_ctrl := l_status_ctrl_lvl;
680 ELSIF l_attr_name = 'MTL_SYSTEM_ITEMS.INVOICE_ENABLED_FLAG' THEN
681 l_invoiceable_value := l_attr_value;
682 l_invoiceable_status_ctrl := l_status_ctrl_lvl;
683 END IF;
684
685 END LOOP;
686 CLOSE status_attr_values;
687 --Added for Bug# 6911195 --
688
689 -- bug 9944329, get status code attribute control level
690 SELECT control_level
691 INTO l_status_code_control_level
692 FROM mtl_item_attributes
693 WHERE attribute_name = 'MTL_SYSTEM_ITEMS.INVENTORY_ITEM_STATUS_CODE';
694 --------------------------------
695 LOOP -- loop through org items
696
697 FETCH INV_ITEM_API.Item_csr INTO l_Item_rec;
698
699 EXIT WHEN INV_ITEM_API.Item_csr%NOTFOUND;
700
701 ----------------------------------
702 -- Loop through item attributes --
703 ----------------------------------
704
705 l_update_Item_TL := FALSE;
706 l_update_child_rec := FALSE; --Bug: 5220205
707 -- Bug 4388141. Populate long description in l_item_rec.long_description
708 SELECT description , long_description
709 INTO l_item_rec.description , l_item_rec.long_description
710 FROM mtl_system_items_tl
711 WHERE inventory_item_id = l_item_rec.inventory_item_id
712 AND organization_id = l_item_rec.organization_id
713 AND language = userenv('LANG');
714 --bug 9944329, check if status has been changed in master org
715 if l_Item_rec.INVENTORY_ITEM_STATUS_CODE <> m_Item_rec.INVENTORY_ITEM_STATUS_CODE then
716 l_status_code_changed := TRUE;
717 end if;
718
719 FOR i IN 1 .. g_Master_Attribute_tbl.COUNT LOOP
720 l_Attribute_Code := g_Master_Attribute_tbl (i);
721 -- Copy master level attribute over to an org item
722
723 IF ( l_Attribute_Code = 'DESCRIPTION' ) THEN
724 IF l_Item_rec.DESCRIPTION <> m_Item_rec.DESCRIPTION THEN
725 l_Item_rec.DESCRIPTION := m_Item_rec.DESCRIPTION;
726 l_update_Item_TL := TRUE;
727 l_update_child_rec := TRUE;
728 END IF;
729 ELSIF ( l_Attribute_Code = 'LONG_DESCRIPTION' ) THEN
730 IF NVL(l_Item_rec.LONG_DESCRIPTION,'@@@') <> NVL(m_Item_rec.LONG_DESCRIPTION,'@@@') THEN
731 l_Item_rec.LONG_DESCRIPTION := m_Item_rec.LONG_DESCRIPTION;
732 l_update_Item_TL := TRUE;
733 l_update_child_rec := TRUE;
734 END IF;
735 ELSIF ( l_Attribute_Code = 'PRIMARY_UOM_CODE' ) THEN
736 l_Item_rec.PRIMARY_UOM_CODE := m_Item_rec.PRIMARY_UOM_CODE;
737 ELSIF ( l_Attribute_Code = 'PRIMARY_UNIT_OF_MEASURE' ) THEN
738 l_Item_rec.PRIMARY_UNIT_OF_MEASURE := m_Item_rec.PRIMARY_UNIT_OF_MEASURE;
739
740 ELSIF ( l_Attribute_Code = 'ITEM_TYPE' ) THEN
741 l_Item_rec.ITEM_TYPE := m_Item_rec.ITEM_TYPE;
742 l_update_child_rec := TRUE; -- Bug 6450473
743
744 ELSIF ( l_Attribute_Code = 'INVENTORY_ITEM_STATUS_CODE' ) THEN
745 --Added for Bug: 5236494
746 IF l_Item_rec.INVENTORY_ITEM_STATUS_CODE <> m_Item_rec.INVENTORY_ITEM_STATUS_CODE THEN
747 /* Following fix needs to be reverted for 5645595
748 -- If status setting is not 'Not Used' then populate child organization's
749 -- status controlled attributes with attribute value fetched earlier.
750 IF l_stockable_status <> 3 THEN
751 l_Item_rec.STOCK_ENABLED_FLAG := l_stockable_value;
752 END IF;
753 IF l_transactable_status <> 3 THEN
754 l_Item_rec.MTL_TRANSACTIONS_ENABLED_FLAG := l_transactable_value;
755 END IF;
756 IF l_bom_enabled_status <> 3 THEN
757 l_Item_rec.BOM_ENABLED_FLAG := l_bom_enabled_value;
758 END IF;
759 IF l_purchasable_status <> 3 THEN
760 l_Item_rec.PURCHASING_ENABLED_FLAG := l_purchasable_value;
761 END IF;
762 IF l_wip_status <> 3 THEN
763 l_Item_rec.BUILD_IN_WIP_FLAG := l_wip_value;
764 END IF;
765 IF l_cust_ord_status <> 3 THEN
766 l_Item_rec.CUSTOMER_ORDER_ENABLED_FLAG := l_cust_ord_value;
767 END IF;
768 IF l_int_ord_status <> 3 THEN
769 l_Item_rec.INTERNAL_ORDER_ENABLED_FLAG := l_int_ord_value;
770 END IF;
771 IF l_invoiceable_status <> 3 THEN
772 l_Item_rec.INVOICE_ENABLED_FLAG := l_invoiceable_value;
773 END IF; */
774 -- End of bug 5236494
775
776 --Added for Bug# 6911195--BEGIN--
777
778 IF l_stockable_status <> 3 and l_stockable_status_ctrl <> 1 THEN /*Added additional condition to set the value of the
779 status attributes only if they or Org controlled*/
780 l_Item_rec.STOCK_ENABLED_FLAG := l_stockable_value;
781 END IF;
782 IF l_transactable_status <> 3 AND l_transactable_status_ctrl <> 1 THEN
783 l_Item_rec.MTL_TRANSACTIONS_ENABLED_FLAG := l_transactable_value;
784 END IF;
785 IF l_bom_enabled_status <> 3 AND l_bom_enabled_status_ctrl <> 1 THEN
786 l_Item_rec.BOM_ENABLED_FLAG := l_bom_enabled_value;
787 END IF;
788 IF l_purchasable_status <> 3 AND l_purchasable_status <> 1 THEN
789 l_Item_rec.PURCHASING_ENABLED_FLAG := l_purchasable_value;
790 END IF;
791 IF l_wip_status <> 3 AND l_wip_status <> 1 THEN
792 l_Item_rec.BUILD_IN_WIP_FLAG := l_wip_value;
793 END IF;
794 IF l_cust_ord_status <> 3 AND l_cust_ord_status <> 1 THEN
795 l_Item_rec.CUSTOMER_ORDER_ENABLED_FLAG := l_cust_ord_value;
796 END IF;
797 IF l_int_ord_status <> 3 AND l_int_ord_status <> 1 THEN
798 l_Item_rec.INTERNAL_ORDER_ENABLED_FLAG := l_int_ord_value;
799 END IF;
800 IF l_invoiceable_status <> 3 AND l_invoiceable_status <> 1 THEN
801 l_Item_rec.INVOICE_ENABLED_FLAG := l_invoiceable_value;
802 END IF;
803
804 --Added for Bug# 6911195-- End--
805 l_Item_rec.INVENTORY_ITEM_STATUS_CODE := m_Item_rec.INVENTORY_ITEM_STATUS_CODE;
806 l_update_child_rec := TRUE;
807 END IF;
808
809 --Inventory Attribute Group
810 ELSIF ( l_Attribute_Code = 'INVENTORY_ITEM_FLAG') THEN
811 IF (NVL(l_Item_rec.INVENTORY_ITEM_FLAG,'!') <> NVL(m_Item_rec.INVENTORY_ITEM_FLAG,'!')) THEN
812 l_Item_rec.INVENTORY_ITEM_FLAG := m_Item_rec.INVENTORY_ITEM_FLAG;
813 l_update_child_rec := TRUE;
814 END IF;
815 ELSIF ( l_Attribute_Code = 'STOCK_ENABLED_FLAG') THEN
816 IF (NVL(l_Item_rec.STOCK_ENABLED_FLAG,'!') <> NVL(m_Item_rec.STOCK_ENABLED_FLAG,'!')) THEN
817 l_Item_rec.STOCK_ENABLED_FLAG := m_Item_rec.STOCK_ENABLED_FLAG;
818 l_update_child_rec := TRUE;
819 END IF;
820 ELSIF ( l_Attribute_Code = 'MTL_TRANSACTIONS_ENABLED_FLAG') THEN
821 IF (NVL(l_Item_rec.MTL_TRANSACTIONS_ENABLED_FLAG,'!') <> NVL(m_Item_rec.MTL_TRANSACTIONS_ENABLED_FLAG,'!')) THEN
822 l_Item_rec.MTL_TRANSACTIONS_ENABLED_FLAG := m_Item_rec.MTL_TRANSACTIONS_ENABLED_FLAG;
823 l_update_child_rec := TRUE;
824 END IF;
825 ELSIF ( l_Attribute_Code = 'REVISION_QTY_CONTROL_CODE') THEN
826 IF (NVL(l_Item_rec.REVISION_QTY_CONTROL_CODE,-999999) <> NVL(m_Item_rec.REVISION_QTY_CONTROL_CODE,-999999)) THEN
827 l_Item_rec.REVISION_QTY_CONTROL_CODE := m_Item_rec.REVISION_QTY_CONTROL_CODE;
828 l_update_child_rec := TRUE;
829 END IF;
830 ELSIF ( l_Attribute_Code = 'RESERVABLE_TYPE') THEN
831 IF (NVL(l_Item_rec.RESERVABLE_TYPE,-999999) <> NVL(m_Item_rec.RESERVABLE_TYPE,-999999)) THEN
832 l_Item_rec.RESERVABLE_TYPE := m_Item_rec.RESERVABLE_TYPE;
833 l_update_child_rec := TRUE;
834 END IF;
835 ELSIF ( l_Attribute_Code = 'CHECK_SHORTAGES_FLAG') THEN
836 IF (NVL(l_Item_rec.CHECK_SHORTAGES_FLAG,'!') <> NVL(m_Item_rec.CHECK_SHORTAGES_FLAG,'!')) THEN
837 l_Item_rec.CHECK_SHORTAGES_FLAG := m_Item_rec.CHECK_SHORTAGES_FLAG;
838 l_update_child_rec := TRUE;
839 END IF;
840 ELSIF ( l_Attribute_Code = 'LOT_CONTROL_CODE') THEN
841 IF (NVL(l_Item_rec.LOT_CONTROL_CODE,-999999) <> NVL(m_Item_rec.LOT_CONTROL_CODE,-999999)) THEN
842 l_Item_rec.LOT_CONTROL_CODE := m_Item_rec.LOT_CONTROL_CODE;
843 l_update_child_rec := TRUE;
844 END IF;
845 ELSIF ( l_Attribute_Code = 'AUTO_LOT_ALPHA_PREFIX') THEN
846 IF (NVL(l_Item_rec.AUTO_LOT_ALPHA_PREFIX,'!') <> NVL(m_Item_rec.AUTO_LOT_ALPHA_PREFIX,'!')) THEN
847 l_Item_rec.AUTO_LOT_ALPHA_PREFIX := m_Item_rec.AUTO_LOT_ALPHA_PREFIX;
848 l_update_child_rec := TRUE;
849 END IF;
850 ELSIF ( l_Attribute_Code = 'START_AUTO_LOT_NUMBER') THEN
851 IF (NVL(l_Item_rec.START_AUTO_LOT_NUMBER,-999999) <> NVL(m_Item_rec.START_AUTO_LOT_NUMBER,-999999)) THEN
852 l_Item_rec.START_AUTO_LOT_NUMBER := m_Item_rec.START_AUTO_LOT_NUMBER;
853 l_update_child_rec := TRUE;
854 END IF;
855 ELSIF ( l_Attribute_Code = 'SHELF_LIFE_CODE') THEN
856 IF (NVL(l_Item_rec.SHELF_LIFE_CODE,-999999) <> NVL(m_Item_rec.SHELF_LIFE_CODE,-999999)) THEN
857 l_Item_rec.SHELF_LIFE_CODE := m_Item_rec.SHELF_LIFE_CODE;
858 l_update_child_rec := TRUE;
859 END IF;
860 ELSIF ( l_Attribute_Code = 'SHELF_LIFE_DAYS') THEN
861 IF (NVL(l_Item_rec.SHELF_LIFE_DAYS,-999999) <> NVL(m_Item_rec.SHELF_LIFE_DAYS,-999999)) THEN
862 l_Item_rec.SHELF_LIFE_DAYS := m_Item_rec.SHELF_LIFE_DAYS;
863 l_update_child_rec := TRUE;
864 END IF;
865 ELSIF ( l_Attribute_Code = 'CYCLE_COUNT_ENABLED_FLAG') THEN
866 IF (NVL(l_Item_rec.CYCLE_COUNT_ENABLED_FLAG,'!') <> NVL(m_Item_rec.CYCLE_COUNT_ENABLED_FLAG,'!')) THEN
867 l_Item_rec.CYCLE_COUNT_ENABLED_FLAG := m_Item_rec.CYCLE_COUNT_ENABLED_FLAG;
868 l_update_child_rec := TRUE;
869 END IF;
870 ELSIF ( l_Attribute_Code = 'NEGATIVE_MEASUREMENT_ERROR') THEN
871 IF (NVL(l_Item_rec.NEGATIVE_MEASUREMENT_ERROR,-999999) <> NVL(m_Item_rec.NEGATIVE_MEASUREMENT_ERROR,-999999)) THEN
872 l_Item_rec.NEGATIVE_MEASUREMENT_ERROR := m_Item_rec.NEGATIVE_MEASUREMENT_ERROR;
873 l_update_child_rec := TRUE;
874 END IF;
875 ELSIF ( l_Attribute_Code = 'POSITIVE_MEASUREMENT_ERROR') THEN
876 IF (NVL(l_Item_rec.POSITIVE_MEASUREMENT_ERROR,-999999) <> NVL(m_Item_rec.POSITIVE_MEASUREMENT_ERROR,-999999)) THEN
877 l_Item_rec.POSITIVE_MEASUREMENT_ERROR := m_Item_rec.POSITIVE_MEASUREMENT_ERROR;
878 l_update_child_rec := TRUE;
879 END IF;
880 ELSIF ( l_Attribute_Code = 'SERIAL_NUMBER_CONTROL_CODE') THEN
881 IF (NVL(l_Item_rec.SERIAL_NUMBER_CONTROL_CODE,-999999) <> NVL(m_Item_rec.SERIAL_NUMBER_CONTROL_CODE,-999999)) THEN
882 l_Item_rec.SERIAL_NUMBER_CONTROL_CODE := m_Item_rec.SERIAL_NUMBER_CONTROL_CODE;
883 l_update_child_rec := TRUE;
884 END IF;
885 ELSIF ( l_Attribute_Code = 'AUTO_SERIAL_ALPHA_PREFIX') THEN
886 IF (NVL(l_Item_rec.AUTO_SERIAL_ALPHA_PREFIX,'!') <> NVL(m_Item_rec.AUTO_SERIAL_ALPHA_PREFIX,'!')) THEN
887 l_Item_rec.AUTO_SERIAL_ALPHA_PREFIX := m_Item_rec.AUTO_SERIAL_ALPHA_PREFIX;
888 l_update_child_rec := TRUE;
889 END IF;
890 ELSIF ( l_Attribute_Code = 'START_AUTO_SERIAL_NUMBER') THEN
891 IF (NVL(l_Item_rec.START_AUTO_SERIAL_NUMBER,-999999) <> NVL(m_Item_rec.START_AUTO_SERIAL_NUMBER,-999999)) THEN
892 l_Item_rec.START_AUTO_SERIAL_NUMBER := m_Item_rec.START_AUTO_SERIAL_NUMBER;
893 l_update_child_rec := TRUE;
894 END IF;
895 ELSIF ( l_Attribute_Code = 'LOCATION_CONTROL_CODE') THEN
896 IF (NVL(l_Item_rec.LOCATION_CONTROL_CODE,-999999) <> NVL(m_Item_rec.LOCATION_CONTROL_CODE,-999999)) THEN
897 l_Item_rec.LOCATION_CONTROL_CODE := m_Item_rec.LOCATION_CONTROL_CODE;
898 l_update_child_rec := TRUE;
899 END IF;
900 ELSIF ( l_Attribute_Code = 'RESTRICT_SUBINVENTORIES_CODE') THEN
901 IF (NVL(l_Item_rec.RESTRICT_SUBINVENTORIES_CODE,-999999) <> NVL(m_Item_rec.RESTRICT_SUBINVENTORIES_CODE,-999999)) THEN
902 l_Item_rec.RESTRICT_SUBINVENTORIES_CODE := m_Item_rec.RESTRICT_SUBINVENTORIES_CODE;
903 l_update_child_rec := TRUE;
904 END IF;
905 ELSIF ( l_Attribute_Code = 'RESTRICT_LOCATORS_CODE') THEN
906 IF (NVL(l_Item_rec.RESTRICT_LOCATORS_CODE,-999999) <> NVL(m_Item_rec.RESTRICT_LOCATORS_CODE,-999999)) THEN
907 l_Item_rec.RESTRICT_LOCATORS_CODE := m_Item_rec.RESTRICT_LOCATORS_CODE;
908 l_update_child_rec := TRUE;
909 END IF;
910 ELSIF ( l_Attribute_Code = 'LOT_STATUS_ENABLED') THEN
911 IF (NVL(l_Item_rec.LOT_STATUS_ENABLED,'!') <> NVL(m_Item_rec.LOT_STATUS_ENABLED,'!')) THEN
912 l_Item_rec.LOT_STATUS_ENABLED := m_Item_rec.LOT_STATUS_ENABLED ;
913 l_update_child_rec := TRUE;
914 END IF;
915 ELSIF ( l_Attribute_Code = 'DEFAULT_LOT_STATUS_ID') THEN
916 IF (NVL(l_Item_rec.DEFAULT_LOT_STATUS_ID,-999999) <> NVL(m_Item_rec.DEFAULT_LOT_STATUS_ID,-999999)) THEN
917 l_Item_rec.DEFAULT_LOT_STATUS_ID := m_Item_rec.DEFAULT_LOT_STATUS_ID;
918 l_update_child_rec := TRUE;
919 END IF;
920 ELSIF ( l_Attribute_Code = 'SERIAL_STATUS_ENABLED') THEN
921 IF (NVL(l_Item_rec.SERIAL_STATUS_ENABLED,'!') <> NVL(m_Item_rec.SERIAL_STATUS_ENABLED,'!')) THEN
922 l_Item_rec.SERIAL_STATUS_ENABLED := m_Item_rec.SERIAL_STATUS_ENABLED;
923 l_update_child_rec := TRUE;
924 END IF;
925 ELSIF ( l_Attribute_Code = 'DEFAULT_SERIAL_STATUS_ID') THEN
926 IF (NVL(l_Item_rec.DEFAULT_SERIAL_STATUS_ID,-999999) <> NVL(m_Item_rec.DEFAULT_SERIAL_STATUS_ID,-999999)) THEN
927 l_Item_rec.DEFAULT_SERIAL_STATUS_ID := m_Item_rec.DEFAULT_SERIAL_STATUS_ID ;
928 l_update_child_rec := TRUE;
929 END IF;
930 ELSIF ( l_Attribute_Code = 'LOT_SPLIT_ENABLED') THEN
931 IF (NVL(l_Item_rec.LOT_SPLIT_ENABLED,'!') <> NVL(m_Item_rec.LOT_SPLIT_ENABLED,'!')) THEN
932 l_Item_rec.LOT_SPLIT_ENABLED := m_Item_rec.LOT_SPLIT_ENABLED ;
933 l_update_child_rec := TRUE;
934 END IF;
935 ELSIF ( l_Attribute_Code = 'LOT_MERGE_ENABLED') THEN
936 IF (NVL(l_Item_rec.LOT_MERGE_ENABLED,'!') <> NVL(m_Item_rec.LOT_MERGE_ENABLED,'!')) THEN
937 l_Item_rec.LOT_MERGE_ENABLED := m_Item_rec.LOT_MERGE_ENABLED ;
938 l_update_child_rec := TRUE;
939 END IF;
940 ELSIF ( l_Attribute_Code = 'LOT_TRANSLATE_ENABLED') THEN
941 IF (NVL(l_Item_rec.LOT_TRANSLATE_ENABLED,'!') <> NVL(m_Item_rec.LOT_TRANSLATE_ENABLED,'!')) THEN
942 l_Item_rec.LOT_TRANSLATE_ENABLED := m_Item_rec.LOT_TRANSLATE_ENABLED;
943 l_update_child_rec := TRUE;
944 END IF;
945 ELSIF ( l_Attribute_Code = 'LOT_SUBSTITUTION_ENABLED') THEN
946 IF (NVL(l_Item_rec.LOT_SUBSTITUTION_ENABLED,'!') <> NVL(m_Item_rec.LOT_SUBSTITUTION_ENABLED,'!')) THEN
947 l_Item_rec.LOT_SUBSTITUTION_ENABLED := m_Item_rec.LOT_SUBSTITUTION_ENABLED;
948 l_update_child_rec := TRUE;
949 END IF;
950 ELSIF ( l_Attribute_Code = 'BULK_PICKED_FLAG') THEN
951 IF (NVL(l_Item_rec.BULK_PICKED_FLAG,'!') <> NVL(m_Item_rec.BULK_PICKED_FLAG,'!')) THEN
952 l_Item_rec.BULK_PICKED_FLAG := m_Item_rec.BULK_PICKED_FLAG ;
953 l_update_child_rec := TRUE;
954 END IF;
955 ELSIF ( l_Attribute_Code = 'LOT_DIVISIBLE_FLAG') THEN --Bug: 5396073
956 IF (NVL(l_Item_rec.LOT_DIVISIBLE_FLAG,'!') <> NVL(m_Item_rec.LOT_DIVISIBLE_FLAG,'!')) THEN
957 l_Item_rec.LOT_DIVISIBLE_FLAG := m_Item_rec.LOT_DIVISIBLE_FLAG ;
958 l_update_child_rec := TRUE;
959 END IF;
960 ELSIF ( l_Attribute_Code = 'MATURITY_DAYS') THEN --Bug: 5396073
961 IF (NVL(l_Item_rec.MATURITY_DAYS,-999999) <> NVL(m_Item_rec.MATURITY_DAYS,-999999)) THEN
962 l_Item_rec.MATURITY_DAYS := m_Item_rec.MATURITY_DAYS ;
963 l_update_child_rec := TRUE;
964 END IF;
965 ELSIF ( l_Attribute_Code = 'HOLD_DAYS') THEN --Bug: 5396073
966 IF (NVL(l_Item_rec.HOLD_DAYS,-999999) <> NVL(m_Item_rec.HOLD_DAYS,-999999)) THEN
967 l_Item_rec.HOLD_DAYS := m_Item_rec.HOLD_DAYS ;
968 l_update_child_rec := TRUE;
969 END IF;
970 ELSIF ( l_Attribute_Code = 'RETEST_INTERVAL') THEN --Bug: 5396073
971 IF (NVL(l_Item_rec.RETEST_INTERVAL,-999999) <> NVL(m_Item_rec.RETEST_INTERVAL,-999999)) THEN
972 l_Item_rec.RETEST_INTERVAL := m_Item_rec.RETEST_INTERVAL ;
973 l_update_child_rec := TRUE;
974 END IF;
975 ELSIF ( l_Attribute_Code = 'EXPIRATION_ACTION_INTERVAL') THEN --Bug: 5396073
976 IF (NVL(l_Item_rec.EXPIRATION_ACTION_INTERVAL,-999999) <> NVL(m_Item_rec.EXPIRATION_ACTION_INTERVAL,-999999)) THEN
977 l_Item_rec.EXPIRATION_ACTION_INTERVAL := m_Item_rec.EXPIRATION_ACTION_INTERVAL ;
978 l_update_child_rec := TRUE;
979 END IF;
980 ELSIF ( l_Attribute_Code = 'EXPIRATION_ACTION_CODE') THEN --Bug: 5396073
981 IF (NVL(l_Item_rec.EXPIRATION_ACTION_CODE,'!') <> NVL(m_Item_rec.EXPIRATION_ACTION_CODE,'!')) THEN
982 l_Item_rec.EXPIRATION_ACTION_CODE := m_Item_rec.EXPIRATION_ACTION_CODE ;
983 l_update_child_rec := TRUE;
984 END IF;
985 ELSIF ( l_Attribute_Code = 'GRADE_CONTROL_FLAG') THEN --Bug: 5396073
986 IF (NVL(l_Item_rec.GRADE_CONTROL_FLAG,'!') <> NVL(m_Item_rec.GRADE_CONTROL_FLAG,'!')) THEN
987 l_Item_rec.GRADE_CONTROL_FLAG := m_Item_rec.GRADE_CONTROL_FLAG ;
988 l_update_child_rec := TRUE;
989 END IF;
990 ELSIF ( l_Attribute_Code = 'DEFAULT_GRADE') THEN --Bug: 5396073
991 IF (NVL(l_Item_rec.DEFAULT_GRADE,'!') <> NVL(m_Item_rec.DEFAULT_GRADE,'!')) THEN
992 l_Item_rec.DEFAULT_GRADE := m_Item_rec.DEFAULT_GRADE ;
993 l_update_child_rec := TRUE;
994 END IF;
995 ELSIF ( l_Attribute_Code = 'CHILD_LOT_FLAG') THEN --Bug: 5396073
996 IF (NVL(l_Item_rec.CHILD_LOT_FLAG,'!') <> NVL(m_Item_rec.CHILD_LOT_FLAG,'!')) THEN
997 l_Item_rec.CHILD_LOT_FLAG := m_Item_rec.CHILD_LOT_FLAG ;
998 l_update_child_rec := TRUE;
999 END IF;
1000 ELSIF ( l_Attribute_Code = 'PARENT_CHILD_GENERATION_FLAG') THEN --Bug: 5396073
1001 IF (NVL(l_Item_rec.PARENT_CHILD_GENERATION_FLAG,'!') <> NVL(m_Item_rec.PARENT_CHILD_GENERATION_FLAG,'!')) THEN
1002 l_Item_rec.PARENT_CHILD_GENERATION_FLAG := m_Item_rec.PARENT_CHILD_GENERATION_FLAG ;
1003 l_update_child_rec := TRUE;
1004 END IF;
1005 ELSIF ( l_Attribute_Code = 'CHILD_LOT_PREFIX') THEN --Bug: 5396073
1006 IF (NVL(l_Item_rec.CHILD_LOT_PREFIX,'!') <> NVL(m_Item_rec.CHILD_LOT_PREFIX,'!')) THEN
1007 l_Item_rec.CHILD_LOT_PREFIX := m_Item_rec.CHILD_LOT_PREFIX ;
1008 l_update_child_rec := TRUE;
1009 END IF;
1010 ELSIF ( l_Attribute_Code = 'CHILD_LOT_STARTING_NUMBER') THEN --Bug: 5396073
1011 IF (NVL(l_Item_rec.CHILD_LOT_STARTING_NUMBER,-999999) <> NVL(m_Item_rec.CHILD_LOT_STARTING_NUMBER,-999999)) THEN
1012 l_Item_rec.CHILD_LOT_STARTING_NUMBER := m_Item_rec.CHILD_LOT_STARTING_NUMBER ;
1013 l_update_child_rec := TRUE;
1014 END IF;
1015 ELSIF ( l_Attribute_Code = 'CHILD_LOT_VALIDATION_FLAG') THEN --Bug: 5396073
1016 IF (NVL(l_Item_rec.CHILD_LOT_VALIDATION_FLAG,'!') <> NVL(m_Item_rec.CHILD_LOT_VALIDATION_FLAG,'!')) THEN
1017 l_Item_rec.CHILD_LOT_VALIDATION_FLAG := m_Item_rec.CHILD_LOT_VALIDATION_FLAG ;
1018 l_update_child_rec := TRUE;
1019 END IF;
1020 ELSIF ( l_Attribute_Code = 'COPY_LOT_ATTRIBUTE_FLAG') THEN --Bug: 5396073
1021 IF (NVL(l_Item_rec.COPY_LOT_ATTRIBUTE_FLAG,'!') <> NVL(m_Item_rec.COPY_LOT_ATTRIBUTE_FLAG,'!')) THEN
1022 l_Item_rec.COPY_LOT_ATTRIBUTE_FLAG := m_Item_rec.COPY_LOT_ATTRIBUTE_FLAG ;
1023 l_update_child_rec := TRUE;
1024 END IF;
1025 -- Serial_Tagging Enh -- bug 9913552
1026 ELSIF ( l_Attribute_Code = 'SERIAL_TAGGING_FLAG') THEN
1027 IF (NVL(l_Item_rec.SERIAL_TAGGING_FLAG,'!') <> NVL(m_Item_rec.SERIAL_TAGGING_FLAG,'!')) THEN
1028 l_Item_rec.SERIAL_TAGGING_FLAG := m_Item_rec.SERIAL_TAGGING_FLAG ;
1029 l_update_child_rec := TRUE;
1030 END IF;
1031 --BOM Attribute Group
1032 ELSIF ( l_Attribute_Code = 'BOM_ENABLED_FLAG') THEN
1033 IF (NVL(l_Item_rec.BOM_ENABLED_FLAG,'!') <> NVL(m_Item_rec.BOM_ENABLED_FLAG,'!')) THEN
1034 l_Item_rec.BOM_ENABLED_FLAG := m_Item_rec.BOM_ENABLED_FLAG;
1035 l_update_child_rec := TRUE;
1036 END IF;
1037 ELSIF ( l_Attribute_Code = 'BOM_ITEM_TYPE') THEN
1038 IF (NVL(l_Item_rec.BOM_ITEM_TYPE,-999999) <> NVL(m_Item_rec.BOM_ITEM_TYPE,-999999)) THEN
1039 l_Item_rec.BOM_ITEM_TYPE := m_Item_rec.BOM_ITEM_TYPE ;
1040 l_update_child_rec := TRUE;
1041 END IF;
1042 ELSIF ( l_Attribute_Code = 'BASE_ITEM_ID') THEN
1043 IF (NVL(l_Item_rec.BASE_ITEM_ID,-999999) <> NVL(m_Item_rec.BASE_ITEM_ID,-999999)) THEN
1044 l_Item_rec.BASE_ITEM_ID := m_Item_rec.BASE_ITEM_ID;
1045 l_update_child_rec := TRUE;
1046 END IF;
1047 ELSIF ( l_Attribute_Code = 'AUTO_CREATED_CONFIG_FLAG') THEN
1048 IF (NVL(l_Item_rec.AUTO_CREATED_CONFIG_FLAG,'!') <> NVL(m_Item_rec.AUTO_CREATED_CONFIG_FLAG,'!')) THEN
1049 l_Item_rec.AUTO_CREATED_CONFIG_FLAG := m_Item_rec.AUTO_CREATED_CONFIG_FLAG;
1050 l_update_child_rec := TRUE;
1051 END IF;
1052 ELSIF ( l_Attribute_Code = 'ENG_ITEM_FLAG') THEN
1053 IF (NVL(l_Item_rec.ENG_ITEM_FLAG,'!') <> NVL(m_Item_rec.ENG_ITEM_FLAG,'!')) THEN
1054 l_Item_rec.ENG_ITEM_FLAG := m_Item_rec.ENG_ITEM_FLAG;
1055 l_update_child_rec := TRUE;
1056 END IF;
1057 ELSIF ( l_Attribute_Code = 'EFFECTIVITY_CONTROL') THEN
1058 IF (NVL(l_Item_rec.EFFECTIVITY_CONTROL,-999999) <> NVL(m_Item_rec.EFFECTIVITY_CONTROL,-999999)) THEN
1059 l_Item_rec.EFFECTIVITY_CONTROL := m_Item_rec.EFFECTIVITY_CONTROL;
1060 l_update_child_rec := TRUE;
1061 END IF;
1062 ELSIF ( l_Attribute_Code = 'CONFIG_MODEL_TYPE') THEN
1063 IF (NVL(l_Item_rec.CONFIG_MODEL_TYPE,'!') <> NVL(m_Item_rec.CONFIG_MODEL_TYPE,'!')) THEN
1064 l_Item_rec.CONFIG_MODEL_TYPE := m_Item_rec.CONFIG_MODEL_TYPE;
1065 l_update_child_rec := TRUE;
1066 END IF;
1067 ELSIF ( l_Attribute_Code = 'CONFIG_ORGS') THEN
1068 IF (NVL(l_Item_rec.CONFIG_ORGS,'!') <> NVL(m_Item_rec.CONFIG_ORGS,'!')) THEN
1069 l_Item_rec.CONFIG_ORGS := m_Item_rec.CONFIG_ORGS;
1070 l_update_child_rec := TRUE;
1071 END IF;
1072 ELSIF ( l_Attribute_Code = 'CONFIG_MATCH') THEN
1073 IF (NVL(l_Item_rec.CONFIG_MATCH,'!') <> NVL(m_Item_rec.CONFIG_MATCH,'!')) THEN
1074 l_Item_rec.CONFIG_MATCH := m_Item_rec.CONFIG_MATCH;
1075 l_update_child_rec := TRUE;
1076 END IF;
1077 ELSIF ( l_Attribute_Code = 'ENGINEERING_ECN_CODE') THEN
1078 IF (NVL(l_Item_rec.ENGINEERING_ECN_CODE,'!') <> NVL(m_Item_rec.ENGINEERING_ECN_CODE,'!')) THEN
1079 l_Item_rec.ENGINEERING_ECN_CODE := m_Item_rec.ENGINEERING_ECN_CODE;
1080 l_update_child_rec := TRUE;
1081 END IF;
1082 ELSIF ( l_Attribute_Code = 'ENGINEERING_ITEM_ID') THEN
1083 IF (NVL(l_Item_rec.ENGINEERING_ITEM_ID,-999999) <> NVL(m_Item_rec.ENGINEERING_ITEM_ID,-999999)) THEN
1084 l_Item_rec.ENGINEERING_ITEM_ID := m_Item_rec.ENGINEERING_ITEM_ID;
1085 l_update_child_rec := TRUE;
1086 END IF;
1087
1088 --Asset Management Group
1089 ELSIF ( l_Attribute_Code = 'EAM_ITEM_TYPE') THEN
1090 IF (NVL(l_Item_rec.EAM_ITEM_TYPE,-999999) <> NVL(m_Item_rec.EAM_ITEM_TYPE,-999999)) THEN
1091 l_Item_rec.EAM_ITEM_TYPE := m_Item_rec.EAM_ITEM_TYPE;
1092 l_update_child_rec := TRUE;
1093 END IF;
1094 ELSIF ( l_Attribute_Code = 'EAM_ACTIVITY_TYPE_CODE') THEN
1095 IF (NVL(l_Item_rec.EAM_ACTIVITY_TYPE_CODE,'!') <> NVL(m_Item_rec.EAM_ACTIVITY_TYPE_CODE,'!')) THEN
1096 l_Item_rec.EAM_ACTIVITY_TYPE_CODE := m_Item_rec.EAM_ACTIVITY_TYPE_CODE;
1097 l_update_child_rec := TRUE;
1098 END IF;
1099 ELSIF ( l_Attribute_Code = 'EAM_ACTIVITY_CAUSE_CODE') THEN
1100 IF (NVL(l_Item_rec.EAM_ACTIVITY_CAUSE_CODE,'!') <> NVL(m_Item_rec.EAM_ACTIVITY_CAUSE_CODE,'!')) THEN
1101 l_Item_rec.EAM_ACTIVITY_CAUSE_CODE := m_Item_rec.EAM_ACTIVITY_CAUSE_CODE;
1102 l_update_child_rec := TRUE;
1103 END IF;
1104 ELSIF ( l_Attribute_Code = 'EAM_ACTIVITY_SOURCE_CODE') THEN
1105 IF (NVL(l_Item_rec.EAM_ACTIVITY_SOURCE_CODE,'!') <> NVL(m_Item_rec.EAM_ACTIVITY_SOURCE_CODE,'!')) THEN
1106 l_Item_rec.EAM_ACTIVITY_SOURCE_CODE := m_Item_rec.EAM_ACTIVITY_SOURCE_CODE;
1107 l_update_child_rec := TRUE;
1108 END IF;
1109 ELSIF ( l_Attribute_Code = 'EAM_ACT_NOTIFICATION_FLAG') THEN
1110 IF (NVL(l_Item_rec.EAM_ACT_NOTIFICATION_FLAG,'!') <> NVL(m_Item_rec.EAM_ACT_NOTIFICATION_FLAG,'!')) THEN
1111 l_Item_rec.EAM_ACT_NOTIFICATION_FLAG := m_Item_rec.EAM_ACT_NOTIFICATION_FLAG;
1112 l_update_child_rec := TRUE;
1113 END IF;
1114 ELSIF ( l_Attribute_Code = 'EAM_ACT_SHUTDOWN_STATUS') THEN
1115 IF (NVL(l_Item_rec.EAM_ACT_SHUTDOWN_STATUS,'!') <> NVL(m_Item_rec.EAM_ACT_SHUTDOWN_STATUS,'!')) THEN
1116 l_Item_rec.EAM_ACT_SHUTDOWN_STATUS := m_Item_rec.EAM_ACT_SHUTDOWN_STATUS;
1117 l_update_child_rec := TRUE;
1118 END IF;
1119
1120 --Costing Attribute Group
1121 ELSIF ( l_Attribute_Code = 'COSTING_ENABLED_FLAG') THEN
1122 IF (NVL(l_Item_rec.COSTING_ENABLED_FLAG,'!') <> NVL(m_Item_rec.COSTING_ENABLED_FLAG,'!')) THEN
1123 l_Item_rec.COSTING_ENABLED_FLAG := m_Item_rec.COSTING_ENABLED_FLAG;
1124 l_update_child_rec := TRUE;
1125 END IF;
1126 ELSIF ( l_Attribute_Code = 'INVENTORY_ASSET_FLAG') THEN
1127 IF (NVL(l_Item_rec.INVENTORY_ASSET_FLAG,'!') <> NVL(m_Item_rec.INVENTORY_ASSET_FLAG,'!')) THEN
1128 l_Item_rec.INVENTORY_ASSET_FLAG := m_Item_rec.INVENTORY_ASSET_FLAG;
1129 l_update_child_rec := TRUE;
1130 END IF;
1131 ELSIF ( l_Attribute_Code = 'DEFAULT_INCLUDE_IN_ROLLUP_FLAG') THEN
1132 IF (NVL(l_Item_rec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,'!') <> NVL(m_Item_rec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,'!')) THEN
1133 l_Item_rec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG := m_Item_rec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG ;
1134 l_update_child_rec := TRUE;
1135 END IF;
1136 ELSIF ( l_Attribute_Code = 'COST_OF_SALES_ACCOUNT') THEN
1137 IF (NVL(l_Item_rec.COST_OF_SALES_ACCOUNT,-999999) <> NVL(m_Item_rec.COST_OF_SALES_ACCOUNT,-999999)) THEN
1138 l_Item_rec.COST_OF_SALES_ACCOUNT := m_Item_rec.COST_OF_SALES_ACCOUNT;
1139 l_update_child_rec := TRUE;
1140 END IF;
1141 ELSIF ( l_Attribute_Code = 'STD_LOT_SIZE') THEN
1142 IF (NVL(l_Item_rec.STD_LOT_SIZE,-999999) <> NVL(m_Item_rec.STD_LOT_SIZE,-999999)) THEN
1143 l_Item_rec.STD_LOT_SIZE := m_Item_rec.STD_LOT_SIZE;
1144 l_update_child_rec := TRUE;
1145 END IF;
1146
1147 --Purchasing Attribute Group
1148 ELSIF ( l_Attribute_Code = 'PURCHASING_ITEM_FLAG') THEN
1149 IF (NVL(l_Item_rec.PURCHASING_ITEM_FLAG,'!') <> NVL(m_Item_rec.PURCHASING_ITEM_FLAG,'!')) THEN
1150 l_Item_rec.PURCHASING_ITEM_FLAG := m_Item_rec.PURCHASING_ITEM_FLAG;
1151 l_update_child_rec := TRUE;
1152 END IF;
1153 ELSIF ( l_Attribute_Code = 'PURCHASING_ENABLED_FLAG') THEN
1154 IF (NVL(l_Item_rec.PURCHASING_ENABLED_FLAG,'!') <> NVL(m_Item_rec.PURCHASING_ENABLED_FLAG,'!')) THEN
1155 l_Item_rec.PURCHASING_ENABLED_FLAG := m_Item_rec.PURCHASING_ENABLED_FLAG;
1156 l_update_child_rec := TRUE;
1157 END IF;
1158 ELSIF ( l_Attribute_Code = 'MUST_USE_APPROVED_VENDOR_FLAG') THEN
1159 IF (NVL(l_Item_rec.MUST_USE_APPROVED_VENDOR_FLAG,'!') <> NVL(m_Item_rec.MUST_USE_APPROVED_VENDOR_FLAG,'!')) THEN
1160 l_Item_rec.MUST_USE_APPROVED_VENDOR_FLAG := m_Item_rec.MUST_USE_APPROVED_VENDOR_FLAG;
1161 l_update_child_rec := TRUE;
1162 END IF;
1163 ELSIF ( l_Attribute_Code = 'ALLOW_ITEM_DESC_UPDATE_FLAG') THEN
1164 IF (NVL(l_Item_rec.ALLOW_ITEM_DESC_UPDATE_FLAG,'!') <> NVL(m_Item_rec.ALLOW_ITEM_DESC_UPDATE_FLAG,'!')) THEN
1165 l_Item_rec.ALLOW_ITEM_DESC_UPDATE_FLAG := m_Item_rec.ALLOW_ITEM_DESC_UPDATE_FLAG;
1166 l_update_child_rec := TRUE;
1167 END IF;
1168 ELSIF ( l_Attribute_Code = 'RFQ_REQUIRED_FLAG') THEN
1169 IF (NVL(l_Item_rec.RFQ_REQUIRED_FLAG,'!') <> NVL(m_Item_rec.RFQ_REQUIRED_FLAG,'!')) THEN
1170 l_Item_rec.RFQ_REQUIRED_FLAG := m_Item_rec.RFQ_REQUIRED_FLAG;
1171 l_update_child_rec := TRUE;
1172 END IF;
1173 ELSIF ( l_Attribute_Code = 'OUTSIDE_OPERATION_FLAG') THEN
1174 IF (NVL(l_Item_rec.OUTSIDE_OPERATION_FLAG,'!') <> NVL(m_Item_rec.OUTSIDE_OPERATION_FLAG,'!')) THEN
1175 l_Item_rec.OUTSIDE_OPERATION_FLAG := m_Item_rec.OUTSIDE_OPERATION_FLAG;
1176 l_update_child_rec := TRUE;
1177 END IF;
1178 ELSIF ( l_Attribute_Code = 'OUTSIDE_OPERATION_UOM_TYPE') THEN
1179 IF (NVL(l_Item_rec.OUTSIDE_OPERATION_UOM_TYPE,'!') <> NVL(m_Item_rec.OUTSIDE_OPERATION_UOM_TYPE,'!')) THEN
1180 l_Item_rec.OUTSIDE_OPERATION_UOM_TYPE := m_Item_rec.OUTSIDE_OPERATION_UOM_TYPE;
1181 l_update_child_rec := TRUE;
1182 END IF;
1183 ELSIF ( l_Attribute_Code = 'TAXABLE_FLAG') THEN
1184 IF (NVL(l_Item_rec.TAXABLE_FLAG,'!') <> NVL(m_Item_rec.TAXABLE_FLAG,'!')) THEN
1185 l_Item_rec.TAXABLE_FLAG := m_Item_rec.TAXABLE_FLAG;
1186 l_update_child_rec := TRUE;
1187 END IF;
1188 ELSIF ( l_Attribute_Code = 'PURCHASING_TAX_CODE') THEN
1189 IF (NVL(l_Item_rec.PURCHASING_TAX_CODE,'!') <> NVL(m_Item_rec.PURCHASING_TAX_CODE,'!')) THEN
1190 l_Item_rec.PURCHASING_TAX_CODE := m_Item_rec.PURCHASING_TAX_CODE;
1191 l_update_child_rec := TRUE;
1192 END IF;
1193 ELSIF ( l_Attribute_Code = 'RECEIPT_REQUIRED_FLAG') THEN
1194 IF (NVL(l_Item_rec.RECEIPT_REQUIRED_FLAG,'!') <> NVL(m_Item_rec.RECEIPT_REQUIRED_FLAG,'!')) THEN
1195 l_Item_rec.RECEIPT_REQUIRED_FLAG := m_Item_rec.RECEIPT_REQUIRED_FLAG;
1196 l_update_child_rec := TRUE;
1197 END IF;
1198 ELSIF ( l_Attribute_Code = 'INSPECTION_REQUIRED_FLAG') THEN
1199 IF (NVL(l_Item_rec.INSPECTION_REQUIRED_FLAG,'!') <> NVL(m_Item_rec.INSPECTION_REQUIRED_FLAG,'!')) THEN
1200 l_Item_rec.INSPECTION_REQUIRED_FLAG := m_Item_rec.INSPECTION_REQUIRED_FLAG;
1201 l_update_child_rec := TRUE;
1202 END IF;
1203 ELSIF ( l_Attribute_Code = 'BUYER_ID') THEN
1204 IF (NVL(l_Item_rec.BUYER_ID,-999999) <> NVL(m_Item_rec.BUYER_ID,-999999)) THEN
1205 l_Item_rec.BUYER_ID := m_Item_rec.BUYER_ID;
1206 l_update_child_rec := TRUE;
1207 END IF;
1208 ELSIF ( l_Attribute_Code = 'UNIT_OF_ISSUE') THEN
1209 IF (NVL(l_Item_rec.UNIT_OF_ISSUE,'!') <> NVL(m_Item_rec.UNIT_OF_ISSUE,'!')) THEN
1210 l_Item_rec.UNIT_OF_ISSUE := m_Item_rec.UNIT_OF_ISSUE;
1211 l_update_child_rec := TRUE;
1212 END IF;
1213 ELSIF ( l_Attribute_Code = 'RECEIVE_CLOSE_TOLERANCE') THEN
1214 IF (NVL(l_Item_rec.RECEIVE_CLOSE_TOLERANCE,-999999) <> NVL(m_Item_rec.RECEIVE_CLOSE_TOLERANCE,-999999)) THEN
1215 l_Item_rec.RECEIVE_CLOSE_TOLERANCE := m_Item_rec.RECEIVE_CLOSE_TOLERANCE;
1216 l_update_child_rec := TRUE;
1217 END IF;
1218 ELSIF ( l_Attribute_Code = 'INVOICE_CLOSE_TOLERANCE') THEN
1219 IF (NVL(l_Item_rec.INVOICE_CLOSE_TOLERANCE,-999999) <> NVL(m_Item_rec.INVOICE_CLOSE_TOLERANCE,-999999)) THEN
1220 l_Item_rec.INVOICE_CLOSE_TOLERANCE := m_Item_rec.INVOICE_CLOSE_TOLERANCE;
1221 l_update_child_rec := TRUE;
1222 END IF;
1223 ELSIF ( l_Attribute_Code = 'UN_NUMBER_ID') THEN
1224 IF (NVL(l_Item_rec.UN_NUMBER_ID,-999999) <> NVL(m_Item_rec.UN_NUMBER_ID,-999999)) THEN
1225 l_Item_rec.UN_NUMBER_ID := m_Item_rec.UN_NUMBER_ID;
1226 l_update_child_rec := TRUE;
1227 END IF;
1228 ELSIF ( l_Attribute_Code = 'HAZARD_CLASS_ID') THEN
1229 IF (NVL(l_Item_rec.HAZARD_CLASS_ID,-999999) <> NVL(m_Item_rec.HAZARD_CLASS_ID,-999999)) THEN
1230 l_Item_rec.HAZARD_CLASS_ID := m_Item_rec.HAZARD_CLASS_ID;
1231 l_update_child_rec := TRUE;
1232 END IF;
1233 ELSIF ( l_Attribute_Code = 'LIST_PRICE_PER_UNIT') THEN
1234 IF (NVL(l_Item_rec.LIST_PRICE_PER_UNIT,-999999) <> NVL(m_Item_rec.LIST_PRICE_PER_UNIT,-999999)) THEN
1235 l_Item_rec.LIST_PRICE_PER_UNIT := m_Item_rec.LIST_PRICE_PER_UNIT;
1236 l_update_child_rec := TRUE;
1237 END IF;
1238 ELSIF ( l_Attribute_Code = 'MARKET_PRICE') THEN
1239 IF (NVL(l_Item_rec.MARKET_PRICE,-999999) <> NVL(m_Item_rec.MARKET_PRICE,-999999)) THEN
1240 l_Item_rec.MARKET_PRICE := m_Item_rec.MARKET_PRICE;
1241 l_update_child_rec := TRUE;
1242 END IF;
1243 ELSIF ( l_Attribute_Code = 'PRICE_TOLERANCE_PERCENT') THEN
1244 IF (NVL(l_Item_rec.PRICE_TOLERANCE_PERCENT,-999999) <> NVL(m_Item_rec.PRICE_TOLERANCE_PERCENT,-999999)) THEN
1245 l_Item_rec.PRICE_TOLERANCE_PERCENT := m_Item_rec.PRICE_TOLERANCE_PERCENT;
1246 l_update_child_rec := TRUE;
1247 END IF;
1248 ELSIF ( l_Attribute_Code = 'ROUNDING_FACTOR') THEN
1249 IF (NVL(l_Item_rec.ROUNDING_FACTOR,-999999) <> NVL(m_Item_rec.ROUNDING_FACTOR,-999999)) THEN
1250 l_Item_rec.ROUNDING_FACTOR := m_Item_rec.ROUNDING_FACTOR;
1251 l_update_child_rec := TRUE;
1252 END IF;
1253 ELSIF ( l_Attribute_Code = 'ENCUMBRANCE_ACCOUNT') THEN
1254 IF (NVL(l_Item_rec.ENCUMBRANCE_ACCOUNT,-999999) <> NVL(m_Item_rec.ENCUMBRANCE_ACCOUNT,-999999)) THEN
1255 l_Item_rec.ENCUMBRANCE_ACCOUNT := m_Item_rec.ENCUMBRANCE_ACCOUNT;
1256 l_update_child_rec := TRUE;
1257 END IF;
1258 ELSIF ( l_Attribute_Code = 'EXPENSE_ACCOUNT') THEN
1259 IF (NVL(l_Item_rec.EXPENSE_ACCOUNT,-999999) <> NVL(m_Item_rec.EXPENSE_ACCOUNT,-999999)) THEN
1260 l_Item_rec.EXPENSE_ACCOUNT := m_Item_rec.EXPENSE_ACCOUNT;
1261 l_update_child_rec := TRUE;
1262 END IF;
1263 ELSIF ( l_Attribute_Code = 'ASSET_CATEGORY_ID') THEN
1264 IF (NVL(l_Item_rec.ASSET_CATEGORY_ID,-999999) <> NVL(m_Item_rec.ASSET_CATEGORY_ID,-999999)) THEN
1265 l_Item_rec.ASSET_CATEGORY_ID := m_Item_rec.ASSET_CATEGORY_ID;
1266 l_update_child_rec := TRUE;
1267 END IF;
1268 ELSIF ( l_Attribute_Code = 'OUTSOURCED_ASSEMBLY') THEN
1269 IF (NVL(l_Item_rec.OUTSOURCED_ASSEMBLY,-999999) <> NVL(m_Item_rec.OUTSOURCED_ASSEMBLY,-999999)) THEN
1270 l_Item_rec.OUTSOURCED_ASSEMBLY := m_Item_rec.OUTSOURCED_ASSEMBLY;
1271 l_update_child_rec := TRUE;
1272 END IF;
1273
1274 --Receiving Attribute Group
1275 ELSIF ( l_Attribute_Code = 'RECEIPT_DAYS_EXCEPTION_CODE') THEN
1276 IF (NVL(l_Item_rec.RECEIPT_DAYS_EXCEPTION_CODE,'!') <> NVL(m_Item_rec.RECEIPT_DAYS_EXCEPTION_CODE,'!')) THEN
1277 l_Item_rec.RECEIPT_DAYS_EXCEPTION_CODE := m_Item_rec.RECEIPT_DAYS_EXCEPTION_CODE;
1278 l_update_child_rec := TRUE;
1279 END IF;
1280 ELSIF ( l_Attribute_Code = 'DAYS_EARLY_RECEIPT_ALLOWED') THEN
1281 IF (NVL(l_Item_rec.DAYS_EARLY_RECEIPT_ALLOWED,-999999) <> NVL(m_Item_rec.DAYS_EARLY_RECEIPT_ALLOWED,-999999)) THEN
1282 l_Item_rec.DAYS_EARLY_RECEIPT_ALLOWED := m_Item_rec.DAYS_EARLY_RECEIPT_ALLOWED;
1283 l_update_child_rec := TRUE;
1284 END IF;
1285 ELSIF ( l_Attribute_Code = 'DAYS_LATE_RECEIPT_ALLOWED') THEN
1286 IF (NVL(l_Item_rec.DAYS_LATE_RECEIPT_ALLOWED,-999999) <> NVL(m_Item_rec.DAYS_LATE_RECEIPT_ALLOWED,-999999)) THEN
1287 l_Item_rec.DAYS_LATE_RECEIPT_ALLOWED := m_Item_rec.DAYS_LATE_RECEIPT_ALLOWED;
1288 l_update_child_rec := TRUE;
1289 END IF;
1290 ELSIF ( l_Attribute_Code = 'QTY_RCV_EXCEPTION_CODE') THEN
1291 IF (NVL(l_Item_rec.QTY_RCV_EXCEPTION_CODE,'!') <> NVL(m_Item_rec.QTY_RCV_EXCEPTION_CODE,'!')) THEN
1292 l_Item_rec.QTY_RCV_EXCEPTION_CODE := m_Item_rec.QTY_RCV_EXCEPTION_CODE;
1293 l_update_child_rec := TRUE;
1294 END IF;
1295 ELSIF ( l_Attribute_Code = 'QTY_RCV_TOLERANCE') THEN
1296 IF (NVL(l_Item_rec.QTY_RCV_TOLERANCE,-999999) <> NVL(m_Item_rec.QTY_RCV_TOLERANCE,-999999)) THEN
1297 l_Item_rec.QTY_RCV_TOLERANCE := m_Item_rec.QTY_RCV_TOLERANCE;
1298 l_update_child_rec := TRUE;
1299 END IF;
1300 ELSIF ( l_Attribute_Code = 'ALLOW_SUBSTITUTE_RECEIPTS_FLAG') THEN
1301 IF (NVL(l_Item_rec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG,'!') <> NVL(m_Item_rec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG,'!')) THEN
1302 l_Item_rec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG := m_Item_rec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG ;
1303 l_update_child_rec := TRUE;
1304 END IF;
1305 ELSIF ( l_Attribute_Code = 'ALLOW_UNORDERED_RECEIPTS_FLAG') THEN
1306 IF (NVL(l_Item_rec.ALLOW_UNORDERED_RECEIPTS_FLAG,'!') <> NVL(m_Item_rec.ALLOW_UNORDERED_RECEIPTS_FLAG,'!')) THEN
1307 l_Item_rec.ALLOW_UNORDERED_RECEIPTS_FLAG := m_Item_rec.ALLOW_UNORDERED_RECEIPTS_FLAG;
1308 l_update_child_rec := TRUE;
1309 END IF;
1310 ELSIF ( l_Attribute_Code = 'ALLOW_EXPRESS_DELIVERY_FLAG') THEN
1311 IF (NVL(l_Item_rec.ALLOW_EXPRESS_DELIVERY_FLAG,'!') <> NVL(m_Item_rec.ALLOW_EXPRESS_DELIVERY_FLAG,'!')) THEN
1312 l_Item_rec.ALLOW_EXPRESS_DELIVERY_FLAG := m_Item_rec.ALLOW_EXPRESS_DELIVERY_FLAG;
1313 l_update_child_rec := TRUE;
1314 END IF;
1315 ELSIF ( l_Attribute_Code = 'RECEIVING_ROUTING_ID') THEN
1316 IF (NVL(l_Item_rec.RECEIVING_ROUTING_ID,-999999) <> NVL(m_Item_rec.RECEIVING_ROUTING_ID,-999999)) THEN
1317 l_Item_rec.RECEIVING_ROUTING_ID := m_Item_rec.RECEIVING_ROUTING_ID;
1318 l_update_child_rec := TRUE;
1319 END IF;
1320 ELSIF ( l_Attribute_Code = 'ENFORCE_SHIP_TO_LOCATION_CODE') THEN
1321 IF (NVL(l_Item_rec.ENFORCE_SHIP_TO_LOCATION_CODE,'!') <> NVL(m_Item_rec.ENFORCE_SHIP_TO_LOCATION_CODE,'!')) THEN
1322 l_Item_rec.ENFORCE_SHIP_TO_LOCATION_CODE := m_Item_rec.ENFORCE_SHIP_TO_LOCATION_CODE;
1323 l_update_child_rec := TRUE;
1324 END IF;
1325
1326 --Physical Attributes
1327 ELSIF ( l_Attribute_Code = 'WEIGHT_UOM_CODE') THEN
1328 IF (NVL(l_Item_rec.WEIGHT_UOM_CODE,'!') <> NVL(m_Item_rec.WEIGHT_UOM_CODE,'!')) THEN
1329 l_Item_rec.WEIGHT_UOM_CODE := m_Item_rec.WEIGHT_UOM_CODE;
1330 l_update_child_rec := TRUE;
1331 END IF;
1332 ELSIF ( l_Attribute_Code = 'UNIT_WEIGHT') THEN
1333 IF (NVL(l_Item_rec.UNIT_WEIGHT,-999999) <> NVL(m_Item_rec.UNIT_WEIGHT,-999999)) THEN
1334 l_Item_rec.UNIT_WEIGHT := m_Item_rec.UNIT_WEIGHT;
1335 l_update_child_rec := TRUE;
1336 END IF;
1337 ELSIF ( l_Attribute_Code = 'VOLUME_UOM_CODE') THEN
1338 IF (NVL(l_Item_rec.VOLUME_UOM_CODE,'!') <> NVL(m_Item_rec.VOLUME_UOM_CODE,'!')) THEN
1339 l_Item_rec.VOLUME_UOM_CODE := m_Item_rec.VOLUME_UOM_CODE;
1340 l_update_child_rec := TRUE;
1341 END IF;
1342 ELSIF ( l_Attribute_Code = 'UNIT_VOLUME') THEN
1343 IF (NVL(l_Item_rec.UNIT_VOLUME,-999999) <> NVL(m_Item_rec.UNIT_VOLUME,-999999)) THEN
1344 l_Item_rec.UNIT_VOLUME := m_Item_rec.UNIT_VOLUME;
1345 l_update_child_rec := TRUE;
1346 END IF;
1347 ELSIF ( l_Attribute_Code = 'CONTAINER_ITEM_FLAG') THEN
1348 IF (NVL(l_Item_rec.CONTAINER_ITEM_FLAG,'!') <> NVL(m_Item_rec.CONTAINER_ITEM_FLAG,'!')) THEN
1349 l_Item_rec.CONTAINER_ITEM_FLAG := m_Item_rec.CONTAINER_ITEM_FLAG;
1350 l_update_child_rec := TRUE;
1351 END IF;
1352 ELSIF ( l_Attribute_Code = 'VEHICLE_ITEM_FLAG') THEN
1353 IF (NVL(l_Item_rec.VEHICLE_ITEM_FLAG,'!') <> NVL(m_Item_rec.VEHICLE_ITEM_FLAG,'!')) THEN
1354 l_Item_rec.VEHICLE_ITEM_FLAG := m_Item_rec.VEHICLE_ITEM_FLAG;
1355 l_update_child_rec := TRUE;
1356 END IF;
1357 ELSIF ( l_Attribute_Code = 'CONTAINER_TYPE_CODE') THEN
1358 IF (NVL(l_Item_rec.CONTAINER_TYPE_CODE,'!') <> NVL(m_Item_rec.CONTAINER_TYPE_CODE,'!')) THEN
1359 l_Item_rec.CONTAINER_TYPE_CODE := m_Item_rec.CONTAINER_TYPE_CODE;
1360 l_update_child_rec := TRUE;
1361 END IF;
1362 ELSIF ( l_Attribute_Code = 'INTERNAL_VOLUME') THEN
1363 IF (NVL(l_Item_rec.INTERNAL_VOLUME,-999999) <> NVL(m_Item_rec.INTERNAL_VOLUME,-999999)) THEN
1364 l_Item_rec.INTERNAL_VOLUME := m_Item_rec.INTERNAL_VOLUME;
1365 l_update_child_rec := TRUE;
1366 END IF;
1367 ELSIF ( l_Attribute_Code = 'MAXIMUM_LOAD_WEIGHT') THEN
1368 IF (NVL(l_Item_rec.MAXIMUM_LOAD_WEIGHT,-999999) <> NVL(m_Item_rec.MAXIMUM_LOAD_WEIGHT,-999999)) THEN
1369 l_Item_rec.MAXIMUM_LOAD_WEIGHT := m_Item_rec.MAXIMUM_LOAD_WEIGHT;
1370 l_update_child_rec := TRUE;
1371 END IF;
1372 ELSIF ( l_Attribute_Code = 'MINIMUM_FILL_PERCENT') THEN
1373 IF (NVL(l_Item_rec.MINIMUM_FILL_PERCENT,-999999) <> NVL(m_Item_rec.MINIMUM_FILL_PERCENT,-999999)) THEN
1374 l_Item_rec.MINIMUM_FILL_PERCENT := m_Item_rec.MINIMUM_FILL_PERCENT;
1375 l_update_child_rec := TRUE;
1376 END IF;
1377 ELSIF ( l_Attribute_Code = 'DIMENSION_UOM_CODE') THEN
1378 IF (NVL(l_Item_rec.DIMENSION_UOM_CODE,'!') <> NVL(m_Item_rec.DIMENSION_UOM_CODE,'!')) THEN
1379 l_Item_rec.DIMENSION_UOM_CODE := m_Item_rec.DIMENSION_UOM_CODE ;
1380 l_update_child_rec := TRUE;
1381 END IF;
1382 ELSIF ( l_Attribute_Code = 'UNIT_LENGTH') THEN
1383 IF (NVL(l_Item_rec.UNIT_LENGTH,-999999) <> NVL(m_Item_rec.UNIT_LENGTH,-999999)) THEN
1384 l_Item_rec.UNIT_LENGTH := m_Item_rec.UNIT_LENGTH ;
1385 l_update_child_rec := TRUE;
1386 END IF;
1387 ELSIF ( l_Attribute_Code = 'UNIT_WIDTH') THEN
1388 IF (NVL(l_Item_rec.UNIT_WIDTH,-999999) <> NVL(m_Item_rec.UNIT_WIDTH,-999999)) THEN
1389 l_Item_rec.UNIT_WIDTH := m_Item_rec.UNIT_WIDTH ;
1390 l_update_child_rec := TRUE;
1391 END IF;
1392 ELSIF ( l_Attribute_Code = 'UNIT_HEIGHT') THEN
1393 IF (NVL(l_Item_rec.UNIT_HEIGHT,-999999) <> NVL(m_Item_rec.UNIT_HEIGHT,-999999)) THEN
1394 l_Item_rec.UNIT_HEIGHT := m_Item_rec.UNIT_HEIGHT ;
1395 l_update_child_rec := TRUE;
1396 END IF;
1397 ELSIF ( l_Attribute_Code = 'COLLATERAL_FLAG') THEN
1398 IF (NVL(l_Item_rec.COLLATERAL_FLAG,'!') <> NVL(m_Item_rec.COLLATERAL_FLAG,'!')) THEN
1399 l_Item_rec.COLLATERAL_FLAG := m_Item_rec.COLLATERAL_FLAG;
1400 l_update_child_rec := TRUE;
1401 END IF;
1402 ELSIF ( l_Attribute_Code = 'EVENT_FLAG') THEN
1403 IF (NVL(l_Item_rec.EVENT_FLAG,'!') <> NVL(m_Item_rec.EVENT_FLAG,'!')) THEN
1404 l_Item_rec.EVENT_FLAG := m_Item_rec.EVENT_FLAG ;
1405 l_update_child_rec := TRUE;
1406 END IF;
1407 ELSIF ( l_Attribute_Code = 'EQUIPMENT_TYPE') THEN
1408 IF (NVL(l_Item_rec.EQUIPMENT_TYPE,-999999) <> NVL(m_Item_rec.EQUIPMENT_TYPE,-999999)) THEN
1409 l_Item_rec.EQUIPMENT_TYPE := m_Item_rec.EQUIPMENT_TYPE ;
1410 l_update_child_rec := TRUE;
1411 END IF;
1412 ELSIF ( l_Attribute_Code = 'ELECTRONIC_FLAG') THEN
1413 IF (NVL(l_Item_rec.ELECTRONIC_FLAG,'!') <> NVL(m_Item_rec.ELECTRONIC_FLAG,'!')) THEN
1414 l_Item_rec.ELECTRONIC_FLAG := m_Item_rec.ELECTRONIC_FLAG ;
1415 l_update_child_rec := TRUE;
1416 END IF;
1417 ELSIF ( l_Attribute_Code = 'DOWNLOADABLE_FLAG') THEN
1418 IF (NVL(l_Item_rec.DOWNLOADABLE_FLAG,'!') <> NVL(m_Item_rec.DOWNLOADABLE_FLAG,'!')) THEN
1419 l_Item_rec.DOWNLOADABLE_FLAG := m_Item_rec.DOWNLOADABLE_FLAG ;
1420 l_update_child_rec := TRUE;
1421 END IF;
1422 ELSIF ( l_Attribute_Code = 'INDIVISIBLE_FLAG') THEN
1423 IF (NVL(l_Item_rec.INDIVISIBLE_FLAG,'!') <> NVL(m_Item_rec.INDIVISIBLE_FLAG,'!')) THEN
1424 l_Item_rec.INDIVISIBLE_FLAG := m_Item_rec.INDIVISIBLE_FLAG ;
1425 l_update_child_rec := TRUE;
1426 END IF;
1427
1428 --General Planning
1429 ELSIF ( l_Attribute_Code = 'INVENTORY_PLANNING_CODE') THEN
1430 IF (NVL(l_Item_rec.INVENTORY_PLANNING_CODE,-999999) <> NVL(m_Item_rec.INVENTORY_PLANNING_CODE,-999999)) THEN
1431 l_Item_rec.INVENTORY_PLANNING_CODE := m_Item_rec.INVENTORY_PLANNING_CODE;
1432 l_update_child_rec := TRUE;
1433 END IF;
1434 ELSIF ( l_Attribute_Code = 'PLANNER_CODE') THEN
1435 IF (NVL(l_Item_rec.PLANNER_CODE,'!') <> NVL(m_Item_rec.PLANNER_CODE,'!')) THEN
1436 l_Item_rec.PLANNER_CODE := m_Item_rec.PLANNER_CODE;
1437 l_update_child_rec := TRUE;
1438 END IF;
1439 ELSIF ( l_Attribute_Code = 'PLANNING_MAKE_BUY_CODE') THEN
1440 IF (NVL(l_Item_rec.PLANNING_MAKE_BUY_CODE,-999999) <> NVL(m_Item_rec.PLANNING_MAKE_BUY_CODE,-999999)) THEN
1441 l_Item_rec.PLANNING_MAKE_BUY_CODE := m_Item_rec.PLANNING_MAKE_BUY_CODE;
1442 l_update_child_rec := TRUE;
1443 END IF;
1444 ELSIF ( l_Attribute_Code = 'MIN_MINMAX_QUANTITY') THEN
1445 IF (NVL(l_Item_rec.MIN_MINMAX_QUANTITY,-999999) <> NVL(m_Item_rec.MIN_MINMAX_QUANTITY,-999999)) THEN
1446 l_Item_rec.MIN_MINMAX_QUANTITY := m_Item_rec.MIN_MINMAX_QUANTITY;
1447 l_update_child_rec := TRUE;
1448 END IF;
1449 ELSIF ( l_Attribute_Code = 'MAX_MINMAX_QUANTITY') THEN
1450 IF (NVL(l_Item_rec.MAX_MINMAX_QUANTITY,-999999) <> NVL(m_Item_rec.MAX_MINMAX_QUANTITY,-999999)) THEN
1451 l_Item_rec.MAX_MINMAX_QUANTITY := m_Item_rec.MAX_MINMAX_QUANTITY;
1452 l_update_child_rec := TRUE;
1453 END IF;
1454 ELSIF ( l_Attribute_Code = 'MINIMUM_ORDER_QUANTITY') THEN
1455 IF (NVL(l_Item_rec.MINIMUM_ORDER_QUANTITY,-999999) <> NVL(m_Item_rec.MINIMUM_ORDER_QUANTITY,-999999)) THEN
1456 l_Item_rec.MINIMUM_ORDER_QUANTITY := m_Item_rec.MINIMUM_ORDER_QUANTITY;
1457 l_update_child_rec := TRUE;
1458 END IF;
1459 ELSIF ( l_Attribute_Code = 'MAXIMUM_ORDER_QUANTITY') THEN
1460 IF (NVL(l_Item_rec.MAXIMUM_ORDER_QUANTITY,-999999) <> NVL(m_Item_rec.MAXIMUM_ORDER_QUANTITY,-999999)) THEN
1461 l_Item_rec.MAXIMUM_ORDER_QUANTITY := m_Item_rec.MAXIMUM_ORDER_QUANTITY;
1462 l_update_child_rec := TRUE;
1463 END IF;
1464 ELSIF ( l_Attribute_Code = 'ORDER_COST') THEN
1465 IF (NVL(l_Item_rec.ORDER_COST,-999999) <> NVL(m_Item_rec.ORDER_COST,-999999)) THEN
1466 l_Item_rec.ORDER_COST := m_Item_rec.ORDER_COST;
1467 l_update_child_rec := TRUE;
1468 END IF;
1469 ELSIF ( l_Attribute_Code = 'CARRYING_COST') THEN
1470 IF (NVL(l_Item_rec.CARRYING_COST,-999999) <> NVL(m_Item_rec.CARRYING_COST,-999999)) THEN
1471 l_Item_rec.CARRYING_COST := m_Item_rec.CARRYING_COST;
1472 l_update_child_rec := TRUE;
1473 END IF;
1474 ELSIF ( l_Attribute_Code = 'VMI_MINIMUM_UNITS') THEN
1475 IF (NVL(l_Item_rec.VMI_MINIMUM_UNITS,-999999) <> NVL(m_Item_rec.VMI_MINIMUM_UNITS,-999999)) THEN
1476 l_Item_rec.VMI_MINIMUM_UNITS := m_Item_rec.VMI_MINIMUM_UNITS;
1477 l_update_child_rec := TRUE;
1478 END IF;
1479 ELSIF ( l_Attribute_Code = 'VMI_MINIMUM_DAYS') THEN
1480 IF (NVL(l_Item_rec.VMI_MINIMUM_DAYS,-999999) <> NVL(m_Item_rec.VMI_MINIMUM_DAYS,-999999)) THEN
1481 l_Item_rec.VMI_MINIMUM_DAYS := m_Item_rec.VMI_MINIMUM_DAYS;
1482 l_update_child_rec := TRUE;
1483 END IF;
1484 ELSIF ( l_Attribute_Code = 'VMI_MAXIMUM_UNITS') THEN
1485 IF (NVL(l_Item_rec.VMI_MAXIMUM_UNITS,-999999) <> NVL(m_Item_rec.VMI_MAXIMUM_UNITS,-999999)) THEN
1486 l_Item_rec.VMI_MAXIMUM_UNITS := m_Item_rec.VMI_MAXIMUM_UNITS;
1487 l_update_child_rec := TRUE;
1488 END IF;
1489 ELSIF ( l_Attribute_Code = 'VMI_MAXIMUM_DAYS') THEN
1490 IF (NVL(l_Item_rec.VMI_MAXIMUM_DAYS,-999999) <> NVL(m_Item_rec.VMI_MAXIMUM_DAYS,-999999)) THEN
1491 l_Item_rec.VMI_MAXIMUM_DAYS := m_Item_rec.VMI_MAXIMUM_DAYS;
1492 l_update_child_rec := TRUE;
1493 END IF;
1494 ELSIF ( l_Attribute_Code = 'VMI_FIXED_ORDER_QUANTITY') THEN
1495 IF (NVL(l_Item_rec.VMI_FIXED_ORDER_QUANTITY,-999999) <> NVL(m_Item_rec.VMI_FIXED_ORDER_QUANTITY,-999999)) THEN
1496 l_Item_rec.VMI_FIXED_ORDER_QUANTITY := m_Item_rec.VMI_FIXED_ORDER_QUANTITY;
1497 l_update_child_rec := TRUE;
1498 END IF;
1499 ELSIF ( l_Attribute_Code = 'SO_AUTHORIZATION_FLAG') THEN
1500 IF (NVL(l_Item_rec.SO_AUTHORIZATION_FLAG,-999999) <> NVL(m_Item_rec.SO_AUTHORIZATION_FLAG,-999999)) THEN
1501 l_Item_rec.SO_AUTHORIZATION_FLAG := m_Item_rec.SO_AUTHORIZATION_FLAG;
1502 l_update_child_rec := TRUE;
1503 END IF;
1504 ELSIF ( l_Attribute_Code = 'CONSIGNED_FLAG') THEN
1505 IF (NVL(l_Item_rec.CONSIGNED_FLAG,-999999) <> NVL(m_Item_rec.CONSIGNED_FLAG,-999999)) THEN
1506 l_Item_rec.CONSIGNED_FLAG := m_Item_rec.CONSIGNED_FLAG;
1507 l_update_child_rec := TRUE;
1508 END IF;
1509 ELSIF ( l_Attribute_Code = 'ASN_AUTOEXPIRE_FLAG') THEN
1510 IF (NVL(l_Item_rec.ASN_AUTOEXPIRE_FLAG,-999999) <> NVL(m_Item_rec.ASN_AUTOEXPIRE_FLAG,-999999)) THEN
1511 l_Item_rec.ASN_AUTOEXPIRE_FLAG := m_Item_rec.ASN_AUTOEXPIRE_FLAG;
1512 l_update_child_rec := TRUE;
1513 END IF;
1514 ELSIF ( l_Attribute_Code = 'VMI_FORECAST_TYPE') THEN
1515 IF (NVL(l_Item_rec.VMI_FORECAST_TYPE,-999999) <> NVL(m_Item_rec.VMI_FORECAST_TYPE,-999999)) THEN
1516 l_Item_rec.VMI_FORECAST_TYPE := m_Item_rec.VMI_FORECAST_TYPE;
1517 l_update_child_rec := TRUE;
1518 END IF;
1519 ELSIF ( l_Attribute_Code = 'FORECAST_HORIZON') THEN
1520 IF (NVL(l_Item_rec.FORECAST_HORIZON,-999999) <> NVL(m_Item_rec.FORECAST_HORIZON,-999999)) THEN
1521 l_Item_rec.FORECAST_HORIZON := m_Item_rec.FORECAST_HORIZON;
1522 l_update_child_rec := TRUE;
1523 END IF;
1524 ELSIF ( l_Attribute_Code = 'SOURCE_TYPE') THEN
1525 IF (NVL(l_Item_rec.SOURCE_TYPE,-999999) <> NVL(m_Item_rec.SOURCE_TYPE,-999999)) THEN
1526 l_Item_rec.SOURCE_TYPE := m_Item_rec.SOURCE_TYPE;
1527 l_update_child_rec := TRUE;
1528 END IF;
1529 ELSIF ( l_Attribute_Code = 'SOURCE_ORGANIZATION_ID') THEN
1530 IF (NVL(l_Item_rec.SOURCE_ORGANIZATION_ID,-999999) <> NVL(m_Item_rec.SOURCE_ORGANIZATION_ID,-999999)) THEN
1531 l_Item_rec.SOURCE_ORGANIZATION_ID := m_Item_rec.SOURCE_ORGANIZATION_ID;
1532 l_update_child_rec := TRUE;
1533 END IF;
1534 ELSIF ( l_Attribute_Code = 'SOURCE_SUBINVENTORY') THEN
1535 IF (NVL(l_Item_rec.SOURCE_SUBINVENTORY,'!') <> NVL(m_Item_rec.SOURCE_SUBINVENTORY,'!')) THEN
1536 l_Item_rec.SOURCE_SUBINVENTORY := m_Item_rec.SOURCE_SUBINVENTORY;
1537 l_update_child_rec := TRUE;
1538 END IF;
1539 ELSIF ( l_Attribute_Code = 'MRP_SAFETY_STOCK_CODE') THEN
1540 IF (NVL(l_Item_rec.MRP_SAFETY_STOCK_CODE,-999999) <> NVL(m_Item_rec.MRP_SAFETY_STOCK_CODE,-999999)) THEN
1541 l_Item_rec.MRP_SAFETY_STOCK_CODE := m_Item_rec.MRP_SAFETY_STOCK_CODE;
1542 l_update_child_rec := TRUE;
1543 END IF;
1544 ELSIF ( l_Attribute_Code = 'SAFETY_STOCK_BUCKET_DAYS') THEN
1545 IF (NVL(l_Item_rec.SAFETY_STOCK_BUCKET_DAYS,-999999) <> NVL(m_Item_rec.SAFETY_STOCK_BUCKET_DAYS,-999999)) THEN
1546 l_Item_rec.SAFETY_STOCK_BUCKET_DAYS := m_Item_rec.SAFETY_STOCK_BUCKET_DAYS;
1547 l_update_child_rec := TRUE;
1548 END IF;
1549 ELSIF ( l_Attribute_Code = 'MRP_SAFETY_STOCK_PERCENT') THEN
1550 IF (NVL(l_Item_rec.MRP_SAFETY_STOCK_PERCENT,-999999) <> NVL(m_Item_rec.MRP_SAFETY_STOCK_PERCENT,-999999)) THEN
1551 l_Item_rec.MRP_SAFETY_STOCK_PERCENT := m_Item_rec.MRP_SAFETY_STOCK_PERCENT;
1552 l_update_child_rec := TRUE;
1553 END IF;
1554 ELSIF ( l_Attribute_Code = 'FIXED_ORDER_QUANTITY') THEN
1555 IF (NVL(l_Item_rec.FIXED_ORDER_QUANTITY,-999999) <> NVL(m_Item_rec.FIXED_ORDER_QUANTITY,-999999)) THEN
1556 l_Item_rec.FIXED_ORDER_QUANTITY := m_Item_rec.FIXED_ORDER_QUANTITY;
1557 l_update_child_rec := TRUE;
1558 END IF;
1559 ELSIF ( l_Attribute_Code = 'FIXED_LOT_MULTIPLIER') THEN
1560 IF (NVL(l_Item_rec.FIXED_LOT_MULTIPLIER,-999999) <> NVL(m_Item_rec.FIXED_LOT_MULTIPLIER,-999999)) THEN
1561 l_Item_rec.FIXED_LOT_MULTIPLIER := m_Item_rec.FIXED_LOT_MULTIPLIER;
1562 l_update_child_rec := TRUE;
1563 END IF;
1564 ELSIF ( l_Attribute_Code = 'FIXED_DAYS_SUPPLY') THEN
1565 IF (NVL(l_Item_rec.FIXED_DAYS_SUPPLY,-999999) <> NVL(m_Item_rec.FIXED_DAYS_SUPPLY,-999999)) THEN
1566 l_Item_rec.FIXED_DAYS_SUPPLY := m_Item_rec.FIXED_DAYS_SUPPLY;
1567 l_update_child_rec := TRUE;
1568 END IF;
1569 ELSIF ( l_Attribute_Code = 'SUBCONTRACTING_COMPONENT') THEN --Bug: 5396073
1570 IF (NVL(l_Item_rec.SUBCONTRACTING_COMPONENT,-999999) <> NVL(m_Item_rec.SUBCONTRACTING_COMPONENT,-999999)) THEN
1571 l_Item_rec.SUBCONTRACTING_COMPONENT := m_Item_rec.SUBCONTRACTING_COMPONENT;
1572 l_update_child_rec := TRUE;
1573 END IF;
1574
1575 --MPS/MRP Planning
1576 ELSIF ( l_Attribute_Code = 'MRP_PLANNING_CODE') THEN
1577 IF (NVL(l_Item_rec.MRP_PLANNING_CODE,-999999) <> NVL(m_Item_rec.MRP_PLANNING_CODE,-999999)) THEN
1578 l_Item_rec.MRP_PLANNING_CODE := m_Item_rec.MRP_PLANNING_CODE;
1579 l_update_child_rec := TRUE;
1580 END IF;
1581 ELSIF ( l_Attribute_Code = 'ATO_FORECAST_CONTROL') THEN
1582 IF (NVL(l_Item_rec.ATO_FORECAST_CONTROL,-999999) <> NVL(m_Item_rec.ATO_FORECAST_CONTROL,-999999)) THEN
1583 l_Item_rec.ATO_FORECAST_CONTROL := m_Item_rec.ATO_FORECAST_CONTROL;
1584 l_update_child_rec := TRUE;
1585 END IF;
1586 ELSIF ( l_Attribute_Code = 'PLANNING_EXCEPTION_SET') THEN
1587 IF (NVL(l_Item_rec.PLANNING_EXCEPTION_SET,'!') <> NVL(m_Item_rec.PLANNING_EXCEPTION_SET,'!')) THEN
1588 l_Item_rec.PLANNING_EXCEPTION_SET := m_Item_rec.PLANNING_EXCEPTION_SET;
1589 l_update_child_rec := TRUE;
1590 END IF;
1591 ELSIF ( l_Attribute_Code = 'END_ASSEMBLY_PEGGING_FLAG') THEN
1592 IF (NVL(l_Item_rec.END_ASSEMBLY_PEGGING_FLAG,'!') <> NVL(m_Item_rec.END_ASSEMBLY_PEGGING_FLAG,'!')) THEN
1593 l_Item_rec.END_ASSEMBLY_PEGGING_FLAG := m_Item_rec.END_ASSEMBLY_PEGGING_FLAG;
1594 l_update_child_rec := TRUE;
1595 END IF;
1596 ELSIF ( l_Attribute_Code = 'PLANNED_INV_POINT_FLAG') THEN
1597 IF (NVL(l_Item_rec.PLANNED_INV_POINT_FLAG,'!') <> NVL(m_Item_rec.PLANNED_INV_POINT_FLAG,'!')) THEN
1598 l_Item_rec.PLANNED_INV_POINT_FLAG := m_Item_rec.PLANNED_INV_POINT_FLAG;
1599 l_update_child_rec := TRUE;
1600 END IF;
1601 ELSIF ( l_Attribute_Code = 'CREATE_SUPPLY_FLAG') THEN
1602 IF (NVL(l_Item_rec.CREATE_SUPPLY_FLAG,'!') <> NVL(m_Item_rec.CREATE_SUPPLY_FLAG,'!')) THEN
1603 l_Item_rec.CREATE_SUPPLY_FLAG := m_Item_rec.CREATE_SUPPLY_FLAG;
1604 l_update_child_rec := TRUE;
1605 END IF;
1606 ELSIF ( l_Attribute_Code = 'EXCLUDE_FROM_BUDGET_FLAG') THEN
1607 IF (NVL(l_Item_rec.EXCLUDE_FROM_BUDGET_FLAG,-999999) <> NVL(m_Item_rec.EXCLUDE_FROM_BUDGET_FLAG,-999999)) THEN
1608 l_Item_rec.EXCLUDE_FROM_BUDGET_FLAG := m_Item_rec.EXCLUDE_FROM_BUDGET_FLAG;
1609 l_update_child_rec := TRUE;
1610 END IF;
1611 ELSIF ( l_Attribute_Code = 'ROUNDING_CONTROL_TYPE') THEN
1612 IF (NVL(l_Item_rec.ROUNDING_CONTROL_TYPE,-999999) <> NVL(m_Item_rec.ROUNDING_CONTROL_TYPE,-999999)) THEN
1613 l_Item_rec.ROUNDING_CONTROL_TYPE := m_Item_rec.ROUNDING_CONTROL_TYPE;
1614 l_update_child_rec := TRUE;
1615 END IF;
1616 ELSIF ( l_Attribute_Code = 'SHRINKAGE_RATE') THEN
1617 IF (NVL(l_Item_rec.SHRINKAGE_RATE,-999999) <> NVL(m_Item_rec.SHRINKAGE_RATE,-999999)) THEN
1618 l_Item_rec.SHRINKAGE_RATE := m_Item_rec.SHRINKAGE_RATE;
1619 l_update_child_rec := TRUE;
1620 END IF;
1621 ELSIF ( l_Attribute_Code = 'ACCEPTABLE_EARLY_DAYS') THEN
1622 IF (NVL(l_Item_rec.ACCEPTABLE_EARLY_DAYS,-999999) <> NVL(m_Item_rec.ACCEPTABLE_EARLY_DAYS,-999999)) THEN
1623 l_Item_rec.ACCEPTABLE_EARLY_DAYS := m_Item_rec.ACCEPTABLE_EARLY_DAYS;
1624 l_update_child_rec := TRUE;
1625 END IF;
1626 ELSIF ( l_Attribute_Code = 'REPETITIVE_PLANNING_FLAG') THEN
1627 IF (NVL(l_Item_rec.REPETITIVE_PLANNING_FLAG,'!') <> NVL(m_Item_rec.REPETITIVE_PLANNING_FLAG,'!')) THEN
1628 l_Item_rec.REPETITIVE_PLANNING_FLAG := m_Item_rec.REPETITIVE_PLANNING_FLAG;
1629 l_update_child_rec := TRUE;
1630 END IF;
1631 ELSIF ( l_Attribute_Code = 'OVERRUN_PERCENTAGE') THEN
1632 IF (NVL(l_Item_rec.OVERRUN_PERCENTAGE,-999999) <> NVL(m_Item_rec.OVERRUN_PERCENTAGE,-999999)) THEN
1633 l_Item_rec.OVERRUN_PERCENTAGE := m_Item_rec.OVERRUN_PERCENTAGE;
1634 l_update_child_rec := TRUE;
1635 END IF;
1636 ELSIF ( l_Attribute_Code = 'ACCEPTABLE_RATE_INCREASE') THEN
1637 IF (NVL(l_Item_rec.ACCEPTABLE_RATE_INCREASE,-999999) <> NVL(m_Item_rec.ACCEPTABLE_RATE_INCREASE,-999999)) THEN
1638 l_Item_rec.ACCEPTABLE_RATE_INCREASE := m_Item_rec.ACCEPTABLE_RATE_INCREASE;
1639 l_update_child_rec := TRUE;
1640 END IF;
1641 ELSIF ( l_Attribute_Code = 'ACCEPTABLE_RATE_DECREASE') THEN
1642 IF (NVL(l_Item_rec.ACCEPTABLE_RATE_DECREASE,-999999) <> NVL(m_Item_rec.ACCEPTABLE_RATE_DECREASE,-999999)) THEN
1643 l_Item_rec.ACCEPTABLE_RATE_DECREASE := m_Item_rec.ACCEPTABLE_RATE_DECREASE;
1644 l_update_child_rec := TRUE;
1645 END IF;
1646 ELSIF ( l_Attribute_Code = 'MRP_CALCULATE_ATP_FLAG') THEN
1647 IF (NVL(l_Item_rec.MRP_CALCULATE_ATP_FLAG,'!') <> NVL(m_Item_rec.MRP_CALCULATE_ATP_FLAG,'!')) THEN
1648 l_Item_rec.MRP_CALCULATE_ATP_FLAG := m_Item_rec.MRP_CALCULATE_ATP_FLAG;
1649 l_update_child_rec := TRUE;
1650 END IF;
1651 ELSIF ( l_Attribute_Code = 'AUTO_REDUCE_MPS') THEN
1652 IF (NVL(l_Item_rec.AUTO_REDUCE_MPS,-999999) <> NVL(m_Item_rec.AUTO_REDUCE_MPS,-999999)) THEN
1653 l_Item_rec.AUTO_REDUCE_MPS := m_Item_rec.AUTO_REDUCE_MPS;
1654 l_update_child_rec := TRUE;
1655 END IF;
1656 ELSIF ( l_Attribute_Code = 'PLANNING_TIME_FENCE_CODE') THEN
1657 IF (NVL(l_Item_rec.PLANNING_TIME_FENCE_CODE,-999999) <> NVL(m_Item_rec.PLANNING_TIME_FENCE_CODE,-999999)) THEN
1658 l_Item_rec.PLANNING_TIME_FENCE_CODE := m_Item_rec.PLANNING_TIME_FENCE_CODE;
1659 l_update_child_rec := TRUE;
1660 END IF;
1661 ELSIF ( l_Attribute_Code = 'PLANNING_TIME_FENCE_DAYS') THEN
1662 IF (NVL(l_Item_rec.PLANNING_TIME_FENCE_DAYS,-999999) <> NVL(m_Item_rec.PLANNING_TIME_FENCE_DAYS,-999999)) THEN
1663 l_Item_rec.PLANNING_TIME_FENCE_DAYS := m_Item_rec.PLANNING_TIME_FENCE_DAYS;
1664 l_update_child_rec := TRUE;
1665 END IF;
1666 ELSIF ( l_Attribute_Code = 'DEMAND_TIME_FENCE_CODE') THEN
1667 IF (NVL(l_Item_rec.DEMAND_TIME_FENCE_CODE,-999999) <> NVL(m_Item_rec.DEMAND_TIME_FENCE_CODE,-999999)) THEN
1668 l_Item_rec.DEMAND_TIME_FENCE_CODE := m_Item_rec.DEMAND_TIME_FENCE_CODE;
1669 l_update_child_rec := TRUE;
1670 END IF;
1671 ELSIF ( l_Attribute_Code = 'DEMAND_TIME_FENCE_DAYS') THEN
1672 IF (NVL(l_Item_rec.DEMAND_TIME_FENCE_DAYS,-999999) <> NVL(m_Item_rec.DEMAND_TIME_FENCE_DAYS,-999999)) THEN
1673 l_Item_rec.DEMAND_TIME_FENCE_DAYS := m_Item_rec.DEMAND_TIME_FENCE_DAYS;
1674 l_update_child_rec := TRUE;
1675 END IF;
1676 ELSIF ( l_Attribute_Code = 'RELEASE_TIME_FENCE_CODE') THEN
1677 IF (NVL(l_Item_rec.RELEASE_TIME_FENCE_CODE,-999999) <> NVL(m_Item_rec.RELEASE_TIME_FENCE_CODE,-999999)) THEN
1678 l_Item_rec.RELEASE_TIME_FENCE_CODE := m_Item_rec.RELEASE_TIME_FENCE_CODE;
1679 l_update_child_rec := TRUE;
1680 END IF;
1681 ELSIF ( l_Attribute_Code = 'RELEASE_TIME_FENCE_DAYS') THEN
1682 IF (NVL(l_Item_rec.RELEASE_TIME_FENCE_DAYS,-999999) <> NVL(m_Item_rec.RELEASE_TIME_FENCE_DAYS,-999999)) THEN
1683 l_Item_rec.RELEASE_TIME_FENCE_DAYS := m_Item_rec.RELEASE_TIME_FENCE_DAYS;
1684 l_update_child_rec := TRUE;
1685 END IF;
1686 ELSIF ( l_Attribute_Code = 'SUBSTITUTION_WINDOW_CODE') THEN
1687 IF (NVL(l_Item_rec.SUBSTITUTION_WINDOW_CODE,-999999) <> NVL(m_Item_rec.SUBSTITUTION_WINDOW_CODE,-999999)) THEN
1688 l_Item_rec.SUBSTITUTION_WINDOW_CODE := m_Item_rec.SUBSTITUTION_WINDOW_CODE;
1689 l_update_child_rec := TRUE;
1690 END IF;
1691 ELSIF ( l_Attribute_Code = 'SUBSTITUTION_WINDOW_DAYS') THEN
1692 IF (NVL(l_Item_rec.SUBSTITUTION_WINDOW_DAYS,-999999) <> NVL(m_Item_rec.SUBSTITUTION_WINDOW_DAYS,-999999)) THEN
1693 l_Item_rec.SUBSTITUTION_WINDOW_DAYS := m_Item_rec.SUBSTITUTION_WINDOW_DAYS;
1694 l_update_child_rec := TRUE;
1695 END IF;
1696 ELSIF ( l_Attribute_Code = 'DAYS_TGT_INV_SUPPLY') THEN
1697 IF (NVL(l_Item_rec.DAYS_TGT_INV_SUPPLY,-999999) <> NVL(m_Item_rec.DAYS_TGT_INV_SUPPLY,-999999)) THEN
1698 l_Item_rec.DAYS_TGT_INV_SUPPLY := m_Item_rec.DAYS_TGT_INV_SUPPLY;
1699 l_update_child_rec := TRUE;
1700 END IF;
1701 ELSIF ( l_Attribute_Code = 'DAYS_TGT_INV_WINDOW') THEN
1702 IF (NVL(l_Item_rec.DAYS_TGT_INV_WINDOW,-999999) <> NVL(m_Item_rec.DAYS_TGT_INV_WINDOW,-999999)) THEN
1703 l_Item_rec.DAYS_TGT_INV_WINDOW := m_Item_rec.DAYS_TGT_INV_WINDOW;
1704 l_update_child_rec := TRUE;
1705 END IF;
1706 ELSIF ( l_Attribute_Code = 'DAYS_MAX_INV_SUPPLY') THEN
1707 IF (NVL(l_Item_rec.DAYS_MAX_INV_SUPPLY,-999999) <> NVL(m_Item_rec.DAYS_MAX_INV_SUPPLY,-999999)) THEN
1708 l_Item_rec.DAYS_MAX_INV_SUPPLY := m_Item_rec.DAYS_MAX_INV_SUPPLY;
1709 l_update_child_rec := TRUE;
1710 END IF;
1711 ELSIF ( l_Attribute_Code = 'DAYS_MAX_INV_WINDOW') THEN
1712 IF (NVL(l_Item_rec.DAYS_MAX_INV_WINDOW,-999999) <> NVL(m_Item_rec.DAYS_MAX_INV_WINDOW,-999999)) THEN
1713 l_Item_rec.DAYS_MAX_INV_WINDOW := m_Item_rec.DAYS_MAX_INV_WINDOW;
1714 l_update_child_rec := TRUE;
1715 END IF;
1716 ELSIF ( l_Attribute_Code = 'CRITICAL_COMPONENT_FLAG') THEN
1717 IF (NVL(l_Item_rec.CRITICAL_COMPONENT_FLAG,-999999) <> NVL(m_Item_rec.CRITICAL_COMPONENT_FLAG,-999999)) THEN
1718 l_Item_rec.CRITICAL_COMPONENT_FLAG := m_Item_rec.CRITICAL_COMPONENT_FLAG;
1719 l_update_child_rec := TRUE;
1720 END IF;
1721 ELSIF ( l_Attribute_Code = 'CONTINOUS_TRANSFER') THEN
1722 IF (NVL(l_Item_rec.CONTINOUS_TRANSFER,-999999) <> NVL(m_Item_rec.CONTINOUS_TRANSFER,-999999)) THEN
1723 l_Item_rec.CONTINOUS_TRANSFER := m_Item_rec.CONTINOUS_TRANSFER;
1724 l_update_child_rec := TRUE;
1725 END IF;
1726 ELSIF ( l_Attribute_Code = 'CONVERGENCE') THEN
1727 IF (NVL(l_Item_rec.CONVERGENCE,-999999) <> NVL(m_Item_rec.CONVERGENCE,-999999)) THEN
1728 l_Item_rec.CONVERGENCE := m_Item_rec.CONVERGENCE;
1729 l_update_child_rec := TRUE;
1730 END IF;
1731 ELSIF ( l_Attribute_Code = 'DIVERGENCE') THEN
1732 IF (NVL(l_Item_rec.DIVERGENCE,-999999) <> NVL(m_Item_rec.DIVERGENCE,-999999)) THEN
1733 l_Item_rec.DIVERGENCE := m_Item_rec.DIVERGENCE ;
1734 l_update_child_rec := TRUE;
1735 END IF;
1736 ELSIF ( l_Attribute_Code = 'DRP_PLANNED_FLAG') THEN
1737 IF (NVL(l_Item_rec.DRP_PLANNED_FLAG,-999999) <> NVL(m_Item_rec.DRP_PLANNED_FLAG,-999999)) THEN
1738 l_Item_rec.DRP_PLANNED_FLAG := m_Item_rec.DRP_PLANNED_FLAG;
1739 l_update_child_rec := TRUE;
1740 END IF;
1741 ELSIF ( l_Attribute_Code = 'REPAIR_LEADTIME') THEN --Bug: 5396073
1742 IF (NVL(l_Item_rec.REPAIR_LEADTIME,-999999) <> NVL(m_Item_rec.REPAIR_LEADTIME,-999999)) THEN
1743 l_Item_rec.REPAIR_LEADTIME := m_Item_rec.REPAIR_LEADTIME;
1744 l_update_child_rec := TRUE;
1745 END IF;
1746 ELSIF ( l_Attribute_Code = 'REPAIR_YIELD') THEN --Bug: 5396073
1747 IF (NVL(l_Item_rec.REPAIR_YIELD,-999999) <> NVL(m_Item_rec.REPAIR_YIELD,-999999)) THEN
1748 l_Item_rec.REPAIR_YIELD := m_Item_rec.REPAIR_YIELD;
1749 l_update_child_rec := TRUE;
1750 END IF;
1751 ELSIF ( l_Attribute_Code = 'PREPOSITION_POINT') THEN --Bug: 5396073
1752 IF (NVL(l_Item_rec.PREPOSITION_POINT,'!') <> NVL(m_Item_rec.PREPOSITION_POINT,'!')) THEN
1753 l_Item_rec.PREPOSITION_POINT := m_Item_rec.PREPOSITION_POINT;
1754 l_update_child_rec := TRUE;
1755 END IF;
1756 ELSIF ( l_Attribute_Code = 'REPAIR_PROGRAM') THEN --Bug: 5396073
1757 IF (NVL(l_Item_rec.REPAIR_PROGRAM,-999999) <> NVL(m_Item_rec.REPAIR_PROGRAM,-999999)) THEN
1758 l_Item_rec.REPAIR_PROGRAM := m_Item_rec.REPAIR_PROGRAM;
1759 l_update_child_rec := TRUE;
1760 END IF;
1761
1762 --Lead Times
1763 ELSIF ( l_Attribute_Code = 'PREPROCESSING_LEAD_TIME') THEN
1764 IF (NVL(l_Item_rec.PREPROCESSING_LEAD_TIME,-999999) <> NVL(m_Item_rec.PREPROCESSING_LEAD_TIME,-999999)) THEN
1765 l_Item_rec.PREPROCESSING_LEAD_TIME := m_Item_rec.PREPROCESSING_LEAD_TIME;
1766 l_update_child_rec := TRUE;
1767 END IF;
1768 ELSIF ( l_Attribute_Code = 'FULL_LEAD_TIME') THEN
1769 IF (NVL(l_Item_rec.FULL_LEAD_TIME,-999999) <> NVL(m_Item_rec.FULL_LEAD_TIME,-999999)) THEN
1770 l_Item_rec.FULL_LEAD_TIME := m_Item_rec.FULL_LEAD_TIME ;
1771 l_update_child_rec := TRUE;
1772 END IF;
1773 ELSIF ( l_Attribute_Code = 'POSTPROCESSING_LEAD_TIME') THEN
1774 IF (NVL(l_Item_rec.POSTPROCESSING_LEAD_TIME,-999999) <> NVL(m_Item_rec.POSTPROCESSING_LEAD_TIME,-999999)) THEN
1775 l_Item_rec.POSTPROCESSING_LEAD_TIME := m_Item_rec.POSTPROCESSING_LEAD_TIME;
1776 l_update_child_rec := TRUE;
1777 END IF;
1778 ELSIF ( l_Attribute_Code = 'FIXED_LEAD_TIME') THEN
1779 IF (NVL(l_Item_rec.FIXED_LEAD_TIME,-999999) <> NVL(m_Item_rec.FIXED_LEAD_TIME,-999999)) THEN
1780 l_Item_rec.FIXED_LEAD_TIME := m_Item_rec.FIXED_LEAD_TIME;
1781 l_update_child_rec := TRUE;
1782 END IF;
1783 ELSIF ( l_Attribute_Code = 'VARIABLE_LEAD_TIME') THEN
1784 IF (NVL(l_Item_rec.VARIABLE_LEAD_TIME,-999999) <> NVL(m_Item_rec.VARIABLE_LEAD_TIME,-999999)) THEN
1785 l_Item_rec.VARIABLE_LEAD_TIME := m_Item_rec.VARIABLE_LEAD_TIME ;
1786 l_update_child_rec := TRUE;
1787 END IF;
1788 ELSIF ( l_Attribute_Code = 'CUM_MANUFACTURING_LEAD_TIME') THEN
1789 IF (NVL(l_Item_rec.CUM_MANUFACTURING_LEAD_TIME,-999999) <> NVL(m_Item_rec.CUM_MANUFACTURING_LEAD_TIME,-999999)) THEN
1790 l_Item_rec.CUM_MANUFACTURING_LEAD_TIME := m_Item_rec.CUM_MANUFACTURING_LEAD_TIME ;
1791 l_update_child_rec := TRUE;
1792 END IF;
1793 ELSIF ( l_Attribute_Code = 'CUMULATIVE_TOTAL_LEAD_TIME') THEN
1794 IF (NVL(l_Item_rec.CUMULATIVE_TOTAL_LEAD_TIME,-999999) <> NVL(m_Item_rec.CUMULATIVE_TOTAL_LEAD_TIME,-999999)) THEN
1795 l_Item_rec.CUMULATIVE_TOTAL_LEAD_TIME := m_Item_rec.CUMULATIVE_TOTAL_LEAD_TIME;
1796 l_update_child_rec := TRUE;
1797 END IF;
1798 ELSIF ( l_Attribute_Code = 'LEAD_TIME_LOT_SIZE') THEN
1799 IF (NVL(l_Item_rec.LEAD_TIME_LOT_SIZE,-999999) <> NVL(m_Item_rec.LEAD_TIME_LOT_SIZE,-999999)) THEN
1800 l_Item_rec.LEAD_TIME_LOT_SIZE := m_Item_rec.LEAD_TIME_LOT_SIZE;
1801 l_update_child_rec := TRUE;
1802 END IF;
1803
1804 --Work In Progress
1805 ELSIF ( l_Attribute_Code = 'BUILD_IN_WIP_FLAG') THEN
1806 IF (NVL(l_Item_rec.BUILD_IN_WIP_FLAG,'!') <> NVL(m_Item_rec.BUILD_IN_WIP_FLAG,'!')) THEN
1807 l_Item_rec.BUILD_IN_WIP_FLAG := m_Item_rec.BUILD_IN_WIP_FLAG;
1808 l_update_child_rec := TRUE;
1809 END IF;
1810 ELSIF ( l_Attribute_Code = 'WIP_SUPPLY_TYPE') THEN
1811 IF (NVL(l_Item_rec.WIP_SUPPLY_TYPE,-999999) <> NVL(m_Item_rec.WIP_SUPPLY_TYPE,-999999)) THEN
1812 l_Item_rec.WIP_SUPPLY_TYPE := m_Item_rec.WIP_SUPPLY_TYPE;
1813 l_update_child_rec := TRUE;
1814 END IF;
1815 ELSIF ( l_Attribute_Code = 'WIP_SUPPLY_SUBINVENTORY') THEN
1816 IF (NVL(l_Item_rec.WIP_SUPPLY_SUBINVENTORY,'!') <> NVL(m_Item_rec.WIP_SUPPLY_SUBINVENTORY,'!')) THEN
1817 l_Item_rec.WIP_SUPPLY_SUBINVENTORY := m_Item_rec.WIP_SUPPLY_SUBINVENTORY;
1818 l_update_child_rec := TRUE;
1819 END IF;
1820 ELSIF ( l_Attribute_Code = 'WIP_SUPPLY_LOCATOR_ID') THEN
1821 IF (NVL(l_Item_rec.WIP_SUPPLY_LOCATOR_ID,-999999) <> NVL(m_Item_rec.WIP_SUPPLY_LOCATOR_ID,-999999)) THEN
1822 l_Item_rec.WIP_SUPPLY_LOCATOR_ID := m_Item_rec.WIP_SUPPLY_LOCATOR_ID;
1823 l_update_child_rec := TRUE;
1824 END IF;
1825 ELSIF ( l_Attribute_Code = 'OVERCOMPLETION_TOLERANCE_TYPE') THEN
1826 IF (NVL(l_Item_rec.OVERCOMPLETION_TOLERANCE_TYPE,-999999) <> NVL(m_Item_rec.OVERCOMPLETION_TOLERANCE_TYPE,-999999) ) THEN
1827 l_Item_rec.OVERCOMPLETION_TOLERANCE_TYPE := m_Item_rec.OVERCOMPLETION_TOLERANCE_TYPE ;
1828 l_update_child_rec := TRUE;
1829 END IF;
1830 ELSIF ( l_Attribute_Code = 'OVERCOMPLETION_TOLERANCE_VALUE') THEN
1831 IF (NVL(l_Item_rec.OVERCOMPLETION_TOLERANCE_VALUE,-999999) <> NVL(m_Item_rec.OVERCOMPLETION_TOLERANCE_VALUE,-999999)) THEN
1832 l_Item_rec.OVERCOMPLETION_TOLERANCE_VALUE := m_Item_rec.OVERCOMPLETION_TOLERANCE_VALUE ;
1833 l_update_child_rec := TRUE;
1834 END IF;
1835 ELSIF ( l_Attribute_Code = 'INVENTORY_CARRY_PENALTY') THEN
1836 IF (NVL(l_Item_rec.INVENTORY_CARRY_PENALTY,-999999) <> NVL(m_Item_rec.INVENTORY_CARRY_PENALTY,-999999)) THEN
1837 l_Item_rec.INVENTORY_CARRY_PENALTY := m_Item_rec.INVENTORY_CARRY_PENALTY;
1838 l_update_child_rec := TRUE;
1839 END IF;
1840 ELSIF ( l_Attribute_Code = 'OPERATION_SLACK_PENALTY') THEN
1841 IF (NVL(l_Item_rec.OPERATION_SLACK_PENALTY,-999999) <> NVL(m_Item_rec.OPERATION_SLACK_PENALTY,-999999)) THEN
1842 l_Item_rec.OPERATION_SLACK_PENALTY := m_Item_rec.OPERATION_SLACK_PENALTY;
1843 l_update_child_rec := TRUE;
1844 END IF;
1845
1846 --Order Management
1847 ELSIF ( l_Attribute_Code = 'CUSTOMER_ORDER_FLAG') THEN
1848 IF (NVL(l_Item_rec.CUSTOMER_ORDER_FLAG,'!') <> NVL(m_Item_rec.CUSTOMER_ORDER_FLAG,'!')) THEN
1849 l_Item_rec.CUSTOMER_ORDER_FLAG := m_Item_rec.CUSTOMER_ORDER_FLAG;
1850 l_update_child_rec := TRUE;
1851 END IF;
1852 ELSIF ( l_Attribute_Code = 'CUSTOMER_ORDER_ENABLED_FLAG') THEN
1853 IF (NVL(l_Item_rec.CUSTOMER_ORDER_ENABLED_FLAG,'!') <> NVL(m_Item_rec.CUSTOMER_ORDER_ENABLED_FLAG,'!')) THEN
1854 l_Item_rec.CUSTOMER_ORDER_ENABLED_FLAG := m_Item_rec.CUSTOMER_ORDER_ENABLED_FLAG;
1855 l_update_child_rec := TRUE;
1856 END IF;
1857 ELSIF ( l_Attribute_Code = 'INTERNAL_ORDER_FLAG') THEN
1858 IF (NVL(l_Item_rec.INTERNAL_ORDER_FLAG,'!') <> NVL(m_Item_rec.INTERNAL_ORDER_FLAG,'!')) THEN
1859 l_Item_rec.INTERNAL_ORDER_FLAG := m_Item_rec.INTERNAL_ORDER_FLAG;
1860 l_update_child_rec := TRUE;
1861 END IF;
1862 ELSIF ( l_Attribute_Code = 'INTERNAL_ORDER_ENABLED_FLAG') THEN
1863 IF (NVL(l_Item_rec.INTERNAL_ORDER_ENABLED_FLAG,'!') <> NVL(m_Item_rec.INTERNAL_ORDER_ENABLED_FLAG,'!')) THEN
1864 l_Item_rec.INTERNAL_ORDER_ENABLED_FLAG := m_Item_rec.INTERNAL_ORDER_ENABLED_FLAG;
1865 l_update_child_rec := TRUE;
1866 END IF;
1867 ELSIF ( l_Attribute_Code = 'SHIPPABLE_ITEM_FLAG') THEN
1868 IF (NVL(l_Item_rec.SHIPPABLE_ITEM_FLAG,'!') <> NVL(m_Item_rec.SHIPPABLE_ITEM_FLAG,'!')) THEN
1869 l_Item_rec.SHIPPABLE_ITEM_FLAG := m_Item_rec.SHIPPABLE_ITEM_FLAG;
1870 l_update_child_rec := TRUE;
1871 END IF;
1872 ELSIF ( l_Attribute_Code = 'SO_TRANSACTIONS_FLAG') THEN
1873 IF (NVL(l_Item_rec.SO_TRANSACTIONS_FLAG,'!') <> NVL(m_Item_rec.SO_TRANSACTIONS_FLAG,'!')) THEN
1874 l_Item_rec.SO_TRANSACTIONS_FLAG := m_Item_rec.SO_TRANSACTIONS_FLAG;
1875 l_update_child_rec := TRUE;
1876 END IF;
1877 ELSIF ( l_Attribute_Code = 'DEFAULT_SHIPPING_ORG') THEN
1878 IF (NVL(l_Item_rec.DEFAULT_SHIPPING_ORG,-999999) <> NVL(m_Item_rec.DEFAULT_SHIPPING_ORG,-999999)) THEN
1879 l_Item_rec.DEFAULT_SHIPPING_ORG := m_Item_rec.DEFAULT_SHIPPING_ORG;
1880 l_update_child_rec := TRUE;
1881 END IF;
1882 ELSIF ( l_Attribute_Code = 'DEFAULT_SO_SOURCE_TYPE') THEN
1883 IF (NVL(l_Item_rec.DEFAULT_SO_SOURCE_TYPE,'!') <> NVL(m_Item_rec.DEFAULT_SO_SOURCE_TYPE,'!')) THEN
1884 l_Item_rec.DEFAULT_SO_SOURCE_TYPE := m_Item_rec.DEFAULT_SO_SOURCE_TYPE;
1885 l_update_child_rec := TRUE;
1886 END IF;
1887 ELSIF ( l_Attribute_Code = 'PICK_COMPONENTS_FLAG') THEN
1888 IF (NVL(l_Item_rec.PICK_COMPONENTS_FLAG,'!') <> NVL(m_Item_rec.PICK_COMPONENTS_FLAG,'!')) THEN
1889 l_Item_rec.PICK_COMPONENTS_FLAG := m_Item_rec.PICK_COMPONENTS_FLAG;
1890 l_update_child_rec := TRUE;
1891 END IF;
1892 ELSIF ( l_Attribute_Code = 'ATP_FLAG') THEN
1893 IF (NVL(l_Item_rec.ATP_FLAG,'!') <> NVL(m_Item_rec.ATP_FLAG,'!')) THEN
1894 l_Item_rec.ATP_FLAG := m_Item_rec.ATP_FLAG;
1895 l_update_child_rec := TRUE;
1896 END IF;
1897 ELSIF ( l_Attribute_Code = 'REPLENISH_TO_ORDER_FLAG') THEN
1898 IF (NVL(l_Item_rec.REPLENISH_TO_ORDER_FLAG,'!') <> NVL(m_Item_rec.REPLENISH_TO_ORDER_FLAG,'!')) THEN
1899 l_Item_rec.REPLENISH_TO_ORDER_FLAG := m_Item_rec.REPLENISH_TO_ORDER_FLAG;
1900 l_update_child_rec := TRUE;
1901 END IF;
1902 ELSIF ( l_Attribute_Code = 'ATP_COMPONENTS_FLAG') THEN
1903 IF (NVL(l_Item_rec.ATP_COMPONENTS_FLAG,'!') <> NVL(m_Item_rec.ATP_COMPONENTS_FLAG,'!')) THEN
1904 l_Item_rec.ATP_COMPONENTS_FLAG := m_Item_rec.ATP_COMPONENTS_FLAG;
1905 l_update_child_rec := TRUE;
1906 END IF;
1907 ELSIF ( l_Attribute_Code = 'ATP_RULE_ID') THEN
1908 IF (NVL(l_Item_rec.ATP_RULE_ID,-999999) <> NVL(m_Item_rec.ATP_RULE_ID,-999999)) THEN
1909 l_Item_rec.ATP_RULE_ID := m_Item_rec.ATP_RULE_ID;
1910 l_update_child_rec := TRUE;
1911 END IF;
1912 ELSIF ( l_Attribute_Code = 'SHIP_MODEL_COMPLETE_FLAG') THEN
1913 IF (NVL(l_Item_rec.SHIP_MODEL_COMPLETE_FLAG,'!') <> NVL(m_Item_rec.SHIP_MODEL_COMPLETE_FLAG,'!')) THEN
1914 l_Item_rec.SHIP_MODEL_COMPLETE_FLAG := m_Item_rec.SHIP_MODEL_COMPLETE_FLAG;
1915 l_update_child_rec := TRUE;
1916 END IF;
1917 ELSIF ( l_Attribute_Code = 'RETURNABLE_FLAG') THEN
1918 IF (NVL(l_Item_rec.RETURNABLE_FLAG,'!') <> NVL(m_Item_rec.RETURNABLE_FLAG,'!')) THEN
1919 l_Item_rec.RETURNABLE_FLAG := m_Item_rec.RETURNABLE_FLAG;
1920 l_update_child_rec := TRUE;
1921 END IF;
1922 ELSIF ( l_Attribute_Code = 'RETURN_INSPECTION_REQUIREMENT') THEN
1923 IF (NVL(l_Item_rec.RETURN_INSPECTION_REQUIREMENT,-999999) <> NVL(m_Item_rec.RETURN_INSPECTION_REQUIREMENT,-999999)) THEN
1924 l_Item_rec.RETURN_INSPECTION_REQUIREMENT := m_Item_rec.RETURN_INSPECTION_REQUIREMENT;
1925 l_update_child_rec := TRUE;
1926 END IF;
1927 ELSIF ( l_Attribute_Code = 'FINANCING_ALLOWED_FLAG') THEN
1928 IF (NVL(l_Item_rec.FINANCING_ALLOWED_FLAG,'!') <> NVL(m_Item_rec.FINANCING_ALLOWED_FLAG,'!')) THEN
1929 l_Item_rec.FINANCING_ALLOWED_FLAG := m_Item_rec.FINANCING_ALLOWED_FLAG;
1930 l_update_child_rec := TRUE;
1931 END IF;
1932 ELSIF ( l_Attribute_Code = 'OVER_SHIPMENT_TOLERANCE') THEN
1933 IF (NVL(l_Item_rec.OVER_SHIPMENT_TOLERANCE,-999999) <> NVL(m_Item_rec.OVER_SHIPMENT_TOLERANCE,-999999)) THEN
1934 l_Item_rec.OVER_SHIPMENT_TOLERANCE := m_Item_rec.OVER_SHIPMENT_TOLERANCE;
1935 l_update_child_rec := TRUE;
1936 END IF;
1937 ELSIF ( l_Attribute_Code = 'UNDER_SHIPMENT_TOLERANCE') THEN
1938 IF (NVL(l_Item_rec.UNDER_SHIPMENT_TOLERANCE,-999999) <> NVL(m_Item_rec.UNDER_SHIPMENT_TOLERANCE,-999999)) THEN
1939 l_Item_rec.UNDER_SHIPMENT_TOLERANCE := m_Item_rec.UNDER_SHIPMENT_TOLERANCE;
1940 l_update_child_rec := TRUE;
1941 END IF;
1942 ELSIF ( l_Attribute_Code = 'OVER_RETURN_TOLERANCE') THEN
1943 IF (NVL(l_Item_rec.OVER_RETURN_TOLERANCE,-999999) <> NVL(m_Item_rec.OVER_RETURN_TOLERANCE,-999999)) THEN
1944 l_Item_rec.OVER_RETURN_TOLERANCE := m_Item_rec.OVER_RETURN_TOLERANCE;
1945 l_update_child_rec := TRUE;
1946 END IF;
1947 ELSIF ( l_Attribute_Code = 'UNDER_RETURN_TOLERANCE') THEN
1948 IF (NVL(l_Item_rec.UNDER_RETURN_TOLERANCE,-999999) <> NVL(m_Item_rec.UNDER_RETURN_TOLERANCE,-999999)) THEN
1949 l_Item_rec.UNDER_RETURN_TOLERANCE := m_Item_rec.UNDER_RETURN_TOLERANCE;
1950 l_update_child_rec := TRUE;
1951 END IF;
1952 ELSIF ( l_Attribute_Code = 'PICKING_RULE_ID') THEN
1953 IF (NVL(l_Item_rec.PICKING_RULE_ID,-999999) <> NVL(m_Item_rec.PICKING_RULE_ID,-999999)) THEN
1954 l_Item_rec.PICKING_RULE_ID := m_Item_rec.PICKING_RULE_ID;
1955 l_update_child_rec := TRUE;
1956 END IF;
1957 ELSIF ( l_Attribute_Code = 'VOL_DISCOUNT_EXEMPT_FLAG') THEN
1958 IF (NVL(l_Item_rec.VOL_DISCOUNT_EXEMPT_FLAG,'!') <> NVL(m_Item_rec.VOL_DISCOUNT_EXEMPT_FLAG,'!')) THEN
1959 l_Item_rec.VOL_DISCOUNT_EXEMPT_FLAG := m_Item_rec.VOL_DISCOUNT_EXEMPT_FLAG ;
1960 l_update_child_rec := TRUE;
1961 END IF;
1962 ELSIF ( l_Attribute_Code = 'COUPON_EXEMPT_FLAG') THEN
1963 IF (NVL(l_Item_rec.COUPON_EXEMPT_FLAG,'!') <> NVL(m_Item_rec.COUPON_EXEMPT_FLAG,'!')) THEN
1964 l_Item_rec.COUPON_EXEMPT_FLAG := m_Item_rec.COUPON_EXEMPT_FLAG ;
1965 l_update_child_rec := TRUE;
1966 END IF;
1967 ELSIF ( l_Attribute_Code = 'CHARGE_PERIODICITY_CODE') THEN --Added for Bug: 5355168
1968 IF (NVL(l_Item_rec.CHARGE_PERIODICITY_CODE,'!') <> NVL(m_Item_rec.CHARGE_PERIODICITY_CODE,'!')) THEN
1969 l_Item_rec.CHARGE_PERIODICITY_CODE := m_Item_rec.CHARGE_PERIODICITY_CODE ;
1970 l_update_child_rec := TRUE;
1971 END IF;
1972
1973 --Invoicing Attributes
1974 ELSIF ( l_Attribute_Code = 'INVOICEABLE_ITEM_FLAG') THEN
1975 IF (NVL(l_Item_rec.INVOICEABLE_ITEM_FLAG,'!') <> NVL(m_Item_rec.INVOICEABLE_ITEM_FLAG,'!')) THEN
1976 l_Item_rec.INVOICEABLE_ITEM_FLAG := m_Item_rec.INVOICEABLE_ITEM_FLAG;
1977 l_update_child_rec := TRUE;
1978 END IF;
1979 ELSIF ( l_Attribute_Code = 'INVOICE_ENABLED_FLAG') THEN
1980 IF (NVL(l_Item_rec.INVOICE_ENABLED_FLAG,'!') <> NVL(m_Item_rec.INVOICE_ENABLED_FLAG,'!')) THEN
1981 l_Item_rec.INVOICE_ENABLED_FLAG := m_Item_rec.INVOICE_ENABLED_FLAG;
1982 l_update_child_rec := TRUE;
1983 END IF;
1984 ELSIF ( l_Attribute_Code = 'ACCOUNTING_RULE_ID') THEN
1985 IF (NVL(l_Item_rec.ACCOUNTING_RULE_ID,-999999) <> NVL(m_Item_rec.ACCOUNTING_RULE_ID,-999999)) THEN
1986 l_Item_rec.ACCOUNTING_RULE_ID := m_Item_rec.ACCOUNTING_RULE_ID;
1987 l_update_child_rec := TRUE;
1988 END IF;
1989 ELSIF ( l_Attribute_Code = 'INVOICING_RULE_ID') THEN
1990 IF (NVL(l_Item_rec.INVOICING_RULE_ID,-999999) <> NVL(m_Item_rec.INVOICING_RULE_ID,-999999)) THEN
1991 l_Item_rec.INVOICING_RULE_ID := m_Item_rec.INVOICING_RULE_ID;
1992 l_update_child_rec := TRUE;
1993 END IF;
1994 ELSIF ( l_Attribute_Code = 'TAX_CODE') THEN
1995 IF (NVL(l_Item_rec.TAX_CODE,'!') <> NVL(m_Item_rec.TAX_CODE,'!')) THEN
1996 l_Item_rec.TAX_CODE := m_Item_rec.TAX_CODE;
1997 l_update_child_rec := TRUE;
1998 END IF;
1999 ELSIF ( l_Attribute_Code = 'SALES_ACCOUNT') THEN
2000 IF (NVL(l_Item_rec.SALES_ACCOUNT,-999999) <> NVL(m_Item_rec.SALES_ACCOUNT,-999999)) THEN
2001 l_Item_rec.SALES_ACCOUNT := m_Item_rec.SALES_ACCOUNT;
2002 l_update_child_rec := TRUE;
2003 END IF;
2004 ELSIF ( l_Attribute_Code = 'PAYMENT_TERMS_ID') THEN
2005 IF (NVL(l_Item_rec.PAYMENT_TERMS_ID,-999999) <> NVL(m_Item_rec.PAYMENT_TERMS_ID,-999999)) THEN
2006 l_Item_rec.PAYMENT_TERMS_ID := m_Item_rec.PAYMENT_TERMS_ID;
2007 l_update_child_rec := TRUE;
2008 END IF;
2009
2010 --Service Attributes
2011 ELSIF ( l_Attribute_Code = 'CONTRACT_ITEM_TYPE_CODE') THEN
2012 IF (NVL(l_Item_rec.CONTRACT_ITEM_TYPE_CODE,'!') <> NVL(m_Item_rec.CONTRACT_ITEM_TYPE_CODE,'!')) THEN
2013 l_Item_rec.CONTRACT_ITEM_TYPE_CODE := m_Item_rec.CONTRACT_ITEM_TYPE_CODE;
2014 l_update_child_rec := TRUE;
2015 END IF;
2016 ELSIF ( l_Attribute_Code = 'COVERAGE_SCHEDULE_ID') THEN
2017 IF (NVL(l_Item_rec.COVERAGE_SCHEDULE_ID,-999999) <> NVL(m_Item_rec.COVERAGE_SCHEDULE_ID,-999999)) THEN
2018 l_Item_rec.COVERAGE_SCHEDULE_ID := m_Item_rec.COVERAGE_SCHEDULE_ID;
2019 l_update_child_rec := TRUE;
2020 END IF;
2021 ELSIF ( l_Attribute_Code = 'SERVICE_DURATION_PERIOD_CODE') THEN
2022 IF (NVL(l_Item_rec.SERVICE_DURATION_PERIOD_CODE,'!') <> NVL(m_Item_rec.SERVICE_DURATION_PERIOD_CODE,'!')) THEN
2023 l_Item_rec.SERVICE_DURATION_PERIOD_CODE := m_Item_rec.SERVICE_DURATION_PERIOD_CODE;
2024 l_update_child_rec := TRUE;
2025 END IF;
2026 ELSIF ( l_Attribute_Code = 'MATERIAL_BILLABLE_FLAG') THEN
2027 IF (NVL(l_Item_rec.MATERIAL_BILLABLE_FLAG,'!') <> NVL(m_Item_rec.MATERIAL_BILLABLE_FLAG,'!')) THEN
2028 l_Item_rec.MATERIAL_BILLABLE_FLAG := m_Item_rec.MATERIAL_BILLABLE_FLAG;
2029 l_update_child_rec := TRUE;
2030 END IF;
2031 ELSIF ( l_Attribute_Code = 'SERV_REQ_ENABLED_CODE') THEN
2032 IF (NVL(l_Item_rec.SERV_REQ_ENABLED_CODE,'!') <> NVL(m_Item_rec.SERV_REQ_ENABLED_CODE,'!')) THEN
2033 l_Item_rec.SERV_REQ_ENABLED_CODE := m_Item_rec.SERV_REQ_ENABLED_CODE;
2034 l_update_child_rec := TRUE;
2035 END IF;
2036 ELSIF ( l_Attribute_Code = 'COMMS_ACTIVATION_REQD_FLAG') THEN
2037 IF (NVL(l_Item_rec.COMMS_ACTIVATION_REQD_FLAG,'!') <> NVL(m_Item_rec.COMMS_ACTIVATION_REQD_FLAG,'!')) THEN
2038 l_Item_rec.COMMS_ACTIVATION_REQD_FLAG := m_Item_rec.COMMS_ACTIVATION_REQD_FLAG;
2039 l_update_child_rec := TRUE;
2040 END IF;
2041 ELSIF ( l_Attribute_Code = 'SERV_BILLING_ENABLED_FLAG') THEN
2042 IF (NVL(l_Item_rec.SERV_BILLING_ENABLED_FLAG,'!') <> NVL(m_Item_rec.SERV_BILLING_ENABLED_FLAG,'!')) THEN
2043 l_Item_rec.SERV_BILLING_ENABLED_FLAG := m_Item_rec.SERV_BILLING_ENABLED_FLAG;
2044 l_update_child_rec := TRUE;
2045 END IF;
2046 ELSIF ( l_Attribute_Code = 'DEFECT_TRACKING_ON_FLAG') THEN
2047 IF (NVL(l_Item_rec.DEFECT_TRACKING_ON_FLAG,'!') <> NVL(m_Item_rec.DEFECT_TRACKING_ON_FLAG,'!')) THEN
2048 l_Item_rec.DEFECT_TRACKING_ON_FLAG := m_Item_rec.DEFECT_TRACKING_ON_FLAG;
2049 l_update_child_rec := TRUE;
2050 END IF;
2051 ELSIF ( l_Attribute_Code = 'RECOVERED_PART_DISP_CODE') THEN
2052 IF (NVL(l_Item_rec.RECOVERED_PART_DISP_CODE,'!') <> NVL(m_Item_rec.RECOVERED_PART_DISP_CODE,'!')) THEN
2053 l_Item_rec.RECOVERED_PART_DISP_CODE := m_Item_rec.RECOVERED_PART_DISP_CODE ;
2054 l_update_child_rec := TRUE;
2055 END IF;
2056 ELSIF ( l_Attribute_Code = 'COMMS_NL_TRACKABLE_FLAG') THEN
2057 IF (NVL(l_Item_rec.COMMS_NL_TRACKABLE_FLAG,'!') <> NVL(m_Item_rec.COMMS_NL_TRACKABLE_FLAG,'!')) THEN
2058 l_Item_rec.COMMS_NL_TRACKABLE_FLAG := m_Item_rec.COMMS_NL_TRACKABLE_FLAG;
2059 l_update_child_rec := TRUE;
2060 END IF;
2061 ELSIF ( l_Attribute_Code = 'ASSET_CREATION_CODE') THEN
2062 IF (NVL(l_Item_rec.ASSET_CREATION_CODE,'!') <> NVL(m_Item_rec.ASSET_CREATION_CODE,'!')) THEN
2063 l_Item_rec.ASSET_CREATION_CODE := m_Item_rec.ASSET_CREATION_CODE ;
2064 l_update_child_rec := TRUE;
2065 END IF;
2066 ELSIF ( l_Attribute_Code = 'SERVICE_DURATION') THEN
2067 IF (NVL(l_Item_rec.SERVICE_DURATION,-999999) <> NVL(m_Item_rec.SERVICE_DURATION,-999999)) THEN
2068 l_Item_rec.SERVICE_DURATION := m_Item_rec.SERVICE_DURATION;
2069 l_update_child_rec := TRUE;
2070 END IF;
2071 ELSIF ( l_Attribute_Code = 'IB_ITEM_INSTANCE_CLASS') THEN
2072 IF (NVL(l_Item_rec.IB_ITEM_INSTANCE_CLASS,'!') <> NVL(m_Item_rec.IB_ITEM_INSTANCE_CLASS,'!')) THEN
2073 l_Item_rec.IB_ITEM_INSTANCE_CLASS := m_Item_rec.IB_ITEM_INSTANCE_CLASS;
2074 l_update_child_rec := TRUE;
2075 END IF;
2076 ELSIF ( l_Attribute_Code = 'PREVENTIVE_MAINTENANCE_FLAG') THEN
2077 IF (NVL(l_Item_rec.PREVENTIVE_MAINTENANCE_FLAG,'!') <> NVL(m_Item_rec.PREVENTIVE_MAINTENANCE_FLAG,'!')) THEN
2078 l_Item_rec.PREVENTIVE_MAINTENANCE_FLAG := m_Item_rec.PREVENTIVE_MAINTENANCE_FLAG;
2079 l_update_child_rec := TRUE;
2080 END IF;
2081 ELSIF ( l_Attribute_Code = 'PRORATE_SERVICE_FLAG') THEN
2082 IF (NVL(l_Item_rec.PRORATE_SERVICE_FLAG,'!') <> NVL(m_Item_rec.PRORATE_SERVICE_FLAG,'!')) THEN
2083 l_Item_rec.PRORATE_SERVICE_FLAG := m_Item_rec.PRORATE_SERVICE_FLAG;
2084 l_update_child_rec := TRUE;
2085 END IF;
2086 ELSIF ( l_Attribute_Code = 'WARRANTY_VENDOR_ID') THEN
2087 IF (NVL(l_Item_rec.WARRANTY_VENDOR_ID,-999999) <> NVL(m_Item_rec.WARRANTY_VENDOR_ID,-999999)) THEN
2088 l_Item_rec.WARRANTY_VENDOR_ID := m_Item_rec.WARRANTY_VENDOR_ID;
2089 l_update_child_rec := TRUE;
2090 END IF;
2091 ELSIF ( l_Attribute_Code = 'MAX_WARRANTY_AMOUNT') THEN
2092 IF (NVL(l_Item_rec.MAX_WARRANTY_AMOUNT,-999999) <> NVL(m_Item_rec.MAX_WARRANTY_AMOUNT,-999999)) THEN
2093 l_Item_rec.MAX_WARRANTY_AMOUNT := m_Item_rec.MAX_WARRANTY_AMOUNT;
2094 l_update_child_rec := TRUE;
2095 END IF;
2096 ELSIF ( l_Attribute_Code = 'RESPONSE_TIME_PERIOD_CODE') THEN
2097 IF (NVL(l_Item_rec.RESPONSE_TIME_PERIOD_CODE,'!') <> NVL(m_Item_rec.RESPONSE_TIME_PERIOD_CODE,'!')) THEN
2098 l_Item_rec.RESPONSE_TIME_PERIOD_CODE := m_Item_rec.RESPONSE_TIME_PERIOD_CODE;
2099 l_update_child_rec := TRUE;
2100 END IF;
2101 ELSIF ( l_Attribute_Code = 'RESPONSE_TIME_VALUE') THEN
2102 IF (NVL(l_Item_rec.RESPONSE_TIME_VALUE,-999999) <> NVL(m_Item_rec.RESPONSE_TIME_VALUE,-999999)) THEN
2103 l_Item_rec.RESPONSE_TIME_VALUE := m_Item_rec.RESPONSE_TIME_VALUE;
2104 l_update_child_rec := TRUE;
2105 END IF;
2106
2107 --Web Option
2108 ELSIF ( l_Attribute_Code = 'WEB_STATUS') THEN
2109 IF (NVL(l_Item_rec.WEB_STATUS,'!') <> NVL(m_Item_rec.WEB_STATUS,'!')) THEN
2110 l_Item_rec.WEB_STATUS := m_Item_rec.WEB_STATUS ;
2111 l_update_child_rec := TRUE;
2112 END IF;
2113 ELSIF ( l_Attribute_Code = 'ORDERABLE_ON_WEB_FLAG') THEN
2114 IF (NVL(l_Item_rec.ORDERABLE_ON_WEB_FLAG,'!') <> NVL(m_Item_rec.ORDERABLE_ON_WEB_FLAG,'!')) THEN
2115 l_Item_rec.ORDERABLE_ON_WEB_FLAG := m_Item_rec.ORDERABLE_ON_WEB_FLAG;
2116 l_update_child_rec := TRUE;
2117 END IF;
2118 ELSIF ( l_Attribute_Code = 'BACK_ORDERABLE_FLAG') THEN
2119 IF (NVL(l_Item_rec.BACK_ORDERABLE_FLAG,'!') <> NVL(m_Item_rec.BACK_ORDERABLE_FLAG,'!')) THEN
2120 l_Item_rec.BACK_ORDERABLE_FLAG := m_Item_rec.BACK_ORDERABLE_FLAG ;
2121 l_update_child_rec := TRUE;
2122 END IF;
2123 ELSIF ( l_Attribute_Code = 'MINIMUM_LICENSE_QUANTITY') THEN
2124 IF (NVL(l_Item_rec.MINIMUM_LICENSE_QUANTITY,-999999) <> NVL(m_Item_rec.MINIMUM_LICENSE_QUANTITY,-999999)) THEN
2125 l_Item_rec.MINIMUM_LICENSE_QUANTITY := m_Item_rec.MINIMUM_LICENSE_QUANTITY;
2126 l_update_child_rec := TRUE;
2127 END IF;
2128 --Main Attributes
2129 ELSIF ( l_Attribute_Code = 'SEGMENT1') THEN
2130 IF (NVL(l_Item_rec.SEGMENT1,'!') <> NVL(m_Item_rec.SEGMENT1,'!')) THEN
2131 l_Item_rec.SEGMENT1 := m_Item_rec.SEGMENT1;
2132 l_update_child_rec := TRUE;
2133 END IF;
2134 ELSIF ( l_Attribute_Code = 'SEGMENT2') THEN
2135 IF (NVL(l_Item_rec.SEGMENT2,'!') <> NVL(m_Item_rec.SEGMENT2,'!')) THEN
2136 l_Item_rec.SEGMENT2 := m_Item_rec.SEGMENT2 ;
2137 l_update_child_rec := TRUE;
2138 END IF;
2139 ELSIF ( l_Attribute_Code = 'SEGMENT3') THEN
2140 IF (NVL(l_Item_rec.SEGMENT3,'!') <> NVL(m_Item_rec.SEGMENT3,'!')) THEN
2141 l_Item_rec.SEGMENT3 := m_Item_rec.SEGMENT3;
2142 l_update_child_rec := TRUE;
2143 END IF;
2144 ELSIF ( l_Attribute_Code = 'SEGMENT4') THEN
2145 IF (NVL(l_Item_rec.SEGMENT4,'!') <> NVL(m_Item_rec.SEGMENT4,'!')) THEN
2146 l_Item_rec.SEGMENT4 := m_Item_rec.SEGMENT4 ;
2147 l_update_child_rec := TRUE;
2148 END IF;
2149 ELSIF ( l_Attribute_Code = 'SEGMENT5') THEN
2150 IF (NVL(l_Item_rec.SEGMENT5,'!') <> NVL(m_Item_rec.SEGMENT5,'!')) THEN
2151 l_Item_rec.SEGMENT5 := m_Item_rec.SEGMENT5 ;
2152 l_update_child_rec := TRUE;
2153 END IF;
2154 ELSIF ( l_Attribute_Code = 'SEGMENT6') THEN
2155 IF (NVL(l_Item_rec.SEGMENT6,'!') <> NVL(m_Item_rec.SEGMENT6,'!')) THEN
2156 l_Item_rec.SEGMENT6 := m_Item_rec.SEGMENT6 ;
2157 l_update_child_rec := TRUE;
2158 END IF;
2159 ELSIF ( l_Attribute_Code = 'SEGMENT7') THEN
2160 IF (NVL(l_Item_rec.SEGMENT7,'!') <> NVL(m_Item_rec.SEGMENT7,'!')) THEN
2161 l_Item_rec.SEGMENT7 := m_Item_rec.SEGMENT7 ;
2162 l_update_child_rec := TRUE;
2163 END IF;
2164 ELSIF ( l_Attribute_Code = 'SEGMENT8') THEN
2165 IF (NVL(l_Item_rec.SEGMENT8,'!') <> NVL(m_Item_rec.SEGMENT8,'!')) THEN
2166 l_Item_rec.SEGMENT8 := m_Item_rec.SEGMENT8 ;
2167 l_update_child_rec := TRUE;
2168 END IF;
2169 ELSIF ( l_Attribute_Code = 'SEGMENT9') THEN
2170 IF (NVL(l_Item_rec.SEGMENT9,'!') <> NVL(m_Item_rec.SEGMENT9,'!')) THEN
2171 l_Item_rec.SEGMENT9 := m_Item_rec.SEGMENT9 ;
2172 l_update_child_rec := TRUE;
2173 END IF;
2174 ELSIF ( l_Attribute_Code = 'SEGMENT10') THEN
2175 IF (NVL(l_Item_rec.SEGMENT10,'!') <> NVL(m_Item_rec.SEGMENT10,'!')) THEN
2176 l_Item_rec.SEGMENT10 := m_Item_rec.SEGMENT10;
2177 l_update_child_rec := TRUE;
2178 END IF;
2179 ELSIF ( l_Attribute_Code = 'SEGMENT11') THEN
2180 IF (NVL(l_Item_rec.SEGMENT11,'!') <> NVL(m_Item_rec.SEGMENT11,'!')) THEN
2181 l_Item_rec.SEGMENT11 := m_Item_rec.SEGMENT11 ;
2182 l_update_child_rec := TRUE;
2183 END IF;
2184 ELSIF ( l_Attribute_Code = 'SEGMENT12') THEN
2185 IF (NVL(l_Item_rec.SEGMENT12,'!') <> NVL(m_Item_rec.SEGMENT12,'!')) THEN
2186 l_Item_rec.SEGMENT12 := m_Item_rec.SEGMENT12 ;
2187 l_update_child_rec := TRUE;
2188 END IF;
2189 ELSIF ( l_Attribute_Code = 'SEGMENT13') THEN
2190 IF (NVL(l_Item_rec.SEGMENT13,'!') <> NVL(m_Item_rec.SEGMENT13,'!')) THEN
2191 l_Item_rec.SEGMENT13 := m_Item_rec.SEGMENT13 ;
2192 l_update_child_rec := TRUE;
2193 END IF;
2194 ELSIF ( l_Attribute_Code = 'SEGMENT14') THEN
2195 IF (NVL(l_Item_rec.SEGMENT14,'!') <> NVL(m_Item_rec.SEGMENT14,'!')) THEN
2196 l_Item_rec.SEGMENT14 := m_Item_rec.SEGMENT14;
2197 l_update_child_rec := TRUE;
2198 END IF;
2199 ELSIF ( l_Attribute_Code = 'SEGMENT15') THEN
2200 IF (NVL(l_Item_rec.SEGMENT15,'!') <> NVL(m_Item_rec.SEGMENT15,'!')) THEN
2201 l_Item_rec.SEGMENT15 := m_Item_rec.SEGMENT15 ;
2202 l_update_child_rec := TRUE;
2203 END IF;
2204 ELSIF ( l_Attribute_Code = 'SEGMENT16') THEN
2205 IF (NVL(l_Item_rec.SEGMENT16,'!') <> NVL(m_Item_rec.SEGMENT16,'!')) THEN
2206 l_Item_rec.SEGMENT16 := m_Item_rec.SEGMENT16 ;
2207 l_update_child_rec := TRUE;
2208 END IF;
2209 ELSIF ( l_Attribute_Code = 'SEGMENT17') THEN
2210 IF (NVL(l_Item_rec.SEGMENT17,'!') <> NVL(m_Item_rec.SEGMENT17,'!')) THEN
2211 l_Item_rec.SEGMENT17 := m_Item_rec.SEGMENT17 ;
2212 l_update_child_rec := TRUE;
2213 END IF;
2214 ELSIF ( l_Attribute_Code = 'SEGMENT18') THEN
2215 IF (NVL(l_Item_rec.SEGMENT18,'!') <> NVL(m_Item_rec.SEGMENT18,'!')) THEN
2216 l_Item_rec.SEGMENT18 := m_Item_rec.SEGMENT18 ;
2217 l_update_child_rec := TRUE;
2218 END IF;
2219 ELSIF ( l_Attribute_Code = 'SEGMENT19') THEN
2220 IF (NVL(l_Item_rec.SEGMENT19,'!') <> NVL(m_Item_rec.SEGMENT19,'!')) THEN
2221 l_Item_rec.SEGMENT19 := m_Item_rec.SEGMENT19 ;
2222 l_update_child_rec := TRUE;
2223 END IF;
2224 ELSIF ( l_Attribute_Code = 'SEGMENT20') THEN
2225 IF (NVL(l_Item_rec.SEGMENT20,'!') <> NVL(m_Item_rec.SEGMENT20,'!')) THEN
2226 l_Item_rec.SEGMENT20 := m_Item_rec.SEGMENT20 ;
2227 l_update_child_rec := TRUE;
2228 END IF;
2229 ELSIF ( l_Attribute_Code = 'DUAL_UOM_CONTROL') THEN
2230 IF (NVL(l_Item_rec.DUAL_UOM_CONTROL,-999999) <> NVL(m_Item_rec.DUAL_UOM_CONTROL,-999999)) THEN
2231 l_Item_rec.DUAL_UOM_CONTROL := m_Item_rec.DUAL_UOM_CONTROL;
2232 l_update_child_rec := TRUE;
2233 END IF;
2234 ELSIF ( l_Attribute_Code = 'SECONDARY_UOM_CODE') THEN
2235 IF (NVL(l_Item_rec.SECONDARY_UOM_CODE,'!') <> NVL(m_Item_rec.SECONDARY_UOM_CODE,'!')) THEN
2236 l_Item_rec.SECONDARY_UOM_CODE := m_Item_rec.SECONDARY_UOM_CODE;
2237 l_update_child_rec := TRUE;
2238 END IF;
2239 ELSIF ( l_Attribute_Code = 'DUAL_UOM_DEVIATION_HIGH') THEN
2240 IF (NVL(l_Item_rec.DUAL_UOM_DEVIATION_HIGH,-999999) <> NVL(m_Item_rec.DUAL_UOM_DEVIATION_HIGH,-999999)) THEN
2241 l_Item_rec.DUAL_UOM_DEVIATION_HIGH := m_Item_rec.DUAL_UOM_DEVIATION_HIGH;
2242 l_update_child_rec := TRUE;
2243 END IF;
2244 ELSIF ( l_Attribute_Code = 'DUAL_UOM_DEVIATION_LOW') THEN
2245 IF (NVL(l_Item_rec.DUAL_UOM_DEVIATION_LOW,-999999) <> NVL(m_Item_rec.DUAL_UOM_DEVIATION_LOW,-999999)) THEN
2246 l_Item_rec.DUAL_UOM_DEVIATION_LOW := m_Item_rec.DUAL_UOM_DEVIATION_LOW;
2247 l_update_child_rec := TRUE;
2248 END IF;
2249 ELSIF ( l_Attribute_Code = 'ALLOWED_UNITS_LOOKUP_CODE') THEN
2250 IF (NVL(l_Item_rec.ALLOWED_UNITS_LOOKUP_CODE,-999999) <> NVL(m_Item_rec.ALLOWED_UNITS_LOOKUP_CODE,-999999)) THEN
2251 l_Item_rec.ALLOWED_UNITS_LOOKUP_CODE := m_Item_rec.ALLOWED_UNITS_LOOKUP_CODE;
2252 l_update_child_rec := TRUE;
2253 END IF;
2254 ELSIF ( l_Attribute_Code = 'TRACKING_QUANTITY_IND') THEN
2255 IF NVL(l_Item_rec.TRACKING_QUANTITY_IND,'!') <> NVL(m_Item_rec.TRACKING_QUANTITY_IND,'!') THEN
2256 l_Item_rec.TRACKING_QUANTITY_IND := m_Item_rec.TRACKING_QUANTITY_IND;
2257 l_update_child_rec := TRUE;
2258 END IF;
2259 ELSIF ( l_Attribute_Code = 'ONT_PRICING_QTY_SOURCE') THEN
2260 IF (NVL(l_Item_rec.ONT_PRICING_QTY_SOURCE,'!') <> NVL(m_Item_rec.ONT_PRICING_QTY_SOURCE,'!')) THEN
2261 l_Item_rec.ONT_PRICING_QTY_SOURCE := m_Item_rec.ONT_PRICING_QTY_SOURCE;
2262 l_update_child_rec := TRUE;
2263 END IF;
2264 ELSIF ( l_Attribute_Code = 'SECONDARY_DEFAULT_IND') THEN
2265 IF (NVL(l_Item_rec.SECONDARY_DEFAULT_IND,'!') <> NVL(m_Item_rec.SECONDARY_DEFAULT_IND,'!')) THEN
2266 l_Item_rec.SECONDARY_DEFAULT_IND := m_Item_rec.SECONDARY_DEFAULT_IND;
2267 l_update_child_rec := TRUE;
2268 END IF;
2269
2270 --110
2271 ELSIF ( l_Attribute_Code = 'NEW_REVISION_CODE') THEN
2272 IF (NVL(l_Item_rec.NEW_REVISION_CODE,'!') <> NVL(m_Item_rec.NEW_REVISION_CODE,'!')) THEN
2273 l_Item_rec.NEW_REVISION_CODE := m_Item_rec.NEW_REVISION_CODE;
2274 l_update_child_rec := TRUE;
2275 END IF;
2276 ELSIF ( l_Attribute_Code = 'BASE_WARRANTY_SERVICE_ID') THEN
2277 IF (NVL(l_Item_rec.BASE_WARRANTY_SERVICE_ID,-999999) <> NVL(m_Item_rec.BASE_WARRANTY_SERVICE_ID,-999999)) THEN
2278 l_Item_rec.BASE_WARRANTY_SERVICE_ID := m_Item_rec.BASE_WARRANTY_SERVICE_ID;
2279 l_update_child_rec := TRUE;
2280 END IF;
2281 ELSIF ( l_Attribute_Code = 'PRIMARY_SPECIALIST_ID') THEN
2282 IF (NVL(l_Item_rec.PRIMARY_SPECIALIST_ID,-999999) <> NVL(m_Item_rec.PRIMARY_SPECIALIST_ID,-999999)) THEN
2283 l_Item_rec.PRIMARY_SPECIALIST_ID := m_Item_rec.PRIMARY_SPECIALIST_ID;
2284 l_update_child_rec := TRUE;
2285 END IF;
2286 ELSIF ( l_Attribute_Code = 'SECONDARY_SPECIALIST_ID') THEN
2287 IF (NVL(l_Item_rec.SECONDARY_SPECIALIST_ID,-999999) <> NVL(m_Item_rec.SECONDARY_SPECIALIST_ID,-999999)) THEN
2288 l_Item_rec.SECONDARY_SPECIALIST_ID := m_Item_rec.SECONDARY_SPECIALIST_ID;
2289 l_update_child_rec := TRUE;
2290 END IF;
2291 ELSIF ( l_Attribute_Code = 'SERVICEABLE_COMPONENT_FLAG') THEN
2292 IF (NVL(l_Item_rec.SERVICEABLE_COMPONENT_FLAG,'!') <> NVL(m_Item_rec.SERVICEABLE_COMPONENT_FLAG,'!')) THEN
2293 l_Item_rec.SERVICEABLE_COMPONENT_FLAG := m_Item_rec.SERVICEABLE_COMPONENT_FLAG;
2294 l_update_child_rec := TRUE;
2295 END IF;
2296 ELSIF ( l_Attribute_Code = 'SERVICEABLE_ITEM_CLASS_ID') THEN
2297 IF (NVL(l_Item_rec.SERVICEABLE_ITEM_CLASS_ID,-999999) <> NVL(m_Item_rec.SERVICEABLE_ITEM_CLASS_ID,-999999)) THEN
2298 l_Item_rec.SERVICEABLE_ITEM_CLASS_ID := m_Item_rec.SERVICEABLE_ITEM_CLASS_ID;
2299 l_update_child_rec := TRUE;
2300 END IF;
2301 ELSIF ( l_Attribute_Code = 'SERVICEABLE_PRODUCT_FLAG') THEN
2302 IF (NVL(l_Item_rec.SERVICEABLE_PRODUCT_FLAG,'!') <> NVL(m_Item_rec.SERVICEABLE_PRODUCT_FLAG,'!')) THEN
2303 l_Item_rec.SERVICEABLE_PRODUCT_FLAG := m_Item_rec.SERVICEABLE_PRODUCT_FLAG;
2304 l_update_child_rec := TRUE;
2305 END IF;
2306 ELSIF ( l_Attribute_Code = 'SERVICE_STARTING_DELAY') THEN
2307 IF (NVL(l_Item_rec.SERVICE_STARTING_DELAY,-999999) <> NVL(m_Item_rec.SERVICE_STARTING_DELAY,-999999)) THEN
2308 l_Item_rec.SERVICE_STARTING_DELAY := m_Item_rec.SERVICE_STARTING_DELAY;
2309 l_update_child_rec := TRUE;
2310 END IF;
2311
2312 --Process Manufacturing Attribute Group
2313 ELSIF ( l_Attribute_Code = 'RECIPE_ENABLED_FLAG') THEN
2314 IF (NVL(l_Item_rec.RECIPE_ENABLED_FLAG,'!') <> NVL(m_Item_rec.RECIPE_ENABLED_FLAG,'!')) THEN
2315 l_Item_rec.RECIPE_ENABLED_FLAG := m_Item_rec.RECIPE_ENABLED_FLAG;
2316 l_update_child_rec := TRUE;
2317 END IF;
2318 ELSIF ( l_Attribute_Code = 'CAS_NUMBER') THEN
2319 IF (NVL(l_Item_rec.CAS_NUMBER,'!') <> NVL(m_Item_rec.CAS_NUMBER,'!')) THEN
2320 l_Item_rec.CAS_NUMBER := m_Item_rec.CAS_NUMBER;
2321 l_update_child_rec := TRUE;
2322 END IF;
2323 ELSIF ( l_Attribute_Code = 'HAZARDOUS_MATERIAL_FLAG') THEN
2324 IF (NVL(l_Item_rec.HAZARDOUS_MATERIAL_FLAG,'!') <> NVL(m_Item_rec.HAZARDOUS_MATERIAL_FLAG,'!')) THEN
2325 l_Item_rec.HAZARDOUS_MATERIAL_FLAG := m_Item_rec.HAZARDOUS_MATERIAL_FLAG;
2326 l_update_child_rec := TRUE;
2327 END IF;
2328 ELSIF ( l_Attribute_Code = 'PROCESS_COSTING_ENABLED_FLAG') THEN
2329 IF (NVL(l_Item_rec.PROCESS_COSTING_ENABLED_FLAG,'!') <> NVL(m_Item_rec.PROCESS_COSTING_ENABLED_FLAG,'!')) THEN
2330 l_Item_rec.PROCESS_COSTING_ENABLED_FLAG := m_Item_rec.PROCESS_COSTING_ENABLED_FLAG;
2331 l_update_child_rec := TRUE;
2332 END IF;
2333 ELSIF ( l_Attribute_Code = 'PROCESS_EXECUTION_ENABLED_FLAG') THEN
2334 IF (NVL(l_Item_rec.PROCESS_EXECUTION_ENABLED_FLAG,'!') <> NVL(m_Item_rec.PROCESS_EXECUTION_ENABLED_FLAG,'!')) THEN
2335 l_Item_rec.PROCESS_EXECUTION_ENABLED_FLAG := m_Item_rec.PROCESS_EXECUTION_ENABLED_FLAG;
2336 l_update_child_rec := TRUE;
2337 END IF;
2338 ELSIF ( l_Attribute_Code = 'PROCESS_QUALITY_ENABLED_FLAG') THEN
2339 IF (NVL(l_Item_rec.PROCESS_QUALITY_ENABLED_FLAG,'!') <> NVL(m_Item_rec.PROCESS_QUALITY_ENABLED_FLAG,'!')) THEN
2340 l_Item_rec.PROCESS_QUALITY_ENABLED_FLAG := m_Item_rec.PROCESS_QUALITY_ENABLED_FLAG;
2341 l_update_child_rec := TRUE;
2342 END IF;
2343 ELSIF ( l_Attribute_Code = 'PROCESS_SUPPLY_LOCATOR_ID') THEN
2344 IF (NVL(l_Item_rec.PROCESS_SUPPLY_LOCATOR_ID,-999999) <> NVL(m_Item_rec.PROCESS_SUPPLY_LOCATOR_ID,-999999)) THEN
2345 l_Item_rec.PROCESS_SUPPLY_LOCATOR_ID := m_Item_rec.PROCESS_SUPPLY_LOCATOR_ID;
2346 l_update_child_rec := TRUE;
2347 END IF;
2348 ELSIF ( l_Attribute_Code = 'PROCESS_SUPPLY_SUBINVENTORY') THEN
2349 IF (NVL(l_Item_rec.PROCESS_SUPPLY_SUBINVENTORY,'!') <> NVL(m_Item_rec.PROCESS_SUPPLY_SUBINVENTORY,'!')) THEN
2350 l_Item_rec.PROCESS_SUPPLY_SUBINVENTORY := m_Item_rec.PROCESS_SUPPLY_SUBINVENTORY;
2351 l_update_child_rec := TRUE;
2352 END IF;
2353 ELSIF ( l_Attribute_Code = 'PROCESS_YIELD_LOCATOR_ID') THEN
2354 IF (NVL(l_Item_rec.PROCESS_YIELD_LOCATOR_ID,-999999) <> NVL(m_Item_rec.PROCESS_YIELD_LOCATOR_ID,-999999)) THEN
2355 l_Item_rec.PROCESS_YIELD_LOCATOR_ID := m_Item_rec.PROCESS_YIELD_LOCATOR_ID;
2356 l_update_child_rec := TRUE;
2357 END IF;
2358 ELSIF ( l_Attribute_Code = 'PROCESS_YIELD_SUBINVENTORY') THEN
2359 IF (NVL(l_Item_rec.PROCESS_YIELD_SUBINVENTORY,'!') <> NVL(m_Item_rec.PROCESS_YIELD_SUBINVENTORY,'!')) THEN
2360 l_Item_rec.PROCESS_YIELD_SUBINVENTORY := m_Item_rec.PROCESS_YIELD_SUBINVENTORY;
2361 l_update_child_rec := TRUE;
2362 END IF;
2363 -- Fix for Bug#6644711
2364 ELSIF ( l_Attribute_Code = 'DEFAULT_MATERIAL_STATUS_ID') THEN
2365 IF (NVL(l_Item_rec.DEFAULT_MATERIAL_STATUS_ID,-999999) <> NVL(m_Item_rec.DEFAULT_MATERIAL_STATUS_ID,-999999)) THEN
2366 l_Item_rec.DEFAULT_MATERIAL_STATUS_ID := m_Item_rec.DEFAULT_MATERIAL_STATUS_ID;
2367 l_update_child_rec := TRUE;
2368 END IF;
2369 --Start: 5365622
2370 ELSIF ( l_Attribute_Code = 'ITEM_TYPE') THEN
2371 IF (NVL(l_Item_rec.ITEM_TYPE,'!') <> NVL(m_Item_rec.ITEM_TYPE,'!')) THEN
2372 l_Item_rec.ITEM_TYPE := m_Item_rec.ITEM_TYPE;
2373 l_update_child_rec := TRUE;
2374 END IF;
2375 -- End: 5365622
2376
2377 -- Derived Service attribute columns get updated in INV_ITEM_API.Update_Item_Row.
2378 --ELSIF ( l_Attribute_Code = 'SERVICE_ITEM_FLAG' ) THEN
2379 -- l_Item_rec.SERVICE_ITEM_FLAG := m_Item_rec.SERVICE_ITEM_FLAG;
2380 --ELSIF ( l_Attribute_Code = 'VENDOR_WARRANTY_FLAG' ) THEN
2381 -- l_Item_rec.VENDOR_WARRANTY_FLAG := m_Item_rec.VENDOR_WARRANTY_FLAG;
2382 --ELSIF ( l_Attribute_Code = 'USAGE_ITEM_FLAG' ) THEN
2383 -- l_Item_rec.USAGE_ITEM_FLAG := m_Item_rec.USAGE_ITEM_FLAG;
2384 --
2385
2386 /*11.5.10 ELSIF ( l_Attribute_Code = 'SUBSCRIPTION_DEPEND_FLAG' ) THEN
2387 l_Item_rec.SUBSCRIPTION_DEPEND_FLAG := m_Item_rec.SUBSCRIPTION_DEPEND_FLAG;
2388 */
2389
2390 /*11.5.10 ELSIF ( l_Attribute_Code = 'SERV_IMPORTANCE_LEVEL' ) THEN
2391 l_Item_rec.SERV_IMPORTANCE_LEVEL := m_Item_rec.SERV_IMPORTANCE_LEVEL;
2392 */
2393 ELSIF ( l_Attribute_Code = 'DESC_FLEX' ) THEN
2394 --------------------------------------------------------------------------
2395 -- Currently only Org control level is allowed for descriptive flexfield.
2396 -- When Master control is allowed, add logic to copy ATTRIBUTE[1-15].
2397 --------------------------------------------------------------------------
2398 NULL;
2399 ELSIF ( l_Attribute_Code = 'GLOBAL_DESC_FLEX' ) THEN
2400 NULL;
2401
2402 ELSE
2403 --------------------------
2404 -- Invalid attribute code
2405 --------------------------
2406 x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
2407
2408 FND_MESSAGE.Set_Name ('INV', 'INV_INVALID_ATTRIBUTE_CODE');
2409 FND_MESSAGE.Set_Token ('PACKAGE_NAME', G_PKG_NAME);
2410 FND_MESSAGE.Set_Token ('PROCEDURE_NAME', l_api_name);
2411 FND_MESSAGE.Set_Token ('ATTRIBUTE_CODE', l_Attribute_Code);
2412 FND_MSG_PUB.Add;
2413 -- RETURN;
2414 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
2415
2416 END IF; -- ( l_Attribute_Code = ... )
2417
2418 -- Copy attributes done by code above.
2419 /*
2420 INV_ITEM_Lib.copy_Attribute
2421 (
2422 p_Attribute_Code => l_Attribute_Code
2423 , p_Item_rec => m_Item_rec
2424 , x_Item_rec => l_Item_rec
2425 , x_return_status => l_return_status
2426 );
2427
2428 x_return_status := l_return_status;
2429 IF ( l_return_status = FND_API.g_RET_STS_ERROR ) THEN
2430 RAISE FND_API.g_EXC_ERROR;
2431 ELSIF ( l_return_status = FND_API.g_RET_STS_UNEXP_ERROR ) THEN
2432 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
2433 END IF;
2434 */
2435
2436 END LOOP; -- loop through item attributes
2437 l_Item_rec.OPTION_SPECIFIC_SOURCED := m_Item_rec.OPTION_SPECIFIC_SOURCED; --11.5.10
2438
2439 --bug 9944329 start, if status code has been changed in master org and status is controlled at master level
2440 --if the status attributes is under default value control/set value, need populate default value to org item
2441 if l_status_code_control_level = 1 and l_status_code_changed then
2442 OPEN org_status_attr_values_csr(m_Item_rec.INVENTORY_ITEM_STATUS_CODE);
2443 LOOP
2444 FETCH org_status_attr_values_csr INTO l_org_status_attribute_name, l_org_status_attribute_value, l_org_status_attribute_control;
2445 EXIT when org_status_attr_values_csr%NOTFOUND;
2446
2447 if l_org_status_attribute_name = 'MTL_SYSTEM_ITEMS.RECIPE_ENABLED_FLAG' and l_org_status_attribute_control <> 3 then
2448 l_Item_rec.RECIPE_ENABLED_FLAG := l_org_status_attribute_value;
2449 end if;
2450 if l_org_status_attribute_name = 'MTL_SYSTEM_ITEMS.PROCESS_EXECUTION_ENABLED_FLAG' and l_org_status_attribute_control <> 3 then
2451 if l_Item_rec.inventory_item_flag = 'N' or l_Item_rec.RECIPE_ENABLED_FLAG = 'N' then
2452 l_Item_rec.PROCESS_EXECUTION_ENABLED_FLAG := 'N';
2453 ELSE
2454 l_Item_rec.PROCESS_EXECUTION_ENABLED_FLAG := l_org_status_attribute_value;
2455 end if;
2456 end if;
2457
2458 END LOOP;
2459 CLOSE org_status_attr_values_csr;
2460 end if ;
2461 -- bug 16225442
2462 IF (NVL(l_Item_rec.SEGMENT1,'!') <> NVL(m_Item_rec.SEGMENT1,'!')) THEN
2463 l_Item_rec.SEGMENT1 := m_Item_rec.SEGMENT1;
2464 l_update_child_rec := TRUE;
2465 END IF;
2466
2467 IF (NVL(l_Item_rec.SEGMENT2,'!') <> NVL(m_Item_rec.SEGMENT2,'!')) THEN
2468 l_Item_rec.SEGMENT2 := m_Item_rec.SEGMENT2 ;
2469 l_update_child_rec := TRUE;
2470 END IF;
2471
2472 IF (NVL(l_Item_rec.SEGMENT3,'!') <> NVL(m_Item_rec.SEGMENT3,'!')) THEN
2473 l_Item_rec.SEGMENT3 := m_Item_rec.SEGMENT3;
2474 l_update_child_rec := TRUE;
2475 END IF;
2476
2477 IF (NVL(l_Item_rec.SEGMENT4,'!') <> NVL(m_Item_rec.SEGMENT4,'!')) THEN
2478 l_Item_rec.SEGMENT4 := m_Item_rec.SEGMENT4 ;
2479 l_update_child_rec := TRUE;
2480 END IF;
2481
2482 IF (NVL(l_Item_rec.SEGMENT5,'!') <> NVL(m_Item_rec.SEGMENT5,'!')) THEN
2483 l_Item_rec.SEGMENT5 := m_Item_rec.SEGMENT5 ;
2484 l_update_child_rec := TRUE;
2485 END IF;
2486
2487 IF (NVL(l_Item_rec.SEGMENT6,'!') <> NVL(m_Item_rec.SEGMENT6,'!')) THEN
2488 l_Item_rec.SEGMENT6 := m_Item_rec.SEGMENT6 ;
2489 l_update_child_rec := TRUE;
2490 END IF;
2491
2492 IF (NVL(l_Item_rec.SEGMENT7,'!') <> NVL(m_Item_rec.SEGMENT7,'!')) THEN
2493 l_Item_rec.SEGMENT7 := m_Item_rec.SEGMENT7 ;
2494 l_update_child_rec := TRUE;
2495 END IF;
2496
2497 IF (NVL(l_Item_rec.SEGMENT8,'!') <> NVL(m_Item_rec.SEGMENT8,'!')) THEN
2498 l_Item_rec.SEGMENT8 := m_Item_rec.SEGMENT8 ;
2499 l_update_child_rec := TRUE;
2500 END IF;
2501
2502 IF (NVL(l_Item_rec.SEGMENT9,'!') <> NVL(m_Item_rec.SEGMENT9,'!')) THEN
2503 l_Item_rec.SEGMENT9 := m_Item_rec.SEGMENT9 ;
2504 l_update_child_rec := TRUE;
2505 END IF;
2506
2507 IF (NVL(l_Item_rec.SEGMENT10,'!') <> NVL(m_Item_rec.SEGMENT10,'!')) THEN
2508 l_Item_rec.SEGMENT10 := m_Item_rec.SEGMENT10;
2509 l_update_child_rec := TRUE;
2510 END IF;
2511
2512 IF (NVL(l_Item_rec.SEGMENT11,'!') <> NVL(m_Item_rec.SEGMENT11,'!')) THEN
2513 l_Item_rec.SEGMENT11 := m_Item_rec.SEGMENT11 ;
2514 l_update_child_rec := TRUE;
2515 END IF;
2516
2517 IF (NVL(l_Item_rec.SEGMENT12,'!') <> NVL(m_Item_rec.SEGMENT12,'!')) THEN
2518 l_Item_rec.SEGMENT12 := m_Item_rec.SEGMENT12 ;
2519 l_update_child_rec := TRUE;
2520 END IF;
2521
2522 IF (NVL(l_Item_rec.SEGMENT13,'!') <> NVL(m_Item_rec.SEGMENT13,'!')) THEN
2523 l_Item_rec.SEGMENT13 := m_Item_rec.SEGMENT13 ;
2524 l_update_child_rec := TRUE;
2525 END IF;
2526
2527 IF (NVL(l_Item_rec.SEGMENT14,'!') <> NVL(m_Item_rec.SEGMENT14,'!')) THEN
2528 l_Item_rec.SEGMENT14 := m_Item_rec.SEGMENT14;
2529 l_update_child_rec := TRUE;
2530 END IF;
2531
2532 IF (NVL(l_Item_rec.SEGMENT15,'!') <> NVL(m_Item_rec.SEGMENT15,'!')) THEN
2533 l_Item_rec.SEGMENT15 := m_Item_rec.SEGMENT15 ;
2534 l_update_child_rec := TRUE;
2535 END IF;
2536
2537 IF (NVL(l_Item_rec.SEGMENT16,'!') <> NVL(m_Item_rec.SEGMENT16,'!')) THEN
2538 l_Item_rec.SEGMENT16 := m_Item_rec.SEGMENT16 ;
2539 l_update_child_rec := TRUE;
2540 END IF;
2541
2542 IF (NVL(l_Item_rec.SEGMENT17,'!') <> NVL(m_Item_rec.SEGMENT17,'!')) THEN
2543 l_Item_rec.SEGMENT17 := m_Item_rec.SEGMENT17 ;
2544 l_update_child_rec := TRUE;
2545 END IF;
2546
2547 IF (NVL(l_Item_rec.SEGMENT18,'!') <> NVL(m_Item_rec.SEGMENT18,'!')) THEN
2548 l_Item_rec.SEGMENT18 := m_Item_rec.SEGMENT18 ;
2549 l_update_child_rec := TRUE;
2550 END IF;
2551
2552 IF (NVL(l_Item_rec.SEGMENT19,'!') <> NVL(m_Item_rec.SEGMENT19,'!')) THEN
2553 l_Item_rec.SEGMENT19 := m_Item_rec.SEGMENT19 ;
2554 l_update_child_rec := TRUE;
2555 END IF;
2556
2557 IF (NVL(l_Item_rec.SEGMENT20,'!') <> NVL(m_Item_rec.SEGMENT20,'!')) THEN
2558 l_Item_rec.SEGMENT20 := m_Item_rec.SEGMENT20 ;
2559 l_update_child_rec := TRUE;
2560 END IF;
2561
2562 --bug 9944329 end
2563 -------------------------------------------
2564
2565 -- Copy WHO update column information
2566 IF l_update_child_rec = TRUE THEN
2567 l_Item_rec.LAST_UPDATE_DATE := m_Item_rec.LAST_UPDATE_DATE;
2568 l_Item_rec.LAST_UPDATED_BY := m_Item_rec.LAST_UPDATED_BY;
2569 l_Item_rec.LAST_UPDATE_LOGIN := m_Item_rec.LAST_UPDATE_LOGIN;
2570 END IF;
2571 -------------------------
2572 -- Org Item validation --
2573 -------------------------
2574
2575 /*
2576 INV_ITEM_PVT.Validate_Item
2577 (
2578 p_validation_level => p_validation_level
2579 , p_Item_rec => l_Item_rec
2580 , x_return_status => l_return_status
2581 , x_msg_count => x_msg_count
2582 , x_msg_data => x_msg_data
2583 );
2584 */
2585 OPEN org_parameters_csr(l_item_rec.organization_id);
2586 FETCH org_parameters_csr INTO l_process_enabled, l_wms_enabled,
2587 l_eam_enabled,l_primary_cost_method,
2588 l_trading_partner_org;
2589 CLOSE org_parameters_csr;
2590
2591 INVIDIT3.VMI_Table_Queries(
2592 P_org_id => l_Item_rec.organization_id
2593 , P_item_id => l_Item_rec.inventory_item_id
2594 , X_vmiorconsign_enabled => l_vmiorconsign_enabled
2595 , X_consign_enabled => l_consign_enabled
2596 );
2597
2598 IF (l_Item_rec.inventory_item_flag ='N' AND
2599 l_Item_rec.stock_enabled_flag ='Y' ) THEN
2600 fnd_message.SET_NAME('INV', 'INVALID_INV_STK_FLAG_COMB');
2601 FND_MSG_PUB.Add;
2602 l_return_status := FND_API.g_RET_STS_ERROR;
2603 ELSIF (l_Item_rec.stock_enabled_flag ='N' AND
2604 l_Item_rec.mtl_transactions_enabled_flag ='Y' )THEN
2605 fnd_message.SET_NAME('INV', 'INVALID_STK_TRX_FLAG_COMB');
2606 FND_MSG_PUB.Add;
2607 l_return_status := FND_API.g_RET_STS_ERROR;
2608 --added for bug 8575398, pop up exception when check_shortages_flag = Y and transactions_enabled_flag = N
2609 ELSIF (l_Item_rec.check_shortages_flag ='Y' AND
2610 l_Item_rec.mtl_transactions_enabled_flag ='N' )THEN
2611 fnd_message.SET_NAME('INV', 'INVALID_CHK_TRX_FLAG_COMB');
2612 FND_MSG_PUB.Add;
2613 l_return_status := FND_API.g_RET_STS_ERROR;
2614 ELSIF (l_Item_rec.purchasing_item_flag ='N' AND
2615 l_Item_rec.purchasing_enabled_flag ='Y' )THEN
2616 fnd_message.SET_NAME('INV', 'INVALID_PI_PE_FLAG_COMB');
2617 FND_MSG_PUB.Add;
2618 l_return_status := FND_API.g_RET_STS_ERROR;
2619 ELSIF (l_Item_rec.customer_order_flag ='N' AND
2620 l_Item_rec.customer_order_enabled_flag ='Y' )THEN
2621 fnd_message.SET_NAME('INV', 'INVALID_CO_COE_FLAG_COMB');
2622 FND_MSG_PUB.Add;
2623 l_return_status := FND_API.g_RET_STS_ERROR;
2624
2625 -- Added for Bug 5443289
2626 ELSIF (l_Item_rec.bom_item_type IN (3,5) AND
2627 l_Item_rec.customer_order_flag ='Y' )THEN
2628 fnd_message.SET_NAME('INV', 'INV_CUSTOMER');
2629 FND_MSG_PUB.Add;
2630 l_return_status := FND_API.g_RET_STS_ERROR;
2631 -- End of Bug 5443289
2632
2633 ELSIF (l_Item_rec.internal_order_flag ='N' AND
2634 l_Item_rec.internal_order_enabled_flag ='Y' )THEN
2635 fnd_message.SET_NAME('INV', 'INVALID_IO_IOE_FLAG_COMB');
2636 FND_MSG_PUB.Add;
2637 l_return_status := FND_API.g_RET_STS_ERROR;
2638 /** Bug: 3546140 Removed for PLM RBOM
2639 ELSIF (l_Item_rec.inventory_item_flag = 'N' AND
2640 l_Item_rec.contract_item_type_code IS NULL AND
2641 l_Item_rec.bom_enabled_flag = 'Y') THEN
2642 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2643 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_BOM_ENABLED', TRUE);
2644 FND_MSG_PUB.Add;
2645 l_return_status := FND_API.g_RET_STS_ERROR;
2646 ***/
2647 ELSIF ( ( l_item_rec.inventory_item_flag = 'N'
2648 OR l_item_rec.bom_item_type <> 4 )
2649 AND l_Item_rec.build_in_wip_flag ='Y' ) THEN
2650 FND_MESSAGE.Set_Name ('INV', 'INVALID_INV_WIP_FLAG_COMB');
2651 FND_MSG_PUB.Add;
2652 l_return_status := FND_API.g_RET_STS_ERROR;
2653
2654 ELSIF ( l_Item_rec.EFFECTIVITY_CONTROL = 2 ) AND
2655 ( l_Item_rec.SERIAL_NUMBER_CONTROL_CODE NOT IN (2, 5) ) THEN
2656 fnd_message.SET_NAME('INV', 'ITM-EFFC-INVALID SERIAL CTRL-2');
2657 FND_MSG_PUB.Add;
2658 l_return_status := FND_API.g_RET_STS_ERROR;
2659
2660 ELSIF (l_Item_rec.serviceable_product_flag = 'Y' AND
2661 nvl(l_Item_rec.comms_nl_trackable_flag,'N') = 'N') THEN
2662 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2663 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_IB_TRACKING_SERVICEABLE', TRUE);
2664 FND_MSG_PUB.Add;
2665 l_return_status := FND_API.g_RET_STS_ERROR;
2666 --Added for 11.5.10 validations
2667 ELSIF ( (l_vmiorconsign_enabled = 1 AND
2668 (NVL(l_Item_rec.outside_operation_flag,'N') = 'Y' OR
2669 l_Item_rec.eam_item_type IS NOT NULL OR
2670 NVL(l_Item_rec.mtl_transactions_enabled_flag,'N') = 'N' OR
2671 NVL(l_Item_rec.stock_enabled_flag,'N') = 'N'))
2672 OR
2673 (l_consign_enabled = 1 AND NVL(l_Item_rec.inventory_asset_flag,'N') = 'N')
2674 ) THEN
2675 fnd_message.SET_NAME ('INV', 'INV_INVALID_VMI_COMB');
2676 FND_MSG_PUB.Add;
2677 l_return_status := FND_API.g_RET_STS_ERROR;
2678
2679 /* R12 Attribute validations -Anmurali */
2680 /* Inventory Attribute Group */
2681
2682 /* Changing this validation to exclude Process Org check -Bug 4902120 */
2683 /*Comment the code to fix 7477872
2684 ELSIF ((l_item_rec.bom_enabled_flag = 'Y' OR l_item_rec.bom_item_type IN (1,2)) AND
2685 l_item_rec.tracking_quantity_ind = 'PS') THEN
2686 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2687 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_TRACKING_OPM_BOM_ATTR', TRUE);
2688 FND_MSG_PUB.Add;
2689 l_return_status := FND_API.g_RET_STS_ERROR;
2690
2691 ELSIF ( l_item_rec.lot_control_code = 1 AND l_item_rec.grade_control_flag = 'Y' ) THEN
2692 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2693 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_INVALID_GRADE_CONTROL', TRUE);
2694 FND_MSG_PUB.Add;
2695 l_return_status := FND_API.g_RET_STS_ERROR;
2696 */
2697
2698 ELSIF ( l_item_rec.grade_control_flag = 'N' AND l_item_rec.default_grade IS NOT NULL ) THEN
2699 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2700 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_INVALID_DEFAULT_GRADE_NULL', TRUE);
2701 FND_MSG_PUB.Add;
2702 l_return_status := FND_API.g_RET_STS_ERROR;
2703 /* Bug #14232952, clear dependent field automatically if LOT CONTROL is NO CONTROL
2704 ELSIF ( l_item_rec.lot_control_code = 1 AND l_item_rec.lot_divisible_flag = 'Y' ) THEN
2705 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2706 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_INVALID_LOT_DIVISIBLE', TRUE);
2707 FND_MSG_PUB.Add;
2708 l_return_status := FND_API.g_RET_STS_ERROR;
2709 */
2710 ELSIF ( l_item_rec.lot_control_code = 1 AND l_item_rec.lot_split_enabled = 'Y' ) THEN
2711 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2712 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_INVALID_LOT_SPLIT_ENABLED', TRUE);
2713 FND_MSG_PUB.Add;
2714 l_return_status := FND_API.g_RET_STS_ERROR;
2715
2716 ELSIF ( l_item_rec.lot_control_code = 1 AND l_item_rec.child_lot_flag = 'Y' ) THEN
2717 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2718 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_INVALID_CHILD_LOT_FLAG', TRUE);
2719 FND_MSG_PUB.Add;
2720 l_return_status := FND_API.g_RET_STS_ERROR;
2721
2722 /* Asset Management Attribute Group */
2723
2724 ELSIF (( l_item_rec.eam_item_type = 1 OR
2725 (l_item_rec.eam_item_type = 3 AND l_item_rec.serial_number_control_code <> 1 )) AND
2726 NVL(l_item_rec.comms_nl_trackable_flag , 'N') <> 'Y') THEN
2727 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2728 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_EAM_IB_TRACKABLE', TRUE);
2729 FND_MSG_PUB.Add;
2730 l_return_status := FND_API.g_RET_STS_ERROR;
2731
2732 ELSIF ( l_item_rec.eam_item_type = 2 AND l_item_rec.serial_number_control_code <> 1 ) THEN
2733 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2734 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_EAM_ACTIVITY_NEVER_SERIAL', TRUE);
2735 FND_MSG_PUB.Add;
2736 l_return_status := FND_API.g_RET_STS_ERROR;
2737
2738 ELSIF ( l_item_rec.eam_item_type = 1 AND l_item_rec.serial_number_control_code NOT IN (2,5) ) THEN
2739 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2740 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_EAM_ASSET_GRP_NO_SERIAL', TRUE);
2741 FND_MSG_PUB.Add;
2742 l_return_status := FND_API.g_RET_STS_ERROR;
2743
2744 ELSIF ( l_item_rec.eam_item_type = 1 AND l_item_rec.effectivity_control <> 2 ) THEN
2745 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2746 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_EAM_ASSET_UNIT_CONTROL', TRUE);
2747 FND_MSG_PUB.Add;
2748 l_return_status := FND_API.g_RET_STS_ERROR;
2749
2750 /* Purchasing Attribute Group */
2751
2752 ELSIF ( l_item_rec.purchasing_tax_code IS NOT NULL AND
2753 NVL(l_item_rec.taxable_flag,'N') <> 'Y') THEN
2754 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2755 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_NOT_TAXABLE_ITEM', TRUE);
2756 FND_MSG_PUB.Add;
2757 l_return_status := FND_API.g_RET_STS_ERROR;
2758
2759 --
2760 -- bug 13822871.
2761 -- The restriction on EAM and WMS enabled orgs has to be relaxed
2762 --
2763 -- ELSIF ( l_item_rec.outsourced_assembly = 1 AND
2764 -- (l_process_enabled = 'Y' OR l_wms_enabled = 'Y' OR l_eam_enabled = 'Y') ) THEN
2765 ELSIF ( l_item_rec.outsourced_assembly = 1 AND
2766 (l_process_enabled = 'Y') ) THEN
2767 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2768 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_OS_ASMBLY_INVALID_ORG', TRUE);
2769 FND_MSG_PUB.Add;
2770 l_return_status := FND_API.g_RET_STS_ERROR;
2771
2772 ELSIF ( NVL(l_item_rec.release_time_fence_code,6) <> 7 AND
2773 NVL(l_trading_partner_org,'N') = 'Y' AND
2774 l_item_rec.outsourced_assembly = 1 ) THEN
2775 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2776 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_OS_ASMBLY_TP_TIME_FENSE', TRUE);
2777 FND_MSG_PUB.Add;
2778 l_return_status := FND_API.g_RET_STS_ERROR;
2779 -- Fix for bug#6447581
2780 -- ELSIF ( l_item_rec.outsourced_assembly = 1 AND l_primary_cost_method <> 1) THEN
2781 -- fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2782 -- fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_OS_ASMBLY_STD_COST_ORG', TRUE);
2783 -- FND_MSG_PUB.Add;
2784 -- l_return_status := FND_API.g_RET_STS_ERROR;
2785
2786 ELSIF ( l_item_rec.outsourced_assembly = 1 AND
2787 NOT(l_item_rec.bom_item_type = 4 AND l_item_rec.effectivity_control = 1) ) THEN
2788 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2789 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_OS_ASMBLY_INVALID_BOM_ATTR', TRUE);
2790 FND_MSG_PUB.Add;
2791 l_return_status := FND_API.g_RET_STS_ERROR;
2792
2793 ELSIF ( l_item_rec.outsourced_assembly = 1 AND l_item_rec.outside_operation_flag = 'Y') THEN
2794 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2795 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_OS_ASMBLY_OUTSIDE_OPRN', TRUE);
2796 FND_MSG_PUB.Add;
2797 l_return_status := FND_API.g_RET_STS_ERROR;
2798
2799 ELSIF ( l_item_rec.outsourced_assembly = 1 AND
2800 ( /*l_item_rec.internal_order_flag ='Y' OR l_item_rec.internal_order_enabled_flag = 'Y' OR*/-- Bug 9246127
2801 l_item_rec.pick_components_flag = 'Y' OR l_item_rec.replenish_to_order_flag = 'Y' ) ) THEN
2802 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2803 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_OS_ASMBLY_INVALID_OM_ATTR', TRUE);
2804 FND_MSG_PUB.Add;
2805 l_return_status := FND_API.g_RET_STS_ERROR;
2806
2807 /* General Planning Attribute Group */
2808
2809 ELSIF ( l_item_rec.mrp_safety_stock_code <> 1 AND
2810 l_item_rec.drp_planned_flag = 2 AND
2811 /* modified from in (6,9) to = 6 for bug 9838290 to keep align with INVIDITM forms validation*/
2812 l_item_rec.mrp_planning_code = 6 ) THEN
2813 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2814 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_SAFETY_STOCK', TRUE);
2815 FND_MSG_PUB.Add;
2816 l_return_status := FND_API.g_RET_STS_ERROR;
2817
2818 --
2819 -- bug 13822871.
2820 -- The restriction on EAM and WMS enabled orgs has to be relaxed
2821 --
2822 -- ELSIF ( l_item_rec.subcontracting_component IN (2,3) AND
2823 -- (NOT (l_process_enabled = 'N' AND
2824 -- l_wms_enabled = 'N' AND
2825 -- l_eam_enabled = 'N' ) ) ) THEN
2826 ELSIF ( l_item_rec.subcontracting_component IN (2,3) AND
2827 (NOT (l_process_enabled = 'N') ) ) THEN
2828 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2829 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_OS_ASMBLY_INVALID_ORG', TRUE);
2830 FND_MSG_PUB.Add;
2831 l_return_status := FND_API.g_RET_STS_ERROR;
2832
2833 ELSIF ( l_item_rec.subcontracting_component IN (2,3) AND l_primary_cost_method <> 1 ) THEN
2834 fnd_message.SET_NAME ('INV', 'INV_ITEM_MASTER_CTRL_ATTR_ERR');
2835 fnd_message.SET_TOKEN ('ERROR_MESSAGE_NAME', 'INV_OS_ASMBLY_STD_COST_ORG', TRUE);
2836 FND_MSG_PUB.Add;
2837 l_return_status := FND_API.g_RET_STS_ERROR;
2838
2839 END IF;
2840
2841 /* Invoicing Attribute Group */
2842 --* Added for Bug 5207014
2843
2844 IF l_Item_rec.TAX_CODE IS NOT NULL THEN
2845 BEGIN
2846 /* Fix for bug 7162580- Tax Codes are stored at O.U. level, so added a subquery
2847 to fetch the operating_unit */
2848 /*Bug 6843376 Modified the query which fetch the Operating unit */
2849 SELECT 1 INTO l_exists
2850 FROM ZX_OUTPUT_CLASSIFICATIONS_V
2851 WHERE lookup_code = l_item_rec.TAX_CODE
2852 AND enabled_flag = 'Y'
2853 AND SYSDATE BETWEEN NVL(start_date_active, SYSDATE) and NVL(end_date_active, SYSDATE)
2854 AND org_id IN (-99, (SELECT org_information3 FROM hr_organization_information
2855 WHERE ( ORG_INFORMATION_CONTEXT || '') ='Accounting Information'
2856 AND ORGANIZATION_ID=l_Item_rec.organization_id))
2857 AND rownum = 1;
2858 EXCEPTION
2859 WHEN NO_DATA_FOUND THEN
2860 fnd_message.SET_NAME('INV', 'INV_IOI_INVALID_TAX_CODE_ORG');
2861 FND_MSG_PUB.Add;
2862 l_return_status := FND_API.g_RET_STS_ERROR;
2863 END;
2864 END IF;
2865 --* End of Bug 5207014
2866
2867 IF l_Item_rec.PURCHASING_TAX_CODE IS NOT NULL THEN
2868 BEGIN
2869 /* Fix for bug 7162580- Tax Codes are stored at O.U. level, so added a subquery
2870 to fetch the operating_unit */
2871 /*Bug 6843376 Modified the query which fetch the Operating unit */
2872 SELECT 1 INTO l_exists
2873 FROM ZX_INPUT_CLASSIFICATIONS_V
2874 WHERE nvl(tax_type,'X') not in ('AWT','OFFSET') --Modified to fix bug 7588091
2875 AND enabled_flag = 'Y'
2876 AND sysdate between start_date_active and nvl(end_date_active,sysdate)
2877 AND lookup_code = l_Item_rec.PURCHASING_TAX_CODE
2878 AND org_id IN (-99, (SELECT org_information3 FROM hr_organization_information
2879 WHERE ( ORG_INFORMATION_CONTEXT || '') ='Accounting Information'
2880 AND ORGANIZATION_ID=l_Item_rec.organization_id))
2881 AND rownum = 1;
2882 EXCEPTION
2883 WHEN NO_DATA_FOUND THEN
2884 fnd_message.SET_NAME('INV', 'INV_IOI_PUR_TAX_CODE');
2885 FND_MSG_PUB.Add;
2886 l_return_status := FND_API.g_RET_STS_ERROR;
2887 END;
2888 END IF;
2889
2890
2891 -- Check for errors
2892 IF ( l_return_status = FND_API.g_RET_STS_ERROR ) THEN
2893 RAISE FND_API.g_EXC_ERROR;
2894 ELSIF ( l_return_status = FND_API.g_RET_STS_UNEXP_ERROR ) THEN
2895 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
2896 END IF;
2897
2898 ---------------------------------
2899 -- Update current org item row --
2900 ---------------------------------
2901 IF l_update_child_rec = TRUE THEN
2902 Set_Is_Master_Attr_Modified('Y'); /*Bug 6407303, Set the parameter */
2903 INV_ITEM_API.Update_Item_Row
2904 (
2905 p_Item_rec => l_Item_rec
2906 , p_update_Item_TL => l_update_Item_TL
2907 , p_Lang_Flag => l_Lang_Flag
2908 , x_return_status => l_return_status
2909 );
2910 END IF;
2911 END LOOP; -- loop through org items
2912 ------------------------------------
2913
2914 END IF; -- p_Org is master
2915 ----------------------------------- p_Org is master ---
2916
2917 CLOSE INV_ITEM_API.Item_csr;
2918
2919 IF ( FND_API.to_Boolean (p_commit) ) THEN
2920 COMMIT WORK;
2921 END IF;
2922
2923 FND_MSG_PUB.Count_And_Get
2924 ( p_count => x_msg_count
2925 , p_data => x_msg_data
2926 );
2927
2928 EXCEPTION
2929
2930 WHEN FND_API.g_EXC_ERROR THEN
2931
2932 IF ( INV_ITEM_API.Item_csr%ISOPEN ) THEN
2933 CLOSE INV_ITEM_API.Item_csr;
2934 END IF;
2935
2936 ROLLBACK TO Update_Org_Items_PVT;
2937 x_return_status := FND_API.g_RET_STS_ERROR;
2938 FND_MSG_PUB.Count_And_Get
2939 ( p_count => x_msg_count
2940 , p_data => x_msg_data
2941 );
2942
2943 WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
2944
2945 IF ( INV_ITEM_API.Item_csr%ISOPEN ) THEN
2946 CLOSE INV_ITEM_API.Item_csr;
2947 END IF;
2948
2949 ROLLBACK TO Update_Org_Items_PVT;
2950 x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
2951 FND_MSG_PUB.Count_And_Get
2952 ( p_count => x_msg_count
2953 , p_data => x_msg_data
2954 );
2955
2956 WHEN others THEN
2957
2958 IF ( INV_ITEM_API.Item_csr%ISOPEN ) THEN
2959 CLOSE INV_ITEM_API.Item_csr;
2960 END IF;
2961
2962 ROLLBACK TO Update_Org_Items_PVT;
2963 x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
2964
2965 IF FND_MSG_PUB.Check_Msg_Level
2966 ( FND_MSG_PUB.g_MSG_LVL_UNEXP_ERROR )
2967 THEN
2968 FND_MSG_PUB.Add_Exc_Msg
2969 ( p_pkg_name => G_PKG_NAME
2970 , p_procedure_name => l_api_name
2971 , p_error_text => 'UNEXP_ERROR : ' || SQLERRM
2972 );
2973 END IF;
2974
2975 FND_MSG_PUB.Count_And_Get
2976 ( p_count => x_msg_count
2977 , p_data => x_msg_data
2978 );
2979
2980 END Update_Org_Items;
2981
2982
2983 /*------------------------------- Get_Org_Item -------------------------------*/
2984
2985 PROCEDURE Get_Org_Item
2986 (
2987 p_init_msg_list IN VARCHAR2 := FND_API.g_FALSE
2988 , p_Item_ID IN NUMBER
2989 , p_Org_ID IN NUMBER
2990 , p_Language IN VARCHAR2 := FND_API.g_MISS_CHAR
2991 , x_Item_rec OUT NOCOPY INV_ITEM_API.Item_rec_type
2992 , x_return_status OUT NOCOPY VARCHAR2
2993 , x_msg_count OUT NOCOPY NUMBER
2994 , x_msg_data OUT NOCOPY VARCHAR2
2995 )
2996 IS
2997 l_api_name CONSTANT VARCHAR2(30) := 'Get_Org_Item';
2998 /*
2999 l_Item_ID NUMBER ;
3000 l_Org_ID NUMBER ;
3001
3002 l_return_status VARCHAR2(1) ;
3003 */
3004 BEGIN
3005
3006 -- Initialize message list
3007 --
3008 IF ( FND_API.to_Boolean (p_init_msg_list) ) THEN
3009 FND_MSG_PUB.Initialize;
3010 END IF;
3011
3012 -- Initialize API return status to success
3013 --
3014 x_return_status := FND_API.g_RET_STS_SUCCESS;
3015
3016 IF ( p_Item_ID IS NULL ) OR
3017 ( p_Org_ID IS NULL )
3018 THEN
3019 x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
3020 fnd_message.SET_NAME( 'INV', 'INV_MISS_OrgItem_ID' );
3021 FND_MSG_PUB.Add;
3022 RETURN;
3023 END IF;
3024
3025 /*
3026 -- Get the translation row
3027 --
3028 IF ( p_Language <> FND_API.g_MISS_CHAR ) THEN
3029
3030 END IF;
3031 */
3032
3033 -----------------------------------
3034 -- Open item query on base table --
3035 -----------------------------------
3036
3037 OPEN INV_ITEM_API.Item_csr
3038 (
3039 p_Item_ID => p_Item_ID
3040 , p_Org_ID => p_Org_ID
3041 , p_fetch_Master => FND_API.g_TRUE
3042 , p_fetch_Orgs => FND_API.g_FALSE
3043 );
3044
3045 -- Fetch org item row
3046 --
3047 FETCH INV_ITEM_API.Item_csr INTO x_Item_rec;
3048
3049 IF ( INV_ITEM_API.Item_csr%NOTFOUND ) THEN
3050 CLOSE INV_ITEM_API.Item_csr;
3051 fnd_message.SET_NAME( 'INV', 'INV_Get_Org_Item_notfound' );
3052 FND_MSG_PUB.Add;
3053 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
3054 END IF;
3055
3056 CLOSE INV_ITEM_API.Item_csr;
3057
3058 FND_MSG_PUB.Count_And_Get
3059 ( p_count => x_msg_count
3060 , p_data => x_msg_data
3061 );
3062
3063 EXCEPTION
3064
3065 WHEN FND_API.g_EXC_ERROR THEN
3066
3067 IF ( INV_ITEM_API.Item_csr%ISOPEN ) THEN
3068 CLOSE INV_ITEM_API.Item_csr;
3069 END IF;
3070
3071 x_return_status := FND_API.g_RET_STS_ERROR;
3072 FND_MSG_PUB.Count_And_Get
3073 ( p_count => x_msg_count
3074 , p_data => x_msg_data
3075 );
3076
3077 WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
3078
3079 IF ( INV_ITEM_API.Item_csr%ISOPEN ) THEN
3080 CLOSE INV_ITEM_API.Item_csr;
3081 END IF;
3082
3083 x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
3084 FND_MSG_PUB.Count_And_Get
3085 ( p_count => x_msg_count
3086 , p_data => x_msg_data
3087 );
3088
3089 WHEN others THEN
3090
3091 IF ( INV_ITEM_API.Item_csr%ISOPEN ) THEN
3092 CLOSE INV_ITEM_API.Item_csr;
3093 END IF;
3094
3095 x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
3096
3097 IF FND_MSG_PUB.Check_Msg_Level
3098 ( FND_MSG_PUB.g_MSG_LVL_UNEXP_ERROR )
3099 THEN
3100 FND_MSG_PUB.Add_Exc_Msg
3101 ( p_pkg_name => G_PKG_NAME
3102 , p_procedure_name => l_api_name
3103 -- , p_error_text => 'UNEXP_ERROR : '
3104 );
3105 END IF;
3106
3107 FND_MSG_PUB.Count_And_Get
3108 ( p_count => x_msg_count
3109 , p_data => x_msg_data
3110 );
3111
3112 END Get_Org_Item;
3113
3114
3115 /*------------------------------ Validate_Item -------------------------------*/
3116
3117
3118 -- Item record validation is currently performed within Update_Org_Items.
3119
3120 /*
3121 PROCEDURE Validate_Item
3122 (
3123 p_validation_level IN NUMBER := FND_API.g_VALID_LEVEL_FULL
3124 , p_Item_rec IN INV_ITEM_API.Item_rec_type
3125 , x_return_status OUT NOCOPY VARCHAR2
3126 , x_msg_count OUT NOCOPY NUMBER
3127 , x_msg_data OUT NOCOPY VARCHAR2
3128 )
3129 IS
3130 l_api_name CONSTANT VARCHAR2(30) := 'Validate_Item';
3131
3132 l_Item_rec INV_ITEM_API.Item_rec_type ;
3133 l_Item_ID NUMBER ;
3134 l_Org_ID NUMBER ;
3135
3136 l_return_status VARCHAR2(1) ;
3137 BEGIN
3138
3139 l_Item_ID := p_Item_rec.INVENTORY_ITEM_ID ;
3140 l_Org_ID := p_Item_rec.ORGANIZATION_ID ;
3141
3142 -- Initialize API return status to success
3143 --
3144 x_return_status := FND_API.g_RET_STS_SUCCESS;
3145
3146 IF ( l_Item_ID IS NULL ) OR
3147 ( l_Org_ID IS NULL )
3148 THEN
3149 x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
3150 fnd_message.SET_NAME( 'INV', 'INV_MISS_OrgItem_ID' );
3151 FND_MSG_PUB.Add;
3152 RETURN;
3153 END IF;
3154
3155 --
3156 -- Validate Dependency attributes
3157 --
3158
3159 INV_ITEM_Validation.Attribute_Dependency
3160 (
3161 p_Item_rec => p_Item_rec
3162 , x_return_status => l_return_status
3163 );
3164
3165 -- Raise an error as soon as the first fault is encountered
3166
3167 IF ( l_return_status = FND_API.g_RET_STS_ERROR ) THEN
3168 RAISE FND_API.g_EXC_ERROR;
3169 ELSIF ( l_return_status = FND_API.g_RET_STS_UNEXP_ERROR ) THEN
3170 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
3171 END IF;
3172
3173 --
3174 -- Validate Effectivity_Control attribute
3175 --
3176
3177 INV_ITEM_Validation.Effectivity_Control
3178 (
3179 p_Item_rec => p_Item_rec
3180 , x_return_status => l_return_status
3181 );
3182
3183 IF ( l_return_status = FND_API.g_RET_STS_ERROR ) THEN
3184 RAISE FND_API.g_EXC_ERROR;
3185 ELSIF ( l_return_status = FND_API.g_RET_STS_UNEXP_ERROR ) THEN
3186 RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
3187 END IF;
3188
3189 --
3190 --
3191
3192 FND_MSG_PUB.Count_And_Get
3193 ( p_count => x_msg_count
3194 , p_data => x_msg_data
3195 );
3196
3197 EXCEPTION
3198
3199 WHEN FND_API.g_EXC_ERROR THEN
3200 x_return_status := FND_API.g_RET_STS_ERROR;
3201 FND_MSG_PUB.Count_And_Get
3202 ( p_count => x_msg_count
3203 , p_data => x_msg_data
3204 );
3205
3206 WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
3207 x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
3208 FND_MSG_PUB.Count_And_Get
3209 ( p_count => x_msg_count
3210 , p_data => x_msg_data
3211 );
3212
3213 WHEN OTHERS THEN
3214 x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
3215
3216 IF FND_MSG_PUB.Check_Msg_Level
3217 ( FND_MSG_PUB.g_MSG_LVL_UNEXP_ERROR )
3218 THEN
3219 FND_MSG_PUB.Add_Exc_Msg
3220 ( p_pkg_name => G_PKG_NAME
3221 , p_procedure_name => l_api_name
3222 -- , p_error_text => 'UNEXP_ERROR : XXX'
3223 );
3224 END IF;
3225
3226 FND_MSG_PUB.Count_And_Get
3227 ( p_count => x_msg_count
3228 , p_data => x_msg_data
3229 );
3230
3231 END Validate_Item;
3232 */
3233
3234 PROCEDURE get_segments_string(
3235 P_Segment_Rec IN INV_ITEM_API.Item_rec_type
3236 ,P_Segment_String OUT NOCOPY VARCHAR2)
3237 IS
3238 l_segment_string VARCHAR2(2000) := NULL ;
3239 BEGIN
3240
3241 IF P_Segment_Rec.segment1 IS NOT NULL THEN
3242 l_segment_string := l_segment_string || ' AND MSI.SEGMENT1 = '''|| REPLACE(P_Segment_Rec.segment1,'''','''''') ||'''';
3243 ELSE
3244 l_segment_string := l_segment_string || ' AND MSI.SEGMENT1 is NULL';
3245 END IF;
3246 IF P_Segment_Rec.segment2 IS NOT NULL THEN
3247 l_segment_string := l_segment_string || ' AND MSI.SEGMENT2 = '''|| REPLACE(P_Segment_Rec.segment2,'''','''''')||'''';
3248 ELSE
3249 l_segment_string := l_segment_string || ' AND MSI.SEGMENT2 is NULL';
3250 END IF;
3251 IF P_Segment_Rec.segment3 IS NOT NULL THEN
3252 l_segment_string := l_segment_string || ' AND MSI.SEGMENT3 = '''|| REPLACE(P_Segment_Rec.segment3,'''','''''') ||'''';
3253 ELSE
3254 l_segment_string := l_segment_string || ' AND MSI.SEGMENT3 is NULL';
3255 END IF;
3256 IF P_Segment_Rec.segment4 IS NOT NULL THEN
3257 l_segment_string := l_segment_string || ' AND MSI.SEGMENT4 = '''|| REPLACE(P_Segment_Rec.segment4,'''','''''') ||'''';
3258 ELSE
3259 l_segment_string := l_segment_string || ' AND MSI.SEGMENT4 is NULL';
3260 END IF;
3261 IF P_Segment_Rec.segment5 IS NOT NULL THEN
3262 l_segment_string := l_segment_string || ' AND MSI.SEGMENT5 = '''|| REPLACE(P_Segment_Rec.segment5,'''','''''') ||'''';
3263 ELSE
3264 l_segment_string := l_segment_string || ' AND MSI.SEGMENT5 is NULL';
3265 END IF;
3266 IF P_Segment_Rec.segment6 IS NOT NULL THEN
3267 l_segment_string := l_segment_string || ' AND MSI.SEGMENT6 = '''|| REPLACE(P_Segment_Rec.segment6,'''','''''') ||'''';
3268 ELSE
3269 l_segment_string := l_segment_string || ' AND MSI.SEGMENT6 is NULL';
3270 END IF;
3271 IF P_Segment_Rec.segment7 IS NOT NULL THEN
3272 l_segment_string := l_segment_string || ' AND MSI.SEGMENT7 = '''|| REPLACE(P_Segment_Rec.segment7,'''','''''') ||'''';
3273 ELSE
3274 l_segment_string := l_segment_string || ' AND MSI.SEGMENT7 is NULL';
3275 END IF;
3276 IF P_Segment_Rec.segment8 IS NOT NULL THEN
3277 l_segment_string := l_segment_string || ' AND MSI.SEGMENT8 = '''|| REPLACE(P_Segment_Rec.segment8,'''','''''') ||'''';
3278 ELSE
3279 l_segment_string := l_segment_string || ' AND MSI.SEGMENT8 is NULL';
3280 END IF;
3281 IF P_Segment_Rec.segment9 IS NOT NULL THEN
3282 l_segment_string := l_segment_string || ' AND MSI.SEGMENT9 = '''|| REPLACE(P_Segment_Rec.segment9,'''','''''') ||'''';
3283 ELSE
3284 l_segment_string := l_segment_string || ' AND MSI.SEGMENT9 is NULL';
3285 END IF;
3286 IF P_Segment_Rec.segment10 IS NOT NULL THEN
3287 l_segment_string := l_segment_string || ' AND MSI.SEGMENT10 = '''|| REPLACE(P_Segment_Rec.segment10,'''','''''') ||'''';
3288 ELSE
3289 l_segment_string := l_segment_string || ' AND MSI.SEGMENT10 is NULL';
3290 END IF;
3291 IF P_Segment_Rec.segment11 IS NOT NULL THEN
3292 l_segment_string := l_segment_string || ' AND MSI.SEGMENT11 = '''|| REPLACE(P_Segment_Rec.segment11,'''','''''') ||'''';
3293 ELSE
3294 l_segment_string := l_segment_string || ' AND MSI.SEGMENT11 is NULL';
3295 END IF;
3296 IF P_Segment_Rec.segment12 IS NOT NULL THEN
3297 l_segment_string := l_segment_string || ' AND MSI.SEGMENT12 = '''|| REPLACE(P_Segment_Rec.segment12,'''','''''') ||'''';
3298 ELSE
3299 l_segment_string := l_segment_string || ' AND MSI.SEGMENT12 is NULL';
3300 END IF;
3301 IF P_Segment_Rec.segment13 IS NOT NULL THEN
3302 l_segment_string := l_segment_string || ' AND MSI.SEGMENT13 = '''|| REPLACE(P_Segment_Rec.segment13,'''','''''') ||'''';
3303 ELSE
3304 l_segment_string := l_segment_string || ' AND MSI.SEGMENT13 is NULL';
3305 END IF;
3306 IF P_Segment_Rec.segment14 IS NOT NULL THEN
3307 l_segment_string := l_segment_string || ' AND MSI.SEGMENT14 = '''|| REPLACE(P_Segment_Rec.segment14,'''','''''') ||'''';
3308 ELSE
3309 l_segment_string := l_segment_string || ' AND MSI.SEGMENT14 is NULL';
3310 END IF;
3311 IF P_Segment_Rec.segment15 IS NOT NULL THEN
3312 l_segment_string := l_segment_string || ' AND MSI.SEGMENT15 = '''||REPLACE(P_Segment_Rec.segment15,'''','''''') ||'''';
3313 ELSE
3314 l_segment_string := l_segment_string || ' AND MSI.SEGMENT15 is NULL';
3315 END IF;
3316 IF P_Segment_Rec.segment16 IS NOT NULL THEN
3317 l_segment_string := l_segment_string || ' AND MSI.SEGMENT16 = '''|| REPLACE(P_Segment_Rec.segment16,'''','''''') ||'''';
3318 ELSE
3319 l_segment_string := l_segment_string || ' AND MSI.SEGMENT16 is NULL';
3320 END IF;
3321 IF P_Segment_Rec.segment17 IS NOT NULL THEN
3322 l_segment_string := l_segment_string || ' AND MSI.SEGMENT17 = '''|| REPLACE(P_Segment_Rec.segment17,'''','''''') ||'''';
3323 ELSE
3324 l_segment_string := l_segment_string || ' AND MSI.SEGMENT17 is NULL';
3325 END IF;
3326 IF P_Segment_Rec.segment18 IS NOT NULL THEN
3327 l_segment_string := l_segment_string || ' AND MSI.SEGMENT18 = '''|| REPLACE(P_Segment_Rec.segment18,'''','''''') ||'''';
3328 ELSE
3329 l_segment_string := l_segment_string || ' AND MSI.SEGMENT18 is NULL';
3330 END IF;
3331 IF P_Segment_Rec.segment19 IS NOT NULL THEN
3332 l_segment_string := l_segment_string || ' AND MSI.SEGMENT19 = '''|| REPLACE(P_Segment_Rec.segment19,'''','''''') ||'''';
3333 ELSE
3334 l_segment_string := l_segment_string || ' AND MSI.SEGMENT19 is NULL';
3335 END IF;
3336 IF P_Segment_Rec.segment20 IS NOT NULL THEN
3337 l_segment_string := l_segment_string || ' AND MSI.SEGMENT20 = '''|| REPLACE(P_Segment_Rec.segment20,'''','''''') ||'''';
3338 ELSE
3339 l_segment_string := l_segment_string || ' AND MSI.SEGMENT20 is NULL';
3340 END IF;
3341
3342 P_Segment_String := l_segment_string;
3343
3344 END get_segments_string;
3345
3346
3347
3348 PROCEDURE Check_Item_Number (
3349 P_Segment_Rec IN INV_ITEM_API.Item_rec_type
3350 ,P_Item_Id IN OUT NOCOPY MTL_SYSTEM_ITEMS.INVENTORY_ITEM_ID%TYPE
3351 ,P_Description IN OUT NOCOPY MTL_SYSTEM_ITEMS.DESCRIPTION%TYPE
3352 ,P_unit_of_measure IN OUT NOCOPY MTL_SYSTEM_ITEMS.PRIMARY_UNIT_OF_MEASURE%TYPE
3353 ,P_Item_Catalog_Group_Id IN OUT NOCOPY MTL_SYSTEM_ITEMS.ITEM_CATALOG_GROUP_ID%TYPE)
3354 IS
3355
3356 l_sql_stmt VARCHAR2(3200);
3357 l_segments_string VARCHAR2(1000);
3358 l_cursor INTEGER := NULL;
3359 l_rows_processed INTEGER := NULL;
3360
3361 BEGIN
3362
3363 l_sql_stmt := 'SELECT INVENTORY_ITEM_ID,
3364 ITEM_CATALOG_GROUP_ID,
3365 PRIMARY_UNIT_OF_MEASURE,
3366 DESCRIPTION
3367 FROM MTL_SYSTEM_ITEMS_B_KFV MSI,
3368 MTL_PARAMETERS P
3369 WHERE MSI.ORGANIZATION_ID = P.ORGANIZATION_ID ';
3370
3371 get_segments_string(P_Segment_Rec => P_Segment_Rec
3372 ,P_Segment_String => l_segments_string);
3373
3374 IF (l_segments_string IS NOT NULL) THEN
3375 l_sql_stmt := l_sql_stmt || l_segments_string;
3376 END IF;
3377
3378 l_sql_stmt := l_sql_stmt || ' ORDER BY MSI.CREATION_DATE ';
3379
3380 l_cursor := DBMS_SQL.OPEN_CURSOR;
3381
3382 DBMS_SQL.PARSE( l_cursor, l_sql_stmt , DBMS_SQL.NATIVE );
3383 DBMS_SQL.DEFINE_COLUMN(l_cursor, 1, P_Item_Id);
3384 DBMS_SQL.DEFINE_COLUMN(l_cursor, 2, P_Item_Catalog_Group_Id);
3385 DBMS_SQL.DEFINE_COLUMN(l_cursor, 3, P_unit_of_measure,25);
3386 DBMS_SQL.DEFINE_COLUMN(l_cursor, 4, P_Description,240);
3387
3388 l_rows_processed := DBMS_SQL.EXECUTE(l_cursor);
3389
3390 IF ( DBMS_SQL.FETCH_ROWS(l_cursor) > 0 ) THEN
3391 DBMS_SQL.COLUMN_VALUE(l_cursor, 1, P_Item_Id);
3392 DBMS_SQL.COLUMN_VALUE(l_cursor, 2, P_Item_Catalog_Group_Id);
3393 DBMS_SQL.COLUMN_VALUE(l_cursor, 3, P_unit_of_measure);
3394 DBMS_SQL.COLUMN_VALUE(l_cursor, 4, P_Description);
3395 ELSE
3396 P_Item_Id := NULL;
3397 P_Description := NULL;
3398 P_unit_of_measure := NULL;
3399 P_Item_Catalog_Group_Id := NULL;
3400 END IF;
3401
3402 DBMS_SQL.CLOSE_CURSOR(l_cursor);
3403
3404 EXCEPTION
3405 WHEN OTHERS THEN
3406 IF DBMS_SQL.IS_OPEN(l_cursor) THEN
3407 DBMS_SQL.CLOSE_CURSOR(l_cursor);
3408 END IF;
3409 RAISE;
3410 END Check_Item_Number;
3411
3412 PROCEDURE Insert_Row(P_Item_Rec IN INV_ITEM_API.Item_rec_type
3413 ,x_row_Id OUT NOCOPY ROWID)
3414 IS
3415
3416 CURSOR c_ego_exists IS
3417 SELECT 'Y'
3418 FROM FND_OBJECTS
3419 WHERE OBJ_NAME ='EGO_ITEM';
3420
3421 l_Inventory_Item_ID NUMBER := P_Item_Rec.INVENTORY_ITEM_ID;
3422 l_Organization_ID NUMBER := P_Item_Rec.ORGANIZATION_ID;
3423
3424 l_return_status VARCHAR2(1);
3425 l_msg_count NUMBER;
3426 l_msg_data VARCHAR2(2000);
3427
3428 -- Variables holding derived attribute values.
3429
3430 l_Primary_Unit_of_Measure VARCHAR2(25);
3431 l_SERVICE_ITEM_FLAG VARCHAR2(1);
3432 l_VENDOR_WARRANTY_FLAG VARCHAR2(1);
3433 l_USAGE_ITEM_FLAG VARCHAR2(1);
3434 l_party_id FND_USER.CUSTOMER_ID%TYPE;
3435 l_grant_guid fnd_grants.grant_guid%TYPE;
3436 l_ego_exists VARCHAR2(1) := 'N';
3437 l_master_org VARCHAR2(1); --R12: Business Events
3438 l_mast_organization_id MTL_SYSTEM_ITEMS.ORGANIZATION_ID%TYPE;
3439
3440 BEGIN
3441 -- Primary_Unit_of_Measure lookup
3442
3443 SELECT unit_of_measure --* Bug 5192495 reverted Bug 4465182 Select translated unit of measure value
3444 INTO l_Primary_Unit_of_Measure
3445 FROM mtl_units_of_measure_vl
3446 WHERE uom_code = P_Item_Rec.PRIMARY_UOM_CODE;
3447
3448 -- Get derived attribute values.
3449 -- Service Item, Warranty, Usage flag attributes are dependent on
3450 -- and derived from Contract Item Type; supported for view only.
3451
3452 IF ( P_Item_Rec.CONTRACT_ITEM_TYPE_CODE = 'SERVICE' ) THEN
3453 l_SERVICE_ITEM_FLAG := 'Y';
3454 l_VENDOR_WARRANTY_FLAG := 'N';
3455 l_USAGE_ITEM_FLAG := NULL;
3456 ELSIF ( P_Item_Rec.CONTRACT_ITEM_TYPE_CODE = 'WARRANTY' ) THEN
3457 l_SERVICE_ITEM_FLAG := 'Y';
3458 l_VENDOR_WARRANTY_FLAG := 'Y';
3459 l_USAGE_ITEM_FLAG := NULL;
3460 ELSIF ( P_Item_Rec.CONTRACT_ITEM_TYPE_CODE = 'USAGE' ) THEN
3461 l_SERVICE_ITEM_FLAG := 'N';
3462 l_VENDOR_WARRANTY_FLAG := 'N';
3463 l_USAGE_ITEM_FLAG := 'Y';
3464 ELSE
3465 l_SERVICE_ITEM_FLAG := 'N';
3466 l_VENDOR_WARRANTY_FLAG := 'N';
3467 l_USAGE_ITEM_FLAG := NULL;
3468 END IF;
3469
3470 INSERT INTO MTL_SYSTEM_ITEMS_B(
3471 DESCRIPTION,
3472 INVENTORY_ITEM_ID,
3473 ORGANIZATION_ID,
3474 SUMMARY_FLAG,
3475 ENABLED_FLAG,
3476 -- START_DATE_ACTIVE, Commented for Bug: 4457440
3477 -- END_DATE_ACTIVE, Commented for Bug: 4457440
3478 PRIMARY_UOM_CODE,
3479 PRIMARY_UNIT_OF_MEASURE,
3480 ALLOWED_UNITS_LOOKUP_CODE,
3481 OVERCOMPLETION_TOLERANCE_TYPE,
3482 OVERCOMPLETION_TOLERANCE_VALUE,
3483 EFFECTIVITY_CONTROL,
3484 CHECK_SHORTAGES_FLAG,
3485 FULL_LEAD_TIME,
3486 ORDER_COST,
3487 MRP_SAFETY_STOCK_PERCENT,
3488 MRP_SAFETY_STOCK_CODE,
3489 MIN_MINMAX_QUANTITY,
3490 MAX_MINMAX_QUANTITY,
3491 MINIMUM_ORDER_QUANTITY,
3492 FIXED_ORDER_QUANTITY,
3493 FIXED_DAYS_SUPPLY,
3494 MAXIMUM_ORDER_QUANTITY,
3495 ATP_RULE_ID,
3496 PICKING_RULE_ID,
3497 RESERVABLE_TYPE,
3498 POSITIVE_MEASUREMENT_ERROR,
3499 NEGATIVE_MEASUREMENT_ERROR,
3500 ENGINEERING_ECN_CODE,
3501 ENGINEERING_ITEM_ID,
3502 ENGINEERING_DATE,
3503 SERVICE_STARTING_DELAY,
3504 SERVICEABLE_COMPONENT_FLAG,
3505 SERVICEABLE_PRODUCT_FLAG,
3506 PAYMENT_TERMS_ID,
3507 PREVENTIVE_MAINTENANCE_FLAG,
3508 MATERIAL_BILLABLE_FLAG,
3509 PRORATE_SERVICE_FLAG,
3510 COVERAGE_SCHEDULE_ID,
3511 SERVICE_DURATION_PERIOD_CODE,
3512 SERVICE_DURATION,
3513 INVOICEABLE_ITEM_FLAG,
3514 TAX_CODE,
3515 INVOICE_ENABLED_FLAG,
3516 MUST_USE_APPROVED_VENDOR_FLAG,
3517 OUTSIDE_OPERATION_FLAG,
3518 OUTSIDE_OPERATION_UOM_TYPE,
3519 SAFETY_STOCK_BUCKET_DAYS,
3520 AUTO_REDUCE_MPS,
3521 COSTING_ENABLED_FLAG,
3522 AUTO_CREATED_CONFIG_FLAG,
3523 CYCLE_COUNT_ENABLED_FLAG,
3524 ITEM_TYPE,
3525 MODEL_CONFIG_CLAUSE_NAME,
3526 SHIP_MODEL_COMPLETE_FLAG,
3527 MRP_PLANNING_CODE,
3528 RETURN_INSPECTION_REQUIREMENT,
3529 ATO_FORECAST_CONTROL,
3530 RELEASE_TIME_FENCE_CODE,
3531 RELEASE_TIME_FENCE_DAYS,
3532 CONTAINER_ITEM_FLAG,
3533 VEHICLE_ITEM_FLAG,
3534 MAXIMUM_LOAD_WEIGHT,
3535 MINIMUM_FILL_PERCENT,
3536 CONTAINER_TYPE_CODE,
3537 INTERNAL_VOLUME,
3538 -- PRODUCT_FAMILY_ITEM_ID, - Bug 4408694
3539 GLOBAL_ATTRIBUTE_CATEGORY,
3540 GLOBAL_ATTRIBUTE1,
3541 GLOBAL_ATTRIBUTE2,
3542 GLOBAL_ATTRIBUTE3,
3543 GLOBAL_ATTRIBUTE4,
3544 GLOBAL_ATTRIBUTE5,
3545 GLOBAL_ATTRIBUTE6,
3546 GLOBAL_ATTRIBUTE7,
3547 GLOBAL_ATTRIBUTE8,
3548 GLOBAL_ATTRIBUTE9,
3549 GLOBAL_ATTRIBUTE10,
3550 GLOBAL_ATTRIBUTE11,
3551 GLOBAL_ATTRIBUTE12,
3552 GLOBAL_ATTRIBUTE13,
3553 GLOBAL_ATTRIBUTE14,
3554 GLOBAL_ATTRIBUTE15,
3555 GLOBAL_ATTRIBUTE16,
3556 GLOBAL_ATTRIBUTE17,
3557 GLOBAL_ATTRIBUTE18,
3558 GLOBAL_ATTRIBUTE19,
3559 GLOBAL_ATTRIBUTE20,
3560 PURCHASING_TAX_CODE,
3561 ATTRIBUTE6,
3562 ATTRIBUTE7,
3563 ATTRIBUTE8,
3564 ATTRIBUTE9,
3565 ATTRIBUTE10,
3566 ATTRIBUTE11,
3567 ATTRIBUTE12,
3568 ATTRIBUTE13,
3569 ATTRIBUTE14,
3570 ATTRIBUTE15,
3571 PURCHASING_ITEM_FLAG,
3572 SHIPPABLE_ITEM_FLAG,
3573 CUSTOMER_ORDER_FLAG,
3574 INTERNAL_ORDER_FLAG,
3575 INVENTORY_ITEM_FLAG,
3576 ENG_ITEM_FLAG,
3577 INVENTORY_ASSET_FLAG,
3578 PURCHASING_ENABLED_FLAG,
3579 CUSTOMER_ORDER_ENABLED_FLAG,
3580 INTERNAL_ORDER_ENABLED_FLAG,
3581 SO_TRANSACTIONS_FLAG,
3582 MTL_TRANSACTIONS_ENABLED_FLAG,
3583 STOCK_ENABLED_FLAG,
3584 BOM_ENABLED_FLAG,
3585 BUILD_IN_WIP_FLAG,
3586 REVISION_QTY_CONTROL_CODE,
3587 ITEM_CATALOG_GROUP_ID,
3588 CATALOG_STATUS_FLAG,
3589 RETURNABLE_FLAG,
3590 DEFAULT_SHIPPING_ORG,
3591 COLLATERAL_FLAG,
3592 TAXABLE_FLAG,
3593 QTY_RCV_EXCEPTION_CODE,
3594 ALLOW_ITEM_DESC_UPDATE_FLAG,
3595 INSPECTION_REQUIRED_FLAG,
3596 RECEIPT_REQUIRED_FLAG,
3597 MARKET_PRICE,
3598 HAZARD_CLASS_ID,
3599 RFQ_REQUIRED_FLAG,
3600 QTY_RCV_TOLERANCE,
3601 LIST_PRICE_PER_UNIT,
3602 UN_NUMBER_ID,
3603 PRICE_TOLERANCE_PERCENT,
3604 ASSET_CATEGORY_ID,
3605 ROUNDING_FACTOR,
3606 UNIT_OF_ISSUE,
3607 ENFORCE_SHIP_TO_LOCATION_CODE,
3608 ALLOW_SUBSTITUTE_RECEIPTS_FLAG,
3609 ALLOW_UNORDERED_RECEIPTS_FLAG,
3610 ALLOW_EXPRESS_DELIVERY_FLAG,
3611 DAYS_EARLY_RECEIPT_ALLOWED,
3612 DAYS_LATE_RECEIPT_ALLOWED,
3613 RECEIPT_DAYS_EXCEPTION_CODE,
3614 RECEIVING_ROUTING_ID,
3615 INVOICE_CLOSE_TOLERANCE,
3616 RECEIVE_CLOSE_TOLERANCE,
3617 AUTO_LOT_ALPHA_PREFIX,
3618 START_AUTO_LOT_NUMBER,
3619 LOT_CONTROL_CODE,
3620 SHELF_LIFE_CODE,
3621 SHELF_LIFE_DAYS,
3622 SERIAL_NUMBER_CONTROL_CODE,
3623 START_AUTO_SERIAL_NUMBER,
3624 AUTO_SERIAL_ALPHA_PREFIX,
3625 SOURCE_TYPE,
3626 SOURCE_ORGANIZATION_ID,
3627 SOURCE_SUBINVENTORY,
3628 EXPENSE_ACCOUNT,
3629 ENCUMBRANCE_ACCOUNT,
3630 RESTRICT_SUBINVENTORIES_CODE,
3631 UNIT_WEIGHT,
3632 WEIGHT_UOM_CODE,
3633 VOLUME_UOM_CODE,
3634 UNIT_VOLUME,
3635 RESTRICT_LOCATORS_CODE,
3636 LOCATION_CONTROL_CODE,
3637 SHRINKAGE_RATE,
3638 ACCEPTABLE_EARLY_DAYS,
3639 PLANNING_TIME_FENCE_CODE,
3640 DEMAND_TIME_FENCE_CODE,
3641 LEAD_TIME_LOT_SIZE,
3642 STD_LOT_SIZE,
3643 CUM_MANUFACTURING_LEAD_TIME,
3644 OVERRUN_PERCENTAGE,
3645 MRP_CALCULATE_ATP_FLAG,
3646 ACCEPTABLE_RATE_INCREASE,
3647 ACCEPTABLE_RATE_DECREASE,
3648 CUMULATIVE_TOTAL_LEAD_TIME,
3649 PLANNING_TIME_FENCE_DAYS,
3650 DEMAND_TIME_FENCE_DAYS,
3651 END_ASSEMBLY_PEGGING_FLAG,
3652 REPETITIVE_PLANNING_FLAG,
3653 PLANNING_EXCEPTION_SET,
3654 BOM_ITEM_TYPE,
3655 PICK_COMPONENTS_FLAG,
3656 REPLENISH_TO_ORDER_FLAG,
3657 BASE_ITEM_ID,
3658 ATP_COMPONENTS_FLAG,
3659 ATP_FLAG,
3660 FIXED_LEAD_TIME,
3661 VARIABLE_LEAD_TIME,
3662 WIP_SUPPLY_LOCATOR_ID,
3663 WIP_SUPPLY_TYPE,
3664 WIP_SUPPLY_SUBINVENTORY,
3665 COST_OF_SALES_ACCOUNT,
3666 SALES_ACCOUNT,
3667 DEFAULT_INCLUDE_IN_ROLLUP_FLAG,
3668 INVENTORY_ITEM_STATUS_CODE,
3669 INVENTORY_PLANNING_CODE,
3670 PLANNER_CODE,
3671 PLANNING_MAKE_BUY_CODE,
3672 FIXED_LOT_MULTIPLIER,
3673 ROUNDING_CONTROL_TYPE,
3674 CARRYING_COST,
3675 POSTPROCESSING_LEAD_TIME,
3676 PREPROCESSING_LEAD_TIME,
3677 BUYER_ID,
3678 ACCOUNTING_RULE_ID,
3679 INVOICING_RULE_ID,
3680 OVER_SHIPMENT_TOLERANCE,
3681 UNDER_SHIPMENT_TOLERANCE,
3682 OVER_RETURN_TOLERANCE,
3683 UNDER_RETURN_TOLERANCE,
3684 EQUIPMENT_TYPE,
3685 RECOVERED_PART_DISP_CODE,
3686 DEFECT_TRACKING_ON_FLAG,
3687 EVENT_FLAG,
3688 ELECTRONIC_FLAG,
3689 DOWNLOADABLE_FLAG,
3690 VOL_DISCOUNT_EXEMPT_FLAG,
3691 COUPON_EXEMPT_FLAG,
3692 COMMS_NL_TRACKABLE_FLAG,
3693 ASSET_CREATION_CODE,
3694 COMMS_ACTIVATION_REQD_FLAG,
3695 ORDERABLE_ON_WEB_FLAG,
3696 BACK_ORDERABLE_FLAG,
3697 WEB_STATUS,
3698 INDIVISIBLE_FLAG,
3699 DIMENSION_UOM_CODE,
3700 UNIT_LENGTH,
3701 UNIT_WIDTH,
3702 UNIT_HEIGHT,
3703 BULK_PICKED_FLAG,
3704 LOT_STATUS_ENABLED,
3705 DEFAULT_LOT_STATUS_ID,
3706 SERIAL_STATUS_ENABLED,
3707 DEFAULT_SERIAL_STATUS_ID,
3708 LOT_SPLIT_ENABLED,
3709 LOT_MERGE_ENABLED,
3710 INVENTORY_CARRY_PENALTY,
3711 OPERATION_SLACK_PENALTY,
3712 FINANCING_ALLOWED_FLAG,
3713 EAM_ITEM_TYPE,
3714 EAM_ACTIVITY_TYPE_CODE,
3715 EAM_ACTIVITY_CAUSE_CODE,
3716 EAM_ACT_NOTIFICATION_FLAG,
3717 EAM_ACT_SHUTDOWN_STATUS,
3718 DUAL_UOM_CONTROL,
3719 SECONDARY_UOM_CODE,
3720 DUAL_UOM_DEVIATION_HIGH,
3721 DUAL_UOM_DEVIATION_LOW,
3722 SERVICE_ITEM_FLAG,
3723 VENDOR_WARRANTY_FLAG,
3724 USAGE_ITEM_FLAG,
3725 CONTRACT_ITEM_TYPE_CODE,
3726 SUBSCRIPTION_DEPEND_FLAG,
3727 SERV_REQ_ENABLED_CODE,
3728 SERV_BILLING_ENABLED_FLAG,
3729 SERV_IMPORTANCE_LEVEL,
3730 PLANNED_INV_POINT_FLAG,
3731 LOT_TRANSLATE_ENABLED,
3732 DEFAULT_SO_SOURCE_TYPE,
3733 CREATE_SUPPLY_FLAG,
3734 SUBSTITUTION_WINDOW_CODE,
3735 SUBSTITUTION_WINDOW_DAYS,
3736 IB_ITEM_INSTANCE_CLASS,
3737 CONFIG_MODEL_TYPE,
3738 --Added as part of 11.5.9 ENH
3739 LOT_SUBSTITUTION_ENABLED,
3740 MINIMUM_LICENSE_QUANTITY,
3741 EAM_ACTIVITY_SOURCE_CODE,
3742 --Added as part of 11.5.10 ENH
3743 TRACKING_QUANTITY_IND ,
3744 ONT_PRICING_QTY_SOURCE,
3745 SECONDARY_DEFAULT_IND ,
3746 OPTION_SPECIFIC_SOURCED,
3747 CONFIG_ORGS,
3748 CONFIG_MATCH,
3749 SEGMENT1,
3750 SEGMENT2,
3751 SEGMENT3,
3752 SEGMENT4,
3753 SEGMENT5,
3754 SEGMENT6,
3755 SEGMENT7,
3756 SEGMENT8,
3757 SEGMENT9,
3758 SEGMENT10,
3759 SEGMENT11,
3760 SEGMENT12,
3761 SEGMENT13,
3762 SEGMENT14,
3763 SEGMENT15,
3764 SEGMENT16,
3765 SEGMENT17,
3766 SEGMENT18,
3767 SEGMENT19,
3768 SEGMENT20,
3769 ATTRIBUTE_CATEGORY,
3770 ATTRIBUTE1,
3771 ATTRIBUTE2,
3772 ATTRIBUTE3,
3773 ATTRIBUTE4,
3774 ATTRIBUTE5,
3775 LIFECYCLE_ID,
3776 CURRENT_PHASE_ID,
3777 CREATION_DATE,
3778 CREATED_BY,
3779 LAST_UPDATE_DATE,
3780 LAST_UPDATED_BY,
3781 LAST_UPDATE_LOGIN ,
3782 VMI_MINIMUM_UNITS,
3783 VMI_MINIMUM_DAYS,
3784 VMI_MAXIMUM_UNITS,
3785 VMI_MAXIMUM_DAYS ,
3786 VMI_FIXED_ORDER_QUANTITY ,
3787 SO_AUTHORIZATION_FLAG ,
3788 CONSIGNED_FLAG ,
3789 ASN_AUTOEXPIRE_FLAG ,
3790 VMI_FORECAST_TYPE ,
3791 FORECAST_HORIZON ,
3792 EXCLUDE_FROM_BUDGET_FLAG ,
3793 DAYS_TGT_INV_SUPPLY ,
3794 DAYS_TGT_INV_WINDOW ,
3795 DAYS_MAX_INV_SUPPLY ,
3796 DAYS_MAX_INV_WINDOW ,
3797 DRP_PLANNED_FLAG ,
3798 CRITICAL_COMPONENT_FLAG ,
3799 CONTINOUS_TRANSFER ,
3800 CONVERGENCE ,
3801 DIVERGENCE
3802 /* Start Bug 3713912 */--Added For R12 ENH
3803 ,LOT_DIVISIBLE_FLAG,
3804 GRADE_CONTROL_FLAG,
3805 DEFAULT_GRADE,
3806 CHILD_LOT_FLAG,
3807 PARENT_CHILD_GENERATION_FLAG,
3808 CHILD_LOT_PREFIX,
3809 CHILD_LOT_STARTING_NUMBER,
3810 CHILD_LOT_VALIDATION_FLAG,
3811 COPY_LOT_ATTRIBUTE_FLAG,
3812 RECIPE_ENABLED_FLAG,
3813 PROCESS_QUALITY_ENABLED_FLAG,
3814 PROCESS_EXECUTION_ENABLED_FLAG,
3815 PROCESS_COSTING_ENABLED_FLAG,
3816 PROCESS_SUPPLY_SUBINVENTORY,
3817 PROCESS_SUPPLY_LOCATOR_ID,
3818 PROCESS_YIELD_SUBINVENTORY,
3819 PROCESS_YIELD_LOCATOR_ID,
3820 HAZARDOUS_MATERIAL_FLAG,
3821 CAS_NUMBER,
3822 RETEST_INTERVAL,
3823 EXPIRATION_ACTION_INTERVAL,
3824 EXPIRATION_ACTION_CODE,
3825 MATURITY_DAYS,
3826 HOLD_DAYS,
3827 ATTRIBUTE16,
3828 ATTRIBUTE17,
3829 ATTRIBUTE18,
3830 ATTRIBUTE19,
3831 ATTRIBUTE20,
3832 ATTRIBUTE21,
3833 ATTRIBUTE22,
3834 ATTRIBUTE23,
3835 ATTRIBUTE24,
3836 ATTRIBUTE25,
3837 ATTRIBUTE26,
3838 ATTRIBUTE27,
3839 ATTRIBUTE28,
3840 ATTRIBUTE29,
3841 ATTRIBUTE30,
3842 /* End Bug 3713912 */
3843 CHARGE_PERIODICITY_CODE,
3844 REPAIR_LEADTIME,
3845 REPAIR_YIELD ,
3846 PREPOSITION_POINT,
3847 REPAIR_PROGRAM,
3848 SUBCONTRACTING_COMPONENT,
3849 OUTSOURCED_ASSEMBLY,
3850 /* Bug 4224512 Updating the object version number - Anmurali */
3851 OBJECT_VERSION_NUMBER,
3852 -- Fix for Bug#6644711
3853 DEFAULT_MATERIAL_STATUS_ID,
3854 -- Serial_Tagging Enh -- bug 9913552
3855 SERIAL_TAGGING_FLAG
3856 )
3857 VALUES (
3858 ltrim(rtrim(P_Item_Rec.DESCRIPTION)),
3859 P_Item_Rec.INVENTORY_ITEM_ID,
3860 P_Item_Rec.ORGANIZATION_ID,
3861 P_Item_Rec.SUMMARY_FLAG,
3862 P_Item_Rec.ENABLED_FLAG,
3863 -- P_Item_Rec.START_DATE_ACTIVE, Commented for Bug: 4457440
3864 -- P_Item_Rec.END_DATE_ACTIVE, Commented for Bug: 4457440
3865 P_Item_Rec.PRIMARY_UOM_CODE,
3866 l_Primary_Unit_of_Measure,
3867 P_Item_Rec.ALLOWED_UNITS_LOOKUP_CODE,
3868 P_Item_Rec.OVERCOMPLETION_TOLERANCE_TYPE,
3869 P_Item_Rec.OVERCOMPLETION_TOLERANCE_VALUE,
3870 P_Item_Rec.EFFECTIVITY_CONTROL,
3871 P_Item_Rec.CHECK_SHORTAGES_FLAG,
3872 P_Item_Rec.FULL_LEAD_TIME,
3873 P_Item_Rec.ORDER_COST,
3874 P_Item_Rec.MRP_SAFETY_STOCK_PERCENT,
3875 P_Item_Rec.MRP_SAFETY_STOCK_CODE,
3876 P_Item_Rec.MIN_MINMAX_QUANTITY,
3877 P_Item_Rec.MAX_MINMAX_QUANTITY,
3878 P_Item_Rec.MINIMUM_ORDER_QUANTITY,
3879 P_Item_Rec.FIXED_ORDER_QUANTITY,
3880 P_Item_Rec.FIXED_DAYS_SUPPLY,
3881 P_Item_Rec.MAXIMUM_ORDER_QUANTITY,
3882 P_Item_Rec.ATP_RULE_ID,
3883 P_Item_Rec.PICKING_RULE_ID,
3884 P_Item_Rec.RESERVABLE_TYPE,
3885 P_Item_Rec.POSITIVE_MEASUREMENT_ERROR,
3886 P_Item_Rec.NEGATIVE_MEASUREMENT_ERROR,
3887 P_Item_Rec.ENGINEERING_ECN_CODE,
3888 P_Item_Rec.ENGINEERING_ITEM_ID,
3889 P_Item_Rec.ENGINEERING_DATE,
3890 P_Item_Rec.SERVICE_STARTING_DELAY,
3891 P_Item_Rec.SERVICEABLE_COMPONENT_FLAG,
3892 P_Item_Rec.SERVICEABLE_PRODUCT_FLAG,
3893 P_Item_Rec.PAYMENT_TERMS_ID,
3894 P_Item_Rec.PREVENTIVE_MAINTENANCE_FLAG,
3895 P_Item_Rec.MATERIAL_BILLABLE_FLAG,
3896 P_Item_Rec.PRORATE_SERVICE_FLAG,
3897 P_Item_Rec.COVERAGE_SCHEDULE_ID,
3898 P_Item_Rec.SERVICE_DURATION_PERIOD_CODE,
3899 P_Item_Rec.SERVICE_DURATION,
3900 P_Item_Rec.INVOICEABLE_ITEM_FLAG,
3901 P_Item_Rec.TAX_CODE,
3902 P_Item_Rec.INVOICE_ENABLED_FLAG,
3903 P_Item_Rec.MUST_USE_APPROVED_VENDOR_FLAG,
3904 P_Item_Rec.OUTSIDE_OPERATION_FLAG,
3905 P_Item_Rec.OUTSIDE_OPERATION_UOM_TYPE,
3906 P_Item_Rec.SAFETY_STOCK_BUCKET_DAYS,
3907 P_Item_Rec.AUTO_REDUCE_MPS,
3908 P_Item_Rec.COSTING_ENABLED_FLAG,
3909 P_Item_Rec.AUTO_CREATED_CONFIG_FLAG,
3910 P_Item_Rec.CYCLE_COUNT_ENABLED_FLAG,
3911 P_Item_Rec.ITEM_TYPE,
3912 P_Item_Rec.MODEL_CONFIG_CLAUSE_NAME,
3913 P_Item_Rec.SHIP_MODEL_COMPLETE_FLAG,
3914 P_Item_Rec.MRP_PLANNING_CODE,
3915 P_Item_Rec.RETURN_INSPECTION_REQUIREMENT,
3916 P_Item_Rec.ATO_FORECAST_CONTROL,
3917 P_Item_Rec.RELEASE_TIME_FENCE_CODE,
3918 P_Item_Rec.RELEASE_TIME_FENCE_DAYS,
3919 P_Item_Rec.CONTAINER_ITEM_FLAG,
3920 P_Item_Rec.VEHICLE_ITEM_FLAG,
3921 P_Item_Rec.MAXIMUM_LOAD_WEIGHT,
3922 P_Item_Rec.MINIMUM_FILL_PERCENT,
3923 P_Item_Rec.CONTAINER_TYPE_CODE,
3924 P_Item_Rec.INTERNAL_VOLUME,
3925 -- P_Item_Rec.PRODUCT_FAMILY_ITEM_ID, - Bug 4408694
3926 P_Item_Rec.GLOBAL_ATTRIBUTE_CATEGORY,
3927 P_Item_Rec.GLOBAL_ATTRIBUTE1,
3928 P_Item_Rec.GLOBAL_ATTRIBUTE2,
3929 P_Item_Rec.GLOBAL_ATTRIBUTE3,
3930 P_Item_Rec.GLOBAL_ATTRIBUTE4,
3931 P_Item_Rec.GLOBAL_ATTRIBUTE5,
3932 P_Item_Rec.GLOBAL_ATTRIBUTE6,
3933 P_Item_Rec.GLOBAL_ATTRIBUTE7,
3934 P_Item_Rec.GLOBAL_ATTRIBUTE8,
3935 P_Item_Rec.GLOBAL_ATTRIBUTE9,
3936 P_Item_Rec.GLOBAL_ATTRIBUTE10,
3937 P_Item_Rec.GLOBAL_ATTRIBUTE11,
3938 P_Item_Rec.GLOBAL_ATTRIBUTE12,
3939 P_Item_Rec.GLOBAL_ATTRIBUTE13,
3940 P_Item_Rec.GLOBAL_ATTRIBUTE14,
3941 P_Item_Rec.GLOBAL_ATTRIBUTE15,
3942 P_Item_Rec.GLOBAL_ATTRIBUTE16,
3943 P_Item_Rec.GLOBAL_ATTRIBUTE17,
3944 P_Item_Rec.GLOBAL_ATTRIBUTE18,
3945 P_Item_Rec.GLOBAL_ATTRIBUTE19,
3946 P_Item_Rec.GLOBAL_ATTRIBUTE20,
3947 P_Item_Rec.PURCHASING_TAX_CODE,
3948 P_Item_Rec.ATTRIBUTE6,
3949 P_Item_Rec.ATTRIBUTE7,
3950 P_Item_Rec.ATTRIBUTE8,
3951 P_Item_Rec.ATTRIBUTE9,
3952 P_Item_Rec.ATTRIBUTE10,
3953 P_Item_Rec.ATTRIBUTE11,
3954 P_Item_Rec.ATTRIBUTE12,
3955 P_Item_Rec.ATTRIBUTE13,
3956 P_Item_Rec.ATTRIBUTE14,
3957 P_Item_Rec.ATTRIBUTE15,
3958 P_Item_Rec.PURCHASING_ITEM_FLAG,
3959 P_Item_Rec.SHIPPABLE_ITEM_FLAG,
3960 P_Item_Rec.CUSTOMER_ORDER_FLAG,
3961 P_Item_Rec.INTERNAL_ORDER_FLAG,
3962 P_Item_Rec.INVENTORY_ITEM_FLAG,
3963 P_Item_Rec.ENG_ITEM_FLAG,
3964 P_Item_Rec.INVENTORY_ASSET_FLAG,
3965 P_Item_Rec.PURCHASING_ENABLED_FLAG,
3966 P_Item_Rec.CUSTOMER_ORDER_ENABLED_FLAG,
3967 P_Item_Rec.INTERNAL_ORDER_ENABLED_FLAG,
3968 P_Item_Rec.SO_TRANSACTIONS_FLAG,
3969 P_Item_Rec.MTL_TRANSACTIONS_ENABLED_FLAG,
3970 P_Item_Rec.STOCK_ENABLED_FLAG,
3971 P_Item_Rec.BOM_ENABLED_FLAG,
3972 P_Item_Rec.BUILD_IN_WIP_FLAG,
3973 P_Item_Rec.REVISION_QTY_CONTROL_CODE,
3974 P_Item_Rec.ITEM_CATALOG_GROUP_ID, --Bug: 2805253 NVL(P_Item_Rec.ITEM_CATALOG_GROUP_ID,1),
3975 P_Item_Rec.CATALOG_STATUS_FLAG,
3976 P_Item_Rec.RETURNABLE_FLAG,
3977 P_Item_Rec.DEFAULT_SHIPPING_ORG,
3978 P_Item_Rec.COLLATERAL_FLAG,
3979 P_Item_Rec.TAXABLE_FLAG,
3980 P_Item_Rec.QTY_RCV_EXCEPTION_CODE,
3981 P_Item_Rec.ALLOW_ITEM_DESC_UPDATE_FLAG,
3982 P_Item_Rec.INSPECTION_REQUIRED_FLAG,
3983 P_Item_Rec.RECEIPT_REQUIRED_FLAG,
3984 P_Item_Rec.MARKET_PRICE,
3985 P_Item_Rec.HAZARD_CLASS_ID,
3986 P_Item_Rec.RFQ_REQUIRED_FLAG,
3987 P_Item_Rec.QTY_RCV_TOLERANCE,
3988 P_Item_Rec.LIST_PRICE_PER_UNIT,
3989 P_Item_Rec.UN_NUMBER_ID,
3990 P_Item_Rec.PRICE_TOLERANCE_PERCENT,
3991 P_Item_Rec.ASSET_CATEGORY_ID,
3992 P_Item_Rec.ROUNDING_FACTOR,
3993 P_Item_Rec.UNIT_OF_ISSUE,
3994 P_Item_Rec.ENFORCE_SHIP_TO_LOCATION_CODE,
3995 P_Item_Rec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG,
3996 P_Item_Rec.ALLOW_UNORDERED_RECEIPTS_FLAG,
3997 P_Item_Rec.ALLOW_EXPRESS_DELIVERY_FLAG,
3998 P_Item_Rec.DAYS_EARLY_RECEIPT_ALLOWED,
3999 P_Item_Rec.DAYS_LATE_RECEIPT_ALLOWED,
4000 P_Item_Rec.RECEIPT_DAYS_EXCEPTION_CODE,
4001 P_Item_Rec.RECEIVING_ROUTING_ID,
4002 P_Item_Rec.INVOICE_CLOSE_TOLERANCE,
4003 P_Item_Rec.RECEIVE_CLOSE_TOLERANCE,
4004 P_Item_Rec.AUTO_LOT_ALPHA_PREFIX,
4005 P_Item_Rec.START_AUTO_LOT_NUMBER,
4006 P_Item_Rec.LOT_CONTROL_CODE,
4007 P_Item_Rec.SHELF_LIFE_CODE,
4008 P_Item_Rec.SHELF_LIFE_DAYS,
4009 P_Item_Rec.SERIAL_NUMBER_CONTROL_CODE,
4010 P_Item_Rec.START_AUTO_SERIAL_NUMBER,
4011 P_Item_Rec.AUTO_SERIAL_ALPHA_PREFIX,
4012 P_Item_Rec.SOURCE_TYPE,
4013 P_Item_Rec.SOURCE_ORGANIZATION_ID,
4014 P_Item_Rec.SOURCE_SUBINVENTORY,
4015 P_Item_Rec.EXPENSE_ACCOUNT,
4016 P_Item_Rec.ENCUMBRANCE_ACCOUNT,
4017 P_Item_Rec.RESTRICT_SUBINVENTORIES_CODE,
4018 P_Item_Rec.UNIT_WEIGHT,
4019 P_Item_Rec.WEIGHT_UOM_CODE,
4020 P_Item_Rec.VOLUME_UOM_CODE,
4021 P_Item_Rec.UNIT_VOLUME,
4022 P_Item_Rec.RESTRICT_LOCATORS_CODE,
4023 P_Item_Rec.LOCATION_CONTROL_CODE,
4024 P_Item_Rec.SHRINKAGE_RATE,
4025 P_Item_Rec.ACCEPTABLE_EARLY_DAYS,
4026 P_Item_Rec.PLANNING_TIME_FENCE_CODE,
4027 P_Item_Rec.DEMAND_TIME_FENCE_CODE,
4028 P_Item_Rec.LEAD_TIME_LOT_SIZE,
4029 P_Item_Rec.STD_LOT_SIZE,
4030 P_Item_Rec.CUM_MANUFACTURING_LEAD_TIME,
4031 P_Item_Rec.OVERRUN_PERCENTAGE,
4032 P_Item_Rec.MRP_CALCULATE_ATP_FLAG,
4033 P_Item_Rec.ACCEPTABLE_RATE_INCREASE,
4034 P_Item_Rec.ACCEPTABLE_RATE_DECREASE,
4035 P_Item_Rec.CUMULATIVE_TOTAL_LEAD_TIME,
4036 P_Item_Rec.PLANNING_TIME_FENCE_DAYS,
4037 P_Item_Rec.DEMAND_TIME_FENCE_DAYS,
4038 P_Item_Rec.END_ASSEMBLY_PEGGING_FLAG,
4039 P_Item_Rec.REPETITIVE_PLANNING_FLAG,
4040 P_Item_Rec.PLANNING_EXCEPTION_SET,
4041 P_Item_Rec.BOM_ITEM_TYPE,
4042 P_Item_Rec.PICK_COMPONENTS_FLAG,
4043 P_Item_Rec.REPLENISH_TO_ORDER_FLAG,
4044 P_Item_Rec.BASE_ITEM_ID,
4045 P_Item_Rec.ATP_COMPONENTS_FLAG,
4046 P_Item_Rec.ATP_FLAG,
4047 P_Item_Rec.FIXED_LEAD_TIME,
4048 P_Item_Rec.VARIABLE_LEAD_TIME,
4049 P_Item_Rec.WIP_SUPPLY_LOCATOR_ID,
4050 P_Item_Rec.WIP_SUPPLY_TYPE,
4051 P_Item_Rec.WIP_SUPPLY_SUBINVENTORY,
4052 P_Item_Rec.COST_OF_SALES_ACCOUNT,
4053 P_Item_Rec.SALES_ACCOUNT,
4054 P_Item_Rec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,
4055 P_Item_Rec.INVENTORY_ITEM_STATUS_CODE,
4056 P_Item_Rec.INVENTORY_PLANNING_CODE,
4057 P_Item_Rec.PLANNER_CODE,
4058 P_Item_Rec.PLANNING_MAKE_BUY_CODE,
4059 P_Item_Rec.FIXED_LOT_MULTIPLIER,
4060 P_Item_Rec.ROUNDING_CONTROL_TYPE,
4061 P_Item_Rec.CARRYING_COST,
4062 P_Item_Rec.POSTPROCESSING_LEAD_TIME,
4063 P_Item_Rec.PREPROCESSING_LEAD_TIME,
4064 P_Item_Rec.BUYER_ID,
4065 P_Item_Rec.ACCOUNTING_RULE_ID,
4066 P_Item_Rec.INVOICING_RULE_ID,
4067 P_Item_Rec.OVER_SHIPMENT_TOLERANCE,
4068 P_Item_Rec.UNDER_SHIPMENT_TOLERANCE,
4069 P_Item_Rec.OVER_RETURN_TOLERANCE,
4070 P_Item_Rec.UNDER_RETURN_TOLERANCE,
4071 P_Item_Rec.EQUIPMENT_TYPE,
4072 P_Item_Rec.RECOVERED_PART_DISP_CODE,
4073 P_Item_Rec.DEFECT_TRACKING_ON_FLAG,
4074 P_Item_Rec.EVENT_FLAG,
4075 P_Item_Rec.ELECTRONIC_FLAG,
4076 P_Item_Rec.DOWNLOADABLE_FLAG,
4077 P_Item_Rec.VOL_DISCOUNT_EXEMPT_FLAG,
4078 P_Item_Rec.COUPON_EXEMPT_FLAG,
4079 P_Item_Rec.COMMS_NL_TRACKABLE_FLAG,
4080 P_Item_Rec.ASSET_CREATION_CODE,
4081 P_Item_Rec.COMMS_ACTIVATION_REQD_FLAG,
4082 P_Item_Rec.ORDERABLE_ON_WEB_FLAG,
4083 P_Item_Rec.BACK_ORDERABLE_FLAG,
4084 P_Item_Rec.WEB_STATUS,
4085 P_Item_Rec.INDIVISIBLE_FLAG,
4086 P_Item_Rec.DIMENSION_UOM_CODE,
4087 P_Item_Rec.UNIT_LENGTH,
4088 P_Item_Rec.UNIT_WIDTH,
4089 P_Item_Rec.UNIT_HEIGHT,
4090 P_Item_Rec.BULK_PICKED_FLAG,
4091 P_Item_Rec.LOT_STATUS_ENABLED,
4092 P_Item_Rec.DEFAULT_LOT_STATUS_ID,
4093 P_Item_Rec.SERIAL_STATUS_ENABLED,
4094 P_Item_Rec.DEFAULT_SERIAL_STATUS_ID,
4095 P_Item_Rec.LOT_SPLIT_ENABLED,
4096 P_Item_Rec.LOT_MERGE_ENABLED,
4097 P_Item_Rec.INVENTORY_CARRY_PENALTY,
4098 P_Item_Rec.OPERATION_SLACK_PENALTY,
4099 P_Item_Rec.FINANCING_ALLOWED_FLAG,
4100 P_Item_Rec.EAM_ITEM_TYPE,
4101 P_Item_Rec.EAM_ACTIVITY_TYPE_CODE,
4102 P_Item_Rec.EAM_ACTIVITY_CAUSE_CODE,
4103 P_Item_Rec.EAM_ACT_NOTIFICATION_FLAG,
4104 P_Item_Rec.EAM_ACT_SHUTDOWN_STATUS,
4105 P_Item_Rec.DUAL_UOM_CONTROL,
4106 P_Item_Rec.SECONDARY_UOM_CODE,
4107 P_Item_Rec.DUAL_UOM_DEVIATION_HIGH,
4108 P_Item_Rec.DUAL_UOM_DEVIATION_LOW,
4109 l_SERVICE_ITEM_FLAG,
4110 l_VENDOR_WARRANTY_FLAG,
4111 l_USAGE_ITEM_FLAG,
4112 P_Item_Rec.CONTRACT_ITEM_TYPE_CODE,
4113 P_Item_Rec.SUBSCRIPTION_DEPEND_FLAG,
4114 P_Item_Rec.SERV_REQ_ENABLED_CODE,
4115 P_Item_Rec.SERV_BILLING_ENABLED_FLAG,
4116 P_Item_Rec.SERV_IMPORTANCE_LEVEL,
4117 P_Item_Rec.PLANNED_INV_POINT_FLAG,
4118 P_Item_Rec.LOT_TRANSLATE_ENABLED,
4119 P_Item_Rec.DEFAULT_SO_SOURCE_TYPE,
4120 P_Item_Rec.CREATE_SUPPLY_FLAG,
4121 P_Item_Rec.SUBSTITUTION_WINDOW_CODE,
4122 P_Item_Rec.SUBSTITUTION_WINDOW_DAYS,
4123 P_Item_Rec.IB_ITEM_INSTANCE_CLASS,
4124 P_Item_Rec.CONFIG_MODEL_TYPE,
4125 P_Item_Rec.LOT_SUBSTITUTION_ENABLED,
4126 P_Item_Rec.MINIMUM_LICENSE_QUANTITY,
4127 P_Item_Rec.EAM_ACTIVITY_SOURCE_CODE,
4128 -- Added for 11.5.10
4129 P_Item_Rec.TRACKING_QUANTITY_IND ,
4130 P_Item_Rec.ONT_PRICING_QTY_SOURCE,
4131 P_Item_Rec.SECONDARY_DEFAULT_IND ,
4132 P_Item_Rec.OPTION_SPECIFIC_SOURCED,
4133 p_Item_rec.CONFIG_ORGS,
4134 p_Item_rec.CONFIG_MATCH,
4135 P_Item_Rec.SEGMENT1,
4136 P_Item_Rec.SEGMENT2,
4137 P_Item_Rec.SEGMENT3,
4138 P_Item_Rec.SEGMENT4,
4139 P_Item_Rec.SEGMENT5,
4140 P_Item_Rec.SEGMENT6,
4141 P_Item_Rec.SEGMENT7,
4142 P_Item_Rec.SEGMENT8,
4143 P_Item_Rec.SEGMENT9,
4144 P_Item_Rec.SEGMENT10,
4145 P_Item_Rec.SEGMENT11,
4146 P_Item_Rec.SEGMENT12,
4147 P_Item_Rec.SEGMENT13,
4148 P_Item_Rec.SEGMENT14,
4149 P_Item_Rec.SEGMENT15,
4150 P_Item_Rec.SEGMENT16,
4151 P_Item_Rec.SEGMENT17,
4152 P_Item_Rec.SEGMENT18,
4153 P_Item_Rec.SEGMENT19,
4154 P_Item_Rec.SEGMENT20,
4155 P_Item_Rec.ATTRIBUTE_CATEGORY,
4156 P_Item_Rec.ATTRIBUTE1,
4157 P_Item_Rec.ATTRIBUTE2,
4158 P_Item_Rec.ATTRIBUTE3,
4159 P_Item_Rec.ATTRIBUTE4,
4160 P_Item_Rec.ATTRIBUTE5,
4161 P_Item_Rec.LIFECYCLE_ID,
4162 P_Item_Rec.CURRENT_PHASE_ID,
4163 P_Item_Rec.CREATION_DATE,
4164 P_Item_Rec.CREATED_BY,
4165 P_Item_Rec.LAST_UPDATE_DATE,
4166 P_Item_Rec.LAST_UPDATED_BY,
4167 P_Item_Rec.LAST_UPDATE_LOGIN,
4168 P_Item_Rec.VMI_MINIMUM_UNITS,
4169 P_Item_Rec.VMI_MINIMUM_DAYS,
4170 P_Item_Rec.VMI_MAXIMUM_UNITS,
4171 P_Item_Rec.VMI_MAXIMUM_DAYS ,
4172 P_Item_Rec.VMI_FIXED_ORDER_QUANTITY ,
4173 P_Item_Rec.SO_AUTHORIZATION_FLAG ,
4174 P_Item_Rec.CONSIGNED_FLAG ,
4175 P_Item_Rec.ASN_AUTOEXPIRE_FLAG ,
4176 P_Item_Rec.VMI_FORECAST_TYPE ,
4177 P_Item_Rec.FORECAST_HORIZON ,
4178 P_Item_Rec.EXCLUDE_FROM_BUDGET_FLAG ,
4179 P_Item_Rec.DAYS_TGT_INV_SUPPLY ,
4180 P_Item_Rec.DAYS_TGT_INV_WINDOW ,
4181 P_Item_Rec.DAYS_MAX_INV_SUPPLY ,
4182 P_Item_Rec.DAYS_MAX_INV_WINDOW ,
4183 P_Item_Rec.DRP_PLANNED_FLAG ,
4184 P_Item_Rec.CRITICAL_COMPONENT_FLAG ,
4185 P_Item_Rec.CONTINOUS_TRANSFER ,
4186 P_Item_Rec.CONVERGENCE ,
4187 P_Item_Rec.DIVERGENCE,
4188 /* Start Bug 3713912 */--Added for R12
4189 P_Item_rec.LOT_DIVISIBLE_FLAG,
4190 P_Item_Rec.GRADE_CONTROL_FLAG,
4191 P_Item_Rec.DEFAULT_GRADE,
4192 P_Item_Rec.CHILD_LOT_FLAG,
4193 P_Item_Rec.PARENT_CHILD_GENERATION_FLAG,
4194 P_Item_Rec.CHILD_LOT_PREFIX,
4195 P_Item_Rec.CHILD_LOT_STARTING_NUMBER,
4196 P_Item_Rec.CHILD_LOT_VALIDATION_FLAG,
4197 P_Item_Rec.COPY_LOT_ATTRIBUTE_FLAG,
4198 P_Item_Rec.RECIPE_ENABLED_FLAG,
4199 P_Item_Rec.PROCESS_QUALITY_ENABLED_FLAG,
4200 P_Item_Rec.PROCESS_EXECUTION_ENABLED_FLAG,
4201 P_Item_Rec.PROCESS_COSTING_ENABLED_FLAG,
4202 P_Item_Rec.PROCESS_SUPPLY_SUBINVENTORY,
4203 P_Item_Rec.PROCESS_SUPPLY_LOCATOR_ID,
4204 P_Item_Rec.PROCESS_YIELD_SUBINVENTORY,
4205 P_Item_Rec.PROCESS_YIELD_LOCATOR_ID,
4206 P_Item_Rec.HAZARDOUS_MATERIAL_FLAG,
4207 P_Item_Rec.CAS_NUMBER,
4208 P_Item_Rec.RETEST_INTERVAL,
4209 P_Item_Rec.EXPIRATION_ACTION_INTERVAL,
4210 P_Item_Rec.EXPIRATION_ACTION_CODE,
4211 P_Item_Rec.MATURITY_DAYS,
4212 P_Item_Rec.HOLD_DAYS,
4213 P_Item_Rec.ATTRIBUTE16,
4214 P_Item_Rec.ATTRIBUTE17,
4215 P_Item_Rec.ATTRIBUTE18,
4216 P_Item_Rec.ATTRIBUTE19,
4217 P_Item_Rec.ATTRIBUTE20,
4218 P_Item_Rec.ATTRIBUTE21,
4219 P_Item_Rec.ATTRIBUTE22,
4220 P_Item_Rec.ATTRIBUTE23,
4221 P_Item_Rec.ATTRIBUTE24,
4222 P_Item_Rec.ATTRIBUTE25,
4223 P_Item_Rec.ATTRIBUTE26,
4224 P_Item_Rec.ATTRIBUTE27,
4225 P_Item_Rec.ATTRIBUTE28,
4226 P_Item_Rec.ATTRIBUTE29,
4227 P_Item_Rec.ATTRIBUTE30,
4228 /* End Bug 3713912 */
4229 p_Item_rec.CHARGE_PERIODICITY_CODE,
4230 p_Item_rec.REPAIR_LEADTIME,
4231 p_Item_rec.REPAIR_YIELD,
4232 p_Item_rec.PREPOSITION_POINT,
4233 p_Item_rec.REPAIR_PROGRAM,
4234 p_Item_rec.SUBCONTRACTING_COMPONENT,
4235 p_Item_rec.OUTSOURCED_ASSEMBLY,
4236 /* Bug 4224512 Updating the object version number - Anmurali */
4237 1,
4238 -- Fix for Bug#6644711
4239 p_Item_rec.DEFAULT_MATERIAL_STATUS_ID,
4240 --Serial_Tagging Enh -- bug 9913552
4241 p_Item_rec.SERIAL_TAGGING_FLAG
4242 )
4243 RETURNING ROWID INTO x_row_Id;
4244
4245 IF (P_Item_Rec.organization_id = Get_Master_Org_ID (P_Item_Rec.organization_id) ) THEN
4246 -- If the Org is master, insert the source language translated columns
4247 -- for child organizations.
4248
4249 INSERT INTO MTL_SYSTEM_ITEMS_TL(
4250 INVENTORY_ITEM_ID,
4251 ORGANIZATION_ID,
4252 LANGUAGE,
4253 SOURCE_LANG,
4254 DESCRIPTION,
4255 LONG_DESCRIPTION,
4256 LAST_UPDATE_DATE,
4257 LAST_UPDATED_BY,
4258 CREATION_DATE,
4259 CREATED_BY,
4260 LAST_UPDATE_LOGIN )
4261 SELECT
4262 P_Item_Rec.INVENTORY_ITEM_ID,
4263 P_Item_Rec.ORGANIZATION_ID,
4264 L.LANGUAGE_CODE,
4265 USERENV('LANG'),
4266 ltrim(rtrim(P_Item_Rec.DESCRIPTION)),
4267 ltrim(rtrim(P_Item_Rec.LONG_DESCRIPTION)),
4268 P_Item_Rec.LAST_UPDATE_DATE,
4269 P_Item_Rec.LAST_UPDATED_BY,
4270 P_Item_Rec.CREATION_DATE,
4271 P_Item_Rec.CREATED_BY,
4272 P_Item_Rec.LAST_UPDATE_LOGIN
4273 FROM FND_LANGUAGES L
4274 WHERE L.INSTALLED_FLAG in ('I', 'B')
4275 AND NOT EXISTS
4276 ( SELECT NULL
4277 FROM MTL_SYSTEM_ITEMS_TL T
4278 WHERE T.INVENTORY_ITEM_ID = P_Item_Rec.INVENTORY_ITEM_ID
4279 AND T.ORGANIZATION_ID = P_Item_Rec.ORGANIZATION_ID
4280 AND T.LANGUAGE = L.LANGUAGE_CODE);
4281 ELSE
4282 -- If the Org is not master, then while creating new child items,
4283 -- copy translated columns from the master item record.
4284 INSERT INTO MTL_SYSTEM_ITEMS_TL (
4285 INVENTORY_ITEM_ID,
4286 ORGANIZATION_ID,
4287 LANGUAGE,
4288 SOURCE_LANG,
4289 DESCRIPTION,
4290 LONG_DESCRIPTION,
4291 LAST_UPDATE_DATE,
4292 LAST_UPDATED_BY,
4293 CREATION_DATE,
4294 CREATED_BY,
4295 LAST_UPDATE_LOGIN)
4296 SELECT
4297 P_Item_Rec.INVENTORY_ITEM_ID,
4298 P_Item_Rec.ORGANIZATION_ID,
4299 MSI.LANGUAGE,
4300 MSI.SOURCE_LANG,
4301 ltrim(rtrim(MSI.DESCRIPTION)),
4302 ltrim(rtrim(MSI.LONG_DESCRIPTION)),
4303 P_Item_Rec.LAST_UPDATE_DATE,
4304 P_Item_Rec.LAST_UPDATED_BY,
4305 P_Item_Rec.CREATION_DATE,
4306 P_Item_Rec.CREATED_BY,
4307 P_Item_Rec.LAST_UPDATE_LOGIN
4308 FROM
4309 MTL_SYSTEM_ITEMS_TL MSI,
4310 MTL_PARAMETERS MP
4311 WHERE
4312 MSI.INVENTORY_ITEM_ID = P_Item_Rec.INVENTORY_ITEM_ID
4313 AND MSI.ORGANIZATION_ID = MP.MASTER_ORGANIZATION_ID
4314 AND MP.ORGANIZATION_ID = P_Item_Rec.ORGANIZATION_ID;
4315 END IF;
4316
4317 --
4318 -- Finally, send messages to dependent business objects.
4319 --
4320 --Bug: 2718703 checking for ENI product before calling their package
4321 IF ( INV_Item_Util.g_Appl_Inst.ENI <> 0 ) THEN
4322
4323 EXECUTE IMMEDIATE
4324 ' BEGIN '||
4325 ' ENI_ITEMS_STAR_PKG.Insert_Items_In_Star( '||
4326 ' p_api_version => 1.0 '||
4327 ' , p_init_msg_list => FND_API.g_TRUE '||
4328 ' , p_inventory_item_id => :l_Inventory_Item_ID '||
4329 ' , p_organization_id => :l_Organization_ID '||
4330 ' , x_return_status => :l_return_status '||
4331 ' , x_msg_count => :l_msg_count '||
4332 ' , x_msg_data => :l_msg_data ); '||
4333 ' END;'
4334 USING IN l_Inventory_Item_ID, IN l_Organization_ID, OUT l_return_status, OUT l_msg_count, OUT l_msg_data;
4335
4336 IF ( l_return_status = FND_API.g_RET_STS_ERROR ) THEN
4337 FND_MESSAGE.Set_Encoded (l_msg_data);
4338 APP_EXCEPTION.Raise_Exception;
4339 ELSIF ( l_return_status = FND_API.g_RET_STS_UNEXP_ERROR ) THEN
4340 FND_MESSAGE.Set_Encoded (l_msg_data);
4341 APP_EXCEPTION.Raise_Exception;
4342 END IF;
4343
4344 END IF;
4345
4346 --Bug: 2728939 Calling add grant if EGO is installed
4347 OPEN c_ego_exists;
4348 FETCH c_ego_exists INTO l_ego_exists;
4349 CLOSE c_ego_exists;
4350
4351 -- For Internal Users , Customer_Id may not getting populated in FND_USER
4352 -- Hence checking USER_ID from ego_people_v which always return all registered
4353 -- Users (Customer, Internal and Vendor)
4354 -- Bug Fix : 3048453
4355 --3797291: Using fnd_grants API instead of EGO API.
4356 IF (l_ego_exists = 'Y' AND INV_Item_Util.g_Appl_Inst.EGO <> 0 ) THEN
4357 l_party_id := NULL;
4358 BEGIN
4359
4360 --4932512 : Replacing ego_people with ego_user
4361 SELECT party_id INTO l_party_id
4362 FROM EGO_USER_V
4363 WHERE USER_ID = FND_GLOBAL.User_ID;
4364
4365 IF l_party_id IS NOT NULL THEN
4366 FND_GRANTS_PKG.GRANT_FUNCTION(
4367 P_API_VERSION => 1.0
4368 ,P_MENU_NAME => 'EGO_ITEM_OWNER'
4369 ,P_OBJECT_NAME => 'EGO_ITEM'
4370 ,P_INSTANCE_TYPE => 'INSTANCE'
4371 ,P_INSTANCE_PK1_VALUE => l_Inventory_Item_ID
4372 ,P_INSTANCE_PK2_VALUE => l_Organization_ID
4373 ,P_GRANTEE_KEY => 'HZ_PARTY:'||TO_CHAR(l_party_id)
4374 ,P_START_DATE => SYSDATE
4375 ,P_END_DATE => NULL
4376 ,X_GRANT_GUID => l_grant_Guid
4377 ,X_SUCCESS => l_return_status
4378 ,X_ERRORCODE => l_msg_count);
4379 END IF;
4380 EXCEPTION
4381 WHEN OTHERS THEN
4382 NULL;
4383 END;
4384 END IF;
4385
4386 /* R12: Business Event Enhancement:
4387 Raise Event if Item got Created successfully */
4388 BEGIN
4389 INV_ITEM_EVENTS_PVT.Raise_Events(
4390 p_event_name => 'EGO_WF_WRAPPER_PVT.G_ITEM_CREATE_EVENT'
4391 ,p_dml_type => 'CREATE'
4392 ,p_inventory_item_id => P_Item_Rec.INVENTORY_ITEM_ID
4393 ,p_item_description => ltrim(rtrim(P_Item_Rec.DESCRIPTION))
4394 ,p_organization_id => P_Item_Rec.ORGANIZATION_Id );
4395 EXCEPTION
4396 WHEN OTHERS THEN
4397 NULL;
4398 END;
4399
4400 l_mast_organization_id := Get_Master_Org_ID(P_Item_Rec.organization_id);
4401
4402 IF (P_Item_Rec.organization_id = l_mast_organization_id ) THEN
4403 l_master_org := 'Y';
4404 ELSE
4405 l_master_org := 'N';
4406 END IF;
4407
4408 BEGIN
4409 IF l_master_org = 'N' THEN
4410 INV_ITEM_EVENTS_PVT.Invoke_JAI_API(
4411 p_action_type => 'ASSIGN'
4412 , p_organization_id => p_item_rec.organization_id
4413 , p_inventory_item_id => p_item_rec.inventory_item_id
4414 , p_source_organization_id => l_mast_organization_id
4415 , p_source_inventory_item_id => p_item_rec.inventory_item_id
4416 , p_set_process_id => NULL
4417 , p_called_from => 'INVVITM.pls');
4418 END IF;
4419 EXCEPTION
4420 WHEN OTHERS THEN
4421 NULL;
4422 END;
4423 --R12: Business Event Enhancement
4424 END Insert_Row;
4425
4426
4427 PROCEDURE Update_Row(P_Item_Rec IN INV_ITEM_API.Item_rec_type)
4428 IS
4429
4430 l_return_status VARCHAR2(1);
4431 l_msg_count NUMBER;
4432 l_msg_data VARCHAR2(2000);
4433
4434 BEGIN
4435
4436 INV_ITEM_PVT.Update_Org_Items(
4437 p_init_msg_list => fnd_api.g_TRUE
4438 ,p_commit => fnd_api.g_FALSE
4439 ,p_lock_rows => fnd_api.g_FALSE
4440 ,p_validation_level => fnd_api.g_VALID_LEVEL_FULL
4441 ,p_Item_rec => P_Item_Rec
4442 ,p_validate_Master => fnd_api.g_FALSE
4443 ,x_return_status => l_return_status
4444 ,x_msg_count => l_msg_count
4445 ,x_msg_data => l_msg_data);
4446
4447 IF ( l_return_status = fnd_api.g_RET_STS_ERROR ) THEN
4448 fnd_message.SET_ENCODED( l_msg_data );
4449 Raise FND_API.g_EXC_UNEXPECTED_ERROR;
4450 ELSIF ( l_return_status = fnd_api.g_RET_STS_UNEXP_ERROR ) THEN
4451 fnd_message.SET_ENCODED( l_msg_data );
4452 Raise FND_API.g_EXC_UNEXPECTED_ERROR;
4453 END IF;
4454
4455 --
4456 -- Finally, send messages to dependent business objects.
4457 --
4458 END Update_Row;
4459
4460 --Jalaj Srivastava Bug 5017588
4461 --added to check if sec uom class is mismatched
4462
4463 PROCEDURE check_mismatch_of_secuom_class(
4464 p_inventory_item_id IN NUMBER
4465 ,p_secondary_uom_class IN MTL_UNITS_OF_MEASURE.UOM_CLASS%TYPE)
4466 IS
4467 Cursor c_check_sec_uom_class(Vinventory_item_id mtl_system_items_b.inventory_item_id%TYPE) IS
4468 SELECT muomv.UOM_CLASS
4469 FROM MTL_UNITS_OF_MEASURE_VL muomv, mtl_system_items_b msib
4470 WHERE muomv.uom_code = msib.secondary_uom_code
4471 AND msib.inventory_item_id = Vinventory_item_id
4472 AND msib.secondary_uom_code IS NOT NULL
4473 AND ROWNUM = 1;
4474
4475 l_sec_uom_class MTL_UNITS_OF_MEASURE.UOM_CLASS%TYPE := NULL;
4476 BEGIN
4477 --check for uom class in other orgs
4478 OPEN c_check_sec_uom_class(Vinventory_item_id => p_inventory_item_id);
4479 FETCH c_check_sec_uom_class INTO l_sec_uom_class;
4480 IF (c_check_sec_uom_class%NOTFOUND) THEN
4481 l_sec_uom_class := NULL;
4482 END IF;
4483 CLOSE c_check_sec_uom_class;
4484 --raise error if item exists anywhere else with a different sec uom class
4485 IF (l_sec_uom_class <> p_secondary_uom_class) THEN
4486 FND_MESSAGE.SET_NAME('INV','INV_SEC_UOM_MISMATCH_CLASS');
4487 Raise FND_API.g_EXC_UNEXPECTED_ERROR;
4488 END IF;
4489
4490 END check_mismatch_of_secuom_class;
4491
4492 PROCEDURE Create_Item(
4493 P_Item_Rec IN INV_ITEM_API.Item_rec_type
4494 ,P_Item_Category_Struct_Id IN NUMBER
4495 ,P_Inv_Install IN NUMBER
4496 ,P_Master_Org_Id IN MTL_SYSTEM_ITEMS.ORGANIZATION_ID%TYPE
4497 ,P_Category_Set_Id IN NUMBER
4498 ,P_Item_Category_Id IN NUMBER
4499 ,P_Event IN VARCHAR2 DEFAULT 'INSERT'
4500 ,x_row_Id OUT NOCOPY ROWID
4501 ,P_Default_Move_Order_Sub_Inv IN VARCHAR2 -- Item Transaction Defaults for 11.5.9
4502 ,P_Default_Receiving_Sub_Inv IN VARCHAR2
4503 ,P_Default_Shipping_Sub_Inv IN VARCHAR2)
4504 IS
4505
4506 Cursor c_get_uom_class(cp_uom mtl_units_of_measure_vl.unit_of_measure%TYPE
4507 /* Bug 3713912 */ ,cp_uom_code mtl_units_of_measure_vl.uom_code%TYPE) IS
4508 SELECT UOM_CLASS
4509 FROM MTL_UNITS_OF_MEASURE_VL
4510 WHERE UNIT_OF_MEASURE = cp_uom
4511 OR uom_code = cp_uom_code;
4512
4513 Cursor c_get_item_count(cp_Org_Id MTL_SYSTEM_ITEMS.ORGANIZATION_ID%TYPE
4514 ,cp_Item_Id MTL_SYSTEM_ITEMS.INVENTORY_ITEM_ID%TYPE)
4515 IS
4516 SELECT COUNT(1)
4517 FROM MTL_SYSTEM_ITEMS
4518 WHERE INVENTORY_ITEM_ID = cp_Item_Id
4519 AND ORGANIZATION_ID = cp_org_id;
4520
4521 l_item_count NUMBER :=0;
4522 l_primary_uom MTL_SYSTEM_ITEMS.PRIMARY_UNIT_OF_MEASURE%TYPE;
4523 l_primary_uom_code MTL_UNITS_OF_MEASURE_VL.UOM_CODE%TYPE;
4524 l_new_item_id MTL_SYSTEM_ITEMS.INVENTORY_ITEM_ID%TYPE;
4525 l_unit_of_measure MTL_SYSTEM_ITEMS.PRIMARY_UNIT_OF_MEASURE%TYPE;
4526 l_uom_class MTL_UNITS_OF_MEASURE.UOM_CLASS%TYPE := NULL;
4527 l_rec_uom_class MTL_UNITS_OF_MEASURE.UOM_CLASS%TYPE;
4528 l_description MTL_SYSTEM_ITEMS.DESCRIPTION%TYPE;
4529 l_catalog_grp_id NUMBER;
4530 l_folder_item_cat_id NUMBER := NULL;
4531 /* Bug 3713912 */
4532 l_rec_sec_uom_class MTL_UNITS_OF_MEASURE.UOM_CLASS%TYPE;
4533 l_master_org VARCHAR2(1);
4534 BEGIN
4535 --Jalaj Srivastava Bug 5017588
4536 IF (P_Item_rec.secondary_uom_code IS NOT NULL) THEN
4537 --get the uom class for the current record
4538 OPEN c_get_uom_class(cp_uom => NULL, cp_uom_code => P_Item_rec.secondary_uom_code);
4539 FETCH c_get_uom_class INTO l_rec_sec_uom_class;
4540 CLOSE c_get_uom_class;
4541 END IF;
4542 --{
4543 IF P_Event <> 'ORG_ASSIGN' THEN
4544 --Item uniqueness procedure
4545 Check_Item_Number (
4546 P_Segment_Rec => P_Item_Rec
4547 ,P_Item_Id => l_new_item_id
4548 ,P_Description => l_description
4549 ,P_unit_of_measure => l_unit_of_measure
4550 ,P_Item_Catalog_Group_Id => l_catalog_grp_id);
4551 --{
4552 IF l_new_item_id IS NOT NULL THEN
4553
4554 --Item exists with same segment combinations
4555 --If in the same org grp raise error otherwise match on catlog and uom class.
4556
4557 OPEN c_get_item_count(cp_org_id => P_Item_rec.organization_id
4558 ,cp_Item_Id => l_new_item_id);
4559
4560 FETCH c_get_item_count INTO l_item_count;
4561 CLOSE c_get_item_count;
4562 IF l_item_count > 0 THEN
4563 FND_MESSAGE.SET_NAME('INV','INV_DUPLICATE_ITEM');
4564 Raise FND_API.g_EXC_UNEXPECTED_ERROR;
4565 END IF;
4566 IF l_catalog_grp_id <> P_Item_Rec.item_catalog_group_id THEN
4567 FND_MESSAGE.SET_NAME( 'INV','INV_MISMATCH_CATALOG' );
4568 Raise FND_API.g_EXC_UNEXPECTED_ERROR;
4569 END IF;
4570
4571 OPEN c_get_uom_class(cp_uom => l_unit_of_measure, cp_uom_code => NULL);
4572 FETCH c_get_uom_class INTO l_uom_class;
4573 CLOSE c_get_uom_class;
4574 OPEN c_get_uom_class(cp_uom => P_Item_Rec.primary_unit_of_measure, cp_uom_code => NULL);
4575 FETCH c_get_uom_class INTO l_rec_uom_class;
4576 CLOSE c_get_uom_class;
4577
4578 IF l_uom_class <> l_rec_uom_class THEN
4579 FND_MESSAGE.SET_NAME('INV','INV_MISMATCH_CLASS');
4580 Raise FND_API.g_EXC_UNEXPECTED_ERROR;
4581 END IF;
4582 --Jalaj Srivastava Bug 5017588
4583 --check for mismatch of sec uom class.
4584 check_mismatch_of_secuom_class( p_inventory_item_id => l_new_item_id
4585 ,p_secondary_uom_class => l_rec_sec_uom_class);
4586 END IF;--}
4587 --Jalaj Srivastava Bug 5017588
4588 ELSIF P_Event = 'ORG_ASSIGN' THEN
4589 --check for mismatch of sec uom class.
4590 --sec uom may now also be changed via org assignment
4591 --item created as non dual may be defined as dual while doing org assign.
4592 check_mismatch_of_secuom_class( p_inventory_item_id => P_Item_rec.inventory_item_id
4593 ,p_secondary_uom_class => l_rec_sec_uom_class);
4594 END IF;--}
4595
4596 --Insert the item row
4597 INSERT_ROW(P_Item_Rec => P_Item_Rec,
4598 x_row_id => x_row_Id);
4599
4600 IF P_Event ='ORG_ASSIGN' THEN
4601 l_primary_uom := NULL;
4602 l_primary_uom_code := NULL;
4603 l_rec_uom_class := NULL;
4604 ELSE
4605 INVIDIT3.Set_Inv_Item_id(P_Item_Rec.INVENTORY_ITEM_ID);
4606 l_primary_uom := P_Item_rec.primary_unit_of_measure;
4607 l_primary_uom_code := P_Item_rec.primary_uom_code;
4608 END IF;
4609
4610 IF l_rec_uom_class IS NULL THEN
4611 OPEN c_get_uom_class(cp_uom => P_Item_Rec.primary_unit_of_measure, cp_uom_code => NULL);
4612 FETCH c_get_uom_class INTO l_rec_uom_class;
4613 CLOSE c_get_uom_class;
4614 END IF;
4615
4616 IF P_Item_Category_Struct_Id IS NOT NULL THEN
4617 l_folder_item_cat_id := P_Item_Category_Id;
4618 ELSE
4619 l_folder_item_cat_id := NULL;
4620 END IF;
4621
4622 INVIDIT2.Table_Inserts (
4623 X_EVENT => P_Event,
4624 X_ITEM_ID => P_Item_Rec.inventory_item_id,
4625 X_ORG_ID => P_Item_rec.organization_id,
4626 X_MASTER_ORG_ID => P_Master_Org_Id,
4627 X_STATUS_CODE => P_Item_rec.inventory_item_status_code,
4628 X_INVENTORY_ITEM_FLAG => P_Item_rec.inventory_item_flag,
4629 X_PURCHASING_ITEM_FLAG => P_Item_rec.purchasing_item_flag,
4630 X_INTERNAL_ORDER_FLAG => P_Item_rec.internal_order_flag,
4631 X_MRP_PLANNING_CODE => P_Item_rec.mrp_planning_code,
4632 X_SERVICEABLE_PRODUCT_FLAG => P_Item_rec.serviceable_product_flag,
4633 X_COSTING_ENABLED_FLAG => P_Item_rec.costing_enabled_flag,
4634 X_ENG_ITEM_FLAG => P_Item_rec.eng_item_flag,
4635 X_CUSTOMER_ORDER_FLAG => P_Item_rec.customer_order_flag,
4636 X_EAM_ITEM_TYPE => P_Item_rec.eam_item_type,
4637 X_CONTRACT_ITEM_TYPE_CODE => P_Item_rec.contract_item_type_code,
4638 P_FOLDER_CATEGORY_SET_ID => P_Category_set_id,
4639 P_FOLDER_ITEM_CATEGORY_ID => l_folder_item_cat_id,
4640 X_ALLOWED_UNIT_CODE => P_Item_rec.allowed_units_lookup_code,
4641 X_PRIMARY_UOM => l_primary_uom,
4642 X_PRIMARY_UOM_CODE => l_primary_uom_code,
4643 X_PRIMARY_UOM_CLASS => l_rec_uom_class,
4644 X_INV_INSTALL => P_inv_install,
4645 X_LAST_UPDATED_BY => P_Item_rec.last_updated_by,
4646 X_LAST_UPDATE_LOGIN => P_Item_rec.last_update_login,
4647 X_ITEM_CATALOG_GROUP_ID => -1
4648 ,P_Default_Move_Order_Sub_Inv => P_Default_Move_Order_Sub_Inv
4649 ,P_Default_Receiving_Sub_Inv => P_Default_Receiving_Sub_Inv
4650 ,P_Default_Shipping_Sub_Inv => P_Default_Shipping_Sub_Inv
4651 ,P_Lifecycle_Id => P_Item_rec.Lifecycle_Id
4652 ,P_Current_Phase_Id => P_Item_rec.Current_Phase_id);
4653
4654 --Call ICX APIs
4655 IF (P_Item_Rec.organization_id = P_Master_Org_Id ) THEN
4656 l_master_org := 'Y';
4657 ELSE
4658 l_master_org := 'N';
4659 END IF;
4660
4661 BEGIN
4662 INV_ITEM_EVENTS_PVT.Invoke_ICX_APIs(
4663 p_entity_type => 'ITEM'
4664 ,p_dml_type => 'CREATE'
4665 ,p_inventory_item_id => P_Item_Rec.INVENTORY_ITEM_ID
4666 ,p_item_description => ltrim(rtrim(P_Item_Rec.DESCRIPTION))
4667 ,p_organization_id => P_Item_Rec.ORGANIZATION_Id
4668 ,p_master_org_flag => l_master_org );
4669 EXCEPTION
4670 WHEN OTHERS THEN
4671 NULL;
4672 END;
4673
4674 EXCEPTION
4675 WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
4676 x_row_Id := NULL;
4677 IF c_get_uom_class%ISOPEN THEN
4678 CLOSE c_get_uom_class;
4679 END IF;
4680 IF c_get_item_count%ISOPEN THEN
4681 CLOSE c_get_item_count;
4682 END IF;
4683 app_exception.raise_exception;
4684
4685 WHEN OTHERS THEN
4686 x_row_Id := NULL;
4687 IF c_get_uom_class%ISOPEN THEN
4688 CLOSE c_get_uom_class;
4689 END IF;
4690 IF c_get_item_count%ISOPEN THEN
4691 CLOSE c_get_item_count;
4692 END IF;
4693 app_exception.raise_exception;
4694
4695 END Create_Item;
4696
4697
4698 PROCEDURE Delete_Cost_Details(
4699 P_Item_Id IN MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID%TYPE
4700 ,P_Org_Id IN MTL_SYSTEM_ITEMS_B.ORGANIZATION_ID%TYPE
4701 ,P_Asset_Flag IN MTL_SYSTEM_ITEMS_B.INVENTORY_ASSET_FLAG%TYPE
4702 ,P_Cost_Txn IN NUMBER
4703 ,P_Last_Updated_By IN MTL_SYSTEM_ITEMS_B.LAST_UPDATED_BY%TYPE
4704 ,P_Last_Updated_Login IN MTL_SYSTEM_ITEMS_B.LAST_UPDATE_LOGIN%TYPE)
4705 IS
4706
4707 l_prim_cost_method MTL_PARAMETERS.PRIMARY_COST_METHOD%TYPE;
4708 /* l_profile_exists BOOLEAN;
4709 l_profile_val VARCHAR2(240); Bug 4247149*/
4710
4711 BEGIN
4712 IF NVL(P_cost_txn,-99) <> 1 THEN
4713
4714 SELECT primary_cost_method
4715 INTO l_prim_cost_method
4716 FROM mtl_parameters
4717 WHERE ORGANIZATION_ID = p_org_id;
4718
4719 UPDATE cst_item_costs
4720 SET inventory_asset_flag = decode(P_Asset_Flag,'Y', 1, 2)
4721 ,LAST_UPDATED_BY = P_Last_Updated_By
4722 ,LAST_UPDATE_DATE = SYSDATE
4723 ,LAST_UPDATE_LOGIN = P_Last_Updated_Login
4724 ,PL_MATERIAL = 0
4725 ,PL_MATERIAL_OVERHEAD = 0
4726 ,PL_RESOURCE = 0
4727 ,PL_OUTSIDE_PROCESSING = 0
4728 ,PL_OVERHEAD = 0
4729 ,TL_MATERIAL = 0
4730 ,TL_MATERIAL_OVERHEAD = 0
4731 ,TL_RESOURCE = 0
4732 ,TL_OUTSIDE_PROCESSING = 0
4733 ,TL_OVERHEAD = 0
4734 ,MATERIAL_COST = 0
4735 ,MATERIAL_OVERHEAD_COST = 0
4736 ,RESOURCE_COST = 0
4737 ,OUTSIDE_PROCESSING_COST = 0
4738 ,OVERHEAD_COST = 0
4739 ,PL_ITEM_COST = 0
4740 ,TL_ITEM_COST = 0
4741 ,ITEM_COST = 0
4742 ,UNBURDENED_COST = 0
4743 ,BURDEN_COST = 0
4744 WHERE organization_id = P_Org_Id
4745 AND inventory_item_id = p_Item_Id
4746 AND cost_type_id = l_prim_cost_method;
4747
4748 UPDATE cst_quantity_layers
4749 SET LAST_UPDATED_BY = P_Last_Updated_By
4750 ,LAST_UPDATE_DATE = SYSDATE
4751 ,LAST_UPDATE_LOGIN = P_Last_Updated_Login
4752 ,PL_MATERIAL = 0
4753 ,PL_MATERIAL_OVERHEAD = 0
4754 ,PL_RESOURCE = 0
4755 ,PL_OUTSIDE_PROCESSING = 0
4756 ,PL_OVERHEAD = 0
4757 ,TL_MATERIAL = 0
4758 ,TL_MATERIAL_OVERHEAD = 0
4759 ,TL_RESOURCE = 0
4760 ,TL_OUTSIDE_PROCESSING = 0
4761 ,TL_OVERHEAD = 0
4762 ,MATERIAL_COST = 0
4763 ,MATERIAL_OVERHEAD_COST = 0
4764 ,RESOURCE_COST = 0
4765 ,OUTSIDE_PROCESSING_COST = 0
4766 ,OVERHEAD_COST = 0
4767 ,PL_ITEM_COST = 0
4768 ,TL_ITEM_COST = 0
4769 ,ITEM_COST = 0
4770 ,UNBURDENED_COST = 0
4771 ,BURDEN_COST = 0
4772 WHERE organization_id = P_Org_Id
4773 AND inventory_item_id = P_Item_id;
4774
4775 DELETE cst_item_cost_details
4776 WHERE inventory_item_id = P_Item_id
4777 AND organization_id = P_Org_Id
4778 AND cost_type_id = l_prim_cost_method;
4779
4780 /* l_profile_exists := FND_PROFILE.DEFINED('CST_AVG_COSTING_OPTION');
4781
4782 IF l_profile_exists THEN
4783 FND_PROFILE.GET ('CST_AVG_COSTING_OPTION',l_profile_val);
4784 END IF; Bug 4247149*/
4785
4786 IF (l_prim_cost_method IN (2,5,6))
4787 /* AND l_profile_exists AND (l_profile_val = '2')) Bug 4247149*/
4788 THEN
4789 DELETE cst_layer_cost_details
4790 WHERE layer_id IN ( SELECT layer_id
4791 FROM cst_quantity_layers
4792 WHERE inventory_item_id = P_Item_Id
4793 AND organization_id = P_Org_Id );
4794 IF (l_prim_cost_method IN (5,6)) THEN
4795 CSTPLENG.update_inv_layer_cost(
4796 I_ORG_ID => P_Org_Id
4797 ,I_ITEM_ID => P_Item_id
4798 ,I_USERID => P_Last_Updated_By
4799 ,I_LOGIN_ID => P_Last_Updated_Login);
4800 END IF;
4801 END IF;
4802 END IF;
4803
4804 EXCEPTION
4805 WHEN NO_DATA_FOUND THEN
4806 NULL;
4807 END Delete_Cost_Details;
4808
4809 PROCEDURE Update_Item(
4810 P_Item_Rec IN INV_ITEM_API.Item_rec_type
4811 ,P_Item_Category_Struct_Id IN NUMBER
4812 ,P_Inv_Install IN NUMBER
4813 ,P_Master_Org_Id IN MTL_SYSTEM_ITEMS.ORGANIZATION_ID%TYPE
4814 ,P_Category_Set_Id IN NUMBER
4815 ,P_Item_Category_Id IN NUMBER
4816 ,P_Mode IN VARCHAR2
4817 ,P_Updateble_Item IN VARCHAR2
4818 ,P_Cost_Txn IN VARCHAR2
4819 ,P_Item_Cost_Details IN VARCHAR2
4820 ,P_Inv_Item_status_old IN MTL_SYSTEM_ITEMS_FVL.INVENTORY_ITEM_STATUS_CODE%TYPE
4821 ,P_Default_Move_Order_Sub_Inv IN VARCHAR2 -- Item Transaction Defaults for 11.5.9
4822 ,P_Default_Receiving_Sub_Inv IN VARCHAR2
4823 ,P_Default_Shipping_Sub_Inv IN VARCHAR2
4824 ) IS
4825
4826 Cursor c_get_uom_class(cp_uom mtl_units_of_measure_vl.unit_of_measure%TYPE) IS
4827 SELECT UOM_CLASS
4828 FROM MTL_UNITS_OF_MEASURE_VL
4829 WHERE UNIT_OF_MEASURE = cp_uom;
4830
4831 l_rec_uom_class MTL_UNITS_OF_MEASURE.UOM_CLASS%TYPE;
4832 l_folder_item_cat_id NUMBER := NULL;
4833 l_cst_item_type MTL_SYSTEM_ITEMS_FVL.PLANNING_MAKE_BUY_CODE%TYPE;
4834 l_Inventory_Item_status MTL_SYSTEM_ITEMS_FVL.INVENTORY_ITEM_STATUS_CODE%TYPE;
4835 l_event VARCHAR2(10);
4836 l_return_status VARCHAR2(1);
4837 l_msg_count NUMBER;
4838 l_msg_data VARCHAR2(2000);
4839 l_master_org VARCHAR2(1); --R12: Business Events
4840 /* commenting as this is causing regression of bug 5220205
4841 added code for this issue (bug 11710464)
4842 l_last_updated_by NUMBER;
4843 l_last_update_date DATE;
4844 l_last_update_login NUMBER;
4845 */
4846 -- Bug 8512945 with base bug 8417326 : Start
4847 l_org_id MTL_PARAMETERS.ORGANIZATION_ID%TYPE;
4848 l_exists VARCHAR2(1) := 'N';
4849 l_control_level NUMBER;
4850
4851 Cursor c_get_child_costing_orgs(org_id MTL_PARAMETERS.ORGANIZATION_ID%TYPE) IS
4852 SELECT ORGANIZATION_ID
4853 FROM MTL_PARAMETERS
4854 WHERE ORGANIZATION_ID = org_id
4855 OR ORGANIZATION_ID IN
4856 (SELECT ORGANIZATION_ID FROM MTL_PARAMETERS
4857 WHERE MASTER_ORGANIZATION_ID = org_id
4858 AND PRIMARY_COST_METHOD in (2,5,6)
4859 AND (1=(select control_level from mtl_item_attributes
4860 where attribute_name= 'MTL_SYSTEM_ITEMS.INVENTORY_ASSET_FLAG')
4861 )
4862 );
4863 -- Bug 8512945 with base bug 8417326 : End
4864
4865 BEGIN
4866
4867 -- Bug 8512945 with base bug 8417326 : Start
4868 select control_level INTO l_control_level
4869 from mtl_item_attributes
4870 where attribute_name= 'MTL_SYSTEM_ITEMS.PLANNING_MAKE_BUY_CODE';
4871
4872 -- Loop through the child orgs if the inv asset flag are controlled at master level
4873 OPEN c_get_child_costing_orgs(org_id => P_Item_rec.organization_id);
4874 LOOP
4875 FETCH c_get_child_costing_orgs INTO l_org_id;
4876 EXIT WHEN c_get_child_costing_orgs%NOTFOUND;
4877
4878 IF P_Item_Cost_Details = 'D' THEN
4879 Delete_Cost_Details(
4880 P_Item_Id => P_Item_Rec.inventory_item_id
4881 ,P_Org_Id => l_org_id -- Bug 8512945 with base bug 8417326
4882 ,P_Asset_Flag => P_Item_rec.inventory_asset_flag
4883 ,P_Cost_Txn => P_Cost_Txn
4884 ,P_Last_Updated_By => P_Item_Rec.last_updated_by
4885 ,P_Last_Updated_Login => P_Item_Rec.last_update_login);
4886 END IF;
4887
4888 IF P_Item_Cost_Details = 'I' THEN
4889
4890 Delete_Cost_Details(
4891 P_Item_Id => P_Item_Rec.inventory_item_id
4892 ,P_Org_Id => l_org_id -- Bug 8512945 with base bug 8417326
4893 ,P_Asset_Flag => P_Item_rec.inventory_asset_flag
4894 ,P_Cost_Txn => P_Cost_Txn
4895 ,P_Last_Updated_By => P_Item_Rec.last_updated_by
4896 ,P_Last_Updated_Login => P_Item_Rec.last_update_login);
4897
4898 /* Bug 8512945 with base bug 8417326 : Below BEGIN Block is added */
4899 BEGIN
4900 SELECT 'Y' INTO l_exists
4901 FROM mtl_system_items_b
4902 WHERE inventory_item_id = P_Item_Rec.inventory_item_id
4903 AND organization_id = l_org_id;
4904
4905 IF (P_Item_rec.organization_id = l_org_id) THEN
4906 IF P_Item_Rec.planning_make_buy_code IN (1,2) THEN
4907 l_cst_item_type := P_Item_Rec.planning_make_buy_code;
4908 ELSE
4909 l_cst_item_type := 2;
4910 END IF;
4911 ELSE
4912 IF (l_control_level = 1) THEN
4913 IF P_Item_Rec.planning_make_buy_code IN (1,2) THEN
4914 l_cst_item_type := P_Item_Rec.planning_make_buy_code;
4915 ELSE
4916 l_cst_item_type := 2;
4917 END IF;
4918 ELSE
4919 SELECT planning_make_buy_code INTO l_cst_item_type
4920 FROM mtl_system_items_b
4921 WHERE inventory_item_id = P_Item_Rec.inventory_item_id
4922 AND organization_id = l_org_id;
4923 END IF;
4924 END IF;
4925 EXCEPTION
4926 WHEN NO_DATA_FOUND THEN
4927 l_exists := 'N';
4928 END;
4929
4930
4931 -- Bug 8512945 with base bug 8417326 : Added the belwo If condition
4932 IF (l_exists = 'Y')THEN
4933
4934 INVIDIT2.Insert_Cost_Details (
4935 x_item_id => P_Item_rec.inventory_item_id
4936 ,x_org_id => l_org_id -- Bug 8512945 with base bug 8417326
4937 ,x_inv_install => P_Inv_Install
4938 ,x_last_updated_by => P_Item_rec.last_updated_by
4939 ,x_cst_item_type => l_cst_item_type );
4940 END IF;
4941 END IF;
4942 END LOOP;
4943 CLOSE c_get_child_costing_orgs;
4944 /* Bug 8512945 with base bug 8417326 : End */
4945
4946 INVIDIT3.Set_Inv_Item_id(P_Item_Rec.INVENTORY_ITEM_ID);
4947
4948 IF P_Mode = 'DEFINE' AND P_Item_rec.costing_enabled_flag = 'Y' THEN
4949 INVIDIT2.Insert_Costing_Category(
4950 x_item_id => P_Item_rec.inventory_item_id
4951 ,x_org_id => P_Item_rec.organization_id);
4952 END IF;
4953
4954 Update_Row(P_Item_Rec => P_Item_Rec);
4955 /* commenting as this is causing regression of bug 5220205
4956 added code for this issue (bug 11710464)
4957
4958 SELECT last_updated_by,last_update_date,LAST_UPDATE_LOGIN
4959 INTO l_last_updated_by ,l_last_update_date,l_last_update_login
4960 FROM
4961 mtl_system_items_b WHERE inventory_item_id=P_Item_rec.inventory_item_id
4962 AND organization_id= P_Master_Org_Id;
4963 */
4964
4965
4966 IF P_mode = 'DEFINE' THEN
4967 IF P_Updateble_Item = 'ALL' THEN
4968 UPDATE mtl_system_items_b
4969 SET segment1 = P_Item_rec.segment1
4970 ,segment2 = P_Item_rec.segment2
4971 ,segment3 = P_Item_rec.segment3
4972 ,segment4 = P_Item_rec.segment4
4973 ,segment5 = P_Item_rec.segment5
4974 ,segment6 = P_Item_rec.segment6
4975 ,segment7 = P_Item_rec.segment7
4976 ,segment8 = P_Item_rec.segment8
4977 ,segment9 = P_Item_rec.segment9
4978 ,segment10 = P_Item_rec.segment10
4979 ,segment11 = P_Item_rec.segment11
4980 ,segment12 = P_Item_rec.segment12
4981 ,segment13 = P_Item_rec.segment13
4982 ,segment14 = P_Item_rec.segment14
4983 ,segment15 = P_Item_rec.segment15
4984 ,segment16 = P_Item_rec.segment16
4985 ,segment17 = P_Item_rec.segment17
4986 ,segment18 = P_Item_rec.segment18
4987 ,segment19 = P_Item_rec.segment19
4988 ,segment20 = P_Item_rec.segment20
4989 /* commenting as this is causing regression of bug 5220205
4990 added code for this issue (bug 11710464)
4991 ,last_updated_by = l_last_updated_by
4992 ,last_update_date = l_last_update_date
4993 ,LAST_UPDATE_LOGIN = l_last_update_login*/
4994 WHERE inventory_item_id = P_Item_rec.inventory_item_id;
4995 END IF;
4996 END IF;
4997
4998 IF P_Inv_Item_status_old = P_Item_rec.inventory_item_status_code THEN
4999 l_Inventory_Item_status := NULL;
5000 ELSE
5001 l_Inventory_Item_status := P_Item_rec.inventory_item_status_code;
5002 END IF;
5003
5004 IF ( P_mode = 'DEFINE' ) THEN
5005 l_event := 'UPDATE';
5006 ELSIF (P_mode = 'UPDATE' ) THEN
5007 l_event := 'ITEM_ORG';
5008 END IF;
5009
5010 IF l_rec_uom_class IS NULL THEN
5011 OPEN c_get_uom_class(cp_uom => P_Item_Rec.primary_unit_of_measure);
5012 FETCH c_get_uom_class INTO l_rec_uom_class;
5013 CLOSE c_get_uom_class;
5014 END IF;
5015
5016 IF P_Item_Category_Struct_Id IS NOT NULL THEN
5017 l_folder_item_cat_id := P_Item_Category_Id;
5018 ELSE
5019 l_folder_item_cat_id := NULL;
5020 END IF;
5021
5022 INVIDIT2.Table_Inserts (
5023 X_EVENT => l_event,
5024 X_ITEM_ID => P_Item_Rec.inventory_item_id,
5025 X_ORG_ID => P_Item_rec.organization_id,
5026 X_MASTER_ORG_ID => P_Master_Org_Id,
5027 X_STATUS_CODE => l_Inventory_Item_status,
5028 X_INVENTORY_ITEM_FLAG => P_Item_rec.inventory_item_flag,
5029 X_PURCHASING_ITEM_FLAG => P_Item_rec.purchasing_item_flag,
5030 X_INTERNAL_ORDER_FLAG => P_Item_rec.internal_order_flag,
5031 X_MRP_PLANNING_CODE => P_Item_rec.mrp_planning_code,
5032 X_SERVICEABLE_PRODUCT_FLAG => P_Item_rec.serviceable_product_flag,
5033 X_COSTING_ENABLED_FLAG => P_Item_rec.costing_enabled_flag,
5034 X_ENG_ITEM_FLAG => P_Item_rec.eng_item_flag,
5035 X_CUSTOMER_ORDER_FLAG => P_Item_rec.customer_order_flag,
5036 X_EAM_ITEM_TYPE => P_Item_rec.eam_item_type,
5037 X_CONTRACT_ITEM_TYPE_CODE => P_Item_rec.contract_item_type_code,
5038 P_FOLDER_CATEGORY_SET_ID => P_Category_set_id,
5039 P_FOLDER_ITEM_CATEGORY_ID => l_folder_item_cat_id,
5040 X_ALLOWED_UNIT_CODE => P_Item_rec.allowed_units_lookup_code,
5041 X_PRIMARY_UOM => P_Item_rec.primary_unit_of_measure,
5042 X_PRIMARY_UOM_CODE => P_Item_rec.primary_uom_code,
5043 X_PRIMARY_UOM_CLASS => l_rec_uom_class,
5044 X_INV_INSTALL => P_inv_install,
5045 X_LAST_UPDATED_BY => P_Item_rec.last_updated_by,
5046 X_LAST_UPDATE_LOGIN => P_Item_rec.last_update_login,
5047 X_ITEM_CATALOG_GROUP_ID => P_Item_rec.item_catalog_group_id
5048 , P_Default_Move_Order_Sub_Inv => P_Default_Move_Order_Sub_Inv
5049 , P_Default_Receiving_Sub_Inv => P_Default_Receiving_Sub_Inv
5050 , P_Default_Shipping_Sub_Inv => P_Default_Shipping_Sub_Inv
5051 , P_Lifecycle_Id => P_Item_rec.Lifecycle_Id
5052 , P_Current_Phase_Id => P_Item_rec.Current_Phase_id);
5053
5054 --Bug: 2803712 Moved the below call from update_row()
5055 --Bug: 2718703 checking for ENI product before calling their package
5056 IF ( INV_Item_Util.g_Appl_Inst.ENI <> 0 ) THEN
5057 EXECUTE IMMEDIATE
5058 ' BEGIN '||
5059 ' ENI_ITEMS_STAR_PKG.Update_Items_In_Star( '||
5060 ' p_api_version => 1.0 '||
5061 ' , p_init_msg_list => FND_API.g_TRUE '||
5062 ' , p_inventory_item_id => :P_Item_Rec.INVENTORY_ITEM_ID '||
5063 ' , p_organization_id => :P_Item_Rec.ORGANIZATION_ID '||
5064 ' , x_return_status => :l_return_status '||
5065 ' , x_msg_count => :l_msg_count '||
5066 ' , x_msg_data => :l_msg_data ); '||
5067 ' END;'
5068 USING IN P_Item_Rec.INVENTORY_ITEM_ID, IN P_Item_Rec.ORGANIZATION_ID, OUT l_return_status, OUT l_msg_count, OUT l_msg_data;
5069
5070 IF ( l_return_status = FND_API.g_RET_STS_ERROR ) THEN
5071 FND_MESSAGE.Set_Encoded (l_msg_data);
5072 Raise FND_API.g_EXC_UNEXPECTED_ERROR;
5073 ELSIF ( l_return_status = FND_API.g_RET_STS_UNEXP_ERROR ) THEN
5074 FND_MESSAGE.Set_Encoded (l_msg_data);
5075 Raise FND_API.g_EXC_UNEXPECTED_ERROR;
5076 END IF;
5077 END IF;
5078
5079 /* R12: Business Event Enhancement :
5080 Raise Event if Item got Updated successfully */
5081 BEGIN
5082 INV_ITEM_EVENTS_PVT.Raise_Events(
5083 p_event_name => 'EGO_WF_WRAPPER_PVT.G_ITEM_UPDATE_EVENT'
5084 ,p_dml_type => 'UPDATE'
5085 ,p_inventory_item_id => p_Item_rec.INVENTORY_ITEM_ID
5086 ,p_organization_id => p_Item_rec.ORGANIZATION_ID
5087 ,p_item_description => p_Item_rec.DESCRIPTION
5088 );
5089 EXCEPTION
5090 WHEN OTHERS THEN
5091 NULL;
5092 END;
5093
5094 --Call ICX APIs
5095 BEGIN
5096 IF ( p_Master_Org_id = p_Item_rec.ORGANIZATION_ID ) THEN
5097 l_master_org := 'Y';
5098 ELSE
5099 l_master_org := 'N';
5100 END IF;
5101 INV_ITEM_EVENTS_PVT.Invoke_ICX_APIs(
5102 p_entity_type => 'ITEM'
5103 ,p_dml_type => 'UPDATE'
5104 ,p_inventory_item_id => P_Item_Rec.INVENTORY_ITEM_ID
5105 ,p_item_description => P_Item_Rec.DESCRIPTION
5106 ,p_organization_id => P_Item_Rec.ORGANIZATION_ID
5107 ,p_master_org_flag => l_master_org );
5108 EXCEPTION
5109 WHEN OTHERS THEN
5110 NULL;
5111 END;
5112 --R12: Business Event Enhancement
5113
5114
5115 EXCEPTION
5116 WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
5117 IF c_get_uom_class%ISOPEN THEN
5118 CLOSE c_get_uom_class;
5119 END IF;
5120 app_exception.raise_exception;
5121
5122 WHEN OTHERS THEN
5123 IF c_get_uom_class%ISOPEN THEN
5124 CLOSE c_get_uom_class;
5125 END IF;
5126 app_exception.raise_exception;
5127 END Update_Item;
5128
5129 -- ------------------ LOCK_ITEM -------------------
5130 PROCEDURE Lock_Item( P_Item_Rec IN INV_ITEM_API.Item_rec_type) IS
5131
5132 CURSOR c_item_details IS
5133 SELECT
5134 PRIMARY_UOM_CODE,
5135 ALLOWED_UNITS_LOOKUP_CODE,
5136 OVERCOMPLETION_TOLERANCE_TYPE,
5137 OVERCOMPLETION_TOLERANCE_VALUE,
5138 EFFECTIVITY_CONTROL,
5139 CHECK_SHORTAGES_FLAG,
5140 FULL_LEAD_TIME,
5141 ORDER_COST,
5142 MRP_SAFETY_STOCK_PERCENT,
5143 MRP_SAFETY_STOCK_CODE,
5144 MIN_MINMAX_QUANTITY,
5145 MAX_MINMAX_QUANTITY,
5146 MINIMUM_ORDER_QUANTITY,
5147 FIXED_ORDER_QUANTITY,
5148 FIXED_DAYS_SUPPLY,
5149 MAXIMUM_ORDER_QUANTITY,
5150 ATP_RULE_ID,
5151 PICKING_RULE_ID,
5152 RESERVABLE_TYPE,
5153 POSITIVE_MEASUREMENT_ERROR,
5154 NEGATIVE_MEASUREMENT_ERROR,
5155 ENGINEERING_ECN_CODE,
5156 ENGINEERING_ITEM_ID,
5157 ENGINEERING_DATE,
5158 SERVICE_STARTING_DELAY,
5159 SERVICEABLE_COMPONENT_FLAG,
5160 SERVICEABLE_PRODUCT_FLAG,
5161 PAYMENT_TERMS_ID,
5162 PREVENTIVE_MAINTENANCE_FLAG,
5163 MATERIAL_BILLABLE_FLAG,
5164 PRORATE_SERVICE_FLAG,
5165 COVERAGE_SCHEDULE_ID,
5166 SERVICE_DURATION_PERIOD_CODE,
5167 SERVICE_DURATION,
5168 INVOICEABLE_ITEM_FLAG,
5169 TAX_CODE,
5170 INVOICE_ENABLED_FLAG,
5171 MUST_USE_APPROVED_VENDOR_FLAG,
5172 OUTSIDE_OPERATION_FLAG,
5173 OUTSIDE_OPERATION_UOM_TYPE,
5174 SAFETY_STOCK_BUCKET_DAYS,
5175 AUTO_REDUCE_MPS,
5176 COSTING_ENABLED_FLAG,
5177 AUTO_CREATED_CONFIG_FLAG,
5178 CYCLE_COUNT_ENABLED_FLAG,
5179 ITEM_TYPE,
5180 MODEL_CONFIG_CLAUSE_NAME,
5181 SHIP_MODEL_COMPLETE_FLAG,
5182 MRP_PLANNING_CODE,
5183 RETURN_INSPECTION_REQUIREMENT,
5184 ATO_FORECAST_CONTROL,
5185 RELEASE_TIME_FENCE_CODE,
5186 RELEASE_TIME_FENCE_DAYS,
5187 CONTAINER_ITEM_FLAG,
5188 VEHICLE_ITEM_FLAG,
5189 MAXIMUM_LOAD_WEIGHT,
5190 MINIMUM_FILL_PERCENT,
5191 CONTAINER_TYPE_CODE,
5192 INTERNAL_VOLUME,
5193 PRODUCT_FAMILY_ITEM_ID,
5194 GLOBAL_ATTRIBUTE_CATEGORY,
5195 GLOBAL_ATTRIBUTE1,
5196 GLOBAL_ATTRIBUTE2,
5197 GLOBAL_ATTRIBUTE3,
5198 GLOBAL_ATTRIBUTE4,
5199 GLOBAL_ATTRIBUTE5,
5200 GLOBAL_ATTRIBUTE6,
5201 GLOBAL_ATTRIBUTE7,
5202 GLOBAL_ATTRIBUTE8,
5203 GLOBAL_ATTRIBUTE9,
5204 GLOBAL_ATTRIBUTE10,
5205 GLOBAL_ATTRIBUTE11,
5206 GLOBAL_ATTRIBUTE12,
5207 GLOBAL_ATTRIBUTE13,
5208 GLOBAL_ATTRIBUTE14,
5209 GLOBAL_ATTRIBUTE15,
5210 GLOBAL_ATTRIBUTE16,
5211 GLOBAL_ATTRIBUTE17,
5212 GLOBAL_ATTRIBUTE18,
5213 GLOBAL_ATTRIBUTE19,
5214 GLOBAL_ATTRIBUTE20,
5215 PURCHASING_TAX_CODE,
5216 ATTRIBUTE6,
5217 ATTRIBUTE7,
5218 ATTRIBUTE8,
5219 ATTRIBUTE9,
5220 ATTRIBUTE10,
5221 ATTRIBUTE11,
5222 ATTRIBUTE12,
5223 ATTRIBUTE13,
5224 ATTRIBUTE14,
5225 ATTRIBUTE15,
5226 PURCHASING_ITEM_FLAG,
5227 SHIPPABLE_ITEM_FLAG,
5228 CUSTOMER_ORDER_FLAG,
5229 INTERNAL_ORDER_FLAG,
5230 INVENTORY_ITEM_FLAG,
5231 ENG_ITEM_FLAG,
5232 INVENTORY_ASSET_FLAG,
5233 PURCHASING_ENABLED_FLAG,
5234 CUSTOMER_ORDER_ENABLED_FLAG,
5235 INTERNAL_ORDER_ENABLED_FLAG,
5236 SO_TRANSACTIONS_FLAG,
5237 MTL_TRANSACTIONS_ENABLED_FLAG,
5238 STOCK_ENABLED_FLAG,
5239 BOM_ENABLED_FLAG,
5240 BUILD_IN_WIP_FLAG,
5241 REVISION_QTY_CONTROL_CODE,
5242 ITEM_CATALOG_GROUP_ID,
5243 CATALOG_STATUS_FLAG,
5244 RETURNABLE_FLAG,
5245 DEFAULT_SHIPPING_ORG,
5246 COLLATERAL_FLAG,
5247 TAXABLE_FLAG,
5248 QTY_RCV_EXCEPTION_CODE,
5249 ALLOW_ITEM_DESC_UPDATE_FLAG,
5250 INSPECTION_REQUIRED_FLAG,
5251 RECEIPT_REQUIRED_FLAG,
5252 MARKET_PRICE,
5253 HAZARD_CLASS_ID,
5254 RFQ_REQUIRED_FLAG,
5255 QTY_RCV_TOLERANCE,
5256 LIST_PRICE_PER_UNIT,
5257 UN_NUMBER_ID,
5258 PRICE_TOLERANCE_PERCENT,
5259 ASSET_CATEGORY_ID,
5260 ROUNDING_FACTOR,
5261 UNIT_OF_ISSUE,
5262 ENFORCE_SHIP_TO_LOCATION_CODE,
5263 ALLOW_SUBSTITUTE_RECEIPTS_FLAG,
5264 ALLOW_UNORDERED_RECEIPTS_FLAG,
5265 ALLOW_EXPRESS_DELIVERY_FLAG,
5266 DAYS_EARLY_RECEIPT_ALLOWED,
5267 DAYS_LATE_RECEIPT_ALLOWED,
5268 RECEIPT_DAYS_EXCEPTION_CODE,
5269 RECEIVING_ROUTING_ID,
5270 INVOICE_CLOSE_TOLERANCE,
5271 RECEIVE_CLOSE_TOLERANCE,
5272 AUTO_LOT_ALPHA_PREFIX,
5273 START_AUTO_LOT_NUMBER,
5274 LOT_CONTROL_CODE,
5275 SHELF_LIFE_CODE,
5276 SHELF_LIFE_DAYS,
5277 SERIAL_NUMBER_CONTROL_CODE,
5278 START_AUTO_SERIAL_NUMBER,
5279 AUTO_SERIAL_ALPHA_PREFIX,
5280 SOURCE_TYPE,
5281 SOURCE_ORGANIZATION_ID,
5282 SOURCE_SUBINVENTORY,
5283 EXPENSE_ACCOUNT,
5284 ENCUMBRANCE_ACCOUNT,
5285 RESTRICT_SUBINVENTORIES_CODE,
5286 UNIT_WEIGHT,
5287 WEIGHT_UOM_CODE,
5288 VOLUME_UOM_CODE,
5289 UNIT_VOLUME,
5290 RESTRICT_LOCATORS_CODE,
5291 LOCATION_CONTROL_CODE,
5292 SHRINKAGE_RATE,
5293 ACCEPTABLE_EARLY_DAYS,
5294 PLANNING_TIME_FENCE_CODE,
5295 DEMAND_TIME_FENCE_CODE,
5296 LEAD_TIME_LOT_SIZE,
5297 STD_LOT_SIZE,
5298 CUM_MANUFACTURING_LEAD_TIME,
5299 OVERRUN_PERCENTAGE,
5300 MRP_CALCULATE_ATP_FLAG,
5301 ACCEPTABLE_RATE_INCREASE,
5302 ACCEPTABLE_RATE_DECREASE,
5303 CUMULATIVE_TOTAL_LEAD_TIME,
5304 PLANNING_TIME_FENCE_DAYS,
5305 DEMAND_TIME_FENCE_DAYS,
5306 END_ASSEMBLY_PEGGING_FLAG,
5307 REPETITIVE_PLANNING_FLAG,
5308 PLANNING_EXCEPTION_SET,
5309 BOM_ITEM_TYPE,
5310 PICK_COMPONENTS_FLAG,
5311 REPLENISH_TO_ORDER_FLAG,
5312 BASE_ITEM_ID,
5313 ATP_COMPONENTS_FLAG,
5314 ATP_FLAG,
5315 FIXED_LEAD_TIME,
5316 VARIABLE_LEAD_TIME,
5317 WIP_SUPPLY_LOCATOR_ID,
5318 WIP_SUPPLY_TYPE,
5319 WIP_SUPPLY_SUBINVENTORY,
5320 COST_OF_SALES_ACCOUNT,
5321 SALES_ACCOUNT,
5322 DEFAULT_INCLUDE_IN_ROLLUP_FLAG,
5323 INVENTORY_ITEM_STATUS_CODE,
5324 INVENTORY_PLANNING_CODE,
5325 PLANNER_CODE,
5326 PLANNING_MAKE_BUY_CODE,
5327 FIXED_LOT_MULTIPLIER,
5328 ROUNDING_CONTROL_TYPE,
5329 CARRYING_COST,
5330 POSTPROCESSING_LEAD_TIME,
5331 PREPROCESSING_LEAD_TIME,
5332 SUMMARY_FLAG,
5333 ENABLED_FLAG,
5334 START_DATE_ACTIVE,
5335 END_DATE_ACTIVE,
5336 BUYER_ID,
5337 ACCOUNTING_RULE_ID,
5338 INVOICING_RULE_ID,
5339 OVER_SHIPMENT_TOLERANCE,
5340 UNDER_SHIPMENT_TOLERANCE,
5341 OVER_RETURN_TOLERANCE,
5342 UNDER_RETURN_TOLERANCE,
5343 EQUIPMENT_TYPE,
5344 RECOVERED_PART_DISP_CODE,
5345 DEFECT_TRACKING_ON_FLAG,
5346 EVENT_FLAG,
5347 ELECTRONIC_FLAG,
5348 DOWNLOADABLE_FLAG,
5349 VOL_DISCOUNT_EXEMPT_FLAG,
5350 COUPON_EXEMPT_FLAG,
5351 COMMS_NL_TRACKABLE_FLAG,
5352 ASSET_CREATION_CODE,
5353 COMMS_ACTIVATION_REQD_FLAG,
5354 ORDERABLE_ON_WEB_FLAG,
5355 BACK_ORDERABLE_FLAG,
5356 WEB_STATUS,
5357 INDIVISIBLE_FLAG
5358 , DIMENSION_UOM_CODE
5359 , UNIT_LENGTH
5360 , UNIT_WIDTH
5361 , UNIT_HEIGHT
5362 , BULK_PICKED_FLAG
5363 , LOT_STATUS_ENABLED
5364 , DEFAULT_LOT_STATUS_ID
5365 , SERIAL_STATUS_ENABLED
5366 , DEFAULT_SERIAL_STATUS_ID
5367 , LOT_SPLIT_ENABLED
5368 , LOT_MERGE_ENABLED
5369 , INVENTORY_CARRY_PENALTY
5370 , OPERATION_SLACK_PENALTY
5371 , FINANCING_ALLOWED_FLAG
5372 , EAM_ITEM_TYPE
5373 , EAM_ACTIVITY_TYPE_CODE
5374 , EAM_ACTIVITY_CAUSE_CODE
5375 , EAM_ACT_NOTIFICATION_FLAG
5376 , EAM_ACT_SHUTDOWN_STATUS
5377 , DUAL_UOM_CONTROL
5378 , SECONDARY_UOM_CODE
5379 , DUAL_UOM_DEVIATION_HIGH
5380 , DUAL_UOM_DEVIATION_LOW
5381 , CONTRACT_ITEM_TYPE_CODE
5382 -- , SUBSCRIPTION_DEPEND_FLAG
5383 , SERV_REQ_ENABLED_CODE
5384 , SERV_BILLING_ENABLED_FLAG
5385 -- , SERV_IMPORTANCE_LEVEL
5386 , PLANNED_INV_POINT_FLAG
5387 , LOT_TRANSLATE_ENABLED
5388 , DEFAULT_SO_SOURCE_TYPE
5389 , CREATE_SUPPLY_FLAG
5390 , SUBSTITUTION_WINDOW_CODE
5391 , SUBSTITUTION_WINDOW_DAYS
5392 , IB_ITEM_INSTANCE_CLASS
5393 , CONFIG_MODEL_TYPE
5394 --Added as part of 11.5.9 ENH
5395 , LOT_SUBSTITUTION_ENABLED
5396 , MINIMUM_LICENSE_QUANTITY
5397 , EAM_ACTIVITY_SOURCE_CODE
5398 --Added as part of 11.5.10 ENH
5399 , TRACKING_QUANTITY_IND
5400 , ONT_PRICING_QTY_SOURCE
5401 , SECONDARY_DEFAULT_IND
5402 , CONFIG_ORGS
5403 , CONFIG_MATCH
5404 , SEGMENT1,
5405 SEGMENT2,
5406 SEGMENT3,
5407 SEGMENT4,
5408 SEGMENT5,
5409 SEGMENT6,
5410 SEGMENT7,
5411 SEGMENT8,
5412 SEGMENT9,
5413 SEGMENT10,
5414 SEGMENT11,
5415 SEGMENT12,
5416 SEGMENT13,
5417 SEGMENT14,
5418 SEGMENT15,
5419 SEGMENT16,
5420 SEGMENT17,
5421 SEGMENT18,
5422 SEGMENT19,
5423 SEGMENT20,
5424 ATTRIBUTE_CATEGORY,
5425 ATTRIBUTE1,
5426 ATTRIBUTE2,
5427 ATTRIBUTE3,
5428 ATTRIBUTE4,
5429 ATTRIBUTE5 ,
5430 VMI_MINIMUM_UNITS,
5431 VMI_MINIMUM_DAYS ,
5432 VMI_MAXIMUM_UNITS ,
5433 VMI_MAXIMUM_DAYS ,
5434 VMI_FIXED_ORDER_QUANTITY ,
5435 SO_AUTHORIZATION_FLAG ,
5436 CONSIGNED_FLAG ,
5437 ASN_AUTOEXPIRE_FLAG ,
5438 VMI_FORECAST_TYPE ,
5439 FORECAST_HORIZON ,
5440 EXCLUDE_FROM_BUDGET_FLAG ,
5441 DAYS_TGT_INV_SUPPLY ,
5442 DAYS_TGT_INV_WINDOW ,
5443 DAYS_MAX_INV_SUPPLY ,
5444 DAYS_MAX_INV_WINDOW ,
5445 DRP_PLANNED_FLAG ,
5446 CRITICAL_COMPONENT_FLAG ,
5447 CONTINOUS_TRANSFER ,
5448 CONVERGENCE ,
5449 DIVERGENCE
5450 /* Start Bug 3713912 */-- Added for R12
5451 ,LOT_DIVISIBLE_FLAG,
5452 GRADE_CONTROL_FLAG,
5453 DEFAULT_GRADE,
5454 CHILD_LOT_FLAG,
5455 PARENT_CHILD_GENERATION_FLAG,
5456 CHILD_LOT_PREFIX,
5457 CHILD_LOT_STARTING_NUMBER,
5458 CHILD_LOT_VALIDATION_FLAG,
5459 COPY_LOT_ATTRIBUTE_FLAG,
5460 RECIPE_ENABLED_FLAG,
5461 PROCESS_QUALITY_ENABLED_FLAG,
5462 PROCESS_EXECUTION_ENABLED_FLAG,
5463 PROCESS_COSTING_ENABLED_FLAG,
5464 PROCESS_SUPPLY_SUBINVENTORY,
5465 PROCESS_SUPPLY_LOCATOR_ID,
5466 PROCESS_YIELD_SUBINVENTORY,
5467 PROCESS_YIELD_LOCATOR_ID,
5468 HAZARDOUS_MATERIAL_FLAG,
5469 CAS_NUMBER,
5470 RETEST_INTERVAL,
5471 EXPIRATION_ACTION_INTERVAL,
5472 EXPIRATION_ACTION_CODE,
5473 MATURITY_DAYS,
5474 HOLD_DAYS,
5475 ATTRIBUTE16,
5476 ATTRIBUTE17,
5477 ATTRIBUTE18,
5478 ATTRIBUTE19,
5479 ATTRIBUTE20,
5480 ATTRIBUTE21,
5481 ATTRIBUTE22,
5482 ATTRIBUTE23,
5483 ATTRIBUTE24,
5484 ATTRIBUTE25,
5485 ATTRIBUTE26,
5486 ATTRIBUTE27,
5487 ATTRIBUTE28,
5488 ATTRIBUTE29,
5489 ATTRIBUTE30
5490 /* End Bug 3713912 */
5491 , CHARGE_PERIODICITY_CODE
5492 , REPAIR_LEADTIME
5493 , REPAIR_YIELD
5494 , PREPOSITION_POINT
5495 , REPAIR_PROGRAM
5496 , SUBCONTRACTING_COMPONENT
5497 , OUTSOURCED_ASSEMBLY
5498 -- Fix for Bug#6644711
5499 , DEFAULT_MATERIAL_STATUS_ID
5500 -- Serial_Tagging Enh -- bug 9913552
5501 , SERIAL_TAGGING_FLAG
5502 from MTL_SYSTEM_ITEMS_B
5503 where INVENTORY_ITEM_ID = P_Item_Rec.inventory_item_id
5504 and ORGANIZATION_ID = P_Item_rec.organization_id
5505 for update of INVENTORY_ITEM_ID nowait;
5506
5507 CURSOR c_get_item_description IS
5508 SELECT
5509 DESCRIPTION,
5510 LONG_DESCRIPTION,
5511 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
5512 FROM MTL_SYSTEM_ITEMS_TL
5513 WHERE INVENTORY_ITEM_ID = P_Item_Rec.inventory_item_id
5514 AND ORGANIZATION_ID = P_Item_rec.organization_id
5515 for update of INVENTORY_ITEM_ID nowait;
5516
5517 recinfo c_item_details%ROWTYPE;
5518 item_tl c_get_item_description%ROWTYPE;
5519 l_return_status VARCHAR2(1);
5520
5521 BEGIN
5522
5523 OPEN c_item_details;
5524 FETCH c_item_details INTO recinfo;
5525
5526 IF (c_item_details%NOTFOUND) THEN
5527 CLOSE c_item_details;
5528 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
5529 Raise FND_API.g_EXC_UNEXPECTED_ERROR;
5530 END IF;
5531
5532 CLOSE c_item_details;
5533
5534 IF (((recinfo.PRIMARY_UOM_CODE = P_Item_Rec.PRIMARY_UOM_CODE)
5535 OR ((recinfo.PRIMARY_UOM_CODE is null) AND (P_Item_Rec.PRIMARY_UOM_CODE is null)))
5536 AND ((recinfo.ALLOWED_UNITS_LOOKUP_CODE = P_Item_Rec.ALLOWED_UNITS_LOOKUP_CODE)
5537 OR ((recinfo.ALLOWED_UNITS_LOOKUP_CODE is null) AND (P_Item_Rec.ALLOWED_UNITS_LOOKUP_CODE is null)))
5538 AND ((recinfo.OVERCOMPLETION_TOLERANCE_TYPE = P_Item_Rec.OVERCOMPLETION_TOLERANCE_TYPE)
5539 OR ((recinfo.OVERCOMPLETION_TOLERANCE_TYPE is null) AND (P_Item_Rec.OVERCOMPLETION_TOLERANCE_TYPE is null)))
5540 AND ((recinfo.OVERCOMPLETION_TOLERANCE_VALUE = P_Item_Rec.OVERCOMPLETION_TOLERANCE_VALUE)
5541 OR ((recinfo.OVERCOMPLETION_TOLERANCE_VALUE is null) AND (P_Item_Rec.OVERCOMPLETION_TOLERANCE_VALUE is null)))
5542 AND ((recinfo.EFFECTIVITY_CONTROL = P_Item_Rec.EFFECTIVITY_CONTROL)
5543 OR ((recinfo.EFFECTIVITY_CONTROL is null) AND (P_Item_Rec.EFFECTIVITY_CONTROL is null)))
5544 AND ((recinfo.CHECK_SHORTAGES_FLAG = P_Item_Rec.CHECK_SHORTAGES_FLAG)
5545 OR ((recinfo.CHECK_SHORTAGES_FLAG is null) AND (P_Item_Rec.CHECK_SHORTAGES_FLAG is null)))
5546 AND ((recinfo.FULL_LEAD_TIME = P_Item_Rec.FULL_LEAD_TIME)
5547 OR ((recinfo.FULL_LEAD_TIME is null) AND (P_Item_Rec.FULL_LEAD_TIME is null)))
5548 AND ((recinfo.ORDER_COST = P_Item_Rec.ORDER_COST)
5549 OR ((recinfo.ORDER_COST is null) AND (P_Item_Rec.ORDER_COST is null)))
5550 AND ((recinfo.MRP_SAFETY_STOCK_PERCENT = P_Item_Rec.MRP_SAFETY_STOCK_PERCENT)
5551 OR ((recinfo.MRP_SAFETY_STOCK_PERCENT is null) AND (P_Item_Rec.MRP_SAFETY_STOCK_PERCENT is null)))
5552 AND ((recinfo.MRP_SAFETY_STOCK_CODE = P_Item_Rec.MRP_SAFETY_STOCK_CODE)
5553 OR ((recinfo.MRP_SAFETY_STOCK_CODE is null) AND (P_Item_Rec.MRP_SAFETY_STOCK_CODE is null)))
5554 AND ((recinfo.MIN_MINMAX_QUANTITY = P_Item_Rec.MIN_MINMAX_QUANTITY)
5555 OR ((recinfo.MIN_MINMAX_QUANTITY is null) AND (P_Item_Rec.MIN_MINMAX_QUANTITY is null)))
5556 AND ((recinfo.MAX_MINMAX_QUANTITY = P_Item_Rec.MAX_MINMAX_QUANTITY)
5557 OR ((recinfo.MAX_MINMAX_QUANTITY is null) AND (P_Item_Rec.MAX_MINMAX_QUANTITY is null)))
5558 AND ((recinfo.MINIMUM_ORDER_QUANTITY = P_Item_Rec.MINIMUM_ORDER_QUANTITY)
5559 OR ((recinfo.MINIMUM_ORDER_QUANTITY is null) AND (P_Item_Rec.MINIMUM_ORDER_QUANTITY is null)))
5560 AND ((recinfo.FIXED_ORDER_QUANTITY = P_Item_Rec.FIXED_ORDER_QUANTITY)
5561 OR ((recinfo.FIXED_ORDER_QUANTITY is null) AND (P_Item_Rec.FIXED_ORDER_QUANTITY is null)))
5562 AND ((recinfo.FIXED_DAYS_SUPPLY = P_Item_Rec.FIXED_DAYS_SUPPLY)
5563 OR ((recinfo.FIXED_DAYS_SUPPLY is null) AND (P_Item_Rec.FIXED_DAYS_SUPPLY is null)))
5564 AND ((recinfo.MAXIMUM_ORDER_QUANTITY = P_Item_Rec.MAXIMUM_ORDER_QUANTITY)
5565 OR ((recinfo.MAXIMUM_ORDER_QUANTITY is null) AND (P_Item_Rec.MAXIMUM_ORDER_QUANTITY is null)))
5566 AND ((recinfo.ATP_RULE_ID = P_Item_Rec.ATP_RULE_ID)
5567 OR ((recinfo.ATP_RULE_ID is null) AND (P_Item_Rec.ATP_RULE_ID is null)))
5568 AND ((recinfo.PICKING_RULE_ID = P_Item_Rec.PICKING_RULE_ID)
5569 OR ((recinfo.PICKING_RULE_ID is null) AND (P_Item_Rec.PICKING_RULE_ID is null)))
5570 AND ((recinfo.RESERVABLE_TYPE = P_Item_Rec.RESERVABLE_TYPE)
5571 OR ((recinfo.RESERVABLE_TYPE is null) AND (P_Item_Rec.RESERVABLE_TYPE is null)))
5572 AND ((recinfo.POSITIVE_MEASUREMENT_ERROR = P_Item_Rec.POSITIVE_MEASUREMENT_ERROR)
5573 OR ((recinfo.POSITIVE_MEASUREMENT_ERROR is null) AND (P_Item_Rec.POSITIVE_MEASUREMENT_ERROR is null)))
5574 AND ((recinfo.NEGATIVE_MEASUREMENT_ERROR = P_Item_Rec.NEGATIVE_MEASUREMENT_ERROR)
5575 OR ((recinfo.NEGATIVE_MEASUREMENT_ERROR is null) AND (P_Item_Rec.NEGATIVE_MEASUREMENT_ERROR is null)))
5576 AND ((recinfo.ENGINEERING_ECN_CODE = P_Item_Rec.ENGINEERING_ECN_CODE)
5577 OR ((recinfo.ENGINEERING_ECN_CODE is null) AND (P_Item_Rec.ENGINEERING_ECN_CODE is null)))
5578 AND ((recinfo.ENGINEERING_ITEM_ID = P_Item_Rec.ENGINEERING_ITEM_ID)
5579 OR ((recinfo.ENGINEERING_ITEM_ID is null) AND (P_Item_Rec.ENGINEERING_ITEM_ID is null)))
5580 AND ((recinfo.ENGINEERING_DATE = P_Item_Rec.ENGINEERING_DATE)
5581 OR ((recinfo.ENGINEERING_DATE is null) AND (P_Item_Rec.ENGINEERING_DATE is null)))
5582 AND ((recinfo.SERVICE_STARTING_DELAY = P_Item_Rec.SERVICE_STARTING_DELAY)
5583 OR ((recinfo.SERVICE_STARTING_DELAY is null) AND (P_Item_Rec.SERVICE_STARTING_DELAY is null)))
5584 AND ((recinfo.SERVICEABLE_COMPONENT_FLAG = P_Item_Rec.SERVICEABLE_COMPONENT_FLAG)
5585 OR ((recinfo.SERVICEABLE_COMPONENT_FLAG is null) AND (P_Item_Rec.SERVICEABLE_COMPONENT_FLAG is null)))
5586 AND (recinfo.SERVICEABLE_PRODUCT_FLAG = P_Item_Rec.SERVICEABLE_PRODUCT_FLAG)
5587 AND ((recinfo.PAYMENT_TERMS_ID = P_Item_Rec.PAYMENT_TERMS_ID)
5588 OR ((recinfo.PAYMENT_TERMS_ID is null) AND (P_Item_Rec.PAYMENT_TERMS_ID is null)))
5589 AND ((recinfo.PREVENTIVE_MAINTENANCE_FLAG = P_Item_Rec.PREVENTIVE_MAINTENANCE_FLAG)
5590 OR ((recinfo.PREVENTIVE_MAINTENANCE_FLAG is null) AND (P_Item_Rec.PREVENTIVE_MAINTENANCE_FLAG is null)))
5591 AND ((recinfo.MATERIAL_BILLABLE_FLAG = P_Item_Rec.MATERIAL_BILLABLE_FLAG)
5592 OR ((recinfo.MATERIAL_BILLABLE_FLAG is null) AND (P_Item_Rec.MATERIAL_BILLABLE_FLAG is null)))
5593 AND ((recinfo.PRORATE_SERVICE_FLAG = P_Item_Rec.PRORATE_SERVICE_FLAG)
5594 OR ((recinfo.PRORATE_SERVICE_FLAG is null) AND (P_Item_Rec.PRORATE_SERVICE_FLAG is null)))
5595 AND ((recinfo.COVERAGE_SCHEDULE_ID = P_Item_Rec.COVERAGE_SCHEDULE_ID)
5596 OR ((recinfo.COVERAGE_SCHEDULE_ID is null) AND (P_Item_Rec.COVERAGE_SCHEDULE_ID is null)))
5597 AND ((recinfo.SERVICE_DURATION_PERIOD_CODE = P_Item_Rec.SERVICE_DURATION_PERIOD_CODE)
5598 OR ((recinfo.SERVICE_DURATION_PERIOD_CODE is null) AND (P_Item_Rec.SERVICE_DURATION_PERIOD_CODE is null)))
5599 AND ((recinfo.SERVICE_DURATION = P_Item_Rec.SERVICE_DURATION)
5600 OR ((recinfo.SERVICE_DURATION is null) AND (P_Item_Rec.SERVICE_DURATION is null)))
5601 AND (recinfo.INVOICEABLE_ITEM_FLAG = P_Item_Rec.INVOICEABLE_ITEM_FLAG)
5602 AND ((recinfo.TAX_CODE = P_Item_Rec.TAX_CODE)
5603 OR ((recinfo.TAX_CODE is null) AND (P_Item_Rec.TAX_CODE is null)))
5604 AND (recinfo.INVOICE_ENABLED_FLAG = P_Item_Rec.INVOICE_ENABLED_FLAG)
5605 AND (recinfo.MUST_USE_APPROVED_VENDOR_FLAG = P_Item_Rec.MUST_USE_APPROVED_VENDOR_FLAG)
5606 AND (recinfo.OUTSIDE_OPERATION_FLAG = P_Item_Rec.OUTSIDE_OPERATION_FLAG)
5607 AND ((recinfo.OUTSIDE_OPERATION_UOM_TYPE = P_Item_Rec.OUTSIDE_OPERATION_UOM_TYPE)
5608 OR ((recinfo.OUTSIDE_OPERATION_UOM_TYPE is null) AND (P_Item_Rec.OUTSIDE_OPERATION_UOM_TYPE is null)))
5609 AND ((recinfo.SAFETY_STOCK_BUCKET_DAYS = P_Item_Rec.SAFETY_STOCK_BUCKET_DAYS)
5610 OR ((recinfo.SAFETY_STOCK_BUCKET_DAYS is null) AND (P_Item_Rec.SAFETY_STOCK_BUCKET_DAYS is null)))
5611 AND ((recinfo.AUTO_REDUCE_MPS = P_Item_Rec.AUTO_REDUCE_MPS)
5612 OR ((recinfo.AUTO_REDUCE_MPS is null) AND (P_Item_Rec.AUTO_REDUCE_MPS is null)))
5613 AND (recinfo.COSTING_ENABLED_FLAG = P_Item_Rec.COSTING_ENABLED_FLAG)
5614 AND (recinfo.AUTO_CREATED_CONFIG_FLAG = P_Item_Rec.AUTO_CREATED_CONFIG_FLAG)
5615 AND (recinfo.CYCLE_COUNT_ENABLED_FLAG = P_Item_Rec.CYCLE_COUNT_ENABLED_FLAG)
5616 AND ((recinfo.ITEM_TYPE = P_Item_Rec.ITEM_TYPE)
5617 OR ((recinfo.ITEM_TYPE is null) AND (P_Item_Rec.ITEM_TYPE is null)))
5618 AND ((recinfo.SHIP_MODEL_COMPLETE_FLAG = P_Item_Rec.SHIP_MODEL_COMPLETE_FLAG)
5619 OR ((recinfo.SHIP_MODEL_COMPLETE_FLAG is null) AND (P_Item_Rec.SHIP_MODEL_COMPLETE_FLAG is null)))
5620 AND ((recinfo.MRP_PLANNING_CODE = P_Item_Rec.MRP_PLANNING_CODE)
5621 OR ((recinfo.MRP_PLANNING_CODE is null) AND (P_Item_Rec.MRP_PLANNING_CODE is null)))
5622 AND ((recinfo.RETURN_INSPECTION_REQUIREMENT = P_Item_Rec.RETURN_INSPECTION_REQUIREMENT)
5623 OR ((recinfo.RETURN_INSPECTION_REQUIREMENT is null) AND (P_Item_Rec.RETURN_INSPECTION_REQUIREMENT is null)))
5624 AND ((recinfo.ATO_FORECAST_CONTROL = P_Item_Rec.ATO_FORECAST_CONTROL)
5625 OR ((recinfo.ATO_FORECAST_CONTROL is null) AND (P_Item_Rec.ATO_FORECAST_CONTROL is null)))
5626 AND ((recinfo.RELEASE_TIME_FENCE_CODE = P_Item_Rec.RELEASE_TIME_FENCE_CODE)
5627 OR ((recinfo.RELEASE_TIME_FENCE_CODE is null) AND (P_Item_Rec.RELEASE_TIME_FENCE_CODE is null)))
5628 AND ((recinfo.RELEASE_TIME_FENCE_DAYS = P_Item_Rec.RELEASE_TIME_FENCE_DAYS)
5629 OR ((recinfo.RELEASE_TIME_FENCE_DAYS is null) AND (P_Item_Rec.RELEASE_TIME_FENCE_DAYS is null)))
5630 AND ((recinfo.CONTAINER_ITEM_FLAG = P_Item_Rec.CONTAINER_ITEM_FLAG)
5631 OR ((recinfo.CONTAINER_ITEM_FLAG is null) AND (P_Item_Rec.CONTAINER_ITEM_FLAG is null)))
5632 AND ((recinfo.VEHICLE_ITEM_FLAG = P_Item_Rec.VEHICLE_ITEM_FLAG)
5633 OR ((recinfo.VEHICLE_ITEM_FLAG is null) AND (P_Item_Rec.VEHICLE_ITEM_FLAG is null)))
5634 AND ((recinfo.MAXIMUM_LOAD_WEIGHT = P_Item_Rec.MAXIMUM_LOAD_WEIGHT)
5635 OR ((recinfo.MAXIMUM_LOAD_WEIGHT is null) AND (P_Item_Rec.MAXIMUM_LOAD_WEIGHT is null)))
5636 AND ((recinfo.MINIMUM_FILL_PERCENT = P_Item_Rec.MINIMUM_FILL_PERCENT)
5637 OR ((recinfo.MINIMUM_FILL_PERCENT is null) AND (P_Item_Rec.MINIMUM_FILL_PERCENT is null)))
5638 AND ((recinfo.CONTAINER_TYPE_CODE = P_Item_Rec.CONTAINER_TYPE_CODE)
5639 OR ((recinfo.CONTAINER_TYPE_CODE is null) AND (P_Item_Rec.CONTAINER_TYPE_CODE is null)))
5640 AND ((recinfo.INTERNAL_VOLUME = P_Item_Rec.INTERNAL_VOLUME)
5641 OR ((recinfo.INTERNAL_VOLUME is null) AND (P_Item_Rec.INTERNAL_VOLUME is null)))
5642 AND ((recinfo.PRODUCT_FAMILY_ITEM_ID = P_Item_Rec.PRODUCT_FAMILY_ITEM_ID)
5643 OR ((recinfo.PRODUCT_FAMILY_ITEM_ID is null) AND (P_Item_Rec.PRODUCT_FAMILY_ITEM_ID is null)))
5644 AND ((recinfo.GLOBAL_ATTRIBUTE_CATEGORY = P_Item_Rec.GLOBAL_ATTRIBUTE_CATEGORY)
5645 OR ((recinfo.GLOBAL_ATTRIBUTE_CATEGORY is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE_CATEGORY is null)))
5646 AND ((recinfo.GLOBAL_ATTRIBUTE1 = P_Item_Rec.GLOBAL_ATTRIBUTE1)
5647 OR ((recinfo.GLOBAL_ATTRIBUTE1 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE1 is null)))
5648 AND ((recinfo.GLOBAL_ATTRIBUTE2 = P_Item_Rec.GLOBAL_ATTRIBUTE2)
5649 OR ((recinfo.GLOBAL_ATTRIBUTE2 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE2 is null)))
5650 AND ((recinfo.GLOBAL_ATTRIBUTE3 = P_Item_Rec.GLOBAL_ATTRIBUTE3)
5651 OR ((recinfo.GLOBAL_ATTRIBUTE3 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE3 is null)))
5652 AND ((recinfo.GLOBAL_ATTRIBUTE4 = P_Item_Rec.GLOBAL_ATTRIBUTE4)
5653 OR ((recinfo.GLOBAL_ATTRIBUTE4 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE4 is null)))
5654 AND ((recinfo.GLOBAL_ATTRIBUTE5 = P_Item_Rec.GLOBAL_ATTRIBUTE5)
5655 OR ((recinfo.GLOBAL_ATTRIBUTE5 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE5 is null)))
5656 AND ((recinfo.GLOBAL_ATTRIBUTE6 = P_Item_Rec.GLOBAL_ATTRIBUTE6)
5657 OR ((recinfo.GLOBAL_ATTRIBUTE6 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE6 is null)))
5658 AND ((recinfo.GLOBAL_ATTRIBUTE7 = P_Item_Rec.GLOBAL_ATTRIBUTE7)
5659 OR ((recinfo.GLOBAL_ATTRIBUTE7 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE7 is null)))
5660 AND ((recinfo.GLOBAL_ATTRIBUTE8 = P_Item_Rec.GLOBAL_ATTRIBUTE8)
5661 OR ((recinfo.GLOBAL_ATTRIBUTE8 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE8 is null)))
5662 AND ((recinfo.GLOBAL_ATTRIBUTE9 = P_Item_Rec.GLOBAL_ATTRIBUTE9)
5663 OR ((recinfo.GLOBAL_ATTRIBUTE9 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE9 is null)))
5664 AND ((recinfo.GLOBAL_ATTRIBUTE10 = P_Item_Rec.GLOBAL_ATTRIBUTE10)
5665 OR ((recinfo.GLOBAL_ATTRIBUTE10 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE10 is null)))
5666 AND ((recinfo.GLOBAL_ATTRIBUTE11 = P_Item_Rec.GLOBAL_ATTRIBUTE11)
5667 OR ((recinfo.GLOBAL_ATTRIBUTE11 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE11 is null)))
5668 AND ((recinfo.GLOBAL_ATTRIBUTE12 = P_Item_Rec.GLOBAL_ATTRIBUTE12)
5669 OR ((recinfo.GLOBAL_ATTRIBUTE12 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE12 is null)))
5670 AND ((recinfo.GLOBAL_ATTRIBUTE13 = P_Item_Rec.GLOBAL_ATTRIBUTE13)
5671 OR ((recinfo.GLOBAL_ATTRIBUTE13 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE13 is null)))
5672 AND ((recinfo.GLOBAL_ATTRIBUTE14 = P_Item_Rec.GLOBAL_ATTRIBUTE14)
5673 OR ((recinfo.GLOBAL_ATTRIBUTE14 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE14 is null)))
5674 AND ((recinfo.GLOBAL_ATTRIBUTE15 = P_Item_Rec.GLOBAL_ATTRIBUTE15)
5675 OR ((recinfo.GLOBAL_ATTRIBUTE15 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE15 is null)))
5676 AND ((recinfo.GLOBAL_ATTRIBUTE16 = P_Item_Rec.GLOBAL_ATTRIBUTE16)
5677 OR ((recinfo.GLOBAL_ATTRIBUTE16 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE16 is null)))
5678 AND ((recinfo.GLOBAL_ATTRIBUTE17 = P_Item_Rec.GLOBAL_ATTRIBUTE17)
5679 OR ((recinfo.GLOBAL_ATTRIBUTE17 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE17 is null)))
5680 AND ((recinfo.GLOBAL_ATTRIBUTE18 = P_Item_Rec.GLOBAL_ATTRIBUTE18)
5681 OR ((recinfo.GLOBAL_ATTRIBUTE18 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE18 is null)))
5682 AND ((recinfo.GLOBAL_ATTRIBUTE19 = P_Item_Rec.GLOBAL_ATTRIBUTE19)
5683 OR ((recinfo.GLOBAL_ATTRIBUTE19 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE19 is null)))
5684 AND ((recinfo.GLOBAL_ATTRIBUTE20 = P_Item_Rec.GLOBAL_ATTRIBUTE20)
5685 OR ((recinfo.GLOBAL_ATTRIBUTE20 is null) AND (P_Item_Rec.GLOBAL_ATTRIBUTE20 is null)))
5686 AND ((recinfo.PURCHASING_TAX_CODE = P_Item_Rec.PURCHASING_TAX_CODE)
5687 OR ((recinfo.PURCHASING_TAX_CODE is null) AND (P_Item_Rec.PURCHASING_TAX_CODE is null)))
5688 AND ((recinfo.ATTRIBUTE6 = P_Item_Rec.ATTRIBUTE6)
5689 OR ((recinfo.ATTRIBUTE6 is null) AND (P_Item_Rec.ATTRIBUTE6 is null)))
5690 AND ((recinfo.ATTRIBUTE7 = P_Item_Rec.ATTRIBUTE7)
5691 OR ((recinfo.ATTRIBUTE7 is null) AND (P_Item_Rec.ATTRIBUTE7 is null)))
5692 AND ((recinfo.ATTRIBUTE8 = P_Item_Rec.ATTRIBUTE8)
5693 OR ((recinfo.ATTRIBUTE8 is null) AND (P_Item_Rec.ATTRIBUTE8 is null)))
5694 AND ((recinfo.ATTRIBUTE9 = P_Item_Rec.ATTRIBUTE9)
5695 OR ((recinfo.ATTRIBUTE9 is null) AND (P_Item_Rec.ATTRIBUTE9 is null)))
5696 AND ((recinfo.ATTRIBUTE10 = P_Item_Rec.ATTRIBUTE10)
5697 OR ((recinfo.ATTRIBUTE10 is null) AND (P_Item_Rec.ATTRIBUTE10 is null)))
5698 AND ((recinfo.ATTRIBUTE11 = P_Item_Rec.ATTRIBUTE11)
5699 OR ((recinfo.ATTRIBUTE11 is null) AND (P_Item_Rec.ATTRIBUTE11 is null)))
5700 AND ((recinfo.ATTRIBUTE12 = P_Item_Rec.ATTRIBUTE12)
5701 OR ((recinfo.ATTRIBUTE12 is null) AND (P_Item_Rec.ATTRIBUTE12 is null)))
5702 AND ((recinfo.ATTRIBUTE13 = P_Item_Rec.ATTRIBUTE13)
5703 OR ((recinfo.ATTRIBUTE13 is null) AND (P_Item_Rec.ATTRIBUTE13 is null)))
5704 AND ((recinfo.ATTRIBUTE14 = P_Item_Rec.ATTRIBUTE14)
5705 OR ((recinfo.ATTRIBUTE14 is null) AND (P_Item_Rec.ATTRIBUTE14 is null)))
5706 AND ((recinfo.ATTRIBUTE15 = P_Item_Rec.ATTRIBUTE15)
5707 OR ((recinfo.ATTRIBUTE15 is null) AND (P_Item_Rec.ATTRIBUTE15 is null)))
5708 AND (recinfo.PURCHASING_ITEM_FLAG = P_Item_Rec.PURCHASING_ITEM_FLAG)
5709 AND (recinfo.SHIPPABLE_ITEM_FLAG = P_Item_Rec.SHIPPABLE_ITEM_FLAG)
5710 AND (recinfo.CUSTOMER_ORDER_FLAG = P_Item_Rec.CUSTOMER_ORDER_FLAG)
5711 AND (recinfo.INTERNAL_ORDER_FLAG = P_Item_Rec.INTERNAL_ORDER_FLAG)
5712 AND (recinfo.INVENTORY_ITEM_FLAG = P_Item_Rec.INVENTORY_ITEM_FLAG)
5713 AND (recinfo.ENG_ITEM_FLAG = P_Item_Rec.ENG_ITEM_FLAG)
5714 AND (recinfo.INVENTORY_ASSET_FLAG = P_Item_Rec.INVENTORY_ASSET_FLAG)
5715 AND (recinfo.PURCHASING_ENABLED_FLAG = P_Item_Rec.PURCHASING_ENABLED_FLAG)
5716 AND (recinfo.CUSTOMER_ORDER_ENABLED_FLAG = P_Item_Rec.CUSTOMER_ORDER_ENABLED_FLAG)
5717 AND (recinfo.INTERNAL_ORDER_ENABLED_FLAG = P_Item_Rec.INTERNAL_ORDER_ENABLED_FLAG)
5718 AND (recinfo.SO_TRANSACTIONS_FLAG = P_Item_Rec.SO_TRANSACTIONS_FLAG)
5719 AND (recinfo.MTL_TRANSACTIONS_ENABLED_FLAG = P_Item_Rec.MTL_TRANSACTIONS_ENABLED_FLAG)
5720 AND (recinfo.STOCK_ENABLED_FLAG = P_Item_Rec.STOCK_ENABLED_FLAG)
5721 AND (recinfo.BOM_ENABLED_FLAG = P_Item_Rec.BOM_ENABLED_FLAG)
5722 AND (recinfo.BUILD_IN_WIP_FLAG = P_Item_Rec.BUILD_IN_WIP_FLAG)
5723 AND ((recinfo.REVISION_QTY_CONTROL_CODE = P_Item_Rec.REVISION_QTY_CONTROL_CODE)
5724 OR ((recinfo.REVISION_QTY_CONTROL_CODE is null) AND (P_Item_Rec.REVISION_QTY_CONTROL_CODE is null)))
5725 AND ((recinfo.ITEM_CATALOG_GROUP_ID = P_Item_Rec.ITEM_CATALOG_GROUP_ID)
5726 OR ((recinfo.ITEM_CATALOG_GROUP_ID is null) AND (P_Item_Rec.ITEM_CATALOG_GROUP_ID is null)))
5727 AND ((recinfo.CATALOG_STATUS_FLAG = P_Item_Rec.CATALOG_STATUS_FLAG)
5728 OR ((recinfo.CATALOG_STATUS_FLAG is null) AND (P_Item_Rec.CATALOG_STATUS_FLAG is null)))
5729 AND ((recinfo.RETURNABLE_FLAG = P_Item_Rec.RETURNABLE_FLAG)
5730 OR ((recinfo.RETURNABLE_FLAG is null) AND (P_Item_Rec.RETURNABLE_FLAG is null)))
5731 AND ((recinfo.DEFAULT_SHIPPING_ORG = P_Item_Rec.DEFAULT_SHIPPING_ORG)
5732 OR ((recinfo.DEFAULT_SHIPPING_ORG is null) AND (P_Item_Rec.DEFAULT_SHIPPING_ORG is null)))
5733 AND ((recinfo.COLLATERAL_FLAG = P_Item_Rec.COLLATERAL_FLAG)
5734 OR ((recinfo.COLLATERAL_FLAG is null) AND (P_Item_Rec.COLLATERAL_FLAG is null)))
5735 AND ((recinfo.TAXABLE_FLAG = P_Item_Rec.TAXABLE_FLAG)
5736 OR ((recinfo.TAXABLE_FLAG is null) AND (P_Item_Rec.TAXABLE_FLAG is null)))
5737 AND ((recinfo.QTY_RCV_EXCEPTION_CODE = P_Item_Rec.QTY_RCV_EXCEPTION_CODE)
5738 OR ((recinfo.QTY_RCV_EXCEPTION_CODE is null) AND (P_Item_Rec.QTY_RCV_EXCEPTION_CODE is null)))
5739 AND ((recinfo.ALLOW_ITEM_DESC_UPDATE_FLAG = P_Item_Rec.ALLOW_ITEM_DESC_UPDATE_FLAG)
5740 OR ((recinfo.ALLOW_ITEM_DESC_UPDATE_FLAG is null) AND (P_Item_Rec.ALLOW_ITEM_DESC_UPDATE_FLAG is null)))
5741 AND ((recinfo.INSPECTION_REQUIRED_FLAG = P_Item_Rec.INSPECTION_REQUIRED_FLAG)
5742 OR ((recinfo.INSPECTION_REQUIRED_FLAG is null) AND (P_Item_Rec.INSPECTION_REQUIRED_FLAG is null)))
5743 AND ((recinfo.RECEIPT_REQUIRED_FLAG = P_Item_Rec.RECEIPT_REQUIRED_FLAG)
5744 OR ((recinfo.RECEIPT_REQUIRED_FLAG is null) AND (P_Item_Rec.RECEIPT_REQUIRED_FLAG is null)))
5745 AND ((recinfo.MARKET_PRICE = P_Item_Rec.MARKET_PRICE)
5746 OR ((recinfo.MARKET_PRICE is null) AND (P_Item_Rec.MARKET_PRICE is null)))
5747 AND ((recinfo.HAZARD_CLASS_ID = P_Item_Rec.HAZARD_CLASS_ID)
5748 OR ((recinfo.HAZARD_CLASS_ID is null) AND (P_Item_Rec.HAZARD_CLASS_ID is null)))
5749 AND ((recinfo.RFQ_REQUIRED_FLAG = P_Item_Rec.RFQ_REQUIRED_FLAG)
5750 OR ((recinfo.RFQ_REQUIRED_FLAG is null) AND (P_Item_Rec.RFQ_REQUIRED_FLAG is null)))
5751 AND ((recinfo.QTY_RCV_TOLERANCE = P_Item_Rec.QTY_RCV_TOLERANCE)
5752 OR ((recinfo.QTY_RCV_TOLERANCE is null) AND (P_Item_Rec.QTY_RCV_TOLERANCE is null)))
5753 AND ((recinfo.LIST_PRICE_PER_UNIT = P_Item_Rec.LIST_PRICE_PER_UNIT)
5754 OR ((recinfo.LIST_PRICE_PER_UNIT is null) AND (P_Item_Rec.LIST_PRICE_PER_UNIT is null)))
5755 AND ((recinfo.UN_NUMBER_ID = P_Item_Rec.UN_NUMBER_ID)
5756 OR ((recinfo.UN_NUMBER_ID is null) AND (P_Item_Rec.UN_NUMBER_ID is null)))
5757 AND ((recinfo.PRICE_TOLERANCE_PERCENT = P_Item_Rec.PRICE_TOLERANCE_PERCENT)
5758 OR ((recinfo.PRICE_TOLERANCE_PERCENT is null) AND (P_Item_Rec.PRICE_TOLERANCE_PERCENT is null)))
5759 AND ((recinfo.ASSET_CATEGORY_ID = P_Item_Rec.ASSET_CATEGORY_ID)
5760 OR ((recinfo.ASSET_CATEGORY_ID is null) AND (P_Item_Rec.ASSET_CATEGORY_ID is null)))
5761 AND ((recinfo.ROUNDING_FACTOR = P_Item_Rec.ROUNDING_FACTOR)
5762 OR ((recinfo.ROUNDING_FACTOR is null) AND (P_Item_Rec.ROUNDING_FACTOR is null)))
5763 AND ((recinfo.UNIT_OF_ISSUE = P_Item_Rec.UNIT_OF_ISSUE)
5764 OR ((recinfo.UNIT_OF_ISSUE is null) AND (P_Item_Rec.UNIT_OF_ISSUE is null)))
5765 AND ((recinfo.ENFORCE_SHIP_TO_LOCATION_CODE = P_Item_Rec.ENFORCE_SHIP_TO_LOCATION_CODE)
5766 OR ((recinfo.ENFORCE_SHIP_TO_LOCATION_CODE is null) AND (P_Item_Rec.ENFORCE_SHIP_TO_LOCATION_CODE is null)))
5767 AND ((recinfo.ALLOW_SUBSTITUTE_RECEIPTS_FLAG = P_Item_Rec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG)
5768 OR ((recinfo.ALLOW_SUBSTITUTE_RECEIPTS_FLAG is null) AND (P_Item_Rec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG is null)))
5769 AND ((recinfo.ALLOW_UNORDERED_RECEIPTS_FLAG = P_Item_Rec.ALLOW_UNORDERED_RECEIPTS_FLAG)
5770 OR ((recinfo.ALLOW_UNORDERED_RECEIPTS_FLAG is null) AND (P_Item_Rec.ALLOW_UNORDERED_RECEIPTS_FLAG is null)))
5771 AND ((recinfo.ALLOW_EXPRESS_DELIVERY_FLAG = P_Item_Rec.ALLOW_EXPRESS_DELIVERY_FLAG)
5772 OR ((recinfo.ALLOW_EXPRESS_DELIVERY_FLAG is null) AND (P_Item_Rec.ALLOW_EXPRESS_DELIVERY_FLAG is null)))
5773 AND ((recinfo.DAYS_EARLY_RECEIPT_ALLOWED = P_Item_Rec.DAYS_EARLY_RECEIPT_ALLOWED)
5774 OR ((recinfo.DAYS_EARLY_RECEIPT_ALLOWED is null) AND (P_Item_Rec.DAYS_EARLY_RECEIPT_ALLOWED is null)))
5775 AND ((recinfo.DAYS_LATE_RECEIPT_ALLOWED = P_Item_Rec.DAYS_LATE_RECEIPT_ALLOWED)
5776 OR ((recinfo.DAYS_LATE_RECEIPT_ALLOWED is null) AND (P_Item_Rec.DAYS_LATE_RECEIPT_ALLOWED is null)))
5777 AND ((recinfo.RECEIPT_DAYS_EXCEPTION_CODE = P_Item_Rec.RECEIPT_DAYS_EXCEPTION_CODE)
5778 OR ((recinfo.RECEIPT_DAYS_EXCEPTION_CODE is null) AND (P_Item_Rec.RECEIPT_DAYS_EXCEPTION_CODE is null)))
5779 AND ((recinfo.RECEIVING_ROUTING_ID = P_Item_Rec.RECEIVING_ROUTING_ID)
5780 OR ((recinfo.RECEIVING_ROUTING_ID is null) AND (P_Item_Rec.RECEIVING_ROUTING_ID is null)))
5781 AND ((recinfo.INVOICE_CLOSE_TOLERANCE = P_Item_Rec.INVOICE_CLOSE_TOLERANCE)
5782 OR ((recinfo.INVOICE_CLOSE_TOLERANCE is null) AND (P_Item_Rec.INVOICE_CLOSE_TOLERANCE is null)))
5783 AND ((recinfo.RECEIVE_CLOSE_TOLERANCE = P_Item_Rec.RECEIVE_CLOSE_TOLERANCE)
5784 OR ((recinfo.RECEIVE_CLOSE_TOLERANCE is null) AND (P_Item_Rec.RECEIVE_CLOSE_TOLERANCE is null)))
5785 AND ((recinfo.AUTO_LOT_ALPHA_PREFIX = P_Item_Rec.AUTO_LOT_ALPHA_PREFIX)
5786 OR ((recinfo.AUTO_LOT_ALPHA_PREFIX is null) AND (P_Item_Rec.AUTO_LOT_ALPHA_PREFIX is null)))
5787 AND ((recinfo.START_AUTO_LOT_NUMBER = P_Item_Rec.START_AUTO_LOT_NUMBER)
5788 OR ((recinfo.START_AUTO_LOT_NUMBER is null) AND (P_Item_Rec.START_AUTO_LOT_NUMBER is null)))
5789 AND ((recinfo.LOT_CONTROL_CODE = P_Item_Rec.LOT_CONTROL_CODE)
5790 OR ((recinfo.LOT_CONTROL_CODE is null) AND (P_Item_Rec.LOT_CONTROL_CODE is null)))
5791 AND ((recinfo.SHELF_LIFE_CODE = P_Item_Rec.SHELF_LIFE_CODE)
5792 OR ((recinfo.SHELF_LIFE_CODE is null) AND (P_Item_Rec.SHELF_LIFE_CODE is null)))
5793 AND ((recinfo.SHELF_LIFE_DAYS = P_Item_Rec.SHELF_LIFE_DAYS)
5794 OR ((recinfo.SHELF_LIFE_DAYS is null) AND (P_Item_Rec.SHELF_LIFE_DAYS is null)))
5795 AND ((recinfo.SERIAL_NUMBER_CONTROL_CODE = P_Item_Rec.SERIAL_NUMBER_CONTROL_CODE)
5796 OR ((recinfo.SERIAL_NUMBER_CONTROL_CODE is null) AND (P_Item_Rec.SERIAL_NUMBER_CONTROL_CODE is null)))
5797 AND ((recinfo.START_AUTO_SERIAL_NUMBER = P_Item_Rec.START_AUTO_SERIAL_NUMBER)
5798 OR ((recinfo.START_AUTO_SERIAL_NUMBER is null) AND (P_Item_Rec.START_AUTO_SERIAL_NUMBER is null)))
5799 AND ((recinfo.AUTO_SERIAL_ALPHA_PREFIX = P_Item_Rec.AUTO_SERIAL_ALPHA_PREFIX)
5800 OR ((recinfo.AUTO_SERIAL_ALPHA_PREFIX is null) AND (P_Item_Rec.AUTO_SERIAL_ALPHA_PREFIX is null)))
5801 AND ((recinfo.SOURCE_TYPE = P_Item_Rec.SOURCE_TYPE)
5802 OR ((recinfo.SOURCE_TYPE is null) AND (P_Item_Rec.SOURCE_TYPE is null)))
5803 AND ((recinfo.SOURCE_ORGANIZATION_ID = P_Item_Rec.SOURCE_ORGANIZATION_ID)
5804 OR ((recinfo.SOURCE_ORGANIZATION_ID is null) AND (P_Item_Rec.SOURCE_ORGANIZATION_ID is null)))
5805 AND ((recinfo.SOURCE_SUBINVENTORY = P_Item_Rec.SOURCE_SUBINVENTORY)
5806 OR ((recinfo.SOURCE_SUBINVENTORY is null) AND (P_Item_Rec.SOURCE_SUBINVENTORY is null)))
5807 AND ((recinfo.EXPENSE_ACCOUNT = P_Item_Rec.EXPENSE_ACCOUNT)
5808 OR ((recinfo.EXPENSE_ACCOUNT is null) AND (P_Item_Rec.EXPENSE_ACCOUNT is null)))
5809 AND ((recinfo.ENCUMBRANCE_ACCOUNT = P_Item_Rec.ENCUMBRANCE_ACCOUNT)
5810 OR ((recinfo.ENCUMBRANCE_ACCOUNT is null) AND (P_Item_Rec.ENCUMBRANCE_ACCOUNT is null)))
5811 AND ((recinfo.RESTRICT_SUBINVENTORIES_CODE = P_Item_Rec.RESTRICT_SUBINVENTORIES_CODE)
5812 OR ((recinfo.RESTRICT_SUBINVENTORIES_CODE is null) AND (P_Item_Rec.RESTRICT_SUBINVENTORIES_CODE is null)))
5813 AND ((recinfo.UNIT_WEIGHT = P_Item_Rec.UNIT_WEIGHT)
5814 OR ((recinfo.UNIT_WEIGHT is null) AND (P_Item_Rec.UNIT_WEIGHT is null)))
5815 AND ((recinfo.WEIGHT_UOM_CODE = P_Item_Rec.WEIGHT_UOM_CODE)
5816 OR ((recinfo.WEIGHT_UOM_CODE is null) AND (P_Item_Rec.WEIGHT_UOM_CODE is null)))
5817 AND ((recinfo.VOLUME_UOM_CODE = P_Item_Rec.VOLUME_UOM_CODE)
5818 OR ((recinfo.VOLUME_UOM_CODE is null) AND (P_Item_Rec.VOLUME_UOM_CODE is null)))
5819 AND ((recinfo.UNIT_VOLUME = P_Item_Rec.UNIT_VOLUME)
5820 OR ((recinfo.UNIT_VOLUME is null) AND (P_Item_Rec.UNIT_VOLUME is null)))
5821 AND ((recinfo.RESTRICT_LOCATORS_CODE = P_Item_Rec.RESTRICT_LOCATORS_CODE)
5822 OR ((recinfo.RESTRICT_LOCATORS_CODE is null) AND (P_Item_Rec.RESTRICT_LOCATORS_CODE is null)))
5823 AND ((recinfo.LOCATION_CONTROL_CODE = P_Item_Rec.LOCATION_CONTROL_CODE)
5824 OR ((recinfo.LOCATION_CONTROL_CODE is null) AND (P_Item_Rec.LOCATION_CONTROL_CODE is null)))
5825 AND ((recinfo.SHRINKAGE_RATE = P_Item_Rec.SHRINKAGE_RATE)
5826 OR ((recinfo.SHRINKAGE_RATE is null) AND (P_Item_Rec.SHRINKAGE_RATE is null)))
5827 AND ((recinfo.ACCEPTABLE_EARLY_DAYS = P_Item_Rec.ACCEPTABLE_EARLY_DAYS)
5828 OR ((recinfo.ACCEPTABLE_EARLY_DAYS is null) AND (P_Item_Rec.ACCEPTABLE_EARLY_DAYS is null)))
5829 AND ((recinfo.PLANNING_TIME_FENCE_CODE = P_Item_Rec.PLANNING_TIME_FENCE_CODE)
5830 OR ((recinfo.PLANNING_TIME_FENCE_CODE is null) AND (P_Item_Rec.PLANNING_TIME_FENCE_CODE is null)))
5831 AND ((recinfo.DEMAND_TIME_FENCE_CODE = P_Item_Rec.DEMAND_TIME_FENCE_CODE)
5832 OR ((recinfo.DEMAND_TIME_FENCE_CODE is null) AND (P_Item_Rec.DEMAND_TIME_FENCE_CODE is null)))
5833 AND ((recinfo.LEAD_TIME_LOT_SIZE = P_Item_Rec.LEAD_TIME_LOT_SIZE)
5834 OR ((recinfo.LEAD_TIME_LOT_SIZE is null) AND (P_Item_Rec.LEAD_TIME_LOT_SIZE is null)))
5835 AND ((recinfo.STD_LOT_SIZE = P_Item_Rec.STD_LOT_SIZE)
5836 OR ((recinfo.STD_LOT_SIZE is null) AND (P_Item_Rec.STD_LOT_SIZE is null)))
5837 AND ((recinfo.CUM_MANUFACTURING_LEAD_TIME = P_Item_Rec.CUM_MANUFACTURING_LEAD_TIME)
5838 OR ((recinfo.CUM_MANUFACTURING_LEAD_TIME is null) AND (P_Item_Rec.CUM_MANUFACTURING_LEAD_TIME is null)))
5839 AND ((recinfo.OVERRUN_PERCENTAGE = P_Item_Rec.OVERRUN_PERCENTAGE)
5840 OR ((recinfo.OVERRUN_PERCENTAGE is null) AND (P_Item_Rec.OVERRUN_PERCENTAGE is null)))
5841 AND ((recinfo.MRP_CALCULATE_ATP_FLAG = P_Item_Rec.MRP_CALCULATE_ATP_FLAG)
5842 OR ((recinfo.MRP_CALCULATE_ATP_FLAG is null) AND (P_Item_Rec.MRP_CALCULATE_ATP_FLAG is null)))
5843 AND ((recinfo.ACCEPTABLE_RATE_INCREASE = P_Item_Rec.ACCEPTABLE_RATE_INCREASE)
5844 OR ((recinfo.ACCEPTABLE_RATE_INCREASE is null) AND (P_Item_Rec.ACCEPTABLE_RATE_INCREASE is null)))
5845 AND ((recinfo.ACCEPTABLE_RATE_DECREASE = P_Item_Rec.ACCEPTABLE_RATE_DECREASE)
5846 OR ((recinfo.ACCEPTABLE_RATE_DECREASE is null) AND (P_Item_Rec.ACCEPTABLE_RATE_DECREASE is null)))
5847 AND ((recinfo.CUMULATIVE_TOTAL_LEAD_TIME = P_Item_Rec.CUMULATIVE_TOTAL_LEAD_TIME)
5848 OR ((recinfo.CUMULATIVE_TOTAL_LEAD_TIME is null) AND (P_Item_Rec.CUMULATIVE_TOTAL_LEAD_TIME is null)))
5849 AND ((recinfo.PLANNING_TIME_FENCE_DAYS = P_Item_Rec.PLANNING_TIME_FENCE_DAYS)
5850 OR ((recinfo.PLANNING_TIME_FENCE_DAYS is null) AND (P_Item_Rec.PLANNING_TIME_FENCE_DAYS is null)))
5851 AND ((recinfo.DEMAND_TIME_FENCE_DAYS = P_Item_Rec.DEMAND_TIME_FENCE_DAYS)
5852 OR ((recinfo.DEMAND_TIME_FENCE_DAYS is null) AND (P_Item_Rec.DEMAND_TIME_FENCE_DAYS is null)))
5853 AND ((recinfo.END_ASSEMBLY_PEGGING_FLAG = P_Item_Rec.END_ASSEMBLY_PEGGING_FLAG)
5854 OR ((recinfo.END_ASSEMBLY_PEGGING_FLAG is null) AND (P_Item_Rec.END_ASSEMBLY_PEGGING_FLAG is null)))
5855 AND ((recinfo.REPETITIVE_PLANNING_FLAG = P_Item_Rec.REPETITIVE_PLANNING_FLAG)
5856 OR ((recinfo.REPETITIVE_PLANNING_FLAG is null) AND (P_Item_Rec.REPETITIVE_PLANNING_FLAG is null)))
5857 AND ((recinfo.PLANNING_EXCEPTION_SET = P_Item_Rec.PLANNING_EXCEPTION_SET)
5858 OR ((recinfo.PLANNING_EXCEPTION_SET is null) AND (P_Item_Rec.PLANNING_EXCEPTION_SET is null)))
5859 AND (recinfo.BOM_ITEM_TYPE = P_Item_Rec.BOM_ITEM_TYPE)
5860 AND (recinfo.PICK_COMPONENTS_FLAG = P_Item_Rec.PICK_COMPONENTS_FLAG)
5861 AND (recinfo.REPLENISH_TO_ORDER_FLAG = P_Item_Rec.REPLENISH_TO_ORDER_FLAG)
5862 AND ((recinfo.BASE_ITEM_ID = P_Item_Rec.BASE_ITEM_ID)
5863 OR ((recinfo.BASE_ITEM_ID is null) AND (P_Item_Rec.BASE_ITEM_ID is null)))
5864 AND (recinfo.ATP_COMPONENTS_FLAG = P_Item_Rec.ATP_COMPONENTS_FLAG)
5865 AND (recinfo.ATP_FLAG = P_Item_Rec.ATP_FLAG)
5866 AND ((recinfo.FIXED_LEAD_TIME = P_Item_Rec.FIXED_LEAD_TIME)
5867 OR ((recinfo.FIXED_LEAD_TIME is null) AND (P_Item_Rec.FIXED_LEAD_TIME is null)))
5868 AND ((recinfo.VARIABLE_LEAD_TIME = P_Item_Rec.VARIABLE_LEAD_TIME)
5869 OR ((recinfo.VARIABLE_LEAD_TIME is null) AND (P_Item_Rec.VARIABLE_LEAD_TIME is null)))
5870 AND ((recinfo.WIP_SUPPLY_LOCATOR_ID = P_Item_Rec.WIP_SUPPLY_LOCATOR_ID)
5871 OR ((recinfo.WIP_SUPPLY_LOCATOR_ID is null) AND (P_Item_Rec.WIP_SUPPLY_LOCATOR_ID is null)))
5872 AND ((recinfo.WIP_SUPPLY_TYPE = P_Item_Rec.WIP_SUPPLY_TYPE)
5873 OR ((recinfo.WIP_SUPPLY_TYPE is null) AND (P_Item_Rec.WIP_SUPPLY_TYPE is null)))
5874 AND ((recinfo.WIP_SUPPLY_SUBINVENTORY = P_Item_Rec.WIP_SUPPLY_SUBINVENTORY)
5875 OR ((recinfo.WIP_SUPPLY_SUBINVENTORY is null) AND (P_Item_Rec.WIP_SUPPLY_SUBINVENTORY is null)))
5876 AND ((recinfo.COST_OF_SALES_ACCOUNT = P_Item_Rec.COST_OF_SALES_ACCOUNT)
5877 OR ((recinfo.COST_OF_SALES_ACCOUNT is null) AND (P_Item_Rec.COST_OF_SALES_ACCOUNT is null)))
5878 AND ((recinfo.SALES_ACCOUNT = P_Item_Rec.SALES_ACCOUNT)
5879 OR ((recinfo.SALES_ACCOUNT is null) AND (P_Item_Rec.SALES_ACCOUNT is null)))
5880 AND ((recinfo.DEFAULT_INCLUDE_IN_ROLLUP_FLAG = P_Item_Rec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG)
5881 OR ((recinfo.DEFAULT_INCLUDE_IN_ROLLUP_FLAG is null) AND (P_Item_Rec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG is null)))
5882 AND ((recinfo.INVENTORY_ITEM_STATUS_CODE = P_Item_Rec.INVENTORY_ITEM_STATUS_CODE)
5883 OR ((recinfo.INVENTORY_ITEM_STATUS_CODE is null) AND (P_Item_Rec.INVENTORY_ITEM_STATUS_CODE is null)))
5884 AND ((recinfo.INVENTORY_PLANNING_CODE = P_Item_Rec.INVENTORY_PLANNING_CODE)
5885 OR ((recinfo.INVENTORY_PLANNING_CODE is null) AND (P_Item_Rec.INVENTORY_PLANNING_CODE is null)))
5886 AND ((recinfo.PLANNER_CODE = P_Item_Rec.PLANNER_CODE)
5887 OR ((recinfo.PLANNER_CODE is null) AND (P_Item_Rec.PLANNER_CODE is null)))
5888 AND ((recinfo.PLANNING_MAKE_BUY_CODE = P_Item_Rec.PLANNING_MAKE_BUY_CODE)
5889 OR ((recinfo.PLANNING_MAKE_BUY_CODE is null) AND (P_Item_Rec.PLANNING_MAKE_BUY_CODE is null)))
5890 AND ((recinfo.FIXED_LOT_MULTIPLIER = P_Item_Rec.FIXED_LOT_MULTIPLIER)
5891 OR ((recinfo.FIXED_LOT_MULTIPLIER is null) AND (P_Item_Rec.FIXED_LOT_MULTIPLIER is null)))
5892 AND ((recinfo.ROUNDING_CONTROL_TYPE = P_Item_Rec.ROUNDING_CONTROL_TYPE)
5893 OR ((recinfo.ROUNDING_CONTROL_TYPE is null) AND (P_Item_Rec.ROUNDING_CONTROL_TYPE is null)))
5894 AND ((recinfo.CARRYING_COST = P_Item_Rec.CARRYING_COST)
5895 OR ((recinfo.CARRYING_COST is null) AND (P_Item_Rec.CARRYING_COST is null)))
5896 AND ((recinfo.POSTPROCESSING_LEAD_TIME = P_Item_Rec.POSTPROCESSING_LEAD_TIME)
5897 OR ((recinfo.POSTPROCESSING_LEAD_TIME is null) AND (P_Item_Rec.POSTPROCESSING_LEAD_TIME is null)))
5898 AND ((recinfo.PREPROCESSING_LEAD_TIME = P_Item_Rec.PREPROCESSING_LEAD_TIME)
5899 OR ((recinfo.PREPROCESSING_LEAD_TIME is null) AND (P_Item_Rec.PREPROCESSING_LEAD_TIME is null)))
5900 AND (recinfo.SUMMARY_FLAG = P_Item_Rec.SUMMARY_FLAG)
5901 AND (recinfo.ENABLED_FLAG = P_Item_Rec.ENABLED_FLAG)
5902 AND ((recinfo.START_DATE_ACTIVE = P_Item_Rec.START_DATE_ACTIVE)
5903 OR ((recinfo.START_DATE_ACTIVE is null) AND (P_Item_Rec.START_DATE_ACTIVE is null)))
5904 AND ((recinfo.END_DATE_ACTIVE = P_Item_Rec.END_DATE_ACTIVE)
5905 OR ((recinfo.END_DATE_ACTIVE is null) AND (P_Item_Rec.END_DATE_ACTIVE is null)))
5906 AND ((recinfo.BUYER_ID = P_Item_Rec.BUYER_ID)
5907 OR ((recinfo.BUYER_ID is null) AND (P_Item_Rec.BUYER_ID is null)))
5908 AND ((recinfo.ACCOUNTING_RULE_ID = P_Item_Rec.ACCOUNTING_RULE_ID)
5909 OR ((recinfo.ACCOUNTING_RULE_ID is null) AND (P_Item_Rec.ACCOUNTING_RULE_ID is null)))
5910 AND ((recinfo.INVOICING_RULE_ID = P_Item_Rec.INVOICING_RULE_ID)
5911 OR ((recinfo.INVOICING_RULE_ID is null) AND (P_Item_Rec.INVOICING_RULE_ID is null)))
5912 AND ( (recinfo.OVER_SHIPMENT_TOLERANCE = P_Item_Rec.OVER_SHIPMENT_TOLERANCE)
5913 OR ((recinfo.OVER_SHIPMENT_TOLERANCE is null) AND (P_Item_Rec.OVER_SHIPMENT_TOLERANCE is null)) )
5914 AND ( (recinfo.UNDER_SHIPMENT_TOLERANCE = P_Item_Rec.UNDER_SHIPMENT_TOLERANCE)
5915 OR ((recinfo.UNDER_SHIPMENT_TOLERANCE is null) AND (P_Item_Rec.UNDER_SHIPMENT_TOLERANCE is null)) )
5916 AND ( (recinfo.OVER_RETURN_TOLERANCE = P_Item_Rec.OVER_RETURN_TOLERANCE)
5917 OR ((recinfo.OVER_RETURN_TOLERANCE is null) AND (P_Item_Rec.OVER_RETURN_TOLERANCE is null)) )
5918 AND ( (recinfo.UNDER_RETURN_TOLERANCE = P_Item_Rec.UNDER_RETURN_TOLERANCE)
5919 OR ((recinfo.UNDER_RETURN_TOLERANCE is null) AND (P_Item_Rec.UNDER_RETURN_TOLERANCE is null)) )
5920 AND ( (recinfo.EQUIPMENT_TYPE = P_Item_Rec.EQUIPMENT_TYPE)
5921 OR ((recinfo.EQUIPMENT_TYPE is null) AND (P_Item_Rec.EQUIPMENT_TYPE is null)) )
5922 AND ( (recinfo.RECOVERED_PART_DISP_CODE = P_Item_Rec.RECOVERED_PART_DISP_CODE)
5923 OR ((recinfo.RECOVERED_PART_DISP_CODE is null) AND (P_Item_Rec.RECOVERED_PART_DISP_CODE is null)) )
5924 AND ( (recinfo.DEFECT_TRACKING_ON_FLAG = P_Item_Rec.DEFECT_TRACKING_ON_FLAG)
5925 OR ((recinfo.DEFECT_TRACKING_ON_FLAG is null) AND (P_Item_Rec.DEFECT_TRACKING_ON_FLAG is null)) )
5926 AND ( (recinfo.EVENT_FLAG = P_Item_Rec.EVENT_FLAG)
5927 OR ((recinfo.EVENT_FLAG is null) AND (P_Item_Rec.EVENT_FLAG is null)) )
5928 AND ( (recinfo.ELECTRONIC_FLAG = P_Item_Rec.ELECTRONIC_FLAG)
5929 OR ((recinfo.ELECTRONIC_FLAG is null) AND (P_Item_Rec.ELECTRONIC_FLAG is null)) )
5930 AND ( (recinfo.DOWNLOADABLE_FLAG = P_Item_Rec.DOWNLOADABLE_FLAG)
5931 OR ((recinfo.DOWNLOADABLE_FLAG is null) AND (P_Item_Rec.DOWNLOADABLE_FLAG is null)) )
5932 AND ( (recinfo.VOL_DISCOUNT_EXEMPT_FLAG = P_Item_Rec.VOL_DISCOUNT_EXEMPT_FLAG)
5933 OR ((recinfo.VOL_DISCOUNT_EXEMPT_FLAG is null) AND (P_Item_Rec.VOL_DISCOUNT_EXEMPT_FLAG is null)) )
5934 AND ( (recinfo.COUPON_EXEMPT_FLAG = P_Item_Rec.COUPON_EXEMPT_FLAG)
5935 OR ((recinfo.COUPON_EXEMPT_FLAG is null) AND (P_Item_Rec.COUPON_EXEMPT_FLAG is null)) )
5936 AND ( (recinfo.COMMS_NL_TRACKABLE_FLAG = P_Item_Rec.COMMS_NL_TRACKABLE_FLAG)
5937 OR ((recinfo.COMMS_NL_TRACKABLE_FLAG is null) AND (P_Item_Rec.COMMS_NL_TRACKABLE_FLAG is null)) )
5938 AND ( (recinfo.ASSET_CREATION_CODE = P_Item_Rec.ASSET_CREATION_CODE)
5939 OR ((recinfo.ASSET_CREATION_CODE is null) AND (P_Item_Rec.ASSET_CREATION_CODE is null)) )
5940 AND ( (recinfo.COMMS_ACTIVATION_REQD_FLAG = P_Item_Rec.COMMS_ACTIVATION_REQD_FLAG)
5941 OR ((recinfo.COMMS_ACTIVATION_REQD_FLAG is null) AND (P_Item_Rec.COMMS_ACTIVATION_REQD_FLAG is null)) )
5942 AND ( (recinfo.ORDERABLE_ON_WEB_FLAG = P_Item_Rec.ORDERABLE_ON_WEB_FLAG)
5943 OR ((recinfo.ORDERABLE_ON_WEB_FLAG is null) AND (P_Item_Rec.ORDERABLE_ON_WEB_FLAG is null)) )
5944 AND ( (recinfo.BACK_ORDERABLE_FLAG = P_Item_Rec.BACK_ORDERABLE_FLAG)
5945 OR ((recinfo.BACK_ORDERABLE_FLAG is null) AND (P_Item_Rec.BACK_ORDERABLE_FLAG is null)) )
5946 AND ( (recinfo.WEB_STATUS = P_Item_Rec.WEB_STATUS)
5947 OR ((recinfo.WEB_STATUS is null) AND (P_Item_Rec.WEB_STATUS is null)) )
5948 AND ( (recinfo.INDIVISIBLE_FLAG = P_Item_Rec.INDIVISIBLE_FLAG)
5949 OR ((recinfo.INDIVISIBLE_FLAG is null) AND (P_Item_Rec.INDIVISIBLE_FLAG is null)) )
5950 AND ( (recinfo.DIMENSION_UOM_CODE = P_Item_Rec.DIMENSION_UOM_CODE)
5951 OR ((recinfo.DIMENSION_UOM_CODE is null) AND (P_Item_Rec.DIMENSION_UOM_CODE is null)) )
5952 AND ( (recinfo.UNIT_LENGTH = P_Item_Rec.UNIT_LENGTH)
5953 OR ((recinfo.UNIT_LENGTH is null) AND (P_Item_Rec.UNIT_LENGTH is null)) )
5954 AND ( (recinfo.UNIT_WIDTH = P_Item_Rec.UNIT_WIDTH)
5955 OR ((recinfo.UNIT_WIDTH is null) AND (P_Item_Rec.UNIT_WIDTH is null)) )
5956 AND ( (recinfo.UNIT_HEIGHT = P_Item_Rec.UNIT_HEIGHT)
5957 OR ((recinfo.UNIT_HEIGHT is null) AND (P_Item_Rec.UNIT_HEIGHT is null)) )
5958 AND ( (recinfo.BULK_PICKED_FLAG = P_Item_Rec.BULK_PICKED_FLAG)
5959 OR ((recinfo.BULK_PICKED_FLAG is null) AND (P_Item_Rec.BULK_PICKED_FLAG is null)) )
5960 AND ( (recinfo.LOT_STATUS_ENABLED = P_Item_Rec.LOT_STATUS_ENABLED)
5961 OR ((recinfo.LOT_STATUS_ENABLED is null) AND (P_Item_Rec.LOT_STATUS_ENABLED is null)) )
5962 AND ( (recinfo.DEFAULT_LOT_STATUS_ID = P_Item_Rec.DEFAULT_LOT_STATUS_ID)
5963 OR ((recinfo.DEFAULT_LOT_STATUS_ID is null) AND (P_Item_Rec.DEFAULT_LOT_STATUS_ID is null)) )
5964 AND ( (recinfo.SERIAL_STATUS_ENABLED = P_Item_Rec.SERIAL_STATUS_ENABLED)
5965 OR ((recinfo.SERIAL_STATUS_ENABLED is null) AND (P_Item_Rec.SERIAL_STATUS_ENABLED is null)) )
5966 AND ( (recinfo.DEFAULT_SERIAL_STATUS_ID = P_Item_Rec.DEFAULT_SERIAL_STATUS_ID)
5967 OR ((recinfo.DEFAULT_SERIAL_STATUS_ID is null) AND (P_Item_Rec.DEFAULT_SERIAL_STATUS_ID is null)) )
5968 AND ( (recinfo.LOT_SPLIT_ENABLED = P_Item_Rec.LOT_SPLIT_ENABLED)
5969 OR ((recinfo.LOT_SPLIT_ENABLED is null) AND (P_Item_Rec.LOT_SPLIT_ENABLED is null)) )
5970 AND ( (recinfo.LOT_MERGE_ENABLED = P_Item_Rec.LOT_MERGE_ENABLED)
5971 OR ((recinfo.LOT_MERGE_ENABLED is null) AND (P_Item_Rec.LOT_MERGE_ENABLED is null)) )
5972 AND ( (recinfo.INVENTORY_CARRY_PENALTY = P_Item_Rec.INVENTORY_CARRY_PENALTY)
5973 OR ((recinfo.INVENTORY_CARRY_PENALTY is null) AND (P_Item_Rec.INVENTORY_CARRY_PENALTY is null)) )
5974 AND ( (recinfo.OPERATION_SLACK_PENALTY = P_Item_Rec.OPERATION_SLACK_PENALTY)
5975 OR ((recinfo.OPERATION_SLACK_PENALTY is null) AND (P_Item_Rec.OPERATION_SLACK_PENALTY is null)) )
5976 AND ( (recinfo.FINANCING_ALLOWED_FLAG = P_Item_Rec.FINANCING_ALLOWED_FLAG)
5977 OR ((recinfo.FINANCING_ALLOWED_FLAG is null) AND (P_Item_Rec.FINANCING_ALLOWED_FLAG is null)) )
5978 AND ( (recinfo.EAM_ITEM_TYPE = P_Item_Rec.EAM_ITEM_TYPE)
5979 OR ((recinfo.EAM_ITEM_TYPE is null) AND (P_Item_Rec.EAM_ITEM_TYPE is null)) )
5980 AND ( (recinfo.EAM_ACTIVITY_TYPE_CODE = P_Item_Rec.EAM_ACTIVITY_TYPE_CODE)
5981 OR ((recinfo.EAM_ACTIVITY_TYPE_CODE is null) AND (P_Item_Rec.EAM_ACTIVITY_TYPE_CODE is null)) )
5982 AND ( (recinfo.EAM_ACTIVITY_CAUSE_CODE = P_Item_Rec.EAM_ACTIVITY_CAUSE_CODE)
5983 OR ((recinfo.EAM_ACTIVITY_CAUSE_CODE is null) AND (P_Item_Rec.EAM_ACTIVITY_CAUSE_CODE is null)) )
5984 AND ( (recinfo.EAM_ACT_NOTIFICATION_FLAG = P_Item_Rec.EAM_ACT_NOTIFICATION_FLAG)
5985 OR ((recinfo.EAM_ACT_NOTIFICATION_FLAG is null) AND (P_Item_Rec.EAM_ACT_NOTIFICATION_FLAG is null)) )
5986 AND ( (recinfo.EAM_ACT_SHUTDOWN_STATUS = P_Item_Rec.EAM_ACT_SHUTDOWN_STATUS)
5987 OR ((recinfo.EAM_ACT_SHUTDOWN_STATUS is null) AND (P_Item_Rec.EAM_ACT_SHUTDOWN_STATUS is null)) )
5988 AND ( (recinfo.DUAL_UOM_CONTROL = P_Item_Rec.DUAL_UOM_CONTROL)
5989 OR ((recinfo.DUAL_UOM_CONTROL is null) AND (P_Item_Rec.DUAL_UOM_CONTROL is null)) )
5990 AND ( (recinfo.SECONDARY_UOM_CODE = P_Item_Rec.SECONDARY_UOM_CODE)
5991 OR ((recinfo.SECONDARY_UOM_CODE is null) AND (P_Item_Rec.SECONDARY_UOM_CODE is null)) )
5992 AND ( (recinfo.DUAL_UOM_DEVIATION_HIGH = P_Item_Rec.DUAL_UOM_DEVIATION_HIGH)
5993 OR ((recinfo.DUAL_UOM_DEVIATION_HIGH is null) AND (P_Item_Rec.DUAL_UOM_DEVIATION_HIGH is null)) )
5994 AND ( (recinfo.DUAL_UOM_DEVIATION_LOW = P_Item_Rec.DUAL_UOM_DEVIATION_LOW)
5995 OR ((recinfo.DUAL_UOM_DEVIATION_LOW is null) AND (P_Item_Rec.DUAL_UOM_DEVIATION_LOW is null)) )
5996 AND ( (recinfo.CONTRACT_ITEM_TYPE_CODE = P_Item_Rec.CONTRACT_ITEM_TYPE_CODE)
5997 OR ((recinfo.CONTRACT_ITEM_TYPE_CODE is null) AND (P_Item_Rec.CONTRACT_ITEM_TYPE_CODE is null)) )
5998 /* AND ( (recinfo.SUBSCRIPTION_DEPEND_FLAG = P_Item_Rec.SUBSCRIPTION_DEPEND_FLAG)
5999 OR ((recinfo.SUBSCRIPTION_DEPEND_FLAG is null) AND (P_Item_Rec.SUBSCRIPTION_DEPEND_FLAG is null)) )
6000 */ AND ( (recinfo.SERV_REQ_ENABLED_CODE = P_Item_Rec.SERV_REQ_ENABLED_CODE)
6001 OR ( (recinfo.SERV_REQ_ENABLED_CODE is null) AND (P_Item_Rec.SERV_REQ_ENABLED_CODE is null) ) )
6002 AND ( (recinfo.SERV_BILLING_ENABLED_FLAG = P_Item_Rec.SERV_BILLING_ENABLED_FLAG)
6003 OR ( (recinfo.SERV_BILLING_ENABLED_FLAG is null) AND (P_Item_Rec.SERV_BILLING_ENABLED_FLAG is null) ) )
6004 /* AND ( (recinfo.SERV_IMPORTANCE_LEVEL = P_Item_Rec.SERV_IMPORTANCE_LEVEL)
6005 OR ( (recinfo.SERV_IMPORTANCE_LEVEL is null) AND (P_Item_Rec.SERV_IMPORTANCE_LEVEL is null) ) )
6006 */ AND ( (recinfo.PLANNED_INV_POINT_FLAG = P_Item_Rec.PLANNED_INV_POINT_FLAG)
6007 OR ( (recinfo.PLANNED_INV_POINT_FLAG is null) AND (P_Item_Rec.PLANNED_INV_POINT_FLAG is null) ) )
6008 AND ( (recinfo.LOT_TRANSLATE_ENABLED = P_Item_Rec.LOT_TRANSLATE_ENABLED)
6009 OR ( (recinfo.LOT_TRANSLATE_ENABLED IS NULL) AND (P_Item_Rec.LOT_TRANSLATE_ENABLED IS NULL) ) )
6010 AND ( recinfo.DEFAULT_SO_SOURCE_TYPE = P_Item_Rec.DEFAULT_SO_SOURCE_TYPE )
6011 AND ( recinfo.CREATE_SUPPLY_FLAG = P_Item_Rec.CREATE_SUPPLY_FLAG )
6012 AND ( (recinfo.SUBSTITUTION_WINDOW_CODE = P_Item_Rec.SUBSTITUTION_WINDOW_CODE)
6013 OR ( (recinfo.SUBSTITUTION_WINDOW_CODE IS NULL) AND (P_Item_Rec.SUBSTITUTION_WINDOW_CODE IS NULL) ) )
6014 AND ( (recinfo.SUBSTITUTION_WINDOW_DAYS = P_Item_Rec.SUBSTITUTION_WINDOW_DAYS)
6015 OR ( (recinfo.SUBSTITUTION_WINDOW_DAYS IS NULL) AND (P_Item_Rec.SUBSTITUTION_WINDOW_DAYS IS NULL) ) )
6016 AND ( (recinfo.IB_ITEM_INSTANCE_CLASS = P_Item_Rec.IB_ITEM_INSTANCE_CLASS)
6017 OR ( (recinfo.IB_ITEM_INSTANCE_CLASS IS NULL) AND (P_Item_Rec.IB_ITEM_INSTANCE_CLASS IS NULL) ) )
6018 AND ( (recinfo.CONFIG_MODEL_TYPE = P_Item_Rec.CONFIG_MODEL_TYPE)
6019 OR ( (recinfo.CONFIG_MODEL_TYPE IS NULL) AND (P_Item_Rec.CONFIG_MODEL_TYPE IS NULL) ) )
6020 --Added as part of 11.5.9 Enh
6021 AND ( (recinfo.LOT_SUBSTITUTION_ENABLED = P_Item_Rec.LOT_SUBSTITUTION_ENABLED)
6022 OR ( (recinfo.LOT_SUBSTITUTION_ENABLED IS NULL) AND (P_Item_Rec.LOT_SUBSTITUTION_ENABLED IS NULL) ) )
6023 AND ( (recinfo.MINIMUM_LICENSE_QUANTITY = P_Item_Rec.MINIMUM_LICENSE_QUANTITY)
6024 OR ( (recinfo.MINIMUM_LICENSE_QUANTITY IS NULL) AND (P_Item_Rec.MINIMUM_LICENSE_QUANTITY IS NULL) ) )
6025 AND ( (recinfo.EAM_ACTIVITY_SOURCE_CODE = P_Item_Rec.EAM_ACTIVITY_SOURCE_CODE)
6026 OR ( (recinfo.EAM_ACTIVITY_SOURCE_CODE IS NULL) AND (P_Item_Rec.EAM_ACTIVITY_SOURCE_CODE IS NULL) ) )
6027 --Added as part of 11.5.10 Enh
6028 AND ( (recinfo.TRACKING_QUANTITY_IND = P_Item_Rec.TRACKING_QUANTITY_IND)
6029 OR ( (recinfo.TRACKING_QUANTITY_IND IS NULL) AND (P_Item_Rec.TRACKING_QUANTITY_IND IS NULL) ) )
6030 AND ( (recinfo.ONT_PRICING_QTY_SOURCE = P_Item_Rec.ONT_PRICING_QTY_SOURCE)
6031 OR ( (recinfo.ONT_PRICING_QTY_SOURCE IS NULL) AND (P_Item_Rec.ONT_PRICING_QTY_SOURCE IS NULL) ) )
6032 AND ( (recinfo.SECONDARY_DEFAULT_IND = P_Item_Rec.SECONDARY_DEFAULT_IND)
6033 OR ( (recinfo.SECONDARY_DEFAULT_IND IS NULL) AND (P_Item_Rec.SECONDARY_DEFAULT_IND IS NULL) ) )
6034 AND ( (recinfo.CONFIG_ORGS = P_Item_Rec.CONFIG_ORGS)
6035 OR ( (recinfo.CONFIG_ORGS IS NULL) AND (P_Item_Rec.CONFIG_ORGS IS NULL) ) )
6036 AND ( (recinfo.CONFIG_MATCH = P_Item_Rec.CONFIG_MATCH)
6037 OR ( (recinfo.CONFIG_MATCH IS NULL) AND (P_Item_Rec.CONFIG_MATCH IS NULL) ) )
6038 AND ((recinfo.SEGMENT1 = P_Item_Rec.SEGMENT1)
6039 OR ((recinfo.SEGMENT1 is null) AND (P_Item_Rec.SEGMENT1 is null)))
6040 AND ((recinfo.SEGMENT2 = P_Item_Rec.SEGMENT2)
6041 OR ((recinfo.SEGMENT2 is null) AND (P_Item_Rec.SEGMENT2 is null)))
6042 AND ((recinfo.SEGMENT3 = P_Item_Rec.SEGMENT3)
6043 OR ((recinfo.SEGMENT3 is null) AND (P_Item_Rec.SEGMENT3 is null)))
6044 AND ((recinfo.SEGMENT4 = P_Item_Rec.SEGMENT4)
6045 OR ((recinfo.SEGMENT4 is null) AND (P_Item_Rec.SEGMENT4 is null)))
6046 AND ((recinfo.SEGMENT5 = P_Item_Rec.SEGMENT5)
6047 OR ((recinfo.SEGMENT5 is null) AND (P_Item_Rec.SEGMENT5 is null)))
6048 AND ((recinfo.SEGMENT6 = P_Item_Rec.SEGMENT6)
6049 OR ((recinfo.SEGMENT6 is null) AND (P_Item_Rec.SEGMENT6 is null)))
6050 AND ((recinfo.SEGMENT7 = P_Item_Rec.SEGMENT7)
6051 OR ((recinfo.SEGMENT7 is null) AND (P_Item_Rec.SEGMENT7 is null)))
6052 AND ((recinfo.SEGMENT8 = P_Item_Rec.SEGMENT8)
6053 OR ((recinfo.SEGMENT8 is null) AND (P_Item_Rec.SEGMENT8 is null)))
6054 AND ((recinfo.SEGMENT9 = P_Item_Rec.SEGMENT9)
6055 OR ((recinfo.SEGMENT9 is null) AND (P_Item_Rec.SEGMENT9 is null)))
6056 AND ((recinfo.SEGMENT10 = P_Item_Rec.SEGMENT10)
6057 OR ((recinfo.SEGMENT10 is null) AND (P_Item_Rec.SEGMENT10 is null)))
6058 AND ((recinfo.SEGMENT11 = P_Item_Rec.SEGMENT11)
6059 OR ((recinfo.SEGMENT11 is null) AND (P_Item_Rec.SEGMENT11 is null)))
6060 AND ((recinfo.SEGMENT12 = P_Item_Rec.SEGMENT12)
6061 OR ((recinfo.SEGMENT12 is null) AND (P_Item_Rec.SEGMENT12 is null)))
6062 AND ((recinfo.SEGMENT13 = P_Item_Rec.SEGMENT13)
6063 OR ((recinfo.SEGMENT13 is null) AND (P_Item_Rec.SEGMENT13 is null)))
6064 AND ((recinfo.SEGMENT14 = P_Item_Rec.SEGMENT14)
6065 OR ((recinfo.SEGMENT14 is null) AND (P_Item_Rec.SEGMENT14 is null)))
6066 AND ((recinfo.SEGMENT15 = P_Item_Rec.SEGMENT15)
6067 OR ((recinfo.SEGMENT15 is null) AND (P_Item_Rec.SEGMENT15 is null)))
6068 AND ((recinfo.SEGMENT16 = P_Item_Rec.SEGMENT16)
6069 OR ((recinfo.SEGMENT16 is null) AND (P_Item_Rec.SEGMENT16 is null)))
6070 AND ((recinfo.SEGMENT17 = P_Item_Rec.SEGMENT17)
6071 OR ((recinfo.SEGMENT17 is null) AND (P_Item_Rec.SEGMENT17 is null)))
6072 AND ((recinfo.SEGMENT18 = P_Item_Rec.SEGMENT18)
6073 OR ((recinfo.SEGMENT18 is null) AND (P_Item_Rec.SEGMENT18 is null)))
6074 AND ((recinfo.SEGMENT19 = P_Item_Rec.SEGMENT19)
6075 OR ((recinfo.SEGMENT19 is null) AND (P_Item_Rec.SEGMENT19 is null)))
6076 AND ((recinfo.SEGMENT20 = P_Item_Rec.SEGMENT20)
6077 OR ((recinfo.SEGMENT20 is null) AND (P_Item_Rec.SEGMENT20 is null)))
6078 AND ((recinfo.ATTRIBUTE_CATEGORY = P_Item_Rec.ATTRIBUTE_CATEGORY)
6079 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (P_Item_Rec.ATTRIBUTE_CATEGORY is null)))
6080 AND ((recinfo.ATTRIBUTE1 = P_Item_Rec.ATTRIBUTE1)
6081 OR ((recinfo.ATTRIBUTE1 is null) AND (P_Item_Rec.ATTRIBUTE1 is null)))
6082 AND ((recinfo.ATTRIBUTE2 = P_Item_Rec.ATTRIBUTE2)
6083 OR ((recinfo.ATTRIBUTE2 is null) AND (P_Item_Rec.ATTRIBUTE2 is null)))
6084 AND ((recinfo.ATTRIBUTE3 = P_Item_Rec.ATTRIBUTE3)
6085 OR ((recinfo.ATTRIBUTE3 is null) AND (P_Item_Rec.ATTRIBUTE3 is null)))
6086 AND ((recinfo.ATTRIBUTE4 = P_Item_Rec.ATTRIBUTE4)
6087 OR ((recinfo.ATTRIBUTE4 is null) AND (P_Item_Rec.ATTRIBUTE4 is null)))
6088 AND ((recinfo.ATTRIBUTE5 = P_Item_Rec.ATTRIBUTE5)
6089 OR ((recinfo.ATTRIBUTE5 is null) AND (P_Item_Rec.ATTRIBUTE5 is null))))
6090 /* Start Bug 3713912 */ --Added for R12
6091 AND ((recinfo.LOT_DIVISIBLE_FLAG = P_Item_Rec.LOT_DIVISIBLE_FLAG )
6092 OR ((recinfo.LOT_DIVISIBLE_FLAG is null) AND (P_Item_Rec.LOT_DIVISIBLE_FLAG is null)))
6093 AND ((recinfo.GRADE_CONTROL_FLAG = P_Item_Rec.GRADE_CONTROL_FLAG )
6094 OR ((recinfo.GRADE_CONTROL_FLAG is null) AND (P_Item_Rec.GRADE_CONTROL_FLAG is null)))
6095 AND ((recinfo.DEFAULT_GRADE = P_Item_Rec.DEFAULT_GRADE )
6096 OR ((recinfo.DEFAULT_GRADE is null) AND (P_Item_Rec.DEFAULT_GRADE is null)))
6097 AND ((recinfo.CHILD_LOT_FLAG = P_Item_Rec.CHILD_LOT_FLAG )
6098 OR ((recinfo.CHILD_LOT_FLAG is null) AND (P_Item_Rec.CHILD_LOT_FLAG is null)))
6099 AND ((recinfo.PARENT_CHILD_GENERATION_FLAG = P_Item_Rec.PARENT_CHILD_GENERATION_FLAG )
6100 OR ((recinfo.PARENT_CHILD_GENERATION_FLAG is null) AND (P_Item_Rec.PARENT_CHILD_GENERATION_FLAG is null)))
6101 AND ((recinfo.CHILD_LOT_PREFIX = P_Item_Rec.CHILD_LOT_PREFIX )
6102 OR ((recinfo.CHILD_LOT_PREFIX is null) AND (P_Item_Rec.CHILD_LOT_PREFIX is null)))
6103 AND ((recinfo.CHILD_LOT_STARTING_NUMBER = P_Item_Rec.CHILD_LOT_STARTING_NUMBER )
6104 OR ((recinfo.CHILD_LOT_STARTING_NUMBER is null) AND (P_Item_Rec.CHILD_LOT_STARTING_NUMBER is null)))
6105 AND ((recinfo.CHILD_LOT_VALIDATION_FLAG = P_Item_Rec.CHILD_LOT_VALIDATION_FLAG )
6106 OR ((recinfo.CHILD_LOT_VALIDATION_FLAG is null) AND (P_Item_Rec.CHILD_LOT_VALIDATION_FLAG is null)))
6107 AND ((recinfo.COPY_LOT_ATTRIBUTE_FLAG = P_Item_Rec.COPY_LOT_ATTRIBUTE_FLAG )
6108 OR ((recinfo.COPY_LOT_ATTRIBUTE_FLAG is null) AND (P_Item_Rec.COPY_LOT_ATTRIBUTE_FLAG is null)))
6109 AND ((recinfo.RECIPE_ENABLED_FLAG = P_Item_Rec.RECIPE_ENABLED_FLAG )
6110 OR ((recinfo.RECIPE_ENABLED_FLAG is null) AND (P_Item_Rec.RECIPE_ENABLED_FLAG is null)))
6111 AND ((recinfo.PROCESS_QUALITY_ENABLED_FLAG = P_Item_Rec.PROCESS_QUALITY_ENABLED_FLAG )
6112 OR ((recinfo.PROCESS_QUALITY_ENABLED_FLAG is null) AND (P_Item_Rec.PROCESS_QUALITY_ENABLED_FLAG is null)))
6113 AND ((recinfo.PROCESS_EXECUTION_ENABLED_FLAG = P_Item_Rec.PROCESS_EXECUTION_ENABLED_FLAG )
6114 OR ((recinfo.PROCESS_EXECUTION_ENABLED_FLAG is null) AND (P_Item_Rec.PROCESS_EXECUTION_ENABLED_FLAG is null)))
6115 AND ((recinfo.PROCESS_COSTING_ENABLED_FLAG = P_Item_Rec.PROCESS_COSTING_ENABLED_FLAG )
6116 OR ((recinfo.PROCESS_COSTING_ENABLED_FLAG is null) AND (P_Item_Rec.PROCESS_COSTING_ENABLED_FLAG is null)))
6117 AND ((recinfo.PROCESS_SUPPLY_SUBINVENTORY = P_Item_Rec.PROCESS_SUPPLY_SUBINVENTORY )
6118 OR ((recinfo.PROCESS_SUPPLY_SUBINVENTORY is null) AND (P_Item_Rec.PROCESS_SUPPLY_SUBINVENTORY is null)))
6119 AND ((recinfo.PROCESS_SUPPLY_LOCATOR_ID = P_Item_Rec.PROCESS_SUPPLY_LOCATOR_ID )
6120 OR ((recinfo.PROCESS_SUPPLY_LOCATOR_ID is null) AND (P_Item_Rec.PROCESS_SUPPLY_LOCATOR_ID is null)))
6121 AND ((recinfo.PROCESS_YIELD_SUBINVENTORY = P_Item_Rec.PROCESS_YIELD_SUBINVENTORY )
6122 OR ((recinfo.PROCESS_YIELD_SUBINVENTORY is null) AND (P_Item_Rec.PROCESS_YIELD_SUBINVENTORY is null)))
6123 AND ((recinfo.PROCESS_YIELD_LOCATOR_ID = P_Item_Rec.PROCESS_YIELD_LOCATOR_ID )
6124 OR ((recinfo.PROCESS_YIELD_LOCATOR_ID is null) AND (P_Item_Rec.PROCESS_YIELD_LOCATOR_ID is null)))
6125 AND ((recinfo.HAZARDOUS_MATERIAL_FLAG = P_Item_Rec.HAZARDOUS_MATERIAL_FLAG )
6126 OR ((recinfo.HAZARDOUS_MATERIAL_FLAG is null) AND (P_Item_Rec.HAZARDOUS_MATERIAL_FLAG is null)))
6127 AND ((recinfo.CAS_NUMBER = P_Item_Rec.CAS_NUMBER )
6128 OR ((recinfo.CAS_NUMBER is null) AND (P_Item_Rec.CAS_NUMBER is null)))
6129 AND ((recinfo.RETEST_INTERVAL = P_Item_Rec.RETEST_INTERVAL )
6130 OR ((recinfo.RETEST_INTERVAL is null) AND (P_Item_Rec.RETEST_INTERVAL is null)))
6131 AND ((recinfo.EXPIRATION_ACTION_INTERVAL = P_Item_Rec.EXPIRATION_ACTION_INTERVAL )
6132 OR ((recinfo.EXPIRATION_ACTION_INTERVAL is null) AND (P_Item_Rec.EXPIRATION_ACTION_INTERVAL is null)))
6133 AND ((recinfo.EXPIRATION_ACTION_CODE = P_Item_Rec.EXPIRATION_ACTION_CODE )
6134 OR ((recinfo.EXPIRATION_ACTION_CODE is null) AND (P_Item_Rec.EXPIRATION_ACTION_CODE is null)))
6135 AND ((recinfo.MATURITY_DAYS = P_Item_Rec.MATURITY_DAYS )
6136 OR ((recinfo.MATURITY_DAYS is null) AND (P_Item_Rec.MATURITY_DAYS is null)))
6137 AND ((recinfo.HOLD_DAYS = P_Item_Rec.HOLD_DAYS )
6138 OR ((recinfo.HOLD_DAYS is null) AND (P_Item_Rec.HOLD_DAYS is null)))
6139 AND ((recinfo.ATTRIBUTE16 = P_Item_Rec.ATTRIBUTE16 )
6140 OR ((recinfo.ATTRIBUTE16 is null) AND (P_Item_Rec.ATTRIBUTE16 is null)))
6141 AND ((recinfo.ATTRIBUTE17 = P_Item_Rec.ATTRIBUTE17 )
6142 OR ((recinfo.ATTRIBUTE17 is null) AND (P_Item_Rec.ATTRIBUTE17 is null)))
6143 AND ((recinfo.ATTRIBUTE18 = P_Item_Rec.ATTRIBUTE18 )
6144 OR ((recinfo.ATTRIBUTE18 is null) AND (P_Item_Rec.ATTRIBUTE18 is null)))
6145 AND ((recinfo.ATTRIBUTE19 = P_Item_Rec.ATTRIBUTE19 )
6146 OR ((recinfo.ATTRIBUTE19 is null) AND (P_Item_Rec.ATTRIBUTE19 is null)))
6147 AND ((recinfo.ATTRIBUTE20 = P_Item_Rec.ATTRIBUTE20 )
6148 OR ((recinfo.ATTRIBUTE20 is null) AND (P_Item_Rec.ATTRIBUTE20 is null)))
6149 AND ((recinfo.ATTRIBUTE21 = P_Item_Rec.ATTRIBUTE21 )
6150 OR ((recinfo.ATTRIBUTE21 is null) AND (P_Item_Rec.ATTRIBUTE21 is null)))
6151 AND ((recinfo.ATTRIBUTE22 = P_Item_Rec.ATTRIBUTE22 )
6152 OR ((recinfo.ATTRIBUTE22 is null) AND (P_Item_Rec.ATTRIBUTE22 is null)))
6153 AND ((recinfo.ATTRIBUTE23 = P_Item_Rec.ATTRIBUTE23 )
6154 OR ((recinfo.ATTRIBUTE23 is null) AND (P_Item_Rec.ATTRIBUTE23 is null)))
6155 AND ((recinfo.ATTRIBUTE24 = P_Item_Rec.ATTRIBUTE24 )
6156 OR ((recinfo.ATTRIBUTE24 is null) AND (P_Item_Rec.ATTRIBUTE24 is null)))
6157 AND ((recinfo.ATTRIBUTE25 = P_Item_Rec.ATTRIBUTE25 )
6158 OR ((recinfo.ATTRIBUTE25 is null) AND (P_Item_Rec.ATTRIBUTE25 is null)))
6159 AND ((recinfo.ATTRIBUTE26 = P_Item_Rec.ATTRIBUTE26 )
6160 OR ((recinfo.ATTRIBUTE26 is null) AND (P_Item_Rec.ATTRIBUTE26 is null)))
6161 AND ((recinfo.ATTRIBUTE27 = P_Item_Rec.ATTRIBUTE27 )
6162 OR ((recinfo.ATTRIBUTE27 is null) AND (P_Item_Rec.ATTRIBUTE27 is null)))
6163 AND ((recinfo.ATTRIBUTE28 = P_Item_Rec.ATTRIBUTE28 )
6164 OR ((recinfo.ATTRIBUTE28 is null) AND (P_Item_Rec.ATTRIBUTE28 is null)))
6165 AND ((recinfo.ATTRIBUTE29 = P_Item_Rec.ATTRIBUTE29 )
6166 OR ((recinfo.ATTRIBUTE29 is null) AND (P_Item_Rec.ATTRIBUTE29 is null)))
6167 AND ((recinfo.ATTRIBUTE30 = P_Item_Rec.ATTRIBUTE30 )
6168 OR ((recinfo.ATTRIBUTE30 is null) AND (P_Item_Rec.ATTRIBUTE30 is null)))
6169 /* End Bug 3713912 */
6170 AND ((recinfo.CHARGE_PERIODICITY_CODE = p_Item_Rec.CHARGE_PERIODICITY_CODE)
6171 OR (recinfo.CHARGE_PERIODICITY_CODE IS NULL AND p_Item_Rec.CHARGE_PERIODICITY_CODE IS NULL))
6172 AND ((recinfo.REPAIR_LEADTIME = p_Item_Rec.REPAIR_LEADTIME)
6173 OR(recinfo.REPAIR_LEADTIME IS NULL AND p_Item_Rec.REPAIR_LEADTIME IS NULL))
6174 AND ((recinfo.REPAIR_YIELD = p_Item_Rec.REPAIR_YIELD)
6175 OR(recinfo.REPAIR_YIELD IS NULL AND p_Item_Rec.REPAIR_YIELD IS NULL))
6176 AND ((recinfo.PREPOSITION_POINT = p_Item_Rec.PREPOSITION_POINT)
6177 OR(recinfo.PREPOSITION_POINT IS NULL AND p_Item_Rec.PREPOSITION_POINT IS NULL))
6178 AND ((recinfo.REPAIR_PROGRAM = p_Item_Rec.REPAIR_PROGRAM)
6179 OR(recinfo.REPAIR_PROGRAM IS NULL AND p_Item_Rec.REPAIR_PROGRAM IS NULL))
6180 AND ((recinfo.SUBCONTRACTING_COMPONENT = p_Item_Rec.SUBCONTRACTING_COMPONENT)
6181 OR(recinfo.SUBCONTRACTING_COMPONENT IS NULL AND p_Item_Rec.SUBCONTRACTING_COMPONENT IS NULL))
6182 AND ((recinfo.OUTSOURCED_ASSEMBLY = p_Item_Rec.OUTSOURCED_ASSEMBLY)
6183 OR(recinfo.OUTSOURCED_ASSEMBLY IS NULL AND p_Item_Rec.OUTSOURCED_ASSEMBLY IS NULL))
6184 -- Fix for Bug#6644711
6185 AND ( (recinfo.DEFAULT_MATERIAL_STATUS_ID = P_Item_Rec.DEFAULT_MATERIAL_STATUS_ID)
6186 OR ((recinfo.DEFAULT_MATERIAL_STATUS_ID is null) AND (P_Item_Rec.DEFAULT_MATERIAL_STATUS_ID is null)))
6187 -- Serial_Tagging Enh -- bug 9913552
6188 AND ( (recinfo.SERIAL_TAGGING_FLAG = P_Item_Rec.SERIAL_TAGGING_FLAG)
6189 OR ((recinfo.SERIAL_TAGGING_FLAG is null) AND (P_Item_Rec.SERIAL_TAGGING_FLAG is null)) )
6190 THEN
6191 NULL;
6192 ELSE
6193 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
6194 Raise FND_API.g_EXC_UNEXPECTED_ERROR;
6195 END IF;
6196
6197
6198 FOR item_tl IN c_get_item_description
6199 LOOP
6200 IF (item_tl.BASELANG = 'Y') THEN
6201 IF(((item_tl.DESCRIPTION = P_Item_Rec.DESCRIPTION)
6202 OR ((item_tl.DESCRIPTION is null) AND (P_Item_Rec.DESCRIPTION is null)) )
6203 AND((item_tl.LONG_DESCRIPTION = P_Item_Rec.LONG_DESCRIPTION)
6204 OR ((item_tl.LONG_DESCRIPTION is null) AND (P_Item_Rec.LONG_DESCRIPTION is null))))
6205 THEN
6206 NULL;
6207 ELSE
6208 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
6209 Raise FND_API.g_EXC_UNEXPECTED_ERROR;
6210 END IF;
6211 END IF;
6212 END LOOP;
6213
6214
6215 IF ( P_Item_rec.organization_id = Get_Master_Org_ID (P_Item_rec.organization_id) ) THEN
6216 -- Lock organization items
6217 INV_ITEM_PVT.Lock_Org_Items (
6218 p_Item_ID => P_Item_Rec.inventory_item_id
6219 , p_Org_ID => P_Item_rec.organization_id
6220 , p_lock_Master => fnd_api.g_TRUE
6221 , p_lock_Orgs => fnd_api.g_TRUE
6222 , x_return_status => l_return_status);
6223
6224 END IF;
6225
6226 EXCEPTION
6227 WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
6228 IF ( c_item_details%ISOPEN ) THEN
6229 CLOSE c_item_details;
6230 END IF;
6231 IF ( c_get_item_description%ISOPEN ) THEN
6232 CLOSE c_get_item_description ;
6233 END IF;
6234 app_exception.raise_exception;
6235
6236 END Lock_Item;
6237
6238 -- ------------------ DELETE_ROW -------------------
6239
6240 PROCEDURE DELETE_ROW IS
6241 BEGIN
6242 -- DELETE_ROW cannot be used to delete Item records.
6243 RAISE_APPLICATION_ERROR (-20000, 'Cannot delete Item using MTL_SYSTEM_ITEMS_PKG.DELETE_ROW');
6244 END DELETE_ROW;
6245
6246 -- ------------------- ADD_LANGUAGE --------------------
6247
6248 PROCEDURE ADD_LANGUAGE IS
6249 l_Prod_Schema VARCHAR2(30);
6250 l_inst_status VARCHAR2(1);
6251 l_industry VARCHAR2(1);
6252 l_installed BOOLEAN;
6253 l_index_name VARCHAR2(30);
6254 BEGIN
6255
6256 /* DELETE FROM MTL_SYSTEM_ITEMS_TL T
6257 WHERE NOT EXISTS ( SELECT NULL
6258 FROM MTL_SYSTEM_ITEMS_B B
6259 WHERE B.INVENTORY_ITEM_ID = T.INVENTORY_ITEM_ID
6260 AND B.ORGANIZATION_ID = T.ORGANIZATION_ID);
6261
6262 UPDATE MTL_SYSTEM_ITEMS_TL T
6263 SET( DESCRIPTION
6264 , LONG_DESCRIPTION) = (SELECT ltrim(rtrim(B.DESCRIPTION))
6265 , ltrim(rtrim(B.LONG_DESCRIPTION))
6266 FROM MTL_SYSTEM_ITEMS_TL B
6267 WHERE B.INVENTORY_ITEM_ID = T.INVENTORY_ITEM_ID
6268 AND B.ORGANIZATION_ID = T.ORGANIZATION_ID
6269 AND B.LANGUAGE = T.SOURCE_LANG)
6270 WHERE(T.INVENTORY_ITEM_ID
6271 , T.ORGANIZATION_ID
6272 , T.LANGUAGE) IN (SELECT SUBT.INVENTORY_ITEM_ID,
6273 SUBT.ORGANIZATION_ID,
6274 SUBT.LANGUAGE
6275 FROM MTL_SYSTEM_ITEMS_TL SUBB,
6276 MTL_SYSTEM_ITEMS_TL SUBT
6277 WHERE SUBB.INVENTORY_ITEM_ID = SUBT.INVENTORY_ITEM_ID
6278 AND SUBB.ORGANIZATION_ID = SUBT.ORGANIZATION_ID
6279 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
6280 AND (( SUBB.DESCRIPTION <> SUBT.DESCRIPTION
6281 or ( SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null )
6282 or ( SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null ) )
6283 OR ( SUBB.LONG_DESCRIPTION <> SUBT.LONG_DESCRIPTION
6284 or ( SUBB.LONG_DESCRIPTION is null and SUBT.LONG_DESCRIPTION is not null )
6285 or ( SUBB.LONG_DESCRIPTION is not null and SUBT.LONG_DESCRIPTION is null ))));
6286
6287 */
6288
6289 /* Fix for bug 12922572 : FP of Bug 5701472-
6290 MTL_SYSTEM_ITEMS_TL has a row level trigger: EGO_MTL_SYSTEM_ITEMS_TL_TR1
6291 This Trigger causes a insert into EGO_ITEM_TEXT_TL for each row inserted into
6292 MTL_SYSTEM_ITEMS_TL, which causes performance issues. As part of bug 5701472,
6293 we will drop the intermedia index, disable trigger EGO_MTL_SYSTEM_ITEMS_TL_TR1
6294 batch insert into MTL_SYSTEM_ITEMS_TL and EGO_ITEM_TEXT_TL, enable the trigger
6295 and ask customer to launch the concurrent request to build the intermedia index
6296 (Item Catalog Text Index Build with CREATE option).*/
6297
6298
6299 /* Drop index EGO_ITEM_TEXT_TL_CTX1. For that, we need to get the EGO schema name first. */
6300 l_installed := FND_INSTALLATION.Get_App_Info ('EGO', l_inst_status, l_industry, l_Prod_Schema);
6301
6302 /* Check if index exists before dropping it*/
6303 BEGIN
6304 SELECT index_name into l_index_name
6305 FROM all_indexes
6306 WHERE table_name = 'EGO_ITEM_TEXT_TL'
6307 AND index_name = 'EGO_ITEM_TEXT_TL_CTX1'
6308 AND owner = l_prod_schema;
6309 EXCEPTION
6310 WHEN NO_DATA_FOUND THEN
6311 l_index_name := NULL;
6312 END;
6313
6314 IF(l_index_name = 'EGO_ITEM_TEXT_TL_CTX1') THEN
6315 EXECUTE IMMEDIATE 'DROP INDEX ' || l_Prod_Schema || '.EGO_ITEM_TEXT_TL_CTX1 FORCE;';
6316 END IF;
6317
6318 /*Disable Trigger EGO_MTL_SYSTEM_ITEMS_TL_TR1, and we will bulk insert into EGO_ITEM_TEXT_TL */
6319 EXECUTE IMMEDIATE
6320 'ALTER TRIGGER EGO_MTL_SYSTEM_ITEMS_TL_TR1 DISABLE';
6321
6322 /*
6323 Fix for bug 12922572 : FP of Bug 5701472-
6324 Disable the trigger MTL_SYSTEM_ITEMS_TL_TA_IBE based on the suggestions from IBE team
6325 in bug 5725517. Users need to run iStore Search concurrent programs for inserting
6326 into IBE_CT_IMEDIA_SEARCH
6327 */
6328 EXECUTE IMMEDIATE
6329 'ALTER TRIGGER MTL_SYSTEM_ITEMS_TL_TA_IBE DISABLE';
6330
6331 /*First insert missing language records into MTL_SYSTEM_ITEMS_TL*/
6332
6333 INSERT
6334 /*+ APPEND PARALLEL(tt) */
6335 INTO MTL_SYSTEM_ITEMS_TL tt
6336 (
6337 INVENTORY_ITEM_ID
6338 ,ORGANIZATION_ID
6339 ,DESCRIPTION
6340 ,LONG_DESCRIPTION
6341 ,LAST_UPDATE_DATE
6342 ,LAST_UPDATED_BY
6343 ,CREATION_DATE
6344 ,CREATED_BY
6345 ,LAST_UPDATE_LOGIN
6346 ,LANGUAGE
6347 ,SOURCE_LANG
6348 )
6349 select
6350 /*+ parallel(B) parallel(L) */
6351 B.INVENTORY_ITEM_ID
6352 ,B.ORGANIZATION_ID
6353 ,ltrim(rtrim(B.DESCRIPTION))
6354 ,ltrim(rtrim(B.LONG_DESCRIPTION))
6355 ,B.LAST_UPDATE_DATE
6356 ,B.LAST_UPDATED_BY
6357 ,B.CREATION_DATE
6358 ,B.CREATED_BY
6359 ,B.LAST_UPDATE_LOGIN
6360 ,L.LANGUAGE_CODE
6361 ,B.SOURCE_LANG
6362 FROM MTL_SYSTEM_ITEMS_TL B ,
6363 FND_LANGUAGES L
6364 WHERE L.INSTALLED_FLAG IN ( 'I','B' )
6365 AND B.LANGUAGE = USERENV ( 'LANG' )
6366 AND NOT EXISTS( SELECT /*+ parallel(t) */ NULL
6367 FROM MTL_SYSTEM_ITEMS_TL T
6368 WHERE T.INVENTORY_ITEM_ID = B.INVENTORY_ITEM_ID
6369 AND T.ORGANIZATION_ID = B.ORGANIZATION_ID
6370 AND T.LANGUAGE = L.LANGUAGE_CODE);
6371
6372
6373 /* Next insert missing language records into EGO_ITEM_TEXT_TL
6374 Fix for bug 12922572 : FP of Bug 5701472
6375 Query suggested by performance team to use PARALLEL dml
6376 */
6377
6378 INSERT
6379 /*+ APPEND PARALLEL (TL) */
6380 INTO EGO_ITEM_TEXT_TL TL
6381 (
6382 ID_TYPE ,
6383 ITEM_ID ,
6384 ITEM_CODE ,
6385 ORG_ID ,
6386 LANGUAGE ,
6387 SOURCE_LANG ,
6388 ITEM_CATALOG_GROUP_ID ,
6389 INVENTORY_ITEM_ID ,
6390 TEXT ,
6391 CREATION_DATE ,
6392 CREATED_BY ,
6393 LAST_UPDATE_DATE ,
6394 LAST_UPDATED_BY ,
6395 LAST_UPDATE_LOGIN
6396 )
6397 SELECT
6398 /*+ PARALLEL (MSIK) */
6399 '$$INTERNAL$$' ,
6400 MSIK.INVENTORY_ITEM_ID ,
6401 MSIK.CONCATENATED_SEGMENTS ,
6402 MSIK.ORGANIZATION_ID ,
6403 L.LANGUAGE_CODE ,
6404 USERENV('LANG') ,
6405 MSIK.ITEM_CATALOG_GROUP_ID ,
6406 MSIK.INVENTORY_ITEM_ID ,
6407 '1' ,
6408 SYSDATE ,
6409 MSIK.CREATED_BY ,
6410 SYSDATE ,
6411 MSIK.LAST_UPDATED_BY,
6412 MSIK.LAST_UPDATE_LOGIN
6413 FROM MTL_SYSTEM_ITEMS_B_KFV MSIK,
6414 FND_LANGUAGES L
6415 WHERE L.INSTALLED_FLAG in ('I', 'B')
6416 AND MSIK.CONCATENATED_SEGMENTS IS NOT NULL
6417 AND MSIK.INVENTORY_ITEM_ID IS NOT NULL
6418 AND MSIK.ORGANIZATION_ID IS NOT NULL
6419 AND (MSIK.INVENTORY_ITEM_ID,
6420 MSIK.ORGANIZATION_ID)
6421 NOT IN
6422 (SELECT
6423 /*+ UNNEST FULL (EITL1) PARALLEL (EITL1) */
6424 EITL1.ITEM_ID,
6425 EITL1.ORG_ID
6426 FROM EGO_ITEM_TEXT_TL EITL1
6427 WHERE EITL1.ID_TYPE = '$$INTERNAL$$'
6428 AND EITL1.LANGUAGE = L.LANGUAGE_CODE
6429 );
6430
6431 /* Enable Trigger EGO_MTL_SYSTEM_ITEMS_TL_TR1. This will be required to keep
6432 EGO_ITEM_TEXT_TL table in sync during normal apps operations.
6433 */
6434
6435 EXECUTE IMMEDIATE
6436 'ALTER TRIGGER EGO_MTL_SYSTEM_ITEMS_TL_TR1 ENABLE';
6437
6438 /* Enable the trigger MTL_SYSTEM_ITEMS_TL_TA_IBE. This will be required to keep
6439 IBE_CT_IMEDIA_SEARCH in sync during normal apps operations.
6440 */
6441 EXECUTE IMMEDIATE
6442 'ALTER TRIGGER MTL_SYSTEM_ITEMS_TL_TA_IBE ENABLE';
6443
6444 /*Commit and call sync index so that iM index is in sync.*/
6445 COMMIT;
6446
6447 /*Fix for Bug 12922572 : FP of Bug 5701472-Since we dropped the index, no point in sync. So comment call to Sync:
6448 INV_ITEM_PVT.SYNC_IM_INDEX;
6449 */
6450 /* End of Fix for bug 12922572 : FP of Bug 5701472 */
6451
6452 END ADD_LANGUAGE;
6453
6454
6455 -- ------------------- UPDATE_NLS_TO_ORG --------------------
6456
6457 PROCEDURE UPDATE_NLS_TO_ORG(
6458 X_INVENTORY_ITEM_ID IN VARCHAR2,
6459 X_ORGANIZATION_ID IN VARCHAR2,
6460 X_LANGUAGE IN VARCHAR2,
6461 X_DESCRIPTION IN VARCHAR2,
6462 X_LONG_DESCRIPTION IN VARCHAR2) IS
6463
6464 CURSOR Item_csr IS
6465 SELECT INVENTORY_ITEM_ID
6466 ,ORGANIZATION_ID
6467 ,LANGUAGE
6468 ,SOURCE_LANG
6469 ,DESCRIPTION
6470 ,LONG_DESCRIPTION
6471 FROM MTL_SYSTEM_ITEMS_TL
6472 WHERE INVENTORY_ITEM_ID = X_INVENTORY_ITEM_ID
6473 AND ORGANIZATION_ID IN ( SELECT ORGANIZATION_ID
6474 FROM MTL_PARAMETERS
6475 WHERE MASTER_ORGANIZATION_ID = X_ORGANIZATION_ID
6476 AND ORGANIZATION_ID <> X_ORGANIZATION_ID)
6477 AND LANGUAGE = X_LANGUAGE
6478 FOR UPDATE OF INVENTORY_ITEM_ID;
6479
6480 l_desc_control mtl_item_attributes.control_level%type;
6481 l_longdesc_control mtl_item_attributes.control_level%type;
6482
6483 BEGIN
6484
6485 begin
6486 select control_level
6487 into l_desc_control
6488 from mtl_item_attributes
6489 where attribute_name = 'MTL_SYSTEM_ITEMS.DESCRIPTION';
6490 exception
6491 when no_data_found then
6492 l_desc_control := 0;
6493 end;
6494
6495 begin
6496 select control_level
6497 into l_longdesc_control
6498 from mtl_item_attributes
6499 where attribute_name = 'MTL_SYSTEM_ITEMS.LONG_DESCRIPTION';
6500 exception
6501 when no_data_found then
6502 l_longdesc_control := 0;
6503 end;
6504
6505 if ((length(x_description)) <> length(rtrim(x_description))) then
6506 fnd_message.Set_Name( 'INV', 'INV_DESCR_TRAILING_SPACES' );
6507 app_exception.raise_exception;
6508 end if;
6509
6510 if ((length(x_long_description)) <> length(rtrim(x_long_description))) then
6511 fnd_message.Set_Name( 'INV', 'INV_LONGDESCR_TRAILING_SPACES' );
6512 app_exception.raise_exception;
6513 return ;
6514 end if;
6515
6516 --- bug 8717482 vggarg added validations for leaing spaces also.
6517 if ((length(x_description)) <> length(ltrim(x_description))) then
6518 fnd_message.Set_Name( 'INV', 'INV_DESCR_LEADING_SPACES' );
6519 app_exception.raise_exception;
6520 end if;
6521
6522 if ((length(x_long_description)) <> length(ltrim(x_long_description))) then
6523 fnd_message.Set_Name( 'INV', 'INV_LONGDESCR_LEADING_SPACES' );
6524 app_exception.raise_exception;
6525 return ;
6526 end if;
6527 --- bug 8717482 vggarg end changes
6528
6529 /*
6530 update mtl_system_items_tl
6531 set description = ltrim(rtrim(x_description)),
6532 long_description = ltrim(rtrim(x_long_description)),
6533 source_lang = x_language,
6534 last_updated_by = fnd_profile.value('USER_ID'),
6535 last_update_login = fnd_profile.value('LOGIN_ID')
6536 WHERE INVENTORY_ITEM_ID = X_INVENTORY_ITEM_ID
6537 AND ORGANIZATION_ID = X_ORGANIZATION_ID;
6538
6539 */
6540 for c1 in Item_csr
6541 loop
6542 if (l_desc_control = 1) and c1.description <> ltrim(rtrim(x_description)) then -- bug 14599786 for second issue
6543 update mtl_system_items_tl
6544 set description = ltrim(rtrim(x_description)),
6545 source_lang = x_language,
6546 last_update_date = sysdate,
6547 last_updated_by = fnd_profile.value('USER_ID'),
6548 last_update_login = fnd_profile.value('LOGIN_ID')
6549 where CURRENT OF Item_csr;
6550
6551 end if;
6552
6553 if (l_longdesc_control = 1) and c1.long_description <> ltrim(rtrim(x_long_description)) then -- bug 14599786 for second issue
6554 update mtl_system_items_tl
6555 set long_description = ltrim(rtrim(x_long_description)),
6556 source_lang = x_language,
6557 last_update_date = sysdate,
6558 last_updated_by = fnd_profile.value('USER_ID'),
6559 last_update_login = fnd_profile.value('LOGIN_ID')
6560 where CURRENT OF Item_csr;
6561
6562 end if;
6563 end loop;
6564 return;
6565 END UPDATE_NLS_TO_ORG;
6566
6567 --Sync iM index after item creation,updation and org assignment.
6568 PROCEDURE SYNC_IM_INDEX IS
6569
6570 CURSOR c_ego_exists IS
6571 SELECT 'Y'
6572 FROM FND_OBJECTS
6573 WHERE OBJ_NAME ='EGO_ITEM';
6574
6575 l_ego_exists VARCHAR2(1) := 'N';
6576 l_object_exists VARCHAR2(1) := 'N';
6577
6578 BEGIN
6579 OPEN c_ego_exists;
6580 FETCH c_ego_exists INTO l_ego_exists;
6581 CLOSE c_ego_exists;
6582 l_ego_exists := nvl(l_ego_exists,'N');
6583
6584 IF (l_ego_exists = 'Y' AND INV_Item_Util.g_Appl_Inst.EGO <> 0 ) THEN
6585 l_object_exists := INV_ITEM_UTIL.Object_Exists
6586 (p_object_type => 'PACKAGE BODY'
6587 ,p_object_name => 'EGO_ITEM_TEXT_UTIL');
6588 IF l_object_exists = 'Y' THEN
6589 EXECUTE IMMEDIATE
6590 ' BEGIN '||
6591 ' EGO_ITEM_TEXT_UTIL.SYNC_INDEX; '||
6592 ' EXCEPTION '||
6593 ' WHEN OTHERS THEN '||
6594 ' NULL; '||
6595 ' END;';
6596 END IF;
6597 END IF;
6598
6599 -- Call IP Intermedia Sync
6600 INV_ITEM_EVENTS_PVT.Sync_IP_IM_Index;
6601
6602 EXCEPTION
6603 WHEN OTHERS THEN
6604 IF c_ego_exists%ISOPEN THEN
6605 CLOSE c_ego_exists;
6606 END IF;
6607 END SYNC_IM_INDEX;
6608
6609 -- Added as part of Bug Fix 3623450 to Check whether the master item record
6610 -- is locked. Called from item form COPY_ITEM block DONE and COPY button's W-B-P
6611 PROCEDURE Check_Master_Record_Locked( P_Item_Rec IN INV_ITEM_API.Item_rec_type) IS
6612
6613 CURSOR c_item_name IS
6614 SELECT
6615 SEGMENT1
6616 from MTL_SYSTEM_ITEMS_B
6617 where INVENTORY_ITEM_ID = P_Item_Rec.inventory_item_id
6618 and ORGANIZATION_ID = P_Item_rec.organization_id
6619 for update of INVENTORY_ITEM_ID nowait;
6620
6621 recinfo c_item_name%ROWTYPE;
6622 l_return_status VARCHAR2(1);
6623
6624 BEGIN
6625
6626 OPEN c_item_name;
6627 FETCH c_item_name INTO recinfo;
6628
6629 IF (c_item_name%NOTFOUND) THEN
6630 CLOSE c_item_name;
6631 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
6632 Raise FND_API.g_EXC_UNEXPECTED_ERROR;
6633 END IF;
6634
6635 CLOSE c_item_name;
6636
6637 EXCEPTION
6638 WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
6639 IF ( c_item_name%ISOPEN ) THEN
6640 CLOSE c_item_name;
6641 END IF;
6642 app_exception.raise_exception;
6643
6644 END Check_Master_Record_Locked;
6645
6646 /*Bug 6407303 Adding new functions to se and get the value of the attribute G_IS_MASTER_ATTR_MODIFIED */
6647 FUNCTION Get_Is_Master_Attr_Modified RETURN VARCHAR2 IS
6648 BEGIN
6649 RETURN (G_IS_MASTER_ATTR_MODIFIED);
6650 END Get_Is_Master_Attr_Modified;
6651
6652 PROCEDURE Set_Is_Master_Attr_Modified(p_is_master_attr_modified VARCHAR2) IS
6653 BEGIN
6654 G_IS_MASTER_ATTR_MODIFIED := p_is_master_attr_modified;
6655 END Set_Is_Master_Attr_Modified;
6656
6657 /*Bug 6407303 */
6658
6659 END INV_ITEM_PVT;