[Home] [Help]
PACKAGE BODY: APPS.INVUPD1B
Source
4 --
1 PACKAGE BODY INVUPD1B AS -- {
2 /* $Header: INVUPD1B.pls 120.29.12020000.4 2013/01/23 08:46:29 lmai ship $ */
3 -- Values used in IOI to indicate an attribute update to NULL.
5 g_Upd_Null_CHAR VARCHAR2(1) := '!';
6 g_Upd_Null_NUM NUMBER := -999999;
7 g_Upd_Null_DATE DATE := NULL;
8
9 -- FND null value sets
10 g_FND_Upd_Null_NUM NUMBER := 9.99E125;
11 g_FND_Upd_Null_Char VARCHAR2(1) := chr(0);
12
13 --2808277 Start supporting Item Revision Update
14 FUNCTION assign_item_rev_data_update(
15 org_id NUMBER,
16 all_org NUMBER := 2,
17 prog_appid NUMBER := -1,
18 prog_id NUMBER := -1,
19 request_id NUMBER := -1,
20 user_id NUMBER := -1,
21 login_id NUMBER := -1,
22 err_text IN OUT NOCOPY VARCHAR2,
23 xset_id IN NUMBER DEFAULT -999)
24 RETURN NUMBER;
25 --2808277 End supporting Item Revision Update
26
27 FUNCTION mtl_pr_assign_item_data_update(
28 org_id NUMBER,
29 all_org NUMBER := 2,
30 prog_appid NUMBER := -1,
31 prog_id NUMBER := -1,
32 request_id NUMBER := -1,
33 user_id NUMBER := -1,
34 login_id NUMBER := -1,
35 err_text IN OUT NOCOPY VARCHAR2,
36 xset_id IN NUMBER DEFAULT -999) RETURN INTEGER IS
37
38 CURSOR C_msii_records IS
39 SELECT ROWID, intf.*
40 FROM mtl_system_items_interface intf
41 WHERE intf.process_flag = 1
42 AND intf.set_process_id = xset_id
43 AND ((intf.organization_id = org_id) or (all_org = 1));
44
45 CURSOR C_status_controlled_attr(cp_item_status_code VARCHAR2) IS
46 SELECT status.attribute_name
47 ,status.attribute_value
48 FROM mtl_status_attribute_values status
49 ,mtl_item_attributes ctrl
50 WHERE status.attribute_name = ctrl.attribute_name
51 AND status.inventory_item_status_code = cp_item_status_code
52 AND ctrl.status_control_code = 1;
53
54 --Added for Bug 4366615
55 CURSOR C_puom_records IS
56 SELECT Primary_Unit_Of_Measure, ROWID
57 FROM Mtl_System_Items_Interface
58 WHERE Process_Flag = 1
59 AND Set_Process_Id = xset_id
60 AND ((organization_id = org_id) or (all_org = 1))
61 FOR UPDATE OF Primary_Uom_Code;
62 -- End of Bug 4366615
63
64 ret_code NUMBER := 0;
65 rtn_status NUMBER := 0;
66 error_text VARCHAR2(250);
67 dumm_status NUMBER;
68 status_code NUMBER;
69 t_trans_id NUMBER;
70 t_organization_id NUMBER;
71 t_inventory_item_id NUMBER;
72 t_template_id VARCHAR2(30) DEFAULT null;
73 msi_primary_uom VARCHAR2(26) DEFAULT null;
74 msi_eng_item_flag VARCHAR2(1) DEFAULT null;
75 msi_inventory_item_status_code VARCHAR2(20) DEFAULT NULL;
76
77 ASS_ITEM_ERR EXCEPTION;
78 attr_err_mesg_name VARCHAR2(30) DEFAULT null;
79 upd_status NUMBER DEFAULT 1;
80
81 --Added for Bug 4366615
82 temp_uom_code VARCHAR2(3);
83 msi_primary_uom_code VARCHAR2(3);
84 --End of Bug 4366615
85
86 msi_tracking_quantity_ind mtl_system_items.tracking_quantity_ind%TYPE;
87 msi_secondary_uom_code mtl_system_items.secondary_uom_code%TYPE;
88 msi_secondary_default_ind mtl_system_items.secondary_default_ind%TYPE;
89 msi_ont_pricing_qty_source mtl_system_items.ont_pricing_qty_source%TYPE;
90 msi_dual_uom_deviation_high mtl_system_items.dual_uom_deviation_high%TYPE;
91 msi_dual_uom_deviation_low mtl_system_items.dual_uom_deviation_low%TYPE;
92
93 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
94
95
96 BEGIN -- {
97
98 IF l_inv_debug_level IN(101, 102) THEN
99 INVPUTLI.info('INVUPD1B.mtl_pr_assign_item_data_update: begin org_id=' || TO_CHAR(org_id));
100 END IF;
101
102 -- Added for Bug 4366615
103 FOR puom IN C_puom_records LOOP
104 BEGIN
105 IF puom.Primary_Unit_of_Measure IS NOT NULL THEN
106 SELECT Uom_Code
107 INTO temp_uom_code
108 FROM Mtl_Units_Of_Measure
109 WHERE Unit_Of_Measure = puom.Primary_Unit_Of_Measure --Bug 5192495
110 AND SYSDATE < nvl(Disable_Date, SYSDATE+1);
111
112 UPDATE Mtl_System_Items_Interface
113 SET Primary_Uom_Code = temp_uom_code
114 WHERE Rowid = puom.Rowid;
115 END IF;
116 EXCEPTION
117 WHEN NO_DATA_FOUND THEN
118 dumm_status := INVPUOPI.mtl_log_interface_err(
119 t_organization_id,
123 prog_id,
120 user_id,
121 login_id,
122 prog_appid,
124 request_id,
125 t_trans_id,
126 error_text,
127 'PRIMARY_UNIT_OF_MEASURE',
128 'MTL_SYSTEM_ITEMS_INTERFACE',
129 'INV_IOI_PRIMARY_UOM',
130 err_text);
131 dumm_status := INVUPD2B.set_process_flag3(puom.ROWID,user_id,login_id,prog_appid,prog_id,request_id);
132 END;
133 END LOOP;
134 --End of Bug 4366615
135
136 FOR rec IN C_msii_records LOOP -- {
137 t_organization_id := rec.organization_id;
138 t_inventory_item_id := rec.inventory_item_id;
139 t_trans_id := rec.transaction_id;
140
141 -- Start 2913856
142 --Jalaj Srivastava Bug 5017588
143 --update of uom fields not allowed.
144
145 BEGIN
146 SELECT msi.primary_unit_of_measure,
147 msi.eng_item_flag,
148 msi.primary_uom_code, --* Added for Bug 4366615
149 msi.inventory_item_status_code,
150 msi.tracking_quantity_ind,
151 msi.secondary_uom_code,
152 msi.secondary_default_ind,
153 msi.ont_pricing_qty_source,
154 msi.dual_uom_deviation_high,
155 msi.dual_uom_deviation_low
156 INTO msi_primary_uom,
157 msi_eng_item_flag,
158 msi_primary_uom_code, --* Added for Bug 4366615
159 msi_inventory_item_status_code,
160 msi_tracking_quantity_ind,
161 msi_secondary_uom_code,
162 msi_secondary_default_ind,
163 msi_ont_pricing_qty_source,
164 msi_dual_uom_deviation_high,
165 msi_dual_uom_deviation_low
166 FROM mtl_system_items_B msi
167 WHERE msi.inventory_item_id = t_inventory_item_id
168 AND msi.organization_id = t_organization_id;
169 EXCEPTION
170 WHEN NO_DATA_FOUND THEN
171 NULL;
175 /* Added to convert '!' to NULL before validations as by this point it will not get converter and never go in to IF condition
172 END;
173 -- End 291385
174
176 Even if we psas NULL that too converted to '!' during insert_into_MSII*/
177 -- bug 9548336
178
179 SELECT Decode (rec.ENG_ITEM_FLAG,g_Upd_Null_CHAR,NULL,rec.ENG_ITEM_FLAG),
180 Decode (rec.PRIMARY_UOM_CODE,g_Upd_Null_CHAR,NULL,rec.PRIMARY_UOM_CODE),
181 Decode (rec.tracking_quantity_ind,g_Upd_Null_CHAR,NULL,rec.tracking_quantity_ind),
182 Decode (rec.secondary_uom_code,g_Upd_Null_CHAR,NULL,rec.secondary_uom_code),
183 Decode (rec.secondary_default_ind,g_Upd_Null_CHAR,NULL,rec.secondary_default_ind),
184 Decode (rec.ont_pricing_qty_source,g_Upd_Null_CHAR,NULL,rec.ont_pricing_qty_source),
185 Decode (rec.dual_uom_deviation_high,g_Upd_Null_CHAR,NULL,rec.dual_uom_deviation_high),
186 Decode (rec.dual_uom_deviation_low,g_Upd_Null_CHAR,NULL,rec.dual_uom_deviation_low)
187 INTO rec.ENG_ITEM_FLAG,rec.PRIMARY_UOM_CODE,rec.tracking_quantity_ind, rec.secondary_uom_code,rec.secondary_default_ind,
188 rec.ont_pricing_qty_source, rec.dual_uom_deviation_high, rec.dual_uom_deviation_low
189 FROM dual;
190
191 -- if any of the non-updateable fields are being updated [ENG_ITEM_FLAG and PRIMARY_UOM]
192 IF (rec.MATERIAL_COST IS NULL
193 AND rec.MATERIAL_SUB_ELEM IS NULL
197 AND rec.MATERIAL_OH_SUB_ELEM_ID IS NULL)
194 AND rec.MATERIAL_OH_RATE IS NULL
195 AND rec.MATERIAL_OH_SUB_ELEM IS NULL
196 AND rec.MATERIAL_SUB_ELEM_ID IS NULL
198 THEN
199
200 IF (rec.ENG_ITEM_FLAG IS NULL OR rec.ENG_ITEM_FLAG = msi_eng_item_flag)
201 AND (rec.PRIMARY_UOM_CODE IS NULL OR rec.primary_uom_code = msi_primary_uom_code)
202 --Jalaj Srivastava Bug 5017588
203 --all uom fields are non updateable
204 AND (rec.tracking_quantity_ind IS NULL OR rec.tracking_quantity_ind = msi_tracking_quantity_ind )
205 AND (rec.secondary_uom_code IS NULL OR rec.secondary_uom_code = msi_secondary_uom_code )
206 AND (rec.secondary_default_ind IS NULL OR rec.secondary_default_ind = msi_secondary_default_ind )
207 AND (rec.ont_pricing_qty_source IS NULL OR rec.ont_pricing_qty_source = msi_ont_pricing_qty_source )
208 AND (rec.dual_uom_deviation_high IS NULL OR rec.dual_uom_deviation_high = msi_dual_uom_deviation_high )
209 AND (rec.dual_uom_deviation_low IS NULL OR rec.dual_uom_deviation_low = msi_dual_uom_deviation_low )
210 THEN
211
212 status_code := 1;
213 /* Bug 4751471 Status Controlled attrs are relevantly updated when status is applied. Eliminating this chk
214 BEGIN -- {
215
216 -- if status controlled attributes are not being modified
217 IF NOT (rec.STOCK_ENABLED_FLAG IS NULL
218 AND rec.MTL_TRANSACTIONS_ENABLED_FLAG IS NULL
219 AND rec.PURCHASING_ENABLED_FLAG IS NULL
220 AND rec.BUILD_IN_WIP_FLAG IS NULL
221 AND rec.CUSTOMER_ORDER_ENABLED_FLAG IS NULL
222 AND rec.INTERNAL_ORDER_ENABLED_FLAG IS NULL
223 AND rec.BOM_ENABLED_FLAG IS NULL
224 AND rec.INVOICE_ENABLED_FLAG IS NULL
225 AND rec.RECIPE_ENABLED_FLAG IS NULL
226 AND rec.PROCESS_EXECUTION_ENABLED_FLAG IS NULL)
227 THEN -- {
228
229 -- Start 2913856 Changed is not null to <>
230 --4751471 : Status attributes under sets control
231 --Values passed in the interface table should be compared against status setup not against msb db value.
232 FOR srec IN C_status_controlled_attr(nvl(rec.inventory_item_status_code,msi_inventory_item_status_code)) LOOP -- {
233 IF((srec.attribute_name = 'MTL_SYSTEM_ITEMS.STOCK_ENABLED_FLAG'
234 AND NVL(rec.STOCK_ENABLED_FLAG,srec.attribute_value) <> srec.attribute_value)
235 OR (srec.attribute_name = 'MTL_SYSTEM_ITEMS.MTL_TRANSACTIONS_ENABLED_FLAG'
236 AND NVL(rec.MTL_TRANSACTIONS_ENABLED_FLAG,srec.attribute_value) <> srec.attribute_value)
237 OR (srec.attribute_name = 'MTL_SYSTEM_ITEMS.PURCHASING_ENABLED_FLAG'
238 AND NVL(rec.PURCHASING_ENABLED_FLAG,srec.attribute_value) <> srec.attribute_value)
239 OR (srec.attribute_name = 'MTL_SYSTEM_ITEMS.BUILD_IN_WIP_FLAG'
240 AND NVL(rec.BUILD_IN_WIP_FLAG,srec.attribute_value) <> srec.attribute_value)
241 OR (srec.attribute_name = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_ENABLED_FLAG'
242 AND NVL(rec.CUSTOMER_ORDER_ENABLED_FLAG,srec.attribute_value) <> srec.attribute_value)
243 OR (srec.attribute_name = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_ENABLED_FLAG'
244 AND NVL(rec.INTERNAL_ORDER_ENABLED_FLAG,srec.attribute_value) <> srec.attribute_value)
245 OR (srec.attribute_name = 'MTL_SYSTEM_ITEMS.BOM_ENABLED_FLAG'
246 AND NVL(rec.BOM_ENABLED_FLAG,srec.attribute_value) <> srec.attribute_value)
247 OR (srec.attribute_name = 'MTL_SYSTEM_ITEMS.INVOICE_ENABLED_FLAG'
248 AND NVL(rec.INVOICE_ENABLED_FLAG,srec.attribute_value) <> srec.attribute_value)
249 OR (srec.attribute_name = 'MTL_SYSTEM_ITEMS.RECIPE_ENABLED_FLAG'
250 AND NVL(rec.RECIPE_ENABLED_FLAG,srec.attribute_value) <> srec.attribute_value)
251 OR (srec.attribute_name = 'MTL_SYSTEM_ITEMS.PROCESS_EXECUTION_ENABLED_FLAG'
252 AND NVL(rec.PROCESS_EXECUTION_ENABLED_FLAG,srec.attribute_value) <> srec.attribute_value))
253 THEN -- {
254 status_code := 0;
255 END IF; -- }
256 -- exit when first status controlled attribute is found not to be null
257 EXIT WHEN status_code = 0;
258 END LOOP; -- }
259 --End 2913856
260 END IF; -- }
261 EXCEPTION
262 WHEN NO_DATA_FOUND THEN
263 NULL; -- no status controlled attributes
264 END; -- }
265
266 IF (status_code = 1) THEN -- { */
267 -- check if an attribute that should not be updated if onhand qties exist is being updated
268 IF NOT (rec.LOCATION_CONTROL_CODE IS NULL
269 AND rec.LOT_CONTROL_CODE IS NULL
270 AND rec.REVISION_QTY_CONTROL_CODE IS NULL
271 AND rec.SERIAL_NUMBER_CONTROL_CODE IS NULL
272 AND rec.SHELF_LIFE_CODE IS NULL
273 AND rec.COSTING_ENABLED_FLAG IS NULL
277 IF (INVUPD1B.exists_onhand_quantities(t_organization_id, t_inventory_item_id) <> 1
274 AND rec.INVENTORY_ASSET_FLAG IS NULL )
275 THEN -- {
276 -- if onhand quantities exist or transactions pending then
278 AND INVUPD1B.exists_onhand_child_qties(t_organization_id, t_inventory_item_id) <> 1 )
279 THEN -- {
280 -- copy msi data to msii record for ``missing'' attributes, also set process_ flag = 2
281 dumm_status := INVUPD1B.copy_msi_to_msii(rec.rowid,t_organization_id, t_inventory_item_id);
282 rtn_status := INVPULI4.assign_status_attributes(rec.inventory_item_id,rec.organization_id,err_text,xset_id,rec.rowid);
283 IF rtn_status = 0 THEN
284 status_code := 1;
285 ELSE
286 status_code := 0;
287 END IF;
288
289 ELSE -- } {
290 -- Check for dependencies of attributes being updated
291 upd_status := INVUPD1B.mtl_validate_attr_upd(
292 rec.organization_id,
293 rec.inventory_item_id,
294 rec.rowid,
295 attr_err_mesg_name);
296
297 IF upd_status <> 0 THEN --{
298 -- At least one attribute failed the dependency check.
299 -- Flag error that on-hand qties exist and related
300 -- non-updateable attribute is being updated.
301 upd_status := INVPUOPI.mtl_log_interface_err(
302 t_organization_id,
303 user_id,
304 login_id,
305 prog_appid,
306 prog_id,
307 request_id,
308 t_trans_id,
309 error_text,
310 null,
311 'MTL_SYSTEM_ITEMS_INTERFACE',
312 attr_err_mesg_name,
313 err_text);
314
315 upd_status := INVUPD2B.set_process_flag3(rec.ROWID,user_id,login_id,prog_appid,prog_id,request_id);
316 ELSE
317 dumm_status := INVUPD1B.copy_msi_to_msii(rec.rowid,t_organization_id,t_inventory_item_id);
318 rtn_status := INVPULI4.assign_status_attributes(rec.inventory_item_id,rec.organization_id,err_text,xset_id,rec.rowid);
319 IF rtn_status = 0 THEN
320 status_code := 1;
321 ELSE
322 status_code := 0;
323 END IF;
324 END IF; --}
325 END IF; -- }
326 ELSE -- no onhand qties exist and no transactions pending -- } {
327 -- copy msi data to msii record for ``missing'' attributes, also set process_flag = 2
328 dumm_status := INVUPD1B.copy_msi_to_msii(rec.rowid, t_organization_id, t_inventory_item_id);
329 rtn_status := INVPULI4.assign_status_attributes(rec.inventory_item_id,rec.organization_id,err_text,xset_id,rec.rowid);
330 IF rtn_status = 0 THEN
331 status_code := 1;
332 ELSE
333 status_code := 0;
334 END IF;
335 END IF; -- }
336 /* Bug 4751471 - Status Controlled attrs are relevantly updated when status is applied. Eliminating chk
337 ELSE -- } {
338 -- flag error that status controlled attribute is being modified and move to next record
339 dumm_status := INVPUOPI.mtl_log_interface_err(
340 t_organization_id,
341 user_id,
342 login_id,
343 prog_appid,
344 prog_id,
345 request_id,
346 t_trans_id,
347 error_text,
348 null,
349 'MTL_SYSTEM_ITEMS_INTERFACE',
350 'INV_STATUS_CNTRL_ATTRIB_ERROR',
351 err_text);
352 dumm_status := INVUPD2B.set_process_flag3(rec.ROWID,user_id,login_id,prog_appid,prog_id,request_id);
353 END IF; -- } */
354 ELSE -- } {
355 -- flag error that non-updateable fields are being updated and move to next record
356 dumm_status := INVPUOPI.mtl_log_interface_err(
357 t_organization_id,
358 user_id,
359 login_id,
360 prog_appid,
364 error_text,
361 prog_id,
362 request_id,
363 t_trans_id,
365 null,
366 'MTL_SYSTEM_ITEMS_INTERFACE',
367 'INV_NON_UPDATE_ATTRIBUTE_ERROR',
368 err_text);
369 dumm_status := INVUPD2B.set_process_flag3(rec.ROWID,user_id,login_id,prog_appid,prog_id,request_id);
370 END IF; -- }
371 ELSE -- } {
372 -- flag error that costing related fields are being updated and move to next record
373 dumm_status := INVPUOPI.mtl_log_interface_err(
374 t_organization_id,
375 user_id,
376 login_id,
377 prog_appid,
378 prog_id,
379 request_id,
380 t_trans_id,
381 error_text,
382 null,
383 'MTL_SYSTEM_ITEMS_INTERFACE',
384 'INV_NON_UPDATE_ATTR_ERROR2',
385 err_text);
386 dumm_status := INVUPD2B.set_process_flag3(rec.ROWID,user_id,login_id,prog_appid,prog_id,request_id);
387 END IF; -- }
388 END LOOP; -- MSII LOOP -- }
389
390 --2808277 Start supporting Item Revision Update
391 rtn_status := assign_item_rev_data_update(
392 org_id => org_id
393 ,all_org => all_org
394 ,prog_appid => prog_appid
395 ,prog_id => prog_id
396 ,request_id => request_id
397 ,user_id => user_id
398 ,login_id => login_id
399 ,err_text => err_text
403 dumm_status := INVPUOPI.mtl_log_interface_err (
400 ,xset_id => xset_id);
401
402 IF (rtn_status <> 0) THEN
404 -1,
405 user_id,
406 login_id,
407 prog_appid,
408 prog_id,
409 request_id,
410 -1,
411 '*** BAD RETURN CODE e ***' || err_text,
412 null,
413 'MTL_ITEM_REVISIONS_INTERFACE',
414 'INV_IOI_ERR_E_ASS_ITM_RVS', --bug 11894684, replace INV_IOI_ERR
415 err_text);
416 ret_code := rtn_status;
417
418 END IF;
419 --2808277 End supporting Item Revision Update
420
421 return (ret_code);
422
423 EXCEPTION
424 WHEN NO_DATA_FOUND THEN
425 dumm_status := INVPUOPI.mtl_log_interface_err(
426 t_organization_id,
427 user_id,
428 login_id,
429 prog_appid,
430 prog_id,
431 request_id,
432 t_trans_id,
433 error_text,
434 null,
435 'MTL_SYSTEM_ITEMS_INTERFACE',
436 'INV_RECORD_NOT_FOUND_ERROR',
437 err_text);
438 RETURN (1);
439 WHEN OTHERS THEN
440 IF l_inv_debug_level IN(101, 102) THEN
441 INVPUTLI.info('INVUPD1B.mtl_pr_assign_item_data_update: when OTHERS exception');
442 END IF;
443 RETURN (1);
444 -- any other error other than no data found ?
445 END mtl_pr_assign_item_data_update; -- }
446
447 --
448 -- Function to check for attribute dependencies impacted by on-hand quantites.
449 --
450
451 FUNCTION mtl_validate_attr_upd
452 (
453 org_id IN NUMBER
454 , item_id IN NUMBER
455 , row_id IN ROWID
456 , attr_err_mesg_name OUT NOCOPY VARCHAR2
457 )
458 RETURN INTEGER
459 IS
460
461
462 cursor msii_attr is
463 select LOCATION_CONTROL_CODE,
464 LOT_CONTROL_CODE,
465 REVISION_QTY_CONTROL_CODE,
466 SERIAL_NUMBER_CONTROL_CODE,
467 SHELF_LIFE_CODE,
468 COSTING_ENABLED_FLAG,
469 INVENTORY_ASSET_FLAG,
470 RESTRICT_LOCATORS_CODE,
471 AUTO_SERIAL_ALPHA_PREFIX,
472 START_AUTO_SERIAL_NUMBER,
473 /* Start Bug 3713912 */
474 SECONDARY_UOM_CODE ,
475 TRACKING_QUANTITY_IND,
476 SECONDARY_DEFAULT_IND,
477 DUAL_UOM_DEVIATION_HIGH,
478 DUAL_UOM_DEVIATION_LOW
479 /* End Bug 3713912 */
480 from MTL_SYSTEM_ITEMS_INTERFACE
481 where rowid = row_id;
482
483 cursor msi_attr is
484 select LOCATION_CONTROL_CODE,
485 LOT_CONTROL_CODE,
486 REVISION_QTY_CONTROL_CODE,
490 INVENTORY_ASSET_FLAG,
487 SERIAL_NUMBER_CONTROL_CODE,
488 SHELF_LIFE_CODE,
489 COSTING_ENABLED_FLAG,
491 RESTRICT_LOCATORS_CODE,
492 AUTO_SERIAL_ALPHA_PREFIX, -- Bug #1402402
493 START_AUTO_SERIAL_NUMBER, -- Bug #1402402
494 /* Start Bug 3713912 */
495 SECONDARY_UOM_CODE ,
496 TRACKING_QUANTITY_IND,
497 SECONDARY_DEFAULT_IND,
498 DUAL_UOM_DEVIATION_HIGH,
499 DUAL_UOM_DEVIATION_LOW
500 /* End Bug 3713912 */
501 from MTL_SYSTEM_ITEMS
502 where inventory_item_id = item_id
503 and organization_id = org_id;
504
505 msii_rec msii_attr%rowtype;
506 msi_rec msi_attr%rowtype;
507 attrib_error exception;
508 attr_noerr_flg number;
509
510 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
511
512 BEGIN --{
513
514 attr_noerr_flg := 0;
515 open msii_attr;
516 fetch msii_attr into msii_rec;
517 open msi_attr;
518 fetch msi_attr into msi_rec;
519
520 -- Location Control Code
521
522 if msii_rec.location_control_code is not null then --{
523
524 if msi_rec.location_control_code = 1 then
525 if msii_rec.location_control_code = 1 then
526 attr_noerr_flg := 0;
527 elsif msii_rec.location_control_code in (2,3) then
528 attr_err_mesg_name := 'INV_IOI_LOC_CTRL_CODE_UPD_QOH';
529 raise attrib_error;
530 end if;
531 elsif msi_rec.location_control_code = 2 then
532 if msii_rec.location_control_code = 1 then
533 attr_err_mesg_name := 'INV_IOI_LOC_CTRL_CODE_UPD_QOH';
534 raise attrib_error;
535 elsif msii_rec.location_control_code = 2 then
536 attr_noerr_flg := 0;
537 elsif msii_rec.location_control_code = 3 then
538 if msi_rec.restrict_locators_code = 1 then
539 attr_err_mesg_name := 'INV_IOI_LOC_CTRL_CODE_UPD_QOH';
540 raise attrib_error;
541 elsif msi_rec.restrict_locators_code = 2 then
542 attr_noerr_flg := 0;
543 end if;
544 end if;
545 elsif msi_rec.location_control_code = 3 then
546 if msii_rec.location_control_code = 1 then
547 attr_err_mesg_name := 'INV_IOI_LOC_CTRL_CODE_UPD_QOH';
548 raise attrib_error;
549 elsif msii_rec.location_control_code = 2 then
550 attr_noerr_flg := 0;
551 elsif msii_rec.location_control_code = 3 then
552 attr_noerr_flg := 0;
553 end if;
554 end if;
555
556 end if; --}
557
558 -- end Location Control Code
559
560 -- Lot Control Code
561 if msii_rec.lot_control_code is not null then --{
562 if msi_rec.lot_control_code = msii_rec.lot_control_code then
563 attr_noerr_flg := 0;
564 else
565 attr_err_mesg_name := 'INV_IOI_LOT_CTRL_CODE_UPD_QOH';
566 raise attrib_error;
567 end if;
568 end if; --}
569 -- End Lot Control Code
570
571 -- Revision Qty Control Code
572 if msii_rec.revision_qty_control_code is not null then --{
573 if msi_rec.Revision_qty_control_code = msii_rec.Revision_qty_control_code then
574 attr_noerr_flg := 0;
575 else
576 attr_err_mesg_name := 'INV_IOI_REV_QTY_CTRL_UPD_QOH';
577 raise attrib_error;
578 end if;
579 end if; --}
580 -- End Revision qty control code
581
582 -- Serial Number Control Code
583 if msii_rec.serial_number_control_code is not null then --{
584 if msi_rec.serial_number_control_code = 1 then
585 if msii_rec.serial_number_control_code in (1,6) then -- Bug 1402402
586 attr_noerr_flg := 0;
587 else
588 attr_err_mesg_name := 'INV_IOI_SRL_NUM_CTRL_UPD_QOH';
589 raise attrib_error;
590 end if;
591 /* elsif msii_rec.serial_number_control_code = 6 then
592 if (msii_rec.auto_serial_alpha_prefix is null and
593 msii_rec.start_auto_serial_number is null) then
597 attr_noerr_flg := 0;
594 attr_err_mesg_name := 'INV_AUTO_SERIAL_PREFIX';
595 raise attrib_error;
596 else
598 end if;
599 else
600 attr_err_mesg_name := 'INV_IOI_SRL_NUM_CTRL_UPD_QOH';
601 raise attrib_error;
602 end if;
603 */ -- Commented for Bug 1402402
604 elsif msi_rec.serial_number_control_code = 2 then
605 if msii_rec.serial_number_control_code in (2,5) then
606 attr_noerr_flg := 0;
607 else
608 attr_err_mesg_name := 'INV_IOI_SRL_NUM_CTRL_UPD_QOH';
609 raise attrib_error;
610 end if;
611 elsif msi_rec.serial_number_control_code = 5 then
612 if msii_rec.serial_number_control_code = 5 then -- Bug 1402402
613 attr_noerr_flg := 0;
614 elsif msii_rec.serial_number_control_code = 2 then -- Added for Bug 1402402
615 if (msii_rec.auto_serial_alpha_prefix is null or
616 msii_rec.start_auto_serial_number is null) then
620 attr_noerr_flg := 0;
617 attr_err_mesg_name := 'INV_AUTO_SERIAL_PREFIX';
618 raise attrib_error;
619 else
621 end if;
622 else
623 attr_err_mesg_name := 'INV_IOI_SRL_NUM_CTRL_UPD_QOH';
624 raise attrib_error;
625 end if;
626 elsif msi_rec.serial_number_control_code = 6 then
627 if msii_rec.serial_number_control_code in (1,6) then
628 attr_noerr_flg := 0;
629 else
630 attr_err_mesg_name := 'INV_IOI_SRL_NUM_CTRL_UPD_QOH';
631 raise attrib_error;
632 end if;
633 end if;
634 end if; --}
635 -- End Serial Number Control Code
636
637 -- Shelf Life Code
638 if msii_rec.shelf_life_code is not null then --{
639 if msi_rec.shelf_life_code = 1 then
640 if msii_rec.shelf_life_code = 1 then
641 attr_noerr_flg := 0;
642 else
643 attr_err_mesg_name := 'INV_IOI_SHLF_LIF_CODE_UPD_QOH';
644 raise attrib_error;
645 end if;
646 elsif msi_rec.shelf_life_code in (2,4) then
647 if msii_rec.shelf_life_code = 1 then
648 attr_err_mesg_name := 'INV_IOI_SHLF_LIF_CODE_UPD_QOH';
649 raise attrib_error;
650 elsif msii_rec.shelf_life_code in ( 2,4) then
651 attr_noerr_flg := 0;
652 end if;
653 end if;
654 end if; --}
655 -- end shelf life code
656
657 -- Inventory Asset Flag
658 if msii_rec.inventory_asset_flag is not null then --{
659 if msi_rec.inventory_asset_flag = msii_rec.inventory_asset_flag then
660 attr_noerr_flg := 0;
661 else
662 attr_err_mesg_name := 'INV_IOI_INV_ASST_FLG_UPD_QOH';
663 raise attrib_error;
664 end if;
665 end if; --}
666 -- End Inventory Asset Flag
667
668 -- Costing Enabled Flag
669 if msii_rec.costing_enabled_flag is not null then --{
670 if msi_rec.costing_enabled_flag = msii_rec.costing_enabled_flag then
671 attr_noerr_flg := 0;
672 else
673 attr_err_mesg_name := 'INV_IOI_COST_ENBL_FLG_UPD_QOH';
674 raise attrib_error;
675 end if;
676 end if; --}
677 -- End Costing Enabled Flag
678
679 /* Start Bug 3713912 */
680 -- Tracking Quantity Indicator
681 if msii_rec.TRACKING_QUANTITY_IND is not null then --{
682 if msi_rec.TRACKING_QUANTITY_IND = msii_rec.TRACKING_QUANTITY_IND then
683 attr_noerr_flg := 0;
684 else
685 attr_err_mesg_name := 'INV_IOI_TRCK_QTY_IND_UPD_QOH';
686 raise attrib_error;
687 end if;
688 end if; --}
689 -- Tracking Quantity Indicator
690
691 -- Secondary Default Indicator
692 if msii_rec.SECONDARY_DEFAULT_IND is not null then --{
693 if msi_rec.SECONDARY_DEFAULT_IND = msii_rec.SECONDARY_DEFAULT_IND then
694 attr_noerr_flg := 0;
695 else
696 attr_err_mesg_name := 'INV_IOI_SEC_DFLT_IND_UPD_QOH';
697 raise attrib_error;
698 end if;
699 end if; --}
700 -- Secondary Default Indicator
701
702 -- Secondary UOM Code
703 if msii_rec.SECONDARY_UOM_CODE is not null then --{
704 if msi_rec.SECONDARY_UOM_CODE = msii_rec.SECONDARY_UOM_CODE then
705 attr_noerr_flg := 0;
706 else
707 attr_err_mesg_name := 'INV_IOI_SEC_UOM_CODE_UPD_QOH';
708 raise attrib_error;
709 end if;
710 end if; --}
711 -- Secondary UOM Code
712
713 -- Dual UOM Deviation High
714 if msii_rec.DUAL_UOM_DEVIATION_HIGH is not null then --{
715 if msi_rec.DUAL_UOM_DEVIATION_HIGH = msii_rec.DUAL_UOM_DEVIATION_HIGH then
716 attr_noerr_flg := 0;
717 else
718 attr_err_mesg_name := 'INV_IOI_DUAL_HI_DEV_UPD_QOH';
719 raise attrib_error;
720 end if;
721 end if; --}
722 -- Dual UOM Deviation High
723
724 -- Dual UOM Deviation Low
725 if msii_rec.DUAL_UOM_DEVIATION_LOW is not null then --{
726 if msi_rec.DUAL_UOM_DEVIATION_LOW = msii_rec.DUAL_UOM_DEVIATION_LOW then
727 attr_noerr_flg := 0;
728 else
729 attr_err_mesg_name := 'INV_IOI_DUAL_LOW_DEV_UPD_QOH';
730 raise attrib_error;
731 end if;
732 end if; --}
733 -- Dual UOM Deviation Low
734 /* End Bug 3713912 */
735 return attr_noerr_flg;
736 close msi_attr;
737 close msii_attr;
738
739 exception
740
741 when attrib_error then
742 close msi_attr;
743 close msii_attr;
744 return 1;
745 when OTHERS then
746 IF l_inv_debug_level IN(101, 102) THEN
747 INVPUTLI.info('when OTHERS exception raised in mtl_validate_attr_upd');
748 END IF;
749 close msi_attr;
750 close msii_attr;
751 return 1;
752
753 END mtl_validate_attr_upd; --}
754
755
756 FUNCTION chk_exist_copy_template_attr
757 (
758 org_id NUMBER,
759 all_org NUMBER := 2,
760 prog_appid NUMBER := -1,
761 prog_id NUMBER := -1,
762 request_id NUMBER := -1,
763 user_id NUMBER := -1,
764 login_id NUMBER := -1,
765 err_text IN OUT NOCOPY VARCHAR2,
766 xset_id IN NUMBER DEFAULT -999
767 )
768 RETURN INTEGER
769 IS
770 CURSOR C_msii_records is
771 select
772 ROWID,
773 INVENTORY_ITEM_ID,
774 ORGANIZATION_ID,
775 LAST_UPDATE_DATE,
776 LAST_UPDATED_BY,
777 CREATION_DATE,
778 CREATED_BY,
779 LAST_UPDATE_LOGIN,
780 SUMMARY_FLAG,
781 ENABLED_FLAG,
782 START_DATE_ACTIVE,
783 END_DATE_ACTIVE,
784 DESCRIPTION,
785 BUYER_ID,
791 SEGMENT4,
786 ACCOUNTING_RULE_ID,
787 INVOICING_RULE_ID,
788 SEGMENT1,
789 SEGMENT2,
790 SEGMENT3,
792 SEGMENT5,
793 SEGMENT6,
794 SEGMENT7,
795 SEGMENT8,
796 SEGMENT9,
797 SEGMENT10,
798 SEGMENT11,
799 SEGMENT12,
800 SEGMENT13,
801 SEGMENT14,
802 SEGMENT15,
803 SEGMENT16,
804 SEGMENT17,
805 SEGMENT18,
806 SEGMENT19,
807 SEGMENT20,
808 ATTRIBUTE_CATEGORY,
809 ATTRIBUTE1,
810 ATTRIBUTE2,
811 ATTRIBUTE3,
812 ATTRIBUTE4,
813 ATTRIBUTE5,
814 ATTRIBUTE6,
815 ATTRIBUTE7,
816 ATTRIBUTE8,
817 ATTRIBUTE9,
818 ATTRIBUTE10,
819 ATTRIBUTE11,
820 ATTRIBUTE12,
821 ATTRIBUTE13,
822 ATTRIBUTE14,
823 ATTRIBUTE15,
824 GLOBAL_ATTRIBUTE_CATEGORY,
825 GLOBAL_ATTRIBUTE1,
826 GLOBAL_ATTRIBUTE2,
827 GLOBAL_ATTRIBUTE3,
828 GLOBAL_ATTRIBUTE4,
829 GLOBAL_ATTRIBUTE5,
830 GLOBAL_ATTRIBUTE6,
831 GLOBAL_ATTRIBUTE7,
832 GLOBAL_ATTRIBUTE8,
833 GLOBAL_ATTRIBUTE9,
834 GLOBAL_ATTRIBUTE10,
835 GLOBAL_ATTRIBUTE11,
836 GLOBAL_ATTRIBUTE12,
837 GLOBAL_ATTRIBUTE13,
838 GLOBAL_ATTRIBUTE14,
839 GLOBAL_ATTRIBUTE15,
840 GLOBAL_ATTRIBUTE16,
841 GLOBAL_ATTRIBUTE17,
842 GLOBAL_ATTRIBUTE18,
843 GLOBAL_ATTRIBUTE19,
844 GLOBAL_ATTRIBUTE20,
845 PURCHASING_ITEM_FLAG,
846 SHIPPABLE_ITEM_FLAG,
847 CUSTOMER_ORDER_FLAG,
848 INTERNAL_ORDER_FLAG,
849 -- SERVICE_ITEM_FLAG,
850 INVENTORY_ITEM_FLAG,
851 ENG_ITEM_FLAG,
852 INVENTORY_ASSET_FLAG,
853 PURCHASING_ENABLED_FLAG,
854 CUSTOMER_ORDER_ENABLED_FLAG,
855 INTERNAL_ORDER_ENABLED_FLAG,
856 SO_TRANSACTIONS_FLAG,
857 MTL_TRANSACTIONS_ENABLED_FLAG,
858 STOCK_ENABLED_FLAG,
859 BOM_ENABLED_FLAG,
860 BUILD_IN_WIP_FLAG,
861 REVISION_QTY_CONTROL_CODE,
862 ITEM_CATALOG_GROUP_ID,
863 CATALOG_STATUS_FLAG,
864 RETURNABLE_FLAG,
865 DEFAULT_SHIPPING_ORG,
866 COLLATERAL_FLAG,
867 TAXABLE_FLAG,
868 PURCHASING_TAX_CODE,
869 QTY_RCV_EXCEPTION_CODE,
870 ALLOW_ITEM_DESC_UPDATE_FLAG,
871 INSPECTION_REQUIRED_FLAG,
872 RECEIPT_REQUIRED_FLAG,
873 MARKET_PRICE,
874 HAZARD_CLASS_ID,
875 RFQ_REQUIRED_FLAG,
876 QTY_RCV_TOLERANCE,
877 LIST_PRICE_PER_UNIT,
878 UN_NUMBER_ID,
879 PRICE_TOLERANCE_PERCENT,
880 ASSET_CATEGORY_ID,
881 ROUNDING_FACTOR,
882 UNIT_OF_ISSUE,
883 ENFORCE_SHIP_TO_LOCATION_CODE,
884 ALLOW_SUBSTITUTE_RECEIPTS_FLAG,
885 ALLOW_UNORDERED_RECEIPTS_FLAG,
886 ALLOW_EXPRESS_DELIVERY_FLAG,
887 DAYS_EARLY_RECEIPT_ALLOWED,
888 DAYS_LATE_RECEIPT_ALLOWED,
889 RECEIPT_DAYS_EXCEPTION_CODE,
890 RECEIVING_ROUTING_ID,
891 INVOICE_CLOSE_TOLERANCE,
892 RECEIVE_CLOSE_TOLERANCE,
893 AUTO_LOT_ALPHA_PREFIX,
894 START_AUTO_LOT_NUMBER,
895 LOT_CONTROL_CODE,
896 SHELF_LIFE_CODE,
897 SHELF_LIFE_DAYS,
898 SERIAL_NUMBER_CONTROL_CODE,
899 START_AUTO_SERIAL_NUMBER,
900 AUTO_SERIAL_ALPHA_PREFIX,
901 SOURCE_TYPE,
902 SOURCE_ORGANIZATION_ID,
903 SOURCE_SUBINVENTORY,
904 EXPENSE_ACCOUNT,
905 ENCUMBRANCE_ACCOUNT,
906 RESTRICT_SUBINVENTORIES_CODE,
907 UNIT_WEIGHT,
908 WEIGHT_UOM_CODE,
909 VOLUME_UOM_CODE,
910 UNIT_VOLUME,
911 RESTRICT_LOCATORS_CODE,
912 LOCATION_CONTROL_CODE,
913 SHRINKAGE_RATE,
914 ACCEPTABLE_EARLY_DAYS,
915 PLANNING_TIME_FENCE_CODE,
916 DEMAND_TIME_FENCE_CODE,
917 LEAD_TIME_LOT_SIZE,
918 STD_LOT_SIZE,
919 CUM_MANUFACTURING_LEAD_TIME,
923 ACCEPTABLE_RATE_DECREASE,
920 OVERRUN_PERCENTAGE,
921 MRP_CALCULATE_ATP_FLAG,
922 ACCEPTABLE_RATE_INCREASE,
924 CUMULATIVE_TOTAL_LEAD_TIME,
925 PLANNING_TIME_FENCE_DAYS,
926 DEMAND_TIME_FENCE_DAYS,
927 END_ASSEMBLY_PEGGING_FLAG,
928 REPETITIVE_PLANNING_FLAG,
929 PLANNING_EXCEPTION_SET,
930 BOM_ITEM_TYPE,
931 PICK_COMPONENTS_FLAG,
932 REPLENISH_TO_ORDER_FLAG,
933 BASE_ITEM_ID,
934 ATP_COMPONENTS_FLAG,
935 ATP_FLAG,
936 FIXED_LEAD_TIME,
937 VARIABLE_LEAD_TIME,
938 WIP_SUPPLY_LOCATOR_ID,
939 WIP_SUPPLY_TYPE,
940 WIP_SUPPLY_SUBINVENTORY,
941 PRIMARY_UOM_CODE,
942 PRIMARY_UNIT_OF_MEASURE,
943 ALLOWED_UNITS_LOOKUP_CODE,
944 COST_OF_SALES_ACCOUNT,
945 SALES_ACCOUNT,
946 DEFAULT_INCLUDE_IN_ROLLUP_FLAG,
947 INVENTORY_ITEM_STATUS_CODE,
948 INVENTORY_PLANNING_CODE,
949 PLANNER_CODE,
950 PLANNING_MAKE_BUY_CODE,
951 FIXED_LOT_MULTIPLIER,
952 ROUNDING_CONTROL_TYPE,
953 CARRYING_COST,
954 POSTPROCESSING_LEAD_TIME,
955 PREPROCESSING_LEAD_TIME,
956 FULL_LEAD_TIME,
957 ORDER_COST,
958 MRP_SAFETY_STOCK_PERCENT,
959 MRP_SAFETY_STOCK_CODE,
960 MIN_MINMAX_QUANTITY,
961 MAX_MINMAX_QUANTITY,
962 MINIMUM_ORDER_QUANTITY,
963 FIXED_ORDER_QUANTITY,
964 FIXED_DAYS_SUPPLY,
965 MAXIMUM_ORDER_QUANTITY,
966 ATP_RULE_ID,
967 PICKING_RULE_ID,
968 RESERVABLE_TYPE,
969 POSITIVE_MEASUREMENT_ERROR,
970 NEGATIVE_MEASUREMENT_ERROR,
971 ENGINEERING_ECN_CODE,
972 ENGINEERING_ITEM_ID,
973 ENGINEERING_DATE,
974 SERVICE_STARTING_DELAY,
975 -- VENDOR_WARRANTY_FLAG,
976 SERVICEABLE_COMPONENT_FLAG,
977 SERVICEABLE_PRODUCT_FLAG,
978 BASE_WARRANTY_SERVICE_ID,
979 PAYMENT_TERMS_ID,
980 PREVENTIVE_MAINTENANCE_FLAG,
981 PRIMARY_SPECIALIST_ID,
982 SECONDARY_SPECIALIST_ID,
983 SERVICEABLE_ITEM_CLASS_ID,
984 TIME_BILLABLE_FLAG,
985 MATERIAL_BILLABLE_FLAG,
986 EXPENSE_BILLABLE_FLAG,
987 PRORATE_SERVICE_FLAG,
988 COVERAGE_SCHEDULE_ID,
989 SERVICE_DURATION_PERIOD_CODE,
990 SERVICE_DURATION,
991 WARRANTY_VENDOR_ID,
992 MAX_WARRANTY_AMOUNT,
993 RESPONSE_TIME_PERIOD_CODE,
994 RESPONSE_TIME_VALUE,
995 NEW_REVISION_CODE,
996 INVOICEABLE_ITEM_FLAG,
997 TAX_CODE,
998 INVOICE_ENABLED_FLAG,
999 MUST_USE_APPROVED_VENDOR_FLAG,
1000 REQUEST_ID,
1001 PROGRAM_APPLICATION_ID,
1002 PROGRAM_ID,
1003 PROGRAM_UPDATE_DATE,
1004 OUTSIDE_OPERATION_FLAG,
1005 OUTSIDE_OPERATION_UOM_TYPE,
1006 SAFETY_STOCK_BUCKET_DAYS,
1007 AUTO_REDUCE_MPS,
1008 COSTING_ENABLED_FLAG,
1009 CYCLE_COUNT_ENABLED_FLAG,
1010 DEMAND_SOURCE_LINE,
1011 COPY_ITEM_ID,
1012 SET_ID,
1013 REVISION,
1014 AUTO_CREATED_CONFIG_FLAG,
1015 ITEM_TYPE,
1016 MODEL_CONFIG_CLAUSE_NAME,
1017 SHIP_MODEL_COMPLETE_FLAG,
1018 MRP_PLANNING_CODE,
1019 RETURN_INSPECTION_REQUIREMENT,
1020 DEMAND_SOURCE_TYPE,
1021 DEMAND_SOURCE_HEADER_ID,
1025 ITEM_NUMBER,
1022 TRANSACTION_ID,
1023 PROCESS_FLAG,
1024 ORGANIZATION_CODE,
1026 COPY_ITEM_NUMBER,
1027 TEMPLATE_ID,
1028 TEMPLATE_NAME,
1029 COPY_ORGANIZATION_ID,
1030 COPY_ORGANIZATION_CODE,
1031 ATO_FORECAST_CONTROL,
1032 TRANSACTION_TYPE,
1033 MATERIAL_COST,
1034 MATERIAL_SUB_ELEM,
1035 MATERIAL_OH_RATE,
1036 MATERIAL_OH_SUB_ELEM,
1037 MATERIAL_SUB_ELEM_ID,
1038 MATERIAL_OH_SUB_ELEM_ID,
1039 RELEASE_TIME_FENCE_CODE,
1040 RELEASE_TIME_FENCE_DAYS,
1041 CONTAINER_ITEM_FLAG,
1042 VEHICLE_ITEM_FLAG,
1043 MAXIMUM_LOAD_WEIGHT,
1044 MINIMUM_FILL_PERCENT,
1045 CONTAINER_TYPE_CODE,
1046 INTERNAL_VOLUME,
1047 SET_PROCESS_ID
1048 from MTL_SYSTEM_ITEMS_INTERFACE
1049 where process_flag = 1
1050 and set_process_id = xset_id
1051 and ((organization_id = org_id) or (all_org = 1));
1052
1053 ret_code NUMBER := 1;
1054 error_text VARCHAR2(250);
1055 dumm_status NUMBER;
1056 status_code NUMBER;
1057 t_organization_id NUMBER;
1058 t_inventory_item_id NUMBER;
1059 t_trans_id NUMBER;
1060 INVALID_TEMPLATE_ERR EXCEPTION;
1061 ASS_ITEM_ERR EXCEPTION;
1062 ORG_TEMPLATE_ERR EXCEPTION;
1063 PARSE_ITEM_ERR EXCEPTION;
1064 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
1065
1066 BEGIN -- {
1067
1068 IF l_inv_debug_level IN(101, 102) THEN
1069 INVPUTLI.info('INVUPD1B: Inside chk_exist_copy_template_attr'|| '***orgid: ' || TO_CHAR(org_id));
1070 END IF;
1071
1072 status_code := INVUPD1B.check_inv_item_id(
1073 org_id,
1074 all_org,
1075 prog_appid,
1076 prog_id,
1077 request_id,
1078 user_id,
1079 login_id,
1080 err_text,
1081 xset_id);
1082
1086 t_inventory_item_id := rec.inventory_item_id;
1083 for rec in C_msii_records loop -- {
1084 BEGIN -- {
1085 t_organization_id := rec.organization_id;
1087 t_trans_id := rec.transaction_id;
1088
1089 if (rec.item_number is not NULL) then -- {
1090 error_text := NULL;
1091 ret_code := INVPUOPI.mtl_pr_parse_item_number(
1092 rec.item_number,
1093 rec.inventory_item_id,
1094 rec.transaction_id,
1095 rec.organization_id,
1096 error_text,
1097 rec.rowid);
1098 if (ret_code < 0) then -- {
1099 raise PARSE_ITEM_ERR;
1100 end if; -- }
1101 end if; -- }
1102
1103 if ( INVUPD1B.exists_in_msi(
1104 rec.ROWID,
1105 t_organization_id,
1106 t_inventory_item_id,
1107 prog_appid,
1108 prog_id,
1109 request_id,
1110 user_id,
1111 login_id,
1112 t_trans_id,
1113 err_text,
1114 xset_id) = 1 )
1115 then
1116 rec.inventory_item_id := t_inventory_item_id;
1117 else
1118 -- flag error that record does not exist in msi
1119 --Bug: 4937990
1120 -- Changed the error message
1121 dumm_status := INVPUOPI.mtl_log_interface_err(
1122 t_organization_id,
1123 user_id,
1124 login_id,
1125 prog_appid,
1126 prog_id,
1127 request_id,
1128 t_trans_id,
1129 error_text,
1130 null,
1131 'MTL_SYSTEM_ITEMS_INTERFACE',
1132 'INV_ORGITEM_ID_NOT_FOUND',
1133 err_text);
1134 dumm_status := INVUPD2B.set_process_flag3(rec.ROWID,user_id,login_id,prog_appid,prog_id,request_id);
1135 end if;
1136 EXCEPTION
1137 -- if an oracle error occurred
1138 when ASS_ITEM_ERR then
1139 dumm_status := INVPUOPI.mtl_log_interface_err(
1140 t_organization_id,
1141 user_id,
1142 login_id,
1143 prog_appid,
1144 prog_id,
1145 request_id,
1146 t_trans_id,
1147 error_text,
1148 null,
1149 'MTL_SYSTEM_ITEMS_INTERFACE',
1150 'INV_TEMPLATE_ERROR',
1151 err_text);
1152 dumm_status := INVUPD2B.set_process_flag3(rec.ROWID,user_id,login_id,prog_appid,prog_id,request_id);
1153 status_code := 1;
1154
1155 when PARSE_ITEM_ERR then
1156 dumm_status := INVPUOPI.mtl_log_interface_err(
1157 t_organization_id,
1158 user_id,
1159 login_id,
1160 prog_appid,
1161 prog_id,
1162 request_id,
1163 t_trans_id,
1164 error_text,
1165 'ITEM_NUMBER',
1166 'MTL_SYSTEM_ITEMS_INTERFACE',
1167 'INV_PARSE_ITEM_ERROR',
1168 err_text);
1169 dumm_status := INVUPD2B.set_process_flag3(rec.ROWID,user_id,login_id,prog_appid,prog_id,request_id);
1170 END;
1171 end loop; -- msii loop
1172
1173 -- IOI Perf improvements..apply mass template.
1174 IF (INSTR(INV_EGO_REVISION_VALIDATE.Get_Process_Control,'PLM_UI:Y') = 0) THEN
1175 status_code := INVPULI2.copy_template_attributes(
1176 org_id
1177 ,all_org
1178 ,prog_appid
1179 ,prog_id
1180 ,request_id
1181 ,user_id
1182 ,login_id
1183 ,xset_id
1184 ,err_text);
1185 END IF;
1186
1187 return (status_code);
1188
1189 EXCEPTION
1190
1191 when OTHERS then
1192 IF l_inv_debug_level IN(101, 102) THEN
1193 INVPUTLI.info('when OTHERS exception raised in chk_exist_copy_template_attr');
1194 END IF;
1195 return (1);
1196
1197 END chk_exist_copy_template_attr; -- }
1198
1199
1200 FUNCTION check_inv_item_id
1201 (
1202 org_id NUMBER,
1203 all_org NUMBER := 2,
1204 prog_appid NUMBER := -1,
1205 prog_id NUMBER := -1,
1206 request_id NUMBER := -1,
1207 user_id NUMBER := -1,
1208 login_id NUMBER := -1,
1209 err_text IN OUT NOCOPY VARCHAR2,
1210 xset_id IN NUMBER DEFAULT -999
1211 )
1212 return INTEGER
1213 IS
1214 CURSOR C_inv_item_id_records is
1215 select process_flag, organization_id, transaction_id
1216 from MTL_SYSTEM_ITEMS_INTERFACE MSII
1217 where MSII.inventory_item_id is not NULL
1218 and MSII.set_process_id = xset_id
1219 and MSII.process_flag = 1
1220 and not exists
1221 (select inventory_item_id
1222 from MTL_SYSTEM_ITEMS_B MSI
1223 where MSII.inventory_item_id = MSI.inventory_item_id
1224 and MSII.organization_id = MSI.organization_id)
1225 for update;
1226
1227 error_text VARCHAR2(250);
1228 l_process_flag_3 NUMBER := 3;
1229 dumm_status NUMBER;
1230 ret_code NUMBER := 0;
1234
1231 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
1232
1233 BEGIN -- {
1235 IF l_inv_debug_level IN(101, 102) THEN
1236 INVPUTLI.info('INVUPD1B: Inside check_inv_item_id'|| '***orgid: ' || TO_CHAR(org_id));
1237 END IF;
1238
1239 for rec in C_inv_item_id_records loop -- {
1240
1241 dumm_status := INVPUOPI.mtl_log_interface_err(
1242 rec.organization_id,
1243 user_id,
1244 login_id,
1245 prog_appid,
1246 prog_id,
1247 request_id,
1248 rec.transaction_id,
1249 error_text,
1250 'INVENTORY_ITEM_ID',
1251 'MTL_SYSTEM_ITEMS_INTERFACE',
1252 'INV_INV_ITEM_ID_NOEXIST_ERROR',
1253 err_text);
1254
1255 update MTL_SYSTEM_ITEMS_INTERFACE
1259
1256 set process_flag = l_process_flag_3
1257 where current of C_inv_item_id_records;
1258 ret_code := 1;
1260 end loop; -- }
1261
1262 /* commit for debugging ONLY */
1263 -- commit;
1264
1265 return (ret_code);
1266
1267 EXCEPTION
1268
1269 when OTHERS then
1270 IF l_inv_debug_level IN(101, 102) THEN
1271 INVPUTLI.info('when OTHERS exception raised in check_inv_item_id');
1272 END IF;
1273 return (1);
1274
1275 END check_inv_item_id; -- }
1276
1277
1278 FUNCTION exists_in_msi
1279 (
1280 row_id ROWID,
1281 org_id NUMBER,
1282 inv_item_id IN OUT NOCOPY NUMBER,
1283 prog_appid NUMBER := -1,
1284 prog_id NUMBER := -1,
1285 request_id NUMBER := -1,
1286 user_id NUMBER := -1,
1287 login_id NUMBER := -1,
1288 trans_id NUMBER,
1289 err_text IN OUT NOCOPY VARCHAR2,
1290 xset_id IN NUMBER DEFAULT NULL
1291 )
1292 return INTEGER
1293 IS
1294 tmp_orgid NUMBER;
1295 error_text VARCHAR2(250);
1296 dumm_status NUMBER;
1297
1298 -- Dynamic SQL vars
1299 DSQL_inventory_item_id NUMBER;
1300 DSQL_statement VARCHAR2(3000);
1301 DSQL_c INTEGER; -- pointer to dynamic SQL cursor
1302 DSQL_rows_processed INTEGER;
1303 statement_temp VARCHAR2(2000);
1304 err_temp VARCHAR2(1000);
1305 transaction_id_bind INTEGER;
1306 dummy_ret_code NUMBER;
1307
1308 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
1309
1310 BEGIN -- {
1311
1312 IF l_inv_debug_level IN(101, 102) THEN
1313 INVPUTLI.info('INVUPD1B: Inside exists_in_msi'|| '***orgid: ' || TO_CHAR(org_id));
1314 END IF;
1315
1316 if inv_item_id is null then -- {
1317
1318 dummy_ret_code := INVPUTLI.get_dynamic_sql_str(1, statement_temp, err_temp);
1319 DSQL_statement := 'select msi.inventory_item_id
1320 from mtl_system_items_B msi,
1321 mtl_system_items_interface msii
1322 where msii.rowid = :row_id_bind
1323 AND msi.organization_id = msii.organization_id
1324 and ' || statement_temp;
1325 DSQL_c := dbms_sql.open_cursor;
1326 dbms_sql.parse(DSQL_c, DSQL_statement, dbms_sql.native);
1327 dbms_sql.define_column(DSQL_c,1,DSQL_inventory_item_id);
1328 dbms_sql.bind_variable(DSQL_c, 'row_id_bind', row_id);
1329 DSQL_rows_processed := dbms_sql.execute(DSQL_c);
1330 --
1331 if dbms_sql.fetch_rows(DSQL_c) > 0 then -- {
1332 dbms_sql.column_value(DSQL_c,1,DSQL_inventory_item_id);
1333 --
1334 update MTL_SYSTEM_ITEMS_INTERFACE
1335 set inventory_item_id = DSQL_inventory_item_id
1336 where rowid = row_id;
1337 --
1338 inv_item_id := DSQL_inventory_item_id;
1339 dbms_sql.close_cursor(DSQL_c);
1340 else -- } {
1341 dbms_sql.close_cursor(DSQL_c);
1342 --
1343 return (0);
1344 end if; -- }
1345
1346 end if; -- }
1347
1348 select organization_id
1349 into tmp_orgid
1350 from MTL_SYSTEM_ITEMS_B
1351 where organization_id = org_id
1352 and inventory_item_id = inv_item_id;
1353
1354 return (1);
1355
1356 EXCEPTION
1357
1358 when NO_DATA_FOUND then
1359 -- orgid inv_item_id combination does not exist in msi
1360 return 0;
1361
1362 when OTHERS then
1363 IF l_inv_debug_level IN(101, 102) THEN
1364 INVPUTLI.info('when OTHERS exception raised in exists_in_msi');
1365 END IF;
1366
1367 if dbms_sql.is_open(DSQL_c) then -- {
1368 dbms_sql.close_cursor(DSQL_c);
1369 end if; -- }
1370
1371 dumm_status := INVPUOPI.mtl_log_interface_err(
1372 org_id,
1373 user_id,
1374 login_id,
1375 prog_appid,
1376 prog_id,
1377 request_id,
1378 trans_id,
1379 error_text,
1380 null,
1381 'MTL_SYSTEM_ITEMS_INTERFACE',
1382 'INV_DYN_SQL_ERROR',
1383 err_text);
1384
1385 dumm_status := INVUPD2B.set_process_flag3 (row_id,user_id,login_id,prog_appid,prog_id,request_id);
1386
1387 return (0);
1388
1389 END exists_in_msi; -- }
1390
1391
1392 FUNCTION exists_onhand_quantities
1393 (
1394 org_id NUMBER,
1395 inv_item_id NUMBER
1396 )
1397 return INTEGER
1398 IS
1399 tmp_org_id NUMBER;
1400 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
1401 BEGIN -- {
1402
1403 IF l_inv_debug_level IN(101, 102) THEN
1404 INVPUTLI.info('INVUPD1B: Inside exists_onhand_quantities'|| '***orgid: ' || TO_CHAR(org_id));
1405 END IF;
1406
1407
1408
1409 select organization_id
1410 into tmp_org_id
1411 from MTL_ONHAND_QUANTITIES_DETAIL MOQ -- Bug:2687570
1412 where MOQ.ORGANIZATION_ID = org_id
1413 AND MOQ.INVENTORY_ITEM_ID = inv_item_id;
1414
1415 return (1);
1416
1417 EXCEPTION
1418
1419 when NO_DATA_FOUND then
1420 return (0);
1421
1422 when TOO_MANY_ROWS then
1423 return (1);
1424
1425 when OTHERS then
1426 IF l_inv_debug_level IN(101, 102) THEN
1427 INVPUTLI.info('when OTHERS exception raised in exists_onhand_quantities');
1428 END IF;
1429 return (0);
1430
1431 END exists_onhand_quantities; -- }
1432
1433
1434 FUNCTION exists_onhand_child_qties
1435 (
1436 org_id NUMBER,
1437 inv_item_id NUMBER
1438 )
1439 return INTEGER
1440 IS
1441 -- child records in msi of master org_id
1442 CURSOR C_child_msi_records IS
1443 select
1444 MSI.INVENTORY_ITEM_ID,
1448 and MP.organization_id = MSI.organization_id
1445 MSI.ORGANIZATION_ID
1446 from MTL_SYSTEM_ITEMS_B MSI, MTL_PARAMETERS MP
1447 where MP.master_organization_id = org_id
1449 and MSI.inventory_item_id = inv_item_id
1450 and MSI.organization_id <> MP.master_organization_id;
1451
1455 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
1452 tmp_org_id NUMBER;
1453 status NUMBER := 0;
1454
1456
1457 BEGIN -- {
1458
1459 IF l_inv_debug_level IN(101, 102) THEN
1460 INVPUTLI.info('INVUPD1B: Inside exists_onhand_child_qties'|| '***orgid: ' || TO_CHAR(org_id));
1461 END IF;
1462 -- if record is a master record
1463 select organization_id
1464 into tmp_org_id
1465 from MTL_PARAMETERS MP
1466 where MP.organization_id = org_id
1467 AND MP.master_organization_id = org_id;
1468
1469 for rec in C_child_msi_records loop -- {
1470
1471 status := INVUPD1B.exists_onhand_quantities(rec.INVENTORY_ITEM_ID, rec.ORGANIZATION_ID);
1472 exit when status = 1;
1473
1474 end loop; -- }
1475
1476 return status;
1477
1478 -- if exists_onhand_quantities
1479 -- return (1)
1480 -- else
1481 -- return (0) [default]
1482
1483 EXCEPTION
1484
1485 when NO_DATA_FOUND then -- record is not a master record
1486 return (0);
1487
1488 when OTHERS then
1489 IF l_inv_debug_level IN(101, 102) THEN
1490 INVPUTLI.info('when OTHERS exception raised in exists_onhand_child_qties');
1491 END IF;
1492 return (0);
1493
1494 END exists_onhand_child_qties; -- }
1495
1496
1497 FUNCTION copy_msi_to_msii(
1498 row_id ROWID,
1499 org_id NUMBER,
1500 inv_item_id NUMBER) return INTEGER IS
1501
1502 CURSOR c_trade_item_default
1503 IS
1504 SELECT default_value FROM FND_DESCR_FLEX_COLUMN_USAGES
1505 WHERE application_id = 431
1506 AND DESCRIPTIVE_FLEXFIELD_NAME = 'EGO_MASTER_ITEMS'
1507 AND DESCRIPTIVE_FLEX_CONTEXT_CODE = 'Main'
1508 AND END_USER_COLUMN_NAME = 'Trade_Item_Descriptor';
1509
1510 msi_record_temp MTL_SYSTEM_ITEMS_VL%ROWTYPE;
1511 msii_temp_data MTL_SYSTEM_ITEMS_INTERFACE%ROWTYPE;
1512 l_process_flag_2 NUMBER := 2;
1513 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
1514
1515 BEGIN -- {
1516
1517 IF l_inv_debug_level IN(101, 102) THEN
1518 INVPUTLI.info('INVUPD1B: Inside copy_msi_to_msii'|| '***orgid: ' || TO_CHAR(org_id));
1519 END IF;
1520
1521 SELECT * INTO msi_record_temp
1522 FROM MTL_SYSTEM_ITEMS_VL MSI
1523 WHERE MSI.organization_id = org_id
1524 AND MSI.inventory_item_id = inv_item_id;
1525
1526 SELECT * INTO msii_temp_data
1527 FROM MTL_SYSTEM_ITEMS_INTERFACE msii
1528 WHERE MSII.ROWID = ROW_ID;
1529
1530 -- Start 5565453 : Perf issue reducing the shared memory
1531 IF msii_temp_data.DAYS_MAX_INV_WINDOW IS NULL THEN
1532 msii_temp_data.DAYS_MAX_INV_WINDOW := msi_record_temp.DAYS_MAX_INV_WINDOW;
1533 ELSIF msii_temp_data.DAYS_MAX_INV_WINDOW = g_Upd_Null_NUM THEN
1534 msii_temp_data.DAYS_MAX_INV_WINDOW := NULL;
1535 ELSIF msii_temp_data.DAYS_MAX_INV_WINDOW = g_FND_Upd_Null_NUM THEN
1536 msii_temp_data.DAYS_MAX_INV_WINDOW := NULL;
1537 END IF;
1538 IF msii_temp_data.DRP_PLANNED_FLAG IS NULL THEN
1539 msii_temp_data.DRP_PLANNED_FLAG := msi_record_temp.DRP_PLANNED_FLAG;
1540 ELSIF msii_temp_data.DRP_PLANNED_FLAG = g_Upd_Null_NUM THEN
1541 msii_temp_data.DRP_PLANNED_FLAG := NULL;
1542 ELSIF msii_temp_data.DRP_PLANNED_FLAG = g_FND_Upd_Null_NUM THEN
1543 msii_temp_data.DRP_PLANNED_FLAG := NULL;
1544 END IF;
1545 IF msii_temp_data.CRITICAL_COMPONENT_FLAG IS NULL THEN
1546 msii_temp_data.CRITICAL_COMPONENT_FLAG := msi_record_temp.CRITICAL_COMPONENT_FLAG;
1547 ELSIF msii_temp_data.CRITICAL_COMPONENT_FLAG = g_Upd_Null_NUM THEN
1548 msii_temp_data.CRITICAL_COMPONENT_FLAG := NULL;
1549 ELSIF msii_temp_data.CRITICAL_COMPONENT_FLAG = g_FND_Upd_Null_NUM THEN
1550 msii_temp_data.CRITICAL_COMPONENT_FLAG := NULL;
1551 END IF;
1552 IF msii_temp_data.CONTINOUS_TRANSFER IS NULL THEN
1553 msii_temp_data.CONTINOUS_TRANSFER := msi_record_temp.CONTINOUS_TRANSFER;
1554 ELSIF msii_temp_data.CONTINOUS_TRANSFER = g_Upd_Null_NUM THEN
1555 msii_temp_data.CONTINOUS_TRANSFER := NULL;
1556 ELSIF msii_temp_data.CONTINOUS_TRANSFER = g_FND_Upd_Null_NUM THEN
1557 msii_temp_data.CONTINOUS_TRANSFER := NULL;
1558 END IF;
1559 IF msii_temp_data.CONVERGENCE IS NULL THEN
1560 msii_temp_data.CONVERGENCE := msi_record_temp.CONVERGENCE;
1561 ELSIF msii_temp_data.CONVERGENCE = g_Upd_Null_NUM THEN
1562 msii_temp_data.CONVERGENCE := NULL;
1563 ELSIF msii_temp_data.CONVERGENCE = g_FND_Upd_Null_NUM THEN
1567 msii_temp_data.DIVERGENCE := msi_record_temp.DIVERGENCE;
1564 msii_temp_data.CONVERGENCE := NULL;
1565 END IF;
1566 IF msii_temp_data.DIVERGENCE IS NULL THEN
1568 ELSIF msii_temp_data.DIVERGENCE = g_Upd_Null_NUM THEN
1569 msii_temp_data.DIVERGENCE := NULL;
1570 ELSIF msii_temp_data.DIVERGENCE = g_FND_Upd_Null_NUM THEN
1571 msii_temp_data.DIVERGENCE := NULL;
1572 END IF;
1573 IF msii_temp_data.LOT_DIVISIBLE_FLAG is null then
1574 msii_temp_data.LOT_DIVISIBLE_FLAG := msi_record_temp.LOT_DIVISIBLE_FLAG;
1575 END IF;
1576 IF msii_temp_data.GRADE_CONTROL_FLAG is null then
1577 msii_temp_data.GRADE_CONTROL_FLAG := msi_record_temp.GRADE_CONTROL_FLAG;
1578 END IF;
1579 IF msii_temp_data.CHILD_LOT_FLAG is null then
1580 msii_temp_data.CHILD_LOT_FLAG := msi_record_temp.CHILD_LOT_FLAG;
1581 END IF;
1582 /* Bug 8453724. Added ELSIF statements to set PARENT_CHILD_GENERATION_FLAG to NULL, if it has '!' character, which is used
1583 to null out a value in IOI */
1584 IF msii_temp_data.PARENT_CHILD_GENERATION_FLAG is null then
1585 msii_temp_data.PARENT_CHILD_GENERATION_FLAG := msi_record_temp.PARENT_CHILD_GENERATION_FLAG;
1586 ELSIF msii_temp_data.PARENT_CHILD_GENERATION_FLAG = g_Upd_Null_CHAR THEN
1587 msii_temp_data.PARENT_CHILD_GENERATION_FLAG := NULL;
1588 ELSIF msii_temp_data.PARENT_CHILD_GENERATION_FLAG = g_FND_Upd_Null_Char THEN
1589 msii_temp_data.PARENT_CHILD_GENERATION_FLAG := NULL;
1590 END IF;
1591 IF msii_temp_data.CHILD_LOT_STARTING_NUMBER IS NULL THEN
1592 msii_temp_data.CHILD_LOT_STARTING_NUMBER := msi_record_temp.CHILD_LOT_STARTING_NUMBER;
1593 ELSIF to_char( msii_temp_data.CHILD_LOT_STARTING_NUMBER ) = '!' THEN
1594 msii_temp_data.CHILD_LOT_STARTING_NUMBER := NULL;
1595 ELSIF to_char( msii_temp_data.CHILD_LOT_STARTING_NUMBER ) = g_FND_Upd_Null_Char THEN
1596 msii_temp_data.CHILD_LOT_STARTING_NUMBER := NULL;
1597 END IF;
1598 IF msii_temp_data.CHILD_LOT_VALIDATION_FLAG is null then
1599 msii_temp_data.CHILD_LOT_VALIDATION_FLAG := msi_record_temp.CHILD_LOT_VALIDATION_FLAG;
1600 END IF;
1601 IF msii_temp_data.PROCESS_QUALITY_ENABLED_FLAG is null then
1602 msii_temp_data.PROCESS_QUALITY_ENABLED_FLAG := msi_record_temp.PROCESS_QUALITY_ENABLED_FLAG;
1603 END IF;
1607 msii_temp_data.PROCESS_SUPPLY_SUBINVENTORY := NULL;
1604 IF msii_temp_data.PROCESS_SUPPLY_SUBINVENTORY IS NULL THEN
1605 msii_temp_data.PROCESS_SUPPLY_SUBINVENTORY := msi_record_temp.PROCESS_SUPPLY_SUBINVENTORY;
1606 ELSIF msii_temp_data.PROCESS_SUPPLY_SUBINVENTORY = '!' THEN
1608 ELSIF msii_temp_data.PROCESS_SUPPLY_SUBINVENTORY = g_FND_Upd_Null_Char THEN
1609 msii_temp_data.PROCESS_SUPPLY_SUBINVENTORY := NULL;
1610 END IF;
1611 IF msii_temp_data.PROCESS_YIELD_SUBINVENTORY IS NULL THEN
1612 msii_temp_data.PROCESS_YIELD_SUBINVENTORY := msi_record_temp.PROCESS_YIELD_SUBINVENTORY;
1613 ELSIF msii_temp_data.PROCESS_YIELD_SUBINVENTORY = '!' THEN
1614 msii_temp_data.PROCESS_YIELD_SUBINVENTORY := NULL;
1615 ELSIF msii_temp_data.PROCESS_YIELD_SUBINVENTORY = g_FND_Upd_Null_Char THEN
1616 msii_temp_data.PROCESS_YIELD_SUBINVENTORY := NULL;
1617 END IF;
1618 IF msii_temp_data.HAZARDOUS_MATERIAL_FLAG is null then
1619 msii_temp_data.HAZARDOUS_MATERIAL_FLAG := msi_record_temp.HAZARDOUS_MATERIAL_FLAG;
1620 END IF;
1621 IF msii_temp_data.CAS_NUMBER IS NULL THEN
1622 msii_temp_data.CAS_NUMBER := msi_record_temp.CAS_NUMBER;
1623 ELSIF msii_temp_data.CAS_NUMBER = '!' THEN
1624 msii_temp_data.CAS_NUMBER := NULL;
1625 ELSIF msii_temp_data.CAS_NUMBER = g_FND_Upd_Null_Char THEN
1626 msii_temp_data.CAS_NUMBER := NULL;
1627 END IF;
1628 IF msii_temp_data.EXPIRATION_ACTION_INTERVAL IS NULL THEN
1629 msii_temp_data.EXPIRATION_ACTION_INTERVAL := msi_record_temp.EXPIRATION_ACTION_INTERVAL;
1630 ELSIF msii_temp_data.EXPIRATION_ACTION_INTERVAL = -999999 THEN
1634 END IF;
1631 msii_temp_data.EXPIRATION_ACTION_INTERVAL := NULL;
1632 ELSIF msii_temp_data.EXPIRATION_ACTION_INTERVAL = g_FND_Upd_Null_NUM THEN
1633 msii_temp_data.EXPIRATION_ACTION_INTERVAL := NULL;
1635 IF msii_temp_data.EXPIRATION_ACTION_CODE is null then
1636 msii_temp_data.EXPIRATION_ACTION_CODE := msi_record_temp.EXPIRATION_ACTION_CODE;
1637 ELSIF msii_temp_data.EXPIRATION_ACTION_CODE = '!' THEN
1638 msii_temp_data.EXPIRATION_ACTION_CODE := NULL;
1639 END IF;
1640 IF msii_temp_data.HOLD_DAYS IS NULL THEN
1641 msii_temp_data.HOLD_DAYS := msi_record_temp.HOLD_DAYS;
1642 ELSIF msii_temp_data.HOLD_DAYS = -999999 THEN
1643 msii_temp_data.HOLD_DAYS := NULL;
1644 ELSIF msii_temp_data.HOLD_DAYS = g_FND_Upd_Null_NUM THEN
1645 msii_temp_data.HOLD_DAYS := NULL;
1646 END IF;
1647 IF msii_temp_data.REPAIR_LEADTIME IS NULL THEN
1648 msii_temp_data.REPAIR_LEADTIME := msi_record_temp.REPAIR_LEADTIME;
1649 ELSIF msii_temp_data.REPAIR_LEADTIME = -999999 THEN
1650 msii_temp_data.REPAIR_LEADTIME := NULL;
1651 ELSIF msii_temp_data.REPAIR_LEADTIME = g_FND_Upd_Null_NUM THEN
1652 msii_temp_data.REPAIR_LEADTIME := NULL;
1653 END IF;
1654 IF msii_temp_data.REPAIR_YIELD IS NULL THEN
1655 msii_temp_data.REPAIR_YIELD := msi_record_temp.REPAIR_YIELD;
1656 ELSIF msii_temp_data.REPAIR_YIELD = -999999 THEN
1657 msii_temp_data.REPAIR_YIELD := NULL;
1658 ELSIF msii_temp_data.REPAIR_YIELD = g_FND_Upd_Null_NUM THEN
1659 msii_temp_data.REPAIR_YIELD := NULL;
1660 END IF;
1661 IF msii_temp_data.REPAIR_PROGRAM IS NULL THEN
1662 msii_temp_data.REPAIR_PROGRAM := msi_record_temp.REPAIR_PROGRAM;
1663 ELSIF msii_temp_data.REPAIR_PROGRAM = -999999 THEN
1664 msii_temp_data.REPAIR_PROGRAM := NULL;
1665 ELSIF msii_temp_data.REPAIR_PROGRAM = g_FND_Upd_Null_NUM THEN
1666 msii_temp_data.REPAIR_PROGRAM := NULL;
1667 END IF;
1668 IF msii_temp_data.OUTSOURCED_ASSEMBLY IS NULL THEN
1669 msii_temp_data.OUTSOURCED_ASSEMBLY := msi_record_temp.OUTSOURCED_ASSEMBLY;
1670 ELSIF msii_temp_data.OUTSOURCED_ASSEMBLY = -999999 THEN
1671 msii_temp_data.OUTSOURCED_ASSEMBLY := NULL;
1672 ELSIF msii_temp_data.OUTSOURCED_ASSEMBLY = g_FND_Upd_Null_NUM THEN
1673 msii_temp_data.OUTSOURCED_ASSEMBLY := NULL;
1674 END IF;
1675 IF trim(msii_temp_data.RFQ_REQUIRED_FLAG) is null then
1676 msii_temp_data.RFQ_REQUIRED_FLAG := msi_record_temp.RFQ_REQUIRED_FLAG;
1677 ELSE
1678 msii_temp_data.RFQ_REQUIRED_FLAG := trim(msii_temp_data.RFQ_REQUIRED_FLAG);
1679 END IF;
1680 IF msii_temp_data.MIN_MINMAX_QUANTITY IS NULL THEN
1681 msii_temp_data.MIN_MINMAX_QUANTITY := msi_record_temp.MIN_MINMAX_QUANTITY;
1682 ELSIF msii_temp_data.MIN_MINMAX_QUANTITY = -999999 THEN
1683 msii_temp_data.MIN_MINMAX_QUANTITY := NULL;
1684 ELSIF msii_temp_data.MIN_MINMAX_QUANTITY = g_FND_Upd_Null_NUM THEN
1685 msii_temp_data.MIN_MINMAX_QUANTITY := NULL;
1686 END IF;
1687 IF msii_temp_data.PROGRAM_APPLICATION_ID is null then
1688 msii_temp_data.PROGRAM_APPLICATION_ID := msi_record_temp.PROGRAM_APPLICATION_ID;
1689 END IF;
1690 IF msii_temp_data.DEFAULT_SERIAL_STATUS_ID IS NULL THEN
1691 msii_temp_data.DEFAULT_SERIAL_STATUS_ID := msi_record_temp.DEFAULT_SERIAL_STATUS_ID;
1692 ELSIF msii_temp_data.DEFAULT_SERIAL_STATUS_ID = g_Upd_Null_NUM THEN
1693 msii_temp_data.DEFAULT_SERIAL_STATUS_ID := NULL;
1694 ELSIF msii_temp_data.DEFAULT_SERIAL_STATUS_ID = g_FND_Upd_Null_NUM THEN
1695 msii_temp_data.DEFAULT_SERIAL_STATUS_ID := NULL;
1696 END IF;
1697 IF msii_temp_data.ASN_AUTOEXPIRE_FLAG IS NULL THEN
1698 msii_temp_data.ASN_AUTOEXPIRE_FLAG := msi_record_temp.ASN_AUTOEXPIRE_FLAG;
1699 ELSIF msii_temp_data.ASN_AUTOEXPIRE_FLAG = g_Upd_Null_NUM THEN
1700 msii_temp_data.ASN_AUTOEXPIRE_FLAG := NULL;
1701 ELSIF msii_temp_data.ASN_AUTOEXPIRE_FLAG = g_FND_Upd_Null_NUM THEN
1702 msii_temp_data.ASN_AUTOEXPIRE_FLAG := NULL;
1703 END IF;
1704 IF msii_temp_data.DEFAULT_GRADE IS NULL THEN
1705 msii_temp_data.DEFAULT_GRADE := msi_record_temp.DEFAULT_GRADE;
1706 ELSIF msii_temp_data.DEFAULT_GRADE = '!' THEN
1707 msii_temp_data.DEFAULT_GRADE := NULL;
1708 ELSIF msii_temp_data.DEFAULT_GRADE = g_FND_Upd_Null_Char THEN
1709 msii_temp_data.DEFAULT_GRADE := NULL;
1710 END IF;
1711 IF msii_temp_data.CHILD_LOT_PREFIX IS NULL THEN
1712 msii_temp_data.CHILD_LOT_PREFIX := msi_record_temp.CHILD_LOT_PREFIX;
1713 ELSIF msii_temp_data.CHILD_LOT_PREFIX = '!' THEN
1714 msii_temp_data.CHILD_LOT_PREFIX := NULL;
1715 ELSIF msii_temp_data.CHILD_LOT_PREFIX = g_FND_Upd_Null_Char THEN
1716 msii_temp_data.CHILD_LOT_PREFIX := NULL;
1717 END IF;
1718 IF msii_temp_data.COPY_LOT_ATTRIBUTE_FLAG is null then
1719 msii_temp_data.COPY_LOT_ATTRIBUTE_FLAG := msi_record_temp.COPY_LOT_ATTRIBUTE_FLAG;
1720 END IF;
1721 IF msii_temp_data.PROCESS_COSTING_ENABLED_FLAG is null then
1722 msii_temp_data.PROCESS_COSTING_ENABLED_FLAG := msi_record_temp.PROCESS_COSTING_ENABLED_FLAG;
1723 END IF;
1724 IF msii_temp_data.PROCESS_SUPPLY_LOCATOR_ID IS NULL THEN
1725 msii_temp_data.PROCESS_SUPPLY_LOCATOR_ID := msi_record_temp.PROCESS_SUPPLY_LOCATOR_ID;
1729 msii_temp_data.PROCESS_SUPPLY_LOCATOR_ID := NULL;
1726 ELSIF msii_temp_data.PROCESS_SUPPLY_LOCATOR_ID = -999999 THEN
1727 msii_temp_data.PROCESS_SUPPLY_LOCATOR_ID := NULL;
1728 ELSIF msii_temp_data.PROCESS_SUPPLY_LOCATOR_ID = g_FND_Upd_Null_NUM THEN
1730 END IF;
1731 IF msii_temp_data.PROCESS_YIELD_LOCATOR_ID IS NULL THEN
1732 msii_temp_data.PROCESS_YIELD_LOCATOR_ID := msi_record_temp.PROCESS_YIELD_LOCATOR_ID;
1733 ELSIF msii_temp_data.PROCESS_YIELD_LOCATOR_ID = -999999 THEN
1734 msii_temp_data.PROCESS_YIELD_LOCATOR_ID := NULL;
1735 ELSIF msii_temp_data.PROCESS_YIELD_LOCATOR_ID = g_FND_Upd_Null_NUM THEN
1736 msii_temp_data.PROCESS_YIELD_LOCATOR_ID := NULL;
1737 END IF;
1738 IF msii_temp_data.RETEST_INTERVAL IS NULL THEN
1739 msii_temp_data.RETEST_INTERVAL := msi_record_temp.RETEST_INTERVAL;
1740 ELSIF msii_temp_data.RETEST_INTERVAL = -999999 THEN
1741 msii_temp_data.RETEST_INTERVAL := NULL;
1742 ELSIF msii_temp_data.RETEST_INTERVAL = g_FND_Upd_Null_NUM THEN
1743 msii_temp_data.RETEST_INTERVAL := NULL;
1744 END IF;
1745 IF msii_temp_data.MATURITY_DAYS IS NULL THEN
1746 msii_temp_data.MATURITY_DAYS := msi_record_temp.MATURITY_DAYS;
1747 ELSIF msii_temp_data.MATURITY_DAYS = -999999 THEN
1748 msii_temp_data.MATURITY_DAYS := NULL;
1749 ELSIF msii_temp_data.MATURITY_DAYS = g_FND_Upd_Null_NUM THEN
1750 msii_temp_data.MATURITY_DAYS := NULL;
1751 END IF;
1752 IF msii_temp_data.CHARGE_PERIODICITY_CODE IS NULL THEN
1753 msii_temp_data.CHARGE_PERIODICITY_CODE := msi_record_temp.CHARGE_PERIODICITY_CODE;
1754 ELSIF msii_temp_data.CHARGE_PERIODICITY_CODE = '!' THEN
1755 msii_temp_data.CHARGE_PERIODICITY_CODE := NULL;
1756 ELSIF msii_temp_data.CHARGE_PERIODICITY_CODE = g_FND_Upd_Null_Char THEN
1757 msii_temp_data.CHARGE_PERIODICITY_CODE := NULL;
1758 END IF;
1759 IF msii_temp_data.PREPOSITION_POINT IS NULL THEN
1760 msii_temp_data.PREPOSITION_POINT := msi_record_temp.PREPOSITION_POINT;
1761 ELSIF msii_temp_data.PREPOSITION_POINT = '!' THEN
1762 msii_temp_data.PREPOSITION_POINT := NULL;
1763 ELSIF msii_temp_data.PREPOSITION_POINT = g_FND_Upd_Null_Char THEN
1764 msii_temp_data.PREPOSITION_POINT := NULL;
1765 END IF;
1766 IF msii_temp_data.SUBCONTRACTING_COMPONENT IS NULL THEN
1767 msii_temp_data.SUBCONTRACTING_COMPONENT := msi_record_temp.SUBCONTRACTING_COMPONENT;
1768 ELSIF msii_temp_data.SUBCONTRACTING_COMPONENT = -999999 THEN
1769 msii_temp_data.SUBCONTRACTING_COMPONENT := NULL;
1770 ELSIF msii_temp_data.SUBCONTRACTING_COMPONENT = g_FND_Upd_Null_NUM THEN
1771 msii_temp_data.SUBCONTRACTING_COMPONENT := NULL;
1772 END IF;
1773 IF msii_temp_data.DEMAND_TIME_FENCE_CODE IS NULL THEN
1774 msii_temp_data.DEMAND_TIME_FENCE_CODE := msi_record_temp.DEMAND_TIME_FENCE_CODE;
1775 ELSIF msii_temp_data.DEMAND_TIME_FENCE_CODE = -999999 THEN
1776 msii_temp_data.DEMAND_TIME_FENCE_CODE := NULL;
1777 ELSIF msii_temp_data.DEMAND_TIME_FENCE_CODE = g_FND_Upd_Null_NUM THEN
1778 msii_temp_data.DEMAND_TIME_FENCE_CODE := NULL;
1779 END IF;
1780 IF msii_temp_data.SAFETY_STOCK_BUCKET_DAYS IS NULL THEN
1781 msii_temp_data.SAFETY_STOCK_BUCKET_DAYS := msi_record_temp.SAFETY_STOCK_BUCKET_DAYS;
1782 ELSIF msii_temp_data.SAFETY_STOCK_BUCKET_DAYS = -999999 THEN
1783 msii_temp_data.SAFETY_STOCK_BUCKET_DAYS := NULL;
1784 ELSIF msii_temp_data.SAFETY_STOCK_BUCKET_DAYS = g_FND_Upd_Null_NUM THEN
1785 msii_temp_data.SAFETY_STOCK_BUCKET_DAYS := NULL;
1786 END IF;
1787 -- added following ELSIF condition to fix bug 8827755
1788 IF trim(msii_temp_data.DESCRIPTION) is null then
1789 msii_temp_data.DESCRIPTION := msi_record_temp.DESCRIPTION;
1790 ELSIF msii_temp_data.DESCRIPTION = '!' THEN
1791 msii_temp_data.DESCRIPTION := NULL;
1792 ELSE
1793 msii_temp_data.DESCRIPTION := trim(msii_temp_data.DESCRIPTION);
1794 END IF;
1795 IF msii_temp_data.LONG_DESCRIPTION IS NULL THEN
1796 msii_temp_data.LONG_DESCRIPTION := msi_record_temp.LONG_DESCRIPTION;
1797 ELSIF msii_temp_data.LONG_DESCRIPTION = '!' THEN
1798 msii_temp_data.LONG_DESCRIPTION := NULL;
1799 ELSIF msii_temp_data.LONG_DESCRIPTION = g_FND_Upd_Null_Char THEN
1800 msii_temp_data.LONG_DESCRIPTION := NULL;
1801 ELSE
1802 msii_temp_data.LONG_DESCRIPTION := trim(msii_temp_data.LONG_DESCRIPTION);
1803 END IF;
1804 IF msii_temp_data.BUYER_ID IS NULL THEN
1805 msii_temp_data.BUYER_ID := msi_record_temp.BUYER_ID;
1806 ELSIF msii_temp_data.BUYER_ID = -999999 THEN
1807 msii_temp_data.BUYER_ID := NULL;
1808 ELSIF msii_temp_data.BUYER_ID = g_FND_Upd_Null_NUM THEN
1809 msii_temp_data.BUYER_ID := NULL;
1810 END IF;
1811 IF msii_temp_data.INVOICING_RULE_ID IS NULL THEN
1812 msii_temp_data.INVOICING_RULE_ID := msi_record_temp.INVOICING_RULE_ID;
1813 ELSIF msii_temp_data.INVOICING_RULE_ID = -999999 THEN
1814 msii_temp_data.INVOICING_RULE_ID := NULL;
1815 ELSIF msii_temp_data.INVOICING_RULE_ID = g_FND_Upd_Null_NUM THEN
1816 msii_temp_data.INVOICING_RULE_ID := NULL;
1817 END IF;
1818 IF trim(msii_temp_data.SEGMENT6) is null then
1819 msii_temp_data.SEGMENT6 := msi_record_temp.SEGMENT6;
1820 ELSE
1821 msii_temp_data.SEGMENT6 := trim(msii_temp_data.SEGMENT6);
1822 END IF;
1823 IF trim(msii_temp_data.SEGMENT8) is null then
1824 msii_temp_data.SEGMENT8 := msi_record_temp.SEGMENT8;
1825 ELSE
1826 msii_temp_data.SEGMENT8 := trim(msii_temp_data.SEGMENT8);
1827 END IF;
1828 IF trim(msii_temp_data.SEGMENT11) is null then
1829 msii_temp_data.SEGMENT11 := msi_record_temp.SEGMENT11;
1830 ELSE
1834 msii_temp_data.SEGMENT14 := msi_record_temp.SEGMENT14;
1831 msii_temp_data.SEGMENT11 := trim(msii_temp_data.SEGMENT11);
1832 END IF;
1833 IF trim(msii_temp_data.SEGMENT14) is null then
1835 ELSE
1836 msii_temp_data.SEGMENT14 := trim(msii_temp_data.SEGMENT14);
1837 END IF;
1838 IF trim(msii_temp_data.SEGMENT19) is null then
1839 msii_temp_data.SEGMENT19 := msi_record_temp.SEGMENT19;
1840 ELSE
1841 msii_temp_data.SEGMENT19 := trim(msii_temp_data.SEGMENT19);
1842 END IF;
1843 IF msii_temp_data.ATTRIBUTE_CATEGORY IS NULL THEN
1844 msii_temp_data.ATTRIBUTE_CATEGORY := msi_record_temp.ATTRIBUTE_CATEGORY;
1845 ELSIF msii_temp_data.ATTRIBUTE_CATEGORY = '!' THEN
1846 msii_temp_data.ATTRIBUTE_CATEGORY := NULL;
1847 ELSIF msii_temp_data.ATTRIBUTE_CATEGORY = g_FND_Upd_Null_Char THEN
1848 msii_temp_data.ATTRIBUTE_CATEGORY := NULL;
1849 ELSE
1850 msii_temp_data.ATTRIBUTE_CATEGORY := trim(msii_temp_data.ATTRIBUTE_CATEGORY);
1851 END IF;
1852 IF msii_temp_data.ATTRIBUTE3 IS NULL THEN
1853 msii_temp_data.ATTRIBUTE3 := msi_record_temp.ATTRIBUTE3;
1854 ELSIF msii_temp_data.ATTRIBUTE3 = '!' THEN
1858 ELSE
1855 msii_temp_data.ATTRIBUTE3 := NULL;
1856 ELSIF msii_temp_data.ATTRIBUTE3 = g_FND_Upd_Null_Char THEN
1857 msii_temp_data.ATTRIBUTE3 := NULL;
1859 msii_temp_data.ATTRIBUTE3 := trim(msii_temp_data.ATTRIBUTE3);
1860 END IF;
1861 IF msii_temp_data.ATTRIBUTE5 IS NULL THEN
1862 msii_temp_data.ATTRIBUTE5 := msi_record_temp.ATTRIBUTE5;
1863 ELSIF msii_temp_data.ATTRIBUTE5 = '!' THEN
1864 msii_temp_data.ATTRIBUTE5 := NULL;
1865 ELSIF msii_temp_data.ATTRIBUTE5 = g_FND_Upd_Null_Char THEN
1866 msii_temp_data.ATTRIBUTE5 := NULL;
1867 ELSE
1868 msii_temp_data.ATTRIBUTE5 := trim(msii_temp_data.ATTRIBUTE5);
1869 END IF;
1870 IF msii_temp_data.ATTRIBUTE7 IS NULL THEN
1871 msii_temp_data.ATTRIBUTE7 := msi_record_temp.ATTRIBUTE7;
1872 ELSIF msii_temp_data.ATTRIBUTE7 = '!' THEN
1873 msii_temp_data.ATTRIBUTE7 := NULL;
1874 ELSIF msii_temp_data.ATTRIBUTE7 = g_FND_Upd_Null_Char THEN
1875 msii_temp_data.ATTRIBUTE7 := NULL;
1876 ELSE
1877 msii_temp_data.ATTRIBUTE7 := trim(msii_temp_data.ATTRIBUTE7);
1878 END IF;
1879 IF msii_temp_data.ATTRIBUTE10 IS NULL THEN
1880 msii_temp_data.ATTRIBUTE10 := msi_record_temp.ATTRIBUTE10;
1881 ELSIF msii_temp_data.ATTRIBUTE10 = '!' THEN
1882 msii_temp_data.ATTRIBUTE10 := NULL;
1883 ELSIF msii_temp_data.ATTRIBUTE10 = g_FND_Upd_Null_Char THEN
1884 msii_temp_data.ATTRIBUTE10 := NULL;
1885 ELSE
1886 msii_temp_data.ATTRIBUTE10 := trim(msii_temp_data.ATTRIBUTE10);
1887 END IF;
1888 IF msii_temp_data.ATTRIBUTE12 IS NULL THEN
1889 msii_temp_data.ATTRIBUTE12 := msi_record_temp.ATTRIBUTE12;
1890 ELSIF msii_temp_data.ATTRIBUTE12 = '!' THEN
1891 msii_temp_data.ATTRIBUTE12 := NULL;
1892 ELSIF msii_temp_data.ATTRIBUTE12 = g_FND_Upd_Null_Char THEN
1893 msii_temp_data.ATTRIBUTE12 := NULL;
1894 ELSE
1895 msii_temp_data.ATTRIBUTE12 := trim(msii_temp_data.ATTRIBUTE12);
1896 END IF;
1897 IF msii_temp_data.ATTRIBUTE14 IS NULL THEN
1898 msii_temp_data.ATTRIBUTE14 := msi_record_temp.ATTRIBUTE14;
1899 ELSIF msii_temp_data.ATTRIBUTE14 = '!' THEN
1900 msii_temp_data.ATTRIBUTE14 := NULL;
1901 ELSIF msii_temp_data.ATTRIBUTE14 = g_FND_Upd_Null_Char THEN
1902 msii_temp_data.ATTRIBUTE14 := NULL;
1903 ELSE
1904 msii_temp_data.ATTRIBUTE14 := trim(msii_temp_data.ATTRIBUTE14);
1905 END IF;
1906 IF msii_temp_data.ATTRIBUTE17 IS NULL THEN
1907 msii_temp_data.ATTRIBUTE17 := msi_record_temp.ATTRIBUTE17;
1908 ELSIF msii_temp_data.ATTRIBUTE17 = '!' THEN
1909 msii_temp_data.ATTRIBUTE17 := NULL;
1910 ELSIF msii_temp_data.ATTRIBUTE17 = g_FND_Upd_Null_Char THEN
1911 msii_temp_data.ATTRIBUTE17 := NULL;
1912 ELSE
1913 msii_temp_data.ATTRIBUTE17 := trim(msii_temp_data.ATTRIBUTE17);
1914 END IF;
1915 IF msii_temp_data.ATTRIBUTE19 IS NULL THEN
1916 msii_temp_data.ATTRIBUTE19 := msi_record_temp.ATTRIBUTE19;
1917 ELSIF msii_temp_data.ATTRIBUTE19 = '!' THEN
1918 msii_temp_data.ATTRIBUTE19 := NULL;
1919 ELSIF msii_temp_data.ATTRIBUTE19 = g_FND_Upd_Null_Char THEN
1920 msii_temp_data.ATTRIBUTE19 := NULL;
1921 ELSE
1922 msii_temp_data.ATTRIBUTE19 := trim(msii_temp_data.ATTRIBUTE19);
1923 END IF;
1924 IF msii_temp_data.ATTRIBUTE21 IS NULL THEN
1925 msii_temp_data.ATTRIBUTE21 := msi_record_temp.ATTRIBUTE21;
1926 ELSIF msii_temp_data.ATTRIBUTE21 = '!' THEN
1927 msii_temp_data.ATTRIBUTE21 := NULL;
1928 ELSIF msii_temp_data.ATTRIBUTE21 = g_FND_Upd_Null_Char THEN
1929 msii_temp_data.ATTRIBUTE21 := NULL;
1930 ELSE
1931 msii_temp_data.ATTRIBUTE21 := trim(msii_temp_data.ATTRIBUTE21);
1932 END IF;
1933 IF msii_temp_data.ATTRIBUTE24 IS NULL THEN
1934 msii_temp_data.ATTRIBUTE24 := msi_record_temp.ATTRIBUTE24;
1935 ELSIF msii_temp_data.ATTRIBUTE24 = '!' THEN
1936 msii_temp_data.ATTRIBUTE24 := NULL;
1937 ELSIF msii_temp_data.ATTRIBUTE24 = g_FND_Upd_Null_Char THEN
1938 msii_temp_data.ATTRIBUTE24 := NULL;
1939 ELSE
1940 msii_temp_data.ATTRIBUTE24 := trim(msii_temp_data.ATTRIBUTE24);
1941 END IF;
1942 IF msii_temp_data.ATTRIBUTE26 IS NULL THEN
1943 msii_temp_data.ATTRIBUTE26 := msi_record_temp.ATTRIBUTE26;
1944 ELSIF msii_temp_data.ATTRIBUTE26 = '!' THEN
1945 msii_temp_data.ATTRIBUTE26 := NULL;
1946 ELSIF msii_temp_data.ATTRIBUTE26 = g_FND_Upd_Null_Char THEN
1947 msii_temp_data.ATTRIBUTE26 := NULL;
1948 ELSE
1949 msii_temp_data.ATTRIBUTE26 := trim(msii_temp_data.ATTRIBUTE26);
1950 END IF;
1954 msii_temp_data.ATTRIBUTE28 := NULL;
1951 IF msii_temp_data.ATTRIBUTE28 IS NULL THEN
1952 msii_temp_data.ATTRIBUTE28 := msi_record_temp.ATTRIBUTE28;
1953 ELSIF msii_temp_data.ATTRIBUTE28 = '!' THEN
1955 ELSIF msii_temp_data.ATTRIBUTE28 = g_FND_Upd_Null_Char THEN
1956 msii_temp_data.ATTRIBUTE28 := NULL;
1957 ELSE
1958 msii_temp_data.ATTRIBUTE28 := trim(msii_temp_data.ATTRIBUTE28);
1959 END IF;
1960 IF msii_temp_data.GLOBAL_ATTRIBUTE_CATEGORY IS NULL THEN
1961 msii_temp_data.GLOBAL_ATTRIBUTE_CATEGORY := msi_record_temp.GLOBAL_ATTRIBUTE_CATEGORY;
1962 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE_CATEGORY = '!' THEN
1963 msii_temp_data.GLOBAL_ATTRIBUTE_CATEGORY := NULL;
1964 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE_CATEGORY = g_FND_Upd_Null_Char THEN
1965 msii_temp_data.GLOBAL_ATTRIBUTE_CATEGORY := NULL;
1966 ELSE
1967 msii_temp_data.GLOBAL_ATTRIBUTE_CATEGORY := trim(msii_temp_data.GLOBAL_ATTRIBUTE_CATEGORY);
1968 END IF;
1969 IF msii_temp_data.GLOBAL_ATTRIBUTE2 IS NULL THEN
1970 msii_temp_data.GLOBAL_ATTRIBUTE2 := msi_record_temp.GLOBAL_ATTRIBUTE2;
1971 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE2 = '!' THEN
1972 msii_temp_data.GLOBAL_ATTRIBUTE2 := NULL;
1973 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE2 = g_FND_Upd_Null_Char THEN
1974 msii_temp_data.GLOBAL_ATTRIBUTE2 := NULL;
1975 ELSE
1976 msii_temp_data.GLOBAL_ATTRIBUTE2 := trim(msii_temp_data.GLOBAL_ATTRIBUTE2);
1977 END IF;
1978 IF msii_temp_data.GLOBAL_ATTRIBUTE5 IS NULL THEN
1979 msii_temp_data.GLOBAL_ATTRIBUTE5 := msi_record_temp.GLOBAL_ATTRIBUTE5;
1980 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE5 = '!' THEN
1981 msii_temp_data.GLOBAL_ATTRIBUTE5 := NULL;
1982 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE5 = g_FND_Upd_Null_Char THEN
1983 msii_temp_data.GLOBAL_ATTRIBUTE5 := NULL;
1984 ELSE
1985 msii_temp_data.GLOBAL_ATTRIBUTE5 := trim(msii_temp_data.GLOBAL_ATTRIBUTE5);
1986 END IF;
1987 IF msii_temp_data.GLOBAL_ATTRIBUTE7 IS NULL THEN
1988 msii_temp_data.GLOBAL_ATTRIBUTE7 := msi_record_temp.GLOBAL_ATTRIBUTE7;
1989 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE7 = '!' THEN
1990 msii_temp_data.GLOBAL_ATTRIBUTE7 := NULL;
1991 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE7 = g_FND_Upd_Null_Char THEN
1992 msii_temp_data.GLOBAL_ATTRIBUTE7 := NULL;
1993 ELSE
1994 msii_temp_data.GLOBAL_ATTRIBUTE7 := trim(msii_temp_data.GLOBAL_ATTRIBUTE7);
1995 END IF;
1996 IF msii_temp_data.GLOBAL_ATTRIBUTE9 IS NULL THEN
1997 msii_temp_data.GLOBAL_ATTRIBUTE9 := msi_record_temp.GLOBAL_ATTRIBUTE9;
1998 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE9 = '!' THEN
1999 msii_temp_data.GLOBAL_ATTRIBUTE9 := NULL;
2000 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE9 = g_FND_Upd_Null_Char THEN
2001 msii_temp_data.GLOBAL_ATTRIBUTE9 := NULL;
2002 ELSE
2003 msii_temp_data.GLOBAL_ATTRIBUTE9 := trim(msii_temp_data.GLOBAL_ATTRIBUTE9);
2004 END IF;
2005 IF trim(msii_temp_data.CUSTOMER_ORDER_FLAG) is null then
2006 msii_temp_data.CUSTOMER_ORDER_FLAG := msi_record_temp.CUSTOMER_ORDER_FLAG;
2007 ELSE
2008 msii_temp_data.CUSTOMER_ORDER_FLAG := trim(msii_temp_data.CUSTOMER_ORDER_FLAG);
2009 END IF;
2010 IF trim(msii_temp_data.ENG_ITEM_FLAG) is null then
2011 msii_temp_data.ENG_ITEM_FLAG := msi_record_temp.ENG_ITEM_FLAG;
2012 ELSE
2013 msii_temp_data.ENG_ITEM_FLAG := trim(msii_temp_data.ENG_ITEM_FLAG);
2014 END IF;
2015 IF trim(msii_temp_data.PURCHASING_ENABLED_FLAG) is null then
2016 IF msii_temp_data.inventory_item_status_code IS NULL THEN
2017 msii_temp_data.PURCHASING_ENABLED_FLAG := msi_record_temp.PURCHASING_ENABLED_FLAG;
2018 END IF;
2019 ELSE
2020 msii_temp_data.PURCHASING_ENABLED_FLAG := trim(msii_temp_data.PURCHASING_ENABLED_FLAG);
2021 END IF;
2022 IF trim(msii_temp_data.INTERNAL_ORDER_ENABLED_FLAG) is null then
2023 IF msii_temp_data.inventory_item_status_code IS NULL THEN
2024 msii_temp_data.INTERNAL_ORDER_ENABLED_FLAG := msi_record_temp.INTERNAL_ORDER_ENABLED_FLAG;
2025 END IF;
2026 ELSE
2027 msii_temp_data.INTERNAL_ORDER_ENABLED_FLAG := trim(msii_temp_data.INTERNAL_ORDER_ENABLED_FLAG);
2028 END IF;
2029 IF trim(msii_temp_data.BOM_ENABLED_FLAG) is null then
2030 IF msii_temp_data.inventory_item_status_code IS NULL THEN
2031 msii_temp_data.BOM_ENABLED_FLAG := msi_record_temp.BOM_ENABLED_FLAG;
2032 END IF;
2033 ELSE
2034 msii_temp_data.BOM_ENABLED_FLAG := trim(msii_temp_data.BOM_ENABLED_FLAG);
2035 END IF;
2036
2037 IF msii_temp_data.RESTRICT_LOCATORS_CODE is null then
2038 msii_temp_data.RESTRICT_LOCATORS_CODE := msi_record_temp.RESTRICT_LOCATORS_CODE;
2039 END IF;
2040 IF msii_temp_data.SHRINKAGE_RATE IS NULL THEN
2041 msii_temp_data.SHRINKAGE_RATE := msi_record_temp.SHRINKAGE_RATE;
2042 ELSIF msii_temp_data.SHRINKAGE_RATE = -999999 THEN
2043 msii_temp_data.SHRINKAGE_RATE := NULL;
2044 ELSIF msii_temp_data.SHRINKAGE_RATE = g_FND_Upd_Null_NUM THEN
2045 msii_temp_data.SHRINKAGE_RATE := NULL;
2046 END IF;
2047
2048 IF msii_temp_data.LEAD_TIME_LOT_SIZE IS NULL THEN
2049 msii_temp_data.LEAD_TIME_LOT_SIZE := msi_record_temp.LEAD_TIME_LOT_SIZE;
2050 ELSIF msii_temp_data.LEAD_TIME_LOT_SIZE = -999999 THEN
2051 IF msii_temp_data.STD_LOT_SIZE IS NULL THEN
2052 IF msi_record_temp.STD_LOT_SIZE IS NULL THEN
2053 msii_temp_data.LEAD_TIME_LOT_SIZE := 1;
2054 ELSE
2055 msii_temp_data.LEAD_TIME_LOT_SIZE := msi_record_temp.STD_LOT_SIZE;
2056 END IF;
2057 ELSIF msii_temp_data.STD_LOT_SIZE = -999999 THEN
2058 msii_temp_data.LEAD_TIME_LOT_SIZE := 1;
2059 ELSIF msii_temp_data.STD_LOT_SIZE = g_FND_Upd_Null_NUM THEN
2060 msii_temp_data.LEAD_TIME_LOT_SIZE := 1;
2061 ELSE
2062 msii_temp_data.LEAD_TIME_LOT_SIZE := msii_temp_data.STD_LOT_SIZE;
2063 END IF;
2064 ELSIF msii_temp_data.LEAD_TIME_LOT_SIZE = g_FND_Upd_Null_NUM THEN
2068 ELSE
2065 IF msii_temp_data.STD_LOT_SIZE IS NULL THEN
2066 IF msi_record_temp.STD_LOT_SIZE IS NULL THEN
2067 msii_temp_data.LEAD_TIME_LOT_SIZE := 1;
2069 msii_temp_data.LEAD_TIME_LOT_SIZE := msi_record_temp.STD_LOT_SIZE;
2070 END IF;
2071 ELSIF msii_temp_data.STD_LOT_SIZE = -999999 THEN
2072 msii_temp_data.LEAD_TIME_LOT_SIZE := 1;
2073 ELSIF msii_temp_data.STD_LOT_SIZE = g_FND_Upd_Null_NUM THEN
2074 msii_temp_data.LEAD_TIME_LOT_SIZE := 1;
2075 ELSE
2076 msii_temp_data.LEAD_TIME_LOT_SIZE := msii_temp_data.STD_LOT_SIZE;
2077 END IF;
2078 END IF;
2079
2080 --STD_LOT_SIZE should be updated only after lead_time_lot_size
2081 IF msii_temp_data.STD_LOT_SIZE IS NULL THEN
2082 msii_temp_data.STD_LOT_SIZE := msi_record_temp.STD_LOT_SIZE;
2083 ELSIF msii_temp_data.STD_LOT_SIZE = -999999 THEN
2084 msii_temp_data.STD_LOT_SIZE := NULL;
2085 ELSIF msii_temp_data.STD_LOT_SIZE = g_FND_Upd_Null_NUM THEN
2086 msii_temp_data.STD_LOT_SIZE := NULL;
2087 END IF;
2088
2089 IF msii_temp_data.CUM_MANUFACTURING_LEAD_TIME IS NULL THEN
2090 msii_temp_data.CUM_MANUFACTURING_LEAD_TIME := msi_record_temp.CUM_MANUFACTURING_LEAD_TIME;
2091 ELSIF msii_temp_data.CUM_MANUFACTURING_LEAD_TIME = -999999 THEN
2092 msii_temp_data.CUM_MANUFACTURING_LEAD_TIME := NULL;
2093 ELSIF msii_temp_data.CUM_MANUFACTURING_LEAD_TIME = g_FND_Upd_Null_NUM THEN
2094 msii_temp_data.CUM_MANUFACTURING_LEAD_TIME := NULL;
2095 END IF;
2096 IF msii_temp_data.DEMAND_TIME_FENCE_DAYS IS NULL THEN
2097 msii_temp_data.DEMAND_TIME_FENCE_DAYS := msi_record_temp.DEMAND_TIME_FENCE_DAYS;
2098 ELSIF msii_temp_data.DEMAND_TIME_FENCE_DAYS = -999999 THEN
2099 msii_temp_data.DEMAND_TIME_FENCE_DAYS := NULL;
2100 ELSIF msii_temp_data.DEMAND_TIME_FENCE_DAYS = g_FND_Upd_Null_NUM THEN
2101 msii_temp_data.DEMAND_TIME_FENCE_DAYS := NULL;
2102 END IF;
2103 IF msii_temp_data.RELEASE_TIME_FENCE_DAYS IS NULL THEN
2104 msii_temp_data.RELEASE_TIME_FENCE_DAYS := msi_record_temp.RELEASE_TIME_FENCE_DAYS;
2105 ELSIF msii_temp_data.RELEASE_TIME_FENCE_DAYS = -999999 THEN
2106 msii_temp_data.RELEASE_TIME_FENCE_DAYS := NULL;
2107 ELSIF msii_temp_data.RELEASE_TIME_FENCE_DAYS = g_FND_Upd_Null_NUM THEN
2108 msii_temp_data.RELEASE_TIME_FENCE_DAYS := NULL;
2109 END IF;
2110 IF msii_temp_data.PLANNING_EXCEPTION_SET IS NULL THEN
2111 msii_temp_data.PLANNING_EXCEPTION_SET := msi_record_temp.PLANNING_EXCEPTION_SET;
2112 ELSIF msii_temp_data.PLANNING_EXCEPTION_SET = '!' THEN
2113 msii_temp_data.PLANNING_EXCEPTION_SET := NULL;
2114 ELSIF msii_temp_data.PLANNING_EXCEPTION_SET = g_FND_Upd_Null_Char THEN
2115 msii_temp_data.PLANNING_EXCEPTION_SET := NULL;
2116 ELSE
2117 msii_temp_data.PLANNING_EXCEPTION_SET := trim(msii_temp_data.PLANNING_EXCEPTION_SET);
2118 END IF;
2119 IF msii_temp_data.BASE_ITEM_ID IS NULL THEN
2120 msii_temp_data.BASE_ITEM_ID := msi_record_temp.BASE_ITEM_ID;
2121 ELSIF msii_temp_data.BASE_ITEM_ID = -999999 THEN
2122 msii_temp_data.BASE_ITEM_ID := NULL;
2123 ELSIF msii_temp_data.BASE_ITEM_ID = g_FND_Upd_Null_NUM THEN
2124 msii_temp_data.BASE_ITEM_ID := NULL;
2125 END IF;
2126 IF msii_temp_data.FIXED_LEAD_TIME IS NULL THEN
2127 msii_temp_data.FIXED_LEAD_TIME := msi_record_temp.FIXED_LEAD_TIME;
2128 ELSIF msii_temp_data.FIXED_LEAD_TIME = -999999 THEN
2129 msii_temp_data.FIXED_LEAD_TIME := NULL;
2130 ELSIF msii_temp_data.FIXED_LEAD_TIME = g_FND_Upd_Null_NUM THEN
2131 msii_temp_data.FIXED_LEAD_TIME := NULL;
2132 END IF;
2133 IF msii_temp_data.WIP_SUPPLY_TYPE is null then
2134 msii_temp_data.WIP_SUPPLY_TYPE := msi_record_temp.WIP_SUPPLY_TYPE;
2135 END IF;
2136 IF msii_temp_data.WIP_SUPPLY_SUBINVENTORY IS NULL THEN
2137 msii_temp_data.WIP_SUPPLY_SUBINVENTORY := msi_record_temp.WIP_SUPPLY_SUBINVENTORY;
2138 ELSIF msii_temp_data.WIP_SUPPLY_SUBINVENTORY = '!' THEN
2139 msii_temp_data.WIP_SUPPLY_SUBINVENTORY := NULL;
2140 ELSIF msii_temp_data.WIP_SUPPLY_SUBINVENTORY = g_FND_Upd_Null_Char THEN
2141 msii_temp_data.WIP_SUPPLY_SUBINVENTORY := NULL;
2142 ELSE
2143 msii_temp_data.WIP_SUPPLY_SUBINVENTORY := trim(msii_temp_data.WIP_SUPPLY_SUBINVENTORY);
2144 END IF;
2145 IF trim(msii_temp_data.DEFAULT_INCLUDE_IN_ROLLUP_FLAG) is null then
2146 msii_temp_data.DEFAULT_INCLUDE_IN_ROLLUP_FLAG := msi_record_temp.DEFAULT_INCLUDE_IN_ROLLUP_FLAG;
2147 ELSE
2148 msii_temp_data.DEFAULT_INCLUDE_IN_ROLLUP_FLAG := trim(msii_temp_data.DEFAULT_INCLUDE_IN_ROLLUP_FLAG);
2149 END IF;
2150 IF msii_temp_data.PLANNER_CODE IS NULL THEN
2151 msii_temp_data.PLANNER_CODE := msi_record_temp.PLANNER_CODE;
2152 ELSIF msii_temp_data.PLANNER_CODE = '!' THEN
2153 msii_temp_data.PLANNER_CODE := NULL;
2154 ELSIF msii_temp_data.PLANNER_CODE = g_FND_Upd_Null_Char THEN
2155 msii_temp_data.PLANNER_CODE := NULL;
2156 ELSE
2157 msii_temp_data.PLANNER_CODE := trim(msii_temp_data.PLANNER_CODE);
2158 END IF;
2159 IF msii_temp_data.ROUNDING_CONTROL_TYPE is null then
2160 msii_temp_data.ROUNDING_CONTROL_TYPE := msi_record_temp.ROUNDING_CONTROL_TYPE;
2161 END IF;
2162 IF msii_temp_data.POSTPROCESSING_LEAD_TIME IS NULL THEN
2163 msii_temp_data.POSTPROCESSING_LEAD_TIME := msi_record_temp.POSTPROCESSING_LEAD_TIME;
2164 ELSIF msii_temp_data.POSTPROCESSING_LEAD_TIME = -999999 THEN
2165 msii_temp_data.POSTPROCESSING_LEAD_TIME := NULL;
2166 ELSIF msii_temp_data.POSTPROCESSING_LEAD_TIME = g_FND_Upd_Null_NUM THEN
2167 msii_temp_data.POSTPROCESSING_LEAD_TIME := NULL;
2168 END IF;
2169 IF msii_temp_data.FULL_LEAD_TIME IS NULL THEN
2170 msii_temp_data.FULL_LEAD_TIME := msi_record_temp.FULL_LEAD_TIME;
2171 ELSIF msii_temp_data.FULL_LEAD_TIME = -999999 THEN
2172 msii_temp_data.FULL_LEAD_TIME := NULL;
2173 ELSIF msii_temp_data.FULL_LEAD_TIME = g_FND_Upd_Null_NUM THEN
2177 msii_temp_data.MRP_SAFETY_STOCK_PERCENT := msi_record_temp.MRP_SAFETY_STOCK_PERCENT;
2174 msii_temp_data.FULL_LEAD_TIME := NULL;
2175 END IF;
2176 IF msii_temp_data.MRP_SAFETY_STOCK_PERCENT IS NULL THEN
2178 ELSIF msii_temp_data.MRP_SAFETY_STOCK_PERCENT = -999999 THEN
2179 msii_temp_data.MRP_SAFETY_STOCK_PERCENT := NULL;
2180 ELSIF msii_temp_data.MRP_SAFETY_STOCK_PERCENT = g_FND_Upd_Null_NUM THEN
2181 msii_temp_data.MRP_SAFETY_STOCK_PERCENT := NULL;
2182 END IF;
2183 IF msii_temp_data.MAX_MINMAX_QUANTITY IS NULL THEN
2184 msii_temp_data.MAX_MINMAX_QUANTITY := msi_record_temp.MAX_MINMAX_QUANTITY;
2185 ELSIF msii_temp_data.MAX_MINMAX_QUANTITY = -999999 THEN
2186 msii_temp_data.MAX_MINMAX_QUANTITY := NULL;
2187 ELSIF msii_temp_data.MAX_MINMAX_QUANTITY = g_FND_Upd_Null_NUM THEN
2188 msii_temp_data.MAX_MINMAX_QUANTITY := NULL;
2189 END IF;
2190 IF msii_temp_data.FIXED_ORDER_QUANTITY IS NULL THEN
2191 msii_temp_data.FIXED_ORDER_QUANTITY := msi_record_temp.FIXED_ORDER_QUANTITY;
2192 ELSIF msii_temp_data.FIXED_ORDER_QUANTITY = -999999 THEN
2193 msii_temp_data.FIXED_ORDER_QUANTITY := NULL;
2194 ELSIF msii_temp_data.FIXED_ORDER_QUANTITY = g_FND_Upd_Null_NUM THEN
2195 msii_temp_data.FIXED_ORDER_QUANTITY := NULL;
2196 END IF;
2197 IF msii_temp_data.ATP_RULE_ID IS NULL THEN
2198 msii_temp_data.ATP_RULE_ID := msi_record_temp.ATP_RULE_ID;
2199 ELSIF msii_temp_data.ATP_RULE_ID = -999999 THEN
2200 msii_temp_data.ATP_RULE_ID := NULL;
2201 ELSIF msii_temp_data.ATP_RULE_ID = g_FND_Upd_Null_NUM THEN
2202 msii_temp_data.ATP_RULE_ID := NULL;
2203 END IF;
2204 IF msii_temp_data.POSITIVE_MEASUREMENT_ERROR IS NULL THEN
2205 msii_temp_data.POSITIVE_MEASUREMENT_ERROR := msi_record_temp.POSITIVE_MEASUREMENT_ERROR;
2206 ELSIF msii_temp_data.POSITIVE_MEASUREMENT_ERROR = -999999 THEN
2207 msii_temp_data.POSITIVE_MEASUREMENT_ERROR := NULL;
2208 ELSIF msii_temp_data.POSITIVE_MEASUREMENT_ERROR = g_FND_Upd_Null_NUM THEN
2209 msii_temp_data.POSITIVE_MEASUREMENT_ERROR := NULL;
2210 END IF;
2211 IF msii_temp_data.ENGINEERING_ITEM_ID is null then
2212 msii_temp_data.ENGINEERING_ITEM_ID := msi_record_temp.ENGINEERING_ITEM_ID;
2213 END IF;
2214 IF msii_temp_data.SERVICE_STARTING_DELAY IS NULL THEN
2215 msii_temp_data.SERVICE_STARTING_DELAY := msi_record_temp.SERVICE_STARTING_DELAY;
2216 ELSIF msii_temp_data.SERVICE_STARTING_DELAY = -999999 THEN
2217 msii_temp_data.SERVICE_STARTING_DELAY := NULL;
2218 ELSIF msii_temp_data.SERVICE_STARTING_DELAY = g_FND_Upd_Null_NUM THEN
2219 msii_temp_data.SERVICE_STARTING_DELAY := NULL;
2220 END IF;
2221 IF msii_temp_data.PAYMENT_TERMS_ID IS NULL THEN
2222 msii_temp_data.PAYMENT_TERMS_ID := msi_record_temp.PAYMENT_TERMS_ID;
2223 ELSIF msii_temp_data.PAYMENT_TERMS_ID = -999999 THEN
2224 msii_temp_data.PAYMENT_TERMS_ID := NULL;
2225 ELSIF msii_temp_data.PAYMENT_TERMS_ID = g_FND_Upd_Null_NUM THEN
2226 msii_temp_data.PAYMENT_TERMS_ID := NULL;
2227 END IF;
2228 IF msii_temp_data.SECONDARY_SPECIALIST_ID is null then
2229 msii_temp_data.SECONDARY_SPECIALIST_ID := msi_record_temp.SECONDARY_SPECIALIST_ID;
2230 END IF;
2231 IF msii_temp_data.MATERIAL_BILLABLE_FLAG IS NULL THEN
2232 msii_temp_data.MATERIAL_BILLABLE_FLAG := msi_record_temp.MATERIAL_BILLABLE_FLAG;
2233 ELSIF msii_temp_data.MATERIAL_BILLABLE_FLAG = '!' THEN
2234 msii_temp_data.MATERIAL_BILLABLE_FLAG := NULL;
2235 ELSIF msii_temp_data.MATERIAL_BILLABLE_FLAG = g_FND_Upd_Null_Char THEN
2236 msii_temp_data.MATERIAL_BILLABLE_FLAG := NULL;
2237 ELSE
2238 msii_temp_data.MATERIAL_BILLABLE_FLAG := trim(msii_temp_data.MATERIAL_BILLABLE_FLAG);
2239 END IF;
2240 IF msii_temp_data.COVERAGE_SCHEDULE_ID IS NULL THEN
2241 msii_temp_data.COVERAGE_SCHEDULE_ID := msi_record_temp.COVERAGE_SCHEDULE_ID;
2242 ELSIF msii_temp_data.COVERAGE_SCHEDULE_ID = -999999 THEN
2243 msii_temp_data.COVERAGE_SCHEDULE_ID := NULL;
2244 ELSIF msii_temp_data.COVERAGE_SCHEDULE_ID = g_FND_Upd_Null_NUM THEN
2245 msii_temp_data.COVERAGE_SCHEDULE_ID := NULL;
2246 END IF;
2247 IF msii_temp_data.WARRANTY_VENDOR_ID is null then
2248 msii_temp_data.WARRANTY_VENDOR_ID := msi_record_temp.WARRANTY_VENDOR_ID;
2249 END IF;
2250 IF trim(msii_temp_data.RESPONSE_TIME_PERIOD_CODE) is null then
2251 msii_temp_data.RESPONSE_TIME_PERIOD_CODE := msi_record_temp.RESPONSE_TIME_PERIOD_CODE;
2252 ELSE
2253 msii_temp_data.RESPONSE_TIME_PERIOD_CODE := trim(msii_temp_data.RESPONSE_TIME_PERIOD_CODE);
2254 END IF;
2255 IF msii_temp_data.TAX_CODE IS NULL THEN
2256 msii_temp_data.TAX_CODE := msi_record_temp.TAX_CODE;
2257 ELSIF msii_temp_data.TAX_CODE = '!' THEN
2258 msii_temp_data.TAX_CODE := NULL;
2259 ELSIF msii_temp_data.TAX_CODE = g_FND_Upd_Null_Char THEN
2260 msii_temp_data.TAX_CODE := NULL;
2261 ELSE
2262 msii_temp_data.TAX_CODE := trim(msii_temp_data.TAX_CODE);
2263 END IF;
2264 IF trim(msii_temp_data.MUST_USE_APPROVED_VENDOR_FLAG) is null then
2265 msii_temp_data.MUST_USE_APPROVED_VENDOR_FLAG := msi_record_temp.MUST_USE_APPROVED_VENDOR_FLAG;
2266 ELSE
2267 msii_temp_data.MUST_USE_APPROVED_VENDOR_FLAG := trim(msii_temp_data.MUST_USE_APPROVED_VENDOR_FLAG);
2268 END IF;
2269 IF trim(msii_temp_data.OUTSIDE_OPERATION_FLAG) is null then
2270 msii_temp_data.OUTSIDE_OPERATION_FLAG := msi_record_temp.OUTSIDE_OPERATION_FLAG;
2271 ELSE
2272 msii_temp_data.OUTSIDE_OPERATION_FLAG := trim(msii_temp_data.OUTSIDE_OPERATION_FLAG);
2273 END IF;
2274 IF msii_temp_data.AUTO_REDUCE_MPS IS NULL THEN
2275 msii_temp_data.AUTO_REDUCE_MPS := msi_record_temp.AUTO_REDUCE_MPS;
2276 ELSIF msii_temp_data.AUTO_REDUCE_MPS = -999999 THEN
2277 msii_temp_data.AUTO_REDUCE_MPS := NULL;
2278 ELSIF msii_temp_data.AUTO_REDUCE_MPS = g_FND_Upd_Null_NUM THEN
2279 msii_temp_data.AUTO_REDUCE_MPS := NULL;
2280 ELSE
2284 msii_temp_data.AUTO_CREATED_CONFIG_FLAG := msi_record_temp.AUTO_CREATED_CONFIG_FLAG;
2281 msii_temp_data.AUTO_REDUCE_MPS := trim(msii_temp_data.AUTO_REDUCE_MPS);
2282 END IF;
2283 IF trim(msii_temp_data.AUTO_CREATED_CONFIG_FLAG) is null then
2285 ELSE
2286 msii_temp_data.AUTO_CREATED_CONFIG_FLAG := trim(msii_temp_data.AUTO_CREATED_CONFIG_FLAG);
2287 END IF;
2288 IF trim(msii_temp_data.SHIP_MODEL_COMPLETE_FLAG) is null then
2289 msii_temp_data.SHIP_MODEL_COMPLETE_FLAG := msi_record_temp.SHIP_MODEL_COMPLETE_FLAG;
2290 ELSE
2291 msii_temp_data.SHIP_MODEL_COMPLETE_FLAG := trim(msii_temp_data.SHIP_MODEL_COMPLETE_FLAG);
2292 END IF;
2293 IF msii_temp_data.ATO_FORECAST_CONTROL IS NULL THEN
2294 msii_temp_data.ATO_FORECAST_CONTROL := msi_record_temp.ATO_FORECAST_CONTROL;
2295 ELSIF msii_temp_data.ATO_FORECAST_CONTROL = -999999 THEN
2296 msii_temp_data.ATO_FORECAST_CONTROL := NULL;
2297 ELSIF msii_temp_data.ATO_FORECAST_CONTROL = g_FND_Upd_Null_NUM THEN
2298 msii_temp_data.ATO_FORECAST_CONTROL := NULL;
2299 END IF;
2300 IF msii_temp_data.MAXIMUM_LOAD_WEIGHT IS NULL THEN
2301 msii_temp_data.MAXIMUM_LOAD_WEIGHT := msi_record_temp.MAXIMUM_LOAD_WEIGHT;
2302 ELSIF msii_temp_data.MAXIMUM_LOAD_WEIGHT = -999999 THEN
2303 msii_temp_data.MAXIMUM_LOAD_WEIGHT := NULL;
2304 ELSIF msii_temp_data.MAXIMUM_LOAD_WEIGHT = g_FND_Upd_Null_NUM THEN
2305 msii_temp_data.MAXIMUM_LOAD_WEIGHT := NULL;
2306 END IF;
2307 IF msii_temp_data.INTERNAL_VOLUME IS NULL THEN
2308 msii_temp_data.INTERNAL_VOLUME := msi_record_temp.INTERNAL_VOLUME;
2309 ELSIF msii_temp_data.INTERNAL_VOLUME = -999999 THEN
2310 msii_temp_data.INTERNAL_VOLUME := NULL;
2311 ELSIF msii_temp_data.INTERNAL_VOLUME = g_FND_Upd_Null_NUM THEN
2312 msii_temp_data.INTERNAL_VOLUME := NULL;
2313 END IF;
2314 IF msii_temp_data.OVERCOMPLETION_TOLERANCE_TYPE IS NULL THEN
2315 msii_temp_data.OVERCOMPLETION_TOLERANCE_TYPE := msi_record_temp.OVERCOMPLETION_TOLERANCE_TYPE;
2316 ELSIF msii_temp_data.OVERCOMPLETION_TOLERANCE_TYPE = g_Upd_Null_NUM THEN
2317 msii_temp_data.OVERCOMPLETION_TOLERANCE_TYPE := NULL;
2318 ELSIF msii_temp_data.OVERCOMPLETION_TOLERANCE_TYPE = g_FND_Upd_Null_NUM THEN
2319 msii_temp_data.OVERCOMPLETION_TOLERANCE_TYPE := NULL;
2320 END IF;
2321 IF trim(msii_temp_data.RECIPE_ENABLED_FLAG) is null then
2322 IF msii_temp_data.INVENTORY_ITEM_STATUS_CODE IS NULL THEN
2323 msii_temp_data.RECIPE_ENABLED_FLAG := msi_record_temp.RECIPE_ENABLED_FLAG;
2324 END IF;
2325 ELSE
2326 msii_temp_data.RECIPE_ENABLED_FLAG := trim(msii_temp_data.RECIPE_ENABLED_FLAG);
2327 END IF;
2328 IF msii_temp_data.REVISION_QTY_CONTROL_CODE is null then
2329 msii_temp_data.REVISION_QTY_CONTROL_CODE := msi_record_temp.REVISION_QTY_CONTROL_CODE;
2330 END IF;
2331 IF msii_temp_data.CATALOG_STATUS_FLAG IS NULL THEN
2332 msii_temp_data.CATALOG_STATUS_FLAG := msi_record_temp.CATALOG_STATUS_FLAG;
2333 ELSIF msii_temp_data.CATALOG_STATUS_FLAG = '!' THEN
2334 msii_temp_data.CATALOG_STATUS_FLAG := NULL;
2335 ELSIF msii_temp_data.CATALOG_STATUS_FLAG = g_FND_Upd_Null_Char THEN
2336 msii_temp_data.CATALOG_STATUS_FLAG := NULL;
2337 ELSE
2338 msii_temp_data.CATALOG_STATUS_FLAG := trim(msii_temp_data.CATALOG_STATUS_FLAG);
2339 END IF;
2340 IF trim(msii_temp_data.COLLATERAL_FLAG) is null then
2341 msii_temp_data.COLLATERAL_FLAG := msi_record_temp.COLLATERAL_FLAG;
2342 ELSE
2343 msii_temp_data.COLLATERAL_FLAG := trim(msii_temp_data.COLLATERAL_FLAG);
2344 END IF;
2345 IF msii_temp_data.PURCHASING_TAX_CODE IS NULL THEN
2346 msii_temp_data.PURCHASING_TAX_CODE := msi_record_temp.PURCHASING_TAX_CODE;
2347 ELSIF msii_temp_data.PURCHASING_TAX_CODE = '!' THEN
2348 msii_temp_data.PURCHASING_TAX_CODE := NULL;
2349 ELSIF msii_temp_data.PURCHASING_TAX_CODE = g_FND_Upd_Null_Char THEN
2350 msii_temp_data.PURCHASING_TAX_CODE := NULL;
2351 ELSE
2352 msii_temp_data.PURCHASING_TAX_CODE := trim(msii_temp_data.PURCHASING_TAX_CODE);
2353 END IF;
2354 IF msii_temp_data.INSPECTION_REQUIRED_FLAG IS NULL THEN
2355 msii_temp_data.INSPECTION_REQUIRED_FLAG := msi_record_temp.INSPECTION_REQUIRED_FLAG;
2356 ELSIF msii_temp_data.INSPECTION_REQUIRED_FLAG = '!' THEN
2357 msii_temp_data.INSPECTION_REQUIRED_FLAG := NULL;
2358 ELSIF msii_temp_data.INSPECTION_REQUIRED_FLAG = g_FND_Upd_Null_Char THEN
2359 msii_temp_data.INSPECTION_REQUIRED_FLAG := NULL;
2360 ELSE
2361 msii_temp_data.INSPECTION_REQUIRED_FLAG := trim(msii_temp_data.INSPECTION_REQUIRED_FLAG);
2362 END IF;
2363 IF msii_temp_data.MARKET_PRICE IS NULL THEN
2364 msii_temp_data.MARKET_PRICE := msi_record_temp.MARKET_PRICE;
2365 ELSIF msii_temp_data.MARKET_PRICE = -999999 THEN
2366 msii_temp_data.MARKET_PRICE := NULL;
2367 ELSIF msii_temp_data.MARKET_PRICE = g_FND_Upd_Null_NUM THEN
2368 msii_temp_data.MARKET_PRICE := NULL;
2369 END IF;
2370 IF msii_temp_data.LIST_PRICE_PER_UNIT IS NULL THEN
2371 msii_temp_data.LIST_PRICE_PER_UNIT := msi_record_temp.LIST_PRICE_PER_UNIT;
2372 ELSIF msii_temp_data.LIST_PRICE_PER_UNIT = -999999 THEN
2373 msii_temp_data.LIST_PRICE_PER_UNIT := NULL;
2374 ELSIF msii_temp_data.LIST_PRICE_PER_UNIT = g_FND_Upd_Null_NUM THEN
2375 msii_temp_data.LIST_PRICE_PER_UNIT := NULL;
2376 END IF;
2377 IF msii_temp_data.PRICE_TOLERANCE_PERCENT IS NULL THEN
2378 msii_temp_data.PRICE_TOLERANCE_PERCENT := msi_record_temp.PRICE_TOLERANCE_PERCENT;
2379 ELSIF msii_temp_data.PRICE_TOLERANCE_PERCENT = -999999 THEN
2380 msii_temp_data.PRICE_TOLERANCE_PERCENT := NULL;
2381 ELSIF msii_temp_data.PRICE_TOLERANCE_PERCENT = g_FND_Upd_Null_NUM THEN
2382 msii_temp_data.PRICE_TOLERANCE_PERCENT := NULL;
2383 END IF;
2384 IF msii_temp_data.UNIT_OF_ISSUE IS NULL THEN
2388 ELSIF msii_temp_data.UNIT_OF_ISSUE = g_FND_Upd_Null_Char THEN
2385 msii_temp_data.UNIT_OF_ISSUE := msi_record_temp.UNIT_OF_ISSUE;
2386 ELSIF msii_temp_data.UNIT_OF_ISSUE = '!' THEN
2387 msii_temp_data.UNIT_OF_ISSUE := NULL;
2389 msii_temp_data.UNIT_OF_ISSUE := NULL;
2390 ELSE
2391 msii_temp_data.UNIT_OF_ISSUE := trim(msii_temp_data.UNIT_OF_ISSUE);
2392 END IF;
2393 IF msii_temp_data.ALLOW_SUBSTITUTE_RECEIPTS_FLAG IS NULL THEN
2394 msii_temp_data.ALLOW_SUBSTITUTE_RECEIPTS_FLAG := msi_record_temp.ALLOW_SUBSTITUTE_RECEIPTS_FLAG;
2395 ELSIF msii_temp_data.ALLOW_SUBSTITUTE_RECEIPTS_FLAG = '!' THEN
2396 msii_temp_data.ALLOW_SUBSTITUTE_RECEIPTS_FLAG := NULL;
2397 ELSIF msii_temp_data.ALLOW_SUBSTITUTE_RECEIPTS_FLAG = g_FND_Upd_Null_Char THEN
2398 msii_temp_data.ALLOW_SUBSTITUTE_RECEIPTS_FLAG := NULL;
2399 ELSE
2400 msii_temp_data.ALLOW_SUBSTITUTE_RECEIPTS_FLAG := trim(msii_temp_data.ALLOW_SUBSTITUTE_RECEIPTS_FLAG);
2401 END IF;
2402 IF msii_temp_data.ALLOW_EXPRESS_DELIVERY_FLAG IS NULL THEN
2403 msii_temp_data.ALLOW_EXPRESS_DELIVERY_FLAG := msi_record_temp.ALLOW_EXPRESS_DELIVERY_FLAG;
2404 ELSIF msii_temp_data.ALLOW_EXPRESS_DELIVERY_FLAG = '!' THEN
2405 msii_temp_data.ALLOW_EXPRESS_DELIVERY_FLAG := NULL;
2406 ELSIF msii_temp_data.ALLOW_EXPRESS_DELIVERY_FLAG = g_FND_Upd_Null_Char THEN
2407 msii_temp_data.ALLOW_EXPRESS_DELIVERY_FLAG := NULL;
2408 ELSE
2409 msii_temp_data.ALLOW_EXPRESS_DELIVERY_FLAG := trim(msii_temp_data.ALLOW_EXPRESS_DELIVERY_FLAG);
2410 END IF;
2411 IF msii_temp_data.RECEIPT_DAYS_EXCEPTION_CODE IS NULL THEN
2412 msii_temp_data.RECEIPT_DAYS_EXCEPTION_CODE := msi_record_temp.RECEIPT_DAYS_EXCEPTION_CODE;
2413 ELSIF msii_temp_data.RECEIPT_DAYS_EXCEPTION_CODE = '!' THEN
2414 msii_temp_data.RECEIPT_DAYS_EXCEPTION_CODE := NULL;
2415 ELSIF msii_temp_data.RECEIPT_DAYS_EXCEPTION_CODE = g_FND_Upd_Null_Char THEN
2416 msii_temp_data.RECEIPT_DAYS_EXCEPTION_CODE := NULL;
2417 ELSE
2418 msii_temp_data.RECEIPT_DAYS_EXCEPTION_CODE := trim(msii_temp_data.RECEIPT_DAYS_EXCEPTION_CODE);
2419 END IF;
2420 IF msii_temp_data.RECEIVE_CLOSE_TOLERANCE IS NULL THEN
2421 msii_temp_data.RECEIVE_CLOSE_TOLERANCE := msi_record_temp.RECEIVE_CLOSE_TOLERANCE;
2422 ELSIF msii_temp_data.RECEIVE_CLOSE_TOLERANCE = -999999 THEN
2423 msii_temp_data.RECEIVE_CLOSE_TOLERANCE := NULL;
2424 ELSIF msii_temp_data.RECEIVE_CLOSE_TOLERANCE = g_FND_Upd_Null_NUM THEN
2425 msii_temp_data.RECEIVE_CLOSE_TOLERANCE := NULL;
2426 END IF;
2427 IF msii_temp_data.START_AUTO_LOT_NUMBER IS NULL THEN
2428 msii_temp_data.START_AUTO_LOT_NUMBER := msi_record_temp.START_AUTO_LOT_NUMBER;
2429 ELSIF msii_temp_data.START_AUTO_LOT_NUMBER = '!' THEN
2430 msii_temp_data.START_AUTO_LOT_NUMBER := NULL;
2431 ELSIF msii_temp_data.START_AUTO_LOT_NUMBER = g_FND_Upd_Null_Char THEN
2432 msii_temp_data.START_AUTO_LOT_NUMBER := NULL;
2433 ELSE
2434 msii_temp_data.START_AUTO_LOT_NUMBER := trim(msii_temp_data.START_AUTO_LOT_NUMBER);
2435 END IF;
2436 IF msii_temp_data.SERIAL_NUMBER_CONTROL_CODE is null then
2437 msii_temp_data.SERIAL_NUMBER_CONTROL_CODE := msi_record_temp.SERIAL_NUMBER_CONTROL_CODE;
2438 END IF;
2439 IF msii_temp_data.AUTO_SERIAL_ALPHA_PREFIX IS NULL THEN
2440 msii_temp_data.AUTO_SERIAL_ALPHA_PREFIX := msi_record_temp.AUTO_SERIAL_ALPHA_PREFIX;
2441 ELSIF msii_temp_data.AUTO_SERIAL_ALPHA_PREFIX = '!' THEN
2442 msii_temp_data.AUTO_SERIAL_ALPHA_PREFIX := NULL;
2443 ELSIF msii_temp_data.AUTO_SERIAL_ALPHA_PREFIX = g_FND_Upd_Null_Char THEN
2444 msii_temp_data.AUTO_SERIAL_ALPHA_PREFIX := NULL;
2445 ELSE
2446 msii_temp_data.AUTO_SERIAL_ALPHA_PREFIX := trim(msii_temp_data.AUTO_SERIAL_ALPHA_PREFIX);
2447 END IF;
2448 IF msii_temp_data.SOURCE_ORGANIZATION_ID IS NULL THEN
2449 msii_temp_data.SOURCE_ORGANIZATION_ID := msi_record_temp.SOURCE_ORGANIZATION_ID;
2450 ELSIF msii_temp_data.SOURCE_ORGANIZATION_ID = -999999 THEN
2451 msii_temp_data.SOURCE_ORGANIZATION_ID := NULL;
2452 ELSIF msii_temp_data.SOURCE_ORGANIZATION_ID = g_FND_Upd_Null_NUM THEN
2453 msii_temp_data.SOURCE_ORGANIZATION_ID := NULL;
2454 END IF;
2455 IF msii_temp_data.ENCUMBRANCE_ACCOUNT IS NULL THEN
2456 msii_temp_data.ENCUMBRANCE_ACCOUNT := msi_record_temp.ENCUMBRANCE_ACCOUNT;
2457 ELSIF msii_temp_data.ENCUMBRANCE_ACCOUNT = -999999 THEN
2458 msii_temp_data.ENCUMBRANCE_ACCOUNT := NULL;
2459 ELSIF msii_temp_data.ENCUMBRANCE_ACCOUNT = g_FND_Upd_Null_NUM THEN
2460 msii_temp_data.ENCUMBRANCE_ACCOUNT := NULL;
2461 END IF;
2462 IF msii_temp_data.WEIGHT_UOM_CODE IS NULL THEN
2463 msii_temp_data.WEIGHT_UOM_CODE := msi_record_temp.WEIGHT_UOM_CODE;
2464 ELSIF msii_temp_data.WEIGHT_UOM_CODE = '!' THEN
2465 msii_temp_data.WEIGHT_UOM_CODE := NULL;
2466 ELSIF msii_temp_data.WEIGHT_UOM_CODE = g_FND_Upd_Null_Char THEN
2467 msii_temp_data.WEIGHT_UOM_CODE := NULL;
2468 ELSE
2469 msii_temp_data.WEIGHT_UOM_CODE := trim(msii_temp_data.WEIGHT_UOM_CODE);
2470 END IF;
2471 IF trim(msii_temp_data.SEGMENT16) is null then
2472 msii_temp_data.SEGMENT16 := msi_record_temp.SEGMENT16;
2473 ELSE
2474 msii_temp_data.SEGMENT16 := trim(msii_temp_data.SEGMENT16);
2475 END IF;
2476 IF trim(msii_temp_data.SEGMENT17) is null then
2477 msii_temp_data.SEGMENT17 := msi_record_temp.SEGMENT17;
2478 ELSE
2479 msii_temp_data.SEGMENT17 := trim(msii_temp_data.SEGMENT17);
2480 END IF;
2481 msii_temp_data.PROCESS_FLAG := l_process_flag_2;
2482 IF trim(msii_temp_data.SUMMARY_FLAG) is null then
2483 msii_temp_data.SUMMARY_FLAG := msi_record_temp.SUMMARY_FLAG;
2484 ELSE
2485 msii_temp_data.SUMMARY_FLAG := trim(msii_temp_data.SUMMARY_FLAG);
2486 END IF;
2487 IF trim(msii_temp_data.ENABLED_FLAG) is null then
2491 END IF;
2488 msii_temp_data.ENABLED_FLAG := msi_record_temp.ENABLED_FLAG;
2489 ELSE
2490 msii_temp_data.ENABLED_FLAG := trim(msii_temp_data.ENABLED_FLAG);
2492 IF msii_temp_data.START_DATE_ACTIVE is null then
2493 msii_temp_data.START_DATE_ACTIVE := msi_record_temp.START_DATE_ACTIVE;
2494 END IF;
2495 IF msii_temp_data.END_DATE_ACTIVE is null then
2496 msii_temp_data.END_DATE_ACTIVE := msi_record_temp.END_DATE_ACTIVE;
2497 END IF;
2498 IF msii_temp_data.ACCOUNTING_RULE_ID IS NULL THEN
2499 msii_temp_data.ACCOUNTING_RULE_ID := msi_record_temp.ACCOUNTING_RULE_ID;
2500 ELSIF msii_temp_data.ACCOUNTING_RULE_ID = -999999 THEN
2501 msii_temp_data.ACCOUNTING_RULE_ID := NULL;
2502 ELSIF msii_temp_data.ACCOUNTING_RULE_ID = g_FND_Upd_Null_NUM THEN
2503 msii_temp_data.ACCOUNTING_RULE_ID := NULL;
2504 END IF;
2505 IF trim(msii_temp_data.SEGMENT1) is null then
2506 msii_temp_data.SEGMENT1 := msi_record_temp.SEGMENT1;
2507 ELSE
2508 msii_temp_data.SEGMENT1 := trim(msii_temp_data.SEGMENT1);
2509 END IF;
2510 IF trim(msii_temp_data.SEGMENT2) is null then
2511 msii_temp_data.SEGMENT2 := msi_record_temp.SEGMENT2;
2512 ELSE
2513 msii_temp_data.SEGMENT2 := trim(msii_temp_data.SEGMENT2);
2514 END IF;
2515 IF trim(msii_temp_data.SEGMENT3) is null then
2516 msii_temp_data.SEGMENT3 := msi_record_temp.SEGMENT3;
2517 ELSE
2518 msii_temp_data.SEGMENT3 := trim(msii_temp_data.SEGMENT3);
2519 END IF;
2520 IF trim(msii_temp_data.SEGMENT4) is null then
2521 msii_temp_data.SEGMENT4 := msi_record_temp.SEGMENT4;
2522 ELSE
2523 msii_temp_data.SEGMENT4 := trim(msii_temp_data.SEGMENT4);
2524 END IF;
2525 IF trim(msii_temp_data.SEGMENT5) is null then
2526 msii_temp_data.SEGMENT5 := msi_record_temp.SEGMENT5;
2527 ELSE
2528 msii_temp_data.SEGMENT5 := trim(msii_temp_data.SEGMENT5);
2529 END IF;
2530 IF trim(msii_temp_data.SEGMENT7) is null then
2531 msii_temp_data.SEGMENT7 := msi_record_temp.SEGMENT7;
2532 ELSE
2533 msii_temp_data.SEGMENT7 := trim(msii_temp_data.SEGMENT7);
2534 END IF;
2535 IF trim(msii_temp_data.SEGMENT9) is null then
2536 msii_temp_data.SEGMENT9 := msi_record_temp.SEGMENT9;
2537 ELSE
2538 msii_temp_data.SEGMENT9 := trim(msii_temp_data.SEGMENT9);
2539 END IF;
2540 IF trim(msii_temp_data.SEGMENT10) is null then
2541 msii_temp_data.SEGMENT10 := msi_record_temp.SEGMENT10;
2542 ELSE
2543 msii_temp_data.SEGMENT10 := trim(msii_temp_data.SEGMENT10);
2544 END IF;
2545 IF trim(msii_temp_data.SEGMENT12) is null then
2546 msii_temp_data.SEGMENT12 := msi_record_temp.SEGMENT12;
2547 ELSE
2548 msii_temp_data.SEGMENT12 := trim(msii_temp_data.SEGMENT12);
2549 END IF;
2550 IF trim(msii_temp_data.SEGMENT13) is null then
2551 msii_temp_data.SEGMENT13 := msi_record_temp.SEGMENT13;
2552 ELSE
2553 msii_temp_data.SEGMENT13 := trim(msii_temp_data.SEGMENT13);
2554 END IF;
2555 IF trim(msii_temp_data.SEGMENT15) is null then
2556 msii_temp_data.SEGMENT15 := msi_record_temp.SEGMENT15;
2557 ELSE
2558 msii_temp_data.SEGMENT15 := trim(msii_temp_data.SEGMENT15);
2559 END IF;
2560 IF trim(msii_temp_data.SEGMENT18) is null then
2561 msii_temp_data.SEGMENT18 := msi_record_temp.SEGMENT18;
2562 ELSE
2563 msii_temp_data.SEGMENT18 := trim(msii_temp_data.SEGMENT18);
2564 END IF;
2565 IF trim(msii_temp_data.SEGMENT20) is null then
2566 msii_temp_data.SEGMENT20 := msi_record_temp.SEGMENT20;
2567 ELSE
2568 msii_temp_data.SEGMENT20 := trim(msii_temp_data.SEGMENT20);
2569 END IF;
2570 IF msii_temp_data.ATTRIBUTE1 IS NULL THEN
2571 msii_temp_data.ATTRIBUTE1 := msi_record_temp.ATTRIBUTE1;
2572 ELSIF msii_temp_data.ATTRIBUTE1 = '!' THEN
2573 msii_temp_data.ATTRIBUTE1 := NULL;
2574 ELSIF msii_temp_data.ATTRIBUTE1 = g_FND_Upd_Null_Char THEN
2575 msii_temp_data.ATTRIBUTE1 := NULL;
2576 ELSE
2577 msii_temp_data.ATTRIBUTE1 := trim(msii_temp_data.ATTRIBUTE1);
2578 END IF;
2579 IF msii_temp_data.ATTRIBUTE2 IS NULL THEN
2580 msii_temp_data.ATTRIBUTE2 := msi_record_temp.ATTRIBUTE2;
2581 ELSIF msii_temp_data.ATTRIBUTE2 = '!' THEN
2582 msii_temp_data.ATTRIBUTE2 := NULL;
2583 ELSIF msii_temp_data.ATTRIBUTE2 = g_FND_Upd_Null_Char THEN
2584 msii_temp_data.ATTRIBUTE2 := NULL;
2585 ELSE
2586 msii_temp_data.ATTRIBUTE2 := trim(msii_temp_data.ATTRIBUTE2);
2587 END IF;
2588 IF msii_temp_data.ATTRIBUTE4 IS NULL THEN
2589 msii_temp_data.ATTRIBUTE4 := msi_record_temp.ATTRIBUTE4;
2590 ELSIF msii_temp_data.ATTRIBUTE4 = '!' THEN
2591 msii_temp_data.ATTRIBUTE4 := NULL;
2592 ELSIF msii_temp_data.ATTRIBUTE4 = g_FND_Upd_Null_Char THEN
2593 msii_temp_data.ATTRIBUTE4 := NULL;
2594 ELSE
2595 msii_temp_data.ATTRIBUTE4 := trim(msii_temp_data.ATTRIBUTE4);
2596 END IF;
2597 IF msii_temp_data.ATTRIBUTE6 IS NULL THEN
2598 msii_temp_data.ATTRIBUTE6 := msi_record_temp.ATTRIBUTE6;
2599 ELSIF msii_temp_data.ATTRIBUTE6 = '!' THEN
2600 msii_temp_data.ATTRIBUTE6 := NULL;
2601 ELSIF msii_temp_data.ATTRIBUTE6 = g_FND_Upd_Null_Char THEN
2602 msii_temp_data.ATTRIBUTE6 := NULL;
2603 ELSE
2604 msii_temp_data.ATTRIBUTE6 := trim(msii_temp_data.ATTRIBUTE6);
2605 END IF;
2606 IF msii_temp_data.ATTRIBUTE8 IS NULL THEN
2607 msii_temp_data.ATTRIBUTE8 := msi_record_temp.ATTRIBUTE8;
2608 ELSIF msii_temp_data.ATTRIBUTE8 = '!' THEN
2609 msii_temp_data.ATTRIBUTE8 := NULL;
2610 ELSIF msii_temp_data.ATTRIBUTE8 = g_FND_Upd_Null_Char THEN
2611 msii_temp_data.ATTRIBUTE8 := NULL;
2612 ELSE
2613 msii_temp_data.ATTRIBUTE8 := trim(msii_temp_data.ATTRIBUTE8);
2614 END IF;
2615 IF msii_temp_data.ATTRIBUTE9 IS NULL THEN
2619 ELSIF msii_temp_data.ATTRIBUTE9 = g_FND_Upd_Null_Char THEN
2616 msii_temp_data.ATTRIBUTE9 := msi_record_temp.ATTRIBUTE9;
2617 ELSIF msii_temp_data.ATTRIBUTE9 = '!' THEN
2618 msii_temp_data.ATTRIBUTE9 := NULL;
2620 msii_temp_data.ATTRIBUTE9 := NULL;
2621 ELSE
2622 msii_temp_data.ATTRIBUTE9 := trim(msii_temp_data.ATTRIBUTE9);
2623 END IF;
2624 IF msii_temp_data.ATTRIBUTE11 IS NULL THEN
2625 msii_temp_data.ATTRIBUTE11 := msi_record_temp.ATTRIBUTE11;
2626 ELSIF msii_temp_data.ATTRIBUTE11 = '!' THEN
2627 msii_temp_data.ATTRIBUTE11 := NULL;
2628 ELSIF msii_temp_data.ATTRIBUTE11 = g_FND_Upd_Null_Char THEN
2629 msii_temp_data.ATTRIBUTE11 := NULL;
2630 ELSE
2631 msii_temp_data.ATTRIBUTE11 := trim(msii_temp_data.ATTRIBUTE11);
2632 END IF;
2633 IF msii_temp_data.ATTRIBUTE13 IS NULL THEN
2634 msii_temp_data.ATTRIBUTE13 := msi_record_temp.ATTRIBUTE13;
2635 ELSIF msii_temp_data.ATTRIBUTE13 = '!' THEN
2636 msii_temp_data.ATTRIBUTE13 := NULL;
2637 ELSIF msii_temp_data.ATTRIBUTE13 = g_FND_Upd_Null_Char THEN
2638 msii_temp_data.ATTRIBUTE13 := NULL;
2639 ELSE
2640 msii_temp_data.ATTRIBUTE13 := trim(msii_temp_data.ATTRIBUTE13);
2641 END IF;
2642 IF msii_temp_data.ATTRIBUTE15 IS NULL THEN
2643 msii_temp_data.ATTRIBUTE15 := msi_record_temp.ATTRIBUTE15;
2644 ELSIF msii_temp_data.ATTRIBUTE15 = '!' THEN
2645 msii_temp_data.ATTRIBUTE15 := NULL;
2646 ELSIF msii_temp_data.ATTRIBUTE15 = g_FND_Upd_Null_Char THEN
2647 msii_temp_data.ATTRIBUTE15 := NULL;
2648 ELSE
2649 msii_temp_data.ATTRIBUTE15 := trim(msii_temp_data.ATTRIBUTE15);
2650 END IF;
2651 IF msii_temp_data.ATTRIBUTE16 IS NULL THEN
2652 msii_temp_data.ATTRIBUTE16 := msi_record_temp.ATTRIBUTE16;
2653 ELSIF msii_temp_data.ATTRIBUTE16 = '!' THEN
2654 msii_temp_data.ATTRIBUTE16 := NULL;
2655 ELSIF msii_temp_data.ATTRIBUTE16 = g_FND_Upd_Null_Char THEN
2656 msii_temp_data.ATTRIBUTE16 := NULL;
2657 ELSE
2658 msii_temp_data.ATTRIBUTE16 := trim(msii_temp_data.ATTRIBUTE16);
2659 END IF;
2660 IF msii_temp_data.ATTRIBUTE18 IS NULL THEN
2661 msii_temp_data.ATTRIBUTE18 := msi_record_temp.ATTRIBUTE18;
2662 ELSIF msii_temp_data.ATTRIBUTE18 = '!' THEN
2663 msii_temp_data.ATTRIBUTE18 := NULL;
2664 ELSIF msii_temp_data.ATTRIBUTE18 = g_FND_Upd_Null_Char THEN
2665 msii_temp_data.ATTRIBUTE18 := NULL;
2666 ELSE
2667 msii_temp_data.ATTRIBUTE18 := trim(msii_temp_data.ATTRIBUTE18);
2668 END IF;
2669 IF msii_temp_data.ATTRIBUTE20 IS NULL THEN
2670 msii_temp_data.ATTRIBUTE20 := msi_record_temp.ATTRIBUTE20;
2671 ELSIF msii_temp_data.ATTRIBUTE20 = '!' THEN
2672 msii_temp_data.ATTRIBUTE20 := NULL;
2673 ELSIF msii_temp_data.ATTRIBUTE20 = g_FND_Upd_Null_Char THEN
2674 msii_temp_data.ATTRIBUTE20 := NULL;
2675 ELSE
2676 msii_temp_data.ATTRIBUTE20 := trim(msii_temp_data.ATTRIBUTE20);
2677 END IF;
2678 IF msii_temp_data.ATTRIBUTE22 IS NULL THEN
2679 msii_temp_data.ATTRIBUTE22 := msi_record_temp.ATTRIBUTE22;
2680 ELSIF msii_temp_data.ATTRIBUTE22 = '!' THEN
2681 msii_temp_data.ATTRIBUTE22 := NULL;
2682 ELSIF msii_temp_data.ATTRIBUTE22 = g_FND_Upd_Null_Char THEN
2683 msii_temp_data.ATTRIBUTE22 := NULL;
2684 ELSE
2685 msii_temp_data.ATTRIBUTE22 := trim(msii_temp_data.ATTRIBUTE22);
2686 END IF;
2687 IF msii_temp_data.ATTRIBUTE23 IS NULL THEN
2688 msii_temp_data.ATTRIBUTE23 := msi_record_temp.ATTRIBUTE23;
2689 ELSIF msii_temp_data.ATTRIBUTE23 = '!' THEN
2690 msii_temp_data.ATTRIBUTE23 := NULL;
2691 ELSIF msii_temp_data.ATTRIBUTE23 = g_FND_Upd_Null_Char THEN
2692 msii_temp_data.ATTRIBUTE23 := NULL;
2693 ELSE
2694 msii_temp_data.ATTRIBUTE23 := trim(msii_temp_data.ATTRIBUTE23);
2695 END IF;
2696 IF msii_temp_data.ATTRIBUTE25 IS NULL THEN
2697 msii_temp_data.ATTRIBUTE25 := msi_record_temp.ATTRIBUTE25;
2698 ELSIF msii_temp_data.ATTRIBUTE25 = '!' THEN
2699 msii_temp_data.ATTRIBUTE25 := NULL;
2700 ELSIF msii_temp_data.ATTRIBUTE25 = g_FND_Upd_Null_Char THEN
2701 msii_temp_data.ATTRIBUTE25 := NULL;
2702 ELSE
2703 msii_temp_data.ATTRIBUTE25 := trim(msii_temp_data.ATTRIBUTE25);
2704 END IF;
2705 IF msii_temp_data.ATTRIBUTE27 IS NULL THEN
2706 msii_temp_data.ATTRIBUTE27 := msi_record_temp.ATTRIBUTE27;
2707 ELSIF msii_temp_data.ATTRIBUTE27 = '!' THEN
2708 msii_temp_data.ATTRIBUTE27 := NULL;
2709 ELSIF msii_temp_data.ATTRIBUTE27 = g_FND_Upd_Null_Char THEN
2710 msii_temp_data.ATTRIBUTE27 := NULL;
2711 ELSE
2712 msii_temp_data.ATTRIBUTE27 := trim(msii_temp_data.ATTRIBUTE27);
2713 END IF;
2714 IF msii_temp_data.ATTRIBUTE29 IS NULL THEN
2715 msii_temp_data.ATTRIBUTE29 := msi_record_temp.ATTRIBUTE29;
2716 ELSIF msii_temp_data.ATTRIBUTE29 = '!' THEN
2717 msii_temp_data.ATTRIBUTE29 := NULL;
2718 ELSIF msii_temp_data.ATTRIBUTE29 = g_FND_Upd_Null_Char THEN
2719 msii_temp_data.ATTRIBUTE29 := NULL;
2720 ELSE
2721 msii_temp_data.ATTRIBUTE29 := trim(msii_temp_data.ATTRIBUTE29);
2722 END IF;
2723 IF msii_temp_data.ATTRIBUTE30 IS NULL THEN
2724 msii_temp_data.ATTRIBUTE30 := msi_record_temp.ATTRIBUTE30;
2725 ELSIF msii_temp_data.ATTRIBUTE30 = '!' THEN
2726 msii_temp_data.ATTRIBUTE30 := NULL;
2727 ELSIF msii_temp_data.ATTRIBUTE30 = g_FND_Upd_Null_Char THEN
2728 msii_temp_data.ATTRIBUTE30 := NULL;
2729 ELSE
2730 msii_temp_data.ATTRIBUTE30 := trim(msii_temp_data.ATTRIBUTE30);
2731 END IF;
2732 IF msii_temp_data.GLOBAL_ATTRIBUTE1 IS NULL THEN
2733 msii_temp_data.GLOBAL_ATTRIBUTE1 := msi_record_temp.GLOBAL_ATTRIBUTE1;
2734 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE1 = '!' THEN
2735 msii_temp_data.GLOBAL_ATTRIBUTE1 := NULL;
2736 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE1 = g_FND_Upd_Null_Char THEN
2740 END IF;
2737 msii_temp_data.GLOBAL_ATTRIBUTE1 := NULL;
2738 ELSE
2739 msii_temp_data.GLOBAL_ATTRIBUTE1 := trim(msii_temp_data.GLOBAL_ATTRIBUTE1);
2741 IF msii_temp_data.GLOBAL_ATTRIBUTE3 IS NULL THEN
2742 msii_temp_data.GLOBAL_ATTRIBUTE3 := msi_record_temp.GLOBAL_ATTRIBUTE3;
2743 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE3 = '!' THEN
2744 msii_temp_data.GLOBAL_ATTRIBUTE3 := NULL;
2745 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE3 = g_FND_Upd_Null_Char THEN
2746 msii_temp_data.GLOBAL_ATTRIBUTE3 := NULL;
2747 ELSE
2748 msii_temp_data.GLOBAL_ATTRIBUTE3 := trim(msii_temp_data.GLOBAL_ATTRIBUTE3);
2749 END IF;
2750 IF msii_temp_data.GLOBAL_ATTRIBUTE4 IS NULL THEN
2751 msii_temp_data.GLOBAL_ATTRIBUTE4 := msi_record_temp.GLOBAL_ATTRIBUTE4;
2752 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE4 = '!' THEN
2753 msii_temp_data.GLOBAL_ATTRIBUTE4 := NULL;
2754 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE4 = g_FND_Upd_Null_Char THEN
2755 msii_temp_data.GLOBAL_ATTRIBUTE4 := NULL;
2756 ELSE
2757 msii_temp_data.GLOBAL_ATTRIBUTE4 := trim(msii_temp_data.GLOBAL_ATTRIBUTE4);
2758 END IF;
2759 IF msii_temp_data.GLOBAL_ATTRIBUTE6 IS NULL THEN
2760 msii_temp_data.GLOBAL_ATTRIBUTE6 := msi_record_temp.GLOBAL_ATTRIBUTE6;
2761 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE6 = '!' THEN
2762 msii_temp_data.GLOBAL_ATTRIBUTE6 := NULL;
2763 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE6 = g_FND_Upd_Null_Char THEN
2764 msii_temp_data.GLOBAL_ATTRIBUTE6 := NULL;
2765 ELSE
2766 msii_temp_data.GLOBAL_ATTRIBUTE6 := trim(msii_temp_data.GLOBAL_ATTRIBUTE6);
2767 END IF;
2768 IF msii_temp_data.GLOBAL_ATTRIBUTE8 IS NULL THEN
2769 msii_temp_data.GLOBAL_ATTRIBUTE8 := msi_record_temp.GLOBAL_ATTRIBUTE8;
2770 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE8 = '!' THEN
2771 msii_temp_data.GLOBAL_ATTRIBUTE8 := NULL;
2772 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE8 = g_FND_Upd_Null_Char THEN
2773 msii_temp_data.GLOBAL_ATTRIBUTE8 := NULL;
2774 ELSE
2775 msii_temp_data.GLOBAL_ATTRIBUTE8 := trim(msii_temp_data.GLOBAL_ATTRIBUTE8);
2776 END IF;
2777 IF msii_temp_data.GLOBAL_ATTRIBUTE10 IS NULL THEN
2778 msii_temp_data.GLOBAL_ATTRIBUTE10 := msi_record_temp.GLOBAL_ATTRIBUTE10;
2779 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE10 = '!' THEN
2780 msii_temp_data.GLOBAL_ATTRIBUTE10 := NULL;
2781 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE10 = g_FND_Upd_Null_Char THEN
2782 msii_temp_data.GLOBAL_ATTRIBUTE10 := NULL;
2783 ELSE
2784 msii_temp_data.GLOBAL_ATTRIBUTE10 := trim(msii_temp_data.GLOBAL_ATTRIBUTE10);
2785 END IF;
2786 IF msii_temp_data.GLOBAL_ATTRIBUTE11 IS NULL THEN
2787 msii_temp_data.GLOBAL_ATTRIBUTE11 := msi_record_temp.GLOBAL_ATTRIBUTE11;
2788 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE11 = '!' THEN
2789 msii_temp_data.GLOBAL_ATTRIBUTE11 := NULL;
2790 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE11 = g_FND_Upd_Null_Char THEN
2791 msii_temp_data.GLOBAL_ATTRIBUTE11 := NULL;
2792 ELSE
2793 msii_temp_data.GLOBAL_ATTRIBUTE11 := trim(msii_temp_data.GLOBAL_ATTRIBUTE11);
2794 END IF;
2795 IF msii_temp_data.GLOBAL_ATTRIBUTE12 IS NULL THEN
2796 msii_temp_data.GLOBAL_ATTRIBUTE12 := msi_record_temp.GLOBAL_ATTRIBUTE12;
2797 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE12 = '!' THEN
2798 msii_temp_data.GLOBAL_ATTRIBUTE12 := NULL;
2799 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE12 = g_FND_Upd_Null_Char THEN
2800 msii_temp_data.GLOBAL_ATTRIBUTE12 := NULL;
2801 ELSE
2802 msii_temp_data.GLOBAL_ATTRIBUTE12 := trim(msii_temp_data.GLOBAL_ATTRIBUTE12);
2803 END IF;
2804 IF msii_temp_data.GLOBAL_ATTRIBUTE13 IS NULL THEN
2805 msii_temp_data.GLOBAL_ATTRIBUTE13 := msi_record_temp.GLOBAL_ATTRIBUTE13;
2806 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE13 = '!' THEN
2807 msii_temp_data.GLOBAL_ATTRIBUTE13 := NULL;
2808 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE13 = g_FND_Upd_Null_Char THEN
2809 msii_temp_data.GLOBAL_ATTRIBUTE13 := NULL;
2810 ELSE
2811 msii_temp_data.GLOBAL_ATTRIBUTE13 := trim(msii_temp_data.GLOBAL_ATTRIBUTE13);
2812 END IF;
2813 IF msii_temp_data.GLOBAL_ATTRIBUTE14 IS NULL THEN
2814 msii_temp_data.GLOBAL_ATTRIBUTE14 := msi_record_temp.GLOBAL_ATTRIBUTE14;
2815 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE14 = '!' THEN
2816 msii_temp_data.GLOBAL_ATTRIBUTE14 := NULL;
2817 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE14 = g_FND_Upd_Null_Char THEN
2818 msii_temp_data.GLOBAL_ATTRIBUTE14 := NULL;
2819 ELSE
2820 msii_temp_data.GLOBAL_ATTRIBUTE14 := trim(msii_temp_data.GLOBAL_ATTRIBUTE14);
2821 END IF;
2822 IF msii_temp_data.GLOBAL_ATTRIBUTE15 IS NULL THEN
2823 msii_temp_data.GLOBAL_ATTRIBUTE15 := msi_record_temp.GLOBAL_ATTRIBUTE15;
2824 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE15 = '!' THEN
2825 msii_temp_data.GLOBAL_ATTRIBUTE15 := NULL;
2826 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE15 = g_FND_Upd_Null_Char THEN
2827 msii_temp_data.GLOBAL_ATTRIBUTE15 := NULL;
2828 ELSE
2829 msii_temp_data.GLOBAL_ATTRIBUTE15 := trim(msii_temp_data.GLOBAL_ATTRIBUTE15);
2830 END IF;
2831 IF msii_temp_data.GLOBAL_ATTRIBUTE16 IS NULL THEN
2832 msii_temp_data.GLOBAL_ATTRIBUTE16 := msi_record_temp.GLOBAL_ATTRIBUTE16;
2833 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE16 = '!' THEN
2834 msii_temp_data.GLOBAL_ATTRIBUTE16 := NULL;
2835 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE16 = g_FND_Upd_Null_Char THEN
2836 msii_temp_data.GLOBAL_ATTRIBUTE16 := NULL;
2837 ELSE
2838 msii_temp_data.GLOBAL_ATTRIBUTE16 := trim(msii_temp_data.GLOBAL_ATTRIBUTE16);
2839 END IF;
2840
2841 IF msii_temp_data.GLOBAL_ATTRIBUTE17 IS NULL THEN
2842 msii_temp_data.GLOBAL_ATTRIBUTE17 := msi_record_temp.GLOBAL_ATTRIBUTE17;
2843 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE17 = '!' THEN
2844 msii_temp_data.GLOBAL_ATTRIBUTE17 := NULL;
2845 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE17 = g_FND_Upd_Null_Char THEN
2846 msii_temp_data.GLOBAL_ATTRIBUTE17 := NULL;
2847 ELSE
2851 msii_temp_data.GLOBAL_ATTRIBUTE18 := msi_record_temp.GLOBAL_ATTRIBUTE18;
2848 msii_temp_data.GLOBAL_ATTRIBUTE17 := trim(msii_temp_data.GLOBAL_ATTRIBUTE17);
2849 END IF;
2850 IF msii_temp_data.GLOBAL_ATTRIBUTE18 IS NULL THEN
2852 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE18 = '!' THEN
2853 msii_temp_data.GLOBAL_ATTRIBUTE18 := NULL;
2854 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE18 = g_FND_Upd_Null_Char THEN
2855 msii_temp_data.GLOBAL_ATTRIBUTE18 := NULL;
2856 ELSE
2857 msii_temp_data.GLOBAL_ATTRIBUTE18 := trim(msii_temp_data.GLOBAL_ATTRIBUTE18);
2858 END IF;
2859 IF msii_temp_data.GLOBAL_ATTRIBUTE19 IS NULL THEN
2860 msii_temp_data.GLOBAL_ATTRIBUTE19 := msi_record_temp.GLOBAL_ATTRIBUTE19;
2861 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE19 = '!' THEN
2862 msii_temp_data.GLOBAL_ATTRIBUTE19 := NULL;
2863 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE19 = g_FND_Upd_Null_Char THEN
2864 msii_temp_data.GLOBAL_ATTRIBUTE19 := NULL;
2865 ELSE
2866 msii_temp_data.GLOBAL_ATTRIBUTE19 := trim(msii_temp_data.GLOBAL_ATTRIBUTE19);
2867 END IF;
2868 IF msii_temp_data.GLOBAL_ATTRIBUTE20 IS NULL THEN
2869 msii_temp_data.GLOBAL_ATTRIBUTE20 := msi_record_temp.GLOBAL_ATTRIBUTE20;
2870 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE20 = '!' THEN
2871 msii_temp_data.GLOBAL_ATTRIBUTE20 := NULL;
2872 ELSIF msii_temp_data.GLOBAL_ATTRIBUTE20 = g_FND_Upd_Null_Char THEN
2873 msii_temp_data.GLOBAL_ATTRIBUTE20 := NULL;
2874 ELSE
2875 msii_temp_data.GLOBAL_ATTRIBUTE20 := trim(msii_temp_data.GLOBAL_ATTRIBUTE20);
2876 END IF;
2877
2878 IF trim(msii_temp_data.PURCHASING_ITEM_FLAG) is null then
2879 msii_temp_data.PURCHASING_ITEM_FLAG := msi_record_temp.PURCHASING_ITEM_FLAG;
2880 ELSE
2881 msii_temp_data.PURCHASING_ITEM_FLAG := trim(msii_temp_data.PURCHASING_ITEM_FLAG);
2882 END IF;
2883 IF trim(msii_temp_data.SHIPPABLE_ITEM_FLAG) is null then
2884 msii_temp_data.SHIPPABLE_ITEM_FLAG := msi_record_temp.SHIPPABLE_ITEM_FLAG;
2885 ELSE
2886 msii_temp_data.SHIPPABLE_ITEM_FLAG := trim(msii_temp_data.SHIPPABLE_ITEM_FLAG);
2887 END IF;
2888 IF trim(msii_temp_data.INTERNAL_ORDER_FLAG) is null then
2889 msii_temp_data.INTERNAL_ORDER_FLAG := msi_record_temp.INTERNAL_ORDER_FLAG;
2890 ELSE
2891 msii_temp_data.INTERNAL_ORDER_FLAG := trim(msii_temp_data.INTERNAL_ORDER_FLAG);
2892 END IF;
2893 IF trim(msii_temp_data.INVENTORY_ITEM_FLAG) is null then
2894 msii_temp_data.INVENTORY_ITEM_FLAG := msi_record_temp.INVENTORY_ITEM_FLAG;
2895 ELSE
2896 msii_temp_data.INVENTORY_ITEM_FLAG := trim(msii_temp_data.INVENTORY_ITEM_FLAG);
2897 END IF;
2898 IF trim(msii_temp_data.INVENTORY_ASSET_FLAG) is null then
2899 msii_temp_data.INVENTORY_ASSET_FLAG := msi_record_temp.INVENTORY_ASSET_FLAG;
2900 ELSE
2901 msii_temp_data.INVENTORY_ASSET_FLAG := trim(msii_temp_data.INVENTORY_ASSET_FLAG);
2902 END IF;
2903 IF Trim(msii_temp_data.CUSTOMER_ORDER_ENABLED_FLAG) IS NULL THEN
2904 IF msii_temp_data.INVENTORY_ITEM_STATUS_CODE IS NULL THEN
2905 msii_temp_data.CUSTOMER_ORDER_ENABLED_FLAG := msi_record_temp.CUSTOMER_ORDER_ENABLED_FLAG;
2906 END IF;
2907 ELSE
2908 msii_temp_data.CUSTOMER_ORDER_ENABLED_FLAG := trim(msii_temp_data.CUSTOMER_ORDER_ENABLED_FLAG);
2909 END IF;
2910 IF trim(msii_temp_data.MTL_TRANSACTIONS_ENABLED_FLAG) is null then
2911 IF msii_temp_data.inventory_item_status_code IS NULL THEN
2912 msii_temp_data.MTL_TRANSACTIONS_ENABLED_FLAG := msi_record_temp.MTL_TRANSACTIONS_ENABLED_FLAG;
2913 END IF;
2914 ELSE
2915 msii_temp_data.MTL_TRANSACTIONS_ENABLED_FLAG := trim(msii_temp_data.MTL_TRANSACTIONS_ENABLED_FLAG);
2916 END IF;
2917 IF trim(msii_temp_data.STOCK_ENABLED_FLAG) is null then
2918 if msii_temp_data.inventory_item_status_code IS NULL THEN
2919 msii_temp_data.STOCK_ENABLED_FLAG := msi_record_temp.STOCK_ENABLED_FLAG;
2920 END IF;
2921 ELSE
2922 msii_temp_data.STOCK_ENABLED_FLAG := trim(msii_temp_data.STOCK_ENABLED_FLAG);
2923 END IF;
2924 IF trim(msii_temp_data.BUILD_IN_WIP_FLAG) is null then
2925 IF msii_temp_data.inventory_item_status_code is null then
2926 msii_temp_data.BUILD_IN_WIP_FLAG := msi_record_temp.BUILD_IN_WIP_FLAG;
2927 END IF;
2928 ELSE
2929 msii_temp_data.BUILD_IN_WIP_FLAG := trim(msii_temp_data.BUILD_IN_WIP_FLAG);
2930 END IF;
2931 IF trim(msii_temp_data.SO_TRANSACTIONS_FLAG) is null then
2932 msii_temp_data.SO_TRANSACTIONS_FLAG := msi_record_temp.SO_TRANSACTIONS_FLAG;
2933 ELSE
2934 msii_temp_data.SO_TRANSACTIONS_FLAG := trim(msii_temp_data.SO_TRANSACTIONS_FLAG);
2935 END IF;
2936 IF trim(msii_temp_data.PROCESS_EXECUTION_ENABLED_FLAG) is null then
2937 IF msii_temp_data.inventory_item_status_code is null then
2938 msii_temp_data.PROCESS_EXECUTION_ENABLED_FLAG := msi_record_temp.PROCESS_EXECUTION_ENABLED_FLAG;
2939 END IF;
2940 ELSE
2941 msii_temp_data.PROCESS_EXECUTION_ENABLED_FLAG := trim(msii_temp_data.PROCESS_EXECUTION_ENABLED_FLAG);
2942 END IF;
2943 IF msii_temp_data.ITEM_CATALOG_GROUP_ID IS NULL THEN
2944 msii_temp_data.ITEM_CATALOG_GROUP_ID := msi_record_temp.ITEM_CATALOG_GROUP_ID;
2945 ELSIF msii_temp_data.ITEM_CATALOG_GROUP_ID = -999999 THEN
2946 msii_temp_data.ITEM_CATALOG_GROUP_ID := NULL;
2947 ELSIF msii_temp_data.ITEM_CATALOG_GROUP_ID = g_FND_Upd_Null_NUM THEN
2948 msii_temp_data.ITEM_CATALOG_GROUP_ID := NULL;
2949 END IF;
2950 IF trim(msii_temp_data.RETURNABLE_FLAG) is null then
2951 msii_temp_data.RETURNABLE_FLAG := msi_record_temp.RETURNABLE_FLAG;
2952 ELSE
2953 msii_temp_data.RETURNABLE_FLAG := trim(msii_temp_data.RETURNABLE_FLAG);
2954 END IF;
2955 IF msii_temp_data.DEFAULT_SHIPPING_ORG IS NULL THEN
2956 msii_temp_data.DEFAULT_SHIPPING_ORG := msi_record_temp.DEFAULT_SHIPPING_ORG;
2957 ELSIF msii_temp_data.DEFAULT_SHIPPING_ORG = -999999 THEN
2958 msii_temp_data.DEFAULT_SHIPPING_ORG := NULL;
2962 IF msii_temp_data.TAXABLE_FLAG IS NULL THEN
2959 ELSIF msii_temp_data.DEFAULT_SHIPPING_ORG = g_FND_Upd_Null_NUM THEN
2960 msii_temp_data.DEFAULT_SHIPPING_ORG := NULL;
2961 END IF;
2963 msii_temp_data.TAXABLE_FLAG := msi_record_temp.TAXABLE_FLAG;
2964 ELSIF msii_temp_data.TAXABLE_FLAG = '!' THEN
2965 msii_temp_data.TAXABLE_FLAG := NULL;
2966 ELSIF msii_temp_data.TAXABLE_FLAG = g_FND_Upd_Null_Char THEN
2967 msii_temp_data.TAXABLE_FLAG := NULL;
2968 ELSE
2969 msii_temp_data.TAXABLE_FLAG := trim(msii_temp_data.TAXABLE_FLAG);
2970 END IF;
2971 IF msii_temp_data.QTY_RCV_EXCEPTION_CODE IS NULL THEN
2972 msii_temp_data.QTY_RCV_EXCEPTION_CODE := msi_record_temp.QTY_RCV_EXCEPTION_CODE;
2973 ELSIF msii_temp_data.QTY_RCV_EXCEPTION_CODE = '!' THEN
2974 msii_temp_data.QTY_RCV_EXCEPTION_CODE := NULL;
2975 ELSIF msii_temp_data.QTY_RCV_EXCEPTION_CODE = g_FND_Upd_Null_Char THEN
2976 msii_temp_data.QTY_RCV_EXCEPTION_CODE := NULL;
2977 ELSE
2978 msii_temp_data.QTY_RCV_EXCEPTION_CODE := trim(msii_temp_data.QTY_RCV_EXCEPTION_CODE);
2979 END IF;
2980 IF trim(msii_temp_data.ALLOW_ITEM_DESC_UPDATE_FLAG) is null then
2981 msii_temp_data.ALLOW_ITEM_DESC_UPDATE_FLAG := msi_record_temp.ALLOW_ITEM_DESC_UPDATE_FLAG;
2982 ELSE
2983 msii_temp_data.ALLOW_ITEM_DESC_UPDATE_FLAG := trim(msii_temp_data.ALLOW_ITEM_DESC_UPDATE_FLAG);
2984 END IF;
2985 IF msii_temp_data.RECEIPT_REQUIRED_FLAG IS NULL THEN
2986 msii_temp_data.RECEIPT_REQUIRED_FLAG := msi_record_temp.RECEIPT_REQUIRED_FLAG;
2987 ELSIF msii_temp_data.RECEIPT_REQUIRED_FLAG = '!' THEN
2988 msii_temp_data.RECEIPT_REQUIRED_FLAG := NULL;
2989 ELSIF msii_temp_data.RECEIPT_REQUIRED_FLAG = g_FND_Upd_Null_Char THEN
2990 msii_temp_data.RECEIPT_REQUIRED_FLAG := NULL;
2991 ELSE
2992 msii_temp_data.RECEIPT_REQUIRED_FLAG := trim(msii_temp_data.RECEIPT_REQUIRED_FLAG);
2993 END IF;
2994 IF msii_temp_data.HAZARD_CLASS_ID IS NULL THEN
2995 msii_temp_data.HAZARD_CLASS_ID := msi_record_temp.HAZARD_CLASS_ID;
2996 ELSIF msii_temp_data.HAZARD_CLASS_ID = -999999 THEN
2997 msii_temp_data.HAZARD_CLASS_ID := NULL;
2998 ELSIF msii_temp_data.HAZARD_CLASS_ID = g_FND_Upd_Null_NUM THEN
2999 msii_temp_data.HAZARD_CLASS_ID := NULL;
3000 END IF;
3001 IF msii_temp_data.QTY_RCV_TOLERANCE IS NULL THEN
3002 msii_temp_data.QTY_RCV_TOLERANCE := msi_record_temp.QTY_RCV_TOLERANCE;
3003 ELSIF msii_temp_data.QTY_RCV_TOLERANCE = -999999 THEN
3004 msii_temp_data.QTY_RCV_TOLERANCE := NULL;
3005 ELSIF msii_temp_data.QTY_RCV_TOLERANCE = g_FND_Upd_Null_NUM THEN
3006 msii_temp_data.QTY_RCV_TOLERANCE := NULL;
3007 END IF;
3008 IF msii_temp_data.UN_NUMBER_ID IS NULL THEN
3009 msii_temp_data.UN_NUMBER_ID := msi_record_temp.UN_NUMBER_ID;
3010 ELSIF msii_temp_data.UN_NUMBER_ID = -999999 THEN
3011 msii_temp_data.UN_NUMBER_ID := NULL;
3012 ELSIF msii_temp_data.UN_NUMBER_ID = g_FND_Upd_Null_NUM THEN
3013 msii_temp_data.UN_NUMBER_ID := NULL;
3014 END IF;
3015 IF msii_temp_data.ASSET_CATEGORY_ID IS NULL THEN
3016 msii_temp_data.ASSET_CATEGORY_ID := msi_record_temp.ASSET_CATEGORY_ID;
3017 ELSIF msii_temp_data.ASSET_CATEGORY_ID = -999999 THEN
3018 msii_temp_data.ASSET_CATEGORY_ID := NULL;
3019 ELSIF msii_temp_data.ASSET_CATEGORY_ID = g_FND_Upd_Null_NUM THEN
3020 msii_temp_data.ASSET_CATEGORY_ID := NULL;
3021 END IF;
3022 IF msii_temp_data.ROUNDING_FACTOR IS NULL THEN
3023 msii_temp_data.ROUNDING_FACTOR := msi_record_temp.ROUNDING_FACTOR;
3024 ELSIF msii_temp_data.ROUNDING_FACTOR = -999999 THEN
3025 msii_temp_data.ROUNDING_FACTOR := NULL;
3026 ELSIF msii_temp_data.ROUNDING_FACTOR = g_FND_Upd_Null_NUM THEN
3027 msii_temp_data.ROUNDING_FACTOR := NULL;
3028 END IF;
3029 IF msii_temp_data.ENFORCE_SHIP_TO_LOCATION_CODE IS NULL THEN
3030 msii_temp_data.ENFORCE_SHIP_TO_LOCATION_CODE := msi_record_temp.ENFORCE_SHIP_TO_LOCATION_CODE;
3031 ELSIF msii_temp_data.ENFORCE_SHIP_TO_LOCATION_CODE = '!' THEN
3032 msii_temp_data.ENFORCE_SHIP_TO_LOCATION_CODE := NULL;
3033 ELSIF msii_temp_data.ENFORCE_SHIP_TO_LOCATION_CODE = g_FND_Upd_Null_Char THEN
3034 msii_temp_data.ENFORCE_SHIP_TO_LOCATION_CODE := NULL;
3035 ELSE
3036 msii_temp_data.ENFORCE_SHIP_TO_LOCATION_CODE := trim(msii_temp_data.ENFORCE_SHIP_TO_LOCATION_CODE);
3037 END IF;
3038 IF msii_temp_data.ALLOW_UNORDERED_RECEIPTS_FLAG IS NULL THEN
3039 msii_temp_data.ALLOW_UNORDERED_RECEIPTS_FLAG := msi_record_temp.ALLOW_UNORDERED_RECEIPTS_FLAG;
3040 ELSIF msii_temp_data.ALLOW_UNORDERED_RECEIPTS_FLAG = '!' THEN
3041 msii_temp_data.ALLOW_UNORDERED_RECEIPTS_FLAG := NULL;
3042 ELSIF msii_temp_data.ALLOW_UNORDERED_RECEIPTS_FLAG = g_FND_Upd_Null_Char THEN
3043 msii_temp_data.ALLOW_UNORDERED_RECEIPTS_FLAG := NULL;
3044 ELSE
3045 msii_temp_data.ALLOW_UNORDERED_RECEIPTS_FLAG := trim(msii_temp_data.ALLOW_UNORDERED_RECEIPTS_FLAG);
3046 END IF;
3047 IF msii_temp_data.DAYS_EARLY_RECEIPT_ALLOWED IS NULL THEN
3048 msii_temp_data.DAYS_EARLY_RECEIPT_ALLOWED := msi_record_temp.DAYS_EARLY_RECEIPT_ALLOWED;
3049 ELSIF msii_temp_data.DAYS_EARLY_RECEIPT_ALLOWED = -999999 THEN
3050 msii_temp_data.DAYS_EARLY_RECEIPT_ALLOWED := NULL;
3051 ELSIF msii_temp_data.DAYS_EARLY_RECEIPT_ALLOWED = g_FND_Upd_Null_NUM THEN
3052 msii_temp_data.DAYS_EARLY_RECEIPT_ALLOWED := NULL;
3053 END IF;
3054 IF msii_temp_data.DAYS_LATE_RECEIPT_ALLOWED IS NULL THEN
3055 msii_temp_data.DAYS_LATE_RECEIPT_ALLOWED := msi_record_temp.DAYS_LATE_RECEIPT_ALLOWED;
3056 ELSIF msii_temp_data.DAYS_LATE_RECEIPT_ALLOWED = -999999 THEN
3057 msii_temp_data.DAYS_LATE_RECEIPT_ALLOWED := NULL;
3058 ELSIF msii_temp_data.DAYS_LATE_RECEIPT_ALLOWED = g_FND_Upd_Null_NUM THEN
3059 msii_temp_data.DAYS_LATE_RECEIPT_ALLOWED := NULL;
3060 END IF;
3061 IF msii_temp_data.RECEIVING_ROUTING_ID IS NULL THEN
3065 ELSIF msii_temp_data.RECEIVING_ROUTING_ID = g_FND_Upd_Null_NUM THEN
3062 msii_temp_data.RECEIVING_ROUTING_ID := msi_record_temp.RECEIVING_ROUTING_ID;
3063 ELSIF msii_temp_data.RECEIVING_ROUTING_ID = -999999 THEN
3064 msii_temp_data.RECEIVING_ROUTING_ID := NULL;
3066 msii_temp_data.RECEIVING_ROUTING_ID := NULL;
3067 END IF;
3068 IF msii_temp_data.INVOICE_CLOSE_TOLERANCE IS NULL THEN
3069 msii_temp_data.INVOICE_CLOSE_TOLERANCE := msi_record_temp.INVOICE_CLOSE_TOLERANCE;
3070 ELSIF msii_temp_data.INVOICE_CLOSE_TOLERANCE = -999999 THEN
3071 msii_temp_data.INVOICE_CLOSE_TOLERANCE := NULL;
3072 ELSIF msii_temp_data.INVOICE_CLOSE_TOLERANCE = g_FND_Upd_Null_NUM THEN
3073 msii_temp_data.INVOICE_CLOSE_TOLERANCE := NULL;
3074 END IF;
3075 IF msii_temp_data.AUTO_LOT_ALPHA_PREFIX IS NULL THEN
3076 msii_temp_data.AUTO_LOT_ALPHA_PREFIX := msi_record_temp.AUTO_LOT_ALPHA_PREFIX;
3077 ELSIF msii_temp_data.AUTO_LOT_ALPHA_PREFIX = '!' THEN
3078 msii_temp_data.AUTO_LOT_ALPHA_PREFIX := NULL;
3079 ELSIF msii_temp_data.AUTO_LOT_ALPHA_PREFIX = g_FND_Upd_Null_Char THEN
3080 msii_temp_data.AUTO_LOT_ALPHA_PREFIX := NULL;
3081 ELSE
3082 msii_temp_data.AUTO_LOT_ALPHA_PREFIX := trim(msii_temp_data.AUTO_LOT_ALPHA_PREFIX);
3083 END IF;
3084 IF msii_temp_data.LOT_CONTROL_CODE is null then
3085 msii_temp_data.LOT_CONTROL_CODE := msi_record_temp.LOT_CONTROL_CODE;
3086 END IF;
3087 IF msii_temp_data.SHELF_LIFE_CODE is null then
3088 msii_temp_data.SHELF_LIFE_CODE := msi_record_temp.SHELF_LIFE_CODE;
3089 END IF;
3090 IF msii_temp_data.SHELF_LIFE_DAYS IS NULL THEN
3091 msii_temp_data.SHELF_LIFE_DAYS := msi_record_temp.SHELF_LIFE_DAYS;
3092 ELSIF msii_temp_data.SHELF_LIFE_DAYS = -999999 THEN
3093 msii_temp_data.SHELF_LIFE_DAYS := NULL;
3094 ELSIF msii_temp_data.SHELF_LIFE_DAYS = g_FND_Upd_Null_NUM THEN
3095 msii_temp_data.SHELF_LIFE_DAYS := NULL;
3096 END IF;
3097 IF msii_temp_data.START_AUTO_SERIAL_NUMBER IS NULL THEN
3098 msii_temp_data.START_AUTO_SERIAL_NUMBER := msi_record_temp.START_AUTO_SERIAL_NUMBER;
3099 ELSIF msii_temp_data.START_AUTO_SERIAL_NUMBER = '!' THEN
3100 msii_temp_data.START_AUTO_SERIAL_NUMBER := NULL;
3101 ELSIF msii_temp_data.START_AUTO_SERIAL_NUMBER = g_FND_Upd_Null_Char THEN
3102 msii_temp_data.START_AUTO_SERIAL_NUMBER := NULL;
3103 ELSE
3104 msii_temp_data.START_AUTO_SERIAL_NUMBER := trim(msii_temp_data.START_AUTO_SERIAL_NUMBER);
3105 END IF;
3106 IF msii_temp_data.SOURCE_TYPE IS NULL THEN
3107 msii_temp_data.SOURCE_TYPE := msi_record_temp.SOURCE_TYPE;
3108 ELSIF msii_temp_data.SOURCE_TYPE = -999999 THEN
3109 msii_temp_data.SOURCE_TYPE := NULL;
3110 ELSIF msii_temp_data.SOURCE_TYPE = g_FND_Upd_Null_NUM THEN
3111 msii_temp_data.SOURCE_TYPE := NULL;
3112 END IF;
3113 IF msii_temp_data.SOURCE_SUBINVENTORY IS NULL THEN
3114 msii_temp_data.SOURCE_SUBINVENTORY := msi_record_temp.SOURCE_SUBINVENTORY;
3115 ELSIF msii_temp_data.SOURCE_SUBINVENTORY = '!' THEN
3116 msii_temp_data.SOURCE_SUBINVENTORY := NULL;
3117 ELSIF msii_temp_data.SOURCE_SUBINVENTORY = g_FND_Upd_Null_Char THEN
3118 msii_temp_data.SOURCE_SUBINVENTORY := NULL;
3119 ELSE
3120 msii_temp_data.SOURCE_SUBINVENTORY := trim(msii_temp_data.SOURCE_SUBINVENTORY);
3121 END IF;
3122 IF msii_temp_data.EXPENSE_ACCOUNT IS NULL THEN
3123 msii_temp_data.EXPENSE_ACCOUNT := msi_record_temp.EXPENSE_ACCOUNT;
3124 ELSIF msii_temp_data.EXPENSE_ACCOUNT = -999999 THEN
3125 msii_temp_data.EXPENSE_ACCOUNT := NULL;
3126 ELSIF msii_temp_data.EXPENSE_ACCOUNT = g_FND_Upd_Null_NUM THEN
3127 msii_temp_data.EXPENSE_ACCOUNT := NULL;
3128 END IF;
3129 IF msii_temp_data.RESTRICT_SUBINVENTORIES_CODE is null then
3130 msii_temp_data.RESTRICT_SUBINVENTORIES_CODE := msi_record_temp.RESTRICT_SUBINVENTORIES_CODE;
3131 END IF;
3132 IF msii_temp_data.UNIT_WEIGHT IS NULL THEN
3133 msii_temp_data.UNIT_WEIGHT := msi_record_temp.UNIT_WEIGHT;
3134 ELSIF msii_temp_data.UNIT_WEIGHT = -999999 THEN
3135 msii_temp_data.UNIT_WEIGHT := NULL;
3136 ELSIF msii_temp_data.UNIT_WEIGHT = g_FND_Upd_Null_NUM THEN
3137 msii_temp_data.UNIT_WEIGHT := NULL;
3138 END IF;
3139 IF msii_temp_data.VOLUME_UOM_CODE IS NULL THEN
3140 msii_temp_data.VOLUME_UOM_CODE := msi_record_temp.VOLUME_UOM_CODE;
3141 ELSIF msii_temp_data.VOLUME_UOM_CODE = '!' THEN
3142 msii_temp_data.VOLUME_UOM_CODE := NULL;
3143 ELSIF msii_temp_data.VOLUME_UOM_CODE = g_FND_Upd_Null_Char THEN
3144 msii_temp_data.VOLUME_UOM_CODE := NULL;
3145 ELSE
3146 msii_temp_data.VOLUME_UOM_CODE := trim(msii_temp_data.VOLUME_UOM_CODE);
3147 END IF;
3148 IF msii_temp_data.UNIT_VOLUME IS NULL THEN
3149 msii_temp_data.UNIT_VOLUME := msi_record_temp.UNIT_VOLUME;
3150 ELSIF msii_temp_data.UNIT_VOLUME = -999999 THEN
3151 msii_temp_data.UNIT_VOLUME := NULL;
3152 ELSIF msii_temp_data.UNIT_VOLUME = g_FND_Upd_Null_NUM THEN
3153 msii_temp_data.UNIT_VOLUME := NULL;
3154 END IF;
3155 IF msii_temp_data.LOCATION_CONTROL_CODE is null then
3156 msii_temp_data.LOCATION_CONTROL_CODE := msi_record_temp.LOCATION_CONTROL_CODE;
3157 END IF;
3158 IF msii_temp_data.ACCEPTABLE_EARLY_DAYS IS NULL THEN
3159 msii_temp_data.ACCEPTABLE_EARLY_DAYS := msi_record_temp.ACCEPTABLE_EARLY_DAYS;
3160 ELSIF msii_temp_data.ACCEPTABLE_EARLY_DAYS = -999999 THEN
3161 msii_temp_data.ACCEPTABLE_EARLY_DAYS := NULL;
3162 ELSIF msii_temp_data.ACCEPTABLE_EARLY_DAYS = g_FND_Upd_Null_NUM THEN
3163 msii_temp_data.ACCEPTABLE_EARLY_DAYS := NULL;
3164 END IF;
3165 IF msii_temp_data.PLANNING_TIME_FENCE_CODE is null then
3166 msii_temp_data.PLANNING_TIME_FENCE_CODE := msi_record_temp.PLANNING_TIME_FENCE_CODE;
3167 END IF;
3168 IF msii_temp_data.OVERRUN_PERCENTAGE IS NULL THEN
3172 ELSIF msii_temp_data.OVERRUN_PERCENTAGE = g_FND_Upd_Null_NUM THEN
3169 msii_temp_data.OVERRUN_PERCENTAGE := msi_record_temp.OVERRUN_PERCENTAGE;
3170 ELSIF msii_temp_data.OVERRUN_PERCENTAGE = -999999 THEN
3171 msii_temp_data.OVERRUN_PERCENTAGE := NULL;
3173 msii_temp_data.OVERRUN_PERCENTAGE := NULL;
3174 END IF;
3175 IF msii_temp_data.MRP_CALCULATE_ATP_FLAG is null then
3176 msii_temp_data.MRP_CALCULATE_ATP_FLAG := msi_record_temp.MRP_CALCULATE_ATP_FLAG;
3177 END IF;
3178 IF msii_temp_data.ACCEPTABLE_RATE_INCREASE IS NULL THEN
3179 msii_temp_data.ACCEPTABLE_RATE_INCREASE := msi_record_temp.ACCEPTABLE_RATE_INCREASE;
3180 ELSIF msii_temp_data.ACCEPTABLE_RATE_INCREASE = -999999 THEN
3181 msii_temp_data.ACCEPTABLE_RATE_INCREASE := NULL;
3182 ELSIF msii_temp_data.ACCEPTABLE_RATE_INCREASE = g_FND_Upd_Null_NUM THEN
3183 msii_temp_data.ACCEPTABLE_RATE_INCREASE := NULL;
3184 END IF;
3185 IF msii_temp_data.ACCEPTABLE_RATE_DECREASE IS NULL THEN
3186 msii_temp_data.ACCEPTABLE_RATE_DECREASE := msi_record_temp.ACCEPTABLE_RATE_DECREASE;
3187 ELSIF msii_temp_data.ACCEPTABLE_RATE_DECREASE = -999999 THEN
3188 msii_temp_data.ACCEPTABLE_RATE_DECREASE := NULL;
3189 ELSIF msii_temp_data.ACCEPTABLE_RATE_DECREASE = g_FND_Upd_Null_NUM THEN
3190 msii_temp_data.ACCEPTABLE_RATE_DECREASE := NULL;
3191 END IF;
3192 IF msii_temp_data.CUMULATIVE_TOTAL_LEAD_TIME IS NULL THEN
3193 msii_temp_data.CUMULATIVE_TOTAL_LEAD_TIME := msi_record_temp.CUMULATIVE_TOTAL_LEAD_TIME;
3194 ELSIF msii_temp_data.CUMULATIVE_TOTAL_LEAD_TIME = -999999 THEN
3195 msii_temp_data.CUMULATIVE_TOTAL_LEAD_TIME := NULL;
3196 ELSIF msii_temp_data.CUMULATIVE_TOTAL_LEAD_TIME = g_FND_Upd_Null_NUM THEN
3197 msii_temp_data.CUMULATIVE_TOTAL_LEAD_TIME := NULL;
3198 END IF;
3199 IF msii_temp_data.PLANNING_TIME_FENCE_DAYS IS NULL THEN
3200 msii_temp_data.PLANNING_TIME_FENCE_DAYS := msi_record_temp.PLANNING_TIME_FENCE_DAYS;
3201 ELSIF msii_temp_data.PLANNING_TIME_FENCE_DAYS = -999999 THEN
3202 msii_temp_data.PLANNING_TIME_FENCE_DAYS := NULL;
3203 ELSIF msii_temp_data.PLANNING_TIME_FENCE_DAYS = g_FND_Upd_Null_NUM THEN
3204 msii_temp_data.PLANNING_TIME_FENCE_DAYS := NULL;
3205 END IF;
3206 IF msii_temp_data.RELEASE_TIME_FENCE_CODE IS NULL THEN
3207 msii_temp_data.RELEASE_TIME_FENCE_CODE := msi_record_temp.RELEASE_TIME_FENCE_CODE;
3208 ELSIF msii_temp_data.RELEASE_TIME_FENCE_CODE = -999999 THEN
3209 msii_temp_data.RELEASE_TIME_FENCE_CODE := NULL;
3210 ELSIF msii_temp_data.RELEASE_TIME_FENCE_CODE = g_FND_Upd_Null_NUM THEN
3211 msii_temp_data.RELEASE_TIME_FENCE_CODE := NULL;
3212 END IF;
3213 IF msii_temp_data.END_ASSEMBLY_PEGGING_FLAG IS NULL THEN
3214 msii_temp_data.END_ASSEMBLY_PEGGING_FLAG := msi_record_temp.END_ASSEMBLY_PEGGING_FLAG;
3215 ELSIF msii_temp_data.END_ASSEMBLY_PEGGING_FLAG = '!' THEN
3216 msii_temp_data.END_ASSEMBLY_PEGGING_FLAG := NULL;
3217 ELSIF msii_temp_data.END_ASSEMBLY_PEGGING_FLAG = g_FND_Upd_Null_Char THEN
3218 msii_temp_data.END_ASSEMBLY_PEGGING_FLAG := NULL;
3219 ELSE
3220 msii_temp_data.END_ASSEMBLY_PEGGING_FLAG := trim(msii_temp_data.END_ASSEMBLY_PEGGING_FLAG);
3221 END IF;
3222 IF trim(msii_temp_data.REPETITIVE_PLANNING_FLAG) is null then
3223 msii_temp_data.REPETITIVE_PLANNING_FLAG := msi_record_temp.REPETITIVE_PLANNING_FLAG;
3224 ELSE
3225 msii_temp_data.REPETITIVE_PLANNING_FLAG := trim(msii_temp_data.REPETITIVE_PLANNING_FLAG);
3226 END IF;
3227 IF msii_temp_data.BOM_ITEM_TYPE is null then
3228 msii_temp_data.BOM_ITEM_TYPE := msi_record_temp.BOM_ITEM_TYPE;
3229 END IF;
3230 IF trim(msii_temp_data.PICK_COMPONENTS_FLAG) is null then
3231 msii_temp_data.PICK_COMPONENTS_FLAG := msi_record_temp.PICK_COMPONENTS_FLAG;
3232 ELSE
3233 msii_temp_data.PICK_COMPONENTS_FLAG := trim(msii_temp_data.PICK_COMPONENTS_FLAG);
3234 END IF;
3235 IF trim(msii_temp_data.REPLENISH_TO_ORDER_FLAG) is null then
3236 msii_temp_data.REPLENISH_TO_ORDER_FLAG := msi_record_temp.REPLENISH_TO_ORDER_FLAG;
3237 ELSE
3238 msii_temp_data.REPLENISH_TO_ORDER_FLAG := trim(msii_temp_data.REPLENISH_TO_ORDER_FLAG);
3239 END IF;
3240 IF trim(msii_temp_data.ATP_COMPONENTS_FLAG) is null then
3241 msii_temp_data.ATP_COMPONENTS_FLAG := msi_record_temp.ATP_COMPONENTS_FLAG;
3242 END IF;
3243 IF trim(msii_temp_data.ATP_FLAG) is null then
3244 msii_temp_data.ATP_FLAG := msi_record_temp.ATP_FLAG;
3245 ELSE
3246 msii_temp_data.ATP_FLAG := trim(msii_temp_data.ATP_FLAG);
3247 END IF;
3248 IF msii_temp_data.VARIABLE_LEAD_TIME IS NULL THEN
3249 msii_temp_data.VARIABLE_LEAD_TIME := msi_record_temp.VARIABLE_LEAD_TIME;
3250 ELSIF msii_temp_data.VARIABLE_LEAD_TIME = -999999 THEN
3251 msii_temp_data.VARIABLE_LEAD_TIME := NULL;
3252 ELSIF msii_temp_data.VARIABLE_LEAD_TIME = g_FND_Upd_Null_NUM THEN
3253 msii_temp_data.VARIABLE_LEAD_TIME := NULL;
3254 END IF;
3255 IF msii_temp_data.WIP_SUPPLY_LOCATOR_ID IS NULL THEN
3256 msii_temp_data.WIP_SUPPLY_LOCATOR_ID := msi_record_temp.WIP_SUPPLY_LOCATOR_ID;
3257 ELSIF msii_temp_data.WIP_SUPPLY_LOCATOR_ID = -999999 THEN
3258 msii_temp_data.WIP_SUPPLY_LOCATOR_ID := NULL;
3259 ELSIF msii_temp_data.WIP_SUPPLY_LOCATOR_ID = g_FND_Upd_Null_NUM THEN
3260 msii_temp_data.WIP_SUPPLY_LOCATOR_ID := NULL;
3261 END IF;
3262 msii_temp_data.PRIMARY_UOM_CODE := msi_record_temp.PRIMARY_UOM_CODE;
3263 msii_temp_data.PRIMARY_UNIT_OF_MEASURE := trim(msi_record_temp.PRIMARY_UNIT_OF_MEASURE);
3264 IF msii_temp_data.ALLOWED_UNITS_LOOKUP_CODE is null then
3265 msii_temp_data.ALLOWED_UNITS_LOOKUP_CODE := msi_record_temp.ALLOWED_UNITS_LOOKUP_CODE;
3266 END IF;
3267 IF msii_temp_data.COST_OF_SALES_ACCOUNT is null then
3268 msii_temp_data.COST_OF_SALES_ACCOUNT := msi_record_temp.COST_OF_SALES_ACCOUNT;
3269 END IF;
3270 IF msii_temp_data.SALES_ACCOUNT is null then
3271 msii_temp_data.SALES_ACCOUNT := msi_record_temp.SALES_ACCOUNT;
3275 END IF;
3272 END IF;
3273 IF msii_temp_data.INVENTORY_PLANNING_CODE is null then
3274 msii_temp_data.INVENTORY_PLANNING_CODE := msi_record_temp.INVENTORY_PLANNING_CODE;
3276 IF msii_temp_data.PLANNING_MAKE_BUY_CODE is null then
3277 msii_temp_data.PLANNING_MAKE_BUY_CODE := msi_record_temp.PLANNING_MAKE_BUY_CODE;
3278 END IF;
3279 IF msii_temp_data.FIXED_LOT_MULTIPLIER IS NULL THEN
3280 msii_temp_data.FIXED_LOT_MULTIPLIER := msi_record_temp.FIXED_LOT_MULTIPLIER;
3281 ELSIF msii_temp_data.FIXED_LOT_MULTIPLIER = -999999 THEN
3282 msii_temp_data.FIXED_LOT_MULTIPLIER := NULL;
3283 ELSIF msii_temp_data.FIXED_LOT_MULTIPLIER = g_FND_Upd_Null_NUM THEN
3284 msii_temp_data.FIXED_LOT_MULTIPLIER := NULL;
3285 END IF;
3286 IF msii_temp_data.CARRYING_COST IS NULL THEN
3287 msii_temp_data.CARRYING_COST := msi_record_temp.CARRYING_COST;
3288 ELSIF msii_temp_data.CARRYING_COST = -999999 THEN
3289 msii_temp_data.CARRYING_COST := NULL;
3290 ELSIF msii_temp_data.CARRYING_COST = g_FND_Upd_Null_NUM THEN
3291 msii_temp_data.CARRYING_COST := NULL;
3292 END IF;
3293 IF msii_temp_data.PREPROCESSING_LEAD_TIME IS NULL THEN
3294 msii_temp_data.PREPROCESSING_LEAD_TIME := msi_record_temp.PREPROCESSING_LEAD_TIME;
3295 ELSIF msii_temp_data.PREPROCESSING_LEAD_TIME = -999999 THEN
3296 msii_temp_data.PREPROCESSING_LEAD_TIME := NULL;
3297 ELSIF msii_temp_data.PREPROCESSING_LEAD_TIME = g_FND_Upd_Null_NUM THEN
3298 msii_temp_data.PREPROCESSING_LEAD_TIME := NULL;
3299 END IF;
3300 IF msii_temp_data.ORDER_COST IS NULL THEN
3301 msii_temp_data.ORDER_COST := msi_record_temp.ORDER_COST;
3302 ELSIF msii_temp_data.ORDER_COST = -999999 THEN
3303 msii_temp_data.ORDER_COST := NULL;
3304 ELSIF msii_temp_data.ORDER_COST = g_FND_Upd_Null_NUM THEN
3305 msii_temp_data.ORDER_COST := NULL;
3306 END IF;
3307 IF msii_temp_data.MRP_SAFETY_STOCK_CODE is null then
3308 msii_temp_data.MRP_SAFETY_STOCK_CODE := msi_record_temp.MRP_SAFETY_STOCK_CODE;
3309 END IF;
3310 IF msii_temp_data.MINIMUM_ORDER_QUANTITY IS NULL THEN
3311 msii_temp_data.MINIMUM_ORDER_QUANTITY := msi_record_temp.MINIMUM_ORDER_QUANTITY;
3312 ELSIF msii_temp_data.MINIMUM_ORDER_QUANTITY = -999999 THEN
3313 msii_temp_data.MINIMUM_ORDER_QUANTITY := NULL;
3314 ELSIF msii_temp_data.MINIMUM_ORDER_QUANTITY = g_FND_Upd_Null_NUM THEN
3315 msii_temp_data.MINIMUM_ORDER_QUANTITY := NULL;
3316
3317 END IF;
3318 IF msii_temp_data.FIXED_DAYS_SUPPLY IS NULL THEN
3319 msii_temp_data.FIXED_DAYS_SUPPLY := msi_record_temp.FIXED_DAYS_SUPPLY;
3320 ELSIF msii_temp_data.FIXED_DAYS_SUPPLY = -999999 THEN
3321 msii_temp_data.FIXED_DAYS_SUPPLY := NULL;
3322 ELSIF msii_temp_data.FIXED_DAYS_SUPPLY = g_FND_Upd_Null_NUM THEN
3323 msii_temp_data.FIXED_DAYS_SUPPLY := NULL;
3324 END IF;
3325 IF msii_temp_data.MAXIMUM_ORDER_QUANTITY IS NULL THEN
3326 msii_temp_data.MAXIMUM_ORDER_QUANTITY := msi_record_temp.MAXIMUM_ORDER_QUANTITY;
3327 ELSIF msii_temp_data.MAXIMUM_ORDER_QUANTITY = -999999 THEN
3328 msii_temp_data.MAXIMUM_ORDER_QUANTITY := NULL;
3329 ELSIF msii_temp_data.MAXIMUM_ORDER_QUANTITY = g_FND_Upd_Null_NUM THEN
3330 msii_temp_data.MAXIMUM_ORDER_QUANTITY := NULL;
3331 END IF;
3332 IF msii_temp_data.PICKING_RULE_ID IS NULL THEN
3333 msii_temp_data.PICKING_RULE_ID := msi_record_temp.PICKING_RULE_ID;
3334 ELSIF msii_temp_data.PICKING_RULE_ID = -999999 THEN
3335 msii_temp_data.PICKING_RULE_ID := NULL;
3336 ELSIF msii_temp_data.PICKING_RULE_ID = g_FND_Upd_Null_NUM THEN
3337 msii_temp_data.PICKING_RULE_ID := NULL;
3338 END IF;
3339 IF msii_temp_data.RESERVABLE_TYPE is null then
3340 msii_temp_data.RESERVABLE_TYPE := msi_record_temp.RESERVABLE_TYPE;
3341 END IF;
3342 IF msii_temp_data.NEGATIVE_MEASUREMENT_ERROR IS NULL THEN
3343 msii_temp_data.NEGATIVE_MEASUREMENT_ERROR := msi_record_temp.NEGATIVE_MEASUREMENT_ERROR;
3344 ELSIF msii_temp_data.NEGATIVE_MEASUREMENT_ERROR = -999999 THEN
3345 msii_temp_data.NEGATIVE_MEASUREMENT_ERROR := NULL;
3346 ELSIF msii_temp_data.NEGATIVE_MEASUREMENT_ERROR = g_FND_Upd_Null_NUM THEN
3347 msii_temp_data.NEGATIVE_MEASUREMENT_ERROR := NULL;
3348 END IF;
3349 IF trim(msii_temp_data.ENGINEERING_ECN_CODE) is null then
3350 msii_temp_data.ENGINEERING_ECN_CODE := msi_record_temp.ENGINEERING_ECN_CODE;
3351 ELSE
3352 msii_temp_data.ENGINEERING_ECN_CODE := trim(msii_temp_data.ENGINEERING_ECN_CODE);
3353 END IF;
3354 IF msii_temp_data.ENGINEERING_DATE is null then
3355 msii_temp_data.ENGINEERING_DATE := msi_record_temp.ENGINEERING_DATE;
3356 END IF;
3357 IF trim(msii_temp_data.SERVICEABLE_COMPONENT_FLAG) is null then
3358 msii_temp_data.SERVICEABLE_COMPONENT_FLAG := msi_record_temp.SERVICEABLE_COMPONENT_FLAG;
3359 ELSE
3360 msii_temp_data.SERVICEABLE_COMPONENT_FLAG := trim(msii_temp_data.SERVICEABLE_COMPONENT_FLAG);
3361 END IF;
3362 IF trim(msii_temp_data.SERVICEABLE_PRODUCT_FLAG) is null then
3363 msii_temp_data.SERVICEABLE_PRODUCT_FLAG := msi_record_temp.SERVICEABLE_PRODUCT_FLAG;
3364 ELSE
3365 msii_temp_data.SERVICEABLE_PRODUCT_FLAG := trim(msii_temp_data.SERVICEABLE_PRODUCT_FLAG);
3366 END IF;
3367 IF msii_temp_data.BASE_WARRANTY_SERVICE_ID is null then
3368 msii_temp_data.BASE_WARRANTY_SERVICE_ID := msi_record_temp.BASE_WARRANTY_SERVICE_ID;
3369 END IF;
3370 IF trim(msii_temp_data.PREVENTIVE_MAINTENANCE_FLAG) is null then
3371 msii_temp_data.PREVENTIVE_MAINTENANCE_FLAG := msi_record_temp.PREVENTIVE_MAINTENANCE_FLAG;
3372 ELSE
3373 msii_temp_data.PREVENTIVE_MAINTENANCE_FLAG := trim(msii_temp_data.PREVENTIVE_MAINTENANCE_FLAG);
3374 END IF;
3375 IF msii_temp_data.PRIMARY_SPECIALIST_ID is null then
3376 msii_temp_data.PRIMARY_SPECIALIST_ID := msi_record_temp.PRIMARY_SPECIALIST_ID;
3380 END IF;
3377 END IF;
3378 IF msii_temp_data.SERVICEABLE_ITEM_CLASS_ID is null then
3379 msii_temp_data.SERVICEABLE_ITEM_CLASS_ID := msi_record_temp.SERVICEABLE_ITEM_CLASS_ID;
3381 IF trim(msii_temp_data.TIME_BILLABLE_FLAG) is null then
3382 msii_temp_data.TIME_BILLABLE_FLAG := msi_record_temp.TIME_BILLABLE_FLAG;
3383 ELSE
3384 msii_temp_data.TIME_BILLABLE_FLAG := trim(msii_temp_data.TIME_BILLABLE_FLAG);
3385 END IF;
3386 IF trim(msii_temp_data.EXPENSE_BILLABLE_FLAG) is null then
3387 msii_temp_data.EXPENSE_BILLABLE_FLAG := msi_record_temp.EXPENSE_BILLABLE_FLAG;
3388 ELSE
3389 msii_temp_data.EXPENSE_BILLABLE_FLAG := trim(msii_temp_data.EXPENSE_BILLABLE_FLAG);
3390 END IF;
3391 IF trim(msii_temp_data.PRORATE_SERVICE_FLAG) is null then
3392 msii_temp_data.PRORATE_SERVICE_FLAG := msi_record_temp.PRORATE_SERVICE_FLAG;
3393 ELSE
3394 msii_temp_data.PRORATE_SERVICE_FLAG := trim(msii_temp_data.PRORATE_SERVICE_FLAG);
3395 END IF;
3396 IF msii_temp_data.SERVICE_DURATION_PERIOD_CODE IS NULL THEN
3397 msii_temp_data.SERVICE_DURATION_PERIOD_CODE := msi_record_temp.SERVICE_DURATION_PERIOD_CODE;
3398 ELSIF msii_temp_data.SERVICE_DURATION_PERIOD_CODE = '!' THEN
3399 msii_temp_data.SERVICE_DURATION_PERIOD_CODE := NULL;
3400 ELSIF msii_temp_data.SERVICE_DURATION_PERIOD_CODE = g_FND_Upd_Null_Char THEN
3401 msii_temp_data.SERVICE_DURATION_PERIOD_CODE := NULL;
3402 ELSE
3403 msii_temp_data.SERVICE_DURATION_PERIOD_CODE := trim(msii_temp_data.SERVICE_DURATION_PERIOD_CODE);
3404 END IF;
3405 IF msii_temp_data.SERVICE_DURATION IS NULL THEN
3406 msii_temp_data.SERVICE_DURATION := msi_record_temp.SERVICE_DURATION;
3407 ELSIF msii_temp_data.SERVICE_DURATION = -999999 THEN
3408 msii_temp_data.SERVICE_DURATION := NULL;
3409 ELSIF msii_temp_data.SERVICE_DURATION = g_FND_Upd_Null_NUM THEN
3410 msii_temp_data.SERVICE_DURATION := NULL;
3411 END IF;
3412 IF msii_temp_data.MAX_WARRANTY_AMOUNT is null then
3413 msii_temp_data.MAX_WARRANTY_AMOUNT := msi_record_temp.MAX_WARRANTY_AMOUNT;
3414 END IF;
3415 IF msii_temp_data.RESPONSE_TIME_VALUE is null then
3416 msii_temp_data.RESPONSE_TIME_VALUE := msi_record_temp.RESPONSE_TIME_VALUE;
3417 END IF;
3418 IF trim(msii_temp_data.NEW_REVISION_CODE) is null then
3419 msii_temp_data.NEW_REVISION_CODE := msi_record_temp.NEW_REVISION_CODE;
3420 ELSE
3421 msii_temp_data.NEW_REVISION_CODE := trim(msii_temp_data.NEW_REVISION_CODE);
3422 END IF;
3423 IF trim(msii_temp_data.INVOICEABLE_ITEM_FLAG) is null then
3424 msii_temp_data.INVOICEABLE_ITEM_FLAG := msi_record_temp.INVOICEABLE_ITEM_FLAG;
3425 ELSE
3426 msii_temp_data.INVOICEABLE_ITEM_FLAG := trim(msii_temp_data.INVOICEABLE_ITEM_FLAG);
3427 END IF;
3428 IF trim(msii_temp_data.INVOICE_ENABLED_FLAG) is null then
3429 IF msii_temp_data.inventory_item_status_code is null then
3430 msii_temp_data.INVOICE_ENABLED_FLAG := msi_record_temp.INVOICE_ENABLED_FLAG;
3431 END IF;
3432 ELSE
3433 msii_temp_data.INVOICE_ENABLED_FLAG := trim(msii_temp_data.INVOICE_ENABLED_FLAG);
3434 END IF;
3435 IF msii_temp_data.REQUEST_ID is null then
3436 msii_temp_data.REQUEST_ID := msi_record_temp.REQUEST_ID;
3437 END IF;
3438 IF msii_temp_data.PROGRAM_ID is null then
3439 msii_temp_data.PROGRAM_ID := msi_record_temp.PROGRAM_ID;
3440 END IF;
3441 IF msii_temp_data.PROGRAM_UPDATE_DATE is null then
3442 msii_temp_data.PROGRAM_UPDATE_DATE := msi_record_temp.PROGRAM_UPDATE_DATE;
3443 END IF;
3444 IF msii_temp_data.OUTSIDE_OPERATION_UOM_TYPE IS NULL THEN
3445 msii_temp_data.OUTSIDE_OPERATION_UOM_TYPE := msi_record_temp.OUTSIDE_OPERATION_UOM_TYPE;
3446 ELSIF msii_temp_data.OUTSIDE_OPERATION_UOM_TYPE = '!' THEN
3447 msii_temp_data.OUTSIDE_OPERATION_UOM_TYPE := NULL;
3448 ELSIF msii_temp_data.OUTSIDE_OPERATION_UOM_TYPE = g_FND_Upd_Null_Char THEN
3449 msii_temp_data.OUTSIDE_OPERATION_UOM_TYPE := NULL;
3450 ELSE
3451 msii_temp_data.OUTSIDE_OPERATION_UOM_TYPE := trim(msii_temp_data.OUTSIDE_OPERATION_UOM_TYPE);
3452 END IF;
3453 IF trim(msii_temp_data.COSTING_ENABLED_FLAG) is null then
3454 msii_temp_data.COSTING_ENABLED_FLAG := msi_record_temp.COSTING_ENABLED_FLAG;
3455 ELSE
3456 msii_temp_data.COSTING_ENABLED_FLAG := trim(msii_temp_data.COSTING_ENABLED_FLAG);
3457 END IF;
3458 IF trim(msii_temp_data.CYCLE_COUNT_ENABLED_FLAG) is null then
3459 msii_temp_data.CYCLE_COUNT_ENABLED_FLAG := msi_record_temp.CYCLE_COUNT_ENABLED_FLAG;
3460 ELSE
3461 msii_temp_data.CYCLE_COUNT_ENABLED_FLAG := trim(msii_temp_data.CYCLE_COUNT_ENABLED_FLAG);
3462 END IF;
3463 IF msii_temp_data.ITEM_TYPE IS NULL THEN
3464 msii_temp_data.ITEM_TYPE := msi_record_temp.ITEM_TYPE;
3465 ELSIF msii_temp_data.ITEM_TYPE = '!' THEN
3466 msii_temp_data.ITEM_TYPE := NULL;
3467 ELSIF msii_temp_data.ITEM_TYPE = g_FND_Upd_Null_Char THEN
3468 msii_temp_data.ITEM_TYPE := NULL;
3469 ELSE
3470 msii_temp_data.ITEM_TYPE := trim(msii_temp_data.ITEM_TYPE);
3471 END IF;
3472 IF trim(msii_temp_data.MODEL_CONFIG_CLAUSE_NAME) is null then
3473 msii_temp_data.MODEL_CONFIG_CLAUSE_NAME := msi_record_temp.MODEL_CONFIG_CLAUSE_NAME;
3474 ELSE
3475 msii_temp_data.MODEL_CONFIG_CLAUSE_NAME := trim(msii_temp_data.MODEL_CONFIG_CLAUSE_NAME);
3476 END IF;
3477 IF msii_temp_data.MRP_PLANNING_CODE is null then
3478 msii_temp_data.MRP_PLANNING_CODE := msi_record_temp.MRP_PLANNING_CODE;
3479 END IF;
3480 IF msii_temp_data.RETURN_INSPECTION_REQUIREMENT is null then
3481 msii_temp_data.RETURN_INSPECTION_REQUIREMENT := msi_record_temp.RETURN_INSPECTION_REQUIREMENT;
3482 END IF;
3483 IF trim(msii_temp_data.CONTAINER_ITEM_FLAG) is null then
3484 msii_temp_data.CONTAINER_ITEM_FLAG := msi_record_temp.CONTAINER_ITEM_FLAG;
3485 ELSE
3486 msii_temp_data.CONTAINER_ITEM_FLAG := trim(msii_temp_data.CONTAINER_ITEM_FLAG);
3487 END IF;
3491 msii_temp_data.VEHICLE_ITEM_FLAG := trim(msii_temp_data.VEHICLE_ITEM_FLAG);
3488 IF trim(msii_temp_data.VEHICLE_ITEM_FLAG) is null then
3489 msii_temp_data.VEHICLE_ITEM_FLAG := msi_record_temp.VEHICLE_ITEM_FLAG;
3490 ELSE
3492 END IF;
3493 IF msii_temp_data.MINIMUM_FILL_PERCENT IS NULL THEN
3494 msii_temp_data.MINIMUM_FILL_PERCENT := msi_record_temp.MINIMUM_FILL_PERCENT;
3495 ELSIF msii_temp_data.MINIMUM_FILL_PERCENT = -999999 THEN
3496 msii_temp_data.MINIMUM_FILL_PERCENT := NULL;
3497 ELSIF msii_temp_data.MINIMUM_FILL_PERCENT = g_FND_Upd_Null_NUM THEN
3498 msii_temp_data.MINIMUM_FILL_PERCENT := NULL;
3499 END IF;
3500 IF msii_temp_data.CONTAINER_TYPE_CODE IS NULL THEN
3501 msii_temp_data.CONTAINER_TYPE_CODE := msi_record_temp.CONTAINER_TYPE_CODE;
3502 ELSIF msii_temp_data.CONTAINER_TYPE_CODE = '!' THEN
3503 msii_temp_data.CONTAINER_TYPE_CODE := NULL;
3504 ELSIF msii_temp_data.CONTAINER_TYPE_CODE = g_FND_Upd_Null_Char THEN
3505 msii_temp_data.CONTAINER_TYPE_CODE := NULL;
3506 ELSE
3507 msii_temp_data.CONTAINER_TYPE_CODE := trim(msii_temp_data.CONTAINER_TYPE_CODE);
3508 END IF;
3509 IF trim(msii_temp_data.CHECK_SHORTAGES_FLAG) is null then
3510 msii_temp_data.CHECK_SHORTAGES_FLAG := msi_record_temp.CHECK_SHORTAGES_FLAG;
3511 END IF;
3512 IF msii_temp_data. EFFECTIVITY_CONTROL is null then
3513 msii_temp_data.EFFECTIVITY_CONTROL := msi_record_temp.EFFECTIVITY_CONTROL;
3514 END IF;
3515 IF msii_temp_data.OVERCOMPLETION_TOLERANCE_VALUE IS NULL THEN
3516 msii_temp_data.OVERCOMPLETION_TOLERANCE_VALUE := msi_record_temp.OVERCOMPLETION_TOLERANCE_VALUE;
3517 ELSIF msii_temp_data.OVERCOMPLETION_TOLERANCE_VALUE = g_Upd_Null_NUM THEN
3518 msii_temp_data.OVERCOMPLETION_TOLERANCE_VALUE := NULL;
3519 ELSIF msii_temp_data.OVERCOMPLETION_TOLERANCE_VALUE = g_FND_Upd_Null_NUM THEN
3520 msii_temp_data.OVERCOMPLETION_TOLERANCE_VALUE := NULL;
3521 END IF;
3522 IF msii_temp_data.UNDER_SHIPMENT_TOLERANCE IS NULL THEN
3523 msii_temp_data.UNDER_SHIPMENT_TOLERANCE := msi_record_temp.UNDER_SHIPMENT_TOLERANCE;
3524 ELSIF msii_temp_data.UNDER_SHIPMENT_TOLERANCE = g_Upd_Null_NUM THEN
3525 msii_temp_data.UNDER_SHIPMENT_TOLERANCE := NULL;
3526 ELSIF msii_temp_data.UNDER_SHIPMENT_TOLERANCE = g_FND_Upd_Null_NUM THEN
3527 msii_temp_data.UNDER_SHIPMENT_TOLERANCE := NULL;
3528 END IF;
3529 IF msii_temp_data.OVER_RETURN_TOLERANCE IS NULL THEN
3530 msii_temp_data.OVER_RETURN_TOLERANCE := msi_record_temp.OVER_RETURN_TOLERANCE;
3531 ELSIF msii_temp_data.OVER_RETURN_TOLERANCE = g_Upd_Null_NUM THEN
3532 msii_temp_data.OVER_RETURN_TOLERANCE := NULL;
3533 ELSIF msii_temp_data.OVER_RETURN_TOLERANCE = g_FND_Upd_Null_NUM THEN
3534 msii_temp_data.OVER_RETURN_TOLERANCE := NULL;
3535 END IF;
3536 IF msii_temp_data. EQUIPMENT_TYPE is null then
3537 msii_temp_data.EQUIPMENT_TYPE := msi_record_temp.EQUIPMENT_TYPE;
3538 END IF;
3539 IF msii_temp_data.RECOVERED_PART_DISP_CODE IS NULL THEN
3540 msii_temp_data.RECOVERED_PART_DISP_CODE := msi_record_temp.RECOVERED_PART_DISP_CODE;
3541 ELSIF msii_temp_data.RECOVERED_PART_DISP_CODE = '!' THEN
3542 msii_temp_data.RECOVERED_PART_DISP_CODE := NULL;
3543 ELSIF msii_temp_data.RECOVERED_PART_DISP_CODE = g_FND_Upd_Null_Char THEN
3544 msii_temp_data.RECOVERED_PART_DISP_CODE := NULL;
3545 ELSE
3546 msii_temp_data.RECOVERED_PART_DISP_CODE := trim(msii_temp_data.RECOVERED_PART_DISP_CODE);
3547 END IF;
3548 IF trim(msii_temp_data.EVENT_FLAG) is null then
3549 msii_temp_data.EVENT_FLAG := msi_record_temp.EVENT_FLAG;
3550 END IF;
3551 IF trim(msii_temp_data.ELECTRONIC_FLAG) is null then
3552 msii_temp_data.ELECTRONIC_FLAG := msi_record_temp.ELECTRONIC_FLAG;
3553 END IF;
3554 IF trim(msii_temp_data.VOL_DISCOUNT_EXEMPT_FLAG) is null then
3555 msii_temp_data.VOL_DISCOUNT_EXEMPT_FLAG := msi_record_temp.VOL_DISCOUNT_EXEMPT_FLAG;
3556 END IF;
3557 IF trim(msii_temp_data.COUPON_EXEMPT_FLAG) is null then
3558 msii_temp_data.COUPON_EXEMPT_FLAG := msi_record_temp.COUPON_EXEMPT_FLAG;
3559 END IF;
3560 IF msii_temp_data.ASSET_CREATION_CODE IS NULL THEN
3561 msii_temp_data.ASSET_CREATION_CODE := msi_record_temp.ASSET_CREATION_CODE;
3562 ELSIF msii_temp_data.ASSET_CREATION_CODE = '!' THEN
3563 msii_temp_data.ASSET_CREATION_CODE := NULL;
3564 ELSIF msii_temp_data.ASSET_CREATION_CODE = g_FND_Upd_Null_Char THEN
3565 msii_temp_data.ASSET_CREATION_CODE := NULL;
3566 ELSE
3567 msii_temp_data.ASSET_CREATION_CODE := trim(msii_temp_data.ASSET_CREATION_CODE);
3568 END IF;
3569 IF trim(msii_temp_data.ORDERABLE_ON_WEB_FLAG) is null then
3570 msii_temp_data.ORDERABLE_ON_WEB_FLAG := msi_record_temp.ORDERABLE_ON_WEB_FLAG;
3571 END IF;
3572 IF trim(msii_temp_data.BACK_ORDERABLE_FLAG) is null then
3573 msii_temp_data.BACK_ORDERABLE_FLAG := msi_record_temp.BACK_ORDERABLE_FLAG;
3574 END IF;
3575 IF trim(msii_temp_data.INDIVISIBLE_FLAG) is null then
3576 msii_temp_data.INDIVISIBLE_FLAG := msi_record_temp.INDIVISIBLE_FLAG;
3577 END IF;
3578 IF msii_temp_data.UNIT_LENGTH IS NULL THEN
3579 msii_temp_data.UNIT_LENGTH := msi_record_temp.UNIT_LENGTH;
3580 ELSIF msii_temp_data.UNIT_LENGTH = g_Upd_Null_NUM THEN
3581 msii_temp_data.UNIT_LENGTH := NULL;
3582 ELSIF msii_temp_data.UNIT_LENGTH = g_FND_Upd_Null_NUM THEN
3583 msii_temp_data.UNIT_LENGTH := NULL;
3584 END IF;
3585 IF msii_temp_data.UNIT_WIDTH IS NULL THEN
3586 msii_temp_data.UNIT_WIDTH := msi_record_temp.UNIT_WIDTH;
3587 ELSIF msii_temp_data.UNIT_WIDTH = g_Upd_Null_NUM THEN
3588 msii_temp_data.UNIT_WIDTH := NULL;
3589 ELSIF msii_temp_data.UNIT_WIDTH = g_FND_Upd_Null_NUM THEN
3590 msii_temp_data.UNIT_WIDTH := NULL;
3591 END IF;
3592 IF trim(msii_temp_data.BULK_PICKED_FLAG) is null then
3593 msii_temp_data.BULK_PICKED_FLAG := msi_record_temp.BULK_PICKED_FLAG;
3594 END IF;
3598 IF trim(msii_temp_data.SERIAL_STATUS_ENABLED) is null then
3595 IF trim(msii_temp_data.LOT_STATUS_ENABLED) is null then
3596 msii_temp_data.LOT_STATUS_ENABLED := msi_record_temp.LOT_STATUS_ENABLED;
3597 END IF;
3599 msii_temp_data.SERIAL_STATUS_ENABLED := msi_record_temp.SERIAL_STATUS_ENABLED;
3600 END IF;
3601 IF trim(msii_temp_data.LOT_SPLIT_ENABLED) is null then
3602 msii_temp_data.LOT_SPLIT_ENABLED := msi_record_temp.LOT_SPLIT_ENABLED;
3603 END IF;
3604 IF trim(msii_temp_data.LOT_MERGE_ENABLED) is null then
3605 msii_temp_data.LOT_MERGE_ENABLED := msi_record_temp.LOT_MERGE_ENABLED;
3606 END IF;
3607 IF msii_temp_data.OPERATION_SLACK_PENALTY IS NULL THEN
3608 msii_temp_data.OPERATION_SLACK_PENALTY := msi_record_temp.OPERATION_SLACK_PENALTY;
3609 ELSIF msii_temp_data.OPERATION_SLACK_PENALTY = g_Upd_Null_NUM THEN
3610 msii_temp_data.OPERATION_SLACK_PENALTY := NULL;
3611 ELSIF msii_temp_data.OPERATION_SLACK_PENALTY = g_FND_Upd_Null_NUM THEN
3612 msii_temp_data.OPERATION_SLACK_PENALTY := NULL;
3613 END IF;
3614 IF trim(msii_temp_data.FINANCING_ALLOWED_FLAG) is null then
3615 msii_temp_data.FINANCING_ALLOWED_FLAG := msi_record_temp.FINANCING_ALLOWED_FLAG;
3616 END IF;
3617 IF msii_temp_data.EAM_ACTIVITY_TYPE_CODE IS NULL THEN
3618 msii_temp_data.EAM_ACTIVITY_TYPE_CODE := msi_record_temp.EAM_ACTIVITY_TYPE_CODE;
3619 ELSIF msii_temp_data.EAM_ACTIVITY_TYPE_CODE = g_Upd_Null_CHAR THEN
3620 msii_temp_data.EAM_ACTIVITY_TYPE_CODE := NULL;
3621 ELSIF msii_temp_data.EAM_ACTIVITY_TYPE_CODE = g_FND_Upd_Null_Char THEN
3622 msii_temp_data.EAM_ACTIVITY_TYPE_CODE := NULL;
3623 ELSE
3624 msii_temp_data.EAM_ACTIVITY_TYPE_CODE := trim(msii_temp_data.EAM_ACTIVITY_TYPE_CODE);
3625 END IF;
3626 IF msii_temp_data.EAM_ACT_NOTIFICATION_FLAG IS NULL THEN
3627 msii_temp_data.EAM_ACT_NOTIFICATION_FLAG := msi_record_temp.EAM_ACT_NOTIFICATION_FLAG ;
3628 ELSIF msii_temp_data.EAM_ACT_NOTIFICATION_FLAG = g_Upd_Null_CHAR THEN
3629 msii_temp_data.EAM_ACT_NOTIFICATION_FLAG := NULL;
3630 ELSIF msii_temp_data.EAM_ACT_NOTIFICATION_FLAG = g_FND_Upd_Null_Char THEN
3631 msii_temp_data.EAM_ACT_NOTIFICATION_FLAG := NULL;
3632 ELSE
3633 msii_temp_data.EAM_ACT_NOTIFICATION_FLAG := trim(msii_temp_data.EAM_ACT_NOTIFICATION_FLAG);
3634 END IF;
3635 IF msii_temp_data.DUAL_UOM_CONTROL is null then
3636 msii_temp_data.DUAL_UOM_CONTROL := msi_record_temp.DUAL_UOM_CONTROL;
3637 END IF;
3638
3639 msii_temp_data.SECONDARY_UOM_CODE := trim(msi_record_temp.SECONDARY_UOM_CODE);
3640 msii_temp_data.DUAL_UOM_DEVIATION_HIGH := msi_record_temp.DUAL_UOM_DEVIATION_HIGH;
3641 msii_temp_data.DUAL_UOM_DEVIATION_LOW := msi_record_temp.DUAL_UOM_DEVIATION_LOW;
3642
3643 IF msii_temp_data.SUBSCRIPTION_DEPEND_FLAG IS NULL THEN
3644 msii_temp_data.SUBSCRIPTION_DEPEND_FLAG := msi_record_temp.SUBSCRIPTION_DEPEND_FLAG;
3645 ELSIF msii_temp_data.SUBSCRIPTION_DEPEND_FLAG = g_Upd_Null_CHAR THEN
3646 msii_temp_data.SUBSCRIPTION_DEPEND_FLAG := NULL;
3647 ELSIF msii_temp_data.SUBSCRIPTION_DEPEND_FLAG = g_FND_Upd_Null_Char THEN
3648 msii_temp_data.SUBSCRIPTION_DEPEND_FLAG := NULL;
3649 ELSE
3650 msii_temp_data.SUBSCRIPTION_DEPEND_FLAG := trim(msii_temp_data.SUBSCRIPTION_DEPEND_FLAG);
3651 END IF;
3652 IF msii_temp_data.SERV_BILLING_ENABLED_FLAG IS NULL THEN
3653 msii_temp_data.SERV_BILLING_ENABLED_FLAG := msi_record_temp.SERV_BILLING_ENABLED_FLAG;
3654 ELSIF msii_temp_data.SERV_BILLING_ENABLED_FLAG = g_Upd_Null_CHAR THEN
3655 msii_temp_data.SERV_BILLING_ENABLED_FLAG := NULL;
3656 ELSIF msii_temp_data.SERV_BILLING_ENABLED_FLAG = g_FND_Upd_Null_Char THEN
3657 msii_temp_data.SERV_BILLING_ENABLED_FLAG := NULL;
3658 ELSE
3659 msii_temp_data.SERV_BILLING_ENABLED_FLAG := trim(msii_temp_data.SERV_BILLING_ENABLED_FLAG);
3660 END IF;
3661 IF msii_temp_data.SERV_IMPORTANCE_LEVEL IS NULL THEN
3662 msii_temp_data.SERV_IMPORTANCE_LEVEL := msi_record_temp.SERV_IMPORTANCE_LEVEL;
3663 ELSIF msii_temp_data.SERV_IMPORTANCE_LEVEL = g_Upd_Null_NUM THEN
3664 msii_temp_data.SERV_IMPORTANCE_LEVEL := NULL;
3665 ELSIF msii_temp_data.SERV_IMPORTANCE_LEVEL = g_FND_Upd_Null_NUM THEN
3666 msii_temp_data.SERV_IMPORTANCE_LEVEL := NULL;
3667 END IF;
3668 IF msii_temp_data.LOT_TRANSLATE_ENABLED IS NULL THEN
3669 msii_temp_data.LOT_TRANSLATE_ENABLED := msi_record_temp.LOT_TRANSLATE_ENABLED;
3670 ELSIF msii_temp_data.LOT_TRANSLATE_ENABLED = g_Upd_Null_CHAR THEN
3671 msii_temp_data.LOT_TRANSLATE_ENABLED := NULL;
3672 ELSIF msii_temp_data.LOT_TRANSLATE_ENABLED = g_FND_Upd_Null_Char THEN
3673 msii_temp_data.LOT_TRANSLATE_ENABLED := NULL;
3674 ELSE
3675 msii_temp_data.LOT_TRANSLATE_ENABLED := trim(msii_temp_data.LOT_TRANSLATE_ENABLED);
3676 END IF;
3677 IF msii_temp_data.CREATE_SUPPLY_FLAG IS NULL THEN
3678 msii_temp_data.CREATE_SUPPLY_FLAG := msi_record_temp.CREATE_SUPPLY_FLAG;
3679 ELSIF msii_temp_data.CREATE_SUPPLY_FLAG = g_Upd_Null_CHAR THEN
3680 msii_temp_data.CREATE_SUPPLY_FLAG := NULL;
3681 ELSIF msii_temp_data.CREATE_SUPPLY_FLAG = g_FND_Upd_Null_Char THEN
3682 msii_temp_data.CREATE_SUPPLY_FLAG := NULL;
3683 ELSE
3684 msii_temp_data.CREATE_SUPPLY_FLAG := trim(msii_temp_data.CREATE_SUPPLY_FLAG);
3685 END IF;
3686 IF msii_temp_data.SUBSTITUTION_WINDOW_DAYS IS NULL THEN
3687 msii_temp_data.SUBSTITUTION_WINDOW_DAYS := msi_record_temp.SUBSTITUTION_WINDOW_DAYS;
3688 ELSIF msii_temp_data.SUBSTITUTION_WINDOW_DAYS = g_Upd_Null_NUM THEN
3689 msii_temp_data.SUBSTITUTION_WINDOW_DAYS := NULL;
3690 ELSIF msii_temp_data.SUBSTITUTION_WINDOW_DAYS = g_FND_Upd_Null_NUM THEN
3691 msii_temp_data.SUBSTITUTION_WINDOW_DAYS := NULL;
3692 END IF;
3693 IF msii_temp_data.LOT_SUBSTITUTION_ENABLED IS NULL THEN
3694 msii_temp_data.LOT_SUBSTITUTION_ENABLED := msi_record_temp.LOT_SUBSTITUTION_ENABLED;
3695 ELSIF msii_temp_data.LOT_SUBSTITUTION_ENABLED = g_Upd_Null_CHAR THEN
3699 ELSE
3696 msii_temp_data.LOT_SUBSTITUTION_ENABLED := NULL;
3697 ELSIF msii_temp_data.LOT_SUBSTITUTION_ENABLED = g_FND_Upd_Null_Char THEN
3698 msii_temp_data.LOT_SUBSTITUTION_ENABLED := NULL;
3700 msii_temp_data.LOT_SUBSTITUTION_ENABLED := trim(msii_temp_data.LOT_SUBSTITUTION_ENABLED);
3701 END IF;
3702 IF msii_temp_data.EAM_ACTIVITY_SOURCE_CODE IS NULL THEN
3703 msii_temp_data.EAM_ACTIVITY_SOURCE_CODE := msi_record_temp.EAM_ACTIVITY_SOURCE_CODE;
3704 ELSIF msii_temp_data.EAM_ACTIVITY_SOURCE_CODE = g_Upd_Null_CHAR THEN
3705 msii_temp_data.EAM_ACTIVITY_SOURCE_CODE := NULL;
3706 ELSIF msii_temp_data.EAM_ACTIVITY_SOURCE_CODE = g_FND_Upd_Null_Char THEN
3707 msii_temp_data.EAM_ACTIVITY_SOURCE_CODE := NULL;
3708 ELSE
3709 msii_temp_data.EAM_ACTIVITY_SOURCE_CODE := trim(msii_temp_data.EAM_ACTIVITY_SOURCE_CODE);
3710 END IF;
3711 IF msii_temp_data.CONFIG_MODEL_TYPE IS NULL THEN
3712 msii_temp_data.CONFIG_MODEL_TYPE := msi_record_temp.CONFIG_MODEL_TYPE;
3713 ELSIF msii_temp_data.CONFIG_MODEL_TYPE = g_Upd_Null_CHAR THEN
3714 msii_temp_data.CONFIG_MODEL_TYPE := NULL;
3715 ELSIF msii_temp_data.CONFIG_MODEL_TYPE = g_FND_Upd_Null_Char THEN
3716 msii_temp_data.CONFIG_MODEL_TYPE := NULL;
3717 ELSE
3718 msii_temp_data.CONFIG_MODEL_TYPE := trim(msii_temp_data.CONFIG_MODEL_TYPE);
3719 END IF;
3720 msii_temp_data.TRACKING_QUANTITY_IND := trim(msi_record_temp.TRACKING_QUANTITY_IND);
3721 msii_temp_data.ONT_PRICING_QTY_SOURCE := trim(msi_record_temp.ONT_PRICING_QTY_SOURCE);
3722 msii_temp_data.SECONDARY_DEFAULT_IND := trim(msi_record_temp.SECONDARY_DEFAULT_IND);
3723 IF msii_temp_data.CONFIG_MATCH IS NULL THEN
3724 msii_temp_data.CONFIG_MATCH := msi_record_temp.CONFIG_MATCH;
3725 ELSIF msii_temp_data.CONFIG_MATCH = g_Upd_Null_CHAR THEN
3726 msii_temp_data.CONFIG_MATCH := NULL;
3727 ELSIF msii_temp_data.CONFIG_MATCH = g_FND_Upd_Null_Char THEN
3728 msii_temp_data.CONFIG_MATCH := NULL;
3729 ELSE
3730 msii_temp_data.CONFIG_MATCH := trim(msii_temp_data.CONFIG_MATCH);
3731 END IF;
3732 IF msii_temp_data.CURRENT_PHASE_ID IS NULL THEN
3733 msii_temp_data.CURRENT_PHASE_ID := msi_record_temp.CURRENT_PHASE_ID;
3734 ELSIF msii_temp_data.CURRENT_PHASE_ID = -999999 THEN
3735 msii_temp_data.CURRENT_PHASE_ID := NULL;
3736 ELSIF msii_temp_data.CURRENT_PHASE_ID = g_FND_Upd_Null_NUM THEN
3737 msii_temp_data.CURRENT_PHASE_ID := NULL;
3738 END IF;
3739 IF msii_temp_data.VMI_MINIMUM_DAYS IS NULL THEN
3740 msii_temp_data.VMI_MINIMUM_DAYS := msi_record_temp.VMI_MINIMUM_DAYS;
3741 ELSIF msii_temp_data.VMI_MINIMUM_DAYS = g_Upd_Null_NUM THEN
3742 msii_temp_data.VMI_MINIMUM_DAYS := NULL;
3743 ELSIF msii_temp_data.VMI_MINIMUM_DAYS = g_FND_Upd_Null_NUM THEN
3744 msii_temp_data.VMI_MINIMUM_DAYS := NULL;
3745 END IF;
3746 IF msii_temp_data.VMI_MAXIMUM_DAYS IS NULL THEN
3747 msii_temp_data.VMI_MAXIMUM_DAYS := msi_record_temp.VMI_MAXIMUM_DAYS;
3748 ELSIF msii_temp_data.VMI_MAXIMUM_DAYS = g_Upd_Null_NUM THEN
3749 msii_temp_data.VMI_MAXIMUM_DAYS := NULL;
3750 ELSIF msii_temp_data.VMI_MAXIMUM_DAYS = g_FND_Upd_Null_NUM THEN
3751 msii_temp_data.VMI_MAXIMUM_DAYS := NULL;
3752 END IF;
3753 IF msii_temp_data.SO_AUTHORIZATION_FLAG IS NULL THEN
3754 msii_temp_data.SO_AUTHORIZATION_FLAG := msi_record_temp.SO_AUTHORIZATION_FLAG;
3755 ELSIF msii_temp_data.SO_AUTHORIZATION_FLAG = g_Upd_Null_NUM THEN
3756 msii_temp_data.SO_AUTHORIZATION_FLAG := NULL;
3757 ELSIF msii_temp_data.SO_AUTHORIZATION_FLAG = g_FND_Upd_Null_NUM THEN
3758 msii_temp_data.SO_AUTHORIZATION_FLAG := NULL;
3759 END IF;
3760 IF msii_temp_data.CONSIGNED_FLAG IS NULL THEN
3761 msii_temp_data.CONSIGNED_FLAG := msi_record_temp.CONSIGNED_FLAG;
3762 ELSIF msii_temp_data.CONSIGNED_FLAG = g_Upd_Null_NUM THEN
3763 msii_temp_data.CONSIGNED_FLAG := NULL;
3764 ELSIF msii_temp_data.CONSIGNED_FLAG = g_FND_Upd_Null_NUM THEN
3765 msii_temp_data.CONSIGNED_FLAG := NULL;
3766 END IF;
3767 IF msii_temp_data.FORECAST_HORIZON IS NULL THEN
3768 msii_temp_data.FORECAST_HORIZON := msi_record_temp.FORECAST_HORIZON;
3769 ELSIF msii_temp_data.FORECAST_HORIZON = g_Upd_Null_NUM THEN
3770 msii_temp_data.FORECAST_HORIZON := NULL;
3771 ELSIF msii_temp_data.FORECAST_HORIZON = g_FND_Upd_Null_NUM THEN
3772 msii_temp_data.FORECAST_HORIZON := NULL;
3773 END IF;
3774 IF msii_temp_data.DAYS_TGT_INV_SUPPLY IS NULL THEN
3775 msii_temp_data.DAYS_TGT_INV_SUPPLY := msi_record_temp.DAYS_TGT_INV_SUPPLY;
3776 ELSIF msii_temp_data.DAYS_TGT_INV_SUPPLY = g_Upd_Null_NUM THEN
3777 msii_temp_data.DAYS_TGT_INV_SUPPLY := NULL;
3778 ELSIF msii_temp_data.DAYS_TGT_INV_SUPPLY = g_FND_Upd_Null_NUM THEN
3779 msii_temp_data.DAYS_TGT_INV_SUPPLY := NULL;
3780 END IF;
3781 IF msii_temp_data.DAYS_TGT_INV_WINDOW IS NULL THEN
3782 msii_temp_data.DAYS_TGT_INV_WINDOW := msi_record_temp.DAYS_TGT_INV_WINDOW;
3783 ELSIF msii_temp_data.DAYS_TGT_INV_WINDOW = g_Upd_Null_NUM THEN
3784 msii_temp_data.DAYS_TGT_INV_WINDOW := NULL;
3785 ELSIF msii_temp_data.DAYS_TGT_INV_WINDOW = g_FND_Upd_Null_NUM THEN
3786 msii_temp_data.DAYS_TGT_INV_WINDOW := NULL;
3787 END IF;
3788 IF msii_temp_data.OVER_SHIPMENT_TOLERANCE IS NULL THEN
3789 msii_temp_data.OVER_SHIPMENT_TOLERANCE := msi_record_temp.OVER_SHIPMENT_TOLERANCE;
3790 ELSIF msii_temp_data.OVER_SHIPMENT_TOLERANCE = g_Upd_Null_NUM THEN
3791 msii_temp_data.OVER_SHIPMENT_TOLERANCE := NULL;
3792 ELSIF msii_temp_data.OVER_SHIPMENT_TOLERANCE = g_FND_Upd_Null_NUM THEN
3793 msii_temp_data.OVER_SHIPMENT_TOLERANCE := NULL;
3794 END IF;
3795 IF msii_temp_data.UNDER_RETURN_TOLERANCE IS NULL THEN
3796 msii_temp_data.UNDER_RETURN_TOLERANCE := msi_record_temp.UNDER_RETURN_TOLERANCE;
3797 ELSIF msii_temp_data.UNDER_RETURN_TOLERANCE = g_Upd_Null_NUM THEN
3801 END IF;
3798 msii_temp_data.UNDER_RETURN_TOLERANCE := NULL;
3799 ELSIF msii_temp_data.UNDER_RETURN_TOLERANCE = g_FND_Upd_Null_NUM THEN
3800 msii_temp_data.UNDER_RETURN_TOLERANCE := NULL;
3802 IF trim(msii_temp_data.DEFECT_TRACKING_ON_FLAG) is null then
3803 msii_temp_data.DEFECT_TRACKING_ON_FLAG := msi_record_temp.DEFECT_TRACKING_ON_FLAG;
3804 END IF;
3805 IF trim(msii_temp_data.DOWNLOADABLE_FLAG) is null then
3806 msii_temp_data.DOWNLOADABLE_FLAG := msi_record_temp.DOWNLOADABLE_FLAG;
3807 END IF;
3808 IF trim(msii_temp_data.COMMS_NL_TRACKABLE_FLAG) is null then
3809 msii_temp_data.COMMS_NL_TRACKABLE_FLAG := msi_record_temp.COMMS_NL_TRACKABLE_FLAG;
3810 END IF;
3811 IF trim(msii_temp_data.COMMS_ACTIVATION_REQD_FLAG) is null then
3812 msii_temp_data.COMMS_ACTIVATION_REQD_FLAG := msi_record_temp.COMMS_ACTIVATION_REQD_FLAG;
3813 END IF;
3814 IF trim(msii_temp_data.WEB_STATUS) is null then
3815 msii_temp_data.WEB_STATUS := msi_record_temp.WEB_STATUS;
3816 ELSE
3817 msii_temp_data.WEB_STATUS := trim(msii_temp_data.WEB_STATUS);
3818 END IF;
3819 IF msii_temp_data.DIMENSION_UOM_CODE IS NULL THEN
3820 msii_temp_data.DIMENSION_UOM_CODE := msi_record_temp.DIMENSION_UOM_CODE;
3821 ELSIF msii_temp_data.DIMENSION_UOM_CODE = '!' THEN
3822 msii_temp_data.DIMENSION_UOM_CODE := NULL;
3823 ELSIF msii_temp_data.DIMENSION_UOM_CODE = g_FND_Upd_Null_Char THEN
3824 msii_temp_data.DIMENSION_UOM_CODE := NULL;
3825 ELSE
3826 msii_temp_data.DIMENSION_UOM_CODE := trim(msii_temp_data.DIMENSION_UOM_CODE);
3827 END IF;
3828 IF msii_temp_data.UNIT_HEIGHT IS NULL THEN
3829 msii_temp_data.UNIT_HEIGHT := msi_record_temp.UNIT_HEIGHT;
3830 ELSIF msii_temp_data.UNIT_HEIGHT = g_Upd_Null_NUM THEN
3831 msii_temp_data.UNIT_HEIGHT := NULL;
3832 ELSIF msii_temp_data.UNIT_HEIGHT = g_FND_Upd_Null_NUM THEN
3833 msii_temp_data.UNIT_HEIGHT := NULL;
3834 END IF;
3835 IF msii_temp_data.DEFAULT_LOT_STATUS_ID IS NULL THEN
3836 msii_temp_data.DEFAULT_LOT_STATUS_ID := msi_record_temp.DEFAULT_LOT_STATUS_ID;
3837 ELSIF msii_temp_data.DEFAULT_LOT_STATUS_ID = g_Upd_Null_NUM THEN
3838 msii_temp_data.DEFAULT_LOT_STATUS_ID := NULL;
3839 ELSIF msii_temp_data.DEFAULT_LOT_STATUS_ID = g_FND_Upd_Null_NUM THEN
3840 msii_temp_data.DEFAULT_LOT_STATUS_ID := NULL;
3841 END IF;
3842 IF msii_temp_data.INVENTORY_CARRY_PENALTY IS NULL THEN
3843 msii_temp_data.INVENTORY_CARRY_PENALTY := msi_record_temp.INVENTORY_CARRY_PENALTY;
3844 ELSIF msii_temp_data.INVENTORY_CARRY_PENALTY = g_Upd_Null_NUM THEN
3845 msii_temp_data.INVENTORY_CARRY_PENALTY := NULL;
3846 ELSIF msii_temp_data.INVENTORY_CARRY_PENALTY = g_FND_Upd_Null_NUM THEN
3847 msii_temp_data.INVENTORY_CARRY_PENALTY := NULL;
3848 END IF;
3849 IF msii_temp_data.EAM_ITEM_TYPE IS NULL THEN
3850 msii_temp_data.EAM_ITEM_TYPE := msi_record_temp.EAM_ITEM_TYPE;
3851 ELSIF msii_temp_data.EAM_ITEM_TYPE = g_Upd_Null_NUM THEN
3852 msii_temp_data.EAM_ITEM_TYPE := NULL;
3853 ELSIF msii_temp_data.EAM_ITEM_TYPE = g_FND_Upd_Null_NUM THEN
3854 msii_temp_data.EAM_ITEM_TYPE := NULL;
3855 END IF;
3856 IF msii_temp_data.EAM_ACTIVITY_CAUSE_CODE IS NULL THEN
3857 msii_temp_data.EAM_ACTIVITY_CAUSE_CODE := msi_record_temp.EAM_ACTIVITY_CAUSE_CODE;
3858 ELSIF msii_temp_data.EAM_ACTIVITY_CAUSE_CODE = g_Upd_Null_CHAR THEN
3859 msii_temp_data.EAM_ACTIVITY_CAUSE_CODE := NULL;
3860 ELSIF msii_temp_data.EAM_ACTIVITY_CAUSE_CODE = g_FND_Upd_Null_Char THEN
3861 msii_temp_data.EAM_ACTIVITY_CAUSE_CODE := NULL;
3862 ELSE
3863 msii_temp_data.EAM_ACTIVITY_CAUSE_CODE := trim(msii_temp_data.EAM_ACTIVITY_CAUSE_CODE);
3864 END IF;
3865 IF msii_temp_data.EAM_ACT_SHUTDOWN_STATUS IS NULL THEN
3866 msii_temp_data.EAM_ACT_SHUTDOWN_STATUS := msi_record_temp.EAM_ACT_SHUTDOWN_STATUS;
3867 ELSIF msii_temp_data.EAM_ACT_SHUTDOWN_STATUS = g_Upd_Null_CHAR THEN
3868 msii_temp_data.EAM_ACT_SHUTDOWN_STATUS := NULL;
3869 ELSIF msii_temp_data.EAM_ACT_SHUTDOWN_STATUS = g_FND_Upd_Null_Char THEN
3870 msii_temp_data.EAM_ACT_SHUTDOWN_STATUS := NULL;
3871 ELSE
3872 msii_temp_data.EAM_ACT_SHUTDOWN_STATUS := trim(msii_temp_data.EAM_ACT_SHUTDOWN_STATUS);
3873 END IF;
3874 IF msii_temp_data.CONTRACT_ITEM_TYPE_CODE IS NULL THEN
3875 msii_temp_data.CONTRACT_ITEM_TYPE_CODE := msi_record_temp.CONTRACT_ITEM_TYPE_CODE;
3876 ELSIF msii_temp_data.CONTRACT_ITEM_TYPE_CODE = g_Upd_Null_CHAR THEN
3877 msii_temp_data.CONTRACT_ITEM_TYPE_CODE := NULL;
3878 ELSIF msii_temp_data.CONTRACT_ITEM_TYPE_CODE = g_FND_Upd_Null_Char THEN
3879 msii_temp_data.CONTRACT_ITEM_TYPE_CODE := NULL;
3880 ELSE
3881 msii_temp_data.CONTRACT_ITEM_TYPE_CODE := trim(msii_temp_data.CONTRACT_ITEM_TYPE_CODE);
3882 END IF;
3883 IF msii_temp_data.SERV_REQ_ENABLED_CODE IS NULL THEN
3884 msii_temp_data.SERV_REQ_ENABLED_CODE := msi_record_temp.SERV_REQ_ENABLED_CODE;
3885 ELSIF msii_temp_data.SERV_REQ_ENABLED_CODE = g_Upd_Null_CHAR THEN
3886 msii_temp_data.SERV_REQ_ENABLED_CODE := NULL;
3887 ELSIF msii_temp_data.SERV_REQ_ENABLED_CODE = g_FND_Upd_Null_Char THEN
3888 msii_temp_data.SERV_REQ_ENABLED_CODE := NULL;
3889 ELSE
3890 msii_temp_data.SERV_REQ_ENABLED_CODE := trim(msii_temp_data.SERV_REQ_ENABLED_CODE);
3891 END IF;
3892 IF msii_temp_data.PLANNED_INV_POINT_FLAG IS NULL THEN
3893 msii_temp_data.PLANNED_INV_POINT_FLAG := msi_record_temp.PLANNED_INV_POINT_FLAG;
3894 ELSIF msii_temp_data.PLANNED_INV_POINT_FLAG = g_Upd_Null_CHAR THEN
3895 msii_temp_data.PLANNED_INV_POINT_FLAG := NULL;
3896 ELSIF msii_temp_data.PLANNED_INV_POINT_FLAG = g_FND_Upd_Null_Char THEN
3897 msii_temp_data.PLANNED_INV_POINT_FLAG := NULL;
3898 ELSE
3899 msii_temp_data.PLANNED_INV_POINT_FLAG := trim(msii_temp_data.PLANNED_INV_POINT_FLAG);
3900 END IF;
3904 msii_temp_data.DEFAULT_SO_SOURCE_TYPE := NULL;
3901 IF msii_temp_data.DEFAULT_SO_SOURCE_TYPE IS NULL THEN
3902 msii_temp_data.DEFAULT_SO_SOURCE_TYPE := msi_record_temp.DEFAULT_SO_SOURCE_TYPE;
3903 ELSIF msii_temp_data.DEFAULT_SO_SOURCE_TYPE = g_Upd_Null_CHAR THEN
3905 ELSIF msii_temp_data.DEFAULT_SO_SOURCE_TYPE = g_FND_Upd_Null_Char THEN
3906 msii_temp_data.DEFAULT_SO_SOURCE_TYPE := NULL;
3907 ELSE
3908 msii_temp_data.DEFAULT_SO_SOURCE_TYPE := trim(msii_temp_data.DEFAULT_SO_SOURCE_TYPE);
3909 END IF;
3910 IF msii_temp_data.SUBSTITUTION_WINDOW_CODE IS NULL THEN
3911 msii_temp_data.SUBSTITUTION_WINDOW_CODE := msi_record_temp.SUBSTITUTION_WINDOW_CODE;
3912 ELSIF msii_temp_data.SUBSTITUTION_WINDOW_CODE = g_Upd_Null_NUM THEN
3913 msii_temp_data.SUBSTITUTION_WINDOW_CODE := NULL;
3914 ELSIF msii_temp_data.SUBSTITUTION_WINDOW_CODE = g_FND_Upd_Null_NUM THEN
3915 msii_temp_data.SUBSTITUTION_WINDOW_CODE := NULL;
3916 END IF;
3917 IF msii_temp_data.MINIMUM_LICENSE_QUANTITY IS NULL THEN
3918 msii_temp_data.MINIMUM_LICENSE_QUANTITY := msi_record_temp.MINIMUM_LICENSE_QUANTITY;
3919 ELSIF msii_temp_data.MINIMUM_LICENSE_QUANTITY = -999999 THEN
3920 msii_temp_data.MINIMUM_LICENSE_QUANTITY := NULL;
3921 ELSIF msii_temp_data.MINIMUM_LICENSE_QUANTITY = g_FND_Upd_Null_NUM THEN
3922 msii_temp_data.MINIMUM_LICENSE_QUANTITY := NULL;
3923 END IF;
3924 IF msii_temp_data.IB_ITEM_INSTANCE_CLASS IS NULL THEN
3925 msii_temp_data.IB_ITEM_INSTANCE_CLASS := msi_record_temp.IB_ITEM_INSTANCE_CLASS;
3926 ELSIF msii_temp_data.IB_ITEM_INSTANCE_CLASS = g_Upd_Null_CHAR THEN
3927 msii_temp_data.IB_ITEM_INSTANCE_CLASS := NULL;
3928 ELSIF msii_temp_data.IB_ITEM_INSTANCE_CLASS = g_FND_Upd_Null_Char THEN
3929 msii_temp_data.IB_ITEM_INSTANCE_CLASS := NULL;
3930 ELSE
3931 msii_temp_data.IB_ITEM_INSTANCE_CLASS := trim(msii_temp_data.IB_ITEM_INSTANCE_CLASS);
3932 END IF;
3933 IF msii_temp_data.CONFIG_ORGS IS NULL THEN
3934 msii_temp_data.CONFIG_ORGS := msi_record_temp.CONFIG_ORGS;
3935 ELSIF msii_temp_data.CONFIG_ORGS = g_Upd_Null_CHAR THEN
3936 msii_temp_data.CONFIG_ORGS := NULL;
3937 ELSIF msii_temp_data.CONFIG_ORGS = g_FND_Upd_Null_Char THEN
3938 msii_temp_data.CONFIG_ORGS := NULL;
3939 ELSE
3940 msii_temp_data.CONFIG_ORGS := trim(msii_temp_data.CONFIG_ORGS);
3941 END IF;
3942 IF msii_temp_data.LIFECYCLE_ID IS NULL THEN
3943 msii_temp_data.LIFECYCLE_ID := msi_record_temp.LIFECYCLE_ID;
3944 ELSIF msii_temp_data.LIFECYCLE_ID = -999999 THEN
3945 msii_temp_data.LIFECYCLE_ID := NULL;
3946 ELSIF msii_temp_data.LIFECYCLE_ID = g_FND_Upd_Null_NUM THEN
3947 msii_temp_data.LIFECYCLE_ID := NULL;
3948 END IF;
3949 IF msii_temp_data.VMI_MINIMUM_UNITS IS NULL THEN
3950 msii_temp_data.VMI_MINIMUM_UNITS := msi_record_temp.VMI_MINIMUM_UNITS;
3951 ELSIF msii_temp_data.VMI_MINIMUM_UNITS = g_Upd_Null_NUM THEN
3952 msii_temp_data.VMI_MINIMUM_UNITS := NULL;
3953 ELSIF msii_temp_data.VMI_MINIMUM_UNITS = g_FND_Upd_Null_NUM THEN
3954 msii_temp_data.VMI_MINIMUM_UNITS := NULL;
3955 END IF;
3956 IF msii_temp_data.VMI_MAXIMUM_UNITS IS NULL THEN
3957 msii_temp_data.VMI_MAXIMUM_UNITS := msi_record_temp.VMI_MAXIMUM_UNITS;
3958 ELSIF msii_temp_data.VMI_MAXIMUM_UNITS = g_Upd_Null_NUM THEN
3959 msii_temp_data.VMI_MAXIMUM_UNITS := NULL;
3960 ELSIF msii_temp_data.VMI_MAXIMUM_UNITS = g_FND_Upd_Null_NUM THEN
3961 msii_temp_data.VMI_MAXIMUM_UNITS := NULL;
3962 END IF;
3963 IF msii_temp_data.VMI_FIXED_ORDER_QUANTITY IS NULL THEN
3964 msii_temp_data.VMI_FIXED_ORDER_QUANTITY := msi_record_temp.VMI_FIXED_ORDER_QUANTITY;
3965 ELSIF msii_temp_data.VMI_FIXED_ORDER_QUANTITY = g_Upd_Null_NUM THEN
3966 msii_temp_data.VMI_FIXED_ORDER_QUANTITY := NULL;
3967 ELSIF msii_temp_data.VMI_FIXED_ORDER_QUANTITY = g_FND_Upd_Null_NUM THEN
3968 msii_temp_data.VMI_FIXED_ORDER_QUANTITY := NULL;
3969 END IF;
3970 IF msii_temp_data.VMI_FORECAST_TYPE IS NULL THEN
3971 msii_temp_data.VMI_FORECAST_TYPE := msi_record_temp.VMI_FORECAST_TYPE;
3972 ELSIF msii_temp_data.VMI_FORECAST_TYPE = g_Upd_Null_NUM THEN
3973 msii_temp_data.VMI_FORECAST_TYPE := NULL;
3974 ELSIF msii_temp_data.VMI_FORECAST_TYPE = g_FND_Upd_Null_NUM THEN
3975 msii_temp_data.VMI_FORECAST_TYPE := NULL;
3976 END IF;
3977 IF msii_temp_data.EXCLUDE_FROM_BUDGET_FLAG IS NULL THEN
3978 msii_temp_data.EXCLUDE_FROM_BUDGET_FLAG := msi_record_temp.EXCLUDE_FROM_BUDGET_FLAG;
3979 ELSIF msii_temp_data.EXCLUDE_FROM_BUDGET_FLAG = g_Upd_Null_NUM THEN
3980 msii_temp_data.EXCLUDE_FROM_BUDGET_FLAG := NULL;
3981 ELSIF msii_temp_data.EXCLUDE_FROM_BUDGET_FLAG = g_FND_Upd_Null_NUM THEN
3982 msii_temp_data.EXCLUDE_FROM_BUDGET_FLAG := NULL;
3983 END IF;
3984 IF msii_temp_data.DAYS_MAX_INV_SUPPLY IS NULL THEN
3985 msii_temp_data.DAYS_MAX_INV_SUPPLY := msi_record_temp.DAYS_MAX_INV_SUPPLY;
3986 ELSIF msii_temp_data.DAYS_MAX_INV_SUPPLY = g_Upd_Null_NUM THEN
3987 msii_temp_data.DAYS_MAX_INV_SUPPLY := NULL;
3988 ELSIF msii_temp_data.DAYS_MAX_INV_SUPPLY = g_FND_Upd_Null_NUM THEN
3989 msii_temp_data.DAYS_MAX_INV_SUPPLY := NULL;
3990 END IF;
3991 IF trim(msii_temp_data.INVENTORY_ITEM_STATUS_CODE) is null then
3992 msii_temp_data.INVENTORY_ITEM_STATUS_CODE := msi_record_temp.INVENTORY_ITEM_STATUS_CODE;
3993 ELSE
3994 msii_temp_data.INVENTORY_ITEM_STATUS_CODE := trim(msii_temp_data.INVENTORY_ITEM_STATUS_CODE);
3995 END IF;
3996 /* R12 FPC Attributes */
3997 IF msii_temp_data.STYLE_ITEM_ID IS NULL THEN
3998 msii_temp_data.STYLE_ITEM_ID := msi_record_temp.STYLE_ITEM_ID;
3999 ELSIF msii_temp_data.STYLE_ITEM_ID = g_Upd_Null_NUM THEN
4000 msii_temp_data.STYLE_ITEM_ID := NULL;
4001 ELSIF msii_temp_data.STYLE_ITEM_ID = g_FND_Upd_Null_NUM THEN
4002 msii_temp_data.STYLE_ITEM_ID := NULL;
4003 END IF;
4004
4005 IF trim(msii_temp_data.STYLE_ITEM_FLAG) IS NULL THEN
4009 ELSIF msii_temp_data.STYLE_ITEM_FLAG = g_FND_Upd_Null_CHAR THEN
4006 msii_temp_data.STYLE_ITEM_FLAG := msi_record_temp.STYLE_ITEM_FLAG;
4007 ELSIF msii_temp_data.STYLE_ITEM_FLAG = g_Upd_Null_CHAR THEN
4008 msii_temp_data.STYLE_ITEM_FLAG := NULL;
4010 msii_temp_data.STYLE_ITEM_FLAG := NULL;
4011 ELSE
4012 msii_temp_data.STYLE_ITEM_FLAG := trim(msii_temp_data.STYLE_ITEM_FLAG);
4013 END IF;
4014
4015 IF trim(msii_temp_data.GDSN_OUTBOUND_ENABLED_FLAG) IS NULL THEN
4016 msii_temp_data.GDSN_OUTBOUND_ENABLED_FLAG := msi_record_temp.GDSN_OUTBOUND_ENABLED_FLAG;
4017 ELSIF msii_temp_data.GDSN_OUTBOUND_ENABLED_FLAG = g_Upd_Null_CHAR THEN
4018 msii_temp_data.GDSN_OUTBOUND_ENABLED_FLAG := NULL;
4019 ELSIF msii_temp_data.GDSN_OUTBOUND_ENABLED_FLAG = g_FND_Upd_Null_CHAR THEN
4020 msii_temp_data.GDSN_OUTBOUND_ENABLED_FLAG := NULL;
4021 ELSE
4022 msii_temp_data.GDSN_OUTBOUND_ENABLED_FLAG := trim(msii_temp_data.GDSN_OUTBOUND_ENABLED_FLAG);
4023 END IF;
4024
4025 IF trim(msii_temp_data.TRADE_ITEM_DESCRIPTOR) IS NULL THEN
4026 IF ( msi_record_temp.TRADE_ITEM_DESCRIPTOR IS NULL AND msii_temp_data.GDSN_OUTBOUND_ENABLED_FLAG = 'Y' ) THEN --BUG 6455261
4027 --Retrieve default value for Trade Item Descriptor
4028 OPEN c_trade_item_default;
4029 FETCH c_trade_item_default INTO msii_temp_data.TRADE_ITEM_DESCRIPTOR;
4030 CLOSE c_trade_item_default;
4031 ELSE
4032 msii_temp_data.TRADE_ITEM_DESCRIPTOR := msi_record_temp.TRADE_ITEM_DESCRIPTOR;
4033 END IF;
4034 ELSIF msii_temp_data.TRADE_ITEM_DESCRIPTOR = g_Upd_Null_CHAR THEN
4035 msii_temp_data.TRADE_ITEM_DESCRIPTOR := NULL;
4036 ELSIF msii_temp_data.TRADE_ITEM_DESCRIPTOR = g_FND_Upd_Null_CHAR THEN
4037 msii_temp_data.TRADE_ITEM_DESCRIPTOR := NULL;
4038 ELSE
4039 msii_temp_data.TRADE_ITEM_DESCRIPTOR := trim(msii_temp_data.TRADE_ITEM_DESCRIPTOR);
4040 END IF;
4041
4042
4043 UPDATE MTL_SYSTEM_ITEMS_INTERFACE SET ROW = msii_temp_data WHERE ROWID = row_id;
4044
4045 -- End 5565453 : Perf issue reducing the shared memory
4046
4047 RETURN (0);
4048
4049 EXCEPTION
4050
4051 WHEN OTHERS THEN
4052 IF l_inv_debug_level IN(101, 102) THEN
4053 INVPUTLI.info('when OTHERS exception raised in copy_msi_to_msii');
4054 END IF;
4055 RETURN(1);
4056
4057 END copy_msi_to_msii; -- }
4058
4059
4060 FUNCTION mtl_pr_validate_item_update
4061 (
4062 org_id NUMBER,
4063 all_org NUMBER := 2,
4064 prog_appid NUMBER := -1,
4065 prog_id NUMBER := -1,
4066 request_id NUMBER := -1,
4067 user_id NUMBER := -1,
4068 login_id NUMBER := -1,
4069 err_text IN OUT NOCOPY VARCHAR2,
4070 xset_id IN NUMBER DEFAULT NULL
4071 )
4072 return INTEGER
4073 IS
4074 ret_code_create NUMBER := 1;
4075 ret_code_master NUMBER := 1;
4076 ret_code_child NUMBER := 1;
4077
4078 l_inv_debug_level NUMBER := INVPUTLI.get_debug_level; --Bug: 4667452
4079
4080 BEGIN -- {
4081
4082 IF l_inv_debug_level IN(101, 102) THEN
4083 INVPUTLI.info('INVUPD1B: Inside mtl_pr_validate_item_update'|| '***orgid: ' || TO_CHAR(org_id));
4084 END IF;
4085
4086 ret_code_create := INVPVALI.mtl_pr_validate_item(
4087 org_id => org_id,
4088 all_org => all_org,
4089 prog_appid => prog_appid,
4090 prog_id => prog_id,
4091 request_id => request_id,
4092 user_id => user_id,
4093 login_id => login_id,
4094 err_text => err_text,
4095 xset_id => xset_id);
4096
4097 if (ret_code_create <> 0) then
4098 return (ret_code_create);
4099 end if;
4100
4101 ret_code_master := INVUPD2B.validate_item_update_master(
4102 org_id,
4103 all_org,
4104 prog_appid,
4105 prog_id,
4106 request_id,
4107 user_id,
4108 login_id,
4109 err_text,
4110 xset_id);
4111
4112 ret_code_child := INVUPD2B.validate_item_update_child(
4113 org_id,
4114 all_org,
4115 prog_appid,
4116 prog_id,
4117 request_id,
4118 user_id,
4119 login_id,
4120 err_text,
4121 xset_id);
4122
4123 if (ret_code_master = 0 AND ret_code_child = 0) then
4124 return (0);
4125 else
4126 if (ret_code_master <> 0) then
4127 return (ret_code_master);
4128 end if;
4129 if (ret_code_child <> 0) then
4130 return (ret_code_child);
4131 end if;
4132 end if;
4133
4134 EXCEPTION
4135
4136 when OTHERS then
4137 IF l_inv_debug_level IN(101, 102) THEN
4138 INVPUTLI.info('when OTHERS exception raised in mtl_pr_validate_item_update' || SQLERRM);
4139 END IF;
4140
4141 return (1);
4142
4143 END mtl_pr_validate_item_update; -- }
4144
4145 --Start Bug: 2808277 Supporting Item Revision Update
4146 FUNCTION assign_item_rev_data_update(
4147 org_id NUMBER,
4148 all_org NUMBER := 2,
4149 prog_appid NUMBER := -1,
4150 prog_id NUMBER := -1,
4151 request_id NUMBER := -1,
4152 user_id NUMBER := -1,
4153 login_id NUMBER := -1,
4154 err_text IN OUT NOCOPY VARCHAR2,
4155 xset_id IN NUMBER DEFAULT -999)
4156 RETURN NUMBER IS
4157
4158 --Fill Item Id for Item Number
4159 CURSOR c_fill_Item_Id IS
4160 SELECT DISTINCT item_number,
4161 organization_id
4162 FROM mtl_item_revisions_interface
4163 WHERE inventory_item_id IS NULL
4164 AND item_number IS NOT NULL
4165 AND organization_id IS NOT NULL
4169 --Assigning Transaction Id
4166 AND set_process_id = xset_id
4167 AND process_flag = 1;
4168
4170 CURSOR c_fill_transaction_id IS
4171 SELECT distinct inventory_item_id,
4172 organization_id,
4173 transaction_type
4174 FROM mtl_item_revisions_interface
4175 WHERE process_flag = 1
4176 AND set_process_id = xset_id
4177 AND transaction_id IS NULL --Bug: 3019435 Added condition
4178 AND (organization_id = org_id or all_org = 1);
4179
4180 --Fill Revision id, default values
4181 CURSOR c_fill_revision_details IS
4182 SELECT rowid
4183 ,revision
4184 ,revision_id
4185 ,description
4186 ,inventory_item_id
4187 ,organization_id
4188 ,change_notice
4189 ,ecn_initiation_date
4190 ,implementation_date
4191 ,implemented_serial_number
4192 ,effectivity_date
4193 ,attribute_category
4194 ,attribute1
4195 ,attribute2
4196 ,attribute3
4197 ,attribute4
4198 ,attribute5
4199 ,attribute6
4200 ,attribute7
4201 ,attribute8
4202 ,attribute9
4203 ,attribute10
4204 ,attribute11
4205 ,attribute12
4206 ,attribute13
4207 ,attribute14
4208 ,attribute15
4209 ,revision_label
4210 ,revision_reason
4211 ,transaction_id
4212 FROM mtl_item_revisions_interface
4213 WHERE process_flag = 1
4214 AND set_process_id = xset_id
4215 AND (organization_id = org_id or all_org = 1);
4216
4217 CURSOR c_get_rev_defaults(cp_org_id NUMBER,
4218 cp_item_id NUMBER,
4219 cp_revision VARCHAR2) IS
4220 SELECT revision_id
4221 ,description
4222 ,change_notice
4223 ,ecn_initiation_date
4224 ,implementation_date
4225 --,implemented_serial_number
4226 ,effectivity_date
4227 ,attribute_category
4228 ,attribute1
4229 ,attribute2
4230 ,attribute3
4231 ,attribute4
4232 ,attribute5
4233 ,attribute6
4234 ,attribute7
4235 ,attribute8
4236 ,attribute9
4237 ,attribute10
4238 ,attribute11
4239 ,attribute12
4240 ,attribute13
4241 ,attribute14
4242 ,attribute15
4243 ,revision_label
4244 ,revision_reason
4245 ,revised_item_sequence_id
4246 ,lifecycle_id
4247 ,current_phase_id
4248 FROM mtl_item_revisions
4249 WHERE organization_id = cp_org_id
4250 AND inventory_item_id = cp_item_id
4251 AND revision = cp_revision;
4252
4253 l_process_flag_1 CONSTANT NUMBER := 1;
4254 l_process_flag_2 CONSTANT NUMBER := 2;
4255 l_process_flag_3 CONSTANT NUMBER := 3;
4256 flex_id NUMBER;
4257 l_rev_rec c_get_rev_defaults%ROWTYPE;
4258 status NUMBER := 0;
4259 dumm_status NUMBER := 0;
4260 tran_id NUMBER := 0;
4261 ASSIGN_ERROR EXCEPTION;
4262 LOGGING_ERROR EXCEPTION;
4263 l_sysdate DATE := SYSDATE;
4264 l_all_org CONSTANT NUMBER := 1;
4265 l_default_revision VARCHAR2(3);
4266
4267 BEGIN
4268
4269 --Assign Orgnization Id for missing ones
4270 UPDATE mtl_item_revisions_interface i
4271 SET i.organization_id = (SELECT o.organization_id
4272 FROM mtl_parameters o
4273 WHERE o.organization_code = i.organization_code)
4274 WHERE i.organization_id is NULL
4275 AND set_process_id = xset_id
4276 AND i.process_flag = l_process_flag_1;
4277
4278 --Assign Item Id
4279 FOR cr IN c_fill_Item_Id loop
4280
4281 status := INVPUOPI.mtl_pr_parse_flex_name (
4282 cr.organization_id, 'MSTK',
4283 cr.item_number, flex_id,
4284 0, err_text);
4285 IF status <> 0 THEN
4286 ----Bug: 3019435 Changed the code with in IF st.
4287 UPDATE mtl_item_revisions_interface
4288 SET process_flag = l_process_flag_3,
4289 transaction_id = NVL(transaction_id,MTL_SYSTEM_ITEMS_INTERFACE_S.nextval)
4290 WHERE item_number = cr.item_number
4291 AND inventory_item_id IS NULL
4292 AND process_flag = l_process_flag_1
4293 AND set_process_id = xset_id
4294 AND organization_id = cr.organization_id
4295 RETURNING transaction_id INTO tran_id;
4296 /*
4297 SELECT MTL_SYSTEM_ITEMS_INTERFACE_S.nextval
4298 INTO tran_id
4299 FROM dual;
4300 */
4301 dumm_status := INVPUOPI.mtl_log_interface_err(
4302 cr.organization_id,
4303 user_id,
4304 login_id,
4305 prog_appid,
4306 prog_id,
4307 request_id,
4308 tran_id,
4309 err_text,
4310 'item_number',
4311 'MTL_ITEM_REVISIONS_INTERFACE',
4312 'BOM_OP_VALIDATION_ERR',
4313 err_text);
4314 IF dumm_status < 0 THEN
4315 raise LOGGING_ERROR ;
4316 END IF;
4317
4318 /* UPDATE mtl_item_revisions_interface
4319 SET process_flag = l_process_flag_3,
4320 transaction_id = tran_id
4321 WHERE item_number = cr.item_number
4322 AND inventory_item_id IS NULL
4326 */
4323 AND process_flag = l_process_flag_1
4324 AND set_process_id = xset_id
4325 AND organization_id = cr.organization_id;
4327 IF status < 0 THEN
4328 raise ASSIGN_ERROR;
4329 END IF;
4330
4331 ELSIF status = 0 THEN
4332
4333 UPDATE mtl_item_revisions_interface
4334 SET inventory_item_id = flex_id
4335 WHERE item_number = cr.item_number
4336 AND set_process_id = xset_id
4337 AND organization_id = cr.organization_id;
4338
4339 END IF;
4340
4341 END LOOP; -- Fill Item Id LOOP.
4342
4343 --Assign Transaction Id
4344 FOR cr IN c_fill_transaction_id LOOP
4345
4346 SELECT MTL_SYSTEM_ITEMS_INTERFACE_S.nextval
4347 INTO tran_id FROM dual;
4348
4349 UPDATE mtl_item_revisions_interface
4350 SET transaction_id = tran_id
4351 WHERE inventory_item_id = cr.inventory_item_id
4352 AND organization_id = cr.organization_id
4353 AND transaction_type = cr.transaction_type
4354 -- AND set_process_id + 0 = xset_id --fix for bug#8757041,removed + 0
4355 AND set_process_id = xset_id
4356 AND process_flag = l_process_flag_1;
4357
4358 END LOOP;
4359
4360
4361 --Fill Revision id, default values
4362 FOR cr IN c_fill_Revision_details LOOP
4363
4364 OPEN c_get_rev_defaults(cp_org_id => cr.organization_id,
4365 cp_item_id => cr.inventory_item_id,
4366 cp_revision => cr.revision);
4367 FETCH c_get_rev_defaults INTO l_rev_rec;
4368 CLOSE c_get_rev_defaults;
4369
4370 IF l_rev_rec.revision_id IS NOT NULL THEN
4371
4372 SELECT starting_revision
4373 INTO l_default_revision
4374 FROM mtl_parameters
4375 WHERE organization_id = cr.organization_id;
4376
4377 IF l_default_revision = cr.revision THEN
4378
4379 UPDATE mtl_item_revisions_interface
4380 SET effectivity_date = l_rev_rec.effectivity_date
4381 WHERE rowid = cr.rowid;
4382
4383 END IF;
4384
4385
4386 UPDATE mtl_item_revisions_interface
4387 SET revision_id = l_rev_rec.revision_id
4388 ,description = decode(description,NULL,l_rev_rec.description,'!',NULL,g_FND_Upd_Null_Char,NULL,description)
4389 ,change_notice = l_rev_rec.change_notice
4390 ,ecn_initiation_date = l_rev_rec.ecn_initiation_date
4391 ,implementation_date = NVL(implementation_date,l_rev_rec.implementation_date)
4392 --,implemented_serial_number = NVL(implemented_serial_number,l_rev_rec.implemented_serial_number)
4393 ,effectivity_date = NVL(effectivity_date,l_rev_rec.effectivity_date)
4394 ,attribute_category = decode(attribute_category,NULL,l_rev_rec.attribute_category,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute_category)
4395 ,attribute1 = decode(attribute1,NULL,l_rev_rec.attribute1,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute1)
4396 ,attribute2 = decode(attribute2,NULL,l_rev_rec.attribute2,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute2)
4397 ,attribute3 = decode(attribute3,NULL,l_rev_rec.attribute3,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute3)
4398 ,attribute4 = decode(attribute4,NULL,l_rev_rec.attribute4,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute4)
4399 ,attribute5 = decode(attribute5,NULL,l_rev_rec.attribute5,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute5)
4400 ,attribute6 = decode(attribute6,NULL,l_rev_rec.attribute6,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute6)
4401 ,attribute7 = decode(attribute7,NULL,l_rev_rec.attribute7,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute7)
4402 ,attribute8 = decode(attribute8,NULL,l_rev_rec.attribute8,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute8)
4403 ,attribute9 = decode(attribute9,NULL,l_rev_rec.attribute9,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute9)
4404 ,attribute10 = decode(attribute10,NULL,l_rev_rec.attribute10,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute10)
4405 ,attribute11 = decode(attribute11,NULL,l_rev_rec.attribute11,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute11)
4406 ,attribute12 = decode(attribute12,NULL,l_rev_rec.attribute12,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute12)
4407 ,attribute13 = decode(attribute13,NULL,l_rev_rec.attribute13,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute13)
4408 ,attribute14 = decode(attribute14,NULL,l_rev_rec.attribute14,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute14)
4409 ,attribute15 = decode(attribute15,NULL,l_rev_rec.attribute15,'!',NULL, g_FND_Upd_Null_Char, NULL, attribute15)
4410 ,revision_label = decode(revision_label,NULL,l_rev_rec.revision_label,'!',NULL, g_FND_Upd_Null_Char, NULL, revision_label)
4411 ,revision_reason = decode(revision_reason,NULL,l_rev_rec.revision_reason,'!',NULL, g_FND_Upd_Null_Char, NULL, revision_reason)
4412 ,revised_item_sequence_id = decode(revised_item_sequence_id,NULL,l_rev_rec.revised_item_sequence_id,g_Upd_Null_NUM,NULL, g_FND_Upd_Null_NUM, NULL, revised_item_sequence_id)
4413 ,lifecycle_id = decode(lifecycle_id,NULL,l_rev_rec.lifecycle_id,g_Upd_Null_NUM,NULL, g_FND_Upd_Null_NUM, NULL, lifecycle_id)
4414 ,current_phase_id = decode(current_phase_id,NULL,l_rev_rec.current_phase_id,g_Upd_Null_NUM,NULL, g_FND_Upd_Null_NUM, NULL, current_phase_id)
4415 WHERE rowid = cr.rowid;
4416
4417 ELSE
4418
4419 dumm_status := INVPUOPI.mtl_log_interface_err(
4420 cr.organization_id,
4421 user_id,
4422 login_id,
4423 prog_appid,
4424 prog_id,
4425 request_id,
4426 cr.transaction_id,
4427 err_text,
4431 err_text);
4428 'REVISION',
4429 'MTL_ITEM_REVISIONS_INTERFACE',
4430 'INV_INVALID_REVISION',
4432 IF dumm_status < 0 THEN
4433 raise LOGGING_ERROR ;
4434 END IF;
4435
4436 UPDATE mtl_item_revisions_interface
4437 SET process_flag = l_process_flag_3
4438 WHERE rowid = cr.rowid;
4439
4440 END IF;
4441
4442 END LOOP; --Revision defaults fill LOOP
4443
4444 --Update process flag , at last
4445 UPDATE mtl_item_revisions_interface
4446 SET process_flag = l_process_flag_2 ,
4447 last_update_date = l_sysdate,
4448 last_updated_by = decode(last_updated_by,NULL,user_id,last_updated_by),
4449 creation_date = l_sysdate,
4450 created_by = decode(created_by, NULL, user_id,created_by)
4451 --3070781 :Revision defaults fill LOOP is enough to fill below columns
4452 --This routine gets called only during revision update.
4453 --implementation_date = nvl(effectivity_date, l_sysdate),
4454 --effectivity_date = nvl(effectivity_date, l_sysdate)
4455 WHERE inventory_item_id is not null
4456 AND process_flag = l_process_flag_1
4457 AND set_process_id = xset_id
4458 AND (organization_id = org_id or all_org = l_all_org);
4459
4460 --Set process flag for the records with errors
4461 UPDATE mtl_item_revisions_interface i
4462 SET i.process_flag = l_process_flag_3,
4463 i.last_update_date = sysdate,
4464 i.last_updated_by = decode(i.last_updated_by, NULL, user_id,i.last_updated_by),
4465 i.creation_date = l_sysdate,
4466 i.created_by = decode(i.created_by, NULL, user_id,i.created_by)
4467 WHERE (i.inventory_item_id is NULL or i.organization_id is NULL)
4468 AND i.set_process_id = xset_id
4469 AND i.process_flag = l_process_flag_1
4470 AND (i.organization_id = org_id or all_org = l_all_org );
4471
4472 RETURN (0);
4473
4474 EXCEPTION
4475 WHEN ASSIGN_ERROR THEN
4476 err_text := 'INVUPD1B.assign_item_rev_data_update: bad return status from INVPUOPI.mtl_pr_parse_flex_name, please check mtl_interface_errors with transaction_id:'||tran_id;
4477 RETURN (1);
4478 WHEN LOGGING_ERROR THEN
4479 err_text := 'INVUPD1B.assign_item_rev_data_update: exception happen when calling INVPUOPI.mtl_log_interface_err'||err_text;
4480 RETURN (1);
4481 WHEN OTHERS THEN
4482 err_text := substr('INVUPD1B.assign_item_rev_data_update: ' || SQLERRM, 1,2000);
4483 RETURN (1);
4484 END assign_item_rev_data_update;
4485 --End Bug: 2808277 Supporting Item Revision Update
4486
4487
4488 end INVUPD1B; -- }