DBA Data[Home] [Help]

PACKAGE BODY: APPS.INVPULI2

Source


1 PACKAGE BODY INVPULI2 AS
2 /* $Header: INVPUL2B.pls 120.14.12010000.3 2008/11/25 02:27:51 akbharga ship $ */
3 FUNCTION copy_template_attributes(
4    org_id     IN            NUMBER
5   ,all_org    IN            NUMBER  := 2
6   ,prog_appid IN            NUMBER  := -1
7   ,prog_id    IN            NUMBER  := -1
8   ,request_id IN            NUMBER  := -1
9   ,user_id    IN            NUMBER  := -1
10   ,login_id   IN            NUMBER  := -1
11   ,xset_id    IN            NUMBER  := -999
12   ,err_text   IN OUT NOCOPY VARCHAR2
13 ) RETURN INTEGER IS
14 
15    CURSOR item_rec IS
16       SELECT organization_id,
17              item_catalog_group_id,
18              template_id,
19 	     template_name,
20 	     transaction_id,
21 	     transaction_type,
22              rowid,
23 	     style_item_flag
24       FROM MTL_SYSTEM_ITEMS_INTERFACE
25       WHERE process_flag = 1
26       AND   set_process_id = xset_id
27       AND  ((organization_id = org_id) or (all_org = 1));
28 
29    CURSOR check_template_name (cp_template_name VARCHAR2) IS
30       SELECT template_id,
31              context_organization_id
32       FROM   mtl_item_templates
33       WHERE  template_name = cp_template_name;
34 
35    CURSOR check_template_id (cp_template_id NUMBER) IS
36       SELECT template_id,
37              context_organization_id
38       FROM   mtl_item_templates
39       WHERE  template_id = cp_template_id;
40 
41 
42    CURSOR get_template_values(cp_template_id NUMBER) IS
43       SELECT attribute_name,
44              attribute_value
45       FROM   mtl_item_templ_attributes
46       WHERE  template_id = cp_template_id
47       AND    enabled_flag = 'Y'
48       AND    attribute_name IN
49                (SELECT  a.attribute_name
50                 FROM  mtl_item_attributes  a
51                 WHERE  NVL(a.status_control_code, 3) <> 1
52                   AND  a.control_level IN (1, 2)
53                   AND  a.attribute_group_id_gui IS NOT NULL);
54 
55 
56    CURSOR global_flex(cp_template_id NUMBER) IS
57       SELECT
58          GLOBAL_ATTRIBUTE_CATEGORY,
59          GLOBAL_ATTRIBUTE1,
60          GLOBAL_ATTRIBUTE2,
61          GLOBAL_ATTRIBUTE3,
62          GLOBAL_ATTRIBUTE4,
63          GLOBAL_ATTRIBUTE5,
64          GLOBAL_ATTRIBUTE6,
65          GLOBAL_ATTRIBUTE7,
66          GLOBAL_ATTRIBUTE8,
67          GLOBAL_ATTRIBUTE9,
68          GLOBAL_ATTRIBUTE10,
69          GLOBAL_ATTRIBUTE11,
70          GLOBAL_ATTRIBUTE12,
71          GLOBAL_ATTRIBUTE13,
72          GLOBAL_ATTRIBUTE14,
73          GLOBAL_ATTRIBUTE15,
74          GLOBAL_ATTRIBUTE16,
75          GLOBAL_ATTRIBUTE17,
76          GLOBAL_ATTRIBUTE18,
77          GLOBAL_ATTRIBUTE19,
78          GLOBAL_ATTRIBUTE20
79       FROM MTL_ITEM_TEMPLATES MIT
80       WHERE MIT.template_id = cp_template_id;
81 
82    --Bug:6282388
83    CURSOR isMasterOrg(cp_orgid NUMBER)
84    IS
85      SELECT COUNT(1)
86        FROM mtl_parameters mp
87       WHERE mp.master_organization_id = cp_orgid
88         AND rownum = 1;
89 
90    l_isMasterOrg   NUMBER;
91    AttRec          MTL_SYSTEM_ITEMS_B%ROWTYPE;
92    context_orgid   mtl_item_templates.context_organization_id%TYPE;
93    l_template_id   mtl_item_templates.template_id%TYPE := NULL;
94    rtn_status	   number := 0;
95    dumm_status	   number := 0;
96    LOGGING_ERR	   EXCEPTION;
97    l_error_exists  BOOLEAN := FALSE;
98    l_column_name   VARCHAR2(200);
99    l_message_name  VARCHAR2(200);
100 
101    l_inv_debug_level	NUMBER := INVPUTLI.get_debug_level;  --Bug: 4667452
102 
103    TYPE template_id_type IS TABLE OF
104      mtl_item_templates.template_id%TYPE
105    INDEX BY BINARY_INTEGER;
106 
107    --Bug 4456453
108    TYPE transaction_table_type IS TABLE OF
109      mtl_system_items_interface.transaction_type%TYPE;
110 
111    template_table  template_id_type;
112    transaction_table  transaction_table_type;  --Bug: 4456453
113 
114    l_ego_cat_grp_flag VARCHAR2(10); --Bug:7033786
115 
116 BEGIN
117 
118    IF l_inv_debug_level IN(101, 102) THEN
119       INVPUTLI.info('INVPULI2: begin copy_template_attributes');
120    END IF;
121 
122    --added for bug: 7033786
123    l_ego_cat_grp_flag := INV_ITEM_UTIL.Object_Exists(p_object_type => 'SYNONYM',p_object_name => 'EGO_CAT_GRP_TEMPLATES');
124 
125 
126    -- Populate Template Ids.
127    FOR cur IN item_rec LOOP
128 
129       l_template_id  := NULL;
130       l_error_exists := FALSE;
131       l_column_name  := NULL;
132       l_message_name := NULL;
133       --l_transaction_type := cur.transaction_type;  --Bug: 4456453 Get transaction_id
134 
135       IF cur.template_id IS NULL AND  cur.template_name IS NOT NULL THEN
136 
137          OPEN  check_template_name(cur.template_name);
138 	 FETCH check_template_name INTO l_template_id,context_orgid;
139 	 CLOSE check_template_name;
140 
141 	 IF l_template_id IS NULL THEN
142             l_error_exists := TRUE;
143             l_column_name  := 'TEMPLATE_NAME/TEMPLATE_ID';
144             l_message_name := 'INV_TEMPLATE_ERROR';
145 	 END IF;
146 
147          IF context_orgid IS NOT NULL AND context_orgid <> cur.organization_id THEN
148             l_error_exists := TRUE;
149             l_column_name  := 'TEMPLATE_NAME/TEMPLATE_ID';
150             l_message_name := 'INV_ORG_TEMPLATE_ERROR';
151 	 END IF;
152 
153       ELSIF cur.template_id IS NOT NULL AND cur.template_id > 0  THEN
154 
155          OPEN  check_template_id(cur.template_id);
156 	 FETCH check_template_id INTO l_template_id,context_orgid;
157 	 CLOSE check_template_id;
158 
159 	 IF l_template_id IS NULL THEN
160             l_error_exists := TRUE;
161             l_column_name  := 'TEMPLATE_NAME/TEMPLATE_ID';
162             l_message_name := 'INV_TEMPLATE_ERROR';
163          END IF;
164 
165 	 IF context_orgid IS NOT NULL AND context_orgid <> cur.organization_id THEN
166             l_error_exists := TRUE;
167             l_column_name  := 'TEMPLATE_NAME/TEMPLATE_ID';
168             l_message_name := 'INV_ORG_TEMPLATE_ERROR';
169 	 END IF;
170 
171       ELSIF  (cur.template_id IS NULL)
172          AND (cur.TRANSACTION_TYPE = 'CREATE')
173          AND (cur.ITEM_CATALOG_GROUP_ID IS NOT NULL)
174 	 AND (INV_ITEM_UTIL.Appl_Inst_EGO > 0)
175 	 --AND (INV_ITEM_UTIL.Object_Exists(p_object_type => 'SYNONYM', p_object_name => 'EGO_CAT_GRP_TEMPLATES') = 'Y')
176 	 --end added for bug: 7033786
177          AND (l_ego_cat_grp_flag = 'Y')
178        -- Adding the below clause to prevent application of default templates in the case of SKU Item
179          AND ( cur.style_item_flag IS NULL OR cur.style_item_flag = 'Y')
180       THEN
181          --Bug 6282388
182          OPEN  isMasterOrg(cur.organization_id);
183 	 FETCH isMasterOrg INTO l_isMasterOrg;
184 	 CLOSE isMasterOrg;
185 	 IF ( l_isMasterOrg = 1 ) THEN
186             l_template_id := INV_EGO_REVISION_VALIDATE.get_default_template(cur.ITEM_CATALOG_GROUP_ID);
187 	 END IF;
188 
189       ELSIF (cur.template_id IS NULL)
190         AND (cur.TRANSACTION_TYPE = 'CREATE')
191         -- Adding the below clause to prevent application of default templates in the case of SKU Item
192         AND ( cur.style_item_flag IS NULL OR cur.style_item_flag = 'Y')
193       THEN
194          --Bug 6282388
195          OPEN  isMasterOrg(cur.organization_id);
196 	 FETCH isMasterOrg INTO l_isMasterOrg;
197 	 CLOSE isMasterOrg;
198 	 IF ( l_isMasterOrg = 1 ) THEN
199             INVPROFL.inv_pr_get_profile('INV',
200                                     'INV_ITEM_DEFAULT_TEMPLATE',
201                                      user_id,
202                                      -1,
203                                      -1,
204                                      l_template_id,
205                                      rtn_status,
206                                      err_text);
207 
208   	    IF rtn_status <> -9999 AND rtn_status <> 0 THEN
209                l_error_exists := TRUE;
210                l_column_name  := 'TEMPLATE_NAME/TEMPLATE_ID';
211                l_message_name := 'INV_TEMPLATE_ERROR';
212 	    END IF;
213 	 END IF;
214       END IF;
215 
216 
217       IF l_error_exists THEN
218 
219          UPDATE mtl_system_items_interface
220          SET    process_flag = 3
221          WHERE  rowid = cur.rowid ;
222 	 dumm_status := INVPUOPI.mtl_log_interface_err(
223                                 cur.organization_id,
224                                 user_id,
225                                 login_id,
226                                 prog_appid,
227                                 prog_id,
228                                 request_id,
229                                 cur.transaction_id,
230                                 err_text,
231 				l_column_name,
232                                 'MTL_SYSTEM_ITEMS_INTERFACE',
233                                 l_message_name,
234 				err_text);
235          if dumm_status < 0 then
236             raise LOGGING_ERR;
237          end if;
238 
239       ELSIF l_template_id IS NOT NULL AND l_template_id <> NVL (cur.template_id,0) THEN
240          UPDATE mtl_system_items_interface
241 	 SET    template_id = l_template_id
242 	 WHERE  rowid       = cur.rowid;
243       END IF;
244 
245    END LOOP;
246 
247    --We bulk collect distinct template Ids and update all the items
248    --with a template id in one go. template_id > 0 since, when called
249    --from ego_item_pub, it would have already applied the template.
250 
251    SELECT DISTINCT template_id, transaction_type BULK COLLECT INTO template_table, transaction_table
252    FROM   mtl_system_items_interface
253    WHERE process_flag = 1
254    AND   set_process_id = xset_id
255    AND  ((organization_id = org_id) or (all_org = 1))
256    AND  template_id > 0 ;
257 
258    IF template_table.COUNT > 0 THEN
259    FOR I IN template_table.FIRST .. template_table.LAST LOOP
260 
261      context_orgid := NULL;
262 
263      OPEN  check_template_id(template_table(i));
264      FETCH check_template_id INTO l_template_id,context_orgid;
265      CLOSE check_template_id;
266 
267      ------------------------------------
268      -- Set item record attribute values
269      ------------------------------------
270      AttRec := NULL;
271      FOR cr IN get_template_values(template_table(i)) LOOP
272 /*        if(transaction_table(i) = 'UPDATE') then Commented for bug 6394546 as this feature should work both for 'CREATE' and 'UPDATE' modes of IOI */
273            if cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCEPTABLE_EARLY_DAYS'             then AttRec.ACCEPTABLE_EARLY_DAYS  := nvl(cr.ATTRIBUTE_VALUE, -999999);
274            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCEPTABLE_RATE_DECREASE'       then AttRec.ACCEPTABLE_RATE_DECREASE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
275            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCEPTABLE_RATE_INCREASE'       then AttRec.ACCEPTABLE_RATE_INCREASE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
276 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCOUNTING_RULE_ID'             then AttRec.ACCOUNTING_RULE_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
277 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOWED_UNITS_LOOKUP_CODE'      then AttRec.ALLOWED_UNITS_LOOKUP_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
278 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_EXPRESS_DELIVERY_FLAG'    then AttRec.ALLOW_EXPRESS_DELIVERY_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
279 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_ITEM_DESC_UPDATE_FLAG'    then AttRec.ALLOW_ITEM_DESC_UPDATE_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
280 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_SUBSTITUTE_RECEIPTS_FLAG' then AttRec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
281 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_UNORDERED_RECEIPTS_FLAG'  then AttRec.ALLOW_UNORDERED_RECEIPTS_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
282 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ASSET_CATEGORY_ID'              then AttRec.ASSET_CATEGORY_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
283 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATP_COMPONENTS_FLAG'            then AttRec.ATP_COMPONENTS_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
284 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATP_FLAG'                       then AttRec.ATP_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
285 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATP_RULE_ID'                    then AttRec.ATP_RULE_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
286 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_LOT_ALPHA_PREFIX'          then AttRec.AUTO_LOT_ALPHA_PREFIX  := nvl(cr.ATTRIBUTE_VALUE, '!');
287 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_REDUCE_MPS'                then AttRec.AUTO_REDUCE_MPS  := nvl(cr.ATTRIBUTE_VALUE, -999999);
288 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_SERIAL_ALPHA_PREFIX'       then AttRec.AUTO_SERIAL_ALPHA_PREFIX  := nvl(cr.ATTRIBUTE_VALUE, '!');
289 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BOM_ENABLED_FLAG'               then AttRec.BOM_ENABLED_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
290 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BOM_ITEM_TYPE'                  then AttRec.BOM_ITEM_TYPE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
291 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BUILD_IN_WIP_FLAG'              then AttRec.BUILD_IN_WIP_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
292 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BUYER_ID'                       then AttRec.BUYER_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
293 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CARRYING_COST'                  then AttRec.CARRYING_COST  := nvl(cr.ATTRIBUTE_VALUE, -999999);
294 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COLLATERAL_FLAG'                then AttRec.COLLATERAL_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
295 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COSTING_ENABLED_FLAG'           then AttRec.COSTING_ENABLED_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
296 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COVERAGE_SCHEDULE_ID'           then AttRec.COVERAGE_SCHEDULE_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
297 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUMULATIVE_TOTAL_LEAD_TIME'     then AttRec.CUMULATIVE_TOTAL_LEAD_TIME  := nvl(cr.ATTRIBUTE_VALUE, -999999);
298 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUM_MANUFACTURING_LEAD_TIME'    then AttRec.CUM_MANUFACTURING_LEAD_TIME  := nvl(cr.ATTRIBUTE_VALUE, -999999);
299 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_ENABLED_FLAG'    then AttRec.CUSTOMER_ORDER_ENABLED_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
300 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_FLAG'            then AttRec.CUSTOMER_ORDER_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
301 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CYCLE_COUNT_ENABLED_FLAG'       then AttRec.CYCLE_COUNT_ENABLED_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
302 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_EARLY_RECEIPT_ALLOWED'     then AttRec.DAYS_EARLY_RECEIPT_ALLOWED  := nvl(cr.ATTRIBUTE_VALUE, -999999);
306 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEMAND_TIME_FENCE_CODE'         then AttRec.DEMAND_TIME_FENCE_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
303 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_LATE_RECEIPT_ALLOWED'      then AttRec.DAYS_LATE_RECEIPT_ALLOWED  := nvl(cr.ATTRIBUTE_VALUE, -999999);
304 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_INCLUDE_IN_ROLLUP_FLAG' then AttRec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
305 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_SHIPPING_ORG'           then AttRec.DEFAULT_SHIPPING_ORG  := nvl(cr.ATTRIBUTE_VALUE, -999999);
307 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEMAND_TIME_FENCE_DAYS'         then AttRec.DEMAND_TIME_FENCE_DAYS  := nvl(cr.ATTRIBUTE_VALUE, -999999);
308 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.END_ASSEMBLY_PEGGING_FLAG'      then AttRec.END_ASSEMBLY_PEGGING_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
309 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ENFORCE_SHIP_TO_LOCATION_CODE'  then AttRec.ENFORCE_SHIP_TO_LOCATION_CODE  := nvl(cr.ATTRIBUTE_VALUE, '!');
310 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPENSE_ACCOUNT'                then AttRec.EXPENSE_ACCOUNT  := nvl(cr.ATTRIBUTE_VALUE, -999999);
311 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPENSE_BILLABLE_FLAG'          then AttRec.EXPENSE_BILLABLE_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
312 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_DAYS_SUPPLY'              then AttRec.FIXED_DAYS_SUPPLY  := nvl(cr.ATTRIBUTE_VALUE, -999999);
313 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_LEAD_TIME'                then AttRec.FIXED_LEAD_TIME  := nvl(cr.ATTRIBUTE_VALUE, -999999);
314 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_LOT_MULTIPLIER'           then AttRec.FIXED_LOT_MULTIPLIER  := nvl(cr.ATTRIBUTE_VALUE, -999999);
315 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_ORDER_QUANTITY'           then AttRec.FIXED_ORDER_QUANTITY  := nvl(cr.ATTRIBUTE_VALUE, -999999);
316 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FULL_LEAD_TIME'                 then AttRec.FULL_LEAD_TIME  := nvl(cr.ATTRIBUTE_VALUE, -999999);
317 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.HAZARD_CLASS_ID'                then AttRec.HAZARD_CLASS_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
318 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INSPECTION_REQUIRED_FLAG'       then AttRec.INSPECTION_REQUIRED_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
319 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_ENABLED_FLAG'    then AttRec.INTERNAL_ORDER_ENABLED_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
320 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_FLAG'            then AttRec.INTERNAL_ORDER_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
321 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_ASSET_FLAG'           then AttRec.INVENTORY_ASSET_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
322 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_ITEM_FLAG'            then AttRec.INVENTORY_ITEM_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
323 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_ITEM_STATUS_CODE'     then AttRec.INVENTORY_ITEM_STATUS_CODE  := nvl(cr.ATTRIBUTE_VALUE, '!');
324 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_PLANNING_CODE'        then AttRec.INVENTORY_PLANNING_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
325 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICEABLE_ITEM_FLAG'          then AttRec.INVOICEABLE_ITEM_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
326 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICE_CLOSE_TOLERANCE'        then AttRec.INVOICE_CLOSE_TOLERANCE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
327 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICE_ENABLED_FLAG'           then AttRec.INVOICE_ENABLED_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
328 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICING_RULE_ID'              then AttRec.INVOICING_RULE_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
329 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ITEM_TYPE'                      then AttRec.ITEM_TYPE  := nvl(cr.ATTRIBUTE_VALUE, '!');
330 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LEAD_TIME_LOT_SIZE'             then AttRec.LEAD_TIME_LOT_SIZE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
331 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LIST_PRICE_PER_UNIT'            then AttRec.LIST_PRICE_PER_UNIT  := nvl(cr.ATTRIBUTE_VALUE, -999999);
332 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOCATION_CONTROL_CODE'          then AttRec.LOCATION_CONTROL_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
333 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_CONTROL_CODE'               then AttRec.LOT_CONTROL_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
334 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MARKET_PRICE'                   then AttRec.MARKET_PRICE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
335 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MATERIAL_BILLABLE_FLAG'         then AttRec.MATERIAL_BILLABLE_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
336 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAXIMUM_ORDER_QUANTITY'         then AttRec.MAXIMUM_ORDER_QUANTITY  := nvl(cr.ATTRIBUTE_VALUE, -999999);
337 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAX_MINMAX_QUANTITY'            then AttRec.MAX_MINMAX_QUANTITY  := nvl(cr.ATTRIBUTE_VALUE, -999999);
338 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAX_WARRANTY_AMOUNT'            then AttRec.MAX_WARRANTY_AMOUNT  := nvl(cr.ATTRIBUTE_VALUE, -999999);
339 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MINIMUM_ORDER_QUANTITY'         then AttRec.MINIMUM_ORDER_QUANTITY  := nvl(cr.ATTRIBUTE_VALUE, -999999);
340 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MIN_MINMAX_QUANTITY'            then AttRec.MIN_MINMAX_QUANTITY  := nvl(cr.ATTRIBUTE_VALUE, -999999);
341 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_CALCULATE_ATP_FLAG'         then AttRec.MRP_CALCULATE_ATP_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
342 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_PLANNING_CODE'              then AttRec.MRP_PLANNING_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
343 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_SAFETY_STOCK_CODE'          then AttRec.MRP_SAFETY_STOCK_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
344 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_SAFETY_STOCK_PERCENT'       then AttRec.MRP_SAFETY_STOCK_PERCENT  := nvl(cr.ATTRIBUTE_VALUE, -999999);
348 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.NEW_REVISION_CODE'              then AttRec.NEW_REVISION_CODE  := nvl(cr.ATTRIBUTE_VALUE, '!');
345 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MTL_TRANSACTIONS_ENABLED_FLAG'  then AttRec.MTL_TRANSACTIONS_ENABLED_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
346 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MUST_USE_APPROVED_VENDOR_FLAG'  then AttRec.MUST_USE_APPROVED_VENDOR_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
347 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.NEGATIVE_MEASUREMENT_ERROR'     then AttRec.NEGATIVE_MEASUREMENT_ERROR  := nvl(cr.ATTRIBUTE_VALUE, -999999);
349 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ORDER_COST'                     then AttRec.ORDER_COST  := nvl(cr.ATTRIBUTE_VALUE, -999999);
350 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OUTSIDE_OPERATION_FLAG'         then AttRec.OUTSIDE_OPERATION_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
351 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OUTSIDE_OPERATION_UOM_TYPE'     then AttRec.OUTSIDE_OPERATION_UOM_TYPE  := nvl(cr.ATTRIBUTE_VALUE, '!');
352 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVERRUN_PERCENTAGE'             then AttRec.OVERRUN_PERCENTAGE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
353 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PAYMENT_TERMS_ID'               then AttRec.PAYMENT_TERMS_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
354 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PICKING_RULE_ID'                then AttRec.PICKING_RULE_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
355 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PICK_COMPONENTS_FLAG'           then AttRec.PICK_COMPONENTS_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
356 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_MAKE_BUY_CODE'         then AttRec.PLANNING_MAKE_BUY_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
357 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_TIME_FENCE_CODE'       then AttRec.PLANNING_TIME_FENCE_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
358 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_TIME_FENCE_DAYS'       then AttRec.PLANNING_TIME_FENCE_DAYS  := nvl(cr.ATTRIBUTE_VALUE, -999999);
359 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.POSITIVE_MEASUREMENT_ERROR'     then AttRec.POSITIVE_MEASUREMENT_ERROR  := nvl(cr.ATTRIBUTE_VALUE, -999999);
360 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.POSTPROCESSING_LEAD_TIME'       then AttRec.POSTPROCESSING_LEAD_TIME  := nvl(cr.ATTRIBUTE_VALUE, -999999);
361 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PREPROCESSING_LEAD_TIME'        then AttRec.PREPROCESSING_LEAD_TIME  := nvl(cr.ATTRIBUTE_VALUE, -999999);
362 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PREVENTIVE_MAINTENANCE_FLAG'    then AttRec.PREVENTIVE_MAINTENANCE_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
363 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PRICE_TOLERANCE_PERCENT'        then AttRec.PRICE_TOLERANCE_PERCENT  := nvl(cr.ATTRIBUTE_VALUE, -999999);
364 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PRIMARY_SPECIALIST_ID'          then AttRec.PRIMARY_SPECIALIST_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
365 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PRORATE_SERVICE_FLAG'           then AttRec.PRORATE_SERVICE_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
366 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PURCHASING_ENABLED_FLAG'        then AttRec.PURCHASING_ENABLED_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
367 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PURCHASING_ITEM_FLAG'           then AttRec.PURCHASING_ITEM_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
368 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.QTY_RCV_EXCEPTION_CODE'         then AttRec.QTY_RCV_EXCEPTION_CODE  := nvl(cr.ATTRIBUTE_VALUE, '!');
369 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.QTY_RCV_TOLERANCE'              then AttRec.QTY_RCV_TOLERANCE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
370 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIPT_DAYS_EXCEPTION_CODE'    then AttRec.RECEIPT_DAYS_EXCEPTION_CODE  := nvl(cr.ATTRIBUTE_VALUE, '!');
371 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIPT_REQUIRED_FLAG'          then AttRec.RECEIPT_REQUIRED_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
372 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIVE_CLOSE_TOLERANCE'        then AttRec.RECEIVE_CLOSE_TOLERANCE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
373 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIVING_ROUTING_ID'           then AttRec.RECEIVING_ROUTING_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
374 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPETITIVE_PLANNING_FLAG'       then AttRec.REPETITIVE_PLANNING_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
375 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPLENISH_TO_ORDER_FLAG'        then AttRec.REPLENISH_TO_ORDER_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
376 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESERVABLE_TYPE'                then AttRec.RESERVABLE_TYPE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
377 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESPONSE_TIME_PERIOD_CODE'      then AttRec.RESPONSE_TIME_PERIOD_CODE  := nvl(cr.ATTRIBUTE_VALUE, '!');
378 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESPONSE_TIME_VALUE'            then AttRec.RESPONSE_TIME_VALUE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
379 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESTRICT_LOCATORS_CODE'         then AttRec.RESTRICT_LOCATORS_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
380 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESTRICT_SUBINVENTORIES_CODE'   then AttRec.RESTRICT_SUBINVENTORIES_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
381 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RETURNABLE_FLAG'                then AttRec.RETURNABLE_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
382 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RETURN_INSPECTION_REQUIREMENT'  then AttRec.RETURN_INSPECTION_REQUIREMENT  := nvl(cr.ATTRIBUTE_VALUE, -999999);
383 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REVISION_QTY_CONTROL_CODE'      then AttRec.REVISION_QTY_CONTROL_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
384 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RFQ_REQUIRED_FLAG'              then AttRec.RFQ_REQUIRED_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
385 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ROUNDING_CONTROL_TYPE'          then AttRec.ROUNDING_CONTROL_TYPE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
386 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ROUNDING_FACTOR'                then AttRec.ROUNDING_FACTOR  := nvl(cr.ATTRIBUTE_VALUE, -999999);
390 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICEABLE_COMPONENT_FLAG'     then AttRec.SERVICEABLE_COMPONENT_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
387 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SAFETY_STOCK_BUCKET_DAYS'       then AttRec.SAFETY_STOCK_BUCKET_DAYS  := nvl(cr.ATTRIBUTE_VALUE, -999999);
388 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SECONDARY_SPECIALIST_ID'        then AttRec.SECONDARY_SPECIALIST_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
389 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERIAL_NUMBER_CONTROL_CODE'     then AttRec.SERIAL_NUMBER_CONTROL_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
391 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICEABLE_ITEM_CLASS_ID'      then AttRec.SERVICEABLE_ITEM_CLASS_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
392 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICEABLE_PRODUCT_FLAG'       then AttRec.SERVICEABLE_PRODUCT_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
393 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICE_DURATION'               then AttRec.SERVICE_DURATION  := nvl(cr.ATTRIBUTE_VALUE, -999999);
394 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICE_DURATION_PERIOD_CODE'   then AttRec.SERVICE_DURATION_PERIOD_CODE  := nvl(cr.ATTRIBUTE_VALUE, '!');
395 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICE_STARTING_DELAY'         then AttRec.SERVICE_STARTING_DELAY  := nvl(cr.ATTRIBUTE_VALUE, -999999);
396 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHELF_LIFE_CODE'                then AttRec.SHELF_LIFE_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
397 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHELF_LIFE_DAYS'                then AttRec.SHELF_LIFE_DAYS  := nvl(cr.ATTRIBUTE_VALUE, -999999);
398 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHIPPABLE_ITEM_FLAG'            then AttRec.SHIPPABLE_ITEM_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
399 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHIP_MODEL_COMPLETE_FLAG'       then AttRec.SHIP_MODEL_COMPLETE_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
400 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHRINKAGE_RATE'                 then AttRec.SHRINKAGE_RATE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
401 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SOURCE_ORGANIZATION_ID'         then AttRec.SOURCE_ORGANIZATION_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
402 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SOURCE_SUBINVENTORY'            then AttRec.SOURCE_SUBINVENTORY  := nvl(cr.ATTRIBUTE_VALUE, '!');
403 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SOURCE_TYPE'                    then AttRec.SOURCE_TYPE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
404 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SO_TRANSACTIONS_FLAG'           then AttRec.SO_TRANSACTIONS_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
405 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.START_AUTO_LOT_NUMBER'          then AttRec.START_AUTO_LOT_NUMBER  := nvl(cr.ATTRIBUTE_VALUE, '!');
406 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.START_AUTO_SERIAL_NUMBER'       then AttRec.START_AUTO_SERIAL_NUMBER  := nvl(cr.ATTRIBUTE_VALUE, '!');
407 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.STD_LOT_SIZE'                   then AttRec.STD_LOT_SIZE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
408 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.STOCK_ENABLED_FLAG'             then AttRec.STOCK_ENABLED_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
409 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TAXABLE_FLAG'                   then AttRec.TAXABLE_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
410 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PURCHASING_TAX_CODE'            then AttRec.PURCHASING_TAX_CODE := nvl(cr.ATTRIBUTE_VALUE, '!');
411 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TAX_CODE'                       then AttRec.TAX_CODE  := nvl(cr.ATTRIBUTE_VALUE, '!');
412 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TIME_BILLABLE_FLAG'             then AttRec.TIME_BILLABLE_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
413 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_OF_ISSUE'                  then AttRec.UNIT_OF_ISSUE  := nvl(cr.ATTRIBUTE_VALUE, '!');
414 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_VOLUME'                    then AttRec.UNIT_VOLUME  := nvl(cr.ATTRIBUTE_VALUE, -999999);
415 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_WEIGHT'                    then AttRec.UNIT_WEIGHT  := nvl(cr.ATTRIBUTE_VALUE, -999999);
416 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UN_NUMBER_ID'                   then AttRec.UN_NUMBER_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
417 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VARIABLE_LEAD_TIME'             then AttRec.VARIABLE_LEAD_TIME  := nvl(cr.ATTRIBUTE_VALUE, -999999);
418 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VOLUME_UOM_CODE'                then AttRec.VOLUME_UOM_CODE  := nvl(cr.ATTRIBUTE_VALUE, '!');
419 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WARRANTY_VENDOR_ID'             then AttRec.WARRANTY_VENDOR_ID  := nvl(cr.ATTRIBUTE_VALUE, -999999);
420 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WEIGHT_UOM_CODE'                then AttRec.WEIGHT_UOM_CODE  := nvl(cr.ATTRIBUTE_VALUE, '!');
421 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_TYPE'                then AttRec.WIP_SUPPLY_TYPE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
422 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATO_FORECAST_CONTROL'           then AttRec.ATO_FORECAST_CONTROL  := nvl(cr.ATTRIBUTE_VALUE, -999999);
423 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DESCRIPTION'                    then AttRec.DESCRIPTION  := nvl(cr.ATTRIBUTE_VALUE, '!');
424 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RELEASE_TIME_FENCE_CODE'        then AttRec.RELEASE_TIME_FENCE_CODE  := nvl(cr.ATTRIBUTE_VALUE, -999999);
425 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RELEASE_TIME_FENCE_DAYS'        then AttRec.RELEASE_TIME_FENCE_DAYS  := nvl(cr.ATTRIBUTE_VALUE, -999999);
426 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTAINER_ITEM_FLAG'            then AttRec.CONTAINER_ITEM_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
427 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTAINER_TYPE_CODE'            then AttRec.CONTAINER_TYPE_CODE  := nvl(cr.ATTRIBUTE_VALUE, '!');
428 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INTERNAL_VOLUME'                then AttRec.INTERNAL_VOLUME  := nvl(cr.ATTRIBUTE_VALUE, -999999);
429 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAXIMUM_LOAD_WEIGHT'            then AttRec.MAXIMUM_LOAD_WEIGHT  := nvl(cr.ATTRIBUTE_VALUE, -999999);
433 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EFFECTIVITY_CONTROL'            then AttRec.EFFECTIVITY_CONTROL  := nvl(cr.ATTRIBUTE_VALUE, -999999);
430 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MINIMUM_FILL_PERCENT'           then AttRec.MINIMUM_FILL_PERCENT  := nvl(cr.ATTRIBUTE_VALUE, -999999);
431 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VEHICLE_ITEM_FLAG'              then AttRec.VEHICLE_ITEM_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
432 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHECK_SHORTAGES_FLAG'           then AttRec.CHECK_SHORTAGES_FLAG  := nvl(cr.ATTRIBUTE_VALUE, '!');
434            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVERCOMPLETION_TOLERANCE_TYPE'  then AttRec.OVERCOMPLETION_TOLERANCE_TYPE := nvl(cr.ATTRIBUTE_VALUE, -999999);
435            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVERCOMPLETION_TOLERANCE_VALUE' then AttRec.OVERCOMPLETION_TOLERANCE_VALUE := nvl(cr.ATTRIBUTE_VALUE, -999999);
436            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVER_SHIPMENT_TOLERANCE'        then AttRec.OVER_SHIPMENT_TOLERANCE := nvl(cr.ATTRIBUTE_VALUE, -999999);
437            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNDER_SHIPMENT_TOLERANCE'       then AttRec.UNDER_SHIPMENT_TOLERANCE := nvl(cr.ATTRIBUTE_VALUE, -999999);
438            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVER_RETURN_TOLERANCE'          then AttRec.OVER_RETURN_TOLERANCE := nvl(cr.ATTRIBUTE_VALUE, -999999);
439            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNDER_RETURN_TOLERANCE'         then AttRec.UNDER_RETURN_TOLERANCE := nvl(cr.ATTRIBUTE_VALUE, -999999);
440            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EQUIPMENT_TYPE'                 then AttRec.EQUIPMENT_TYPE := nvl(cr.ATTRIBUTE_VALUE, -999999);
441            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECOVERED_PART_DISP_CODE'       then AttRec.RECOVERED_PART_DISP_CODE := nvl(cr.ATTRIBUTE_VALUE, '!');
442            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFECT_TRACKING_ON_FLAG'        then AttRec.DEFECT_TRACKING_ON_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
443            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EVENT_FLAG'                     then AttRec.EVENT_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
444            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ELECTRONIC_FLAG'                then AttRec.ELECTRONIC_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
445            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DOWNLOADABLE_FLAG'              then AttRec.DOWNLOADABLE_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
446            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VOL_DISCOUNT_EXEMPT_FLAG'       then AttRec.VOL_DISCOUNT_EXEMPT_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
447            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COUPON_EXEMPT_FLAG'             then AttRec.COUPON_EXEMPT_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
448            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COMMS_NL_TRACKABLE_FLAG'        then AttRec.COMMS_NL_TRACKABLE_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
449            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ASSET_CREATION_CODE'            then AttRec.ASSET_CREATION_CODE := nvl(cr.ATTRIBUTE_VALUE, '!');
450            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COMMS_ACTIVATION_REQD_FLAG'     then AttRec.COMMS_ACTIVATION_REQD_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
451            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ORDERABLE_ON_WEB_FLAG'          then AttRec.ORDERABLE_ON_WEB_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
452            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BACK_ORDERABLE_FLAG'            then AttRec.BACK_ORDERABLE_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
453            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WEB_STATUS'                     then AttRec.WEB_STATUS := nvl(cr.ATTRIBUTE_VALUE, '!');
454            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INDIVISIBLE_FLAG'               then AttRec.INDIVISIBLE_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
455            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DIMENSION_UOM_CODE'             then AttRec.DIMENSION_UOM_CODE := nvl(cr.ATTRIBUTE_VALUE, '!');
456            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_LENGTH'                    then AttRec.UNIT_LENGTH := nvl(cr.ATTRIBUTE_VALUE, -999999);
457            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_WIDTH'                     then AttRec.UNIT_WIDTH := nvl(cr.ATTRIBUTE_VALUE, -999999);
458            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_HEIGHT'                    then AttRec.UNIT_HEIGHT := nvl(cr.ATTRIBUTE_VALUE, -999999);
459            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BULK_PICKED_FLAG'               then AttRec.BULK_PICKED_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
460            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_STATUS_ENABLED'             then AttRec.LOT_STATUS_ENABLED := nvl(cr.ATTRIBUTE_VALUE, '!');
461            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_LOT_STATUS_ID'          then AttRec.DEFAULT_LOT_STATUS_ID := nvl(cr.ATTRIBUTE_VALUE, -999999);
462            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERIAL_STATUS_ENABLED'          then AttRec.SERIAL_STATUS_ENABLED := nvl(cr.ATTRIBUTE_VALUE, '!');
463            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_SERIAL_STATUS_ID'       then AttRec.DEFAULT_SERIAL_STATUS_ID := nvl(cr.ATTRIBUTE_VALUE, -999999);
464            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_SPLIT_ENABLED'              then AttRec.LOT_SPLIT_ENABLED := nvl(cr.ATTRIBUTE_VALUE, '!');
465            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_MERGE_ENABLED'              then AttRec.LOT_MERGE_ENABLED := nvl(cr.ATTRIBUTE_VALUE, '!');
466            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_CARRY_PENALTY'        then AttRec.INVENTORY_CARRY_PENALTY := nvl(cr.ATTRIBUTE_VALUE, -999999);
467            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OPERATION_SLACK_PENALTY'        then AttRec.OPERATION_SLACK_PENALTY := nvl(cr.ATTRIBUTE_VALUE, -999999);
468            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FINANCING_ALLOWED_FLAG'         then AttRec.FINANCING_ALLOWED_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
469            -- Primary Unit of Measure is now maintained via the PRIMARY_UOM_CODE column.
470            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PRIMARY_UOM_CODE'               then AttRec.PRIMARY_UOM_CODE := nvl(cr.ATTRIBUTE_VALUE, '!');
471            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ITEM_TYPE'                  then AttRec.EAM_ITEM_TYPE := nvl(cr.ATTRIBUTE_VALUE, -999999);
475            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACT_SHUTDOWN_STATUS'        then AttRec.EAM_ACT_SHUTDOWN_STATUS := nvl(cr.ATTRIBUTE_VALUE, '!');
472            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACTIVITY_TYPE_CODE'         then AttRec.EAM_ACTIVITY_TYPE_CODE := nvl(cr.ATTRIBUTE_VALUE, '!');
473            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACTIVITY_CAUSE_CODE'        then AttRec.EAM_ACTIVITY_CAUSE_CODE := nvl(cr.ATTRIBUTE_VALUE, '!');
474            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACT_NOTIFICATION_FLAG'      then AttRec.EAM_ACT_NOTIFICATION_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
476            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DUAL_UOM_CONTROL'               then AttRec.DUAL_UOM_CONTROL := nvl(cr.ATTRIBUTE_VALUE, -999999);
477            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SECONDARY_UOM_CODE'             then AttRec.SECONDARY_UOM_CODE := nvl(cr.ATTRIBUTE_VALUE, '!');
478            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DUAL_UOM_DEVIATION_HIGH'        then AttRec.DUAL_UOM_DEVIATION_HIGH := nvl(cr.ATTRIBUTE_VALUE, -999999);
479            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DUAL_UOM_DEVIATION_LOW'         then AttRec.DUAL_UOM_DEVIATION_LOW := nvl(cr.ATTRIBUTE_VALUE, -999999);
480            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTRACT_ITEM_TYPE_CODE'        then AttRec.CONTRACT_ITEM_TYPE_CODE := nvl(cr.ATTRIBUTE_VALUE, '!');
481            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERV_REQ_ENABLED_CODE'          then AttRec.SERV_REQ_ENABLED_CODE := nvl(cr.ATTRIBUTE_VALUE, '!');
482            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERV_BILLING_ENABLED_FLAG'      then AttRec.SERV_BILLING_ENABLED_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
483            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNED_INV_POINT_FLAG'         then AttRec.PLANNED_INV_POINT_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
484            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_TRANSLATE_ENABLED'          then AttRec.LOT_TRANSLATE_ENABLED := nvl(cr.ATTRIBUTE_VALUE, '!');
485            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_SO_SOURCE_TYPE'         then AttRec.DEFAULT_SO_SOURCE_TYPE := nvl(cr.ATTRIBUTE_VALUE, '!');
486            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CREATE_SUPPLY_FLAG'             then AttRec.CREATE_SUPPLY_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
487            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SUBSTITUTION_WINDOW_CODE'       then AttRec.SUBSTITUTION_WINDOW_CODE := nvl(cr.ATTRIBUTE_VALUE, -999999);
488            -- UT bug fix 4654527
489            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SUBSTITUTION_WINDOW_DAYS'       then AttRec.SUBSTITUTION_WINDOW_DAYS := nvl(cr.ATTRIBUTE_VALUE, -999999);
490 	   -- Added as part of 11.5.9 ENH
491            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_SUBSTITUTION_ENABLED'       then AttRec.LOT_SUBSTITUTION_ENABLED := nvl(cr.ATTRIBUTE_VALUE, '!');
492            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MINIMUM_LICENSE_QUANTITY'       then AttRec.MINIMUM_LICENSE_QUANTITY := nvl(cr.ATTRIBUTE_VALUE, -999999);
493            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACTIVITY_SOURCE_CODE'       then AttRec.EAM_ACTIVITY_SOURCE_CODE := nvl(cr.ATTRIBUTE_VALUE, '!');
494            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.IB_ITEM_INSTANCE_CLASS'         then AttRec.IB_ITEM_INSTANCE_CLASS := nvl(cr.ATTRIBUTE_VALUE, '!');
495            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONFIG_MODEL_TYPE'              then AttRec.CONFIG_MODEL_TYPE := nvl(cr.ATTRIBUTE_VALUE, '!');
496            -- Added as part of 11.5.10 ENH
497            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TRACKING_QUANTITY_IND'          then AttRec.TRACKING_QUANTITY_IND := nvl(cr.ATTRIBUTE_VALUE, '!');
498            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ONT_PRICING_QTY_SOURCE'         then AttRec.ONT_PRICING_QTY_SOURCE := nvl(cr.ATTRIBUTE_VALUE, '!');
499            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SECONDARY_DEFAULT_IND'          then AttRec.SECONDARY_DEFAULT_IND := nvl(cr.ATTRIBUTE_VALUE, '!');
500            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_CREATED_CONFIG_FLAG'       then AttRec.AUTO_CREATED_CONFIG_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
501            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONFIG_ORGS'                    then AttRec.CONFIG_ORGS := nvl(cr.ATTRIBUTE_VALUE, '!');
502            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONFIG_MATCH'                   then AttRec.CONFIG_MATCH := nvl(cr.ATTRIBUTE_VALUE, '!');
503 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MINIMUM_UNITS'              then AttRec.VMI_MINIMUM_UNITS := nvl(cr.ATTRIBUTE_VALUE, -999999);
504 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MINIMUM_DAYS'               then AttRec.VMI_MINIMUM_DAYS := nvl(cr.ATTRIBUTE_VALUE, -999999);
505 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MAXIMUM_UNITS'              then AttRec.VMI_MAXIMUM_UNITS := nvl(cr.ATTRIBUTE_VALUE, -999999);
506 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MAXIMUM_DAYS'               then AttRec.VMI_MAXIMUM_DAYS := nvl(cr.ATTRIBUTE_VALUE, -999999);
507 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_FIXED_ORDER_QUANTITY'       then AttRec.VMI_FIXED_ORDER_QUANTITY := nvl(cr.ATTRIBUTE_VALUE, -999999);
508 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SO_AUTHORIZATION_FLAG'          then AttRec.SO_AUTHORIZATION_FLAG := nvl(cr.ATTRIBUTE_VALUE, -999999);
509 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONSIGNED_FLAG'                 then AttRec.CONSIGNED_FLAG := nvl(cr.ATTRIBUTE_VALUE, -999999);
510 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ASN_AUTOEXPIRE_FLAG'            then AttRec.ASN_AUTOEXPIRE_FLAG := nvl(cr.ATTRIBUTE_VALUE, -999999);
511 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_FORECAST_TYPE'              then AttRec.VMI_FORECAST_TYPE := nvl(cr.ATTRIBUTE_VALUE, -999999);
512 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FORECAST_HORIZON'               then AttRec.FORECAST_HORIZON := nvl(cr.ATTRIBUTE_VALUE, -999999);
513 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXCLUDE_FROM_BUDGET_FLAG'       then AttRec.EXCLUDE_FROM_BUDGET_FLAG := nvl(cr.ATTRIBUTE_VALUE, -999999);
514 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_TGT_INV_SUPPLY'            then AttRec.DAYS_TGT_INV_SUPPLY := nvl(cr.ATTRIBUTE_VALUE, -999999);
515 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_TGT_INV_WINDOW'            then AttRec.DAYS_TGT_INV_WINDOW := nvl(cr.ATTRIBUTE_VALUE, -999999);
519 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CRITICAL_COMPONENT_FLAG'        then AttRec.CRITICAL_COMPONENT_FLAG := nvl(cr.ATTRIBUTE_VALUE, -999999);
516 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_MAX_INV_SUPPLY'            then AttRec.DAYS_MAX_INV_SUPPLY := nvl(cr.ATTRIBUTE_VALUE, -999999);
517 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_MAX_INV_WINDOW'            then AttRec.DAYS_MAX_INV_WINDOW := nvl(cr.ATTRIBUTE_VALUE, -999999);
518 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DRP_PLANNED_FLAG'               then AttRec.DRP_PLANNED_FLAG := nvl(cr.ATTRIBUTE_VALUE, -999999);
520 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTINOUS_TRANSFER'             then AttRec.CONTINOUS_TRANSFER := nvl(cr.ATTRIBUTE_VALUE, -999999);
521 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONVERGENCE'                    then AttRec.CONVERGENCE := nvl(cr.ATTRIBUTE_VALUE, -999999);
522 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DIVERGENCE'                     then AttRec.DIVERGENCE := nvl(cr.ATTRIBUTE_VALUE, -999999);
523 	   /* Start Bug 3713912 */
524 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_DIVISIBLE_FLAG'                     then AttRec.LOT_DIVISIBLE_FLAG		  := nvl(cr.ATTRIBUTE_VALUE, '!');
525            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.GRADE_CONTROL_FLAG'                     then AttRec.GRADE_CONTROL_FLAG		  := nvl(cr.ATTRIBUTE_VALUE, '!');
526            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_GRADE'                          then AttRec.DEFAULT_GRADE		  := nvl(cr.ATTRIBUTE_VALUE, '!');
527            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_FLAG'                         then AttRec.CHILD_LOT_FLAG		  := nvl(cr.ATTRIBUTE_VALUE, '!');
528            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PARENT_CHILD_GENERATION_FLAG'           then AttRec.PARENT_CHILD_GENERATION_FLAG   := nvl(cr.ATTRIBUTE_VALUE, '!');
529            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_PREFIX'                       then AttRec.CHILD_LOT_PREFIX		  := nvl(cr.ATTRIBUTE_VALUE, '!');
530            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_STARTING_NUMBER'              then AttRec.CHILD_LOT_STARTING_NUMBER	  := nvl(cr.ATTRIBUTE_VALUE, -999999);
531            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_VALIDATION_FLAG'              then AttRec.CHILD_LOT_VALIDATION_FLAG	  := nvl(cr.ATTRIBUTE_VALUE, '!');
532            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COPY_LOT_ATTRIBUTE_FLAG'                then AttRec.COPY_LOT_ATTRIBUTE_FLAG	  := nvl(cr.ATTRIBUTE_VALUE, '!');
533            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECIPE_ENABLED_FLAG'                    then AttRec.RECIPE_ENABLED_FLAG	          := nvl(cr.ATTRIBUTE_VALUE, '!');
534            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_QUALITY_ENABLED_FLAG'           then AttRec.PROCESS_QUALITY_ENABLED_FLAG   := nvl(cr.ATTRIBUTE_VALUE, '!');
535            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_EXECUTION_ENABLED_FLAG'         then AttRec.PROCESS_EXECUTION_ENABLED_FLAG := nvl(cr.ATTRIBUTE_VALUE, '!');
536            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_COSTING_ENABLED_FLAG'           then AttRec.PROCESS_COSTING_ENABLED_FLAG   := nvl(cr.ATTRIBUTE_VALUE, '!');
537            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_SUPPLY_SUBINVENTORY'            then AttRec.PROCESS_SUPPLY_SUBINVENTORY    := nvl(cr.ATTRIBUTE_VALUE, '!');
538            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_SUPPLY_LOCATOR_ID'              then AttRec.PROCESS_SUPPLY_LOCATOR_ID	  := nvl(cr.ATTRIBUTE_VALUE, -999999);
539            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_YIELD_SUBINVENTORY'             then AttRec.PROCESS_YIELD_SUBINVENTORY	  := nvl(cr.ATTRIBUTE_VALUE, '!');
540            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_YIELD_LOCATOR_ID'               then AttRec.PROCESS_YIELD_LOCATOR_ID	  := nvl(cr.ATTRIBUTE_VALUE, -999999);
541            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.HAZARDOUS_MATERIAL_FLAG'                then AttRec.HAZARDOUS_MATERIAL_FLAG	  := nvl(cr.ATTRIBUTE_VALUE, '!');
542            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CAS_NUMBER'                             then AttRec.CAS_NUMBER			  := nvl(cr.ATTRIBUTE_VALUE, '!');
543            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RETEST_INTERVAL'                        then AttRec.RETEST_INTERVAL		  := nvl(cr.ATTRIBUTE_VALUE, -999999);
544            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPIRATION_ACTION_INTERVAL'             then AttRec.EXPIRATION_ACTION_INTERVAL	  := nvl(cr.ATTRIBUTE_VALUE, -999999);
545            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPIRATION_ACTION_CODE'                 then AttRec.EXPIRATION_ACTION_CODE	  := nvl(cr.ATTRIBUTE_VALUE, '!');
546            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MATURITY_DAYS'                          then AttRec.MATURITY_DAYS		  := nvl(cr.ATTRIBUTE_VALUE, -999999);
547            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.HOLD_DAYS'                              then AttRec.HOLD_DAYS			  := nvl(cr.ATTRIBUTE_VALUE, -999999);
548            /* End Bug 3713912 */
549 	   --Org specific attributes
550            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BASE_ITEM_ID'                           then AttRec.BASE_ITEM_ID                      := nvl(cr.ATTRIBUTE_VALUE, -999999);
551  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BASE_WARRANTY_SERVICE_ID'               then AttRec.BASE_WARRANTY_SERVICE_ID          := nvl(cr.ATTRIBUTE_VALUE, -999999);
552  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COST_OF_SALES_ACCOUNT'                  then AttRec.COST_OF_SALES_ACCOUNT             := nvl(cr.ATTRIBUTE_VALUE, -999999);
553  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ENCUMBRANCE_ACCOUNT'                    then AttRec.ENCUMBRANCE_ACCOUNT               := nvl(cr.ATTRIBUTE_VALUE, -999999);
554 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPENSE_ACCOUNT'                        then AttRec.EXPENSE_ACCOUNT                   := nvl(cr.ATTRIBUTE_VALUE, -999999);
555  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNER_CODE'                           then AttRec.PLANNER_CODE                      := nvl(cr.ATTRIBUTE_VALUE, '!');
556  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_EXCEPTION_SET'                 then AttRec.PLANNING_EXCEPTION_SET            := nvl(cr.ATTRIBUTE_VALUE, '!');
557  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SALES_ACCOUNT'                          then AttRec.SALES_ACCOUNT                     := nvl(cr.ATTRIBUTE_VALUE, -999999);
561            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHARGE_PERIODICITY_CODE'                then AttRec.CHARGE_PERIODICITY_CODE           := nvl(cr.ATTRIBUTE_VALUE, '!');
558  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_LOCATOR_ID'                  then AttRec.WIP_SUPPLY_LOCATOR_ID             := nvl(cr.ATTRIBUTE_VALUE, -999999);
559  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_SUBINVENTORY'                then AttRec.WIP_SUPPLY_SUBINVENTORY           := nvl(cr.ATTRIBUTE_VALUE, '!');
560 	   --R12 Enhancement
562            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPAIR_LEADTIME'                        then AttRec.REPAIR_LEADTIME                   := nvl(cr.ATTRIBUTE_VALUE, -999999);
563            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPAIR_YIELD'                           then AttRec.REPAIR_YIELD                      := nvl(cr.ATTRIBUTE_VALUE, -999999);
564            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PREPOSITION_POINT'                      then AttRec.PREPOSITION_POINT                 := nvl(cr.ATTRIBUTE_VALUE, '!');
565            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPAIR_PROGRAM'                         then AttRec.REPAIR_PROGRAM                    := nvl(cr.ATTRIBUTE_VALUE, -999999);
566            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SUBCONTRACTING_COMPONENT'               then AttRec.SUBCONTRACTING_COMPONENT          := nvl(cr.ATTRIBUTE_VALUE, -999999);
567            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OUTSOURCED_ASSEMBLY'                    then AttRec.OUTSOURCED_ASSEMBLY               := nvl(cr.ATTRIBUTE_VALUE, -999999);
568 	   end if;
569 /*	else   --Bug: 4456453 transaction type is 'CREATE'
570            if cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCEPTABLE_EARLY_DAYS'             then AttRec.ACCEPTABLE_EARLY_DAYS  := cr.ATTRIBUTE_VALUE;
571            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCEPTABLE_RATE_DECREASE'       then AttRec.ACCEPTABLE_RATE_DECREASE  := cr.ATTRIBUTE_VALUE;
572            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCEPTABLE_RATE_INCREASE'       then AttRec.ACCEPTABLE_RATE_INCREASE  := cr.ATTRIBUTE_VALUE;
573 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCOUNTING_RULE_ID'             then AttRec.ACCOUNTING_RULE_ID  := cr.ATTRIBUTE_VALUE;
574 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOWED_UNITS_LOOKUP_CODE'      then AttRec.ALLOWED_UNITS_LOOKUP_CODE  := cr.ATTRIBUTE_VALUE;
575 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_EXPRESS_DELIVERY_FLAG'    then AttRec.ALLOW_EXPRESS_DELIVERY_FLAG  := cr.ATTRIBUTE_VALUE;
576 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_ITEM_DESC_UPDATE_FLAG'    then AttRec.ALLOW_ITEM_DESC_UPDATE_FLAG  := cr.ATTRIBUTE_VALUE;
577 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_SUBSTITUTE_RECEIPTS_FLAG' then AttRec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG  := cr.ATTRIBUTE_VALUE;
578 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_UNORDERED_RECEIPTS_FLAG'  then AttRec.ALLOW_UNORDERED_RECEIPTS_FLAG  := cr.ATTRIBUTE_VALUE;
579 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ASSET_CATEGORY_ID'              then AttRec.ASSET_CATEGORY_ID  := cr.ATTRIBUTE_VALUE;
580 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATP_COMPONENTS_FLAG'            then AttRec.ATP_COMPONENTS_FLAG  := cr.ATTRIBUTE_VALUE;
581 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATP_FLAG'                       then AttRec.ATP_FLAG  := cr.ATTRIBUTE_VALUE;
582 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATP_RULE_ID'                    then AttRec.ATP_RULE_ID  := cr.ATTRIBUTE_VALUE;
583 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_LOT_ALPHA_PREFIX'          then AttRec.AUTO_LOT_ALPHA_PREFIX  := cr.ATTRIBUTE_VALUE;
584 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_REDUCE_MPS'                then AttRec.AUTO_REDUCE_MPS  := cr.ATTRIBUTE_VALUE;
585 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_SERIAL_ALPHA_PREFIX'       then AttRec.AUTO_SERIAL_ALPHA_PREFIX  := cr.ATTRIBUTE_VALUE;
586 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BOM_ENABLED_FLAG'               then AttRec.BOM_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
587 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BOM_ITEM_TYPE'                  then AttRec.BOM_ITEM_TYPE  := cr.ATTRIBUTE_VALUE;
588 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BUILD_IN_WIP_FLAG'              then AttRec.BUILD_IN_WIP_FLAG  := cr.ATTRIBUTE_VALUE;
589 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BUYER_ID'                       then AttRec.BUYER_ID  := cr.ATTRIBUTE_VALUE;
590 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CARRYING_COST'                  then AttRec.CARRYING_COST  := cr.ATTRIBUTE_VALUE;
591 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COLLATERAL_FLAG'                then AttRec.COLLATERAL_FLAG  := cr.ATTRIBUTE_VALUE;
592 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COSTING_ENABLED_FLAG'           then AttRec.COSTING_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
593 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COVERAGE_SCHEDULE_ID'           then AttRec.COVERAGE_SCHEDULE_ID  := cr.ATTRIBUTE_VALUE;
594 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUMULATIVE_TOTAL_LEAD_TIME'     then AttRec.CUMULATIVE_TOTAL_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
595 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUM_MANUFACTURING_LEAD_TIME'    then AttRec.CUM_MANUFACTURING_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
596 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_ENABLED_FLAG'    then AttRec.CUSTOMER_ORDER_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
597 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_FLAG'            then AttRec.CUSTOMER_ORDER_FLAG  := cr.ATTRIBUTE_VALUE;
598 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CYCLE_COUNT_ENABLED_FLAG'       then AttRec.CYCLE_COUNT_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
599 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_EARLY_RECEIPT_ALLOWED'     then AttRec.DAYS_EARLY_RECEIPT_ALLOWED  := cr.ATTRIBUTE_VALUE;
600 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_LATE_RECEIPT_ALLOWED'      then AttRec.DAYS_LATE_RECEIPT_ALLOWED  := cr.ATTRIBUTE_VALUE;
601 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_INCLUDE_IN_ROLLUP_FLAG' then AttRec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG  := cr.ATTRIBUTE_VALUE;
602 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_SHIPPING_ORG'           then AttRec.DEFAULT_SHIPPING_ORG  := cr.ATTRIBUTE_VALUE;
603 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEMAND_TIME_FENCE_CODE'         then AttRec.DEMAND_TIME_FENCE_CODE  := cr.ATTRIBUTE_VALUE;
607 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPENSE_ACCOUNT'                then AttRec.EXPENSE_ACCOUNT  := cr.ATTRIBUTE_VALUE;
604 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEMAND_TIME_FENCE_DAYS'         then AttRec.DEMAND_TIME_FENCE_DAYS  := cr.ATTRIBUTE_VALUE;
605 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.END_ASSEMBLY_PEGGING_FLAG'      then AttRec.END_ASSEMBLY_PEGGING_FLAG  := cr.ATTRIBUTE_VALUE;
606 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ENFORCE_SHIP_TO_LOCATION_CODE'  then AttRec.ENFORCE_SHIP_TO_LOCATION_CODE  := cr.ATTRIBUTE_VALUE;
608 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPENSE_BILLABLE_FLAG'          then AttRec.EXPENSE_BILLABLE_FLAG  := cr.ATTRIBUTE_VALUE;
609 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_DAYS_SUPPLY'              then AttRec.FIXED_DAYS_SUPPLY  := cr.ATTRIBUTE_VALUE;
610 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_LEAD_TIME'                then AttRec.FIXED_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
611 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_LOT_MULTIPLIER'           then AttRec.FIXED_LOT_MULTIPLIER  := cr.ATTRIBUTE_VALUE;
612 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_ORDER_QUANTITY'           then AttRec.FIXED_ORDER_QUANTITY  := cr.ATTRIBUTE_VALUE;
613 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FULL_LEAD_TIME'                 then AttRec.FULL_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
614 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.HAZARD_CLASS_ID'                then AttRec.HAZARD_CLASS_ID  := cr.ATTRIBUTE_VALUE;
615 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INSPECTION_REQUIRED_FLAG'       then AttRec.INSPECTION_REQUIRED_FLAG  := cr.ATTRIBUTE_VALUE;
616 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_ENABLED_FLAG'    then AttRec.INTERNAL_ORDER_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
617 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_FLAG'            then AttRec.INTERNAL_ORDER_FLAG  := cr.ATTRIBUTE_VALUE;
618 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_ASSET_FLAG'           then AttRec.INVENTORY_ASSET_FLAG  := cr.ATTRIBUTE_VALUE;
619 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_ITEM_FLAG'            then AttRec.INVENTORY_ITEM_FLAG  := cr.ATTRIBUTE_VALUE;
620 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_ITEM_STATUS_CODE'     then AttRec.INVENTORY_ITEM_STATUS_CODE  := cr.ATTRIBUTE_VALUE;
621 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_PLANNING_CODE'        then AttRec.INVENTORY_PLANNING_CODE  := cr.ATTRIBUTE_VALUE;
622 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICEABLE_ITEM_FLAG'          then AttRec.INVOICEABLE_ITEM_FLAG  := cr.ATTRIBUTE_VALUE;
623 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICE_CLOSE_TOLERANCE'        then AttRec.INVOICE_CLOSE_TOLERANCE  := cr.ATTRIBUTE_VALUE;
624 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICE_ENABLED_FLAG'           then AttRec.INVOICE_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
625 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICING_RULE_ID'              then AttRec.INVOICING_RULE_ID  := cr.ATTRIBUTE_VALUE;
626 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ITEM_TYPE'                      then AttRec.ITEM_TYPE  := cr.ATTRIBUTE_VALUE;
627 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LEAD_TIME_LOT_SIZE'             then AttRec.LEAD_TIME_LOT_SIZE  := cr.ATTRIBUTE_VALUE;
628 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LIST_PRICE_PER_UNIT'            then AttRec.LIST_PRICE_PER_UNIT  := cr.ATTRIBUTE_VALUE;
629 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOCATION_CONTROL_CODE'          then AttRec.LOCATION_CONTROL_CODE  := cr.ATTRIBUTE_VALUE;
630 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_CONTROL_CODE'               then AttRec.LOT_CONTROL_CODE  := cr.ATTRIBUTE_VALUE;
631 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MARKET_PRICE'                   then AttRec.MARKET_PRICE  := cr.ATTRIBUTE_VALUE;
632 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MATERIAL_BILLABLE_FLAG'         then AttRec.MATERIAL_BILLABLE_FLAG  := cr.ATTRIBUTE_VALUE;
633 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAXIMUM_ORDER_QUANTITY'         then AttRec.MAXIMUM_ORDER_QUANTITY  := cr.ATTRIBUTE_VALUE;
634 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAX_MINMAX_QUANTITY'            then AttRec.MAX_MINMAX_QUANTITY  := cr.ATTRIBUTE_VALUE;
635 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAX_WARRANTY_AMOUNT'            then AttRec.MAX_WARRANTY_AMOUNT  := cr.ATTRIBUTE_VALUE;
636 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MINIMUM_ORDER_QUANTITY'         then AttRec.MINIMUM_ORDER_QUANTITY  := cr.ATTRIBUTE_VALUE;
637 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MIN_MINMAX_QUANTITY'            then AttRec.MIN_MINMAX_QUANTITY  := cr.ATTRIBUTE_VALUE;
638 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_CALCULATE_ATP_FLAG'         then AttRec.MRP_CALCULATE_ATP_FLAG  := cr.ATTRIBUTE_VALUE;
639 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_PLANNING_CODE'              then AttRec.MRP_PLANNING_CODE  := cr.ATTRIBUTE_VALUE;
640 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_SAFETY_STOCK_CODE'          then AttRec.MRP_SAFETY_STOCK_CODE  := cr.ATTRIBUTE_VALUE;
641 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_SAFETY_STOCK_PERCENT'       then AttRec.MRP_SAFETY_STOCK_PERCENT  := cr.ATTRIBUTE_VALUE;
642 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MTL_TRANSACTIONS_ENABLED_FLAG'  then AttRec.MTL_TRANSACTIONS_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
643 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MUST_USE_APPROVED_VENDOR_FLAG'  then AttRec.MUST_USE_APPROVED_VENDOR_FLAG  := cr.ATTRIBUTE_VALUE;
644 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.NEGATIVE_MEASUREMENT_ERROR'     then AttRec.NEGATIVE_MEASUREMENT_ERROR  := cr.ATTRIBUTE_VALUE;
645 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.NEW_REVISION_CODE'              then AttRec.NEW_REVISION_CODE  := cr.ATTRIBUTE_VALUE;
646 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ORDER_COST'                     then AttRec.ORDER_COST  := cr.ATTRIBUTE_VALUE;
647 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OUTSIDE_OPERATION_FLAG'         then AttRec.OUTSIDE_OPERATION_FLAG  := cr.ATTRIBUTE_VALUE;
648 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OUTSIDE_OPERATION_UOM_TYPE'     then AttRec.OUTSIDE_OPERATION_UOM_TYPE  := cr.ATTRIBUTE_VALUE;
649 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVERRUN_PERCENTAGE'             then AttRec.OVERRUN_PERCENTAGE  := cr.ATTRIBUTE_VALUE;
653 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_MAKE_BUY_CODE'         then AttRec.PLANNING_MAKE_BUY_CODE  := cr.ATTRIBUTE_VALUE;
650 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PAYMENT_TERMS_ID'               then AttRec.PAYMENT_TERMS_ID  := cr.ATTRIBUTE_VALUE;
651 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PICKING_RULE_ID'                then AttRec.PICKING_RULE_ID  := cr.ATTRIBUTE_VALUE;
652 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PICK_COMPONENTS_FLAG'           then AttRec.PICK_COMPONENTS_FLAG  := cr.ATTRIBUTE_VALUE;
654 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_TIME_FENCE_CODE'       then AttRec.PLANNING_TIME_FENCE_CODE  := cr.ATTRIBUTE_VALUE;
655 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_TIME_FENCE_DAYS'       then AttRec.PLANNING_TIME_FENCE_DAYS  := cr.ATTRIBUTE_VALUE;
656 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.POSITIVE_MEASUREMENT_ERROR'     then AttRec.POSITIVE_MEASUREMENT_ERROR  := cr.ATTRIBUTE_VALUE;
657 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.POSTPROCESSING_LEAD_TIME'       then AttRec.POSTPROCESSING_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
658 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PREPROCESSING_LEAD_TIME'        then AttRec.PREPROCESSING_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
659 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PREVENTIVE_MAINTENANCE_FLAG'    then AttRec.PREVENTIVE_MAINTENANCE_FLAG  := cr.ATTRIBUTE_VALUE;
660 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PRICE_TOLERANCE_PERCENT'        then AttRec.PRICE_TOLERANCE_PERCENT  := cr.ATTRIBUTE_VALUE;
661 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PRIMARY_SPECIALIST_ID'          then AttRec.PRIMARY_SPECIALIST_ID  := cr.ATTRIBUTE_VALUE;
662 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PRORATE_SERVICE_FLAG'           then AttRec.PRORATE_SERVICE_FLAG  := cr.ATTRIBUTE_VALUE;
663 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PURCHASING_ENABLED_FLAG'        then AttRec.PURCHASING_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
664 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PURCHASING_ITEM_FLAG'           then AttRec.PURCHASING_ITEM_FLAG  := cr.ATTRIBUTE_VALUE;
665 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.QTY_RCV_EXCEPTION_CODE'         then AttRec.QTY_RCV_EXCEPTION_CODE  := cr.ATTRIBUTE_VALUE;
666 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.QTY_RCV_TOLERANCE'              then AttRec.QTY_RCV_TOLERANCE  := cr.ATTRIBUTE_VALUE;
667 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIPT_DAYS_EXCEPTION_CODE'    then AttRec.RECEIPT_DAYS_EXCEPTION_CODE  := cr.ATTRIBUTE_VALUE;
668 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIPT_REQUIRED_FLAG'          then AttRec.RECEIPT_REQUIRED_FLAG  := cr.ATTRIBUTE_VALUE;
669 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIVE_CLOSE_TOLERANCE'        then AttRec.RECEIVE_CLOSE_TOLERANCE  := cr.ATTRIBUTE_VALUE;
670 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIVING_ROUTING_ID'           then AttRec.RECEIVING_ROUTING_ID  := cr.ATTRIBUTE_VALUE;
671 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPETITIVE_PLANNING_FLAG'       then AttRec.REPETITIVE_PLANNING_FLAG  := cr.ATTRIBUTE_VALUE;
672 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPLENISH_TO_ORDER_FLAG'        then AttRec.REPLENISH_TO_ORDER_FLAG  := cr.ATTRIBUTE_VALUE;
673 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESERVABLE_TYPE'                then AttRec.RESERVABLE_TYPE  := cr.ATTRIBUTE_VALUE;
674 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESPONSE_TIME_PERIOD_CODE'      then AttRec.RESPONSE_TIME_PERIOD_CODE  := cr.ATTRIBUTE_VALUE;
675 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESPONSE_TIME_VALUE'            then AttRec.RESPONSE_TIME_VALUE  := cr.ATTRIBUTE_VALUE;
676 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESTRICT_LOCATORS_CODE'         then AttRec.RESTRICT_LOCATORS_CODE  := cr.ATTRIBUTE_VALUE;
677 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESTRICT_SUBINVENTORIES_CODE'   then AttRec.RESTRICT_SUBINVENTORIES_CODE  := cr.ATTRIBUTE_VALUE;
678 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RETURNABLE_FLAG'                then AttRec.RETURNABLE_FLAG  := cr.ATTRIBUTE_VALUE;
679 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RETURN_INSPECTION_REQUIREMENT'  then AttRec.RETURN_INSPECTION_REQUIREMENT  := cr.ATTRIBUTE_VALUE;
680 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REVISION_QTY_CONTROL_CODE'      then AttRec.REVISION_QTY_CONTROL_CODE  := cr.ATTRIBUTE_VALUE;
681 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RFQ_REQUIRED_FLAG'              then AttRec.RFQ_REQUIRED_FLAG  := cr.ATTRIBUTE_VALUE;
682 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ROUNDING_CONTROL_TYPE'          then AttRec.ROUNDING_CONTROL_TYPE  := cr.ATTRIBUTE_VALUE;
683 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ROUNDING_FACTOR'                then AttRec.ROUNDING_FACTOR  := cr.ATTRIBUTE_VALUE;
684 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SAFETY_STOCK_BUCKET_DAYS'       then AttRec.SAFETY_STOCK_BUCKET_DAYS  := cr.ATTRIBUTE_VALUE;
685 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SECONDARY_SPECIALIST_ID'        then AttRec.SECONDARY_SPECIALIST_ID  := cr.ATTRIBUTE_VALUE;
686 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERIAL_NUMBER_CONTROL_CODE'     then AttRec.SERIAL_NUMBER_CONTROL_CODE  := cr.ATTRIBUTE_VALUE;
687 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICEABLE_COMPONENT_FLAG'     then AttRec.SERVICEABLE_COMPONENT_FLAG  := cr.ATTRIBUTE_VALUE;
688 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICEABLE_ITEM_CLASS_ID'      then AttRec.SERVICEABLE_ITEM_CLASS_ID  := cr.ATTRIBUTE_VALUE;
689 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICEABLE_PRODUCT_FLAG'       then AttRec.SERVICEABLE_PRODUCT_FLAG  := cr.ATTRIBUTE_VALUE;
690 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICE_DURATION'               then AttRec.SERVICE_DURATION  := cr.ATTRIBUTE_VALUE;
691 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICE_DURATION_PERIOD_CODE'   then AttRec.SERVICE_DURATION_PERIOD_CODE  := cr.ATTRIBUTE_VALUE;
692 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICE_STARTING_DELAY'         then AttRec.SERVICE_STARTING_DELAY  := cr.ATTRIBUTE_VALUE;
693 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHELF_LIFE_CODE'                then AttRec.SHELF_LIFE_CODE  := cr.ATTRIBUTE_VALUE;
694 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHELF_LIFE_DAYS'                then AttRec.SHELF_LIFE_DAYS  := cr.ATTRIBUTE_VALUE;
698 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SOURCE_ORGANIZATION_ID'         then AttRec.SOURCE_ORGANIZATION_ID  := cr.ATTRIBUTE_VALUE;
695 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHIPPABLE_ITEM_FLAG'            then AttRec.SHIPPABLE_ITEM_FLAG  := cr.ATTRIBUTE_VALUE;
696 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHIP_MODEL_COMPLETE_FLAG'       then AttRec.SHIP_MODEL_COMPLETE_FLAG  := cr.ATTRIBUTE_VALUE;
697 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHRINKAGE_RATE'                 then AttRec.SHRINKAGE_RATE  := cr.ATTRIBUTE_VALUE;
699 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SOURCE_SUBINVENTORY'            then AttRec.SOURCE_SUBINVENTORY  := cr.ATTRIBUTE_VALUE;
700 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SOURCE_TYPE'                    then AttRec.SOURCE_TYPE  := cr.ATTRIBUTE_VALUE;
701 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SO_TRANSACTIONS_FLAG'           then AttRec.SO_TRANSACTIONS_FLAG  := cr.ATTRIBUTE_VALUE;
702 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.START_AUTO_LOT_NUMBER'          then AttRec.START_AUTO_LOT_NUMBER  := cr.ATTRIBUTE_VALUE;
703 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.START_AUTO_SERIAL_NUMBER'       then AttRec.START_AUTO_SERIAL_NUMBER  := cr.ATTRIBUTE_VALUE;
704 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.STD_LOT_SIZE'                   then AttRec.STD_LOT_SIZE  := cr.ATTRIBUTE_VALUE;
705 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.STOCK_ENABLED_FLAG'             then AttRec.STOCK_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
706 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TAXABLE_FLAG'                   then AttRec.TAXABLE_FLAG  := cr.ATTRIBUTE_VALUE;
707 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PURCHASING_TAX_CODE'            then AttRec.PURCHASING_TAX_CODE := cr.ATTRIBUTE_VALUE;
708 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TAX_CODE'                       then AttRec.TAX_CODE  := cr.ATTRIBUTE_VALUE;
709 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TIME_BILLABLE_FLAG'             then AttRec.TIME_BILLABLE_FLAG  := cr.ATTRIBUTE_VALUE;
710 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_OF_ISSUE'                  then AttRec.UNIT_OF_ISSUE  := cr.ATTRIBUTE_VALUE;
711 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_VOLUME'                    then AttRec.UNIT_VOLUME  := cr.ATTRIBUTE_VALUE;
712 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_WEIGHT'                    then AttRec.UNIT_WEIGHT  := cr.ATTRIBUTE_VALUE;
713 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UN_NUMBER_ID'                   then AttRec.UN_NUMBER_ID  := cr.ATTRIBUTE_VALUE;
714 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VARIABLE_LEAD_TIME'             then AttRec.VARIABLE_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
715 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VOLUME_UOM_CODE'                then AttRec.VOLUME_UOM_CODE  := cr.ATTRIBUTE_VALUE;
716 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WARRANTY_VENDOR_ID'             then AttRec.WARRANTY_VENDOR_ID  := cr.ATTRIBUTE_VALUE;
717 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WEIGHT_UOM_CODE'                then AttRec.WEIGHT_UOM_CODE  := cr.ATTRIBUTE_VALUE;
718 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_TYPE'                then AttRec.WIP_SUPPLY_TYPE  := cr.ATTRIBUTE_VALUE;
719 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATO_FORECAST_CONTROL'           then AttRec.ATO_FORECAST_CONTROL  := cr.ATTRIBUTE_VALUE;
720 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DESCRIPTION'                    then AttRec.DESCRIPTION  := cr.ATTRIBUTE_VALUE;
721 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RELEASE_TIME_FENCE_CODE'        then AttRec.RELEASE_TIME_FENCE_CODE  := cr.ATTRIBUTE_VALUE;
722 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RELEASE_TIME_FENCE_DAYS'        then AttRec.RELEASE_TIME_FENCE_DAYS  := cr.ATTRIBUTE_VALUE;
723 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTAINER_ITEM_FLAG'            then AttRec.CONTAINER_ITEM_FLAG  := cr.ATTRIBUTE_VALUE;
724 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTAINER_TYPE_CODE'            then AttRec.CONTAINER_TYPE_CODE  := cr.ATTRIBUTE_VALUE;
725 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INTERNAL_VOLUME'                then AttRec.INTERNAL_VOLUME  := cr.ATTRIBUTE_VALUE;
726 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAXIMUM_LOAD_WEIGHT'            then AttRec.MAXIMUM_LOAD_WEIGHT  := cr.ATTRIBUTE_VALUE;
727 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MINIMUM_FILL_PERCENT'           then AttRec.MINIMUM_FILL_PERCENT  := cr.ATTRIBUTE_VALUE;
728 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VEHICLE_ITEM_FLAG'              then AttRec.VEHICLE_ITEM_FLAG  := cr.ATTRIBUTE_VALUE;
729 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHECK_SHORTAGES_FLAG'           then AttRec.CHECK_SHORTAGES_FLAG  := cr.ATTRIBUTE_VALUE;
730 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EFFECTIVITY_CONTROL'            then AttRec.EFFECTIVITY_CONTROL  := cr.ATTRIBUTE_VALUE;
731            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVERCOMPLETION_TOLERANCE_TYPE'  then AttRec.OVERCOMPLETION_TOLERANCE_TYPE := cr.ATTRIBUTE_VALUE;
732            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVERCOMPLETION_TOLERANCE_VALUE' then AttRec.OVERCOMPLETION_TOLERANCE_VALUE := cr.ATTRIBUTE_VALUE;
733            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVER_SHIPMENT_TOLERANCE'        then AttRec.OVER_SHIPMENT_TOLERANCE := cr.ATTRIBUTE_VALUE;
734            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNDER_SHIPMENT_TOLERANCE'       then AttRec.UNDER_SHIPMENT_TOLERANCE := cr.ATTRIBUTE_VALUE;
735            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVER_RETURN_TOLERANCE'          then AttRec.OVER_RETURN_TOLERANCE := cr.ATTRIBUTE_VALUE;
736            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNDER_RETURN_TOLERANCE'         then AttRec.UNDER_RETURN_TOLERANCE := cr.ATTRIBUTE_VALUE;
737            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EQUIPMENT_TYPE'                 then AttRec.EQUIPMENT_TYPE := cr.ATTRIBUTE_VALUE;
738            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECOVERED_PART_DISP_CODE'       then AttRec.RECOVERED_PART_DISP_CODE := cr.ATTRIBUTE_VALUE;
739            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFECT_TRACKING_ON_FLAG'        then AttRec.DEFECT_TRACKING_ON_FLAG := cr.ATTRIBUTE_VALUE;
740            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EVENT_FLAG'                     then AttRec.EVENT_FLAG := cr.ATTRIBUTE_VALUE;
744            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COUPON_EXEMPT_FLAG'             then AttRec.COUPON_EXEMPT_FLAG := cr.ATTRIBUTE_VALUE;
741            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ELECTRONIC_FLAG'                then AttRec.ELECTRONIC_FLAG := cr.ATTRIBUTE_VALUE;
742            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DOWNLOADABLE_FLAG'              then AttRec.DOWNLOADABLE_FLAG := cr.ATTRIBUTE_VALUE;
743            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VOL_DISCOUNT_EXEMPT_FLAG'       then AttRec.VOL_DISCOUNT_EXEMPT_FLAG := cr.ATTRIBUTE_VALUE;
745            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COMMS_NL_TRACKABLE_FLAG'        then AttRec.COMMS_NL_TRACKABLE_FLAG := cr.ATTRIBUTE_VALUE;
746            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ASSET_CREATION_CODE'            then AttRec.ASSET_CREATION_CODE := cr.ATTRIBUTE_VALUE;
747            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COMMS_ACTIVATION_REQD_FLAG'     then AttRec.COMMS_ACTIVATION_REQD_FLAG := cr.ATTRIBUTE_VALUE;
748            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ORDERABLE_ON_WEB_FLAG'          then AttRec.ORDERABLE_ON_WEB_FLAG := cr.ATTRIBUTE_VALUE;
749            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BACK_ORDERABLE_FLAG'            then AttRec.BACK_ORDERABLE_FLAG := cr.ATTRIBUTE_VALUE;
750            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WEB_STATUS'                     then AttRec.WEB_STATUS := cr.ATTRIBUTE_VALUE;
751            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INDIVISIBLE_FLAG'               then AttRec.INDIVISIBLE_FLAG := cr.ATTRIBUTE_VALUE;
752            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DIMENSION_UOM_CODE'             then AttRec.DIMENSION_UOM_CODE := cr.ATTRIBUTE_VALUE;
753            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_LENGTH'                    then AttRec.UNIT_LENGTH := cr.ATTRIBUTE_VALUE;
754            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_WIDTH'                     then AttRec.UNIT_WIDTH := cr.ATTRIBUTE_VALUE;
755            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_HEIGHT'                    then AttRec.UNIT_HEIGHT := cr.ATTRIBUTE_VALUE;
756            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BULK_PICKED_FLAG'               then AttRec.BULK_PICKED_FLAG := cr.ATTRIBUTE_VALUE;
757            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_STATUS_ENABLED'             then AttRec.LOT_STATUS_ENABLED := cr.ATTRIBUTE_VALUE;
758            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_LOT_STATUS_ID'          then AttRec.DEFAULT_LOT_STATUS_ID := cr.ATTRIBUTE_VALUE;
759            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERIAL_STATUS_ENABLED'          then AttRec.SERIAL_STATUS_ENABLED := cr.ATTRIBUTE_VALUE;
760            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_SERIAL_STATUS_ID'       then AttRec.DEFAULT_SERIAL_STATUS_ID := cr.ATTRIBUTE_VALUE;
761            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_SPLIT_ENABLED'              then AttRec.LOT_SPLIT_ENABLED := cr.ATTRIBUTE_VALUE;
762            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_MERGE_ENABLED'              then AttRec.LOT_MERGE_ENABLED := cr.ATTRIBUTE_VALUE;
763            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_CARRY_PENALTY'        then AttRec.INVENTORY_CARRY_PENALTY := cr.ATTRIBUTE_VALUE;
764            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OPERATION_SLACK_PENALTY'        then AttRec.OPERATION_SLACK_PENALTY := cr.ATTRIBUTE_VALUE;
765            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FINANCING_ALLOWED_FLAG'         then AttRec.FINANCING_ALLOWED_FLAG := cr.ATTRIBUTE_VALUE;
766            -- Primary Unit of Measure is now maintained via the PRIMARY_UOM_CODE column.
767            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PRIMARY_UOM_CODE'               then AttRec.PRIMARY_UOM_CODE := cr.ATTRIBUTE_VALUE;
768            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ITEM_TYPE'                  then AttRec.EAM_ITEM_TYPE := cr.ATTRIBUTE_VALUE;
769            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACTIVITY_TYPE_CODE'         then AttRec.EAM_ACTIVITY_TYPE_CODE := cr.ATTRIBUTE_VALUE;
770            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACTIVITY_CAUSE_CODE'        then AttRec.EAM_ACTIVITY_CAUSE_CODE := cr.ATTRIBUTE_VALUE;
771            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACT_NOTIFICATION_FLAG'      then AttRec.EAM_ACT_NOTIFICATION_FLAG := cr.ATTRIBUTE_VALUE;
772            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACT_SHUTDOWN_STATUS'        then AttRec.EAM_ACT_SHUTDOWN_STATUS := cr.ATTRIBUTE_VALUE;
773            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DUAL_UOM_CONTROL'               then AttRec.DUAL_UOM_CONTROL := cr.ATTRIBUTE_VALUE;
774            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SECONDARY_UOM_CODE'             then AttRec.SECONDARY_UOM_CODE := cr.ATTRIBUTE_VALUE;
775            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DUAL_UOM_DEVIATION_HIGH'        then AttRec.DUAL_UOM_DEVIATION_HIGH := cr.ATTRIBUTE_VALUE;
776            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DUAL_UOM_DEVIATION_LOW'         then AttRec.DUAL_UOM_DEVIATION_LOW := cr.ATTRIBUTE_VALUE;
777            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTRACT_ITEM_TYPE_CODE'        then AttRec.CONTRACT_ITEM_TYPE_CODE := cr.ATTRIBUTE_VALUE;
778            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERV_REQ_ENABLED_CODE'          then AttRec.SERV_REQ_ENABLED_CODE := cr.ATTRIBUTE_VALUE;
779            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERV_BILLING_ENABLED_FLAG'      then AttRec.SERV_BILLING_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
780            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNED_INV_POINT_FLAG'         then AttRec.PLANNED_INV_POINT_FLAG := cr.ATTRIBUTE_VALUE;
781            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_TRANSLATE_ENABLED'          then AttRec.LOT_TRANSLATE_ENABLED := cr.ATTRIBUTE_VALUE;
782            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_SO_SOURCE_TYPE'         then AttRec.DEFAULT_SO_SOURCE_TYPE := cr.ATTRIBUTE_VALUE;
783            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CREATE_SUPPLY_FLAG'             then AttRec.CREATE_SUPPLY_FLAG := cr.ATTRIBUTE_VALUE;
784            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SUBSTITUTION_WINDOW_CODE'       then AttRec.SUBSTITUTION_WINDOW_CODE := cr.ATTRIBUTE_VALUE;
785            -- UT bug fix 4654527
786            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SUBSTITUTION_WINDOW_DAYS'       then AttRec.SUBSTITUTION_WINDOW_DAYS := cr.ATTRIBUTE_VALUE;
790            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACTIVITY_SOURCE_CODE'       then AttRec.EAM_ACTIVITY_SOURCE_CODE := cr.ATTRIBUTE_VALUE;
787 	   -- Added as part of 11.5.9 ENH
788            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_SUBSTITUTION_ENABLED'       then AttRec.LOT_SUBSTITUTION_ENABLED := cr.ATTRIBUTE_VALUE;
789            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MINIMUM_LICENSE_QUANTITY'       then AttRec.MINIMUM_LICENSE_QUANTITY := cr.ATTRIBUTE_VALUE;
791            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.IB_ITEM_INSTANCE_CLASS'         then AttRec.IB_ITEM_INSTANCE_CLASS := cr.ATTRIBUTE_VALUE;
792            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONFIG_MODEL_TYPE'              then AttRec.CONFIG_MODEL_TYPE := cr.ATTRIBUTE_VALUE;
793            -- Added as part of 11.5.10 ENH
794            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TRACKING_QUANTITY_IND'          then AttRec.TRACKING_QUANTITY_IND := cr.ATTRIBUTE_VALUE;
795            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ONT_PRICING_QTY_SOURCE'         then AttRec.ONT_PRICING_QTY_SOURCE := cr.ATTRIBUTE_VALUE;
796            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SECONDARY_DEFAULT_IND'          then AttRec.SECONDARY_DEFAULT_IND := cr.ATTRIBUTE_VALUE;
797            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_CREATED_CONFIG_FLAG'       then AttRec.AUTO_CREATED_CONFIG_FLAG := cr.ATTRIBUTE_VALUE;
798            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONFIG_ORGS'                    then AttRec.CONFIG_ORGS := cr.ATTRIBUTE_VALUE;
799            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONFIG_MATCH'                   then AttRec.CONFIG_MATCH := cr.ATTRIBUTE_VALUE;
800 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MINIMUM_UNITS'              then AttRec.VMI_MINIMUM_UNITS := cr.ATTRIBUTE_VALUE;
801 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MINIMUM_DAYS'               then AttRec.VMI_MINIMUM_DAYS := cr.ATTRIBUTE_VALUE;
802 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MAXIMUM_UNITS'              then AttRec.VMI_MAXIMUM_UNITS := cr.ATTRIBUTE_VALUE;
803 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MAXIMUM_DAYS'               then AttRec.VMI_MAXIMUM_DAYS := cr.ATTRIBUTE_VALUE;
804 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_FIXED_ORDER_QUANTITY'       then AttRec.VMI_FIXED_ORDER_QUANTITY := cr.ATTRIBUTE_VALUE;
805 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SO_AUTHORIZATION_FLAG'          then AttRec.SO_AUTHORIZATION_FLAG := cr.ATTRIBUTE_VALUE;
806 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONSIGNED_FLAG'                 then AttRec.CONSIGNED_FLAG := cr.ATTRIBUTE_VALUE;
807 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ASN_AUTOEXPIRE_FLAG'            then AttRec.ASN_AUTOEXPIRE_FLAG := cr.ATTRIBUTE_VALUE;
808 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_FORECAST_TYPE'              then AttRec.VMI_FORECAST_TYPE := cr.ATTRIBUTE_VALUE;
809 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FORECAST_HORIZON'               then AttRec.FORECAST_HORIZON := cr.ATTRIBUTE_VALUE;
810 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXCLUDE_FROM_BUDGET_FLAG'       then AttRec.EXCLUDE_FROM_BUDGET_FLAG := cr.ATTRIBUTE_VALUE;
811 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_TGT_INV_SUPPLY'            then AttRec.DAYS_TGT_INV_SUPPLY := cr.ATTRIBUTE_VALUE;
812 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_TGT_INV_WINDOW'            then AttRec.DAYS_TGT_INV_WINDOW := cr.ATTRIBUTE_VALUE;
813 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_MAX_INV_SUPPLY'            then AttRec.DAYS_MAX_INV_SUPPLY := cr.ATTRIBUTE_VALUE;
814 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_MAX_INV_WINDOW'            then AttRec.DAYS_MAX_INV_WINDOW := cr.ATTRIBUTE_VALUE;
815 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DRP_PLANNED_FLAG'               then AttRec.DRP_PLANNED_FLAG := cr.ATTRIBUTE_VALUE;
816 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CRITICAL_COMPONENT_FLAG'        then AttRec.CRITICAL_COMPONENT_FLAG := cr.ATTRIBUTE_VALUE;
817 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTINOUS_TRANSFER'             then AttRec.CONTINOUS_TRANSFER := cr.ATTRIBUTE_VALUE;
818 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONVERGENCE'                    then AttRec.CONVERGENCE := cr.ATTRIBUTE_VALUE;
819 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DIVERGENCE'                     then AttRec.DIVERGENCE := cr.ATTRIBUTE_VALUE;
820 	   -- Start Bug 3713912
821 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_DIVISIBLE_FLAG'                     then AttRec.LOT_DIVISIBLE_FLAG		  := cr.ATTRIBUTE_VALUE;
822            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.GRADE_CONTROL_FLAG'                     then AttRec.GRADE_CONTROL_FLAG		  := cr.ATTRIBUTE_VALUE;
823            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_GRADE'                          then AttRec.DEFAULT_GRADE		          := cr.ATTRIBUTE_VALUE;
824            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_FLAG'                         then AttRec.CHILD_LOT_FLAG		          := cr.ATTRIBUTE_VALUE;
825            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PARENT_CHILD_GENERATION_FLAG'           then AttRec.PARENT_CHILD_GENERATION_FLAG      := cr.ATTRIBUTE_VALUE;
826            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_PREFIX'                       then AttRec.CHILD_LOT_PREFIX		  := cr.ATTRIBUTE_VALUE;
827            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_STARTING_NUMBER'              then AttRec.CHILD_LOT_STARTING_NUMBER	  := cr.ATTRIBUTE_VALUE;
828            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_VALIDATION_FLAG'              then AttRec.CHILD_LOT_VALIDATION_FLAG	  := cr.ATTRIBUTE_VALUE;
829            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COPY_LOT_ATTRIBUTE_FLAG'                then AttRec.COPY_LOT_ATTRIBUTE_FLAG	          := cr.ATTRIBUTE_VALUE;
830            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECIPE_ENABLED_FLAG'                    then AttRec.RECIPE_ENABLED_FLAG	          := cr.ATTRIBUTE_VALUE;
831            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_QUALITY_ENABLED_FLAG'           then AttRec.PROCESS_QUALITY_ENABLED_FLAG      := cr.ATTRIBUTE_VALUE;
832            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_EXECUTION_ENABLED_FLAG'         then AttRec.PROCESS_EXECUTION_ENABLED_FLAG    := cr.ATTRIBUTE_VALUE;
836            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_YIELD_SUBINVENTORY'             then AttRec.PROCESS_YIELD_SUBINVENTORY	  := cr.ATTRIBUTE_VALUE;
833            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_COSTING_ENABLED_FLAG'           then AttRec.PROCESS_COSTING_ENABLED_FLAG      := cr.ATTRIBUTE_VALUE;
834            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_SUPPLY_SUBINVENTORY'            then AttRec.PROCESS_SUPPLY_SUBINVENTORY       := cr.ATTRIBUTE_VALUE;
835            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_SUPPLY_LOCATOR_ID'              then AttRec.PROCESS_SUPPLY_LOCATOR_ID	  := cr.ATTRIBUTE_VALUE;
837            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_YIELD_LOCATOR_ID'               then AttRec.PROCESS_YIELD_LOCATOR_ID	  := cr.ATTRIBUTE_VALUE;
838            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.HAZARDOUS_MATERIAL_FLAG'                then AttRec.HAZARDOUS_MATERIAL_FLAG	          := cr.ATTRIBUTE_VALUE;
839            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CAS_NUMBER'                             then AttRec.CAS_NUMBER			  := cr.ATTRIBUTE_VALUE;
840            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RETEST_INTERVAL'                        then AttRec.RETEST_INTERVAL		          := cr.ATTRIBUTE_VALUE;
841            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPIRATION_ACTION_INTERVAL'             then AttRec.EXPIRATION_ACTION_INTERVAL	  := cr.ATTRIBUTE_VALUE;
842            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPIRATION_ACTION_CODE'                 then AttRec.EXPIRATION_ACTION_CODE	          := cr.ATTRIBUTE_VALUE;
843            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MATURITY_DAYS'                          then AttRec.MATURITY_DAYS		          := cr.ATTRIBUTE_VALUE;
844            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.HOLD_DAYS'                              then AttRec.HOLD_DAYS			  := cr.ATTRIBUTE_VALUE;
845            -- End Bug 3713912
846 	   --Org specific attributes
847            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BASE_ITEM_ID'                           then AttRec.BASE_ITEM_ID                      := cr.ATTRIBUTE_VALUE;
848  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BASE_WARRANTY_SERVICE_ID'               then AttRec.BASE_WARRANTY_SERVICE_ID          := cr.ATTRIBUTE_VALUE;
849  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COST_OF_SALES_ACCOUNT'                  then AttRec.COST_OF_SALES_ACCOUNT             := cr.ATTRIBUTE_VALUE;
850  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ENCUMBRANCE_ACCOUNT'                    then AttRec.ENCUMBRANCE_ACCOUNT               := cr.ATTRIBUTE_VALUE;
851 	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPENSE_ACCOUNT'                        then AttRec.EXPENSE_ACCOUNT                   := cr.ATTRIBUTE_VALUE;
852  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNER_CODE'                           then AttRec.PLANNER_CODE                      := cr.ATTRIBUTE_VALUE;
853  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_EXCEPTION_SET'                 then AttRec.PLANNING_EXCEPTION_SET            := cr.ATTRIBUTE_VALUE;
854  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SALES_ACCOUNT'                          then AttRec.SALES_ACCOUNT                     := cr.ATTRIBUTE_VALUE;
855  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_LOCATOR_ID'                  then AttRec.WIP_SUPPLY_LOCATOR_ID             := cr.ATTRIBUTE_VALUE;
856  	   elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_SUBINVENTORY'                then AttRec.WIP_SUPPLY_SUBINVENTORY           := cr.ATTRIBUTE_VALUE;
857 	   --R12 Enhancement
858            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHARGE_PERIODICITY_CODE'                then AttRec.CHARGE_PERIODICITY_CODE           := cr.ATTRIBUTE_VALUE;
859            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPAIR_LEADTIME'                        then AttRec.REPAIR_LEADTIME                   := cr.ATTRIBUTE_VALUE;
860            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPAIR_YIELD'                           then AttRec.REPAIR_YIELD                      := cr.ATTRIBUTE_VALUE;
861            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PREPOSITION_POINT'                      then AttRec.PREPOSITION_POINT                 := cr.ATTRIBUTE_VALUE;
862            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPAIR_PROGRAM'                         then AttRec.REPAIR_PROGRAM                    := cr.ATTRIBUTE_VALUE;
863            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SUBCONTRACTING_COMPONENT'               then AttRec.SUBCONTRACTING_COMPONENT          := cr.ATTRIBUTE_VALUE;
864            elsif cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OUTSOURCED_ASSEMBLY'                    then AttRec.OUTSOURCED_ASSEMBLY               := cr.ATTRIBUTE_VALUE;
865 	   end if;
866 	end if;  --Bug: 4456453 transaction_type
867 	commented for bug 6417006 */
868      END LOOP;  -- cursor cc
869 
870      UPDATE MTL_SYSTEM_ITEMS_INTERFACE
871      SET
872 	DESCRIPTION 			= nvl(DESCRIPTION  , AttRec.DESCRIPTION),
873 	ACCEPTABLE_EARLY_DAYS 		= nvl(ACCEPTABLE_EARLY_DAYS  , AttRec.ACCEPTABLE_EARLY_DAYS),
874 	ACCEPTABLE_RATE_DECREASE 	= nvl(ACCEPTABLE_RATE_DECREASE  , AttRec.ACCEPTABLE_RATE_DECREASE),
875 	ACCEPTABLE_RATE_INCREASE 	= nvl(ACCEPTABLE_RATE_INCREASE  , AttRec.ACCEPTABLE_RATE_INCREASE),
876 	ACCOUNTING_RULE_ID	 	= nvl(ACCOUNTING_RULE_ID  , AttRec.ACCOUNTING_RULE_ID),
877 	ALLOWED_UNITS_LOOKUP_CODE 	= nvl(ALLOWED_UNITS_LOOKUP_CODE  , AttRec.ALLOWED_UNITS_LOOKUP_CODE),
878 	ALLOW_EXPRESS_DELIVERY_FLAG 	= nvl(ALLOW_EXPRESS_DELIVERY_FLAG  , AttRec.ALLOW_EXPRESS_DELIVERY_FLAG),
879 	ALLOW_ITEM_DESC_UPDATE_FLAG 	= nvl(ALLOW_ITEM_DESC_UPDATE_FLAG  , AttRec.ALLOW_ITEM_DESC_UPDATE_FLAG),
880 	ALLOW_SUBSTITUTE_RECEIPTS_FLAG 	= nvl(ALLOW_SUBSTITUTE_RECEIPTS_FLAG  , AttRec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG),
881 	ALLOW_UNORDERED_RECEIPTS_FLAG 	= nvl(ALLOW_UNORDERED_RECEIPTS_FLAG  , AttRec.ALLOW_UNORDERED_RECEIPTS_FLAG),
882 	ASSET_CATEGORY_ID 		= nvl(ASSET_CATEGORY_ID  , AttRec.ASSET_CATEGORY_ID),
883 	ATP_COMPONENTS_FLAG 		= nvl(ATP_COMPONENTS_FLAG  , AttRec.ATP_COMPONENTS_FLAG),
884 	ATP_FLAG 			= nvl(ATP_FLAG  , AttRec.ATP_FLAG),
885 	ATP_RULE_ID 			= nvl(ATP_RULE_ID  , AttRec.ATP_RULE_ID),
886 	AUTO_LOT_ALPHA_PREFIX 		= nvl(AUTO_LOT_ALPHA_PREFIX  , AttRec.AUTO_LOT_ALPHA_PREFIX),
887 	AUTO_REDUCE_MPS 		= nvl(AUTO_REDUCE_MPS  , AttRec.AUTO_REDUCE_MPS),
891 	BUILD_IN_WIP_FLAG 		= nvl(BUILD_IN_WIP_FLAG  , AttRec.BUILD_IN_WIP_FLAG),
888 	AUTO_SERIAL_ALPHA_PREFIX 	= nvl(AUTO_SERIAL_ALPHA_PREFIX  , AttRec.AUTO_SERIAL_ALPHA_PREFIX),
889 	BOM_ENABLED_FLAG 		= nvl(BOM_ENABLED_FLAG  , AttRec.BOM_ENABLED_FLAG),
890 	BOM_ITEM_TYPE 			= nvl(BOM_ITEM_TYPE  , AttRec.BOM_ITEM_TYPE),
892 	BUYER_ID 			= nvl(BUYER_ID  , AttRec.BUYER_ID),
893 	CARRYING_COST 			= nvl(CARRYING_COST  , AttRec.CARRYING_COST),
894 	COLLATERAL_FLAG 		= nvl(COLLATERAL_FLAG  , AttRec.COLLATERAL_FLAG),
895 	COSTING_ENABLED_FLAG 		= nvl(COSTING_ENABLED_FLAG  , AttRec.COSTING_ENABLED_FLAG),
896 	COVERAGE_SCHEDULE_ID 		= nvl(COVERAGE_SCHEDULE_ID  , AttRec.COVERAGE_SCHEDULE_ID),
897 	CUMULATIVE_TOTAL_LEAD_TIME 	= nvl(CUMULATIVE_TOTAL_LEAD_TIME  , AttRec.CUMULATIVE_TOTAL_LEAD_TIME),
898 	CUM_MANUFACTURING_LEAD_TIME 	= nvl(CUM_MANUFACTURING_LEAD_TIME  , AttRec.CUM_MANUFACTURING_LEAD_TIME),
899 	CUSTOMER_ORDER_ENABLED_FLAG 	= nvl(CUSTOMER_ORDER_ENABLED_FLAG  , AttRec.CUSTOMER_ORDER_ENABLED_FLAG),
900 	CUSTOMER_ORDER_FLAG 		= nvl(CUSTOMER_ORDER_FLAG  , AttRec.CUSTOMER_ORDER_FLAG),
901 	CYCLE_COUNT_ENABLED_FLAG 	= nvl(CYCLE_COUNT_ENABLED_FLAG  , AttRec.CYCLE_COUNT_ENABLED_FLAG),
902 	DAYS_EARLY_RECEIPT_ALLOWED 	= nvl(DAYS_EARLY_RECEIPT_ALLOWED  , AttRec.DAYS_EARLY_RECEIPT_ALLOWED),
903 	DAYS_LATE_RECEIPT_ALLOWED 	= nvl(DAYS_LATE_RECEIPT_ALLOWED  , AttRec.DAYS_LATE_RECEIPT_ALLOWED),
904 	DEFAULT_INCLUDE_IN_ROLLUP_FLAG 	= nvl(DEFAULT_INCLUDE_IN_ROLLUP_FLAG  , AttRec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG),
905 	DEFAULT_SHIPPING_ORG 		= nvl(DEFAULT_SHIPPING_ORG  , AttRec.DEFAULT_SHIPPING_ORG),
906 	DEMAND_TIME_FENCE_CODE 		= nvl(DEMAND_TIME_FENCE_CODE  , AttRec.DEMAND_TIME_FENCE_CODE),
907 	DEMAND_TIME_FENCE_DAYS	 	= nvl(DEMAND_TIME_FENCE_DAYS  , AttRec.DEMAND_TIME_FENCE_DAYS),
908 	END_ASSEMBLY_PEGGING_FLAG 	= nvl(END_ASSEMBLY_PEGGING_FLAG  , AttRec.END_ASSEMBLY_PEGGING_FLAG),
909 	ENFORCE_SHIP_TO_LOCATION_CODE 	= nvl(ENFORCE_SHIP_TO_LOCATION_CODE  , AttRec.ENFORCE_SHIP_TO_LOCATION_CODE),
910 	EXPENSE_BILLABLE_FLAG 		= nvl(EXPENSE_BILLABLE_FLAG  , AttRec.EXPENSE_BILLABLE_FLAG),
911 	FIXED_DAYS_SUPPLY 		= nvl(FIXED_DAYS_SUPPLY  , AttRec.FIXED_DAYS_SUPPLY),
912 	FIXED_LEAD_TIME 		= nvl(FIXED_LEAD_TIME  , AttRec.FIXED_LEAD_TIME),
913 	FIXED_LOT_MULTIPLIER 		= nvl(FIXED_LOT_MULTIPLIER  , AttRec.FIXED_LOT_MULTIPLIER),
914 	FIXED_ORDER_QUANTITY 		= nvl(FIXED_ORDER_QUANTITY  , AttRec.FIXED_ORDER_QUANTITY),
915 	FULL_LEAD_TIME 			= nvl(FULL_LEAD_TIME  , AttRec.FULL_LEAD_TIME),
916 	HAZARD_CLASS_ID 		= nvl(HAZARD_CLASS_ID  , AttRec.HAZARD_CLASS_ID),
917 	INSPECTION_REQUIRED_FLAG 	= nvl(INSPECTION_REQUIRED_FLAG  , AttRec.INSPECTION_REQUIRED_FLAG),
918 	INTERNAL_ORDER_ENABLED_FLAG 	= nvl(INTERNAL_ORDER_ENABLED_FLAG  , AttRec.INTERNAL_ORDER_ENABLED_FLAG),
919 	INTERNAL_ORDER_FLAG 		= nvl(INTERNAL_ORDER_FLAG  , AttRec.INTERNAL_ORDER_FLAG),
920 	INVENTORY_ASSET_FLAG 		= nvl(INVENTORY_ASSET_FLAG  , AttRec.INVENTORY_ASSET_FLAG),
921 	INVENTORY_ITEM_FLAG 		= nvl(INVENTORY_ITEM_FLAG  , AttRec.INVENTORY_ITEM_FLAG),
922 	INVENTORY_ITEM_STATUS_CODE 	= nvl(INVENTORY_ITEM_STATUS_CODE  , AttRec.INVENTORY_ITEM_STATUS_CODE),
923 	INVENTORY_PLANNING_CODE 	= nvl(INVENTORY_PLANNING_CODE  , AttRec.INVENTORY_PLANNING_CODE),
924 	INVOICEABLE_ITEM_FLAG 		= nvl(INVOICEABLE_ITEM_FLAG  , AttRec.INVOICEABLE_ITEM_FLAG),
925 	INVOICE_CLOSE_TOLERANCE 	= nvl(INVOICE_CLOSE_TOLERANCE  , AttRec.INVOICE_CLOSE_TOLERANCE),
926 	INVOICE_ENABLED_FLAG 		= nvl(INVOICE_ENABLED_FLAG  , AttRec.INVOICE_ENABLED_FLAG),
927 	INVOICING_RULE_ID 		= nvl(INVOICING_RULE_ID  , AttRec.INVOICING_RULE_ID),
928 	ITEM_TYPE 			= nvl(ITEM_TYPE  , AttRec.ITEM_TYPE),
929 	LEAD_TIME_LOT_SIZE 		= nvl(LEAD_TIME_LOT_SIZE  , AttRec.LEAD_TIME_LOT_SIZE),
930 	LIST_PRICE_PER_UNIT 		= nvl(LIST_PRICE_PER_UNIT  , AttRec.LIST_PRICE_PER_UNIT),
931 	LOCATION_CONTROL_CODE 		= nvl(LOCATION_CONTROL_CODE  , AttRec.LOCATION_CONTROL_CODE),
932 	LOT_CONTROL_CODE 		= nvl(LOT_CONTROL_CODE  , AttRec.LOT_CONTROL_CODE),
933 	MARKET_PRICE 			= nvl(MARKET_PRICE  , AttRec.MARKET_PRICE),
934 	MATERIAL_BILLABLE_FLAG 		= nvl(MATERIAL_BILLABLE_FLAG  , AttRec.MATERIAL_BILLABLE_FLAG),
935 	MAXIMUM_ORDER_QUANTITY 		= nvl(MAXIMUM_ORDER_QUANTITY  , AttRec.MAXIMUM_ORDER_QUANTITY),
936 	MAX_MINMAX_QUANTITY 		= nvl(MAX_MINMAX_QUANTITY  , AttRec.MAX_MINMAX_QUANTITY),
937 	MAX_WARRANTY_AMOUNT	 	= nvl(MAX_WARRANTY_AMOUNT  , AttRec.MAX_WARRANTY_AMOUNT),
938 	MINIMUM_ORDER_QUANTITY 		= nvl(MINIMUM_ORDER_QUANTITY  , AttRec.MINIMUM_ORDER_QUANTITY),
939 	MIN_MINMAX_QUANTITY 		= nvl(MIN_MINMAX_QUANTITY  , AttRec.MIN_MINMAX_QUANTITY),
940 	MRP_CALCULATE_ATP_FLAG 		= nvl(MRP_CALCULATE_ATP_FLAG  , AttRec.MRP_CALCULATE_ATP_FLAG),
941 	MRP_PLANNING_CODE 		= nvl(MRP_PLANNING_CODE  , AttRec.MRP_PLANNING_CODE),
942 	MRP_SAFETY_STOCK_CODE 		= nvl(MRP_SAFETY_STOCK_CODE  , AttRec.MRP_SAFETY_STOCK_CODE),
943 	MRP_SAFETY_STOCK_PERCENT 	= nvl(MRP_SAFETY_STOCK_PERCENT  , AttRec.MRP_SAFETY_STOCK_PERCENT),
944 	MTL_TRANSACTIONS_ENABLED_FLAG 	= nvl(MTL_TRANSACTIONS_ENABLED_FLAG  , AttRec.MTL_TRANSACTIONS_ENABLED_FLAG),
945 	MUST_USE_APPROVED_VENDOR_FLAG 	= nvl(MUST_USE_APPROVED_VENDOR_FLAG  , AttRec.MUST_USE_APPROVED_VENDOR_FLAG),
946 	NEGATIVE_MEASUREMENT_ERROR 	= nvl(NEGATIVE_MEASUREMENT_ERROR  , AttRec.NEGATIVE_MEASUREMENT_ERROR),
947 	NEW_REVISION_CODE 		= nvl(NEW_REVISION_CODE  , AttRec.NEW_REVISION_CODE),
948 	ORDER_COST 			= nvl(ORDER_COST  , AttRec.ORDER_COST),
949 	OUTSIDE_OPERATION_FLAG 		= nvl(OUTSIDE_OPERATION_FLAG  , AttRec.OUTSIDE_OPERATION_FLAG),
950 	OUTSIDE_OPERATION_UOM_TYPE 	= nvl(OUTSIDE_OPERATION_UOM_TYPE  , AttRec.OUTSIDE_OPERATION_UOM_TYPE),
951 	OVERRUN_PERCENTAGE 		= nvl(OVERRUN_PERCENTAGE  , AttRec.OVERRUN_PERCENTAGE),
952 	PAYMENT_TERMS_ID 		= nvl(PAYMENT_TERMS_ID  , AttRec.PAYMENT_TERMS_ID),
953 	PICKING_RULE_ID 		= nvl(PICKING_RULE_ID  , AttRec.PICKING_RULE_ID),
954 	PICK_COMPONENTS_FLAG 		= nvl(PICK_COMPONENTS_FLAG  , AttRec.PICK_COMPONENTS_FLAG),
955 	PLANNING_MAKE_BUY_CODE 		= nvl(PLANNING_MAKE_BUY_CODE  , AttRec.PLANNING_MAKE_BUY_CODE),
956 	PLANNING_TIME_FENCE_CODE 	= nvl(PLANNING_TIME_FENCE_CODE  , AttRec.PLANNING_TIME_FENCE_CODE),
957 	PLANNING_TIME_FENCE_DAYS 	= nvl(PLANNING_TIME_FENCE_DAYS  , AttRec.PLANNING_TIME_FENCE_DAYS),
958 	POSITIVE_MEASUREMENT_ERROR 	= nvl(POSITIVE_MEASUREMENT_ERROR  , AttRec.POSITIVE_MEASUREMENT_ERROR),
962 	PRICE_TOLERANCE_PERCENT 	= nvl(PRICE_TOLERANCE_PERCENT  , AttRec.PRICE_TOLERANCE_PERCENT),
959 	POSTPROCESSING_LEAD_TIME 	= nvl(POSTPROCESSING_LEAD_TIME  , AttRec.POSTPROCESSING_LEAD_TIME),
960 	PREPROCESSING_LEAD_TIME 	= nvl(PREPROCESSING_LEAD_TIME  , AttRec.PREPROCESSING_LEAD_TIME),
961 	PREVENTIVE_MAINTENANCE_FLAG 	= nvl(PREVENTIVE_MAINTENANCE_FLAG  , AttRec.PREVENTIVE_MAINTENANCE_FLAG),
963 	PRIMARY_SPECIALIST_ID 		= nvl(PRIMARY_SPECIALIST_ID  , AttRec.PRIMARY_SPECIALIST_ID),
964 	PRORATE_SERVICE_FLAG 		= nvl(PRORATE_SERVICE_FLAG  , AttRec.PRORATE_SERVICE_FLAG),
965 	PURCHASING_ENABLED_FLAG 	= nvl(PURCHASING_ENABLED_FLAG  , AttRec.PURCHASING_ENABLED_FLAG),
966 	PURCHASING_ITEM_FLAG 		= nvl(PURCHASING_ITEM_FLAG  , AttRec.PURCHASING_ITEM_FLAG),
967 	QTY_RCV_EXCEPTION_CODE 		= nvl(QTY_RCV_EXCEPTION_CODE  , AttRec.QTY_RCV_EXCEPTION_CODE),
968 	QTY_RCV_TOLERANCE 		= nvl(QTY_RCV_TOLERANCE  , AttRec.QTY_RCV_TOLERANCE),
969 	RECEIPT_DAYS_EXCEPTION_CODE 	= nvl(RECEIPT_DAYS_EXCEPTION_CODE  , AttRec.RECEIPT_DAYS_EXCEPTION_CODE),
970 	RECEIPT_REQUIRED_FLAG 		= nvl(RECEIPT_REQUIRED_FLAG  , AttRec.RECEIPT_REQUIRED_FLAG),
971 	RECEIVE_CLOSE_TOLERANCE 	= nvl(RECEIVE_CLOSE_TOLERANCE  , AttRec.RECEIVE_CLOSE_TOLERANCE),
972 	RECEIVING_ROUTING_ID 		= nvl(RECEIVING_ROUTING_ID  , AttRec.RECEIVING_ROUTING_ID),
973 	REPETITIVE_PLANNING_FLAG 	= nvl(REPETITIVE_PLANNING_FLAG  , AttRec.REPETITIVE_PLANNING_FLAG),
974 	REPLENISH_TO_ORDER_FLAG 	= nvl(REPLENISH_TO_ORDER_FLAG  , AttRec.REPLENISH_TO_ORDER_FLAG),
975 	RESERVABLE_TYPE 		= nvl(RESERVABLE_TYPE  , AttRec.RESERVABLE_TYPE),
976 	RESPONSE_TIME_PERIOD_CODE 	= nvl(RESPONSE_TIME_PERIOD_CODE  , AttRec.RESPONSE_TIME_PERIOD_CODE),
977 	RESPONSE_TIME_VALUE 		= nvl(RESPONSE_TIME_VALUE  , AttRec.RESPONSE_TIME_VALUE),
978 	RESTRICT_LOCATORS_CODE	 	= nvl(RESTRICT_LOCATORS_CODE  , AttRec.RESTRICT_LOCATORS_CODE),
979 	RESTRICT_SUBINVENTORIES_CODE 	= nvl(RESTRICT_SUBINVENTORIES_CODE  , AttRec.RESTRICT_SUBINVENTORIES_CODE),
980 	RETURNABLE_FLAG 		= nvl(RETURNABLE_FLAG  , AttRec.RETURNABLE_FLAG),
981 	RETURN_INSPECTION_REQUIREMENT 	= nvl(RETURN_INSPECTION_REQUIREMENT  , AttRec.RETURN_INSPECTION_REQUIREMENT),
982 	REVISION_QTY_CONTROL_CODE 	= nvl(REVISION_QTY_CONTROL_CODE  , AttRec.REVISION_QTY_CONTROL_CODE),
983 	RFQ_REQUIRED_FLAG 		= nvl(RFQ_REQUIRED_FLAG  , AttRec.RFQ_REQUIRED_FLAG),
984 	ROUNDING_CONTROL_TYPE 		= nvl(ROUNDING_CONTROL_TYPE  , AttRec.ROUNDING_CONTROL_TYPE),
985 	ROUNDING_FACTOR		 	= nvl(ROUNDING_FACTOR  , AttRec.ROUNDING_FACTOR),
986 	SAFETY_STOCK_BUCKET_DAYS 	= nvl(SAFETY_STOCK_BUCKET_DAYS  , AttRec.SAFETY_STOCK_BUCKET_DAYS),
987 	SECONDARY_SPECIALIST_ID 	= nvl(SECONDARY_SPECIALIST_ID  , AttRec.SECONDARY_SPECIALIST_ID),
988 	SERIAL_NUMBER_CONTROL_CODE 	= nvl(SERIAL_NUMBER_CONTROL_CODE  , AttRec.SERIAL_NUMBER_CONTROL_CODE),
989 	SERVICEABLE_COMPONENT_FLAG 	= nvl(SERVICEABLE_COMPONENT_FLAG  , AttRec.SERVICEABLE_COMPONENT_FLAG),
990 	SERVICEABLE_ITEM_CLASS_ID 	= nvl(SERVICEABLE_ITEM_CLASS_ID  , AttRec.SERVICEABLE_ITEM_CLASS_ID),
991 	SERVICEABLE_PRODUCT_FLAG 	= nvl(SERVICEABLE_PRODUCT_FLAG  , AttRec.SERVICEABLE_PRODUCT_FLAG),
992 	SERVICE_DURATION 		= nvl(SERVICE_DURATION  , AttRec.SERVICE_DURATION),
993 	SERVICE_DURATION_PERIOD_CODE 	= nvl(SERVICE_DURATION_PERIOD_CODE  , AttRec.SERVICE_DURATION_PERIOD_CODE),
994 	SERVICE_STARTING_DELAY 		= nvl(SERVICE_STARTING_DELAY  , AttRec.SERVICE_STARTING_DELAY),
995 	SHELF_LIFE_CODE 		= nvl(SHELF_LIFE_CODE  , AttRec.SHELF_LIFE_CODE),
996 	SHELF_LIFE_DAYS 		= nvl(SHELF_LIFE_DAYS  , AttRec.SHELF_LIFE_DAYS),
997 	SHIPPABLE_ITEM_FLAG 		= nvl(SHIPPABLE_ITEM_FLAG  , AttRec.SHIPPABLE_ITEM_FLAG),
998 	SHIP_MODEL_COMPLETE_FLAG 	= nvl(SHIP_MODEL_COMPLETE_FLAG  , AttRec.SHIP_MODEL_COMPLETE_FLAG),
999 	SHRINKAGE_RATE 			= nvl(SHRINKAGE_RATE  , AttRec.SHRINKAGE_RATE),
1000 	SOURCE_ORGANIZATION_ID 		= nvl(SOURCE_ORGANIZATION_ID  , AttRec.SOURCE_ORGANIZATION_ID),
1001 	SOURCE_SUBINVENTORY 		= nvl(SOURCE_SUBINVENTORY  , AttRec.SOURCE_SUBINVENTORY),
1002 	SOURCE_TYPE 			= nvl(SOURCE_TYPE  , AttRec.SOURCE_TYPE),
1003 	SO_TRANSACTIONS_FLAG 		= nvl(SO_TRANSACTIONS_FLAG  , AttRec.SO_TRANSACTIONS_FLAG),
1004 	START_AUTO_LOT_NUMBER 		= nvl(START_AUTO_LOT_NUMBER  , AttRec.START_AUTO_LOT_NUMBER),
1005 	START_AUTO_SERIAL_NUMBER 	= nvl(START_AUTO_SERIAL_NUMBER  , AttRec.START_AUTO_SERIAL_NUMBER),
1006 	STD_LOT_SIZE 			= nvl(STD_LOT_SIZE  , AttRec.STD_LOT_SIZE),
1007 	STOCK_ENABLED_FLAG 		= nvl(STOCK_ENABLED_FLAG  , AttRec.STOCK_ENABLED_FLAG),
1008 	TAXABLE_FLAG 			= nvl(TAXABLE_FLAG  , AttRec.TAXABLE_FLAG),
1009 	PURCHASING_TAX_CODE 		= nvl(PURCHASING_TAX_CODE  , AttRec.PURCHASING_TAX_CODE),
1010 	TAX_CODE 			= nvl(TAX_CODE  , AttRec.TAX_CODE),
1011 	TIME_BILLABLE_FLAG 		= nvl(TIME_BILLABLE_FLAG  , AttRec.TIME_BILLABLE_FLAG),
1012 	UNIT_OF_ISSUE 			= nvl(UNIT_OF_ISSUE  , AttRec.UNIT_OF_ISSUE),
1013 	UNIT_VOLUME 			= nvl(UNIT_VOLUME  , AttRec.UNIT_VOLUME),
1014 	UNIT_WEIGHT 			= nvl(UNIT_WEIGHT  , AttRec.UNIT_WEIGHT),
1015 	UN_NUMBER_ID 			= nvl(UN_NUMBER_ID  , AttRec.UN_NUMBER_ID),
1016 	VARIABLE_LEAD_TIME 		= nvl(VARIABLE_LEAD_TIME  , AttRec.VARIABLE_LEAD_TIME),
1017 	VOLUME_UOM_CODE 		= nvl(VOLUME_UOM_CODE  , AttRec.VOLUME_UOM_CODE),
1018 	WARRANTY_VENDOR_ID 		= nvl(WARRANTY_VENDOR_ID  , AttRec.WARRANTY_VENDOR_ID),
1019 	WEIGHT_UOM_CODE 		= nvl(WEIGHT_UOM_CODE  , AttRec.WEIGHT_UOM_CODE),
1020 	WIP_SUPPLY_TYPE 		= nvl(WIP_SUPPLY_TYPE  , AttRec.WIP_SUPPLY_TYPE),
1021 	ATO_FORECAST_CONTROL 		= nvl(ATO_FORECAST_CONTROL  , AttRec.ATO_FORECAST_CONTROL),
1022 	RELEASE_TIME_FENCE_CODE 	= nvl(RELEASE_TIME_FENCE_CODE  , AttRec.RELEASE_TIME_FENCE_CODE),
1023 	RELEASE_TIME_FENCE_DAYS 	= nvl(RELEASE_TIME_FENCE_DAYS  , AttRec.RELEASE_TIME_FENCE_DAYS),
1024         CONTAINER_ITEM_FLAG 		= nvl(CONTAINER_ITEM_FLAG  , AttRec.CONTAINER_ITEM_FLAG),
1025 	CONTAINER_TYPE_CODE 		= nvl(CONTAINER_TYPE_CODE  , AttRec.CONTAINER_TYPE_CODE),
1026 	INTERNAL_VOLUME 		= nvl(INTERNAL_VOLUME  , AttRec.INTERNAL_VOLUME),
1027 	MAXIMUM_LOAD_WEIGHT 		= nvl(MAXIMUM_LOAD_WEIGHT  , AttRec.MAXIMUM_LOAD_WEIGHT),
1028 	MINIMUM_FILL_PERCENT 		= nvl(MINIMUM_FILL_PERCENT  , AttRec.MINIMUM_FILL_PERCENT),
1029 	VEHICLE_ITEM_FLAG 		= nvl(VEHICLE_ITEM_FLAG  , AttRec.VEHICLE_ITEM_FLAG),
1030 	CHECK_SHORTAGES_FLAG 		= nvl(CHECK_SHORTAGES_FLAG,AttRec.CHECK_SHORTAGES_FLAG),
1034         OVER_SHIPMENT_TOLERANCE         = nvl(OVER_SHIPMENT_TOLERANCE , AttRec.OVER_SHIPMENT_TOLERANCE ),
1031 	EFFECTIVITY_CONTROL 		= nvl(EFFECTIVITY_CONTROL, AttRec.EFFECTIVITY_CONTROL),
1032         OVERCOMPLETION_TOLERANCE_TYPE   = nvl(OVERCOMPLETION_TOLERANCE_TYPE , AttRec.OVERCOMPLETION_TOLERANCE_TYPE ),
1033         OVERCOMPLETION_TOLERANCE_VALUE  = nvl(OVERCOMPLETION_TOLERANCE_VALUE , AttRec.OVERCOMPLETION_TOLERANCE_VALUE ),
1035         UNDER_SHIPMENT_TOLERANCE        = nvl(UNDER_SHIPMENT_TOLERANCE , AttRec.UNDER_SHIPMENT_TOLERANCE ),
1036         OVER_RETURN_TOLERANCE           = nvl(OVER_RETURN_TOLERANCE , AttRec.OVER_RETURN_TOLERANCE ),
1037         UNDER_RETURN_TOLERANCE          = nvl(UNDER_RETURN_TOLERANCE , AttRec.UNDER_RETURN_TOLERANCE ),
1038         EQUIPMENT_TYPE                  = nvl(EQUIPMENT_TYPE , AttRec.EQUIPMENT_TYPE ),
1039         RECOVERED_PART_DISP_CODE        = nvl(RECOVERED_PART_DISP_CODE , AttRec.RECOVERED_PART_DISP_CODE ),
1040         DEFECT_TRACKING_ON_FLAG         = nvl(DEFECT_TRACKING_ON_FLAG , AttRec.DEFECT_TRACKING_ON_FLAG ),
1041         EVENT_FLAG                      = nvl(EVENT_FLAG , AttRec.EVENT_FLAG ),
1042         ELECTRONIC_FLAG                 = nvl(ELECTRONIC_FLAG , AttRec.ELECTRONIC_FLAG ),
1043         DOWNLOADABLE_FLAG               = nvl(DOWNLOADABLE_FLAG , AttRec.DOWNLOADABLE_FLAG ),
1044         VOL_DISCOUNT_EXEMPT_FLAG        = nvl(VOL_DISCOUNT_EXEMPT_FLAG , AttRec.VOL_DISCOUNT_EXEMPT_FLAG ),
1045         COUPON_EXEMPT_FLAG              = nvl(COUPON_EXEMPT_FLAG , AttRec.COUPON_EXEMPT_FLAG ),
1046         COMMS_NL_TRACKABLE_FLAG         = nvl(COMMS_NL_TRACKABLE_FLAG , AttRec.COMMS_NL_TRACKABLE_FLAG ),
1047         ASSET_CREATION_CODE             = nvl(ASSET_CREATION_CODE , AttRec.ASSET_CREATION_CODE ),
1048         COMMS_ACTIVATION_REQD_FLAG      = nvl(COMMS_ACTIVATION_REQD_FLAG , AttRec.COMMS_ACTIVATION_REQD_FLAG ),
1049         ORDERABLE_ON_WEB_FLAG           = nvl(ORDERABLE_ON_WEB_FLAG , AttRec.ORDERABLE_ON_WEB_FLAG ),
1050         BACK_ORDERABLE_FLAG             = nvl(BACK_ORDERABLE_FLAG , AttRec.BACK_ORDERABLE_FLAG ),
1051         WEB_STATUS                      = nvl(WEB_STATUS, AttRec.WEB_STATUS ),
1052         INDIVISIBLE_FLAG                = nvl(INDIVISIBLE_FLAG, AttRec.INDIVISIBLE_FLAG ),
1053         DIMENSION_UOM_CODE              = nvl(DIMENSION_UOM_CODE , AttRec.DIMENSION_UOM_CODE ),
1054         UNIT_LENGTH                     = nvl(UNIT_LENGTH , AttRec.UNIT_LENGTH ),
1055         UNIT_WIDTH                      = nvl(UNIT_WIDTH , AttRec.UNIT_WIDTH ),
1056         UNIT_HEIGHT                     = nvl(UNIT_HEIGHT , AttRec.UNIT_HEIGHT ),
1057         BULK_PICKED_FLAG                = nvl(BULK_PICKED_FLAG , AttRec.BULK_PICKED_FLAG ),
1058         LOT_STATUS_ENABLED              = nvl(LOT_STATUS_ENABLED , AttRec.LOT_STATUS_ENABLED ),
1059         DEFAULT_LOT_STATUS_ID           = nvl(DEFAULT_LOT_STATUS_ID , AttRec.DEFAULT_LOT_STATUS_ID ),
1060         SERIAL_STATUS_ENABLED           = nvl(SERIAL_STATUS_ENABLED , AttRec.SERIAL_STATUS_ENABLED ),
1061         DEFAULT_SERIAL_STATUS_ID        = nvl(DEFAULT_SERIAL_STATUS_ID , AttRec.DEFAULT_SERIAL_STATUS_ID ),
1062         LOT_SPLIT_ENABLED               = nvl(LOT_SPLIT_ENABLED , AttRec.LOT_SPLIT_ENABLED ),
1063         LOT_MERGE_ENABLED               = nvl(LOT_MERGE_ENABLED , AttRec.LOT_MERGE_ENABLED ),
1064         INVENTORY_CARRY_PENALTY         = nvl(INVENTORY_CARRY_PENALTY , AttRec.INVENTORY_CARRY_PENALTY ),
1065         OPERATION_SLACK_PENALTY         = nvl(OPERATION_SLACK_PENALTY , AttRec.OPERATION_SLACK_PENALTY ),
1066         FINANCING_ALLOWED_FLAG          = nvl(FINANCING_ALLOWED_FLAG , AttRec.FINANCING_ALLOWED_FLAG ),
1067         -- Primary Unit of Measure is now maintained via the PRIMARY_UOM_CODE column.
1068         PRIMARY_UOM_CODE                = decode(PRIMARY_UOM_CODE, NULL,decode(PRIMARY_UNIT_OF_MEASURE,NULL,AttRec.PRIMARY_UOM_CODE ),PRIMARY_UOM_CODE),
1069         EAM_ITEM_TYPE                   = nvl(EAM_ITEM_TYPE, AttRec.EAM_ITEM_TYPE ),
1070         EAM_ACTIVITY_TYPE_CODE          = nvl(EAM_ACTIVITY_TYPE_CODE, AttRec.EAM_ACTIVITY_TYPE_CODE ),
1071         EAM_ACTIVITY_CAUSE_CODE         = nvl(EAM_ACTIVITY_CAUSE_CODE, AttRec.EAM_ACTIVITY_CAUSE_CODE ),
1072         EAM_ACT_NOTIFICATION_FLAG       = nvl(EAM_ACT_NOTIFICATION_FLAG, AttRec.EAM_ACT_NOTIFICATION_FLAG ),
1073         EAM_ACT_SHUTDOWN_STATUS         = nvl(EAM_ACT_SHUTDOWN_STATUS, AttRec.EAM_ACT_SHUTDOWN_STATUS ),
1074         SECONDARY_UOM_CODE              = nvl(SECONDARY_UOM_CODE, AttRec.SECONDARY_UOM_CODE ),
1075         DUAL_UOM_DEVIATION_HIGH         = nvl(DUAL_UOM_DEVIATION_HIGH, AttRec.DUAL_UOM_DEVIATION_HIGH ),
1076         DUAL_UOM_DEVIATION_LOW          = nvl(DUAL_UOM_DEVIATION_LOW, AttRec.DUAL_UOM_DEVIATION_LOW ),
1077         CONTRACT_ITEM_TYPE_CODE         = nvl(CONTRACT_ITEM_TYPE_CODE, AttRec.CONTRACT_ITEM_TYPE_CODE ),
1078         SERV_REQ_ENABLED_CODE		= nvl(SERV_REQ_ENABLED_CODE, AttRec.SERV_REQ_ENABLED_CODE ),
1079         SERV_BILLING_ENABLED_FLAG	= nvl(SERV_BILLING_ENABLED_FLAG, AttRec.SERV_BILLING_ENABLED_FLAG ),
1080         PLANNED_INV_POINT_FLAG		= nvl(PLANNED_INV_POINT_FLAG, AttRec.PLANNED_INV_POINT_FLAG ),
1081         LOT_TRANSLATE_ENABLED		= nvl(LOT_TRANSLATE_ENABLED, AttRec.LOT_TRANSLATE_ENABLED ),
1082         DEFAULT_SO_SOURCE_TYPE		= nvl(DEFAULT_SO_SOURCE_TYPE, AttRec.DEFAULT_SO_SOURCE_TYPE ),
1083         CREATE_SUPPLY_FLAG		= nvl(CREATE_SUPPLY_FLAG, AttRec.CREATE_SUPPLY_FLAG ),
1084         SUBSTITUTION_WINDOW_CODE	= nvl(SUBSTITUTION_WINDOW_CODE, AttRec.SUBSTITUTION_WINDOW_CODE ),
1085         SUBSTITUTION_WINDOW_DAYS	= nvl(SUBSTITUTION_WINDOW_DAYS, AttRec.SUBSTITUTION_WINDOW_DAYS ),
1086         --Added as part of 11.5.9
1087         LOT_SUBSTITUTION_ENABLED        = nvl(LOT_SUBSTITUTION_ENABLED, AttRec.LOT_SUBSTITUTION_ENABLED ),
1088         MINIMUM_LICENSE_QUANTITY        = nvl(MINIMUM_LICENSE_QUANTITY, AttRec.MINIMUM_LICENSE_QUANTITY ),
1089         EAM_ACTIVITY_SOURCE_CODE        = nvl(EAM_ACTIVITY_SOURCE_CODE, AttRec.EAM_ACTIVITY_SOURCE_CODE ),
1090         IB_ITEM_INSTANCE_CLASS          = nvl(IB_ITEM_INSTANCE_CLASS, AttRec.IB_ITEM_INSTANCE_CLASS   ),
1091         CONFIG_MODEL_TYPE               = nvl(CONFIG_MODEL_TYPE, AttRec.CONFIG_MODEL_TYPE        ),
1092          --Added as part of 11.5.10
1096         AUTO_CREATED_CONFIG_FLAG        = nvl(AUTO_CREATED_CONFIG_FLAG, AttRec.AUTO_CREATED_CONFIG_FLAG),
1093         TRACKING_QUANTITY_IND           = nvl(TRACKING_QUANTITY_IND , AttRec.TRACKING_QUANTITY_IND  ),
1094         ONT_PRICING_QTY_SOURCE          = nvl(ONT_PRICING_QTY_SOURCE, AttRec.ONT_PRICING_QTY_SOURCE ),
1095         SECONDARY_DEFAULT_IND           = nvl(SECONDARY_DEFAULT_IND , AttRec.SECONDARY_DEFAULT_IND  ),
1097         CONFIG_ORGS                     = nvl(CONFIG_ORGS, AttRec.CONFIG_ORGS),
1098         CONFIG_MATCH                    = nvl(CONFIG_MATCH, AttRec.CONFIG_MATCH),
1099         VMI_MINIMUM_UNITS               = nvl(VMI_MINIMUM_UNITS, AttRec.VMI_MINIMUM_UNITS),
1100         VMI_MINIMUM_DAYS      		= nvl(VMI_MINIMUM_DAYS, AttRec.VMI_MINIMUM_DAYS),
1101         VMI_MAXIMUM_UNITS     		= nvl(VMI_MAXIMUM_UNITS, AttRec.VMI_MAXIMUM_UNITS),
1102         VMI_MAXIMUM_DAYS      		= nvl(VMI_MAXIMUM_DAYS, AttRec.VMI_MAXIMUM_DAYS),
1103         VMI_FIXED_ORDER_QUANTITY        = nvl(VMI_FIXED_ORDER_QUANTITY, AttRec.VMI_FIXED_ORDER_QUANTITY),
1104         SO_AUTHORIZATION_FLAG      	= nvl(SO_AUTHORIZATION_FLAG, AttRec.SO_AUTHORIZATION_FLAG),
1105         CONSIGNED_FLAG      		= nvl(CONSIGNED_FLAG, AttRec.CONSIGNED_FLAG),
1106         ASN_AUTOEXPIRE_FLAG      	= nvl(ASN_AUTOEXPIRE_FLAG, AttRec.ASN_AUTOEXPIRE_FLAG),
1107         VMI_FORECAST_TYPE      		= nvl(VMI_FORECAST_TYPE, AttRec.VMI_FORECAST_TYPE),
1108         FORECAST_HORIZON      		= nvl(FORECAST_HORIZON, AttRec.FORECAST_HORIZON),
1109         EXCLUDE_FROM_BUDGET_FLAG      	= nvl(EXCLUDE_FROM_BUDGET_FLAG, AttRec.EXCLUDE_FROM_BUDGET_FLAG),
1110         DAYS_TGT_INV_SUPPLY      	= nvl(DAYS_TGT_INV_SUPPLY, AttRec.DAYS_TGT_INV_SUPPLY),
1111         DAYS_TGT_INV_WINDOW      	= nvl(DAYS_TGT_INV_WINDOW, AttRec.DAYS_TGT_INV_WINDOW),
1112         DAYS_MAX_INV_SUPPLY      	= nvl(DAYS_MAX_INV_SUPPLY, AttRec.DAYS_MAX_INV_SUPPLY),
1113         DAYS_MAX_INV_WINDOW      	= nvl(DAYS_MAX_INV_WINDOW, AttRec.DAYS_MAX_INV_WINDOW),
1114         DRP_PLANNED_FLAG      		= nvl(DRP_PLANNED_FLAG, AttRec.DRP_PLANNED_FLAG),
1115         CRITICAL_COMPONENT_FLAG      	= nvl(CRITICAL_COMPONENT_FLAG, AttRec.CRITICAL_COMPONENT_FLAG),
1116         CONTINOUS_TRANSFER      	= nvl(CONTINOUS_TRANSFER, AttRec.CONTINOUS_TRANSFER),
1117         CONVERGENCE      		= nvl(CONVERGENCE, AttRec.CONVERGENCE),
1118         DIVERGENCE      		= nvl(DIVERGENCE, AttRec.DIVERGENCE)   ,
1119         --Start Bug 3713912
1120         LOT_DIVISIBLE_FLAG		= nvl(LOT_DIVISIBLE_FLAG,AttRec.LOT_DIVISIBLE_FLAG),
1121         GRADE_CONTROL_FLAG		= nvl(GRADE_CONTROL_FLAG,AttRec.GRADE_CONTROL_FLAG),
1122         DEFAULT_GRADE		        = nvl(DEFAULT_GRADE,AttRec.DEFAULT_GRADE),
1123         CHILD_LOT_FLAG		        = nvl(CHILD_LOT_FLAG,AttRec.CHILD_LOT_FLAG),
1124         PARENT_CHILD_GENERATION_FLAG    = nvl(PARENT_CHILD_GENERATION_FLAG,AttRec.PARENT_CHILD_GENERATION_FLAG),
1125         CHILD_LOT_PREFIX		= nvl(CHILD_LOT_PREFIX,AttRec.CHILD_LOT_PREFIX),
1126         CHILD_LOT_STARTING_NUMBER	= nvl(CHILD_LOT_STARTING_NUMBER,AttRec.CHILD_LOT_STARTING_NUMBER),
1127         CHILD_LOT_VALIDATION_FLAG	= nvl(CHILD_LOT_VALIDATION_FLAG,AttRec.CHILD_LOT_VALIDATION_FLAG),
1128         COPY_LOT_ATTRIBUTE_FLAG	        = nvl(COPY_LOT_ATTRIBUTE_FLAG,AttRec.COPY_LOT_ATTRIBUTE_FLAG),
1129         RECIPE_ENABLED_FLAG	        = nvl(RECIPE_ENABLED_FLAG,AttRec.RECIPE_ENABLED_FLAG),
1130         PROCESS_QUALITY_ENABLED_FLAG    = nvl(PROCESS_QUALITY_ENABLED_FLAG,AttRec.PROCESS_QUALITY_ENABLED_FLAG),
1131         PROCESS_EXECUTION_ENABLED_FLAG  = nvl(PROCESS_EXECUTION_ENABLED_FLAG,AttRec.PROCESS_EXECUTION_ENABLED_FLAG),
1132         PROCESS_COSTING_ENABLED_FLAG    = nvl(PROCESS_COSTING_ENABLED_FLAG,AttRec.PROCESS_COSTING_ENABLED_FLAG),
1133         HAZARDOUS_MATERIAL_FLAG	        = nvl(HAZARDOUS_MATERIAL_FLAG,AttRec.HAZARDOUS_MATERIAL_FLAG),
1134         CAS_NUMBER			= nvl(CAS_NUMBER,AttRec.CAS_NUMBER),
1135         RETEST_INTERVAL		        = nvl(RETEST_INTERVAL,AttRec.RETEST_INTERVAL),
1136         EXPIRATION_ACTION_INTERVAL	= nvl(EXPIRATION_ACTION_INTERVAL,AttRec.EXPIRATION_ACTION_INTERVAL),
1137         EXPIRATION_ACTION_CODE	        = nvl(EXPIRATION_ACTION_CODE,AttRec.EXPIRATION_ACTION_CODE),
1138         MATURITY_DAYS		        = nvl(MATURITY_DAYS,AttRec.MATURITY_DAYS),
1139         HOLD_DAYS			= nvl(HOLD_DAYS,AttRec.HOLD_DAYS),
1140         --End Bug 3713912
1141 	--R12 Enhancement
1142 	CHARGE_PERIODICITY_CODE         = nvl(CHARGE_PERIODICITY_CODE,AttRec.CHARGE_PERIODICITY_CODE),
1143 	REPAIR_LEADTIME                 = nvl(REPAIR_LEADTIME,AttRec.REPAIR_LEADTIME),
1144         REPAIR_YIELD                    = nvl(REPAIR_YIELD,AttRec.REPAIR_YIELD),
1145 	PREPOSITION_POINT               = nvl(PREPOSITION_POINT,AttRec.PREPOSITION_POINT),
1146         REPAIR_PROGRAM                  = nvl(REPAIR_PROGRAM,AttRec.REPAIR_PROGRAM),
1147 	SUBCONTRACTING_COMPONENT        = nvl(SUBCONTRACTING_COMPONENT,AttRec.SUBCONTRACTING_COMPONENT),
1148 	OUTSOURCED_ASSEMBLY             = nvl(OUTSOURCED_ASSEMBLY,AttRec.OUTSOURCED_ASSEMBLY)
1149      WHERE  process_flag    = 1
1150      AND   set_process_id   = xset_id
1151      AND  ((organization_id = org_id) or (all_org = 1))
1152      AND  template_id       = template_table(i)
1153      AND  transaction_type  = transaction_table(i);
1154 
1155      IF context_orgid IS NOT NULL THEN
1156 
1157         UPDATE MTL_SYSTEM_ITEMS_INTERFACE
1158         SET
1159 	   BASE_ITEM_ID			=	nvl(BASE_ITEM_ID                , AttRec.BASE_ITEM_ID),
1160 	   BASE_WARRANTY_SERVICE_ID 	=	nvl(BASE_WARRANTY_SERVICE_ID    , AttRec.BASE_WARRANTY_SERVICE_ID),
1161 	   COST_OF_SALES_ACCOUNT 	=	nvl(COST_OF_SALES_ACCOUNT       , AttRec.COST_OF_SALES_ACCOUNT),
1162 	   EXPENSE_ACCOUNT 		=	nvl(EXPENSE_ACCOUNT             , AttRec.EXPENSE_ACCOUNT),
1163 	   ENCUMBRANCE_ACCOUNT 		=	nvl(ENCUMBRANCE_ACCOUNT         , AttRec.ENCUMBRANCE_ACCOUNT),
1164 	   PLANNING_EXCEPTION_SET 	=	nvl(PLANNING_EXCEPTION_SET      , AttRec.PLANNING_EXCEPTION_SET),
1168 	   WIP_SUPPLY_SUBINVENTORY 	=	nvl(WIP_SUPPLY_SUBINVENTORY     , AttRec.WIP_SUPPLY_SUBINVENTORY),
1165 	   PLANNER_CODE 		=	nvl(PLANNER_CODE                , AttRec.PLANNER_CODE),
1166 	   SALES_ACCOUNT		=	nvl(SALES_ACCOUNT               , AttRec.SALES_ACCOUNT),
1167 	   WIP_SUPPLY_LOCATOR_ID	=	nvl(WIP_SUPPLY_LOCATOR_ID       , AttRec.WIP_SUPPLY_LOCATOR_ID),
1169 	   --Start Bug 3713912
1170 	   PROCESS_SUPPLY_SUBINVENTORY  =       nvl(PROCESS_SUPPLY_SUBINVENTORY , AttRec.PROCESS_SUPPLY_SUBINVENTORY),
1171            PROCESS_SUPPLY_LOCATOR_ID	=       nvl(PROCESS_SUPPLY_LOCATOR_ID	, AttRec.PROCESS_SUPPLY_LOCATOR_ID),
1172            PROCESS_YIELD_SUBINVENTORY	=       nvl(PROCESS_YIELD_SUBINVENTORY	, AttRec.PROCESS_YIELD_SUBINVENTORY),
1173            PROCESS_YIELD_LOCATOR_ID	=       nvl(PROCESS_YIELD_LOCATOR_ID	, AttRec.PROCESS_YIELD_LOCATOR_ID)
1174            --End Bug 3713912
1175         WHERE process_flag    = 1
1176         AND   set_process_id  = xset_id
1177         AND   organization_id = context_orgid
1178         AND   template_id     = template_table(i)
1179 	AND   transaction_type = transaction_table(i);
1180 
1181      END IF;
1182 
1183 
1184      FOR cr IN global_flex(template_table(i)) LOOP
1185         UPDATE MTL_SYSTEM_ITEMS_INTERFACE
1186         SET
1187            Global_attribute_Category = nvl(Global_attribute_Category,CR.Global_attribute_category),
1188            Global_attribute1 = nvl(Global_attribute1,CR.Global_attribute1),
1189            Global_attribute2 = nvl(Global_attribute2,CR.Global_attribute2),
1190            Global_attribute3 = nvl(Global_attribute3,CR.Global_attribute3),
1191            Global_attribute4 = nvl(Global_attribute4,CR.Global_attribute4),
1192            Global_attribute5 = nvl(Global_attribute5,CR.Global_attribute5),
1193            Global_attribute6 = nvl(Global_attribute6,CR.Global_attribute6),
1194            Global_attribute7 = nvl(Global_attribute7,CR.Global_attribute7),
1195            Global_attribute8 = nvl(Global_attribute8,CR.Global_attribute8),
1196            Global_attribute9 = nvl(Global_attribute9,CR.Global_attribute9),
1197            Global_attribute10 = nvl(Global_attribute10,CR.Global_attribute10),
1198            Global_attribute11 = nvl(Global_attribute11,CR.Global_attribute11),
1199            Global_attribute12 = nvl(Global_attribute12,CR.Global_attribute12),
1200            Global_attribute13 = nvl(Global_attribute13,CR.Global_attribute13),
1201            Global_attribute14 = nvl(Global_attribute14,CR.Global_attribute14),
1202            Global_attribute15 = nvl(Global_attribute15,CR.Global_attribute15),
1203            Global_attribute16 = nvl(Global_attribute16,CR.Global_attribute16),
1204            Global_attribute17 = nvl(Global_attribute17,CR.Global_attribute17),
1205            Global_attribute18 = nvl(Global_attribute18,CR.Global_attribute18),
1206            Global_attribute19 = nvl(Global_attribute19,CR.Global_attribute19),
1207            Global_attribute20 = nvl(Global_attribute20,CR.Global_attribute20)
1208 
1209         WHERE  process_flag    = 1
1210         AND   set_process_id   = xset_id
1211         AND  ((organization_id = org_id) or (all_org = 1))
1212         AND  template_id       = template_table(i)
1213 	AND  transaction_type  = transaction_table(i);
1214      END LOOP;
1215 
1216    END LOOP; -- FIRST .. LAST LOOP
1217    END IF;
1218 
1219    return(0);
1220 
1221 EXCEPTION
1222    WHEN LOGGING_ERR THEN
1223       IF l_inv_debug_level IN(101, 102) THEN
1224          INVPUTLI.info('INVPULI2:LOGGING_ERR : ');
1225       END IF;
1226       RETURN(dumm_status);
1227   WHEN OTHERS THEN
1228      err_text := substr('INVPULI2.copy_template_attributes ' || SQLERRM , 1, 240);
1229      return(SQLCODE);
1230 END copy_template_attributes;
1231 
1232 /*---------------------------------------------------------------------------------
1233 
1234    Procedure for Applying the specfied template to the specified interface row.
1235 
1236 ----------------------------------------------------------------------------------*/
1237 
1238 FUNCTION apply_multiple_template( p_template_tbl IN Import_Template_Tbl_Type
1239                                  ,p_org_id       IN NUMBER
1240                                  ,p_all_org      IN NUMBER  := 2
1241                                  ,p_prog_appid   IN NUMBER  := -1
1242                                  ,p_prog_id      IN NUMBER  := -1
1243                                  ,p_request_id   IN NUMBER  := -1
1244                                  ,p_user_id      IN NUMBER  := -1
1245                                  ,p_login_id     IN NUMBER  := -1
1246                                  ,p_xset_id      IN NUMBER  := -999
1247                                  ,x_err_text     IN OUT NOCOPY VARCHAR2)
1248 RETURN INTEGER
1249 IS
1250    l_ret_status  NUMBER;
1251    dumm_status   NUMBER := 0;
1252    l_template_id NUMBER;
1253    l_index       NUMBER;
1254 BEGIN
1255    IF p_template_tbl IS NOT NULL THEN
1256      l_index := p_template_tbl.FIRST;
1257      WHILE l_index IS NOT NULL
1258      LOOP
1259        l_template_id  :=  p_template_tbl(l_index);
1260        /* Set the template id passed to the Function in the interface row */
1261        UPDATE mtl_system_items_interface
1262           SET template_id = l_template_id
1263         WHERE process_flag = 1
1264           AND set_process_id = p_xset_id
1265           AND((p_all_org = 1) or (organization_id = p_org_id));
1266 
1267        /* Call method to apply template attributes to the rows */
1271                              	                           ,prog_id => p_prog_id
1268        l_ret_status := INVPULI2.copy_template_attributes( org_id => p_org_id
1269                                                          ,all_org => p_all_org
1270  	    		                                             ,prog_appid => p_prog_appid
1272 			                	                              ,request_id => p_request_id
1273                    				                           ,user_id => p_user_id
1274 		                     		                        ,login_id => p_login_id
1275 				                                             ,xset_id => p_xset_id
1276                 				                              ,err_text => x_err_text);
1277        IF l_ret_status <> 0 THEN
1278          RETURN(l_ret_status);
1279        END IF;
1280        l_index := p_template_tbl.next(l_index);
1281      END LOOP;
1282   /* Set the template id back to null in the interface row to avoid reapplication */
1283      UPDATE mtl_system_items_interface
1284         SET template_id = null
1285       WHERE process_flag = 1
1286         AND set_process_id = p_xset_id
1287         AND((p_all_org = 1) or (organization_id = p_org_id));
1288    END IF;
1289    RETURN(0);
1290 EXCEPTION
1291   WHEN others THEN
1292     x_err_text := SUBSTR(SQLERRM,1,240);
1293     RETURN(SQLCODE);
1294 END apply_multiple_template;
1295 
1296 END INVPULI2;