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