[Home] [Help]
PACKAGE BODY: APPS.INVUPD2B
Source
1 PACKAGE BODY INVUPD2B AS
2 /* $Header: INVUPD2B.pls 120.48.12020000.14 2013/04/08 04:10:46 qixia ship $ */
3 -- GlobalVar to hold control level for each attribute Bug Fix 3005880
4
5 A_ALLOWED_UNITS_LOOKUP_CODE NUMBER := 2;
6 A_INVENTORY_ITEM_STATUS_CODE NUMBER := 2;
7 A_ITEM_TYPE NUMBER := 2;
8 A_PRIMARY_UNIT_OF_MEASURE NUMBER := 2;
9 A_BASE_ITEM_ID NUMBER := 2;
10 A_BOM_ENABLED_FLAG NUMBER := 2;
11 A_BOM_ITEM_TYPE NUMBER := 2;
12 A_ENGINEERING_ECN_CODE NUMBER := 2;
13 A_ENGINEERING_ITEM_ID NUMBER := 2;
14 A_ENG_ITEM_FLAG NUMBER := 2;
15 A_COSTING_ENABLED_FLAG NUMBER := 2;
16 A_COST_OF_SALES_ACCOUNT NUMBER := 2;
17 A_DEF_INCL_IN_ROLLUP_FLAG NUMBER := 2;
18 A_INVENTORY_ASSET_FLAG NUMBER := 2;
19 A_STD_LOT_SIZE NUMBER := 2;
20 A_ALLOW_ITEM_DESC_UPDATE_FLAG NUMBER := 2;
21 A_ASSET_CATEGORY_ID NUMBER := 2;
22 A_BUYER_ID NUMBER := 2;
23 A_ENCUMBRANCE_ACCOUNT NUMBER := 2;
24 A_EXPENSE_ACCOUNT NUMBER := 2;
25 A_HAZARD_CLASS_ID NUMBER := 2;
26 A_LIST_PRICE_PER_UNIT NUMBER := 2;
27 A_MARKET_PRICE NUMBER := 2;
28 A_MU_APPRVD_VENDOR_FLAG NUMBER := 2;
29 A_OUTSIDE_OPERATION_FLAG NUMBER := 2;
30 A_OUTSIDE_OPERATION_UOM_TYPE NUMBER := 2;
31 A_PRICE_TOLERANCE_PERCENT NUMBER := 2;
32 A_PURCHASING_ENABLED_FLAG NUMBER := 2;
33 A_PURCHASING_ITEM_FLAG NUMBER := 2;
34 A_RFQ_REQUIRED_FLAG NUMBER := 2;
35 A_ROUNDING_FACTOR NUMBER := 2;
36 A_TAXABLE_FLAG NUMBER := 2;
37 A_UNIT_OF_ISSUE NUMBER := 2;
38 A_UN_NUMBER_ID NUMBER := 2;
39 A_ALLOW_EXPRESS_DELIVERY_FLAG NUMBER := 2;
40 A_ALLOW_SUBS_RECEIPTS_FLAG NUMBER := 2;
41 A_ALLOW_UNORD_RECEIPTS_FLAG NUMBER := 2;
42 A_DAYS_EARLY_RECEIPT_ALLOWED NUMBER := 2;
43 A_DAYS_LATE_RECEIPT_ALLOWED NUMBER := 2;
44 A_ENFORCE_SHIP_TO_LOC_CODE NUMBER := 2;
45 A_INSPECTION_REQUIRED_FLAG NUMBER := 2;
46 A_INVOICE_CLOSE_TOLERANCE NUMBER := 2;
47 A_QTY_RCV_EXCEPTION_CODE NUMBER := 2;
48 A_QTY_RCV_TOLERANCE NUMBER := 2;
49 A_RECEIPT_DAYS_EXCEPTION_CODE NUMBER := 2;
50 A_RECEIPT_REQUIRED_FLAG NUMBER := 2;
51 A_RECEIVE_CLOSE_TOLERANCE NUMBER := 2;
52 A_RECEIVING_ROUTING_ID NUMBER := 2;
53 A_AUTO_LOT_ALPHA_PREFIX NUMBER := 2;
54 A_AUTO_SERIAL_ALPHA_PREFIX NUMBER := 2;
55 A_CYCLE_COUNT_ENABLED_FLAG NUMBER := 2;
56 A_INVENTORY_ITEM_FLAG NUMBER := 2;
57 A_LOCATION_CONTROL_CODE NUMBER := 2;
58 A_LOT_CONTROL_CODE NUMBER := 2;
59 A_MTL_TRANSAC_ENABLED_FLAG NUMBER := 2;
60 A_NEGATIVE_MEASUREMENT_ERROR NUMBER := 2;
61 A_RESERVABLE_TYPE NUMBER := 2;
62 A_RESTRICT_LOCATORS_CODE NUMBER := 2;
63 A_RESTRICT_SUBINVENTORIES_CODE NUMBER := 2;
64 A_REVISION_QTY_CONTROL_CODE NUMBER := 2;
65 A_SERIAL_NUMBER_CONTROL_CODE NUMBER := 2;
66 A_SHELF_LIFE_CODE NUMBER := 2;
67 A_SHELF_LIFE_DAYS NUMBER := 2;
68 A_START_AUTO_LOT_NUMBER NUMBER := 2;
69 A_START_AUTO_SERIAL_NUMBER NUMBER := 2;
70 A_STOCK_ENABLED_FLAG NUMBER := 2;
71 A_UNIT_VOLUME NUMBER := 2;
72 A_UNIT_WEIGHT NUMBER := 2;
73 A_VOLUME_UOM_CODE NUMBER := 2;
74 A_WEIGHT_UOM_CODE NUMBER := 2;
75 A_CARRYING_COST NUMBER := 2;
76 A_FIXED_DAYS_SUPPLY NUMBER := 2;
77 A_FIXED_LOT_MULTIPLIER NUMBER := 2;
78 A_FIXED_ORDER_QUANTITY NUMBER := 2;
79 A_INVENTORY_PLANNING_CODE NUMBER := 2;
80 A_MAXIMUM_ORDER_QUANTITY NUMBER := 2;
81 A_MAX_MINMAX_QUANTITY NUMBER := 2;
82 A_MINIMUM_ORDER_QUANTITY NUMBER := 2;
83 A_MIN_MINMAX_QUANTITY NUMBER := 2;
84 A_MRP_SAFETY_STOCK_CODE NUMBER := 2;
85 A_MRP_SAFETY_STOCK_PERCENT NUMBER := 2;
86 A_ORDER_COST NUMBER := 2;
87 A_PLANNER_CODE NUMBER := 2;
88 A_SAFETY_STOCK_BUCKET_DAYS NUMBER := 2;
89 A_SOURCE_ORGANIZATION_ID NUMBER := 2;
90 A_SOURCE_SUBINVENTORY NUMBER := 2;
91 A_SOURCE_TYPE NUMBER := 2;
92 A_ACCEPTABLE_EARLY_DAYS NUMBER := 2;
93 A_ACCEPTABLE_RATE_DECREASE NUMBER := 2;
94 A_ACCEPTABLE_RATE_INCREASE NUMBER := 2;
95 A_AUTO_REDUCE_MPS NUMBER := 2;
96 A_DEMAND_TIME_FENCE_CODE NUMBER := 2;
97 A_DEMAND_TIME_FENCE_DAYS NUMBER := 2;
98 A_END_ASSEMBLY_PEGGING_FLAG NUMBER := 2;
99 A_MRP_CALCULATE_ATP_FLAG NUMBER := 2;
100 A_MRP_PLANNING_CODE NUMBER := 2;
101 A_OVERRUN_PERCENTAGE NUMBER := 2;
102 A_PLANNING_EXCEPTION_SET NUMBER := 2;
103 A_PLANNING_MAKE_BUY_CODE NUMBER := 2;
104 A_PLANNING_TIME_FENCE_CODE NUMBER := 2;
105 A_PLANNING_TIME_FENCE_DAYS NUMBER := 2;
106 A_REPETITIVE_PLANNING_FLAG NUMBER := 2;
107 A_ROUNDING_CONTROL_TYPE NUMBER := 2;
108 A_SHRINKAGE_RATE NUMBER := 2;
109 A_CUMULATIVE_TOTAL_LEAD_TIME NUMBER := 2;
110 A_CUM_MANUFACTURING_LEAD_TIME NUMBER := 2;
111 A_FIXED_LEAD_TIME NUMBER := 2;
112 A_FULL_LEAD_TIME NUMBER := 2;
113 A_POSTPROCESSING_LEAD_TIME NUMBER := 2;
114 A_PREPROCESSING_LEAD_TIME NUMBER := 2;
115 A_VARIABLE_LEAD_TIME NUMBER := 2;
116 A_BUILD_IN_WIP_FLAG NUMBER := 2;
117 A_WIP_SUPPLY_LOCATOR_ID NUMBER := 2;
118 A_WIP_SUPPLY_SUBINVENTORY NUMBER := 2;
119 A_WIP_SUPPLY_TYPE NUMBER := 2;
120 A_ATP_COMPONENTS_FLAG NUMBER := 2;
121 A_ATP_FLAG NUMBER := 2;
122 A_ATP_RULE_ID NUMBER := 2;
123 A_COLLATERAL_FLAG NUMBER := 2;
124 A_CUSTOMER_ORDER_ENABLED_FLAG NUMBER := 2;
125 A_CUSTOMER_ORDER_FLAG NUMBER := 2;
126 A_DEFAULT_SHIPPING_ORG NUMBER := 2;
127 A_INTERNAL_ORDER_ENABLED_FLAG NUMBER := 2;
128 A_INTERNAL_ORDER_FLAG NUMBER := 2;
129 A_PICKING_RULE_ID NUMBER := 2;
130 A_PICK_COMPONENTS_FLAG NUMBER := 2;
131 A_REPLENISH_TO_ORDER_FLAG NUMBER := 2;
132 A_RETURNABLE_FLAG NUMBER := 2;
133 A_RETURN_INSPECTION_REQMT NUMBER := 2;
134 A_SHIPPABLE_ITEM_FLAG NUMBER := 2;
135 A_SHIP_MODEL_COMPLETE_FLAG NUMBER := 2;
136 A_SO_TRANSACTIONS_FLAG NUMBER := 2;
137 A_ACCOUNTING_RULE_ID NUMBER := 2;
138 A_INVOICEABLE_ITEM_FLAG NUMBER := 2;
139 A_INVOICE_ENABLED_FLAG NUMBER := 2;
140 A_ENGINEERING_DATE NUMBER := 2;
141 A_INVOICING_RULE_ID NUMBER := 2;
142 A_PAYMENT_TERMS_ID NUMBER := 2;
143 A_SALES_ACCOUNT NUMBER := 2;
144 A_TAX_CODE NUMBER := 2;
145 A_COVERAGE_SCHEDULE_ID NUMBER := 2;
146 A_PURCHASING_TAX_CODE NUMBER := 2;
147 A_MATERIAL_BILLABLE_FLAG NUMBER := 2;
148 A_MAX_WARRANTY_AMOUNT NUMBER := 2;
149 A_PREVENTIVE_MAINTENANCE_FLAG NUMBER := 2;
150 A_PRORATE_SERVICE_FLAG NUMBER := 2;
151 A_RESPONSE_TIME_PERIOD_CODE NUMBER := 2;
152 A_RESPONSE_TIME_VALUE NUMBER := 2;
153 A_SERVICE_DURATION NUMBER := 2;
154 A_SERVICE_DURATION_PERIOD_CODE NUMBER := 2;
155 A_WARRANTY_VENDOR_ID NUMBER := 2;
156 A_BASE_WARRANTY_SERVICE_ID NUMBER := 2;
157 A_NEW_REVISION_CODE NUMBER := 2;
158 A_PRIMARY_SPECIALIST_ID NUMBER := 2;
159 A_SECONDARY_SPECIALIST_ID NUMBER := 2;
160 A_SERVICEABLE_COMPONENT_FLAG NUMBER := 2;
161 A_SERVICEABLE_ITEM_CLASS_ID NUMBER := 2;
162 A_SERVICEABLE_PRODUCT_FLAG NUMBER := 2;
163 A_SERVICE_STARTING_DELAY NUMBER := 2;
164 A_ATO_FORECAST_CONTROL NUMBER := 2;
165 A_DESCRIPTION NUMBER := 2;
166 A_LONG_DESCRIPTION NUMBER := 2;
167 A_LEAD_TIME_LOT_SIZE NUMBER := 2;
168 A_POSITIVE_MEASUREMENT_ERROR NUMBER := 2;
169 A_RELEASE_TIME_FENCE_CODE NUMBER := 2;
170 A_RELEASE_TIME_FENCE_DAYS NUMBER := 2;
171 A_CONTAINER_ITEM_FLAG NUMBER := 2;
172 A_VEHICLE_ITEM_FLAG NUMBER := 2;
173 A_MAXIMUM_LOAD_WEIGHT NUMBER := 2;
174 A_MINIMUM_FILL_PERCENT NUMBER := 2;
175 A_INTERNAL_VOLUME NUMBER := 2;
176 A_CONTAINER_TYPE_CODE NUMBER := 2;
177 A_CHECK_SHORTAGES_FLAG number := 2;
178 A_EFFECTIVITY_CONTROL NUMBER := 2;
179 A_OVERCOMPLETION_TOLERANCE_TYP NUMBER := 2;
180 A_OVERCOMPLETION_TOLERANCE_VAL NUMBER := 2;
181 A_OVER_SHIPMENT_TOLERANCE NUMBER := 2;
182 A_UNDER_SHIPMENT_TOLERANCE NUMBER := 2;
183 A_OVER_RETURN_TOLERANCE NUMBER := 2;
184 A_UNDER_RETURN_TOLERANCE NUMBER := 2;
185 A_EQUIPMENT_TYPE NUMBER := 2;
186 A_RECOVERED_PART_DISP_CODE NUMBER := 2;
187 A_DEFECT_TRACKING_ON_FLAG NUMBER := 2;
188 A_EVENT_FLAG NUMBER := 2;
189 A_ELECTRONIC_FLAG NUMBER := 2;
190 A_DOWNLOADABLE_FLAG NUMBER := 2;
191 A_VOL_DISCOUNT_EXEMPT_FLAG NUMBER := 2;
192 A_COUPON_EXEMPT_FLAG NUMBER := 2;
193 A_COMMS_NL_TRACKABLE_FLAG NUMBER := 2;
194 A_ASSET_CREATION_CODE NUMBER := 2;
195 A_COMMS_ACTIVATION_REQD_FLAG NUMBER := 2;
196 A_ORDERABLE_ON_WEB_FLAG NUMBER := 2;
197 A_BACK_ORDERABLE_FLAG NUMBER := 2;
198 A_WEB_STATUS NUMBER := 2;
199 A_INDIVISIBLE_FLAG NUMBER := 2;
200 A_DIMENSION_UOM_CODE NUMBER := 2;
201 A_UNIT_LENGTH NUMBER := 2;
202 A_UNIT_WIDTH NUMBER := 2;
203 A_UNIT_HEIGHT NUMBER := 2;
204 A_BULK_PICKED_FLAG NUMBER := 2;
205 A_LOT_STATUS_ENABLED NUMBER := 2;
206 A_DEFAULT_LOT_STATUS_ID NUMBER := 2;
207 A_SERIAL_STATUS_ENABLED NUMBER := 2;
208 A_DEFAULT_SERIAL_STATUS_ID NUMBER := 2;
209 A_LOT_SPLIT_ENABLED NUMBER := 2;
210 A_LOT_MERGE_ENABLED NUMBER := 2;
211 A_INVENTORY_CARRY_PENALTY NUMBER := 2;
212 A_OPERATION_SLACK_PENALTY NUMBER := 2;
213 A_FINANCING_ALLOWED_FLAG NUMBER := 2;
214
215 A_EAM_ITEM_TYPE NUMBER := 2;
216 A_EAM_ACTIVITY_TYPE_CODE NUMBER := 2;
217 A_EAM_ACTIVITY_CAUSE_CODE NUMBER := 2;
218 A_EAM_ACT_NOTIFICATION_FLAG NUMBER := 2;
219 A_EAM_ACT_SHUTDOWN_STATUS NUMBER := 2;
220 A_DUAL_UOM_CONTROL NUMBER := 2;
221 A_SECONDARY_UOM_CODE NUMBER := 2;
222 A_DUAL_UOM_DEVIATION_HIGH NUMBER := 2;
223 A_DUAL_UOM_DEVIATION_LOW NUMBER := 2;
224
225 A_CONTRACT_ITEM_TYPE_CODE NUMBER := 2;
226 --11.5.10 A_SUBSCRIPTION_DEPEND_FLAG NUMBER := 2;
227
228 A_SERV_REQ_ENABLED_CODE NUMBER := 2;
229 A_SERV_BILLING_ENABLED_FLAG NUMBER := 2;
230 --11.5.10 A_SERV_IMPORTANCE_LEVEL NUMBER := 2;
231 A_PLANNED_INV_POINT_FLAG NUMBER := 2;
232 A_LOT_TRANSLATE_ENABLED NUMBER := 2;
233 A_DEFAULT_SO_SOURCE_TYPE NUMBER := 2;
234 A_CREATE_SUPPLY_FLAG NUMBER := 2;
235 A_SUBSTITUTION_WINDOW_CODE NUMBER := 2;
236 A_SUBSTITUTION_WINDOW_DAYS NUMBER := 2;
237 A_LOT_SUBSTITUTION_ENABLED NUMBER := 2;
238 A_MINIMUM_LICENSE_QUANTITY NUMBER := 2;
239 A_EAM_ACTIVITY_SOURCE_CODE NUMBER := 2;
240 A_IB_ITEM_INSTANCE_CLASS NUMBER := 2;
241 A_CONFIG_MODEL_TYPE NUMBER := 2;
242 -- added for 11.5.10
243 A_TRACKING_QUANTITY_IND NUMBER := 2;
244 A_ONT_PRICING_QTY_SOURCE NUMBER := 2;
245 A_SECONDARY_DEFAULT_IND NUMBER := 2;
246 A_AUTO_CREATED_CONFIG_FLAG NUMBER := 2;
247 A_CONFIG_ORGS NUMBER := 2;
248 A_CONFIG_MATCH NUMBER := 2;
249 A_VMI_MINIMUM_UNITS NUMBER := 2;
250 A_VMI_MINIMUM_DAYS NUMBER := 2;
251 A_VMI_MAXIMUM_UNITS NUMBER := 2;
252 A_VMI_MAXIMUM_DAYS NUMBER := 2;
253 A_VMI_FIXED_ORDER_QUANTITY NUMBER := 2;
254 A_SO_AUTHORIZATION_FLAG NUMBER := 2;
255 A_CONSIGNED_FLAG NUMBER := 2;
256 A_ASN_AUTOEXPIRE_FLAG NUMBER := 2;
257 A_VMI_FORECAST_TYPE NUMBER := 2;
258 A_FORECAST_HORIZON NUMBER := 2;
259 A_EXCLUDE_FROM_BUDGET_FLAG NUMBER := 2;
260 A_DAYS_TGT_INV_SUPPLY NUMBER := 2;
261 A_DAYS_TGT_INV_WINDOW NUMBER := 2;
262 A_DAYS_MAX_INV_SUPPLY NUMBER := 2;
263 A_DAYS_MAX_INV_WINDOW NUMBER := 2;
264 A_DRP_PLANNED_FLAG NUMBER := 2;
265 A_CRITICAL_COMPONENT_FLAG NUMBER := 2;
266 A_CONTINOUS_TRANSFER NUMBER := 2;
267 A_CONVERGENCE NUMBER := 2;
268 A_DIVERGENCE NUMBER := 2;
269
270 /* Start Bug 3713912 */
271 A_LOT_DIVISIBLE_FLAG NUMBER := 2;
272 A_GRADE_CONTROL_FLAG NUMBER := 2;
273 A_DEFAULT_GRADE NUMBER := 2;
274 A_CHILD_LOT_FLAG NUMBER := 2;
275 A_PARENT_CHILD_GENERATION_FLAG NUMBER := 2;
276 A_CHILD_LOT_PREFIX NUMBER := 2;
277 A_CHILD_LOT_STARTING_NUMBER NUMBER := 2;
278 A_CHILD_LOT_VALIDATION_FLAG NUMBER := 2;
279 A_COPY_LOT_ATTRIBUTE_FLAG NUMBER := 2;
280 A_RECIPE_ENABLED_FLAG NUMBER := 2;
281 A_PROCESS_QUALITY_ENABLED_FLAG NUMBER := 2;
282 A_PROCESS_EXEC_ENABLED_FLAG NUMBER := 2;
283 A_PROCESS_COSTING_ENABLED_FLAG NUMBER := 2;
284 A_PROCESS_SUPPLY_SUBINVENTORY NUMBER := 2;
285 A_PROCESS_SUPPLY_LOCATOR_ID NUMBER := 2;
286 A_PROCESS_YIELD_SUBINVENTORY NUMBER := 2;
287 A_PROCESS_YIELD_LOCATOR_ID NUMBER := 2;
288 A_HAZARDOUS_MATERIAL_FLAG NUMBER := 2;
289 A_CAS_NUMBER NUMBER := 2;
290 A_RETEST_INTERVAL NUMBER := 2;
291 A_EXPIRATION_ACTION_INTERVAL NUMBER := 2;
292 A_EXPIRATION_ACTION_CODE NUMBER := 2;
293 A_MATURITY_DAYS NUMBER := 2;
294 A_HOLD_DAYS NUMBER := 2;
295 --R12 Enahancement
296 A_CHARGE_PERIODICITY_CODE NUMBER := 2;
297 A_REPAIR_LEADTIME NUMBER := 2;
298 A_REPAIR_YIELD NUMBER := 2;
299 A_PREPOSITION_POINT NUMBER := 2;
300 A_REPAIR_PROGRAM NUMBER := 2;
301 A_SUBCONTRACTING_COMPONENT NUMBER := 2;
302 A_OUTSOURCED_ASSEMBLY NUMBER := 2;
303
304 /* End Bug 3713912 */
305
306 g_attribute_code dbms_sql.varchar2_table; -- Bug 10404086
307
308 --Bug: 5437967 This procedure prevents insertion of child records
309 -- in msii if no Master Controlled Attribute is changed in Master Org
310 PROCEDURE Check_create_child_records
311 (
312 mast_rowid ROWID,
313 item_id NUMBER,
314 org_id NUMBER,
315 check_create_child OUT NOCOPY BOOLEAN
316 );
317
318
319 FUNCTION validate_item_update_master
320 (
321 org_id NUMBER,
322 all_org NUMBER := 2,
323 prog_appid NUMBER := -1,
324 prog_id NUMBER := -1,
325 request_id NUMBER := -1,
326 user_id NUMBER := -1,
327 login_id NUMBER := -1,
328 err_text IN OUT NOCOPY VARCHAR2,
329 xset_id IN NUMBER DEFAULT NULL
330 )
331 RETURN INTEGER
332 IS
333
334 /* Bug 4460686. Dont pick up master records when AUTO_CHILD already exists as
335 this will create duplicate AUTO_CHILD records */
336
337 CURSOR C_msii_master_records
338 IS
339 SELECT
340 ROWID,
341 INVENTORY_ITEM_ID,
342 ORGANIZATION_ID,
343 TRANSACTION_ID
344 FROM
345 MTL_SYSTEM_ITEMS_INTERFACE
346 WHERE
347 process_flag = 4
348 AND set_process_id = xset_id
349 AND ( (organization_id = org_id) or (all_org = 1) )
350 AND organization_id IN
351 ( select organization_id
352 from MTL_PARAMETERS
353 where organization_id = master_organization_id
354 )
355 AND not exists
356 (select 1 from mtl_system_items_interface
357 where set_process_id = xset_id + 1000000000000
358 and transaction_type = 'AUTO_CHILD'
359 and process_flag = 4
360 );
361
362 -- Bug fix 3005880 Moved cursor code from FUNCTION copy_master_to_child
363 -- so that this cursor will be executed only twice once for updation of master
364 -- record and once for updation of all child records.
365
366 CURSOR C_item_attributes
367 IS
368 SELECT attribute_name
369 , control_level
370 FROM mtl_item_attributes
371 WHERE
372 control_level = 1
373 AND attribute_group_id_gui IN
374 (20, 25, 30, 31, 35, 40, 41, 51,
375 60, 62, 65, 70, 80, 90, 100, 120, 130); /* Bug 3713912 Added 130*/
376
377 ret_code NUMBER := 1;
378 ret_code_update NUMBER;
379 dumm_status NUMBER;
380 error_text VARCHAR2(250);
381 l_process_flag_3 NUMBER := 3;
382 m_process_flag NUMBER;
383 t_trans_id NUMBER;
384 t_organization_id NUMBER;
385 t_inventory_item_id NUMBER;
386 l_attribute_name VARCHAR2(100);
387
388 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
389
390 tmp_xset_id NUMBER ; --5351611
391
392 BEGIN
393
394 IF l_inv_debug_level IN(101, 102) THEN
395 INVPUTLI.info('INVUPD2B: Inside validate_item_update_master'|| '***orgid: ' || TO_CHAR(org_id));
396 END IF;
397
398 -- Set the attribute level for those attributes under master control.
399 -- Bug fix 3005880
400 FOR rec IN C_item_attributes loop -- {
401
402 l_attribute_name := substr(rec.attribute_name, 18);
403
404 IF l_attribute_name = 'ALLOWED_UNITS_LOOKUP_CODE' THEN A_ALLOWED_UNITS_LOOKUP_CODE := rec.control_level;
405 ELSIF l_attribute_name = 'INVENTORY_ITEM_STATUS_CODE' THEN A_INVENTORY_ITEM_STATUS_CODE := rec.control_level;
406 ELSIF l_attribute_name = 'ITEM_TYPE' THEN A_ITEM_TYPE := rec.control_level;
407 ELSIF l_attribute_name = 'PRIMARY_UNIT_OF_MEASURE' THEN A_PRIMARY_UNIT_OF_MEASURE := rec.control_level;
408 ELSIF l_attribute_name = 'BASE_ITEM_ID' THEN A_BASE_ITEM_ID := rec.control_level;
409 ELSIF l_attribute_name = 'BOM_ENABLED_FLAG' THEN A_BOM_ENABLED_FLAG := rec.control_level;
410 ELSIF l_attribute_name = 'BOM_ITEM_TYPE' THEN A_BOM_ITEM_TYPE := rec.control_level;
411 ELSIF l_attribute_name = 'ENGINEERING_ECN_CODE' THEN A_ENGINEERING_ECN_CODE := rec.control_level;
412 ELSIF l_attribute_name = 'ENGINEERING_ITEM_ID' THEN A_ENGINEERING_ITEM_ID := rec.control_level;
413 ELSIF l_attribute_name = 'ENG_ITEM_FLAG' THEN A_ENG_ITEM_FLAG := rec.control_level;
414 ELSIF l_attribute_name = 'COSTING_ENABLED_FLAG' THEN A_COSTING_ENABLED_FLAG := rec.control_level;
415 ELSIF l_attribute_name = 'COST_OF_SALES_ACCOUNT' THEN A_COST_OF_SALES_ACCOUNT := rec.control_level;
416 ELSIF l_attribute_name = 'DEFAULT_INCLUDE_IN_ROLLUP_FLAG' THEN A_DEF_INCL_IN_ROLLUP_FLAG := rec.control_level;
417 ELSIF l_attribute_name = 'INVENTORY_ASSET_FLAG' THEN A_INVENTORY_ASSET_FLAG := rec.control_level;
418 ELSIF l_attribute_name = 'STD_LOT_SIZE' THEN A_STD_LOT_SIZE := rec.control_level;
419 ELSIF l_attribute_name = 'ALLOW_ITEM_DESC_UPDATE_FLAG' THEN A_ALLOW_ITEM_DESC_UPDATE_FLAG := rec.control_level;
420 ELSIF l_attribute_name = 'ASSET_CATEGORY_ID' THEN A_ASSET_CATEGORY_ID := rec.control_level;
421 ELSIF l_attribute_name = 'BUYER_ID' THEN A_BUYER_ID := rec.control_level;
422 ELSIF l_attribute_name = 'ENCUMBRANCE_ACCOUNT' THEN A_ENCUMBRANCE_ACCOUNT := rec.control_level;
423 ELSIF l_attribute_name = 'EXPENSE_ACCOUNT' THEN A_EXPENSE_ACCOUNT := rec.control_level;
424 ELSIF l_attribute_name = 'HAZARD_CLASS_ID' THEN A_HAZARD_CLASS_ID := rec.control_level;
425 ELSIF l_attribute_name = 'LIST_PRICE_PER_UNIT' THEN A_LIST_PRICE_PER_UNIT := rec.control_level;
426 ELSIF l_attribute_name = 'MARKET_PRICE' THEN A_MARKET_PRICE := rec.control_level;
427 ELSIF l_attribute_name = 'MUST_USE_APPROVED_VENDOR_FLAG' THEN A_MU_APPRVD_VENDOR_FLAG := rec.control_level;
428 ELSIF l_attribute_name = 'OUTSIDE_OPERATION_FLAG' THEN A_OUTSIDE_OPERATION_FLAG := rec.control_level;
429 ELSIF l_attribute_name = 'OUTSIDE_OPERATION_UOM_TYPE' THEN A_OUTSIDE_OPERATION_UOM_TYPE := rec.control_level;
430 ELSIF l_attribute_name = 'PRICE_TOLERANCE_PERCENT' THEN A_PRICE_TOLERANCE_PERCENT := rec.control_level;
431 ELSIF l_attribute_name = 'PURCHASING_ENABLED_FLAG' THEN A_PURCHASING_ENABLED_FLAG := rec.control_level;
432 ELSIF l_attribute_name = 'PURCHASING_ITEM_FLAG' THEN A_PURCHASING_ITEM_FLAG := rec.control_level;
433 ELSIF l_attribute_name = 'RFQ_REQUIRED_FLAG' THEN A_RFQ_REQUIRED_FLAG := rec.control_level;
434 ELSIF l_attribute_name = 'ROUNDING_FACTOR' THEN A_ROUNDING_FACTOR := rec.control_level;
435 ELSIF l_attribute_name = 'TAXABLE_FLAG' THEN A_TAXABLE_FLAG := rec.control_level;
436 ELSIF l_attribute_name = 'UNIT_OF_ISSUE' THEN A_UNIT_OF_ISSUE := rec.control_level;
437 ELSIF l_attribute_name = 'UN_NUMBER_ID' THEN A_UN_NUMBER_ID := rec.control_level;
438 ELSIF l_attribute_name = 'ALLOW_EXPRESS_DELIVERY_FLAG' THEN A_ALLOW_EXPRESS_DELIVERY_FLAG := rec.control_level;
439 ELSIF l_attribute_name = 'ALLOW_SUBSTITUTE_RECEIPTS_FLAG' THEN A_ALLOW_SUBS_RECEIPTS_FLAG := rec.control_level;
440 ELSIF l_attribute_name = 'ALLOW_UNORDERED_RECEIPTS_FLAG' THEN A_ALLOW_UNORD_RECEIPTS_FLAG := rec.control_level;
441 ELSIF l_attribute_name = 'DAYS_EARLY_RECEIPT_ALLOWED' THEN A_DAYS_EARLY_RECEIPT_ALLOWED := rec.control_level;
442 ELSIF l_attribute_name = 'DAYS_LATE_RECEIPT_ALLOWED' THEN A_DAYS_LATE_RECEIPT_ALLOWED := rec.control_level;
443 ELSIF l_attribute_name = 'ENFORCE_SHIP_TO_LOCATION_CODE' THEN A_ENFORCE_SHIP_TO_LOC_CODE := rec.control_level;
444 ELSIF l_attribute_name = 'INSPECTION_REQUIRED_FLAG' THEN A_INSPECTION_REQUIRED_FLAG := rec.control_level;
445 ELSIF l_attribute_name = 'INVOICE_CLOSE_TOLERANCE' THEN A_INVOICE_CLOSE_TOLERANCE := rec.control_level;
446 ELSIF l_attribute_name = 'QTY_RCV_EXCEPTION_CODE' THEN A_QTY_RCV_EXCEPTION_CODE := rec.control_level;
447 ELSIF l_attribute_name = 'QTY_RCV_TOLERANCE' THEN A_QTY_RCV_TOLERANCE := rec.control_level;
448 ELSIF l_attribute_name = 'RECEIPT_DAYS_EXCEPTION_CODE' THEN A_RECEIPT_DAYS_EXCEPTION_CODE := rec.control_level;
449 ELSIF l_attribute_name = 'RECEIPT_REQUIRED_FLAG' THEN A_RECEIPT_REQUIRED_FLAG := rec.control_level;
450 ELSIF l_attribute_name = 'RECEIVE_CLOSE_TOLERANCE' THEN A_RECEIVE_CLOSE_TOLERANCE := rec.control_level;
451 ELSIF l_attribute_name = 'RECEIVING_ROUTING_ID' THEN A_RECEIVING_ROUTING_ID := rec.control_level;
452 ELSIF l_attribute_name = 'AUTO_LOT_ALPHA_PREFIX' THEN A_AUTO_LOT_ALPHA_PREFIX := rec.control_level;
453 ELSIF l_attribute_name = 'AUTO_SERIAL_ALPHA_PREFIX' THEN A_AUTO_SERIAL_ALPHA_PREFIX := rec.control_level;
454 ELSIF l_attribute_name = 'CYCLE_COUNT_ENABLED_FLAG' THEN A_CYCLE_COUNT_ENABLED_FLAG := rec.control_level;
455 ELSIF l_attribute_name = 'INVENTORY_ITEM_FLAG' THEN A_INVENTORY_ITEM_FLAG := rec.control_level;
456 ELSIF l_attribute_name = 'LOCATION_CONTROL_CODE' THEN A_LOCATION_CONTROL_CODE := rec.control_level;
457 ELSIF l_attribute_name = 'LOT_CONTROL_CODE' THEN A_LOT_CONTROL_CODE := rec.control_level;
458 ELSIF l_attribute_name = 'MTL_TRANSACTIONS_ENABLED_FLAG' THEN A_MTL_TRANSAC_ENABLED_FLAG := rec.control_level;
459 ELSIF l_attribute_name = 'NEGATIVE_MEASUREMENT_ERROR' THEN A_NEGATIVE_MEASUREMENT_ERROR := rec.control_level;
460 ELSIF l_attribute_name = 'RESERVABLE_TYPE' THEN A_RESERVABLE_TYPE := rec.control_level;
461 ELSIF l_attribute_name = 'RESTRICT_LOCATORS_CODE' THEN A_RESTRICT_LOCATORS_CODE := rec.control_level;
462 ELSIF l_attribute_name = 'RESTRICT_SUBINVENTORIES_CODE' THEN A_RESTRICT_SUBINVENTORIES_CODE := rec.control_level;
463 ELSIF l_attribute_name = 'REVISION_QTY_CONTROL_CODE' THEN A_REVISION_QTY_CONTROL_CODE := rec.control_level;
464 ELSIF l_attribute_name = 'SERIAL_NUMBER_CONTROL_CODE' THEN A_SERIAL_NUMBER_CONTROL_CODE := rec.control_level;
465 ELSIF l_attribute_name = 'SHELF_LIFE_CODE' THEN A_SHELF_LIFE_CODE := rec.control_level;
466 ELSIF l_attribute_name = 'SHELF_LIFE_DAYS' THEN A_SHELF_LIFE_DAYS := rec.control_level;
467 ELSIF l_attribute_name = 'START_AUTO_LOT_NUMBER' THEN A_START_AUTO_LOT_NUMBER := rec.control_level;
468 ELSIF l_attribute_name = 'START_AUTO_SERIAL_NUMBER' THEN A_START_AUTO_SERIAL_NUMBER := rec.control_level;
469 ELSIF l_attribute_name = 'STOCK_ENABLED_FLAG' THEN A_STOCK_ENABLED_FLAG := rec.control_level;
470 ELSIF l_attribute_name = 'UNIT_VOLUME' THEN A_UNIT_VOLUME := rec.control_level;
471 ELSIF l_attribute_name = 'UNIT_WEIGHT' THEN A_UNIT_WEIGHT := rec.control_level;
472 ELSIF l_attribute_name = 'VOLUME_UOM_CODE' THEN A_VOLUME_UOM_CODE := rec.control_level;
473 ELSIF l_attribute_name = 'WEIGHT_UOM_CODE' THEN A_WEIGHT_UOM_CODE := rec.control_level;
474 ELSIF l_attribute_name = 'CARRYING_COST' THEN A_CARRYING_COST := rec.control_level;
475 ELSIF l_attribute_name = 'FIXED_DAYS_SUPPLY' THEN A_FIXED_DAYS_SUPPLY := rec.control_level;
476 ELSIF l_attribute_name = 'FIXED_LOT_MULTIPLIER' THEN A_FIXED_LOT_MULTIPLIER := rec.control_level;
477 ELSIF l_attribute_name = 'FIXED_ORDER_QUANTITY' THEN A_FIXED_ORDER_QUANTITY := rec.control_level;
478 ELSIF l_attribute_name = 'INVENTORY_PLANNING_CODE' THEN A_INVENTORY_PLANNING_CODE := rec.control_level;
479 ELSIF l_attribute_name = 'MAXIMUM_ORDER_QUANTITY' THEN A_MAXIMUM_ORDER_QUANTITY := rec.control_level;
480 ELSIF l_attribute_name = 'MAX_MINMAX_QUANTITY' THEN A_MAX_MINMAX_QUANTITY := rec.control_level;
481 ELSIF l_attribute_name = 'MINIMUM_ORDER_QUANTITY' THEN A_MINIMUM_ORDER_QUANTITY := rec.control_level;
482 ELSIF l_attribute_name = 'MIN_MINMAX_QUANTITY' THEN A_MIN_MINMAX_QUANTITY := rec.control_level;
483 ELSIF l_attribute_name = 'MRP_SAFETY_STOCK_CODE' THEN A_MRP_SAFETY_STOCK_CODE := rec.control_level;
484 ELSIF l_attribute_name = 'MRP_SAFETY_STOCK_PERCENT' THEN A_MRP_SAFETY_STOCK_PERCENT := rec.control_level;
485 ELSIF l_attribute_name = 'ORDER_COST' THEN A_ORDER_COST := rec.control_level;
486 ELSIF l_attribute_name = 'PLANNER_CODE' THEN A_PLANNER_CODE := rec.control_level;
487 ELSIF l_attribute_name = 'SAFETY_STOCK_BUCKET_DAYS' THEN A_SAFETY_STOCK_BUCKET_DAYS := rec.control_level;
488 ELSIF l_attribute_name = 'SOURCE_ORGANIZATION_ID' THEN A_SOURCE_ORGANIZATION_ID := rec.control_level;
489 ELSIF l_attribute_name = 'SOURCE_SUBINVENTORY' THEN A_SOURCE_SUBINVENTORY := rec.control_level;
490 ELSIF l_attribute_name = 'SOURCE_TYPE' THEN A_SOURCE_TYPE := rec.control_level;
491 ELSIF l_attribute_name = 'ACCEPTABLE_EARLY_DAYS' THEN A_ACCEPTABLE_EARLY_DAYS := rec.control_level;
492 ELSIF l_attribute_name = 'ACCEPTABLE_RATE_DECREASE' THEN A_ACCEPTABLE_RATE_DECREASE := rec.control_level;
493 ELSIF l_attribute_name = 'ACCEPTABLE_RATE_INCREASE' THEN A_ACCEPTABLE_RATE_INCREASE := rec.control_level;
494 ELSIF l_attribute_name = 'AUTO_REDUCE_MPS' THEN A_AUTO_REDUCE_MPS := rec.control_level;
495 ELSIF l_attribute_name = 'DEMAND_TIME_FENCE_CODE' THEN A_DEMAND_TIME_FENCE_CODE := rec.control_level;
496 ELSIF l_attribute_name = 'DEMAND_TIME_FENCE_DAYS' THEN A_DEMAND_TIME_FENCE_DAYS := rec.control_level;
497 ELSIF l_attribute_name = 'END_ASSEMBLY_PEGGING_FLAG' THEN A_END_ASSEMBLY_PEGGING_FLAG := rec.control_level;
498 ELSIF l_attribute_name = 'MRP_CALCULATE_ATP_FLAG' THEN A_MRP_CALCULATE_ATP_FLAG := rec.control_level;
499 ELSIF l_attribute_name = 'MRP_PLANNING_CODE' THEN A_MRP_PLANNING_CODE := rec.control_level;
500 ELSIF l_attribute_name = 'OVERRUN_PERCENTAGE' THEN A_OVERRUN_PERCENTAGE := rec.control_level;
501 ELSIF l_attribute_name = 'PLANNING_EXCEPTION_SET' THEN A_PLANNING_EXCEPTION_SET := rec.control_level;
502 ELSIF l_attribute_name = 'PLANNING_MAKE_BUY_CODE' THEN A_PLANNING_MAKE_BUY_CODE := rec.control_level;
503 ELSIF l_attribute_name = 'PLANNING_TIME_FENCE_CODE' THEN A_PLANNING_TIME_FENCE_CODE := rec.control_level;
504 ELSIF l_attribute_name = 'PLANNING_TIME_FENCE_DAYS' THEN A_PLANNING_TIME_FENCE_DAYS := rec.control_level;
505 ELSIF l_attribute_name = 'REPETITIVE_PLANNING_FLAG' THEN A_REPETITIVE_PLANNING_FLAG := rec.control_level;
506 ELSIF l_attribute_name = 'ROUNDING_CONTROL_TYPE' THEN A_ROUNDING_CONTROL_TYPE := rec.control_level;
507 ELSIF l_attribute_name = 'SHRINKAGE_RATE' THEN A_SHRINKAGE_RATE := rec.control_level;
508 ELSIF l_attribute_name = 'CUMULATIVE_TOTAL_LEAD_TIME' THEN A_CUMULATIVE_TOTAL_LEAD_TIME := rec.control_level;
509 ELSIF l_attribute_name = 'CUM_MANUFACTURING_LEAD_TIME' THEN A_CUM_MANUFACTURING_LEAD_TIME := rec.control_level;
510 ELSIF l_attribute_name = 'FIXED_LEAD_TIME' THEN A_FIXED_LEAD_TIME := rec.control_level;
511 ELSIF l_attribute_name = 'FULL_LEAD_TIME' THEN A_FULL_LEAD_TIME := rec.control_level;
512 ELSIF l_attribute_name = 'POSTPROCESSING_LEAD_TIME' THEN A_POSTPROCESSING_LEAD_TIME := rec.control_level;
513 ELSIF l_attribute_name = 'PREPROCESSING_LEAD_TIME' THEN A_PREPROCESSING_LEAD_TIME := rec.control_level;
514 ELSIF l_attribute_name = 'VARIABLE_LEAD_TIME' THEN A_VARIABLE_LEAD_TIME := rec.control_level;
515 ELSIF l_attribute_name = 'BUILD_IN_WIP_FLAG' THEN A_BUILD_IN_WIP_FLAG := rec.control_level;
516 ELSIF l_attribute_name = 'WIP_SUPPLY_LOCATOR_ID' THEN A_WIP_SUPPLY_LOCATOR_ID := rec.control_level;
517 ELSIF l_attribute_name = 'WIP_SUPPLY_SUBINVENTORY' THEN A_WIP_SUPPLY_SUBINVENTORY := rec.control_level;
518 ELSIF l_attribute_name = 'WIP_SUPPLY_TYPE' THEN A_WIP_SUPPLY_TYPE := rec.control_level;
519 ELSIF l_attribute_name = 'ATP_COMPONENTS_FLAG' THEN A_ATP_COMPONENTS_FLAG := rec.control_level;
520 ELSIF l_attribute_name = 'ATP_FLAG' THEN A_ATP_FLAG := rec.control_level;
521 ELSIF l_attribute_name = 'ATP_RULE_ID' THEN A_ATP_RULE_ID := rec.control_level;
522 ELSIF l_attribute_name = 'COLLATERAL_FLAG' THEN A_COLLATERAL_FLAG := rec.control_level;
523 ELSIF l_attribute_name = 'CUSTOMER_ORDER_ENABLED_FLAG' THEN A_CUSTOMER_ORDER_ENABLED_FLAG := rec.control_level;
524 ELSIF l_attribute_name = 'CUSTOMER_ORDER_FLAG' THEN A_CUSTOMER_ORDER_FLAG := rec.control_level;
525 ELSIF l_attribute_name = 'DEFAULT_SHIPPING_ORG' THEN A_DEFAULT_SHIPPING_ORG := rec.control_level;
526 ELSIF l_attribute_name = 'INTERNAL_ORDER_ENABLED_FLAG' THEN A_INTERNAL_ORDER_ENABLED_FLAG := rec.control_level;
527 ELSIF l_attribute_name = 'INTERNAL_ORDER_FLAG' THEN A_INTERNAL_ORDER_FLAG := rec.control_level;
528 ELSIF l_attribute_name = 'PICKING_RULE_ID' THEN A_PICKING_RULE_ID := rec.control_level;
529 ELSIF l_attribute_name = 'PICK_COMPONENTS_FLAG' THEN A_PICK_COMPONENTS_FLAG := rec.control_level;
530 ELSIF l_attribute_name = 'REPLENISH_TO_ORDER_FLAG' THEN A_REPLENISH_TO_ORDER_FLAG := rec.control_level;
531 ELSIF l_attribute_name = 'RETURNABLE_FLAG' THEN A_RETURNABLE_FLAG := rec.control_level;
532 ELSIF l_attribute_name = 'RETURN_INSPECTION_REQUIREMENT' THEN A_RETURN_INSPECTION_REQMT := rec.control_level;
533 ELSIF l_attribute_name = 'SHIPPABLE_ITEM_FLAG' THEN A_SHIPPABLE_ITEM_FLAG := rec.control_level;
534 ELSIF l_attribute_name = 'SHIP_MODEL_COMPLETE_FLAG' THEN A_SHIP_MODEL_COMPLETE_FLAG := rec.control_level;
535 ELSIF l_attribute_name = 'SO_TRANSACTIONS_FLAG' THEN A_SO_TRANSACTIONS_FLAG := rec.control_level;
536 ELSIF l_attribute_name = 'ACCOUNTING_RULE_ID' THEN A_ACCOUNTING_RULE_ID := rec.control_level;
537 ELSIF l_attribute_name = 'INVOICEABLE_ITEM_FLAG' THEN A_INVOICEABLE_ITEM_FLAG := rec.control_level;
538 ELSIF l_attribute_name = 'INVOICE_ENABLED_FLAG' THEN A_INVOICE_ENABLED_FLAG := rec.control_level;
539 ELSIF l_attribute_name = 'ENGINEERING_DATE' THEN A_ENGINEERING_DATE := rec.control_level;
540 ELSIF l_attribute_name = 'INVOICING_RULE_ID' THEN A_INVOICING_RULE_ID := rec.control_level;
541 ELSIF l_attribute_name = 'PAYMENT_TERMS_ID' THEN A_PAYMENT_TERMS_ID := rec.control_level;
542 ELSIF l_attribute_name = 'SALES_ACCOUNT' THEN A_SALES_ACCOUNT := rec.control_level;
543 ELSIF l_attribute_name = 'TAX_CODE' THEN A_TAX_CODE := rec.control_level;
544 ELSIF l_attribute_name = 'COVERAGE_SCHEDULE_ID' THEN A_COVERAGE_SCHEDULE_ID := rec.control_level;
545 ELSIF l_attribute_name = 'PURCHASING_TAX_CODE' THEN A_PURCHASING_TAX_CODE := rec.control_level;
546 ELSIF l_attribute_name = 'MATERIAL_BILLABLE_FLAG' THEN A_MATERIAL_BILLABLE_FLAG := rec.control_level;
547 ELSIF l_attribute_name = 'MAX_WARRANTY_AMOUNT' THEN A_MAX_WARRANTY_AMOUNT := rec.control_level;
548 ELSIF l_attribute_name = 'PREVENTIVE_MAINTENANCE_FLAG' THEN A_PREVENTIVE_MAINTENANCE_FLAG := rec.control_level;
549 ELSIF l_attribute_name = 'PRORATE_SERVICE_FLAG' THEN A_PRORATE_SERVICE_FLAG := rec.control_level;
550 ELSIF l_attribute_name = 'RESPONSE_TIME_PERIOD_CODE' THEN A_RESPONSE_TIME_PERIOD_CODE := rec.control_level;
551 ELSIF l_attribute_name = 'RESPONSE_TIME_VALUE' THEN A_RESPONSE_TIME_VALUE := rec.control_level;
552 ELSIF l_attribute_name = 'SERVICE_DURATION' THEN A_SERVICE_DURATION := rec.control_level;
553 ELSIF l_attribute_name = 'SERVICE_DURATION_PERIOD_CODE' THEN A_SERVICE_DURATION_PERIOD_CODE := rec.control_level;
554 ELSIF l_attribute_name = 'WARRANTY_VENDOR_ID' THEN A_WARRANTY_VENDOR_ID := rec.control_level;
555 ELSIF l_attribute_name = 'BASE_WARRANTY_SERVICE_ID' THEN A_BASE_WARRANTY_SERVICE_ID := rec.control_level;
556 ELSIF l_attribute_name = 'NEW_REVISION_CODE' THEN A_NEW_REVISION_CODE := rec.control_level;
557 ELSIF l_attribute_name = 'PRIMARY_SPECIALIST_ID' THEN A_PRIMARY_SPECIALIST_ID := rec.control_level;
558 ELSIF l_attribute_name = 'SECONDARY_SPECIALIST_ID' THEN A_SECONDARY_SPECIALIST_ID := rec.control_level;
559 ELSIF l_attribute_name = 'SERVICEABLE_COMPONENT_FLAG' THEN A_SERVICEABLE_COMPONENT_FLAG := rec.control_level;
560 ELSIF l_attribute_name = 'SERVICEABLE_ITEM_CLASS_ID' THEN A_SERVICEABLE_ITEM_CLASS_ID := rec.control_level;
561 ELSIF l_attribute_name = 'SERVICEABLE_PRODUCT_FLAG' THEN A_SERVICEABLE_PRODUCT_FLAG := rec.control_level;
562 ELSIF l_attribute_name = 'SERVICE_STARTING_DELAY' THEN A_SERVICE_STARTING_DELAY := rec.control_level;
563 ELSIF l_attribute_name = 'ATO_FORECAST_CONTROL' THEN A_ATO_FORECAST_CONTROL := rec.control_level;
564 ELSIF l_attribute_name = 'DESCRIPTION' THEN A_DESCRIPTION := rec.control_level;
565 ELSIF l_attribute_name = 'LONG_DESCRIPTION' THEN A_LONG_DESCRIPTION := rec.control_level;
566 ELSIF l_attribute_name = 'LEAD_TIME_LOT_SIZE' THEN A_LEAD_TIME_LOT_SIZE := rec.control_level;
567 ELSIF l_attribute_name = 'POSITIVE_MEASUREMENT_ERROR' THEN A_POSITIVE_MEASUREMENT_ERROR := rec.control_level;
568 ELSIF l_attribute_name = 'RELEASE_TIME_FENCE_CODE' THEN A_RELEASE_TIME_FENCE_CODE := rec.control_level;
569 ELSIF l_attribute_name = 'RELEASE_TIME_FENCE_DAYS' THEN A_RELEASE_TIME_FENCE_DAYS := rec.control_level;
570 ELSIF l_attribute_name = 'CONTAINER_ITEM_FLAG' THEN A_CONTAINER_ITEM_FLAG := rec.control_level;
571 ELSIF l_attribute_name = 'VEHICLE_ITEM_FLAG' THEN A_VEHICLE_ITEM_FLAG := rec.control_level;
572 ELSIF l_attribute_name = 'MAXIMUM_LOAD_WEIGHT' THEN A_MAXIMUM_LOAD_WEIGHT := rec.control_level;
573 ELSIF l_attribute_name = 'MINIMUM_FILL_PERCENT' THEN A_MINIMUM_FILL_PERCENT := rec.control_level;
574 ELSIF l_attribute_name = 'INTERNAL_VOLUME' THEN A_INTERNAL_VOLUME := rec.control_level;
575 ELSIF l_attribute_name = 'CONTAINER_TYPE_CODE' THEN A_CONTAINER_TYPE_CODE := rec.control_level;
576 ELSIF l_attribute_name = 'CHECK_SHORTAGES_FLAG' THEN A_CHECK_SHORTAGES_FLAG := rec.control_level;
577 ELSIF l_attribute_name = 'EFFECTIVITY_CONTROL' THEN A_EFFECTIVITY_CONTROL := rec.control_level;
578 ELSIF l_attribute_name = 'OVERCOMPLETION_TOLERANCE_TYPE' THEN A_OVERCOMPLETION_TOLERANCE_TYP := rec.control_level;
579 ELSIF l_attribute_name = 'OVERCOMPLETION_TOLERANCE_VALUE' THEN A_OVERCOMPLETION_TOLERANCE_VAL := rec.control_level;
580 ELSIF l_attribute_name = 'OVER_SHIPMENT_TOLERANCE' THEN A_OVER_SHIPMENT_TOLERANCE := rec.control_level;
581 ELSIF l_attribute_name = 'UNDER_SHIPMENT_TOLERANCE' THEN A_UNDER_SHIPMENT_TOLERANCE := rec.control_level;
582 ELSIF l_attribute_name = 'OVER_RETURN_TOLERANCE' THEN A_OVER_RETURN_TOLERANCE := rec.control_level;
583 ELSIF l_attribute_name = 'UNDER_RETURN_TOLERANCE' THEN A_UNDER_RETURN_TOLERANCE := rec.control_level;
584 ELSIF l_attribute_name = 'EQUIPMENT_TYPE' THEN A_EQUIPMENT_TYPE := rec.control_level;
585 ELSIF l_attribute_name = 'RECOVERED_PART_DISP_CODE' THEN A_RECOVERED_PART_DISP_CODE := rec.control_level;
586 ELSIF l_attribute_name = 'DEFECT_TRACKING_ON_FLAG' THEN A_DEFECT_TRACKING_ON_FLAG := rec.control_level;
587 ELSIF l_attribute_name = 'EVENT_FLAG' THEN A_EVENT_FLAG := rec.control_level;
588 ELSIF l_attribute_name = 'ELECTRONIC_FLAG' THEN A_ELECTRONIC_FLAG := rec.control_level;
589 ELSIF l_attribute_name = 'DOWNLOADABLE_FLAG' THEN A_DOWNLOADABLE_FLAG := rec.control_level;
590 ELSIF l_attribute_name = 'VOL_DISCOUNT_EXEMPT_FLAG' THEN A_VOL_DISCOUNT_EXEMPT_FLAG := rec.control_level;
591 ELSIF l_attribute_name = 'COUPON_EXEMPT_FLAG' THEN A_COUPON_EXEMPT_FLAG := rec.control_level;
592 ELSIF l_attribute_name = 'COMMS_NL_TRACKABLE_FLAG' THEN A_COMMS_NL_TRACKABLE_FLAG := rec.control_level;
593 ELSIF l_attribute_name = 'ASSET_CREATION_CODE' THEN A_ASSET_CREATION_CODE := rec.control_level;
594 ELSIF l_attribute_name = 'COMMS_ACTIVATION_REQD_FLAG' THEN A_COMMS_ACTIVATION_REQD_FLAG := rec.control_level;
595 ELSIF l_attribute_name = 'ORDERABLE_ON_WEB_FLAG' THEN A_ORDERABLE_ON_WEB_FLAG := rec.control_level;
596 ELSIF l_attribute_name = 'BACK_ORDERABLE_FLAG' THEN A_BACK_ORDERABLE_FLAG := rec.control_level;
597 ELSIF l_attribute_name = 'WEB_STATUS' THEN A_WEB_STATUS := rec.control_level;
598 ELSIF l_attribute_name = 'INDIVISIBLE_FLAG' THEN A_INDIVISIBLE_FLAG := rec.control_level;
599 ELSIF l_attribute_name = 'DIMENSION_UOM_CODE' THEN A_DIMENSION_UOM_CODE := rec.control_level;
600 ELSIF l_attribute_name = 'UNIT_LENGTH' THEN A_UNIT_LENGTH := rec.control_level;
601 ELSIF l_attribute_name = 'UNIT_WIDTH' THEN A_UNIT_WIDTH := rec.control_level;
602 ELSIF l_attribute_name = 'UNIT_HEIGHT' THEN A_UNIT_HEIGHT := rec.control_level;
603 ELSIF l_attribute_name = 'BULK_PICKED_FLAG' THEN A_BULK_PICKED_FLAG := rec.control_level;
604 ELSIF l_attribute_name = 'LOT_STATUS_ENABLED' THEN A_LOT_STATUS_ENABLED := rec.control_level;
605 ELSIF l_attribute_name = 'DEFAULT_LOT_STATUS_ID' THEN A_DEFAULT_LOT_STATUS_ID := rec.control_level;
606 ELSIF l_attribute_name = 'SERIAL_STATUS_ENABLED' THEN A_SERIAL_STATUS_ENABLED := rec.control_level;
607 ELSIF l_attribute_name = 'DEFAULT_SERIAL_STATUS_ID' THEN A_DEFAULT_SERIAL_STATUS_ID := rec.control_level;
608 ELSIF l_attribute_name = 'LOT_SPLIT_ENABLED' THEN A_LOT_SPLIT_ENABLED := rec.control_level;
609 ELSIF l_attribute_name = 'LOT_MERGE_ENABLED' THEN A_LOT_MERGE_ENABLED := rec.control_level;
610 ELSIF l_attribute_name = 'INVENTORY_CARRY_PENALTY' THEN A_INVENTORY_CARRY_PENALTY := rec.control_level;
611 ELSIF l_attribute_name = 'OPERATION_SLACK_PENALTY' THEN A_OPERATION_SLACK_PENALTY := rec.control_level;
612 ELSIF l_attribute_name = 'FINANCING_ALLOWED_FLAG' THEN A_FINANCING_ALLOWED_FLAG := rec.control_level;
613 ELSIF l_attribute_name = 'EAM_ITEM_TYPE' THEN A_EAM_ITEM_TYPE := rec.control_level;
614 ELSIF l_attribute_name = 'EAM_ACTIVITY_TYPE_CODE' THEN A_EAM_ACTIVITY_TYPE_CODE := rec.control_level;
615 ELSIF l_attribute_name = 'EAM_ACTIVITY_CAUSE_CODE' THEN A_EAM_ACTIVITY_CAUSE_CODE := rec.control_level;
616 ELSIF l_attribute_name = 'EAM_ACT_NOTIFICATION_FLAG' THEN A_EAM_ACT_NOTIFICATION_FLAG := rec.control_level;
617 ELSIF l_attribute_name = 'EAM_ACT_SHUTDOWN_STATUS' THEN A_EAM_ACT_SHUTDOWN_STATUS := rec.control_level;
618 ELSIF l_attribute_name = 'DUAL_UOM_CONTROL' THEN A_DUAL_UOM_CONTROL := rec.control_level;
619 ELSIF l_attribute_name = 'SECONDARY_UOM_CODE' THEN A_SECONDARY_UOM_CODE := rec.control_level;
620 ELSIF l_attribute_name = 'DUAL_UOM_DEVIATION_HIGH' THEN A_DUAL_UOM_DEVIATION_HIGH := rec.control_level;
621 ELSIF l_attribute_name = 'DUAL_UOM_DEVIATION_LOW' THEN A_DUAL_UOM_DEVIATION_LOW := rec.control_level;
622 ELSIF l_attribute_name = 'CONTRACT_ITEM_TYPE_CODE' THEN A_CONTRACT_ITEM_TYPE_CODE := rec.control_level;
623 ELSIF l_attribute_name = 'SERV_REQ_ENABLED_CODE' THEN A_SERV_REQ_ENABLED_CODE := rec.control_level;
624 ELSIF l_attribute_name = 'SERV_BILLING_ENABLED_FLAG' THEN A_SERV_BILLING_ENABLED_FLAG := rec.control_level;
625 ELSIF l_attribute_name = 'PLANNED_INV_POINT_FLAG' THEN A_PLANNED_INV_POINT_FLAG := rec.control_level;
626 ELSIF l_attribute_name = 'LOT_TRANSLATE_ENABLED' THEN A_LOT_TRANSLATE_ENABLED := rec.control_level;
627 ELSIF l_attribute_name = 'DEFAULT_SO_SOURCE_TYPE' THEN A_DEFAULT_SO_SOURCE_TYPE := rec.control_level;
628 ELSIF l_attribute_name = 'CREATE_SUPPLY_FLAG' THEN A_CREATE_SUPPLY_FLAG := rec.control_level;
629 ELSIF l_attribute_name = 'SUBSTITUTION_WINDOW_CODE' THEN A_SUBSTITUTION_WINDOW_CODE := rec.control_level;
630 ELSIF l_attribute_name = 'SUBSTITUTION_WINDOW_DAYS' THEN A_SUBSTITUTION_WINDOW_DAYS := rec.control_level;
631 --Added as part of 11.5.9
632 ELSIF l_attribute_name = 'LOT_SUBSTITUTION_ENABLED' THEN A_LOT_SUBSTITUTION_ENABLED := rec.control_level;
633 ELSIF l_attribute_name = 'MINIMUM_LICENSE_QUANTITY' THEN A_MINIMUM_LICENSE_QUANTITY := rec.control_level;
634 ELSIF l_attribute_name = 'EAM_ACTIVITY_SOURCE_CODE' THEN A_EAM_ACTIVITY_SOURCE_CODE := rec.control_level;
635 ELSIF l_attribute_name = 'IB_ITEM_INSTANCE_CLASS' THEN A_IB_ITEM_INSTANCE_CLASS := rec.control_level;
636 ELSIF l_attribute_name = 'CONFIG_MODEL_TYPE' THEN A_CONFIG_MODEL_TYPE := rec.control_level;
637 --Added as part of 11.5.10
638 ELSIF l_attribute_name = 'TRACKING_QUANTITY_IND' THEN A_TRACKING_QUANTITY_IND := rec.control_level;
639 ELSIF l_attribute_name = 'ONT_PRICING_QTY_SOURCE' THEN A_ONT_PRICING_QTY_SOURCE := rec.control_level;
640 ELSIF l_attribute_name = 'SECONDARY_DEFAULT_IND' THEN A_SECONDARY_DEFAULT_IND := rec.control_level;
641 ELSIF l_attribute_name = 'AUTO_CREATED_CONFIG_FLAG' THEN A_AUTO_CREATED_CONFIG_FLAG := rec.control_level;
642 ELSIF l_attribute_name = 'CONFIG_ORGS' THEN A_CONFIG_ORGS := rec.control_level;
643 ELSIF l_attribute_name = 'CONFIG_MATCH' THEN A_CONFIG_MATCH := rec.control_level;
644 ELSIF l_attribute_name = 'VMI_MINIMUM_UNITS' THEN A_VMI_MINIMUM_UNITS := rec.control_level;
645 ELSIF l_attribute_name = 'VMI_MINIMUM_DAYS' THEN A_VMI_MINIMUM_DAYS := rec.control_level;
646 ELSIF l_attribute_name = 'VMI_MAXIMUM_UNITS' THEN A_VMI_MAXIMUM_UNITS := rec.control_level;
647 ELSIF l_attribute_name = 'VMI_MAXIMUM_DAYS' THEN A_VMI_MAXIMUM_DAYS := rec.control_level;
648 ELSIF l_attribute_name = 'VMI_FIXED_ORDER_QUANTITY' THEN A_VMI_FIXED_ORDER_QUANTITY := rec.control_level;
649 ELSIF l_attribute_name = 'SO_AUTHORIZATION_FLAG' THEN A_SO_AUTHORIZATION_FLAG := rec.control_level;
650 ELSIF l_attribute_name = 'CONSIGNED_FLAG' THEN A_CONSIGNED_FLAG := rec.control_level;
651 ELSIF l_attribute_name = 'ASN_AUTOEXPIRE_FLAG' THEN A_ASN_AUTOEXPIRE_FLAG := rec.control_level;
652 ELSIF l_attribute_name = 'VMI_FORECAST_TYPE' THEN A_VMI_FORECAST_TYPE := rec.control_level;
653 ELSIF l_attribute_name = 'FORECAST_HORIZON' THEN A_FORECAST_HORIZON := rec.control_level;
654 ELSIF l_attribute_name = 'EXCLUDE_FROM_BUDGET_FLAG' THEN A_EXCLUDE_FROM_BUDGET_FLAG := rec.control_level;
655 ELSIF l_attribute_name = 'DAYS_TGT_INV_SUPPLY' THEN A_DAYS_TGT_INV_SUPPLY := rec.control_level;
656 ELSIF l_attribute_name = 'DAYS_TGT_INV_WINDOW' THEN A_DAYS_TGT_INV_WINDOW := rec.control_level;
657 ELSIF l_attribute_name = 'DAYS_MAX_INV_SUPPLY' THEN A_DAYS_MAX_INV_SUPPLY := rec.control_level;
658 ELSIF l_attribute_name = 'DAYS_MAX_INV_WINDOW' THEN A_DAYS_MAX_INV_WINDOW := rec.control_level;
659 ELSIF l_attribute_name = 'DRP_PLANNED_FLAG' THEN A_DRP_PLANNED_FLAG := rec.control_level;
660 ELSIF l_attribute_name = 'CRITICAL_COMPONENT_FLAG' THEN A_CRITICAL_COMPONENT_FLAG := rec.control_level;
661 ELSIF l_attribute_name = 'CONTINOUS_TRANSFER' THEN A_CONTINOUS_TRANSFER:= rec.control_level;
662 ELSIF l_attribute_name = 'CONVERGENCE' THEN A_CONVERGENCE:= rec.control_level;
663 ELSIF l_attribute_name = 'DIVERGENCE' THEN A_DIVERGENCE:= rec.control_level;
664 ---Begin Bug 3713912
665 ELSIF l_attribute_name = 'LOT_DIVISIBLE_FLAG' THEN A_LOT_DIVISIBLE_FLAG := rec.control_level;
666 ELSIF l_attribute_name = 'GRADE_CONTROL_FLAG' THEN A_GRADE_CONTROL_FLAG := rec.control_level;
667 ELSIF l_attribute_name = 'DEFAULT_GRADE' THEN A_DEFAULT_GRADE := rec.control_level;
668 ELSIF l_attribute_name = 'CHILD_LOT_FLAG' THEN A_CHILD_LOT_FLAG := rec.control_level;
669 ELSIF l_attribute_name = 'PARENT_CHILD_GENERATION_FLAG' THEN A_PARENT_CHILD_GENERATION_FLAG := rec.control_level;
670 ELSIF l_attribute_name = 'CHILD_LOT_PREFIX' THEN A_CHILD_LOT_PREFIX := rec.control_level;
671 ELSIF l_attribute_name = 'CHILD_LOT_STARTING_NUMBER' THEN A_CHILD_LOT_STARTING_NUMBER := rec.control_level;
672 ELSIF l_attribute_name = 'CHILD_LOT_VALIDATION_FLAG' THEN A_CHILD_LOT_VALIDATION_FLAG := rec.control_level;
673 ELSIF l_attribute_name = 'COPY_LOT_ATTRIBUTE_FLAG' THEN A_COPY_LOT_ATTRIBUTE_FLAG := rec.control_level;
674 ELSIF l_attribute_name = 'RECIPE_ENABLED_FLAG' THEN A_RECIPE_ENABLED_FLAG := rec.control_level;
675 ELSIF l_attribute_name = 'PROCESS_QUALITY_ENABLED_FLAG' THEN A_PROCESS_QUALITY_ENABLED_FLAG := rec.control_level;
676 ELSIF l_attribute_name = 'PROCESS_EXECUTION_ENABLED_FLAG' THEN A_PROCESS_EXEC_ENABLED_FLAG := rec.control_level;
677 ELSIF l_attribute_name = 'PROCESS_COSTING_ENABLED_FLAG' THEN A_PROCESS_COSTING_ENABLED_FLAG := rec.control_level;
678 ELSIF l_attribute_name = 'PROCESS_SUPPLY_SUBINVENTORY' THEN A_PROCESS_SUPPLY_SUBINVENTORY := rec.control_level;
679 ELSIF l_attribute_name = 'PROCESS_SUPPLY_LOCATOR_ID' THEN A_PROCESS_SUPPLY_LOCATOR_ID := rec.control_level;
680 ELSIF l_attribute_name = 'PROCESS_YIELD_SUBINVENTORY' THEN A_PROCESS_YIELD_SUBINVENTORY := rec.control_level;
681 ELSIF l_attribute_name = 'PROCESS_YIELD_LOCATOR_ID' THEN A_PROCESS_YIELD_LOCATOR_ID := rec.control_level;
682 ELSIF l_attribute_name = 'HAZARDOUS_MATERIAL_FLAG' THEN A_HAZARDOUS_MATERIAL_FLAG := rec.control_level;
683 ELSIF l_attribute_name = 'CAS_NUMBER' THEN A_CAS_NUMBER := rec.control_level;
684 ELSIF l_attribute_name = 'RETEST_INTERVAL' THEN A_RETEST_INTERVAL := rec.control_level;
685 ELSIF l_attribute_name = 'EXPIRATION_ACTION_INTERVAL' THEN A_EXPIRATION_ACTION_INTERVAL := rec.control_level;
686 ELSIF l_attribute_name = 'EXPIRATION_ACTION_CODE' THEN A_EXPIRATION_ACTION_CODE := rec.control_level;
687 ELSIF l_attribute_name = 'MATURITY_DAYS' THEN A_MATURITY_DAYS := rec.control_level;
688 ELSIF l_attribute_name = 'HOLD_DAYS' THEN A_HOLD_DAYS := rec.control_level;
689 -- End Bug 3713912
690 --R12 Enhancement
691 ELSIF l_attribute_name = 'CHARGE_PERIODICITY_CODE' THEN A_CHARGE_PERIODICITY_CODE := rec.control_level;
692 ELSIF l_attribute_name = 'REPAIR_LEADTIME' THEN A_REPAIR_LEADTIME := rec.control_level;
693 ELSIF l_attribute_name = 'REPAIR_YIELD' THEN A_REPAIR_YIELD := rec.control_level;
694 ELSIF l_attribute_name = 'PREPOSITION_POINT' THEN A_PREPOSITION_POINT := rec.control_level;
695 ELSIF l_attribute_name = 'REPAIR_PROGRAM' THEN A_REPAIR_PROGRAM := rec.control_level;
696 ELSIF l_attribute_name = 'SUBCONTRACTING_COMPONENT' THEN A_SUBCONTRACTING_COMPONENT := rec.control_level;
697 ELSIF l_attribute_name = 'OUTSOURCED_ASSEMBLY' THEN A_OUTSOURCED_ASSEMBLY := rec.control_level;
698 END IF;
699
700 End loop;
701 -- End of bug fix 3005880
702
703 --5351611
704 tmp_xset_id := xset_id ;
705
706 for rec in C_msii_master_records loop
707
708 t_trans_id := rec.transaction_id;
709 -- master record validation here
710
711 tmp_xset_id := tmp_xset_id +1 ; --5351611
712
713 -- call additional update validations on master record
714 ret_code_update := INVUPD2B.update_validations(
715 rec.ROWID,
716 rec.ORGANIZATION_ID,
717 t_trans_id,
718 user_id,
719 login_id,
720 prog_appid,
721 prog_id,
722 request_id);
723 --Bug3994245 If validations fail on the master item then AUTO_CHILD records should not be created-Anmurali
724 SELECT process_flag into m_process_flag
725 FROM mtl_system_items_interface
726 WHERE rowid = rec.rowid;
727
728
729 if (ret_code_update = 0 AND m_process_flag=4) THEN
730 ret_code := INVUPD2B.check_child_records(
731 rec.ROWID,
732 rec.INVENTORY_ITEM_ID,
733 rec.ORGANIZATION_ID,
734 t_trans_id,
735 prog_appid,
736 prog_id,
737 request_id,
738 user_id,
739 login_id,
740 err_text,
741 tmp_xset_id); --5351611
742 -- xset_id);
743
744 --5351611
745 -- Bug 10404086 : Added below hint
746 update /*+ first_rows index(MTL_SYSTEM_ITEMS_INTERFACE,MTL_SYSTEM_ITEMS_INTERFACE_N3) */
747 mtl_system_items_interface
748 set set_process_id = xset_id + 1000000000000
749 where set_process_id = tmp_xset_id + 1000000000000 ; --5405867
750
751 if (ret_code = 0) then
752 update mtl_system_items_interface
753 set process_flag = 4
754 where inventory_item_id = rec.inventory_item_id
755 and SET_PROCESS_ID = xset_id + 1000000000000
756 and TRANSACTION_TYPE = 'AUTO_CHILD';
757
758 else
759 -- flag error in master msii record as child record validation is violated by master record update request
760 dumm_status := INVPUOPI.mtl_log_interface_err(
761 rec.ORGANIZATION_ID,
762 user_id,
763 login_id,
764 prog_appid,
765 prog_id,
766 request_id,
767 t_trans_id,
768 error_text,
769 null,
770 'MTL_SYSTEM_ITEMS_INTERFACE',
771 'INV_CHILD_VIOLATION_ERROR',
772 err_text);
773 dumm_status := INVUPD2B.set_process_flag3(rec.ROWID,user_id,login_id,prog_appid,prog_id,request_id);
774 end if;
775
776 end if;
777
778 end loop; -- msii_master loop
779
780 RETURN (0);
781
782 EXCEPTION
783
784 when NO_DATA_FOUND then
785 return (0);
786
787 -- No master record updates found
788 when OTHERS then
789 --bug #4251913: Included SQLCODE and SQLERRM to trap exception messages.
790 IF l_inv_debug_level IN(101, 102) THEN
791 INVPUTLI.info(
792 Substr(
793 'When OTHERS exception raised in validate_item_update_master ' ||
794 SQLCODE ||
795 ' - ' ||
796 SQLERRM,1,240));
797 END IF;
798 return (1);
799
800 END validate_item_update_master;
801
802 --Bug: 5437967 This procedure prevents insertion of child records
803 -- in msii if no Master Controlled Attribute is changed in Master Org
804 PROCEDURE Check_create_child_records
805 (
806 mast_rowid ROWID,
807 item_id NUMBER,
808 org_id NUMBER,
809 check_create_child OUT NOCOPY BOOLEAN
810 ) IS
811
812 -- Bug 10404086 : Start
813 /*
814 CURSOR c_master_attributes IS
815 SELECT SUBSTR(ATTRIBUTE_NAME,18) Attribute_Code
816 FROM MTL_ITEM_ATTRIBUTES
817 WHERE CONTROL_LEVEL = 1
818 AND (ATTRIBUTE_GROUP_ID_GUI IN
819 (20, 25, 30, 31, 35, 40, 41, 51, 60,
820 62, 65, 70, 80, 90, 100, 120, 130));
821
822 l_Attribute_Code mtl_item_attributes.attribute_name%TYPE;
823 */
824 m_Item_rec MTL_SYSTEM_ITEMS_INTERFACE%ROWTYPE;
825 l_Item_rec MTL_SYSTEM_ITEMS_VL%ROWTYPE;
826 l_create_child BOOLEAN := FALSE;
827
828 BEGIN
829
830 INVPUTLI.info('INVUPD2 : Begin Check create auto child ' );
831 SELECT * INTO m_Item_rec
832 FROM mtl_system_items_interface
833 WHERE rowid = mast_rowid;
834
835 SELECT * INTO l_Item_rec
836 FROM mtl_system_items_vl
837 WHERE inventory_item_id = item_id
838 AND organization_id = org_id;
839
840
841 -- Bug 10404086 : Start - Changed the cusror into bulk collect.
842 IF (g_attribute_code IS NULL OR g_attribute_code.Count = 0) THEN
843 SELECT SUBSTR(ATTRIBUTE_NAME,18)
844 BULK COLLECT INTO g_attribute_code
845 FROM MTL_ITEM_ATTRIBUTES
846 WHERE CONTROL_LEVEL = 1
847 AND (ATTRIBUTE_GROUP_ID_GUI IN
848 (20, 25, 30, 31, 35, 40, 41, 51, 60,
849 62, 65, 70, 80, 90, 100, 120, 130));
850 END IF;
851
852 /*
853 OPEN c_master_attributes;
854 LOOP
855 FETCH c_master_attributes INTO l_Attribute_Code;
856 EXIT WHEN (c_master_attributes%NOTFOUND OR l_create_child=TRUE);
857 */
858
859 IF(g_attribute_code.Count > 0) THEN
860 FOR i IN g_attribute_code.FIRST .. g_attribute_code.LAST
861 LOOP
862 IF l_create_child = TRUE THEN
863 EXIT;
864 END IF;
865
866 IF ( g_attribute_code(i) = 'INVENTORY_ITEM_STATUS_CODE' AND (NVL(l_item_rec.INVENTORY_ITEM_STATUS_CODE,'!') <> NVL(m_item_rec.INVENTORY_ITEM_STATUS_CODE,'!'))) THEN
867 l_create_child := TRUE;
868 ELSIF ( g_attribute_code(i) = 'HAZARD_CLASS_ID' AND (NVL(l_item_rec.HAZARD_CLASS_ID,-999999) <> NVL(m_item_rec.HAZARD_CLASS_ID,-999999))) THEN
869 l_create_child := TRUE;
870 ELSIF ( g_attribute_code(i) = 'OUTSIDE_OPERATION_UOM_TYPE' AND (NVL(l_item_rec.OUTSIDE_OPERATION_UOM_TYPE,'!') <> NVL(m_item_rec.OUTSIDE_OPERATION_UOM_TYPE,'!'))) THEN
871 l_create_child := TRUE;
872 ELSIF ( g_attribute_code(i) = 'AUTO_LOT_ALPHA_PREFIX' AND (NVL(l_item_rec.AUTO_LOT_ALPHA_PREFIX,'!') <> NVL(m_item_rec.AUTO_LOT_ALPHA_PREFIX,'!'))) THEN
873 l_create_child := TRUE;
874 ELSIF ( g_attribute_code(i) = 'RESTRICT_LOCATORS_CODE' AND (NVL(l_item_rec.RESTRICT_LOCATORS_CODE,-999999) <> NVL(m_item_rec.RESTRICT_LOCATORS_CODE,-999999))) THEN
875 l_create_child := TRUE;
876 ELSIF ( g_attribute_code(i) = 'RESTRICT_SUBINVENTORIES_CODE' AND (NVL(l_item_rec.RESTRICT_SUBINVENTORIES_CODE,-999999) <> NVL(m_item_rec.RESTRICT_SUBINVENTORIES_CODE,-999999))) THEN
877 l_create_child := TRUE;
878 ELSIF ( g_attribute_code(i) = 'SHELF_LIFE_DAYS' AND (NVL(l_item_rec.SHELF_LIFE_DAYS,-999999) <> NVL(m_item_rec.SHELF_LIFE_DAYS,-999999))) THEN
879 l_create_child := TRUE;
880 ELSIF ( g_attribute_code(i) = 'START_AUTO_LOT_NUMBER' AND (NVL(l_item_rec.START_AUTO_LOT_NUMBER,'!') <> NVL(m_item_rec.START_AUTO_LOT_NUMBER,'!'))) THEN
881 l_create_child := TRUE;
882 ELSIF ( g_attribute_code(i) = 'START_AUTO_SERIAL_NUMBER' AND (NVL(l_item_rec.START_AUTO_SERIAL_NUMBER,'!') <> NVL(m_item_rec.START_AUTO_SERIAL_NUMBER,'!'))) THEN
883 l_create_child := TRUE;
884 ELSIF ( g_attribute_code(i) = 'STOCK_ENABLED_FLAG' AND (NVL(l_item_rec.STOCK_ENABLED_FLAG,'!') <> NVL(m_item_rec.STOCK_ENABLED_FLAG,'!'))) THEN
885 l_create_child := TRUE;
886 ELSIF ( g_attribute_code(i) = 'UNIT_WEIGHT' AND (NVL(l_item_rec.UNIT_WEIGHT,-999999) <> NVL(m_item_rec.UNIT_WEIGHT,-999999))) THEN
887 l_create_child := TRUE;
888 ELSIF ( g_attribute_code(i) = 'INVENTORY_PLANNING_CODE' AND (NVL(l_item_rec.INVENTORY_PLANNING_CODE,-999999) <> NVL(m_item_rec.INVENTORY_PLANNING_CODE,-999999))) THEN
889 l_create_child := TRUE;
890 ELSIF ( g_attribute_code(i) = 'MIN_MINMAX_QUANTITY' AND (NVL(l_item_rec.MIN_MINMAX_QUANTITY,-999999) <> NVL(m_item_rec.MIN_MINMAX_QUANTITY,-999999))) THEN
891 l_create_child := TRUE;
892 ELSIF ( g_attribute_code(i) = 'ACCEPTABLE_RATE_DECREASE' AND (NVL(l_item_rec.ACCEPTABLE_RATE_DECREASE,-999999) <> NVL(m_item_rec.ACCEPTABLE_RATE_DECREASE,-999999))) THEN
893 l_create_child := TRUE;
894 ELSIF ( g_attribute_code(i) = 'PLANNING_TIME_FENCE_DAYS' AND (NVL(l_item_rec.PLANNING_TIME_FENCE_DAYS,-999999) <> NVL(m_item_rec.PLANNING_TIME_FENCE_DAYS,-999999))) THEN
895 l_create_child := TRUE;
896 ELSIF ( g_attribute_code(i) = 'FIXED_LEAD_TIME' AND (NVL(l_item_rec.FIXED_LEAD_TIME,-999999) <> NVL(m_item_rec.FIXED_LEAD_TIME,-999999))) THEN
897 l_create_child := TRUE;
898 ELSIF ( g_attribute_code(i) = 'BUILD_IN_WIP_FLAG' AND (NVL(l_item_rec.BUILD_IN_WIP_FLAG,'!') <> NVL(m_item_rec.BUILD_IN_WIP_FLAG,'!'))) THEN
899 l_create_child := TRUE;
900 ELSIF ( g_attribute_code(i) = 'ATP_FLAG' AND (NVL(l_item_rec.ATP_FLAG,'!') <> NVL(m_item_rec.ATP_FLAG,'!'))) THEN
901 l_create_child := TRUE;
902 ELSIF ( g_attribute_code(i) = 'COLLATERAL_FLAG' AND (NVL(l_item_rec.COLLATERAL_FLAG,'!') <> NVL(m_item_rec.COLLATERAL_FLAG,'!'))) THEN
903 l_create_child := TRUE;
904 ELSIF ( g_attribute_code(i) = 'PICK_COMPONENTS_FLAG' AND (NVL(l_item_rec.PICK_COMPONENTS_FLAG,'!') <> NVL(m_item_rec.PICK_COMPONENTS_FLAG,'!'))) THEN
905 l_create_child := TRUE;
906 ELSIF ( g_attribute_code(i) = 'ACCOUNTING_RULE_ID' AND (NVL(l_item_rec.ACCOUNTING_RULE_ID,-999999) <> NVL(m_item_rec.ACCOUNTING_RULE_ID,-999999))) THEN
907 l_create_child := TRUE;
908 ELSIF ( g_attribute_code(i) = 'INVOICING_RULE_ID' AND (NVL(l_item_rec.INVOICING_RULE_ID,-999999) <> NVL(m_item_rec.INVOICING_RULE_ID,-999999))) THEN
909 l_create_child := TRUE;
910 ELSIF ( g_attribute_code(i) = 'SALES_ACCOUNT' AND (NVL(l_item_rec.SALES_ACCOUNT,-999999) <> NVL(m_item_rec.SALES_ACCOUNT,-999999))) THEN
911 l_create_child := TRUE;
912 ELSIF ( g_attribute_code(i) = 'PREVENTIVE_MAINTENANCE_FLAG' AND (NVL(l_item_rec.PREVENTIVE_MAINTENANCE_FLAG,'!') <> NVL(m_item_rec.PREVENTIVE_MAINTENANCE_FLAG,'!'))) THEN
913 l_create_child := TRUE;
914 ELSIF ( g_attribute_code(i) = 'RELEASE_TIME_FENCE_DAYS' AND (NVL(l_item_rec.RELEASE_TIME_FENCE_DAYS,-999999) <> NVL(m_item_rec.RELEASE_TIME_FENCE_DAYS,-999999))) THEN
915 l_create_child := TRUE;
916 ELSIF ( g_attribute_code(i) = 'SERVICE_STARTING_DELAY' AND (NVL(l_item_rec.SERVICE_STARTING_DELAY,-999999) <> NVL(m_item_rec.SERVICE_STARTING_DELAY,-999999))) THEN
917 l_create_child := TRUE;
918 ELSIF ( g_attribute_code(i) = 'BASE_WARRANTY_SERVICE_ID' AND (NVL(l_item_rec.BASE_WARRANTY_SERVICE_ID,-999999) <> NVL(m_item_rec.BASE_WARRANTY_SERVICE_ID,-999999))) THEN
919 l_create_child := TRUE;
920 ELSIF ( g_attribute_code(i) = 'OVERCOMPLETION_TOLERANCE_TYPE' AND (NVL(l_item_rec.OVERCOMPLETION_TOLERANCE_TYPE,-999999) <> NVL(m_item_rec.OVERCOMPLETION_TOLERANCE_TYPE,-999999))) THEN
921 l_create_child := TRUE;
922 ELSIF ( g_attribute_code(i) = 'OVER_SHIPMENT_TOLERANCE' AND (NVL(l_item_rec.OVER_SHIPMENT_TOLERANCE,-999999) <> NVL(m_item_rec.OVER_SHIPMENT_TOLERANCE,-999999))) THEN
923 l_create_child := TRUE;
924 ELSIF ( g_attribute_code(i) = 'UNDER_SHIPMENT_TOLERANCE' AND (NVL(l_item_rec.UNDER_SHIPMENT_TOLERANCE,-999999) <> NVL(m_item_rec.UNDER_SHIPMENT_TOLERANCE,-999999))) THEN
925 l_create_child := TRUE;
926 ELSIF ( g_attribute_code(i) = 'LOT_STATUS_ENABLED' AND (NVL(l_item_rec.LOT_STATUS_ENABLED,'!') <> NVL(m_item_rec.LOT_STATUS_ENABLED,'!'))) THEN
927 l_create_child := TRUE;
928 ELSIF ( g_attribute_code(i) = 'BULK_PICKED_FLAG' AND (NVL(l_item_rec.BULK_PICKED_FLAG,'!') <> NVL(m_item_rec.BULK_PICKED_FLAG,'!'))) THEN
929 l_create_child := TRUE;
930 ELSIF ( g_attribute_code(i) = 'INVENTORY_CARRY_PENALTY' AND (NVL(l_item_rec.INVENTORY_CARRY_PENALTY,-999999) <> NVL(m_item_rec.INVENTORY_CARRY_PENALTY,-999999))) THEN
931 l_create_child := TRUE;
932 ELSIF ( g_attribute_code(i) = 'PLANNED_INV_POINT_FLAG' AND (NVL(l_item_rec.PLANNED_INV_POINT_FLAG,'!') <> NVL(m_item_rec.PLANNED_INV_POINT_FLAG,'!'))) THEN
933 l_create_child := TRUE;
934 ELSIF ( g_attribute_code(i) = 'EAM_ACTIVITY_SOURCE_CODE' AND (NVL(l_item_rec.EAM_ACTIVITY_SOURCE_CODE,'!') <> NVL(m_item_rec.EAM_ACTIVITY_SOURCE_CODE,'!'))) THEN
935 l_create_child := TRUE;
936 ELSIF ( g_attribute_code(i) = 'CONFIG_MATCH' AND (NVL(l_item_rec.CONFIG_MATCH,'!') <> NVL(m_item_rec.CONFIG_MATCH,'!'))) THEN
937 l_create_child := TRUE;
938 ELSIF ( g_attribute_code(i) = 'VMI_MINIMUM_DAYS' AND (NVL(l_item_rec.VMI_MINIMUM_DAYS,-999999) <> NVL(m_item_rec.VMI_MINIMUM_DAYS,-999999))) THEN
939 l_create_child := TRUE;
940 ELSIF ( g_attribute_code(i) = 'VMI_FORECAST_TYPE' AND (NVL(l_item_rec.VMI_FORECAST_TYPE,-999999) <> NVL(m_item_rec.VMI_FORECAST_TYPE,-999999))) THEN
941 l_create_child := TRUE;
942 ELSIF ( g_attribute_code(i) = 'DAYS_TGT_INV_SUPPLY' AND (NVL(l_item_rec.DAYS_TGT_INV_SUPPLY,-999999) <> NVL(m_item_rec.DAYS_TGT_INV_SUPPLY,-999999))) THEN
943 l_create_child := TRUE;
944 ELSIF ( g_attribute_code(i) = 'CONVERGENCE' AND (NVL(l_item_rec.CONVERGENCE,-999999) <> NVL(m_item_rec.CONVERGENCE,-999999))) THEN
945 l_create_child := TRUE;
946 ELSIF ( g_attribute_code(i) = 'CHILD_LOT_PREFIX' AND (NVL(l_item_rec.CHILD_LOT_PREFIX,'!') <> NVL(m_item_rec.CHILD_LOT_PREFIX,'!'))) THEN
947 l_create_child := TRUE;
948 ELSIF ( g_attribute_code(i) = 'PREPOSITION_POINT' AND (NVL(l_item_rec.PREPOSITION_POINT,'!') <> NVL(m_item_rec.PREPOSITION_POINT,'!'))) THEN
949 l_create_child := TRUE;
950 ELSIF ( g_attribute_code(i) = 'PROCESS_YIELD_SUBINVENTORY' AND (NVL(l_item_rec.PROCESS_YIELD_SUBINVENTORY,'!') <> NVL(m_item_rec.PROCESS_YIELD_SUBINVENTORY,'!'))) THEN
951 l_create_child := TRUE;
952 ELSIF ( g_attribute_code(i) = 'DESCRIPTION' AND (NVL(l_item_rec.DESCRIPTION,'!') <> NVL(m_item_rec.DESCRIPTION,'!'))) THEN
953 l_create_child := TRUE;
954 ELSIF ( g_attribute_code(i) = 'ALLOWED_UNITS_LOOKUP_CODE' AND (NVL(l_item_rec.ALLOWED_UNITS_LOOKUP_CODE,-999999) <> NVL(m_item_rec.ALLOWED_UNITS_LOOKUP_CODE,-999999))) THEN
955 l_create_child := TRUE;
956 ELSIF ( g_attribute_code(i) = 'COSTING_ENABLED_FLAG' AND (NVL(l_item_rec.COSTING_ENABLED_FLAG,'!') <> NVL(m_item_rec.COSTING_ENABLED_FLAG,'!'))) THEN
957 l_create_child := TRUE;
958 ELSIF ( g_attribute_code(i) = 'DEFAULT_INCLUDE_IN_ROLLUP_FLAG' AND (NVL(l_item_rec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,'!') <> NVL(m_item_rec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,'!'))) THEN
959 l_create_child := TRUE;
960 ELSIF ( g_attribute_code(i) = 'PRICE_TOLERANCE_PERCENT' AND (NVL(l_item_rec.PRICE_TOLERANCE_PERCENT,-999999) <> NVL(m_item_rec.PRICE_TOLERANCE_PERCENT,-999999))) THEN
961 l_create_child := TRUE;
962 ELSIF ( g_attribute_code(i) = 'ROUNDING_FACTOR' AND (NVL(l_item_rec.ROUNDING_FACTOR,-999999) <> NVL(m_item_rec.ROUNDING_FACTOR,-999999))) THEN
963 l_create_child := TRUE;
964 ELSIF ( g_attribute_code(i) = 'UNIT_OF_ISSUE' AND (NVL(l_item_rec.UNIT_OF_ISSUE,'!') <> NVL(m_item_rec.UNIT_OF_ISSUE,'!'))) THEN
965 l_create_child := TRUE;
966 ELSIF ( g_attribute_code(i) = 'INSPECTION_REQUIRED_FLAG' AND (NVL(l_item_rec.INSPECTION_REQUIRED_FLAG,'!') <> NVL(m_item_rec.INSPECTION_REQUIRED_FLAG,'!'))) THEN
967 l_create_child := TRUE;
968 ELSIF ( g_attribute_code(i) = 'INVOICE_CLOSE_TOLERANCE' AND (NVL(l_item_rec.INVOICE_CLOSE_TOLERANCE,-999999) <> NVL(m_item_rec.INVOICE_CLOSE_TOLERANCE,-999999))) THEN
969 l_create_child := TRUE;
970 ELSIF ( g_attribute_code(i) = 'SHELF_LIFE_CODE' AND (NVL(l_item_rec.SHELF_LIFE_CODE,-999999) <> NVL(m_item_rec.SHELF_LIFE_CODE,-999999))) THEN
971 l_create_child := TRUE;
972 ELSIF ( g_attribute_code(i) = 'CUMULATIVE_TOTAL_LEAD_TIME' AND (NVL(l_item_rec.CUMULATIVE_TOTAL_LEAD_TIME,-999999) <> NVL(m_item_rec.CUMULATIVE_TOTAL_LEAD_TIME,-999999))) THEN
973 l_create_child := TRUE;
974 ELSIF ( g_attribute_code(i) = 'POSTPROCESSING_LEAD_TIME' AND (NVL(l_item_rec.POSTPROCESSING_LEAD_TIME,-999999) <> NVL(m_item_rec.POSTPROCESSING_LEAD_TIME,-999999))) THEN
975 l_create_child := TRUE;
976 ELSIF ( g_attribute_code(i) = 'INTERNAL_ORDER_FLAG' AND (NVL(l_item_rec.INTERNAL_ORDER_FLAG,'!') <> NVL(m_item_rec.INTERNAL_ORDER_FLAG,'!'))) THEN
977 l_create_child := TRUE;
978 ELSIF ( g_attribute_code(i) = 'SO_TRANSACTIONS_FLAG' AND (NVL(l_item_rec.SO_TRANSACTIONS_FLAG,'!') <> NVL(m_item_rec.SO_TRANSACTIONS_FLAG,'!'))) THEN
979 l_create_child := TRUE;
980 ELSIF ( g_attribute_code(i) = 'WARRANTY_VENDOR_ID' AND (NVL(l_item_rec.WARRANTY_VENDOR_ID,-999999) <> NVL(m_item_rec.WARRANTY_VENDOR_ID,-999999))) THEN
981 l_create_child := TRUE;
982 ELSIF ( g_attribute_code(i) = 'NEW_REVISION_CODE' AND (NVL(l_item_rec.NEW_REVISION_CODE,'!') <> NVL(m_item_rec.NEW_REVISION_CODE,'!'))) THEN
983 l_create_child := TRUE;
984 ELSIF ( g_attribute_code(i) = 'PRIMARY_SPECIALIST_ID' AND (NVL(l_item_rec.PRIMARY_SPECIALIST_ID,-999999) <> NVL(m_item_rec.PRIMARY_SPECIALIST_ID,-999999))) THEN
985 l_create_child := TRUE;
986 ELSIF ( g_attribute_code(i) = 'PURCHASING_TAX_CODE' AND (NVL(l_item_rec.PURCHASING_TAX_CODE,'!') <> NVL(m_item_rec.PURCHASING_TAX_CODE,'!'))) THEN
987 l_create_child := TRUE;
988 ELSIF ( g_attribute_code(i) = 'EVENT_FLAG' AND (NVL(l_item_rec.EVENT_FLAG,'!') <> NVL(m_item_rec.EVENT_FLAG,'!'))) THEN
989 l_create_child := TRUE;
990 ELSIF ( g_attribute_code(i) = 'BACK_ORDERABLE_FLAG' AND (NVL(l_item_rec.BACK_ORDERABLE_FLAG,'!') <> NVL(m_item_rec.BACK_ORDERABLE_FLAG,'!'))) THEN
991 l_create_child := TRUE;
992 ELSIF ( g_attribute_code(i) = 'INDIVISIBLE_FLAG' AND (NVL(l_item_rec.INDIVISIBLE_FLAG,'!') <> NVL(m_item_rec.INDIVISIBLE_FLAG,'!'))) THEN
993 l_create_child := TRUE;
994 ELSIF ( g_attribute_code(i) = 'DIMENSION_UOM_CODE' AND (NVL(l_item_rec.DIMENSION_UOM_CODE,'!') <> NVL(m_item_rec.DIMENSION_UOM_CODE,'!'))) THEN
995 l_create_child := TRUE;
996 ELSIF ( g_attribute_code(i) = 'EAM_ITEM_TYPE' AND (NVL(l_item_rec.EAM_ITEM_TYPE,-999999) <> NVL(m_item_rec.EAM_ITEM_TYPE,-999999))) THEN
997 l_create_child := TRUE;
998 ELSIF ( g_attribute_code(i) = 'DEFAULT_SO_SOURCE_TYPE' AND (NVL(l_item_rec.DEFAULT_SO_SOURCE_TYPE,'!') <> NVL(m_item_rec.DEFAULT_SO_SOURCE_TYPE,'!'))) THEN
999 l_create_child := TRUE;
1000 ELSIF ( g_attribute_code(i) = 'SERV_BILLING_ENABLED_FLAG' AND (NVL(l_item_rec.SERV_BILLING_ENABLED_FLAG,'!') <> NVL(m_item_rec.SERV_BILLING_ENABLED_FLAG,'!'))) THEN
1001 l_create_child := TRUE;
1002 ELSIF ( g_attribute_code(i) = 'LOT_SUBSTITUTION_ENABLED' AND (NVL(l_item_rec.LOT_SUBSTITUTION_ENABLED,'!') <> NVL(m_item_rec.LOT_SUBSTITUTION_ENABLED,'!'))) THEN
1003 l_create_child := TRUE;
1004 ELSIF ( g_attribute_code(i) = 'VMI_FIXED_ORDER_QUANTITY' AND (NVL(l_item_rec.VMI_FIXED_ORDER_QUANTITY,-999999) <> NVL(m_item_rec.VMI_FIXED_ORDER_QUANTITY,-999999))) THEN
1005 l_create_child := TRUE;
1006 ELSIF ( g_attribute_code(i) = 'EXCLUDE_FROM_BUDGET_FLAG' AND (NVL(l_item_rec.EXCLUDE_FROM_BUDGET_FLAG,-999999) <> NVL(m_item_rec.EXCLUDE_FROM_BUDGET_FLAG,-999999))) THEN
1007 l_create_child := TRUE;
1008 ELSIF ( g_attribute_code(i) = 'LOT_DIVISIBLE_FLAG' AND (NVL(l_item_rec.LOT_DIVISIBLE_FLAG,'!') <> NVL(m_item_rec.LOT_DIVISIBLE_FLAG,'!'))) THEN
1009 l_create_child := TRUE;
1010 ELSIF ( g_attribute_code(i) = 'OUTSOURCED_ASSEMBLY' AND (NVL(l_item_rec.OUTSOURCED_ASSEMBLY,-999999) <> NVL(m_item_rec.OUTSOURCED_ASSEMBLY,-999999))) THEN
1011 l_create_child := TRUE;
1012 ELSIF ( g_attribute_code(i) = 'REPAIR_YIELD' AND (NVL(l_item_rec.REPAIR_YIELD,-999999) <> NVL(m_item_rec.REPAIR_YIELD,-999999))) THEN
1013 l_create_child := TRUE;
1014 ELSIF ( g_attribute_code(i) = 'PROCESS_QUALITY_ENABLED_FLAG' AND (NVL(l_item_rec.PROCESS_QUALITY_ENABLED_FLAG,'!') <> NVL(m_item_rec.PROCESS_QUALITY_ENABLED_FLAG,'!'))) THEN
1015 l_create_child := TRUE;
1016 ELSIF ( g_attribute_code(i) = 'CAS_NUMBER' AND (NVL(l_item_rec.CAS_NUMBER,'!') <> NVL(m_item_rec.CAS_NUMBER,'!'))) THEN
1017 l_create_child := TRUE;
1018 ELSIF ( g_attribute_code(i) = 'ENG_ITEM_FLAG' AND (NVL(l_item_rec.ENG_ITEM_FLAG,'!') <> NVL(m_item_rec.ENG_ITEM_FLAG,'!'))) THEN
1019 l_create_child := TRUE;
1020 ELSIF ( g_attribute_code(i) = 'COST_OF_SALES_ACCOUNT' AND (NVL(l_item_rec.COST_OF_SALES_ACCOUNT,-999999) <> NVL(m_item_rec.COST_OF_SALES_ACCOUNT,-999999))) THEN
1021 l_create_child := TRUE;
1022 ELSIF ( g_attribute_code(i) = 'ALLOW_EXPRESS_DELIVERY_FLAG' AND (NVL(l_item_rec.ALLOW_EXPRESS_DELIVERY_FLAG,'!') <> NVL(m_item_rec.ALLOW_EXPRESS_DELIVERY_FLAG,'!'))) THEN
1023 l_create_child := TRUE;
1024 ELSIF ( g_attribute_code(i) = 'RECEIPT_DAYS_EXCEPTION_CODE' AND (NVL(l_item_rec.RECEIPT_DAYS_EXCEPTION_CODE,'!') <> NVL(m_item_rec.RECEIPT_DAYS_EXCEPTION_CODE,'!'))) THEN
1025 l_create_child := TRUE;
1026 ELSIF ( g_attribute_code(i) = 'RECEIPT_REQUIRED_FLAG' AND (NVL(l_item_rec.RECEIPT_REQUIRED_FLAG,'!') <> NVL(m_item_rec.RECEIPT_REQUIRED_FLAG,'!'))) THEN
1027 l_create_child := TRUE;
1028 ELSIF ( g_attribute_code(i) = 'RECEIVING_ROUTING_ID' AND (NVL(l_item_rec.RECEIVING_ROUTING_ID,-999999) <> NVL(m_item_rec.RECEIVING_ROUTING_ID,-999999))) THEN
1029 l_create_child := TRUE;
1030 ELSIF ( g_attribute_code(i) = 'INVENTORY_ITEM_FLAG' AND (NVL(l_item_rec.INVENTORY_ITEM_FLAG,'!') <> NVL(m_item_rec.INVENTORY_ITEM_FLAG,'!'))) THEN
1031 l_create_child := TRUE;
1032 ELSIF ( g_attribute_code(i) = 'LOCATION_CONTROL_CODE' AND (NVL(l_item_rec.LOCATION_CONTROL_CODE,-999999) <> NVL(m_item_rec.LOCATION_CONTROL_CODE,-999999))) THEN
1033 l_create_child := TRUE;
1034 ELSIF ( g_attribute_code(i) = 'REVISION_QTY_CONTROL_CODE' AND (NVL(l_item_rec.REVISION_QTY_CONTROL_CODE,-999999) <> NVL(m_item_rec.REVISION_QTY_CONTROL_CODE,-999999))) THEN
1035 l_create_child := TRUE;
1036 ELSIF ( g_attribute_code(i) = 'MRP_SAFETY_STOCK_PERCENT' AND (NVL(l_item_rec.MRP_SAFETY_STOCK_PERCENT,-999999) <> NVL(m_item_rec.MRP_SAFETY_STOCK_PERCENT,-999999))) THEN
1037 l_create_child := TRUE;
1038 ELSIF ( g_attribute_code(i) = 'SAFETY_STOCK_BUCKET_DAYS' AND (NVL(l_item_rec.SAFETY_STOCK_BUCKET_DAYS,-999999) <> NVL(m_item_rec.SAFETY_STOCK_BUCKET_DAYS,-999999))) THEN
1039 l_create_child := TRUE;
1040 ELSIF ( g_attribute_code(i) = 'OVERRUN_PERCENTAGE' AND (NVL(l_item_rec.OVERRUN_PERCENTAGE,-999999) <> NVL(m_item_rec.OVERRUN_PERCENTAGE,-999999))) THEN
1041 l_create_child := TRUE;
1042 ELSIF ( g_attribute_code(i) = 'PLANNING_EXCEPTION_SET' AND (NVL(l_item_rec.PLANNING_EXCEPTION_SET,'!') <> NVL(m_item_rec.PLANNING_EXCEPTION_SET,'!'))) THEN
1043 l_create_child := TRUE;
1044 ELSIF ( g_attribute_code(i) = 'PLANNING_TIME_FENCE_CODE' AND (NVL(l_item_rec.PLANNING_TIME_FENCE_CODE,-999999) <> NVL(m_item_rec.PLANNING_TIME_FENCE_CODE,-999999))) THEN
1045 l_create_child := TRUE;
1046 ELSIF ( g_attribute_code(i) = 'ROUNDING_CONTROL_TYPE' AND (NVL(l_item_rec.ROUNDING_CONTROL_TYPE,-999999) <> NVL(m_item_rec.ROUNDING_CONTROL_TYPE,-999999))) THEN
1047 l_create_child := TRUE;
1048 ELSIF ( g_attribute_code(i) = 'SHIP_MODEL_COMPLETE_FLAG' AND (NVL(l_item_rec.SHIP_MODEL_COMPLETE_FLAG,'!') <> NVL(m_item_rec.SHIP_MODEL_COMPLETE_FLAG,'!'))) THEN
1049 l_create_child := TRUE;
1050 ELSIF ( g_attribute_code(i) = 'INVOICEABLE_ITEM_FLAG' AND (NVL(l_item_rec.INVOICEABLE_ITEM_FLAG,'!') <> NVL(m_item_rec.INVOICEABLE_ITEM_FLAG,'!'))) THEN
1051 l_create_child := TRUE;
1052 ELSIF ( g_attribute_code(i) = 'COVERAGE_SCHEDULE_ID' AND (NVL(l_item_rec.COVERAGE_SCHEDULE_ID,-999999) <> NVL(m_item_rec.COVERAGE_SCHEDULE_ID,-999999))) THEN
1053 l_create_child := TRUE;
1054 ELSIF ( g_attribute_code(i) = 'PRORATE_SERVICE_FLAG' AND (NVL(l_item_rec.PRORATE_SERVICE_FLAG,'!') <> NVL(m_item_rec.PRORATE_SERVICE_FLAG,'!'))) THEN
1055 l_create_child := TRUE;
1056 ELSIF ( g_attribute_code(i) = 'SERVICE_DURATION_PERIOD_CODE' AND (NVL(l_item_rec.SERVICE_DURATION_PERIOD_CODE,'!') <> NVL(m_item_rec.SERVICE_DURATION_PERIOD_CODE,'!'))) THEN
1057 l_create_child := TRUE;
1058 ELSIF ( g_attribute_code(i) = 'ATO_FORECAST_CONTROL' AND (NVL(l_item_rec.ATO_FORECAST_CONTROL,-999999) <> NVL(m_item_rec.ATO_FORECAST_CONTROL,-999999))) THEN
1059 l_create_child := TRUE;
1060 ELSIF ( g_attribute_code(i) = 'OUTSIDE_OPERATION_FLAG' AND (NVL(l_item_rec.OUTSIDE_OPERATION_FLAG,'!') <> NVL(m_item_rec.OUTSIDE_OPERATION_FLAG,'!'))) THEN
1061 l_create_child := TRUE;
1062 ELSIF ( g_attribute_code(i) = 'CARRYING_COST' AND (NVL(l_item_rec.CARRYING_COST,-999999) <> NVL(m_item_rec.CARRYING_COST,-999999))) THEN
1063 l_create_child := TRUE;
1064 ELSIF ( g_attribute_code(i) = 'MRP_SAFETY_STOCK_CODE' AND (NVL(l_item_rec.MRP_SAFETY_STOCK_CODE,-999999) <> NVL(m_item_rec.MRP_SAFETY_STOCK_CODE,-999999))) THEN
1065 l_create_child := TRUE;
1066 ELSIF ( g_attribute_code(i) = 'SOURCE_ORGANIZATION_ID' AND (NVL(l_item_rec.SOURCE_ORGANIZATION_ID,-999999) <> NVL(m_item_rec.SOURCE_ORGANIZATION_ID,-999999))) THEN
1067 l_create_child := TRUE;
1068 ELSIF ( g_attribute_code(i) = 'OVER_RETURN_TOLERANCE' AND (NVL(l_item_rec.OVER_RETURN_TOLERANCE,-999999) <> NVL(m_item_rec.OVER_RETURN_TOLERANCE,-999999))) THEN
1069 l_create_child := TRUE;
1070 ELSIF ( g_attribute_code(i) = 'ASSET_CREATION_CODE' AND (NVL(l_item_rec.ASSET_CREATION_CODE,'!') <> NVL(m_item_rec.ASSET_CREATION_CODE,'!'))) THEN
1071 l_create_child := TRUE;
1072 ELSIF ( g_attribute_code(i) = 'COMMS_ACTIVATION_REQD_FLAG' AND (NVL(l_item_rec.COMMS_ACTIVATION_REQD_FLAG,'!') <> NVL(m_item_rec.COMMS_ACTIVATION_REQD_FLAG,'!'))) THEN
1073 l_create_child := TRUE;
1074 ELSIF ( g_attribute_code(i) = 'CHECK_SHORTAGES_FLAG' AND (NVL(l_item_rec.CHECK_SHORTAGES_FLAG,'!') <> NVL(m_item_rec.CHECK_SHORTAGES_FLAG,'!'))) THEN
1075 l_create_child := TRUE;
1076 ELSIF ( g_attribute_code(i) = 'LOT_MERGE_ENABLED' AND (NVL(l_item_rec.LOT_MERGE_ENABLED,'!') <> NVL(m_item_rec.LOT_MERGE_ENABLED,'!'))) THEN
1077 l_create_child := TRUE;
1078 ELSIF ( g_attribute_code(i) = 'UNIT_LENGTH' AND (NVL(l_item_rec.UNIT_LENGTH,-999999) <> NVL(m_item_rec.UNIT_LENGTH,-999999))) THEN
1079 l_create_child := TRUE;
1080 ELSIF ( g_attribute_code(i) = 'EAM_ACT_NOTIFICATION_FLAG' AND (NVL(l_item_rec.EAM_ACT_NOTIFICATION_FLAG,'!') <> NVL(m_item_rec.EAM_ACT_NOTIFICATION_FLAG,'!'))) THEN
1081 l_create_child := TRUE;
1082 ELSIF ( g_attribute_code(i) = 'SUBSTITUTION_WINDOW_CODE' AND (NVL(l_item_rec.SUBSTITUTION_WINDOW_CODE,-999999) <> NVL(m_item_rec.SUBSTITUTION_WINDOW_CODE,-999999))) THEN
1083 l_create_child := TRUE;
1084 ELSIF ( g_attribute_code(i) = 'CHILD_LOT_STARTING_NUMBER' AND (NVL(l_item_rec.CHILD_LOT_STARTING_NUMBER,-999999) <> NVL(m_item_rec.CHILD_LOT_STARTING_NUMBER,-999999))) THEN
1085 l_create_child := TRUE;
1086 ELSIF ( g_attribute_code(i) = 'EXPIRATION_ACTION_INTERVAL' AND (NVL(l_item_rec.EXPIRATION_ACTION_INTERVAL,-999999) <> NVL(m_item_rec.EXPIRATION_ACTION_INTERVAL,-999999))) THEN
1087 l_create_child := TRUE;
1088 ELSIF ( g_attribute_code(i) = 'SUBCONTRACTING_COMPONENT' AND (NVL(l_item_rec.SUBCONTRACTING_COMPONENT,-999999) <> NVL(m_item_rec.SUBCONTRACTING_COMPONENT,-999999))) THEN
1089 l_create_child := TRUE;
1090 ELSIF ( g_attribute_code(i) = 'HAZARDOUS_MATERIAL_FLAG' AND (NVL(l_item_rec.HAZARDOUS_MATERIAL_FLAG,'!') <> NVL(m_item_rec.HAZARDOUS_MATERIAL_FLAG,'!'))) THEN
1091 l_create_child := TRUE;
1092 ELSIF ( g_attribute_code(i) = 'ITEM_TYPE' AND (NVL(l_item_rec.ITEM_TYPE,'!') <> NVL(m_item_rec.ITEM_TYPE,'!'))) THEN
1093 l_create_child := TRUE;
1094 ELSIF ( g_attribute_code(i) = 'ENCUMBRANCE_ACCOUNT' AND (NVL(l_item_rec.ENCUMBRANCE_ACCOUNT,-999999) <> NVL(m_item_rec.ENCUMBRANCE_ACCOUNT,-999999))) THEN
1095 l_create_child := TRUE;
1096 ELSIF ( g_attribute_code(i) = 'MARKET_PRICE' AND (NVL(l_item_rec.MARKET_PRICE,-999999) <> NVL(m_item_rec.MARKET_PRICE,-999999))) THEN
1097 l_create_child := TRUE;
1098 ELSIF ( g_attribute_code(i) = 'TAXABLE_FLAG' AND (NVL(l_item_rec.TAXABLE_FLAG,'!') <> NVL(m_item_rec.TAXABLE_FLAG,'!'))) THEN
1099 l_create_child := TRUE;
1100 ELSIF ( g_attribute_code(i) = 'QTY_RCV_TOLERANCE' AND (NVL(l_item_rec.QTY_RCV_TOLERANCE,-999999) <> NVL(m_item_rec.QTY_RCV_TOLERANCE,-999999))) THEN
1101 l_create_child := TRUE;
1102 ELSIF ( g_attribute_code(i) = 'NEGATIVE_MEASUREMENT_ERROR' AND (NVL(l_item_rec.NEGATIVE_MEASUREMENT_ERROR,-999999) <> NVL(m_item_rec.NEGATIVE_MEASUREMENT_ERROR,-999999))) THEN
1103 l_create_child := TRUE;
1104 ELSIF ( g_attribute_code(i) = 'POSITIVE_MEASUREMENT_ERROR' AND (NVL(l_item_rec.POSITIVE_MEASUREMENT_ERROR,-999999) <> NVL(m_item_rec.POSITIVE_MEASUREMENT_ERROR,-999999))) THEN
1105 l_create_child := TRUE;
1106 ELSIF ( g_attribute_code(i) = 'MAXIMUM_ORDER_QUANTITY' AND (NVL(l_item_rec.MAXIMUM_ORDER_QUANTITY,-999999) <> NVL(m_item_rec.MAXIMUM_ORDER_QUANTITY,-999999))) THEN
1107 l_create_child := TRUE;
1108 ELSIF ( g_attribute_code(i) = 'AUTO_REDUCE_MPS' AND (NVL(l_item_rec.AUTO_REDUCE_MPS,-999999) <> NVL(m_item_rec.AUTO_REDUCE_MPS,-999999))) THEN
1109 l_create_child := TRUE;
1110 ELSIF ( g_attribute_code(i) = 'FULL_LEAD_TIME' AND (NVL(l_item_rec.FULL_LEAD_TIME,-999999) <> NVL(m_item_rec.FULL_LEAD_TIME,-999999))) THEN
1111 l_create_child := TRUE;
1112 ELSIF ( g_attribute_code(i) = 'WIP_SUPPLY_LOCATOR_ID' AND (NVL(l_item_rec.WIP_SUPPLY_LOCATOR_ID,-999999) <> NVL(m_item_rec.WIP_SUPPLY_LOCATOR_ID,-999999))) THEN
1113 l_create_child := TRUE;
1114 ELSIF ( g_attribute_code(i) = 'INVOICE_ENABLED_FLAG' AND (NVL(l_item_rec.INVOICE_ENABLED_FLAG,'!') <> NVL(m_item_rec.INVOICE_ENABLED_FLAG,'!'))) THEN
1115 l_create_child := TRUE;
1116 ELSIF ( g_attribute_code(i) = 'MATERIAL_BILLABLE_FLAG' AND (NVL(l_item_rec.MATERIAL_BILLABLE_FLAG,'!') <> NVL(m_item_rec.MATERIAL_BILLABLE_FLAG,'!'))) THEN
1117 l_create_child := TRUE;
1118 ELSIF ( g_attribute_code(i) = 'SERVICEABLE_PRODUCT_FLAG' AND (NVL(l_item_rec.SERVICEABLE_PRODUCT_FLAG,'!') <> NVL(m_item_rec.SERVICEABLE_PRODUCT_FLAG,'!'))) THEN
1119 l_create_child := TRUE;
1120 ELSIF ( g_attribute_code(i) = 'OVERCOMPLETION_TOLERANCE_VALUE' AND (NVL(l_item_rec.OVERCOMPLETION_TOLERANCE_VALUE,-999999) <> NVL(m_item_rec.OVERCOMPLETION_TOLERANCE_VALUE,-999999))) THEN
1121 l_create_child := TRUE;
1122 ELSIF ( g_attribute_code(i) = 'CONTRACT_ITEM_TYPE_CODE' AND (NVL(l_item_rec.CONTRACT_ITEM_TYPE_CODE,'!') <> NVL(m_item_rec.CONTRACT_ITEM_TYPE_CODE,'!'))) THEN
1123 l_create_child := TRUE;
1124 ELSIF ( g_attribute_code(i) = 'MINIMUM_LICENSE_QUANTITY' AND (NVL(l_item_rec.MINIMUM_LICENSE_QUANTITY,-999999) <> NVL(m_item_rec.MINIMUM_LICENSE_QUANTITY,-999999))) THEN
1125 l_create_child := TRUE;
1126 ELSIF ( g_attribute_code(i) = 'CONFIG_ORGS' AND (NVL(l_item_rec.CONFIG_ORGS,'!') <> NVL(m_item_rec.CONFIG_ORGS,'!'))) THEN
1127 l_create_child := TRUE;
1128 ELSIF ( g_attribute_code(i) = 'VMI_MAXIMUM_DAYS' AND (NVL(l_item_rec.VMI_MAXIMUM_DAYS,-999999) <> NVL(m_item_rec.VMI_MAXIMUM_DAYS,-999999))) THEN
1129 l_create_child := TRUE;
1130 ELSIF ( g_attribute_code(i) = 'CONTINOUS_TRANSFER' AND (NVL(l_item_rec.CONTINOUS_TRANSFER,-999999) <> NVL(m_item_rec.CONTINOUS_TRANSFER,-999999))) THEN
1131 l_create_child := TRUE;
1132 ELSIF ( g_attribute_code(i) = 'DEFAULT_GRADE' AND (NVL(l_item_rec.DEFAULT_GRADE,'!') <> NVL(m_item_rec.DEFAULT_GRADE,'!'))) THEN
1133 l_create_child := TRUE;
1134 ELSIF ( g_attribute_code(i) = 'MATURITY_DAYS' AND (NVL(l_item_rec.MATURITY_DAYS,-999999) <> NVL(m_item_rec.MATURITY_DAYS,-999999))) THEN
1135 l_create_child := TRUE;
1136 ELSIF ( g_attribute_code(i) = 'HOLD_DAYS' AND (NVL(l_item_rec.HOLD_DAYS,-999999) <> NVL(m_item_rec.HOLD_DAYS,-999999))) THEN
1137 l_create_child := TRUE;
1138 ELSIF ( g_attribute_code(i) = 'REPAIR_LEADTIME' AND (NVL(l_item_rec.REPAIR_LEADTIME,-999999) <> NVL(m_item_rec.REPAIR_LEADTIME,-999999))) THEN
1139 l_create_child := TRUE;
1140 ELSIF ( g_attribute_code(i) = 'RECIPE_ENABLED_FLAG' AND (NVL(l_item_rec.RECIPE_ENABLED_FLAG,'!') <> NVL(m_item_rec.RECIPE_ENABLED_FLAG,'!'))) THEN
1141 l_create_child := TRUE;
1142 ELSIF ( g_attribute_code(i) = 'PROCESS_SUPPLY_LOCATOR_ID' AND (NVL(l_item_rec.PROCESS_SUPPLY_LOCATOR_ID,-999999) <> NVL(m_item_rec.PROCESS_SUPPLY_LOCATOR_ID,-999999))) THEN
1143 l_create_child := TRUE;
1144 ELSIF ( g_attribute_code(i) = 'BASE_ITEM_ID' AND (NVL(l_item_rec.BASE_ITEM_ID,-999999) <> NVL(m_item_rec.BASE_ITEM_ID,-999999))) THEN
1145 l_create_child := TRUE;
1146 ELSIF ( g_attribute_code(i) = 'STD_LOT_SIZE' AND (NVL(l_item_rec.STD_LOT_SIZE,-999999) <> NVL(m_item_rec.STD_LOT_SIZE,-999999))) THEN
1147 l_create_child := TRUE;
1148 ELSIF ( g_attribute_code(i) = 'ALLOW_ITEM_DESC_UPDATE_FLAG' AND (NVL(l_item_rec.ALLOW_ITEM_DESC_UPDATE_FLAG,'!') <> NVL(m_item_rec.ALLOW_ITEM_DESC_UPDATE_FLAG,'!'))) THEN
1149 l_create_child := TRUE;
1150 ELSIF ( g_attribute_code(i) = 'LIST_PRICE_PER_UNIT' AND (NVL(l_item_rec.LIST_PRICE_PER_UNIT,-999999) <> NVL(m_item_rec.LIST_PRICE_PER_UNIT,-999999))) THEN
1151 l_create_child := TRUE;
1152 ELSIF ( g_attribute_code(i) = 'PURCHASING_ITEM_FLAG' AND (NVL(l_item_rec.PURCHASING_ITEM_FLAG,'!') <> NVL(m_item_rec.PURCHASING_ITEM_FLAG,'!'))) THEN
1153 l_create_child := TRUE;
1154 ELSIF ( g_attribute_code(i) = 'ALLOW_SUBSTITUTE_RECEIPTS_FLAG' AND (NVL(l_item_rec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG,'!') <> NVL(m_item_rec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG,'!'))) THEN
1155 l_create_child := TRUE;
1156 ELSIF ( g_attribute_code(i) = 'ORDER_COST' AND (NVL(l_item_rec.ORDER_COST,-999999) <> NVL(m_item_rec.ORDER_COST,-999999))) THEN
1157 l_create_child := TRUE;
1158 ELSIF ( g_attribute_code(i) = 'DEMAND_TIME_FENCE_DAYS' AND (NVL(l_item_rec.DEMAND_TIME_FENCE_DAYS,-999999) <> NVL(m_item_rec.DEMAND_TIME_FENCE_DAYS,-999999))) THEN
1159 l_create_child := TRUE;
1160 ELSIF ( g_attribute_code(i) = 'MRP_CALCULATE_ATP_FLAG' AND (NVL(l_item_rec.MRP_CALCULATE_ATP_FLAG,'!') <> NVL(m_item_rec.MRP_CALCULATE_ATP_FLAG,'!'))) THEN
1161 l_create_child := TRUE;
1162 ELSIF ( g_attribute_code(i) = 'CUM_MANUFACTURING_LEAD_TIME' AND (NVL(l_item_rec.CUM_MANUFACTURING_LEAD_TIME,-999999) <> NVL(m_item_rec.CUM_MANUFACTURING_LEAD_TIME,-999999))) THEN
1163 l_create_child := TRUE;
1164 ELSIF ( g_attribute_code(i) = 'WIP_SUPPLY_SUBINVENTORY' AND (NVL(l_item_rec.WIP_SUPPLY_SUBINVENTORY,'!') <> NVL(m_item_rec.WIP_SUPPLY_SUBINVENTORY,'!'))) THEN
1165 l_create_child := TRUE;
1166 ELSIF ( g_attribute_code(i) = 'CUSTOMER_ORDER_ENABLED_FLAG' AND (NVL(l_item_rec.CUSTOMER_ORDER_ENABLED_FLAG,'!') <> NVL(m_item_rec.CUSTOMER_ORDER_ENABLED_FLAG,'!'))) THEN
1167 l_create_child := TRUE;
1168 ELSIF ( g_attribute_code(i) = 'DEFAULT_SHIPPING_ORG' AND (NVL(l_item_rec.DEFAULT_SHIPPING_ORG,-999999) <> NVL(m_item_rec.DEFAULT_SHIPPING_ORG,-999999))) THEN
1169 l_create_child := TRUE;
1170 ELSIF ( g_attribute_code(i) = 'RETURNABLE_FLAG' AND (NVL(l_item_rec.RETURNABLE_FLAG,'!') <> NVL(m_item_rec.RETURNABLE_FLAG,'!'))) THEN
1171 l_create_child := TRUE;
1172 ELSIF ( g_attribute_code(i) = 'PAYMENT_TERMS_ID' AND (NVL(l_item_rec.PAYMENT_TERMS_ID,-999999) <> NVL(m_item_rec.PAYMENT_TERMS_ID,-999999))) THEN
1173 l_create_child := TRUE;
1174 ELSIF ( g_attribute_code(i) = 'TAX_CODE' AND (NVL(l_item_rec.TAX_CODE,'!') <> NVL(m_item_rec.TAX_CODE,'!'))) THEN
1175 l_create_child := TRUE;
1176 ELSIF ( g_attribute_code(i) = 'SERVICE_DURATION' AND (NVL(l_item_rec.SERVICE_DURATION,-999999) <> NVL(m_item_rec.SERVICE_DURATION,-999999))) THEN
1177 l_create_child := TRUE;
1178 ELSIF ( g_attribute_code(i) = 'MAXIMUM_LOAD_WEIGHT' AND (NVL(l_item_rec.MAXIMUM_LOAD_WEIGHT,-999999) <> NVL(m_item_rec.MAXIMUM_LOAD_WEIGHT,-999999))) THEN
1179 l_create_child := TRUE;
1180 ELSIF ( g_attribute_code(i) = 'MINIMUM_FILL_PERCENT' AND (NVL(l_item_rec.MINIMUM_FILL_PERCENT,-999999) <> NVL(m_item_rec.MINIMUM_FILL_PERCENT,-999999))) THEN
1181 l_create_child := TRUE;
1182 ELSIF ( g_attribute_code(i) = 'DAYS_LATE_RECEIPT_ALLOWED' AND (NVL(l_item_rec.DAYS_LATE_RECEIPT_ALLOWED,-999999) <> NVL(m_item_rec.DAYS_LATE_RECEIPT_ALLOWED,-999999))) THEN
1183 l_create_child := TRUE;
1184 ELSIF ( g_attribute_code(i) = 'REPLENISH_TO_ORDER_FLAG' AND (NVL(l_item_rec.REPLENISH_TO_ORDER_FLAG,'!') <> NVL(m_item_rec.REPLENISH_TO_ORDER_FLAG,'!'))) THEN
1185 l_create_child := TRUE;
1186 ELSIF ( g_attribute_code(i) = 'CONTAINER_TYPE_CODE' AND (NVL(l_item_rec.CONTAINER_TYPE_CODE,'!') <> NVL(m_item_rec.CONTAINER_TYPE_CODE,'!'))) THEN
1187 l_create_child := TRUE;
1188 ELSIF ( g_attribute_code(i) = 'DEFECT_TRACKING_ON_FLAG' AND (NVL(l_item_rec.DEFECT_TRACKING_ON_FLAG,'!') <> NVL(m_item_rec.DEFECT_TRACKING_ON_FLAG,'!'))) THEN
1189 l_create_child := TRUE;
1190 ELSIF ( g_attribute_code(i) = 'ELECTRONIC_FLAG' AND (NVL(l_item_rec.ELECTRONIC_FLAG,'!') <> NVL(m_item_rec.ELECTRONIC_FLAG,'!'))) THEN
1191 l_create_child := TRUE;
1192 ELSIF ( g_attribute_code(i) = 'VOL_DISCOUNT_EXEMPT_FLAG' AND (NVL(l_item_rec.VOL_DISCOUNT_EXEMPT_FLAG,'!') <> NVL(m_item_rec.VOL_DISCOUNT_EXEMPT_FLAG,'!'))) THEN
1193 l_create_child := TRUE;
1194 ELSIF ( g_attribute_code(i) = 'WEB_STATUS' AND (NVL(l_item_rec.WEB_STATUS,'!') <> NVL(m_item_rec.WEB_STATUS,'!'))) THEN
1195 l_create_child := TRUE;
1196 ELSIF ( g_attribute_code(i) = 'SERIAL_STATUS_ENABLED' AND (NVL(l_item_rec.SERIAL_STATUS_ENABLED,'!') <> NVL(m_item_rec.SERIAL_STATUS_ENABLED,'!'))) THEN
1197 l_create_child := TRUE;
1198 ELSIF ( g_attribute_code(i) = 'DEFAULT_SERIAL_STATUS_ID' AND (NVL(l_item_rec.DEFAULT_SERIAL_STATUS_ID,-999999) <> NVL(m_item_rec.DEFAULT_SERIAL_STATUS_ID,-999999))) THEN
1199 l_create_child := TRUE;
1200 ELSIF ( g_attribute_code(i) = 'UNIT_WIDTH' AND (NVL(l_item_rec.UNIT_WIDTH,-999999) <> NVL(m_item_rec.UNIT_WIDTH,-999999))) THEN
1201 l_create_child := TRUE;
1202 ELSIF ( g_attribute_code(i) = 'OPERATION_SLACK_PENALTY' AND (NVL(l_item_rec.OPERATION_SLACK_PENALTY,-999999) <> NVL(m_item_rec.OPERATION_SLACK_PENALTY,-999999))) THEN
1203 l_create_child := TRUE;
1204 ELSIF ( g_attribute_code(i) = 'LONG_DESCRIPTION' AND (NVL(l_item_rec.LONG_DESCRIPTION,'!') <> NVL(m_item_rec.LONG_DESCRIPTION,'!'))) THEN
1205 l_create_child := TRUE;
1206 ELSIF ( g_attribute_code(i) = 'EAM_ACTIVITY_TYPE_CODE' AND (NVL(l_item_rec.EAM_ACTIVITY_TYPE_CODE,'!') <> NVL(m_item_rec.EAM_ACTIVITY_TYPE_CODE,'!'))) THEN
1207 l_create_child := TRUE;
1208 ELSIF ( g_attribute_code(i) = 'CREATE_SUPPLY_FLAG' AND (NVL(l_item_rec.CREATE_SUPPLY_FLAG,'!') <> NVL(m_item_rec.CREATE_SUPPLY_FLAG,'!'))) THEN
1209 l_create_child := TRUE;
1210 ELSIF ( g_attribute_code(i) = 'SERV_REQ_ENABLED_CODE' AND (NVL(l_item_rec.SERV_REQ_ENABLED_CODE,'!') <> NVL(m_item_rec.SERV_REQ_ENABLED_CODE,'!'))) THEN
1211 l_create_child := TRUE;
1212 ELSIF ( g_attribute_code(i) = 'IB_ITEM_INSTANCE_CLASS' AND (NVL(l_item_rec.IB_ITEM_INSTANCE_CLASS,'!') <> NVL(m_item_rec.IB_ITEM_INSTANCE_CLASS,'!'))) THEN
1213 l_create_child := TRUE;
1214 ELSIF ( g_attribute_code(i) = 'CONSIGNED_FLAG' AND (NVL(l_item_rec.CONSIGNED_FLAG,-999999) <> NVL(m_item_rec.CONSIGNED_FLAG,-999999))) THEN
1215 l_create_child := TRUE;
1216 ELSIF ( g_attribute_code(i) = 'CRITICAL_COMPONENT_FLAG' AND (NVL(l_item_rec.CRITICAL_COMPONENT_FLAG,-999999) <> NVL(m_item_rec.CRITICAL_COMPONENT_FLAG,-999999))) THEN
1217 l_create_child := TRUE;
1218 ELSIF ( g_attribute_code(i) = 'CHILD_LOT_VALIDATION_FLAG' AND (NVL(l_item_rec.CHILD_LOT_VALIDATION_FLAG,'!') <> NVL(m_item_rec.CHILD_LOT_VALIDATION_FLAG,'!'))) THEN
1219 l_create_child := TRUE;
1220 ELSIF ( g_attribute_code(i) = 'PROCESS_YIELD_LOCATOR_ID' AND (NVL(l_item_rec.PROCESS_YIELD_LOCATOR_ID,-999999) <> NVL(m_item_rec.PROCESS_YIELD_LOCATOR_ID,-999999))) THEN
1221 l_create_child := TRUE;
1222 ELSIF ( g_attribute_code(i) = 'BOM_ENABLED_FLAG' AND (NVL(l_item_rec.BOM_ENABLED_FLAG,'!') <> NVL(m_item_rec.BOM_ENABLED_FLAG,'!'))) THEN
1223 l_create_child := TRUE;
1224 ELSIF ( g_attribute_code(i) = 'ASSET_CATEGORY_ID' AND (NVL(l_item_rec.ASSET_CATEGORY_ID,-999999) <> NVL(m_item_rec.ASSET_CATEGORY_ID,-999999))) THEN
1225 l_create_child := TRUE;
1226 ELSIF ( g_attribute_code(i) = 'BUYER_ID' AND (NVL(l_item_rec.BUYER_ID,-999999) <> NVL(m_item_rec.BUYER_ID,-999999))) THEN
1227 l_create_child := TRUE;
1228 ELSIF ( g_attribute_code(i) = 'RFQ_REQUIRED_FLAG' AND (NVL(l_item_rec.RFQ_REQUIRED_FLAG,'!') <> NVL(m_item_rec.RFQ_REQUIRED_FLAG,'!'))) THEN
1229 l_create_child := TRUE;
1230 ELSIF ( g_attribute_code(i) = 'ALLOW_UNORDERED_RECEIPTS_FLAG' AND (NVL(l_item_rec.ALLOW_UNORDERED_RECEIPTS_FLAG,'!') <> NVL(m_item_rec.ALLOW_UNORDERED_RECEIPTS_FLAG,'!'))) THEN
1231 l_create_child := TRUE;
1232 ELSIF ( g_attribute_code(i) = 'DAYS_EARLY_RECEIPT_ALLOWED' AND (NVL(l_item_rec.DAYS_EARLY_RECEIPT_ALLOWED,-999999) <> NVL(m_item_rec.DAYS_EARLY_RECEIPT_ALLOWED,-999999))) THEN
1233 l_create_child := TRUE;
1234 ELSIF ( g_attribute_code(i) = 'CYCLE_COUNT_ENABLED_FLAG' AND (NVL(l_item_rec.CYCLE_COUNT_ENABLED_FLAG,'!') <> NVL(m_item_rec.CYCLE_COUNT_ENABLED_FLAG,'!'))) THEN
1235 l_create_child := TRUE;
1236 ELSIF ( g_attribute_code(i) = 'WEIGHT_UOM_CODE' AND (NVL(l_item_rec.WEIGHT_UOM_CODE,'!') <> NVL(m_item_rec.WEIGHT_UOM_CODE,'!'))) THEN
1237 l_create_child := TRUE;
1238 ELSIF ( g_attribute_code(i) = 'FIXED_ORDER_QUANTITY' AND (NVL(l_item_rec.FIXED_ORDER_QUANTITY,-999999) <> NVL(m_item_rec.FIXED_ORDER_QUANTITY,-999999))) THEN
1239 l_create_child := TRUE;
1240 ELSIF ( g_attribute_code(i) = 'MAX_MINMAX_QUANTITY' AND (NVL(l_item_rec.MAX_MINMAX_QUANTITY,-999999) <> NVL(m_item_rec.MAX_MINMAX_QUANTITY,-999999))) THEN
1241 l_create_child := TRUE;
1242 ELSIF ( g_attribute_code(i) = 'SOURCE_SUBINVENTORY' AND (NVL(l_item_rec.SOURCE_SUBINVENTORY,'!') <> NVL(m_item_rec.SOURCE_SUBINVENTORY,'!'))) THEN
1243 l_create_child := TRUE;
1244 ELSIF ( g_attribute_code(i) = 'REPETITIVE_PLANNING_FLAG' AND (NVL(l_item_rec.REPETITIVE_PLANNING_FLAG,'!') <> NVL(m_item_rec.REPETITIVE_PLANNING_FLAG,'!'))) THEN
1245 l_create_child := TRUE;
1246 ELSIF ( g_attribute_code(i) = 'INTERNAL_ORDER_ENABLED_FLAG' AND (NVL(l_item_rec.INTERNAL_ORDER_ENABLED_FLAG,'!') <> NVL(m_item_rec.INTERNAL_ORDER_ENABLED_FLAG,'!'))) THEN
1247 l_create_child := TRUE;
1248 ELSIF ( g_attribute_code(i) = 'PICKING_RULE_ID' AND (NVL(l_item_rec.PICKING_RULE_ID,-999999) <> NVL(m_item_rec.PICKING_RULE_ID,-999999))) THEN
1249 l_create_child := TRUE;
1250 ELSIF ( g_attribute_code(i) = 'SHIPPABLE_ITEM_FLAG' AND (NVL(l_item_rec.SHIPPABLE_ITEM_FLAG,'!') <> NVL(m_item_rec.SHIPPABLE_ITEM_FLAG,'!'))) THEN
1251 l_create_child := TRUE;
1252 ELSIF ( g_attribute_code(i) = 'MAX_WARRANTY_AMOUNT' AND (NVL(l_item_rec.MAX_WARRANTY_AMOUNT,-999999) <> NVL(m_item_rec.MAX_WARRANTY_AMOUNT,-999999))) THEN
1253 l_create_child := TRUE;
1254 ELSIF ( g_attribute_code(i) = 'RESPONSE_TIME_VALUE' AND (NVL(l_item_rec.RESPONSE_TIME_VALUE,-999999) <> NVL(m_item_rec.RESPONSE_TIME_VALUE,-999999))) THEN
1255 l_create_child := TRUE;
1256 ELSIF ( g_attribute_code(i) = 'INVENTORY_ASSET_FLAG' AND (NVL(l_item_rec.INVENTORY_ASSET_FLAG,'!') <> NVL(m_item_rec.INVENTORY_ASSET_FLAG,'!'))) THEN
1257 l_create_child := TRUE;
1258 ELSIF ( g_attribute_code(i) = 'UNIT_VOLUME' AND (NVL(l_item_rec.UNIT_VOLUME,-999999) <> NVL(m_item_rec.UNIT_VOLUME,-999999))) THEN
1259 l_create_child := TRUE;
1260 ELSIF ( g_attribute_code(i) = 'END_ASSEMBLY_PEGGING_FLAG' AND (NVL(l_item_rec.END_ASSEMBLY_PEGGING_FLAG,'!') <> NVL(m_item_rec.END_ASSEMBLY_PEGGING_FLAG,'!'))) THEN
1261 l_create_child := TRUE;
1262 ELSIF ( g_attribute_code(i) = 'VARIABLE_LEAD_TIME' AND (NVL(l_item_rec.VARIABLE_LEAD_TIME,-999999) <> NVL(m_item_rec.VARIABLE_LEAD_TIME,-999999))) THEN
1263 l_create_child := TRUE;
1264 ELSIF ( g_attribute_code(i) = 'SERVICEABLE_ITEM_CLASS_ID' AND (NVL(l_item_rec.SERVICEABLE_ITEM_CLASS_ID,-999999) <> NVL(m_item_rec.SERVICEABLE_ITEM_CLASS_ID,-999999))) THEN
1265 l_create_child := TRUE;
1266 ELSIF ( g_attribute_code(i) = 'RECOVERED_PART_DISP_CODE' AND (NVL(l_item_rec.RECOVERED_PART_DISP_CODE,'!') <> NVL(m_item_rec.RECOVERED_PART_DISP_CODE,'!'))) THEN
1267 l_create_child := TRUE;
1268 ELSIF ( g_attribute_code(i) = 'DOWNLOADABLE_FLAG' AND (NVL(l_item_rec.DOWNLOADABLE_FLAG,'!') <> NVL(m_item_rec.DOWNLOADABLE_FLAG,'!'))) THEN
1269 l_create_child := TRUE;
1270 ELSIF ( g_attribute_code(i) = 'LOT_SPLIT_ENABLED' AND (NVL(l_item_rec.LOT_SPLIT_ENABLED,'!') <> NVL(m_item_rec.LOT_SPLIT_ENABLED,'!'))) THEN
1271 l_create_child := TRUE;
1272 ELSIF ( g_attribute_code(i) = 'UNIT_HEIGHT' AND (NVL(l_item_rec.UNIT_HEIGHT,-999999) <> NVL(m_item_rec.UNIT_HEIGHT,-999999))) THEN
1273 l_create_child := TRUE;
1274 ELSIF ( g_attribute_code(i) = 'EAM_ACT_SHUTDOWN_STATUS' AND (NVL(l_item_rec.EAM_ACT_SHUTDOWN_STATUS,'!') <> NVL(m_item_rec.EAM_ACT_SHUTDOWN_STATUS,'!'))) THEN
1275 l_create_child := TRUE;
1276 ELSIF ( g_attribute_code(i) = 'LOT_TRANSLATE_ENABLED' AND (NVL(l_item_rec.LOT_TRANSLATE_ENABLED,'!') <> NVL(m_item_rec.LOT_TRANSLATE_ENABLED,'!'))) THEN
1277 l_create_child := TRUE;
1278 ELSIF ( g_attribute_code(i) = 'VMI_MINIMUM_UNITS' AND (NVL(l_item_rec.VMI_MINIMUM_UNITS,-999999) <> NVL(m_item_rec.VMI_MINIMUM_UNITS,-999999))) THEN
1279 l_create_child := TRUE;
1280 ELSIF ( g_attribute_code(i) = 'VMI_MAXIMUM_UNITS' AND (NVL(l_item_rec.VMI_MAXIMUM_UNITS,-999999) <> NVL(m_item_rec.VMI_MAXIMUM_UNITS,-999999))) THEN
1281 l_create_child := TRUE;
1282 ELSIF ( g_attribute_code(i) = 'SO_AUTHORIZATION_FLAG' AND (NVL(l_item_rec.SO_AUTHORIZATION_FLAG,-999999) <> NVL(m_item_rec.SO_AUTHORIZATION_FLAG,-999999))) THEN
1283 l_create_child := TRUE;
1284 ELSIF ( g_attribute_code(i) = 'DAYS_MAX_INV_WINDOW' AND (NVL(l_item_rec.DAYS_MAX_INV_WINDOW,-999999) <> NVL(m_item_rec.DAYS_MAX_INV_WINDOW,-999999))) THEN
1285 l_create_child := TRUE;
1286 ELSIF ( g_attribute_code(i) = 'DAYS_TGT_INV_WINDOW' AND (NVL(l_item_rec.DAYS_TGT_INV_WINDOW,-999999) <> NVL(m_item_rec.DAYS_TGT_INV_WINDOW,-999999))) THEN
1287 l_create_child := TRUE;
1288 ELSIF ( g_attribute_code(i) = 'GRADE_CONTROL_FLAG' AND (NVL(l_item_rec.GRADE_CONTROL_FLAG,'!') <> NVL(m_item_rec.GRADE_CONTROL_FLAG,'!'))) THEN
1289 l_create_child := TRUE;
1290 ELSIF ( g_attribute_code(i) = 'CHILD_LOT_FLAG' AND (NVL(l_item_rec.CHILD_LOT_FLAG,'!') <> NVL(m_item_rec.CHILD_LOT_FLAG,'!'))) THEN
1291 l_create_child := TRUE;
1292 ELSIF ( g_attribute_code(i) = 'RETEST_INTERVAL' AND (NVL(l_item_rec.RETEST_INTERVAL,-999999) <> NVL(m_item_rec.RETEST_INTERVAL,-999999))) THEN
1293 l_create_child := TRUE;
1294 ELSIF ( g_attribute_code(i) = 'CHARGE_PERIODICITY_CODE' AND (NVL(l_item_rec.CHARGE_PERIODICITY_CODE,'!') <> NVL(m_item_rec.CHARGE_PERIODICITY_CODE,'!'))) THEN
1295 l_create_child := TRUE;
1296 ELSIF ( g_attribute_code(i) = 'BOM_ITEM_TYPE' AND (NVL(l_item_rec.BOM_ITEM_TYPE,-999999) <> NVL(m_item_rec.BOM_ITEM_TYPE,-999999))) THEN
1297 l_create_child := TRUE;
1298 ELSIF ( g_attribute_code(i) = 'MUST_USE_APPROVED_VENDOR_FLAG' AND (NVL(l_item_rec.MUST_USE_APPROVED_VENDOR_FLAG,'!') <> NVL(m_item_rec.MUST_USE_APPROVED_VENDOR_FLAG,'!'))) THEN
1299 l_create_child := TRUE;
1300 ELSIF ( g_attribute_code(i) = 'PURCHASING_ENABLED_FLAG' AND (NVL(l_item_rec.PURCHASING_ENABLED_FLAG,'!') <> NVL(m_item_rec.PURCHASING_ENABLED_FLAG,'!'))) THEN
1301 l_create_child := TRUE;
1302 ELSIF ( g_attribute_code(i) = 'ENFORCE_SHIP_TO_LOCATION_CODE' AND (NVL(l_item_rec.ENFORCE_SHIP_TO_LOCATION_CODE,'!') <> NVL(m_item_rec.ENFORCE_SHIP_TO_LOCATION_CODE,'!'))) THEN
1303 l_create_child := TRUE;
1304 ELSIF ( g_attribute_code(i) = 'RESERVABLE_TYPE' AND (NVL(l_item_rec.RESERVABLE_TYPE,-999999) <> NVL(m_item_rec.RESERVABLE_TYPE,-999999))) THEN
1305 l_create_child := TRUE;
1306 ELSIF ( g_attribute_code(i) = 'SERIAL_NUMBER_CONTROL_CODE' AND (NVL(l_item_rec.SERIAL_NUMBER_CONTROL_CODE,-999999) <> NVL(m_item_rec.SERIAL_NUMBER_CONTROL_CODE,-999999))) THEN
1307 l_create_child := TRUE;
1308 ELSIF ( g_attribute_code(i) = 'FIXED_DAYS_SUPPLY' AND (NVL(l_item_rec.FIXED_DAYS_SUPPLY,-999999) <> NVL(m_item_rec.FIXED_DAYS_SUPPLY,-999999))) THEN
1309 l_create_child := TRUE;
1310 ELSIF ( g_attribute_code(i) = 'FIXED_LOT_MULTIPLIER' AND (NVL(l_item_rec.FIXED_LOT_MULTIPLIER,-999999) <> NVL(m_item_rec.FIXED_LOT_MULTIPLIER,-999999))) THEN
1311 l_create_child := TRUE;
1312 ELSIF ( g_attribute_code(i) = 'MINIMUM_ORDER_QUANTITY' AND (NVL(l_item_rec.MINIMUM_ORDER_QUANTITY,-999999) <> NVL(m_item_rec.MINIMUM_ORDER_QUANTITY,-999999))) THEN
1313 l_create_child := TRUE;
1314 ELSIF ( g_attribute_code(i) = 'PLANNER_CODE' AND (NVL(l_item_rec.PLANNER_CODE,'!') <> NVL(m_item_rec.PLANNER_CODE,'!'))) THEN
1315 l_create_child := TRUE;
1316 ELSIF ( g_attribute_code(i) = 'SOURCE_TYPE' AND (NVL(l_item_rec.SOURCE_TYPE,-999999) <> NVL(m_item_rec.SOURCE_TYPE,-999999))) THEN
1317 l_create_child := TRUE;
1318 ELSIF ( g_attribute_code(i) = 'MRP_PLANNING_CODE' AND (NVL(l_item_rec.MRP_PLANNING_CODE,-999999) <> NVL(m_item_rec.MRP_PLANNING_CODE,-999999))) THEN
1319 l_create_child := TRUE;
1320 ELSIF ( g_attribute_code(i) = 'SHRINKAGE_RATE' AND (NVL(l_item_rec.SHRINKAGE_RATE,-999999) <> NVL(m_item_rec.SHRINKAGE_RATE,-999999))) THEN
1321 l_create_child := TRUE;
1322 ELSIF ( g_attribute_code(i) = 'PREPROCESSING_LEAD_TIME' AND (NVL(l_item_rec.PREPROCESSING_LEAD_TIME,-999999) <> NVL(m_item_rec.PREPROCESSING_LEAD_TIME,-999999))) THEN
1323 l_create_child := TRUE;
1324 ELSIF ( g_attribute_code(i) = 'WIP_SUPPLY_TYPE' AND (NVL(l_item_rec.WIP_SUPPLY_TYPE,-999999) <> NVL(m_item_rec.WIP_SUPPLY_TYPE,-999999))) THEN
1325 l_create_child := TRUE;
1326 ELSIF ( g_attribute_code(i) = 'ATP_RULE_ID' AND (NVL(l_item_rec.ATP_RULE_ID,-999999) <> NVL(m_item_rec.ATP_RULE_ID,-999999))) THEN
1327 l_create_child := TRUE;
1328 ELSIF ( g_attribute_code(i) = 'CUSTOMER_ORDER_FLAG' AND (NVL(l_item_rec.CUSTOMER_ORDER_FLAG,'!') <> NVL(m_item_rec.CUSTOMER_ORDER_FLAG,'!'))) THEN
1329 l_create_child := TRUE;
1330 ELSIF ( g_attribute_code(i) = 'SECONDARY_SPECIALIST_ID' AND (NVL(l_item_rec.SECONDARY_SPECIALIST_ID,-999999) <> NVL(m_item_rec.SECONDARY_SPECIALIST_ID,-999999))) THEN
1331 l_create_child := TRUE;
1332 ELSIF ( g_attribute_code(i) = 'QTY_RCV_EXCEPTION_CODE' AND (NVL(l_item_rec.QTY_RCV_EXCEPTION_CODE,'!') <> NVL(m_item_rec.QTY_RCV_EXCEPTION_CODE,'!'))) THEN
1333 l_create_child := TRUE;
1334 ELSIF ( g_attribute_code(i) = 'LOT_CONTROL_CODE' AND (NVL(l_item_rec.LOT_CONTROL_CODE,-999999) <> NVL(m_item_rec.LOT_CONTROL_CODE,-999999))) THEN
1335 l_create_child := TRUE;
1336 ELSIF ( g_attribute_code(i) = 'PLANNING_MAKE_BUY_CODE' AND (NVL(l_item_rec.PLANNING_MAKE_BUY_CODE,-999999) <> NVL(m_item_rec.PLANNING_MAKE_BUY_CODE,-999999))) THEN
1337 l_create_child := TRUE;
1338 ELSIF ( g_attribute_code(i) = 'LEAD_TIME_LOT_SIZE' AND (NVL(l_item_rec.LEAD_TIME_LOT_SIZE,-999999) <> NVL(m_item_rec.LEAD_TIME_LOT_SIZE,-999999))) THEN
1339 l_create_child := TRUE;
1340 ELSIF ( g_attribute_code(i) = 'SERVICEABLE_COMPONENT_FLAG' AND (NVL(l_item_rec.SERVICEABLE_COMPONENT_FLAG,'!') <> NVL(m_item_rec.SERVICEABLE_COMPONENT_FLAG,'!'))) THEN
1341 l_create_child := TRUE;
1342 ELSIF ( g_attribute_code(i) = 'UNDER_RETURN_TOLERANCE' AND (NVL(l_item_rec.UNDER_RETURN_TOLERANCE,-999999) <> NVL(m_item_rec.UNDER_RETURN_TOLERANCE,-999999))) THEN
1343 l_create_child := TRUE;
1344 ELSIF ( g_attribute_code(i) = 'EQUIPMENT_TYPE' AND (NVL(l_item_rec.EQUIPMENT_TYPE,-999999) <> NVL(m_item_rec.EQUIPMENT_TYPE,-999999))) THEN
1345 l_create_child := TRUE;
1346 ELSIF ( g_attribute_code(i) = 'DEFAULT_LOT_STATUS_ID' AND (NVL(l_item_rec.DEFAULT_LOT_STATUS_ID,-999999) <> NVL(m_item_rec.DEFAULT_LOT_STATUS_ID,-999999))) THEN
1347 l_create_child := TRUE;
1348 ELSIF ( g_attribute_code(i) = 'FINANCING_ALLOWED_FLAG' AND (NVL(l_item_rec.FINANCING_ALLOWED_FLAG,'!') <> NVL(m_item_rec.FINANCING_ALLOWED_FLAG,'!'))) THEN
1349 l_create_child := TRUE;
1350 ELSIF ( g_attribute_code(i) = 'DUAL_UOM_CONTROL' AND (NVL(l_item_rec.DUAL_UOM_CONTROL,-999999) <> NVL(m_item_rec.DUAL_UOM_CONTROL,-999999))) THEN
1351 l_create_child := TRUE;
1352 ELSIF ( g_attribute_code(i) = 'EAM_ACTIVITY_CAUSE_CODE' AND (NVL(l_item_rec.EAM_ACTIVITY_CAUSE_CODE,'!') <> NVL(m_item_rec.EAM_ACTIVITY_CAUSE_CODE,'!'))) THEN
1353 l_create_child := TRUE;
1354 ELSIF ( g_attribute_code(i) = 'SUBSTITUTION_WINDOW_DAYS' AND (NVL(l_item_rec.SUBSTITUTION_WINDOW_DAYS,-999999) <> NVL(m_item_rec.SUBSTITUTION_WINDOW_DAYS,-999999))) THEN
1355 l_create_child := TRUE;
1356 ELSIF ( g_attribute_code(i) = 'AUTO_CREATED_CONFIG_FLAG' AND (NVL(l_item_rec.AUTO_CREATED_CONFIG_FLAG,'!') <> NVL(m_item_rec.AUTO_CREATED_CONFIG_FLAG,'!'))) THEN
1357 l_create_child := TRUE;
1358 ELSIF ( g_attribute_code(i) = 'FORECAST_HORIZON' AND (NVL(l_item_rec.FORECAST_HORIZON,-999999) <> NVL(m_item_rec.FORECAST_HORIZON,-999999))) THEN
1359 l_create_child := TRUE;
1360 ELSIF ( g_attribute_code(i) = 'DAYS_MAX_INV_SUPPLY' AND (NVL(l_item_rec.DAYS_MAX_INV_SUPPLY,-999999) <> NVL(m_item_rec.DAYS_MAX_INV_SUPPLY,-999999))) THEN
1361 l_create_child := TRUE;
1362 ELSIF ( g_attribute_code(i) = 'DIVERGENCE' AND (NVL(l_item_rec.DIVERGENCE,-999999) <> NVL(m_item_rec.DIVERGENCE,-999999))) THEN
1363 l_create_child := TRUE;
1364 ELSIF ( g_attribute_code(i) = 'PARENT_CHILD_GENERATION_FLAG' AND (NVL(l_item_rec.PARENT_CHILD_GENERATION_FLAG,'!') <> NVL(m_item_rec.PARENT_CHILD_GENERATION_FLAG,'!'))) THEN
1365 l_create_child := TRUE;
1366 ELSIF ( g_attribute_code(i) = 'EXPIRATION_ACTION_CODE' AND (NVL(l_item_rec.EXPIRATION_ACTION_CODE,'!') <> NVL(m_item_rec.EXPIRATION_ACTION_CODE,'!'))) THEN
1367 l_create_child := TRUE;
1368 ELSIF ( g_attribute_code(i) = 'PROCESS_COSTING_ENABLED_FLAG' AND (NVL(l_item_rec.PROCESS_COSTING_ENABLED_FLAG,'!') <> NVL(m_item_rec.PROCESS_COSTING_ENABLED_FLAG,'!'))) THEN
1369 l_create_child := TRUE;
1370 ELSIF ( g_attribute_code(i) = 'PROCESS_SUPPLY_SUBINVENTORY' AND (NVL(l_item_rec.PROCESS_SUPPLY_SUBINVENTORY,'!') <> NVL(m_item_rec.PROCESS_SUPPLY_SUBINVENTORY,'!'))) THEN
1371 l_create_child := TRUE;
1372 ELSIF ( g_attribute_code(i) = 'EXPENSE_ACCOUNT' AND (NVL(l_item_rec.EXPENSE_ACCOUNT,-999999) <> NVL(m_item_rec.EXPENSE_ACCOUNT,-999999))) THEN
1373 l_create_child := TRUE;
1374 ELSIF ( g_attribute_code(i) = 'UN_NUMBER_ID' AND (NVL(l_item_rec.UN_NUMBER_ID,-999999) <> NVL(m_item_rec.UN_NUMBER_ID,-999999))) THEN
1375 l_create_child := TRUE;
1376 ELSIF ( g_attribute_code(i) = 'RECEIVE_CLOSE_TOLERANCE' AND (NVL(l_item_rec.RECEIVE_CLOSE_TOLERANCE,-999999) <> NVL(m_item_rec.RECEIVE_CLOSE_TOLERANCE,-999999))) THEN
1377 l_create_child := TRUE;
1378 ELSIF ( g_attribute_code(i) = 'AUTO_SERIAL_ALPHA_PREFIX' AND (NVL(l_item_rec.AUTO_SERIAL_ALPHA_PREFIX,'!') <> NVL(m_item_rec.AUTO_SERIAL_ALPHA_PREFIX,'!'))) THEN
1379 l_create_child := TRUE;
1380 ELSIF ( g_attribute_code(i) = 'MTL_TRANSACTIONS_ENABLED_FLAG' AND (NVL(l_item_rec.MTL_TRANSACTIONS_ENABLED_FLAG,'!') <> NVL(m_item_rec.MTL_TRANSACTIONS_ENABLED_FLAG,'!'))) THEN
1381 l_create_child := TRUE;
1382 ELSIF ( g_attribute_code(i) = 'VOLUME_UOM_CODE' AND (NVL(l_item_rec.VOLUME_UOM_CODE,'!') <> NVL(m_item_rec.VOLUME_UOM_CODE,'!'))) THEN
1383 l_create_child := TRUE;
1384 ELSIF ( g_attribute_code(i) = 'ACCEPTABLE_EARLY_DAYS' AND (NVL(l_item_rec.ACCEPTABLE_EARLY_DAYS,-999999) <> NVL(m_item_rec.ACCEPTABLE_EARLY_DAYS,-999999))) THEN
1385 l_create_child := TRUE;
1386 ELSIF ( g_attribute_code(i) = 'ACCEPTABLE_RATE_INCREASE' AND (NVL(l_item_rec.ACCEPTABLE_RATE_INCREASE,-999999) <> NVL(m_item_rec.ACCEPTABLE_RATE_INCREASE,-999999))) THEN
1387 l_create_child := TRUE;
1388 ELSIF ( g_attribute_code(i) = 'DEMAND_TIME_FENCE_CODE' AND (NVL(l_item_rec.DEMAND_TIME_FENCE_CODE,-999999) <> NVL(m_item_rec.DEMAND_TIME_FENCE_CODE,-999999))) THEN
1389 l_create_child := TRUE;
1390 ELSIF ( g_attribute_code(i) = 'ATP_COMPONENTS_FLAG' AND (NVL(l_item_rec.ATP_COMPONENTS_FLAG,'!') <> NVL(m_item_rec.ATP_COMPONENTS_FLAG,'!'))) THEN
1391 l_create_child := TRUE;
1392 ELSIF ( g_attribute_code(i) = 'RETURN_INSPECTION_REQUIREMENT' AND (NVL(l_item_rec.RETURN_INSPECTION_REQUIREMENT,-999999) <> NVL(m_item_rec.RETURN_INSPECTION_REQUIREMENT,-999999))) THEN
1393 l_create_child := TRUE;
1394 ELSIF ( g_attribute_code(i) = 'RESPONSE_TIME_PERIOD_CODE' AND (NVL(l_item_rec.RESPONSE_TIME_PERIOD_CODE,'!') <> NVL(m_item_rec.RESPONSE_TIME_PERIOD_CODE,'!'))) THEN
1395 l_create_child := TRUE;
1396 ELSIF ( g_attribute_code(i) = 'VEHICLE_ITEM_FLAG' AND (NVL(l_item_rec.VEHICLE_ITEM_FLAG,'!') <> NVL(m_item_rec.VEHICLE_ITEM_FLAG,'!'))) THEN
1397 l_create_child := TRUE;
1398 ELSIF ( g_attribute_code(i) = 'CONTAINER_ITEM_FLAG' AND (NVL(l_item_rec.CONTAINER_ITEM_FLAG,'!') <> NVL(m_item_rec.CONTAINER_ITEM_FLAG,'!'))) THEN
1399 l_create_child := TRUE;
1400 ELSIF ( g_attribute_code(i) = 'RELEASE_TIME_FENCE_CODE' AND (NVL(l_item_rec.RELEASE_TIME_FENCE_CODE,-999999) <> NVL(m_item_rec.RELEASE_TIME_FENCE_CODE,-999999))) THEN
1401 l_create_child := TRUE;
1402 ELSIF ( g_attribute_code(i) = 'INTERNAL_VOLUME' AND (NVL(l_item_rec.INTERNAL_VOLUME,-999999) <> NVL(m_item_rec.INTERNAL_VOLUME,-999999))) THEN
1403 l_create_child := TRUE;
1404 ELSIF ( g_attribute_code(i) = 'EFFECTIVITY_CONTROL' AND (NVL(l_item_rec.EFFECTIVITY_CONTROL,-999999) <> NVL(m_item_rec.EFFECTIVITY_CONTROL,-999999))) THEN
1405 l_create_child := TRUE;
1406 ELSIF ( g_attribute_code(i) = 'COUPON_EXEMPT_FLAG' AND (NVL(l_item_rec.COUPON_EXEMPT_FLAG,'!') <> NVL(m_item_rec.COUPON_EXEMPT_FLAG,'!'))) THEN
1407 l_create_child := TRUE;
1408 ELSIF ( g_attribute_code(i) = 'COMMS_NL_TRACKABLE_FLAG' AND (NVL(l_item_rec.COMMS_NL_TRACKABLE_FLAG,'!') <> NVL(m_item_rec.COMMS_NL_TRACKABLE_FLAG,'!'))) THEN
1409 l_create_child := TRUE;
1410 ELSIF ( g_attribute_code(i) = 'ORDERABLE_ON_WEB_FLAG' AND (NVL(l_item_rec.ORDERABLE_ON_WEB_FLAG,'!') <> NVL(m_item_rec.ORDERABLE_ON_WEB_FLAG,'!'))) THEN
1411 l_create_child := TRUE;
1412 ELSIF ( g_attribute_code(i) = 'CONFIG_MODEL_TYPE' AND (NVL(l_item_rec.CONFIG_MODEL_TYPE,'!') <> NVL(m_item_rec.CONFIG_MODEL_TYPE,'!'))) THEN
1413 l_create_child := TRUE;
1414 ELSIF ( g_attribute_code(i) = 'ASN_AUTOEXPIRE_FLAG' AND (NVL(l_item_rec.ASN_AUTOEXPIRE_FLAG,-999999) <> NVL(m_item_rec.ASN_AUTOEXPIRE_FLAG,-999999))) THEN
1415 l_create_child := TRUE;
1416 ELSIF ( g_attribute_code(i) = 'DRP_PLANNED_FLAG' AND (NVL(l_item_rec.DRP_PLANNED_FLAG,-999999) <> NVL(m_item_rec.DRP_PLANNED_FLAG,-999999))) THEN
1417 l_create_child := TRUE;
1418 ELSIF ( g_attribute_code(i) = 'COPY_LOT_ATTRIBUTE_FLAG' AND (NVL(l_item_rec.COPY_LOT_ATTRIBUTE_FLAG,'!') <> NVL(m_item_rec.COPY_LOT_ATTRIBUTE_FLAG,'!'))) THEN
1419 l_create_child := TRUE;
1420 ELSIF ( g_attribute_code(i) = 'REPAIR_PROGRAM' AND (NVL(l_item_rec.REPAIR_PROGRAM,-999999) <> NVL(m_item_rec.REPAIR_PROGRAM,-999999))) THEN
1421 l_create_child := TRUE;
1422 ELSIF ( g_attribute_code(i) = 'PROCESS_EXECUTION_ENABLED_FLAG' AND (NVL(l_item_rec.PROCESS_EXECUTION_ENABLED_FLAG,'!') <> NVL(m_item_rec.PROCESS_EXECUTION_ENABLED_FLAG,'!'))) THEN
1423 l_create_child := TRUE;
1424 END IF;
1425
1426 END LOOP;
1427 END IF;
1428 -- CLOSE c_master_attributes; -- Bug 10404086
1429
1430 check_create_child := l_create_child ;
1431
1432 EXCEPTION
1433 WHEN OTHERS THEN
1434 -- Bug 10404086 - Commenting below code.
1435 /*IF (c_master_attributes%ISOPEN) THEN
1436 CLOSE c_master_attributes;
1437 END IF;
1438 */
1439 check_create_child := TRUE;
1440 INVPUTLI.info('INVUPD2B.check_create_child_records : Exception ' || SQLERRM );
1441
1442 END Check_create_child_records;
1443
1444 FUNCTION check_child_records
1445 (
1446 master_row_id ROWID,
1447 inv_item_id NUMBER,
1448 org_id NUMBER,
1449 trans_id NUMBER,
1450 prog_appid NUMBER := -1,
1451 prog_id NUMBER := -1,
1452 request_id NUMBER := -1,
1453 user_id NUMBER := -1,
1454 login_id NUMBER := -1,
1455 err_text IN OUT NOCOPY VARCHAR2,
1456 xset_id IN NUMBER DEFAULT NULL
1457 )
1458 return NUMBER
1459 IS
1460
1461 CURSOR C_msi_child_records is
1462 select
1463 MSI.INVENTORY_ITEM_ID,
1464 MSI.ORGANIZATION_ID
1465 from MTL_SYSTEM_ITEMS_B MSI, MTL_PARAMETERS MP
1466 where MP.master_organization_id = org_id
1467 and MP.organization_id = MSI.organization_id
1468 and MSI.inventory_item_id = inv_item_id
1469 and MSI.organization_id <> MP.master_organization_id;
1470
1471 CURSOR C_msii_forupdate_records is
1472 select
1473 ROWID, ORGANIZATION_ID
1474 from MTL_SYSTEM_ITEMS_INTERFACE
1475 where SET_PROCESS_ID = xset_id + 1000000000000
1476 and PROCESS_FLAG = 4
1477 and INVENTORY_ITEM_ID = inv_item_id;
1478
1479 ret_code_create NUMBER := 0;
1480 ret_code_update NUMBER := 0;
1481 ret_code NUMBER;
1482 org_id_temp NUMBER;
1483
1484 l_created_child BOOLEAN := FALSE;
1485
1486 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
1487 l_check_create_child BOOLEAN; --Bug: 5437967
1488
1489 BEGIN
1490
1491 IF l_inv_debug_level IN(101, 102) THEN
1492 INVPUTLI.info('INVUPD2B: Inside check_child_records'|| '***orgid: ' || TO_CHAR(org_id));
1493 END IF;
1494
1495 -- Bug 10404086 : Start
1496 Check_create_child_records(mast_rowid => master_row_id,
1497 item_id => inv_item_id,
1498 org_id => org_id, -- Pass master org id
1499 check_create_child => l_check_create_child);
1500
1501 -- Create the child records only if any master controlled attrs for the master are being changed.
1502 IF l_check_create_child = TRUE THEN -- Bug 10404086
1503
1504 -- for each record in msi which is a child record of the item
1505 for crec in C_msi_child_records loop -- {
1506 --Bug: 5437967 Added call to Check_create_child_records
1507 -- Bug 10404086 : Moving the below api call out of the loop,
1508 -- this need to be executed only for master records but not for child records.
1509 /*
1510 Check_create_child_records(mast_rowid => master_row_id,
1511 item_id => crec.inventory_item_id,
1512 org_id => crec.organization_id,
1513 check_create_child => l_check_create_child);
1514 IF l_check_create_child = TRUE THEN
1515 */ -- Bug 10404086.
1516
1517 ret_code := INVUPD2B.create_child_update_mast_attr(master_row_id, crec.INVENTORY_ITEM_ID, crec.ORGANIZATION_ID, xset_id);
1518 l_created_child := TRUE;
1519 -- END IF;
1520 end loop; -- } -- msi_child loop
1521
1522 END IF; -- Bug 10404086
1523
1524 --3515652: Should call only when child recods are inserted.
1525 -- validate the inserted records in msii with SET_PROCESS_ID = xset_id + 1000000000000
1526 IF l_created_child THEN
1527
1528 ret_code_create := INVNIRIS.change_policy_check (
1529 org_id => org_id,
1530 all_org => 1,
1531 prog_appid => prog_appid,
1532 prog_id => prog_id,
1533 request_id => request_id,
1534 user_id => user_id,
1535 login_id => login_id,
1536 err_text => err_text,
1537 xset_id => xset_id + 1000000000000);
1538
1539 ret_code_create := INVPVALI.mtl_pr_validate_item(
1540 org_id,
1541 1,
1542 prog_appid,
1543 prog_id,
1544 request_id,
1545 user_id,
1546 login_id,
1547 err_text,
1548 xset_id + 1000000000000);
1549
1550 for rec in C_msii_forupdate_records loop
1551 ret_code_update := INVUPD2B.update_validations(
1552 rec.ROWID,
1553 rec.ORGANIZATION_ID,
1554 trans_id,
1555 user_id,
1556 login_id,
1557 prog_appid,
1558 prog_id,
1559 request_id);
1560 exit when ret_code_update = 1;
1561 end loop;
1562 END IF;
1563
1564 if (ret_code_create = 1 OR ret_code_update = 1) then
1565 return (1);
1566 else
1567 return (0);
1568 end if;
1569
1570 EXCEPTION
1571
1572 when NO_DATA_FOUND then
1573 -- there are no child records in msi
1574 return (0);
1575
1576 when OTHERS then
1577 --bug #4251913 : Included SQLCODE and SQLERRM to trap exception messages.
1578 IF l_inv_debug_level IN(101, 102) THEN
1579 INVPUTLI.info(
1580 Substr('When OTHERS exception raised in check_child_records '||
1581 SQLCODE ||
1582 ' - ' ||
1583 SQLERRM,1,240));
1584 END IF;
1585 return (1);
1586
1587 END check_child_records;
1588
1589 -------------------------------------------------------------
1590
1591 FUNCTION create_child_update_mast_attr
1592 (
1593 master_row_id ROWID,
1594 inv_item_id NUMBER,
1595 org_id NUMBER,
1596 xset_id IN NUMBER
1597 )
1598 return INTEGER
1599 IS
1600 ret_code NUMBER;
1601
1602 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
1603 BEGIN
1604
1605 IF l_inv_debug_level IN(101, 102) THEN
1606 INVPUTLI.info('INVUPD2B: Inside create_child_update_mast_attr'|| '***orgid: ' || TO_CHAR(org_id));
1607 END IF;
1608 -- Insert msi data onto MSII for child record.
1609 -- Need to verify these attributes.
1610 --
1611 INSERT INTO MTL_SYSTEM_ITEMS_INTERFACE
1612 (
1613 TRANSACTION_ID,
1614 INVENTORY_ITEM_ID,
1615 ORGANIZATION_ID,
1616 SET_PROCESS_ID,
1617 TRANSACTION_TYPE,
1618 SUMMARY_FLAG,
1619 ENABLED_FLAG,
1620 START_DATE_ACTIVE,
1621 END_DATE_ACTIVE,
1622 DESCRIPTION,
1623 LONG_DESCRIPTION,
1624 BUYER_ID,
1625 ACCOUNTING_RULE_ID,
1626 INVOICING_RULE_ID,
1627 SEGMENT1,
1628 SEGMENT2,
1629 SEGMENT3,
1630 SEGMENT4,
1631 SEGMENT5,
1632 SEGMENT6,
1633 SEGMENT7,
1634 SEGMENT8,
1635 SEGMENT9,
1636 SEGMENT10,
1637 SEGMENT11,
1638 SEGMENT12,
1639 SEGMENT13,
1640 SEGMENT14,
1641 SEGMENT15,
1642 SEGMENT16,
1643 SEGMENT17,
1644 SEGMENT18,
1645 SEGMENT19,
1646 SEGMENT20,
1647 ATTRIBUTE_CATEGORY,
1648 ATTRIBUTE1,
1649 ATTRIBUTE2,
1650 ATTRIBUTE3,
1651 ATTRIBUTE4,
1652 ATTRIBUTE5,
1653 ATTRIBUTE6,
1654 ATTRIBUTE7,
1655 ATTRIBUTE8,
1656 ATTRIBUTE9,
1657 ATTRIBUTE10,
1658 ATTRIBUTE11,
1659 ATTRIBUTE12,
1660 ATTRIBUTE13,
1661 ATTRIBUTE14,
1662 ATTRIBUTE15,
1663 /* Start Bug 3713912 */
1664 ATTRIBUTE16 ,
1665 ATTRIBUTE17 ,
1666 ATTRIBUTE18 ,
1667 ATTRIBUTE19 ,
1668 ATTRIBUTE20 ,
1669 ATTRIBUTE21 ,
1670 ATTRIBUTE22 ,
1671 ATTRIBUTE23 ,
1672 ATTRIBUTE24 ,
1673 ATTRIBUTE25 ,
1674 ATTRIBUTE26 ,
1675 ATTRIBUTE27 ,
1676 ATTRIBUTE28 ,
1677 ATTRIBUTE29 ,
1678 ATTRIBUTE30 ,
1679 /* End Bug 3713912 */
1680 GLOBAL_ATTRIBUTE_CATEGORY,
1681 GLOBAL_ATTRIBUTE1,
1682 GLOBAL_ATTRIBUTE2,
1683 GLOBAL_ATTRIBUTE3,
1684 GLOBAL_ATTRIBUTE4,
1685 GLOBAL_ATTRIBUTE5,
1686 GLOBAL_ATTRIBUTE6,
1687 GLOBAL_ATTRIBUTE7,
1688 GLOBAL_ATTRIBUTE8,
1689 GLOBAL_ATTRIBUTE9,
1690 GLOBAL_ATTRIBUTE10,
1691 GLOBAL_ATTRIBUTE11,
1692 GLOBAL_ATTRIBUTE12,
1693 GLOBAL_ATTRIBUTE13,
1694 GLOBAL_ATTRIBUTE14,
1695 GLOBAL_ATTRIBUTE15,
1696 GLOBAL_ATTRIBUTE16,
1697 GLOBAL_ATTRIBUTE17,
1698 GLOBAL_ATTRIBUTE18,
1699 GLOBAL_ATTRIBUTE19,
1700 GLOBAL_ATTRIBUTE20,
1701 PURCHASING_ITEM_FLAG,
1702 SHIPPABLE_ITEM_FLAG,
1703 CUSTOMER_ORDER_FLAG,
1704 INTERNAL_ORDER_FLAG,
1705 INVENTORY_ITEM_FLAG,
1706 ENG_ITEM_FLAG,
1707 INVENTORY_ASSET_FLAG,
1708 PURCHASING_ENABLED_FLAG,
1709 CUSTOMER_ORDER_ENABLED_FLAG,
1710 INTERNAL_ORDER_ENABLED_FLAG,
1711 SO_TRANSACTIONS_FLAG,
1712 MTL_TRANSACTIONS_ENABLED_FLAG,
1713 STOCK_ENABLED_FLAG,
1714 BOM_ENABLED_FLAG,
1715 BUILD_IN_WIP_FLAG,
1716 REVISION_QTY_CONTROL_CODE,
1717 ITEM_CATALOG_GROUP_ID,
1718 CATALOG_STATUS_FLAG,
1719 RETURNABLE_FLAG,
1720 DEFAULT_SHIPPING_ORG,
1721 COLLATERAL_FLAG,
1722 TAXABLE_FLAG,
1723 PURCHASING_TAX_CODE,
1724 QTY_RCV_EXCEPTION_CODE,
1725 ALLOW_ITEM_DESC_UPDATE_FLAG,
1726 INSPECTION_REQUIRED_FLAG,
1727 RECEIPT_REQUIRED_FLAG,
1728 MARKET_PRICE,
1729 HAZARD_CLASS_ID,
1730 RFQ_REQUIRED_FLAG,
1731 QTY_RCV_TOLERANCE,
1732 LIST_PRICE_PER_UNIT,
1733 UN_NUMBER_ID,
1734 PRICE_TOLERANCE_PERCENT,
1735 ASSET_CATEGORY_ID,
1736 ROUNDING_FACTOR,
1737 UNIT_OF_ISSUE,
1738 ENFORCE_SHIP_TO_LOCATION_CODE,
1739 ALLOW_SUBSTITUTE_RECEIPTS_FLAG,
1740 ALLOW_UNORDERED_RECEIPTS_FLAG,
1741 ALLOW_EXPRESS_DELIVERY_FLAG,
1742 DAYS_EARLY_RECEIPT_ALLOWED,
1743 DAYS_LATE_RECEIPT_ALLOWED,
1744 RECEIPT_DAYS_EXCEPTION_CODE,
1745 RECEIVING_ROUTING_ID,
1746 INVOICE_CLOSE_TOLERANCE,
1747 RECEIVE_CLOSE_TOLERANCE,
1748 AUTO_LOT_ALPHA_PREFIX,
1749 START_AUTO_LOT_NUMBER,
1750 LOT_CONTROL_CODE,
1751 SHELF_LIFE_CODE,
1752 SHELF_LIFE_DAYS,
1753 SERIAL_NUMBER_CONTROL_CODE,
1754 START_AUTO_SERIAL_NUMBER,
1755 AUTO_SERIAL_ALPHA_PREFIX,
1756 SOURCE_TYPE,
1757 SOURCE_ORGANIZATION_ID,
1758 SOURCE_SUBINVENTORY,
1759 EXPENSE_ACCOUNT,
1760 ENCUMBRANCE_ACCOUNT,
1761 RESTRICT_SUBINVENTORIES_CODE,
1762 UNIT_WEIGHT,
1763 WEIGHT_UOM_CODE,
1764 VOLUME_UOM_CODE,
1765 UNIT_VOLUME,
1766 RESTRICT_LOCATORS_CODE,
1767 LOCATION_CONTROL_CODE,
1768 SHRINKAGE_RATE,
1769 ACCEPTABLE_EARLY_DAYS,
1770 PLANNING_TIME_FENCE_CODE,
1771 DEMAND_TIME_FENCE_CODE,
1772 RELEASE_TIME_FENCE_CODE,
1773 LEAD_TIME_LOT_SIZE,
1774 STD_LOT_SIZE,
1775 CUM_MANUFACTURING_LEAD_TIME,
1776 OVERRUN_PERCENTAGE,
1777 MRP_CALCULATE_ATP_FLAG,
1778 ACCEPTABLE_RATE_INCREASE,
1779 ACCEPTABLE_RATE_DECREASE,
1780 CUMULATIVE_TOTAL_LEAD_TIME,
1781 PLANNING_TIME_FENCE_DAYS,
1782 DEMAND_TIME_FENCE_DAYS,
1783 RELEASE_TIME_FENCE_DAYS,
1784 END_ASSEMBLY_PEGGING_FLAG,
1785 REPETITIVE_PLANNING_FLAG,
1786 PLANNING_EXCEPTION_SET,
1787 BOM_ITEM_TYPE,
1788 PICK_COMPONENTS_FLAG,
1789 REPLENISH_TO_ORDER_FLAG,
1790 BASE_ITEM_ID,
1791 ATP_COMPONENTS_FLAG,
1792 ATP_FLAG,
1793 FIXED_LEAD_TIME,
1794 VARIABLE_LEAD_TIME,
1795 WIP_SUPPLY_LOCATOR_ID,
1796 WIP_SUPPLY_TYPE,
1797 WIP_SUPPLY_SUBINVENTORY,
1798 PRIMARY_UOM_CODE,
1799 PRIMARY_UNIT_OF_MEASURE,
1800 ALLOWED_UNITS_LOOKUP_CODE,
1801 COST_OF_SALES_ACCOUNT,
1802 SALES_ACCOUNT,
1803 DEFAULT_INCLUDE_IN_ROLLUP_FLAG,
1804 INVENTORY_ITEM_STATUS_CODE,
1805 INVENTORY_PLANNING_CODE,
1806 PLANNER_CODE,
1807 PLANNING_MAKE_BUY_CODE,
1808 FIXED_LOT_MULTIPLIER,
1809 ROUNDING_CONTROL_TYPE,
1810 CARRYING_COST,
1811 POSTPROCESSING_LEAD_TIME,
1812 PREPROCESSING_LEAD_TIME,
1813 FULL_LEAD_TIME,
1814 ORDER_COST,
1815 MRP_SAFETY_STOCK_PERCENT,
1816 MRP_SAFETY_STOCK_CODE,
1817 MIN_MINMAX_QUANTITY,
1818 MAX_MINMAX_QUANTITY,
1819 MINIMUM_ORDER_QUANTITY,
1820 FIXED_ORDER_QUANTITY,
1821 FIXED_DAYS_SUPPLY,
1822 MAXIMUM_ORDER_QUANTITY,
1823 ATP_RULE_ID,
1824 PICKING_RULE_ID,
1825 RESERVABLE_TYPE,
1826 POSITIVE_MEASUREMENT_ERROR,
1827 NEGATIVE_MEASUREMENT_ERROR,
1828 ENGINEERING_ECN_CODE,
1829 ENGINEERING_ITEM_ID,
1830 ENGINEERING_DATE,
1831 SERVICE_STARTING_DELAY,
1832 SERVICEABLE_COMPONENT_FLAG,
1833 SERVICEABLE_PRODUCT_FLAG,
1834 BASE_WARRANTY_SERVICE_ID,
1835 PAYMENT_TERMS_ID,
1836 PREVENTIVE_MAINTENANCE_FLAG,
1837 PRIMARY_SPECIALIST_ID,
1838 SECONDARY_SPECIALIST_ID,
1839 SERVICEABLE_ITEM_CLASS_ID,
1840 TIME_BILLABLE_FLAG,
1841 MATERIAL_BILLABLE_FLAG,
1842 EXPENSE_BILLABLE_FLAG,
1843 PRORATE_SERVICE_FLAG,
1844 COVERAGE_SCHEDULE_ID,
1845 SERVICE_DURATION_PERIOD_CODE,
1846 SERVICE_DURATION,
1847 WARRANTY_VENDOR_ID,
1848 MAX_WARRANTY_AMOUNT,
1849 RESPONSE_TIME_PERIOD_CODE,
1850 RESPONSE_TIME_VALUE,
1851 NEW_REVISION_CODE,
1852 INVOICEABLE_ITEM_FLAG,
1853 TAX_CODE,
1854 INVOICE_ENABLED_FLAG,
1855 MUST_USE_APPROVED_VENDOR_FLAG,
1856 REQUEST_ID,
1857 PROGRAM_APPLICATION_ID,
1858 PROGRAM_ID,
1859 PROGRAM_UPDATE_DATE,
1860 OUTSIDE_OPERATION_FLAG,
1861 OUTSIDE_OPERATION_UOM_TYPE,
1862 SAFETY_STOCK_BUCKET_DAYS,
1863 AUTO_REDUCE_MPS,
1864 COSTING_ENABLED_FLAG,
1865 AUTO_CREATED_CONFIG_FLAG,
1866 CYCLE_COUNT_ENABLED_FLAG,
1867 ITEM_TYPE,
1868 MODEL_CONFIG_CLAUSE_NAME,
1869 SHIP_MODEL_COMPLETE_FLAG,
1870 MRP_PLANNING_CODE,
1871 RETURN_INSPECTION_REQUIREMENT,
1872 ATO_FORECAST_CONTROL,
1873 CONTAINER_ITEM_FLAG,
1874 VEHICLE_ITEM_FLAG,
1875 MAXIMUM_LOAD_WEIGHT,
1876 MINIMUM_FILL_PERCENT,
1877 CONTAINER_TYPE_CODE,
1878 INTERNAL_VOLUME,
1879 CHECK_SHORTAGES_FLAG
1880 , EFFECTIVITY_CONTROL
1881 , OVERCOMPLETION_TOLERANCE_TYPE
1882 , OVERCOMPLETION_TOLERANCE_VALUE
1883 , OVER_SHIPMENT_TOLERANCE
1884 , UNDER_SHIPMENT_TOLERANCE
1885 , OVER_RETURN_TOLERANCE
1886 , UNDER_RETURN_TOLERANCE
1887 , EQUIPMENT_TYPE
1888 , RECOVERED_PART_DISP_CODE
1889 , DEFECT_TRACKING_ON_FLAG
1890 , EVENT_FLAG
1891 , ELECTRONIC_FLAG
1892 , DOWNLOADABLE_FLAG
1893 , VOL_DISCOUNT_EXEMPT_FLAG
1894 , COUPON_EXEMPT_FLAG
1895 , COMMS_NL_TRACKABLE_FLAG
1896 , ASSET_CREATION_CODE
1897 , COMMS_ACTIVATION_REQD_FLAG
1898 , ORDERABLE_ON_WEB_FLAG
1899 , BACK_ORDERABLE_FLAG
1900 , WEB_STATUS
1901 , INDIVISIBLE_FLAG
1902 , DIMENSION_UOM_CODE
1903 , UNIT_LENGTH
1904 , UNIT_WIDTH
1905 , UNIT_HEIGHT
1906 , BULK_PICKED_FLAG
1907 , LOT_STATUS_ENABLED
1908 , DEFAULT_LOT_STATUS_ID
1909 , SERIAL_STATUS_ENABLED
1910 , DEFAULT_SERIAL_STATUS_ID
1911 , LOT_SPLIT_ENABLED
1912 , LOT_MERGE_ENABLED
1913 , INVENTORY_CARRY_PENALTY
1914 , OPERATION_SLACK_PENALTY
1915 , FINANCING_ALLOWED_FLAG
1916 , EAM_ITEM_TYPE
1917 , EAM_ACTIVITY_TYPE_CODE
1918 , EAM_ACTIVITY_CAUSE_CODE
1919 , EAM_ACT_NOTIFICATION_FLAG
1920 , EAM_ACT_SHUTDOWN_STATUS
1921 , DUAL_UOM_CONTROL
1922 , SECONDARY_UOM_CODE
1923 , DUAL_UOM_DEVIATION_HIGH
1924 , DUAL_UOM_DEVIATION_LOW
1925 --, SERVICE_ITEM_FLAG
1926 --, VENDOR_WARRANTY_FLAG
1927 --, USAGE_ITEM_FLAG
1928 , CONTRACT_ITEM_TYPE_CODE
1929 -- , SUBSCRIPTION_DEPEND_FLAG
1930 --
1931 , SERV_REQ_ENABLED_CODE
1932 , SERV_BILLING_ENABLED_FLAG
1933 -- , SERV_IMPORTANCE_LEVEL
1934 , PLANNED_INV_POINT_FLAG
1935 , LOT_TRANSLATE_ENABLED
1936 , DEFAULT_SO_SOURCE_TYPE
1937 , CREATE_SUPPLY_FLAG
1938 , SUBSTITUTION_WINDOW_CODE
1939 , SUBSTITUTION_WINDOW_DAYS
1940 --Added as part of 11.5.9
1941 , LOT_SUBSTITUTION_ENABLED
1942 , MINIMUM_LICENSE_QUANTITY
1943 , EAM_ACTIVITY_SOURCE_CODE
1944 , IB_ITEM_INSTANCE_CLASS
1945 , CONFIG_MODEL_TYPE
1946 --Added as part of 11.5.10
1947 , TRACKING_QUANTITY_IND
1948 , ONT_PRICING_QTY_SOURCE
1949 , SECONDARY_DEFAULT_IND
1950 , CONFIG_ORGS
1951 , CONFIG_MATCH
1952 ,VMI_MINIMUM_UNITS
1953 ,VMI_MINIMUM_DAYS
1954 ,VMI_MAXIMUM_UNITS
1955 ,VMI_MAXIMUM_DAYS
1956 ,VMI_FIXED_ORDER_QUANTITY
1957 ,SO_AUTHORIZATION_FLAG
1958 ,CONSIGNED_FLAG
1959 ,ASN_AUTOEXPIRE_FLAG
1960 ,VMI_FORECAST_TYPE
1961 ,FORECAST_HORIZON
1962 ,EXCLUDE_FROM_BUDGET_FLAG
1963 ,DAYS_TGT_INV_SUPPLY
1964 ,DAYS_TGT_INV_WINDOW
1965 ,DAYS_MAX_INV_SUPPLY
1966 ,DAYS_MAX_INV_WINDOW
1967 ,DRP_PLANNED_FLAG
1968 ,CRITICAL_COMPONENT_FLAG
1969 ,CONTINOUS_TRANSFER
1970 ,CONVERGENCE
1971 ,DIVERGENCE ,
1972 /* Start Bug 3713912 */
1973 LOT_DIVISIBLE_FLAG ,
1974 GRADE_CONTROL_FLAG ,
1975 DEFAULT_GRADE ,
1976 CHILD_LOT_FLAG ,
1977 PARENT_CHILD_GENERATION_FLAG ,
1978 CHILD_LOT_PREFIX ,
1979 CHILD_LOT_STARTING_NUMBER ,
1980 CHILD_LOT_VALIDATION_FLAG ,
1981 COPY_LOT_ATTRIBUTE_FLAG ,
1982 RECIPE_ENABLED_FLAG ,
1983 PROCESS_QUALITY_ENABLED_FLAG ,
1984 PROCESS_EXECUTION_ENABLED_FLAG ,
1985 PROCESS_COSTING_ENABLED_FLAG ,
1986 PROCESS_SUPPLY_SUBINVENTORY ,
1987 PROCESS_SUPPLY_LOCATOR_ID ,
1988 PROCESS_YIELD_SUBINVENTORY ,
1989 PROCESS_YIELD_LOCATOR_ID ,
1990 HAZARDOUS_MATERIAL_FLAG ,
1991 CAS_NUMBER ,
1992 RETEST_INTERVAL ,
1993 EXPIRATION_ACTION_INTERVAL ,
1994 EXPIRATION_ACTION_CODE ,
1995 MATURITY_DAYS ,
1996 HOLD_DAYS,
1997 /* End Bug 3713912 */
1998 --R12 Enhancement
1999 CHARGE_PERIODICITY_CODE,
2000 REPAIR_LEADTIME,
2001 REPAIR_YIELD,
2002 PREPOSITION_POINT,
2003 REPAIR_PROGRAM,
2004 SUBCONTRACTING_COMPONENT,
2005 OUTSOURCED_ASSEMBLY,
2006 CURRENT_PHASE_ID, -- added for bug 7589826 based on 7587702
2007 /* Bug 6397416*/
2008 GDSN_OUTBOUND_ENABLED_FLAG,
2009 TRADE_ITEM_DESCRIPTOR,
2010 STYLE_ITEM_FLAG,
2011 STYLE_ITEM_ID)
2012 SELECT
2013 MTL_SYSTEM_ITEMS_INTERFACE_S.NEXTVAL,
2014 inv_item_id,
2015 org_id,
2016 xset_id + 1000000000000,
2017 'AUTO_CHILD',
2018 MSI.SUMMARY_FLAG,
2019 MSI.ENABLED_FLAG,
2020 MSI.START_DATE_ACTIVE,
2021 MSI.END_DATE_ACTIVE,
2022 MSI.DESCRIPTION,
2023 MSI.LONG_DESCRIPTION,
2024 MSI.BUYER_ID,
2025 MSI.ACCOUNTING_RULE_ID,
2026 MSI.INVOICING_RULE_ID,
2027 MSI.SEGMENT1,
2028 MSI.SEGMENT2,
2029 MSI.SEGMENT3,
2030 MSI.SEGMENT4,
2031 MSI.SEGMENT5,
2032 MSI.SEGMENT6,
2033 MSI.SEGMENT7,
2034 MSI.SEGMENT8,
2035 MSI.SEGMENT9,
2036 MSI.SEGMENT10,
2037 MSI.SEGMENT11,
2038 MSI.SEGMENT12,
2039 MSI.SEGMENT13,
2040 MSI.SEGMENT14,
2041 MSI.SEGMENT15,
2042 MSI.SEGMENT16,
2043 MSI.SEGMENT17,
2044 MSI.SEGMENT18,
2045 MSI.SEGMENT19,
2046 MSI.SEGMENT20,
2047 MSI.ATTRIBUTE_CATEGORY,
2048 MSI.ATTRIBUTE1,
2049 MSI.ATTRIBUTE2,
2050 MSI.ATTRIBUTE3,
2051 MSI.ATTRIBUTE4,
2052 MSI.ATTRIBUTE5,
2053 MSI.ATTRIBUTE6,
2054 MSI.ATTRIBUTE7,
2055 MSI.ATTRIBUTE8,
2056 MSI.ATTRIBUTE9,
2057 MSI.ATTRIBUTE10,
2058 MSI.ATTRIBUTE11,
2059 MSI.ATTRIBUTE12,
2060 MSI.ATTRIBUTE13,
2061 MSI.ATTRIBUTE14,
2062 MSI.ATTRIBUTE15,
2063 /* Start Bug 3713912 */
2064 MSI.ATTRIBUTE16 ,
2065 MSI.ATTRIBUTE17 ,
2066 MSI.ATTRIBUTE18 ,
2067 MSI.ATTRIBUTE19 ,
2068 MSI.ATTRIBUTE20 ,
2069 MSI.ATTRIBUTE21 ,
2070 MSI.ATTRIBUTE22 ,
2071 MSI.ATTRIBUTE23 ,
2072 MSI.ATTRIBUTE24 ,
2073 MSI.ATTRIBUTE25 ,
2074 MSI.ATTRIBUTE26 ,
2075 MSI.ATTRIBUTE27 ,
2076 MSI.ATTRIBUTE28 ,
2077 MSI.ATTRIBUTE29 ,
2078 MSI.ATTRIBUTE30 ,
2079 /* End Bug 3713912 */
2080 MSI.GLOBAL_ATTRIBUTE_CATEGORY,
2081 MSI.GLOBAL_ATTRIBUTE1,
2082 MSI.GLOBAL_ATTRIBUTE2,
2083 MSI.GLOBAL_ATTRIBUTE3,
2084 MSI.GLOBAL_ATTRIBUTE4,
2085 MSI.GLOBAL_ATTRIBUTE5,
2086 MSI.GLOBAL_ATTRIBUTE6,
2087 MSI.GLOBAL_ATTRIBUTE7,
2088 MSI.GLOBAL_ATTRIBUTE8,
2089 MSI.GLOBAL_ATTRIBUTE9,
2090 MSI.GLOBAL_ATTRIBUTE10,
2091 MSI.GLOBAL_ATTRIBUTE11,
2092 MSI.GLOBAL_ATTRIBUTE12,
2093 MSI.GLOBAL_ATTRIBUTE13,
2094 MSI.GLOBAL_ATTRIBUTE14,
2095 MSI.GLOBAL_ATTRIBUTE15,
2096 MSI.GLOBAL_ATTRIBUTE16,
2097 MSI.GLOBAL_ATTRIBUTE17,
2098 MSI.GLOBAL_ATTRIBUTE18,
2099 MSI.GLOBAL_ATTRIBUTE19,
2100 MSI.GLOBAL_ATTRIBUTE20,
2101 MSI.PURCHASING_ITEM_FLAG,
2102 MSI.SHIPPABLE_ITEM_FLAG,
2103 MSI.CUSTOMER_ORDER_FLAG,
2104 MSI.INTERNAL_ORDER_FLAG,
2105 MSI.INVENTORY_ITEM_FLAG,
2106 MSI.ENG_ITEM_FLAG,
2107 MSI.INVENTORY_ASSET_FLAG,
2108 MSI.PURCHASING_ENABLED_FLAG,
2109 MSI.CUSTOMER_ORDER_ENABLED_FLAG,
2110 MSI.INTERNAL_ORDER_ENABLED_FLAG,
2111 MSI.SO_TRANSACTIONS_FLAG,
2112 MSI.MTL_TRANSACTIONS_ENABLED_FLAG,
2113 MSI.STOCK_ENABLED_FLAG,
2114 MSI.BOM_ENABLED_FLAG,
2115 MSI.BUILD_IN_WIP_FLAG,
2116 MSI.REVISION_QTY_CONTROL_CODE,
2117 MSI.ITEM_CATALOG_GROUP_ID,
2118 MSI.CATALOG_STATUS_FLAG,
2119 MSI.RETURNABLE_FLAG,
2120 MSI.DEFAULT_SHIPPING_ORG,
2121 MSI.COLLATERAL_FLAG,
2122 MSI.TAXABLE_FLAG,
2123 MSI.PURCHASING_TAX_CODE,
2124 MSI.QTY_RCV_EXCEPTION_CODE,
2125 MSI.ALLOW_ITEM_DESC_UPDATE_FLAG,
2126 MSI.INSPECTION_REQUIRED_FLAG,
2127 MSI.RECEIPT_REQUIRED_FLAG,
2128 MSI.MARKET_PRICE,
2129 MSI.HAZARD_CLASS_ID,
2130 MSI.RFQ_REQUIRED_FLAG,
2131 MSI.QTY_RCV_TOLERANCE,
2132 MSI.LIST_PRICE_PER_UNIT,
2133 MSI.UN_NUMBER_ID,
2134 MSI.PRICE_TOLERANCE_PERCENT,
2135 MSI.ASSET_CATEGORY_ID,
2136 MSI.ROUNDING_FACTOR,
2137 MSI.UNIT_OF_ISSUE,
2138 MSI.ENFORCE_SHIP_TO_LOCATION_CODE,
2139 MSI.ALLOW_SUBSTITUTE_RECEIPTS_FLAG,
2140 MSI.ALLOW_UNORDERED_RECEIPTS_FLAG,
2141 MSI.ALLOW_EXPRESS_DELIVERY_FLAG,
2142 MSI.DAYS_EARLY_RECEIPT_ALLOWED,
2143 MSI.DAYS_LATE_RECEIPT_ALLOWED,
2144 MSI.RECEIPT_DAYS_EXCEPTION_CODE,
2145 MSI.RECEIVING_ROUTING_ID,
2146 MSI.INVOICE_CLOSE_TOLERANCE,
2147 MSI.RECEIVE_CLOSE_TOLERANCE,
2148 MSI.AUTO_LOT_ALPHA_PREFIX,
2149 MSI.START_AUTO_LOT_NUMBER,
2150 MSI.LOT_CONTROL_CODE,
2151 MSI.SHELF_LIFE_CODE,
2152 MSI.SHELF_LIFE_DAYS,
2153 MSI.SERIAL_NUMBER_CONTROL_CODE,
2154 MSI.START_AUTO_SERIAL_NUMBER,
2155 MSI.AUTO_SERIAL_ALPHA_PREFIX,
2156 MSI.SOURCE_TYPE,
2157 MSI.SOURCE_ORGANIZATION_ID,
2158 MSI.SOURCE_SUBINVENTORY,
2159 MSI.EXPENSE_ACCOUNT,
2160 MSI.ENCUMBRANCE_ACCOUNT,
2161 MSI.RESTRICT_SUBINVENTORIES_CODE,
2162 MSI.UNIT_WEIGHT,
2163 MSI.WEIGHT_UOM_CODE,
2164 MSI.VOLUME_UOM_CODE,
2165 MSI.UNIT_VOLUME,
2166 MSI.RESTRICT_LOCATORS_CODE,
2167 MSI.LOCATION_CONTROL_CODE,
2168 MSI.SHRINKAGE_RATE,
2169 MSI.ACCEPTABLE_EARLY_DAYS,
2170 MSI.PLANNING_TIME_FENCE_CODE,
2171 MSI.DEMAND_TIME_FENCE_CODE,
2172 MSI.RELEASE_TIME_FENCE_CODE,
2173 MSI.LEAD_TIME_LOT_SIZE,
2174 MSI.STD_LOT_SIZE,
2175 MSI.CUM_MANUFACTURING_LEAD_TIME,
2176 MSI.OVERRUN_PERCENTAGE,
2177 MSI.MRP_CALCULATE_ATP_FLAG,
2178 MSI.ACCEPTABLE_RATE_INCREASE,
2179 MSI.ACCEPTABLE_RATE_DECREASE,
2180 MSI.CUMULATIVE_TOTAL_LEAD_TIME,
2181 MSI.PLANNING_TIME_FENCE_DAYS,
2182 MSI.DEMAND_TIME_FENCE_DAYS,
2183 MSI.RELEASE_TIME_FENCE_DAYS,
2184 MSI.END_ASSEMBLY_PEGGING_FLAG,
2185 MSI.REPETITIVE_PLANNING_FLAG,
2186 MSI.PLANNING_EXCEPTION_SET,
2187 MSI.BOM_ITEM_TYPE,
2188 MSI.PICK_COMPONENTS_FLAG,
2189 MSI.REPLENISH_TO_ORDER_FLAG,
2190 MSI.BASE_ITEM_ID,
2191 MSI.ATP_COMPONENTS_FLAG,
2192 MSI.ATP_FLAG,
2193 MSI.FIXED_LEAD_TIME,
2194 MSI.VARIABLE_LEAD_TIME,
2195 MSI.WIP_SUPPLY_LOCATOR_ID,
2196 MSI.WIP_SUPPLY_TYPE,
2197 MSI.WIP_SUPPLY_SUBINVENTORY,
2198 MSI.PRIMARY_UOM_CODE,
2199 MSI.PRIMARY_UNIT_OF_MEASURE,
2200 MSI.ALLOWED_UNITS_LOOKUP_CODE,
2201 MSI.COST_OF_SALES_ACCOUNT,
2202 MSI.SALES_ACCOUNT,
2203 MSI.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,
2204 MSI.INVENTORY_ITEM_STATUS_CODE,
2205 MSI.INVENTORY_PLANNING_CODE,
2206 MSI.PLANNER_CODE,
2207 MSI.PLANNING_MAKE_BUY_CODE,
2208 MSI.FIXED_LOT_MULTIPLIER,
2209 MSI.ROUNDING_CONTROL_TYPE,
2210 MSI.CARRYING_COST,
2211 MSI.POSTPROCESSING_LEAD_TIME,
2212 MSI.PREPROCESSING_LEAD_TIME,
2213 MSI.FULL_LEAD_TIME,
2214 MSI.ORDER_COST,
2215 MSI.MRP_SAFETY_STOCK_PERCENT,
2216 MSI.MRP_SAFETY_STOCK_CODE,
2217 MSI.MIN_MINMAX_QUANTITY,
2218 MSI.MAX_MINMAX_QUANTITY,
2219 MSI.MINIMUM_ORDER_QUANTITY,
2220 MSI.FIXED_ORDER_QUANTITY,
2221 MSI.FIXED_DAYS_SUPPLY,
2222 MSI.MAXIMUM_ORDER_QUANTITY,
2223 MSI.ATP_RULE_ID,
2224 MSI.PICKING_RULE_ID,
2225 MSI.RESERVABLE_TYPE,
2226 MSI.POSITIVE_MEASUREMENT_ERROR,
2227 MSI.NEGATIVE_MEASUREMENT_ERROR,
2228 MSI.ENGINEERING_ECN_CODE,
2229 MSI.ENGINEERING_ITEM_ID,
2230 MSI.ENGINEERING_DATE,
2231 MSI.SERVICE_STARTING_DELAY,
2232 MSI.SERVICEABLE_COMPONENT_FLAG,
2233 MSI.SERVICEABLE_PRODUCT_FLAG,
2234 MSI.BASE_WARRANTY_SERVICE_ID,
2235 MSI.PAYMENT_TERMS_ID,
2236 MSI.PREVENTIVE_MAINTENANCE_FLAG,
2237 MSI.PRIMARY_SPECIALIST_ID,
2238 MSI.SECONDARY_SPECIALIST_ID,
2239 MSI.SERVICEABLE_ITEM_CLASS_ID,
2240 MSI.TIME_BILLABLE_FLAG,
2241 MSI.MATERIAL_BILLABLE_FLAG,
2242 MSI.EXPENSE_BILLABLE_FLAG,
2243 MSI.PRORATE_SERVICE_FLAG,
2244 MSI.COVERAGE_SCHEDULE_ID,
2245 MSI.SERVICE_DURATION_PERIOD_CODE,
2246 MSI.SERVICE_DURATION,
2247 MSI.WARRANTY_VENDOR_ID,
2248 MSI.MAX_WARRANTY_AMOUNT,
2249 MSI.RESPONSE_TIME_PERIOD_CODE,
2250 MSI.RESPONSE_TIME_VALUE,
2251 MSI.NEW_REVISION_CODE,
2252 MSI.INVOICEABLE_ITEM_FLAG,
2253 MSI.TAX_CODE,
2254 MSI.INVOICE_ENABLED_FLAG,
2255 MSI.MUST_USE_APPROVED_VENDOR_FLAG,
2256 MSI.REQUEST_ID,
2257 MSI.PROGRAM_APPLICATION_ID,
2258 MSI.PROGRAM_ID,
2259 MSI.PROGRAM_UPDATE_DATE,
2260 MSI.OUTSIDE_OPERATION_FLAG,
2261 MSI.OUTSIDE_OPERATION_UOM_TYPE,
2262 MSI.SAFETY_STOCK_BUCKET_DAYS,
2263 MSI.AUTO_REDUCE_MPS,
2264 MSI.COSTING_ENABLED_FLAG,
2265 MSI.AUTO_CREATED_CONFIG_FLAG,
2266 MSI.CYCLE_COUNT_ENABLED_FLAG,
2267 MSI.ITEM_TYPE,
2268 MSI.MODEL_CONFIG_CLAUSE_NAME,
2269 MSI.SHIP_MODEL_COMPLETE_FLAG,
2270 MSI.MRP_PLANNING_CODE,
2271 MSI.RETURN_INSPECTION_REQUIREMENT,
2272 MSI.ATO_FORECAST_CONTROL,
2273 MSI.CONTAINER_ITEM_FLAG,
2274 MSI.VEHICLE_ITEM_FLAG,
2275 MSI.MAXIMUM_LOAD_WEIGHT,
2276 MSI.MINIMUM_FILL_PERCENT,
2277 MSI.CONTAINER_TYPE_CODE,
2278 MSI.INTERNAL_VOLUME,
2279 MSI.CHECK_SHORTAGES_FLAG
2280 , MSI.EFFECTIVITY_CONTROL
2281 , MSI.OVERCOMPLETION_TOLERANCE_TYPE
2282 , MSI.OVERCOMPLETION_TOLERANCE_VALUE
2283 , MSI.OVER_SHIPMENT_TOLERANCE
2284 , MSI.UNDER_SHIPMENT_TOLERANCE
2285 , MSI.OVER_RETURN_TOLERANCE
2286 , MSI.UNDER_RETURN_TOLERANCE
2287 , MSI.EQUIPMENT_TYPE
2288 , MSI.RECOVERED_PART_DISP_CODE
2289 , MSI.DEFECT_TRACKING_ON_FLAG
2290 , MSI.EVENT_FLAG
2291 , MSI.ELECTRONIC_FLAG
2292 , MSI.DOWNLOADABLE_FLAG
2293 , MSI.VOL_DISCOUNT_EXEMPT_FLAG
2294 , MSI.COUPON_EXEMPT_FLAG
2295 , MSI.COMMS_NL_TRACKABLE_FLAG
2296 , MSI.ASSET_CREATION_CODE
2297 , MSI.COMMS_ACTIVATION_REQD_FLAG
2298 , MSI.ORDERABLE_ON_WEB_FLAG
2299 , MSI.BACK_ORDERABLE_FLAG
2300 , MSI.WEB_STATUS
2301 , MSI.INDIVISIBLE_FLAG
2302 , MSI.DIMENSION_UOM_CODE
2303 , MSI.UNIT_LENGTH
2304 , MSI.UNIT_WIDTH
2305 , MSI.UNIT_HEIGHT
2306 , MSI.BULK_PICKED_FLAG
2307 , MSI.LOT_STATUS_ENABLED
2308 , MSI.DEFAULT_LOT_STATUS_ID
2309 , MSI.SERIAL_STATUS_ENABLED
2310 , MSI.DEFAULT_SERIAL_STATUS_ID
2311 , MSI.LOT_SPLIT_ENABLED
2312 , MSI.LOT_MERGE_ENABLED
2313 , MSI.INVENTORY_CARRY_PENALTY
2314 , MSI.OPERATION_SLACK_PENALTY
2315 , MSI.FINANCING_ALLOWED_FLAG
2316 , MSI.EAM_ITEM_TYPE
2317 , MSI.EAM_ACTIVITY_TYPE_CODE
2318 , MSI.EAM_ACTIVITY_CAUSE_CODE
2319 , MSI.EAM_ACT_NOTIFICATION_FLAG
2320 , MSI.EAM_ACT_SHUTDOWN_STATUS
2321 , MSI.DUAL_UOM_CONTROL
2322 , MSI.SECONDARY_UOM_CODE
2323 , MSI.DUAL_UOM_DEVIATION_HIGH
2324 , MSI.DUAL_UOM_DEVIATION_LOW
2325 --, MSI.SERVICE_ITEM_FLAG
2326 --, MSI.VENDOR_WARRANTY_FLAG
2327 --, MSI.USAGE_ITEM_FLAG
2328 , MSI.CONTRACT_ITEM_TYPE_CODE
2329 -- , MSI.SUBSCRIPTION_DEPEND_FLAG
2330 --
2331 , MSI.SERV_REQ_ENABLED_CODE
2332 , MSI.SERV_BILLING_ENABLED_FLAG
2333 -- , MSI.SERV_IMPORTANCE_LEVEL
2334 , MSI.PLANNED_INV_POINT_FLAG
2335 , MSI.LOT_TRANSLATE_ENABLED
2336 , MSI.DEFAULT_SO_SOURCE_TYPE
2337 , MSI.CREATE_SUPPLY_FLAG
2338 , MSI.SUBSTITUTION_WINDOW_CODE
2339 , MSI.SUBSTITUTION_WINDOW_DAYS
2340 --Added as part of 11.5.9
2341 , MSI.LOT_SUBSTITUTION_ENABLED
2342 , MSI.MINIMUM_LICENSE_QUANTITY
2343 , MSI.EAM_ACTIVITY_SOURCE_CODE
2344 , MSI.IB_ITEM_INSTANCE_CLASS
2345 , MSI.CONFIG_MODEL_TYPE
2346 --Added as part of 11.5.10
2347 , MSI.TRACKING_QUANTITY_IND
2348 , MSI.ONT_PRICING_QTY_SOURCE
2349 , MSI.SECONDARY_DEFAULT_IND
2350 , MSI.CONFIG_ORGS
2351 , MSI.CONFIG_MATCH
2352 ,MSI.VMI_MINIMUM_UNITS
2353 ,MSI.VMI_MINIMUM_DAYS
2354 ,MSI.VMI_MAXIMUM_UNITS
2355 ,MSI.VMI_MAXIMUM_DAYS
2356 ,MSI.VMI_FIXED_ORDER_QUANTITY
2357 ,MSI.SO_AUTHORIZATION_FLAG
2358 ,MSI.CONSIGNED_FLAG
2359 ,MSI.ASN_AUTOEXPIRE_FLAG
2360 ,MSI.VMI_FORECAST_TYPE
2361 ,MSI.FORECAST_HORIZON
2362 ,MSI.EXCLUDE_FROM_BUDGET_FLAG
2363 ,MSI.DAYS_TGT_INV_SUPPLY
2364 ,MSI.DAYS_TGT_INV_WINDOW
2365 ,MSI.DAYS_MAX_INV_SUPPLY
2366 ,MSI.DAYS_MAX_INV_WINDOW
2367 ,MSI.DRP_PLANNED_FLAG
2368 ,MSI.CRITICAL_COMPONENT_FLAG
2369 ,MSI.CONTINOUS_TRANSFER
2370 ,MSI.CONVERGENCE
2371 ,MSI.DIVERGENCE ,
2372 /* Start Bug 3713912 */
2373 MSI.LOT_DIVISIBLE_FLAG ,
2374 MSI.GRADE_CONTROL_FLAG ,
2375 MSI.DEFAULT_GRADE ,
2376 MSI.CHILD_LOT_FLAG ,
2377 MSI.PARENT_CHILD_GENERATION_FLAG ,
2378 MSI.CHILD_LOT_PREFIX ,
2379 MSI.CHILD_LOT_STARTING_NUMBER ,
2380 MSI.CHILD_LOT_VALIDATION_FLAG ,
2381 MSI.COPY_LOT_ATTRIBUTE_FLAG ,
2382 MSI.RECIPE_ENABLED_FLAG ,
2383 MSI.PROCESS_QUALITY_ENABLED_FLAG ,
2384 MSI.PROCESS_EXECUTION_ENABLED_FLAG ,
2385 MSI.PROCESS_COSTING_ENABLED_FLAG ,
2386 MSI.PROCESS_SUPPLY_SUBINVENTORY ,
2387 MSI.PROCESS_SUPPLY_LOCATOR_ID ,
2388 MSI.PROCESS_YIELD_SUBINVENTORY ,
2389 MSI.PROCESS_YIELD_LOCATOR_ID ,
2390 MSI.HAZARDOUS_MATERIAL_FLAG ,
2391 MSI.CAS_NUMBER ,
2392 MSI.RETEST_INTERVAL ,
2393 MSI.EXPIRATION_ACTION_INTERVAL ,
2394 MSI.EXPIRATION_ACTION_CODE ,
2395 MSI.MATURITY_DAYS ,
2396 MSI.HOLD_DAYS ,
2397 /* End Bug 3713912 */
2398 --R12 Enhancement
2399 MSI.CHARGE_PERIODICITY_CODE,
2400 MSI.REPAIR_LEADTIME,
2401 MSI.REPAIR_YIELD,
2402 MSI.PREPOSITION_POINT,
2403 MSI.REPAIR_PROGRAM,
2404 MSI.SUBCONTRACTING_COMPONENT,
2405 MSI.OUTSOURCED_ASSEMBLY,
2406 MSI.CURRENT_PHASE_ID, -- Added for bug 7589826, FP of 7587702
2407 MSI.GDSN_OUTBOUND_ENABLED_FLAG,
2408 MSI.TRADE_ITEM_DESCRIPTOR,
2409 MSI.STYLE_ITEM_FLAG,
2410 MSI.STYLE_ITEM_ID
2411 FROM
2412 MTL_SYSTEM_ITEMS_VL MSI
2413 WHERE
2414 MSI.inventory_item_id = inv_item_id
2415 AND MSI.organization_id = org_id;
2416
2417 --commit;
2418
2419 -- copy master item data to child record created in msii
2420 ret_code := INVUPD2B.copy_master_to_child(master_row_id, inv_item_id, org_id, xset_id);
2421
2422 --commit;
2423
2424 RETURN (ret_code);
2425
2426 EXCEPTION
2427
2428 when OTHERS then
2429 --bug #4251913 : Included SQLCODE and SQLERRM to trap exception messages.
2430 IF l_inv_debug_level IN(101, 102) THEN
2431 INVPUTLI.info(
2432 Substr(
2433 'when OTHERS exception raised in create_child_update_mast_attr ' ||
2434 SQLCODE ||
2435 ' - ' ||
2436 SQLERRM, 1, 240));
2437 END IF;
2438 return (1);
2439
2440 END create_child_update_mast_attr; -- }
2441
2442
2443 FUNCTION copy_master_to_child
2444 (
2445 master_row_id ROWID
2446 , inv_item_id NUMBER
2447 , org_id NUMBER
2448 , xset_id IN NUMBER
2449 )
2450 RETURN INTEGER
2451 IS
2452
2453 -- temprec to hold master record data from msii
2454 --
2455 msii_master_temp mtl_system_items_interface%ROWTYPE;
2456
2457 l_process_flag_2 NUMBER := 2;
2458
2459 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
2460
2461 BEGIN
2462
2463 IF l_inv_debug_level IN(101, 102) THEN
2464 INVPUTLI.info('INVUPD2B: Inside copy_master_to_child'|| '***orgid: ' || TO_CHAR(org_id));
2465 END IF;
2466
2467 -- Get master record info into msii_master_temp
2468 --
2469 select *
2470 into msii_master_temp
2471 from
2472 MTL_SYSTEM_ITEMS_INTERFACE MSII
2473 where
2474 MSII.ROWID = master_row_id;
2475
2476 -- Update child record with master record data for attributes
2477 -- under master control.
2478 --
2479 UPDATE MTL_SYSTEM_ITEMS_INTERFACE MSII
2480 SET MSII.ALLOWED_UNITS_LOOKUP_CODE = decode( A_ALLOWED_UNITS_LOOKUP_CODE,1,msii_master_temp.ALLOWED_UNITS_LOOKUP_CODE,MSII.ALLOWED_UNITS_LOOKUP_CODE ),
2481 MSII.INVENTORY_ITEM_STATUS_CODE = decode( A_INVENTORY_ITEM_STATUS_CODE,1, msii_master_temp.INVENTORY_ITEM_STATUS_CODE,MSII.INVENTORY_ITEM_STATUS_CODE ),
2482 MSII.ITEM_TYPE = decode( A_ITEM_TYPE,1,msii_master_temp.ITEM_TYPE,MSII.ITEM_TYPE ),
2483 MSII.PRIMARY_UNIT_OF_MEASURE = decode( A_PRIMARY_UNIT_OF_MEASURE,1,msii_master_temp.PRIMARY_UNIT_OF_MEASURE,MSII.PRIMARY_UNIT_OF_MEASURE ),
2484 MSII.BASE_ITEM_ID = decode( A_BASE_ITEM_ID,1,msii_master_temp.BASE_ITEM_ID,MSII.BASE_ITEM_ID ),
2485 MSII.BOM_ENABLED_FLAG = decode( A_BOM_ENABLED_FLAG,1,msii_master_temp.BOM_ENABLED_FLAG,MSII.BOM_ENABLED_FLAG ),
2486 MSII.BOM_ITEM_TYPE = decode( A_BOM_ITEM_TYPE,1,msii_master_temp.BOM_ITEM_TYPE,MSII.BOM_ITEM_TYPE ),
2487 MSII.ENGINEERING_ECN_CODE = decode( A_ENGINEERING_ECN_CODE,1,msii_master_temp.ENGINEERING_ECN_CODE,MSII.ENGINEERING_ECN_CODE ),
2488 MSII.ENGINEERING_ITEM_ID = decode( A_ENGINEERING_ITEM_ID,1,msii_master_temp.ENGINEERING_ITEM_ID,MSII.ENGINEERING_ITEM_ID ),
2489 MSII.ENG_ITEM_FLAG = decode( A_ENG_ITEM_FLAG,1,msii_master_temp.ENG_ITEM_FLAG,MSII.ENG_ITEM_FLAG ),
2490 MSII.COSTING_ENABLED_FLAG = decode( A_COSTING_ENABLED_FLAG,1,msii_master_temp.COSTING_ENABLED_FLAG,MSII.COSTING_ENABLED_FLAG ),
2491 MSII.COST_OF_SALES_ACCOUNT = decode( A_COST_OF_SALES_ACCOUNT,1,msii_master_temp.COST_OF_SALES_ACCOUNT,MSII.COST_OF_SALES_ACCOUNT ),
2492 MSII.DEFAULT_INCLUDE_IN_ROLLUP_FLAG= decode( A_DEF_INCL_IN_ROLLUP_FLAG,1,msii_master_temp.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,MSII.DEFAULT_INCLUDE_IN_ROLLUP_FLAG ),
2493 MSII.INVENTORY_ASSET_FLAG = decode( A_INVENTORY_ASSET_FLAG,1,msii_master_temp.INVENTORY_ASSET_FLAG,MSII.INVENTORY_ASSET_FLAG ),
2494 MSII.STD_LOT_SIZE = decode( A_STD_LOT_SIZE,1,msii_master_temp.STD_LOT_SIZE,MSII.STD_LOT_SIZE ),
2495 MSII.ALLOW_ITEM_DESC_UPDATE_FLAG = decode( A_ALLOW_ITEM_DESC_UPDATE_FLAG,1,msii_master_temp.ALLOW_ITEM_DESC_UPDATE_FLAG,MSII.ALLOW_ITEM_DESC_UPDATE_FLAG ),
2496 MSII.ASSET_CATEGORY_ID = decode( A_ASSET_CATEGORY_ID,1, msii_master_temp.ASSET_CATEGORY_ID,MSII.ASSET_CATEGORY_ID ),
2497 MSII.BUYER_ID = decode( A_BUYER_ID,1,msii_master_temp.BUYER_ID,MSII.BUYER_ID ),
2498 MSII.ENCUMBRANCE_ACCOUNT = decode( A_ENCUMBRANCE_ACCOUNT,1,msii_master_temp.ENCUMBRANCE_ACCOUNT,MSII.ENCUMBRANCE_ACCOUNT ),
2499 MSII.EXPENSE_ACCOUNT = decode( A_EXPENSE_ACCOUNT,1,msii_master_temp.EXPENSE_ACCOUNT,MSII.EXPENSE_ACCOUNT ),
2500 MSII.HAZARD_CLASS_ID = decode( A_HAZARD_CLASS_ID,1,msii_master_temp.HAZARD_CLASS_ID,MSII.HAZARD_CLASS_ID ),
2501 MSII.LIST_PRICE_PER_UNIT = decode( A_LIST_PRICE_PER_UNIT,1,msii_master_temp.LIST_PRICE_PER_UNIT,MSII.LIST_PRICE_PER_UNIT ),
2502 MSII.MARKET_PRICE = decode( A_MARKET_PRICE,1,msii_master_temp.MARKET_PRICE,MSII.MARKET_PRICE ),
2503 MSII.MUST_USE_APPROVED_VENDOR_FLAG = decode( A_MU_APPRVD_VENDOR_FLAG,1,msii_master_temp.MUST_USE_APPROVED_VENDOR_FLAG,MSII.MUST_USE_APPROVED_VENDOR_FLAG ),
2504 MSII.OUTSIDE_OPERATION_FLAG = decode( A_OUTSIDE_OPERATION_FLAG,1,msii_master_temp.OUTSIDE_OPERATION_FLAG,MSII.OUTSIDE_OPERATION_FLAG ),
2505 MSII.OUTSIDE_OPERATION_UOM_TYPE = decode( A_OUTSIDE_OPERATION_UOM_TYPE,1,msii_master_temp.OUTSIDE_OPERATION_UOM_TYPE,MSII.OUTSIDE_OPERATION_UOM_TYPE ),
2506 MSII.PRICE_TOLERANCE_PERCENT = decode( A_PRICE_TOLERANCE_PERCENT,1,msii_master_temp.PRICE_TOLERANCE_PERCENT,MSII.PRICE_TOLERANCE_PERCENT ),
2507 MSII.PURCHASING_ENABLED_FLAG = decode( A_PURCHASING_ENABLED_FLAG,1,msii_master_temp.PURCHASING_ENABLED_FLAG,MSII.PURCHASING_ENABLED_FLAG ),
2508 MSII.PURCHASING_ITEM_FLAG = decode( A_PURCHASING_ITEM_FLAG,1,msii_master_temp.PURCHASING_ITEM_FLAG,MSII.PURCHASING_ITEM_FLAG ),
2509 MSII.RFQ_REQUIRED_FLAG = decode( A_RFQ_REQUIRED_FLAG,1,msii_master_temp.RFQ_REQUIRED_FLAG,MSII.RFQ_REQUIRED_FLAG ),
2510 MSII.ROUNDING_FACTOR = decode( A_ROUNDING_FACTOR,1,msii_master_temp.ROUNDING_FACTOR,MSII.ROUNDING_FACTOR ),
2511 MSII.TAXABLE_FLAG = decode( A_TAXABLE_FLAG,1,msii_master_temp.TAXABLE_FLAG,MSII.TAXABLE_FLAG ),
2512 MSII.PURCHASING_TAX_CODE = decode( A_PURCHASING_TAX_CODE,1,msii_master_temp.PURCHASING_TAX_CODE,MSII.PURCHASING_TAX_CODE ),
2513 MSII.UNIT_OF_ISSUE = decode( A_UNIT_OF_ISSUE,1,msii_master_temp.UNIT_OF_ISSUE,MSII.UNIT_OF_ISSUE ),
2514 MSII.UN_NUMBER_ID = decode( A_UN_NUMBER_ID,1,msii_master_temp.UN_NUMBER_ID,MSII.UN_NUMBER_ID ),
2515 MSII.ALLOW_EXPRESS_DELIVERY_FLAG = decode( A_ALLOW_EXPRESS_DELIVERY_FLAG,1,msii_master_temp.ALLOW_EXPRESS_DELIVERY_FLAG,MSII.ALLOW_EXPRESS_DELIVERY_FLAG ),
2516 MSII.ALLOW_SUBSTITUTE_RECEIPTS_FLAG= decode( A_ALLOW_SUBS_RECEIPTS_FLAG,1,msii_master_temp.ALLOW_SUBSTITUTE_RECEIPTS_FLAG,MSII.ALLOW_SUBSTITUTE_RECEIPTS_FLAG ),
2517 MSII.ALLOW_UNORDERED_RECEIPTS_FLAG = decode( A_ALLOW_UNORD_RECEIPTS_FLAG,1,msii_master_temp.ALLOW_UNORDERED_RECEIPTS_FLAG,MSII.ALLOW_UNORDERED_RECEIPTS_FLAG ),
2518 MSII.DAYS_EARLY_RECEIPT_ALLOWED = decode( A_DAYS_EARLY_RECEIPT_ALLOWED,1,msii_master_temp.DAYS_EARLY_RECEIPT_ALLOWED,MSII.DAYS_EARLY_RECEIPT_ALLOWED ),
2519 MSII.DAYS_LATE_RECEIPT_ALLOWED = decode( A_DAYS_LATE_RECEIPT_ALLOWED,1,msii_master_temp.DAYS_LATE_RECEIPT_ALLOWED,MSII.DAYS_LATE_RECEIPT_ALLOWED ),
2520 MSII.ENFORCE_SHIP_TO_LOCATION_CODE = decode( A_ENFORCE_SHIP_TO_LOC_CODE,1,msii_master_temp.ENFORCE_SHIP_TO_LOCATION_CODE,MSII.ENFORCE_SHIP_TO_LOCATION_CODE ),
2521 MSII.INSPECTION_REQUIRED_FLAG = decode( A_INSPECTION_REQUIRED_FLAG,1,msii_master_temp.INSPECTION_REQUIRED_FLAG,MSII.INSPECTION_REQUIRED_FLAG ),
2522 MSII.INVOICE_CLOSE_TOLERANCE = decode( A_INVOICE_CLOSE_TOLERANCE,1,msii_master_temp.INVOICE_CLOSE_TOLERANCE,MSII.INVOICE_CLOSE_TOLERANCE ),
2523 MSII.QTY_RCV_EXCEPTION_CODE = decode( A_QTY_RCV_EXCEPTION_CODE,1,msii_master_temp.QTY_RCV_EXCEPTION_CODE,MSII.QTY_RCV_EXCEPTION_CODE ),
2524 MSII.QTY_RCV_TOLERANCE = decode( A_QTY_RCV_TOLERANCE,1,msii_master_temp.QTY_RCV_TOLERANCE,MSII.QTY_RCV_TOLERANCE ),
2525 MSII.RECEIPT_DAYS_EXCEPTION_CODE = decode( A_RECEIPT_DAYS_EXCEPTION_CODE,1,msii_master_temp.RECEIPT_DAYS_EXCEPTION_CODE,MSII.RECEIPT_DAYS_EXCEPTION_CODE ),
2526 MSII.RECEIPT_REQUIRED_FLAG = decode( A_RECEIPT_REQUIRED_FLAG,1,msii_master_temp.RECEIPT_REQUIRED_FLAG,MSII.RECEIPT_REQUIRED_FLAG ),
2527 MSII.RECEIVE_CLOSE_TOLERANCE = decode( A_RECEIVE_CLOSE_TOLERANCE,1,msii_master_temp.RECEIVE_CLOSE_TOLERANCE,MSII.RECEIVE_CLOSE_TOLERANCE ),
2528 MSII.RECEIVING_ROUTING_ID = decode( A_RECEIVING_ROUTING_ID,1,msii_master_temp.RECEIVING_ROUTING_ID,MSII.RECEIVING_ROUTING_ID ),
2529 MSII.AUTO_LOT_ALPHA_PREFIX = decode( A_AUTO_LOT_ALPHA_PREFIX,1,msii_master_temp.AUTO_LOT_ALPHA_PREFIX,MSII.AUTO_LOT_ALPHA_PREFIX ),
2530 MSII.AUTO_SERIAL_ALPHA_PREFIX = decode( A_AUTO_SERIAL_ALPHA_PREFIX,1,msii_master_temp.AUTO_SERIAL_ALPHA_PREFIX,MSII.AUTO_SERIAL_ALPHA_PREFIX ),
2531 MSII.CYCLE_COUNT_ENABLED_FLAG = decode( A_CYCLE_COUNT_ENABLED_FLAG,1,msii_master_temp.CYCLE_COUNT_ENABLED_FLAG,MSII.CYCLE_COUNT_ENABLED_FLAG ),
2532 MSII.INVENTORY_ITEM_FLAG = decode( A_INVENTORY_ITEM_FLAG,1,msii_master_temp.INVENTORY_ITEM_FLAG,MSII.INVENTORY_ITEM_FLAG ),
2533 MSII.LOCATION_CONTROL_CODE = decode( A_LOCATION_CONTROL_CODE,1,msii_master_temp.LOCATION_CONTROL_CODE,MSII.LOCATION_CONTROL_CODE ),
2534 MSII.LOT_CONTROL_CODE = decode( A_LOT_CONTROL_CODE,1,msii_master_temp.LOT_CONTROL_CODE,MSII.LOT_CONTROL_CODE ),
2535 MSII.MTL_TRANSACTIONS_ENABLED_FLAG = decode( A_MTL_TRANSAC_ENABLED_FLAG,1,msii_master_temp.MTL_TRANSACTIONS_ENABLED_FLAG,MSII.MTL_TRANSACTIONS_ENABLED_FLAG ),
2536 MSII.NEGATIVE_MEASUREMENT_ERROR = decode( A_NEGATIVE_MEASUREMENT_ERROR,1,msii_master_temp.NEGATIVE_MEASUREMENT_ERROR,MSII.NEGATIVE_MEASUREMENT_ERROR ),
2537 MSII.RESERVABLE_TYPE = decode( A_RESERVABLE_TYPE,1,msii_master_temp.RESERVABLE_TYPE,MSII.RESERVABLE_TYPE ),
2538 MSII.RESTRICT_LOCATORS_CODE = decode( A_RESTRICT_LOCATORS_CODE,1,msii_master_temp.RESTRICT_LOCATORS_CODE,MSII.RESTRICT_LOCATORS_CODE ),
2539 MSII.RESTRICT_SUBINVENTORIES_CODE = decode( A_RESTRICT_SUBINVENTORIES_CODE,1,msii_master_temp.RESTRICT_SUBINVENTORIES_CODE,MSII.RESTRICT_SUBINVENTORIES_CODE ),
2540 MSII.REVISION_QTY_CONTROL_CODE = decode( A_REVISION_QTY_CONTROL_CODE,1,msii_master_temp.REVISION_QTY_CONTROL_CODE,MSII.REVISION_QTY_CONTROL_CODE ),
2541 MSII.SERIAL_NUMBER_CONTROL_CODE = decode( A_SERIAL_NUMBER_CONTROL_CODE,1,msii_master_temp.SERIAL_NUMBER_CONTROL_CODE,MSII.SERIAL_NUMBER_CONTROL_CODE ),
2542 MSII.SHELF_LIFE_CODE = decode( A_SHELF_LIFE_CODE,1,msii_master_temp.SHELF_LIFE_CODE,MSII.SHELF_LIFE_CODE ),
2543 MSII.SHELF_LIFE_DAYS = decode( A_SHELF_LIFE_DAYS,1,msii_master_temp.SHELF_LIFE_DAYS,MSII.SHELF_LIFE_DAYS ),
2544 MSII.START_AUTO_LOT_NUMBER = decode( A_START_AUTO_LOT_NUMBER,1,msii_master_temp.START_AUTO_LOT_NUMBER,MSII.START_AUTO_LOT_NUMBER ),
2545 MSII.START_AUTO_SERIAL_NUMBER = decode( A_START_AUTO_SERIAL_NUMBER,1,msii_master_temp.START_AUTO_SERIAL_NUMBER,MSII.START_AUTO_SERIAL_NUMBER ),
2546 MSII.STOCK_ENABLED_FLAG = decode( A_STOCK_ENABLED_FLAG,1,msii_master_temp.STOCK_ENABLED_FLAG,MSII.STOCK_ENABLED_FLAG ),
2547 MSII.UNIT_VOLUME = decode( A_UNIT_VOLUME,1,msii_master_temp.UNIT_VOLUME,MSII.UNIT_VOLUME ),
2548 MSII.UNIT_WEIGHT = decode( A_UNIT_WEIGHT,1,msii_master_temp.UNIT_WEIGHT,MSII.UNIT_WEIGHT ),
2549 MSII.VOLUME_UOM_CODE = decode( A_VOLUME_UOM_CODE,1,msii_master_temp.VOLUME_UOM_CODE,MSII.VOLUME_UOM_CODE ),
2550 MSII.WEIGHT_UOM_CODE = decode( A_WEIGHT_UOM_CODE,1,msii_master_temp.WEIGHT_UOM_CODE,MSII.WEIGHT_UOM_CODE ),
2551 MSII.CARRYING_COST = decode( A_CARRYING_COST,1,msii_master_temp.CARRYING_COST,MSII.CARRYING_COST ),
2552 MSII.FIXED_DAYS_SUPPLY = decode( A_FIXED_DAYS_SUPPLY,1,msii_master_temp.FIXED_DAYS_SUPPLY,MSII.FIXED_DAYS_SUPPLY ),
2553 MSII.FIXED_LOT_MULTIPLIER = decode( A_FIXED_LOT_MULTIPLIER,1,msii_master_temp.FIXED_LOT_MULTIPLIER,MSII.FIXED_LOT_MULTIPLIER ),
2554 MSII.FIXED_ORDER_QUANTITY = decode( A_FIXED_ORDER_QUANTITY,1, msii_master_temp.FIXED_ORDER_QUANTITY,MSII.FIXED_ORDER_QUANTITY ),
2555 MSII.INVENTORY_PLANNING_CODE = decode( A_INVENTORY_PLANNING_CODE,1,msii_master_temp.INVENTORY_PLANNING_CODE,MSII.INVENTORY_PLANNING_CODE ),
2556 MSII.MAXIMUM_ORDER_QUANTITY = decode( A_MAXIMUM_ORDER_QUANTITY,1,msii_master_temp.MAXIMUM_ORDER_QUANTITY,MSII.MAXIMUM_ORDER_QUANTITY ),
2557 MSII.MAX_MINMAX_QUANTITY = decode( A_MAX_MINMAX_QUANTITY,1,msii_master_temp.MAX_MINMAX_QUANTITY,MSII.MAX_MINMAX_QUANTITY ),
2558 MSII.MINIMUM_ORDER_QUANTITY = decode( A_MINIMUM_ORDER_QUANTITY,1,msii_master_temp.MINIMUM_ORDER_QUANTITY,MSII.MINIMUM_ORDER_QUANTITY ),
2559 MSII.MIN_MINMAX_QUANTITY = decode( A_MIN_MINMAX_QUANTITY,1,msii_master_temp.MIN_MINMAX_QUANTITY,MSII.MIN_MINMAX_QUANTITY ),
2560 MSII.MRP_SAFETY_STOCK_CODE = decode( A_MRP_SAFETY_STOCK_CODE,1,msii_master_temp.MRP_SAFETY_STOCK_CODE,MSII.MRP_SAFETY_STOCK_CODE ),
2561 MSII.MRP_SAFETY_STOCK_PERCENT = decode( A_MRP_SAFETY_STOCK_PERCENT,1, msii_master_temp.MRP_SAFETY_STOCK_PERCENT,MSII.MRP_SAFETY_STOCK_PERCENT ),
2562 MSII.ORDER_COST = decode( A_ORDER_COST,1,msii_master_temp.ORDER_COST,MSII.ORDER_COST ),
2563 MSII.PLANNER_CODE = decode( A_PLANNER_CODE,1,msii_master_temp.PLANNER_CODE,MSII.PLANNER_CODE ),
2564 MSII.SAFETY_STOCK_BUCKET_DAYS = decode( A_SAFETY_STOCK_BUCKET_DAYS,1,msii_master_temp.SAFETY_STOCK_BUCKET_DAYS,MSII.SAFETY_STOCK_BUCKET_DAYS ),
2565 MSII.SOURCE_ORGANIZATION_ID = decode( A_SOURCE_ORGANIZATION_ID,1,msii_master_temp.SOURCE_ORGANIZATION_ID,MSII.SOURCE_ORGANIZATION_ID ),
2566 MSII.SOURCE_SUBINVENTORY = decode( A_SOURCE_SUBINVENTORY,1,msii_master_temp.SOURCE_SUBINVENTORY,MSII.SOURCE_SUBINVENTORY ),
2567 MSII.SOURCE_TYPE = decode( A_SOURCE_TYPE,1,msii_master_temp.SOURCE_TYPE,MSII.SOURCE_TYPE ),
2568 MSII.ACCEPTABLE_EARLY_DAYS = decode( A_ACCEPTABLE_EARLY_DAYS,1,msii_master_temp.ACCEPTABLE_EARLY_DAYS,MSII.ACCEPTABLE_EARLY_DAYS ),
2569 MSII.ACCEPTABLE_RATE_DECREASE = decode( A_ACCEPTABLE_RATE_DECREASE,1,msii_master_temp.ACCEPTABLE_RATE_DECREASE,MSII.ACCEPTABLE_RATE_DECREASE ),
2570 MSII.ACCEPTABLE_RATE_INCREASE = decode( A_ACCEPTABLE_RATE_INCREASE,1,msii_master_temp.ACCEPTABLE_RATE_INCREASE,MSII.ACCEPTABLE_RATE_INCREASE ),
2571 MSII.AUTO_REDUCE_MPS = decode( A_AUTO_REDUCE_MPS,1,msii_master_temp.AUTO_REDUCE_MPS,MSII.AUTO_REDUCE_MPS ),
2572 MSII.DEMAND_TIME_FENCE_CODE = decode( A_DEMAND_TIME_FENCE_CODE,1,msii_master_temp.DEMAND_TIME_FENCE_CODE,MSII.DEMAND_TIME_FENCE_CODE ),
2573 MSII.DEMAND_TIME_FENCE_DAYS = decode( A_DEMAND_TIME_FENCE_DAYS,1,msii_master_temp.DEMAND_TIME_FENCE_DAYS,MSII.DEMAND_TIME_FENCE_DAYS ),
2574 MSII.END_ASSEMBLY_PEGGING_FLAG = decode( A_END_ASSEMBLY_PEGGING_FLAG,1,msii_master_temp.END_ASSEMBLY_PEGGING_FLAG,MSII.END_ASSEMBLY_PEGGING_FLAG ),
2575 MSII.MRP_CALCULATE_ATP_FLAG = decode( A_MRP_CALCULATE_ATP_FLAG,1,msii_master_temp.MRP_CALCULATE_ATP_FLAG,MSII.MRP_CALCULATE_ATP_FLAG ),
2576 MSII.MRP_PLANNING_CODE = decode( A_MRP_PLANNING_CODE,1,msii_master_temp.MRP_PLANNING_CODE,MSII.MRP_PLANNING_CODE ),
2577 MSII.OVERRUN_PERCENTAGE = decode( A_OVERRUN_PERCENTAGE,1,msii_master_temp.OVERRUN_PERCENTAGE,MSII.OVERRUN_PERCENTAGE ),
2578 MSII.PLANNING_EXCEPTION_SET = decode( A_PLANNING_EXCEPTION_SET,1,msii_master_temp.PLANNING_EXCEPTION_SET,MSII.PLANNING_EXCEPTION_SET ),
2579 MSII.PLANNING_MAKE_BUY_CODE = decode( A_PLANNING_MAKE_BUY_CODE,1,msii_master_temp.PLANNING_MAKE_BUY_CODE,MSII.PLANNING_MAKE_BUY_CODE ),
2580 MSII.PLANNING_TIME_FENCE_CODE = decode( A_PLANNING_TIME_FENCE_CODE,1,msii_master_temp.PLANNING_TIME_FENCE_CODE,MSII.PLANNING_TIME_FENCE_CODE ),
2581 MSII.PLANNING_TIME_FENCE_DAYS = decode( A_PLANNING_TIME_FENCE_DAYS,1,msii_master_temp.PLANNING_TIME_FENCE_DAYS,MSII.PLANNING_TIME_FENCE_DAYS ),
2582 -- Bug #1052111
2583 MSII.RELEASE_TIME_FENCE_CODE = decode( A_RELEASE_TIME_FENCE_CODE,1,msii_master_temp.RELEASE_TIME_FENCE_CODE,MSII.RELEASE_TIME_FENCE_CODE ),
2584 MSII.RELEASE_TIME_FENCE_DAYS = decode( A_RELEASE_TIME_FENCE_DAYS,1,msii_master_temp.RELEASE_TIME_FENCE_DAYS,MSII.RELEASE_TIME_FENCE_DAYS ),
2585 MSII.REPETITIVE_PLANNING_FLAG = decode( A_REPETITIVE_PLANNING_FLAG,1,msii_master_temp.REPETITIVE_PLANNING_FLAG,MSII.REPETITIVE_PLANNING_FLAG ),
2586 MSII.ROUNDING_CONTROL_TYPE = decode( A_ROUNDING_CONTROL_TYPE,1, msii_master_temp.ROUNDING_CONTROL_TYPE,MSII.ROUNDING_CONTROL_TYPE ),
2587 MSII.SHRINKAGE_RATE = decode( A_SHRINKAGE_RATE,1,msii_master_temp.SHRINKAGE_RATE,MSII.SHRINKAGE_RATE ),
2588 MSII.CUMULATIVE_TOTAL_LEAD_TIME = decode( A_CUMULATIVE_TOTAL_LEAD_TIME,1,msii_master_temp.CUMULATIVE_TOTAL_LEAD_TIME,MSII.CUMULATIVE_TOTAL_LEAD_TIME ),
2589 MSII.CUM_MANUFACTURING_LEAD_TIME = decode( A_CUM_MANUFACTURING_LEAD_TIME,1,msii_master_temp.CUM_MANUFACTURING_LEAD_TIME,MSII.CUM_MANUFACTURING_LEAD_TIME ),
2590 MSII.FIXED_LEAD_TIME = decode( A_FIXED_LEAD_TIME,1,msii_master_temp.FIXED_LEAD_TIME,MSII.FIXED_LEAD_TIME ),
2591 MSII.FULL_LEAD_TIME = decode( A_FULL_LEAD_TIME,1,msii_master_temp.FULL_LEAD_TIME,MSII.FULL_LEAD_TIME ),
2592 MSII.POSTPROCESSING_LEAD_TIME = decode( A_POSTPROCESSING_LEAD_TIME,1,msii_master_temp.POSTPROCESSING_LEAD_TIME,MSII.POSTPROCESSING_LEAD_TIME ),
2593 MSII.PREPROCESSING_LEAD_TIME = decode( A_PREPROCESSING_LEAD_TIME,1,msii_master_temp.PREPROCESSING_LEAD_TIME,MSII.PREPROCESSING_LEAD_TIME ),
2594 MSII.VARIABLE_LEAD_TIME = decode( A_VARIABLE_LEAD_TIME,1,msii_master_temp.VARIABLE_LEAD_TIME,MSII.VARIABLE_LEAD_TIME ),
2595 MSII.BUILD_IN_WIP_FLAG = decode( A_BUILD_IN_WIP_FLAG,1,msii_master_temp.BUILD_IN_WIP_FLAG,MSII.BUILD_IN_WIP_FLAG ),
2596 MSII.WIP_SUPPLY_LOCATOR_ID = decode( A_WIP_SUPPLY_LOCATOR_ID,1,msii_master_temp.WIP_SUPPLY_LOCATOR_ID,MSII.WIP_SUPPLY_LOCATOR_ID ),
2597 MSII.WIP_SUPPLY_SUBINVENTORY = decode( A_WIP_SUPPLY_SUBINVENTORY,1,msii_master_temp.WIP_SUPPLY_SUBINVENTORY,MSII.WIP_SUPPLY_SUBINVENTORY ),
2598 MSII.WIP_SUPPLY_TYPE = decode( A_WIP_SUPPLY_TYPE,1,msii_master_temp.WIP_SUPPLY_TYPE,MSII.WIP_SUPPLY_TYPE ),
2599 MSII.ATP_COMPONENTS_FLAG = decode( A_ATP_COMPONENTS_FLAG,1,msii_master_temp.ATP_COMPONENTS_FLAG,MSII.ATP_COMPONENTS_FLAG ),
2600 MSII.ATP_FLAG = decode( A_ATP_FLAG,1,msii_master_temp.ATP_FLAG,MSII.ATP_FLAG ),
2601 MSII.ATP_RULE_ID = decode( A_ATP_RULE_ID,1,msii_master_temp.ATP_RULE_ID,MSII.ATP_RULE_ID ),
2602 MSII.COLLATERAL_FLAG = decode( A_COLLATERAL_FLAG,1,msii_master_temp.COLLATERAL_FLAG,MSII.COLLATERAL_FLAG ),
2603 MSII.CUSTOMER_ORDER_ENABLED_FLAG = decode( A_CUSTOMER_ORDER_ENABLED_FLAG,1,msii_master_temp.CUSTOMER_ORDER_ENABLED_FLAG,MSII.CUSTOMER_ORDER_ENABLED_FLAG ),
2604 MSII.CUSTOMER_ORDER_FLAG = decode( A_CUSTOMER_ORDER_FLAG,1,msii_master_temp.CUSTOMER_ORDER_FLAG,MSII.CUSTOMER_ORDER_FLAG ),
2605 MSII.DEFAULT_SHIPPING_ORG = decode( A_DEFAULT_SHIPPING_ORG,1,msii_master_temp.DEFAULT_SHIPPING_ORG,MSII.DEFAULT_SHIPPING_ORG ),
2606 MSII.INTERNAL_ORDER_ENABLED_FLAG = decode( A_INTERNAL_ORDER_ENABLED_FLAG,1,msii_master_temp.INTERNAL_ORDER_ENABLED_FLAG,MSII.INTERNAL_ORDER_ENABLED_FLAG ),
2607
2608 MSII.INTERNAL_ORDER_FLAG =
2609 decode( A_INTERNAL_ORDER_FLAG,
2610 1,
2611 msii_master_temp.INTERNAL_ORDER_FLAG,
2612 MSII.INTERNAL_ORDER_FLAG ),
2613
2614 MSII.PICKING_RULE_ID =
2615 decode( A_PICKING_RULE_ID,
2616 1,
2617 msii_master_temp.PICKING_RULE_ID,
2618 MSII.PICKING_RULE_ID ),
2619
2620 MSII.PICK_COMPONENTS_FLAG =
2621 decode( A_PICK_COMPONENTS_FLAG,
2622 1,
2623 msii_master_temp.PICK_COMPONENTS_FLAG,
2624 MSII.PICK_COMPONENTS_FLAG ),
2625
2626 MSII.REPLENISH_TO_ORDER_FLAG =
2627 decode( A_REPLENISH_TO_ORDER_FLAG,
2628 1,
2629 msii_master_temp.REPLENISH_TO_ORDER_FLAG,
2630 MSII.REPLENISH_TO_ORDER_FLAG ),
2631
2632 MSII.RETURNABLE_FLAG =
2633 decode( A_RETURNABLE_FLAG,
2634 1,
2635 msii_master_temp.RETURNABLE_FLAG,
2636 MSII.RETURNABLE_FLAG ),
2637
2638 MSII.RETURN_INSPECTION_REQUIREMENT =
2639 decode( A_RETURN_INSPECTION_REQMT,
2640 1,
2641 msii_master_temp.RETURN_INSPECTION_REQUIREMENT,
2642 MSII.RETURN_INSPECTION_REQUIREMENT ),
2643
2644 MSII.SHIPPABLE_ITEM_FLAG =
2645 decode( A_SHIPPABLE_ITEM_FLAG,
2646 1,
2647 msii_master_temp.SHIPPABLE_ITEM_FLAG,
2648 MSII.SHIPPABLE_ITEM_FLAG ),
2649
2650 MSII.SHIP_MODEL_COMPLETE_FLAG =
2651 decode( A_SHIP_MODEL_COMPLETE_FLAG,
2652 1,
2653 msii_master_temp.SHIP_MODEL_COMPLETE_FLAG,
2654 MSII.SHIP_MODEL_COMPLETE_FLAG ),
2655
2656 MSII.SO_TRANSACTIONS_FLAG =
2657 decode( A_SO_TRANSACTIONS_FLAG,
2658 1,
2659 msii_master_temp.SO_TRANSACTIONS_FLAG,
2660 MSII.SO_TRANSACTIONS_FLAG ),
2661
2662 MSII.ACCOUNTING_RULE_ID =
2663 decode( A_ACCOUNTING_RULE_ID,
2664 1,
2665 msii_master_temp.ACCOUNTING_RULE_ID,
2666 MSII.ACCOUNTING_RULE_ID ),
2667
2668 MSII.INVOICEABLE_ITEM_FLAG =
2669 decode( A_INVOICEABLE_ITEM_FLAG,
2670 1,
2671 msii_master_temp.INVOICEABLE_ITEM_FLAG,
2672 MSII.INVOICEABLE_ITEM_FLAG ),
2673
2674 MSII.INVOICE_ENABLED_FLAG =
2675 decode( A_INVOICE_ENABLED_FLAG,
2676 1,
2677 msii_master_temp.INVOICE_ENABLED_FLAG,
2678 MSII.INVOICE_ENABLED_FLAG ),
2679
2680 MSII.ENGINEERING_DATE =
2681 decode( A_ENGINEERING_DATE,
2682 1,
2683 msii_master_temp.ENGINEERING_DATE,
2684 MSII.ENGINEERING_DATE ),
2685
2686 MSII.INVOICING_RULE_ID =
2687 decode( A_INVOICING_RULE_ID,
2688 1,
2689 msii_master_temp.INVOICING_RULE_ID,
2690 MSII.INVOICING_RULE_ID ),
2691
2692 MSII.PAYMENT_TERMS_ID =
2693 decode( A_PAYMENT_TERMS_ID,
2694 1,
2695 msii_master_temp.PAYMENT_TERMS_ID,
2696 MSII.PAYMENT_TERMS_ID ),
2697
2698 MSII.SALES_ACCOUNT =
2699 decode( A_SALES_ACCOUNT,
2700 1,
2701 msii_master_temp.SALES_ACCOUNT,
2702 MSII.SALES_ACCOUNT ),
2703
2704 MSII.TAX_CODE =
2705 decode( A_TAX_CODE,
2706 1,
2707 msii_master_temp.TAX_CODE,
2708 MSII.TAX_CODE ),
2709
2710 MSII.COVERAGE_SCHEDULE_ID =
2711 decode( A_COVERAGE_SCHEDULE_ID,
2712 1,
2713 msii_master_temp.COVERAGE_SCHEDULE_ID,
2714 MSII.COVERAGE_SCHEDULE_ID ),
2715
2716 MSII.MATERIAL_BILLABLE_FLAG =
2717 decode( A_MATERIAL_BILLABLE_FLAG,
2718 1,
2719 msii_master_temp.MATERIAL_BILLABLE_FLAG,
2720 MSII.MATERIAL_BILLABLE_FLAG ),
2721
2722 MSII.MAX_WARRANTY_AMOUNT =
2723 decode( A_MAX_WARRANTY_AMOUNT,
2724 1,
2725 msii_master_temp.MAX_WARRANTY_AMOUNT,
2726 MSII.MAX_WARRANTY_AMOUNT ),
2727
2728 MSII.PREVENTIVE_MAINTENANCE_FLAG =
2729 decode( A_PREVENTIVE_MAINTENANCE_FLAG,
2730 1,
2731 msii_master_temp.PREVENTIVE_MAINTENANCE_FLAG,
2732 MSII.PREVENTIVE_MAINTENANCE_FLAG ),
2733
2734 MSII.PRORATE_SERVICE_FLAG =
2735 decode( A_PRORATE_SERVICE_FLAG,
2736 1,
2737 msii_master_temp.PRORATE_SERVICE_FLAG,
2738 MSII.PRORATE_SERVICE_FLAG ),
2739
2740 MSII.RESPONSE_TIME_PERIOD_CODE =
2741 decode( A_RESPONSE_TIME_PERIOD_CODE,
2742 1,
2743 msii_master_temp.RESPONSE_TIME_PERIOD_CODE,
2744 MSII.RESPONSE_TIME_PERIOD_CODE ),
2745
2746 MSII.RESPONSE_TIME_VALUE =
2747 decode( A_RESPONSE_TIME_VALUE,
2748 1,
2749 msii_master_temp.RESPONSE_TIME_VALUE,
2750 MSII.RESPONSE_TIME_VALUE ),
2751
2752 MSII.SERVICE_DURATION =
2753 decode( A_SERVICE_DURATION,
2754 1,
2755 msii_master_temp.SERVICE_DURATION,
2756 MSII.SERVICE_DURATION ),
2757
2758 MSII.SERVICE_DURATION_PERIOD_CODE =
2759 decode( A_SERVICE_DURATION_PERIOD_CODE,
2760 1,
2761 msii_master_temp.SERVICE_DURATION_PERIOD_CODE,
2762 MSII.SERVICE_DURATION_PERIOD_CODE ),
2763
2764 MSII.WARRANTY_VENDOR_ID =
2765 decode( A_WARRANTY_VENDOR_ID,
2766 1,
2767 msii_master_temp.WARRANTY_VENDOR_ID,
2768 MSII.WARRANTY_VENDOR_ID ),
2769
2770 MSII.BASE_WARRANTY_SERVICE_ID =
2771 decode( A_BASE_WARRANTY_SERVICE_ID,
2772 1,
2773 msii_master_temp.BASE_WARRANTY_SERVICE_ID,
2774 MSII.BASE_WARRANTY_SERVICE_ID ),
2775
2776 MSII.NEW_REVISION_CODE =
2777 decode( A_NEW_REVISION_CODE,
2778 1,
2779 msii_master_temp.NEW_REVISION_CODE,
2780 MSII.NEW_REVISION_CODE ),
2781
2782 MSII.PRIMARY_SPECIALIST_ID =
2783 decode( A_PRIMARY_SPECIALIST_ID,
2784 1,
2785 msii_master_temp.PRIMARY_SPECIALIST_ID,
2786 MSII.PRIMARY_SPECIALIST_ID ),
2787
2788 MSII.SECONDARY_SPECIALIST_ID =
2789 decode( A_SECONDARY_SPECIALIST_ID,
2790 1,
2791 msii_master_temp.SECONDARY_SPECIALIST_ID,
2792 MSII.SECONDARY_SPECIALIST_ID ),
2793
2794 MSII.SERVICEABLE_COMPONENT_FLAG =
2795 decode( A_SERVICEABLE_COMPONENT_FLAG,
2796 1,
2797 msii_master_temp.SERVICEABLE_COMPONENT_FLAG,
2798 MSII.SERVICEABLE_COMPONENT_FLAG ),
2799
2800 MSII.SERVICEABLE_ITEM_CLASS_ID =
2801 decode( A_SERVICEABLE_ITEM_CLASS_ID,
2802 1,
2803 msii_master_temp.SERVICEABLE_ITEM_CLASS_ID,
2804 MSII.SERVICEABLE_ITEM_CLASS_ID ),
2805
2806 MSII.SERVICEABLE_PRODUCT_FLAG =
2807 decode( A_SERVICEABLE_PRODUCT_FLAG,
2808 1,
2809 msii_master_temp.SERVICEABLE_PRODUCT_FLAG,
2810 MSII.SERVICEABLE_PRODUCT_FLAG ),
2811
2812 MSII.SERVICE_STARTING_DELAY =
2813 decode( A_SERVICE_STARTING_DELAY,
2814 1,
2815 msii_master_temp.SERVICE_STARTING_DELAY,
2816 MSII.SERVICE_STARTING_DELAY ),
2817
2818 MSII.ATO_FORECAST_CONTROL =
2819 decode( A_ATO_FORECAST_CONTROL,
2820 1,
2821 msii_master_temp.ATO_FORECAST_CONTROL,
2822 MSII.ATO_FORECAST_CONTROL ),
2823
2824 MSII.DESCRIPTION =
2825 decode( A_DESCRIPTION,
2826 1,
2827 msii_master_temp.DESCRIPTION,
2828 MSII.DESCRIPTION ),
2829
2830 MSII.LONG_DESCRIPTION =
2831 decode( A_LONG_DESCRIPTION,
2832 1,
2833 msii_master_temp.LONG_DESCRIPTION,
2834 MSII.LONG_DESCRIPTION ),
2835
2836 MSII.LEAD_TIME_LOT_SIZE =
2837 decode( A_LEAD_TIME_LOT_SIZE,
2838 1,
2839 msii_master_temp.LEAD_TIME_LOT_SIZE,
2840 MSII.LEAD_TIME_LOT_SIZE ),
2841
2842 MSII.POSITIVE_MEASUREMENT_ERROR =
2843 decode( A_POSITIVE_MEASUREMENT_ERROR,
2844 1,
2845 msii_master_temp.POSITIVE_MEASUREMENT_ERROR,
2846 MSII.POSITIVE_MEASUREMENT_ERROR ),
2847
2848
2849 MSII.CONTAINER_ITEM_FLAG =
2850 decode( A_CONTAINER_ITEM_FLAG,
2851 1,
2852 msii_master_temp.CONTAINER_ITEM_FLAG,
2853 MSII.CONTAINER_ITEM_FLAG ),
2854 MSII.VEHICLE_ITEM_FLAG =
2855 decode( A_VEHICLE_ITEM_FLAG,
2856 1,
2857 msii_master_temp.VEHICLE_ITEM_FLAG,
2858 MSII.VEHICLE_ITEM_FLAG ),
2859
2860 MSII.MAXIMUM_LOAD_WEIGHT =
2861 decode( A_MAXIMUM_LOAD_WEIGHT,
2862 1,
2863 msii_master_temp.MAXIMUM_LOAD_WEIGHT,
2864 MSII.MAXIMUM_LOAD_WEIGHT ),
2865
2866 MSII.MINIMUM_FILL_PERCENT =
2867 decode( A_MINIMUM_FILL_PERCENT,
2868 1,
2869 msii_master_temp.MINIMUM_FILL_PERCENT,
2870 MSII.MINIMUM_FILL_PERCENT ),
2871
2872 MSII.INTERNAL_VOLUME =
2873 decode( A_INTERNAL_VOLUME,
2874 1,
2875 msii_master_temp.INTERNAL_VOLUME,
2876 MSII.INTERNAL_VOLUME ),
2877
2878 MSII.CONTAINER_TYPE_CODE =
2879 decode( A_CONTAINER_TYPE_CODE,
2880 1,
2881 msii_master_temp.CONTAINER_TYPE_CODE,
2882 MSII.CONTAINER_TYPE_CODE ),
2883
2884 MSII.CHECK_SHORTAGES_FLAG =
2885 decode( A_CHECK_SHORTAGES_FLAG,
2886 1, msii_master_temp.CHECK_SHORTAGES_FLAG,
2887 MSII.CHECK_SHORTAGES_FLAG ),
2888
2889 MSII.EFFECTIVITY_CONTROL =
2890 decode( A_EFFECTIVITY_CONTROL,
2891 1, msii_master_temp.EFFECTIVITY_CONTROL,
2892 MSII.EFFECTIVITY_CONTROL ),
2893
2894 MSII.OVERCOMPLETION_TOLERANCE_TYPE =
2895 decode( A_OVERCOMPLETION_TOLERANCE_TYP,
2896 1, msii_master_temp.OVERCOMPLETION_TOLERANCE_TYPE,
2897 MSII.OVERCOMPLETION_TOLERANCE_TYPE ),
2898
2899 MSII.OVERCOMPLETION_TOLERANCE_VALUE =
2900 decode( A_OVERCOMPLETION_TOLERANCE_VAL,
2901 1, msii_master_temp.OVERCOMPLETION_TOLERANCE_VALUE,
2902 MSII.OVERCOMPLETION_TOLERANCE_VALUE ),
2903
2904 MSII.OVER_SHIPMENT_TOLERANCE =
2905 decode( A_OVER_SHIPMENT_TOLERANCE,
2906 1, msii_master_temp.OVER_SHIPMENT_TOLERANCE,
2907 MSII.OVER_SHIPMENT_TOLERANCE ),
2908
2909 MSII.UNDER_SHIPMENT_TOLERANCE =
2910 decode( A_UNDER_SHIPMENT_TOLERANCE,
2911 1, msii_master_temp.UNDER_SHIPMENT_TOLERANCE,
2912 MSII.UNDER_SHIPMENT_TOLERANCE ),
2913
2914 MSII.OVER_RETURN_TOLERANCE =
2915 decode( A_OVER_RETURN_TOLERANCE,
2916 1, msii_master_temp.OVER_RETURN_TOLERANCE,
2917 MSII.OVER_RETURN_TOLERANCE ),
2918
2919 MSII.UNDER_RETURN_TOLERANCE =
2920 decode( A_UNDER_RETURN_TOLERANCE,
2921 1, msii_master_temp.UNDER_RETURN_TOLERANCE,
2922 MSII.UNDER_RETURN_TOLERANCE ),
2923
2924 MSII.EQUIPMENT_TYPE =
2925 decode( A_EQUIPMENT_TYPE,
2926 1, msii_master_temp.EQUIPMENT_TYPE,
2927 MSII.EQUIPMENT_TYPE ),
2928
2929 MSII.RECOVERED_PART_DISP_CODE =
2930 decode( A_RECOVERED_PART_DISP_CODE,
2931 1, msii_master_temp.RECOVERED_PART_DISP_CODE,
2932 MSII.RECOVERED_PART_DISP_CODE ),
2933
2934 MSII.DEFECT_TRACKING_ON_FLAG =
2935 decode( A_DEFECT_TRACKING_ON_FLAG,
2936 1, msii_master_temp.DEFECT_TRACKING_ON_FLAG,
2937 MSII.DEFECT_TRACKING_ON_FLAG ),
2938
2939 MSII.EVENT_FLAG =
2940 decode( A_EVENT_FLAG,
2941 1, msii_master_temp.EVENT_FLAG,
2942 MSII.EVENT_FLAG ),
2943
2944 MSII.ELECTRONIC_FLAG =
2945 decode( A_ELECTRONIC_FLAG,
2946 1, msii_master_temp.ELECTRONIC_FLAG,
2947 MSII.ELECTRONIC_FLAG ),
2948
2949 MSII. DOWNLOADABLE_FLAG=
2950 decode( A_DOWNLOADABLE_FLAG,
2951 1, msii_master_temp.DOWNLOADABLE_FLAG,
2952 MSII.DOWNLOADABLE_FLAG ),
2953
2954 MSII.VOL_DISCOUNT_EXEMPT_FLAG =
2955 decode( A_VOL_DISCOUNT_EXEMPT_FLAG,
2956 1, msii_master_temp.VOL_DISCOUNT_EXEMPT_FLAG,
2957 MSII.VOL_DISCOUNT_EXEMPT_FLAG ),
2958
2959 MSII.COUPON_EXEMPT_FLAG =
2960 decode( A_COUPON_EXEMPT_FLAG,
2961 1, msii_master_temp.COUPON_EXEMPT_FLAG,
2962 MSII.COUPON_EXEMPT_FLAG ),
2963
2964 MSII.COMMS_NL_TRACKABLE_FLAG =
2965 decode( A_COMMS_NL_TRACKABLE_FLAG,
2966 1, msii_master_temp.COMMS_NL_TRACKABLE_FLAG,
2967 MSII.COMMS_NL_TRACKABLE_FLAG ),
2968
2969 MSII.ASSET_CREATION_CODE =
2970 decode( A_ASSET_CREATION_CODE,
2971 1, msii_master_temp.ASSET_CREATION_CODE,
2972 MSII.ASSET_CREATION_CODE ),
2973
2974 MSII.COMMS_ACTIVATION_REQD_FLAG =
2975 decode( A_COMMS_ACTIVATION_REQD_FLAG,
2976 1, msii_master_temp.COMMS_ACTIVATION_REQD_FLAG,
2977 MSII.COMMS_ACTIVATION_REQD_FLAG ),
2978
2979 MSII.ORDERABLE_ON_WEB_FLAG =
2980 decode( A_ORDERABLE_ON_WEB_FLAG,
2981 1, msii_master_temp.ORDERABLE_ON_WEB_FLAG,
2982 MSII.ORDERABLE_ON_WEB_FLAG ),
2983
2984 MSII.BACK_ORDERABLE_FLAG =
2985 decode( A_BACK_ORDERABLE_FLAG,
2986 1, msii_master_temp.BACK_ORDERABLE_FLAG,
2987 MSII.BACK_ORDERABLE_FLAG ),
2988
2989 MSII.WEB_STATUS =
2990 decode( A_WEB_STATUS,
2991 1, msii_master_temp.WEB_STATUS,
2992 MSII.WEB_STATUS ),
2993
2994 MSII.INDIVISIBLE_FLAG =
2995 decode( A_INDIVISIBLE_FLAG,
2996 1, msii_master_temp.INDIVISIBLE_FLAG,
2997 MSII.INDIVISIBLE_FLAG ),
2998
2999 MSII.DIMENSION_UOM_CODE =
3000 decode( A_DIMENSION_UOM_CODE,
3001 1, msii_master_temp.DIMENSION_UOM_CODE,
3002 MSII.DIMENSION_UOM_CODE ),
3003
3004 MSII.UNIT_LENGTH =
3005 decode( A_UNIT_LENGTH,
3006 1, msii_master_temp.UNIT_LENGTH,
3007 MSII.UNIT_LENGTH ),
3008
3009 MSII.UNIT_WIDTH =
3010 decode( A_UNIT_WIDTH,
3011 1, msii_master_temp.UNIT_WIDTH,
3012 MSII.UNIT_WIDTH ),
3013
3014 MSII.UNIT_HEIGHT =
3015 decode( A_UNIT_HEIGHT,
3016 1, msii_master_temp.UNIT_HEIGHT,
3017 MSII.UNIT_HEIGHT ),
3018
3019 MSII.BULK_PICKED_FLAG =
3020 decode( A_BULK_PICKED_FLAG,
3021 1, msii_master_temp.BULK_PICKED_FLAG,
3022 MSII.BULK_PICKED_FLAG ),
3023
3024 MSII. LOT_STATUS_ENABLED=
3025 decode( A_LOT_STATUS_ENABLED,
3026 1, msii_master_temp.LOT_STATUS_ENABLED,
3027 MSII.LOT_STATUS_ENABLED ),
3028
3029 MSII.DEFAULT_LOT_STATUS_ID =
3030 decode( A_DEFAULT_LOT_STATUS_ID,
3031 1, msii_master_temp.DEFAULT_LOT_STATUS_ID,
3032 MSII.DEFAULT_LOT_STATUS_ID ),
3033
3034 MSII.SERIAL_STATUS_ENABLED =
3035 decode( A_SERIAL_STATUS_ENABLED,
3036 1, msii_master_temp.SERIAL_STATUS_ENABLED,
3037 MSII.SERIAL_STATUS_ENABLED ),
3038
3039 MSII.DEFAULT_SERIAL_STATUS_ID =
3040 decode( A_DEFAULT_SERIAL_STATUS_ID,
3041 1, msii_master_temp.DEFAULT_SERIAL_STATUS_ID,
3042 MSII.DEFAULT_SERIAL_STATUS_ID ),
3043
3044 MSII.LOT_SPLIT_ENABLED =
3045 decode( A_LOT_SPLIT_ENABLED,
3046 1, msii_master_temp.LOT_SPLIT_ENABLED,
3047 MSII.LOT_SPLIT_ENABLED ),
3048
3049 MSII.LOT_MERGE_ENABLED =
3050 decode( A_LOT_MERGE_ENABLED,
3051 1, msii_master_temp.LOT_MERGE_ENABLED,
3052 MSII.LOT_MERGE_ENABLED ),
3053
3054 MSII.INVENTORY_CARRY_PENALTY =
3055 decode( A_INVENTORY_CARRY_PENALTY,
3056 1, msii_master_temp.INVENTORY_CARRY_PENALTY,
3057 MSII.INVENTORY_CARRY_PENALTY ),
3058
3059 MSII.OPERATION_SLACK_PENALTY =
3060 decode( A_OPERATION_SLACK_PENALTY,
3061 1, msii_master_temp.OPERATION_SLACK_PENALTY,
3062 MSII.OPERATION_SLACK_PENALTY ),
3063
3064 MSII.FINANCING_ALLOWED_FLAG =
3065 decode( A_FINANCING_ALLOWED_FLAG,
3066 1, msii_master_temp.FINANCING_ALLOWED_FLAG,
3067 MSII.FINANCING_ALLOWED_FLAG ),
3068
3069 MSII.EAM_ITEM_TYPE =
3070 decode( A_EAM_ITEM_TYPE,
3071 1, msii_master_temp.EAM_ITEM_TYPE,
3072 MSII.EAM_ITEM_TYPE ),
3073
3074 MSII.EAM_ACTIVITY_TYPE_CODE =
3075 decode( A_EAM_ACTIVITY_TYPE_CODE,
3076 1, msii_master_temp.EAM_ACTIVITY_TYPE_CODE,
3077 MSII.EAM_ACTIVITY_TYPE_CODE ),
3078
3079 MSII.EAM_ACTIVITY_CAUSE_CODE =
3080 decode( A_EAM_ACTIVITY_CAUSE_CODE,
3081 1, msii_master_temp.EAM_ACTIVITY_CAUSE_CODE,
3082 MSII.EAM_ACTIVITY_CAUSE_CODE ),
3083
3084 MSII.EAM_ACT_NOTIFICATION_FLAG =
3085 decode( A_EAM_ACT_NOTIFICATION_FLAG,
3086 1, msii_master_temp.EAM_ACT_NOTIFICATION_FLAG,
3087 MSII.EAM_ACT_NOTIFICATION_FLAG ),
3088
3089 MSII.EAM_ACT_SHUTDOWN_STATUS =
3090 decode( A_EAM_ACT_SHUTDOWN_STATUS,
3091 1, msii_master_temp.EAM_ACT_SHUTDOWN_STATUS,
3092 MSII.EAM_ACT_SHUTDOWN_STATUS ),
3093
3094 MSII.DUAL_UOM_CONTROL =
3095 decode( A_DUAL_UOM_CONTROL,
3096 1, msii_master_temp.DUAL_UOM_CONTROL,
3097 MSII.DUAL_UOM_CONTROL ),
3098
3099 MSII.SECONDARY_UOM_CODE =
3100 decode( A_SECONDARY_UOM_CODE,
3101 1, msii_master_temp.SECONDARY_UOM_CODE,
3102 MSII.SECONDARY_UOM_CODE ),
3103
3104 MSII.DUAL_UOM_DEVIATION_HIGH =
3105 decode( A_DUAL_UOM_DEVIATION_HIGH,
3106 1, msii_master_temp.DUAL_UOM_DEVIATION_HIGH,
3107 MSII.DUAL_UOM_DEVIATION_HIGH ),
3108
3109 MSII.DUAL_UOM_DEVIATION_LOW =
3110 decode( A_DUAL_UOM_DEVIATION_LOW,
3111 1, msii_master_temp.DUAL_UOM_DEVIATION_LOW,
3112 MSII.DUAL_UOM_DEVIATION_LOW ),
3113 MSII.CONTRACT_ITEM_TYPE_CODE =
3114 decode( A_CONTRACT_ITEM_TYPE_CODE,
3115 1, msii_master_temp.CONTRACT_ITEM_TYPE_CODE,
3116 MSII.CONTRACT_ITEM_TYPE_CODE ),
3117 /* Removed 11.5.10
3118 MSII.SUBSCRIPTION_DEPEND_FLAG =
3119 decode( A_SUBSCRIPTION_DEPEND_FLAG,
3120 1, msii_master_temp.SUBSCRIPTION_DEPEND_FLAG,
3121 MSII.SUBSCRIPTION_DEPEND_FLAG ),
3122 */
3123 MSII.SERV_REQ_ENABLED_CODE =
3124 DECODE( A_SERV_REQ_ENABLED_CODE,
3125 1, msii_master_temp.SERV_REQ_ENABLED_CODE,
3126 MSII.SERV_REQ_ENABLED_CODE ),
3127
3128 MSII.SERV_BILLING_ENABLED_FLAG =
3129 DECODE( A_SERV_BILLING_ENABLED_FLAG,
3130 1, msii_master_temp.SERV_BILLING_ENABLED_FLAG,
3131 MSII.SERV_BILLING_ENABLED_FLAG ),
3132 MSII.PLANNED_INV_POINT_FLAG =
3133 DECODE( A_PLANNED_INV_POINT_FLAG,
3134 1, msii_master_temp.PLANNED_INV_POINT_FLAG,
3135 MSII.PLANNED_INV_POINT_FLAG ),
3136
3137 MSII.LOT_TRANSLATE_ENABLED =
3138 DECODE( A_LOT_TRANSLATE_ENABLED,
3139 1, msii_master_temp.LOT_TRANSLATE_ENABLED,
3140 MSII.LOT_TRANSLATE_ENABLED ),
3141
3142 MSII.DEFAULT_SO_SOURCE_TYPE =
3143 DECODE( A_DEFAULT_SO_SOURCE_TYPE,
3144 1, msii_master_temp.DEFAULT_SO_SOURCE_TYPE,
3145 MSII.DEFAULT_SO_SOURCE_TYPE ),
3146
3147 MSII.CREATE_SUPPLY_FLAG =
3148 DECODE( A_CREATE_SUPPLY_FLAG,
3149 1, msii_master_temp.CREATE_SUPPLY_FLAG,
3150 MSII.CREATE_SUPPLY_FLAG ),
3151
3152 MSII.SUBSTITUTION_WINDOW_CODE =
3153 DECODE( A_SUBSTITUTION_WINDOW_CODE,
3154 1, msii_master_temp.SUBSTITUTION_WINDOW_CODE,
3155 MSII.SUBSTITUTION_WINDOW_CODE ),
3156
3157 MSII.SUBSTITUTION_WINDOW_DAYS =
3158 DECODE( A_SUBSTITUTION_WINDOW_DAYS,
3159 1, msii_master_temp.SUBSTITUTION_WINDOW_DAYS,
3160 MSII.SUBSTITUTION_WINDOW_DAYS ),
3161 --Added as part of 11.5.9 ENH
3162 MSII.LOT_SUBSTITUTION_ENABLED =
3163 DECODE( A_LOT_SUBSTITUTION_ENABLED,
3164 1, msii_master_temp.LOT_SUBSTITUTION_ENABLED,
3165 MSII.LOT_SUBSTITUTION_ENABLED ),
3166
3167 MSII.MINIMUM_LICENSE_QUANTITY =
3168 DECODE( A_MINIMUM_LICENSE_QUANTITY,
3169 1, msii_master_temp.MINIMUM_LICENSE_QUANTITY,
3170 MSII.MINIMUM_LICENSE_QUANTITY ),
3171
3172 MSII.EAM_ACTIVITY_SOURCE_CODE =
3173 DECODE( A_EAM_ACTIVITY_SOURCE_CODE,
3174 1, msii_master_temp.EAM_ACTIVITY_SOURCE_CODE,
3175 MSII.EAM_ACTIVITY_SOURCE_CODE ),
3176
3177 MSII.IB_ITEM_INSTANCE_CLASS =
3178 DECODE( A_IB_ITEM_INSTANCE_CLASS,
3179 1, msii_master_temp.IB_ITEM_INSTANCE_CLASS,
3180 MSII.IB_ITEM_INSTANCE_CLASS ),
3181
3182 MSII.CONFIG_MODEL_TYPE =
3183 DECODE( A_CONFIG_MODEL_TYPE,
3184 1, msii_master_temp.CONFIG_MODEL_TYPE,
3185 MSII.CONFIG_MODEL_TYPE ),
3186 --Added as part of 11.5.10 ENH
3187 MSII.TRACKING_QUANTITY_IND =
3188 DECODE( A_TRACKING_QUANTITY_IND,
3189 1, msii_master_temp.TRACKING_QUANTITY_IND,
3190 MSII.TRACKING_QUANTITY_IND ),
3191
3192 MSII.ONT_PRICING_QTY_SOURCE =
3193 DECODE( A_ONT_PRICING_QTY_SOURCE,
3194 1, msii_master_temp.ONT_PRICING_QTY_SOURCE,
3195 MSII.ONT_PRICING_QTY_SOURCE ),
3196
3197 MSII.SECONDARY_DEFAULT_IND =
3198 DECODE( A_SECONDARY_DEFAULT_IND,
3199 1, msii_master_temp.SECONDARY_DEFAULT_IND,
3200 MSII.SECONDARY_DEFAULT_IND ),
3201
3202 MSII.AUTO_CREATED_CONFIG_FLAG =
3203 DECODE( A_AUTO_CREATED_CONFIG_FLAG,
3204 1, msii_master_temp.AUTO_CREATED_CONFIG_FLAG,
3205 MSII.AUTO_CREATED_CONFIG_FLAG ),
3206
3207 MSII.CONFIG_ORGS =
3208 DECODE( A_CONFIG_ORGS,
3209 1, msii_master_temp.CONFIG_ORGS,
3210 MSII.CONFIG_ORGS ),
3211
3212 MSII.CONFIG_MATCH =
3213 DECODE( A_CONFIG_MATCH,
3214 1, msii_master_temp.CONFIG_MATCH,
3215 MSII.CONFIG_MATCH ),
3216
3217 MSII.VMI_MINIMUM_UNITS =
3218 DECODE( A_VMI_MINIMUM_UNITS,
3219 1, msii_master_temp.VMI_MINIMUM_UNITS,
3220 MSII.VMI_MINIMUM_UNITS ),
3221
3222 MSII.VMI_MINIMUM_DAYS =
3223 DECODE( A_VMI_MINIMUM_DAYS,
3224 1, msii_master_temp.VMI_MINIMUM_DAYS,
3225 MSII.VMI_MINIMUM_DAYS ),
3226
3227 MSII.VMI_MAXIMUM_UNITS =
3228 DECODE( A_VMI_MAXIMUM_UNITS,
3229 1, msii_master_temp.VMI_MAXIMUM_UNITS,
3230 MSII.VMI_MAXIMUM_UNITS ),
3231
3232 MSII.VMI_MAXIMUM_DAYS =
3233 DECODE( A_VMI_MAXIMUM_DAYS,
3234 1, msii_master_temp.VMI_MAXIMUM_DAYS,
3235 MSII.VMI_MAXIMUM_DAYS ),
3236
3237 MSII.VMI_FIXED_ORDER_QUANTITY =
3238 DECODE( A_VMI_FIXED_ORDER_QUANTITY,
3239 1, msii_master_temp.VMI_FIXED_ORDER_QUANTITY,
3240 MSII.VMI_FIXED_ORDER_QUANTITY ),
3241
3242 MSII.SO_AUTHORIZATION_FLAG =
3243 DECODE( A_SO_AUTHORIZATION_FLAG,
3244 1, msii_master_temp.SO_AUTHORIZATION_FLAG,
3245 MSII.SO_AUTHORIZATION_FLAG ),
3246
3247 MSII.CONSIGNED_FLAG =
3248 DECODE( A_CONSIGNED_FLAG,
3249 1, msii_master_temp.CONSIGNED_FLAG,
3250 MSII.CONSIGNED_FLAG ),
3251
3252 MSII.ASN_AUTOEXPIRE_FLAG =
3253 DECODE( A_ASN_AUTOEXPIRE_FLAG,
3254 1, msii_master_temp.ASN_AUTOEXPIRE_FLAG,
3255 MSII.ASN_AUTOEXPIRE_FLAG ),
3256
3257 MSII.VMI_FORECAST_TYPE =
3258 DECODE( A_VMI_FORECAST_TYPE,
3259 1, msii_master_temp.VMI_FORECAST_TYPE,
3260 MSII.VMI_FORECAST_TYPE ),
3261
3262 MSII.FORECAST_HORIZON =
3263 DECODE( A_FORECAST_HORIZON,
3264 1, msii_master_temp.FORECAST_HORIZON,
3265 MSII.FORECAST_HORIZON ),
3266
3267 MSII.EXCLUDE_FROM_BUDGET_FLAG =
3268 DECODE( A_EXCLUDE_FROM_BUDGET_FLAG,
3269 1, msii_master_temp.EXCLUDE_FROM_BUDGET_FLAG,
3270 MSII.EXCLUDE_FROM_BUDGET_FLAG ),
3271
3272 MSII.DAYS_TGT_INV_SUPPLY =
3273 DECODE( A_DAYS_TGT_INV_SUPPLY,
3274 1, msii_master_temp.DAYS_TGT_INV_SUPPLY,
3275 MSII.DAYS_TGT_INV_SUPPLY ),
3276
3277 MSII.DAYS_TGT_INV_WINDOW =
3278 DECODE( A_DAYS_TGT_INV_WINDOW,
3279 1, msii_master_temp.DAYS_TGT_INV_WINDOW,
3280 MSII.DAYS_TGT_INV_WINDOW ),
3281
3282 MSII.DAYS_MAX_INV_SUPPLY =
3283 DECODE( A_DAYS_MAX_INV_SUPPLY,
3284 1, msii_master_temp.DAYS_MAX_INV_SUPPLY,
3285 MSII.DAYS_MAX_INV_SUPPLY ),
3286
3287 MSII.DAYS_MAX_INV_WINDOW =
3288 DECODE( A_DAYS_MAX_INV_WINDOW,
3289 1, msii_master_temp.DAYS_MAX_INV_WINDOW,
3290 MSII.DAYS_MAX_INV_WINDOW ),
3291
3292 MSII.DRP_PLANNED_FLAG =
3293 DECODE( A_DRP_PLANNED_FLAG,
3294 1, msii_master_temp.DRP_PLANNED_FLAG,
3295 MSII.DRP_PLANNED_FLAG ),
3296
3297 MSII.CRITICAL_COMPONENT_FLAG =
3298 DECODE( A_CRITICAL_COMPONENT_FLAG,
3299 1, msii_master_temp.CRITICAL_COMPONENT_FLAG,
3300 MSII.CRITICAL_COMPONENT_FLAG ),
3301
3302 MSII.CONTINOUS_TRANSFER =
3303 DECODE( A_CONTINOUS_TRANSFER,
3304 1, msii_master_temp.CONTINOUS_TRANSFER,
3305 MSII.CONTINOUS_TRANSFER ),
3306
3307 MSII.CONVERGENCE =
3308 DECODE( A_CONVERGENCE,
3309 1, msii_master_temp.CONVERGENCE,
3310 MSII.CONVERGENCE ),
3311
3312 MSII.DIVERGENCE =
3313 DECODE( A_DIVERGENCE,
3314 1, msii_master_temp.DIVERGENCE,
3315 MSII.DIVERGENCE ),
3316 /* Start Bug 3713912 */
3317 MSII.LOT_DIVISIBLE_FLAG =
3318 DECODE( A_LOT_DIVISIBLE_FLAG,
3319 1, msii_master_temp.LOT_DIVISIBLE_FLAG,
3320 MSII.LOT_DIVISIBLE_FLAG ),
3321
3322
3323 MSII.GRADE_CONTROL_FLAG =
3324 DECODE( A_GRADE_CONTROL_FLAG,
3325 1, msii_master_temp.GRADE_CONTROL_FLAG,
3326 MSII.GRADE_CONTROL_FLAG ),
3327
3328 MSII.DEFAULT_GRADE =
3329 DECODE( A_DEFAULT_GRADE,
3330 1, msii_master_temp.DEFAULT_GRADE,
3331 MSII.DEFAULT_GRADE ),
3332
3333 MSII.CHILD_LOT_FLAG =
3334 DECODE( A_CHILD_LOT_FLAG,
3335 1, msii_master_temp.CHILD_LOT_FLAG,
3336 MSII.CHILD_LOT_FLAG ),
3337
3338 MSII.PARENT_CHILD_GENERATION_FLAG =
3339 DECODE( A_PARENT_CHILD_GENERATION_FLAG,
3340 1, msii_master_temp.PARENT_CHILD_GENERATION_FLAG,
3341 MSII.PARENT_CHILD_GENERATION_FLAG ),
3342
3343 MSII.CHILD_LOT_PREFIX =
3344 DECODE( A_CHILD_LOT_PREFIX,
3345 1, msii_master_temp.CHILD_LOT_PREFIX,
3346 MSII.CHILD_LOT_PREFIX ),
3347
3348 MSII.CHILD_LOT_STARTING_NUMBER =
3349 DECODE( A_CHILD_LOT_STARTING_NUMBER,
3350 1, msii_master_temp.CHILD_LOT_STARTING_NUMBER,
3351 MSII.CHILD_LOT_STARTING_NUMBER ),
3352
3353 MSII.CHILD_LOT_VALIDATION_FLAG =
3354 DECODE( A_CHILD_LOT_VALIDATION_FLAG,
3355 1, msii_master_temp.CHILD_LOT_VALIDATION_FLAG,
3356 MSII.CHILD_LOT_VALIDATION_FLAG ),
3357
3358 MSII.COPY_LOT_ATTRIBUTE_FLAG =
3359 DECODE( A_COPY_LOT_ATTRIBUTE_FLAG,
3360 1, msii_master_temp.COPY_LOT_ATTRIBUTE_FLAG,
3361 MSII.COPY_LOT_ATTRIBUTE_FLAG ),
3362
3363 MSII.RECIPE_ENABLED_FLAG =
3364 DECODE( A_RECIPE_ENABLED_FLAG,
3365 1, msii_master_temp.RECIPE_ENABLED_FLAG,
3366 MSII.RECIPE_ENABLED_FLAG ),
3367
3368 MSII.PROCESS_QUALITY_ENABLED_FLAG =
3369 DECODE( A_PROCESS_QUALITY_ENABLED_FLAG,
3370 1, msii_master_temp.PROCESS_QUALITY_ENABLED_FLAG,
3371 MSII.PROCESS_QUALITY_ENABLED_FLAG ),
3372
3373 MSII.PROCESS_EXECUTION_ENABLED_FLAG =
3374 DECODE( A_PROCESS_EXEC_ENABLED_FLAG,
3375 1, msii_master_temp.PROCESS_EXECUTION_ENABLED_FLAG,
3376 MSII.PROCESS_EXECUTION_ENABLED_FLAG ),
3377
3378 MSII.PROCESS_COSTING_ENABLED_FLAG =
3379 DECODE( A_PROCESS_COSTING_ENABLED_FLAG,
3380 1, msii_master_temp.PROCESS_COSTING_ENABLED_FLAG,
3381 MSII.PROCESS_COSTING_ENABLED_FLAG ),
3382
3383 MSII.HAZARDOUS_MATERIAL_FLAG =
3384 DECODE( A_HAZARDOUS_MATERIAL_FLAG,
3385 1, msii_master_temp.HAZARDOUS_MATERIAL_FLAG,
3386 MSII.HAZARDOUS_MATERIAL_FLAG ),
3387
3388 MSII.CAS_NUMBER =
3389 DECODE( A_CAS_NUMBER,
3390 1, msii_master_temp.CAS_NUMBER,
3391 MSII.CAS_NUMBER ),
3392
3393 MSII.RETEST_INTERVAL =
3394 DECODE( A_RETEST_INTERVAL,
3395 1, msii_master_temp.RETEST_INTERVAL,
3396 MSII.RETEST_INTERVAL ),
3397
3398 MSII.EXPIRATION_ACTION_INTERVAL =
3399 DECODE( A_EXPIRATION_ACTION_INTERVAL,
3400 1, msii_master_temp.EXPIRATION_ACTION_INTERVAL,
3401 MSII.EXPIRATION_ACTION_INTERVAL ),
3402
3403 MSII.EXPIRATION_ACTION_CODE =
3404 DECODE( A_EXPIRATION_ACTION_CODE,
3405 1, msii_master_temp.EXPIRATION_ACTION_CODE,
3406 MSII.EXPIRATION_ACTION_CODE ),
3407
3408 MSII.MATURITY_DAYS =
3409 DECODE( A_MATURITY_DAYS,
3410 1, msii_master_temp.MATURITY_DAYS,
3411 MSII.MATURITY_DAYS ),
3412
3413 MSII.HOLD_DAYS =
3414 DECODE( A_HOLD_DAYS,
3415 1, msii_master_temp.HOLD_DAYS,
3416 MSII.HOLD_DAYS ),
3417 /* End Bug 3713912 */
3418 --R12 Enhancement
3419 MSII.CHARGE_PERIODICITY_CODE = DECODE( A_CHARGE_PERIODICITY_CODE,1, msii_master_temp.CHARGE_PERIODICITY_CODE,MSII.CHARGE_PERIODICITY_CODE ),
3420 MSII.REPAIR_LEADTIME = DECODE( A_REPAIR_LEADTIME,1, msii_master_temp.REPAIR_LEADTIME,MSII.REPAIR_LEADTIME),
3421 MSII.REPAIR_YIELD = DECODE( A_REPAIR_YIELD,1, msii_master_temp.REPAIR_YIELD,MSII.REPAIR_YIELD),
3422 MSII.PREPOSITION_POINT = DECODE( A_PREPOSITION_POINT, 1, msii_master_temp.PREPOSITION_POINT, MSII.PREPOSITION_POINT),
3423 MSII.REPAIR_PROGRAM = DECODE( A_REPAIR_PROGRAM,1, msii_master_temp.REPAIR_PROGRAM,MSII.REPAIR_PROGRAM),
3424 MSII.SUBCONTRACTING_COMPONENT = DECODE( A_SUBCONTRACTING_COMPONENT,1, msii_master_temp.SUBCONTRACTING_COMPONENT,MSII.SUBCONTRACTING_COMPONENT ),
3425 MSII.OUTSOURCED_ASSEMBLY = DECODE( A_OUTSOURCED_ASSEMBLY,1, msii_master_temp.OUTSOURCED_ASSEMBLY,MSII.OUTSOURCED_ASSEMBLY),
3426 MSII.ITEM_CATALOG_GROUP_ID = msii_master_temp.ITEM_CATALOG_GROUP_ID,--Bug: 3074458
3427 --3637854 Should carry masters' lifecycle.
3428 MSII.LIFECYCLE_ID = msii_master_temp.LIFECYCLE_ID,
3429 --******************* -- For bug 7589826 based on 7587702
3430 -- MSII.CURRENT_PHASE_ID = DECODE(MSII.LIFECYCLE_ID,msii_master_temp.LIFECYCLE_ID,MSII.CURRENT_PHASE_ID,msii_master_temp.CURRENT_PHASE_ID),
3431 --commented out for 7589826 based on 7587702
3432 MSII.CURRENT_PHASE_ID = DECODE( A_INVENTORY_ITEM_STATUS_CODE,2,MSII.CURRENT_PHASE_ID,msii_master_temp.CURRENT_PHASE_ID),
3433 --added for bug 7589826 based on 7587702. If item status is org controlled, so is Phase.
3434 --******************* -- For bug 7589826 based on 7587702
3435 MSII.PROCESS_FLAG = l_process_flag_2,
3436 MSII.GDSN_OUTBOUND_ENABLED_FLAG = msii_master_temp.GDSN_OUTBOUND_ENABLED_FLAG,
3437 MSII.TRADE_ITEM_DESCRIPTOR = msii_master_temp.TRADE_ITEM_DESCRIPTOR
3438
3439 WHERE MSII.inventory_item_id = inv_item_id
3440 AND MSII.organization_id = org_id
3441 AND MSII.set_process_id = xset_id + 1000000000000;
3442
3443 /* commit for debugging ONLY */
3444 -- commit;
3445
3446 RETURN (0);
3447
3448 EXCEPTION
3449
3450 when NO_DATA_FOUND then
3451 -- No master controlled attributes
3452 return (0);
3453
3454 when OTHERS then
3455 --bug #4251913 : Included SQLCODE and SQLERRM to trap exception messages.
3456 IF l_inv_debug_level IN(101, 102) THEN
3457 INVPUTLI.info(
3458 Substr(
3459 'when OTHERS exception raised in copy_master_to_child ' ||
3460 SQLCODE ||
3461 ' - ' ||
3462 SQLERRM,1,240));
3463 END IF;
3464 return (1);
3465
3466 END copy_master_to_child; -- }
3467
3468
3469 FUNCTION validate_item_update_child
3470 (
3471 org_id NUMBER,
3472 all_org NUMBER := 2,
3473 prog_appid NUMBER := -1,
3474 prog_id NUMBER := -1,
3475 request_id NUMBER := -1,
3476 user_id NUMBER := -1,
3477 login_id NUMBER := -1,
3478 err_text IN OUT NOCOPY VARCHAR2,
3479 xset_id IN NUMBER DEFAULT NULL
3480 )
3481 RETURN INTEGER
3482 IS
3483 CURSOR C_msii_child_records is
3484 select
3485 ROWID,
3486 INVENTORY_ITEM_ID,
3487 ORGANIZATION_ID,
3488 TRANSACTION_ID
3489 from MTL_SYSTEM_ITEMS_INTERFACE
3490 where process_flag = 4
3491 and set_process_id = xset_id
3492 and ((organization_id = org_id) or (all_org = 1))
3493 and organization_id in
3494 (select organization_id
3495 from MTL_PARAMETERS MP
3496 where MP.organization_id <> MP.master_organization_id);
3497
3498 ret_code_update NUMBER := 1;
3499
3500 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
3501
3502 BEGIN -- {
3503
3504 IF l_inv_debug_level IN(101, 102) THEN
3505 INVPUTLI.info('INVUPD2B: Inside validate_item_update_child'|| '***orgid: ' || TO_CHAR(org_id));
3506 END IF;
3507
3508 for crec in C_msii_child_records loop -- {
3509 -- child record validation here
3510 ret_code_update := INVUPD2B.update_validations(
3511 crec.ROWID,
3512 crec.ORGANIZATION_ID,
3513 crec.TRANSACTION_ID,
3514 user_id,
3515 login_id,
3516 prog_appid,
3517 prog_id,
3518 request_id);
3519
3520 end loop; -- } -- msii loop
3521
3522 return (0);
3523
3524 EXCEPTION
3525
3526 when NO_DATA_FOUND then
3527 return (0);
3528
3529 -- No child record updates found
3530 when OTHERS then
3531 --bug #4251913 : Included SQLCODE and SQLERRM to trap exception messages.
3532 IF l_inv_debug_level IN(101, 102) THEN
3533 INVPUTLI.info(
3534 Substr(
3535 'when OTHERS exception raised in validate_item_update_child ' ||
3536 SQLCODE ||
3537 ' - ' ||
3538 SQLERRM,1,240));
3539 END IF;
3540 return (1);
3541
3542 END validate_item_update_child;
3543
3544
3545 FUNCTION update_validations
3546 (
3547 row_id ROWID,
3548 org_id NUMBER,
3549 trans_id NUMBER,
3550 user_id NUMBER := -1,
3551 login_id NUMBER := -1,
3552 prog_appid NUMBER := -1,
3553 prog_id NUMBER := -1,
3554 request_id NUMBER := -1
3555 )
3556 RETURN INTEGER
3557 IS
3558 msii_temp mtl_system_items_interface%ROWTYPE;
3559 msi_temp mtl_system_items_b%ROWTYPE;
3560
3561 dumm_status NUMBER;
3562 status NUMBER;
3563
3564 onhand_lot NUMBER;
3565 onhand_serial NUMBER;
3566 onhand_shelf NUMBER;
3567 onhand_rev NUMBER;
3568 onhand_loc NUMBER;
3569 onhand_all NUMBER;
3570 onhand_trackable NUMBER;
3571 wip_repetitive_item NUMBER;
3572 rsv_exists NUMBER;
3573 so_rsv NUMBER;
3574 so_ship NUMBER;
3575 so_txn NUMBER;
3576 demand_exists NUMBER;
3577 uom_conv NUMBER;
3578 comp_atp NUMBER;
3579 bom_exists NUMBER;
3580 cost_txn NUMBER;
3581 bom_item NUMBER;
3582 mrp_schedule NUMBER;
3583 null_elem_exists NUMBER;
3584 so_open_exists NUMBER;
3585 fte_vehicle_exists NUMBER;
3586 pendadj_lot NUMBER;
3587 pendadj_loc NUMBER;
3588 pendadj_rev NUMBER;
3589 so_ato NUMBER;
3590 morgid NUMBER;
3591 err_text VARCHAR2(250);
3592 vmiorconsign_enabled NUMBER;
3593 consign_enabled NUMBER;
3594 process_enabled NUMBER;
3595
3596 /* Start Bug 3713912 */
3597 onhand_tracking_qty_ind NUMBER;
3598 pendadj_tracking_qty_ind NUMBER;
3599 onhand_primary_uom NUMBER;
3600 pendadj_primary_uom NUMBER;
3601 onhand_secondary_uom NUMBER;
3602 pendadj_secondary_uom NUMBER;
3603 onhand_sec_default_ind NUMBER;
3604 pendadj_sec_default_ind NUMBER;
3605 onhand_deviation_high NUMBER;
3606 pendadj_deviation_high NUMBER;
3607 onhand_deviation_low NUMBER;
3608 pendadj_deviation_low NUMBER;
3609 onhand_child_lot NUMBER;
3610 pendadj_child_lot NUMBER;
3611 onhand_lot_divisible NUMBER;
3612 pendadj_lot_divisible NUMBER;
3613 onhand_grade NUMBER;
3614 pendadj_grade NUMBER;
3615 /* End Bug 3713912 */
3616 l_column_name VARCHAR2(1000);
3617 /* Bug: 4569555 Commenting out ib_rtn_status and ib_rtn_msg
3618 -- For bug 3580698
3619 ib_rtn_status VARCHAR2(1);
3620 ib_rtn_msg VARCHAR2(2000);
3621 -- For bug 3580698
3622 End Bug: 4569555 */
3623 intr_ship_lot NUMBER; -- Bug 4387538
3624 intr_ship_serial NUMBER; -- Bug 4387538
3625 revision_control NUMBER; -- Bug 6501149
3626 stockable NUMBER; -- Bug 6501149
3627 lot_control NUMBER; -- Bug 6501149
3628 serial_control NUMBER; -- Bug 6501149
3629 open_shipment_lot NUMBER; -- Bug 9043779
3630 open_shipment_serial NUMBER; -- Bug 9043779
3631
3632 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
3633 l_item_has_lot_comp NUMBER;
3634 costing_level NUMBER;
3635 invetory_asset_flag_level NUMBER;
3636 BEGIN
3637
3638 IF l_inv_debug_level IN(101, 102) THEN
3639 INVPUTLI.info('INVUPD2B: Inside update_validations'|| '***orgid: ' || TO_CHAR(org_id));
3640 END IF;
3641 -- initialize status = 0
3642 status := 0;
3643
3644 -- msii (updated to)
3645 select *
3646 into msii_temp
3647 from MTL_SYSTEM_ITEMS_INTERFACE MSII
3648 where MSII.rowid = row_id;
3649
3650 -- msi (updated from)
3651 select *
3652 into msi_temp
3653 from MTL_SYSTEM_ITEMS_B MSI
3654 where MSI.organization_id = msii_temp.organization_id
3655 and msi.inventory_item_id = msii_temp.inventory_item_id ;
3656
3657 select master_organization_id
3658 into morgid
3659 from MTL_PARAMETERS
3660 where organization_id = msii_temp.organization_id;
3661
3662 -- Start : 6531911
3663 IF msi_temp.lot_control_code <> msii_temp.lot_control_code THEN
3664 onhand_lot := 0;
3665 ELSE
3666 onhand_lot := NULL;
3667 END IF;
3668
3669 IF msi_temp.lot_control_code <> msii_temp.lot_control_code THEN
3670 onhand_lot := 0;
3671 intr_ship_lot := 0;
3672 ELSE
3673 onhand_lot := NULL;
3674 intr_ship_lot := NULL;
3675 END IF;
3676
3677
3678 IF msi_temp.child_lot_flag <> msii_temp.child_lot_flag THEN
3679 onhand_child_lot := 0;
3680 pendadj_child_lot := 0;
3681 ELSE
3682 onhand_child_lot := NULL;
3683 pendadj_child_lot := NULL;
3684 END IF;
3685
3686
3687 IF msi_temp.grade_control_flag <> msii_temp.grade_control_flag THEN
3688 onhand_grade := 0;
3689 pendadj_grade := 0;
3690 ELSE
3691 onhand_grade := NULL;
3692 pendadj_grade := NULL;
3693 END IF;
3694
3695 IF msi_temp.lot_divisible_flag <> msii_temp.lot_divisible_flag THEN
3696 onhand_lot_divisible := 0;
3697 pendadj_lot_divisible :=0;
3698 ELSE
3699 onhand_lot_divisible := NULL;
3700 pendadj_lot_divisible := NULL;
3701 END IF;
3702
3703 IF (msi_temp.SHELF_LIFE_CODE <> msii_temp.SHELF_LIFE_CODE)
3704 AND ((msi_temp.SHELF_LIFE_CODE = 1) OR (msii_temp.SHELF_LIFE_CODE = 1))
3705 THEN
3706 onhand_shelf := 0;
3707 ELSE
3708 onhand_shelf := NULL;
3709 END IF;
3710
3711 IF msi_temp.LOCATION_CONTROL_CODE <> msii_temp.LOCATION_CONTROL_CODE THEN
3712 onhand_loc := 0;
3713 pendadj_loc := 0;
3714 ELSE
3715 onhand_loc := NULL;
3716 pendadj_loc := NULL;
3717 END IF;
3718
3719 IF ((msi_temp.reservable_type = 1) and (msii_temp.reservable_type <> 1))
3720 OR ((msi_temp.reservable_type = 2) and (msii_temp.reservable_type = 1))
3721 THEN
3722 rsv_exists := 0;
3723 ELSE
3724 rsv_exists := NULL;
3725 END IF;
3726
3727 IF msi_temp.SHIPPABLE_ITEM_FLAG <> msii_temp.SHIPPABLE_ITEM_FLAG THEN
3728 so_ship := 0;
3729 ELSE
3730 so_ship := NULL;
3731 END IF;
3732
3733 IF msi_temp.REPLENISH_TO_ORDER_FLAG <> msii_temp.REPLENISH_TO_ORDER_FLAG THEN
3734 so_ato := 0;
3735 ELSE
3736 so_ato := NULL;
3737 END IF;
3738
3739 IF msi_temp.REVISION_QTY_CONTROL_CODE <> msii_temp.REVISION_QTY_CONTROL_CODE THEN
3740 onhand_rev := 0;
3741 pendadj_rev := 0;
3742 ELSE
3743 onhand_rev := NULL;
3744 pendadj_rev := NULL;
3745 END IF;
3746
3747 IF ((msi_temp.SERIAL_NUMBER_CONTROL_CODE in (1,6) and msii_temp.SERIAL_NUMBER_CONTROL_CODE in (2,5))
3748 OR (msi_temp.SERIAL_NUMBER_CONTROL_CODE in (2,5) and msii_temp.SERIAL_NUMBER_CONTROL_CODE in (1,6)))
3749 THEN
3750 onhand_serial := 0;
3751 intr_ship_serial := 0;
3752 ELSE
3753 onhand_serial := NULL;
3754 intr_ship_serial := NULL;
3755 END IF;
3756
3757 -- bug# 8824605 Begin
3758 IF msii_temp.bom_item_type = 5 THEN
3759 bom_exists := 0;
3760 so_open_exists := 0;
3761 ELSE
3762 bom_exists := NULL;
3763 so_open_exists := NULL;
3764 END IF;
3765
3766 IF msi_temp.bom_item_type <> msii_temp.bom_item_type
3767 OR msi_temp.effectivity_control <> msii_temp.effectivity_control
3768 THEN
3769 bom_item := 0;
3770 bom_exists := 0;
3771 ELSE
3772 bom_item := NULL;
3773 END IF;
3774 -- bug# 8824605 End
3775
3776 /** -- Comment out for bug# 8824605
3777 IF msi_temp.bom_item_type <> msii_temp.bom_item_type
3778 OR msi_temp.effectivity_control <> msii_temp.effectivity_control
3779 THEN
3780 bom_item := 0;
3781 ELSE
3782 bom_item := NULL;
3783 END IF;
3784
3785 IF msii_temp.bom_item_type = 5 THEN
3786 bom_exists := 0;
3787 so_open_exists := 0;
3788 ELSE
3789 bom_exists := NULL;
3790 so_open_exists := NULL;
3791 END IF;
3792 **/
3793
3794 IF msi_temp.costing_enabled_flag <> msii_temp.costing_enabled_flag
3795 OR msi_temp.inventory_asset_flag <> msii_temp.inventory_asset_flag
3796 THEN
3797 cost_txn := 0;
3798 ELSE
3799 cost_txn := NULL;
3800 END IF;
3801
3802 IF msi_temp.effectivity_control <> msii_temp.effectivity_control THEN
3803 onhand_all := 0;
3804 ELSE
3805 onhand_all := NULL;
3806 END IF;
3807
3808 IF msii_temp.vehicle_item_flag <> 'Y' THEN
3809 fte_vehicle_exists := 0;
3810 ELSE
3811 fte_vehicle_exists := NULL;
3812 END IF;
3813
3814 IF NVL(msii_temp.COMMS_NL_TRACKABLE_FLAG,'N') <> NVL(msi_temp.COMMS_NL_TRACKABLE_FLAG,'N') THEN
3815 onhand_trackable := 0;
3816 ELSE
3817 onhand_trackable := NULL;
3818 END IF;
3819 vmiorconsign_enabled := 0;
3820 IF msi_temp.TRACKING_QUANTITY_IND <> msii_temp.TRACKING_QUANTITY_IND THEN
3821 onhand_tracking_qty_ind := 0;
3822 pendadj_tracking_qty_ind := 0;
3823 ELSE
3824 onhand_tracking_qty_ind := NULL;
3825 pendadj_tracking_qty_ind := NULL;
3826 END IF;
3827
3828 IF msi_temp.SECONDARY_UOM_CODE <> msii_temp.SECONDARY_UOM_CODE THEN
3829 onhand_secondary_uom := 0;
3830 pendadj_secondary_uom := 0;
3831 ELSE
3832 onhand_secondary_uom := NULL;
3833 pendadj_secondary_uom := NULL;
3834 END IF;
3835
3836 IF msi_temp.SECONDARY_DEFAULT_IND <> msii_temp.SECONDARY_DEFAULT_IND THEN
3837 onhand_sec_default_ind := 0;
3838 pendadj_sec_default_ind := 0;
3839 ELSE
3840 onhand_sec_default_ind := NULL;
3841 pendadj_sec_default_ind := NULL;
3842 END IF;
3843
3844 IF msi_temp.PRIMARY_UOM_CODE <> msii_temp.PRIMARY_UOM_CODE THEN
3845 onhand_primary_uom := 0;
3846 pendadj_primary_uom := 0;
3847 ELSE
3848 onhand_primary_uom := NULL;
3849 pendadj_primary_uom := NULL;
3850 END IF;
3851
3852 IF msi_temp.DUAL_UOM_DEVIATION_HIGH <> msii_temp.DUAL_UOM_DEVIATION_HIGH THEN
3853 onhand_deviation_high :=0;
3854 pendadj_deviation_high :=0;
3855 ELSE
3856 onhand_deviation_high :=NULL;
3857 pendadj_deviation_high :=NULL;
3858 END IF;
3859
3860 IF msi_temp.DUAL_UOM_DEVIATION_LOW <> msii_temp.DUAL_UOM_DEVIATION_LOW THEN
3861 onhand_deviation_low := 0;
3862 pendadj_deviation_low := 0;
3863 ELSE
3864 onhand_deviation_low := NULL;
3865 pendadj_deviation_low := NULL;
3866 END IF;
3867 -- END : 6531911
3868
3869 -- bug 9043779
3870 IF (msi_temp.lot_control_code <> msii_temp.lot_control_code
3871 or msi_temp.serial_number_control_code <> msii_temp.serial_number_control_code) THEN
3872 open_shipment_lot := 0;
3873 open_shipment_serial := 0;
3874 else
3875 open_shipment_lot := NULL;
3876 open_shipment_serial := NULL;
3877 END IF;
3878 -- end, bug 9043779
3879
3880 /* start bug 15940041
3881 When status is changed from Active to Inactive associated status attributes will also get changed.
3882 here in this case stockable flag will be unchecked.
3883 When on-hand stock exist and we are trying to change stockable flag IOI should error out.
3884 But to log error condition checked is
3885 if ((msi_temp.STOCK_ENABLED_FLAG <> msii_temp.STOCK_ENABLED_FLAG) AND (stockable = 1) AND msii_temp.STOCK_ENABLED_FLAG = 'N') THEN
3886 ----log error -----
3887 Intimate INVIDIT3.Table_Queries about change of stockable flag.
3888 INVIDIT3.Table_Queries will set stockable = 1 when on-hand stock exists.
3889 to now more look into update *** GNOOKALA 10/09/12 11:54 am *** in bug 14555362. */
3890
3891 IF msi_temp.STOCK_ENABLED_FLAG <> msii_temp.STOCK_ENABLED_FLAG THEN
3892 stockable:=0;
3893 ELSE
3894 stockable:=NULL;
3895 END IF;
3896 /* end bug 15940041 */
3897
3898 INVIDIT3.Table_Queries(
3899 p_org_id => msii_temp.organization_id,
3900 p_item_id => msii_temp.inventory_item_id,
3901 p_master_org => morgid,
3902 p_primary_uom_code => msii_temp.primary_uom_code,
3903 p_catalog_group_id => msii_temp.item_catalog_group_id,
3904 p_calling_routine => 'IOI',
3905 X_onhand_lot => onhand_lot,
3906 X_onhand_serial => onhand_serial,
3907 X_onhand_shelf => onhand_shelf,
3908 X_onhand_rev => onhand_rev,
3909 X_onhand_loc => onhand_loc,
3910 X_onhand_all => onhand_all,
3911 X_onhand_trackable => onhand_trackable,
3912 X_wip_repetitive_item => wip_repetitive_item,
3913 X_rsv_exists => rsv_exists,
3914 X_so_rsv => so_rsv,
3915 X_so_ship => so_ship,
3916 X_so_txn => so_txn,
3917 X_demand_exists => demand_exists,
3918 X_uom_conv => uom_conv,
3919 X_comp_atp => comp_atp,
3920 X_bom_exists => bom_exists,
3921 X_cost_txn => cost_txn,
3922 X_bom_item => bom_item,
3923 X_mrp_schedule => mrp_schedule,
3924 X_null_elem_exists => null_elem_exists,
3925 X_so_open_exists => so_open_exists,
3926 X_fte_vechicle_exists => fte_vehicle_exists, --Bug:2691174
3927 X_pendadj_lot => pendadj_lot , -- Bug 3058650
3928 X_pendadj_rev => pendadj_rev, -- Bug 3058650
3929 X_pendadj_loc => pendadj_loc, -- Bug 3058650
3930 X_so_ato => so_ato, -- Bug 3058650
3931 X_vmiorconsign_enabled => vmiorconsign_enabled,
3932 X_consign_enabled => consign_enabled,
3933 X_process_enabled => process_enabled,
3934 X_onhand_tracking_qty_ind => onhand_tracking_qty_ind,
3935 X_pendadj_tracking_qty_ind => pendadj_tracking_qty_ind,
3936 X_onhand_primary_uom => onhand_primary_uom,
3937 X_pendadj_primary_uom => pendadj_primary_uom,
3938 X_onhand_secondary_uom => onhand_secondary_uom,
3939 X_pendadj_secondary_uom => pendadj_secondary_uom,
3940 X_onhand_sec_default_ind => onhand_sec_default_ind,
3941 X_pendadj_sec_default_ind => pendadj_sec_default_ind,
3942 X_onhand_deviation_high => onhand_deviation_high,
3943 X_pendadj_deviation_high => pendadj_deviation_high,
3944 X_onhand_deviation_low => onhand_deviation_low,
3945 X_pendadj_deviation_low => pendadj_deviation_low,
3946 X_onhand_child_lot => onhand_child_lot,
3947 X_pendadj_child_lot => pendadj_child_lot,
3948 X_onhand_lot_divisible => onhand_lot_divisible,
3949 X_pendadj_lot_divisible => pendadj_lot_divisible,
3950 X_onhand_grade => onhand_grade,
3951 X_pendadj_grade => pendadj_grade,
3952 X_intr_ship_lot => intr_ship_lot,
3953 X_intr_ship_serial => intr_ship_serial,
3954 X_revision_control => revision_control, -- Bug 6501149
3955 X_stockable => stockable, -- Bug 6501149
3956 X_lot_control => lot_control, -- Bug 6501149
3957 X_serial_control => serial_control, -- Bug 6501149
3958 X_open_shipment_lot => open_shipment_lot, -- Bug 9043779
3959 X_open_shipment_serial => open_shipment_serial -- Bug 9043779
3960 );
3961
3962 IF l_inv_debug_level IN(101, 102) THEN
3963 INVPUTLI.info('INVUPD2B: Inside update_validations: After Table Quries');
3964 END IF;
3965 -- validate LOT_CONTROL_CODE
3966 -- cannot update if there is onhand or transactions pending or lots exist
3967 if (msi_temp.lot_control_code <> msii_temp.lot_control_code) AND (onhand_lot = 1) then
3968 dumm_status := INVPUOPI.mtl_log_interface_err(
3969 org_id,
3970 user_id,
3971 login_id,
3972 prog_appid,
3973 prog_id,
3974 request_id,
3975 trans_id,
3976 err_text,
3977 'LOT_CONTROL_CODE',
3978 'MTL_SYSTEM_ITEMS_INTERFACE',
3979 'INV_LOT_QOH_CANNOT_UPDATE',
3980 err_text);
3981
3982 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
3983
3984 /* Bug 3058650 : Validation added as part of Item attribute checks ER */
3985 elsif (msi_temp.lot_control_code <> msii_temp.lot_control_code) AND (pendadj_lot = 1) then
3986 dumm_status := INVPUOPI.mtl_log_interface_err(
3987 org_id,
3988 user_id,
3989 login_id,
3990 prog_appid,
3991 prog_id,
3992 request_id,
3993 trans_id,
3994 err_text,
3995 'LOT_CONTROL_CODE',
3996 'MTL_SYSTEM_ITEMS_INTERFACE',
3997 'INV_PENDING_ADJUSTMENT',
3998 err_text);
3999
4000 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4001
4002 /* End Bug 3058650 */
4003 elsif (msi_temp.lot_control_code <> msii_temp.lot_control_code) AND (intr_ship_lot = 1) then -- Bug 4387538
4004 dumm_status := INVPUOPI.mtl_log_interface_err(
4005 org_id,
4006 user_id,
4007 login_id,
4008 prog_appid,
4009 prog_id,
4010 request_id,
4011 trans_id,
4012 err_text,
4013 'LOT_CONTROL_CODE',
4014 'MTL_SYSTEM_ITEMS_INTERFACE',
4015 'INV_INTRANSIT_CANNOT_UPDATE',
4016 err_text);
4017
4018 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4019 /*Bug 6501149 Added code */
4020 elsif (msi_temp.lot_control_code <> msii_temp.lot_control_code) AND (lot_control = 1) then
4021 dumm_status := INVPUOPI.mtl_log_interface_err(
4022 org_id,
4023 user_id,
4024 login_id,
4025 prog_appid,
4026 prog_id,
4027 request_id,
4028 trans_id,
4029 err_text,
4030 'LOT_CONTROL_CODE',
4031 'MTL_SYSTEM_ITEMS_INTERFACE',
4032 'INV_DELIVER_CANNOT_UPDATE',
4033 err_text);
4034
4035 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4036 /* Bug 6501149 Code ended */
4037 end if;
4038 -- Bug 9043779
4039 if (msi_temp.lot_control_code <> msii_temp.lot_control_code) and (open_shipment_lot = 1) then
4040 dumm_status := INVPUOPI.mtl_log_interface_err(
4041 org_id,
4042 user_id,
4043 login_id,
4044 prog_appid,
4045 prog_id,
4046 request_id,
4047 trans_id,
4048 err_text,
4049 'LOT_CONTROL_CODE',
4050 'MTL_SYSTEM_ITEMS_INTERFACE',
4051 'INV_RECORG_SHIPSUPP_RO_LOT',
4052 err_text);
4053
4054 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4055 end if;
4056 if (msi_temp.serial_number_control_code <> msii_temp.serial_number_control_code) and (open_shipment_serial = 1) then
4057 dumm_status := INVPUOPI.mtl_log_interface_err(
4058 org_id,
4059 user_id,
4060 login_id,
4061 prog_appid,
4062 prog_id,
4063 request_id,
4064 trans_id,
4065 err_text,
4066 'SERIAL_NUMBER_CONTROL_CODE',
4067 'MTL_SYSTEM_ITEMS_INTERFACE',
4068 'INV_RECORG_SHIPSUPP_RO_SERL',
4069 err_text);
4070
4071 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4072 end if;
4073 -- end, bug 9043779
4074
4075 /* Start Bug 3713912 */
4076 -- validate CHILD_LOT_FLAG
4077 -- cannot update if there is onhand or transactions pending or lots exist
4078 if (msi_temp.child_lot_flag <> msii_temp.child_lot_flag) AND (onhand_child_lot = 1) then
4079 dumm_status := INVPUOPI.mtl_log_interface_err(
4080 org_id,
4081 user_id,
4082 login_id,
4083 prog_appid,
4084 prog_id,
4085 request_id,
4086 trans_id,
4087 err_text,
4088 'CHILD_LOT_FLAG',
4089 'MTL_SYSTEM_ITEMS_INTERFACE',
4090 'INV_LOT_QOH_CANNOT_UPDATE',
4091 err_text);
4092
4093 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4094
4095 elsif (msi_temp.child_lot_flag <> msii_temp.child_lot_flag) AND (pendadj_child_lot = 1) then
4096 dumm_status := INVPUOPI.mtl_log_interface_err(
4097 org_id,
4098 user_id,
4099 login_id,
4100 prog_appid,
4101 prog_id,
4102 request_id,
4103 trans_id,
4104 err_text,
4105 'CHILD_LOT_FLAG',
4106 'MTL_SYSTEM_ITEMS_INTERFACE',
4107 'INV_PENDING_ADJUSTMENT',
4108 err_text);
4109
4110 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4111
4112 end if;
4113
4114 -- validate GRADE_CONTROL_FLAG
4115 -- cannot update if there is onhand or transactions pending or lots exist
4116 if (msi_temp.grade_control_flag <> msii_temp.grade_control_flag) AND (onhand_grade = 1) then
4117 dumm_status := INVPUOPI.mtl_log_interface_err(
4118 org_id,
4119 user_id,
4120 login_id,
4121 prog_appid,
4122 prog_id,
4123 request_id,
4124 trans_id,
4125 err_text,
4126 'GRADE_CONTROL_FLAG',
4127 'MTL_SYSTEM_ITEMS_INTERFACE',
4128 'INV_LOT_QOH_CANNOT_UPDATE',
4129 err_text);
4130
4131 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4132
4133 elsif (msi_temp.grade_control_flag <> msii_temp.grade_control_flag) AND (pendadj_grade = 1) then
4134 dumm_status := INVPUOPI.mtl_log_interface_err(
4135 org_id,
4136 user_id,
4137 login_id,
4138 prog_appid,
4139 prog_id,
4140 request_id,
4141 trans_id,
4142 err_text,
4143 'GRADE_CONTROL_FLAG',
4144 'MTL_SYSTEM_ITEMS_INTERFACE',
4145 'INV_PENDING_ADJUSTMENT',
4146 err_text);
4147
4148 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4149
4150 end if;
4151
4152 -- validate LOT_DIVISIBLE_FLAG
4153 -- cannot update if there is onhand or transactions pending or lots exist
4154 if (msi_temp.lot_divisible_flag <> msii_temp.lot_divisible_flag) AND (onhand_lot_divisible = 1) then
4155 dumm_status := INVPUOPI.mtl_log_interface_err(
4156 org_id,
4157 user_id,
4158 login_id,
4159 prog_appid,
4160 prog_id,
4161 request_id,
4162 trans_id,
4163 err_text,
4164 'LOT_DIVISIBLE_FLAG',
4165 'MTL_SYSTEM_ITEMS_INTERFACE',
4166 'INV_LOT_QOH_CANNOT_UPDATE',
4167 err_text);
4168
4169 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4170
4171 elsif (msi_temp.lot_divisible_flag <> msii_temp.lot_divisible_flag) AND (pendadj_lot_divisible = 1) then
4172 dumm_status := INVPUOPI.mtl_log_interface_err(
4173 org_id,
4174 user_id,
4175 login_id,
4176 prog_appid,
4177 prog_id,
4178 request_id,
4179 trans_id,
4180 err_text,
4181 'LOT_DIVISIBLE_FLAG',
4182 'MTL_SYSTEM_ITEMS_INTERFACE',
4183 'INV_PENDING_ADJUSTMENT',
4184 err_text);
4185
4186 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4187
4188 end if;
4189
4190 -- validate SHELF_LIFE_CODE
4191 -- cannot update if there is onhand or transactions pending or lots exist
4192 -- cannot change from 1 (no control) if qty onhand or txns pending
4193 -- cannot change from 2, 4 to 1 if qty onhand or txns pending
4194 -- ok to change between 2 and 4
4195 if (msi_temp.SHELF_LIFE_CODE <> msii_temp.SHELF_LIFE_CODE)
4196 AND ( (msi_temp.SHELF_LIFE_CODE = 1)
4197 OR (msii_temp.SHELF_LIFE_CODE = 1)
4198 )
4199 AND (onhand_shelf = 1) then
4200 dumm_status := INVPUOPI.mtl_log_interface_err(
4201 org_id,
4202 user_id,
4203 login_id,
4204 prog_appid,
4205 prog_id,
4206 request_id,
4207 trans_id,
4208 err_text,
4209 'SHELF_LIFE_CODE',
4210 'MTL_SYSTEM_ITEMS_INTERFACE',
4211 'INV_LOT_QOH_CANNOT_UPDATE',
4212 err_text);
4213
4214 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4215 end if;
4216
4217 /* End Bug 3713912 */
4218
4219 /* Bug 3058650 : Validation added as part of Item attribute checks ER */
4220
4221 -- validate LOCATOR_CONTROL_CODE
4222 -- cannot update if there is onhand or transactions pending
4223 if (msi_temp.LOCATION_CONTROL_CODE <> msii_temp.LOCATION_CONTROL_CODE) AND (onhand_loc = 1) then
4224 dumm_status := INVPUOPI.mtl_log_interface_err(
4225 org_id,
4226 user_id,
4227 login_id,
4228 prog_appid,
4229 prog_id,
4230 request_id,
4231 trans_id,
4232 err_text,
4233 'LOCATION_CONTROL_CODE',
4234 'MTL_SYSTEM_ITEMS_INTERFACE',
4235 'INV_LOC_CONTROL_CODE_ERR',
4236 err_text);
4237
4238 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4239
4240 elsif (msi_temp.LOCATION_CONTROL_CODE <> msii_temp.LOCATION_CONTROL_CODE) AND (pendadj_loc = 1) then
4241 dumm_status := INVPUOPI.mtl_log_interface_err(
4242 org_id,
4243 user_id,
4244 login_id,
4245 prog_appid,
4246 prog_id,
4247 request_id,
4248 trans_id,
4249 err_text,
4250 'LOCATION_CONTROL_CODE',
4251 'MTL_SYSTEM_ITEMS_INTERFACE',
4252 'INV_PENDING_ADJUSTMENT',
4253 err_text);
4254
4255 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4256
4257 /* End Bug 3058650 */
4258
4259 end if;
4260
4261 -- validate RESERVABLE_TYPE
4262 -- cannot update from 1 (reservable) if rows exist in mtl_demand
4263
4264 if (msi_temp.reservable_type = 1) and (msii_temp.reservable_type <> 1) and (rsv_exists = 1) then
4265 dumm_status := INVPUOPI.mtl_log_interface_err(
4266 org_id,
4267 user_id,
4268 login_id,
4269 prog_appid,
4270 prog_id,
4271 request_id,
4272 trans_id,
4273 err_text,
4274 'RESERVABLE_TYPE',
4275 'MTL_SYSTEM_ITEMS_INTERFACE',
4276 'INV_RESERVABLE_TYPE_ERR',
4277 err_text);
4278
4279 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4280 end if;
4281
4282 /* Bug 3058650 : Validation added as part of Item attribute checks ER */
4283
4284 if (msi_temp.reservable_type = 2) and (msii_temp.reservable_type = 1) and (rsv_exists <> 1) then
4285
4286 if (INV_ATTRIBUTE_CONTROL_PVT.reservable_check(msii_temp.organization_id,
4287 msii_temp.inventory_item_id)) then
4288 dumm_status := INVPUOPI.mtl_log_interface_err(
4289 org_id,
4290 user_id,
4291 login_id,
4292 prog_appid,
4293 prog_id,
4294 request_id,
4295 trans_id,
4296 err_text,
4297 'RESERVABLE_TYPE',
4298 'MTL_SYSTEM_ITEMS_INTERFACE',
4299 'INV_RESERVABLE_NO_YES',
4300 err_text);
4301 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4302 end if;
4303 end if;
4304
4305
4306 /* End Bug 3058650 */
4307
4308 /* Bug 3058650 : Validation added as part of Item attribute checks ER */
4309
4310 -- validate TRANSACTIONS_ENABLED_FLAG
4311 -- cannot update if there are Open sales order lines
4312
4313 if (msi_temp.mtl_transactions_enabled_flag = 'Y') and (msii_temp.mtl_transactions_enabled_flag = 'N') then
4314
4315 if (INV_ATTRIBUTE_CONTROL_PVT.transactable_uncheck(msii_temp.organization_id, msii_temp.inventory_item_id)) then
4316 dumm_status := INVPUOPI.mtl_log_interface_err(
4317 org_id,
4318 user_id,
4319 login_id,
4320 prog_appid,
4321 prog_id,
4322 request_id,
4323 trans_id,
4324 err_text,
4325 'TRANSACTIONS_ENABLED_FLAG',
4326 'MTL_SYSTEM_ITEMS_INTERFACE',
4327 'INV_TRANSACTABLE_YES_NO',
4328 err_text);
4329 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4330 end if;
4331
4332 end if;
4333 /* End Bug 3058650 */
4334
4335 /* Bug 3058650 : Validation added as part of Item attribute checks ER */
4336
4337 -- validate SHIPPABLE_ITEM_FLAG
4338 -- cannot update if there are Open sales order lines
4339
4340 if (msi_temp.SHIPPABLE_ITEM_FLAG <> msii_temp.SHIPPABLE_ITEM_FLAG) and
4341 (so_ship = 1) then
4342
4343 dumm_status := INVPUOPI.mtl_log_interface_err(
4344 org_id,
4345 user_id,
4346 login_id,
4347 prog_appid,
4348 prog_id,
4349 request_id,
4350 trans_id,
4351 err_text,
4352 'SHIPPABLE_ITEM_FLAG',
4353 'MTL_SYSTEM_ITEMS_INTERFACE',
4354 'INV_OPEN_SO',
4355 err_text);
4356 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4357 elsif (msi_temp.SHIPPABLE_ITEM_FLAG = 'N' ) and (msii_temp.SHIPPABLE_ITEM_FLAG = 'Y') then
4358 if (INV_ATTRIBUTE_CONTROL_PVT.shippable_check(msii_temp.organization_id,
4359 msii_temp.inventory_item_id)) then
4360 dumm_status := INVPUOPI.mtl_log_interface_err(
4361 org_id,
4362 user_id,
4363 login_id,
4364 prog_appid,
4365 prog_id,
4366 request_id,
4367 trans_id,
4368 err_text,
4369 'SHIPPABLE_ITEM_FLAG',
4370 'MTL_SYSTEM_ITEMS_INTERFACE',
4371 'INV_TRANSACTABLE_NO_YES',
4372 err_text);
4373 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4374 end if;
4375 end if;
4376
4377 /* End Bug 3058650 */
4378
4379 /* Bug 3058650 : Validation added as part of Item attribute checks ER */
4380
4381 -- validate REPLENISH_TO_ORDER_FLAG
4382 -- cannot update if there are Open sales order lines
4383
4384 if (msi_temp.REPLENISH_TO_ORDER_FLAG <> msii_temp.REPLENISH_TO_ORDER_FLAG) and (so_ato = 1) then
4385
4386 dumm_status := INVPUOPI.mtl_log_interface_err(
4387 org_id,
4388 user_id,
4389 login_id,
4390 prog_appid,
4391 prog_id,
4392 request_id,
4393 trans_id,
4394 err_text,
4395 'REPLENISH_TO_ORDER_FLAG',
4396 'MTL_SYSTEM_ITEMS_INTERFACE',
4397 'INV_ATO_YES_NO',
4398 err_text);
4399 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4400 end if;
4401
4402 /* End Bug 3058650 */
4403
4404 -- validate REVISION_QTY_CONTROL_CODE
4405 -- cannot update if there is onhand or transactions pending
4406
4407 if (msi_temp.REVISION_QTY_CONTROL_CODE <> msii_temp.REVISION_QTY_CONTROL_CODE) AND (onhand_rev = 1) then
4408 dumm_status := INVPUOPI.mtl_log_interface_err(
4409 org_id,
4410 user_id,
4411 login_id,
4412 prog_appid,
4413 prog_id,
4414 request_id,
4415 trans_id,
4416 err_text,
4417 'REVISION_QTY_CONTROL_CODE',
4418 'MTL_SYSTEM_ITEMS_INTERFACE',
4419 'INV_REV_QTY_CNTRL_CODE_ERR',
4420 err_text);
4421
4422 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4423 /*Bug 6501149 Code starts */
4424 elsif (msi_temp.REVISION_QTY_CONTROL_CODE <> msii_temp.REVISION_QTY_CONTROL_CODE) AND (revision_control = 1) then
4425 dumm_status := INVPUOPI.mtl_log_interface_err(
4426 org_id,
4427 user_id,
4428 login_id,
4429 prog_appid,
4430 prog_id,
4431 request_id,
4432 trans_id,
4433 err_text,
4434 'REVISION_QTY_CONTROL_CODE',
4435 'MTL_SYSTEM_ITEMS_INTERFACE',
4436 'INV_DELIVER_CANNOT_UPDATE',
4437 err_text);
4438 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4439 /*Bug 6501149 Code ends */
4440
4441 /* Bug 3058650 : Validation added as part of Item attribute checks ER */
4442 elsif (msi_temp.REVISION_QTY_CONTROL_CODE <> msii_temp.REVISION_QTY_CONTROL_CODE) AND (pendadj_rev = 1) then
4443 dumm_status := INVPUOPI.mtl_log_interface_err(
4444 org_id,
4445 user_id,
4446 login_id,
4447 prog_appid,
4448 prog_id,
4449 request_id,
4450 trans_id,
4451 err_text,
4452 'REVISION_QTY_CONTROL_CODE',
4453 'MTL_SYSTEM_ITEMS_INTERFACE',
4454 'INV_PENDING_ADJUSTMENT',
4455 err_text);
4456
4457 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4458 /* End Bug 3058650 */
4459 end if;
4460
4461
4462 /* Bug 3058650 : Validation added as part of Item attribute checks ER */
4463
4464 -- validate SERIAL_NUMBER_CONTROL_CODE
4465 -- cannot change from 1,6 to 2,5 if there is On hand
4466 -- Cannot change from 1 to 2,5,6 if there are Sales order lines
4467 -- or when there are open internal order or interorg intransit shipments - Bug 4387538
4468 if ((msi_temp.SERIAL_NUMBER_CONTROL_CODE in (1,6) and
4469 msii_temp.SERIAL_NUMBER_CONTROL_CODE in (2,5)) and
4470 (onhand_serial = 1))or
4471 ((msi_temp.SERIAL_NUMBER_CONTROL_CODE in (2,5) and msii_temp.SERIAL_NUMBER_CONTROL_CODE in (1,6)) and
4472 (onhand_serial = 1)) then
4473
4474 dumm_status := INVPUOPI.mtl_log_interface_err(
4475 org_id,
4476 user_id,
4477 login_id,
4478 prog_appid,
4479 prog_id,
4480 request_id,
4481 trans_id,
4482 err_text,
4483 'SERIAL_NUMBER_CONTROL_CODE',
4484 'MTL_SYSTEM_ITEMS_INTERFACE',
4485 'INV_QTY_ON_HAND',
4486 err_text);
4487 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4488 elsif (msi_temp.SERIAL_NUMBER_CONTROL_CODE = 1 and
4489 msii_temp.SERIAL_NUMBER_CONTROL_CODE in (2,5,6))then
4490
4491 if (INV_ATTRIBUTE_CONTROL_PVT.serial_check(msii_temp.organization_id,
4492 msii_temp.inventory_item_id)) then
4493 dumm_status := INVPUOPI.mtl_log_interface_err(
4494 org_id,
4495 user_id,
4496 login_id,
4497 prog_appid,
4498 prog_id,
4499 request_id,
4500 trans_id,
4501 err_text,
4502 'SERIAL_NUMBER_CONTROL_CODE',
4503 'MTL_SYSTEM_ITEMS_INTERFACE',
4504 'INV_SERIAL_NO_YES',
4505 err_text);
4506 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4507 end if;
4508 /* End Bug 3058650 */
4509
4510 /* Start Bug 4387538 */
4511 elsif ((msi_temp.SERIAL_NUMBER_CONTROL_CODE in (1,6) and msii_temp.SERIAL_NUMBER_CONTROL_CODE in (2,5)) and
4512 (intr_ship_serial = 1)) or
4513 ((msi_temp.SERIAL_NUMBER_CONTROL_CODE in (2,5) and msii_temp.SERIAL_NUMBER_CONTROL_CODE in (1,6)) and
4514 (intr_ship_serial = 1)) then
4515
4516 dumm_status := INVPUOPI.mtl_log_interface_err(
4517 org_id,
4518 user_id,
4519 login_id,
4520 prog_appid,
4521 prog_id,
4522 request_id,
4523 trans_id,
4524 err_text,
4525 'SERIAL_NUMBER_CONTROL_CODE',
4526 'MTL_SYSTEM_ITEMS_INTERFACE',
4527 'INV_INTRANSIT_CANNOT_UPDATE',
4528 err_text);
4529
4530 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4531
4532 /* Bug 6501149 Code start */
4533 elsif ((msi_temp.SERIAL_NUMBER_CONTROL_CODE in (1,6) and msii_temp.SERIAL_NUMBER_CONTROL_CODE in (2,5)) and
4534 (serial_control = 1)) or
4535 ((msi_temp.SERIAL_NUMBER_CONTROL_CODE in (2,5) and msii_temp.SERIAL_NUMBER_CONTROL_CODE in (1,6)) and
4536 (serial_control = 1)) then
4537
4538 dumm_status := INVPUOPI.mtl_log_interface_err(
4539 org_id,
4540 user_id,
4541 login_id,
4542 prog_appid,
4543 prog_id,
4544 request_id,
4545 trans_id,
4546 err_text,
4547 'SERIAL_NUMBER_CONTROL_CODE',
4548 'MTL_SYSTEM_ITEMS_INTERFACE',
4549 'INV_DELIVER_CANNOT_UPDATE',
4550 err_text);
4551 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4552 /* Bug 6501149 Code ended */
4553 end if;
4554 /* End Bug 4387538 */
4555
4556 -- validate BOM_ENABLED_FLAG
4557 -- Must =Y when bom_item_type = 5
4558
4559 if (msii_temp.bom_item_type = 5) and
4560 (msii_temp.bom_enabled_flag = 'N') then
4561 dumm_status := INVPUOPI.mtl_log_interface_err(
4562 org_id,
4563 user_id,
4564 login_id,
4565 prog_appid,
4566 prog_id,
4567 request_id,
4568 trans_id,
4569 err_text,
4570 'BOM_ENABLED_FLAG',
4571 'MTL_SYSTEM_ITEMS_INTERFACE',
4572 'INV_BOM_ENABLED_FLAG_ERR',
4573 err_text);
4574
4575 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4576 end if;
4577
4578 -- validate BOM_ITEM_TYPE (1)
4579 -- Not updateable when row exists in bom_substitute_components or
4580 -- bom_bill_of_materials or bom_inventory_components
4581 -- or item is a Product Family with a bill defined
4582
4583 if (msi_temp.bom_item_type <> msii_temp.bom_item_type) and
4584 ( (bom_item = 1) or
4585 (msii_temp.bom_item_type = 5 and bom_exists = 1) ) then
4586 dumm_status := INVPUOPI.mtl_log_interface_err(
4587 org_id,
4588 user_id,
4589 login_id,
4590 prog_appid,
4591 prog_id,
4592 request_id,
4593 trans_id,
4594 err_text,
4595 'BOM_ITEM_TYPE',
4596 'MTL_SYSTEM_ITEMS_INTERFACE',
4597 'INV_BOM_ITEM_TYPE_ERR1',
4598 err_text);
4599
4600 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4601 end if;
4602
4603 -- Start : 3436435 Item in BOM,BOM Enabled cannot be N
4604 /* commented for bug 5479302
4605 if (msii_temp.bom_enabled_flag = 'N' and bom_exists = 1) then
4606 dumm_status := INVPUOPI.mtl_log_interface_err(
4607 org_id,
4608 user_id,
4609 login_id,
4610 prog_appid,
4611 prog_id,
4612 request_id,
4613 trans_id,
4614 err_text,
4615 'BOM_ENABLED_FLAG',
4616 'MTL_SYSTEM_ITEMS_INTERFACE',
4617 'INV_IOI_ITEM_BOM_EXISTS',
4618 err_text);
4619
4620 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4621 end if; */
4622 -- End : 3436435 Item in BOM,BOM Enabled cannot be N
4623
4624 -- validate BOM_ITEM_TYPE (2)
4625 -- If bom_item_type <> 4 then
4626 -- build_in_wip = 'N',
4627 -- base_item_id is NULL,
4628 -- internal_order_flag = 'N',
4629 -- vendor_warranty_flag = 'N'
4630 /* Bug 967374. If the bom item type is not standard, then build in wip flag
4631 must be N */
4632
4633 --ToDo (vendor_warranty_flag) :
4634
4635 /*
4636 if (msii_temp.bom_item_type <> 4) and
4637 (msii_temp.build_in_wip_flag <> 'N' OR
4638 msii_temp.base_item_id IS NOT NULL OR
4639 msii_temp.internal_order_flag <> 'N' OR
4640 msii_temp.vendor_warranty_flag <> 'N') then
4641
4642 dumm_status := INVPUOPI.mtl_log_interface_err(
4643 org_id,
4644 user_id,
4645 login_id,
4646 prog_appid,
4647 prog_id,
4648 request_id,
4649 trans_id,
4650 err_text,
4651 'BOM_ITEM_TYPE',
4652 'MTL_SYSTEM_ITEMS_INTERFACE',
4653 'INV_BOM_ITEM_TYPE_ERR2',
4654 err_text);
4655
4656 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4657
4658 end if;
4659 */
4660
4661 -- validate BOM_ITEM_TYPE (3)
4662 -- Must not=5 when open shipping orders exist
4663
4664 if (msii_temp.bom_item_type = 5 and
4665 so_open_exists = 1) then
4666
4667 dumm_status := INVPUOPI.mtl_log_interface_err(
4668 org_id,
4669 user_id,
4670 login_id,
4671 prog_appid,
4672 prog_id,
4673 request_id,
4674 trans_id,
4675 err_text,
4676 'BOM_ITEM_TYPE',
4677 'MTL_SYSTEM_ITEMS_INTERFACE',
4678 'INV_BOM_ITEM_TYPE_ERR3',
4679 err_text);
4680
4681 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4682 end if;
4683
4684 -- Added for Bug 5143614
4685 -- Validate update of pick_components flag
4686 -- If item has a bill defined on it with components on lot basis
4687 -- then pick_components cannot be TRUE
4688
4689 if (msii_temp.pick_components_flag = 'Y'
4690 OR msii_temp.pick_components_flag = 'y') then
4691 begin
4692 SELECT 1 INTO l_item_has_lot_comp
4693 FROM bom_components_b bic, bom_structures_b bbom
4694 WHERE bic.basis_type =2
4695 and bic.bill_sequence_id=bbom.common_bill_sequence_id
4696 and bbom.assembly_item_id=msii_temp.inventory_item_id
4697 and bbom.organization_id =msii_temp.organization_id
4698 and ROWNUM = 1;
4699 EXCEPTION WHEN NO_DATA_FOUND THEN
4700 l_item_has_lot_comp := 0;
4701 end;
4702 IF l_item_has_lot_comp = 1 THEN
4703 dumm_status := INVPUOPI.mtl_log_interface_err(
4704 org_id,
4705 user_id,
4706 login_id,
4707 prog_appid,
4708 prog_id,
4709 request_id,
4710 trans_id,
4711 err_text,
4712 'PICK_COMPONENTS_FLAG',
4713 'MTL_SYSTEM_ITEMS_INTERFACE',
4714 'INV_ITEM_LOT_COMP',
4715 err_text);
4716 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4717 END IF;
4718 end if;
4719
4720 -- validate COSTING_ENABLED_FLAG
4721 -- Not updateable if onhand or txn pending or uncosted txn
4722 -- (determined from :cost_txn)
4723 -- (don't need to worry about Item vs. Item/org because SQL checks
4724 -- for orgs where costing_org = :org)
4725 --
4726 if (msi_temp.costing_enabled_flag <> msii_temp.costing_enabled_flag) and
4727 (cost_txn = 1) then
4728 dumm_status := INVPUOPI.mtl_log_interface_err(
4729 org_id,
4730 user_id,
4731 login_id,
4732 prog_appid,
4733 prog_id,
4734 request_id,
4735 trans_id,
4736 err_text,
4737 'COSTING_ENABLED_FLAG',
4738 'MTL_SYSTEM_ITEMS_INTERFACE',
4739 'INV_COSTING_ENABLED_FLAG_ERR',
4740 err_text);
4741
4742 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4743 end if;
4744 -- throw error only if the costing enabled flag is modified and
4745 -- pending transactions or onhand exists in any of the child orgs and the control level of COSTING_ENABLED_FLAG is org level
4746 -- Bug 9378082 If the return value is 2, check if the flag is master controlled then throw the error.
4747 -- If the flag is org controlled, even if the pending transactions are present in the child orgs, the flag is updateable
4748 if (msi_temp.costing_enabled_flag <> msii_temp.costing_enabled_flag) and
4749 (cost_txn = 2) then
4750
4751 select control_level
4752 into costing_level
4753 from mtl_item_attributes where attribute_name = 'MTL_SYSTEM_ITEMS.COSTING_ENABLED_FLAG';
4754
4755 IF (costing_level = 1) then
4756 dumm_status := INVPUOPI.mtl_log_interface_err(
4757 org_id,
4758 user_id,
4759 login_id,
4760 prog_appid,
4761 prog_id,
4762 request_id,
4763 trans_id,
4764 err_text,
4765 'COSTING_ENABLED_FLAG',
4766 'MTL_SYSTEM_ITEMS_INTERFACE',
4767 'INV_COSTING_ENABLED_FLAG_ERR',
4768 err_text);
4769
4770 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4771 END IF;
4772 end if;
4773
4774 -- validate INVENTORY_ASSET_FLAG
4775 -- Not updateable if onhand or txn pending or uncosted txn
4776 -- (determined from cost_txn)
4777 -- (dont need to worry about Item vs. Item/org because SQL checks
4778 -- for orgs where costing_org = org)
4779
4780 if (msi_temp.inventory_asset_flag <> msii_temp.inventory_asset_flag) and
4781 (cost_txn = 1) then
4782 dumm_status := INVPUOPI.mtl_log_interface_err(
4783 org_id,
4784 user_id,
4785 login_id,
4786 prog_appid,
4787 prog_id,
4788 request_id,
4789 trans_id,
4790 err_text,
4791 'INVENTORY_ASSET_FLAG',
4792 'MTL_SYSTEM_ITEMS_INTERFACE',
4793 'INV_INVENTORY_ASSET_FLAG_ERR',
4794 err_text);
4795
4796 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4797 end if;
4798 -- throw error only if the INVENTORY_ASSET_FLAG is modified and
4799 -- pending transactions or onhand exists in any of the child orgs and the control level of INVENTORY_ASSET_FLAG is org level
4800 -- Bug 9378082 If the return value is 2, check if the flag is master controlled then throw the error.
4801 -- If the flag is org controlled, even if the pending transactions are present in the child orgs, the flag is updateable
4802 if (msi_temp.inventory_asset_flag <> msii_temp.inventory_asset_flag) and
4803 (cost_txn = 2) then
4804
4805 select control_level
4806 into invetory_asset_flag_level
4807 from mtl_item_attributes where attribute_name = 'MTL_SYSTEM_ITEMS.INVENTORY_ASSET_FLAG';
4808
4809 IF (invetory_asset_flag_level = 1) then
4810 dumm_status := INVPUOPI.mtl_log_interface_err(
4811 org_id,
4812 user_id,
4813 login_id,
4814 prog_appid,
4815 prog_id,
4816 request_id,
4817 trans_id,
4818 err_text,
4819 'INVENTORY_ASSET_FLAG',
4820 'MTL_SYSTEM_ITEMS_INTERFACE',
4821 'INV_INVENTORY_ASSET_FLAG_ERR',
4822 err_text);
4823
4824 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4825
4826 END IF;
4827 end if;
4828
4829
4830 -- validate FIXED_ORDER_QUANTITY
4831 -- must be > 0
4832
4833 if (msii_temp.fixed_order_quantity <=0 ) then
4834 dumm_status := INVPUOPI.mtl_log_interface_err(
4835 org_id,
4836 user_id,
4837 login_id,
4838 prog_appid,
4839 prog_id,
4840 request_id,
4841 trans_id,
4842 err_text,
4843 'FIXED_ORDER_QUANTITY',
4844 'MTL_SYSTEM_ITEMS_INTERFACE',
4845 'INV_FIXED_ORDER_QUANTITY_ERR',
4846 err_text);
4847
4848 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4849 end if;
4850
4851
4852 -- validate PLANNING_MAKE_BUY_CODE
4853 -- Must be 1 if bom_item_type = 5 (product family)
4854 --
4855 if (msii_temp.planning_make_buy_code <> 1) AND
4856 (msii_temp.bom_item_type = 5) then
4857 dumm_status := INVPUOPI.mtl_log_interface_err(
4858 org_id,
4859 user_id,
4860 login_id,
4861 prog_appid,
4862 prog_id,
4863 request_id,
4864 trans_id,
4865 err_text,
4866 'PLANNING_MAKE_BUY_CODE',
4867 'MTL_SYSTEM_ITEMS_INTERFACE',
4868 'INV_PLANNING_MAKE_BUY_CODE',
4869 err_text);
4870
4871 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4872 end if;
4873
4874
4875 -- validate ACCEPTABLE_EARLY_DAYS
4876 -- must be > 0
4877
4878 if (msii_temp.acceptable_early_days <= 0) then
4879 dumm_status := INVPUOPI.mtl_log_interface_err(
4880 org_id,
4881 user_id,
4882 login_id,
4883 prog_appid,
4884 prog_id,
4885 request_id,
4886 trans_id,
4887 err_text,
4888 'ACCEPTABLE_EARLY_DAYS',
4889 'MTL_SYSTEM_ITEMS_INTERFACE',
4890 'INV_ACCEPTABLE_EARLY_DAYS_ERR',
4891 err_text);
4892
4893 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4894 end if;
4895
4896
4897 -- validate ACCEPTABLE_RATE_INCREASE
4898 -- must be >= 0
4899
4900 if (msii_temp.acceptable_rate_increase < 0) then
4901 dumm_status := INVPUOPI.mtl_log_interface_err(
4902 org_id,
4903 user_id,
4904 login_id,
4905 prog_appid,
4906 prog_id,
4907 request_id,
4908 trans_id,
4909 err_text,
4910 'ACCEPTABLE_RATE_INCREASE',
4911 'MTL_SYSTEM_ITEMS_INTERFACE',
4912 'INV_ACCEPT_RATE_INCREASE_ERR',
4913 err_text);
4914
4915 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4916 end if;
4917
4918
4919 -- validate ACCEPTABLE_RATE_DECREASE
4920 -- must be >= 0
4921
4922 if (msii_temp.acceptable_rate_decrease < 0) then
4923 dumm_status := INVPUOPI.mtl_log_interface_err(
4924 org_id,
4925 user_id,
4926 login_id,
4927 prog_appid,
4928 prog_id,
4929 request_id,
4930 trans_id,
4931 err_text,
4932 'ACCEPTABLE_RATE_DECREASE',
4933 'MTL_SYSTEM_ITEMS_INTERFACE',
4934 'INV_ACCEPT_RATE_DECREASE_ERR',
4935 err_text);
4936
4937 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4938 end if;
4939
4940
4941 -- validate DEMAND_TIME_FENCE_DAYS
4942 -- updateable only if DEMAND_TIME_FENCE_CODE = 4
4943
4944 if( msii_temp.demand_time_fence_days <> msi_temp.demand_time_fence_days) AND
4945 (msii_temp.demand_time_fence_code <> 4) then
4946 dumm_status := INVPUOPI.mtl_log_interface_err(
4947 org_id,
4948 user_id,
4949 login_id,
4950 prog_appid,
4951 prog_id,
4952 request_id,
4953 trans_id,
4954 err_text,
4955 'DEMAND_TIME_FENCE_DAYS',
4956 'MTL_SYSTEM_ITEMS_INTERFACE',
4957 'INV_DEMAND_TIME_FENCE_DAYS_ERR',
4958 err_text);
4959
4960 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4961 end if;
4962
4963
4964 -- validate PLANNING_TIME_FENCE_DAYS
4965 -- updateable only if PLANNING_TIME_FENCE_CODE = 4
4966
4967 if( msii_temp.planning_time_fence_days <> msi_temp.planning_time_fence_days) AND
4968 (msii_temp.planning_time_fence_code <> 4) then
4969 dumm_status := INVPUOPI.mtl_log_interface_err(
4970 org_id,
4971 user_id,
4972 login_id,
4973 prog_appid,
4974 prog_id,
4975 request_id,
4976 trans_id,
4977 err_text,
4978 'PLANNING_TIME_FENCE_DAYS',
4979 'MTL_SYSTEM_ITEMS_INTERFACE',
4980 'INV_PLAN_TIME_FENCE_DAYS_ERR',
4981 err_text);
4982
4983 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
4984 end if;
4985
4986
4987 -- validate REPETITIVE_PLANNING_FLAG
4988 -- not updateable if row exists in mrp_schedule_items for item and org
4989
4990 if (msii_temp.repetitive_planning_flag <> msi_temp.repetitive_planning_flag) and
4991 (mrp_schedule = 1) then
4992 dumm_status := INVPUOPI.mtl_log_interface_err(
4993 org_id,
4994 user_id,
4995 login_id,
4996 prog_appid,
4997 prog_id,
4998 request_id,
4999 trans_id,
5000 err_text,
5001 'REPETITIVE_PLANNING_FLAG',
5002 'MTL_SYSTEM_ITEMS_INTERFACE',
5003 'INV_REPET_PLANNING_FLAG_ERR',
5004 err_text);
5005
5006 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5007 end if;
5008
5009
5010 -- validate SHRINKAGE_RATE
5011 -- must be 0 <= SHRINKAGE_RATE < 1
5012
5013 if (msii_temp.shrinkage_rate >= 1) or
5014 (msii_temp.shrinkage_rate < 0) then
5015
5016 dumm_status := INVPUOPI.mtl_log_interface_err(
5017 org_id,
5018 user_id,
5019 login_id,
5020 prog_appid,
5021 prog_id,
5022 request_id,
5023 trans_id,
5024 err_text,
5025 'SHRINKAGE_RATE',
5026 'MTL_SYSTEM_ITEMS_INTERFACE',
5027 'INV_SHRINKAGE_RATE_ERR',
5028 err_text);
5029
5030 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5031
5032 end if;
5033
5034
5035 -- validate FULL_LEAD_TIME
5036 -- must be 0 when BOM_ITEM_TYPE = 5
5037
5038 if (msii_temp.full_lead_time <> 0) and
5039 (msii_temp.bom_item_type = 5) then
5040 dumm_status := INVPUOPI.mtl_log_interface_err(
5041 org_id,
5042 user_id,
5043 login_id,
5044 prog_appid,
5045 prog_id,
5046 request_id,
5047 trans_id,
5048 err_text,
5049 'FULL_LEAD_TIME',
5050 'MTL_SYSTEM_ITEMS_INTERFACE',
5051 'INV_FULL_LEAD_TIME_ERR',
5052 err_text);
5053
5054 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5055 end if;
5056
5057
5058 -- validate LEAD_TIME_LOT_SIZE
5059 -- if null, set to std_lot_size
5060
5061 if (msii_temp.lead_time_lot_size IS null) then
5062 UPDATE mtl_system_items_interface
5063 SET lead_time_lot_size = msii_temp.std_lot_size
5064 WHERE rowid = row_id;
5065
5066 /* commit for debugging ONLY */
5067 -- COMMIT;
5068
5069 status := 0;
5070 end if;
5071
5072
5073 -- validate POSTPROCESSING_LEAD_TIME
5074 -- not updateable and = 0 if PLANNING_MAKE_BUY_CODE = 1
5075
5076 if (msii_temp.planning_make_buy_code = 1) and
5077 (msii_temp.postprocessing_lead_time <> 0) then
5078 dumm_status := INVPUOPI.mtl_log_interface_err(
5079 org_id,
5080 user_id,
5081 login_id,
5082 prog_appid,
5083 prog_id,
5084 request_id,
5085 trans_id,
5086 err_text,
5087 'POSTPROCESSING_LEAD_TIME',
5088 'MTL_SYSTEM_ITEMS_INTERFACE',
5089 'INV_POSTPROC_LEAD_TIME_ERR',
5090 err_text);
5091
5092 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5093 end if;
5094
5095
5096 -- validate VARIABLE_LEAD_TIME
5097 -- must be > 0
5098
5099 if (msii_temp.variable_lead_time < 0) then
5100 dumm_status := INVPUOPI.mtl_log_interface_err(
5101 org_id,
5102 user_id,
5103 login_id,
5104 prog_appid,
5105 prog_id,
5106 request_id,
5107 trans_id,
5108 err_text,
5109 'VARIABLE_LEAD_TIME',
5110 'MTL_SYSTEM_ITEMS_INTERFACE',
5111 'INV_VARIABLE_LEAD_TIME_ERR',
5112 err_text);
5113
5114 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5115 end if;
5116
5117 /* Validation added for Bug 4139304 - Anmurali */
5118 if ((msi_temp.effectivity_control <> msii_temp.effectivity_control) AND (bom_item = 1 OR onhand_all = 1)) then
5119 dumm_status := INVPUOPI.mtl_log_interface_err(
5120 org_id,
5121 user_id,
5122 login_id,
5123 prog_appid,
5124 prog_id,
5125 request_id,
5126 trans_id,
5127 err_text,
5128 'EFFECTIVITY_CONTROL',
5129 'MTL_SYSTEM_ITEMS_INTERFACE',
5130 'ITM-EFFC-ITEM IS BILL OR COMP',
5131 err_text);
5132
5133 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5134 end if;
5135 /* End of validation for Bug 4139304 */
5136
5137 --ToDo (SERVICE_ITEM_FLAG) :
5138
5139 -- validate BUILD_IN_WIP_FLAG
5140 -- must be 'N' when SERVICE_ITEM_FLAG = 'Y'
5141 /*
5142 if (msii_temp.build_in_wip_flag <> 'N') and
5143 (msii_temp.service_item_flag = 'Y') then
5144 dumm_status := INVPUOPI.mtl_log_interface_err(
5145 org_id,
5146 user_id,
5147 login_id,
5148 prog_appid,
5149 prog_id,
5150 request_id,
5151 trans_id,
5152 err_text,
5153 'BUILD_IN_WIP_FLAG',
5154 'MTL_SYSTEM_ITEMS_INTERFACE',
5155 'INV_BUILD_IN_WIP_FLAG_ERR',
5156 err_text);
5157
5158 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5159 end if;
5160 */
5161
5162 -- validate SERVICE_ITEM_FLAG
5163 -- must be 'N' when MATERIAL_BILLABLE_FLAG <> null
5164 /*
5165 if (msii_temp.service_item_flag <> 'N') and
5166 (msii_temp.material_billable_flag IS NOT NULL) then
5167 dumm_status := INVPUOPI.mtl_log_interface_err(
5168 org_id,
5169 user_id,
5170 login_id,
5171 prog_appid,
5172 prog_id,
5173 request_id,
5174 trans_id,
5175 err_text,
5176 'SERVICE_ITEM_FLAG',
5177 'MTL_SYSTEM_ITEMS_INTERFACE',
5178 'INV_SERVICE_ITEM_FLAG_ERR',
5179 err_text);
5180
5181 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5182 end if;
5183 */
5184
5185 -- validate SERVICE_STARTING_DELAY
5186 -- must be >= 0
5187
5188 if (msii_temp.service_starting_delay < 0) then
5189 dumm_status := INVPUOPI.mtl_log_interface_err(
5190 org_id,
5191 user_id,
5192 login_id,
5193 prog_appid,
5194 prog_id,
5195 request_id,
5196 trans_id,
5197 err_text,
5198 'SERVICE_STARTING_DELAY',
5199 'MTL_SYSTEM_ITEMS_INTERFACE',
5200 'INV_SERVICE_STARTING_DELAY_ERR',
5201 err_text);
5202
5203 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5204 end if;
5205
5206 -- validate VEHICLE_ITEM_FLAG
5207 -- Not updateable when row exists in FTE_VEHICLE_TYPES
5208
5209 if (msii_temp.vehicle_item_flag <> 'Y' and fte_vehicle_exists = 1) then
5210 dumm_status := INVPUOPI.mtl_log_interface_err(
5211 org_id,
5212 user_id,
5213 login_id,
5214 prog_appid,
5215 prog_id,
5216 request_id,
5217 trans_id,
5218 err_text,
5219 'VEHICLE_ITEM_FLAG',
5220 'MTL_SYSTEM_ITEMS_INTERFACE',
5221 'INV_VEHICLE_CANNOT_UPDATE',
5222 err_text);
5223
5224 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5225 end if;
5226 -- Bug: 2710463
5227 -- validate COMMS_NL_TRACKABLE_FLAG
5228 -- Not updateable when Onhand Trackable exists
5229
5230 if ( NVL(msii_temp.COMMS_NL_TRACKABLE_FLAG,'N') <> NVL(msi_temp.COMMS_NL_TRACKABLE_FLAG,'N') and onhand_trackable = 1) then
5231 dumm_status := INVPUOPI.mtl_log_interface_err(
5232 org_id,
5233 user_id,
5234 login_id,
5235 prog_appid,
5236 prog_id,
5237 request_id,
5238 trans_id,
5239 err_text,
5240 'COMMS_NL_TRACKABLE_FLAG',
5241 'MTL_SYSTEM_ITEMS_INTERFACE',
5242 'INV_ONHAND_TRACKABLE_EXIST',
5243 err_text);
5244
5245 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5246 end if;
5247
5248 IF l_inv_debug_level IN(101, 102) THEN
5249 INVPUTLI.info('INVUPD2B: Inside update_validations: 11.5.10 validations started');
5250 END IF;
5251 -- Added for 11.5.10
5252 -- validate OUTSIDE_OPERATION_FLAG, EAM_ITEM_TYPE, MTL_TRANSACTIONS_ENABLED_FLAG, STOCK_ENABLED_FLAG and INVENTORY_ASSET_FLAG
5253 -- validate Not updateable fields
5254 /*Bug 6501149 Code starts */
5255 if ((msi_temp.STOCK_ENABLED_FLAG <> msii_temp.STOCK_ENABLED_FLAG) AND (stockable = 1) AND msii_temp.STOCK_ENABLED_FLAG = 'N') then
5256 dumm_status := INVPUOPI.mtl_log_interface_err(
5257 org_id,
5258 user_id,
5259 login_id,
5260 prog_appid,
5261 prog_id,
5262 request_id,
5263 trans_id,
5264 err_text,
5265 'STOCK_ENABLED_FLAG',
5266 'MTL_SYSTEM_ITEMS_INTERFACE',
5267 'INV_DELIVER_CANNOT_UPDATE',
5268 err_text);
5269 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5270 end if;
5271 /*Bug 6501149 code ends */
5272
5273 /* BUG 9135696 code starts */
5274 if (msi_temp.STOCK_ENABLED_FLAG = 'Y') AND (msii_temp.STOCK_ENABLED_FLAG = 'N') then
5275 if (INV_ATTRIBUTE_CONTROL_PVT.check_pending_adjustments(msii_temp.organization_id, msii_temp.inventory_item_id, 'STOCK_ENABLED_FLAG')) then
5276 dumm_status := INVPUOPI.mtl_log_interface_err(
5277 org_id,
5278 user_id,
5279 login_id,
5280 prog_appid,
5281 prog_id,
5282 request_id,
5283 trans_id,
5284 err_text,
5285 'STOCK_ENABLED_FLAG',
5286 'MTL_SYSTEM_ITEMS_INTERFACE',
5287 'INV_PENDING_ADJUSTMENT',
5288 err_text);
5289 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5290 end if;
5291 end if;
5292 /* BUG 9135696 code ends */
5293
5294 l_column_name := NULL;
5295 if (vmiorconsign_enabled = 1 ) then
5296 if (NVL(msii_temp.OUTSIDE_OPERATION_FLAG,'N') = 'Y' ) then
5297 l_column_name := 'OUTSIDE_OPERATION_FLAG';
5298 elsif( msii_temp.EAM_ITEM_TYPE IS NOT NULL ) then
5299 l_column_name := 'EAM_ITEM_TYPE';
5300 elsif (NVL(msii_temp.MTL_TRANSACTIONS_ENABLED_FLAG,'N') = 'N' )then
5301 l_column_name := 'MTL_TRANSACTIONS_ENABLED_FLAG';
5302 elsif (NVL(msii_temp.STOCK_ENABLED_FLAG,'N') = 'N') then
5303 l_column_name := 'STOCK_ENABLED_FLAG';
5304 end if;
5305 end if;
5306 if(consign_enabled = 1 AND NVL(msii_temp.INVENTORY_ASSET_FLAG,'N') = 'N') then
5307 l_column_name := 'INVENTORY_ASSET_FLAG';
5308 end if;
5309 if (l_column_name IS NOT NULL) then
5310 IF l_inv_debug_level IN(101, 102) THEN
5311 INVPUTLI.info('INVUPD2B: Inside update_validations: VMI validations failed');
5312 END IF;
5313
5314 dumm_status := INVPUOPI.mtl_log_interface_err(
5315 org_id,
5316 user_id,
5317 login_id,
5318 prog_appid,
5319 prog_id,
5320 request_id,
5321 trans_id,
5322 err_text,
5323 l_column_name,
5324 'MTL_SYSTEM_ITEMS_INTERFACE',
5325 'INV_VMI_ENABLED_ITEM',
5326 err_text);
5327 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5328 end if;
5329 IF l_inv_debug_level IN(101, 102) THEN
5330 INVPUTLI.info('INVUPD2B: Inside update_validations: 11.5.10 validations Ended');
5331 END IF;
5332
5333 /* Start Bug 3713912 */
5334 -- validate TRACKING_QUANTITY_IND
5335 -- cannot update if there is onhand or transactions pending
5336 if (msi_temp.TRACKING_QUANTITY_IND <> msii_temp.TRACKING_QUANTITY_IND) AND (onhand_tracking_qty_ind = 1) then
5337 IF l_inv_debug_level IN(101, 102) THEN
5338 INVPUTLI.info('INVUPD2B: Inside update_validations: TRACKING_QUANTITY_IND onhand validations failed');
5339 END IF;
5340 dumm_status := INVPUOPI.mtl_log_interface_err(
5341 org_id,
5342 user_id,
5343 login_id,
5344 prog_appid,
5345 prog_id,
5346 request_id,
5347 trans_id,
5348 err_text,
5349 'TRACKING_QUANTITY_IND',
5350 'MTL_SYSTEM_ITEMS_INTERFACE',
5351 'INV_QOH_CANNOT_UPDATE',
5352 err_text);
5353
5354 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5355
5356 elsif (msi_temp.TRACKING_QUANTITY_IND <> msii_temp.TRACKING_QUANTITY_IND) AND (pendadj_tracking_qty_ind = 1) then
5357 IF l_inv_debug_level IN(101, 102) THEN
5358 INVPUTLI.info('INVUPD2B: Inside update_validations: TRACKING_QUANTITY_IND pending validations failed');
5359 END IF;
5360 dumm_status := INVPUOPI.mtl_log_interface_err(
5361 org_id,
5362 user_id,
5363 login_id,
5364 prog_appid,
5365 prog_id,
5366 request_id,
5367 trans_id,
5368 err_text,
5369 'TRACKING_QUANTITY_IND',
5370 'MTL_SYSTEM_ITEMS_INTERFACE',
5371 'INV_PENDING_ADJUSTMENT',
5372 err_text);
5373
5374 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5375
5376 end if;
5377
5378 -- validate SECONDARY_UOM_CODE
5379 -- cannot update if there is onhand or transactions pending
5380 if (msi_temp.SECONDARY_UOM_CODE <> msii_temp.SECONDARY_UOM_CODE) AND (onhand_secondary_uom = 1) then
5381 IF l_inv_debug_level IN(101, 102) THEN
5382 INVPUTLI.info('INVUPD2B: Inside update_validations: SECONDARY_UOM_CODE onhand validations failed');
5383 END IF;
5384 dumm_status := INVPUOPI.mtl_log_interface_err(
5385 org_id,
5386 user_id,
5387 login_id,
5388 prog_appid,
5389 prog_id,
5390 request_id,
5391 trans_id,
5392 err_text,
5393 'SECONDARY_UOM_CODE',
5394 'MTL_SYSTEM_ITEMS_INTERFACE',
5395 'INV_QOH_CANNOT_UPDATE',
5396 err_text);
5397
5398 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5399
5400 elsif (msi_temp.SECONDARY_UOM_CODE <> msii_temp.SECONDARY_UOM_CODE) AND (pendadj_secondary_uom = 1) then
5401 IF l_inv_debug_level IN(101, 102) THEN
5402 INVPUTLI.info('INVUPD2B: Inside update_validations: SECONDARY_UOM_CODE pending validations failed');
5403 END IF;
5404 dumm_status := INVPUOPI.mtl_log_interface_err(
5405 org_id,
5406 user_id,
5407 login_id,
5408 prog_appid,
5409 prog_id,
5410 request_id,
5411 trans_id,
5412 err_text,
5413 'SECONDARY_UOM_CODE',
5414 'MTL_SYSTEM_ITEMS_INTERFACE',
5415 'INV_PENDING_ADJUSTMENT',
5416 err_text);
5417
5418 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5419
5420 end if;
5421
5422 -- validate SECONDARY_DEFAULT_IND
5423 -- cannot update if there is onhand or transactions pending
5424 if (msi_temp.SECONDARY_DEFAULT_IND <> msii_temp.SECONDARY_DEFAULT_IND) AND (onhand_sec_default_ind = 1) then
5425 IF l_inv_debug_level IN(101, 102) THEN
5426 INVPUTLI.info('INVUPD2B: Inside update_validations: SECONDARY_DEFAULT_IND onhand validations failed');
5427 END IF;
5428 dumm_status := INVPUOPI.mtl_log_interface_err(
5429 org_id,
5430 user_id,
5431 login_id,
5432 prog_appid,
5433 prog_id,
5434 request_id,
5435 trans_id,
5436 err_text,
5437 'SECONDARY_DEFAULT_IND',
5438 'MTL_SYSTEM_ITEMS_INTERFACE',
5439 'INV_QOH_CANNOT_UPDATE',
5440 err_text);
5441
5442 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5443
5444 elsif (msi_temp.SECONDARY_DEFAULT_IND <> msii_temp.SECONDARY_DEFAULT_IND) AND (pendadj_sec_default_ind = 1) then
5445 IF l_inv_debug_level IN(101, 102) THEN
5446 INVPUTLI.info('INVUPD2B: Inside update_validations: SECONDARY_DEFAULT_IND pending validations failed');
5447 END IF;
5448 dumm_status := INVPUOPI.mtl_log_interface_err(
5449 org_id,
5450 user_id,
5451 login_id,
5452 prog_appid,
5453 prog_id,
5454 request_id,
5455 trans_id,
5456 err_text,
5457 'SECONDARY_DEFAULT_IND',
5458 'MTL_SYSTEM_ITEMS_INTERFACE',
5459 'INV_PENDING_ADJUSTMENT',
5460 err_text);
5461
5462 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5463
5464 end if;
5465
5466 -- validate PRIMARY_UOM_CODE
5467 -- cannot update if there is onhand or transactions pending
5468 if (msi_temp.PRIMARY_UOM_CODE <> msii_temp.PRIMARY_UOM_CODE) AND (onhand_primary_uom = 1) then
5469 IF l_inv_debug_level IN(101, 102) THEN
5470 INVPUTLI.info('INVUPD2B: Inside update_validations: PRIMARY_UOM_CODE onhand validations failed');
5471 END IF;
5472 dumm_status := INVPUOPI.mtl_log_interface_err(
5473 org_id,
5474 user_id,
5475 login_id,
5476 prog_appid,
5477 prog_id,
5478 request_id,
5479 trans_id,
5480 err_text,
5481 'PRIMARY_UOM_CODE',
5482 'MTL_SYSTEM_ITEMS_INTERFACE',
5483 'INV_QOH_CANNOT_UPDATE',
5484 err_text);
5485
5486 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5487
5488 elsif (msi_temp.PRIMARY_UOM_CODE <> msii_temp.PRIMARY_UOM_CODE) AND (pendadj_primary_uom = 1) then
5489 IF l_inv_debug_level IN(101, 102) THEN
5490 INVPUTLI.info('INVUPD2B: Inside update_validations: PRIMARY_UOM_CODE pending validations failed');
5491 END IF;
5492 dumm_status := INVPUOPI.mtl_log_interface_err(
5493 org_id,
5494 user_id,
5495 login_id,
5496 prog_appid,
5497 prog_id,
5498 request_id,
5499 trans_id,
5500 err_text,
5501 'PRIMARY_UOM_CODE',
5502 'MTL_SYSTEM_ITEMS_INTERFACE',
5503 'INV_PENDING_ADJUSTMENT',
5504 err_text);
5505
5506 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5507
5508 end if;
5509
5510 -- validate DUAL_UOM_DEVIATION_HIGH
5511 -- cannot update if there is onhand or transactions pending
5512 if (msi_temp.DUAL_UOM_DEVIATION_HIGH <> msii_temp.DUAL_UOM_DEVIATION_HIGH) AND (onhand_deviation_high = 1) then
5513 IF l_inv_debug_level IN(101, 102) THEN
5514 INVPUTLI.info('INVUPD2B: Inside update_validations: DUAL_UOM_DEVIATION_HIGH onhand validations failed');
5515 END IF;
5516 dumm_status := INVPUOPI.mtl_log_interface_err(
5517 org_id,
5518 user_id,
5519 login_id,
5520 prog_appid,
5521 prog_id,
5522 request_id,
5523 trans_id,
5524 err_text,
5525 'DUAL_UOM_DEVIATION_HIGH',
5526 'MTL_SYSTEM_ITEMS_INTERFACE',
5527 'INV_QOH_CANNOT_UPDATE',
5528 err_text);
5529
5530 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5531
5532 elsif (msi_temp.DUAL_UOM_DEVIATION_HIGH <> msii_temp.DUAL_UOM_DEVIATION_HIGH) AND (pendadj_deviation_high = 1) then
5533 IF l_inv_debug_level IN(101, 102) THEN
5534 INVPUTLI.info('INVUPD2B: Inside update_validations: DUAL_UOM_DEVIATION_HIGH pending validations failed');
5535 END IF;
5536 dumm_status := INVPUOPI.mtl_log_interface_err(
5537 org_id,
5538 user_id,
5539 login_id,
5540 prog_appid,
5541 prog_id,
5542 request_id,
5543 trans_id,
5544 err_text,
5545 'DUAL_UOM_DEVIATION_HIGH',
5546 'MTL_SYSTEM_ITEMS_INTERFACE',
5547 'INV_PENDING_ADJUSTMENT',
5548 err_text);
5549
5550 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5551
5552 end if;
5553
5554 -- validate DUAL_UOM_DEVIATION_LOW
5555 -- cannot update if there is onhand or transactions pending
5556 if (msi_temp.DUAL_UOM_DEVIATION_LOW <> msii_temp.DUAL_UOM_DEVIATION_LOW) AND (onhand_deviation_low = 1) then
5557 IF l_inv_debug_level IN(101, 102) THEN
5558 INVPUTLI.info('INVUPD2B: Inside update_validations: DUAL_UOM_DEVIATION_LOW onhand validations failed');
5559 END IF;
5560 dumm_status := INVPUOPI.mtl_log_interface_err(
5561 org_id,
5562 user_id,
5563 login_id,
5564 prog_appid,
5565 prog_id,
5566 request_id,
5567 trans_id,
5568 err_text,
5569 'DUAL_UOM_DEVIATION_LOW',
5570 'MTL_SYSTEM_ITEMS_INTERFACE',
5571 'INV_QOH_CANNOT_UPDATE',
5572 err_text);
5573
5574 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5575
5576 elsif (msi_temp.DUAL_UOM_DEVIATION_LOW <> msii_temp.DUAL_UOM_DEVIATION_LOW) AND (pendadj_deviation_low = 1) then
5577 IF l_inv_debug_level IN(101, 102) THEN
5578 INVPUTLI.info('INVUPD2B: Inside update_validations: DUAL_UOM_DEVIATION_LOW pending validations failed');
5579 END IF;
5580 dumm_status := INVPUOPI.mtl_log_interface_err(
5581 org_id,
5582 user_id,
5583 login_id,
5584 prog_appid,
5585 prog_id,
5586 request_id,
5587 trans_id,
5588 err_text,
5589 'DUAL_UOM_DEVIATION_LOW',
5590 'MTL_SYSTEM_ITEMS_INTERFACE',
5591 'INV_PENDING_ADJUSTMENT',
5592 err_text);
5593
5594 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5595
5596 end if;
5597
5598 /* End Bug 3713912 */
5599
5600 /** ****** BEGINNING - LANHUANG - Bug fix 13946893 (23AUG2012) ****** */
5601 IF(msi_temp.RECIPE_ENABLED_FLAG = 'Y' AND msii_temp.RECIPE_ENABLED_FLAG = 'N') THEN
5602 IF(NOT validate_recipe_enabled_flag(msii_temp.INVENTORY_ITEM_ID, msii_temp.ORGANIZATION_ID)) THEN
5603 dumm_status := INVPUOPI.mtl_log_interface_err(
5604 org_id,
5605 user_id,
5606 login_id,
5607 prog_appid,
5608 prog_id,
5609 request_id,
5610 trans_id,
5611 err_text,
5612 'RECIPE_ENABLED_FLAG',
5613 'MTL_SYSTEM_ITEMS_INTERFACE',
5614 'INV_RECIPE_ENABLED_FLAG_ERR',
5615 err_text);
5616 dumm_status := INVUPD2B.set_process_flag3(row_id,user_id,login_id,prog_appid,prog_id,request_id);
5617 END IF;
5618 END IF;
5619 /** ****** END - LANHUANG - Bug fix 13946893 ****** */
5620
5621 RETURN (status);
5622
5623 EXCEPTION
5624
5625 when OTHERS then
5626 --bug #4251913 : Included SQLCODE and SQLERRM to trap exception messages.
5627 IF l_inv_debug_level IN(101, 102) THEN
5628 INVPUTLI.info(
5629 Substr(
5630 'when OTHERS exception raised in update_validations ' ||
5631 SQLCODE ||
5632 ' - ' ||
5633 SQLERRM,1,240));
5634 END IF;
5635 return (1);
5636
5637 END update_validations;
5638
5639
5640 FUNCTION inproit_process_item_update
5641 (
5642 prg_appid IN NUMBER,
5643 prg_id IN NUMBER,
5644 req_id IN NUMBER,
5645 user_id IN NUMBER,
5646 login_id IN NUMBER,
5647 error_message OUT NOCOPY VARCHAR2,
5648 message_name OUT NOCOPY VARCHAR2,
5649 table_name OUT NOCOPY VARCHAR2,
5650 xset_id IN NUMBER DEFAULT NULL,
5651 commit_flag IN NUMBER DEFAULT 1 /*Added to Fix Bug 8359046*/
5652 )
5653 RETURN INTEGER
5654 IS
5655 --Fix bug 6974062(7442071,7001285)
5656 CURSOR C_msii_processed_records
5657 IS
5658 SELECT distinct msii.inventory_item_id
5659 FROM MTL_SYSTEM_ITEMS_INTERFACE msii
5660 WHERE
5661 ( set_process_id = xset_id OR
5662 set_process_id = xset_id + 1000000000000 )
5663 AND transaction_type IN ('UPDATE', 'AUTO_CHILD')
5664 AND process_flag = 4;
5665
5666 CURSOR C_msii_processed_records_dup
5667 IS
5668 SELECT distinct msii.inventory_item_id, organization_id, item_number
5669 FROM MTL_SYSTEM_ITEMS_INTERFACE msii
5670 WHERE
5671 ( set_process_id = xset_id OR
5672 set_process_id = xset_id + 1000000000000 )
5673 AND transaction_type IN ('UPDATE', 'AUTO_CHILD')
5674 AND process_flag = 4;
5675
5676 --2808277 : Revision update support
5677 CURSOR C_rev_processed_records
5678 IS
5679 SELECT rev.*, rev.rowid
5680 FROM mtl_item_revisions_interface rev
5681 WHERE( rev.set_process_id = xset_id
5682 OR rev.set_process_id = xset_id + 1000000000000 )
5683 AND rev.transaction_type = 'UPDATE'
5684 AND rev.process_flag = 4;
5685 --2808277 : Revision update support
5686
5687 -- Bug 5190184
5688 CURSOR UOM_Process IS
5689 SELECT
5690 msii.inventory_item_id INV_ITEM_ID
5691 , msii.primary_uom_code PUOMCODE
5692 , muom.unit_of_measure PUOM
5693 , muom.base_uom_flag
5694 , muom.uom_class UOMCL
5695 FROM
5696 mtl_units_of_measure_vl muom
5697 , mtl_system_items_interface msii
5698 WHERE
5699 msii.process_flag = 4
5700 AND msii.allowed_units_lookup_code = 1
5701 AND(msii.set_process_id = xset_id OR
5702 msii.set_process_id = xset_id + 1000000000000)
5703 AND muom.uom_code = msii.primary_uom_code
5704 AND NOT EXISTS
5705 ( select 'x'
5706 from mtl_uom_conversions
5707 where inventory_item_id = msii.inventory_item_id
5708 and uom_code = msii.primary_uom_code
5709 );
5710
5711 CURSOR c_ego_intf_rows
5712 IS
5713 SELECT msii.transaction_id,
5714 tl.language,
5715 tl.column_value,
5716 msii.inventory_item_id,
5717 msii.organization_id
5718 FROM mtl_system_items_interface msii,
5719 ego_interface_tl tl,
5720 mtl_system_items item
5721 WHERE item.inventory_item_id = msii.inventory_item_id
5722 AND item.organization_id = msii.organization_id
5723 AND msii.transaction_type in ('UPDATE','AUTO_CHILD')
5724 AND msii.process_flag = 4
5725 AND (msii.set_process_id = xset_id or msii.set_process_id = xset_id + 1000000000000)
5726 AND tl.unique_id = msii.transaction_id
5727 AND tl.set_process_id = msii.set_process_id
5728 AND UPPER(tl.table_name) = 'MTL_SYSTEM_ITEMS_INTERFACE'
5729 AND UPPER(tl.column_name) = 'DESCRIPTION'
5730 AND tl.language IN (SELECT l.language_code FROM fnd_languages l
5731 WHERE l.installed_flag IN ('I', 'B'));
5732
5733 CURSOR is_gdsn_batch(cp_xset_id NUMBER) IS
5734 SELECT 1 FROM ego_import_option_sets
5735 WHERE batch_id = cp_xset_id
5736 AND enabled_for_data_pool = 'Y';
5737
5738 CURSOR get_organization_code (cp_org_id VARCHAR2) IS
5739 SELECT name
5740 FROM hr_organization_units
5741 WHERE organization_id = cp_org_id;
5742
5743 -- Start fix for bug 7017691(7435552,7147893) Issue #2 Replacing COUNT(*) with CURSOR
5744 CURSOR c_duplicate_check(p_set_id NUMBER, p_inventory_item_id NUMBER,
5745 p_organization_id NUMBER) IS
5746 SELECT 1
5747 FROM MTL_SYSTEM_ITEMS_INTERFACE
5748 WHERE inventory_item_id = p_inventory_item_id
5749 AND organization_id = p_organization_id
5750 AND process_flag = 4
5751 AND set_process_id = p_set_id
5752 AND transaction_type IN ('UPDATE', 'AUTO_CHILD');
5753 -- End fix for bug 7017691 Issue #2
5754
5755 -- Start fix for bug 7017691(7435552,7147893) Issue #3 Move out of the
5756 -- C_msii_processed_records loop
5757 CURSOR c_item_number_updated
5758 IS
5759 SELECT msik.inventory_item_id,
5760 msii.segment1,msii.segment2,msii.segment3,msii.segment4,msii.segment5,
5761 msii.segment6,msii.segment7,msii.segment8,msii.segment9,msii.segment10,
5762 msii.segment11,msii.segment12,msii.segment13,msii.segment14,msii.segment15,
5763 msii.segment16,msii.segment17,msii.segment18,msii.segment19,msii.segment20
5764 FROM mtl_system_items_b_kfv msik,
5765 mtl_system_items_interface msii,
5766 mtl_parameters mp
5767 WHERE msii.set_process_id = xset_id
5768 AND msii.transaction_type = 'UPDATE'
5769 AND msii.process_flag = 4
5770 AND msii.organization_id = mp.master_organization_id
5771 AND mp.organization_id = mp.master_organization_id
5772 AND msii.inventory_item_id = msik.inventory_item_id
5773 AND msii.organization_id = msik.organization_id
5774 AND msii.item_number <> msik.concatenated_segments
5775 AND msik.concatenated_segments IS NOT NULL;
5776 -- End fix for bug 7017691 Issue #3
5777
5778 TYPE transaction_type IS TABLE OF mtl_system_items_interface.transaction_id%TYPE
5779 INDEX BY BINARY_INTEGER;
5780 /* bug 10064010 as no case of delete will be there in update case
5781 --serial_tagging enh -- bug 9913552
5782
5783 CURSOR serial_tag_del IS
5784 SELECT inventory_item_id,organization_id
5785 FROM MTL_SYSTEM_ITEMS_INTERFACE
5786 where process_flag <> 4
5787 and transaction_type in ('UPDATE','AUTO_CHILD')
5788 and (set_process_id = xset_id or set_process_id = xset_id + 1000000000000);
5789 */
5790 -- added this to copy assignment for successfull records and having template id
5791
5792 /* Fix for bug 11654417 - In the below cursor, modified the
5793 filter on template_id to exclude both -1 and FND_API.G_MISS_NUM */
5794 CURSOR copy_assignment_frm_temp IS
5795 SELECT inventory_item_id,organization_id,template_id
5796 FROM MTL_SYSTEM_ITEMS_INTERFACE
5797 where process_flag =4
5798 and transaction_type in ('UPDATE','AUTO_CHILD')
5799 AND template_id IS NOT NULL
5800 AND template_id NOT IN (-1,FND_API.G_MISS_NUM)
5801 and (set_process_id = xset_id or set_process_id = xset_id + 1000000000000);
5802
5803 x_ret_sts VARCHAR(1);
5804
5805 --bug 10065810
5806 l_temp_org_id number;
5807
5808 transaction_table transaction_type;
5809
5810 l_sysdate date := SYSDATE;
5811 l_transaction_type varchar2(10) := 'UPDATE';
5812 l_last_updated_by number;
5813 l_created_by number;
5814 l_default_conversion_flag varchar2(1);
5815 conversion_rate_temp NUMBER;
5816 temp_rowid rowid;
5817 temp_status_code varchar2(50);
5818 dumm_status number;
5819 err_text varchar2(250);
5820 l_INSTALLED_FLAG VARCHAR2(1);
5821
5822 l_return_status VARCHAR2(1);
5823 l_msg_text VARCHAR2(2000);
5824 l_cst_item_type NUMBER;
5825
5826 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
5827 l_is_gdsn_batch NUMBER;
5828 org_name VARCHAR2(1000);
5829 error_msg VARCHAR2(1000);
5830 ext_flag NUMBER := 0;
5831
5832 l_dummy NUMBER; --7017691
5833
5834 -- Bug 12669090 : Start
5835 l_co_control_level NUMBER;
5836 l_io_control_level NUMBER;
5837 -- Bug 12669090 : End
5838 BEGIN
5839 -- calling UCCnet attribute updates
5840 -- added by Devendra for UCCnet functionality (11.5.10+)
5841 INV_EGO_REVISION_VALIDATE.Process_UCCnet_Attributes(
5842 P_Prog_AppId => prg_appid
5843 ,P_Prog_Id => prg_id
5844 ,P_Request_Id => req_id
5845 ,P_User_Id => user_id
5846 ,P_Login_Id => login_id
5847 ,P_Set_id => xset_id);
5848 -- added by Devendra for UCCnet functionality (11.5.10+)
5849
5850 -- Start 3637854 : Pending ECO check and sync lifecycles
5851 INV_EGO_REVISION_VALIDATE.Pending_Eco_Check_Sync_Ids(
5852 P_Prog_AppId => prg_appid
5853 ,P_Prog_Id => prg_id
5854 ,P_Request_Id => req_id
5855 ,P_User_Id => user_id
5856 ,P_Login_Id => login_id
5857 ,P_Set_id => xset_id);
5858 -- End 3637854 : Pending ECO check and sync lifecycles
5859
5860 IF l_inv_debug_level IN(101, 102) THEN
5861 INVPUTLI.info('INVUPD2B.inproit_process_item_update : begin');
5862 END IF;
5863
5864 -- Identify the current session language as Base ('B') or Installed ('I')
5865 --
5866 select INSTALLED_FLAG
5867 into l_INSTALLED_FLAG
5868 from FND_LANGUAGES
5869 where LANGUAGE_CODE = userenv('LANG');
5870
5871 -- Start fix for bug 7017691(7435552,7147893) Issue #1
5872 l_is_gdsn_batch := 0;
5873 OPEN is_gdsn_batch(xset_id);
5874 FETCH is_gdsn_batch INTO l_is_gdsn_batch;
5875 CLOSE is_gdsn_batch;
5876 -- Start fix for bug 7017691 Issue #1
5877
5878 FOR item_rec IN C_msii_processed_records_dup LOOP
5879 ext_flag := 0;
5880
5881 --Performing duplicate check validation for GDSN batches
5882 IF l_is_gdsn_batch = 1 THEN
5883 -- Start Fix for bug 7017691(7435552,7147893) Issue #2 Replacing
5884 -- COUNT(*) with CURSOR
5885 OPEN c_duplicate_check(xset_id, item_rec.inventory_item_id,
5886 item_rec.organization_id);
5887 FETCH c_duplicate_check INTO l_dummy;
5888
5889 IF c_duplicate_check%FOUND THEN
5890 FETCH c_duplicate_check INTO l_dummy;
5891 IF c_duplicate_check%FOUND THEN
5892 ext_flag := 2;
5893 END IF;
5894 END IF;
5895
5896 CLOSE c_duplicate_check;
5897 -- End Fix for bug 7017691 Issue #2
5898
5899 IF ext_flag > 1 THEN
5900 UPDATE MTL_SYSTEM_ITEMS_INTERFACE
5901 SET process_flag = 3
5902 WHERE inventory_item_id = item_rec.inventory_item_id
5903 AND organization_id = item_rec.organization_id
5904 AND process_flag = 4
5905 AND set_process_id = xset_id
5906 AND transaction_type IN ('UPDATE', 'AUTO_CHILD')
5907 RETURNING transaction_id BULK COLLECT INTO transaction_table;
5908
5909 OPEN get_organization_code(item_rec.organization_id);
5910 FETCH get_organization_code Into org_name;
5911 CLOSE get_organization_code;
5912
5913 FND_MESSAGE.SET_NAME ('INV', 'INV_IOI_DUPLICATE_REC_MSII');
5914 FND_MESSAGE.SET_TOKEN ('ITEM_NUMBER', item_rec.item_number);
5915 FND_MESSAGE.SET_TOKEN ('ORGANIZATION', org_name);
5916 error_msg := FND_MESSAGE.GET;
5917
5918 IF transaction_table.COUNT > 0 THEN
5919 FOR j IN transaction_table.FIRST .. transaction_table.LAST LOOP
5920 dumm_status := INVPUOPI.mtl_log_interface_err(
5921 item_rec.organization_id,
5922 user_id,
5923 login_id,
5924 prg_appid,
5925 prg_id,
5926 req_id,
5927 transaction_table(j),
5928 error_msg,
5929 'INVENTORY_ITEM_ID',
5930 'MTL_SYSTEM_ITEMS_INTERFACE',
5931 'INV_IOI_ERR_DPLC_REC_MSII_03', --bug 11894684, replace INV_IOI_ERR
5932 err_text);
5933 END LOOP;
5934 END IF;
5935 END IF;
5936 END IF;
5937 END LOOP;
5938 /* bug 10064010
5939 -- serial_Tagging enh -- bug 9913552
5940 FOR I IN serial_tag_del LOOP
5941 inv_serial_number_pub.delete_serial_tag_assignments(
5942 p_inventory_item_id=> i.inventory_item_id,
5943 p_organization_id=>i.organization_id,
5944 x_return_status=>x_ret_sts);
5945 END LOOP;
5946 */
5947
5948 FOR I IN copy_assignment_frm_temp LOOP
5949 -- bug 10065810
5950 begin
5951 SELECT CONTEXT_ORGANIZATION_ID into l_temp_org_id
5952 FROM mtl_item_templates
5953 WHERE template_id=i.template_id;
5954 end;
5955
5956 IF (INV_SERIAL_NUMBER_PUB.is_serial_tagged(p_template_id => i.template_id
5957 -- bug 10065810
5958 , p_organization_id => l_temp_org_id
5959 )=2) THEN
5960 INV_SERIAL_NUMBER_PUB.copy_serial_tag_assignments(
5961 p_from_template_id => i.template_id,
5962 -- bug 10065810
5963 p_from_org_id => l_temp_org_id,
5964 p_to_item_id => i.inventory_item_id,
5965 p_to_org_id => i.organization_id,
5966 x_return_status => x_ret_sts);
5967
5968
5969 END IF ;
5970 END LOOP;
5971
5972
5973
5974 FOR item_rec IN C_msii_processed_records LOOP
5975
5976 /* All updates and inserts that happen for a given Item to production tables
5977 must ALL occur or NONE must occur. Also ALL Master-Child updates must happen
5978 or NONE. Therefore defining a cursor that tries to lock all required
5979 records before proceeding.
5980 */
5981
5982 DECLARE
5983
5984 CURSOR C_lock_msi_records
5985 IS
5986 select /*+ first_rows index(MSII, MTL_SYSTEM_ITEMS_INTERFACE_N1) */
5987 msi.ROWID msi_rowid,
5988 msi.inventory_item_status_code msi_status_code,
5989 msi.lifecycle_id msi_lifecycle_id,
5990 msi.current_phase_id msi_current_phase_id,
5991 msi.item_catalog_group_id msi_catalog_group_id,
5992 msi.INVENTORY_ITEM_FLAG inv_item_flag,
5993 msi.PURCHASING_ITEM_FLAG purchasing_flag,
5994 msi.INTERNAL_ORDER_FLAG int_order_flag,
5995 msi.MRP_PLANNING_CODE planning_code,
5996 msi.SERVICE_ITEM_FLAG serv_item_flag,
5997 msi.CUSTOMER_ORDER_FLAG cust_ord_flag,
5998 msi.COSTING_ENABLED_FLAG cost_flag,
5999 msi.ENG_ITEM_FLAG eng_flag,
6000 /* Adding GDSN Changes - R12 FPC */
6001 msi.GDSN_OUTBOUND_ENABLED_FLAG gdsn_flag,
6002 msi.EAM_ITEM_TYPE eam_type,
6003 msi.CONTRACT_ITEM_TYPE_CODE contract_type,
6004 msi.INVENTORY_ASSET_FLAG inv_asset_flag,--Bug:3899614
6005 msi.OBJECT_VERSION_NUMBER obj_ver_num,
6006 msii.ROWID msii_rowid, msii.*
6007 from MTL_SYSTEM_ITEMS_B msi, MTL_SYSTEM_ITEMS_INTERFACE msii
6008 where item_rec.inventory_item_id = msii.inventory_item_id
6009 and item_rec.inventory_item_id = msi.inventory_item_id
6010 and msii.transaction_type in ('UPDATE','AUTO_CHILD')
6011 and msi.organization_id = msii.organization_id
6012 and msii.process_flag = 4
6013 and (msii.set_process_id = xset_id or msii.set_process_id = xset_id + 1000000000000)
6014 for update of msi.inventory_item_id nowait;
6015
6016 resource_busy EXCEPTION;
6017 -- Bug 5997870
6018 obj_version_error EXCEPTION;
6019 PRAGMA EXCEPTION_INIT (resource_busy, -54);
6020
6021 -- 2810346: Lock failed record details into log
6022 l_org_id mtl_system_items_interface.organization_id%TYPE;
6023 l_transaction_id mtl_system_items_interface.transaction_id%TYPE;
6024
6025 l_target_lc_id mtl_system_items_b.lifecycle_id%TYPE;
6026
6027 BEGIN
6028 SAVEPOINT before_lock; -- Bug 5997870
6029 FOR rec IN C_lock_msi_records LOOP
6030
6031 ---------- Coding changes for bug 5870114 starts------------
6032 -- If the current inventory item id and organization id matches with that set
6033 IF(obj_ver_rec.inventory_item_id IS NOT NULL AND
6034 obj_ver_rec.org_id IS NOT NULL) THEN -- Check 1 some value is set..
6035 IF(rec.inventory_item_id = obj_ver_rec.inventory_item_id AND
6036 rec.organization_id = obj_ver_rec.org_id) THEN -- Check 2 , item id and org id matches
6037 IF( Nvl(rec.obj_ver_num,1) <> Nvl(obj_ver_rec.Object_Version_Number,1)) THEN -- Check 3, object version no. is not same...
6038 --Clear the values so that it does not persist to another call..
6039 obj_ver_rec.inventory_item_id := NULL;
6040 obj_ver_rec.org_id := NULL;
6041 obj_ver_rec.Object_Version_Number := NULL;
6042
6043 ROLLBACK TO before_lock; --Rollback and throw the error.
6044 RAISE obj_version_error;
6045 END IF;
6046 END IF;
6047 END IF;
6048 --Clear the values so that it does not persist to another call..
6049 obj_ver_rec.inventory_item_id := NULL;
6050 obj_ver_rec.org_id := NULL;
6051 obj_ver_rec.Object_Version_Number := NULL;
6052
6053 ---------- Coding changes for bug 5870114 ends------------
6054
6055 /* Bug 2665114
6056 Add following condition to avoid performance issue */
6057
6058 IF (rec.inv_item_flag <> rec.INVENTORY_ITEM_FLAG ) or
6059 (rec.purchasing_flag <> rec.PURCHASING_ITEM_FLAG) or
6060 (rec.int_order_flag <> rec.INTERNAL_ORDER_FLAG) or
6061 (rec.planning_code <> rec.MRP_PLANNING_CODE ) or
6062 (rec.serv_item_flag <> rec.SERVICE_ITEM_FLAG) or
6063 (rec.cust_ord_flag <> rec.CUSTOMER_ORDER_FLAG) or
6064 (rec.cost_flag <> rec.COSTING_ENABLED_FLAG) or
6065 (rec.eng_flag <> rec.ENG_ITEM_FLAG) or
6066 (rec.eam_type <> rec.EAM_ITEM_TYPE) or
6067 ((rec.gdsn_flag <> rec.GDSN_OUTBOUND_ENABLED_FLAG) AND
6068 (NVL(INV_EGO_REVISION_VALIDATE.Get_Process_Control(),'X')<> 'PLM_UI:Y') ) or
6069 (rec.contract_type <> rec.CONTRACT_ITEM_TYPE_CODE) then
6070
6071 IF l_inv_debug_level IN(101, 102) THEN
6072 INVPUTLI.info('INVUPD2B: inserting the item category assignments for default category sets ');
6073 END IF;
6074
6075 -- Creating item category assignments for the default category sets
6076 -- for the functional areas having the defining attribute enabled.
6077
6078 insert into mtl_item_categories
6079 (
6080 inventory_item_id,
6081 category_set_id,
6082 category_id,
6083 last_update_date,
6084 last_updated_by,
6085 creation_date,
6086 created_by,
6087 last_update_login,
6088 program_application_id,
6089 program_id,
6090 program_update_date,
6091 request_id,
6092 organization_id
6093 )
6094 select
6095 rec.inventory_item_id,
6096 s.category_set_id,
6097 s.default_category_id,
6098 sysdate,
6099 -1,
6100 sysdate,
6101 -1,
6102 -1,
6103 -1,
6104 -1,
6105 sysdate,
6106 -1,
6107 rec.organization_id
6108 from mtl_category_sets s
6109 where s.category_set_id in
6110 ( select d.category_set_id
6111 from mtl_default_category_sets d
6112 where (d.functional_area_id =
6113 decode(rec.INVENTORY_ITEM_FLAG,'Y',1,0)
6114 or d.functional_area_id =
6115 decode(rec.PURCHASING_ITEM_FLAG,'Y',2,0)
6116 or d.functional_area_id =
6117 decode(rec.INTERNAL_ORDER_FLAG,'Y',2,0)
6118 or d.functional_area_id =
6119 decode(rec.MRP_PLANNING_CODE,6,0,3)
6120 or d.functional_area_id =
6121 decode(rec.SERVICE_ITEM_FLAG,'Y',4,0)
6122 or d.functional_area_id =
6123 decode(rec.CUSTOMER_ORDER_FLAG,'Y',7,0)
6124 or d.functional_area_id =
6125 decode(rec.COSTING_ENABLED_FLAG,'Y',5,0)
6126 or d.functional_area_id =
6127 decode(rec.ENG_ITEM_FLAG,'Y',6,0)
6128 /* Default vategory Assignment for GDSN Syndicated Items - R12 FPC */
6129 or d.functional_area_id =
6130 decode(rec.GDSN_OUTBOUND_ENABLED_FLAG, 'Y', 12,0)
6131 or d.functional_area_id =
6132 decode( NVL(rec.EAM_ITEM_TYPE, 0), 0, 0, 9 )
6133 or d.functional_area_id =
6134 decode( rec.CONTRACT_ITEM_TYPE_CODE,
6135 'SERVICE' , 10,
6136 'WARRANTY' , 10,
6137 'SUBSCRIPTION' , 10,
6138 'USAGE' , 10, 0 )
6139 -- These Contract Item types also imply an item belonging to the Service functional area
6140 or d.functional_area_id =
6141 decode( rec.CONTRACT_ITEM_TYPE_CODE,
6142 'SERVICE' , 4,
6143 'WARRANTY' , 4, 0 )
6144 )
6145 )
6146 and not exists
6147 ( select 'already_exists'
6148 from mtl_item_categories mic
6149 where mic.inventory_item_id = rec.inventory_item_id
6150 and mic.organization_id = rec.organization_id
6151 and mic.category_set_id = s.category_set_id
6152 );
6153
6154
6155 END IF; --- Bug 2665114
6156
6157 -- 2433351,new functional area Product Reporting Looping through all the Orgs
6158 IF ( rec.transaction_type = 'UPDATE') THEN
6159 -- Bug 12669090 : Start : Similar to the code change done in the bug 9833451 (12.1)
6160 select count(1) into l_co_control_level
6161 from mtl_item_attributes
6162 WHERE attribute_name = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_FLAG'
6163 and control_level = 1
6164 and rec.CUSTOMER_ORDER_FLAG = 'Y';
6165
6166 select count(1) into l_io_control_level
6167 from mtl_item_attributes
6168 WHERE attribute_name = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_FLAG'
6169 and control_level = 1
6170 and rec.INTERNAL_ORDER_FLAG = 'Y';
6171
6172 IF (l_co_control_level = 1 OR l_io_control_level = 1) THEN
6173 /*Inserts for all the child Orgs if either IO or CO is master controlled and their value is 'Y'*/
6174 /*Modified for Bug 9833451 */
6175 /*Inserts for all the child Orgs if either IO or CO is master controlled and their value is 'Y'*/
6176 insert into mtl_item_categories
6177 (
6178 inventory_item_id,
6179 category_set_id,
6180 category_id,
6181 last_update_date,
6182 last_updated_by,
6183 creation_date,
6184 created_by,
6185 last_update_login,
6186 program_application_id,
6187 program_id,
6188 program_update_date,
6189 request_id,
6190 organization_id
6191 )
6192 select
6193 rec.inventory_item_id,
6194 s.category_set_id,
6195 s.default_category_id,
6196 sysdate,
6197 -1,
6198 sysdate,
6199 -1,
6200 -1,
6201 -1,
6202 -1,
6203 sysdate,
6204 -1,
6205 mp.organization_id
6206 from mtl_category_sets s,
6207 mtl_parameters mp
6208 where mp.master_organization_id = (select master_organization_id
6209 FROM mtl_parameters m
6210 where m.organization_id = rec.organization_id)
6211 and mp.organization_id <> mp.master_organization_id
6212 and s.default_category_id IS NOT NULL --Bug: 2801594
6213 and s.category_set_id in
6214 ( select d.category_set_id
6215 from mtl_default_category_sets d
6216 where d.functional_area_id =
6217 decode( rec.INTERNAL_ORDER_FLAG, 'Y', 11, 0 )
6218 or d.functional_area_id =
6219 decode( rec.CUSTOMER_ORDER_FLAG, 'Y', 11, 0 )
6220 )
6221 and EXISTS
6222 ( SELECT 'x'
6223 FROM mtl_system_items_b i
6224 WHERE i.inventory_item_id = rec.inventory_item_id
6225 AND i.organization_id = mp.organization_id
6226 )
6227 -- Check if the item already has any category assignment
6228 and not exists
6229 ( select 'already_exists'
6230 from mtl_item_categories mic
6231 where mic.inventory_item_id = rec.inventory_item_id
6232 --Bug 4089984. Modified following 'and' condition to
6233 -- pick up rows from mtl_parameters table
6234 and mic.organization_id = mp.organization_id
6235 and mic.category_set_id = s.category_set_id
6236 )
6237 and (exists
6238 (select 'co_mst_controlled'
6239 from mtl_item_attributes
6240 WHERE attribute_name = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_FLAG'
6241 and control_level = 1
6242 and rec.CUSTOMER_ORDER_FLAG = 'Y')
6243 or exists
6244 (select 'io_mst_controlled'
6245 from mtl_item_attributes
6246 WHERE attribute_name = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_FLAG'
6247 and control_level = 1
6248 and rec.INTERNAL_ORDER_FLAG = 'Y')
6249 );
6250 END IF;
6251 /*Inserts for specific orgs including master orgs*/
6252 insert into mtl_item_categories
6253 (
6254 inventory_item_id,
6255 category_set_id,
6256 category_id,
6257 last_update_date,
6258 last_updated_by,
6259 creation_date,
6260 created_by,
6261 last_update_login,
6262 program_application_id,
6263 program_id,
6264 program_update_date,
6265 request_id,
6266 organization_id
6267 )
6268 select
6269 rec.inventory_item_id,
6270 s.category_set_id,
6271 s.default_category_id,
6272 sysdate,
6273 -1,
6274 sysdate,
6275 -1,
6276 -1,
6277 -1,
6278 -1,
6279 sysdate,
6280 -1,
6281 rec.organization_id
6282 from mtl_category_sets s
6283 where s.default_category_id IS NOT NULL --Bug: 2801594
6284 and s.category_set_id in
6285 ( select d.category_set_id
6286 from mtl_default_category_sets d
6287 where d.functional_area_id =
6288 decode( rec.INTERNAL_ORDER_FLAG, 'Y', 11, 0 )
6289 or d.functional_area_id =
6290 decode( rec.CUSTOMER_ORDER_FLAG, 'Y', 11, 0 )
6291 )
6292 and EXISTS
6293 ( SELECT 'x'
6294 FROM mtl_system_items_b i
6295 WHERE i.inventory_item_id = rec.inventory_item_id
6296 AND i.organization_id = rec.organization_id
6297 )
6298 -- Check if the item already has any category assignment
6299 and not exists
6300 ( select 'already_exists'
6301 from mtl_item_categories mic
6302 where mic.inventory_item_id = rec.inventory_item_id
6303 --Bug 4089984. Modified following 'and' condition to
6304 -- pick up rows from mtl_parameters table
6305 and mic.organization_id = rec.organization_id
6306 and mic.category_set_id = s.category_set_id
6307 );
6308 /*end of bug 9833451*/
6309
6310 END IF;
6311
6312
6313
6314 IF ( nvl(rec.msi_catalog_group_id,-999) <> nvl(rec.item_catalog_group_id,-999) ) THEN
6315
6316 delete from mtl_descr_element_values
6317 where
6318 inventory_item_id = rec.inventory_item_id
6319 and rec.item_catalog_group_id is not null
6320 and exists
6321 ( select 'x'
6322 from mtl_parameters MP
6323 where MP.organization_id = rec.organization_id
6324 and MP.master_organization_id = rec.organization_id
6325 );
6326
6327 insert into MTL_DESCR_ELEMENT_VALUES
6328 (
6329 inventory_item_id,
6330 element_name,
6331 default_element_flag,
6332 last_update_date,
6333 last_updated_by,
6334 creation_date,
6335 created_by,
6336 last_update_login,
6337 request_id,
6338 program_application_id,
6339 program_id,
6340 program_update_date,
6341 element_sequence
6342 )
6343 select
6344 rec.inventory_item_id,
6345 MDE.ELEMENT_NAME,
6346 MDE.default_element_flag,
6347 l_sysdate,
6348 user_id, /* last_updated_by */
6349 l_sysdate,
6350 user_id, /* created_by */
6351 login_id, /* last_update_login */
6352 req_id,
6353 prg_appid,
6354 prg_id,
6355 l_sysdate,
6356 MDE.ELEMENT_SEQUENCE
6357 from
6358 mtl_descriptive_elements MDE
6359 , mtl_parameters MP
6360 where
6361 rec.organization_id = MP.master_organization_id
6362 and rec.organization_id = MP.organization_id
6363 and MDE.item_catalog_group_id = nvl(rec.item_catalog_group_id,-999);
6364
6365 END IF;
6366 --Bug:4132663 Not inserting if call from PLM UI
6367 IF (NVL(INV_EGO_REVISION_VALIDATE.Get_Process_Control(),'X')<> 'PLM_UI:Y' AND
6368 (( rec.msi_status_code <> rec.inventory_item_status_code )
6369 OR (NVL(rec.msi_lifecycle_id,1) <> NVL(rec.lifecycle_id,NVL(rec.msi_lifecycle_id,1)))
6370 OR (NVL(rec.msi_current_phase_id,1) <> NVL(rec.current_phase_id,NVL(rec.msi_current_phase_id,1)))))
6371 THEN
6372 insert into mtl_pending_item_status
6373 ( INVENTORY_ITEM_ID,
6374 ORGANIZATION_ID,
6375 STATUS_CODE,
6376 LIFECYCLE_ID,
6377 PHASE_ID,
6378 EFFECTIVE_DATE,
6379 IMPLEMENTED_DATE,
6380 PENDING_FLAG,
6381 LAST_UPDATE_DATE,
6382 LAST_UPDATED_BY,
6383 CREATION_DATE,
6384 CREATED_BY
6385 )
6386 values
6387 ( rec.inventory_item_id,
6388 rec.organization_id,
6389 rec.inventory_item_status_code,
6390 rec.lifecycle_id,
6391 rec.current_phase_id,
6392 l_sysdate,
6393 l_sysdate,
6394 'N',
6395 l_sysdate,
6396 user_id,
6397 l_sysdate,
6398 user_id
6399 );
6400
6401 END IF;
6402
6403 -- Bug #14232952, clear dependent field automatically if LOT CONTROL is NO CONTROL
6404 IF rec.LOT_CONTROL_CODE = 1 THEN
6405 rec.LOT_SUBSTITUTION_ENABLED := NULL;
6406 rec.DEFAULT_LOT_STATUS_ID := NULL;
6407 rec.LOT_STATUS_ENABLED := NULL;
6408 rec.LOT_DIVISIBLE_FLAG := NULL;
6409 END IF;
6410
6411 -- Bug #14272507, clear dependent field automatically if source_type is either null or Supplier(2).
6412 IF (rec.source_type is null) or (rec.source_type = 2) THEN
6413 rec.source_organization_id := null;
6414 rec.source_subinventory := null;
6415 END IF;
6416
6417 -- Bug #4649530, clear dependent field automatically if LOT CONTROL is NO CONTROL
6418 IF rec.LOT_CONTROL_CODE = 1 THEN
6419 rec.SHELF_LIFE_CODE := 1;
6420 rec.SHELF_LIFE_DAYS := 0;
6421 END IF;
6422
6423 IF rec.SHELF_LIFE_CODE = 1 or rec.SHELF_LIFE_CODE is null THEN
6424 rec.SHELF_LIFE_DAYS := 0;
6425 END IF;
6426
6427 -- bug 10373720 , set last_update_date = sysdate
6428 -- old Modified l_sysdate => Nvl(rec.LAST_UPDATE_DATE,l_sysdate) for Bug - 3313863
6429 UPDATE MTL_SYSTEM_ITEMS_B MTLSYSI
6430 SET
6431 LAST_UPDATE_DATE = l_sysdate,
6432 LAST_UPDATED_BY = user_id,
6433 LAST_UPDATE_LOGIN = login_id,
6434 SUMMARY_FLAG = rec.SUMMARY_FLAG,
6435 ENABLED_FLAG = rec.ENABLED_FLAG,
6436 -- START_DATE_ACTIVE = rec.START_DATE_ACTIVE, Commented for Bug: 4457440
6437 -- END_DATE_ACTIVE = rec.END_DATE_ACTIVE, Commented for Bug: 4457440
6438 DESCRIPTION = decode(l_INSTALLED_FLAG, 'B', rec.DESCRIPTION, DESCRIPTION),
6439 BUYER_ID = rec.BUYER_ID,
6440 ACCOUNTING_RULE_ID = rec.ACCOUNTING_RULE_ID,
6441 INVOICING_RULE_ID = rec.INVOICING_RULE_ID,
6442 ATTRIBUTE1 = rec.ATTRIBUTE1,
6443 ATTRIBUTE2 = rec.ATTRIBUTE2,
6444 ATTRIBUTE3 = rec.ATTRIBUTE3,
6445 ATTRIBUTE4 = rec.ATTRIBUTE4,
6446 ATTRIBUTE5 = rec.ATTRIBUTE5,
6447 ATTRIBUTE6 = rec.ATTRIBUTE6,
6448 ATTRIBUTE7 = rec.ATTRIBUTE7,
6449 ATTRIBUTE8 = rec.ATTRIBUTE8,
6450 ATTRIBUTE9 = rec.ATTRIBUTE9,
6451 ATTRIBUTE10 = rec.ATTRIBUTE10,
6452 ATTRIBUTE11 = rec.ATTRIBUTE11,
6453 ATTRIBUTE12 = rec.ATTRIBUTE12,
6454 ATTRIBUTE13 = rec.ATTRIBUTE13,
6455 ATTRIBUTE14 = rec.ATTRIBUTE14,
6456 ATTRIBUTE15 = rec.ATTRIBUTE15,
6457 /* Start Bug 3713912 */
6458 ATTRIBUTE16 = rec.ATTRIBUTE16,
6459 ATTRIBUTE17 = rec.ATTRIBUTE17,
6460 ATTRIBUTE18 = rec.ATTRIBUTE18,
6461 ATTRIBUTE19 = rec.ATTRIBUTE19,
6462 ATTRIBUTE20 = rec.ATTRIBUTE20,
6463 ATTRIBUTE21 = rec.ATTRIBUTE21,
6464 ATTRIBUTE22 = rec.ATTRIBUTE22,
6465 ATTRIBUTE23 = rec.ATTRIBUTE23,
6466 ATTRIBUTE24 = rec.ATTRIBUTE24,
6467 ATTRIBUTE25 = rec.ATTRIBUTE25,
6468 ATTRIBUTE26 = rec.ATTRIBUTE26,
6469 ATTRIBUTE27 = rec.ATTRIBUTE27,
6470 ATTRIBUTE28 = rec.ATTRIBUTE28,
6471 ATTRIBUTE29 = rec.ATTRIBUTE29,
6472 ATTRIBUTE30 = rec.ATTRIBUTE30,
6473 /* End Bug 3713912 */
6474 ATTRIBUTE_CATEGORY = rec.ATTRIBUTE_CATEGORY,
6475 GLOBAL_ATTRIBUTE_CATEGORY = rec.GLOBAL_ATTRIBUTE_CATEGORY,
6476 GLOBAL_ATTRIBUTE1 = rec.GLOBAL_ATTRIBUTE1,
6477 GLOBAL_ATTRIBUTE2 = rec.GLOBAL_ATTRIBUTE2,
6478 GLOBAL_ATTRIBUTE3 = rec.GLOBAL_ATTRIBUTE3,
6479 GLOBAL_ATTRIBUTE4 = rec.GLOBAL_ATTRIBUTE4,
6480 GLOBAL_ATTRIBUTE5 = rec.GLOBAL_ATTRIBUTE5,
6481 GLOBAL_ATTRIBUTE6 = rec.GLOBAL_ATTRIBUTE6,
6482 GLOBAL_ATTRIBUTE7 = rec.GLOBAL_ATTRIBUTE7,
6483 GLOBAL_ATTRIBUTE8 = rec.GLOBAL_ATTRIBUTE8,
6484 GLOBAL_ATTRIBUTE9 = rec.GLOBAL_ATTRIBUTE9,
6485 GLOBAL_ATTRIBUTE10 = rec.GLOBAL_ATTRIBUTE10,
6486 GLOBAL_ATTRIBUTE11 = rec.GLOBAL_ATTRIBUTE11,
6487 GLOBAL_ATTRIBUTE12 = rec.GLOBAL_ATTRIBUTE12,
6488 GLOBAL_ATTRIBUTE13 = rec.GLOBAL_ATTRIBUTE13,
6489 GLOBAL_ATTRIBUTE14 = rec.GLOBAL_ATTRIBUTE14,
6490 GLOBAL_ATTRIBUTE15 = rec.GLOBAL_ATTRIBUTE15,
6491 GLOBAL_ATTRIBUTE16 = rec.GLOBAL_ATTRIBUTE16,
6492 GLOBAL_ATTRIBUTE17 = rec.GLOBAL_ATTRIBUTE17,
6493 GLOBAL_ATTRIBUTE18 = rec.GLOBAL_ATTRIBUTE18,
6494 GLOBAL_ATTRIBUTE19 = rec.GLOBAL_ATTRIBUTE19,
6495 GLOBAL_ATTRIBUTE20 = rec.GLOBAL_ATTRIBUTE20,
6496 PURCHASING_ITEM_FLAG = rec.PURCHASING_ITEM_FLAG,
6497 SHIPPABLE_ITEM_FLAG = rec.SHIPPABLE_ITEM_FLAG,
6498 CUSTOMER_ORDER_FLAG = rec.CUSTOMER_ORDER_FLAG,
6499 INTERNAL_ORDER_FLAG = rec.INTERNAL_ORDER_FLAG,
6500 INVENTORY_ITEM_FLAG = rec.INVENTORY_ITEM_FLAG,
6501 ENG_ITEM_FLAG = rec.ENG_ITEM_FLAG,
6502 INVENTORY_ASSET_FLAG = rec.INVENTORY_ASSET_FLAG,
6503 PURCHASING_ENABLED_FLAG = rec.PURCHASING_ENABLED_FLAG,
6504 CUSTOMER_ORDER_ENABLED_FLAG = rec.CUSTOMER_ORDER_ENABLED_FLAG,
6505 INTERNAL_ORDER_ENABLED_FLAG = rec.INTERNAL_ORDER_ENABLED_FLAG,
6506 SO_TRANSACTIONS_FLAG = rec.SO_TRANSACTIONS_FLAG,
6507 MTL_TRANSACTIONS_ENABLED_FLAG = rec.MTL_TRANSACTIONS_ENABLED_FLAG,
6508 STOCK_ENABLED_FLAG = rec.STOCK_ENABLED_FLAG,
6509 BOM_ENABLED_FLAG = rec.BOM_ENABLED_FLAG,
6510 BUILD_IN_WIP_FLAG = rec.BUILD_IN_WIP_FLAG,
6511 REVISION_QTY_CONTROL_CODE = rec.REVISION_QTY_CONTROL_CODE,
6512 ITEM_CATALOG_GROUP_ID = rec.ITEM_CATALOG_GROUP_ID,
6513 CATALOG_STATUS_FLAG = rec.CATALOG_STATUS_FLAG,
6514 RETURNABLE_FLAG = rec.RETURNABLE_FLAG,
6515 DEFAULT_SHIPPING_ORG = rec.DEFAULT_SHIPPING_ORG,
6516 COLLATERAL_FLAG = rec.COLLATERAL_FLAG,
6517 TAXABLE_FLAG = rec.TAXABLE_FLAG,
6518 PURCHASING_TAX_CODE = rec.PURCHASING_TAX_CODE,
6519 ALLOW_ITEM_DESC_UPDATE_FLAG = rec.ALLOW_ITEM_DESC_UPDATE_FLAG,
6520 INSPECTION_REQUIRED_FLAG = rec.INSPECTION_REQUIRED_FLAG,
6521 RECEIPT_REQUIRED_FLAG = rec.RECEIPT_REQUIRED_FLAG,
6522 MARKET_PRICE = rec.MARKET_PRICE,
6523 HAZARD_CLASS_ID = rec.HAZARD_CLASS_ID,
6524 RFQ_REQUIRED_FLAG = rec.RFQ_REQUIRED_FLAG,
6525 QTY_RCV_TOLERANCE = rec.QTY_RCV_TOLERANCE,
6526 LIST_PRICE_PER_UNIT = rec.LIST_PRICE_PER_UNIT,
6527 UN_NUMBER_ID = rec.UN_NUMBER_ID,
6528 PRICE_TOLERANCE_PERCENT = rec.PRICE_TOLERANCE_PERCENT,
6529 ASSET_CATEGORY_ID = rec.ASSET_CATEGORY_ID,
6530 ROUNDING_FACTOR = rec.ROUNDING_FACTOR,
6531 UNIT_OF_ISSUE = rec.UNIT_OF_ISSUE,
6532 ENFORCE_SHIP_TO_LOCATION_CODE = rec.ENFORCE_SHIP_TO_LOCATION_CODE,
6533 ALLOW_SUBSTITUTE_RECEIPTS_FLAG = rec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG,
6534 ALLOW_UNORDERED_RECEIPTS_FLAG = rec.ALLOW_UNORDERED_RECEIPTS_FLAG,
6535 ALLOW_EXPRESS_DELIVERY_FLAG = rec.ALLOW_EXPRESS_DELIVERY_FLAG,
6536 DAYS_EARLY_RECEIPT_ALLOWED = rec.DAYS_EARLY_RECEIPT_ALLOWED,
6537 DAYS_LATE_RECEIPT_ALLOWED = rec.DAYS_LATE_RECEIPT_ALLOWED,
6538 RECEIPT_DAYS_EXCEPTION_CODE = rec.RECEIPT_DAYS_EXCEPTION_CODE,
6539 RECEIVING_ROUTING_ID = rec.RECEIVING_ROUTING_ID,
6540 INVOICE_CLOSE_TOLERANCE = rec.INVOICE_CLOSE_TOLERANCE,
6541 RECEIVE_CLOSE_TOLERANCE = rec.RECEIVE_CLOSE_TOLERANCE,
6542 AUTO_LOT_ALPHA_PREFIX = rec.AUTO_LOT_ALPHA_PREFIX,
6543 START_AUTO_LOT_NUMBER = rec.START_AUTO_LOT_NUMBER,
6544 LOT_CONTROL_CODE = rec.LOT_CONTROL_CODE,
6545 SHELF_LIFE_CODE = rec.SHELF_LIFE_CODE,
6546 SHELF_LIFE_DAYS = rec.SHELF_LIFE_DAYS,
6547 SERIAL_NUMBER_CONTROL_CODE = rec.SERIAL_NUMBER_CONTROL_CODE,
6548 START_AUTO_SERIAL_NUMBER = rec.START_AUTO_SERIAL_NUMBER,
6549 AUTO_SERIAL_ALPHA_PREFIX = rec.AUTO_SERIAL_ALPHA_PREFIX,
6550 SOURCE_TYPE = rec.SOURCE_TYPE,
6551 SOURCE_ORGANIZATION_ID = rec.SOURCE_ORGANIZATION_ID,
6552 SOURCE_SUBINVENTORY = rec.SOURCE_SUBINVENTORY,
6553 EXPENSE_ACCOUNT = rec.EXPENSE_ACCOUNT,
6554 ENCUMBRANCE_ACCOUNT = rec.ENCUMBRANCE_ACCOUNT,
6555 RESTRICT_SUBINVENTORIES_CODE = rec.RESTRICT_SUBINVENTORIES_CODE,
6556 UNIT_WEIGHT = rec.UNIT_WEIGHT,
6557 WEIGHT_UOM_CODE = rec.WEIGHT_UOM_CODE,
6558 VOLUME_UOM_CODE = rec.VOLUME_UOM_CODE,
6559 UNIT_VOLUME = rec.UNIT_VOLUME,
6560 RESTRICT_LOCATORS_CODE = rec.RESTRICT_LOCATORS_CODE,
6561 LOCATION_CONTROL_CODE = rec.LOCATION_CONTROL_CODE,
6562 SHRINKAGE_RATE = rec.SHRINKAGE_RATE,
6563 ACCEPTABLE_EARLY_DAYS = rec.ACCEPTABLE_EARLY_DAYS,
6564 PLANNING_TIME_FENCE_CODE = rec.PLANNING_TIME_FENCE_CODE,
6565 DEMAND_TIME_FENCE_CODE = rec.DEMAND_TIME_FENCE_CODE,
6566 LEAD_TIME_LOT_SIZE = rec.LEAD_TIME_LOT_SIZE,
6567 STD_LOT_SIZE = rec.STD_LOT_SIZE,
6568 CUM_MANUFACTURING_LEAD_TIME = rec.CUM_MANUFACTURING_LEAD_TIME,
6569 OVERRUN_PERCENTAGE = rec.OVERRUN_PERCENTAGE,
6570 ACCEPTABLE_RATE_INCREASE = rec.ACCEPTABLE_RATE_INCREASE,
6571 ACCEPTABLE_RATE_DECREASE = rec.ACCEPTABLE_RATE_DECREASE,
6572 CUMULATIVE_TOTAL_LEAD_TIME = rec.CUMULATIVE_TOTAL_LEAD_TIME,
6573 PLANNING_TIME_FENCE_DAYS = rec.PLANNING_TIME_FENCE_DAYS,
6574 DEMAND_TIME_FENCE_DAYS = rec.DEMAND_TIME_FENCE_DAYS,
6575 END_ASSEMBLY_PEGGING_FLAG = rec.END_ASSEMBLY_PEGGING_FLAG,
6576 PLANNING_EXCEPTION_SET = rec.PLANNING_EXCEPTION_SET,
6577 BOM_ITEM_TYPE = rec.BOM_ITEM_TYPE,
6578 PICK_COMPONENTS_FLAG = rec.PICK_COMPONENTS_FLAG,
6579 REPLENISH_TO_ORDER_FLAG = rec.REPLENISH_TO_ORDER_FLAG,
6580 BASE_ITEM_ID = rec.BASE_ITEM_ID,
6581 ATP_COMPONENTS_FLAG = rec.ATP_COMPONENTS_FLAG,
6582 ATP_FLAG = rec.ATP_FLAG,
6583 FIXED_LEAD_TIME = rec.FIXED_LEAD_TIME,
6584 VARIABLE_LEAD_TIME = rec.VARIABLE_LEAD_TIME,
6585 WIP_SUPPLY_LOCATOR_ID = rec.WIP_SUPPLY_LOCATOR_ID,
6586 WIP_SUPPLY_TYPE = rec.WIP_SUPPLY_TYPE,
6587 WIP_SUPPLY_SUBINVENTORY = rec.WIP_SUPPLY_SUBINVENTORY,
6588 PRIMARY_UOM_CODE = rec.PRIMARY_UOM_CODE,
6589 PRIMARY_UNIT_OF_MEASURE = rec.PRIMARY_UNIT_OF_MEASURE,
6590 ALLOWED_UNITS_LOOKUP_CODE = rec.ALLOWED_UNITS_LOOKUP_CODE,
6591 COST_OF_SALES_ACCOUNT = rec.COST_OF_SALES_ACCOUNT,
6592 SALES_ACCOUNT = rec.SALES_ACCOUNT,
6593 DEFAULT_INCLUDE_IN_ROLLUP_FLAG = rec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG,
6594 INVENTORY_ITEM_STATUS_CODE = rec.INVENTORY_ITEM_STATUS_CODE,
6595 INVENTORY_PLANNING_CODE = rec.INVENTORY_PLANNING_CODE,
6596 PLANNER_CODE = rec.PLANNER_CODE,
6597 PLANNING_MAKE_BUY_CODE = rec.PLANNING_MAKE_BUY_CODE,
6598 FIXED_LOT_MULTIPLIER = rec.FIXED_LOT_MULTIPLIER,
6599 ROUNDING_CONTROL_TYPE = rec.ROUNDING_CONTROL_TYPE,
6600 CARRYING_COST = rec.CARRYING_COST,
6601 POSTPROCESSING_LEAD_TIME = rec.POSTPROCESSING_LEAD_TIME,
6602 PREPROCESSING_LEAD_TIME = rec.PREPROCESSING_LEAD_TIME,
6603 FULL_LEAD_TIME = rec.FULL_LEAD_TIME,
6604 ORDER_COST = rec.ORDER_COST,
6605 MRP_SAFETY_STOCK_PERCENT = rec.MRP_SAFETY_STOCK_PERCENT,
6606 MRP_SAFETY_STOCK_CODE = rec.MRP_SAFETY_STOCK_CODE,
6607 MIN_MINMAX_QUANTITY = rec.MIN_MINMAX_QUANTITY,
6608 MAX_MINMAX_QUANTITY = rec.MAX_MINMAX_QUANTITY,
6609 MINIMUM_ORDER_QUANTITY = rec.MINIMUM_ORDER_QUANTITY,
6610 FIXED_ORDER_QUANTITY = rec.FIXED_ORDER_QUANTITY,
6611 FIXED_DAYS_SUPPLY = rec.FIXED_DAYS_SUPPLY,
6612 MAXIMUM_ORDER_QUANTITY = rec.MAXIMUM_ORDER_QUANTITY,
6613 ATP_RULE_ID = rec.ATP_RULE_ID,
6614 PICKING_RULE_ID = rec.PICKING_RULE_ID,
6615 RESERVABLE_TYPE = rec.RESERVABLE_TYPE,
6616 POSITIVE_MEASUREMENT_ERROR = rec.POSITIVE_MEASUREMENT_ERROR,
6617 NEGATIVE_MEASUREMENT_ERROR = rec.NEGATIVE_MEASUREMENT_ERROR,
6618 ENGINEERING_ECN_CODE = rec.ENGINEERING_ECN_CODE,
6619 ENGINEERING_ITEM_ID = rec.ENGINEERING_ITEM_ID,
6620 ENGINEERING_DATE = rec.ENGINEERING_DATE,
6621 SERVICE_STARTING_DELAY = rec.SERVICE_STARTING_DELAY,
6622 SERVICEABLE_COMPONENT_FLAG = rec.SERVICEABLE_COMPONENT_FLAG,
6623 SERVICEABLE_PRODUCT_FLAG = rec.SERVICEABLE_PRODUCT_FLAG,
6624 BASE_WARRANTY_SERVICE_ID = rec.BASE_WARRANTY_SERVICE_ID,
6625 PAYMENT_TERMS_ID = rec.PAYMENT_TERMS_ID,
6626 PREVENTIVE_MAINTENANCE_FLAG = rec.PREVENTIVE_MAINTENANCE_FLAG,
6627 PRIMARY_SPECIALIST_ID = rec.PRIMARY_SPECIALIST_ID,
6628 SECONDARY_SPECIALIST_ID = rec.SECONDARY_SPECIALIST_ID,
6629 SERVICEABLE_ITEM_CLASS_ID = rec.SERVICEABLE_ITEM_CLASS_ID,
6630 TIME_BILLABLE_FLAG = rec.TIME_BILLABLE_FLAG,
6631 MATERIAL_BILLABLE_FLAG = rec.MATERIAL_BILLABLE_FLAG,
6632 EXPENSE_BILLABLE_FLAG = rec.EXPENSE_BILLABLE_FLAG,
6633 PRORATE_SERVICE_FLAG = rec.PRORATE_SERVICE_FLAG,
6634 COVERAGE_SCHEDULE_ID = rec.COVERAGE_SCHEDULE_ID,
6635 SERVICE_DURATION_PERIOD_CODE = rec.SERVICE_DURATION_PERIOD_CODE,
6636 SERVICE_DURATION = rec.SERVICE_DURATION,
6637 MAX_WARRANTY_AMOUNT = rec.MAX_WARRANTY_AMOUNT,
6638 RESPONSE_TIME_PERIOD_CODE = rec.RESPONSE_TIME_PERIOD_CODE,
6639 RESPONSE_TIME_VALUE = rec.RESPONSE_TIME_VALUE,
6640 NEW_REVISION_CODE = rec.NEW_REVISION_CODE,
6641 TAX_CODE = rec.TAX_CODE,
6642 MUST_USE_APPROVED_VENDOR_FLAG = rec.MUST_USE_APPROVED_VENDOR_FLAG,
6643 SAFETY_STOCK_BUCKET_DAYS = rec.SAFETY_STOCK_BUCKET_DAYS,
6644 AUTO_REDUCE_MPS = rec.AUTO_REDUCE_MPS,
6645 COSTING_ENABLED_FLAG = rec.COSTING_ENABLED_FLAG,
6646 INVOICEABLE_ITEM_FLAG = rec.INVOICEABLE_ITEM_FLAG,
6647 INVOICE_ENABLED_FLAG = rec.INVOICE_ENABLED_FLAG,
6648 OUTSIDE_OPERATION_FLAG = rec.OUTSIDE_OPERATION_FLAG,
6649 OUTSIDE_OPERATION_UOM_TYPE = rec.OUTSIDE_OPERATION_UOM_TYPE,
6650 AUTO_CREATED_CONFIG_FLAG = rec.AUTO_CREATED_CONFIG_FLAG,
6651 CYCLE_COUNT_ENABLED_FLAG = rec.CYCLE_COUNT_ENABLED_FLAG,
6652 MODEL_CONFIG_CLAUSE_NAME = rec.MODEL_CONFIG_CLAUSE_NAME,
6653 SHIP_MODEL_COMPLETE_FLAG = rec.SHIP_MODEL_COMPLETE_FLAG,
6654 MRP_PLANNING_CODE = rec.MRP_PLANNING_CODE,
6655 RETURN_INSPECTION_REQUIREMENT = rec.RETURN_INSPECTION_REQUIREMENT,
6656 REQUEST_ID = req_id,
6657 PROGRAM_APPLICATION_ID = prg_appid,
6658 PROGRAM_ID = prg_id,
6659 PROGRAM_UPDATE_DATE = l_sysdate,
6660 REPETITIVE_PLANNING_FLAG = rec.REPETITIVE_PLANNING_FLAG,
6661 QTY_RCV_EXCEPTION_CODE = rec.QTY_RCV_EXCEPTION_CODE,
6662 MRP_CALCULATE_ATP_FLAG = rec.MRP_CALCULATE_ATP_FLAG,
6663 ITEM_TYPE = rec.ITEM_TYPE,
6664 WARRANTY_VENDOR_ID = rec.WARRANTY_VENDOR_ID,
6665 ATO_FORECAST_CONTROL = rec.ATO_FORECAST_CONTROL,
6666 RELEASE_TIME_FENCE_CODE = rec.RELEASE_TIME_FENCE_CODE,
6667 RELEASE_TIME_FENCE_DAYS = rec.RELEASE_TIME_FENCE_DAYS,
6668 CONTAINER_ITEM_FLAG = rec.CONTAINER_ITEM_FLAG,
6669 CONTAINER_TYPE_CODE = rec.CONTAINER_TYPE_CODE,
6670 INTERNAL_VOLUME = rec.INTERNAL_VOLUME,
6671 MAXIMUM_LOAD_WEIGHT = rec.MAXIMUM_LOAD_WEIGHT,
6672 MINIMUM_FILL_PERCENT = rec.MINIMUM_FILL_PERCENT,
6673 VEHICLE_ITEM_FLAG = rec.VEHICLE_ITEM_FLAG,
6674
6675 CHECK_SHORTAGES_FLAG = rec.CHECK_SHORTAGES_FLAG
6676 , EFFECTIVITY_CONTROL = rec.EFFECTIVITY_CONTROL
6677
6678 , OVERCOMPLETION_TOLERANCE_TYPE = rec.OVERCOMPLETION_TOLERANCE_TYPE
6679 , OVERCOMPLETION_TOLERANCE_VALUE = rec.OVERCOMPLETION_TOLERANCE_VALUE
6680 , OVER_SHIPMENT_TOLERANCE = rec.OVER_SHIPMENT_TOLERANCE
6681 , UNDER_SHIPMENT_TOLERANCE = rec.UNDER_SHIPMENT_TOLERANCE
6682 , OVER_RETURN_TOLERANCE = rec.OVER_RETURN_TOLERANCE
6683 , UNDER_RETURN_TOLERANCE = rec.UNDER_RETURN_TOLERANCE
6684 , EQUIPMENT_TYPE = rec.EQUIPMENT_TYPE
6685 , RECOVERED_PART_DISP_CODE = rec.RECOVERED_PART_DISP_CODE
6686 , DEFECT_TRACKING_ON_FLAG = rec.DEFECT_TRACKING_ON_FLAG
6687 , EVENT_FLAG = rec.EVENT_FLAG
6688 , ELECTRONIC_FLAG = rec.ELECTRONIC_FLAG
6689 , DOWNLOADABLE_FLAG = rec.DOWNLOADABLE_FLAG
6690 , VOL_DISCOUNT_EXEMPT_FLAG = rec.VOL_DISCOUNT_EXEMPT_FLAG
6691 , COUPON_EXEMPT_FLAG = rec.COUPON_EXEMPT_FLAG
6692 , COMMS_NL_TRACKABLE_FLAG = rec.COMMS_NL_TRACKABLE_FLAG
6693 , ASSET_CREATION_CODE = rec.ASSET_CREATION_CODE
6694 , COMMS_ACTIVATION_REQD_FLAG = rec.COMMS_ACTIVATION_REQD_FLAG
6695 , ORDERABLE_ON_WEB_FLAG = rec.ORDERABLE_ON_WEB_FLAG
6696 , BACK_ORDERABLE_FLAG = rec.BACK_ORDERABLE_FLAG
6697 --
6698 , WEB_STATUS = rec.WEB_STATUS
6699 , INDIVISIBLE_FLAG = rec.INDIVISIBLE_FLAG
6700 --
6701 , DIMENSION_UOM_CODE = rec.DIMENSION_UOM_CODE
6702 , UNIT_LENGTH = rec.UNIT_LENGTH
6703 , UNIT_WIDTH = rec.UNIT_WIDTH
6704 , UNIT_HEIGHT = rec.UNIT_HEIGHT
6705 , BULK_PICKED_FLAG = rec.BULK_PICKED_FLAG
6706 , LOT_STATUS_ENABLED = rec.LOT_STATUS_ENABLED
6707 , DEFAULT_LOT_STATUS_ID = rec.DEFAULT_LOT_STATUS_ID
6708 , SERIAL_STATUS_ENABLED = rec.SERIAL_STATUS_ENABLED
6709 , DEFAULT_SERIAL_STATUS_ID = rec.DEFAULT_SERIAL_STATUS_ID
6710 , LOT_SPLIT_ENABLED = rec.LOT_SPLIT_ENABLED
6711 , LOT_MERGE_ENABLED = rec.LOT_MERGE_ENABLED
6712 , INVENTORY_CARRY_PENALTY = rec.INVENTORY_CARRY_PENALTY
6713 , OPERATION_SLACK_PENALTY = rec.OPERATION_SLACK_PENALTY
6714 , FINANCING_ALLOWED_FLAG = rec.FINANCING_ALLOWED_FLAG
6715 , EAM_ITEM_TYPE = rec.EAM_ITEM_TYPE
6716 , EAM_ACTIVITY_TYPE_CODE = rec.EAM_ACTIVITY_TYPE_CODE
6717 , EAM_ACTIVITY_CAUSE_CODE = rec.EAM_ACTIVITY_CAUSE_CODE
6718 , EAM_ACT_NOTIFICATION_FLAG = rec.EAM_ACT_NOTIFICATION_FLAG
6719 , EAM_ACT_SHUTDOWN_STATUS = rec.EAM_ACT_SHUTDOWN_STATUS
6720 , DUAL_UOM_CONTROL = rec.DUAL_UOM_CONTROL
6721 , SECONDARY_UOM_CODE = rec.SECONDARY_UOM_CODE
6722 , DUAL_UOM_DEVIATION_HIGH = rec.DUAL_UOM_DEVIATION_HIGH
6723 , DUAL_UOM_DEVIATION_LOW = rec.DUAL_UOM_DEVIATION_LOW
6724 --
6725 -- Service Item, Warranty, Usage flag attributes are dependent on
6726 -- and derived from Contract Item Type; supported for view only.
6727 --
6728 , SERVICE_ITEM_FLAG = DECODE( rec.CONTRACT_ITEM_TYPE_CODE,
6729 'SERVICE' , 'Y',
6730 'WARRANTY' , 'Y', 'N' )
6731 , VENDOR_WARRANTY_FLAG = DECODE( rec.CONTRACT_ITEM_TYPE_CODE, 'WARRANTY', 'Y', 'N' )
6732 , USAGE_ITEM_FLAG = DECODE( rec.CONTRACT_ITEM_TYPE_CODE, 'USAGE', 'Y', NULL )
6733 --
6734 , CONTRACT_ITEM_TYPE_CODE = rec.CONTRACT_ITEM_TYPE_CODE
6735 , SUBSCRIPTION_DEPEND_FLAG = rec.SUBSCRIPTION_DEPEND_FLAG
6736 --
6737 , SERV_REQ_ENABLED_CODE = rec.SERV_REQ_ENABLED_CODE
6738 , SERV_BILLING_ENABLED_FLAG = rec.SERV_BILLING_ENABLED_FLAG
6739 , SERV_IMPORTANCE_LEVEL = rec.SERV_IMPORTANCE_LEVEL
6740 , PLANNED_INV_POINT_FLAG = rec.PLANNED_INV_POINT_FLAG
6741 , LOT_TRANSLATE_ENABLED = rec.LOT_TRANSLATE_ENABLED
6742 , DEFAULT_SO_SOURCE_TYPE = rec.DEFAULT_SO_SOURCE_TYPE
6743 , CREATE_SUPPLY_FLAG = rec.CREATE_SUPPLY_FLAG
6744 , SUBSTITUTION_WINDOW_CODE = rec.SUBSTITUTION_WINDOW_CODE
6745 , SUBSTITUTION_WINDOW_DAYS = rec.SUBSTITUTION_WINDOW_DAYS
6746 --Added as part of 11.5.9
6747 , LOT_SUBSTITUTION_ENABLED = rec.LOT_SUBSTITUTION_ENABLED
6748 , MINIMUM_LICENSE_QUANTITY = rec.MINIMUM_LICENSE_QUANTITY
6749 , EAM_ACTIVITY_SOURCE_CODE = rec.EAM_ACTIVITY_SOURCE_CODE
6750 , IB_ITEM_INSTANCE_CLASS = rec.IB_ITEM_INSTANCE_CLASS
6751 , CONFIG_MODEL_TYPE = rec.CONFIG_MODEL_TYPE
6752 --2777118:IOI Lifecycle and Phase validations
6753 ,CURRENT_PHASE_ID = rec.CURRENT_PHASE_ID
6754 --2805950 Missed placing lifecycle id during 2777118
6755 ,LIFECYCLE_ID = rec.LIFECYCLE_ID
6756 --Added as part of 11.5.10
6757 , TRACKING_QUANTITY_IND = rec.TRACKING_QUANTITY_IND
6758 , ONT_PRICING_QTY_SOURCE = rec.ONT_PRICING_QTY_SOURCE
6759 , SECONDARY_DEFAULT_IND = rec.SECONDARY_DEFAULT_IND
6760 , CONFIG_ORGS = rec.CONFIG_ORGS
6761 , CONFIG_MATCH = rec.CONFIG_MATCH
6762 ,VMI_MINIMUM_UNITS = rec.VMI_MINIMUM_UNITS
6763 ,VMI_MINIMUM_DAYS = rec.VMI_MINIMUM_DAYS
6764 ,VMI_MAXIMUM_UNITS = rec.VMI_MAXIMUM_UNITS
6765 ,VMI_MAXIMUM_DAYS = rec.VMI_MAXIMUM_DAYS
6766 ,VMI_FIXED_ORDER_QUANTITY = rec.VMI_FIXED_ORDER_QUANTITY
6767 ,SO_AUTHORIZATION_FLAG = rec.SO_AUTHORIZATION_FLAG
6768 ,CONSIGNED_FLAG = rec.CONSIGNED_FLAG
6769 ,ASN_AUTOEXPIRE_FLAG = rec.ASN_AUTOEXPIRE_FLAG
6770 ,VMI_FORECAST_TYPE = rec.VMI_FORECAST_TYPE
6771 ,FORECAST_HORIZON = rec.FORECAST_HORIZON
6772 ,EXCLUDE_FROM_BUDGET_FLAG = rec.EXCLUDE_FROM_BUDGET_FLAG
6773 ,DAYS_TGT_INV_SUPPLY = rec.DAYS_TGT_INV_SUPPLY
6774 ,DAYS_TGT_INV_WINDOW = rec.DAYS_TGT_INV_WINDOW
6775 ,DAYS_MAX_INV_SUPPLY = rec.DAYS_MAX_INV_SUPPLY
6776 ,DAYS_MAX_INV_WINDOW = rec.DAYS_MAX_INV_WINDOW
6777 ,DRP_PLANNED_FLAG = rec.DRP_PLANNED_FLAG
6778 ,CRITICAL_COMPONENT_FLAG = rec.CRITICAL_COMPONENT_FLAG
6779 ,CONTINOUS_TRANSFER = rec.CONTINOUS_TRANSFER
6780 ,CONVERGENCE = rec.CONVERGENCE
6781 ,DIVERGENCE = rec.DIVERGENCE
6782 ,OBJECT_VERSION_NUMBER = NVL(OBJECT_VERSION_NUMBER,1)+1
6783 --Start Bug 3713912
6784 ,LOT_DIVISIBLE_FLAG = rec.LOT_DIVISIBLE_FLAG
6785 ,GRADE_CONTROL_FLAG = rec.GRADE_CONTROL_FLAG
6786 ,DEFAULT_GRADE = rec.DEFAULT_GRADE
6787 ,CHILD_LOT_FLAG = rec.CHILD_LOT_FLAG
6788 ,PARENT_CHILD_GENERATION_FLAG = rec.PARENT_CHILD_GENERATION_FLAG
6789 ,CHILD_LOT_PREFIX = rec.CHILD_LOT_PREFIX
6790 ,CHILD_LOT_STARTING_NUMBER = rec.CHILD_LOT_STARTING_NUMBER
6791 ,CHILD_LOT_VALIDATION_FLAG = rec.CHILD_LOT_VALIDATION_FLAG
6792 ,COPY_LOT_ATTRIBUTE_FLAG = rec.COPY_LOT_ATTRIBUTE_FLAG
6793 ,RECIPE_ENABLED_FLAG = rec.RECIPE_ENABLED_FLAG
6794 ,PROCESS_QUALITY_ENABLED_FLAG = rec.PROCESS_QUALITY_ENABLED_FLAG
6795 ,PROCESS_EXECUTION_ENABLED_FLAG = rec.PROCESS_EXECUTION_ENABLED_FLAG
6796 ,PROCESS_COSTING_ENABLED_FLAG = rec.PROCESS_COSTING_ENABLED_FLAG
6797 ,PROCESS_SUPPLY_SUBINVENTORY = rec.PROCESS_SUPPLY_SUBINVENTORY
6798 ,PROCESS_SUPPLY_LOCATOR_ID = rec.PROCESS_SUPPLY_LOCATOR_ID
6799 ,PROCESS_YIELD_SUBINVENTORY = rec.PROCESS_YIELD_SUBINVENTORY
6800 ,PROCESS_YIELD_LOCATOR_ID = rec.PROCESS_YIELD_LOCATOR_ID
6801 ,HAZARDOUS_MATERIAL_FLAG = rec.HAZARDOUS_MATERIAL_FLAG
6802 ,CAS_NUMBER = rec.CAS_NUMBER
6803 ,RETEST_INTERVAL = rec.RETEST_INTERVAL
6804 ,EXPIRATION_ACTION_INTERVAL = rec.EXPIRATION_ACTION_INTERVAL
6805 ,EXPIRATION_ACTION_CODE = rec.EXPIRATION_ACTION_CODE
6806 ,MATURITY_DAYS = rec.MATURITY_DAYS
6807 ,HOLD_DAYS = rec.HOLD_DAYS
6808 --End Bug 3713912
6809 -- R12 Enhacement
6810 ,CHARGE_PERIODICITY_CODE = rec.CHARGE_PERIODICITY_CODE
6811 ,REPAIR_LEADTIME = rec.REPAIR_LEADTIME
6812 ,REPAIR_YIELD = rec.REPAIR_YIELD
6813 ,PREPOSITION_POINT = rec.PREPOSITION_POINT
6814 ,REPAIR_PROGRAM = rec.REPAIR_PROGRAM
6815 ,SUBCONTRACTING_COMPONENT = rec.SUBCONTRACTING_COMPONENT
6816 ,OUTSOURCED_ASSEMBLY = rec.OUTSOURCED_ASSEMBLY
6817 /* New attributes for R12 FPC */
6818 ,GDSN_OUTBOUND_ENABLED_FLAG = rec.GDSN_OUTBOUND_ENABLED_FLAG
6819 ,TRADE_ITEM_DESCRIPTOR = rec.TRADE_ITEM_DESCRIPTOR
6820 ,STYLE_ITEM_FLAG = rec.STYLE_ITEM_FLAG
6821 ,STYLE_ITEM_ID = rec.STYLE_ITEM_ID
6822 --serial_tagging enh -- bug 9913552
6823
6824 ,serial_tagging_flag = Decode (INV_SERIAL_NUMBER_PUB.is_serial_tagged(rec.inventory_item_id, rec.organization_id),2,'Y')
6825
6826 WHERE
6827
6828 MTLSYSI.rowid = rec.msi_rowid;
6829
6830 --
6831 -- R11.5 MLS
6832 --
6833 -- bug 10373720 , set last_update_date = sysdate,
6834 -- old Nvl(rec.LAST_UPDATE_DATE,l_sysdate),
6835 ---
6836 update MTL_SYSTEM_ITEMS_TL
6837 set
6838 DESCRIPTION = rec.DESCRIPTION,
6839 LONG_DESCRIPTION = rec.LONG_DESCRIPTION,
6840 LAST_UPDATE_DATE = l_sysdate,
6841 LAST_UPDATED_BY = user_id,
6842 LAST_UPDATE_LOGIN = login_id,
6843 SOURCE_LANG = userenv('LANG')
6844 where
6845 INVENTORY_ITEM_ID = rec.INVENTORY_ITEM_ID
6846 and ORGANIZATION_ID = rec.ORGANIZATION_ID
6847 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
6848 --Bug: 3899614,2948014 Updating the cst tables if asset flag is changed
6849 IF(rec.inv_asset_flag <> rec.INVENTORY_ASSET_FLAG )THEN
6850 INV_ITEM_PVT.Delete_Cost_Details(
6851 P_Item_Id => rec.inventory_item_id
6852 ,P_Org_Id => rec.organization_id
6853 ,P_Asset_Flag => rec.inventory_asset_flag
6854 ,P_Cost_Txn => NULL
6855 ,P_Last_Updated_By => user_id
6856 ,P_Last_Updated_Login => login_id);
6857 IF (NVL(rec.inv_asset_flag,'N')='N' AND rec.INVENTORY_ASSET_FLAG='Y' )THEN
6858 IF rec.planning_make_buy_code IN (1,2) THEN
6859 l_cst_item_type := rec.planning_make_buy_code;
6860 ELSE
6861 l_cst_item_type := 2;
6862 END IF;
6863 INVIDIT2.Insert_Cost_Details (
6864 x_item_id => rec.inventory_item_id
6865 ,x_org_id => rec.organization_id
6866 ,x_inv_install => INV_Item_Util.g_Appl_Inst.INV
6867 ,x_last_updated_by => user_id
6868 ,x_cst_item_type => l_cst_item_type );
6869 END IF;
6870 END IF;
6871 --Bug:3899614 end
6872
6873
6874 END LOOP; -- C_lock_msi_records
6875
6876 /* commit for debugging ONLY */
6877 -- COMMIT;
6878
6879 EXCEPTION
6880
6881 when obj_version_error THEN -- bug 5870114
6882 update mtl_system_items_interface
6883 set process_flag = 3,
6884 request_id = req_id,
6885 PROGRAM_APPLICATION_ID = prg_appid,
6886 PROGRAM_ID = prg_id,
6887 PROGRAM_UPDATE_DATE = l_sysdate,
6888 last_update_login = login_id
6889 where inventory_item_id = item_rec.inventory_item_id
6890 and (set_process_id = xset_id or set_process_id = xset_id + 1000000000000)
6891 and process_flag = 4;
6892 -- Returning clause is commented and change to select clause a part of bug 5870114 as it was throwing TOO_MANY_RECORDS errors
6893
6894 SELECT organization_id, transaction_id INTO
6895 l_org_id,l_transaction_id
6896 FROM mtl_system_items_interface
6897 WHERE inventory_item_id = item_rec.inventory_item_id
6898 and (set_process_id = xset_id or set_process_id = xset_id + 1000000000000)
6899 and process_flag = 3 AND ROWNUM=1;
6900
6901 dumm_status := INVPUOPI.mtl_log_interface_err(
6902 l_org_id,
6903 user_id,
6904 login_id,
6905 prg_appid,
6906 prg_id,
6907 req_id,
6908 l_transaction_id,
6909 err_text,
6910 'INVENTORY_ITEM_ID',
6911 'MTL_SYSTEM_ITEMS',
6912 'INV_IOI_RECORD_LOCKED',
6913 err_text);
6914 when resource_busy then
6915
6916 -- 2810346: Lock failed record details into log
6917 -- Updating the interface records and then logging errors
6918 -- Earlier it was log and then update. Doing this to avoid a fetch.
6919
6920 update mtl_system_items_interface
6921 set process_flag = 3,
6922 request_id = req_id,
6923 PROGRAM_APPLICATION_ID = prg_appid,
6924 PROGRAM_ID = prg_id,
6925 PROGRAM_UPDATE_DATE = l_sysdate,
6926 last_update_login = login_id
6927 where inventory_item_id = item_rec.inventory_item_id
6928 and (set_process_id = xset_id or set_process_id = xset_id + 1000000000000)
6929 and process_flag = 4;
6930 --RETURNING organization_id,transaction_id INTO l_org_id,l_transaction_id;
6931
6932 SELECT organization_id, transaction_id INTO l_org_id,l_transaction_id
6933 FROM mtl_system_items_interface
6934 WHERE inventory_item_id = item_rec.inventory_item_id
6935 and (set_process_id = xset_id or set_process_id = xset_id +1000000000000)
6936 and process_flag = 3 AND ROWNUM=1;
6937
6938 dumm_status := INVPUOPI.mtl_log_interface_err(
6939 l_org_id,
6940 user_id,
6941 login_id,
6942 prg_appid,
6943 prg_id,
6944 req_id,
6945 l_transaction_id,
6946 err_text,
6947 'INVENTORY_ITEM_ID',
6948 'MTL_SYSTEM_ITEMS',
6949 'INV_IOI_RECORD_LOCKED',
6950 err_text);
6951 /* commit for debugging ONLY */
6952 -- COMMIT;
6953
6954 when OTHERS then
6955 --bug #4251913 : Included SQLCODE and SQLERRM to trap exception messages.
6956 IF l_inv_debug_level IN(101, 102) THEN
6957 INVPUTLI.info(
6958 Substr(
6959 'when OTHERS exception raised in inproit_process_item_update' ||
6960 ' - Cursor C_lock_msi_records ' ||
6961 SQLCODE ||
6962 ' - ' ||
6963 SQLERRM,1,240));
6964 END IF;
6965 return (1);
6966
6967 END;
6968
6969 END LOOP; -- C_msii_processed_records
6970
6971 -- Start fix for bug 7017691 Issue #3
6972 --6417028 propagate item number update to all org hierarchies
6973 FOR item_csr IN c_item_number_updated
6974 LOOP
6975 IF l_inv_debug_level IN(101, 102) THEN
6976 INVPUTLI.info('INVUPD2B: Update: III' || item_csr.inventory_item_id ||
6977 'segment1' || item_csr.segment1);
6978 END IF;
6979
6980 UPDATE mtl_system_items_b
6981 SET segment1 = item_csr.segment1,
6982 segment2 = item_csr.segment2,
6983 segment3 = item_csr.segment3,
6984 segment4 = item_csr.segment4,
6985 segment5 = item_csr.segment5,
6986 segment6 = item_csr.segment6,
6987 segment7 = item_csr.segment7,
6988 segment8 = item_csr.segment8,
6989 segment9 = item_csr.segment9,
6990 segment10 = item_csr.segment10,
6991 segment11 = item_csr.segment11,
6992 segment12 = item_csr.segment12,
6993 segment13 = item_csr.segment13,
6994 segment14 = item_csr.segment14,
6995 segment15 = item_csr.segment15,
6996 segment16 = item_csr.segment16,
6997 segment17 = item_csr.segment17,
6998 segment18 = item_csr.segment18,
6999 segment19 = item_csr.segment19,
7000 segment20 = item_csr.segment20
7001 WHERE inventory_item_id = item_csr.inventory_item_id;
7002 END LOOP;
7003 -- End fix for bug 7017691 Issue #3
7004
7005 -- Start fix for bug 7017691 Issue #4 Move out of the C_msii_processed_records
7006 -- loop
7007 FOR cr IN c_ego_intf_rows LOOP
7008 INVPUTLI.info('Ego Intf Table has rows '||cr.language || ' ' ||cr.column_value);
7009 UPDATE MTL_SYSTEM_ITEMS_TL
7010 SET DESCRIPTION = NVL(cr.column_value, DESCRIPTION),
7011 LAST_UPDATE_DATE = l_sysdate,
7012 LAST_UPDATED_BY = user_id,
7013 LAST_UPDATE_LOGIN = login_id
7014 WHERE inventory_item_id = cr.inventory_item_id
7015 AND organization_id = cr.organization_id
7016 AND language = cr.language;
7017 END LOOP; -- c_ego_intf_rows
7018 -- End fix for bug 7017691 Issue #4
7019
7020 --6531937 : Item specific UOM conversion out of loop
7021 -- Start of Bug 5190184
7022 FOR UOM_process_rec IN UOM_Process LOOP
7023 IF ( UOM_process_rec.base_uom_flag = 'Y' ) THEN
7024 conversion_rate_temp := 1;
7025 ELSE
7026 select conversion_rate into conversion_rate_temp
7027 from mtl_uom_conversions
7028 where inventory_item_id = 0
7029 and uom_code = UOM_process_rec.PUOMCODE;
7030 END IF;
7031
7032 l_default_conversion_flag := 'N';
7033
7034 INSERT INTO mtl_uom_conversions(
7035 unit_of_measure,
7036 uom_code,
7037 uom_class,
7038 inventory_item_id,
7039 conversion_rate,
7040 default_conversion_flag,
7041 last_update_date,
7042 last_updated_by,
7043 creation_date,
7044 created_by)
7045 VALUES(
7046 UOM_process_rec.PUOM,
7047 UOM_process_rec.PUOMCODE,
7048 UOM_process_rec.UOMCL,
7049 UOM_process_rec.INV_ITEM_ID,
7050 conversion_rate_temp,
7051 l_default_conversion_flag,
7052 l_sysdate,
7053 user_id,
7054 l_sysdate,
7055 user_id);
7056 END LOOP;
7057 -- End of Bug 5190184
7058
7059 --INVPUTLI.info('INVPPROC: Finished updating record in MSI with MSII record'|| xset_id);
7060
7061 --2808277 : Start Revision Update support
7062
7063
7064 FOR rev_rec IN C_rev_processed_records LOOP
7065
7066
7067 DECLARE
7068 CURSOR c_lock_rev_record IS
7069 SELECT ROWID,current_phase_id
7070 FROM mtl_item_revisions_b
7071 WHERE revision_id = rev_rec.revision_id
7072 FOR UPDATE of revision_id;
7073
7074 resource_busy EXCEPTION;
7075 PRAGMA EXCEPTION_INIT (resource_busy, -54);
7076 l_org_id mtl_system_items_interface.organization_id%TYPE ;
7077 l_transaction_id mtl_system_items_interface.transaction_id%TYPE;
7078
7079 BEGIN
7080
7081
7082 FOR update_rec IN c_lock_rev_record LOOP
7083
7084 -- Bug 13935085: Item Revision Phase change done through Import from Excel does not show up
7085 -- in History Tab of Revision Phases.
7086 -- Insert pending change record to the mtl_pending_item_status in case of revision phase change
7087 IF (NVL(INV_EGO_REVISION_VALIDATE.Get_Process_Control(),'X')<> 'PLM_UI:Y' AND
7088 (NVL(update_rec.current_phase_id,1) <> NVL(rev_rec.current_phase_id,NVL(update_rec.current_phase_id,1))))
7089 THEN
7090 insert into mtl_pending_item_status
7091 ( INVENTORY_ITEM_ID,
7092 ORGANIZATION_ID,
7093 REVISION_ID,
7094 LIFECYCLE_ID,
7095 PHASE_ID,
7096 EFFECTIVE_DATE,
7097 IMPLEMENTED_DATE,
7098 PENDING_FLAG,
7099 LAST_UPDATE_DATE,
7100 LAST_UPDATED_BY,
7101 CREATION_DATE,
7102 CREATED_BY
7103 )
7104 values
7105 ( rev_rec.inventory_item_id,
7106 rev_rec.organization_id,
7107 rev_rec.REVISION_ID,
7108 rev_rec.lifecycle_id,
7109 rev_rec.current_phase_id,
7110 l_sysdate,
7111 l_sysdate,
7112 'N',
7113 l_sysdate,
7114 user_id,
7115 l_sysdate,
7116 user_id
7117 );
7118
7119 END IF;
7120
7121
7122 -- bug 10373720, set last_update_date to sysdate instead of picking
7123 -- from interface
7124 UPDATE MTL_ITEM_REVISIONS_B
7125 SET
7126 DESCRIPTION = decode(l_INSTALLED_FLAG, 'B', rev_rec.DESCRIPTION, DESCRIPTION),
7127 CHANGE_NOTICE = rev_rec.CHANGE_NOTICE,
7128 ECN_INITIATION_DATE = rev_rec.ECN_INITIATION_DATE,
7129 IMPLEMENTATION_DATE = rev_rec.IMPLEMENTATION_DATE,
7130 EFFECTIVITY_DATE = rev_rec.EFFECTIVITY_DATE,
7131 ATTRIBUTE_CATEGORY = rev_rec.ATTRIBUTE_CATEGORY,
7132 ATTRIBUTE1 = rev_rec.ATTRIBUTE1,
7133 ATTRIBUTE2 = rev_rec.ATTRIBUTE2,
7134 ATTRIBUTE3 = rev_rec.ATTRIBUTE3,
7135 ATTRIBUTE4 = rev_rec.ATTRIBUTE4,
7136 ATTRIBUTE5 = rev_rec.ATTRIBUTE5,
7137 ATTRIBUTE6 = rev_rec.ATTRIBUTE6,
7138 ATTRIBUTE7 = rev_rec.ATTRIBUTE7,
7139 ATTRIBUTE8 = rev_rec.ATTRIBUTE8,
7140 ATTRIBUTE9 = rev_rec.ATTRIBUTE9,
7141 ATTRIBUTE10 = rev_rec.ATTRIBUTE10,
7142 ATTRIBUTE11 = rev_rec.ATTRIBUTE11,
7143 ATTRIBUTE12 = rev_rec.ATTRIBUTE12,
7144 ATTRIBUTE13 = rev_rec.ATTRIBUTE13,
7145 ATTRIBUTE14 = rev_rec.ATTRIBUTE14,
7146 ATTRIBUTE15 = rev_rec.ATTRIBUTE15,
7147 LIFECYCLE_ID = rev_rec.LIFECYCLE_ID,
7148 CURRENT_PHASE_ID = rev_rec.CURRENT_PHASE_ID,
7149 REVISION_LABEL = rev_rec.REVISION_LABEL,
7150 REVISION_REASON = rev_rec.REVISION_REASON,
7151 REVISED_ITEM_SEQUENCE_ID = rev_rec.REVISED_ITEM_SEQUENCE_ID,
7152 LAST_UPDATE_DATE = l_sysdate,
7153 LAST_UPDATED_BY = user_id,
7154 LAST_UPDATE_LOGIN = login_id,
7155 /* Bug 4224512 : Incrementing the object version number for each update -Anmurali */
7156 OBJECT_VERSION_NUMBER = NVL(OBJECT_VERSION_NUMBER,1)+1
7157 WHERE rowid = update_rec.rowid;
7158
7159 -- bug 10373720, set last_update_date to sysdate instead of picking
7160 -- from interface
7161 UPDATE mtl_item_revisions_tl
7162 SET description = rev_rec.description,
7163 last_update_date = l_sysdate,
7164 last_updated_by = user_id,
7165 last_update_login = login_id,
7166 source_lang = userenv('LANG')
7167 WHERE revision_id = rev_rec.revision_id
7168 AND userenv('LANG') IN (LANGUAGE, SOURCE_LANG);
7169
7170 END LOOP;
7171
7172 EXCEPTION
7173 WHEN resource_busy THEN
7174 UPDATE mtl_item_revisions_interface
7175 SET process_flag = 3,
7176 request_id = req_id,
7177 PROGRAM_APPLICATION_ID = prg_appid,
7178 PROGRAM_ID = prg_id,
7179 PROGRAM_UPDATE_DATE = l_sysdate,
7180 last_update_login = login_id
7181 WHERE rowid = rev_rec.rowid
7182 RETURNING organization_id,transaction_id INTO l_org_id,l_transaction_id;
7183
7184 dumm_status := INVPUOPI.mtl_log_interface_err(
7185 l_org_id,
7186 user_id,
7187 login_id,
7188 prg_appid,
7189 prg_id,
7190 req_id,
7191 l_transaction_id,
7192 err_text,
7193 'INVENTORY_ITEM_ID',
7194 'MTL_SYSTEM_ITEMS',
7195 'INV_IOI_RECORD_LOCKED',
7196 err_text);
7197 WHEN OTHERS THEN
7198 --bug #4251913: Included SQLCODE and SQLERRM to trap exception messages.
7199 IF l_inv_debug_level IN(101, 102) THEN
7200 INVPUTLI.info(
7201 Substr(
7202 'when OTHERS exception raised in inproit_process_item_update ' ||
7203 '- Cursor c_lock_rev_record ' ||
7204 SQLCODE ||
7205 ' - ' ||
7206 SQLERRM,1,240));
7207 END IF;
7208 return (1);
7209 END;
7210 END LOOP;
7211 --2808277 : End Revision Update support
7212
7213 --INVPUTLI.info('INVPPROC: Finished updating record in MSI with MSII record'|| xset_id);
7214
7215 -- set process_flags to 7
7216
7217 table_name := 'MTL_SYSTEM_ITEMS_INTERFACE';
7218 update MTL_SYSTEM_ITEMS_INTERFACE
7219 set process_flag = 7,
7220 request_id = req_id,
7221 PROGRAM_APPLICATION_ID = prg_appid,
7222 PROGRAM_ID = prg_id,
7223 PROGRAM_UPDATE_DATE = l_sysdate,
7224 last_update_login = login_id
7225 where process_flag = 4
7226 and transaction_type in ('UPDATE','AUTO_CHILD')
7227 and (set_process_id = xset_id or set_process_id = xset_id + 1000000000000);
7228
7229 --2808277 : Start Revision Update support
7230 table_name := 'MTL_ITEM_REVISIONS_INTERFACE';
7231
7232 update MTL_ITEM_REVISIONS_INTERFACE
7233 set process_flag = 7,
7234 request_id = nvl(request_id,req_id),
7235 program_application_id = nvl(program_application_id,prg_appid),
7236 PROGRAM_ID = nvl(PROGRAM_ID,prg_id),
7237 PROGRAM_UPDATE_DATE = nvl(PROGRAM_UPDATE_DATE,l_sysdate),
7238 LAST_UPDATE_LOGIN = nvl(LAST_UPDATE_LOGIN,login_id)
7239 where process_flag = 4
7240 and transaction_type = 'UPDATE'
7241 and (set_process_id = xset_id or set_process_id = xset_id + 1000000000000);
7242 --2808277 : Start Revision Update support
7243 INV_EGO_REVISION_VALIDATE.apply_default_uda_values(xset_id,commit_flag); /*Added to fix Bug 8359046*/
7244 return (0);
7245
7246 EXCEPTION
7247
7248 when OTHERS then
7249 --dbms_output.put_line(sqlerrm);
7250 --bug #4251913 : Included SQLCODE and SQLERRM to trap exception messages.
7251 IF l_inv_debug_level IN(101, 102) THEN
7252 INVPUTLI.info(
7253 Substr(
7254 'when OTHERS exception raised in inproit_process_item_update ' ||
7255 SQLCODE ||
7256 ' - ' ||
7257 SQLERRM,1,240));
7258 END IF;
7259 return (1);
7260
7261 END inproit_process_item_update;
7262
7263
7264 FUNCTION set_process_flag3
7265 (
7266 row_id ROWID,
7267 user_id NUMBER := -1,
7268 login_id NUMBER := -1,
7269 prog_appid NUMBER := -1,
7270 prog_id NUMBER := -1,
7271 reqst_id NUMBER := -1
7272 )
7273 return INTEGER
7274 IS
7275 l_process_flag_3 NUMBER := 3;
7276
7277 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
7278 BEGIN
7279
7280 IF l_inv_debug_level IN(101, 102) THEN
7281 INVPUTLI.info('INVUPD2B: Inside set_process_flag3');
7282 END IF;
7283 update MTL_SYSTEM_ITEMS_INTERFACE
7284 set PROCESS_FLAG = l_process_flag_3,
7285 request_id = reqst_id,
7286 PROGRAM_APPLICATION_ID = prog_appid,
7287 PROGRAM_ID = prog_id,
7288 last_update_login = login_id
7289 where ROWID = row_id;
7290 return (0);
7291
7292 EXCEPTION
7293
7294 when OTHERS then
7295 --bug #4251913: Included SQLCODE and SQLERRM to trap exception messages.
7296 IF l_inv_debug_level IN(101, 102) THEN
7297 INVPUTLI.info(
7298 Substr(
7299 'when OTHERS exception raised in set_process_flag3 ' ||
7300 SQLCODE ||
7301 ' - ' ||
7302 SQLERRM,1,240));
7303 END IF;
7304 /*End Bug: 4667452*/
7305 return (1);
7306
7307 END set_process_flag3;
7308
7309
7310 FUNCTION get_message
7311 (
7312 msg_name VARCHAR2
7313 , error_text OUT NOCOPY VARCHAR2
7314 )
7315 return INTEGER
7316 IS
7317 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
7318 BEGIN
7319
7320 IF l_inv_debug_level IN(101, 102) THEN
7321 INVPUTLI.info('INVUPD2B: inside get_message');
7322 END IF;
7323 FND_MESSAGE.SET_NAME('INV', SUBSTRB(msg_name, 1,30));
7324 error_text := FND_MESSAGE.GET;
7325 return (0);
7326
7327 EXCEPTION
7328
7329 when OTHERS then
7330 IF l_inv_debug_level IN(101, 102) THEN
7331 INVPUTLI.info( SUBSTRB('get_message: ' || SQLERRM, 1, 240) );
7332 END IF;
7333 return (1);
7334
7335 END get_message;
7336
7337
7338 /* validate_recipe_enabled_flag(p_itemID IN NUMBER, p_orgID IN NUMBER)
7339 * validate external dependency of attribute RECIPE_ENABLED_FLAG
7340 * RETURN VALUE:
7341 * TRUE - no external dependency found
7342 * FALSE - external dependency found
7343 */
7344 FUNCTION validate_recipe_enabled_flag(p_itemID IN NUMBER, p_orgID IN NUMBER)
7345 RETURN BOOLEAN
7346 IS
7347 INACTIVE_CODE NUMBER;
7348 l_level NUMBER;
7349 DUMMY NUMBER;
7350 RETVAL BOOLEAN := TRUE;
7351
7352 CURSOR C_ORG IS
7353 SELECT 1
7354 FROM fm_matl_dtl d
7355 WHERE inventory_item_id = p_itemID
7356 AND organization_id = p_orgID
7357 AND EXISTS
7358 (
7359 SELECT 1
7360 FROM fm_form_mst m
7361 WHERE m.formula_status <> INACTIVE_CODE
7362 AND m.formula_id = d.formula_id
7363 )
7364 AND ROWNUM = 1;
7365
7366 CURSOR C_MASTER IS
7367 SELECT 1
7368 FROM fm_matl_dtl d
7369 WHERE d.inventory_item_id = p_itemID
7370 AND EXISTS
7371 (
7372 SELECT 1
7373 FROM mtl_parameters p
7374 WHERE p.master_organization_id = p_orgID
7375 AND d.organization_id = p.organization_id
7376 )
7377 AND EXISTS
7378 (
7379 SELECT 1
7380 FROM fm_form_mst m
7381 WHERE m.formula_status <> INACTIVE_CODE
7382 AND m.formula_id = d.formula_id
7383 )
7384 AND ROWNUM = 1;
7385
7386 BEGIN
7387
7388 /* TODO: retrieve inactive / archive / obsolete code
7389 * It is currently hard-coded.
7390 * For the side-effect of having a hard-coded code, please refer to Bug 13957437.
7391 */
7392 INACTIVE_CODE := 1000; -- 1000 means status code is Obsolete/Archived.
7393
7394 /* Check at which level the attribute is controlled. */
7395 l_level := get_control_level('MTL_SYSTEM_ITEMS.RECIPE_ENABLED_FLAG');
7396 IF (l_level = 1) THEN
7397 OPEN C_MASTER;
7398 FETCH C_MASTER INTO DUMMY;
7399 IF(C_MASTER%FOUND) THEN
7400 RETVAL := FALSE;
7401 END IF;
7402 CLOSE C_MASTER;
7403 ELSIF (l_level = 2) THEN
7404 OPEN C_ORG;
7405 FETCH C_ORG INTO DUMMY;
7406 IF(C_ORG%FOUND) THEN
7407 RETVAL := FALSE;
7408 END IF;
7409 CLOSE C_ORG;
7410 ELSE
7411 -- THIS SHOULD NEVER HAPPEN
7412 NULL;
7413 END IF;
7414
7415 RETURN RETVAL;
7416 END validate_recipe_enabled_flag;
7417
7418
7419 /* get_control_level(p_attrName IN VARCHAR2)
7420 * PARAMETERS:
7421 * p_attrName - ATTRIBUTE_NAME specified in table MTL_ITEM_ATTRIBUTES
7422 * RETURN VALUE:
7423 * 0 - ERROR: ATTRIBUTE_NAME NOT FOUND
7424 * 1 - CONTROLLED AT MASTER LEVEL
7425 * 2 - CONTROLLED AT ORG LEVEL
7426 */
7427 FUNCTION get_control_level(p_attrName IN VARCHAR2)
7428 RETURN NUMBER
7429 IS
7430 l_level NUMBER;
7431 RETVAL NUMBER;
7432 BEGIN
7433 SELECT CONTROL_LEVEL INTO l_level
7434 FROM MTL_ITEM_ATTRIBUTES
7435 WHERE ATTRIBUTE_NAME = p_attrName;
7436
7437 RETVAL := l_level;
7438
7439 RETURN RETVAL;
7440
7441 EXCEPTION
7442 WHEN NO_DATA_FOUND THEN
7443 RETVAL := 0;
7444 RETURN RETVAL;
7445
7446 END get_control_level;
7447
7448
7449 end INVUPD2B;