DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_ITEM_GRP

Source


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