DBA Data[Home] [Help]

PACKAGE BODY: APPS.INVPULI2

Source


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