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