DBA Data[Home] [Help]

PACKAGE BODY: APPS.INVPULI3

Source


1 package body INVPULI3 as
2 /* $Header: INVPUL3B.pls 120.5 2007/04/09 13:26:54 anmurali ship $ */
3 
4 /* Used from R12 - FPC - Anmurali */
5 
6 FUNCTION copy_item_attributes( org_id         IN            NUMBER
7                               ,all_org        IN            NUMBER  := 2
8                               ,prog_appid     IN            NUMBER  := -1
9                               ,prog_id        IN            NUMBER  := -1
10                               ,request_id     IN            NUMBER  := -1
11                               ,user_id        IN            NUMBER  := -1
12                               ,login_id       IN            NUMBER  := -1
13                               ,xset_id        IN            NUMBER  := -999
14                               ,err_text       IN OUT NOCOPY VARCHAR2 )
15 RETURN INTEGER IS
16 
17    CURSOR c_check_item_phase_status(cp_phase_id    NUMBER
18                                    ,cp_status_code VARCHAR2)
19    IS
20       SELECT 'Y' FROM DUAL
21       WHERE EXISTS (SELECT NULL
22                       FROM ego_lcphase_item_status  status
23                           ,pa_ego_phases_v phase
24                      WHERE status.phase_code = phase.phase_code
25                        AND proj_element_id   = cp_phase_id
26                        AND status.item_status_code = cp_status_code);
27    CURSOR c_default_status (Cp_phase_id NUMBER)
28    IS
29       SELECT status.item_status_code
30         FROM ego_lcphase_item_status status
31             ,pa_ego_phases_v phase
32        WHERE status.phase_code = phase.phase_code
33          AND proj_element_id   = Cp_phase_id
34 	 AND status.default_flag = 'Y';
35 
36    TYPE base_id_type IS TABLE OF mtl_system_items_interface.copy_item_id%TYPE
37    INDEX BY BINARY_INTEGER;
38 
39    TYPE base_org_type IS TABLE OF mtl_system_items_interface.copy_organization_id%TYPE
40    INDEX BY BINARY_INTEGER;
41 
42    TYPE base_number_type IS TABLE OF mtl_system_items_interface.copy_item_number%TYPE
43    INDEX BY BINARY_INTEGER;
44 
45    TYPE base_org_code_type IS TABLE OF mtl_system_items_interface.copy_organization_code%TYPE
46    INDEX BY BINARY_INTEGER;
47 
48    TYPE transaction_type IS TABLE OF mtl_system_items_interface.transaction_id%TYPE
49    INDEX BY BINARY_INTEGER;
50 
51    base_item_table base_id_type;
52    base_org_table base_org_type;
53    base_item_num_table base_number_type;
54    base_org_code_table base_org_code_type;
55    transaction_table transaction_type;
56 
57    l_ext_count NUMBER;
58    l_msi_count NUMBER ;
59    l_msii_count NUMBER;
60    l_inv_debug_level	NUMBER := INVPUTLI.get_debug_level;  --Bug: 4667452
61    dumm_status NUMBER;
62    l_phase_id NUMBER;
63    l_status MTL_SYSTEM_ITEMS.inventory_item_status_code%TYPE;
64    l_lifecycle_id NUMBER;
65    l_valid_status VARCHAR2(1) := 'N';
66 
67 BEGIN
68    IF l_inv_debug_level IN(101, 102) THEN
69       INVPUTLI.info('INVPULI3: inside copy_item_attributes');
70    END IF;
71 
72      /* Resolving Copy Item Numbers if any to Item Ids */
73    BEGIN
74       SELECT DISTINCT msii.copy_item_number BULK COLLECT INTO base_item_num_table
75         FROM mtl_system_items_interface msii, mtl_parameters mp
76        WHERE msii.process_flag = 1
77          AND msii.set_process_id = xset_id
78          AND msii.transaction_type = 'CREATE'
79          AND ((msii.organization_id = org_id) or (all_org = 1))
80          AND msii.organization_id = mp.organization_id
81          AND mp.organization_id = mp.master_organization_id
82          AND ((msii.copy_item_id IS NULL) AND (msii.copy_item_number IS NOT NULL));
83    EXCEPTION
84      WHEN no_data_found THEN
85        null;
86    END;
87 
88    IF base_item_num_table.COUNT > 0 THEN
89      FOR I IN base_item_num_table.FIRST .. base_item_num_table.LAST LOOP
90        UPDATE mtl_system_items_interface msii
91           SET msii.copy_item_id =
92   	       ( SELECT mskfv.inventory_item_id
93 	           FROM mtl_system_items_b_kfv mskfv
94 	          WHERE mskfv.concatenated_segments = base_item_num_table(i)
95 	            AND rownum = 1 )
96         WHERE msii.copy_item_number = base_item_num_table(i)
97 	  AND msii.set_process_id = xset_id
98 	  AND msii.process_flag = 1
99 	  AND msii.transaction_type = 'CREATE';
100      END LOOP;
101    END IF;
102 
103      /* Resolving Copy Org Codes if any to Org Ids */
104    BEGIN
105       SELECT DISTINCT msii.copy_organization_code BULK COLLECT INTO base_org_code_table
106         FROM mtl_system_items_interface msii, mtl_parameters mp
107        WHERE msii.process_flag = 1
108          AND msii.set_process_id = xset_id
109          AND msii.transaction_type = 'CREATE'
110          AND ((msii.organization_id = org_id) or (all_org = 1))
111          AND msii.organization_id = mp.organization_id
112          AND mp.organization_id = mp.master_organization_id
113          AND ((msii.copy_item_id IS NOT NULL) AND (msii.copy_organization_id IS NULL) AND (copy_organization_code IS NOT NULL));
114    EXCEPTION
115      WHEN no_data_found THEN
116        null;
117    END;
118 
119    IF base_org_code_table.COUNT > 0 THEN
120      FOR I IN base_org_code_table.FIRST .. base_org_code_table.LAST LOOP
121        UPDATE mtl_system_items_interface msii
122           SET msii.copy_organization_id =
123   	       ( SELECT mp.organization_id
124 	           FROM mtl_parameters mp
125 	          WHERE mp.organization_code = base_org_code_table(i))
126         WHERE msii.copy_organization_code = base_org_code_table(i)
127           AND msii.copy_item_id IS NOT NULL
128 	  AND msii.set_process_id = xset_id
129 	  AND msii.process_flag = 1
130 	  AND msii.transaction_type = 'CREATE';
131      END LOOP;
132    END IF;
133 
134    /* Mark records with Copy Item Id but no Copy Org Id to error */
135    UPDATE mtl_system_items_interface
136       SET process_flag = 3
137     WHERE copy_item_id IS NOT NULL
138       AND copy_organization_id IS NULL
139       AND set_process_id = xset_id
140       AND process_flag = 1
141       AND transaction_type = 'CREATE'
142    RETURNING transaction_id BULK COLLECT INTO transaction_table;
143 
144    IF transaction_table.COUNT > 0 THEN
145      FOR j IN transaction_table.FIRST .. transaction_table.LAST LOOP
146         dumm_status := INVPUOPI.mtl_log_interface_err(
147                                       org_id,
148                                       user_id,
149                                       login_id,
150                                       prog_appid,
151                                       prog_id,
152                                       request_id,
153                                       transaction_table(j),
154                                       err_text,
155 		                      'BASE_ITEM_ID',
156                                       'MTL_SYSTEM_ITEMS_INTERFACE',
157                                       'INV_ITEM_COPY_NO_EXIST' ,
158                                       err_text);
159      END LOOP;
160    END IF;
161 
162    BEGIN
163      SELECT DISTINCT msii.copy_item_id, msii.copy_organization_id
164        BULK COLLECT INTO base_item_table, base_org_table
165      FROM mtl_system_items_interface msii, mtl_parameters mp
166      WHERE msii.process_flag = 1
167        AND msii.set_process_id = xset_id
168        AND msii.transaction_type = 'CREATE'
169        AND ((msii.organization_id = org_id) or (all_org = 1))
170        AND msii.organization_id = mp.organization_id
171        AND mp.organization_id = mp.master_organization_id
172        AND msii.copy_item_id IS NOT NULL
173        AND msii.copy_organization_id IS NOT NULL;
174    EXCEPTION
175     WHEN no_data_found THEN
176       null;
177    END;
178 
179    IF base_item_table.COUNT > 0 THEN
180       FOR I IN base_item_table.FIRST .. base_item_table.LAST LOOP
181         BEGIN
182 	  SELECT lifecycle_id, inventory_item_status_code
183 	    INTO l_lifecycle_id, l_status
184             FROM mtl_system_items
185            WHERE inventory_item_id = base_item_table(i)
186              AND organization_id = base_org_table(i);
187 	  l_msi_count := 1;
188 	EXCEPTION
189           WHEN no_data_found THEN
190 	    l_msi_count := 0;
191 	    l_lifecycle_id := null;
192             l_status := null;
193 	END;
194 
195         IF l_msi_count = 0 THEN
196           UPDATE mtl_system_items_interface interface
197              SET interface.process_flag = 3
198            WHERE interface.process_flag = 1
199              AND interface.set_process_id = xset_id
200              AND interface.transaction_type = 'CREATE'
201              AND interface.copy_organization_id = base_org_table(i)
202  	     AND interface.copy_item_id = base_item_table(i)
203 	  RETURNING transaction_id BULK COLLECT INTO transaction_table;
204 
205 	  IF transaction_table.COUNT > 0 THEN
206              FOR j IN transaction_table.FIRST .. transaction_table.LAST LOOP
207                  dumm_status := INVPUOPI.mtl_log_interface_err(
208                                       base_org_table(i),
209                                       user_id,
210                                       login_id,
211                                       prog_appid,
212                                       prog_id,
213                                       request_id,
214                                       transaction_table(j),
215                                       err_text,
216 		                      'BASE_ITEM_ID',
217                                       'MTL_SYSTEM_ITEMS_INTERFACE',
218                                       'INV_ITEM_COPY_NO_EXIST' ,
219                                       err_text);
220 	     END LOOP;
221   	  END IF;
222 	ELSE
223 	   /* Phase and status to be defaulted to first phase and default status of given lifestyle */
224           IF l_lifecycle_id IS NOT NULL THEN
225    	     l_phase_id := INV_EGO_REVISION_VALIDATE.Get_Initial_LifeCycle_Phase
226 	                                       (p_lifecycle_id => l_lifecycle_id);
227 
228              OPEN  c_check_item_phase_status ( cp_phase_id    => l_phase_id
229 	                                      ,cp_status_code => l_status );
230 	     FETCH c_check_item_phase_status INTO l_valid_status;
231 	     CLOSE c_check_item_phase_status;
232 
233 	     IF NVL(l_valid_status,'N') = 'N' THEN
234                OPEN  c_default_status(cp_phase_id => l_phase_id);
235 	       FETCH c_default_status INTO l_status;
236 	       CLOSE c_default_status;
237 	     END IF;
238 	  END IF;
239 
240 	  UPDATE MTL_SYSTEM_ITEMS_INTERFACE i
241 	     SET (
242                    i.ITEM_CATALOG_GROUP_ID,
243                    i.CATALOG_STATUS_FLAG   ,
244                    -- Main attributes
245 		   i.PRIMARY_UOM_CODE    ,
246 		   --PRIMARY_UNIT_OF_MEASURE,
247 		   i.ALLOWED_UNITS_LOOKUP_CODE,
248 		   i.INVENTORY_ITEM_STATUS_CODE,
249 		   i.DUAL_UOM_CONTROL          ,
250 		   i.SECONDARY_UOM_CODE        ,
251 		   i.DUAL_UOM_DEVIATION_HIGH   ,
252 		   i.DUAL_UOM_DEVIATION_LOW    ,
253 		   i.ITEM_TYPE                 ,
254 		   i.LIFECYCLE_ID              ,
255 		   i.CURRENT_PHASE_ID          ,
256 		   -- Inventory
257 		   i.INVENTORY_ITEM_FLAG       ,
258 		   i.STOCK_ENABLED_FLAG        ,
259 		   i.MTL_TRANSACTIONS_ENABLED_FLAG ,
260 		   i.REVISION_QTY_CONTROL_CODE     ,
261 		   i.LOT_CONTROL_CODE              ,
262 		   i.AUTO_LOT_ALPHA_PREFIX         ,
263 		   i.START_AUTO_LOT_NUMBER         ,
264 		   i.SERIAL_NUMBER_CONTROL_CODE    ,
265 		   i.AUTO_SERIAL_ALPHA_PREFIX      ,
266 		   i.START_AUTO_SERIAL_NUMBER      ,
267 		   i.SHELF_LIFE_CODE               ,
268 		   i.SHELF_LIFE_DAYS               ,
269 		   i.RESTRICT_SUBINVENTORIES_CODE  ,
270 		   i.LOCATION_CONTROL_CODE         ,
271 		   i.RESTRICT_LOCATORS_CODE        ,
272 		   i.RESERVABLE_TYPE               ,
273 		   i.CYCLE_COUNT_ENABLED_FLAG      ,
274 		   i.NEGATIVE_MEASUREMENT_ERROR    ,
275 		   i.POSITIVE_MEASUREMENT_ERROR    ,
276 		   i.CHECK_SHORTAGES_FLAG          ,
277 		   i.LOT_STATUS_ENABLED            ,
278 		   i.DEFAULT_LOT_STATUS_ID         ,
279 		   i.SERIAL_STATUS_ENABLED         ,
280 		   i.DEFAULT_SERIAL_STATUS_ID      ,
281 		   i.LOT_SPLIT_ENABLED             ,
282 		   i.LOT_MERGE_ENABLED             ,
283 		   i.LOT_TRANSLATE_ENABLED         ,
284 		   i.LOT_SUBSTITUTION_ENABLED      ,
285 		   i.BULK_PICKED_FLAG              ,
286 		   -- Bills of Material
287 		   i.BOM_ITEM_TYPE      ,
288 		   i.BOM_ENABLED_FLAG    ,
289 		   i.BASE_ITEM_ID         ,
290 		   i.ENG_ITEM_FLAG        ,
291 		   i.ENGINEERING_ITEM_ID  ,
292 		   i.ENGINEERING_ECN_CODE ,
293 		   i.ENGINEERING_DATE     ,
294 		   i.EFFECTIVITY_CONTROL  ,
295 		   i.CONFIG_MODEL_TYPE    ,
296 		   i.PRODUCT_FAMILY_ITEM_ID,
297 		   i.AUTO_CREATED_CONFIG_FLAG ,
298 		   -- Costing
299 		   i.COSTING_ENABLED_FLAG     ,
300 		   i.INVENTORY_ASSET_FLAG     ,
301 		   i.COST_OF_SALES_ACCOUNT    ,
302 		   i.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,
303 		   i.STD_LOT_SIZE               ,
304 		   -- Enterprise Asset Management
305 		   i.EAM_ITEM_TYPE              ,
306 		   i.EAM_ACTIVITY_TYPE_CODE     ,
307 		   i.EAM_ACTIVITY_CAUSE_CODE    ,
308 		   i.EAM_ACTIVITY_SOURCE_CODE   ,
309 		   i.EAM_ACT_SHUTDOWN_STATUS    ,
310 		   i.EAM_ACT_NOTIFICATION_FLAG  ,
311 		   -- Purchasing
312 		   i.PURCHASING_ITEM_FLAG       ,
313 		   i.PURCHASING_ENABLED_FLAG    ,
314 		   i.BUYER_ID		         ,
315 		   i.MUST_USE_APPROVED_VENDOR_FLAG,
316 		   i.PURCHASING_TAX_CODE        ,
317 		   i.TAXABLE_FLAG               ,
318 		   i.RECEIVE_CLOSE_TOLERANCE    ,
319 		   i.ALLOW_ITEM_DESC_UPDATE_FLAG,
320 		   i.INSPECTION_REQUIRED_FLAG   ,
321 		   i.RECEIPT_REQUIRED_FLAG      ,
322 		   i.MARKET_PRICE               ,
323 		   i.UN_NUMBER_ID               ,
324 		   i.HAZARD_CLASS_ID            ,
325 		   i.RFQ_REQUIRED_FLAG          ,
326 		   i.LIST_PRICE_PER_UNIT        ,
327 		   i.PRICE_TOLERANCE_PERCENT    ,
328 		   i.ASSET_CATEGORY_ID         ,
329 		   i.ROUNDING_FACTOR          ,
330 		   i.UNIT_OF_ISSUE            ,
331 		   i.OUTSIDE_OPERATION_FLAG    ,
332 		   i.OUTSIDE_OPERATION_UOM_TYPE ,
333 		   i.INVOICE_CLOSE_TOLERANCE    ,
334 		   i.ENCUMBRANCE_ACCOUNT        ,
335 		   i.EXPENSE_ACCOUNT           ,
336 		   i.QTY_RCV_EXCEPTION_CODE     ,
337 		   i.RECEIVING_ROUTING_ID       ,
338 		   i.QTY_RCV_TOLERANCE          ,
339 		   i.ENFORCE_SHIP_TO_LOCATION_CODE  ,
340 		   i.ALLOW_SUBSTITUTE_RECEIPTS_FLAG ,
341 		   i.ALLOW_UNORDERED_RECEIPTS_FLAG ,
342 		   i.ALLOW_EXPRESS_DELIVERY_FLAG    ,
343 		   i.DAYS_EARLY_RECEIPT_ALLOWED ,
344 		   i.DAYS_LATE_RECEIPT_ALLOWED  ,
345 		   i.RECEIPT_DAYS_EXCEPTION_CODE,
346 		   -- Physical
347 		   i.WEIGHT_UOM_CODE       ,
348 		   i.UNIT_WEIGHT           ,
349 		   i.VOLUME_UOM_CODE       ,
350 		   i.UNIT_VOLUME           ,
351 		   i.CONTAINER_ITEM_FLAG   ,
352 		   i.VEHICLE_ITEM_FLAG     ,
353 		   i.MAXIMUM_LOAD_WEIGHT   ,
354 		   i.MINIMUM_FILL_PERCENT  ,
355 		   i.INTERNAL_VOLUME        ,
356 		   i.CONTAINER_TYPE_CODE     ,
357 		   i.COLLATERAL_FLAG         ,
358 		   i.EVENT_FLAG             ,
359 		   i.EQUIPMENT_TYPE         ,
360 		   i.ELECTRONIC_FLAG        ,
361 		   i.DOWNLOADABLE_FLAG      ,
362 		   i.INDIVISIBLE_FLAG       ,
363 		   i.DIMENSION_UOM_CODE     ,
364 		   i.UNIT_LENGTH            ,
365 		   i.UNIT_WIDTH             ,
366 		   i.UNIT_HEIGHT      ,
367 		   i.INVENTORY_PLANNING_CODE ,
368 		   i.PLANNER_CODE             ,
369 		   i.PLANNING_MAKE_BUY_CODE    ,
370 		   i.MIN_MINMAX_QUANTITY       ,
371 		   i.MAX_MINMAX_QUANTITY      ,
372 		   i.SAFETY_STOCK_BUCKET_DAYS  ,
376 		   i.MRP_SAFETY_STOCK_CODE      ,
373 		   i.CARRYING_COST              ,
374 		   i.ORDER_COST                 ,
375 		   i.MRP_SAFETY_STOCK_PERCENT  ,
377 		   i.FIXED_ORDER_QUANTITY      ,
378 		   i.FIXED_DAYS_SUPPLY        ,
379 		   i.MINIMUM_ORDER_QUANTITY    ,
380 		   i.MAXIMUM_ORDER_QUANTITY     ,
381 		   i.FIXED_LOT_MULTIPLIER       ,
382 		   i.SOURCE_TYPE               ,
383 		   i.SOURCE_ORGANIZATION_ID     ,
384 		   i.SOURCE_SUBINVENTORY       ,
385 		   i.MRP_PLANNING_CODE          ,
386 		   i.ATO_FORECAST_CONTROL       ,
387 		   i.PLANNING_EXCEPTION_SET     ,
388 		   i.SHRINKAGE_RATE             ,
389 		   i.END_ASSEMBLY_PEGGING_FLAG  ,
390 		   i.ROUNDING_CONTROL_TYPE      ,
391 		   i.PLANNED_INV_POINT_FLAG     ,
392 		   i.CREATE_SUPPLY_FLAG        ,
393 		   i.ACCEPTABLE_EARLY_DAYS     ,
394 		   i.MRP_CALCULATE_ATP_FLAG     ,
395 		   i.AUTO_REDUCE_MPS            ,
396 		   i.REPETITIVE_PLANNING_FLAG   ,
397 		   i.OVERRUN_PERCENTAGE         ,
398 		   i.ACCEPTABLE_RATE_DECREASE   ,
399 		   i.ACCEPTABLE_RATE_INCREASE  ,
400 		   i.PLANNING_TIME_FENCE_CODE   ,
401 		   i.PLANNING_TIME_FENCE_DAYS   ,
402 		   i.DEMAND_TIME_FENCE_CODE     ,
403 		   i.DEMAND_TIME_FENCE_DAYS     ,
404 		   i.RELEASE_TIME_FENCE_CODE    ,
405 		   i.RELEASE_TIME_FENCE_DAYS    ,
406 		   i.SUBSTITUTION_WINDOW_CODE   ,
407 		   i.SUBSTITUTION_WINDOW_DAYS   ,
408 		   -- Lead Times
409 		   i.PREPROCESSING_LEAD_TIME   ,
410 		   i.FULL_LEAD_TIME            ,
411 		   i.POSTPROCESSING_LEAD_TIME   ,
412 		   i.FIXED_LEAD_TIME            ,
413 		   i.VARIABLE_LEAD_TIME         ,
414 		   i.CUM_MANUFACTURING_LEAD_TIME,
415 		   i.CUMULATIVE_TOTAL_LEAD_TIME ,
416 		   i.LEAD_TIME_LOT_SIZE         ,
417 		   -- WIP
418 		   i.BUILD_IN_WIP_FLAG          ,
419 		   i.WIP_SUPPLY_TYPE            ,
420 		   i.WIP_SUPPLY_SUBINVENTORY    ,
421 		   i.WIP_SUPPLY_LOCATOR_ID      ,
422 		   i.OVERCOMPLETION_TOLERANCE_TYPE,
423 		   i.OVERCOMPLETION_TOLERANCE_VALUE,
424 		   i.INVENTORY_CARRY_PENALTY    ,
425 		   i.OPERATION_SLACK_PENALTY    ,
426 		   -- Order Management
427 		   i.CUSTOMER_ORDER_FLAG        ,
428 		   i.CUSTOMER_ORDER_ENABLED_FLAG,
429 		   i.INTERNAL_ORDER_FLAG        ,
430 		   i.INTERNAL_ORDER_ENABLED_FLAG,
431 		   i.SHIPPABLE_ITEM_FLAG        ,
432 		   i.SO_TRANSACTIONS_FLAG       ,
433 		   i.PICKING_RULE_ID            ,
434 		   i.PICK_COMPONENTS_FLAG       ,
435 		   i.REPLENISH_TO_ORDER_FLAG    ,
436 		   i.ATP_FLAG                   ,
437 		   i.ATP_COMPONENTS_FLAG        ,
438 		   i.ATP_RULE_ID                ,
439 		   i.SHIP_MODEL_COMPLETE_FLAG   ,
440 		   i.DEFAULT_SHIPPING_ORG       ,
441 		   i.DEFAULT_SO_SOURCE_TYPE     ,
442 		   i.RETURNABLE_FLAG            ,
443 		   i.RETURN_INSPECTION_REQUIREMENT ,
444 		   i.OVER_SHIPMENT_TOLERANCE    ,
445 		   i.UNDER_SHIPMENT_TOLERANCE   ,
446 		   i.OVER_RETURN_TOLERANCE      ,
447 		   i.UNDER_RETURN_TOLERANCE     ,
448 		   i.FINANCING_ALLOWED_FLAG     ,
449 		   i.VOL_DISCOUNT_EXEMPT_FLAG   ,
450 		   i.COUPON_EXEMPT_FLAG         ,
451 		   i.INVOICEABLE_ITEM_FLAG      ,
452 		   i.INVOICE_ENABLED_FLAG       ,
453 		   i.ACCOUNTING_RULE_ID         ,
454 		   i.INVOICING_RULE_ID          ,
455 		   i.TAX_CODE                 ,
456 		   i.SALES_ACCOUNT            ,
457 		   i.PAYMENT_TERMS_ID         ,
458 		   -- Service
459 		   i.CONTRACT_ITEM_TYPE_CODE   ,
460 		   i.SERVICE_DURATION_PERIOD_CODE ,
461 		   i.SERVICE_DURATION           ,
462 		   i.COVERAGE_SCHEDULE_ID       ,
463 		   i.SUBSCRIPTION_DEPEND_FLAG   ,
464 		   i.SERV_IMPORTANCE_LEVEL      ,
465 		   i.SERV_REQ_ENABLED_CODE      ,
466 		   i.COMMS_ACTIVATION_REQD_FLAG ,
467 		   i.SERVICEABLE_PRODUCT_FLAG   ,
468 		   i.MATERIAL_BILLABLE_FLAG     ,
469 		   i.SERV_BILLING_ENABLED_FLAG  ,
470 		   i.DEFECT_TRACKING_ON_FLAG    ,
471 		   i.RECOVERED_PART_DISP_CODE   ,
472 		   i.COMMS_NL_TRACKABLE_FLAG    ,
473 		   i.ASSET_CREATION_CODE        ,
474 		   i.IB_ITEM_INSTANCE_CLASS     ,
475 		   i.SERVICE_STARTING_DELAY     ,
476 		   -- Web Option
477 		   i.WEB_STATUS ,
478 		   i.ORDERABLE_ON_WEB_FLAG      ,
479 		   i.BACK_ORDERABLE_FLAG        ,
480 		   i.MINIMUM_LICENSE_QUANTITY   ,
481 		   --Start: 26 new attributes
482 		   i.TRACKING_QUANTITY_IND    ,
483 		   i.ONT_PRICING_QTY_SOURCE  ,
484 		   i.SECONDARY_DEFAULT_IND    ,
485 		   i.VMI_MINIMUM_UNITS         ,
486 		   i.VMI_MINIMUM_DAYS           ,
487 		   i.VMI_MAXIMUM_UNITS          ,
488 		   i.VMI_MAXIMUM_DAYS           ,
489 		   i.VMI_FIXED_ORDER_QUANTITY   ,
490 		   i.SO_AUTHORIZATION_FLAG      ,
491 		   i.CONSIGNED_FLAG            ,
492 		   i.ASN_AUTOEXPIRE_FLAG        ,
493 		   i.VMI_FORECAST_TYPE         ,
494 		   i.FORECAST_HORIZON           ,
495 		   i.EXCLUDE_FROM_BUDGET_FLAG   ,
496 		   i.DAYS_TGT_INV_SUPPLY       ,
497 		   i.DAYS_TGT_INV_WINDOW       ,
498 		   i.DAYS_MAX_INV_SUPPLY        ,
499 		   i.DAYS_MAX_INV_WINDOW       ,
500 		   i.DRP_PLANNED_FLAG          ,
501 		   i.CRITICAL_COMPONENT_FLAG    ,
502 		   i.CONTINOUS_TRANSFER         ,
503 		   i.CONVERGENCE                ,
504 		   i.DIVERGENCE                 ,
505 		   i.CONFIG_ORGS               ,
509 		   i.ATTRIBUTE1        ,
506 		   i.CONFIG_MATCH               ,
507 		   -- Descriptive flex
508 		   i.ATTRIBUTE_CATEGORY,
510 		   i.ATTRIBUTE2        ,
511 		   i.ATTRIBUTE3        ,
512 		   i.ATTRIBUTE4        ,
513 		   i.ATTRIBUTE5        ,
514 		   i.ATTRIBUTE6        ,
515 		   i.ATTRIBUTE7        ,
516 		   i.ATTRIBUTE8		,
517 		   i.ATTRIBUTE9        ,
518 		   i.ATTRIBUTE10       ,
519 		   i.ATTRIBUTE11       ,
520 		   i.ATTRIBUTE12       ,
521 		   i.ATTRIBUTE13       ,
522 		   i.ATTRIBUTE14       ,
523 		   i.ATTRIBUTE15       ,
524 		   i.ATTRIBUTE16       ,
525 		   i.ATTRIBUTE17       ,
526 		   i.ATTRIBUTE18       ,
527 		   i.ATTRIBUTE19       ,
528 		   i.ATTRIBUTE20       ,
529 		   i.ATTRIBUTE21       ,
530 		   i.ATTRIBUTE22       ,
531 		   i.ATTRIBUTE23       ,
532 		   i.ATTRIBUTE24       ,
533 		   i.ATTRIBUTE25      ,
534 		   i.ATTRIBUTE26      ,
535 		   i.ATTRIBUTE27      ,
536 		   i.ATTRIBUTE28      ,
537 		   i.ATTRIBUTE29      ,
538 		   i.ATTRIBUTE30      ,
539 		   -- Global Descriptive flex
540 		   i.GLOBAL_ATTRIBUTE_CATEGORY,
541 		   i.GLOBAL_ATTRIBUTE1        ,
542 		   i.GLOBAL_ATTRIBUTE2        ,
543 		   i.GLOBAL_ATTRIBUTE3        ,
544 		   i.GLOBAL_ATTRIBUTE4        ,
545 		   i.GLOBAL_ATTRIBUTE5        ,
546 		   i.GLOBAL_ATTRIBUTE6        ,
547 		   i.GLOBAL_ATTRIBUTE7         ,
548 		   i.GLOBAL_ATTRIBUTE8         ,
549 		   i.GLOBAL_ATTRIBUTE9         ,
550 		   i.GLOBAL_ATTRIBUTE10        ,
551 		      /* R12 Enhacement */
552 		   i.CAS_NUMBER                ,
553 		   i.CHILD_LOT_FLAG            ,
554 		   i.CHILD_LOT_PREFIX          ,
555 		   i.CHILD_LOT_STARTING_NUMBER ,
556 		   i.CHILD_LOT_VALIDATION_FLAG ,
557 		   i.COPY_LOT_ATTRIBUTE_FLAG    ,
558 		   i.DEFAULT_GRADE              ,
559 		   i.EXPIRATION_ACTION_CODE     ,
560 		   i.EXPIRATION_ACTION_INTERVAL ,
561 		   i.GRADE_CONTROL_FLAG         ,
562 		   i.HAZARDOUS_MATERIAL_FLAG    ,
563 		   i.HOLD_DAYS                  ,
564 		   i.LOT_DIVISIBLE_FLAG         ,
565 		   i.MATURITY_DAYS              ,
566 		   i.PARENT_CHILD_GENERATION_FLAG,
567 		   i.PROCESS_COSTING_ENABLED_FLAG ,
568 		   i.PROCESS_EXECUTION_ENABLED_FLAG,
569 		   i.PROCESS_QUALITY_ENABLED_FLAG   ,
570 		   i.PROCESS_SUPPLY_LOCATOR_ID       ,
571 		   i.PROCESS_SUPPLY_SUBINVENTORY     ,
572 		   i.PROCESS_YIELD_LOCATOR_ID        ,
573 		   i.PROCESS_YIELD_SUBINVENTORY      ,
574 		   i.RECIPE_ENABLED_FLAG             ,
575 		   i.RETEST_INTERVAL                 ,
576 		   i.CHARGE_PERIODICITY_CODE         ,
577 		   i.REPAIR_LEADTIME                 ,
578 		   i.REPAIR_YIELD                    ,
579 		   i.PREPOSITION_POINT               ,
580 		   i.REPAIR_PROGRAM                  ,
581 		   i.SUBCONTRACTING_COMPONENT        ,
582 		   i.OUTSOURCED_ASSEMBLY,
583                    i.GDSN_OUTBOUND_ENABLED_FLAG,
584                    i.TRADE_ITEM_DESCRIPTOR
585 	    )
586           = ( SELECT
587                    NVL(i.ITEM_CATALOG_GROUP_ID, m.ITEM_CATALOG_GROUP_ID),
588                    NVL(i.CATALOG_STATUS_FLAG, m.CATALOG_STATUS_FLAG),
589                    -- Main attributes
590 		   NVL(i.PRIMARY_UOM_CODE, m.PRIMARY_UOM_CODE ),
591 		   --PRIMARY_UNIT_OF_MEASURE,
592 		   NVL(i.ALLOWED_UNITS_LOOKUP_CODE, m.ALLOWED_UNITS_LOOKUP_CODE),
593 		   NVL(i.INVENTORY_ITEM_STATUS_CODE,l_status),
594 		   NVL(i.DUAL_UOM_CONTROL, m.DUAL_UOM_CONTROL),
595 		   NVL(i.SECONDARY_UOM_CODE, m.SECONDARY_UOM_CODE),
596 		   NVL(i.DUAL_UOM_DEVIATION_HIGH, m.DUAL_UOM_DEVIATION_HIGH),
597 		   NVL(i.DUAL_UOM_DEVIATION_LOW, m.DUAL_UOM_DEVIATION_LOW),
598 		   NVL(i.ITEM_TYPE, m.ITEM_TYPE),
599 		   NVL(i.LIFECYCLE_ID, l_lifecycle_id),
600 		   NVL(i.CURRENT_PHASE_ID,l_phase_id),
601 		   -- Inventory
602 		   NVL(i.INVENTORY_ITEM_FLAG, m.INVENTORY_ITEM_FLAG),
603 		   NVL(i.STOCK_ENABLED_FLAG, m.STOCK_ENABLED_FLAG),
604 		   NVL(i.MTL_TRANSACTIONS_ENABLED_FLAG, m.MTL_TRANSACTIONS_ENABLED_FLAG),
605 		   NVL(i.REVISION_QTY_CONTROL_CODE, m.REVISION_QTY_CONTROL_CODE),
606 		   NVL(i.LOT_CONTROL_CODE, m.LOT_CONTROL_CODE),
607 		   NVL(i.AUTO_LOT_ALPHA_PREFIX, m.AUTO_LOT_ALPHA_PREFIX),
608 		   NVL(i.START_AUTO_LOT_NUMBER, m.START_AUTO_LOT_NUMBER),
609 		   NVL(i.SERIAL_NUMBER_CONTROL_CODE, m.SERIAL_NUMBER_CONTROL_CODE),
610 		   NVL(i.AUTO_SERIAL_ALPHA_PREFIX, m.AUTO_SERIAL_ALPHA_PREFIX),
611 		   NVL(i.START_AUTO_SERIAL_NUMBER, m.START_AUTO_SERIAL_NUMBER),
612 		   NVL(i.SHELF_LIFE_CODE, m.SHELF_LIFE_CODE),
613 		   NVL(i.SHELF_LIFE_DAYS, m.SHELF_LIFE_DAYS),
614 		   NVL(i.RESTRICT_SUBINVENTORIES_CODE, m.RESTRICT_SUBINVENTORIES_CODE),
615 		   NVL(i.LOCATION_CONTROL_CODE, m.LOCATION_CONTROL_CODE),
616 		   NVL(i.RESTRICT_LOCATORS_CODE, m.RESTRICT_LOCATORS_CODE),
617 		   NVL(i.RESERVABLE_TYPE, m.RESERVABLE_TYPE),
618 		   NVL(i.CYCLE_COUNT_ENABLED_FLAG, m.CYCLE_COUNT_ENABLED_FLAG),
619 		   NVL(i.NEGATIVE_MEASUREMENT_ERROR, m.NEGATIVE_MEASUREMENT_ERROR),
620 		   NVL(i.POSITIVE_MEASUREMENT_ERROR, m.POSITIVE_MEASUREMENT_ERROR),
621 		   NVL(i.CHECK_SHORTAGES_FLAG, m.CHECK_SHORTAGES_FLAG),
622 		   NVL(i.LOT_STATUS_ENABLED, m.LOT_STATUS_ENABLED),
623 		   NVL(i.DEFAULT_LOT_STATUS_ID, m.DEFAULT_LOT_STATUS_ID),
624 		   NVL(i.SERIAL_STATUS_ENABLED , m.SERIAL_STATUS_ENABLED),
628 		   NVL(i.LOT_TRANSLATE_ENABLED, m.LOT_TRANSLATE_ENABLED),
625 		   NVL(i.DEFAULT_SERIAL_STATUS_ID, m.DEFAULT_SERIAL_STATUS_ID),
626 		   NVL(i.LOT_SPLIT_ENABLED,m.LOT_SPLIT_ENABLED),
627 		   NVL(i.LOT_MERGE_ENABLED,m.LOT_MERGE_ENABLED),
629 		   NVL(i.LOT_SUBSTITUTION_ENABLED, m.LOT_SUBSTITUTION_ENABLED),
630 		   NVL(i.BULK_PICKED_FLAG, m.BULK_PICKED_FLAG),
631 		   -- Bills of Material
632 		   NVL(i.BOM_ITEM_TYPE, m.BOM_ITEM_TYPE),
633 		   NVL(i.BOM_ENABLED_FLAG, m.BOM_ENABLED_FLAG),
634 		   NVL(i.BASE_ITEM_ID, m.BASE_ITEM_ID),
635 		   NVL(i.ENG_ITEM_FLAG, m.ENG_ITEM_FLAG),
636 		   NVL(i.ENGINEERING_ITEM_ID, m.ENGINEERING_ITEM_ID),
637 		   NVL(i.ENGINEERING_ECN_CODE, m.ENGINEERING_ECN_CODE) ,
638 		   NVL(i.ENGINEERING_DATE , m.ENGINEERING_DATE),
639 		   NVL(i.EFFECTIVITY_CONTROL , m.EFFECTIVITY_CONTROL),
640 		   NVL(i.CONFIG_MODEL_TYPE, m.CONFIG_MODEL_TYPE),
641 		   NVL(i.PRODUCT_FAMILY_ITEM_ID, m.PRODUCT_FAMILY_ITEM_ID),
642 		   NVL(i.AUTO_CREATED_CONFIG_FLAG , m.AUTO_CREATED_CONFIG_FLAG),
643 		   -- Costing
644 		   NVL(i.COSTING_ENABLED_FLAG, m.COSTING_ENABLED_FLAG),
645 		   NVL(i.INVENTORY_ASSET_FLAG, m.INVENTORY_ASSET_FLAG),
646 		   NVL(i.COST_OF_SALES_ACCOUNT , m.COST_OF_SALES_ACCOUNT),
647 		   NVL(i.DEFAULT_INCLUDE_IN_ROLLUP_FLAG, m.DEFAULT_INCLUDE_IN_ROLLUP_FLAG),
648 		   NVL(i.STD_LOT_SIZE, m.STD_LOT_SIZE),
649 		   -- Enterprise Asset Management
650 		   NVL(i.EAM_ITEM_TYPE, m.EAM_ITEM_TYPE),
651 		   NVL(i.EAM_ACTIVITY_TYPE_CODE , m.EAM_ACTIVITY_TYPE_CODE),
652 		   NVL(i.EAM_ACTIVITY_CAUSE_CODE , m.EAM_ACTIVITY_CAUSE_CODE),
653 		   NVL(i.EAM_ACTIVITY_SOURCE_CODE , m.EAM_ACTIVITY_SOURCE_CODE),
654 		   NVL(i.EAM_ACT_SHUTDOWN_STATUS, m.EAM_ACT_SHUTDOWN_STATUS),
655 		   NVL(i.EAM_ACT_NOTIFICATION_FLAG, m.EAM_ACT_NOTIFICATION_FLAG),
656 		   -- Purchasing
657 		   NVL(i.PURCHASING_ITEM_FLAG , m.PURCHASING_ITEM_FLAG ),
658 		   NVL(i.PURCHASING_ENABLED_FLAG , m.PURCHASING_ENABLED_FLAG ),
659 		   NVL(i.BUYER_ID , m.BUYER_ID),
660 		   NVL(i.MUST_USE_APPROVED_VENDOR_FLAG, m.MUST_USE_APPROVED_VENDOR_FLAG),
661 		   NVL(i.PURCHASING_TAX_CODE , m.PURCHASING_TAX_CODE),
662 		   NVL(i.TAXABLE_FLAG , m.TAXABLE_FLAG),
663 		   NVL(i.RECEIVE_CLOSE_TOLERANCE , m.RECEIVE_CLOSE_TOLERANCE),
664 		   NVL(i.ALLOW_ITEM_DESC_UPDATE_FLAG, m.ALLOW_ITEM_DESC_UPDATE_FLAG),
665 		   NVL(i.INSPECTION_REQUIRED_FLAG , m.INSPECTION_REQUIRED_FLAG),
666 		   NVL(i.RECEIPT_REQUIRED_FLAG , m.RECEIPT_REQUIRED_FLAG ),
667 		   NVL(i.MARKET_PRICE , m.MARKET_PRICE),
668 		   NVL(i.UN_NUMBER_ID , m.UN_NUMBER_ID),
669 		   NVL(i.HAZARD_CLASS_ID ,m.HAZARD_CLASS_ID ),
670 		   NVL(i.RFQ_REQUIRED_FLAG , m.RFQ_REQUIRED_FLAG ),
671 		   NVL(i.LIST_PRICE_PER_UNIT , m.LIST_PRICE_PER_UNIT ),
672 		   NVL(i.PRICE_TOLERANCE_PERCENT , m.PRICE_TOLERANCE_PERCENT),
673 		   NVL(i.ASSET_CATEGORY_ID , ASSET_CATEGORY_ID ),
674 		   NVL(i.ROUNDING_FACTOR , m.ROUNDING_FACTOR),
675 		   NVL(i.UNIT_OF_ISSUE, m.UNIT_OF_ISSUE),
676 		   NVL(i.OUTSIDE_OPERATION_FLAG, m.OUTSIDE_OPERATION_FLAG),
677 		   NVL(i.OUTSIDE_OPERATION_UOM_TYPE , m.OUTSIDE_OPERATION_UOM_TYPE ),
678 		   NVL(i.INVOICE_CLOSE_TOLERANCE , m.INVOICE_CLOSE_TOLERANCE ),
679 		   NVL(i.ENCUMBRANCE_ACCOUNT , m.ENCUMBRANCE_ACCOUNT ),
680 		   NVL(i.EXPENSE_ACCOUNT , m.EXPENSE_ACCOUNT ),
681 		   NVL(i.QTY_RCV_EXCEPTION_CODE , m.QTY_RCV_EXCEPTION_CODE ),
682 		   NVL(i.RECEIVING_ROUTING_ID , m.RECEIVING_ROUTING_ID ),
683 		   NVL(i.QTY_RCV_TOLERANCE , m.QTY_RCV_TOLERANCE),
684 		   NVL(i.ENFORCE_SHIP_TO_LOCATION_CODE , m.ENFORCE_SHIP_TO_LOCATION_CODE ) ,
685 		   NVL(i.ALLOW_SUBSTITUTE_RECEIPTS_FLAG , m.ALLOW_SUBSTITUTE_RECEIPTS_FLAG),
686 		   NVL(i.ALLOW_UNORDERED_RECEIPTS_FLAG , m.ALLOW_UNORDERED_RECEIPTS_FLAG),
687 		   NVL(i.ALLOW_EXPRESS_DELIVERY_FLAG , m.ALLOW_EXPRESS_DELIVERY_FLAG ),
688 		   NVL(i.DAYS_EARLY_RECEIPT_ALLOWED , m.DAYS_EARLY_RECEIPT_ALLOWED ),
689 		   NVL(i.DAYS_LATE_RECEIPT_ALLOWED  ,m.DAYS_LATE_RECEIPT_ALLOWED ) ,
690 		   NVL(i.RECEIPT_DAYS_EXCEPTION_CODE, m.RECEIPT_DAYS_EXCEPTION_CODE),
691 		   -- Physical
692 		   NVL(i.WEIGHT_UOM_CODE, m.WEIGHT_UOM_CODE ),
693 		   NVL(i.UNIT_WEIGHT, m.UNIT_WEIGHT ),
694 		   NVL(i.VOLUME_UOM_CODE , m.VOLUME_UOM_CODE ),
695 		   NVL(i.UNIT_VOLUME , m.UNIT_VOLUME ),
696 		   NVL(i.CONTAINER_ITEM_FLAG , m.CONTAINER_ITEM_FLAG ),
697 		   NVL(i.VEHICLE_ITEM_FLAG , m.VEHICLE_ITEM_FLAG ),
698 		   NVL(i.MAXIMUM_LOAD_WEIGHT , m.MAXIMUM_LOAD_WEIGHT ) ,
699 		   NVL(i.MINIMUM_FILL_PERCENT  , m.MINIMUM_FILL_PERCENT ),
700 		   NVL(i.INTERNAL_VOLUME , m.INTERNAL_VOLUME ),
701 		   NVL(i.CONTAINER_TYPE_CODE , m.CONTAINER_TYPE_CODE ),
702 		   NVL(i.COLLATERAL_FLAG , m.COLLATERAL_FLAG ),
703 		   NVL(i.EVENT_FLAG , m.EVENT_FLAG ),
704 		   NVL(i.EQUIPMENT_TYPE , m.EQUIPMENT_TYPE ),
705 		   NVL(i.ELECTRONIC_FLAG , m.ELECTRONIC_FLAG ),
706 		   NVL(i.DOWNLOADABLE_FLAG , m.DOWNLOADABLE_FLAG ),
707 		   NVL(i.INDIVISIBLE_FLAG , m.INDIVISIBLE_FLAG ),
708 		   NVL(i.DIMENSION_UOM_CODE , m.DIMENSION_UOM_CODE ),
709 		   NVL(i.UNIT_LENGTH , m.UNIT_LENGTH ),
710 		   NVL(i.UNIT_WIDTH  , m.UNIT_WIDTH ),
711 		   NVL(i.UNIT_HEIGHT , m.UNIT_HEIGHT ),
712 		   NVL(i.INVENTORY_PLANNING_CODE ,m.INVENTORY_PLANNING_CODE ),
713 		   NVL(i.PLANNER_CODE , m.PLANNER_CODE ),
714 		   NVL(i.PLANNING_MAKE_BUY_CODE , m.PLANNING_MAKE_BUY_CODE ),
715 		   NVL(i.MIN_MINMAX_QUANTITY , m.MIN_MINMAX_QUANTITY ),
716 		   NVL(i.MAX_MINMAX_QUANTITY , m.MAX_MINMAX_QUANTITY ),
717 		   NVL(i.SAFETY_STOCK_BUCKET_DAYS  , m.SAFETY_STOCK_BUCKET_DAYS ) ,
718 		   NVL(i.CARRYING_COST , m.CARRYING_COST ),
719 		   NVL(i.ORDER_COST , m.ORDER_COST ),
720 		   NVL(i.MRP_SAFETY_STOCK_PERCENT ,m.MRP_SAFETY_STOCK_PERCENT ) ,
721 		   NVL(i.MRP_SAFETY_STOCK_CODE , m.MRP_SAFETY_STOCK_CODE ),
722 		   NVL(i.FIXED_ORDER_QUANTITY  , m.FIXED_ORDER_QUANTITY ),
723 		   NVL(i.FIXED_DAYS_SUPPLY , m.FIXED_DAYS_SUPPLY ),
724 		   NVL(i.MINIMUM_ORDER_QUANTITY, m.MINIMUM_ORDER_QUANTITY ),
725 		   NVL(i.MAXIMUM_ORDER_QUANTITY , m.MAXIMUM_ORDER_QUANTITY ),
726 		   NVL(i.FIXED_LOT_MULTIPLIER , m.FIXED_LOT_MULTIPLIER ) ,
727 		   NVL(i.SOURCE_TYPE , m.SOURCE_TYPE ),
731 		   NVL(i.ATO_FORECAST_CONTROL , m.ATO_FORECAST_CONTROL ),
728 		   NVL(i.SOURCE_ORGANIZATION_ID , m.SOURCE_ORGANIZATION_ID ),
729 		   NVL(i.SOURCE_SUBINVENTORY , m.SOURCE_SUBINVENTORY ),
730 		   NVL(i.MRP_PLANNING_CODE , m.MRP_PLANNING_CODE ),
732 		   NVL(i.PLANNING_EXCEPTION_SET , m.PLANNING_EXCEPTION_SET ),
733 		   NVL(i.SHRINKAGE_RATE , m.SHRINKAGE_RATE ),
734 		   NVL(i.END_ASSEMBLY_PEGGING_FLAG , m.END_ASSEMBLY_PEGGING_FLAG ),
735 		   NVL(i.ROUNDING_CONTROL_TYPE , m.ROUNDING_CONTROL_TYPE ),
736 		   NVL(i.PLANNED_INV_POINT_FLAG , m.PLANNED_INV_POINT_FLAG ),
737 		   NVL(i.CREATE_SUPPLY_FLAG , m.CREATE_SUPPLY_FLAG ),
738 		   NVL(i.ACCEPTABLE_EARLY_DAYS , m.ACCEPTABLE_EARLY_DAYS ) ,
739 		   NVL(i.MRP_CALCULATE_ATP_FLAG , m.MRP_CALCULATE_ATP_FLAG ),
740 		   NVL(i.AUTO_REDUCE_MPS , m.AUTO_REDUCE_MPS ),
741 		   NVL(i.REPETITIVE_PLANNING_FLAG ,m.REPETITIVE_PLANNING_FLAG) ,
742 		   NVL(i.OVERRUN_PERCENTAGE , m.OVERRUN_PERCENTAGE ),
743 		   NVL(i.ACCEPTABLE_RATE_DECREASE , m.ACCEPTABLE_RATE_DECREASE ),
744 		   NVL(i.ACCEPTABLE_RATE_INCREASE  ,m.ACCEPTABLE_RATE_INCREASE ) ,
745 		   NVL(i.PLANNING_TIME_FENCE_CODE, m.PLANNING_TIME_FENCE_CODE )  ,
746                    NVL(i.PLANNING_TIME_FENCE_DAYS, m.PLANNING_TIME_FENCE_DAYS )  ,
747                    NVL(i.DEMAND_TIME_FENCE_CODE, m.DEMAND_TIME_FENCE_CODE )  ,
748                    NVL(i.DEMAND_TIME_FENCE_DAYS, m.DEMAND_TIME_FENCE_DAYS )  ,
749                    NVL(i.RELEASE_TIME_FENCE_CODE, m.RELEASE_TIME_FENCE_CODE )  ,
750                    NVL(i.RELEASE_TIME_FENCE_DAYS, m.RELEASE_TIME_FENCE_DAYS )  ,
751                    NVL(i.SUBSTITUTION_WINDOW_CODE, m.SUBSTITUTION_WINDOW_CODE )  ,
752                    NVL(i.SUBSTITUTION_WINDOW_DAYS, m.SUBSTITUTION_WINDOW_DAYS )  ,
753 		   -- Lead Times
754                    NVL(i.PREPROCESSING_LEAD_TIME, m.PREPROCESSING_LEAD_TIME )  ,
755                    NVL(i.FULL_LEAD_TIME, m.FULL_LEAD_TIME )  ,
756                    NVL(i.POSTPROCESSING_LEAD_TIME, m.POSTPROCESSING_LEAD_TIME )  ,
757                    NVL(i.FIXED_LEAD_TIME, m.FIXED_LEAD_TIME )  ,
758                    NVL(i.VARIABLE_LEAD_TIME, m.VARIABLE_LEAD_TIME )  ,
759                    NVL(i.CUM_MANUFACTURING_LEAD_TIME, m.CUM_MANUFACTURING_LEAD_TIME )  ,
760                    NVL(i.CUMULATIVE_TOTAL_LEAD_TIME, m.CUMULATIVE_TOTAL_LEAD_TIME )  ,
761                    NVL(i.LEAD_TIME_LOT_SIZE, m.LEAD_TIME_LOT_SIZE )  ,
762 		   -- WIP
763                    NVL(i.BUILD_IN_WIP_FLAG, m.BUILD_IN_WIP_FLAG )  ,
764                    NVL(i.WIP_SUPPLY_TYPE, m.WIP_SUPPLY_TYPE )  ,
765                    NVL(i.WIP_SUPPLY_SUBINVENTORY, m.WIP_SUPPLY_SUBINVENTORY )  ,
766                    NVL(i.WIP_SUPPLY_LOCATOR_ID, m.WIP_SUPPLY_LOCATOR_ID )  ,
767                    NVL(i.OVERCOMPLETION_TOLERANCE_TYPE, m.OVERCOMPLETION_TOLERANCE_TYPE )  ,
768                    NVL(i.OVERCOMPLETION_TOLERANCE_VALUE, m.OVERCOMPLETION_TOLERANCE_VALUE )  ,
769                    NVL(i.INVENTORY_CARRY_PENALTY, m.INVENTORY_CARRY_PENALTY )  ,
770                    NVL(i.OPERATION_SLACK_PENALTY, m.OPERATION_SLACK_PENALTY )  ,
771 		   -- Order Management
772                    NVL(i.CUSTOMER_ORDER_FLAG, m.CUSTOMER_ORDER_FLAG )  ,
773                    NVL(i.CUSTOMER_ORDER_ENABLED_FLAG, m.CUSTOMER_ORDER_ENABLED_FLAG )  ,
774                    NVL(i.INTERNAL_ORDER_FLAG, m.INTERNAL_ORDER_FLAG )  ,
775                    NVL(i.INTERNAL_ORDER_ENABLED_FLAG, m.INTERNAL_ORDER_ENABLED_FLAG )  ,
776                    NVL(i.SHIPPABLE_ITEM_FLAG, m.SHIPPABLE_ITEM_FLAG )  ,
777                    NVL(i.SO_TRANSACTIONS_FLAG, m.SO_TRANSACTIONS_FLAG )  ,
778                    NVL(i.PICKING_RULE_ID, m.PICKING_RULE_ID )  ,
779                    NVL(i.PICK_COMPONENTS_FLAG, m.PICK_COMPONENTS_FLAG )  ,
780                    NVL(i.REPLENISH_TO_ORDER_FLAG, m.REPLENISH_TO_ORDER_FLAG )  ,
781                    NVL(i.ATP_FLAG, m.ATP_FLAG )  ,
782                    NVL(i.ATP_COMPONENTS_FLAG, m.ATP_COMPONENTS_FLAG )  ,
783                    NVL(i.ATP_RULE_ID, m.ATP_RULE_ID )  ,
784                    NVL(i.SHIP_MODEL_COMPLETE_FLAG, m.SHIP_MODEL_COMPLETE_FLAG )  ,
785                    NVL(i.DEFAULT_SHIPPING_ORG, m.DEFAULT_SHIPPING_ORG )  ,
786                    NVL(i.DEFAULT_SO_SOURCE_TYPE, m.DEFAULT_SO_SOURCE_TYPE )  ,
787                    NVL(i.RETURNABLE_FLAG, m.RETURNABLE_FLAG )  ,
788                    NVL(i.RETURN_INSPECTION_REQUIREMENT, m.RETURN_INSPECTION_REQUIREMENT )  ,
789                    NVL(i.OVER_SHIPMENT_TOLERANCE, m.OVER_SHIPMENT_TOLERANCE )  ,
790                    NVL(i.UNDER_SHIPMENT_TOLERANCE, m.UNDER_SHIPMENT_TOLERANCE )  ,
791                    NVL(i.OVER_RETURN_TOLERANCE, m.OVER_RETURN_TOLERANCE )  ,
792                    NVL(i.UNDER_RETURN_TOLERANCE, m.UNDER_RETURN_TOLERANCE )  ,
793                    NVL(i.FINANCING_ALLOWED_FLAG, m.FINANCING_ALLOWED_FLAG )  ,
794                    NVL(i.VOL_DISCOUNT_EXEMPT_FLAG, m.VOL_DISCOUNT_EXEMPT_FLAG )  ,
795                    NVL(i.COUPON_EXEMPT_FLAG, m.COUPON_EXEMPT_FLAG )  ,
796                    NVL(i.INVOICEABLE_ITEM_FLAG, m.INVOICEABLE_ITEM_FLAG )  ,
797                    NVL(i.INVOICE_ENABLED_FLAG, m.INVOICE_ENABLED_FLAG )  ,
798                    NVL(i.ACCOUNTING_RULE_ID, m.ACCOUNTING_RULE_ID )  ,
799                    NVL(i.INVOICING_RULE_ID, m.INVOICING_RULE_ID )  ,
800                    NVL(i.TAX_CODE, m.TAX_CODE )  ,
801                    NVL(i.SALES_ACCOUNT, m.SALES_ACCOUNT )  ,
802                    NVL(i.PAYMENT_TERMS_ID, m.PAYMENT_TERMS_ID )  ,
803 		   -- Service
804                    NVL(i.CONTRACT_ITEM_TYPE_CODE, m.CONTRACT_ITEM_TYPE_CODE )  ,
805                    NVL(i.SERVICE_DURATION_PERIOD_CODE, m.SERVICE_DURATION_PERIOD_CODE )  ,
806                    NVL(i.SERVICE_DURATION, m.SERVICE_DURATION )  ,
807                    NVL(i.COVERAGE_SCHEDULE_ID, m.COVERAGE_SCHEDULE_ID )  ,
808                    NVL(i.SUBSCRIPTION_DEPEND_FLAG, m.SUBSCRIPTION_DEPEND_FLAG )  ,
809                    NVL(i.SERV_IMPORTANCE_LEVEL, m.SERV_IMPORTANCE_LEVEL )  ,
810                    NVL(i.SERV_REQ_ENABLED_CODE, m.SERV_REQ_ENABLED_CODE )  ,
811                    NVL(i.COMMS_ACTIVATION_REQD_FLAG, m.COMMS_ACTIVATION_REQD_FLAG )  ,
812                    NVL(i.SERVICEABLE_PRODUCT_FLAG, m.SERVICEABLE_PRODUCT_FLAG )  ,
816                    NVL(i.RECOVERED_PART_DISP_CODE, m.RECOVERED_PART_DISP_CODE )  ,
813                    NVL(i.MATERIAL_BILLABLE_FLAG, m.MATERIAL_BILLABLE_FLAG )  ,
814                    NVL(i.SERV_BILLING_ENABLED_FLAG, m.SERV_BILLING_ENABLED_FLAG )  ,
815                    NVL(i.DEFECT_TRACKING_ON_FLAG, m.DEFECT_TRACKING_ON_FLAG )  ,
817                    NVL(i.COMMS_NL_TRACKABLE_FLAG, m.COMMS_NL_TRACKABLE_FLAG )  ,
818                    NVL(i.ASSET_CREATION_CODE, m.ASSET_CREATION_CODE )  ,
819                    NVL(i.IB_ITEM_INSTANCE_CLASS, m.IB_ITEM_INSTANCE_CLASS )  ,
820                    NVL(i.SERVICE_STARTING_DELAY, m.SERVICE_STARTING_DELAY )  ,
821 		   -- Web Option
822                    NVL(i.WEB_STATUS, m.WEB_STATUS )  ,
823                    NVL(i.ORDERABLE_ON_WEB_FLAG, m.ORDERABLE_ON_WEB_FLAG )  ,
824                    NVL(i.BACK_ORDERABLE_FLAG, m.BACK_ORDERABLE_FLAG )  ,
825                    NVL(i.MINIMUM_LICENSE_QUANTITY, m.MINIMUM_LICENSE_QUANTITY )  ,
826 		   --Start: 26 new attributes
827                    NVL(i.TRACKING_QUANTITY_IND, m.TRACKING_QUANTITY_IND )  ,
828                    NVL(i.ONT_PRICING_QTY_SOURCE, m.ONT_PRICING_QTY_SOURCE )  ,
829                    NVL(i.SECONDARY_DEFAULT_IND, m.SECONDARY_DEFAULT_IND )  ,
830                    NVL(i.VMI_MINIMUM_UNITS, m.VMI_MINIMUM_UNITS )  ,
831                    NVL(i.VMI_MINIMUM_DAYS, m.VMI_MINIMUM_DAYS )  ,
832                    NVL(i.VMI_MAXIMUM_UNITS, m.VMI_MAXIMUM_UNITS )  ,
833                    NVL(i.VMI_MAXIMUM_DAYS, m.VMI_MAXIMUM_DAYS )  ,
834                    NVL(i.VMI_FIXED_ORDER_QUANTITY, m.VMI_FIXED_ORDER_QUANTITY )  ,
835                    NVL(i.SO_AUTHORIZATION_FLAG, m.SO_AUTHORIZATION_FLAG )  ,
836                    NVL(i.CONSIGNED_FLAG, m.CONSIGNED_FLAG )  ,
837                    NVL(i.ASN_AUTOEXPIRE_FLAG, m.ASN_AUTOEXPIRE_FLAG )  ,
838                    NVL(i.VMI_FORECAST_TYPE, m.VMI_FORECAST_TYPE )  ,
839                    NVL(i.FORECAST_HORIZON, m.FORECAST_HORIZON )  ,
840                    NVL(i.EXCLUDE_FROM_BUDGET_FLAG, m.EXCLUDE_FROM_BUDGET_FLAG )  ,
841                    NVL(i.DAYS_TGT_INV_SUPPLY, m.DAYS_TGT_INV_SUPPLY )  ,
842                    NVL(i.DAYS_TGT_INV_WINDOW, m.DAYS_TGT_INV_WINDOW )  ,
843                    NVL(i.DAYS_MAX_INV_SUPPLY, m.DAYS_MAX_INV_SUPPLY )  ,
844                    NVL(i.DAYS_MAX_INV_WINDOW, m.DAYS_MAX_INV_WINDOW )  ,
845                    NVL(i.DRP_PLANNED_FLAG, m.DRP_PLANNED_FLAG )  ,
846                    NVL(i.CRITICAL_COMPONENT_FLAG, m.CRITICAL_COMPONENT_FLAG )  ,
847                    NVL(i.CONTINOUS_TRANSFER, m.CONTINOUS_TRANSFER )  ,
848                    NVL(i.CONVERGENCE, m.CONVERGENCE )  ,
849                    NVL(i.DIVERGENCE, m.DIVERGENCE )  ,
850                    NVL(i.CONFIG_ORGS, m.CONFIG_ORGS )  ,
851                    NVL(i.CONFIG_MATCH, m.CONFIG_MATCH )  ,
852                    -- Desc Flex
853                    NVL(i.ATTRIBUTE_CATEGORY, m.ATTRIBUTE_CATEGORY )  ,
854                    NVL(i.ATTRIBUTE1, m.ATTRIBUTE1 )  ,
855                    NVL(i.ATTRIBUTE2, m.ATTRIBUTE2 )  ,
856                    NVL(i.ATTRIBUTE3, m.ATTRIBUTE3 )  ,
857                    NVL(i.ATTRIBUTE4, m.ATTRIBUTE4 )  ,
858                    NVL(i.ATTRIBUTE5, m.ATTRIBUTE5 )  ,
859                    NVL(i.ATTRIBUTE6, m.ATTRIBUTE6 )  ,
860                    NVL(i.ATTRIBUTE7, m.ATTRIBUTE7 )  ,
861                    NVL(i.ATTRIBUTE8, m.ATTRIBUTE8 )  ,
862                    NVL(i.ATTRIBUTE9, m.ATTRIBUTE9 )  ,
863                    NVL(i.ATTRIBUTE10, m.ATTRIBUTE10 )  ,
864                    NVL(i.ATTRIBUTE11, m.ATTRIBUTE11 )  ,
865                    NVL(i.ATTRIBUTE12, m.ATTRIBUTE12 )  ,
866                    NVL(i.ATTRIBUTE13, m.ATTRIBUTE13 )  ,
867                    NVL(i.ATTRIBUTE15, m.ATTRIBUTE14 )  ,
868                    NVL(i.ATTRIBUTE15, m.ATTRIBUTE15 )  ,
869                    NVL(i.ATTRIBUTE16, m.ATTRIBUTE16 )  ,
870                    NVL(i.ATTRIBUTE17, m.ATTRIBUTE17 )  ,
871                    NVL(i.ATTRIBUTE18, m.ATTRIBUTE18 )  ,
872                    NVL(i.ATTRIBUTE19, m.ATTRIBUTE19 )  ,
873                    NVL(i.ATTRIBUTE20, m.ATTRIBUTE20 )  ,
874                    NVL(i.ATTRIBUTE21, m.ATTRIBUTE21 )  ,
875                    NVL(i.ATTRIBUTE22, m.ATTRIBUTE22 )  ,
876                    NVL(i.ATTRIBUTE23, m.ATTRIBUTE23 )  ,
877                    NVL(i.ATTRIBUTE24, m.ATTRIBUTE24 )  ,
878                    NVL(i.ATTRIBUTE25, m.ATTRIBUTE25 )  ,
879                    NVL(i.ATTRIBUTE26, m.ATTRIBUTE26 )  ,
880                    NVL(i.ATTRIBUTE27, m.ATTRIBUTE27 )  ,
881                    NVL(i.ATTRIBUTE28, m.ATTRIBUTE28 )  ,
882                    NVL(i.ATTRIBUTE29, m.ATTRIBUTE29 )  ,
883                    NVL(i.ATTRIBUTE30, m.ATTRIBUTE30 )  ,
884                    NVL(i.GLOBAL_ATTRIBUTE_CATEGORY, m.GLOBAL_ATTRIBUTE_CATEGORY )  ,
885                    NVL(i.GLOBAL_ATTRIBUTE1, m.GLOBAL_ATTRIBUTE1 )  ,
886                    NVL(i.GLOBAL_ATTRIBUTE2, m.GLOBAL_ATTRIBUTE2)  ,
887                    NVL(i.GLOBAL_ATTRIBUTE3, m.GLOBAL_ATTRIBUTE3)  ,
888                    NVL(i.GLOBAL_ATTRIBUTE4, m.GLOBAL_ATTRIBUTE4)  ,
889                    NVL(i.GLOBAL_ATTRIBUTE5, m.GLOBAL_ATTRIBUTE5)  ,
890                    NVL(i.GLOBAL_ATTRIBUTE6, m.GLOBAL_ATTRIBUTE6)  ,
891                    NVL(i.GLOBAL_ATTRIBUTE7, m.GLOBAL_ATTRIBUTE7)  ,
892                    NVL(i.GLOBAL_ATTRIBUTE8, m.GLOBAL_ATTRIBUTE8)  ,
893                    NVL(i.GLOBAL_ATTRIBUTE9, m.GLOBAL_ATTRIBUTE9)  ,
894                    NVL(i.GLOBAL_ATTRIBUTE10, m.GLOBAL_ATTRIBUTE10)  ,
895 		      /* R12 Enhacement */
896                    NVL(i.CAS_NUMBER, m.CAS_NUMBER)  ,
897                    NVL(i.CHILD_LOT_FLAG, m.CHILD_LOT_FLAG)  ,
898                    NVL(i.CHILD_LOT_PREFIX, m.CHILD_LOT_PREFIX)  ,
899                    NVL(i.CHILD_LOT_STARTING_NUMBER, m.CHILD_LOT_STARTING_NUMBER)  ,
900                    NVL(i.CHILD_LOT_VALIDATION_FLAG, m.CHILD_LOT_VALIDATION_FLAG)  ,
901                    NVL(i.COPY_LOT_ATTRIBUTE_FLAG, m.COPY_LOT_ATTRIBUTE_FLAG)  ,
902                    NVL(i.DEFAULT_GRADE, m.DEFAULT_GRADE)  ,
903                    NVL(i.EXPIRATION_ACTION_CODE, m.EXPIRATION_ACTION_CODE)  ,
907                    NVL(i.HOLD_DAYS, m.HOLD_DAYS)  ,
904                    NVL(i.EXPIRATION_ACTION_INTERVAL, m.EXPIRATION_ACTION_INTERVAL)  ,
905                    NVL(i.GRADE_CONTROL_FLAG, m.GRADE_CONTROL_FLAG)  ,
906                    NVL(i.HAZARDOUS_MATERIAL_FLAG, m.HAZARDOUS_MATERIAL_FLAG)  ,
908                    NVL(i.LOT_DIVISIBLE_FLAG, m.LOT_DIVISIBLE_FLAG)  ,
909                    NVL(i.MATURITY_DAYS, m.MATURITY_DAYS)  ,
910                    NVL(i.PARENT_CHILD_GENERATION_FLAG, m.PARENT_CHILD_GENERATION_FLAG)  ,
911                    NVL(i.PROCESS_COSTING_ENABLED_FLAG, m.PROCESS_COSTING_ENABLED_FLAG)  ,
912                    NVL(i.PROCESS_EXECUTION_ENABLED_FLAG, m.PROCESS_EXECUTION_ENABLED_FLAG)  ,
913                    NVL(i.PROCESS_QUALITY_ENABLED_FLAG, m.PROCESS_QUALITY_ENABLED_FLAG)  ,
914                    NVL(i.PROCESS_SUPPLY_LOCATOR_ID, m.PROCESS_SUPPLY_LOCATOR_ID)  ,
915                    NVL(i.PROCESS_SUPPLY_SUBINVENTORY, m.PROCESS_SUPPLY_SUBINVENTORY)  ,
916                    NVL(i.PROCESS_YIELD_LOCATOR_ID, m.PROCESS_YIELD_LOCATOR_ID)  ,
917                    NVL(i.PROCESS_YIELD_SUBINVENTORY, m.PROCESS_YIELD_SUBINVENTORY)  ,
918                    NVL(i.RECIPE_ENABLED_FLAG, m.RECIPE_ENABLED_FLAG)  ,
919                    NVL(i.RETEST_INTERVAL, m.RETEST_INTERVAL)  ,
920                    NVL(i.CHARGE_PERIODICITY_CODE, m.CHARGE_PERIODICITY_CODE)  ,
921                    NVL(i.REPAIR_LEADTIME, m.REPAIR_LEADTIME)  ,
922                    NVL(i.REPAIR_YIELD, m.REPAIR_YIELD)  ,
923                    NVL(i.PREPOSITION_POINT, m.PREPOSITION_POINT)  ,
924                    NVL(i.REPAIR_PROGRAM, m.REPAIR_PROGRAM)  ,
925                    NVL(i.SUBCONTRACTING_COMPONENT, m.SUBCONTRACTING_COMPONENT)  ,
926                    NVL(i.OUTSOURCED_ASSEMBLY, m.OUTSOURCED_ASSEMBLY),
927                       /* R12 C Enhancement */
928                    NVL(i.GDSN_OUTBOUND_ENABLED_FLAG, m.GDSN_OUTBOUND_ENABLED_FLAG),
929                    NVL(i.TRADE_ITEM_DESCRIPTOR, m.TRADE_ITEM_DESCRIPTOR)
930                FROM MTL_SYSTEM_ITEMS m
931 	      WHERE m.inventory_item_id = base_item_table(i)
932 	        AND m.organization_id = base_org_table(i))
933 	   WHERE i.process_flag = 1
934              AND i.set_process_id = xset_id
935              AND i.transaction_type = 'CREATE'
936              AND i.copy_organization_id = base_org_table(i)
937 	     AND i.copy_item_id = base_item_table(i);
938         END IF;
939       END LOOP;
940     END IF;
941     RETURN(0);
942 EXCEPTION
943   WHEN others THEN
944      err_text := substr('INVPULI3.copy_item_attributes ' || SQLERRM,1, 240);
945      return(SQLCODE);
946 END copy_item_attributes;
947 
948 end INVPULI3;