DBA Data[Home] [Help]

PACKAGE BODY: APPS.EGO_ITEM_PUB

Source


1 PACKAGE BODY EGO_ITEM_PUB AS
2 /* $Header: EGOPITMB.pls 120.22.12010000.2 2008/11/26 22:03:46 akbharga ship $ */
3 
4    G_FILE_NAME       CONSTANT  VARCHAR2(12)  :=  'EGOPITMB.pls';
5    G_PKG_NAME        CONSTANT  VARCHAR2(30)  :=  'EGO_ITEM_PUB';
6 
7    G_USER_ID       NUMBER  :=  FND_GLOBAL.User_Id;
8    G_LOGIN_ID      NUMBER  :=  FND_GLOBAL.Conc_Login_Id;
9 
10    PROCEDURE initialize_item_info
11       (p_inventory_item_id  IN  NUMBER
12       ,p_organization_id    IN  NUMBER
13       ,p_tab_index          IN  INTEGER
14       ,x_item_table         IN OUT NOCOPY EGO_ITEM_PUB.Item_Tbl_Type
15       ,x_return_status      OUT    NOCOPY VARCHAR2
16       ,x_msg_count          OUT    NOCOPY NUMBER);
17 
18    PROCEDURE initialize_template_info
19      (p_template_id         IN  NUMBER
20      ,p_template_name       IN  VARCHAR2
21      ,p_organization_id     IN  NUMBER
22      ,p_organization_code   IN  VARCHAR2
23      ,p_tab_index           IN  INTEGER
24      ,x_item_table          IN   OUT NOCOPY EGO_ITEM_PUB.Item_Tbl_Type
25      ,x_return_status       OUT  NOCOPY VARCHAR2
26      ,x_msg_count           OUT  NOCOPY NUMBER);
27 
28 
29  -----------------------------------------------------------------
30    FUNCTION REPLACE_G_MISS_CHAR(p_value_passed VARCHAR2
31                                ,p_value_set    VARCHAR2)
32    RETURN VARCHAR2 IS
33       l_return_value VARCHAR2(4000);
34    BEGIN
35       IF p_value_passed = G_MISS_CHAR THEN
36          l_return_value := p_value_set;
37       ELSE
38          l_return_value := p_value_passed;
39       END IF;
40       RETURN l_return_value;
41    END REPLACE_G_MISS_CHAR;
42 
43  -----------------------------------------------------------------
44    FUNCTION REPLACE_G_MISS_NUM(p_value_passed NUMBER
45                                ,p_value_set   NUMBER)
46    RETURN NUMBER IS
47       l_return_value NUMBER;
48    BEGIN
49       IF p_value_passed = G_MISS_NUM THEN
50          l_return_value := p_value_set;
51       ELSE
52          l_return_value := p_value_passed;
53       END IF;
54       RETURN l_return_value;
55    END REPLACE_G_MISS_NUM;
56 
57  -----------------------------------------------------------------
58    FUNCTION REPLACE_G_MISS_DATE(p_value_passed DATE
59                                ,p_value_set    DATE)
60    RETURN DATE IS
61       l_return_value DATE;
62    BEGIN
63       IF p_value_passed = G_MISS_DATE THEN
64          l_return_value := p_value_set;
65       ELSE
66          l_return_value := p_value_passed;
67       END IF;
68       RETURN l_return_value;
69    END REPLACE_G_MISS_DATE;
70 
71  -----------------------------------------------------------------
72  -- Write Debug statements to DBMS OUTPUT
73  -----------------------------------------------------------------
74  PROCEDURE Write_Out (p_msg  IN  VARCHAR2) IS
75  BEGIN
76    NULL;
77    --DBMS_OUTPUT.PUT_LINE('['||TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS')||'] '|| p_msg);
78  END;
79 
80  ---------------------------------------------------------------------------
81  -- Procedure to merge the new value in the given Table
82  ---------------------------------------------------------------------------
83  PROCEDURE Merge_new_entry(p_num_table IN OUT NOCOPY EGO_NUMBER_TBL_TYPE,
84                            p_num_value IN NUMBER) IS
85 
86   l_value_exists BOOLEAN := FALSE;
87  BEGIN
88 
89    IF (p_num_table IS NULL) THEN
90 
91      p_num_table := EGO_NUMBER_TBL_TYPE();
92      --WRITE_OUT('NEW Entry, add value to the end: '||p_num_value);
93      p_num_table.EXTEND();
94      p_num_table(p_num_table.LAST) := p_num_value;
95 
96    ELSE --  IF (p_num_table IS NULL)...
97 
98      FOR i IN 1..p_num_table.COUNT LOOP
99       IF (p_num_table(i) = p_num_value) THEN
100         --WRITE_OUT('No need to Add. Value Exists: '||p_num_table(i));
101         l_value_exists := TRUE;
102       END IF;
103      END LOOP; --end: FOR i IN 1..l_num_table.COUNT LOOP
104 
105      IF NOT (l_value_exists) THEN
106        --WRITE_OUT('NEW Entry, add value to the end: '||p_num_value);
107        p_num_table.EXTEND();
108        p_num_table(p_num_table.LAST) := p_num_value;
109      END IF; --end: IF NOT (l_value_exists) THEN
110 
111    END IF; --end: IF (p_num_table IS NULL) THEN
112 
113  END Merge_new_entry;
114 
115  ---------------------------------------------------------------------------
116    PROCEDURE Process_Items(
117       p_api_version        IN           NUMBER
118      ,p_init_msg_list      IN           VARCHAR2   DEFAULT  G_FALSE
119      ,p_commit             IN           VARCHAR2   DEFAULT  G_FALSE
120      ,p_Item_Tbl           IN           EGO_Item_PUB.Item_Tbl_Type
121      ,x_Item_Tbl           OUT NOCOPY   EGO_Item_PUB.Item_Tbl_Type
122      ,p_Role_Grant_Tbl     IN           EGO_Item_PUB.Role_Grant_Tbl_Type  DEFAULT  EGO_Item_PUB.G_MISS_Role_Grant_Tbl
123      ,x_return_status      OUT NOCOPY   VARCHAR2
124      ,x_msg_count          OUT NOCOPY   NUMBER) IS
125 
126       l_api_name    CONSTANT    VARCHAR2(30)  :=  'Process_Items';
127       l_api_version CONSTANT    NUMBER        :=  1.0;
128       l_return_status           VARCHAR2(1)   :=  G_MISS_CHAR;
129       l_tab_index               NUMBER        := p_Item_Tbl.FIRST;
130       l_item_tbl                EGO_Item_PUB.Item_Tbl_Type;
131 
132    BEGIN
133 
134       x_return_status := G_RET_STS_SUCCESS;
135 
136       -- Check for call compatibility
137       IF NOT FND_API.Compatible_API_Call ( l_api_version, p_api_version,
138                                         l_api_name, G_PKG_NAME )
139       THEN
140          RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
141       END IF;
142 
143       -- Initialize message list
144       IF FND_API.To_Boolean (p_init_msg_list) THEN
145          Error_Handler.Initialize;
146       END IF;
147 
148       -- Set business object identifier in the System Information record
149       Error_Handler.Set_BO_Identifier ( p_bo_identifier  =>  G_BO_Identifier );
150 
151       l_item_tbl := p_Item_Tbl;
152       -- Store items input data in the global table so that the business object
153       -- data are accessible without copying to all procedures.
154 
155       WHILE l_tab_index <=  p_Item_Tbl.LAST LOOP
156 
157          IF ((p_Item_Tbl(l_tab_index).Transaction_Type = G_TTYPE_CREATE)
158          AND(p_Item_Tbl(l_tab_index).item_catalog_group_id IS NULL
159           OR p_Item_Tbl(l_tab_index).item_catalog_group_id = G_MISS_NUM
160           OR NOT INVIDIT3.CHECK_NPR_CATALOG(p_Item_Tbl(l_tab_index).item_catalog_group_id)))
161          THEN
162 
163             IF  p_Item_Tbl(l_tab_index).copy_inventory_item_Id IS NOT NULL
164             AND p_Item_Tbl(l_tab_index).copy_inventory_item_Id <> G_MISS_NUM  THEN
165 
166                initialize_item_info(
167                    p_inventory_item_id  => p_Item_Tbl(l_tab_index).copy_inventory_item_Id
168                   ,p_organization_id    => p_Item_Tbl(l_tab_index).organization_id
169                   ,p_tab_index          => l_tab_index
170                   ,x_item_table         => l_item_tbl
171                   ,x_return_status      => x_return_status
172                   ,x_msg_count          => x_msg_count);
173 
174                IF x_return_status = G_RET_STS_ERROR THEN
175                   RAISE FND_API.G_EXC_ERROR;
176                ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
177                   RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
178                END IF;
179 
180             END IF;
181 
182          END IF;
183          l_tab_index := l_tab_index + 1;
184       END LOOP;
185 
186       EGO_Item_PVT.G_Item_Tbl  :=  l_item_tbl;
187 
188       -- Call the Private API to process items table.
189 
190       EGO_Item_PVT.Process_Items (
191          p_commit          =>  p_commit
192         ,x_return_status   =>  l_return_status
193         ,x_msg_count       =>  x_msg_count  );
194 
195       x_return_status  :=  l_return_status;
196       x_Item_Tbl  :=  EGO_Item_PVT.G_Item_Tbl;
197 
198    EXCEPTION
199       WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
200          x_return_status := G_RET_STS_UNEXP_ERROR;
201       WHEN others THEN
202          x_return_status  :=  G_RET_STS_UNEXP_ERROR;
203          EGO_Item_Msg.Add_Error_Message ( EGO_Item_PVT.G_Item_indx, 'INV', 'INV_ITEM_UNEXPECTED_ERROR',
204                                        'PACKAGE_NAME', G_PKG_NAME, FALSE,
205                                        'PROCEDURE_NAME', l_api_name, FALSE,
206                                        'ERROR_TEXT', SQLERRM, FALSE );
207    END Process_Items;
208 
209  ---------------------------------------------------------------------------
210    PROCEDURE Process_Item(
211       p_api_version             IN      NUMBER
212      ,p_init_msg_list           IN      VARCHAR2   DEFAULT  G_FALSE
213      ,p_commit                  IN      VARCHAR2   DEFAULT  G_FALSE
214    -- Transaction data
215      ,p_Transaction_Type        IN      VARCHAR2   DEFAULT  G_MISS_CHAR
216      ,p_Language_Code           IN      VARCHAR2   DEFAULT  G_MISS_CHAR
217    -- Copy item from
218      ,p_Template_Id             IN      NUMBER     DEFAULT  NULL
219      ,p_Template_Name           IN      VARCHAR2   DEFAULT  NULL
220    -- Item identifier
221      ,p_Inventory_Item_Id       IN      NUMBER     DEFAULT  G_MISS_NUM
222      ,p_Item_Number             IN      VARCHAR2   DEFAULT  G_MISS_CHAR
223      ,p_Segment1                IN      VARCHAR2   DEFAULT  G_MISS_CHAR
224      ,p_Segment2                IN      VARCHAR2   DEFAULT  G_MISS_CHAR
225      ,p_Segment3                IN      VARCHAR2   DEFAULT  G_MISS_CHAR
226      ,p_Segment4                IN      VARCHAR2   DEFAULT  G_MISS_CHAR
227      ,p_Segment5                IN      VARCHAR2   DEFAULT  G_MISS_CHAR
228      ,p_Segment6                IN      VARCHAR2   DEFAULT  G_MISS_CHAR
229      ,p_Segment7                IN      VARCHAR2   DEFAULT  G_MISS_CHAR
230      ,p_Segment8                IN      VARCHAR2   DEFAULT  G_MISS_CHAR
231      ,p_Segment9                IN      VARCHAR2   DEFAULT  G_MISS_CHAR
232      ,p_Segment10               IN      VARCHAR2   DEFAULT  G_MISS_CHAR
233      ,p_Segment11               IN      VARCHAR2   DEFAULT  G_MISS_CHAR
234      ,p_Segment12               IN      VARCHAR2   DEFAULT  G_MISS_CHAR
235      ,p_Segment13               IN      VARCHAR2   DEFAULT  G_MISS_CHAR
236      ,p_Segment14               IN      VARCHAR2   DEFAULT  G_MISS_CHAR
237      ,p_Segment15               IN      VARCHAR2   DEFAULT  G_MISS_CHAR
238      ,p_Segment16               IN      VARCHAR2   DEFAULT  G_MISS_CHAR
239      ,p_Segment17               IN      VARCHAR2   DEFAULT  G_MISS_CHAR
240      ,p_Segment18               IN      VARCHAR2   DEFAULT  G_MISS_CHAR
241      ,p_Segment19               IN      VARCHAR2   DEFAULT  G_MISS_CHAR
242      ,p_Segment20               IN      VARCHAR2   DEFAULT  G_MISS_CHAR
243      ,p_Object_Version_Number   IN      NUMBER     DEFAULT  G_MISS_NUM
244    -- New Item segments Bug:2806390
245      ,p_New_Item_Number         IN      VARCHAR2   DEFAULT   G_MISS_CHAR
246      ,p_New_Segment1            IN      VARCHAR2   DEFAULT   G_MISS_CHAR
247      ,p_New_Segment2            IN      VARCHAR2   DEFAULT   G_MISS_CHAR
248      ,p_New_Segment3            IN      VARCHAR2   DEFAULT   G_MISS_CHAR
249      ,p_New_Segment4            IN      VARCHAR2   DEFAULT   G_MISS_CHAR
250      ,p_New_Segment5            IN      VARCHAR2   DEFAULT   G_MISS_CHAR
251      ,p_New_Segment6            IN      VARCHAR2   DEFAULT   G_MISS_CHAR
252      ,p_New_Segment7            IN      VARCHAR2   DEFAULT   G_MISS_CHAR
253      ,p_New_Segment8            IN      VARCHAR2   DEFAULT   G_MISS_CHAR
254      ,p_New_Segment9            IN      VARCHAR2   DEFAULT   G_MISS_CHAR
255      ,p_New_Segment10           IN      VARCHAR2   DEFAULT   G_MISS_CHAR
256      ,p_New_Segment11           IN      VARCHAR2   DEFAULT   G_MISS_CHAR
257      ,p_New_Segment12           IN      VARCHAR2   DEFAULT   G_MISS_CHAR
258      ,p_New_Segment13           IN      VARCHAR2   DEFAULT   G_MISS_CHAR
259      ,p_New_Segment14           IN      VARCHAR2   DEFAULT   G_MISS_CHAR
260      ,p_New_Segment15           IN      VARCHAR2   DEFAULT   G_MISS_CHAR
261      ,p_New_Segment16           IN      VARCHAR2   DEFAULT   G_MISS_CHAR
262      ,p_New_Segment17           IN      VARCHAR2   DEFAULT   G_MISS_CHAR
263      ,p_New_Segment18           IN      VARCHAR2   DEFAULT   G_MISS_CHAR
264      ,p_New_Segment19           IN      VARCHAR2   DEFAULT   G_MISS_CHAR
265      ,p_New_Segment20           IN      VARCHAR2   DEFAULT   G_MISS_CHAR
266    -- Organization
267      ,p_Organization_Id         IN      NUMBER          DEFAULT  G_MISS_NUM
268      ,p_Organization_Code       IN      VARCHAR2        DEFAULT  G_MISS_CHAR
269    -- Item catalog group
270      ,p_Item_Catalog_Group_Id   IN      NUMBER          DEFAULT  G_MISS_NUM
271      ,p_Catalog_Status_Flag     IN      VARCHAR2        DEFAULT  G_MISS_CHAR
272    -- Lifecycle
273      ,p_Lifecycle_Id            IN      NUMBER          DEFAULT  G_MISS_NUM
274      ,p_Current_Phase_Id        IN      NUMBER          DEFAULT  G_MISS_NUM
275    -- Main attributes
276      ,p_Description             IN      VARCHAR2        DEFAULT  G_MISS_CHAR
277      ,p_Long_Description        IN      VARCHAR2        DEFAULT  G_MISS_CHAR
278      ,p_Primary_Uom_Code        IN      VARCHAR2        DEFAULT  G_MISS_CHAR
279      ,p_Inventory_Item_Status_Code IN   VARCHAR2        DEFAULT  G_MISS_CHAR
280    -- BOM/Eng
281      ,p_Bom_Enabled_Flag        IN      VARCHAR2        DEFAULT  G_MISS_CHAR
282      ,p_Eng_Item_Flag           IN      VARCHAR2        DEFAULT  G_MISS_CHAR
283    -- Role Grant
284      ,p_Role_Id                 IN      NUMBER          DEFAULT  G_MISS_NUM
285      ,p_Role_Name               IN      VARCHAR2        DEFAULT  G_MISS_CHAR
286      ,p_Grantee_Party_Type      IN      VARCHAR2        DEFAULT  G_MISS_CHAR
287      ,p_Grantee_Party_Id        IN      NUMBER          DEFAULT  G_MISS_NUM
288      ,p_Grantee_Party_Name      IN      VARCHAR2        DEFAULT  G_MISS_CHAR
289      ,p_Grant_Start_Date        IN      DATE            DEFAULT  G_MISS_DATE
290      ,p_Grant_End_Date          IN      DATE            DEFAULT  G_MISS_DATE
291    -- Returned item id
292      ,x_Inventory_Item_Id       OUT NOCOPY      NUMBER
293      ,x_Organization_Id         OUT NOCOPY      NUMBER
294      ,x_return_status           OUT NOCOPY      VARCHAR2
295      ,x_msg_count               OUT NOCOPY      NUMBER) IS
296 
297       l_api_name       CONSTANT    VARCHAR2(30)      :=  'Process_Item';
298       l_api_version    CONSTANT    NUMBER            :=  1.0;
299       l_return_status          VARCHAR2(1)       :=  G_MISS_CHAR;
300       l_Item_Tbl           EGO_Item_PUB.Item_Tbl_Type;
301       l_Item_Tbl_out               EGO_Item_PUB.Item_Tbl_Type;
302       indx                         BINARY_INTEGER    :=  1;
303 
304    BEGIN
305       l_Item_Tbl(indx).Transaction_Type         :=  p_Transaction_Type;
306       l_Item_Tbl(indx).Language_Code        :=  p_Language_Code;
307     -- Copy item from
308       l_Item_Tbl(indx).Template_Id      :=  p_Template_Id;
309       l_Item_Tbl(indx).Template_Name        :=  p_Template_Name;
310     -- Item identifier
311       l_Item_Tbl(indx).Inventory_Item_Id    :=  p_Inventory_Item_Id;
312       l_Item_Tbl(indx).Item_Number      :=  p_Item_Number;
313       l_Item_Tbl(indx).Segment1         :=  p_Segment1;
314       l_Item_Tbl(indx).Segment2         :=  p_Segment2;
315       l_Item_Tbl(indx).Segment3         :=  p_Segment3;
316       l_Item_Tbl(indx).Segment4         :=  p_Segment4;
317       l_Item_Tbl(indx).Segment5         :=  p_Segment5;
318       l_Item_Tbl(indx).Segment6         :=  p_Segment6;
319       l_Item_Tbl(indx).Segment7         :=  p_Segment7;
320       l_Item_Tbl(indx).Segment8         :=  p_Segment8;
321       l_Item_Tbl(indx).Segment9         :=  p_Segment9;
322       l_Item_Tbl(indx).Segment10        :=  p_Segment10;
323       l_Item_Tbl(indx).Segment11        :=  p_Segment11;
324       l_Item_Tbl(indx).Segment12        :=  p_Segment12;
325       l_Item_Tbl(indx).Segment13        :=  p_Segment13;
326       l_Item_Tbl(indx).Segment14        :=  p_Segment14;
327       l_Item_Tbl(indx).Segment15        :=  p_Segment15;
328       l_Item_Tbl(indx).Segment16        :=  p_Segment16;
329       l_Item_Tbl(indx).Segment17        :=  p_Segment17;
330       l_Item_Tbl(indx).Segment18        :=  p_Segment18;
331       l_Item_Tbl(indx).Segment19        :=  p_Segment19;
332       l_Item_Tbl(indx).Segment20        :=  p_Segment20;
333       l_Item_Tbl(indx).Object_Version_Number    :=  p_Object_Version_Number;
334    -- Organization
335       l_Item_Tbl(indx).Organization_Id      :=  p_Organization_Id;
336       l_Item_Tbl(indx).Organization_Code    :=  p_Organization_Code;
337    -- Item catalog group
338       l_Item_Tbl(indx).Item_Catalog_Group_Id    :=  p_Item_Catalog_Group_Id;
339       l_Item_Tbl(indx).Catalog_Status_Flag  :=  p_Catalog_Status_Flag;
340    -- Lifecycle
341       l_Item_Tbl(indx).Lifecycle_Id     :=  p_Lifecycle_Id;
342       l_Item_Tbl(indx).Current_Phase_Id     :=  p_Current_Phase_Id;
343    -- Main attributes
344       l_Item_Tbl(indx).Description      :=  p_Description;
345       l_Item_Tbl(indx).Long_Description     :=  p_Long_Description;
346       l_Item_Tbl(indx).Primary_Uom_Code     :=  p_Primary_Uom_Code;
347       l_Item_Tbl(indx).Inventory_Item_Status_Code  :=  p_Inventory_Item_Status_Code;
348    -- BoM/Eng
349       l_Item_Tbl(indx).Bom_Enabled_Flag     :=  p_Bom_Enabled_Flag;
350       l_Item_Tbl(indx).Eng_Item_Flag        :=  p_Eng_Item_Flag;
351 
352       --Bug:2806390 Update Item segments
353       IF (p_Transaction_Type = G_TTYPE_UPDATE) THEN
354          Update_Item_Number(
355             p_Inventory_Item_Id
356          ,  p_Item_Number
357          ,  p_Segment1
358          ,  p_Segment2
359          ,  p_Segment3
360          ,  p_Segment4
361          ,  p_Segment5
362          ,  p_Segment6
363          ,  p_Segment7
364          ,  p_Segment8
365          ,  p_Segment9
366          ,  p_Segment10
367          ,  p_Segment11
368          ,  p_Segment12
369          ,  p_Segment13
370          ,  p_Segment14
371          ,  p_Segment15
372          ,  p_Segment16
373          ,  p_Segment17
374          ,  p_Segment18
375          ,  p_Segment19
376          ,  p_Segment20
377          ,  p_New_Segment1
378          ,  p_New_Segment2
379          ,  p_New_Segment3
380          ,  p_New_Segment4
381          ,  p_New_Segment5
382          ,  p_New_Segment6
383          ,  p_New_Segment7
384          ,  p_New_Segment8
385          ,  p_New_Segment9
386          ,  p_New_Segment10
387          ,  p_New_Segment11
388          ,  p_New_Segment12
389          ,  p_New_Segment13
390          ,  p_New_Segment14
391          ,  p_New_Segment15
392          ,  p_New_Segment16
393          ,  p_New_Segment17
394          ,  p_New_Segment18
395          ,  p_New_Segment19
396          ,  p_New_Segment20
397          ,  l_Item_Tbl
398          ,  l_return_status);
399 
400          IF (l_return_status <>  FND_API.G_RET_STS_SUCCESS ) THEN
401             x_msg_count := NVL(x_msg_count,0)+1; --Bug:3947619
402          END IF;
403 
404       END IF;
405 
406       IF (l_return_status IN (FND_API.G_RET_STS_SUCCESS,G_MISS_CHAR) ) THEN
407        EGO_Item_PUB.Process_Items(
408           p_api_version    =>  1.0
409        ,  p_init_msg_list  =>  p_init_msg_list
410        ,  p_commit         =>  p_commit
411        ,  p_Item_Tbl       =>  l_Item_Tbl
412        ,  x_Item_Tbl       =>  l_Item_Tbl_out
413        ,  x_return_status  =>  l_return_status
414        ,  x_msg_count      =>  x_msg_count );
415    END IF;
416 
417    x_Inventory_Item_Id  :=  l_Item_Tbl_out(indx).Inventory_Item_Id;
418    x_Organization_Id    :=  l_Item_Tbl_out(indx).Organization_Id;
419 
420    x_return_status  :=  l_return_status;
421 
422    EXCEPTION
423       WHEN OTHERS THEN
424          x_return_status  :=  G_RET_STS_UNEXP_ERROR;
425          EGO_Item_Msg.Add_Error_Message ( indx, 'INV', 'INV_ITEM_UNEXPECTED_ERROR',
426                                        'PACKAGE_NAME', G_PKG_NAME, FALSE,
427                                        'PROCEDURE_NAME', l_api_name, FALSE,
428                                        'ERROR_TEXT', SQLERRM, FALSE );
429 
430    END Process_Item;
431 
432  ---------------------------------------------------------------------------
433   --Added for bug 5997870. Will clear the session variable in the INVUPD2B package
434    PROCEDURE Clear_Object_Version_Values IS
435    BEGIN
436      INVUPD2B.obj_ver_rec.inventory_item_id :=  NULL;
437      INVUPD2B.obj_ver_rec.org_id :=  NULL;
438      INVUPD2B.obj_ver_rec.Object_Version_Number := NULL;
439    END;
440 
441  ---------------------------------------------------------------------------
442    PROCEDURE Process_Item(
443       p_api_version                    IN   NUMBER
444      ,p_init_msg_list                  IN   VARCHAR2   DEFAULT  G_FALSE
445      ,p_commit                         IN   VARCHAR2   DEFAULT  G_FALSE
446    -- Transaction data
447      ,p_Transaction_Type               IN   VARCHAR2   DEFAULT  G_MISS_CHAR
448      ,p_Language_Code                  IN   VARCHAR2   DEFAULT  G_MISS_CHAR
449    -- Copy item from template
450      ,p_Template_Id                    IN   NUMBER     DEFAULT  NULL
451      ,p_Template_Name                  IN   VARCHAR2   DEFAULT  NULL
452    -- Copy item from another item
453      ,p_copy_inventory_item_Id         IN   NUMBER     DEFAULT  G_MISS_NUM
454    -- Base Attributes
455      ,p_inventory_item_id              IN   NUMBER     DEFAULT  G_MISS_NUM
456      ,p_organization_id                IN   NUMBER     DEFAULT  G_MISS_NUM
457      ,p_master_organization_id         IN   NUMBER     DEFAULT  G_MISS_NUM
458      ,p_description                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
459      ,p_long_description               IN   VARCHAR2   DEFAULT  G_MISS_CHAR
460      ,p_primary_uom_code               IN   VARCHAR2   DEFAULT  G_MISS_CHAR
461      ,p_primary_unit_of_measure        IN   VARCHAR2   DEFAULT  G_MISS_CHAR
462      ,p_item_type                      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
463      ,p_inventory_item_status_code     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
464      ,p_allowed_units_lookup_code      IN   NUMBER     DEFAULT  G_MISS_NUM
465      ,p_item_catalog_group_id          IN   NUMBER     DEFAULT  G_MISS_NUM
466      ,p_catalog_status_flag            IN   VARCHAR2   DEFAULT  G_MISS_CHAR
467      ,p_inventory_item_flag            IN   VARCHAR2   DEFAULT  G_MISS_CHAR
468      ,p_stock_enabled_flag             IN   VARCHAR2   DEFAULT  G_MISS_CHAR
469      ,p_mtl_transactions_enabled_fl    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
470      ,p_check_shortages_flag           IN   VARCHAR2   DEFAULT  G_MISS_CHAR
471      ,p_revision_qty_control_code      IN   NUMBER     DEFAULT  G_MISS_NUM
472      ,p_reservable_type                IN   NUMBER     DEFAULT  G_MISS_NUM
473      ,p_shelf_life_code                IN   NUMBER     DEFAULT  G_MISS_NUM
474      ,p_shelf_life_days                IN   NUMBER     DEFAULT  G_MISS_NUM
475      ,p_cycle_count_enabled_flag       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
476      ,p_negative_measurement_error     IN   NUMBER     DEFAULT  G_MISS_NUM
477      ,p_positive_measurement_error     IN   NUMBER     DEFAULT  G_MISS_NUM
478      ,p_lot_control_code               IN   NUMBER     DEFAULT  G_MISS_NUM
479      ,p_auto_lot_alpha_prefix          IN   VARCHAR2   DEFAULT  G_MISS_CHAR
480      ,p_start_auto_lot_number          IN   VARCHAR2   DEFAULT  G_MISS_CHAR
481      ,p_serial_number_control_code     IN   NUMBER     DEFAULT  G_MISS_NUM
482      ,p_auto_serial_alpha_prefix       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
483      ,p_start_auto_serial_number       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
484      ,p_location_control_code          IN   NUMBER     DEFAULT  G_MISS_NUM
485      ,p_restrict_subinventories_cod    IN   NUMBER     DEFAULT  G_MISS_NUM
486      ,p_restrict_locators_code         IN   NUMBER     DEFAULT  G_MISS_NUM
487      ,p_bom_enabled_flag               IN   VARCHAR2   DEFAULT  G_MISS_CHAR
488      ,p_bom_item_type                  IN   NUMBER     DEFAULT  G_MISS_NUM
489      ,p_base_item_id                   IN   NUMBER     DEFAULT  G_MISS_NUM
490      ,p_effectivity_control            IN   NUMBER     DEFAULT  G_MISS_NUM
491      ,p_eng_item_flag                  IN   VARCHAR2   DEFAULT  G_MISS_CHAR
492      ,p_engineering_ecn_code           IN   VARCHAR2   DEFAULT  G_MISS_CHAR
493      ,p_engineering_item_id            IN   NUMBER     DEFAULT  G_MISS_NUM
494      ,p_engineering_date               IN   DATE       DEFAULT  G_MISS_DATE
495      ,p_product_family_item_id         IN   NUMBER     DEFAULT  G_MISS_NUM
496      ,p_auto_created_config_flag       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
497      ,p_model_config_clause_name       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
498    -- attribute not in the form
499      ,p_new_revision_code              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
500      ,p_costing_enabled_flag           IN   VARCHAR2   DEFAULT  G_MISS_CHAR
501      ,p_inventory_asset_flag           IN   VARCHAR2   DEFAULT  G_MISS_CHAR
502      ,p_default_include_in_rollup_f    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
503      ,p_cost_of_sales_account          IN   NUMBER     DEFAULT  G_MISS_NUM
504      ,p_std_lot_size                   IN   NUMBER     DEFAULT  G_MISS_NUM
505      ,p_purchasing_item_flag           IN   VARCHAR2   DEFAULT  G_MISS_CHAR
506      ,p_purchasing_enabled_flag        IN   VARCHAR2   DEFAULT  G_MISS_CHAR
507      ,p_must_use_approved_vendor_fl    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
508      ,p_allow_item_desc_update_flag    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
509      ,p_rfq_required_flag              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
510      ,p_outside_operation_flag         IN   VARCHAR2   DEFAULT  G_MISS_CHAR
511      ,p_outside_operation_uom_type     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
512      ,p_taxable_flag                   IN   VARCHAR2   DEFAULT  G_MISS_CHAR
513      ,p_purchasing_tax_code            IN   VARCHAR2   DEFAULT  G_MISS_CHAR
514      ,p_receipt_required_flag          IN   VARCHAR2   DEFAULT  G_MISS_CHAR
515      ,p_inspection_required_flag       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
516      ,p_buyer_id                       IN   NUMBER     DEFAULT  G_MISS_NUM
517      ,p_unit_of_issue                  IN   VARCHAR2   DEFAULT  G_MISS_CHAR
518      ,p_receive_close_tolerance        IN   NUMBER     DEFAULT  G_MISS_NUM
519      ,p_invoice_close_tolerance        IN   NUMBER     DEFAULT  G_MISS_NUM
520      ,p_un_number_id                   IN   NUMBER     DEFAULT  G_MISS_NUM
521      ,p_hazard_class_id                IN   NUMBER     DEFAULT  G_MISS_NUM
522      ,p_list_price_per_unit            IN   NUMBER     DEFAULT  G_MISS_NUM
523      ,p_market_price                   IN   NUMBER     DEFAULT  G_MISS_NUM
524      ,p_price_tolerance_percent        IN   NUMBER     DEFAULT  G_MISS_NUM
525      ,p_rounding_factor                IN   NUMBER     DEFAULT  G_MISS_NUM
526      ,p_encumbrance_account            IN   NUMBER     DEFAULT  G_MISS_NUM
527      ,p_expense_account                IN   NUMBER     DEFAULT  G_MISS_NUM
528      ,p_expense_billable_flag          IN   VARCHAR2   DEFAULT  G_MISS_CHAR
529      ,p_asset_category_id              IN   NUMBER     DEFAULT  G_MISS_NUM
530      ,p_receipt_days_exception_code    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
531      ,p_days_early_receipt_allowed     IN   NUMBER     DEFAULT  G_MISS_NUM
532      ,p_days_late_receipt_allowed      IN   NUMBER     DEFAULT  G_MISS_NUM
533      ,p_allow_substitute_receipts_f    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
534      ,p_allow_unordered_receipts_fl    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
535      ,p_allow_express_delivery_flag    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
536      ,p_qty_rcv_exception_code         IN   VARCHAR2   DEFAULT  G_MISS_CHAR
537      ,p_qty_rcv_tolerance              IN   NUMBER     DEFAULT  G_MISS_NUM
538      ,p_receiving_routing_id           IN   NUMBER     DEFAULT  G_MISS_NUM
539      ,p_enforce_ship_to_location_c     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
540      ,p_weight_uom_code                IN   VARCHAR2   DEFAULT  G_MISS_CHAR
541      ,p_unit_weight                    IN   NUMBER     DEFAULT  G_MISS_NUM
542      ,p_volume_uom_code                IN   VARCHAR2   DEFAULT  G_MISS_CHAR
543      ,p_unit_volume                    IN   NUMBER     DEFAULT  G_MISS_NUM
544      ,p_container_item_flag            IN   VARCHAR2   DEFAULT  G_MISS_CHAR
545      ,p_vehicle_item_flag              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
546      ,p_container_type_code            IN   VARCHAR2   DEFAULT  G_MISS_CHAR
547      ,p_internal_volume                IN   NUMBER     DEFAULT  G_MISS_NUM
548      ,p_maximum_load_weight            IN   NUMBER     DEFAULT  G_MISS_NUM
549      ,p_minimum_fill_percent           IN   NUMBER     DEFAULT  G_MISS_NUM
550      ,p_inventory_planning_code        IN   NUMBER     DEFAULT  G_MISS_NUM
551      ,p_planner_code                   IN   VARCHAR2   DEFAULT  G_MISS_CHAR
552      ,p_planning_make_buy_code         IN   NUMBER     DEFAULT  G_MISS_NUM
553      ,p_min_minmax_quantity            IN   NUMBER     DEFAULT  G_MISS_NUM
554      ,p_max_minmax_quantity            IN   NUMBER     DEFAULT  G_MISS_NUM
555      ,p_minimum_order_quantity         IN   NUMBER     DEFAULT  G_MISS_NUM
556      ,p_maximum_order_quantity         IN   NUMBER     DEFAULT  G_MISS_NUM
557      ,p_order_cost                     IN   NUMBER     DEFAULT  G_MISS_NUM
558      ,p_carrying_cost                  IN   NUMBER     DEFAULT  G_MISS_NUM
559      ,p_source_type                    IN   NUMBER     DEFAULT  G_MISS_NUM
560      ,p_source_organization_id         IN   NUMBER     DEFAULT  G_MISS_NUM
561      ,p_source_subinventory            IN   VARCHAR2   DEFAULT  G_MISS_CHAR
562      ,p_mrp_safety_stock_code          IN   NUMBER     DEFAULT  G_MISS_NUM
563      ,p_safety_stock_bucket_days       IN   NUMBER     DEFAULT  G_MISS_NUM
564      ,p_mrp_safety_stock_percent       IN   NUMBER     DEFAULT  G_MISS_NUM
565      ,p_fixed_order_quantity           IN   NUMBER     DEFAULT  G_MISS_NUM
566      ,p_fixed_days_supply              IN   NUMBER     DEFAULT  G_MISS_NUM
567      ,p_fixed_lot_multiplier           IN   NUMBER     DEFAULT  G_MISS_NUM
568      ,p_mrp_planning_code              IN   NUMBER     DEFAULT  G_MISS_NUM
569      ,p_ato_forecast_control           IN   NUMBER     DEFAULT  G_MISS_NUM
570      ,p_planning_exception_set         IN   VARCHAR2   DEFAULT  G_MISS_CHAR
571      ,p_end_assembly_pegging_flag      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
572      ,p_shrinkage_rate                 IN   NUMBER     DEFAULT  G_MISS_NUM
573      ,p_rounding_control_type          IN   NUMBER     DEFAULT  G_MISS_NUM
574      ,p_acceptable_early_days          IN   NUMBER     DEFAULT  G_MISS_NUM
575      ,p_repetitive_planning_flag       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
576      ,p_overrun_percentage             IN   NUMBER     DEFAULT  G_MISS_NUM
577      ,p_acceptable_rate_increase       IN   NUMBER     DEFAULT  G_MISS_NUM
578      ,p_acceptable_rate_decrease       IN   NUMBER     DEFAULT  G_MISS_NUM
579      ,p_mrp_calculate_atp_flag         IN   VARCHAR2   DEFAULT  G_MISS_CHAR
580      ,p_auto_reduce_mps                IN   NUMBER     DEFAULT  G_MISS_NUM
581      ,p_planning_time_fence_code       IN   NUMBER     DEFAULT  G_MISS_NUM
582      ,p_planning_time_fence_days       IN   NUMBER     DEFAULT  G_MISS_NUM
583      ,p_demand_time_fence_code         IN   NUMBER     DEFAULT  G_MISS_NUM
584      ,p_demand_time_fence_days         IN   NUMBER     DEFAULT  G_MISS_NUM
585      ,p_release_time_fence_code        IN   NUMBER     DEFAULT  G_MISS_NUM
586      ,p_release_time_fence_days        IN   NUMBER     DEFAULT  G_MISS_NUM
587      ,p_preprocessing_lead_time        IN   NUMBER     DEFAULT  G_MISS_NUM
588      ,p_full_lead_time                 IN   NUMBER     DEFAULT  G_MISS_NUM
589      ,p_postprocessing_lead_time       IN   NUMBER     DEFAULT  G_MISS_NUM
590      ,p_fixed_lead_time                IN   NUMBER     DEFAULT  G_MISS_NUM
591      ,p_variable_lead_time             IN   NUMBER     DEFAULT  G_MISS_NUM
592      ,p_cum_manufacturing_lead_time    IN   NUMBER     DEFAULT  G_MISS_NUM
593      ,p_cumulative_total_lead_time     IN   NUMBER     DEFAULT  G_MISS_NUM
594      ,p_lead_time_lot_size             IN   NUMBER     DEFAULT  G_MISS_NUM
595      ,p_build_in_wip_flag              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
596      ,p_wip_supply_type                IN   NUMBER     DEFAULT  G_MISS_NUM
597      ,p_wip_supply_subinventory        IN   VARCHAR2   DEFAULT  G_MISS_CHAR
598      ,p_wip_supply_locator_id          IN   NUMBER     DEFAULT  G_MISS_NUM
599      ,p_overcompletion_tolerance_ty    IN   NUMBER     DEFAULT  G_MISS_NUM
600      ,p_overcompletion_tolerance_va    IN   NUMBER     DEFAULT  G_MISS_NUM
601      ,p_customer_order_flag            IN   VARCHAR2   DEFAULT  G_MISS_CHAR
602      ,p_customer_order_enabled_flag    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
603      ,p_shippable_item_flag            IN   VARCHAR2   DEFAULT  G_MISS_CHAR
604      ,p_internal_order_flag            IN   VARCHAR2   DEFAULT  G_MISS_CHAR
605      ,p_internal_order_enabled_flag    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
606      ,p_so_transactions_flag           IN   VARCHAR2   DEFAULT  G_MISS_CHAR
607      ,p_pick_components_flag           IN   VARCHAR2   DEFAULT  G_MISS_CHAR
608      ,p_atp_flag                       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
609      ,p_replenish_to_order_flag        IN   VARCHAR2   DEFAULT  G_MISS_CHAR
610      ,p_atp_rule_id                    IN   NUMBER     DEFAULT  G_MISS_NUM
611      ,p_atp_components_flag            IN   VARCHAR2   DEFAULT  G_MISS_CHAR
612      ,p_ship_model_complete_flag       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
613      ,p_picking_rule_id                IN   NUMBER     DEFAULT  G_MISS_NUM
614      ,p_collateral_flag                IN   VARCHAR2   DEFAULT  G_MISS_CHAR
615      ,p_default_shipping_org           IN   NUMBER     DEFAULT  G_MISS_NUM
616      ,p_returnable_flag                IN   VARCHAR2   DEFAULT  G_MISS_CHAR
617      ,p_return_inspection_requireme    IN   NUMBER     DEFAULT  G_MISS_NUM
618      ,p_over_shipment_tolerance        IN   NUMBER     DEFAULT  G_MISS_NUM
619      ,p_under_shipment_tolerance       IN   NUMBER     DEFAULT  G_MISS_NUM
620      ,p_over_return_tolerance          IN   NUMBER     DEFAULT  G_MISS_NUM
621      ,p_under_return_tolerance         IN   NUMBER     DEFAULT  G_MISS_NUM
622      ,p_invoiceable_item_flag          IN   VARCHAR2   DEFAULT  G_MISS_CHAR
623      ,p_invoice_enabled_flag           IN   VARCHAR2   DEFAULT  G_MISS_CHAR
624      ,p_accounting_rule_id             IN   NUMBER     DEFAULT  G_MISS_NUM
625      ,p_invoicing_rule_id              IN   NUMBER     DEFAULT  G_MISS_NUM
626      ,p_tax_code                       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
627      ,p_sales_account                  IN   NUMBER     DEFAULT  G_MISS_NUM
628      ,p_payment_terms_id               IN   NUMBER     DEFAULT  G_MISS_NUM
629      ,p_coverage_schedule_id           IN   NUMBER     DEFAULT  G_MISS_NUM
630      ,p_service_duration               IN   NUMBER     DEFAULT  G_MISS_NUM
631      ,p_service_duration_period_cod    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
632      ,p_serviceable_product_flag       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
633      ,p_service_starting_delay         IN   NUMBER     DEFAULT  G_MISS_NUM
634      ,p_material_billable_flag         IN   VARCHAR2   DEFAULT  G_MISS_CHAR
635      ,p_serviceable_component_flag     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
636      ,p_preventive_maintenance_flag    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
637      ,p_prorate_service_flag           IN   VARCHAR2   DEFAULT  G_MISS_CHAR
638    -- Start attributes not in the form
639      ,p_serviceable_item_class_id      IN   NUMBER     DEFAULT  G_MISS_NUM
640      ,p_base_warranty_service_id       IN   NUMBER     DEFAULT  G_MISS_NUM
641      ,p_warranty_vendor_id             IN   NUMBER     DEFAULT  G_MISS_NUM
642      ,p_max_warranty_amount            IN   NUMBER     DEFAULT  G_MISS_NUM
643      ,p_response_time_period_code      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
644      ,p_response_time_value            IN   NUMBER     DEFAULT  G_MISS_NUM
645      ,p_primary_specialist_id          IN   NUMBER     DEFAULT  G_MISS_NUM
646      ,p_secondary_specialist_id        IN   NUMBER     DEFAULT  G_MISS_NUM
647    -- End attributes not in the form
648      ,p_wh_update_date                 IN   DATE       DEFAULT  G_MISS_DATE
649      ,p_equipment_type                 IN   NUMBER     DEFAULT  G_MISS_NUM
650      ,p_recovered_part_disp_code       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
651      ,p_defect_tracking_on_flag        IN   VARCHAR2   DEFAULT  G_MISS_CHAR
652      ,p_event_flag                     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
653      ,p_electronic_flag                IN   VARCHAR2   DEFAULT  G_MISS_CHAR
654      ,p_downloadable_flag              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
655      ,p_vol_discount_exempt_flag       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
656      ,p_coupon_exempt_flag             IN   VARCHAR2   DEFAULT  G_MISS_CHAR
657      ,p_comms_nl_trackable_flag        IN   VARCHAR2   DEFAULT  G_MISS_CHAR
658      ,p_asset_creation_code            IN   VARCHAR2   DEFAULT  G_MISS_CHAR
659      ,p_comms_activation_reqd_flag     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
660      ,p_orderable_on_web_flag          IN   VARCHAR2   DEFAULT  G_MISS_CHAR
661      ,p_back_orderable_flag            IN   VARCHAR2   DEFAULT  G_MISS_CHAR
662      ,p_web_status                     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
663      ,p_indivisible_flag               IN   VARCHAR2   DEFAULT  G_MISS_CHAR
664      ,p_dimension_uom_code             IN   VARCHAR2   DEFAULT  G_MISS_CHAR
665      ,p_unit_length                    IN   NUMBER     DEFAULT  G_MISS_NUM
666      ,p_unit_width                     IN   NUMBER     DEFAULT  G_MISS_NUM
667      ,p_unit_height                    IN   NUMBER     DEFAULT  G_MISS_NUM
668      ,p_bulk_picked_flag               IN   VARCHAR2   DEFAULT  G_MISS_CHAR
669      ,p_lot_status_enabled             IN   VARCHAR2   DEFAULT  G_MISS_CHAR
670      ,p_default_lot_status_id          IN   NUMBER     DEFAULT  G_MISS_NUM
671      ,p_serial_status_enabled          IN   VARCHAR2   DEFAULT  G_MISS_CHAR
672      ,p_default_serial_status_id       IN   NUMBER     DEFAULT  G_MISS_NUM
673      ,p_lot_split_enabled              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
674      ,p_lot_merge_enabled              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
675      ,p_inventory_carry_penalty        IN   NUMBER     DEFAULT  G_MISS_NUM
676      ,p_operation_slack_penalty        IN   NUMBER     DEFAULT  G_MISS_NUM
677      ,p_financing_allowed_flag         IN   VARCHAR2   DEFAULT  G_MISS_CHAR
678      ,p_eam_item_type                  IN   NUMBER     DEFAULT  G_MISS_NUM
679      ,p_eam_activity_type_code         IN   VARCHAR2   DEFAULT  G_MISS_CHAR
680      ,p_eam_activity_cause_code        IN   VARCHAR2   DEFAULT  G_MISS_CHAR
681      ,p_eam_act_notification_flag      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
682      ,p_eam_act_shutdown_status        IN   VARCHAR2   DEFAULT  G_MISS_CHAR
683      ,p_dual_uom_control               IN   NUMBER     DEFAULT  G_MISS_NUM
684      ,p_secondary_uom_code             IN   VARCHAR2   DEFAULT  G_MISS_CHAR
685      ,p_dual_uom_deviation_high        IN   NUMBER     DEFAULT  G_MISS_NUM
686      ,p_dual_uom_deviation_low         IN   NUMBER     DEFAULT  G_MISS_NUM
687      ,p_contract_item_type_code        IN   VARCHAR2   DEFAULT  G_MISS_CHAR
688      ,p_subscription_depend_flag       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
689      ,p_serv_req_enabled_code          IN   VARCHAR2   DEFAULT  G_MISS_CHAR
690      ,p_serv_billing_enabled_flag      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
691      ,p_serv_importance_level          IN   NUMBER     DEFAULT  G_MISS_NUM
692      ,p_planned_inv_point_flag         IN   VARCHAR2   DEFAULT  G_MISS_CHAR
693      ,p_lot_translate_enabled          IN   VARCHAR2   DEFAULT  G_MISS_CHAR
694      ,p_default_so_source_type         IN   VARCHAR2   DEFAULT  G_MISS_CHAR
695      ,p_create_supply_flag             IN   VARCHAR2   DEFAULT  G_MISS_CHAR
696      ,p_substitution_window_code       IN   NUMBER     DEFAULT  G_MISS_NUM
697      ,p_substitution_window_days       IN   NUMBER     DEFAULT  G_MISS_NUM
698      ,p_ib_item_instance_class         IN   VARCHAR2   DEFAULT  G_MISS_CHAR
699      ,p_config_model_type              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
700      ,p_lot_substitution_enabled       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
701      ,p_minimum_license_quantity       IN   NUMBER     DEFAULT  G_MISS_NUM
702      ,p_eam_activity_source_code       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
703      ,p_approval_status                IN   VARCHAR2   DEFAULT  G_MISS_CHAR
704      --Start: 26 new attributes
705      ,p_tracking_quantity_ind          IN   VARCHAR2   DEFAULT  G_MISS_CHAR
706      ,p_ont_pricing_qty_source         IN   VARCHAR2   DEFAULT  G_MISS_CHAR
707      ,p_secondary_default_ind          IN   VARCHAR2   DEFAULT  G_MISS_CHAR
708      ,p_option_specific_sourced        IN   NUMBER     DEFAULT  G_MISS_NUM
709      ,p_vmi_minimum_units              IN   NUMBER     DEFAULT  G_MISS_NUM
710      ,p_vmi_minimum_days               IN   NUMBER     DEFAULT  G_MISS_NUM
711      ,p_vmi_maximum_units              IN   NUMBER     DEFAULT  G_MISS_NUM
712      ,p_vmi_maximum_days               IN   NUMBER     DEFAULT  G_MISS_NUM
713      ,p_vmi_fixed_order_quantity       IN   NUMBER     DEFAULT  G_MISS_NUM
714      ,p_so_authorization_flag          IN   NUMBER     DEFAULT  G_MISS_NUM
715      ,p_consigned_flag                 IN   NUMBER     DEFAULT  G_MISS_NUM
716      ,p_asn_autoexpire_flag            IN   NUMBER     DEFAULT  G_MISS_NUM
717      ,p_vmi_forecast_type              IN   NUMBER     DEFAULT  G_MISS_NUM
718      ,p_forecast_horizon               IN   NUMBER     DEFAULT  G_MISS_NUM
719      ,p_exclude_from_budget_flag       IN   NUMBER     DEFAULT  G_MISS_NUM
720      ,p_days_tgt_inv_supply            IN   NUMBER     DEFAULT  G_MISS_NUM
721      ,p_days_tgt_inv_window            IN   NUMBER     DEFAULT  G_MISS_NUM
722      ,p_days_max_inv_supply            IN   NUMBER     DEFAULT  G_MISS_NUM
723      ,p_days_max_inv_window            IN   NUMBER     DEFAULT  G_MISS_NUM
724      ,p_drp_planned_flag               IN   NUMBER     DEFAULT  G_MISS_NUM
725      ,p_critical_component_flag        IN   NUMBER     DEFAULT  G_MISS_NUM
726      ,p_continous_transfer             IN   NUMBER     DEFAULT  G_MISS_NUM
727      ,p_convergence                    IN   NUMBER     DEFAULT  G_MISS_NUM
728      ,p_divergence                     IN   NUMBER     DEFAULT  G_MISS_NUM
729      ,p_config_orgs                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
730      ,p_config_match                   IN   VARCHAR2   DEFAULT  G_MISS_CHAR
731      --End: 26 new attributes
732      ,p_Item_Number                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
733      ,p_segment1                       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
734      ,p_segment2                       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
735      ,p_segment3                       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
736      ,p_segment4                       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
737      ,p_segment5                       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
738      ,p_segment6                       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
739      ,p_segment7                       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
740      ,p_segment8                       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
741      ,p_segment9                       IN   VARCHAR2   DEFAULT  G_MISS_CHAR
742      ,p_segment10                      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
743      ,p_segment11                      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
744      ,p_segment12                      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
745      ,p_segment13                      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
746      ,p_segment14                      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
747      ,p_segment15                      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
748      ,p_segment16                      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
749      ,p_segment17                      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
750      ,p_segment18                      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
751      ,p_segment19                      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
752      ,p_segment20                      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
753      ,p_summary_flag                   IN   VARCHAR2   DEFAULT  G_MISS_CHAR
754      ,p_enabled_flag                   IN   VARCHAR2   DEFAULT  G_MISS_CHAR
755      ,p_start_date_active              IN   DATE       DEFAULT  G_MISS_DATE
756      ,p_end_date_active                IN   DATE       DEFAULT  G_MISS_DATE
757      ,p_attribute_category             IN   VARCHAR2   DEFAULT  G_MISS_CHAR
758      ,p_attribute1                     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
759      ,p_attribute2                     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
760      ,p_attribute3                     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
761      ,p_attribute4                     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
762      ,p_attribute5                     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
763      ,p_attribute6                     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
764      ,p_attribute7                     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
765      ,p_attribute8                     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
766      ,p_attribute9                     IN   VARCHAR2   DEFAULT  G_MISS_CHAR
767      ,p_attribute10                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
768      ,p_attribute11                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
769      ,p_attribute12                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
770      ,p_attribute13                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
771      ,p_attribute14                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
772      ,p_attribute15                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
773      ,p_attribute16                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
774      ,p_attribute17                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
775      ,p_attribute18                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
776      ,p_attribute19                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
777      ,p_attribute20                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
778      ,p_attribute21                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
779      ,p_attribute22                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
780      ,p_attribute23                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
781      ,p_attribute24                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
782      ,p_attribute25                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
783      ,p_attribute26                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
784      ,p_attribute27                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
785      ,p_attribute28                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
786      ,p_attribute29                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
787      ,p_attribute30                    IN   VARCHAR2   DEFAULT  G_MISS_CHAR
788      ,p_global_attribute_category      IN   VARCHAR2   DEFAULT  G_MISS_CHAR
789      ,p_global_attribute1              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
790      ,p_global_attribute2              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
791      ,p_global_attribute3              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
792      ,p_global_attribute4              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
793      ,p_global_attribute5              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
794      ,p_global_attribute6              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
795      ,p_global_attribute7              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
796      ,p_global_attribute8              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
797      ,p_global_attribute9              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
798      ,p_global_attribute10             IN   VARCHAR2   DEFAULT  G_MISS_CHAR
799      ,p_global_attribute11              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
800      ,p_global_attribute12              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
801      ,p_global_attribute13              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
802      ,p_global_attribute14              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
803      ,p_global_attribute15              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
804      ,p_global_attribute16              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
805      ,p_global_attribute17              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
806      ,p_global_attribute18              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
807      ,p_global_attribute19              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
808      ,p_global_attribute20             IN   VARCHAR2   DEFAULT  G_MISS_CHAR
809      ,p_creation_date                  IN   DATE       DEFAULT  G_MISS_DATE
810      ,p_created_by                     IN   NUMBER     DEFAULT  G_MISS_NUM
811      ,p_last_update_date               IN   DATE       DEFAULT  G_MISS_DATE
812      ,p_last_updated_by                IN   NUMBER     DEFAULT  G_MISS_NUM
813      ,p_last_update_login              IN   NUMBER     DEFAULT  G_MISS_NUM
814      ,p_request_id                     IN   NUMBER     DEFAULT  G_MISS_NUM
815      ,p_program_application_id         IN   NUMBER     DEFAULT  G_MISS_NUM
816      ,p_program_id                     IN   NUMBER     DEFAULT  G_MISS_NUM
817      ,p_program_update_date            IN   DATE       DEFAULT  G_MISS_DATE
818      ,p_lifecycle_id                   IN   NUMBER     DEFAULT  G_MISS_NUM
819      ,p_current_phase_id               IN   NUMBER     DEFAULT  G_MISS_NUM
820       -- Revision attribute parameter
821      ,p_revision_id                    IN   NUMBER     DEFAULT  G_MISS_NUM
822      ,p_revision_code                  IN   VARCHAR2   DEFAULT  G_MISS_CHAR
823      ,p_revision_label                 IN   VARCHAR2   DEFAULT  G_MISS_CHAR
824      ,p_revision_description           IN   VARCHAR2   DEFAULT  G_MISS_CHAR
825      ,p_effectivity_Date               IN   DATE       DEFAULT  G_MISS_DATE
826      ,p_rev_lifecycle_id               IN   NUMBER     DEFAULT  G_MISS_NUM
827      ,p_rev_current_phase_id           IN   NUMBER     DEFAULT  G_MISS_NUM
828    -- 5208102: Supporting template for UDA's at revisions
829      ,p_rev_template_id                IN   NUMBER     DEFAULT  G_MISS_NUM
830      ,p_rev_template_name              IN   VARCHAR2   DEFAULT  G_MISS_CHAR
831 
832      ,p_rev_attribute_category         IN   VARCHAR2   DEFAULT  G_MISS_CHAR
833      ,p_rev_attribute1                 IN   VARCHAR2   DEFAULT  G_MISS_CHAR
834      ,p_rev_attribute2                 IN   VARCHAR2   DEFAULT  G_MISS_CHAR
835      ,p_rev_attribute3                 IN   VARCHAR2   DEFAULT  G_MISS_CHAR
836      ,p_rev_attribute4                 IN   VARCHAR2   DEFAULT  G_MISS_CHAR
837      ,p_rev_attribute5                 IN   VARCHAR2   DEFAULT  G_MISS_CHAR
838      ,p_rev_attribute6                 IN   VARCHAR2   DEFAULT  G_MISS_CHAR
839      ,p_rev_attribute7                 IN   VARCHAR2   DEFAULT  G_MISS_CHAR
840      ,p_rev_attribute8                 IN   VARCHAR2   DEFAULT  G_MISS_CHAR
841      ,p_rev_attribute9                 IN   VARCHAR2   DEFAULT  G_MISS_CHAR
842      ,p_rev_attribute10                IN   VARCHAR2   DEFAULT  G_MISS_CHAR
843      ,p_rev_attribute11                IN   VARCHAR2   DEFAULT  G_MISS_CHAR
844      ,p_rev_attribute12                IN   VARCHAR2   DEFAULT  G_MISS_CHAR
845      ,p_rev_attribute13                IN   VARCHAR2   DEFAULT  G_MISS_CHAR
846      ,p_rev_attribute14                IN   VARCHAR2   DEFAULT  G_MISS_CHAR
847      ,p_rev_attribute15                IN   VARCHAR2   DEFAULT  G_MISS_CHAR
848       -- Returned item id
849      ,x_Inventory_Item_Id              OUT NOCOPY    NUMBER
850      ,x_Organization_Id                OUT NOCOPY    NUMBER
851      ,x_return_status                  OUT NOCOPY    VARCHAR2
852      ,x_msg_count                      OUT NOCOPY    NUMBER
853      ,x_msg_data                       OUT NOCOPY    VARCHAR2
854      ,p_apply_template                 IN  VARCHAR2  DEFAULT 'ALL'
855      ,p_object_version_number          IN  NUMBER    DEFAULT G_MISS_NUM
856      ,p_process_control                IN  VARCHAR2  DEFAULT NULL
857      ,p_process_item                   IN  NUMBER    DEFAULT G_MISS_NUM
858       --R12 Enhancement adding attributes
859      ,P_CAS_NUMBER                    IN VARCHAR2 DEFAULT  G_MISS_CHAR
860      ,P_CHILD_LOT_FLAG                IN VARCHAR2 DEFAULT  G_MISS_CHAR
861      ,P_CHILD_LOT_PREFIX              IN VARCHAR2 DEFAULT  G_MISS_CHAR
862      ,P_CHILD_LOT_STARTING_NUMBER     IN NUMBER   DEFAULT  G_MISS_NUM
863      ,P_CHILD_LOT_VALIDATION_FLAG     IN VARCHAR2 DEFAULT  G_MISS_CHAR
864      ,P_COPY_LOT_ATTRIBUTE_FLAG       IN VARCHAR2 DEFAULT  G_MISS_CHAR
865      ,P_DEFAULT_GRADE                 IN VARCHAR2 DEFAULT  G_MISS_CHAR
866      ,P_EXPIRATION_ACTION_CODE        IN VARCHAR2 DEFAULT  G_MISS_CHAR
867      ,P_EXPIRATION_ACTION_INTERVAL    IN NUMBER   DEFAULT  G_MISS_NUM
868      ,P_GRADE_CONTROL_FLAG            IN VARCHAR2 DEFAULT  G_MISS_CHAR
869      ,P_HAZARDOUS_MATERIAL_FLAG       IN VARCHAR2 DEFAULT  G_MISS_CHAR
870      ,P_HOLD_DAYS                     IN NUMBER   DEFAULT  G_MISS_NUM
871      ,P_LOT_DIVISIBLE_FLAG            IN VARCHAR2 DEFAULT  G_MISS_CHAR
872      ,P_MATURITY_DAYS                 IN NUMBER   DEFAULT  G_MISS_NUM
873      ,P_PARENT_CHILD_GENERATION_FLAG  IN VARCHAR2 DEFAULT  G_MISS_CHAR
874      ,P_PROCESS_COSTING_ENABLED_FLAG  IN VARCHAR2 DEFAULT  G_MISS_CHAR
875      ,P_PROCESS_EXECUTION_ENABLED_FL  IN VARCHAR2 DEFAULT  G_MISS_CHAR
876      ,P_PROCESS_QUALITY_ENABLED_FLAG  IN VARCHAR2 DEFAULT  G_MISS_CHAR
877      ,P_PROCESS_SUPPLY_LOCATOR_ID     IN NUMBER   DEFAULT  G_MISS_NUM
878      ,P_PROCESS_SUPPLY_SUBINVENTORY   IN VARCHAR2 DEFAULT  G_MISS_CHAR
879      ,P_PROCESS_YIELD_LOCATOR_ID      IN NUMBER   DEFAULT  G_MISS_NUM
880      ,P_PROCESS_YIELD_SUBINVENTORY    IN VARCHAR2 DEFAULT  G_MISS_CHAR
881      ,P_RECIPE_ENABLED_FLAG           IN VARCHAR2 DEFAULT  G_MISS_CHAR
882      ,P_RETEST_INTERVAL               IN NUMBER   DEFAULT  G_MISS_NUM
883      ,P_CHARGE_PERIODICITY_CODE       IN VARCHAR2 DEFAULT  G_MISS_CHAR
884      ,P_REPAIR_LEADTIME               IN NUMBER   DEFAULT  G_MISS_NUM
885      ,P_REPAIR_YIELD                  IN NUMBER   DEFAULT  G_MISS_NUM
886      ,P_PREPOSITION_POINT             IN VARCHAR2 DEFAULT  G_MISS_CHAR
887      ,P_REPAIR_PROGRAM                IN NUMBER   DEFAULT  G_MISS_NUM
888      ,P_SUBCONTRACTING_COMPONENT      IN NUMBER   DEFAULT  G_MISS_NUM
889      ,P_OUTSOURCED_ASSEMBLY           IN NUMBER   DEFAULT  G_MISS_NUM
890       -- R12 C Attributes
891      ,P_GDSN_OUTBOUND_ENABLED_FLAG    IN VARCHAR2     DEFAULT  G_MISS_CHAR
892      ,P_TRADE_ITEM_DESCRIPTOR         IN VARCHAR2     DEFAULT  G_MISS_CHAR
893      ,P_STYLE_ITEM_FLAG               IN VARCHAR2     DEFAULT  G_MISS_CHAR
894      ,P_STYLE_ITEM_ID                 IN NUMBER       DEFAULT  G_MISS_NUM ) IS
895 
896      l_api_name          CONSTANT    VARCHAR2(30) :=  'Process_Item_Scalar';
897      l_api_version       CONSTANT    NUMBER       :=  1.0;
898      indx                            BINARY_INTEGER       :=  1;
899      l_item_tbl                      EGO_ITEM_PUB.Item_Tbl_Type;
900      l_Revision_Tbl                  EGO_Item_PUB.Item_Revision_Tbl_Type;
901      l_item_created_tbl              EGO_ITEM_PUB.Item_Tbl_Type;
902      l_approval_status               VARCHAR2(30);
903      l_template_applied              BOOLEAN       := FALSE;
904      l_obj_version_num               mtl_system_items_b.object_version_number%TYPE;
905 
906    CURSOR c_get_obj_version_num(cp_inventory_item_id IN  NUMBER
907                                  ,cp_organization_id   IN  NUMBER ) IS
908         SELECT object_version_number
909         FROM   mtl_system_items_b
910         WHERE  inventory_item_id = cp_inventory_item_id
911         AND    organization_id   = cp_organization_id;
912 
913   BEGIN
914     -- standard check for API validation
915     IF NOT FND_API.Compatible_API_Call (l_api_version,
916                                     p_api_version,
917                                     l_api_name,
918                                     G_PKG_NAME)
919     THEN
920        RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
921     END IF;
922 
923     -- create save point
924     IF FND_API.To_Boolean(p_commit) THEN
925        SAVEPOINT Process_Item_Scalar;
926     END IF;
927 
928     -- Initialize message list
929     IF FND_API.To_Boolean(p_init_msg_list) THEN
930        FND_MSG_PUB.Initialize;
931     END IF;
932 
933     -- Set business object identifier in the System Information record
934     ERROR_HANDLER.Initialize;
935     Error_Handler.Set_BO_Identifier ( p_bo_identifier  => G_BO_Identifier);
936 
937     IF (((p_Transaction_Type = G_TTYPE_CREATE)
938         AND(p_item_catalog_group_id IS NULL
939         OR p_item_catalog_group_id = G_MISS_NUM
940         OR NOT INVIDIT3.CHECK_NPR_CATALOG(p_item_catalog_group_id)))
941         AND INSTR(p_process_control,'PLM_UI:Y') = 0)
942     THEN
943        IF  p_copy_inventory_item_Id IS NOT NULL
944        AND p_copy_inventory_item_Id <> G_MISS_NUM  THEN
945           initialize_item_info
946                 (p_inventory_item_id  => p_copy_inventory_item_Id
947                 ,p_organization_id    => p_organization_id
948                 ,p_tab_index          => indx
949                 ,x_item_table         => l_item_tbl
950                 ,x_return_status      => x_return_status
951                 ,x_msg_count          => x_msg_count);
952           IF x_return_status = G_RET_STS_ERROR THEN
953              RAISE FND_API.G_EXC_ERROR;
954           ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
955              RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
956           END IF;
957        END IF;
958 
959        IF  p_Template_Id IS NOT NULL
960        AND p_Template_Id <> G_MISS_NUM
961        AND UPPER(p_apply_template) IN ('ALL','BASE_TEMPLATE') THEN
962           initialize_template_info
963                 (p_template_id        => p_template_id
964                 ,p_template_name      => p_template_name
965                 ,p_organization_id    => p_organization_id
966                 ,p_organization_code  => NULL
967                 ,p_tab_index          => indx
968                 ,x_item_table         => l_item_tbl
969                 ,x_return_status      => x_return_status
970                 ,x_msg_count          => x_msg_count);
971 
972           l_template_applied := TRUE;
973 
974           IF x_return_status = G_RET_STS_ERROR THEN
975              RAISE FND_API.G_EXC_ERROR;
976           ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
977              RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
978           END IF;
979        END IF;
980     END IF;
981 
982     -- Bug 5997870.. set the value in invupd2b so that this check may be
983     --               done after locking the record and not before it...
984     IF((p_object_version_number IS NOT NULL) AND
985        (p_object_version_number <> G_MISS_NUM)) THEN
986       INVUPD2B.obj_ver_rec.inventory_item_id := p_inventory_item_id;
987       INVUPD2B.obj_ver_rec.org_id :=  p_organization_id;
988       INVUPD2B.obj_ver_rec.Object_Version_Number := Nvl(p_object_version_number,1);
989     END IF;
990     --Code changes for bug 5997870 ends...
991 
992     --Check if record is changed before update.
993     IF  p_transaction_type = G_TTYPE_UPDATE
994     AND Nvl(p_object_version_number,-1) <> G_MISS_NUM
995     THEN
996       OPEN  c_get_obj_version_num (cp_inventory_item_id => p_inventory_item_id
997                                   ,cp_organization_id   => p_organization_id);
998       FETCH c_get_obj_version_num into l_obj_version_num;
999       CLOSE c_get_obj_version_num;
1000       IF  nvl(l_obj_version_num,-1) <> nvl(p_object_version_number,-1)  THEN
1001         x_return_status := G_RET_STS_ERROR;
1002         EGO_Item_Msg.Add_Error_Message (
1003              p_entity_index           => 1
1004             ,p_application_short_name => 'EGO'
1005             ,p_message_name           => 'EGO_REQUERY_ITEM_INFO'
1006             );
1007           IF FND_API.To_Boolean(p_commit) THEN
1008             ROLLBACK TO Process_Item_Scalar;
1009           END IF;
1010           x_msg_count := 1;
1011           RETURN;
1012       END IF;
1013     END IF;
1014 
1015      --Apply only template during update
1016     IF  p_transaction_type = G_TTYPE_UPDATE
1017     AND p_Template_Id IS NOT NULL
1018     AND p_Template_Id <> G_MISS_NUM
1019     AND UPPER(p_apply_template) IN ('ALL','BASE_TEMPLATE')
1020     AND INVIDIT3.CHECK_ITEM_APPROVED(p_inventory_item_id,p_organization_id)
1021     AND INSTR(p_process_control,'PLM_UI:Y') = 0
1022     THEN
1023 
1024        initialize_template_info
1025              (p_template_id        => p_template_id
1026              ,p_template_name      => p_template_name
1027              ,p_organization_id    => p_organization_id
1028              ,p_organization_code  => NULL
1029              ,p_tab_index          => indx
1030              ,x_item_table         => l_item_tbl
1031              ,x_return_status      => x_return_status
1032              ,x_msg_count          => x_msg_count);
1033 
1034        IF x_return_status = G_RET_STS_ERROR THEN
1035           RAISE FND_API.G_EXC_ERROR;
1036        ELSIF x_return_status = G_RET_STS_UNEXP_ERROR THEN
1037           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1038        END IF;
1039     END IF;
1040 
1041     --During CREATE COPY_ITEM/TEMPLATE are applicable for NPR Catalog
1042     IF p_process_item NOT IN (1,2) THEN
1043        l_item_tbl(indx).process_item_record         := 1;
1044     ELSE
1045        l_item_tbl(indx).process_item_record         := p_process_item;
1046     END IF;
1047 
1048     IF p_transaction_type = G_TTYPE_UPDATE AND l_item_tbl(indx).process_item_record = 1  THEN
1049 
1050        EGO_ITEM_PUB.Update_Item_Number (
1051           p_Inventory_Item_Id =>  REPLACE_G_MISS_NUM(p_inventory_item_id,null)
1052          ,p_item_number       =>  p_item_number
1053          ,p_New_Segment1      =>  p_Segment1
1054          ,p_New_Segment2      =>  p_Segment2
1055          ,p_New_Segment3      =>  p_Segment3
1056          ,p_New_Segment4      =>  p_Segment4
1057          ,p_New_Segment5      =>  p_Segment5
1058          ,p_New_Segment6      =>  p_Segment6
1059          ,p_New_Segment7      =>  p_Segment7
1060          ,p_New_Segment8      =>  p_Segment8
1061          ,p_New_Segment9      =>  p_Segment9
1062          ,p_New_Segment10     =>  p_Segment10
1063          ,p_New_Segment11     =>  p_Segment11
1064          ,p_New_Segment12     =>  p_Segment12
1065          ,p_New_Segment13     =>  p_Segment13
1066          ,p_New_Segment14     =>  p_Segment14
1067          ,p_New_Segment15     =>  p_Segment15
1068          ,p_New_Segment16     =>  p_Segment16
1069          ,p_New_Segment17     =>  p_Segment17
1070          ,p_New_Segment18     =>  p_Segment18
1071          ,p_New_Segment19     =>  p_Segment19
1072          ,p_New_Segment20     =>  p_Segment20
1073          ,x_Item_Tbl          =>  l_item_created_tbl
1074          ,x_return_status     =>  x_return_status);
1075 
1076        --Bug: 3947619 incrementing the msg count if error message were logged
1077        IF (x_return_status <>  FND_API.G_RET_STS_SUCCESS ) THEN
1078           x_msg_count := NVL(x_msg_count,0)+1;
1079        END IF;
1080     END IF;
1081 
1082     IF NVL(x_return_status,FND_API.G_RET_STS_SUCCESS) = FND_API.G_RET_STS_SUCCESS AND
1083         p_transaction_type IN (G_TTYPE_CREATE, G_TTYPE_UPDATE) THEN
1084 
1085        l_item_tbl(indx).item_number                    :=  p_item_number;
1086        l_item_tbl(indx).segment1                       :=  p_segment1;
1087        l_item_tbl(indx).segment2                       :=  p_segment2;
1088        l_item_tbl(indx).segment3                       :=  p_segment3;
1089        l_item_tbl(indx).segment4                       :=  p_segment4;
1090        l_item_tbl(indx).segment5                       :=  p_segment5;
1091        l_item_tbl(indx).segment6                       :=  p_segment6;
1092        l_item_tbl(indx).segment7                       :=  p_segment7;
1093        l_item_tbl(indx).segment8                       :=  p_segment8;
1094        l_item_tbl(indx).segment9                       :=  p_segment9;
1095        l_item_tbl(indx).segment10                      :=  p_segment10;
1096        l_item_tbl(indx).segment11                      :=  p_segment11;
1097        l_item_tbl(indx).segment12                      :=  p_segment12;
1098        l_item_tbl(indx).segment13                      :=  p_segment13;
1099        l_item_tbl(indx).segment14                      :=  p_segment14;
1100        l_item_tbl(indx).segment15                      :=  p_segment15;
1101        l_item_tbl(indx).segment16                      :=  p_segment16;
1102        l_item_tbl(indx).segment17                      :=  p_segment17;
1103        l_item_tbl(indx).segment18                      :=  p_segment18;
1104        l_item_tbl(indx).segment19                      :=  p_segment19;
1105        l_item_tbl(indx).segment20                      :=  p_segment20;
1106        l_item_tbl(indx).transaction_type               := p_transaction_type;
1107        l_item_tbl(indx).language_code                  :=  p_language_code;
1108      -- item identifier
1109        l_item_tbl(indx).inventory_item_id              :=  p_inventory_item_id;
1110        l_item_tbl(indx).summary_flag                   :=  p_summary_flag;
1111        l_item_tbl(indx).enabled_flag                   :=  p_enabled_flag;
1112        l_item_tbl(indx).start_date_active              :=  p_start_date_active;
1113        l_item_tbl(indx).end_date_active                :=  p_end_date_active;
1114      -- organization
1115        l_item_tbl(indx).organization_id                :=  p_organization_id;
1116      -- item catalog group (user item type)
1117        l_item_tbl(indx).item_catalog_group_id          :=  p_item_catalog_group_id;
1118        l_item_tbl(indx).catalog_status_flag            :=  p_catalog_status_flag;
1119 
1120        IF UPPER(p_apply_template) IN ('USER_TEMPLATE','ALL') THEN
1121           l_Item_Tbl(indx).template_id                 := (-1*p_Template_Id); --Let IOI not apply any template
1122        ELSE
1123           l_Item_Tbl(indx).template_id                 := -1;
1124        END IF;
1125 
1126      -- lifecycle
1127        l_item_tbl(indx).lifecycle_id                   :=  p_lifecycle_id;
1128        l_item_tbl(indx).current_phase_id               :=  p_current_phase_id;
1129      -- main attributes
1130        l_item_tbl(indx).description                    :=  REPLACE_G_MISS_CHAR(p_description,l_item_tbl(indx).description);
1131        l_item_tbl(indx).long_description               :=  REPLACE_G_MISS_CHAR(p_long_description,l_item_tbl(indx).long_description);
1132        l_item_tbl(indx).primary_uom_code               :=  REPLACE_G_MISS_CHAR(p_primary_uom_code,l_item_tbl(indx).primary_uom_code);
1133        l_item_tbl(indx).allowed_units_lookup_code      :=  REPLACE_G_MISS_NUM(p_allowed_units_lookup_code,l_item_tbl(indx).allowed_units_lookup_code);
1134        l_item_tbl(indx).inventory_item_status_code     :=  REPLACE_G_MISS_CHAR(p_inventory_item_status_code,l_item_tbl(indx).inventory_item_status_code);
1135        l_item_tbl(indx).dual_uom_control               :=  REPLACE_G_MISS_NUM(p_dual_uom_control,l_item_tbl(indx).dual_uom_control);
1136        l_item_tbl(indx).secondary_uom_code             :=  REPLACE_G_MISS_CHAR(p_secondary_uom_code,l_item_tbl(indx).secondary_uom_code);
1137        l_item_tbl(indx).dual_uom_deviation_high        :=  REPLACE_G_MISS_NUM (p_dual_uom_deviation_high,l_item_tbl(indx).dual_uom_deviation_high);
1138        l_item_tbl(indx).dual_uom_deviation_low         :=  REPLACE_G_MISS_NUM (p_dual_uom_deviation_low,l_item_tbl(indx).dual_uom_deviation_low);
1139        l_item_tbl(indx).item_type                      :=  REPLACE_G_MISS_CHAR(p_item_type,l_item_tbl(indx).item_type);
1140      -- inventory
1141        l_item_tbl(indx).inventory_item_flag            :=  REPLACE_G_MISS_CHAR(p_inventory_item_flag,l_item_tbl(indx).inventory_item_flag);
1142        l_item_tbl(indx).stock_enabled_flag             :=  REPLACE_G_MISS_CHAR(p_stock_enabled_flag,l_item_tbl(indx).stock_enabled_flag);
1143        l_item_tbl(indx).mtl_transactions_enabled_flag  :=  REPLACE_G_MISS_CHAR(p_mtl_transactions_enabled_fl,l_item_tbl(indx).mtl_transactions_enabled_flag);
1144        l_item_tbl(indx).revision_qty_control_code      :=  REPLACE_G_MISS_NUM(p_revision_qty_control_code,l_item_tbl(indx).revision_qty_control_code);
1145        l_item_tbl(indx).lot_control_code               :=  REPLACE_G_MISS_NUM(p_lot_control_code,l_item_tbl(indx).lot_control_code);
1146        l_item_tbl(indx).auto_lot_alpha_prefix          :=  REPLACE_G_MISS_CHAR(p_auto_lot_alpha_prefix,l_item_tbl(indx).auto_lot_alpha_prefix);
1147        l_item_tbl(indx).start_auto_lot_number          :=  REPLACE_G_MISS_CHAR(p_start_auto_lot_number,l_item_tbl(indx).start_auto_lot_number);
1148        l_item_tbl(indx).serial_number_control_code     :=  REPLACE_G_MISS_NUM(p_serial_number_control_code,l_item_tbl(indx).serial_number_control_code);
1149        l_item_tbl(indx).auto_serial_alpha_prefix       :=  REPLACE_G_MISS_CHAR(p_auto_serial_alpha_prefix,l_item_tbl(indx).auto_serial_alpha_prefix);
1150        l_item_tbl(indx).start_auto_serial_number       :=  REPLACE_G_MISS_CHAR(p_start_auto_serial_number,l_item_tbl(indx).start_auto_serial_number);
1151        l_item_tbl(indx).shelf_life_code                :=  REPLACE_G_MISS_NUM(p_shelf_life_code,l_item_tbl(indx).shelf_life_code);
1152        l_item_tbl(indx).shelf_life_days                :=  REPLACE_G_MISS_NUM (p_shelf_life_days,l_item_tbl(indx).shelf_life_days);
1153        l_item_tbl(indx).restrict_subinventories_code   :=  REPLACE_G_MISS_NUM(p_restrict_subinventories_cod,l_item_tbl(indx).restrict_subinventories_code);
1154        l_item_tbl(indx).location_control_code          :=  REPLACE_G_MISS_NUM(p_location_control_code,l_item_tbl(indx).location_control_code);
1155        l_item_tbl(indx).restrict_locators_code         :=  REPLACE_G_MISS_NUM(p_restrict_locators_code,l_item_tbl(indx).restrict_locators_code);
1156        l_item_tbl(indx).reservable_type                :=  REPLACE_G_MISS_NUM(p_reservable_type,l_item_tbl(indx).reservable_type);
1157        l_item_tbl(indx).cycle_count_enabled_flag       :=  REPLACE_G_MISS_CHAR(p_cycle_count_enabled_flag,l_item_tbl(indx).cycle_count_enabled_flag);
1158        l_item_tbl(indx).negative_measurement_error     :=  REPLACE_G_MISS_NUM(p_negative_measurement_error,l_item_tbl(indx).negative_measurement_error);
1159        l_item_tbl(indx).positive_measurement_error     :=  REPLACE_G_MISS_NUM(p_positive_measurement_error,l_item_tbl(indx).positive_measurement_error);
1160        l_item_tbl(indx).check_shortages_flag           :=  REPLACE_G_MISS_CHAR(p_check_shortages_flag,l_item_tbl(indx).check_shortages_flag);
1161        l_item_tbl(indx).lot_status_enabled             :=  REPLACE_G_MISS_CHAR(p_lot_status_enabled,l_item_tbl(indx).lot_status_enabled);
1162        l_item_tbl(indx).default_lot_status_id          :=  REPLACE_G_MISS_NUM (p_default_lot_status_id,l_item_tbl(indx).default_lot_status_id);
1163        l_item_tbl(indx).serial_status_enabled          :=  REPLACE_G_MISS_CHAR(p_serial_status_enabled,l_item_tbl(indx).serial_status_enabled);
1164        l_item_tbl(indx).default_serial_status_id       :=  REPLACE_G_MISS_NUM (p_default_serial_status_id,l_item_tbl(indx).default_serial_status_id);
1165        l_item_tbl(indx).lot_split_enabled              :=  REPLACE_G_MISS_CHAR(p_lot_split_enabled,l_item_tbl(indx).lot_split_enabled);
1166        l_item_tbl(indx).lot_merge_enabled              :=  REPLACE_G_MISS_CHAR(p_lot_merge_enabled,l_item_tbl(indx).lot_merge_enabled);
1167        l_item_tbl(indx).lot_translate_enabled          :=  REPLACE_G_MISS_CHAR(p_lot_translate_enabled,l_item_tbl(indx).lot_translate_enabled);
1168        l_item_tbl(indx).lot_substitution_enabled       :=  REPLACE_G_MISS_CHAR(p_lot_substitution_enabled,l_item_tbl(indx).lot_substitution_enabled);
1169        l_item_tbl(indx).bulk_picked_flag               :=  REPLACE_G_MISS_CHAR(p_bulk_picked_flag,l_item_tbl(indx).bulk_picked_flag);
1170      -- bills of material
1171        l_item_tbl(indx).bom_item_type                  :=  REPLACE_G_MISS_NUM(p_bom_item_type,l_item_tbl(indx).bom_item_type);
1172        l_item_tbl(indx).bom_enabled_flag               :=  REPLACE_G_MISS_CHAR(p_bom_enabled_flag,l_item_tbl(indx).bom_enabled_flag);
1173        l_item_tbl(indx).base_item_id                   :=  REPLACE_G_MISS_NUM (p_base_item_id,l_item_tbl(indx).base_item_id);
1174        l_item_tbl(indx).eng_item_flag                  :=  REPLACE_G_MISS_CHAR(p_eng_item_flag,l_item_tbl(indx).eng_item_flag);
1175        l_item_tbl(indx).engineering_item_id            :=  REPLACE_G_MISS_NUM (p_engineering_item_id,l_item_tbl(indx).engineering_item_id);
1176        l_item_tbl(indx).engineering_ecn_code           :=  REPLACE_G_MISS_CHAR(p_engineering_ecn_code,l_item_tbl(indx).engineering_ecn_code);
1177        l_item_tbl(indx).engineering_date               :=  REPLACE_G_MISS_DATE(p_engineering_date,l_item_tbl(indx).engineering_date);
1178        l_item_tbl(indx).effectivity_control            :=  REPLACE_G_MISS_NUM (p_effectivity_control,l_item_tbl(indx).effectivity_control);
1179        l_item_tbl(indx).config_model_type              :=  REPLACE_G_MISS_CHAR(p_config_model_type,l_item_tbl(indx).config_model_type);
1180        l_item_tbl(indx).product_family_item_id         :=  REPLACE_G_MISS_NUM (p_product_family_item_id,l_item_tbl(indx).product_family_item_id);
1181        l_item_tbl(indx).auto_created_config_flag       :=  REPLACE_G_MISS_CHAR(p_auto_created_config_flag,l_item_tbl(indx).auto_created_config_flag);--3911562
1182 
1183      -- costing
1184        l_item_tbl(indx).costing_enabled_flag           :=  REPLACE_G_MISS_CHAR(p_costing_enabled_flag,l_item_tbl(indx).costing_enabled_flag);
1185        l_item_tbl(indx).inventory_asset_flag           :=  REPLACE_G_MISS_CHAR(p_inventory_asset_flag,l_item_tbl(indx).inventory_asset_flag);
1186        l_item_tbl(indx).cost_of_sales_account          :=  REPLACE_G_MISS_NUM (p_cost_of_sales_account,l_item_tbl(indx).cost_of_sales_account);
1187        l_item_tbl(indx).default_include_in_rollup_flag :=  REPLACE_G_MISS_CHAR(p_default_include_in_rollup_f,l_item_tbl(indx).default_include_in_rollup_flag);
1188        l_item_tbl(indx).std_lot_size                   :=  REPLACE_G_MISS_NUM (p_std_lot_size,l_item_tbl(indx).std_lot_size);
1189      -- enterprise asset management
1190        l_item_tbl(indx).eam_item_type                  :=  REPLACE_G_MISS_NUM (p_eam_item_type,l_item_tbl(indx).eam_item_type);
1191        l_item_tbl(indx).eam_activity_type_code         :=  REPLACE_G_MISS_CHAR(p_eam_activity_type_code,l_item_tbl(indx).eam_activity_type_code);
1192        l_item_tbl(indx).eam_activity_cause_code        :=  REPLACE_G_MISS_CHAR(p_eam_activity_cause_code,l_item_tbl(indx).eam_activity_cause_code);
1193        l_item_tbl(indx).eam_activity_source_code       :=  REPLACE_G_MISS_CHAR(p_eam_activity_source_code,l_item_tbl(indx).eam_activity_source_code);
1194        l_item_tbl(indx).eam_act_shutdown_status        :=  REPLACE_G_MISS_CHAR(p_eam_act_shutdown_status,l_item_tbl(indx).eam_act_shutdown_status);
1195        l_item_tbl(indx).eam_act_notification_flag      :=  REPLACE_G_MISS_CHAR(p_eam_act_notification_flag,l_item_tbl(indx).eam_act_notification_flag);
1196      -- purchasing
1197        l_item_tbl(indx).purchasing_item_flag           :=  REPLACE_G_MISS_CHAR(p_purchasing_item_flag,l_item_tbl(indx).purchasing_item_flag);
1198        l_item_tbl(indx).purchasing_enabled_flag        :=  REPLACE_G_MISS_CHAR(p_purchasing_enabled_flag,l_item_tbl(indx).purchasing_enabled_flag);
1199        l_item_tbl(indx).buyer_id                       :=  REPLACE_G_MISS_NUM (p_buyer_id,l_item_tbl(indx).buyer_id);
1200        l_item_tbl(indx).must_use_approved_vendor_flag  :=  REPLACE_G_MISS_CHAR(p_must_use_approved_vendor_fl,l_item_tbl(indx).must_use_approved_vendor_flag);
1201        l_item_tbl(indx).purchasing_tax_code            :=  REPLACE_G_MISS_CHAR(p_purchasing_tax_code,l_item_tbl(indx).purchasing_tax_code);
1202        l_item_tbl(indx).taxable_flag                   :=  REPLACE_G_MISS_CHAR(p_taxable_flag,l_item_tbl(indx).taxable_flag);
1203        l_item_tbl(indx).receive_close_tolerance        :=  REPLACE_G_MISS_NUM (p_receive_close_tolerance,l_item_tbl(indx).receive_close_tolerance);
1204        l_item_tbl(indx).allow_item_desc_update_flag    :=  REPLACE_G_MISS_CHAR(p_allow_item_desc_update_flag,l_item_tbl(indx).allow_item_desc_update_flag);
1205        l_item_tbl(indx).inspection_required_flag       :=  REPLACE_G_MISS_CHAR(p_inspection_required_flag,l_item_tbl(indx).inspection_required_flag);
1206        l_item_tbl(indx).receipt_required_flag          :=  REPLACE_G_MISS_CHAR(p_receipt_required_flag,l_item_tbl(indx).receipt_required_flag);
1207        l_item_tbl(indx).market_price                   :=  REPLACE_G_MISS_NUM (p_market_price,l_item_tbl(indx).market_price);
1208        l_item_tbl(indx).un_number_id                   :=  REPLACE_G_MISS_NUM (p_un_number_id,l_item_tbl(indx).un_number_id);
1209        l_item_tbl(indx).hazard_class_id                :=  REPLACE_G_MISS_NUM (p_hazard_class_id,l_item_tbl(indx).hazard_class_id);
1210        l_item_tbl(indx).rfq_required_flag              :=  REPLACE_G_MISS_CHAR(p_rfq_required_flag,l_item_tbl(indx).rfq_required_flag);
1211        l_item_tbl(indx).list_price_per_unit            :=  REPLACE_G_MISS_NUM (p_list_price_per_unit,l_item_tbl(indx).list_price_per_unit);
1212        l_item_tbl(indx).price_tolerance_percent        :=  REPLACE_G_MISS_NUM (p_price_tolerance_percent,l_item_tbl(indx).price_tolerance_percent);
1213        l_item_tbl(indx).asset_category_id              :=  REPLACE_G_MISS_NUM (p_asset_category_id,l_item_tbl(indx).asset_category_id);
1214        l_item_tbl(indx).rounding_factor                :=  REPLACE_G_MISS_NUM (p_rounding_factor,l_item_tbl(indx).rounding_factor);
1215        l_item_tbl(indx).unit_of_issue                  :=  REPLACE_G_MISS_CHAR(p_unit_of_issue,l_item_tbl(indx).unit_of_issue);
1216        l_item_tbl(indx).outside_operation_flag         :=  REPLACE_G_MISS_CHAR(p_outside_operation_flag,l_item_tbl(indx).outside_operation_flag);
1217        l_item_tbl(indx).outside_operation_uom_type     :=  REPLACE_G_MISS_CHAR(p_outside_operation_uom_type,l_item_tbl(indx).outside_operation_uom_type);
1218        l_item_tbl(indx).invoice_close_tolerance        :=  REPLACE_G_MISS_NUM (p_invoice_close_tolerance,l_item_tbl(indx).invoice_close_tolerance);
1219        l_item_tbl(indx).encumbrance_account            :=  REPLACE_G_MISS_NUM (p_encumbrance_account,l_item_tbl(indx).encumbrance_account);
1220        l_item_tbl(indx).expense_account                :=  REPLACE_G_MISS_NUM (p_expense_account,l_item_tbl(indx).expense_account);
1221        l_item_tbl(indx).qty_rcv_exception_code         :=  REPLACE_G_MISS_CHAR(p_qty_rcv_exception_code,l_item_tbl(indx).qty_rcv_exception_code);
1222        l_item_tbl(indx).receiving_routing_id           :=  REPLACE_G_MISS_NUM (p_receiving_routing_id,l_item_tbl(indx).receiving_routing_id);
1223        l_item_tbl(indx).qty_rcv_tolerance              :=  REPLACE_G_MISS_NUM (p_qty_rcv_tolerance,l_item_tbl(indx).qty_rcv_tolerance);
1224        l_item_tbl(indx).enforce_ship_to_location_code  :=  REPLACE_G_MISS_CHAR(p_enforce_ship_to_location_c,l_item_tbl(indx).enforce_ship_to_location_code);
1225        l_item_tbl(indx).allow_substitute_receipts_flag :=  REPLACE_G_MISS_CHAR(p_allow_substitute_receipts_f,l_item_tbl(indx).allow_substitute_receipts_flag);
1226        l_item_tbl(indx).allow_unordered_receipts_flag  :=  REPLACE_G_MISS_CHAR(p_allow_unordered_receipts_fl,l_item_tbl(indx).allow_unordered_receipts_flag);
1227        l_item_tbl(indx).allow_express_delivery_flag    :=  REPLACE_G_MISS_CHAR(p_allow_express_delivery_flag,l_item_tbl(indx).allow_express_delivery_flag);
1228        l_item_tbl(indx).days_early_receipt_allowed     :=  REPLACE_G_MISS_NUM (p_days_early_receipt_allowed,l_item_tbl(indx).days_early_receipt_allowed);
1229        l_item_tbl(indx).days_late_receipt_allowed      :=  REPLACE_G_MISS_NUM (p_days_late_receipt_allowed,l_item_tbl(indx).days_late_receipt_allowed);
1230        l_item_tbl(indx).receipt_days_exception_code    :=  REPLACE_G_MISS_CHAR(p_receipt_days_exception_code,l_item_tbl(indx).receipt_days_exception_code);
1231      -- physical
1232        l_item_tbl(indx).weight_uom_code                :=  REPLACE_G_MISS_CHAR(p_weight_uom_code,l_item_tbl(indx).weight_uom_code);
1233        l_item_tbl(indx).unit_weight                    :=  REPLACE_G_MISS_NUM (p_unit_weight,l_item_tbl(indx).unit_weight);
1234        l_item_tbl(indx).volume_uom_code                :=  REPLACE_G_MISS_CHAR(p_volume_uom_code,l_item_tbl(indx).volume_uom_code);
1235        l_item_tbl(indx).unit_volume                    :=  REPLACE_G_MISS_NUM (p_unit_volume,l_item_tbl(indx).unit_volume);
1236        l_item_tbl(indx).container_item_flag            :=  REPLACE_G_MISS_CHAR(p_container_item_flag,l_item_tbl(indx).container_item_flag);
1237        l_item_tbl(indx).vehicle_item_flag              :=  REPLACE_G_MISS_CHAR(p_vehicle_item_flag,l_item_tbl(indx).vehicle_item_flag);
1238        l_item_tbl(indx).maximum_load_weight            :=  REPLACE_G_MISS_NUM (p_maximum_load_weight,l_item_tbl(indx).maximum_load_weight);
1239        l_item_tbl(indx).minimum_fill_percent           :=  REPLACE_G_MISS_NUM (p_minimum_fill_percent,l_item_tbl(indx).minimum_fill_percent);
1240        l_item_tbl(indx).internal_volume                :=  REPLACE_G_MISS_NUM (p_internal_volume,l_item_tbl(indx).internal_volume);
1241        l_item_tbl(indx).container_type_code            :=  REPLACE_G_MISS_CHAR(p_container_type_code,l_item_tbl(indx).container_type_code);
1242        l_item_tbl(indx).collateral_flag                :=  REPLACE_G_MISS_CHAR(p_collateral_flag,l_item_tbl(indx).collateral_flag);
1243        l_item_tbl(indx).event_flag                     :=  REPLACE_G_MISS_CHAR(p_event_flag,l_item_tbl(indx).event_flag);
1244        l_item_tbl(indx).equipment_type                 :=  REPLACE_G_MISS_NUM (p_equipment_type,l_item_tbl(indx).equipment_type);
1245        l_item_tbl(indx).electronic_flag                :=  REPLACE_G_MISS_CHAR(p_electronic_flag,l_item_tbl(indx).electronic_flag);
1246        l_item_tbl(indx).downloadable_flag              :=  REPLACE_G_MISS_CHAR(p_downloadable_flag,l_item_tbl(indx).downloadable_flag);
1247        l_item_tbl(indx).indivisible_flag               :=  REPLACE_G_MISS_CHAR(p_indivisible_flag,l_item_tbl(indx).indivisible_flag);
1248        l_item_tbl(indx).dimension_uom_code             :=  REPLACE_G_MISS_CHAR(p_dimension_uom_code,l_item_tbl(indx).dimension_uom_code);
1249        l_item_tbl(indx).unit_length                    :=  REPLACE_G_MISS_NUM (p_unit_length,l_item_tbl(indx).unit_length);
1250        l_item_tbl(indx).unit_width                     :=  REPLACE_G_MISS_NUM (p_unit_width,l_item_tbl(indx).unit_width);
1251        l_item_tbl(indx).unit_height                    :=  REPLACE_G_MISS_NUM (p_unit_height,l_item_tbl(indx).unit_height);
1252      --Planning
1253        l_item_tbl(indx).inventory_planning_code        :=  REPLACE_G_MISS_NUM (p_inventory_planning_code,l_item_tbl(indx).inventory_planning_code);
1254        l_item_tbl(indx).planner_code                   :=  REPLACE_G_MISS_CHAR(p_planner_code,l_item_tbl(indx).planner_code);
1255        l_item_tbl(indx).planning_make_buy_code         :=  REPLACE_G_MISS_NUM (p_planning_make_buy_code,l_item_tbl(indx).planning_make_buy_code);
1256        l_item_tbl(indx).min_minmax_quantity            :=  REPLACE_G_MISS_NUM (p_min_minmax_quantity,l_item_tbl(indx).min_minmax_quantity);
1257        l_item_tbl(indx).max_minmax_quantity            :=  REPLACE_G_MISS_NUM (p_max_minmax_quantity,l_item_tbl(indx).max_minmax_quantity);
1258        l_item_tbl(indx).safety_stock_bucket_days       :=  REPLACE_G_MISS_NUM (p_safety_stock_bucket_days,l_item_tbl(indx).safety_stock_bucket_days);
1259        l_item_tbl(indx).carrying_cost                  :=  REPLACE_G_MISS_NUM (p_carrying_cost,l_item_tbl(indx).carrying_cost);
1260        l_item_tbl(indx).order_cost                     :=  REPLACE_G_MISS_NUM (p_order_cost,l_item_tbl(indx).order_cost);
1261        l_item_tbl(indx).mrp_safety_stock_percent       :=  REPLACE_G_MISS_NUM (p_mrp_safety_stock_percent,l_item_tbl(indx).mrp_safety_stock_percent);
1262        l_item_tbl(indx).mrp_safety_stock_code          :=  REPLACE_G_MISS_NUM (p_mrp_safety_stock_code,l_item_tbl(indx).mrp_safety_stock_code);
1263        l_item_tbl(indx).fixed_order_quantity           :=  REPLACE_G_MISS_NUM (p_fixed_order_quantity,l_item_tbl(indx).fixed_order_quantity);
1264        l_item_tbl(indx).fixed_days_supply              :=  REPLACE_G_MISS_NUM (p_fixed_days_supply,l_item_tbl(indx).fixed_days_supply);
1265        l_item_tbl(indx).minimum_order_quantity         :=  REPLACE_G_MISS_NUM (p_minimum_order_quantity,l_item_tbl(indx).minimum_order_quantity);
1266        l_item_tbl(indx).maximum_order_quantity         :=  REPLACE_G_MISS_NUM (p_maximum_order_quantity,l_item_tbl(indx).maximum_order_quantity);
1267        l_item_tbl(indx).fixed_lot_multiplier           :=  REPLACE_G_MISS_NUM (p_fixed_lot_multiplier,l_item_tbl(indx).fixed_lot_multiplier);
1268        l_item_tbl(indx).source_type                    :=  REPLACE_G_MISS_NUM (p_source_type,l_item_tbl(indx).source_type);
1269        l_item_tbl(indx).source_organization_id         :=  REPLACE_G_MISS_NUM (p_source_organization_id,l_item_tbl(indx).source_organization_id);
1270        l_item_tbl(indx).source_subinventory            :=  REPLACE_G_MISS_CHAR(p_source_subinventory,l_item_tbl(indx).source_subinventory);
1271        l_item_tbl(indx).mrp_planning_code              :=  REPLACE_G_MISS_NUM (p_mrp_planning_code,l_item_tbl(indx).mrp_planning_code);
1272        l_item_tbl(indx).ato_forecast_control           :=  REPLACE_G_MISS_NUM (p_ato_forecast_control,l_item_tbl(indx).ato_forecast_control);
1273        l_item_tbl(indx).planning_exception_set         :=  REPLACE_G_MISS_CHAR(p_planning_exception_set,l_item_tbl(indx).planning_exception_set);
1274        l_item_tbl(indx).shrinkage_rate                 :=  REPLACE_G_MISS_NUM (p_shrinkage_rate,l_item_tbl(indx).shrinkage_rate);
1275        l_item_tbl(indx).end_assembly_pegging_flag      :=  REPLACE_G_MISS_CHAR(p_end_assembly_pegging_flag,l_item_tbl(indx).end_assembly_pegging_flag);
1276        l_item_tbl(indx).rounding_control_type          :=  REPLACE_G_MISS_NUM (p_rounding_control_type,l_item_tbl(indx).rounding_control_type);
1277        l_item_tbl(indx).planned_inv_point_flag         :=  REPLACE_G_MISS_CHAR(p_planned_inv_point_flag,l_item_tbl(indx).planned_inv_point_flag);
1278        l_item_tbl(indx).create_supply_flag             :=  REPLACE_G_MISS_CHAR(p_create_supply_flag,l_item_tbl(indx).create_supply_flag);
1279        l_item_tbl(indx).acceptable_early_days          :=  REPLACE_G_MISS_NUM (p_acceptable_early_days,l_item_tbl(indx).acceptable_early_days);
1280        l_item_tbl(indx).mrp_calculate_atp_flag         :=  REPLACE_G_MISS_CHAR(p_mrp_calculate_atp_flag,l_item_tbl(indx).mrp_calculate_atp_flag);
1281        l_item_tbl(indx).auto_reduce_mps                :=  REPLACE_G_MISS_NUM (p_auto_reduce_mps,l_item_tbl(indx).auto_reduce_mps);
1282        l_item_tbl(indx).repetitive_planning_flag       :=  REPLACE_G_MISS_CHAR(p_repetitive_planning_flag,l_item_tbl(indx).repetitive_planning_flag);
1283        l_item_tbl(indx).overrun_percentage             :=  REPLACE_G_MISS_NUM (p_overrun_percentage,l_item_tbl(indx).overrun_percentage);
1284        l_item_tbl(indx).acceptable_rate_decrease       :=  REPLACE_G_MISS_NUM (p_acceptable_rate_decrease,l_item_tbl(indx).acceptable_rate_decrease);
1285        l_item_tbl(indx).acceptable_rate_increase       :=  REPLACE_G_MISS_NUM (p_acceptable_rate_increase,l_item_tbl(indx).acceptable_rate_increase);
1286        l_item_tbl(indx).planning_time_fence_code       :=  REPLACE_G_MISS_NUM (p_planning_time_fence_code,l_item_tbl(indx).planning_time_fence_code);
1287        l_item_tbl(indx).planning_time_fence_days       :=  REPLACE_G_MISS_NUM (p_planning_time_fence_days,l_item_tbl(indx).planning_time_fence_days);
1288        l_item_tbl(indx).demand_time_fence_code         :=  REPLACE_G_MISS_NUM (p_demand_time_fence_code,l_item_tbl(indx).demand_time_fence_code);
1289        l_item_tbl(indx).demand_time_fence_days         :=  REPLACE_G_MISS_NUM (p_demand_time_fence_days,l_item_tbl(indx).demand_time_fence_days);
1290        l_item_tbl(indx).release_time_fence_code        :=  REPLACE_G_MISS_NUM (p_release_time_fence_code,l_item_tbl(indx).release_time_fence_code);
1291        l_item_tbl(indx).release_time_fence_days        :=  REPLACE_G_MISS_NUM (p_release_time_fence_days,l_item_tbl(indx).release_time_fence_days);
1292        l_item_tbl(indx).substitution_window_code       :=  REPLACE_G_MISS_NUM (p_substitution_window_code,l_item_tbl(indx).substitution_window_code);
1293        l_item_tbl(indx).substitution_window_days       :=  REPLACE_G_MISS_NUM (p_substitution_window_days,l_item_tbl(indx).substitution_window_days);
1294      -- lead times
1295        l_item_tbl(indx).preprocessing_lead_time        :=  REPLACE_G_MISS_NUM (p_preprocessing_lead_time,l_item_tbl(indx).preprocessing_lead_time);
1296        l_item_tbl(indx).full_lead_time                 :=  REPLACE_G_MISS_NUM (p_full_lead_time,l_item_tbl(indx).full_lead_time);
1297        l_item_tbl(indx).postprocessing_lead_time       :=  REPLACE_G_MISS_NUM (p_postprocessing_lead_time,l_item_tbl(indx).postprocessing_lead_time);
1298        l_item_tbl(indx).fixed_lead_time                :=  REPLACE_G_MISS_NUM (p_fixed_lead_time,l_item_tbl(indx).fixed_lead_time);
1299        l_item_tbl(indx).variable_lead_time             :=  REPLACE_G_MISS_NUM (p_variable_lead_time,l_item_tbl(indx).variable_lead_time);
1300        l_item_tbl(indx).cum_manufacturing_lead_time    :=  REPLACE_G_MISS_NUM (p_cum_manufacturing_lead_time,l_item_tbl(indx).cum_manufacturing_lead_time);
1301        l_item_tbl(indx).cumulative_total_lead_time     :=  REPLACE_G_MISS_NUM (p_cumulative_total_lead_time,l_item_tbl(indx).cumulative_total_lead_time);
1302        l_item_tbl(indx).lead_time_lot_size             :=  REPLACE_G_MISS_NUM (p_lead_time_lot_size,l_item_tbl(indx).lead_time_lot_size);
1303      -- wip
1304        l_item_tbl(indx).build_in_wip_flag              :=  REPLACE_G_MISS_CHAR(p_build_in_wip_flag,l_item_tbl(indx).build_in_wip_flag);
1305        l_item_tbl(indx).wip_supply_type                :=  REPLACE_G_MISS_NUM (p_wip_supply_type,l_item_tbl(indx).wip_supply_type);
1306        l_item_tbl(indx).wip_supply_subinventory        :=  REPLACE_G_MISS_CHAR(p_wip_supply_subinventory,l_item_tbl(indx).wip_supply_subinventory);
1307        l_item_tbl(indx).wip_supply_locator_id          :=  REPLACE_G_MISS_NUM (p_wip_supply_locator_id,l_item_tbl(indx).wip_supply_locator_id);
1308        l_item_tbl(indx).overcompletion_tolerance_type  :=  REPLACE_G_MISS_NUM (p_overcompletion_tolerance_ty,l_item_tbl(indx).overcompletion_tolerance_type);
1309        l_item_tbl(indx).overcompletion_tolerance_value :=  REPLACE_G_MISS_NUM (p_overcompletion_tolerance_va,l_item_tbl(indx).overcompletion_tolerance_value);
1310        l_item_tbl(indx).inventory_carry_penalty        :=  REPLACE_G_MISS_NUM (p_inventory_carry_penalty,l_item_tbl(indx).inventory_carry_penalty);
1311        l_item_tbl(indx).operation_slack_penalty        :=  REPLACE_G_MISS_NUM (p_operation_slack_penalty,l_item_tbl(indx).operation_slack_penalty);
1312      -- order management
1313        l_item_tbl(indx).customer_order_flag            :=  REPLACE_G_MISS_CHAR(p_customer_order_flag,l_item_tbl(indx).customer_order_flag);
1314        l_item_tbl(indx).customer_order_enabled_flag    :=  REPLACE_G_MISS_CHAR(p_customer_order_enabled_flag,l_item_tbl(indx).customer_order_enabled_flag);
1315        l_item_tbl(indx).internal_order_flag            :=  REPLACE_G_MISS_CHAR(p_internal_order_flag,l_item_tbl(indx).internal_order_flag);
1316        l_item_tbl(indx).internal_order_enabled_flag    :=  REPLACE_G_MISS_CHAR(p_internal_order_enabled_flag,l_item_tbl(indx).internal_order_enabled_flag);
1317        l_item_tbl(indx).shippable_item_flag            :=  REPLACE_G_MISS_CHAR(p_shippable_item_flag,l_item_tbl(indx).shippable_item_flag);
1318        l_item_tbl(indx).so_transactions_flag           :=  REPLACE_G_MISS_CHAR(p_so_transactions_flag,l_item_tbl(indx).so_transactions_flag);
1319        l_item_tbl(indx).picking_rule_id                :=  REPLACE_G_MISS_NUM (p_picking_rule_id,l_item_tbl(indx).picking_rule_id);
1320        l_item_tbl(indx).pick_components_flag           :=  REPLACE_G_MISS_CHAR(p_pick_components_flag,l_item_tbl(indx).pick_components_flag);
1321        l_item_tbl(indx).replenish_to_order_flag        :=  REPLACE_G_MISS_CHAR(p_replenish_to_order_flag,l_item_tbl(indx).replenish_to_order_flag);
1322        l_item_tbl(indx).atp_flag                       :=  REPLACE_G_MISS_CHAR(p_atp_flag,l_item_tbl(indx).atp_flag);
1323        l_item_tbl(indx).atp_components_flag            :=  REPLACE_G_MISS_CHAR(p_atp_components_flag,l_item_tbl(indx).atp_components_flag);
1324        l_item_tbl(indx).atp_rule_id                    :=  REPLACE_G_MISS_NUM (p_atp_rule_id,l_item_tbl(indx).atp_rule_id);
1325        l_item_tbl(indx).ship_model_complete_flag       :=  REPLACE_G_MISS_CHAR(p_ship_model_complete_flag,l_item_tbl(indx).ship_model_complete_flag);
1326        l_item_tbl(indx).default_shipping_org           :=  REPLACE_G_MISS_NUM (p_default_shipping_org,l_item_tbl(indx).default_shipping_org);
1327        l_item_tbl(indx).default_so_source_type         :=  REPLACE_G_MISS_CHAR(p_default_so_source_type,l_item_tbl(indx).default_so_source_type);
1328        l_item_tbl(indx).returnable_flag                :=  REPLACE_G_MISS_CHAR(p_returnable_flag,l_item_tbl(indx).returnable_flag);
1329        l_item_tbl(indx).return_inspection_requirement  :=  REPLACE_G_MISS_NUM (p_return_inspection_requireme,l_item_tbl(indx).return_inspection_requirement);
1330        l_item_tbl(indx).over_shipment_tolerance        :=  REPLACE_G_MISS_NUM (p_over_shipment_tolerance,l_item_tbl(indx).over_shipment_tolerance);
1331        l_item_tbl(indx).under_shipment_tolerance       :=  REPLACE_G_MISS_NUM (p_under_shipment_tolerance,l_item_tbl(indx).under_shipment_tolerance);
1332        l_item_tbl(indx).over_return_tolerance          :=  REPLACE_G_MISS_NUM (p_over_return_tolerance,l_item_tbl(indx).over_return_tolerance);
1333        l_item_tbl(indx).under_return_tolerance         :=  REPLACE_G_MISS_NUM (p_under_return_tolerance,l_item_tbl(indx).under_return_tolerance);
1334        l_item_tbl(indx).financing_allowed_flag         :=  REPLACE_G_MISS_CHAR(p_financing_allowed_flag,l_item_tbl(indx).financing_allowed_flag);
1335        l_item_tbl(indx).vol_discount_exempt_flag       :=  REPLACE_G_MISS_CHAR(p_vol_discount_exempt_flag,l_item_tbl(indx).vol_discount_exempt_flag);
1336        l_item_tbl(indx).coupon_exempt_flag             :=  REPLACE_G_MISS_CHAR(p_coupon_exempt_flag,l_item_tbl(indx).coupon_exempt_flag);
1337        l_item_tbl(indx).invoiceable_item_flag          :=  REPLACE_G_MISS_CHAR(p_invoiceable_item_flag,l_item_tbl(indx).invoiceable_item_flag);
1338        l_item_tbl(indx).invoice_enabled_flag           :=  REPLACE_G_MISS_CHAR(p_invoice_enabled_flag,l_item_tbl(indx).invoice_enabled_flag);
1339        l_item_tbl(indx).accounting_rule_id             :=  REPLACE_G_MISS_NUM (p_accounting_rule_id,l_item_tbl(indx).accounting_rule_id);
1340        l_item_tbl(indx).invoicing_rule_id              :=  REPLACE_G_MISS_NUM (p_invoicing_rule_id,l_item_tbl(indx).invoicing_rule_id);
1341        l_item_tbl(indx).tax_code                       :=  REPLACE_G_MISS_CHAR(p_tax_code,l_item_tbl(indx).tax_code);
1342        l_item_tbl(indx).sales_account                  :=  REPLACE_G_MISS_NUM (p_sales_account,l_item_tbl(indx).sales_account);
1343        l_item_tbl(indx).payment_terms_id               :=  REPLACE_G_MISS_NUM (p_payment_terms_id,l_item_tbl(indx).payment_terms_id);
1344      -- service
1345        l_item_tbl(indx).contract_item_type_code        :=  REPLACE_G_MISS_CHAR(p_contract_item_type_code,l_item_tbl(indx).contract_item_type_code);
1346        l_item_tbl(indx).service_duration_period_code   :=  REPLACE_G_MISS_CHAR(p_service_duration_period_cod,l_item_tbl(indx).service_duration_period_code);
1347        l_item_tbl(indx).service_duration               :=  REPLACE_G_MISS_NUM (p_service_duration,l_item_tbl(indx).service_duration);
1348        l_item_tbl(indx).coverage_schedule_id           :=  REPLACE_G_MISS_NUM (p_coverage_schedule_id,l_item_tbl(indx).coverage_schedule_id);
1349        l_item_tbl(indx).subscription_depend_flag       :=  REPLACE_G_MISS_CHAR(p_subscription_depend_flag,l_item_tbl(indx).subscription_depend_flag);
1350        l_item_tbl(indx).serv_importance_level          :=  REPLACE_G_MISS_NUM (p_serv_importance_level,l_item_tbl(indx).serv_importance_level);
1351        l_item_tbl(indx).serv_req_enabled_code          :=  REPLACE_G_MISS_CHAR(p_serv_req_enabled_code,l_item_tbl(indx).serv_req_enabled_code);
1352        l_item_tbl(indx).comms_activation_reqd_flag     :=  REPLACE_G_MISS_CHAR(p_comms_activation_reqd_flag,l_item_tbl(indx).comms_activation_reqd_flag);
1353        l_item_tbl(indx).serviceable_product_flag       :=  REPLACE_G_MISS_CHAR(p_serviceable_product_flag,l_item_tbl(indx).serviceable_product_flag);
1354        l_item_tbl(indx).material_billable_flag         :=  REPLACE_G_MISS_CHAR(p_material_billable_flag,l_item_tbl(indx).material_billable_flag);
1355        l_item_tbl(indx).serv_billing_enabled_flag      :=  REPLACE_G_MISS_CHAR(p_serv_billing_enabled_flag,l_item_tbl(indx).serv_billing_enabled_flag);
1356        l_item_tbl(indx).defect_tracking_on_flag        :=  REPLACE_G_MISS_CHAR(p_defect_tracking_on_flag,l_item_tbl(indx).defect_tracking_on_flag);
1357        l_item_tbl(indx).recovered_part_disp_code       :=  REPLACE_G_MISS_CHAR(p_recovered_part_disp_code,l_item_tbl(indx).recovered_part_disp_code);
1358        l_item_tbl(indx).comms_nl_trackable_flag        :=  REPLACE_G_MISS_CHAR(p_comms_nl_trackable_flag,l_item_tbl(indx).comms_nl_trackable_flag);
1359        l_item_tbl(indx).asset_creation_code            :=  REPLACE_G_MISS_CHAR(p_asset_creation_code,l_item_tbl(indx).asset_creation_code);
1360        l_item_tbl(indx).ib_item_instance_class         :=  REPLACE_G_MISS_CHAR(p_ib_item_instance_class,l_item_tbl(indx).ib_item_instance_class);
1361        l_item_tbl(indx).service_starting_delay         :=  REPLACE_G_MISS_NUM (p_service_starting_delay,l_item_tbl(indx).service_starting_delay);
1362      -- web option
1363        l_item_tbl(indx).web_status                     :=  REPLACE_G_MISS_CHAR(p_web_status,l_item_tbl(indx).web_status);
1364        l_item_tbl(indx).orderable_on_web_flag          :=  REPLACE_G_MISS_CHAR(p_orderable_on_web_flag,l_item_tbl(indx).orderable_on_web_flag);
1365        l_item_tbl(indx).back_orderable_flag            :=  REPLACE_G_MISS_CHAR(p_back_orderable_flag,l_item_tbl(indx).back_orderable_flag);
1366        l_item_tbl(indx).minimum_license_quantity       :=  REPLACE_G_MISS_NUM (p_minimum_license_quantity,l_item_tbl(indx).minimum_license_quantity);
1367      --Start: 26 new attributes
1368        l_item_tbl(indx).tracking_quantity_ind          :=  REPLACE_G_MISS_CHAR(p_tracking_quantity_ind,l_item_tbl(indx).tracking_quantity_ind);
1369        l_item_tbl(indx).ont_pricing_qty_source         :=  REPLACE_G_MISS_CHAR(p_ont_pricing_qty_source,l_item_tbl(indx).ont_pricing_qty_source);
1370        l_item_tbl(indx).secondary_default_ind          :=  REPLACE_G_MISS_CHAR(p_secondary_default_ind,l_item_tbl(indx).secondary_default_ind);
1371        l_item_tbl(indx).option_specific_sourced        :=  REPLACE_G_MISS_NUM (p_option_specific_sourced,l_item_tbl(indx).option_specific_sourced);
1372        l_item_tbl(indx).vmi_minimum_units              :=  REPLACE_G_MISS_NUM (p_vmi_minimum_units,l_item_tbl(indx).vmi_minimum_units);
1373        l_item_tbl(indx).vmi_minimum_days               :=  REPLACE_G_MISS_NUM (p_vmi_minimum_days,l_item_tbl(indx).vmi_minimum_days);
1374        l_item_tbl(indx).vmi_maximum_units              :=  REPLACE_G_MISS_NUM (p_vmi_maximum_units,l_item_tbl(indx).vmi_maximum_units);
1375        l_item_tbl(indx).vmi_maximum_days               :=  REPLACE_G_MISS_NUM (p_vmi_maximum_days,l_item_tbl(indx).vmi_maximum_days);
1376        l_item_tbl(indx).vmi_fixed_order_quantity       :=  REPLACE_G_MISS_NUM (p_vmi_fixed_order_quantity,l_item_tbl(indx).vmi_fixed_order_quantity);
1377        l_item_tbl(indx).so_authorization_flag          :=  REPLACE_G_MISS_NUM (p_so_authorization_flag,l_item_tbl(indx).so_authorization_flag);
1378        l_item_tbl(indx).consigned_flag                 :=  REPLACE_G_MISS_NUM (p_consigned_flag,l_item_tbl(indx).consigned_flag);
1379        l_item_tbl(indx).asn_autoexpire_flag            :=  REPLACE_G_MISS_NUM (p_asn_autoexpire_flag,l_item_tbl(indx).asn_autoexpire_flag);
1380        l_item_tbl(indx).vmi_forecast_type              :=  REPLACE_G_MISS_NUM (p_vmi_forecast_type,l_item_tbl(indx).vmi_forecast_type);
1381        l_item_tbl(indx).forecast_horizon               :=  REPLACE_G_MISS_NUM (p_forecast_horizon,l_item_tbl(indx).forecast_horizon);
1382        l_item_tbl(indx).exclude_from_budget_flag       :=  REPLACE_G_MISS_NUM (p_exclude_from_budget_flag,l_item_tbl(indx).exclude_from_budget_flag);
1383        l_item_tbl(indx).days_tgt_inv_supply            :=  REPLACE_G_MISS_NUM (p_days_tgt_inv_supply,l_item_tbl(indx).days_tgt_inv_supply);
1384        l_item_tbl(indx).days_tgt_inv_window            :=  REPLACE_G_MISS_NUM (p_days_tgt_inv_window,l_item_tbl(indx).days_tgt_inv_window);
1385        l_item_tbl(indx).days_max_inv_supply            :=  REPLACE_G_MISS_NUM (p_days_max_inv_supply,l_item_tbl(indx).days_max_inv_supply);
1386        l_item_tbl(indx).days_max_inv_window            :=  REPLACE_G_MISS_NUM (p_days_max_inv_window,l_item_tbl(indx).days_max_inv_window);
1387        l_item_tbl(indx).drp_planned_flag               :=  REPLACE_G_MISS_NUM (p_drp_planned_flag,l_item_tbl(indx).drp_planned_flag);
1388        l_item_tbl(indx).critical_component_flag        :=  REPLACE_G_MISS_NUM (p_critical_component_flag,l_item_tbl(indx).critical_component_flag);
1389        l_item_tbl(indx).continous_transfer             :=  REPLACE_G_MISS_NUM (p_continous_transfer,l_item_tbl(indx).continous_transfer);
1390        l_item_tbl(indx).convergence                    :=  REPLACE_G_MISS_NUM (p_convergence,l_item_tbl(indx).convergence);
1391        l_item_tbl(indx).divergence                     :=  REPLACE_G_MISS_NUM (p_divergence,l_item_tbl(indx).divergence);
1392        l_item_tbl(indx).config_orgs                    :=  REPLACE_G_MISS_CHAR(p_config_orgs,l_item_tbl(indx).config_orgs);
1393        l_item_tbl(indx).config_match                   :=  REPLACE_G_MISS_CHAR(p_config_match,l_item_tbl(indx).config_match);
1394      --End: 26 new attributes
1395      -- descriptive flex
1396        l_item_tbl(indx).attribute_category             :=  REPLACE_G_MISS_CHAR(p_attribute_category,l_item_tbl(indx).attribute_category);
1397        l_item_tbl(indx).attribute1                     :=  REPLACE_G_MISS_CHAR(p_attribute1,l_item_tbl(indx).attribute1);
1398        l_item_tbl(indx).attribute2                     :=  REPLACE_G_MISS_CHAR(p_attribute2,l_item_tbl(indx).attribute2);
1399        l_item_tbl(indx).attribute3                     :=  REPLACE_G_MISS_CHAR(p_attribute3,l_item_tbl(indx).attribute3);
1400        l_item_tbl(indx).attribute4                     :=  REPLACE_G_MISS_CHAR(p_attribute4,l_item_tbl(indx).attribute4);
1401        l_item_tbl(indx).attribute5                     :=  REPLACE_G_MISS_CHAR(p_attribute5,l_item_tbl(indx).attribute5);
1402        l_item_tbl(indx).attribute6                     :=  REPLACE_G_MISS_CHAR(p_attribute6,l_item_tbl(indx).attribute6);
1403        l_item_tbl(indx).attribute7                     :=  REPLACE_G_MISS_CHAR(p_attribute7,l_item_tbl(indx).attribute7);
1404        l_item_tbl(indx).attribute8                     :=  REPLACE_G_MISS_CHAR(p_attribute8,l_item_tbl(indx).attribute8);
1405        l_item_tbl(indx).attribute9                     :=  REPLACE_G_MISS_CHAR(p_attribute9,l_item_tbl(indx).attribute9);
1406        l_item_tbl(indx).attribute10                    :=  REPLACE_G_MISS_CHAR(p_attribute10,l_item_tbl(indx).attribute10);
1407        l_item_tbl(indx).attribute11                    :=  REPLACE_G_MISS_CHAR(p_attribute11,l_item_tbl(indx).attribute11);
1408        l_item_tbl(indx).attribute12                    :=  REPLACE_G_MISS_CHAR(p_attribute12,l_item_tbl(indx).attribute12);
1409        l_item_tbl(indx).attribute13                    :=  REPLACE_G_MISS_CHAR(p_attribute13,l_item_tbl(indx).attribute13);
1410        l_item_tbl(indx).attribute14                    :=  REPLACE_G_MISS_CHAR(p_attribute14,l_item_tbl(indx).attribute14);
1411        l_item_tbl(indx).attribute15                    :=  REPLACE_G_MISS_CHAR(p_attribute15,l_item_tbl(indx).attribute15);
1412        l_item_tbl(indx).attribute16                    :=  REPLACE_G_MISS_CHAR(p_attribute16,l_item_tbl(indx).attribute16);
1413        l_item_tbl(indx).attribute17                    :=  REPLACE_G_MISS_CHAR(p_attribute17,l_item_tbl(indx).attribute17);
1414        l_item_tbl(indx).attribute18                    :=  REPLACE_G_MISS_CHAR(p_attribute18,l_item_tbl(indx).attribute18);
1415        l_item_tbl(indx).attribute19                    :=  REPLACE_G_MISS_CHAR(p_attribute19,l_item_tbl(indx).attribute19);
1416        l_item_tbl(indx).attribute20                    :=  REPLACE_G_MISS_CHAR(p_attribute20,l_item_tbl(indx).attribute20);
1417        l_item_tbl(indx).attribute21                    :=  REPLACE_G_MISS_CHAR(p_attribute21,l_item_tbl(indx).attribute21);
1418        l_item_tbl(indx).attribute22                    :=  REPLACE_G_MISS_CHAR(p_attribute22,l_item_tbl(indx).attribute22);
1419        l_item_tbl(indx).attribute23                    :=  REPLACE_G_MISS_CHAR(p_attribute23,l_item_tbl(indx).attribute23);
1420        l_item_tbl(indx).attribute24                    :=  REPLACE_G_MISS_CHAR(p_attribute24,l_item_tbl(indx).attribute24);
1421        l_item_tbl(indx).attribute25                    :=  REPLACE_G_MISS_CHAR(p_attribute25,l_item_tbl(indx).attribute25);
1422        l_item_tbl(indx).attribute26                    :=  REPLACE_G_MISS_CHAR(p_attribute26,l_item_tbl(indx).attribute26);
1423        l_item_tbl(indx).attribute27                    :=  REPLACE_G_MISS_CHAR(p_attribute27,l_item_tbl(indx).attribute27);
1424        l_item_tbl(indx).attribute28                    :=  REPLACE_G_MISS_CHAR(p_attribute28,l_item_tbl(indx).attribute28);
1425        l_item_tbl(indx).attribute29                    :=  REPLACE_G_MISS_CHAR(p_attribute29,l_item_tbl(indx).attribute29);
1426        l_item_tbl(indx).attribute30                    :=  REPLACE_G_MISS_CHAR(p_attribute30,l_item_tbl(indx).attribute30);
1427      -- global descriptive flex
1428        l_item_tbl(indx).global_attribute_category      :=  REPLACE_G_MISS_CHAR(p_global_attribute_category,l_item_tbl(indx).global_attribute_category);
1429        l_item_tbl(indx).global_attribute1              :=  REPLACE_G_MISS_CHAR(p_global_attribute1,l_item_tbl(indx).global_attribute1);
1430        l_item_tbl(indx).global_attribute2              :=  REPLACE_G_MISS_CHAR(p_global_attribute2,l_item_tbl(indx).global_attribute2);
1431        l_item_tbl(indx).global_attribute3              :=  REPLACE_G_MISS_CHAR(p_global_attribute3,l_item_tbl(indx).global_attribute3);
1432        l_item_tbl(indx).global_attribute4              :=  REPLACE_G_MISS_CHAR(p_global_attribute4,l_item_tbl(indx).global_attribute4);
1433        l_item_tbl(indx).global_attribute5              :=  REPLACE_G_MISS_CHAR(p_global_attribute5,l_item_tbl(indx).global_attribute5);
1434        l_item_tbl(indx).global_attribute6              :=  REPLACE_G_MISS_CHAR(p_global_attribute6,l_item_tbl(indx).global_attribute6);
1435        l_item_tbl(indx).global_attribute7              :=  REPLACE_G_MISS_CHAR(p_global_attribute7,l_item_tbl(indx).global_attribute7);
1436        l_item_tbl(indx).global_attribute8              :=  REPLACE_G_MISS_CHAR(p_global_attribute8,l_item_tbl(indx).global_attribute8);
1437        l_item_tbl(indx).global_attribute9              :=  REPLACE_G_MISS_CHAR(p_global_attribute9,l_item_tbl(indx).global_attribute9);
1438        l_item_tbl(indx).global_attribute10             :=  REPLACE_G_MISS_CHAR(p_global_attribute10,l_item_tbl(indx).global_attribute10);
1439 
1440        l_item_tbl(indx).global_attribute11              :=  REPLACE_G_MISS_CHAR(p_global_attribute11,l_item_tbl(indx).global_attribute11);
1441        l_item_tbl(indx).global_attribute12              :=  REPLACE_G_MISS_CHAR(p_global_attribute12,l_item_tbl(indx).global_attribute12);
1442        l_item_tbl(indx).global_attribute13              :=  REPLACE_G_MISS_CHAR(p_global_attribute13,l_item_tbl(indx).global_attribute13);
1443        l_item_tbl(indx).global_attribute14              :=  REPLACE_G_MISS_CHAR(p_global_attribute14,l_item_tbl(indx).global_attribute14);
1444        l_item_tbl(indx).global_attribute15              :=  REPLACE_G_MISS_CHAR(p_global_attribute15,l_item_tbl(indx).global_attribute15);
1445        l_item_tbl(indx).global_attribute16              :=  REPLACE_G_MISS_CHAR(p_global_attribute16,l_item_tbl(indx).global_attribute16);
1446        l_item_tbl(indx).global_attribute17              :=  REPLACE_G_MISS_CHAR(p_global_attribute17,l_item_tbl(indx).global_attribute17);
1447        l_item_tbl(indx).global_attribute18              :=  REPLACE_G_MISS_CHAR(p_global_attribute18,l_item_tbl(indx).global_attribute18);
1448        l_item_tbl(indx).global_attribute19              :=  REPLACE_G_MISS_CHAR(p_global_attribute19,l_item_tbl(indx).global_attribute19);
1449        l_item_tbl(indx).global_attribute20             :=  REPLACE_G_MISS_CHAR(p_global_attribute20,l_item_tbl(indx).global_attribute20);
1450                     /* R12 Enhacement  */
1451        l_item_tbl(indx).CAS_NUMBER                     :=  REPLACE_G_MISS_CHAR(p_CAS_NUMBER ,l_item_tbl(indx).CAS_NUMBER );
1452        l_item_tbl(indx).CHILD_LOT_FLAG                 :=  REPLACE_G_MISS_CHAR(p_CHILD_LOT_FLAG ,l_item_tbl(indx).CHILD_LOT_FLAG);
1453        l_item_tbl(indx).CHILD_LOT_PREFIX               :=  REPLACE_G_MISS_CHAR(p_CHILD_LOT_PREFIX,l_item_tbl(indx).CHILD_LOT_PREFIX);
1454        l_item_tbl(indx).CHILD_LOT_STARTING_NUMBER      :=  REPLACE_G_MISS_NUM(p_CHILD_LOT_STARTING_NUMBER,l_item_tbl(indx).CHILD_LOT_STARTING_NUMBER);
1455        l_item_tbl(indx).CHILD_LOT_VALIDATION_FLAG      :=  REPLACE_G_MISS_CHAR(p_CHILD_LOT_VALIDATION_FLAG,l_item_tbl(indx).CHILD_LOT_VALIDATION_FLAG);
1456        l_item_tbl(indx).COPY_LOT_ATTRIBUTE_FLAG        :=  REPLACE_G_MISS_CHAR(p_COPY_LOT_ATTRIBUTE_FLAG,l_item_tbl(indx).COPY_LOT_ATTRIBUTE_FLAG);
1457        l_item_tbl(indx).DEFAULT_GRADE                  :=  REPLACE_G_MISS_CHAR(p_DEFAULT_GRADE,l_item_tbl(indx).DEFAULT_GRADE);
1458        l_item_tbl(indx).EXPIRATION_ACTION_CODE         :=  REPLACE_G_MISS_CHAR(p_EXPIRATION_ACTION_CODE,l_item_tbl(indx).EXPIRATION_ACTION_CODE);
1459        l_item_tbl(indx).EXPIRATION_ACTION_INTERVAL     :=  REPLACE_G_MISS_NUM(p_EXPIRATION_ACTION_INTERVAL,l_item_tbl(indx).EXPIRATION_ACTION_INTERVAL);
1460        l_item_tbl(indx).GRADE_CONTROL_FLAG             :=  REPLACE_G_MISS_CHAR(p_GRADE_CONTROL_FLAG,l_item_tbl(indx).GRADE_CONTROL_FLAG);
1461        l_item_tbl(indx).HAZARDOUS_MATERIAL_FLAG        :=  REPLACE_G_MISS_CHAR(p_HAZARDOUS_MATERIAL_FLAG,l_item_tbl(indx).HAZARDOUS_MATERIAL_FLAG);
1462        l_item_tbl(indx).HOLD_DAYS                      :=  REPLACE_G_MISS_NUM(p_HOLD_DAYS,l_item_tbl(indx).HOLD_DAYS);
1463        l_item_tbl(indx).LOT_DIVISIBLE_FLAG             :=  REPLACE_G_MISS_CHAR(p_LOT_DIVISIBLE_FLAG,l_item_tbl(indx).LOT_DIVISIBLE_FLAG);
1464        l_item_tbl(indx).MATURITY_DAYS                  :=  REPLACE_G_MISS_NUM(p_MATURITY_DAYS,l_item_tbl(indx).MATURITY_DAYS);
1465        l_item_tbl(indx).PARENT_CHILD_GENERATION_FLAG   :=  REPLACE_G_MISS_CHAR(p_PARENT_CHILD_GENERATION_FLAG,l_item_tbl(indx).PARENT_CHILD_GENERATION_FLAG);
1466        l_item_tbl(indx).PROCESS_COSTING_ENABLED_FLAG   :=  REPLACE_G_MISS_CHAR(p_PROCESS_COSTING_ENABLED_FLAG,l_item_tbl(indx).PROCESS_COSTING_ENABLED_FLAG);
1467        l_item_tbl(indx).PROCESS_EXECUTION_ENABLED_FLAG :=  REPLACE_G_MISS_CHAR(p_PROCESS_EXECUTION_ENABLED_FL,l_item_tbl(indx).PROCESS_EXECUTION_ENABLED_FLAG);
1468        l_item_tbl(indx).PROCESS_QUALITY_ENABLED_FLAG   :=  REPLACE_G_MISS_CHAR(p_PROCESS_QUALITY_ENABLED_FLAG,l_item_tbl(indx).PROCESS_QUALITY_ENABLED_FLAG);
1469        l_item_tbl(indx).PROCESS_SUPPLY_LOCATOR_ID      :=  REPLACE_G_MISS_NUM(p_PROCESS_SUPPLY_LOCATOR_ID,l_item_tbl(indx).PROCESS_SUPPLY_LOCATOR_ID);
1470        l_item_tbl(indx).PROCESS_SUPPLY_SUBINVENTORY    :=  REPLACE_G_MISS_CHAR(p_PROCESS_SUPPLY_SUBINVENTORY,l_item_tbl(indx).PROCESS_SUPPLY_SUBINVENTORY);
1471        l_item_tbl(indx).PROCESS_YIELD_LOCATOR_ID       :=  REPLACE_G_MISS_NUM(p_PROCESS_YIELD_LOCATOR_ID,l_item_tbl(indx).PROCESS_YIELD_LOCATOR_ID);
1472        l_item_tbl(indx).PROCESS_YIELD_SUBINVENTORY     :=  REPLACE_G_MISS_CHAR(p_PROCESS_YIELD_SUBINVENTORY,l_item_tbl(indx).PROCESS_YIELD_SUBINVENTORY);
1473        l_item_tbl(indx).RECIPE_ENABLED_FLAG            :=  REPLACE_G_MISS_CHAR(p_RECIPE_ENABLED_FLAG,l_item_tbl(indx).RECIPE_ENABLED_FLAG);
1474        l_item_tbl(indx).RETEST_INTERVAL                :=  REPLACE_G_MISS_NUM(p_RETEST_INTERVAL,l_item_tbl(indx).RETEST_INTERVAL);
1475        l_item_tbl(indx).charge_periodicity_code        :=  REPLACE_G_MISS_CHAR(p_charge_periodicity_code,l_item_tbl(indx).charge_periodicity_code);
1476        l_item_tbl(indx).REPAIR_LEADTIME                :=  REPLACE_G_MISS_NUM(p_REPAIR_LEADTIME,l_item_tbl(indx).REPAIR_LEADTIME);
1477        l_item_tbl(indx).REPAIR_YIELD                   :=  REPLACE_G_MISS_NUM(p_REPAIR_YIELD,l_item_tbl(indx).REPAIR_YIELD);
1478        l_item_tbl(indx).PREPOSITION_POINT              :=  REPLACE_G_MISS_CHAR(p_PREPOSITION_POINT,l_item_tbl(indx).PREPOSITION_POINT);
1479        l_item_tbl(indx).REPAIR_PROGRAM                 :=  REPLACE_G_MISS_NUM(p_REPAIR_PROGRAM,l_item_tbl(indx).REPAIR_PROGRAM);
1480        l_item_tbl(indx).SUBCONTRACTING_COMPONENT       :=  REPLACE_G_MISS_NUM(p_SUBCONTRACTING_COMPONENT,l_item_tbl(indx).SUBCONTRACTING_COMPONENT);
1481        l_item_tbl(indx).OUTSOURCED_ASSEMBLY            :=  REPLACE_G_MISS_NUM(p_OUTSOURCED_ASSEMBLY ,l_item_tbl(indx).OUTSOURCED_ASSEMBLY );
1482        --R12 C Attributes
1483        l_item_tbl(indx).GDSN_OUTBOUND_ENABLED_FLAG     :=  REPLACE_G_MISS_CHAR(p_GDSN_OUTBOUND_ENABLED_FLAG ,l_item_tbl(indx).GDSN_OUTBOUND_ENABLED_FLAG );
1484        l_item_tbl(indx).TRADE_ITEM_DESCRIPTOR          :=  REPLACE_G_MISS_CHAR(P_TRADE_ITEM_DESCRIPTOR ,l_item_tbl(indx).TRADE_ITEM_DESCRIPTOR );
1485        l_item_tbl(indx).STYLE_ITEM_FLAG                :=  REPLACE_G_MISS_CHAR(P_STYLE_ITEM_FLAG ,l_item_tbl(indx).STYLE_ITEM_FLAG );
1486        l_item_tbl(indx).STYLE_ITEM_ID                  :=  REPLACE_G_MISS_NUM(P_STYLE_ITEM_ID ,l_item_tbl(indx).STYLE_ITEM_ID );
1487      -- Revision table populating
1488 
1489        l_Revision_Tbl(indx).Transaction_Type           := p_Transaction_Type;
1490        l_Revision_Tbl(indx).Inventory_Item_Id          := p_inventory_item_id;
1491        l_Revision_Tbl(indx).Item_Number                := p_Item_Number;
1492        l_Revision_Tbl(indx).Organization_Id            := p_organization_id;
1493        l_Revision_Tbl(indx).Revision_Id                := p_revision_id;
1494        l_Revision_Tbl(indx).Revision_Code              := p_revision_code;
1495        l_Revision_Tbl(indx).Revision_Label             := p_revision_label;
1496        l_Revision_Tbl(indx).Description                := p_revision_description;
1497        l_Revision_Tbl(indx).Effectivity_Date           := p_effectivity_Date;
1498        l_Revision_Tbl(indx).Lifecycle_Id               := p_rev_lifecycle_id;
1499        l_Revision_Tbl(indx).Current_Phase_Id           := p_rev_current_phase_id;
1500       -- 5208102: Supporting template for UDA's at revisions
1501        l_Revision_Tbl(indx).template_id                := p_rev_template_id;
1502        l_Revision_Tbl(indx).template_name              := p_rev_template_name;
1503 
1504        l_Revision_Tbl(indx).Attribute_Category         := p_rev_attribute_category;
1505        l_Revision_Tbl(indx).Attribute1                 := p_rev_attribute1;
1506        l_Revision_Tbl(indx).Attribute2                 := p_rev_attribute2;
1507        l_Revision_Tbl(indx).Attribute3                 := p_rev_attribute3;
1508        l_Revision_Tbl(indx).Attribute4                 := p_rev_attribute4;
1509        l_Revision_Tbl(indx).Attribute5                 := p_rev_attribute5;
1510        l_Revision_Tbl(indx).Attribute6                 := p_rev_attribute6;
1511        l_Revision_Tbl(indx).Attribute7                 := p_rev_attribute7;
1512        l_Revision_Tbl(indx).Attribute8                 := p_rev_attribute8;
1513        l_Revision_Tbl(indx).Attribute9                 := p_rev_attribute9;
1514        l_Revision_Tbl(indx).Attribute10                := p_rev_attribute10;
1515        l_Revision_Tbl(indx).Attribute11                := p_rev_attribute11;
1516        l_Revision_Tbl(indx).Attribute12                := p_rev_attribute12;
1517        l_Revision_Tbl(indx).Attribute13                := p_rev_attribute13;
1518        l_Revision_Tbl(indx).Attribute14                := p_rev_attribute14;
1519        l_Revision_Tbl(indx).Attribute15                := p_rev_attribute15;
1520 
1521        EGO_Item_PVT.G_Item_Tbl          :=  l_item_tbl;
1522        EGO_Item_PVT.G_Revision_Tbl      :=  l_Revision_Tbl;
1523 
1524        INV_EGO_REVISION_VALIDATE.Set_Process_Control(NVL(p_process_control,'PLM_UI:Y'));--Bug:3777954
1525 
1526        EGO_Item_PVT.Process_Items (
1527          p_commit         =>  p_commit
1528         ,x_return_status  =>  x_return_status
1529         ,x_msg_count      =>  x_msg_count);
1530 
1531        x_msg_data := FND_MESSAGE.get; --Retrieving error message in the case of p_process_control = "Interface_Handler"
1532 
1533        INV_EGO_REVISION_VALIDATE.Set_Process_Control(NULL);
1534 
1535        l_item_created_tbl := EGO_Item_PVT.G_Item_Tbl;
1536 
1537        IF x_return_status =  FND_API.G_RET_STS_SUCCESS AND l_item_tbl(indx).process_item_record = 1  THEN
1538 
1539           x_inventory_item_id := l_item_created_tbl(indx).inventory_item_id;
1540           x_organization_id   := l_item_created_tbl(indx).organization_id;
1541 
1542           IF p_approval_status = G_MISS_CHAR THEN
1543              l_approval_status := NULL;
1544           ELSE
1545              l_approval_status := p_approval_status;
1546           END IF;
1547 
1548           IF NVL(p_process_control,'PLM_UI:N') <> 'EGO_INTERFACE_HANDLER' THEN --R12 C
1549              EGO_ITEM_PUB.Update_Item_Approval_Status (
1550                 p_inventory_item_id   => x_inventory_item_id
1551                ,p_organization_id     => x_organization_id
1552                ,p_approval_status     => l_approval_status );
1553           END IF;
1554 
1555        END IF;  -- x_return_status = FND_API.G_RET_STS_SUCCESS from IOI
1556 
1557     ELSIF x_return_status <>  FND_API.G_RET_STS_SUCCESS THEN
1558 
1559        FND_MESSAGE.Set_Name ('EGO', 'EGO_PROGRAM_NOT_IMPLEMENTED');
1560        FND_MSG_PUB.Add;
1561        RAISE FND_API.G_EXC_ERROR;
1562 
1563     END IF; -- TRANSACTION_TYPE IN CREATE/UPDATE
1564 
1565     IF FND_API.To_Boolean(p_commit) THEN
1566        COMMIT WORK;
1567     END IF;
1568 
1569     --EGO_Item_PVT.Process_Items returns the status which is correct, please donot override that.
1570     --x_return_status := G_RET_STS_SUCCESS;
1571     --Bug 5997870.. Clear the values before returning so that it does not stick around till next call..
1572     Clear_Object_Version_Values;
1573 
1574   EXCEPTION
1575      WHEN FND_API.G_EXC_ERROR THEN
1576         Clear_Object_Version_Values;
1577 
1578         IF FND_API.To_Boolean(p_commit) THEN
1579            ROLLBACK TO Process_Item_Scalar;
1580         END IF;
1581         x_return_status := G_RET_STS_ERROR;
1582         FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE
1583                               ,p_count   => x_msg_count
1584                               ,p_data    => x_msg_data);
1585      WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1586         Clear_Object_Version_Values;
1587 
1588         IF FND_API.To_Boolean(p_commit) THEN
1589           ROLLBACK TO Process_Item_Scalar;
1590         END IF;
1591         x_RETURN_STATUS := G_RET_STS_UNEXP_ERROR;
1592         FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE
1593                               ,p_count   => x_msg_count
1594                               ,p_data    => x_msg_data);
1595      WHEN OTHERS THEN
1596         Clear_Object_Version_Values;
1597 
1598         IF FND_API.To_Boolean(p_commit) THEN
1599            ROLLBACK TO Process_Item_Scalar;
1600         END IF;
1601         x_return_status := G_RET_STS_UNEXP_ERROR;
1602         FND_MESSAGE.Set_Name('EGO', 'EGO_PLSQL_ERR');
1603         FND_MESSAGE.Set_Token('PKG_NAME', G_PKG_NAME);
1604         FND_MESSAGE.Set_Token('API_NAME', l_api_name);
1605         FND_MESSAGE.Set_Token('SQL_ERR_MSG', SQLERRM);
1606         FND_MSG_PUB.Add;
1607         FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE
1608                               ,p_count   => x_msg_count
1609                               ,p_data    => x_msg_data);
1610   END Process_Item;
1611 
1612  ---------------------------------------------------------------------------
1613    PROCEDURE Process_Item_Org_Assignments(
1614       p_api_version             IN      NUMBER
1615      ,p_init_msg_list           IN      VARCHAR2        DEFAULT  G_FALSE
1616      ,p_commit                  IN      VARCHAR2        DEFAULT  G_FALSE
1617      ,p_Item_Org_Assignment_Tbl IN      EGO_Item_PUB.Item_Org_Assignment_Tbl_Type
1618      ,x_return_status           OUT NOCOPY  VARCHAR2
1619      ,x_msg_count               OUT NOCOPY  NUMBER) IS
1620 
1621       l_api_name       CONSTANT    VARCHAR2(30)  :=  'Process_Item_Org_Assignments';
1622       l_api_version    CONSTANT    NUMBER        :=  1.0;
1623       l_return_status          VARCHAR2(1)   :=  G_MISS_CHAR;
1624    BEGIN
1625       x_return_status := G_RET_STS_SUCCESS;
1626       -- Check for call compatibility
1627       IF NOT FND_API.Compatible_API_Call ( l_api_version, p_api_version,
1628                                         l_api_name, G_PKG_NAME )
1629       THEN
1630          RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
1631       END IF;
1632 
1633       -- Initialize message list
1634       IF FND_API.To_Boolean (p_init_msg_list) THEN
1635          Error_Handler.Initialize;
1636       END IF;
1637 
1638       -- Set business object identifier in the System Information record
1639       Error_Handler.Set_BO_Identifier ( p_bo_identifier  =>  G_BO_Identifier );
1640 
1641       -- Store item org assignment data in the global table
1642       EGO_Item_PVT.G_Item_Org_Assignment_Tbl  :=  p_Item_Org_Assignment_Tbl;
1643 
1644       EGO_Item_PVT.Process_Item_Org_Assignments(
1645          p_commit          =>  p_commit
1646       ,  x_return_status   =>  l_return_status
1647       ,  x_msg_count       =>  x_msg_count);
1648 
1649       x_return_status  :=  l_return_status;
1650 
1651    EXCEPTION
1652       WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
1653          x_return_status := G_RET_STS_UNEXP_ERROR;
1654       WHEN others THEN
1655          x_return_status  :=  G_RET_STS_UNEXP_ERROR;
1656          EGO_Item_Msg.Add_Error_Message ( EGO_Item_PVT.G_Item_Org_indx, 'INV', 'INV_ITEM_UNEXPECTED_ERROR',
1657                                        'PACKAGE_NAME', G_PKG_NAME, FALSE,
1658                                        'PROCEDURE_NAME', l_api_name, FALSE,
1659                                        'ERROR_TEXT', SQLERRM, FALSE );
1660    END Process_Item_Org_Assignments;
1661 
1662  ---------------------------------------------------------------------------
1663    PROCEDURE Assign_Item_To_Org(
1664       p_api_version             IN      NUMBER
1665      ,p_init_msg_list           IN      VARCHAR2        DEFAULT  G_FALSE
1666      ,p_commit                  IN      VARCHAR2        DEFAULT  G_FALSE
1667      ,p_Inventory_Item_Id       IN      NUMBER          DEFAULT  G_MISS_NUM
1668      ,p_Item_Number             IN      VARCHAR2        DEFAULT  G_MISS_CHAR
1669      ,p_Organization_Id         IN      NUMBER          DEFAULT  G_MISS_NUM
1670      ,p_Organization_Code       IN      VARCHAR2        DEFAULT  G_MISS_CHAR
1671      ,p_Primary_Uom_Code        IN      VARCHAR2        DEFAULT  G_MISS_CHAR
1672      ,x_return_status           OUT NOCOPY  VARCHAR2
1673      ,x_msg_count               OUT NOCOPY  NUMBER) IS
1674 
1675       l_api_name       CONSTANT    VARCHAR2(30)   :=  'Assign_Item_To_Org';
1676       l_api_version    CONSTANT    NUMBER         :=  1.0;
1677       l_return_status          VARCHAR2(1)    :=  G_MISS_CHAR;
1678       l_Item_Org_Assignment_Tbl    EGO_Item_PUB.Item_Org_Assignment_Tbl_Type;
1679       indx             BINARY_INTEGER :=  1;
1680    BEGIN
1681 
1682       l_Item_Org_Assignment_Tbl(indx).Inventory_Item_Id  :=  p_Inventory_Item_Id;
1683       l_Item_Org_Assignment_Tbl(indx).Item_Number        :=  p_Item_Number;
1684       l_Item_Org_Assignment_Tbl(indx).Organization_Id    :=  p_Organization_Id;
1685       l_Item_Org_Assignment_Tbl(indx).Organization_Code  :=  p_Organization_Code;
1686       l_Item_Org_Assignment_Tbl(indx).Primary_Uom_Code   :=  p_Primary_Uom_Code;
1687 
1688       EGO_Item_PUB.Process_Item_Org_Assignments(
1689          p_api_version             =>  1.0
1690       ,  p_init_msg_list           =>  p_init_msg_list
1691       ,  p_commit                  =>  p_commit
1692       ,  p_Item_Org_Assignment_Tbl =>  l_Item_Org_Assignment_Tbl
1693       ,  x_return_status           =>  x_return_status
1694       ,  x_msg_count               =>  x_msg_count );
1695 
1696    END Assign_Item_To_Org;
1697 
1698  ---------------------------------------------------------------------------
1699    PROCEDURE Update_Item_Number(
1700       p_Inventory_Item_Id       IN  NUMBER
1701      ,p_Item_Number             IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1702      ,p_Segment1                IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1703      ,p_Segment2                IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1704      ,p_Segment3                IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1705      ,p_Segment4                IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1706      ,p_Segment5                IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1707      ,p_Segment6                IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1708      ,p_Segment7                IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1709      ,p_Segment8                IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1710      ,p_Segment9                IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1711      ,p_Segment10               IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1712      ,p_Segment11               IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1713      ,p_Segment12               IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1714      ,p_Segment13               IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1715      ,p_Segment14               IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1716      ,p_Segment15               IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1717      ,p_Segment16               IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1718      ,p_Segment17               IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1719      ,p_Segment18               IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1720      ,p_Segment19               IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1721      ,p_Segment20               IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1722      ,p_New_Segment1            IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1723      ,p_New_Segment2            IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1724      ,p_New_Segment3            IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1725      ,p_New_Segment4            IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1726      ,p_New_Segment5            IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1727      ,p_New_Segment6            IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1728      ,p_New_Segment7            IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1729      ,p_New_Segment8            IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1730      ,p_New_Segment9            IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1731      ,p_New_Segment10           IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1732      ,p_New_Segment11           IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1733      ,p_New_Segment12           IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1734      ,p_New_Segment13           IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1735      ,p_New_Segment14           IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1736      ,p_New_Segment15           IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1737      ,p_New_Segment16           IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1738      ,p_New_Segment17           IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1739      ,p_New_Segment18           IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1740      ,p_New_Segment19           IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1741      ,p_New_Segment20           IN  VARCHAR2   DEFAULT   G_MISS_CHAR
1742      ,x_Item_Tbl                IN OUT NOCOPY   EGO_Item_PUB.Item_Tbl_Type
1743      ,x_return_status           OUT NOCOPY  VARCHAR2) IS
1744 
1745       l_Segment_Rec     INV_ITEM_API.Item_rec_type;
1746       l_Item_Id         MTL_SYSTEM_ITEMS.INVENTORY_ITEM_ID%TYPE;
1747       l_description     MTL_SYSTEM_ITEMS.DESCRIPTION%TYPE;
1748       l_uom             MTL_SYSTEM_ITEMS.PRIMARY_UNIT_OF_MEASURE%TYPE;
1749       l_catalog         MTL_SYSTEM_ITEMS.ITEM_CATALOG_GROUP_ID%TYPE;
1750       l_error_status    VARCHAR2(500) := NULL;
1751 
1752    BEGIN
1753 
1754       x_return_status := G_MISS_CHAR;
1755 
1756       IF p_Item_Number IS NOT NULL AND p_Item_Number <> G_MISS_CHAR THEN
1757          INVPUOPI.mtl_pr_parse_item_number(
1758       p_item_number  =>p_Item_Number
1759          ,p_segment1     =>l_Segment_Rec.segment1
1760          ,p_segment2     =>l_Segment_Rec.segment2
1761          ,p_segment3     =>l_Segment_Rec.segment3
1762          ,p_segment4     =>l_Segment_Rec.segment4
1763          ,p_segment5     =>l_Segment_Rec.segment5
1764          ,p_segment6     =>l_Segment_Rec.segment6
1765          ,p_segment7     =>l_Segment_Rec.segment7
1766          ,p_segment8     =>l_Segment_Rec.segment8
1767          ,p_segment9     =>l_Segment_Rec.segment9
1768          ,p_segment10    =>l_Segment_Rec.segment10
1769          ,p_segment11    =>l_Segment_Rec.segment11
1770          ,p_segment12    =>l_Segment_Rec.segment12
1771          ,p_segment13    =>l_Segment_Rec.segment13
1772          ,p_segment14    =>l_Segment_Rec.segment14
1773          ,p_segment15    =>l_Segment_Rec.segment15
1774          ,p_segment16    =>l_Segment_Rec.segment16
1775          ,p_segment17    =>l_Segment_Rec.segment17
1776          ,p_segment18    =>l_Segment_Rec.segment18
1777          ,p_segment19    =>l_Segment_Rec.segment19
1778          ,p_segment20    =>l_Segment_Rec.segment20
1779      ,x_err_text     =>l_error_status);
1780 
1781      IF l_error_status IS NOT NULL THEN
1782             EGO_Item_Msg.Add_Error_Message (
1783            p_entity_index           => 1
1784               ,p_application_short_name => 'INV'
1785               ,p_message_name           => 'INV_ITEM_NUMBER_PARSE'
1786               ,p_token_name1            => 'PACKAGE_NAME'
1787               ,p_token_value1           => G_PKG_NAME
1788               ,p_translate1             => FALSE
1789               ,p_token_name2            => 'PROCEDURE_NAME'
1790               ,p_token_value2           => 'Update_Item_Number'
1791               ,p_translate2             => FALSE
1792               ,p_token_name3            => 'API_VERSION'
1793               ,p_token_value3           => '1.0'
1794               ,p_translate3             => FALSE);
1795             x_return_status :=  FND_API.G_RET_STS_ERROR;
1796      END IF;
1797 
1798       ELSE
1799 
1800          l_Segment_Rec.segment1       := p_New_Segment1;
1801          l_Segment_Rec.segment2       := p_New_Segment2;
1802          l_Segment_Rec.segment3       := p_New_Segment3;
1803          l_Segment_Rec.segment4       := p_New_Segment4;
1804          l_Segment_Rec.segment5       := p_New_Segment5;
1805          l_Segment_Rec.segment6       := p_New_Segment6;
1806          l_Segment_Rec.segment7       := p_New_Segment7;
1807          l_Segment_Rec.segment8       := p_New_Segment8;
1808          l_Segment_Rec.segment9       := p_New_Segment9;
1809          l_Segment_Rec.segment10      := p_New_Segment10;
1810          l_Segment_Rec.segment11      := p_New_Segment11;
1811          l_Segment_Rec.segment12      := p_New_Segment12;
1812          l_Segment_Rec.segment13      := p_New_Segment13;
1813          l_Segment_Rec.segment14      := p_New_Segment14;
1814          l_Segment_Rec.segment15      := p_New_Segment15;
1815          l_Segment_Rec.segment16      := p_New_Segment16;
1816          l_Segment_Rec.segment17      := p_New_Segment17;
1817          l_Segment_Rec.segment18      := p_New_Segment18;
1818          l_Segment_Rec.segment19      := p_New_Segment19;
1819          l_Segment_Rec.segment20      := p_New_Segment20;
1820 
1821       END IF;
1822 
1823       INV_ITEM_PVT.Check_Item_Number (
1824         P_Segment_Rec            => l_Segment_Rec
1825        ,P_Item_Id                => l_Item_Id
1826        ,P_Description            => l_description
1827        ,P_unit_of_measure        => l_uom
1828        ,P_Item_Catalog_Group_Id  => l_catalog);
1829 
1830       IF l_Item_Id IS NULL  THEN
1831 
1832          UPDATE mtl_system_items_b
1833          SET     segment1  = l_Segment_Rec.segment1
1834                 ,segment2  = l_Segment_Rec.segment2
1835                 ,segment3  = l_Segment_Rec.segment3
1836                 ,segment4  = l_Segment_Rec.segment4
1837                 ,segment5  = l_Segment_Rec.segment5
1838                 ,segment6  = l_Segment_Rec.segment6
1839                 ,segment7  = l_Segment_Rec.segment7
1840                 ,segment8  = l_Segment_Rec.segment8
1841                 ,segment9  = l_Segment_Rec.segment9
1842                 ,segment10 = l_Segment_Rec.segment10
1843                 ,segment11 = l_Segment_Rec.segment11
1844                 ,segment12 = l_Segment_Rec.segment12
1845                 ,segment13 = l_Segment_Rec.segment13
1846                 ,segment14 = l_Segment_Rec.segment14
1847                 ,segment15 = l_Segment_Rec.segment15
1848                 ,segment16 = l_Segment_Rec.segment16
1849                 ,segment17 = l_Segment_Rec.segment17
1850                 ,segment18 = l_Segment_Rec.segment18
1851                 ,segment19 = l_Segment_Rec.segment19
1852                 ,segment20 = l_Segment_Rec.segment20
1853          WHERE   inventory_item_id =  P_Inventory_Item_Id;
1854 
1855          x_Item_Tbl(1).segment1              := l_Segment_Rec.segment1;
1856          x_Item_Tbl(1).segment2              := l_Segment_Rec.segment2;
1857          x_Item_Tbl(1).segment3              := l_Segment_Rec.segment3;
1858          x_Item_Tbl(1).segment4              := l_Segment_Rec.segment4;
1859          x_Item_Tbl(1).segment5              := l_Segment_Rec.segment5;
1860          x_Item_Tbl(1).segment6              := l_Segment_Rec.segment6;
1861          x_Item_Tbl(1).segment7              := l_Segment_Rec.segment7;
1862          x_Item_Tbl(1).segment8              := l_Segment_Rec.segment8;
1863          x_Item_Tbl(1).segment9              := l_Segment_Rec.segment9;
1864          x_Item_Tbl(1).segment10             := l_Segment_Rec.segment10;
1865          x_Item_Tbl(1).segment11             := l_Segment_Rec.segment11;
1866          x_Item_Tbl(1).segment12             := l_Segment_Rec.segment12;
1867          x_Item_Tbl(1).segment13             := l_Segment_Rec.segment13;
1868          x_Item_Tbl(1).segment14             := l_Segment_Rec.segment14;
1869          x_Item_Tbl(1).segment15             := l_Segment_Rec.segment15;
1870          x_Item_Tbl(1).segment16             := l_Segment_Rec.segment16;
1871          x_Item_Tbl(1).segment17             := l_Segment_Rec.segment17;
1872          x_Item_Tbl(1).segment18             := l_Segment_Rec.segment18;
1873          x_Item_Tbl(1).segment19             := l_Segment_Rec.segment19;
1874          x_Item_Tbl(1).segment20             := l_Segment_Rec.segment20;
1875 
1876          x_return_status :=  FND_API.G_RET_STS_SUCCESS;
1877 
1878       ELSIF p_Inventory_Item_Id <> l_Item_Id THEN
1879 
1880          EGO_Item_Msg.Add_Error_Message (
1881         p_entity_index           => 1
1882            ,p_application_short_name => 'INV'
1883            ,p_message_name           => 'INV_DUPL_ORG_ITEM_SEG');
1884 
1885         x_return_status :=  FND_API.G_RET_STS_ERROR;
1886       ELSE
1887         --Segments are same not updated
1888         x_return_status :=  FND_API.G_RET_STS_SUCCESS;
1889       END IF;
1890 
1891    END Update_Item_Number;
1892 
1893  ---------------------------------------------------------------------------
1894    PROCEDURE Seed_Item_Long_Desc_Attr_Group (
1895         p_inventory_item_id             IN  NUMBER
1896        ,p_organization_id               IN  NUMBER
1897        ,p_item_catalog_group_id         IN  NUMBER
1898        ,p_commit                        IN  VARCHAR2   DEFAULT  G_FALSE
1899        ,x_return_status                 OUT NOCOPY VARCHAR2
1900        ,x_errorcode                     OUT NOCOPY NUMBER
1901        ,x_msg_count                     OUT NOCOPY NUMBER
1902        ,x_msg_data                      OUT NOCOPY VARCHAR2)IS
1903 
1904    BEGIN
1905 
1906       EGO_Item_PVT.Seed_Item_Long_Desc_Attr_Group(
1907         p_inventory_item_id             => p_inventory_item_id
1908        ,p_organization_id               => p_organization_id
1909        ,p_item_catalog_group_id         => p_item_catalog_group_id
1910        ,x_return_status                 => x_return_status
1911        ,x_errorcode                     => x_errorcode
1912        ,x_msg_count                     => x_msg_count
1913        ,x_msg_data                      => x_msg_data);
1914 
1915       IF FND_API.To_Boolean(p_commit) THEN
1916          COMMIT WORK;
1917       END IF;
1918 
1919    END Seed_Item_Long_Desc_Attr_Group;
1920 
1921  ---------------------------------------------------------------------------
1922    PROCEDURE Seed_Item_Long_Desc_In_Bulk (
1923         p_set_process_id                IN  NUMBER
1924        ,p_commit                        IN  VARCHAR2   DEFAULT  G_FALSE
1925        ,x_return_status                 OUT NOCOPY VARCHAR2
1926        ,x_msg_data                      OUT NOCOPY VARCHAR2
1927    ) IS
1928 
1929    BEGIN
1930 
1931       EGO_Item_PVT.Seed_Item_Long_Desc_In_Bulk(
1932         p_set_process_id                => p_set_process_id
1933        ,x_return_status                 => x_return_status
1934        ,x_msg_data                      => x_msg_data
1935       );
1936 
1937       IF FND_API.To_Boolean(p_commit) THEN
1938          COMMIT WORK;
1939       END IF;
1940 
1941    END Seed_Item_Long_Desc_In_Bulk;
1942 
1943  ---------------------------------------------------------------------------
1944    PROCEDURE Process_User_Attrs_For_Item (
1945         p_api_version                   IN   NUMBER
1946        ,p_inventory_item_id             IN   NUMBER
1947        ,p_organization_id               IN   NUMBER
1948        ,p_attributes_row_table          IN   EGO_USER_ATTR_ROW_TABLE
1949        ,p_attributes_data_table         IN   EGO_USER_ATTR_DATA_TABLE
1950        ,p_entity_id                     IN   NUMBER     DEFAULT NULL
1951        ,p_entity_index                  IN   NUMBER     DEFAULT NULL
1952        ,p_entity_code                   IN   VARCHAR2   DEFAULT NULL
1953        ,p_debug_level                   IN   NUMBER     DEFAULT 0
1954        ,p_init_error_handler            IN   VARCHAR2   DEFAULT FND_API.G_TRUE
1955        ,p_write_to_concurrent_log       IN   VARCHAR2   DEFAULT FND_API.G_FALSE
1956        ,p_init_fnd_msg_list             IN   VARCHAR2   DEFAULT FND_API.G_FALSE
1957        ,p_log_errors                    IN   VARCHAR2   DEFAULT FND_API.G_TRUE
1958        ,p_add_errors_to_fnd_stack       IN   VARCHAR2   DEFAULT FND_API.G_FALSE
1959        ,p_commit                        IN   VARCHAR2   DEFAULT FND_API.G_FALSE
1960        ,x_failed_row_id_list            OUT NOCOPY VARCHAR2
1961        ,x_return_status                 OUT NOCOPY VARCHAR2
1962        ,x_errorcode                     OUT NOCOPY NUMBER
1963        ,x_msg_count                     OUT NOCOPY NUMBER
1964        ,x_msg_data                      OUT NOCOPY VARCHAR2
1965    ) IS
1966 
1967    BEGIN
1968 
1969      EGO_ITEM_PVT.Process_User_Attrs_For_Item(
1970           p_api_version                   => p_api_version
1971          ,p_inventory_item_id             => p_inventory_item_id
1972          ,p_organization_id               => p_organization_id
1973          ,p_attributes_row_table          => p_attributes_row_table
1974          ,p_attributes_data_table         => p_attributes_data_table
1975          ,p_entity_id                     => p_entity_id
1976          ,p_entity_index                  => p_entity_index
1977          ,p_entity_code                   => p_entity_code
1978          ,p_debug_level                   => p_debug_level
1979          ,p_init_error_handler            => p_init_error_handler
1980          ,p_write_to_concurrent_log       => p_write_to_concurrent_log
1981          ,p_init_fnd_msg_list             => p_init_fnd_msg_list
1982          ,p_log_errors                    => p_log_errors
1983          ,p_add_errors_to_fnd_stack       => p_add_errors_to_fnd_stack
1984          ,p_commit                        => p_commit
1985          ,x_failed_row_id_list            => x_failed_row_id_list
1986          ,x_return_status                 => x_return_status
1987          ,x_errorcode                     => x_errorcode
1988          ,x_msg_count                     => x_msg_count
1989          ,x_msg_data                      => x_msg_data
1990      );
1991 
1992    END Process_User_Attrs_For_Item;
1993 
1994  ---------------------------------------------------------------------------
1995    PROCEDURE Get_User_Attrs_For_Item (
1996         p_api_version                   IN   NUMBER
1997        ,p_inventory_item_id             IN   NUMBER
1998        ,p_organization_id               IN   NUMBER
1999        ,p_attr_group_request_table      IN   EGO_ATTR_GROUP_REQUEST_TABLE
2000        ,p_entity_id                     IN   NUMBER     DEFAULT NULL
2001        ,p_entity_index                  IN   NUMBER     DEFAULT NULL
2002        ,p_entity_code                   IN   VARCHAR2   DEFAULT NULL
2003        ,p_debug_level                   IN   NUMBER     DEFAULT 0
2004        ,p_init_error_handler            IN   VARCHAR2   DEFAULT FND_API.G_TRUE
2005        ,p_init_fnd_msg_list             IN   VARCHAR2   DEFAULT FND_API.G_FALSE
2006        ,p_add_errors_to_fnd_stack       IN   VARCHAR2   DEFAULT FND_API.G_FALSE
2007        ,p_commit                        IN   VARCHAR2   DEFAULT FND_API.G_FALSE
2008        ,x_attributes_row_table          OUT NOCOPY EGO_USER_ATTR_ROW_TABLE
2009        ,x_attributes_data_table         OUT NOCOPY EGO_USER_ATTR_DATA_TABLE
2010        ,x_return_status                 OUT NOCOPY VARCHAR2
2011        ,x_errorcode                     OUT NOCOPY NUMBER
2012        ,x_msg_count                     OUT NOCOPY NUMBER
2013        ,x_msg_data                      OUT NOCOPY VARCHAR2
2014   ) IS
2015 
2016    BEGIN
2017 
2018      EGO_ITEM_PVT.Get_User_Attrs_For_Item(
2019         p_api_version                   => p_api_version
2020        ,p_inventory_item_id             => p_inventory_item_id
2021        ,p_organization_id               => p_organization_id
2022        ,p_attr_group_request_table      => p_attr_group_request_table
2023        ,p_entity_id                     => p_entity_id
2024        ,p_entity_index                  => p_entity_index
2025        ,p_entity_code                   => p_entity_code
2026        ,p_debug_level                   => p_debug_level
2027        ,p_init_error_handler            => p_init_error_handler
2028        ,p_init_fnd_msg_list             => p_init_fnd_msg_list
2029        ,p_add_errors_to_fnd_stack       => p_add_errors_to_fnd_stack
2030        ,p_commit                        => p_commit
2031        ,x_attributes_row_table          => x_attributes_row_table
2032        ,x_attributes_data_table         => x_attributes_data_table
2033        ,x_return_status                 => x_return_status
2034        ,x_errorcode                     => x_errorcode
2035        ,x_msg_count                     => x_msg_count
2036        ,x_msg_data                      => x_msg_data
2037      );
2038 
2039    END Get_User_Attrs_For_Item;
2040 
2041  ---------------------------------------------------------------------------
2042    PROCEDURE Update_Item_Approval_Status (
2043         p_inventory_item_id             IN  NUMBER
2044        ,p_organization_id               IN  NUMBER
2045        ,p_approval_status               IN  VARCHAR2
2046        ,p_nir_id                        IN  NUMBER     DEFAULT  NULL
2047        ,p_commit                        IN  VARCHAR2   DEFAULT  G_FALSE)
2048    IS
2049        l_eng_item_flag        VARCHAR2(10);
2050        l_msg_data             VARCHAR2(2000);
2051        old_approval_status    MTL_SYSTEM_ITEMS_B.APPROVAL_STATUS%TYPE;
2052        l_event_return_status  VARCHAR2(1);
2053    BEGIN
2054     --get old Approval Status, needed for Raising event.
2055      SELECT APPROVAL_STATUS INTO old_approval_status
2056      FROM  MTL_SYSTEM_ITEMS_B
2057      WHERE INVENTORY_ITEM_ID = p_inventory_item_id
2058      AND ORGANIZATION_ID     = p_organization_id;
2059 
2060      UPDATE MTL_SYSTEM_ITEMS_B
2061      SET APPROVAL_STATUS     = p_approval_status
2062      WHERE INVENTORY_ITEM_ID = p_inventory_item_id
2063      AND ORGANIZATION_ID     = p_organization_id
2064      RETURNING ENG_ITEM_FLAG INTO l_eng_item_flag;
2065 
2066 --Bug: 6404939 Overrides 3808294, R12C onwards non-functional category
2067 --     assignments for unapproved items will be supported, so only
2068 --     functional category assignments will be deleted
2069 --Bug: 3808294 If its unapproved item delete default item-cat assignments
2070      IF p_approval_status <> 'A' THEN
2071        DELETE MTL_ITEM_CATEGORIES
2072         WHERE INVENTORY_ITEM_ID = p_inventory_item_id
2073           AND ORGANIZATION_ID   = p_organization_id
2074 	  AND CATEGORY_SET_ID IN (SELECT CATEGORY_SET_ID
2075 	                          FROM    MTL_DEFAULT_CATEGORY_SETS);
2076      ELSIF p_approval_status = 'A' AND l_eng_item_flag = 'Y' THEN
2077        INVIDIT2.Insert_Categories
2078        (
2079            X_event                     =>  'INSERT'
2080         ,  X_item_id                   =>  p_inventory_item_id
2081         ,  X_org_id                    =>  p_organization_id
2082         ,  X_master_org_id             =>  p_organization_id
2083         ,  X_inventory_item_flag       =>  'N'
2084         ,  X_purchasing_item_flag      =>  'N'
2085         ,  X_internal_order_flag       =>  'N'
2086         ,  X_mrp_planning_code         =>  NULL
2087         ,  X_serviceable_product_flag  =>  'N'
2088         ,  X_costing_enabled_flag      =>  'N'
2089         ,  X_eng_item_flag             =>  l_eng_item_flag
2090         ,  X_customer_order_flag       =>  'N'
2091         ,  X_eam_item_type             =>  NULL
2092         ,  X_contract_item_type_code   =>  NULL
2093         ,  p_Folder_Category_Set_id    =>  NULL
2094         ,  p_Folder_Item_Category_id   =>  NULL
2095         ,  X_last_updated_by           =>  G_USER_ID
2096         );
2097      END IF;
2098 --Bug: 3808294 Ends
2099 --Bug: 6404939 Ends
2100 
2101      -- R12-C: Since Items can now have multiple NIRs, we will store the latest
2102      --NIR that cause the approval status change for an item in MSIB.
2103      IF  NVL(p_approval_status,'0') <> NVL(OLD_APPROVAL_STATUS,'0')
2104          AND p_nir_id IS NOT NULL THEN
2105            UPDATE MTL_SYSTEM_ITEMS_B
2106            SET LAST_SUBMITTED_NIR_ID = p_nir_id
2107            WHERE INVENTORY_ITEM_ID   = p_inventory_item_id
2108            AND ORGANIZATION_ID       = p_organization_id;
2109      END IF;
2110      -- R12-C End
2111 
2112      -- Start  4105841 : Business Event Enhancement
2113      IF  NVL(p_approval_status,'0') <> NVL(OLD_APPROVAL_STATUS,'0')
2114          AND p_approval_status = 'A' THEN
2115        EGO_WF_WRAPPER_PVT.Raise_Item_Event
2116                           (p_event_name          => EGO_WF_WRAPPER_PVT.G_ITEM_APPROVED_EVENT
2117                           ,p_Inventory_Item_Id   => p_inventory_item_id
2118                           ,p_Organization_Id     => p_organization_id
2119                           ,x_msg_data            => l_msg_data
2120                           ,x_return_status       => l_event_return_status );
2121      END IF;
2122      -- End  4105841 : Business Event Enhancement
2123 
2124      IF FND_API.To_Boolean(p_commit) THEN
2125         COMMIT WORK;
2126      END IF;
2127 
2128      IF FND_API.To_Boolean(p_commit) THEN
2129         COMMIT WORK;
2130      END IF;
2131    END Update_Item_Approval_Status;
2132 
2133  ---------------------------------------------------------------------------
2134    PROCEDURE initialize_item_info (p_inventory_item_id  IN  NUMBER
2135                                   ,p_organization_id    IN  NUMBER
2136                   ,p_tab_index          IN  INTEGER
2137                   ,x_item_table         IN OUT NOCOPY EGO_ITEM_PUB.Item_Tbl_Type
2138                                   ,x_return_status      OUT    NOCOPY VARCHAR2
2139                                   ,x_msg_count          OUT    NOCOPY NUMBER) IS
2140 
2141       CURSOR c_copy_item_info (cp_inventory_item_id IN  NUMBER
2142                               ,cp_organization_id   IN  NUMBER ) IS
2143          SELECT *
2144          FROM mtl_system_items_b
2145          WHERE inventory_item_id = cp_inventory_item_id
2146          AND organization_id     = cp_organization_id;
2147 
2148      l_orig_item_rec   MTL_SYSTEM_ITEMS_B%ROWTYPE;
2149 
2150   BEGIN
2151 
2152     OPEN c_copy_item_info (cp_inventory_item_id => p_inventory_item_id
2153                           ,cp_organization_id   => p_organization_id);
2154     FETCH c_copy_item_info into l_orig_item_rec;
2155 
2156     IF c_copy_item_info%NOTFOUND THEN
2157       EGO_Item_Msg.Add_Error_Message
2158            (p_entity_index           => 1
2159            ,p_application_short_name => 'EGO'
2160            ,p_message_name           => 'EGO_IPI_INVALID_ITEM'
2161            ,p_token_name1            => 'ITEM'
2162            ,p_token_value1           => p_inventory_item_id
2163            ,p_translate1             => FALSE
2164            ,p_token_name2            => 'ORGANIZATION'
2165            ,p_token_value2           => p_organization_id
2166            ,p_translate2             => FALSE
2167            ,p_token_name3            => NULL
2168            ,p_token_value3           => NULL
2169            ,p_translate3             => FALSE
2170            );
2171        x_return_status := G_RET_STS_ERROR;
2172      ELSE
2173        x_item_table(p_tab_index).summary_flag                  := l_orig_item_rec.SUMMARY_FLAG;
2174        x_item_table(p_tab_index).ALLOWED_UNITS_LOOKUP_CODE     := l_orig_item_rec.allowed_units_lookup_code;
2175        x_item_table(p_tab_index).DUAL_UOM_CONTROL              := l_orig_item_rec.DUAL_UOM_CONTROL;
2176        x_item_table(p_tab_index).SECONDARY_UOM_CODE            := l_orig_item_rec.SECONDARY_UOM_CODE;
2177        x_item_table(p_tab_index).DUAL_UOM_DEVIATION_HIGH       := l_orig_item_rec.DUAL_UOM_DEVIATION_HIGH;
2178        x_item_table(p_tab_index).DUAL_UOM_DEVIATION_LOW        := l_orig_item_rec.DUAL_UOM_DEVIATION_LOW;
2179        x_item_table(p_tab_index).ITEM_TYPE                     := l_orig_item_rec.ITEM_TYPE;
2180      -- Inventory
2181        x_item_table(p_tab_index).INVENTORY_ITEM_FLAG           := l_orig_item_rec.INVENTORY_ITEM_FLAG;
2182        x_item_table(p_tab_index).STOCK_ENABLED_FLAG            := l_orig_item_rec.STOCK_ENABLED_FLAG;
2183        x_item_table(p_tab_index).MTL_TRANSACTIONS_ENABLED_FLAG := l_orig_item_rec.MTL_TRANSACTIONS_ENABLED_FLAG;
2184        x_item_table(p_tab_index).REVISION_QTY_CONTROL_CODE     := l_orig_item_rec.REVISION_QTY_CONTROL_CODE;
2185        x_item_table(p_tab_index).LOT_CONTROL_CODE              := l_orig_item_rec.LOT_CONTROL_CODE;
2186        x_item_table(p_tab_index).AUTO_LOT_ALPHA_PREFIX         := l_orig_item_rec.AUTO_LOT_ALPHA_PREFIX;
2187        x_item_table(p_tab_index).START_AUTO_LOT_NUMBER         := l_orig_item_rec.START_AUTO_LOT_NUMBER;
2188        x_item_table(p_tab_index).SERIAL_NUMBER_CONTROL_CODE    := l_orig_item_rec.SERIAL_NUMBER_CONTROL_CODE;
2189        x_item_table(p_tab_index).AUTO_SERIAL_ALPHA_PREFIX      := l_orig_item_rec.AUTO_SERIAL_ALPHA_PREFIX;
2190        x_item_table(p_tab_index).START_AUTO_SERIAL_NUMBER      := l_orig_item_rec.START_AUTO_SERIAL_NUMBER;
2191        x_item_table(p_tab_index).SHELF_LIFE_CODE               := l_orig_item_rec.SHELF_LIFE_CODE;
2192        x_item_table(p_tab_index).SHELF_LIFE_DAYS               := l_orig_item_rec.SHELF_LIFE_DAYS;
2193        x_item_table(p_tab_index).RESTRICT_SUBINVENTORIES_CODE  := l_orig_item_rec.RESTRICT_SUBINVENTORIES_CODE;
2194        x_item_table(p_tab_index).LOCATION_CONTROL_CODE         := l_orig_item_rec.LOCATION_CONTROL_CODE;
2195        x_item_table(p_tab_index).RESTRICT_LOCATORS_CODE        := l_orig_item_rec.RESTRICT_LOCATORS_CODE;
2196        x_item_table(p_tab_index).RESERVABLE_TYPE               := l_orig_item_rec.RESERVABLE_TYPE;
2197        x_item_table(p_tab_index).CYCLE_COUNT_ENABLED_FLAG      := l_orig_item_rec.CYCLE_COUNT_ENABLED_FLAG;
2198        x_item_table(p_tab_index).NEGATIVE_MEASUREMENT_ERROR    := l_orig_item_rec.NEGATIVE_MEASUREMENT_ERROR;
2199        x_item_table(p_tab_index).POSITIVE_MEASUREMENT_ERROR    := l_orig_item_rec.POSITIVE_MEASUREMENT_ERROR;
2200        x_item_table(p_tab_index).CHECK_SHORTAGES_FLAG          := l_orig_item_rec.CHECK_SHORTAGES_FLAG;
2201        x_item_table(p_tab_index).LOT_STATUS_ENABLED            := l_orig_item_rec.LOT_STATUS_ENABLED;
2202        x_item_table(p_tab_index).DEFAULT_LOT_STATUS_ID         := l_orig_item_rec.DEFAULT_LOT_STATUS_ID;
2203        x_item_table(p_tab_index).SERIAL_STATUS_ENABLED         := l_orig_item_rec.SERIAL_STATUS_ENABLED;
2204        x_item_table(p_tab_index).DEFAULT_SERIAL_STATUS_ID      := l_orig_item_rec.DEFAULT_SERIAL_STATUS_ID;
2205        x_item_table(p_tab_index).LOT_SPLIT_ENABLED             := l_orig_item_rec.LOT_SPLIT_ENABLED;
2206        x_item_table(p_tab_index).LOT_MERGE_ENABLED             := l_orig_item_rec.LOT_MERGE_ENABLED;
2207        x_item_table(p_tab_index).LOT_TRANSLATE_ENABLED         := l_orig_item_rec.LOT_TRANSLATE_ENABLED;
2208        x_item_table(p_tab_index).BULK_PICKED_FLAG              := l_orig_item_rec.BULK_PICKED_FLAG;
2209        x_item_table(p_tab_index).LOT_SUBSTITUTION_ENABLED      := l_orig_item_rec.LOT_SUBSTITUTION_ENABLED;
2210      -- Bills of Material
2211        x_item_table(p_tab_index).BOM_ITEM_TYPE                 := l_orig_item_rec.BOM_ITEM_TYPE;
2212        x_item_table(p_tab_index).BOM_ENABLED_FLAG              := l_orig_item_rec.BOM_ENABLED_FLAG;
2213        x_item_table(p_tab_index).BASE_ITEM_ID                  := l_orig_item_rec.BASE_ITEM_ID;
2214        x_item_table(p_tab_index).ENG_ITEM_FLAG                 := l_orig_item_rec.ENG_ITEM_FLAG;
2215        x_item_table(p_tab_index).ENGINEERING_ITEM_ID           := l_orig_item_rec.ENGINEERING_ITEM_ID;
2216        x_item_table(p_tab_index).ENGINEERING_ECN_CODE          := l_orig_item_rec.ENGINEERING_ECN_CODE;
2217        x_item_table(p_tab_index).ENGINEERING_DATE              := l_orig_item_rec.ENGINEERING_DATE;
2218        x_item_table(p_tab_index).EFFECTIVITY_CONTROL           := l_orig_item_rec.EFFECTIVITY_CONTROL;
2219        x_item_table(p_tab_index).Product_Family_Item_Id        := l_orig_item_rec.Product_Family_Item_Id;
2220        x_item_table(p_tab_index).auto_created_config_flag      := l_orig_item_rec.auto_created_config_flag;--3911562
2221      -- Costing
2222        x_item_table(p_tab_index).COSTING_ENABLED_FLAG          := l_orig_item_rec.COSTING_ENABLED_FLAG;
2223        x_item_table(p_tab_index).INVENTORY_ASSET_FLAG          := l_orig_item_rec.INVENTORY_ASSET_FLAG;
2224        x_item_table(p_tab_index).COST_OF_SALES_ACCOUNT         := l_orig_item_rec.COST_OF_SALES_ACCOUNT;
2225        x_item_table(p_tab_index).DEFAULT_INCLUDE_IN_ROLLUP_FLAG   := l_orig_item_rec.DEFAULT_INCLUDE_IN_ROLLUP_FLAG;
2226        x_item_table(p_tab_index).STD_LOT_SIZE                  := l_orig_item_rec.STD_LOT_SIZE;
2227        x_item_table(p_tab_index).CONFIG_MODEL_TYPE             := l_orig_item_rec.CONFIG_MODEL_TYPE;
2228      -- Enterprise Asset Management
2229        x_item_table(p_tab_index).EAM_ITEM_TYPE                 := l_orig_item_rec.EAM_ITEM_TYPE;
2230        x_item_table(p_tab_index).EAM_ACTIVITY_TYPE_CODE        := l_orig_item_rec.EAM_ACTIVITY_TYPE_CODE;
2231        x_item_table(p_tab_index).EAM_ACTIVITY_CAUSE_CODE       := l_orig_item_rec.EAM_ACTIVITY_CAUSE_CODE;
2232        x_item_table(p_tab_index).EAM_ACT_SHUTDOWN_STATUS       := l_orig_item_rec.EAM_ACT_SHUTDOWN_STATUS;
2233        x_item_table(p_tab_index).EAM_ACT_NOTIFICATION_FLAG     := l_orig_item_rec.EAM_ACT_NOTIFICATION_FLAG;
2234        x_item_table(p_tab_index).EAM_ACTIVITY_SOURCE_CODE      := l_orig_item_rec.EAM_ACTIVITY_SOURCE_CODE;
2235      -- Purchasing
2236        x_item_table(p_tab_index).PURCHASING_ITEM_FLAG          := l_orig_item_rec.PURCHASING_ITEM_FLAG;
2237        x_item_table(p_tab_index).PURCHASING_ENABLED_FLAG       := l_orig_item_rec.PURCHASING_ENABLED_FLAG;
2238        x_item_table(p_tab_index).BUYER_ID                      := l_orig_item_rec.BUYER_ID;
2239        x_item_table(p_tab_index).MUST_USE_APPROVED_VENDOR_FLAG := l_orig_item_rec.MUST_USE_APPROVED_VENDOR_FLAG;
2240        x_item_table(p_tab_index).PURCHASING_TAX_CODE           := l_orig_item_rec.PURCHASING_TAX_CODE;
2241        x_item_table(p_tab_index).TAXABLE_FLAG                  := l_orig_item_rec.TAXABLE_FLAG;
2242        x_item_table(p_tab_index).RECEIVE_CLOSE_TOLERANCE       := l_orig_item_rec.RECEIVE_CLOSE_TOLERANCE;
2243        x_item_table(p_tab_index).ALLOW_ITEM_DESC_UPDATE_FLAG   := l_orig_item_rec.ALLOW_ITEM_DESC_UPDATE_FLAG;
2244        x_item_table(p_tab_index).INSPECTION_REQUIRED_FLAG      := l_orig_item_rec.INSPECTION_REQUIRED_FLAG;
2245        x_item_table(p_tab_index).RECEIPT_REQUIRED_FLAG         := l_orig_item_rec.RECEIPT_REQUIRED_FLAG;
2246        x_item_table(p_tab_index).MARKET_PRICE                  := l_orig_item_rec.MARKET_PRICE;
2247        x_item_table(p_tab_index).UN_NUMBER_ID                  := l_orig_item_rec.UN_NUMBER_ID;
2248        x_item_table(p_tab_index).HAZARD_CLASS_ID               := l_orig_item_rec.HAZARD_CLASS_ID;
2249        x_item_table(p_tab_index).RFQ_REQUIRED_FLAG             := l_orig_item_rec.RFQ_REQUIRED_FLAG;
2250        x_item_table(p_tab_index).LIST_PRICE_PER_UNIT           := l_orig_item_rec.LIST_PRICE_PER_UNIT;
2251        x_item_table(p_tab_index).PRICE_TOLERANCE_PERCENT       := l_orig_item_rec.PRICE_TOLERANCE_PERCENT;
2252        x_item_table(p_tab_index).ASSET_CATEGORY_ID             := l_orig_item_rec.ASSET_CATEGORY_ID;
2253        x_item_table(p_tab_index).ROUNDING_FACTOR               := l_orig_item_rec.ROUNDING_FACTOR;
2254        x_item_table(p_tab_index).UNIT_OF_ISSUE                 := l_orig_item_rec.UNIT_OF_ISSUE;
2255        x_item_table(p_tab_index).OUTSIDE_OPERATION_FLAG        := l_orig_item_rec.OUTSIDE_OPERATION_FLAG;
2256        x_item_table(p_tab_index).OUTSIDE_OPERATION_UOM_TYPE    := l_orig_item_rec.OUTSIDE_OPERATION_UOM_TYPE;
2257        x_item_table(p_tab_index).INVOICE_CLOSE_TOLERANCE       := l_orig_item_rec.INVOICE_CLOSE_TOLERANCE;
2258        x_item_table(p_tab_index).ENCUMBRANCE_ACCOUNT           := l_orig_item_rec.ENCUMBRANCE_ACCOUNT;
2259        x_item_table(p_tab_index).EXPENSE_ACCOUNT               := l_orig_item_rec.EXPENSE_ACCOUNT;
2260        x_item_table(p_tab_index).QTY_RCV_EXCEPTION_CODE        := l_orig_item_rec.QTY_RCV_EXCEPTION_CODE;
2261        x_item_table(p_tab_index).RECEIVING_ROUTING_ID          := l_orig_item_rec.RECEIVING_ROUTING_ID;
2262        x_item_table(p_tab_index).QTY_RCV_TOLERANCE             := l_orig_item_rec.QTY_RCV_TOLERANCE;
2263        x_item_table(p_tab_index).ENFORCE_SHIP_TO_LOCATION_CODE   := l_orig_item_rec.ENFORCE_SHIP_TO_LOCATION_CODE;
2264        x_item_table(p_tab_index).ALLOW_SUBSTITUTE_RECEIPTS_FLAG  := l_orig_item_rec.ALLOW_SUBSTITUTE_RECEIPTS_FLAG;
2265        x_item_table(p_tab_index).ALLOW_UNORDERED_RECEIPTS_FLAG   := l_orig_item_rec.ALLOW_UNORDERED_RECEIPTS_FLAG;
2266        x_item_table(p_tab_index).ALLOW_EXPRESS_DELIVERY_FLAG     := l_orig_item_rec.ALLOW_EXPRESS_DELIVERY_FLAG;
2267        x_item_table(p_tab_index).DAYS_EARLY_RECEIPT_ALLOWED      := l_orig_item_rec.DAYS_EARLY_RECEIPT_ALLOWED;
2268        x_item_table(p_tab_index).DAYS_LATE_RECEIPT_ALLOWED       := l_orig_item_rec.DAYS_LATE_RECEIPT_ALLOWED;
2269        x_item_table(p_tab_index).RECEIPT_DAYS_EXCEPTION_CODE     := l_orig_item_rec.RECEIPT_DAYS_EXCEPTION_CODE;
2270      -- Physical
2271        x_item_table(p_tab_index).WEIGHT_UOM_CODE               := l_orig_item_rec.WEIGHT_UOM_CODE;
2272        x_item_table(p_tab_index).UNIT_WEIGHT                   := l_orig_item_rec.UNIT_WEIGHT;
2273        x_item_table(p_tab_index).VOLUME_UOM_CODE               := l_orig_item_rec.VOLUME_UOM_CODE;
2274        x_item_table(p_tab_index).UNIT_VOLUME                   := l_orig_item_rec.UNIT_VOLUME;
2275        x_item_table(p_tab_index).CONTAINER_ITEM_FLAG           := l_orig_item_rec.CONTAINER_ITEM_FLAG;
2276        x_item_table(p_tab_index).VEHICLE_ITEM_FLAG             := l_orig_item_rec.VEHICLE_ITEM_FLAG;
2277        x_item_table(p_tab_index).MAXIMUM_LOAD_WEIGHT           := l_orig_item_rec.MAXIMUM_LOAD_WEIGHT;
2278        x_item_table(p_tab_index).MINIMUM_FILL_PERCENT          := l_orig_item_rec.MINIMUM_FILL_PERCENT;
2279        x_item_table(p_tab_index).INTERNAL_VOLUME               := l_orig_item_rec.INTERNAL_VOLUME;
2280        x_item_table(p_tab_index).CONTAINER_TYPE_CODE           := l_orig_item_rec.CONTAINER_TYPE_CODE;
2281        x_item_table(p_tab_index).COLLATERAL_FLAG               := l_orig_item_rec.COLLATERAL_FLAG;
2282        x_item_table(p_tab_index).EVENT_FLAG                    := l_orig_item_rec.EVENT_FLAG;
2283        x_item_table(p_tab_index).EQUIPMENT_TYPE                := l_orig_item_rec.EQUIPMENT_TYPE;
2284        x_item_table(p_tab_index).ELECTRONIC_FLAG               := l_orig_item_rec.ELECTRONIC_FLAG;
2285        x_item_table(p_tab_index).DOWNLOADABLE_FLAG             := l_orig_item_rec.DOWNLOADABLE_FLAG;
2286        x_item_table(p_tab_index).INDIVISIBLE_FLAG              := l_orig_item_rec.INDIVISIBLE_FLAG;
2287        x_item_table(p_tab_index).DIMENSION_UOM_CODE            := l_orig_item_rec.DIMENSION_UOM_CODE;
2288        x_item_table(p_tab_index).UNIT_LENGTH                   := l_orig_item_rec.UNIT_LENGTH;
2289        x_item_table(p_tab_index).UNIT_WIDTH                    := l_orig_item_rec.UNIT_WIDTH;
2290        x_item_table(p_tab_index).UNIT_HEIGHT                   := l_orig_item_rec.UNIT_HEIGHT;
2291      --Planning
2292        x_item_table(p_tab_index).INVENTORY_PLANNING_CODE       := l_orig_item_rec.INVENTORY_PLANNING_CODE;
2293        x_item_table(p_tab_index).PLANNER_CODE                  := l_orig_item_rec.PLANNER_CODE;
2294        x_item_table(p_tab_index).PLANNING_MAKE_BUY_CODE        := l_orig_item_rec.PLANNING_MAKE_BUY_CODE;
2295        x_item_table(p_tab_index).MIN_MINMAX_QUANTITY           := l_orig_item_rec.MIN_MINMAX_QUANTITY;
2296        x_item_table(p_tab_index).MAX_MINMAX_QUANTITY           := l_orig_item_rec.MAX_MINMAX_QUANTITY;
2297        x_item_table(p_tab_index).SAFETY_STOCK_BUCKET_DAYS      := l_orig_item_rec.SAFETY_STOCK_BUCKET_DAYS;
2298        x_item_table(p_tab_index).MRP_SAFETY_STOCK_PERCENT      := l_orig_item_rec.MRP_SAFETY_STOCK_PERCENT;
2299        x_item_table(p_tab_index).MRP_SAFETY_STOCK_CODE         := l_orig_item_rec.MRP_SAFETY_STOCK_CODE;
2300        x_item_table(p_tab_index).FIXED_ORDER_QUANTITY          := l_orig_item_rec.FIXED_ORDER_QUANTITY;
2301        x_item_table(p_tab_index).FIXED_DAYS_SUPPLY             := l_orig_item_rec.FIXED_DAYS_SUPPLY;
2302        x_item_table(p_tab_index).MINIMUM_ORDER_QUANTITY        := l_orig_item_rec.MINIMUM_ORDER_QUANTITY;
2303        x_item_table(p_tab_index).MAXIMUM_ORDER_QUANTITY        := l_orig_item_rec.MAXIMUM_ORDER_QUANTITY;
2304        x_item_table(p_tab_index).FIXED_LOT_MULTIPLIER          := l_orig_item_rec.FIXED_LOT_MULTIPLIER;
2305        x_item_table(p_tab_index).SOURCE_TYPE                   := l_orig_item_rec.SOURCE_TYPE;
2306        x_item_table(p_tab_index).SOURCE_ORGANIZATION_ID        := l_orig_item_rec.SOURCE_ORGANIZATION_ID;
2307        x_item_table(p_tab_index).SOURCE_SUBINVENTORY           := l_orig_item_rec.SOURCE_SUBINVENTORY;
2308        x_item_table(p_tab_index).MRP_PLANNING_CODE             := l_orig_item_rec.MRP_PLANNING_CODE;
2309        x_item_table(p_tab_index).ATO_FORECAST_CONTROL          := l_orig_item_rec.ATO_FORECAST_CONTROL;
2310        x_item_table(p_tab_index).PLANNING_EXCEPTION_SET        := l_orig_item_rec.PLANNING_EXCEPTION_SET;
2311        x_item_table(p_tab_index).SHRINKAGE_RATE                := l_orig_item_rec.SHRINKAGE_RATE;
2312        x_item_table(p_tab_index).END_ASSEMBLY_PEGGING_FLAG     := l_orig_item_rec.END_ASSEMBLY_PEGGING_FLAG;
2313        x_item_table(p_tab_index).ROUNDING_CONTROL_TYPE         := l_orig_item_rec.ROUNDING_CONTROL_TYPE;
2314        x_item_table(p_tab_index).PLANNED_INV_POINT_FLAG        := l_orig_item_rec.PLANNED_INV_POINT_FLAG;
2315        x_item_table(p_tab_index).CREATE_SUPPLY_FLAG            := l_orig_item_rec.CREATE_SUPPLY_FLAG;
2316        x_item_table(p_tab_index).ACCEPTABLE_EARLY_DAYS         := l_orig_item_rec.ACCEPTABLE_EARLY_DAYS;
2317        x_item_table(p_tab_index).MRP_CALCULATE_ATP_FLAG        := l_orig_item_rec.MRP_CALCULATE_ATP_FLAG;
2318        x_item_table(p_tab_index).AUTO_REDUCE_MPS               := l_orig_item_rec.AUTO_REDUCE_MPS;
2319        x_item_table(p_tab_index).REPETITIVE_PLANNING_FLAG      := l_orig_item_rec.REPETITIVE_PLANNING_FLAG;
2320        x_item_table(p_tab_index).OVERRUN_PERCENTAGE            := l_orig_item_rec.OVERRUN_PERCENTAGE;
2321        x_item_table(p_tab_index).ACCEPTABLE_RATE_DECREASE      := l_orig_item_rec.ACCEPTABLE_RATE_DECREASE;
2322        x_item_table(p_tab_index).ACCEPTABLE_RATE_INCREASE      := l_orig_item_rec.ACCEPTABLE_RATE_INCREASE;
2323        x_item_table(p_tab_index).PLANNING_TIME_FENCE_CODE      := l_orig_item_rec.PLANNING_TIME_FENCE_CODE;
2324        x_item_table(p_tab_index).PLANNING_TIME_FENCE_DAYS      := l_orig_item_rec.PLANNING_TIME_FENCE_DAYS;
2325        x_item_table(p_tab_index).DEMAND_TIME_FENCE_CODE        := l_orig_item_rec.DEMAND_TIME_FENCE_CODE;
2326        x_item_table(p_tab_index).DEMAND_TIME_FENCE_DAYS        := l_orig_item_rec.DEMAND_TIME_FENCE_DAYS;
2327        x_item_table(p_tab_index).RELEASE_TIME_FENCE_CODE       := l_orig_item_rec.RELEASE_TIME_FENCE_CODE;
2328        x_item_table(p_tab_index).RELEASE_TIME_FENCE_DAYS       := l_orig_item_rec.RELEASE_TIME_FENCE_DAYS;
2329        x_item_table(p_tab_index).SUBSTITUTION_WINDOW_CODE      := l_orig_item_rec.SUBSTITUTION_WINDOW_CODE;
2330        x_item_table(p_tab_index).SUBSTITUTION_WINDOW_DAYS      := l_orig_item_rec.SUBSTITUTION_WINDOW_DAYS;
2331      -- Lead Times
2332        x_item_table(p_tab_index).PREPROCESSING_LEAD_TIME       := l_orig_item_rec.PREPROCESSING_LEAD_TIME;
2333        x_item_table(p_tab_index).FULL_LEAD_TIME                := l_orig_item_rec.FULL_LEAD_TIME;
2334        x_item_table(p_tab_index).POSTPROCESSING_LEAD_TIME      := l_orig_item_rec.POSTPROCESSING_LEAD_TIME;
2335        x_item_table(p_tab_index).FIXED_LEAD_TIME               := l_orig_item_rec.FIXED_LEAD_TIME;
2336        x_item_table(p_tab_index).VARIABLE_LEAD_TIME            := l_orig_item_rec.VARIABLE_LEAD_TIME;
2337        x_item_table(p_tab_index).CUM_MANUFACTURING_LEAD_TIME   := l_orig_item_rec.CUM_MANUFACTURING_LEAD_TIME;
2338        x_item_table(p_tab_index).CUMULATIVE_TOTAL_LEAD_TIME    := l_orig_item_rec.CUMULATIVE_TOTAL_LEAD_TIME;
2339        x_item_table(p_tab_index).LEAD_TIME_LOT_SIZE            := l_orig_item_rec.LEAD_TIME_LOT_SIZE;
2340      -- WIP
2341        x_item_table(p_tab_index).BUILD_IN_WIP_FLAG                    := l_orig_item_rec.BUILD_IN_WIP_FLAG;
2342        x_item_table(p_tab_index).WIP_SUPPLY_TYPE                      := l_orig_item_rec.WIP_SUPPLY_TYPE;
2343        x_item_table(p_tab_index).WIP_SUPPLY_SUBINVENTORY              := l_orig_item_rec.WIP_SUPPLY_SUBINVENTORY;
2344        x_item_table(p_tab_index).WIP_SUPPLY_LOCATOR_ID                := l_orig_item_rec.WIP_SUPPLY_LOCATOR_ID;
2345        x_item_table(p_tab_index).OVERCOMPLETION_TOLERANCE_TYPE        := l_orig_item_rec.OVERCOMPLETION_TOLERANCE_TYPE;
2346        x_item_table(p_tab_index).OVERCOMPLETION_TOLERANCE_VALUE       := l_orig_item_rec.OVERCOMPLETION_TOLERANCE_VALUE;
2347        x_item_table(p_tab_index).INVENTORY_CARRY_PENALTY              := l_orig_item_rec.INVENTORY_CARRY_PENALTY;
2348        x_item_table(p_tab_index).OPERATION_SLACK_PENALTY              := l_orig_item_rec.OPERATION_SLACK_PENALTY;
2349      -- Order Management
2350        x_item_table(p_tab_index).CUSTOMER_ORDER_FLAG           := l_orig_item_rec.CUSTOMER_ORDER_FLAG;
2351        x_item_table(p_tab_index).CUSTOMER_ORDER_ENABLED_FLAG   := l_orig_item_rec.CUSTOMER_ORDER_ENABLED_FLAG;
2352        x_item_table(p_tab_index).INTERNAL_ORDER_FLAG           := l_orig_item_rec.INTERNAL_ORDER_FLAG;
2353        x_item_table(p_tab_index).INTERNAL_ORDER_ENABLED_FLAG   := l_orig_item_rec.INTERNAL_ORDER_ENABLED_FLAG;
2354        x_item_table(p_tab_index).SHIPPABLE_ITEM_FLAG           := l_orig_item_rec.SHIPPABLE_ITEM_FLAG;
2355        x_item_table(p_tab_index).SO_TRANSACTIONS_FLAG          := l_orig_item_rec.SO_TRANSACTIONS_FLAG;
2356        x_item_table(p_tab_index).PICKING_RULE_ID               := l_orig_item_rec.PICKING_RULE_ID;
2357        x_item_table(p_tab_index).PICK_COMPONENTS_FLAG          := l_orig_item_rec.PICK_COMPONENTS_FLAG;
2358        x_item_table(p_tab_index).REPLENISH_TO_ORDER_FLAG       := l_orig_item_rec.REPLENISH_TO_ORDER_FLAG;
2359        x_item_table(p_tab_index).ATP_FLAG                      := l_orig_item_rec.ATP_FLAG;
2360        x_item_table(p_tab_index).ATP_COMPONENTS_FLAG           := l_orig_item_rec.ATP_COMPONENTS_FLAG;
2361        x_item_table(p_tab_index).ATP_RULE_ID                   := l_orig_item_rec.ATP_RULE_ID;
2362        x_item_table(p_tab_index).SHIP_MODEL_COMPLETE_FLAG      := l_orig_item_rec.SHIP_MODEL_COMPLETE_FLAG;
2363        x_item_table(p_tab_index).DEFAULT_SHIPPING_ORG          := l_orig_item_rec.DEFAULT_SHIPPING_ORG;
2364        x_item_table(p_tab_index).DEFAULT_SO_SOURCE_TYPE        := l_orig_item_rec.DEFAULT_SO_SOURCE_TYPE;
2365        x_item_table(p_tab_index).RETURNABLE_FLAG               := l_orig_item_rec.RETURNABLE_FLAG;
2366        x_item_table(p_tab_index).RETURN_INSPECTION_REQUIREMENT := l_orig_item_rec.RETURN_INSPECTION_REQUIREMENT;
2367        x_item_table(p_tab_index).OVER_SHIPMENT_TOLERANCE       := l_orig_item_rec.OVER_SHIPMENT_TOLERANCE;
2368        x_item_table(p_tab_index).UNDER_SHIPMENT_TOLERANCE      := l_orig_item_rec.UNDER_SHIPMENT_TOLERANCE;
2369        x_item_table(p_tab_index).OVER_RETURN_TOLERANCE         := l_orig_item_rec.OVER_RETURN_TOLERANCE;
2370        x_item_table(p_tab_index).UNDER_RETURN_TOLERANCE        := l_orig_item_rec.UNDER_RETURN_TOLERANCE;
2371        x_item_table(p_tab_index).FINANCING_ALLOWED_FLAG        := l_orig_item_rec.FINANCING_ALLOWED_FLAG;
2372        x_item_table(p_tab_index).VOL_DISCOUNT_EXEMPT_FLAG      := l_orig_item_rec.VOL_DISCOUNT_EXEMPT_FLAG;
2373        x_item_table(p_tab_index).COUPON_EXEMPT_FLAG            := l_orig_item_rec.COUPON_EXEMPT_FLAG;
2374        x_item_table(p_tab_index).INVOICEABLE_ITEM_FLAG         := l_orig_item_rec.INVOICEABLE_ITEM_FLAG;
2375        x_item_table(p_tab_index).INVOICE_ENABLED_FLAG          := l_orig_item_rec.INVOICE_ENABLED_FLAG;
2376        x_item_table(p_tab_index).ACCOUNTING_RULE_ID            := l_orig_item_rec.ACCOUNTING_RULE_ID;
2377        x_item_table(p_tab_index).INVOICING_RULE_ID             := l_orig_item_rec.INVOICING_RULE_ID;
2378        x_item_table(p_tab_index).TAX_CODE                      := l_orig_item_rec.TAX_CODE;
2379        x_item_table(p_tab_index).SALES_ACCOUNT                 := l_orig_item_rec.SALES_ACCOUNT;
2380        x_item_table(p_tab_index).PAYMENT_TERMS_ID              := l_orig_item_rec.PAYMENT_TERMS_ID;
2381      -- Service
2382        x_item_table(p_tab_index).CONTRACT_ITEM_TYPE_CODE       := l_orig_item_rec.CONTRACT_ITEM_TYPE_CODE;
2383        x_item_table(p_tab_index).SERVICE_DURATION_PERIOD_CODE  := l_orig_item_rec.SERVICE_DURATION_PERIOD_CODE;
2384        x_item_table(p_tab_index).SERVICE_DURATION              := l_orig_item_rec.SERVICE_DURATION;
2385        x_item_table(p_tab_index).COVERAGE_SCHEDULE_ID          := l_orig_item_rec.COVERAGE_SCHEDULE_ID;
2386        x_item_table(p_tab_index).SUBSCRIPTION_DEPEND_FLAG      := l_orig_item_rec.SUBSCRIPTION_DEPEND_FLAG;
2387        x_item_table(p_tab_index).SERV_IMPORTANCE_LEVEL         := l_orig_item_rec.SERV_IMPORTANCE_LEVEL;
2388        x_item_table(p_tab_index).SERV_REQ_ENABLED_CODE         := l_orig_item_rec.SERV_REQ_ENABLED_CODE;
2389        x_item_table(p_tab_index).COMMS_ACTIVATION_REQD_FLAG    := l_orig_item_rec.COMMS_ACTIVATION_REQD_FLAG;
2390        x_item_table(p_tab_index).SERVICEABLE_PRODUCT_FLAG      := l_orig_item_rec.SERVICEABLE_PRODUCT_FLAG;
2391        x_item_table(p_tab_index).MATERIAL_BILLABLE_FLAG        := l_orig_item_rec.MATERIAL_BILLABLE_FLAG;
2392        x_item_table(p_tab_index).SERV_BILLING_ENABLED_FLAG     := l_orig_item_rec.SERV_BILLING_ENABLED_FLAG;
2393        x_item_table(p_tab_index).DEFECT_TRACKING_ON_FLAG       := l_orig_item_rec.DEFECT_TRACKING_ON_FLAG;
2394        x_item_table(p_tab_index).RECOVERED_PART_DISP_CODE      := l_orig_item_rec.RECOVERED_PART_DISP_CODE;
2395        x_item_table(p_tab_index).COMMS_NL_TRACKABLE_FLAG       := l_orig_item_rec.COMMS_NL_TRACKABLE_FLAG;
2396        x_item_table(p_tab_index).ASSET_CREATION_CODE           := l_orig_item_rec.ASSET_CREATION_CODE;
2397        x_item_table(p_tab_index).IB_ITEM_INSTANCE_CLASS        := l_orig_item_rec.IB_ITEM_INSTANCE_CLASS;
2398        x_item_table(p_tab_index).SERVICE_STARTING_DELAY        := l_orig_item_rec.SERVICE_STARTING_DELAY;
2399      -- Web Option
2400        x_item_table(p_tab_index).WEB_STATUS                    := l_orig_item_rec.WEB_STATUS;
2401        x_item_table(p_tab_index).ORDERABLE_ON_WEB_FLAG         := l_orig_item_rec.ORDERABLE_ON_WEB_FLAG;
2402        x_item_table(p_tab_index).BACK_ORDERABLE_FLAG           := l_orig_item_rec.BACK_ORDERABLE_FLAG;
2403        x_item_table(p_tab_index).MINIMUM_LICENSE_QUANTITY      := l_orig_item_rec.MINIMUM_LICENSE_QUANTITY;
2404      --Start: 26 new attributes
2405        x_item_table(p_tab_index).tracking_quantity_ind         :=  l_orig_item_rec.TRACKING_QUANTITY_IND;
2406        x_item_table(p_tab_index).ont_pricing_qty_source        :=  l_orig_item_rec.ONT_PRICING_QTY_SOURCE;
2407        x_item_table(p_tab_index).secondary_default_ind         :=  l_orig_item_rec.SECONDARY_DEFAULT_IND;
2408        x_item_table(p_tab_index).option_specific_sourced       :=  l_orig_item_rec.OPTION_SPECIFIC_SOURCED;
2409        x_item_table(p_tab_index).vmi_minimum_units             :=  l_orig_item_rec.VMI_MINIMUM_UNITS;
2410        x_item_table(p_tab_index).vmi_minimum_days              :=  l_orig_item_rec.VMI_MINIMUM_DAYS;
2411        x_item_table(p_tab_index).vmi_maximum_units             :=  l_orig_item_rec.VMI_MAXIMUM_UNITS;
2412        x_item_table(p_tab_index).vmi_maximum_days              :=  l_orig_item_rec.VMI_MAXIMUM_DAYS;
2413        x_item_table(p_tab_index).vmi_fixed_order_quantity      :=  l_orig_item_rec.VMI_FIXED_ORDER_QUANTITY;
2414        x_item_table(p_tab_index).so_authorization_flag         :=  l_orig_item_rec.SO_AUTHORIZATION_FLAG;
2415        x_item_table(p_tab_index).consigned_flag                :=  l_orig_item_rec.CONSIGNED_FLAG;
2416        x_item_table(p_tab_index).asn_autoexpire_flag           :=  l_orig_item_rec.ASN_AUTOEXPIRE_FLAG;
2417        x_item_table(p_tab_index).vmi_forecast_type             :=  l_orig_item_rec.VMI_FORECAST_TYPE;
2418        x_item_table(p_tab_index).forecast_horizon              :=  l_orig_item_rec.FORECAST_HORIZON;
2419        x_item_table(p_tab_index).exclude_from_budget_flag      :=  l_orig_item_rec.EXCLUDE_FROM_BUDGET_FLAG;
2420        x_item_table(p_tab_index).days_tgt_inv_supply           :=  l_orig_item_rec.DAYS_TGT_INV_SUPPLY;
2421        x_item_table(p_tab_index).days_tgt_inv_window           :=  l_orig_item_rec.DAYS_TGT_INV_WINDOW;
2422        x_item_table(p_tab_index).days_max_inv_supply           :=  l_orig_item_rec.DAYS_MAX_INV_SUPPLY;
2423        x_item_table(p_tab_index).days_max_inv_window           :=  l_orig_item_rec.DAYS_MAX_INV_WINDOW;
2424        x_item_table(p_tab_index).drp_planned_flag              :=  l_orig_item_rec.DRP_PLANNED_FLAG;
2425        x_item_table(p_tab_index).critical_component_flag       :=  l_orig_item_rec.CRITICAL_COMPONENT_FLAG;
2426        x_item_table(p_tab_index).continous_transfer            :=  l_orig_item_rec.CONTINOUS_TRANSFER;
2427        x_item_table(p_tab_index).convergence                   :=  l_orig_item_rec.CONVERGENCE;
2428        x_item_table(p_tab_index).divergence                    :=  l_orig_item_rec.DIVERGENCE;
2429        x_item_table(p_tab_index).config_orgs                   :=  l_orig_item_rec.CONFIG_ORGS;
2430        x_item_table(p_tab_index).config_match                  :=  l_orig_item_rec.CONFIG_MATCH;
2431      --End: 26 new attributes
2432      -- Descriptive flex
2433        x_item_table(p_tab_index).Attribute_Category            := l_orig_item_rec.Attribute_Category;
2434        x_item_table(p_tab_index).Attribute1                    := l_orig_item_rec.Attribute1;
2435        x_item_table(p_tab_index).Attribute2                    := l_orig_item_rec.Attribute2;
2436        x_item_table(p_tab_index).Attribute3                    := l_orig_item_rec.Attribute3;
2437        x_item_table(p_tab_index).Attribute4                    := l_orig_item_rec.Attribute4;
2438        x_item_table(p_tab_index).Attribute5                    := l_orig_item_rec.Attribute5;
2439        x_item_table(p_tab_index).Attribute6                    := l_orig_item_rec.Attribute6;
2440        x_item_table(p_tab_index).Attribute7                    := l_orig_item_rec.Attribute7;
2441        x_item_table(p_tab_index).Attribute8                    := l_orig_item_rec.Attribute8;
2442        x_item_table(p_tab_index).Attribute9                    := l_orig_item_rec.Attribute9;
2443        x_item_table(p_tab_index).Attribute10                   := l_orig_item_rec.Attribute10;
2444        x_item_table(p_tab_index).Attribute11                   := l_orig_item_rec.Attribute11;
2445        x_item_table(p_tab_index).Attribute12                   := l_orig_item_rec.Attribute12;
2446        x_item_table(p_tab_index).Attribute13                   := l_orig_item_rec.Attribute13;
2447        x_item_table(p_tab_index).Attribute14                   := l_orig_item_rec.Attribute14;
2448        x_item_table(p_tab_index).Attribute15                   := l_orig_item_rec.Attribute15;
2449        x_item_table(p_tab_index).Attribute16                   := l_orig_item_rec.Attribute16;
2450        x_item_table(p_tab_index).Attribute17                   := l_orig_item_rec.Attribute17;
2451        x_item_table(p_tab_index).Attribute18                   := l_orig_item_rec.Attribute18;
2452        x_item_table(p_tab_index).Attribute19                   := l_orig_item_rec.Attribute19;
2453        x_item_table(p_tab_index).Attribute20                   := l_orig_item_rec.Attribute20;
2454        x_item_table(p_tab_index).Attribute21                   := l_orig_item_rec.Attribute21;
2455        x_item_table(p_tab_index).Attribute22                   := l_orig_item_rec.Attribute22;
2456        x_item_table(p_tab_index).Attribute23                   := l_orig_item_rec.Attribute23;
2457        x_item_table(p_tab_index).Attribute24                   := l_orig_item_rec.Attribute24;
2458        x_item_table(p_tab_index).Attribute25                   := l_orig_item_rec.Attribute25;
2459        x_item_table(p_tab_index).Attribute26                   := l_orig_item_rec.Attribute26;
2460        x_item_table(p_tab_index).Attribute27                   := l_orig_item_rec.Attribute27;
2461        x_item_table(p_tab_index).Attribute28                   := l_orig_item_rec.Attribute28;
2462        x_item_table(p_tab_index).Attribute29                   := l_orig_item_rec.Attribute29;
2463        x_item_table(p_tab_index).Attribute30                   := l_orig_item_rec.Attribute30;
2464      -- Global Descriptive flex
2465        x_item_table(p_tab_index).Global_Attribute_Category     := l_orig_item_rec.Global_Attribute_Category;
2466        x_item_table(p_tab_index).Global_Attribute1             := l_orig_item_rec.Global_Attribute1;
2467        x_item_table(p_tab_index).Global_Attribute2             := l_orig_item_rec.Global_Attribute2;
2468        x_item_table(p_tab_index).Global_Attribute3             := l_orig_item_rec.Global_Attribute3;
2469        x_item_table(p_tab_index).Global_Attribute4             := l_orig_item_rec.Global_Attribute4;
2470        x_item_table(p_tab_index).Global_Attribute5             := l_orig_item_rec.Global_Attribute5;
2471        x_item_table(p_tab_index).Global_Attribute6             := l_orig_item_rec.Global_Attribute6;
2472        x_item_table(p_tab_index).Global_Attribute7             := l_orig_item_rec.Global_Attribute7;
2473        x_item_table(p_tab_index).Global_Attribute8             := l_orig_item_rec.Global_Attribute8;
2474        x_item_table(p_tab_index).Global_Attribute9             := l_orig_item_rec.Global_Attribute9;
2475        x_item_table(p_tab_index).Global_Attribute10            := l_orig_item_rec.Global_Attribute10;
2476        x_item_table(p_tab_index).Global_Attribute11             := l_orig_item_rec.Global_Attribute11;
2477        x_item_table(p_tab_index).Global_Attribute12             := l_orig_item_rec.Global_Attribute12;
2478        x_item_table(p_tab_index).Global_Attribute13             := l_orig_item_rec.Global_Attribute13;
2479        x_item_table(p_tab_index).Global_Attribute14             := l_orig_item_rec.Global_Attribute14;
2480        x_item_table(p_tab_index).Global_Attribute15             := l_orig_item_rec.Global_Attribute15;
2481        x_item_table(p_tab_index).Global_Attribute16             := l_orig_item_rec.Global_Attribute16;
2482        x_item_table(p_tab_index).Global_Attribute17             := l_orig_item_rec.Global_Attribute17;
2483        x_item_table(p_tab_index).Global_Attribute18             := l_orig_item_rec.Global_Attribute18;
2484        x_item_table(p_tab_index).Global_Attribute19             := l_orig_item_rec.Global_Attribute19;
2485        x_item_table(p_tab_index).Global_Attribute20            := l_orig_item_rec.Global_Attribute20;
2486 
2487        /* R12 Attributes */
2488 
2489        x_item_table(p_tab_index).CAS_NUMBER                    := l_orig_item_rec.CAS_NUMBER;
2490        x_item_table(p_tab_index).CHILD_LOT_FLAG                := l_orig_item_rec.CHILD_LOT_FLAG;
2491        x_item_table(p_tab_index).CHILD_LOT_PREFIX              := l_orig_item_rec.CHILD_LOT_PREFIX;
2492        x_item_table(p_tab_index).CHILD_LOT_STARTING_NUMBER     := l_orig_item_rec.CHILD_LOT_STARTING_NUMBER;
2493        x_item_table(p_tab_index).CHILD_LOT_VALIDATION_FLAG     := l_orig_item_rec.CHILD_LOT_VALIDATION_FLAG;
2494        x_item_table(p_tab_index).COPY_LOT_ATTRIBUTE_FLAG       := l_orig_item_rec.COPY_LOT_ATTRIBUTE_FLAG;
2495        x_item_table(p_tab_index).DEFAULT_GRADE                 := l_orig_item_rec.DEFAULT_GRADE;
2496        x_item_table(p_tab_index).EXPIRATION_ACTION_CODE        := l_orig_item_rec.EXPIRATION_ACTION_CODE;
2497        x_item_table(p_tab_index).EXPIRATION_ACTION_INTERVAL    := l_orig_item_rec.EXPIRATION_ACTION_INTERVAL;
2498        x_item_table(p_tab_index).GRADE_CONTROL_FLAG            := l_orig_item_rec.GRADE_CONTROL_FLAG;
2499        x_item_table(p_tab_index).HAZARDOUS_MATERIAL_FLAG       := l_orig_item_rec.HAZARDOUS_MATERIAL_FLAG;
2500        x_item_table(p_tab_index).HOLD_DAYS                     := l_orig_item_rec.HOLD_DAYS;
2501        x_item_table(p_tab_index).LOT_DIVISIBLE_FLAG            := l_orig_item_rec.LOT_DIVISIBLE_FLAG;
2502        x_item_table(p_tab_index).MATURITY_DAYS                 := l_orig_item_rec.MATURITY_DAYS;
2503        x_item_table(p_tab_index).PARENT_CHILD_GENERATION_FLAG  := l_orig_item_rec.PARENT_CHILD_GENERATION_FLAG;
2504        x_item_table(p_tab_index).PROCESS_COSTING_ENABLED_FLAG  := l_orig_item_rec.PROCESS_COSTING_ENABLED_FLAG;
2505        x_item_table(p_tab_index).PROCESS_EXECUTION_ENABLED_FLAG := l_orig_item_rec.PROCESS_EXECUTION_ENABLED_FLAG;
2506        x_item_table(p_tab_index).PROCESS_QUALITY_ENABLED_FLAG  := l_orig_item_rec.PROCESS_QUALITY_ENABLED_FLAG;
2507        x_item_table(p_tab_index).PROCESS_SUPPLY_LOCATOR_ID     := l_orig_item_rec.PROCESS_SUPPLY_LOCATOR_ID;
2508        x_item_table(p_tab_index).PROCESS_SUPPLY_SUBINVENTORY   := l_orig_item_rec.PROCESS_SUPPLY_SUBINVENTORY;
2509        x_item_table(p_tab_index).PROCESS_YIELD_LOCATOR_ID      := l_orig_item_rec.PROCESS_YIELD_LOCATOR_ID;
2510        x_item_table(p_tab_index).PROCESS_YIELD_SUBINVENTORY    := l_orig_item_rec.PROCESS_YIELD_SUBINVENTORY;
2511        x_item_table(p_tab_index).RECIPE_ENABLED_FLAG           := l_orig_item_rec.RECIPE_ENABLED_FLAG;
2512        x_item_table(p_tab_index).RETEST_INTERVAL               := l_orig_item_rec.RETEST_INTERVAL;
2513        x_item_table(p_tab_index).CHARGE_PERIODICITY_CODE       := l_orig_item_rec.CHARGE_PERIODICITY_CODE;
2514        x_item_table(p_tab_index).REPAIR_LEADTIME               := l_orig_item_rec.REPAIR_LEADTIME;
2515        x_item_table(p_tab_index).REPAIR_YIELD                  := l_orig_item_rec.REPAIR_YIELD;
2516        x_item_table(p_tab_index).PREPOSITION_POINT             := l_orig_item_rec.PREPOSITION_POINT;
2517        x_item_table(p_tab_index).REPAIR_PROGRAM                := l_orig_item_rec.REPAIR_PROGRAM;
2518        x_item_table(p_tab_index).SUBCONTRACTING_COMPONENT      := l_orig_item_rec.SUBCONTRACTING_COMPONENT;
2519        x_item_table(p_tab_index).OUTSOURCED_ASSEMBLY           := l_orig_item_rec.OUTSOURCED_ASSEMBLY;
2520        x_return_status := G_RET_STS_SUCCESS;
2521      END IF;
2522 
2523      CLOSE c_copy_item_info;
2524 
2525    EXCEPTION
2526      WHEN OTHERS THEN
2527        IF c_copy_item_info%ISOPEN THEN
2528           CLOSE c_copy_item_info;
2529        END IF;
2530   END initialize_item_info;
2531 
2532  ---------------------------------------------------------------------------
2533   PROCEDURE initialize_template_info
2534      (p_template_id         IN  NUMBER
2535      ,p_template_name       IN  VARCHAR2
2536      ,p_organization_id     IN  NUMBER
2537      ,p_organization_code   IN  VARCHAR2
2538      ,p_tab_index           IN  INTEGER
2539      ,x_item_table          IN   OUT NOCOPY EGO_ITEM_PUB.Item_Tbl_Type
2540      ,x_return_status       OUT  NOCOPY VARCHAR2
2541      ,x_msg_count           OUT  NOCOPY NUMBER) IS
2542 
2543     CURSOR c_get_context_org (cp_template_id  IN NUMBER) IS
2544       SELECT context_organization_id
2545        FROM  mtl_item_templates mit
2546        WHERE mit.template_id = cp_template_id;
2547 
2548     CURSOR c_get_template_attributes (cp_template_id  IN  NUMBER) IS
2549       SELECT attribute_name, attribute_value
2550       FROM   mtl_item_templ_attributes
2551       WHERE  template_id = cp_template_id
2552       AND    enabled_flag = 'Y'
2553       AND    attribute_name IN
2554              ( SELECT a.attribute_name
2555                FROM   mtl_item_attributes  a
2556                WHERE  NVL(a.status_control_code, 3) <> 1
2557                  AND  a.control_level IN (1, 2)
2558                  AND  a.attribute_group_id_gui IS NOT NULL
2559                  AND  a.attribute_name NOT IN
2560              ('MTL_SYSTEM_ITEMS.BASE_ITEM_ID',
2561              'MTL_SYSTEM_ITEMS.WIP_SUPPLY_LOCATOR_ID',
2562              'MTL_SYSTEM_ITEMS.WIP_SUPPLY_SUBINVENTORY',
2563              'MTL_SYSTEM_ITEMS.BASE_WARRANTY_SERVICE_ID',
2564              'MTL_SYSTEM_ITEMS.PLANNER_CODE',
2565              'MTL_SYSTEM_ITEMS.ENCUMBRANCE_ACCOUNT',
2566              'MTL_SYSTEM_ITEMS.EXPENSE_ACCOUNT',
2567              'MTL_SYSTEM_ITEMS.SALES_ACCOUNT',
2568              'MTL_SYSTEM_ITEMS.COST_OF_SALES_ACCOUNT',
2569              'MTL_SYSTEM_ITEMS.PLANNING_EXCEPTION_SET')
2570              );
2571 
2572     -- Attributes that can be applied only through the Org Specific templates.
2573 
2574     CURSOR c_get_org_template_attributes (cp_template_id IN  NUMBER)  IS
2575       SELECT attribute_name,  attribute_value
2576       FROM   mtl_item_templ_attributes
2577       WHERE  template_id = cp_template_id
2578         AND  enabled_flag = 'Y'
2579         AND  attribute_name IN
2580              ( SELECT  a.attribute_name
2581                FROM    mtl_item_attributes  a
2582                WHERE   NVL(a.status_control_code, 3) <> 1
2583                   AND  a.control_level IN (1, 2)
2584                   AND  a.attribute_group_id_gui IS NOT NULL
2585                   AND  a.attribute_name IN
2586              ('MTL_SYSTEM_ITEMS.BASE_ITEM_ID',
2587              'MTL_SYSTEM_ITEMS.WIP_SUPPLY_LOCATOR_ID',
2588              'MTL_SYSTEM_ITEMS.WIP_SUPPLY_SUBINVENTORY',
2589              'MTL_SYSTEM_ITEMS.BASE_WARRANTY_SERVICE_ID',
2590              'MTL_SYSTEM_ITEMS.PLANNER_CODE',
2591              'MTL_SYSTEM_ITEMS.ENCUMBRANCE_ACCOUNT',
2592              'MTL_SYSTEM_ITEMS.EXPENSE_ACCOUNT',
2593              'MTL_SYSTEM_ITEMS.SALES_ACCOUNT',
2594              'MTL_SYSTEM_ITEMS.COST_OF_SALES_ACCOUNT',
2595              'MTL_SYSTEM_ITEMS.PLANNING_EXCEPTION_SET')
2596              );
2597 
2598    CURSOR c_get_global_flex_fields (cp_template_id IN  NUMBER) IS
2599       SELECT GLOBAL_ATTRIBUTE_CATEGORY,
2600          GLOBAL_ATTRIBUTE1,
2601          GLOBAL_ATTRIBUTE2,
2602          GLOBAL_ATTRIBUTE3,
2603          GLOBAL_ATTRIBUTE4,
2604          GLOBAL_ATTRIBUTE5,
2605          GLOBAL_ATTRIBUTE6,
2606          GLOBAL_ATTRIBUTE7,
2607          GLOBAL_ATTRIBUTE8,
2608          GLOBAL_ATTRIBUTE9,
2609          GLOBAL_ATTRIBUTE10,
2610          GLOBAL_ATTRIBUTE11,
2611          GLOBAL_ATTRIBUTE12,
2612          GLOBAL_ATTRIBUTE13,
2613          GLOBAL_ATTRIBUTE14,
2614          GLOBAL_ATTRIBUTE15,
2615          GLOBAL_ATTRIBUTE16,
2616          GLOBAL_ATTRIBUTE17,
2617          GLOBAL_ATTRIBUTE18,
2618          GLOBAL_ATTRIBUTE19,
2619          GLOBAL_ATTRIBUTE20
2620       FROM MTL_ITEM_TEMPLATES MIT
2621       WHERE MIT.template_id = cp_template_id;
2622 
2623     l_org_id  mtl_item_templates.context_organization_id%TYPE;
2624 
2625   BEGIN
2626 
2627     l_org_id := NULL;
2628     OPEN c_get_context_org (cp_template_id => p_template_id);
2629     FETCH c_get_context_org INTO l_org_id;
2630     CLOSE c_get_context_org;
2631 
2632     IF ( (l_org_id is NOT NULL) AND (l_org_id <> p_organization_id) ) THEN
2633       EGO_Item_Msg.Add_Error_Message
2634          (p_entity_index           => 1
2635          ,p_application_short_name => 'EGO'
2636          ,p_message_name           => 'EGO_INVALID_TEMPLATE_ORG'
2637          ,p_token_name1            => 'TEMPLATE_NAME'
2638          ,p_token_value1           => p_template_name
2639          ,p_translate1             => FALSE
2640          ,p_token_name2            => 'ORGANIZATION_CODE'
2641          ,p_token_value2           => p_organization_code
2642          ,p_translate2             => FALSE
2643          ,p_token_name3            => NULL
2644          ,p_token_value3           => NULL
2645          ,p_translate3             => FALSE
2646          );
2647       x_return_status := G_RET_STS_ERROR;
2648       RETURN;
2649     END IF; -- c_get_context_org%NOTFOUND
2650 
2651     ------------------------------------
2652     -- Set item record attribute values
2653     ------------------------------------
2654     FOR cr IN c_get_template_attributes (cp_template_id => p_template_id) LOOP
2655        IF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCEPTABLE_EARLY_DAYS' THEN
2656           x_item_table(p_tab_index).ACCEPTABLE_EARLY_DAYS  := cr.ATTRIBUTE_VALUE;
2657        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCEPTABLE_RATE_DECREASE' THEN
2658           x_item_table(p_tab_index).ACCEPTABLE_RATE_DECREASE  := cr.ATTRIBUTE_VALUE;
2659        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCEPTABLE_RATE_INCREASE' THEN
2660           x_item_table(p_tab_index).ACCEPTABLE_RATE_INCREASE  := cr.ATTRIBUTE_VALUE;
2661        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ACCOUNTING_RULE_ID' THEN
2662           x_item_table(p_tab_index).ACCOUNTING_RULE_ID  := cr.ATTRIBUTE_VALUE;
2663        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOWED_UNITS_LOOKUP_CODE' THEN
2664           x_item_table(p_tab_index).ALLOWED_UNITS_LOOKUP_CODE  := cr.ATTRIBUTE_VALUE;
2665        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_EXPRESS_DELIVERY_FLAG' THEN
2666           x_item_table(p_tab_index).ALLOW_EXPRESS_DELIVERY_FLAG  := cr.ATTRIBUTE_VALUE;
2667        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_ITEM_DESC_UPDATE_FLAG' THEN
2668           x_item_table(p_tab_index).ALLOW_ITEM_DESC_UPDATE_FLAG  := cr.ATTRIBUTE_VALUE;
2669        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_SUBSTITUTE_RECEIPTS_FLAG' THEN
2670           x_item_table(p_tab_index).ALLOW_SUBSTITUTE_RECEIPTS_FLAG  := cr.ATTRIBUTE_VALUE;
2671        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ALLOW_UNORDERED_RECEIPTS_FLAG' THEN
2672           x_item_table(p_tab_index).ALLOW_UNORDERED_RECEIPTS_FLAG  := cr.ATTRIBUTE_VALUE;
2673        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ASSET_CATEGORY_ID' THEN
2674           x_item_table(p_tab_index).ASSET_CATEGORY_ID  := cr.ATTRIBUTE_VALUE;
2675        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATP_COMPONENTS_FLAG' THEN
2676           x_item_table(p_tab_index).ATP_COMPONENTS_FLAG  := cr.ATTRIBUTE_VALUE;
2677        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATP_FLAG' THEN
2678           x_item_table(p_tab_index).ATP_FLAG  := cr.ATTRIBUTE_VALUE;
2679        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATP_RULE_ID' THEN
2680           x_item_table(p_tab_index).ATP_RULE_ID  := cr.ATTRIBUTE_VALUE;
2681        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_LOT_ALPHA_PREFIX' THEN
2682           x_item_table(p_tab_index).AUTO_LOT_ALPHA_PREFIX  := cr.ATTRIBUTE_VALUE;
2683        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_REDUCE_MPS' THEN
2684           x_item_table(p_tab_index).AUTO_REDUCE_MPS  := cr.ATTRIBUTE_VALUE;
2685        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_SERIAL_ALPHA_PREFIX' THEN
2686           x_item_table(p_tab_index).AUTO_SERIAL_ALPHA_PREFIX  := cr.ATTRIBUTE_VALUE;
2687        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BOM_ENABLED_FLAG' THEN
2688           x_item_table(p_tab_index).BOM_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
2689        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BOM_ITEM_TYPE' THEN
2690           x_item_table(p_tab_index).BOM_ITEM_TYPE  := cr.ATTRIBUTE_VALUE;
2691        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BUILD_IN_WIP_FLAG' THEN
2692           x_item_table(p_tab_index).BUILD_IN_WIP_FLAG  := cr.ATTRIBUTE_VALUE;
2693        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BUYER_ID' THEN
2694           x_item_table(p_tab_index).BUYER_ID  := cr.ATTRIBUTE_VALUE;
2695        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CARRYING_COST' THEN
2696           x_item_table(p_tab_index).CARRYING_COST  := cr.ATTRIBUTE_VALUE;
2697        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COLLATERAL_FLAG' THEN
2698           x_item_table(p_tab_index).COLLATERAL_FLAG  := cr.ATTRIBUTE_VALUE;
2699        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COSTING_ENABLED_FLAG' THEN
2700           x_item_table(p_tab_index).COSTING_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
2701        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.AUTO_CREATED_CONFIG_FLAG' THEN--3911562
2702           x_item_table(p_tab_index).auto_created_config_flag  := cr.ATTRIBUTE_VALUE;
2703        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COVERAGE_SCHEDULE_ID' THEN
2704           x_item_table(p_tab_index).COVERAGE_SCHEDULE_ID  := cr.ATTRIBUTE_VALUE;
2705        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUMULATIVE_TOTAL_LEAD_TIME' THEN
2706           x_item_table(p_tab_index).CUMULATIVE_TOTAL_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
2707        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUM_MANUFACTURING_LEAD_TIME' THEN
2708           x_item_table(p_tab_index).CUM_MANUFACTURING_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
2709        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_ENABLED_FLAG' THEN
2710           x_item_table(p_tab_index).CUSTOMER_ORDER_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
2711        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CUSTOMER_ORDER_FLAG' THEN
2712           x_item_table(p_tab_index).CUSTOMER_ORDER_FLAG  := cr.ATTRIBUTE_VALUE;
2713        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CYCLE_COUNT_ENABLED_FLAG' THEN
2714           x_item_table(p_tab_index).CYCLE_COUNT_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
2715        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_EARLY_RECEIPT_ALLOWED' THEN
2716           x_item_table(p_tab_index).DAYS_EARLY_RECEIPT_ALLOWED  := cr.ATTRIBUTE_VALUE;
2717        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_LATE_RECEIPT_ALLOWED' THEN
2718           x_item_table(p_tab_index).DAYS_LATE_RECEIPT_ALLOWED  := cr.ATTRIBUTE_VALUE;
2719        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_INCLUDE_IN_ROLLUP_FLAG' THEN
2720           x_item_table(p_tab_index).DEFAULT_INCLUDE_IN_ROLLUP_FLAG  := cr.ATTRIBUTE_VALUE;
2721        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_SHIPPING_ORG' THEN
2722           x_item_table(p_tab_index).DEFAULT_SHIPPING_ORG  := cr.ATTRIBUTE_VALUE;
2723        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEMAND_TIME_FENCE_CODE' THEN
2724           x_item_table(p_tab_index).DEMAND_TIME_FENCE_CODE  := cr.ATTRIBUTE_VALUE;
2725        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEMAND_TIME_FENCE_DAYS' THEN
2726           x_item_table(p_tab_index).DEMAND_TIME_FENCE_DAYS  := cr.ATTRIBUTE_VALUE;
2727        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.END_ASSEMBLY_PEGGING_FLAG' THEN
2728           x_item_table(p_tab_index).END_ASSEMBLY_PEGGING_FLAG  := cr.ATTRIBUTE_VALUE;
2729        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ENFORCE_SHIP_TO_LOCATION_CODE' THEN
2730           x_item_table(p_tab_index).ENFORCE_SHIP_TO_LOCATION_CODE  := cr.ATTRIBUTE_VALUE;
2731        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPENSE_ACCOUNT' THEN
2732           x_item_table(p_tab_index).EXPENSE_ACCOUNT  := cr.ATTRIBUTE_VALUE;
2733        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_DAYS_SUPPLY' THEN
2734           x_item_table(p_tab_index).FIXED_DAYS_SUPPLY  := cr.ATTRIBUTE_VALUE;
2735        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_LEAD_TIME' THEN
2736           x_item_table(p_tab_index).FIXED_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
2737        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_LOT_MULTIPLIER' THEN
2738           x_item_table(p_tab_index).FIXED_LOT_MULTIPLIER  := cr.ATTRIBUTE_VALUE;
2739        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FIXED_ORDER_QUANTITY' THEN
2740           x_item_table(p_tab_index).FIXED_ORDER_QUANTITY  := cr.ATTRIBUTE_VALUE;
2741        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FULL_LEAD_TIME' THEN
2742           x_item_table(p_tab_index).FULL_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
2743        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.HAZARD_CLASS_ID' THEN
2744           x_item_table(p_tab_index).HAZARD_CLASS_ID  := cr.ATTRIBUTE_VALUE;
2745        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INSPECTION_REQUIRED_FLAG' THEN
2746           x_item_table(p_tab_index).INSPECTION_REQUIRED_FLAG  := cr.ATTRIBUTE_VALUE;
2747        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_ENABLED_FLAG' THEN
2748           x_item_table(p_tab_index).INTERNAL_ORDER_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
2749        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INTERNAL_ORDER_FLAG' THEN
2750           x_item_table(p_tab_index).INTERNAL_ORDER_FLAG  := cr.ATTRIBUTE_VALUE;
2751        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_ASSET_FLAG' THEN
2752           x_item_table(p_tab_index).INVENTORY_ASSET_FLAG  := cr.ATTRIBUTE_VALUE;
2753        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_ITEM_FLAG' THEN
2754           x_item_table(p_tab_index).INVENTORY_ITEM_FLAG  := cr.ATTRIBUTE_VALUE;
2755        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_ITEM_STATUS_CODE' THEN
2756           x_item_table(p_tab_index).INVENTORY_ITEM_STATUS_CODE  := cr.ATTRIBUTE_VALUE;
2757        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_PLANNING_CODE' THEN
2758           x_item_table(p_tab_index).INVENTORY_PLANNING_CODE  := cr.ATTRIBUTE_VALUE;
2759        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICEABLE_ITEM_FLAG' THEN
2760           x_item_table(p_tab_index).INVOICEABLE_ITEM_FLAG  := cr.ATTRIBUTE_VALUE;
2761        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICE_CLOSE_TOLERANCE' THEN
2762           x_item_table(p_tab_index).INVOICE_CLOSE_TOLERANCE  := cr.ATTRIBUTE_VALUE;
2763        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICE_ENABLED_FLAG' THEN
2764           x_item_table(p_tab_index).INVOICE_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
2765        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVOICING_RULE_ID' THEN
2766           x_item_table(p_tab_index).INVOICING_RULE_ID  := cr.ATTRIBUTE_VALUE;
2767        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ITEM_TYPE' THEN
2768           x_item_table(p_tab_index).ITEM_TYPE  := cr.ATTRIBUTE_VALUE;
2769        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LEAD_TIME_LOT_SIZE' THEN
2770           x_item_table(p_tab_index).LEAD_TIME_LOT_SIZE  := cr.ATTRIBUTE_VALUE;
2771        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LIST_PRICE_PER_UNIT' THEN
2772           x_item_table(p_tab_index).LIST_PRICE_PER_UNIT  := cr.ATTRIBUTE_VALUE;
2773        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOCATION_CONTROL_CODE' THEN
2774           x_item_table(p_tab_index).LOCATION_CONTROL_CODE  := cr.ATTRIBUTE_VALUE;
2775        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_CONTROL_CODE' THEN
2776           x_item_table(p_tab_index).LOT_CONTROL_CODE  := cr.ATTRIBUTE_VALUE;
2777        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MARKET_PRICE' THEN
2778           x_item_table(p_tab_index).MARKET_PRICE  := cr.ATTRIBUTE_VALUE;
2779        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MATERIAL_BILLABLE_FLAG' THEN
2780           x_item_table(p_tab_index).MATERIAL_BILLABLE_FLAG  := cr.ATTRIBUTE_VALUE;
2781        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAXIMUM_ORDER_QUANTITY' THEN
2782           x_item_table(p_tab_index).MAXIMUM_ORDER_QUANTITY  := cr.ATTRIBUTE_VALUE;
2783        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAX_MINMAX_QUANTITY' THEN
2784           x_item_table(p_tab_index).MAX_MINMAX_QUANTITY  := cr.ATTRIBUTE_VALUE;
2785        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MINIMUM_ORDER_QUANTITY' THEN
2786           x_item_table(p_tab_index).MINIMUM_ORDER_QUANTITY  := cr.ATTRIBUTE_VALUE;
2787        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MIN_MINMAX_QUANTITY' THEN
2788           x_item_table(p_tab_index).MIN_MINMAX_QUANTITY  := cr.ATTRIBUTE_VALUE;
2789        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_CALCULATE_ATP_FLAG' THEN
2790           x_item_table(p_tab_index).MRP_CALCULATE_ATP_FLAG  := cr.ATTRIBUTE_VALUE;
2791        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_PLANNING_CODE' THEN
2792           x_item_table(p_tab_index).MRP_PLANNING_CODE  := cr.ATTRIBUTE_VALUE;
2793        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_SAFETY_STOCK_CODE' THEN
2794           x_item_table(p_tab_index).MRP_SAFETY_STOCK_CODE  := cr.ATTRIBUTE_VALUE;
2795        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MRP_SAFETY_STOCK_PERCENT' THEN
2796           x_item_table(p_tab_index).MRP_SAFETY_STOCK_PERCENT  := cr.ATTRIBUTE_VALUE;
2797        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MTL_TRANSACTIONS_ENABLED_FLAG' THEN
2798           x_item_table(p_tab_index).MTL_TRANSACTIONS_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
2799        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MUST_USE_APPROVED_VENDOR_FLAG' THEN
2800           x_item_table(p_tab_index).MUST_USE_APPROVED_VENDOR_FLAG  := cr.ATTRIBUTE_VALUE;
2801        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.NEGATIVE_MEASUREMENT_ERROR' THEN
2802           x_item_table(p_tab_index).NEGATIVE_MEASUREMENT_ERROR  := cr.ATTRIBUTE_VALUE;
2803        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ORDER_COST' THEN
2804           x_item_table(p_tab_index).ORDER_COST  := cr.ATTRIBUTE_VALUE;
2805        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OUTSIDE_OPERATION_FLAG' THEN
2806           x_item_table(p_tab_index).OUTSIDE_OPERATION_FLAG  := cr.ATTRIBUTE_VALUE;
2807        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OUTSIDE_OPERATION_UOM_TYPE' THEN
2808           x_item_table(p_tab_index).OUTSIDE_OPERATION_UOM_TYPE  := cr.ATTRIBUTE_VALUE;
2809        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVERRUN_PERCENTAGE' THEN
2810           x_item_table(p_tab_index).OVERRUN_PERCENTAGE  := cr.ATTRIBUTE_VALUE;
2811        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PAYMENT_TERMS_ID' THEN
2812           x_item_table(p_tab_index).PAYMENT_TERMS_ID  := cr.ATTRIBUTE_VALUE;
2813        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PICKING_RULE_ID' THEN
2814           x_item_table(p_tab_index).PICKING_RULE_ID  := cr.ATTRIBUTE_VALUE;
2815        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PICK_COMPONENTS_FLAG' THEN
2816           x_item_table(p_tab_index).PICK_COMPONENTS_FLAG  := cr.ATTRIBUTE_VALUE;
2817        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_MAKE_BUY_CODE' THEN
2818           x_item_table(p_tab_index).PLANNING_MAKE_BUY_CODE  := cr.ATTRIBUTE_VALUE;
2819        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_TIME_FENCE_CODE' THEN
2820           x_item_table(p_tab_index).PLANNING_TIME_FENCE_CODE  := cr.ATTRIBUTE_VALUE;
2821        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_TIME_FENCE_DAYS' THEN
2822           x_item_table(p_tab_index).PLANNING_TIME_FENCE_DAYS  := cr.ATTRIBUTE_VALUE;
2823        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.POSITIVE_MEASUREMENT_ERROR' THEN
2824           x_item_table(p_tab_index).POSITIVE_MEASUREMENT_ERROR  := cr.ATTRIBUTE_VALUE;
2825        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.POSTPROCESSING_LEAD_TIME' THEN
2826           x_item_table(p_tab_index).POSTPROCESSING_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
2827        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PREPROCESSING_LEAD_TIME' THEN
2828           x_item_table(p_tab_index).PREPROCESSING_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
2829        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PRICE_TOLERANCE_PERCENT' THEN
2830           x_item_table(p_tab_index).PRICE_TOLERANCE_PERCENT  := cr.ATTRIBUTE_VALUE;
2831        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PURCHASING_ENABLED_FLAG' THEN
2832           x_item_table(p_tab_index).PURCHASING_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
2833        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PURCHASING_ITEM_FLAG' THEN
2834           x_item_table(p_tab_index).PURCHASING_ITEM_FLAG  := cr.ATTRIBUTE_VALUE;
2835        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.QTY_RCV_EXCEPTION_CODE' THEN
2836           x_item_table(p_tab_index).QTY_RCV_EXCEPTION_CODE  := cr.ATTRIBUTE_VALUE;
2837        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.QTY_RCV_TOLERANCE' THEN
2838           x_item_table(p_tab_index).QTY_RCV_TOLERANCE  := cr.ATTRIBUTE_VALUE;
2839        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIPT_DAYS_EXCEPTION_CODE' THEN
2840           x_item_table(p_tab_index).RECEIPT_DAYS_EXCEPTION_CODE  := cr.ATTRIBUTE_VALUE;
2841        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIPT_REQUIRED_FLAG' THEN
2842           x_item_table(p_tab_index).RECEIPT_REQUIRED_FLAG  := cr.ATTRIBUTE_VALUE;
2843        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIVE_CLOSE_TOLERANCE' THEN
2844           x_item_table(p_tab_index).RECEIVE_CLOSE_TOLERANCE  := cr.ATTRIBUTE_VALUE;
2845        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECEIVING_ROUTING_ID' THEN
2846           x_item_table(p_tab_index).RECEIVING_ROUTING_ID  := cr.ATTRIBUTE_VALUE;
2847        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPETITIVE_PLANNING_FLAG' THEN
2848           x_item_table(p_tab_index).REPETITIVE_PLANNING_FLAG  := cr.ATTRIBUTE_VALUE;
2849        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPLENISH_TO_ORDER_FLAG' THEN
2850           x_item_table(p_tab_index).REPLENISH_TO_ORDER_FLAG  := cr.ATTRIBUTE_VALUE;
2851        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESERVABLE_TYPE' THEN
2852           x_item_table(p_tab_index).RESERVABLE_TYPE  := cr.ATTRIBUTE_VALUE;
2853        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESTRICT_LOCATORS_CODE' THEN
2854           x_item_table(p_tab_index).RESTRICT_LOCATORS_CODE  := cr.ATTRIBUTE_VALUE;
2855        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RESTRICT_SUBINVENTORIES_CODE' THEN
2856           x_item_table(p_tab_index).RESTRICT_SUBINVENTORIES_CODE  := cr.ATTRIBUTE_VALUE;
2857        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RETURNABLE_FLAG' THEN
2858           x_item_table(p_tab_index).RETURNABLE_FLAG  := cr.ATTRIBUTE_VALUE;
2859        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RETURN_INSPECTION_REQUIREMENT' THEN
2860           x_item_table(p_tab_index).RETURN_INSPECTION_REQUIREMENT  := cr.ATTRIBUTE_VALUE;
2861        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REVISION_QTY_CONTROL_CODE' THEN
2862           x_item_table(p_tab_index).REVISION_QTY_CONTROL_CODE  := cr.ATTRIBUTE_VALUE;
2863        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RFQ_REQUIRED_FLAG' THEN
2864           x_item_table(p_tab_index).RFQ_REQUIRED_FLAG  := cr.ATTRIBUTE_VALUE;
2865        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ROUNDING_CONTROL_TYPE' THEN
2866           x_item_table(p_tab_index).ROUNDING_CONTROL_TYPE  := cr.ATTRIBUTE_VALUE;
2867        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ROUNDING_FACTOR' THEN
2868           x_item_table(p_tab_index).ROUNDING_FACTOR  := cr.ATTRIBUTE_VALUE;
2869        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SAFETY_STOCK_BUCKET_DAYS' THEN
2870           x_item_table(p_tab_index).SAFETY_STOCK_BUCKET_DAYS  := cr.ATTRIBUTE_VALUE;
2871        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERIAL_NUMBER_CONTROL_CODE' THEN
2872           x_item_table(p_tab_index).SERIAL_NUMBER_CONTROL_CODE  := cr.ATTRIBUTE_VALUE;
2873        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICEABLE_PRODUCT_FLAG' THEN
2874           x_item_table(p_tab_index).SERVICEABLE_PRODUCT_FLAG  := cr.ATTRIBUTE_VALUE;
2875        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICE_DURATION' THEN
2876           x_item_table(p_tab_index).SERVICE_DURATION  := cr.ATTRIBUTE_VALUE;
2877        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICE_DURATION_PERIOD_CODE' THEN
2878           x_item_table(p_tab_index).SERVICE_DURATION_PERIOD_CODE  := cr.ATTRIBUTE_VALUE;
2879        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERVICE_STARTING_DELAY' THEN
2880           x_item_table(p_tab_index).SERVICE_STARTING_DELAY  := cr.ATTRIBUTE_VALUE;
2881        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHELF_LIFE_CODE' THEN
2882           x_item_table(p_tab_index).SHELF_LIFE_CODE  := cr.ATTRIBUTE_VALUE;
2883        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHELF_LIFE_DAYS' THEN
2884           x_item_table(p_tab_index).SHELF_LIFE_DAYS  := cr.ATTRIBUTE_VALUE;
2885        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHIPPABLE_ITEM_FLAG' THEN
2886           x_item_table(p_tab_index).SHIPPABLE_ITEM_FLAG  := cr.ATTRIBUTE_VALUE;
2887        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHIP_MODEL_COMPLETE_FLAG' THEN
2888           x_item_table(p_tab_index).SHIP_MODEL_COMPLETE_FLAG  := cr.ATTRIBUTE_VALUE;
2889        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SHRINKAGE_RATE' THEN
2890           x_item_table(p_tab_index).SHRINKAGE_RATE  := cr.ATTRIBUTE_VALUE;
2891        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SOURCE_ORGANIZATION_ID' THEN
2892           x_item_table(p_tab_index).SOURCE_ORGANIZATION_ID  := cr.ATTRIBUTE_VALUE;
2893        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SOURCE_SUBINVENTORY' THEN
2894           x_item_table(p_tab_index).SOURCE_SUBINVENTORY  := cr.ATTRIBUTE_VALUE;
2895        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SOURCE_TYPE' THEN
2896           x_item_table(p_tab_index).SOURCE_TYPE  := cr.ATTRIBUTE_VALUE;
2897        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SO_TRANSACTIONS_FLAG' THEN
2898           x_item_table(p_tab_index).SO_TRANSACTIONS_FLAG  := cr.ATTRIBUTE_VALUE;
2899        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.START_AUTO_LOT_NUMBER' THEN
2900           x_item_table(p_tab_index).START_AUTO_LOT_NUMBER  := cr.ATTRIBUTE_VALUE;
2901        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.START_AUTO_SERIAL_NUMBER' THEN
2902           x_item_table(p_tab_index).START_AUTO_SERIAL_NUMBER  := cr.ATTRIBUTE_VALUE;
2903        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.STD_LOT_SIZE' THEN
2904           x_item_table(p_tab_index).STD_LOT_SIZE  := cr.ATTRIBUTE_VALUE;
2905        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.STOCK_ENABLED_FLAG' THEN
2906           x_item_table(p_tab_index).STOCK_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
2907        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TAXABLE_FLAG' THEN
2908           x_item_table(p_tab_index).TAXABLE_FLAG  := cr.ATTRIBUTE_VALUE;
2909        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PURCHASING_TAX_CODE' THEN
2910           x_item_table(p_tab_index).PURCHASING_TAX_CODE := cr.ATTRIBUTE_VALUE;
2911        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TAX_CODE' THEN
2912           x_item_table(p_tab_index).TAX_CODE  := cr.ATTRIBUTE_VALUE;
2913        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_OF_ISSUE' THEN
2914           x_item_table(p_tab_index).UNIT_OF_ISSUE  := cr.ATTRIBUTE_VALUE;
2915        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_VOLUME' THEN
2916           x_item_table(p_tab_index).UNIT_VOLUME  := cr.ATTRIBUTE_VALUE;
2917        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_WEIGHT' THEN
2918           x_item_table(p_tab_index).UNIT_WEIGHT  := cr.ATTRIBUTE_VALUE;
2919        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UN_NUMBER_ID' THEN
2920           x_item_table(p_tab_index).UN_NUMBER_ID  := cr.ATTRIBUTE_VALUE;
2921        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VARIABLE_LEAD_TIME' THEN
2922           x_item_table(p_tab_index).VARIABLE_LEAD_TIME  := cr.ATTRIBUTE_VALUE;
2923        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VOLUME_UOM_CODE' THEN
2924           x_item_table(p_tab_index).VOLUME_UOM_CODE  := cr.ATTRIBUTE_VALUE;
2925        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WEIGHT_UOM_CODE' THEN
2926           x_item_table(p_tab_index).WEIGHT_UOM_CODE  := cr.ATTRIBUTE_VALUE;
2927        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_TYPE' THEN
2928           x_item_table(p_tab_index).WIP_SUPPLY_TYPE  := cr.ATTRIBUTE_VALUE;
2929        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ATO_FORECAST_CONTROL' THEN
2930           x_item_table(p_tab_index).ATO_FORECAST_CONTROL  := cr.ATTRIBUTE_VALUE;
2931        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DESCRIPTION' THEN
2932           x_item_table(p_tab_index).DESCRIPTION  := cr.ATTRIBUTE_VALUE;
2933        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RELEASE_TIME_FENCE_CODE' THEN
2934           x_item_table(p_tab_index).RELEASE_TIME_FENCE_CODE  := cr.ATTRIBUTE_VALUE;
2935        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RELEASE_TIME_FENCE_DAYS' THEN
2936           x_item_table(p_tab_index).RELEASE_TIME_FENCE_DAYS  := cr.ATTRIBUTE_VALUE;
2937        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTAINER_ITEM_FLAG' THEN
2938           x_item_table(p_tab_index).CONTAINER_ITEM_FLAG  := cr.ATTRIBUTE_VALUE;
2939        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTAINER_TYPE_CODE' THEN
2940           x_item_table(p_tab_index).CONTAINER_TYPE_CODE  := cr.ATTRIBUTE_VALUE;
2941        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INTERNAL_VOLUME' THEN
2942           x_item_table(p_tab_index).INTERNAL_VOLUME  := cr.ATTRIBUTE_VALUE;
2943        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MAXIMUM_LOAD_WEIGHT' THEN
2944           x_item_table(p_tab_index).MAXIMUM_LOAD_WEIGHT  := cr.ATTRIBUTE_VALUE;
2945        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MINIMUM_FILL_PERCENT' THEN
2946           x_item_table(p_tab_index).MINIMUM_FILL_PERCENT  := cr.ATTRIBUTE_VALUE;
2947        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VEHICLE_ITEM_FLAG' THEN
2948           x_item_table(p_tab_index).VEHICLE_ITEM_FLAG  := cr.ATTRIBUTE_VALUE;
2949        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHECK_SHORTAGES_FLAG' THEN
2950           x_item_table(p_tab_index).CHECK_SHORTAGES_FLAG  := cr.ATTRIBUTE_VALUE;
2951        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EFFECTIVITY_CONTROL' THEN
2952           x_item_table(p_tab_index).EFFECTIVITY_CONTROL  := cr.ATTRIBUTE_VALUE;
2953        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVERCOMPLETION_TOLERANCE_TYPE' THEN
2954           x_item_table(p_tab_index).OVERCOMPLETION_TOLERANCE_TYPE := cr.ATTRIBUTE_VALUE;
2955        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVERCOMPLETION_TOLERANCE_VALUE' THEN
2956           x_item_table(p_tab_index).OVERCOMPLETION_TOLERANCE_VALUE := cr.ATTRIBUTE_VALUE;
2957        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVER_SHIPMENT_TOLERANCE' THEN
2958           x_item_table(p_tab_index).OVER_SHIPMENT_TOLERANCE := cr.ATTRIBUTE_VALUE;
2959        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNDER_SHIPMENT_TOLERANCE' THEN
2960           x_item_table(p_tab_index).UNDER_SHIPMENT_TOLERANCE := cr.ATTRIBUTE_VALUE;
2961        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OVER_RETURN_TOLERANCE' THEN
2962           x_item_table(p_tab_index).OVER_RETURN_TOLERANCE := cr.ATTRIBUTE_VALUE;
2963        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNDER_RETURN_TOLERANCE' THEN
2964           x_item_table(p_tab_index).UNDER_RETURN_TOLERANCE := cr.ATTRIBUTE_VALUE;
2965        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EQUIPMENT_TYPE' THEN
2966           x_item_table(p_tab_index).EQUIPMENT_TYPE := cr.ATTRIBUTE_VALUE;
2967        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECOVERED_PART_DISP_CODE' THEN
2968           x_item_table(p_tab_index).RECOVERED_PART_DISP_CODE := cr.ATTRIBUTE_VALUE;
2969        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFECT_TRACKING_ON_FLAG' THEN
2970           x_item_table(p_tab_index).DEFECT_TRACKING_ON_FLAG := cr.ATTRIBUTE_VALUE;
2971        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EVENT_FLAG' THEN
2972           x_item_table(p_tab_index).EVENT_FLAG := cr.ATTRIBUTE_VALUE;
2973        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ELECTRONIC_FLAG' THEN
2974           x_item_table(p_tab_index).ELECTRONIC_FLAG := cr.ATTRIBUTE_VALUE;
2975        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DOWNLOADABLE_FLAG' THEN
2976           x_item_table(p_tab_index).DOWNLOADABLE_FLAG := cr.ATTRIBUTE_VALUE;
2977        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VOL_DISCOUNT_EXEMPT_FLAG' THEN
2978           x_item_table(p_tab_index).VOL_DISCOUNT_EXEMPT_FLAG := cr.ATTRIBUTE_VALUE;
2979        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COUPON_EXEMPT_FLAG' THEN
2980           x_item_table(p_tab_index).COUPON_EXEMPT_FLAG := cr.ATTRIBUTE_VALUE;
2981        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COMMS_NL_TRACKABLE_FLAG' THEN
2982           x_item_table(p_tab_index).COMMS_NL_TRACKABLE_FLAG := cr.ATTRIBUTE_VALUE;
2983        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ASSET_CREATION_CODE' THEN
2984           x_item_table(p_tab_index).ASSET_CREATION_CODE := cr.ATTRIBUTE_VALUE;
2985        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COMMS_ACTIVATION_REQD_FLAG' THEN
2986           x_item_table(p_tab_index).COMMS_ACTIVATION_REQD_FLAG := cr.ATTRIBUTE_VALUE;
2987        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ORDERABLE_ON_WEB_FLAG' THEN
2988           x_item_table(p_tab_index).ORDERABLE_ON_WEB_FLAG := cr.ATTRIBUTE_VALUE;
2989        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BACK_ORDERABLE_FLAG' THEN
2990           x_item_table(p_tab_index).BACK_ORDERABLE_FLAG := cr.ATTRIBUTE_VALUE;
2991        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WEB_STATUS' THEN
2992           x_item_table(p_tab_index).WEB_STATUS := cr.ATTRIBUTE_VALUE;
2993        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INDIVISIBLE_FLAG' THEN
2994           x_item_table(p_tab_index).INDIVISIBLE_FLAG := cr.ATTRIBUTE_VALUE;
2995        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DIMENSION_UOM_CODE' THEN
2996           x_item_table(p_tab_index).DIMENSION_UOM_CODE := cr.ATTRIBUTE_VALUE;
2997        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_LENGTH' THEN
2998           x_item_table(p_tab_index).UNIT_LENGTH := cr.ATTRIBUTE_VALUE;
2999        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_WIDTH' THEN
3000           x_item_table(p_tab_index).UNIT_WIDTH := cr.ATTRIBUTE_VALUE;
3001        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.UNIT_HEIGHT' THEN
3002           x_item_table(p_tab_index).UNIT_HEIGHT := cr.ATTRIBUTE_VALUE;
3003        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BULK_PICKED_FLAG' THEN
3004           x_item_table(p_tab_index).BULK_PICKED_FLAG := cr.ATTRIBUTE_VALUE;
3005        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_STATUS_ENABLED' THEN
3006           x_item_table(p_tab_index).LOT_STATUS_ENABLED := cr.ATTRIBUTE_VALUE;
3007        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_LOT_STATUS_ID' THEN
3008           x_item_table(p_tab_index).DEFAULT_LOT_STATUS_ID := cr.ATTRIBUTE_VALUE;
3009        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERIAL_STATUS_ENABLED' THEN
3010           x_item_table(p_tab_index).SERIAL_STATUS_ENABLED := cr.ATTRIBUTE_VALUE;
3011        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_SERIAL_STATUS_ID' THEN
3012           x_item_table(p_tab_index).DEFAULT_SERIAL_STATUS_ID := cr.ATTRIBUTE_VALUE;
3013        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_SPLIT_ENABLED' THEN
3014           x_item_table(p_tab_index).LOT_SPLIT_ENABLED := cr.ATTRIBUTE_VALUE;
3015        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_MERGE_ENABLED' THEN
3016           x_item_table(p_tab_index).LOT_MERGE_ENABLED := cr.ATTRIBUTE_VALUE;
3017        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.INVENTORY_CARRY_PENALTY' THEN
3018           x_item_table(p_tab_index).INVENTORY_CARRY_PENALTY := cr.ATTRIBUTE_VALUE;
3019        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OPERATION_SLACK_PENALTY' THEN
3020           x_item_table(p_tab_index).OPERATION_SLACK_PENALTY := cr.ATTRIBUTE_VALUE;
3021        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FINANCING_ALLOWED_FLAG' THEN
3022           x_item_table(p_tab_index).FINANCING_ALLOWED_FLAG := cr.ATTRIBUTE_VALUE;
3023        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PRIMARY_UOM_CODE' THEN
3024           x_item_table(p_tab_index).PRIMARY_UOM_CODE := cr.ATTRIBUTE_VALUE;
3025        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ITEM_TYPE' THEN
3026           x_item_table(p_tab_index).EAM_ITEM_TYPE := cr.ATTRIBUTE_VALUE;
3027        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACTIVITY_TYPE_CODE' THEN
3028           x_item_table(p_tab_index).EAM_ACTIVITY_TYPE_CODE := cr.ATTRIBUTE_VALUE;
3029        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACTIVITY_CAUSE_CODE' THEN
3030           x_item_table(p_tab_index).EAM_ACTIVITY_CAUSE_CODE := cr.ATTRIBUTE_VALUE;
3031        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACT_NOTIFICATION_FLAG' THEN
3032           x_item_table(p_tab_index).EAM_ACT_NOTIFICATION_FLAG := cr.ATTRIBUTE_VALUE;
3033        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACT_SHUTDOWN_STATUS' THEN
3034           x_item_table(p_tab_index).EAM_ACT_SHUTDOWN_STATUS := cr.ATTRIBUTE_VALUE;
3035        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DUAL_UOM_CONTROL' THEN
3036           x_item_table(p_tab_index).DUAL_UOM_CONTROL := cr.ATTRIBUTE_VALUE;
3037        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SECONDARY_UOM_CODE' THEN
3038           x_item_table(p_tab_index).SECONDARY_UOM_CODE := cr.ATTRIBUTE_VALUE;
3039        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DUAL_UOM_DEVIATION_HIGH' THEN
3040           x_item_table(p_tab_index).DUAL_UOM_DEVIATION_HIGH := cr.ATTRIBUTE_VALUE;
3041        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DUAL_UOM_DEVIATION_LOW' THEN
3042           x_item_table(p_tab_index).DUAL_UOM_DEVIATION_LOW := cr.ATTRIBUTE_VALUE;
3043        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTRACT_ITEM_TYPE_CODE' THEN
3044           x_item_table(p_tab_index).CONTRACT_ITEM_TYPE_CODE := cr.ATTRIBUTE_VALUE;
3045        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SUBSCRIPTION_DEPEND_FLAG' THEN
3046           x_item_table(p_tab_index).SUBSCRIPTION_DEPEND_FLAG := cr.ATTRIBUTE_VALUE;
3047        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERV_REQ_ENABLED_CODE' THEN
3048           x_item_table(p_tab_index).SERV_REQ_ENABLED_CODE := cr.ATTRIBUTE_VALUE;
3049        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERV_BILLING_ENABLED_FLAG' THEN
3050           x_item_table(p_tab_index).SERV_BILLING_ENABLED_FLAG := cr.ATTRIBUTE_VALUE;
3051        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SERV_IMPORTANCE_LEVEL' THEN
3052           x_item_table(p_tab_index).SERV_IMPORTANCE_LEVEL := cr.ATTRIBUTE_VALUE;
3053        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNED_INV_POINT_FLAG' THEN
3054           x_item_table(p_tab_index).PLANNED_INV_POINT_FLAG := cr.ATTRIBUTE_VALUE;
3055        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_TRANSLATE_ENABLED' THEN
3056           x_item_table(p_tab_index).LOT_TRANSLATE_ENABLED := cr.ATTRIBUTE_VALUE;
3057        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_SO_SOURCE_TYPE' THEN
3058           x_item_table(p_tab_index).DEFAULT_SO_SOURCE_TYPE := cr.ATTRIBUTE_VALUE;
3059        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CREATE_SUPPLY_FLAG' THEN
3060           x_item_table(p_tab_index).CREATE_SUPPLY_FLAG := cr.ATTRIBUTE_VALUE;
3061        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SUBSTITUTION_WINDOW_CODE' THEN
3062           x_item_table(p_tab_index).SUBSTITUTION_WINDOW_CODE := cr.ATTRIBUTE_VALUE;
3063        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_SUBSTITUTION_ENABLED' THEN
3064           x_item_table(p_tab_index).LOT_SUBSTITUTION_ENABLED := cr.ATTRIBUTE_VALUE;
3065        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MINIMUM_LICENSE_QUANTITY' THEN
3066           x_item_table(p_tab_index).MINIMUM_LICENSE_QUANTITY := cr.ATTRIBUTE_VALUE;
3067        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EAM_ACTIVITY_SOURCE_CODE' THEN
3068           x_item_table(p_tab_index).EAM_ACTIVITY_SOURCE_CODE := cr.ATTRIBUTE_VALUE;
3069        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.IB_ITEM_INSTANCE_CLASS' THEN
3070           x_item_table(p_tab_index).IB_ITEM_INSTANCE_CLASS := cr.ATTRIBUTE_VALUE;
3071        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONFIG_MODEL_TYPE' THEN
3072           x_item_table(p_tab_index).CONFIG_MODEL_TYPE := cr.ATTRIBUTE_VALUE;
3073        --Start: 26 new attributes
3074        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.TRACKING_QUANTITY_IND' THEN
3075           x_item_table(p_tab_index).tracking_quantity_ind  :=  cr.ATTRIBUTE_VALUE;
3076        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ONT_PRICING_QTY_SOURCE' THEN
3077           x_item_table(p_tab_index).ont_pricing_qty_source :=  cr.ATTRIBUTE_VALUE;
3078        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SECONDARY_DEFAULT_IND' THEN
3079           x_item_table(p_tab_index).secondary_default_ind  :=  cr.ATTRIBUTE_VALUE;
3080        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OPTION_SPECIFIC_SOURCED' THEN
3081           x_item_table(p_tab_index).option_specific_sourced :=  cr.ATTRIBUTE_VALUE;
3082        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MINIMUM_UNITS' THEN
3083           x_item_table(p_tab_index).vmi_minimum_units :=  cr.ATTRIBUTE_VALUE;
3084        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MINIMUM_DAYS' THEN
3085           x_item_table(p_tab_index).vmi_minimum_days :=  cr.ATTRIBUTE_VALUE;
3086        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MAXIMUM_UNITS' THEN
3087           x_item_table(p_tab_index).vmi_maximum_units :=  cr.ATTRIBUTE_VALUE;
3088        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_MAXIMUM_DAYS' THEN
3089           x_item_table(p_tab_index).vmi_maximum_days :=  cr.ATTRIBUTE_VALUE;
3090        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_FIXED_ORDER_QUANTITY' THEN
3091           x_item_table(p_tab_index).vmi_fixed_order_quantity :=  cr.ATTRIBUTE_VALUE;
3092        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SO_AUTHORIZATION_FLAG' THEN
3093           x_item_table(p_tab_index).so_authorization_flag :=  cr.ATTRIBUTE_VALUE;
3094        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONSIGNED_FLAG' THEN
3095           x_item_table(p_tab_index).consigned_flag :=  cr.ATTRIBUTE_VALUE;
3096        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ASN_AUTOEXPIRE_FLAG' THEN
3097           x_item_table(p_tab_index).asn_autoexpire_flag :=  cr.ATTRIBUTE_VALUE;
3098        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.VMI_FORECAST_TYPE' THEN
3099           x_item_table(p_tab_index).vmi_forecast_type :=  cr.ATTRIBUTE_VALUE;
3100        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.FORECAST_HORIZON' THEN
3101           x_item_table(p_tab_index).forecast_horizon :=  cr.ATTRIBUTE_VALUE;
3102        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXCLUDE_FROM_BUDGET_FLAG' THEN
3103           x_item_table(p_tab_index).exclude_from_budget_flag :=  cr.ATTRIBUTE_VALUE;
3104        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_TGT_INV_SUPPLY' THEN
3105           x_item_table(p_tab_index).days_tgt_inv_supply :=  cr.ATTRIBUTE_VALUE;
3106        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_TGT_INV_WINDOW' THEN
3107           x_item_table(p_tab_index).days_tgt_inv_window :=  cr.ATTRIBUTE_VALUE;
3108        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_MAX_INV_SUPPLY' THEN
3109           x_item_table(p_tab_index).days_max_inv_supply :=  cr.ATTRIBUTE_VALUE;
3110        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DAYS_MAX_INV_WINDOW' THEN
3111           x_item_table(p_tab_index).days_max_inv_window :=  cr.ATTRIBUTE_VALUE;
3112        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DRP_PLANNED_FLAG' THEN
3113           x_item_table(p_tab_index).drp_planned_flag :=  cr.ATTRIBUTE_VALUE;
3114        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CRITICAL_COMPONENT_FLAG' THEN
3115           x_item_table(p_tab_index).critical_component_flag  :=  cr.ATTRIBUTE_VALUE;
3116        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONTINOUS_TRANSFER' THEN
3117           x_item_table(p_tab_index).continous_transfer :=  cr.ATTRIBUTE_VALUE;
3118        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONVERGENCE' THEN
3119           x_item_table(p_tab_index).convergence :=  cr.ATTRIBUTE_VALUE;
3120        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DIVERGENCE' THEN
3121           x_item_table(p_tab_index).divergence  :=  cr.ATTRIBUTE_VALUE;
3122        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONFIG_ORGS' THEN
3123           x_item_table(p_tab_index).config_orgs  :=  cr.ATTRIBUTE_VALUE;
3124        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CONFIG_MATCH' THEN
3125           x_item_table(p_tab_index).config_match :=  cr.ATTRIBUTE_VALUE;
3126        --End: 26 new attributes
3127      /* R12 Enhancement */
3128        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CAS_NUMBER' THEN
3129           x_item_table(p_tab_index).CAS_NUMBER  := cr.ATTRIBUTE_VALUE;
3130        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_FLAG' THEN
3131           x_item_table(p_tab_index).CHILD_LOT_FLAG  := cr.ATTRIBUTE_VALUE;
3132        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_PREFIX' THEN
3133           x_item_table(p_tab_index).CHILD_LOT_PREFIX  := cr.ATTRIBUTE_VALUE;
3134        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_STARTING_NUMBER' THEN
3135           x_item_table(p_tab_index).CHILD_LOT_STARTING_NUMBER := cr.ATTRIBUTE_VALUE;
3136        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHILD_LOT_VALIDATION_FLAG' THEN
3137           x_item_table(p_tab_index).CHILD_LOT_VALIDATION_FLAG := cr.ATTRIBUTE_VALUE;
3138        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COPY_LOT_ATTRIBUTE_FLAG' THEN
3139           x_item_table(p_tab_index).COPY_LOT_ATTRIBUTE_FLAG   := cr.ATTRIBUTE_VALUE;
3140        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.DEFAULT_GRADE ' THEN
3141           x_item_table(p_tab_index).DEFAULT_GRADE := cr.ATTRIBUTE_VALUE;
3142        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPIRATION_ACTION_CODE' THEN
3143           x_item_table(p_tab_index).EXPIRATION_ACTION_CODE := cr.ATTRIBUTE_VALUE;
3144        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPIRATION_ACTION_INTERVAL' THEN
3145           x_item_table(p_tab_index).EXPIRATION_ACTION_INTERVAL := cr.ATTRIBUTE_VALUE;
3146        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.GRADE_CONTROL_FLAG ' THEN
3147           x_item_table(p_tab_index).GRADE_CONTROL_FLAG := cr.ATTRIBUTE_VALUE;
3148        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.HAZARDOUS_MATERIAL_FLAG' THEN
3149           x_item_table(p_tab_index).HAZARDOUS_MATERIAL_FLAG := cr.ATTRIBUTE_VALUE;
3150        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.HOLD_DAYS' THEN
3151           x_item_table(p_tab_index).HOLD_DAYS := cr.ATTRIBUTE_VALUE;
3152        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.LOT_DIVISIBLE_FLAG' THEN
3153           x_item_table(p_tab_index).LOT_DIVISIBLE_FLAG := cr.ATTRIBUTE_VALUE;
3154        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.MATURITY_DAYS' THEN
3155           x_item_table(p_tab_index).MATURITY_DAYS := cr.ATTRIBUTE_VALUE;
3156        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PARENT_CHILD_GENERATION_FLAG' THEN
3157           x_item_table(p_tab_index).PARENT_CHILD_GENERATION_FLAG := cr.ATTRIBUTE_VALUE;
3158        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_COSTING_ENABLED_FLAG' THEN
3159           x_item_table(p_tab_index).PROCESS_COSTING_ENABLED_FLAG   := cr.ATTRIBUTE_VALUE;
3160        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_EXECUTION_ENABLED_FLAG' THEN
3161           x_item_table(p_tab_index).PROCESS_EXECUTION_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
3162        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_QUALITY_ENABLED_FLAG' THEN
3163           x_item_table(p_tab_index).PROCESS_QUALITY_ENABLED_FLAG   := cr.ATTRIBUTE_VALUE;
3164        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_SUPPLY_LOCATOR_ID' THEN
3165           x_item_table(p_tab_index).PROCESS_SUPPLY_LOCATOR_ID := cr.ATTRIBUTE_VALUE;
3166        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_SUPPLY_SUBINVENTORY' THEN
3167           x_item_table(p_tab_index).PROCESS_SUPPLY_SUBINVENTORY   := cr.ATTRIBUTE_VALUE;
3168        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_YIELD_LOCATOR_ID' THEN
3169           x_item_table(p_tab_index).PROCESS_YIELD_LOCATOR_ID := cr.ATTRIBUTE_VALUE;
3170        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PROCESS_YIELD_SUBINVENTORY' THEN
3171           x_item_table(p_tab_index).PROCESS_YIELD_SUBINVENTORY := cr.ATTRIBUTE_VALUE;
3172        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RECIPE_ENABLED_FLAG ' THEN
3173           x_item_table(p_tab_index).RECIPE_ENABLED_FLAG  := cr.ATTRIBUTE_VALUE;
3174        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.RETEST_INTERVAL' THEN
3175           x_item_table(p_tab_index).RETEST_INTERVAL  := cr.ATTRIBUTE_VALUE;
3176        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.CHARGE_PERIODICITY_CODE ' THEN
3177           x_item_table(p_tab_index).CHARGE_PERIODICITY_CODE  := cr.ATTRIBUTE_VALUE;
3178        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPAIR_LEADTIME' THEN
3179           x_item_table(p_tab_index).REPAIR_LEADTIME := cr.ATTRIBUTE_VALUE;
3180        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPAIR_YIELD' THEN
3181           x_item_table(p_tab_index).REPAIR_YIELD := cr.ATTRIBUTE_VALUE;
3182        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PREPOSITION_POINT ' THEN
3183           x_item_table(p_tab_index).PREPOSITION_POINT  := cr.ATTRIBUTE_VALUE;
3184        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.REPAIR_PROGRAM' THEN
3185           x_item_table(p_tab_index).REPAIR_PROGRAM  := cr.ATTRIBUTE_VALUE;
3186        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SUBCONTRACTING_COMPONENT' THEN
3187           x_item_table(p_tab_index).SUBCONTRACTING_COMPONENT := cr.ATTRIBUTE_VALUE;
3188        ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.OUTSOURCED_ASSEMBLY' THEN
3189           x_item_table(p_tab_index).OUTSOURCED_ASSEMBLY  := cr.ATTRIBUTE_VALUE;
3190 
3191        END IF;  -- cr.ATTRIBUTE_NAME
3192     END LOOP;  -- cursor c_get_template_attributes
3193 
3194     IF ( (l_org_id is NOT NULL) AND (l_org_id = p_organization_id) ) THEN
3195       FOR cr IN c_get_org_template_attributes (cp_template_id => p_template_id) LOOP
3196 
3197           IF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.BASE_ITEM_ID' THEN
3198              x_item_table(p_tab_index).BASE_ITEM_ID  := cr.ATTRIBUTE_VALUE;
3199           ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.COST_OF_SALES_ACCOUNT' THEN
3200              x_item_table(p_tab_index).COST_OF_SALES_ACCOUNT  := cr.ATTRIBUTE_VALUE;
3201           ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.ENCUMBRANCE_ACCOUNT' THEN
3202              x_item_table(p_tab_index).ENCUMBRANCE_ACCOUNT  := cr.ATTRIBUTE_VALUE;
3203           ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.EXPENSE_ACCOUNT' THEN
3204              x_item_table(p_tab_index).EXPENSE_ACCOUNT  := cr.ATTRIBUTE_VALUE;
3205           ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNER_CODE' THEN
3206              x_item_table(p_tab_index).PLANNER_CODE  := cr.ATTRIBUTE_VALUE;
3207           ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.PLANNING_EXCEPTION_SET' THEN
3208              x_item_table(p_tab_index).PLANNING_EXCEPTION_SET  := cr.ATTRIBUTE_VALUE;
3209           ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.SALES_ACCOUNT' THEN
3210              x_item_table(p_tab_index).SALES_ACCOUNT  := cr.ATTRIBUTE_VALUE;
3211           ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_LOCATOR_ID' THEN
3212              x_item_table(p_tab_index).WIP_SUPPLY_LOCATOR_ID  := cr.ATTRIBUTE_VALUE;
3213           ELSIF cr.ATTRIBUTE_NAME = 'MTL_SYSTEM_ITEMS.WIP_SUPPLY_SUBINVENTORY' THEN
3214              x_item_table(p_tab_index).WIP_SUPPLY_SUBINVENTORY  := cr.ATTRIBUTE_VALUE;
3215           END IF;
3216       END LOOP; -- cursor c_get_org_template_attributes
3217     END IF; -- cursor c_get_org_template_attributes
3218 
3219     -- setting the flexible attributes here.
3220     FOR cr IN c_get_global_flex_fields (cp_template_id => p_template_id) LOOP
3221         x_item_table(p_tab_index).Global_Attribute_Category  := NVL(cr.Global_Attribute_Category,x_item_table(p_tab_index).Global_Attribute_Category);
3222         x_item_table(p_tab_index).Global_Attribute1          := NVL(cr.Global_Attribute1,x_item_table(p_tab_index).Global_Attribute1);
3223         x_item_table(p_tab_index).Global_Attribute2          := NVL(cr.Global_Attribute2,x_item_table(p_tab_index).Global_Attribute2);
3224         x_item_table(p_tab_index).Global_Attribute3          := NVL(cr.Global_Attribute3,x_item_table(p_tab_index).Global_Attribute3);
3225         x_item_table(p_tab_index).Global_Attribute4          := NVL(cr.Global_Attribute4,x_item_table(p_tab_index).Global_Attribute4);
3226         x_item_table(p_tab_index).Global_Attribute5          := NVL(cr.Global_Attribute5,x_item_table(p_tab_index).Global_Attribute5);
3227         x_item_table(p_tab_index).Global_Attribute6          := NVL(cr.Global_Attribute6,x_item_table(p_tab_index).Global_Attribute6);
3228         x_item_table(p_tab_index).Global_Attribute7          := NVL(cr.Global_Attribute7,x_item_table(p_tab_index).Global_Attribute7);
3229         x_item_table(p_tab_index).Global_Attribute8          := NVL(cr.Global_Attribute8,x_item_table(p_tab_index).Global_Attribute8);
3230         x_item_table(p_tab_index).Global_Attribute9          := NVL(cr.Global_Attribute9,x_item_table(p_tab_index).Global_Attribute9);
3231         x_item_table(p_tab_index).Global_Attribute10         := NVL(cr.Global_Attribute10,x_item_table(p_tab_index).Global_Attribute10);
3232         x_item_table(p_tab_index).Global_Attribute11          := NVL(cr.Global_Attribute11,x_item_table(p_tab_index).Global_Attribute11);
3233         x_item_table(p_tab_index).Global_Attribute12          := NVL(cr.Global_Attribute12,x_item_table(p_tab_index).Global_Attribute12);
3234         x_item_table(p_tab_index).Global_Attribute13          := NVL(cr.Global_Attribute13,x_item_table(p_tab_index).Global_Attribute13);
3235         x_item_table(p_tab_index).Global_Attribute14          := NVL(cr.Global_Attribute14,x_item_table(p_tab_index).Global_Attribute14);
3236         x_item_table(p_tab_index).Global_Attribute15          := NVL(cr.Global_Attribute15,x_item_table(p_tab_index).Global_Attribute15);
3237         x_item_table(p_tab_index).Global_Attribute16          := NVL(cr.Global_Attribute16,x_item_table(p_tab_index).Global_Attribute16);
3238         x_item_table(p_tab_index).Global_Attribute17          := NVL(cr.Global_Attribute17,x_item_table(p_tab_index).Global_Attribute17);
3239         x_item_table(p_tab_index).Global_Attribute18          := NVL(cr.Global_Attribute18,x_item_table(p_tab_index).Global_Attribute18);
3240         x_item_table(p_tab_index).Global_Attribute19          := NVL(cr.Global_Attribute19,x_item_table(p_tab_index).Global_Attribute19);
3241         x_item_table(p_tab_index).Global_Attribute20         := NVL(cr.Global_Attribute20,x_item_table(p_tab_index).Global_Attribute20);
3242     END LOOP;
3243 
3244     x_return_status := G_RET_STS_SUCCESS;
3245 
3246   EXCEPTION
3247     WHEN OTHERS THEN
3248       IF c_get_context_org%ISOPEN THEN
3249          CLOSE c_get_context_org;
3250       END IF;
3251       IF c_get_template_attributes%ISOPEN THEN
3252          CLOSE c_get_template_attributes;
3253       END IF;
3254       IF c_get_org_template_attributes%ISOPEN THEN
3255          CLOSE c_get_org_template_attributes;
3256       END IF;
3257       IF c_get_global_flex_fields%ISOPEN THEN
3258          CLOSE c_get_global_flex_fields;
3259       END IF;
3260       RAISE;
3261   END initialize_template_info;
3262 
3263  ---------------------------------------------------------------------------
3264   Procedure Process_Item_Lifecycle(
3265      P_API_VERSION                 IN   NUMBER,
3266      P_INIT_MSG_LIST               IN   VARCHAR2,
3267      P_INVENTORY_ITEM_ID           IN   NUMBER,
3268      P_ORGANIZATION_ID             IN   NUMBER,
3269      P_CATALOG_GROUP_ID            IN   NUMBER,
3270      P_LIFECYCLE_ID                IN   NUMBER,
3271      P_CURRENT_PHASE_ID            IN   NUMBER,
3272      P_ITEM_STATUS                 IN   VARCHAR2,
3273      P_TRANSACTION_TYPE            IN   VARCHAR2,
3274      P_COMMIT                      IN   VARCHAR2   DEFAULT  G_FALSE,
3275      X_RETURN_STATUS               OUT  NOCOPY VARCHAR2,
3276      X_MSG_COUNT                   OUT  NOCOPY NUMBER) IS
3277   BEGIN
3278      -- create save point
3279      IF FND_API.To_Boolean(p_commit) THEN
3280         SAVEPOINT Process_Item_Lifecycle;
3281      END IF;
3282 
3283      X_RETURN_STATUS := FND_API.g_RET_STS_SUCCESS;
3284      X_MSG_COUNT := 0;
3285 
3286      IF (P_TRANSACTION_TYPE = G_TTYPE_CREATE) THEN
3287         Create_Item_Lifecycle(
3288            P_API_VERSION       => P_API_VERSION,
3289            P_INIT_MSG_LIST     => P_INIT_MSG_LIST,
3290            P_COMMIT            => P_COMMIT,
3291            P_INVENTORY_ITEM_ID => P_INVENTORY_ITEM_ID,
3292            P_ORGANIZATION_ID   => P_ORGANIZATION_ID,
3293            P_LIFECYCLE_ID      => P_LIFECYCLE_ID,
3294            P_CURRENT_PHASE_ID  => P_CURRENT_PHASE_ID,
3295            P_ITEM_STATUS       => P_ITEM_STATUS,
3296            X_RETURN_STATUS     => X_RETURN_STATUS,
3297            X_MSG_COUNT         => X_MSG_COUNT);
3298      ELSIF (P_TRANSACTION_TYPE = G_TTYPE_UPDATE) THEN
3299         Update_Item_Lifecycle(
3300            P_API_VERSION       => P_API_VERSION,
3301            P_INIT_MSG_LIST     => P_INIT_MSG_LIST,
3302            P_COMMIT            => P_COMMIT,
3303            P_INVENTORY_ITEM_ID => P_INVENTORY_ITEM_ID,
3304            P_ORGANIZATION_ID   => P_ORGANIZATION_ID,
3305            P_CATALOG_GROUP_ID  => P_CATALOG_GROUP_ID,
3306            P_LIFECYCLE_ID      => P_LIFECYCLE_ID,
3307            P_CURRENT_PHASE_ID  => P_CURRENT_PHASE_ID,
3308            P_ITEM_STATUS       => P_ITEM_STATUS,
3309            X_RETURN_STATUS     => X_RETURN_STATUS,
3310            X_MSG_COUNT         => X_MSG_COUNT);
3311      END IF;
3312 
3313   EXCEPTION
3314      WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
3315         IF FND_API.To_Boolean(p_commit) THEN
3316            ROLLBACK TO Process_Item_Lifecycle;
3317     END IF;
3318         X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3319      WHEN others THEN
3320         IF FND_API.To_Boolean(p_commit) THEN
3321            ROLLBACK TO Process_Item_Lifecycle;
3322     END IF;
3323         X_RETURN_STATUS :=  FND_API.G_RET_STS_UNEXP_ERROR;
3324   END Process_Item_Lifecycle;
3325 
3326  ---------------------------------------------------------------------------
3327   Procedure Create_Item_Lifecycle(
3328      P_API_VERSION                 IN   NUMBER,
3329      P_INIT_MSG_LIST               IN   VARCHAR2,
3330      P_INVENTORY_ITEM_ID           IN   NUMBER,
3331      P_ORGANIZATION_ID             IN   NUMBER,
3332      P_LIFECYCLE_ID                IN   NUMBER,
3333      P_CURRENT_PHASE_ID            IN   NUMBER,
3334      P_ITEM_STATUS                 IN   VARCHAR2,
3335      P_COMMIT                      IN   VARCHAR2   DEFAULT  G_FALSE,
3336      X_RETURN_STATUS               OUT  NOCOPY VARCHAR2,
3337      X_MSG_COUNT                   OUT  NOCOPY NUMBER) IS
3338   BEGIN
3339       -- create save point
3340      IF FND_API.To_Boolean(p_commit) THEN
3341         SAVEPOINT Create_Item_Lifecycle;
3342      END IF;
3343      X_RETURN_STATUS := FND_API.g_RET_STS_SUCCESS;
3344      X_MSG_COUNT := 0;
3345 
3346      UPDATE MTL_SYSTEM_ITEMS_B SET LIFECYCLE_ID = P_LIFECYCLE_ID
3347      WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3348      AND   ORGANIZATION_ID   = P_ORGANIZATION_ID;
3349 
3350      UPDATE MTL_SYSTEM_ITEMS_B SET CURRENT_PHASE_ID = P_CURRENT_PHASE_ID
3351      WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3352      AND   ORGANIZATION_ID   = P_ORGANIZATION_ID;
3353 
3354      UPDATE MTL_SYSTEM_ITEMS_B SET INVENTORY_ITEM_STATUS_CODE = P_ITEM_STATUS
3355      WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3356      AND   ORGANIZATION_ID   = P_ORGANIZATION_ID;
3357 
3358      UPDATE MTL_PENDING_ITEM_STATUS SET LIFECYCLE_ID = P_LIFECYCLE_ID
3359      WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3360      AND   ORGANIZATION_ID   = P_ORGANIZATION_ID;
3361 
3362      UPDATE MTL_PENDING_ITEM_STATUS SET PHASE_ID = P_CURRENT_PHASE_ID
3363      WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3364      AND   ORGANIZATION_ID   = P_ORGANIZATION_ID;
3365 
3366      UPDATE MTL_PENDING_ITEM_STATUS SET STATUS_CODE = P_ITEM_STATUS
3367      WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3368      AND   ORGANIZATION_ID   = P_ORGANIZATION_ID;
3369 
3370      IF FND_API.To_Boolean(p_commit) THEN
3371         COMMIT WORK;
3372      END IF;
3373 
3374   EXCEPTION
3375      WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
3376         IF FND_API.To_Boolean(p_commit) THEN
3377            ROLLBACK TO Create_Item_Lifecycle;
3378     END IF;
3379         X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3380      WHEN others THEN
3381         IF FND_API.To_Boolean(p_commit) THEN
3382            ROLLBACK TO Create_Item_Lifecycle;
3383     END IF;
3384         X_RETURN_STATUS :=  FND_API.G_RET_STS_UNEXP_ERROR;
3385   END Create_Item_Lifecycle;
3386 
3387  ---------------------------------------------------------------------------
3388   Procedure Update_Item_Lifecycle(
3389      P_API_VERSION                 IN   NUMBER,
3390      P_INIT_MSG_LIST               IN   VARCHAR2,
3391      P_INVENTORY_ITEM_ID           IN   NUMBER,
3392      P_ORGANIZATION_ID             IN   NUMBER,
3393      P_CATALOG_GROUP_ID            IN   NUMBER,
3394      P_LIFECYCLE_ID                IN   NUMBER,
3395      P_CURRENT_PHASE_ID            IN   NUMBER,
3396      P_ITEM_STATUS                 IN   VARCHAR2,
3397      P_COMMIT                      IN   VARCHAR2   DEFAULT  G_FALSE,
3398      X_RETURN_STATUS               OUT  NOCOPY VARCHAR2,
3399      X_MSG_COUNT                   OUT  NOCOPY NUMBER) IS
3400 
3401      CURSOR ego_item_assigned_org_csr  (
3402         v_inventory_item_id       IN   MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID%TYPE,
3403         v_master_organization_id  IN   MTL_SYSTEM_ITEMS_B.ORGANIZATION_ID%TYPE)
3404      IS
3405         SELECT ORGANIZATION_ID
3406         FROM MTL_SYSTEM_ITEMS_VL
3407         WHERE INVENTORY_ITEM_ID =  v_inventory_item_id
3408         AND   ORGANIZATION_ID   <> v_master_organization_id;
3409 
3410      L_SYSDATE                DATE := Sysdate;
3411      L_LIFECYCLE_ID           NUMBER;
3412      L_CURRENT_PHASE_ID       NUMBER;
3413      L_MASTER_ORGANIZATION_ID NUMBER;
3414      L_ORGANIZATION_ID        NUMBER;
3415      L_ITEM_ASSIGNED_ORG_REC  ego_item_assigned_org_csr%ROWTYPE;
3416      L_CONTROL_LEVEL          NUMBER;
3417 
3418   BEGIN
3419       -- create save point
3420      IF FND_API.To_Boolean(p_commit) THEN
3421         SAVEPOINT Update_Item_Lifecycle;
3422      END IF;
3423      X_RETURN_STATUS := FND_API.g_RET_STS_SUCCESS;
3424      X_MSG_COUNT := 0;
3425 
3426      L_MASTER_ORGANIZATION_ID := EGO_ITEM_PUB.Get_Master_Organization_Id(P_ORGANIZATION_ID => P_ORGANIZATION_ID);
3427 
3428      IF (P_ORGANIZATION_ID = L_MASTER_ORGANIZATION_ID) THEN
3429         IF (P_CATALOG_GROUP_ID IS NULL) THEN
3430            UPDATE MTL_SYSTEM_ITEMS_B SET LIFECYCLE_ID = NULL
3431            WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID;
3432 
3433            UPDATE MTL_SYSTEM_ITEMS_B SET CURRENT_PHASE_ID = NULL
3434            WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID;
3435         ELSE
3436            L_CONTROL_LEVEL := EGO_ITEM_PUB.Get_Item_Attr_Control_Level(P_ITEM_ATTRIBUTE => 'MTL_SYSTEM_ITEMS.INVENTORY_ITEM_STATUS_CODE');
3437 
3438            -- Insert a row to Mtl_Pending_Item_Status table with master organization id
3439            -- and pending_flag = N.
3440            INSERT INTO MTL_PENDING_ITEM_STATUS(
3441               INVENTORY_ITEM_ID,
3442               ORGANIZATION_ID,
3443               EFFECTIVE_DATE,
3444               IMPLEMENTED_DATE,
3445               PENDING_FLAG,
3446               LAST_UPDATE_DATE,
3447               LAST_UPDATED_BY,
3448               CREATION_DATE,
3449               CREATED_BY,
3450               LIFECYCLE_ID,
3451               PHASE_ID,
3452               STATUS_CODE)
3453            VALUES(
3454               P_INVENTORY_ITEM_ID,
3455               L_MASTER_ORGANIZATION_ID,
3456               L_SYSDATE,
3457               L_SYSDATE,
3458               'N',
3459               L_SYSDATE,
3460               g_USER_ID,
3461               L_SYSDATE,
3462               g_USER_ID,
3463               P_LIFECYCLE_ID,
3464               P_CURRENT_PHASE_ID,
3465               P_ITEM_STATUS);
3466 
3467            IF (L_CONTROL_LEVEL = 2) THEN
3468               -- Org Control
3469               UPDATE MTL_SYSTEM_ITEMS_B SET LIFECYCLE_ID = P_LIFECYCLE_ID
3470               WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3471               AND   ORGANIZATION_ID   = L_MASTER_ORGANIZATION_ID;
3472 
3473               UPDATE MTL_SYSTEM_ITEMS_B SET CURRENT_PHASE_ID = P_CURRENT_PHASE_ID
3474               WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3475               AND   ORGANIZATION_ID   = L_MASTER_ORGANIZATION_ID;
3476 
3477               OPEN ego_item_assigned_org_csr
3478              (v_inventory_item_id      => P_INVENTORY_ITEM_ID,
3479                   v_master_organization_id => L_MASTER_ORGANIZATION_ID);
3480               LOOP
3481                  FETCH ego_item_assigned_org_csr INTO L_ITEM_ASSIGNED_ORG_REC;
3482                  EXIT WHEN ego_item_assigned_org_csr%NOTFOUND;
3483 
3484                  INSERT INTO MTL_PENDING_ITEM_STATUS(
3485                     INVENTORY_ITEM_ID,
3486                     ORGANIZATION_ID,
3487                     EFFECTIVE_DATE,
3488                     PENDING_FLAG,
3489                     LAST_UPDATE_DATE,
3490                     LAST_UPDATED_BY,
3491                     CREATION_DATE,
3492                     CREATED_BY,
3493                     LIFECYCLE_ID,
3494                     PHASE_ID,
3495                     STATUS_CODE)
3496                  VALUES(
3497                     P_INVENTORY_ITEM_ID,
3498                     L_ITEM_ASSIGNED_ORG_REC.ORGANIZATION_ID,
3499                     L_SYSDATE,
3500                     'Y',
3501                     L_SYSDATE,
3502                     g_USER_ID,
3503                     L_SYSDATE,
3504                     g_USER_ID,
3505                     P_LIFECYCLE_ID,
3506                     P_CURRENT_PHASE_ID,
3507                     P_ITEM_STATUS);
3508 
3509               END LOOP;
3510               CLOSE ego_item_assigned_org_csr;
3511            ELSE
3512               -- Master Control
3513               UPDATE MTL_SYSTEM_ITEMS_B SET LIFECYCLE_ID = P_LIFECYCLE_ID
3514               WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID;
3515 
3516               UPDATE MTL_SYSTEM_ITEMS_B SET CURRENT_PHASE_ID = P_CURRENT_PHASE_ID
3517               WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID;
3518 
3519               OPEN ego_item_assigned_org_csr
3520              (v_inventory_item_id      => P_INVENTORY_ITEM_ID,
3521                   v_master_organization_id => L_MASTER_ORGANIZATION_ID);
3522               LOOP
3523                  FETCH ego_item_assigned_org_csr INTO L_ITEM_ASSIGNED_ORG_REC;
3524                  EXIT WHEN ego_item_assigned_org_csr%NOTFOUND;
3525 
3526                  INSERT INTO MTL_PENDING_ITEM_STATUS(
3527                     INVENTORY_ITEM_ID,
3528                     ORGANIZATION_ID,
3529                     EFFECTIVE_DATE,
3530                     IMPLEMENTED_DATE,
3531                     PENDING_FLAG,
3532                     LAST_UPDATE_DATE,
3533                     LAST_UPDATED_BY,
3534                     CREATION_DATE,
3535                     CREATED_BY,
3536                     LIFECYCLE_ID,
3537                     PHASE_ID,
3538                     STATUS_CODE)
3539                  VALUES(
3540                     P_INVENTORY_ITEM_ID,
3541                     L_ITEM_ASSIGNED_ORG_REC.ORGANIZATION_ID,
3542                     L_SYSDATE,
3543                     L_SYSDATE,
3544                     'N',
3545                     L_SYSDATE,
3546                     g_USER_ID,
3547                     L_SYSDATE,
3548                     g_USER_ID,
3549                     P_LIFECYCLE_ID,
3550                     P_CURRENT_PHASE_ID,
3551                     P_ITEM_STATUS);
3552               END LOOP;
3553               CLOSE ego_item_assigned_org_csr;
3554            END IF;
3555         END IF;
3556      END IF;
3557 
3558      Update_Item_Attr_Ext(
3559                        P_API_VERSION => P_API_VERSION,
3560                        P_INIT_MSG_LIST         => P_INIT_MSG_LIST,
3561                        P_COMMIT                => P_COMMIT,
3562                        P_INVENTORY_ITEM_ID     => P_INVENTORY_ITEM_ID,
3563                        P_ITEM_CATALOG_GROUP_ID => P_CATALOG_GROUP_ID,
3564                        X_RETURN_STATUS         => X_RETURN_STATUS,
3565                        X_MSG_COUNT             => X_MSG_COUNT);
3566 
3567      IF FND_API.To_Boolean(p_commit) THEN
3568         COMMIT WORK;
3569      END IF;
3570 
3571   EXCEPTION
3572      WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
3573         IF FND_API.To_Boolean(p_commit) THEN
3574            ROLLBACK TO Update_Item_Lifecycle;
3575     END IF;
3576         X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3577      WHEN others THEN
3578         IF FND_API.To_Boolean(p_commit) THEN
3579            ROLLBACK TO Update_Item_Lifecycle;
3580     END IF;
3581         X_RETURN_STATUS :=  FND_API.G_RET_STS_UNEXP_ERROR;
3582 
3583   END Update_Item_Lifecycle;
3584 
3585  ---------------------------------------------------------------------------
3586   Procedure Update_Item_Attr_Ext(
3587      P_API_VERSION                 IN   NUMBER,
3588      P_INIT_MSG_LIST               IN   VARCHAR2,
3589      P_INVENTORY_ITEM_ID           IN   NUMBER,
3590      P_ITEM_CATALOG_GROUP_ID       IN   NUMBER,
3591      P_COMMIT                      IN  VARCHAR2   DEFAULT  G_FALSE,
3592      X_RETURN_STATUS               OUT NOCOPY VARCHAR2,
3593      X_MSG_COUNT                   OUT NOCOPY NUMBER) IS
3594 
3595   BEGIN
3596 
3597      -- create save point
3598      IF FND_API.To_Boolean(p_commit) THEN
3599          SAVEPOINT Update_Item_Attr_Ext;
3600      END IF;
3601 
3602      X_RETURN_STATUS := FND_API.g_RET_STS_SUCCESS;
3603      X_MSG_COUNT := 0;
3604 
3605      IF (P_ITEM_CATALOG_GROUP_ID IS NULL) THEN --delete query changed by absinha for Bug 3542129
3606         DELETE FROM EGO_MTL_SY_ITEMS_EXT_B WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3607     AND ATTR_GROUP_ID NOT IN (SELECT ATTR_GROUP_ID FROM EGO_ATTR_GROUPS_V WHERE APPLICATION_ID = 431
3608     AND ATTR_GROUP_TYPE = 'EGO_ITEMMGMT_GROUP' AND (ATTR_GROUP_NAME = 'ItemDetailDesc' OR ATTR_GROUP_NAME = 'ItemDetailImage'));
3609         DELETE FROM EGO_MTL_SY_ITEMS_EXT_TL WHERE INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
3610     AND ATTR_GROUP_ID NOT IN (SELECT ATTR_GROUP_ID FROM EGO_ATTR_GROUPS_V WHERE APPLICATION_ID = 431
3611     AND ATTR_GROUP_TYPE = 'EGO_ITEMMGMT_GROUP' AND (ATTR_GROUP_NAME = 'ItemDetailDesc' OR ATTR_GROUP_NAME = 'ItemDetailImage'));
3612      ELSE
3613         UPDATE EGO_MTL_SY_ITEMS_EXT_B
3614     SET ITEM_CATALOG_GROUP_ID = P_ITEM_CATALOG_GROUP_ID
3615         WHERE INVENTORY_ITEM_ID   = P_INVENTORY_ITEM_ID;
3616 
3617         UPDATE EGO_MTL_SY_ITEMS_EXT_TL
3618     SET ITEM_CATALOG_GROUP_ID = P_ITEM_CATALOG_GROUP_ID
3619         WHERE INVENTORY_ITEM_ID   = P_INVENTORY_ITEM_ID;
3620      END IF;
3621 
3622      IF FND_API.To_Boolean(p_commit) THEN
3623         COMMIT WORK;
3624      END IF;
3625 
3626   EXCEPTION
3627      WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
3628         IF FND_API.To_Boolean(p_commit) THEN
3629            ROLLBACK TO Update_Item_Attr_Ext;
3630     END IF;
3631         X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3632      WHEN others THEN
3633         IF FND_API.To_Boolean(p_commit) THEN
3634            ROLLBACK TO Update_Item_Attr_Ext;
3635     END IF;
3636         X_RETURN_STATUS :=  FND_API.G_RET_STS_UNEXP_ERROR;
3637   END Update_Item_Attr_Ext;
3638 
3639 
3640   FUNCTION Get_Master_Organization_Id(P_ORGANIZATION_ID  IN NUMBER) RETURN NUMBER IS
3641      L_MASTER_ORGANIZATION_ID NUMBER;
3642   BEGIN
3643      SELECT MP.MASTER_ORGANIZATION_ID INTO L_MASTER_ORGANIZATION_ID
3644      FROM MTL_PARAMETERS MP
3645      WHERE MP.ORGANIZATION_ID = P_ORGANIZATION_ID;
3646 
3647      RETURN L_MASTER_ORGANIZATION_ID;
3648 
3649    END Get_Master_Organization_Id;
3650 
3651   FUNCTION Get_Item_Attr_Control_Level(P_ITEM_ATTRIBUTE IN VARCHAR2) RETURN NUMBER IS
3652      L_CONTROL_LEVEL NUMBER;
3653   BEGIN
3654      SELECT LOOKUP_CODE2 INTO L_CONTROL_LEVEL
3655      FROM MTL_ITEM_ATTRIBUTES_V
3656      WHERE ATTRIBUTE_NAME = P_ITEM_ATTRIBUTE;
3657 
3658      RETURN L_CONTROL_LEVEL;
3659 
3660   END Get_Item_Attr_Control_Level;
3661 
3662   FUNCTION Get_Item_Count(
3663      p_catalog_group_id IN NUMBER
3664     ,p_organization_id IN NUMBER) RETURN NUMBER
3665   IS
3666     l_total_count NUMBER :=0;
3667     l_str_cat_id VARCHAR2(4000);
3668     l_sql VARCHAR2(15000);
3669   BEGIN
3670     l_str_cat_id := null;
3671     FOR i IN (SELECT item_catalog_group_id
3672               FROM mtl_item_catalog_groups_b b
3673               CONNECT BY PRIOR item_catalog_group_id = parent_catalog_group_id
3674               START WITH b.item_catalog_group_id  = p_catalog_group_id)
3675     LOOP
3676       IF l_str_cat_id IS NULL THEN
3677         l_str_cat_id := l_str_cat_id || i.item_catalog_group_id;
3678       ELSE
3679          l_str_cat_id := l_str_cat_id || ',' || i.item_catalog_group_id;
3680       END IF;
3681     END LOOP;
3682 
3683     IF l_str_cat_id IS NULL THEN
3684       l_sql := 'SELECT  COUNT(1) FROM mtl_system_items_b a ' ||
3685                'WHERE a.organization_id = ' || p_organization_id;
3686     ELSE
3687       l_sql := 'SELECT  COUNT(1) FROM mtl_system_items_b a ' ||
3688                'WHERE a.organization_id = ' || p_organization_id ||
3689                '  AND item_catalog_group_id in (' || l_str_cat_id || ')';
3690     END IF;
3691 
3692     EXECUTE IMMEDIATE l_sql INTO l_total_count;
3693     RETURN l_total_count;
3694 
3695   EXCEPTION WHEN OTHERS THEN
3696     NULL;
3697   END get_item_count;
3698 
3699   FUNCTION Get_Category_Item_Count(
3700      P_CATEGORY_SET_ID IN NUMBER,
3701      P_CATEGORY_ID     IN NUMBER,
3702      P_ORGANIZATION_ID IN NUMBER) RETURN NUMBER IS
3703 
3704      l_total_count NUMBER := 0;
3705   BEGIN
3706      IF (P_CATEGORY_ID <> -1) THEN
3707         select count(*) into l_total_count
3708         from mtl_item_categories a
3709         where category_id in (
3710          select category_id
3711          from mtl_category_set_valid_cats
3712          start with category_id = P_CATEGORY_ID
3713          and category_set_id = P_CATEGORY_SET_ID  --Corrected the connect clause in count query
3714          connect by prior category_id = parent_category_id
3715          and category_set_id = P_CATEGORY_SET_ID)
3716         and a.organization_id = P_ORGANIZATION_ID
3717         and a.category_set_id = P_CATEGORY_SET_ID;
3718      ELSE
3719         select count(*) into l_total_count
3720         from mtl_item_categories a
3721         where a.organization_id = P_ORGANIZATION_ID
3722         and a.category_set_id = P_CATEGORY_SET_ID;
3723      END IF;
3724 
3725      return l_total_count;
3726 
3727   EXCEPTION
3728      WHEN OTHERS THEN
3729         NULL;
3730   END Get_Category_Item_Count;
3731 
3732   FUNCTION Get_Category_Hierarchy_Names(
3733      P_CATEGORY_SET_ID IN NUMBER,
3734      P_CATEGORY_ID     IN NUMBER) RETURN VARCHAR2 IS
3735 
3736      CURSOR get_parent_category_id_csr
3737         (p_category_set_id IN  NUMBER,
3738          p_category_id     IN  NUMBER ) IS
3739        SELECT IC.CATEGORY_ID,
3740               IC.PARENT_CATEGORY_ID
3741        FROM MTL_CATEGORY_SET_VALID_CATS IC
3742        START WITH CATEGORY_ID = p_category_id --3030474
3743        AND CATEGORY_SET_ID    = p_category_set_id
3744        CONNECT BY PRIOR PARENT_CATEGORY_ID = CATEGORY_ID
3745        AND CATEGORY_SET_ID    = p_category_set_id;
3746 
3747      l_parent_categories        get_parent_category_id_csr%ROWTYPE;
3748      l_category_set_name        VARCHAR2(30);
3749      l_category_name            VARCHAR2(122);
3750      l_category_hierarchy_names VARCHAR2(1000);
3751      l_tmp_names                VARCHAR2(1000);
3752 
3753   BEGIN
3754 
3755      SELECT CATEGORY_SET_NAME into l_category_set_name
3756      FROM MTL_CATEGORY_SETS_VL
3757      WHERE CATEGORY_SET_ID = P_CATEGORY_SET_ID;
3758 
3759      OPEN get_parent_category_id_csr
3760         (p_category_set_id => P_CATEGORY_SET_ID,
3761          p_category_id     => P_CATEGORY_ID);
3762      LOOP
3763         FETCH get_parent_category_id_csr into l_parent_categories;
3764         EXIT WHEN get_parent_category_id_csr%NOTFOUND;
3765 
3766         SELECT C.CONCATENATED_SEGMENTS into l_category_name
3767         FROM MTL_CATEGORIES_KFV C
3768         WHERE C.CATEGORY_ID = l_parent_categories.CATEGORY_ID;
3769 
3770         l_tmp_names := l_category_hierarchy_names;
3771         IF (l_tmp_names IS NULL) THEN
3772            l_category_hierarchy_names := l_category_name;
3773         ELSE
3774            l_category_hierarchy_names := l_category_name || ' > ' || l_tmp_names;
3775         END IF;
3776      END LOOP;
3777      CLOSE get_parent_category_id_csr;
3778 
3779      l_tmp_names := l_category_hierarchy_names;
3780      --Bug: 3018903 Added If condition
3781      IF l_tmp_names IS NOT NULL THEN
3782         l_category_hierarchy_names := l_category_set_name || ' > ' || l_tmp_names;
3783      ELSE
3784         SELECT C.CONCATENATED_SEGMENTS into l_category_hierarchy_names
3785         FROM MTL_CATEGORIES_KFV C
3786         WHERE C.CATEGORY_ID = p_category_id;
3787      END IF;
3788 
3789      RETURN l_category_hierarchy_names;
3790 
3791   END Get_Category_Hierarchy_Names;
3792 
3793   --------------------------------------------------------------------------------
3794   -- Added for bug 3781216
3795   PROCEDURE Apply_Templ_User_Attrs_To_Item (
3796       p_api_version                   IN   NUMBER
3797      ,p_mode                          IN   VARCHAR2 -- if CREATE, just apply. else check change policy
3798      ,p_item_id                       IN   NUMBER
3799      ,p_organization_id               IN   NUMBER
3800      ,p_template_id                   IN   NUMBER
3801      ,p_object_name                   IN   VARCHAR2
3802      ,p_class_code_name_value_pairs   IN   EGO_COL_NAME_VALUE_PAIR_ARRAY
3803      ,p_data_level_name_value_pairs   IN   EGO_COL_NAME_VALUE_PAIR_ARRAY DEFAULT NULL
3804      ,x_return_status                 OUT NOCOPY VARCHAR2
3805      ,x_errorcode                     OUT NOCOPY NUMBER
3806      ,x_msg_count                     OUT NOCOPY NUMBER
3807      ,x_msg_data                      OUT NOCOPY VARCHAR2
3808      ) IS
3809 
3810       l_api_name       CONSTANT    VARCHAR2(30)  :=  'Apply_Templ_User_Attrs_To_Item';
3811       l_api_version    CONSTANT    NUMBER        :=  1.0;
3812       l_policy_object_name CONSTANT  VARCHAR2(30) := 'CATALOG_LIFECYCLE_PHASE';
3813       l_policy_code        CONSTANT  VARCHAR2(30) := 'CHANGE_POLICY';
3814       l_attr_object_name   CONSTANT  VARCHAR2(30) := 'EGO_CATALOG_GROUP';
3815       l_attr_code          CONSTANT  VARCHAR2(30) := 'ATTRIBUTE_GROUP';
3816       l_acceptable_policy  CONSTANT  VARCHAR2(30) := 'ALLOWED';
3817 
3818       l_pk_column_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY;
3819       l_attr_group_ids             EGO_NUMBER_TBL_TYPE := NULL;
3820       l_attr_group_ids_to_exclude  EGO_NUMBER_TBL_TYPE := NULL;
3821       l_perform_dml                BOOLEAN       := TRUE;
3822       l_lc_catalog_cat_id          NUMBER;
3823       l_catalog_category_id        NUMBER;
3824       l_lifecycle_id               NUMBER;
3825       l_current_phase_id           NUMBER;
3826       l_policy_value               VARCHAR2(100);
3827       l_dynamic_sql                VARCHAR2(32767);
3828 
3829 
3830       -----------------------------------------------------------------------
3831       -- Variables used to query UCCnet Attr Groups to exclude from
3832       -- Template Application. (PPEDDAMA)
3833       -----------------------------------------------------------------------
3834       l_attr_grp_table         DBMS_SQL.VARCHAR2_TABLE;
3835       l_attr_grp_cursor        INTEGER;
3836       l_attr_grp_exec          INTEGER;
3837       l_attr_grp_dyn_sql       VARCHAR2(10000);
3838       l_attr_grp_rows_cnt      NUMBER;
3839       -----------------------------------------------------------------------
3840 
3841       CURSOR c_get_lc_catalog_cat_id (cp_catalog_category_id  IN NUMBER
3842                                      ,cp_lifecycle_id         IN NUMBER) IS
3843 --
3844 -- this code does not return the first catalog category id in the hierarchy
3845 --
3846 --  SELECT olc.object_classification_code
3847 --    FROM ego_obj_type_lifecycles olc, fnd_objects o
3848 --   WHERE o.obj_name =  G_EGO_ITEM
3849 --     AND olc.object_id = o.object_id
3850 --     AND olc.lifecycle_id = cp_lifecycle_id
3851 --     AND olc.object_classification_code IN
3852 --             (SELECT TO_CHAR(ic.catalog_group_id)
3853 --                FROM ego_catalog_groups_v ic
3854 --              CONNECT BY PRIOR parent_catalog_group_id =  catalog_group_id
3855 --                START WITH catalog_group_id = cp_catalog_category_id
3856 --             );
3857 --
3858   -- fix for bug 3681654
3859   -- using mtl_item_catalog_groups_b instead of ego_catalog_groups_v
3860         SELECT ic.item_catalog_group_id
3861           FROM mtl_item_catalog_groups_b ic
3862          WHERE EXISTS
3863            (
3864             SELECT olc.object_classification_code CatalogId
3865               FROM  ego_obj_type_lifecycles olc, fnd_objects o
3866              WHERE o.obj_name =  'EGO_ITEM'
3867                AND olc.object_id = o.object_id
3868                AND olc.lifecycle_id = cp_lifecycle_id
3869                AND olc.object_classification_code = to_char(ic.item_catalog_group_id)
3870            )
3871         CONNECT BY PRIOR parent_catalog_group_id = item_catalog_group_id
3872         START WITH item_catalog_group_id = cp_catalog_category_id;
3873 
3874     BEGIN
3875       EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Entered Apply_Templ_User_Attrs_To_Item ');
3876 
3877       x_return_status := G_RET_STS_SUCCESS;
3878 
3879       -- Check for call compatibility
3880       IF NOT FND_API.Compatible_API_Call ( l_api_version, p_api_version,
3881                                         l_api_name, G_PKG_NAME )
3882       THEN
3883          RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
3884       END IF;
3885 
3886       l_pk_column_name_value_pairs :=
3887         EGO_COL_NAME_VALUE_PAIR_ARRAY
3888           (EGO_COL_NAME_VALUE_PAIR_OBJ( 'INVENTORY_ITEM_ID'
3889                                       , to_char(p_item_id))
3890           ,EGO_COL_NAME_VALUE_PAIR_OBJ( 'ORGANIZATION_ID'
3891                                       , to_char(p_organization_id))
3892           );
3893 
3894 
3895       EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Apply_Templ_User_Attrs_To_Item: Template ID = '||p_template_id);
3896       EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Apply_Templ_User_Attrs_To_Item: p_mode = '||p_mode);
3897 
3898       IF (p_mode <> G_TTYPE_CREATE) THEN
3899 
3900         EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Apply_Templ_User_Attrs_To_Item: p_mode <> G_TTYPE_CREATE');
3901         -- check if CM exists
3902         IF (EGO_ITEM_AML_PUB.Check_CM_Existance() = G_RET_STS_SUCCESS) THEN
3903 
3904           EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Apply_Templ_User_Attrs_To_Item: CM Exists!');
3905 
3906           -- ENG exists
3907           -- check for policy control
3908           l_dynamic_sql :=
3909             ' SELECT item_catalog_group_id, lifecycle_id, current_phase_id' ||
3910             ' FROM   mtl_system_items_b                                   ' ||
3911             ' WHERE  inventory_item_id =  :1' ||
3912             '   AND  organization_id   =  :2';
3913           EXECUTE IMMEDIATE l_dynamic_sql
3914            INTO l_catalog_category_id, l_lifecycle_id, l_current_phase_id
3915            USING p_item_id, p_organization_id;
3916 
3917           -- check if the values are present.
3918           IF (l_catalog_category_id IS NOT NULL
3919               AND l_lifecycle_id IS NOT NULL
3920               AND l_current_phase_id IS NOT NULL
3921              ) THEN
3922 
3923             -- get the catalog_group id from which the life cycle is associated
3924             OPEN c_get_lc_catalog_cat_id
3925               (cp_catalog_category_id => l_catalog_category_id
3926               ,cp_lifecycle_id        => l_lifecycle_id
3927               );
3928             FETCH c_get_lc_catalog_cat_id INTO l_lc_catalog_cat_id;
3929             CLOSE c_get_lc_catalog_cat_id;
3930 
3931             -- get list of attribute groups to check
3932             SELECT DISTINCT attribute_group_id
3933               BULK COLLECT INTO l_attr_group_ids
3934               FROM ego_templ_attributes
3935               WHERE template_id = p_template_id;
3936 
3937             FOR a IN l_attr_group_ids.FIRST .. l_attr_group_ids.LAST
3938             LOOP
3939 
3940               l_dynamic_sql :=
3941                ' BEGIN                                                               '||
3942                '    ENG_CHANGE_POLICY_PKG.GetChangePolicy                            '||
3943                '    (                                                                '||
3944                '      p_policy_object_name      =>  :l_policy_object_name            '||
3945                '   ,  p_policy_code             =>  :l_policy_code                   '||
3946                '   ,  p_policy_pk1_value        =>  TO_CHAR(:l_lc_catalog_cat_id)    '||
3947                '   ,  p_policy_pk2_value        =>  TO_CHAR(:l_lifecycle_id)         '||
3948                '   ,  p_policy_pk3_value        =>  TO_CHAR(:l_current_phase_id)     '||
3949                '   ,  p_policy_pk4_value        =>  NULL                             '||
3950                '   ,  p_policy_pk5_value        =>  NULL                             '||
3951                '   ,  p_attribute_object_name   =>  :l_attr_object_name              '||
3952                '   ,  p_attribute_code          =>  :l_attr_code                     '||
3953                '   ,  p_attribute_value         =>  :l_attr_group_id                 '||
3954                '   ,  x_policy_value            =>  :l_policy_value                  '||
3955                '   );                                                                '||
3956                ' END;';
3957 
3958               EXECUTE IMMEDIATE l_dynamic_sql
3959                 USING IN l_policy_object_name,
3960                       IN l_policy_code,
3961                       IN l_lc_catalog_cat_id,
3962                       IN l_lifecycle_id,
3963                       IN l_current_phase_id,
3964                       IN l_attr_object_name,
3965                       IN l_attr_code,
3966                       IN l_attr_group_ids(a),
3967                      OUT l_policy_value;
3968 
3969               IF (l_policy_value IS NOT NULL AND
3970                   l_policy_value <> l_acceptable_policy) THEN
3971 
3972                 IF l_attr_group_ids_to_exclude IS NULL THEN
3973 
3974                   l_attr_group_ids_to_exclude := EGO_NUMBER_TBL_TYPE();
3975 
3976                 END IF;
3977 
3978                 -- exclude this attribute group
3979                 l_attr_group_ids_to_exclude.EXTEND();
3980                 l_attr_group_ids_to_exclude(l_attr_group_ids_to_exclude.LAST)
3981                   := l_attr_group_ids(a);
3982 
3983               END IF;
3984 
3985             END LOOP; -- loop through l_attr_group_ids
3986 
3987           END IF; -- if cat, lifecycle, and phase are not null
3988 
3989         END IF; -- if CM exists
3990 
3991       END IF; -- if mode is not CREATE
3992 
3993       -----------------------------------------------------------------
3994       -- PPEDDAMA (11th October 2004)                                --
3995       -- Append to the list of attribute group ids to exclude, the   --
3996       -- UCCnet related Attribute groups, as the Template application--
3997       -- is taken care of in Java code for these Attrs.              --
3998       -----------------------------------------------------------------
3999       EGO_USER_ATTRS_DATA_PVT.Debug_Msg(' About to call the UCCnet attrs exclude code');
4000       l_attr_grp_dyn_sql := '';
4001       l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || 'SELECT DISTINCT ATTRIBUTE_GROUP_ID ';
4002       l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || 'FROM EGO_TEMPL_ATTRIBUTES T ';
4003       l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || 'WHERE T.TEMPLATE_ID = :TEMPL_ID ';
4004       l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || 'AND ( ';
4005       l_attr_grp_dyn_sql := l_attr_grp_dyn_sql ||   ' SELECT E.DESCRIPTIVE_FLEXFIELD_NAME ';
4006       l_attr_grp_dyn_sql := l_attr_grp_dyn_sql ||   ' FROM EGO_FND_DSC_FLX_CTX_EXT E ';
4007       l_attr_grp_dyn_sql := l_attr_grp_dyn_sql ||   ' WHERE E.ATTR_GROUP_ID = T.ATTRIBUTE_GROUP_ID ';
4008       l_attr_grp_dyn_sql := l_attr_grp_dyn_sql ||     ' ) ';
4009       l_attr_grp_dyn_sql := l_attr_grp_dyn_sql || '  IN (''EGO_ITEM_GTIN_ATTRS'', ''EGO_ITEM_GTIN_MULTI_ATTRS'') ';
4010 
4011       l_attr_grp_cursor := DBMS_SQL.OPEN_CURSOR;
4012       DBMS_SQL.PARSE(l_attr_grp_cursor, l_attr_grp_dyn_sql, DBMS_SQL.NATIVE);
4013 
4014       LOOP -- Loop for every 2500 rows.
4015 
4016         DBMS_SQL.DEFINE_ARRAY(
4017                         c           => l_attr_grp_cursor  -- cursor --
4018                       , position    => 1                  -- select position --
4019                       , c_tab       => l_attr_grp_table   -- table of numbers --
4020                       , cnt         => 2500               -- rows requested --
4021                       , lower_bound => 1                  -- start at --
4022                        );
4023 
4024         DBMS_SQL.BIND_VARIABLE(l_attr_grp_cursor, ':TEMPL_ID', p_template_id);
4025 
4026         l_attr_grp_exec := DBMS_SQL.EXECUTE(l_attr_grp_cursor);
4027         l_attr_grp_rows_cnt := DBMS_SQL.FETCH_ROWS(l_attr_grp_cursor);
4028 
4029         DBMS_SQL.COLUMN_VALUE(l_attr_grp_cursor, 1, l_attr_grp_table);
4030 
4031         EGO_USER_ATTRS_DATA_PVT.Debug_Msg('load_item_oper_attr_values: Retrieved rows => '||To_char(l_attr_grp_rows_cnt));
4032 
4033         FOR i IN 1..l_attr_grp_table.COUNT  LOOP
4034 
4035           -----------------------------------------------------------------------
4036           -- If the Exclusion Number table is NULL, then create new.
4037           -----------------------------------------------------------------------
4038           IF l_attr_group_ids_to_exclude IS NULL THEN
4039             l_attr_group_ids_to_exclude := EGO_NUMBER_TBL_TYPE();
4040           END IF;
4041 
4042           EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Attr Grp ID => '|| l_attr_grp_table(i));
4043           -----------------------------------------------------------------------
4044           -- Add these retrieved Attr Grp IDs to the end of existing:
4045           -- Exclusion Attr Grp IDs table (l_attr_group_ids_to_exclude)
4046           -----------------------------------------------------------------------
4047           --l_attr_group_ids_to_exclude.EXTEND();
4048           --l_attr_group_ids_to_exclude(l_attr_group_ids_to_exclude.LAST) := l_attr_grp_table(i);
4049           --instead of plain appending, merge the entry, so that unique values exist.
4050           Merge_New_Entry(l_attr_group_ids_to_exclude, l_attr_grp_table(i));
4051 
4052         END LOOP; --end: FOR (i:=0; i < l_attr_grp_table.COUNT; i++)
4053 
4054         EXIT WHEN l_attr_grp_rows_cnt < 2500;
4055       END LOOP; --end: Loop for every 2500 rows.
4056       DBMS_SQL.Close_Cursor(l_attr_grp_cursor);
4057 
4058       EGO_USER_ATTRS_DATA_PVT.Debug_Msg(' UCCnet exclusion code complete.');
4059 
4060       -----------------------------------------------------------------
4061       -- END: PPEDDAMA (11th October 2004)                           --
4062       -----------------------------------------------------------------
4063 
4064       IF (l_attr_group_ids_to_exclude     IS NOT NULL AND
4065         l_attr_group_ids                  IS NOT NULL AND
4066         l_attr_group_ids_to_exclude.COUNT > 0 AND
4067         l_attr_group_ids.COUNT            > 0 ) THEN
4068 
4069         EGO_USER_ATTRS_DATA_PVT.Debug_Msg('l_attr_group_ids_to_exclude.COUNT = '||l_attr_group_ids_to_exclude.COUNT);
4070         EGO_USER_ATTRS_DATA_PVT.Debug_Msg('l_attr_group_ids.COUNT = '||l_attr_group_ids.COUNT);
4071 
4072         -----------------------------------------------------------------
4073         -- don't issue perform dml if all attr grps are excluded
4074         -----------------------------------------------------------------
4075         IF (l_attr_group_ids_to_exclude.COUNT = l_attr_group_ids.COUNT) THEN
4076           EGO_USER_ATTRS_DATA_PVT.Debug_Msg('l_perform_dml is FALSE ');
4077           l_perform_dml := FALSE;
4078         END IF; --end: IF (l_attr_group_ids_to_exclude.COUNT >= ...
4079 
4080       END IF; --end: IF (l_attr_group_ids_to_exclude IS NOT NULL ...
4081 
4082       IF (l_perform_dml = TRUE) THEN
4083 
4084         EGO_USER_ATTRS_DATA_PVT.Debug_Msg('l_perform_dml is TRUE ');
4085 
4086         EGO_USER_ATTRS_DATA_PVT.Perform_DML_From_Template (
4087           p_api_version                   => 1.0
4088          ,p_template_id                   => p_template_id
4089          ,p_object_name                   => p_object_name
4090          ,p_pk_column_name_value_pairs    => l_pk_column_name_value_pairs
4091          ,p_class_code_name_value_pairs   => p_class_code_name_value_pairs
4092          ,p_data_level                    => 'ITEM_LEVEL'
4093          ,p_data_level_name_value_pairs   => NULL
4094          ,p_attr_group_ids_to_exclude     => l_attr_group_ids_to_exclude
4095          ,x_return_status                 => x_return_status
4096          ,x_errorcode                     => x_errorcode
4097          ,x_msg_count                     => x_msg_count
4098          ,x_msg_data                      => x_msg_data
4099          );
4100 
4101         EGO_USER_ATTRS_DATA_PVT.Perform_DML_From_Template (
4102           p_api_version                   => 1.0
4103          ,p_template_id                   => p_template_id
4104          ,p_object_name                   => p_object_name
4105          ,p_pk_column_name_value_pairs    => l_pk_column_name_value_pairs
4106          ,p_class_code_name_value_pairs   => p_class_code_name_value_pairs
4107          ,p_data_level                    => 'ITEM_REVISION_LEVEL'
4108          ,p_data_level_name_value_pairs   => p_data_level_name_value_pairs
4109          ,p_attr_group_ids_to_exclude     => l_attr_group_ids_to_exclude
4110          ,x_return_status                 => x_return_status
4111          ,x_errorcode                     => x_errorcode
4112          ,x_msg_count                     => x_msg_count
4113          ,x_msg_data                      => x_msg_data
4114          );
4115 
4116         EGO_USER_ATTRS_DATA_PVT.Perform_DML_From_Template (
4117           p_api_version                   => 1.0
4118          ,p_template_id                   => p_template_id
4119          ,p_object_name                   => p_object_name
4120          ,p_pk_column_name_value_pairs    => l_pk_column_name_value_pairs
4121          ,p_class_code_name_value_pairs   => p_class_code_name_value_pairs
4122          ,p_data_level                    => 'EGO_ITEM_GTIN_ATTRS'
4123          ,p_data_level_name_value_pairs   => NULL
4124          ,p_attr_group_ids_to_exclude     => l_attr_group_ids_to_exclude
4125          ,x_return_status                 => x_return_status
4126          ,x_errorcode                     => x_errorcode
4127          ,x_msg_count                     => x_msg_count
4128          ,x_msg_data                      => x_msg_data
4129          );
4130 
4131         EGO_USER_ATTRS_DATA_PVT.Perform_DML_From_Template (
4132           p_api_version                   => 1.0
4133          ,p_template_id                   => p_template_id
4134          ,p_object_name                   => p_object_name
4135          ,p_pk_column_name_value_pairs    => l_pk_column_name_value_pairs
4136          ,p_class_code_name_value_pairs   => p_class_code_name_value_pairs
4137          ,p_data_level                    => 'EGO_ITEM_GTIN_MULTI_ATTRS'
4138          ,p_data_level_name_value_pairs   => NULL
4139          ,p_attr_group_ids_to_exclude     => l_attr_group_ids_to_exclude
4140          ,x_return_status                 => x_return_status
4141          ,x_errorcode                     => x_errorcode
4142          ,x_msg_count                     => x_msg_count
4143          ,x_msg_data                      => x_msg_data
4144          );
4145 
4146       END IF;
4147 
4148     EGO_USER_ATTRS_DATA_PVT.Debug_Msg('Apply_Templ_User_Attrs_To_Item -- Done');
4149     EXCEPTION
4150       WHEN OTHERS THEN
4151         IF (l_attr_grp_cursor IS NOT NULL) THEN
4152           DBMS_SQL.Close_Cursor(l_attr_grp_cursor);
4153         END IF;
4154         EGO_USER_ATTRS_DATA_PVT.Debug_Msg('In Apply_Templ_User_Attrs_To_Item, got exception '||SQLERRM, 3);
4155 
4156   END Apply_Templ_User_Attrs_To_Item;
4157 
4158  ---------------------------------------------------------------------------
4159   PROCEDURE SYNC_IM_INDEX IS
4160   BEGIN
4161      INV_ITEM_PVT.SYNC_IM_INDEX;
4162   END SYNC_IM_INDEX;
4163 
4164  ---------------------------------------------------------------------------
4165    PROCEDURE Process_item_role
4166       (p_api_version           IN  NUMBER
4167       ,p_commit                IN  VARCHAR2  DEFAULT  G_FALSE
4168       ,p_init_msg_list         IN  VARCHAR2  DEFAULT  G_FALSE
4169       ,p_transaction_type      IN  VARCHAR2  DEFAULT  G_TTYPE_CREATE
4170       ,p_inventory_item_id     IN  NUMBER    DEFAULT  NULL
4171       ,p_item_number           IN  VARCHAR2  DEFAULT  NULL
4172       ,p_organization_id       IN  NUMBER    DEFAULT  NULL
4173       ,p_organization_code     IN  VARCHAR2  DEFAULT  NULL
4174       ,p_role_id               IN  NUMBER    DEFAULT  NULL
4175       ,p_role_name             IN  VARCHAR2  DEFAULT  NULL
4176       ,p_instance_type         IN  VARCHAR2  DEFAULT  G_INSTANCE_TYPE_INSTANCE
4177       ,p_instance_set_id       IN  NUMBER    DEFAULT  NULL
4178       ,p_instance_set_name     IN  VARCHAR2  DEFAULT  NULL
4179       ,p_party_type            IN  VARCHAR2  DEFAULT  G_USER_PARTY_TYPE
4180       ,p_party_id              IN  NUMBER    DEFAULT  NULL
4181       ,p_party_name            IN  VARCHAR2  DEFAULT  NULL
4182       ,p_start_date            IN  DATE      DEFAULT  NULL
4183       ,p_end_date              IN  DATE      DEFAULT  NULL
4184       ,x_grant_guid            IN  OUT NOCOPY RAW
4185       ,x_return_status         OUT NOCOPY VARCHAR2
4186       ,x_msg_count             OUT NOCOPY NUMBER
4187       ,x_msg_data              OUT NOCOPY VARCHAR2
4188      ) IS
4189   BEGIN
4190    EGO_ITEM_PVT.Process_item_role
4191       (p_api_version            =>  p_api_version
4192       ,p_commit                 =>  p_commit
4193       ,p_init_msg_list          =>  p_init_msg_list
4194       ,p_transaction_type       =>  p_transaction_type
4195       ,p_inventory_item_id      =>  p_inventory_item_id
4196       ,p_item_number            =>  p_item_number
4197       ,p_organization_id        =>  p_organization_id
4198       ,p_organization_code      =>  p_organization_code
4199       ,p_role_id                =>  p_role_id
4200       ,p_role_name              =>  p_role_name
4201       ,p_instance_type          =>  p_instance_type
4202       ,p_instance_set_id        =>  p_instance_set_id
4203       ,p_instance_set_name      =>  p_instance_set_name
4204       ,p_party_type             =>  p_party_type
4205       ,p_party_id               =>  p_party_id
4206       ,p_party_name             =>  p_party_name
4207       ,p_start_date             =>  p_start_date
4208       ,p_end_date               =>  p_end_date
4209       ,x_grant_guid             =>  x_grant_guid
4210       ,x_return_status          =>  x_return_status
4211       ,x_msg_count              =>  x_msg_count
4212       ,x_msg_data               =>  x_msg_data
4213      );
4214 
4215   END;
4216 
4217  ---------------------------------------------------------------------------
4218    PROCEDURE Process_item_phase_and_status
4219       (p_api_version           IN  NUMBER
4220       ,p_commit                IN  VARCHAR2  DEFAULT  G_FALSE
4221       ,p_init_msg_list         IN  VARCHAR2  DEFAULT  G_FALSE
4222       ,p_transaction_type      IN  VARCHAR2  DEFAULT  G_TTYPE_PROMOTE
4223       ,p_inventory_item_id     IN  NUMBER    DEFAULT  NULL
4224       ,p_item_number           IN  VARCHAR2  DEFAULT  NULL
4225       ,p_organization_id       IN  NUMBER    DEFAULT  NULL
4226       ,p_organization_code     IN  VARCHAR2  DEFAULT  NULL
4227       ,p_revision_id           IN  NUMBER    DEFAULT  NULL
4228       ,p_revision              IN  VARCHAR2  DEFAULT  NULL
4229       ,p_implement_changes     IN  VARCHAR2  DEFAULT  G_TRUE
4230       ,p_status                IN  VARCHAR2  DEFAULT  NULL
4231       ,p_effective_date        IN  DATE      DEFAULT  NULL
4232       ,p_lifecycle_id          IN  NUMBER    DEFAULT  NULL
4233       ,p_phase_id              IN  NUMBER    DEFAULT  NULL
4234       ,p_new_effective_date    IN  DATE      DEFAULT  NULL
4235       ,x_return_status         OUT NOCOPY VARCHAR2
4236       ,x_msg_count             OUT NOCOPY NUMBER
4237       ,x_msg_data              OUT NOCOPY VARCHAR2
4238      ) IS
4239    BEGIN
4240      EGO_ITEM_PVT.Process_item_phase_and_status
4241       (p_api_version          =>  p_api_version
4242       ,p_commit               =>  p_commit
4243       ,p_init_msg_list        =>  p_init_msg_list
4244       ,p_transaction_type     =>  p_transaction_type
4245       ,p_inventory_item_id    =>  p_inventory_item_id
4246       ,p_item_number          =>  p_item_number
4247       ,p_organization_id      =>  p_organization_id
4248       ,p_organization_code    =>  p_organization_code
4249       ,p_revision_id          =>  p_revision_id
4250       ,p_revision             =>  p_revision
4251       ,p_implement_changes    =>  p_implement_changes
4252       ,p_status               =>  p_status
4253       ,p_effective_date       =>  p_effective_date
4254       ,p_lifecycle_id         =>  p_lifecycle_id
4255       ,p_phase_id             =>  p_phase_id
4256       ,p_new_effective_date   =>  p_new_effective_date
4257       ,x_return_status        =>  x_return_status
4258       ,x_msg_count            =>  x_msg_count
4259       ,x_msg_data             =>  x_msg_data
4260       );
4261    END;
4262 
4263  ---------------------------------------------------------------------------
4264    PROCEDURE Implement_Item_Pending_Changes
4265       (p_api_version           IN  NUMBER
4266       ,p_commit                IN  VARCHAR2  DEFAULT  G_FALSE
4267       ,p_init_msg_list         IN  VARCHAR2  DEFAULT  G_FALSE
4268       ,p_inventory_item_id     IN  NUMBER    DEFAULT  NULL
4269       ,p_item_number           IN  VARCHAR2  DEFAULT  NULL
4270       ,p_organization_id       IN  NUMBER    DEFAULT  NULL
4271       ,p_organization_code     IN  VARCHAR2  DEFAULT  NULL
4272       ,p_revision_id           IN  NUMBER    DEFAULT  NULL
4273       ,p_revision              IN  VARCHAR2  DEFAULT  NULL
4274       ,x_return_status         OUT NOCOPY VARCHAR2
4275       ,x_msg_count             OUT NOCOPY NUMBER
4276       ,x_msg_data              OUT NOCOPY VARCHAR2
4277      ) IS
4278   BEGIN
4279    EGO_ITEM_PVT.Implement_Item_Pending_Changes
4280       (p_api_version          =>  p_api_version
4281       ,p_commit               =>  p_commit
4282       ,p_init_msg_list        =>  p_init_msg_list
4283       ,p_inventory_item_id    =>  p_inventory_item_id
4284       ,p_item_number          =>  p_item_number
4285       ,p_organization_id      =>  p_organization_id
4286       ,p_organization_code    =>  p_organization_code
4287       ,p_revision_id          =>  p_revision_id
4288       ,p_revision             =>  p_revision
4289       ,x_return_status        =>  x_return_status
4290       ,x_msg_count            =>  x_msg_count
4291       ,x_msg_data             =>  x_msg_data
4292      );
4293 
4294   END;
4295 
4296  ---------------------------------------------------------------------------
4297 PROCEDURE Process_Item_Revision(
4298   p_api_version                   IN NUMBER
4299  ,p_init_msg_list                IN VARCHAR2 :=  FND_API.G_TRUE
4300  ,p_commit                       IN VARCHAR2   DEFAULT  G_FALSE
4301  ,p_transaction_type             IN VARCHAR2
4302  ,p_inventory_item_id            IN NUMBER     DEFAULT  G_MISS_NUM
4303  ,p_item_number                  IN VARCHAR2   DEFAULT  G_MISS_CHAR
4304  ,p_organization_id              IN NUMBER     DEFAULT  G_MISS_NUM
4305  ,p_Organization_Code            IN VARCHAR2   DEFAULT  G_MISS_CHAR
4306  ,p_revision                     IN VARCHAR2
4307  ,p_description                  IN VARCHAR2   DEFAULT  NULL
4308  ,p_effectivity_date             IN DATE
4309  ,p_revision_label               IN VARCHAR2   DEFAULT  G_MISS_CHAR
4310  ,p_revision_reason              IN VARCHAR2   DEFAULT  NULL
4311  ,p_lifecycle_id                 IN NUMBER     DEFAULT  G_MISS_NUM
4312  ,p_current_phase_id             IN NUMBER     DEFAULT  G_MISS_NUM
4313   -- 5208102: Supporting template for UDA's at revisions
4314  ,p_template_id                  IN NUMBER     DEFAULT  G_MISS_NUM
4315  ,p_template_name                IN VARCHAR2   DEFAULT  G_MISS_CHAR
4316 
4317  ,p_attribute_category           IN VARCHAR2   DEFAULT  G_MISS_CHAR
4318  ,p_attribute1                   IN VARCHAR2   DEFAULT  G_MISS_CHAR
4319  ,p_attribute2                   IN VARCHAR2   DEFAULT  G_MISS_CHAR
4320  ,p_attribute3                   IN VARCHAR2   DEFAULT  G_MISS_CHAR
4321  ,p_attribute4                   IN VARCHAR2   DEFAULT  G_MISS_CHAR
4322  ,p_attribute5                   IN VARCHAR2   DEFAULT  G_MISS_CHAR
4323  ,p_attribute6                   IN VARCHAR2   DEFAULT  G_MISS_CHAR
4324  ,p_attribute7                   IN VARCHAR2   DEFAULT  G_MISS_CHAR
4325  ,p_attribute8                   IN VARCHAR2   DEFAULT  G_MISS_CHAR
4326  ,p_attribute9                   IN VARCHAR2   DEFAULT  G_MISS_CHAR
4327  ,p_attribute10                  IN VARCHAR2   DEFAULT  G_MISS_CHAR
4328  ,p_attribute11                  IN VARCHAR2   DEFAULT  G_MISS_CHAR
4329  ,p_attribute12                  IN VARCHAR2   DEFAULT  G_MISS_CHAR
4330  ,p_attribute13                  IN VARCHAR2   DEFAULT  G_MISS_CHAR
4331  ,p_attribute14                  IN VARCHAR2   DEFAULT  G_MISS_CHAR
4332  ,p_attribute15                  IN VARCHAR2   DEFAULT  G_MISS_CHAR
4333  ,x_Return_Status                OUT NOCOPY VARCHAR2
4334  ,x_msg_count                    OUT NOCOPY NUMBER
4335  ,x_msg_data                     OUT NOCOPY VARCHAR2 ) is
4336 
4337   p_debug_filename               VARCHAR2(100);
4338   x_revision_id                  NUMBER     DEFAULT  G_MISS_NUM;
4339   x_object_version_number        NUMBER     DEFAULT  G_MISS_NUM;
4340   l_inventory_item_id            NUMBER;
4341   l_organization_id              NUMBER;
4342   l_api_name    CONSTANT    VARCHAR2(30)  :=  'Process_Item_Revision';
4343   l_api_version CONSTANT    NUMBER        :=  1.0;
4344 
4345   INVALID_ORG EXCEPTION;
4346   INVALID_ITEM EXCEPTION;
4347   INVALID_ITEM_ORG EXCEPTION;
4348 
4349 BEGIN
4350 
4351   IF NOT FND_API.Compatible_API_Call ( l_api_version, p_api_version,
4352                                         l_api_name, G_PKG_NAME )
4353   THEN
4354      RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
4355   END IF;
4356 
4357   BEGIN
4358      IF p_organization_id IS NULL THEN
4359         IF p_organization_code IS NOT NULL THEN
4360            SELECT ORGANIZATION_ID INTO l_organization_id
4361            FROM  MTL_PARAMETERS
4362            WHERE ORGANIZATION_CODE = p_organization_code;
4363            ELSE
4364               RAISE INVALID_ORG;
4365         END IF;
4366      ELSE
4367          SELECT ORGANIZATION_ID INTO l_organization_id
4368          FROM  MTL_PARAMETERS
4369          WHERE ORGANIZATION_ID = p_organization_id;
4370      END IF;
4371 
4372      EXCEPTION
4373          WHEN NO_DATA_FOUND THEN
4374             RAISE INVALID_ORG;
4375   END;
4376 
4377   BEGIN
4378      IF p_inventory_item_id IS NULL THEN
4379         IF p_item_number IS NOT NULL THEN
4380            SELECT INVENTORY_ITEM_ID INTO l_inventory_item_id
4381            FROM MTL_SYSTEM_ITEMS_B_KFV
4382            WHERE ORGANIZATION_ID     = l_organization_id
4383            AND CONCATENATED_SEGMENTS = p_item_number;
4384         ELSE
4385            RAISE INVALID_ITEM;
4386         END IF;
4387      ELSE
4388         SELECT INVENTORY_ITEM_ID INTO l_inventory_item_id
4389         FROM MTL_SYSTEM_ITEMS_B_KFV
4390         WHERE ORGANIZATION_ID = l_organization_id
4391         AND INVENTORY_ITEM_ID = p_inventory_item_id;
4392      END IF;
4393 
4394      EXCEPTION
4395         WHEN NO_DATA_FOUND THEN
4396            RAISE INVALID_ITEM_ORG;
4397   END;
4398 
4399  INV_ITEM_REVISION_PUB.Process_Item_Revision
4400   (
4401     p_inventory_item_id            => l_inventory_item_id
4402    ,p_organization_id              => l_organization_id
4403    ,p_revision                     => p_revision
4404    ,p_description                  => p_description
4405    ,p_effectivity_date             => p_effectivity_date
4406    ,p_attribute_category           => p_attribute_category
4407    ,p_attribute1                   => p_attribute1
4408    ,p_attribute2                   => p_attribute2
4409    ,p_attribute3                   => p_attribute3
4410    ,p_attribute4                   => p_attribute4
4411    ,p_attribute5                   => p_attribute5
4412    ,p_attribute6                   => p_attribute6
4413    ,p_attribute7                   => p_attribute7
4414    ,p_attribute8                   => p_attribute8
4415    ,p_attribute9                   => p_attribute9
4416    ,p_attribute10                  => p_attribute10
4417    ,p_attribute11                  => p_attribute11
4418    ,p_attribute12                  => p_attribute12
4419    ,p_attribute13                  => p_attribute13
4420    ,p_attribute14                  => p_attribute14
4421    ,p_attribute15                  => p_attribute15
4422    ,p_revision_label               => p_revision_label
4423    ,p_revision_reason              => p_revision_reason
4424    ,p_lifecycle_id                 => p_lifecycle_id
4425    ,p_current_phase_id             => p_current_phase_id
4426    ,p_template_id                  => p_template_id
4427    ,p_template_name                => p_template_name
4428    ,p_transaction_type             => p_transaction_type
4429    ,p_init_msg_list                => p_init_msg_list
4430    ,x_Return_Status                => x_Return_Status
4431    ,x_msg_count                    => x_msg_count
4432    ,x_revision_id                  => x_revision_id
4433    ,x_object_version_number        => x_object_version_number
4434    ,p_message_api                  => 'BOM'
4435    ,p_object_version_number        => NULL );
4436 
4437 EXCEPTION
4438    WHEN INVALID_ORG THEN
4439       FND_MESSAGE.Set_Name('EGO', 'EGO_INVALID_ORGANIZATION');
4440       FND_MSG_PUB.Add;
4441       x_return_status := FND_API.g_RET_STS_ERROR;
4442    WHEN INVALID_ITEM THEN
4443       FND_MESSAGE.Set_Name('EGO', 'EGO_INVALID_ITEM');
4444       FND_MSG_PUB.Add;
4445       x_return_status := FND_API.g_RET_STS_ERROR;
4446    WHEN INVALID_ITEM_ORG THEN
4447       FND_MESSAGE.Set_Name('EGO', 'EGO_INVALID_ITEM_ORGANIZATION');
4448       FND_MSG_PUB.Add;
4449       x_return_status := FND_API.g_RET_STS_ERROR;
4450    WHEN OTHERS THEN
4451      x_return_status := G_RET_STS_UNEXP_ERROR;
4452      RAISE;
4453 END Process_Item_Revision;
4454 
4455 ------------------------ Process_item_descr_elements ---------------------
4456 /*#
4457  * This API allows user to give the values of item catalog category descriptive elements.
4458  * This will verify whether user has edit item privilege on item.
4459  */
4460 PROCEDURE Process_item_descr_elements
4461      (
4462         p_api_version        IN   NUMBER
4463      ,  p_init_msg_list      IN   VARCHAR2
4464      ,  p_commit_flag        IN   VARCHAR2
4465      ,  p_validation_level   IN   NUMBER
4466      ,  p_inventory_item_id  IN   NUMBER
4467      ,  p_item_number        IN   VARCHAR2
4468      ,  p_item_desc_element_table IN INV_ITEM_CATALOG_ELEM_PUB.ITEM_DESC_ELEMENT_TABLE
4469      ,  x_generated_descr    OUT NOCOPY VARCHAR2
4470      ,  x_return_status      OUT NOCOPY VARCHAR2
4471      ,  x_msg_count          OUT NOCOPY NUMBER
4472      ,  x_msg_data           OUT NOCOPY VARCHAR2
4473      )
4474 IS
4475    l_api_name     CONSTANT  VARCHAR2(30)  := 'Process_item_descr_elements';
4476    l_err_text               VARCHAR2(2000);
4477 BEGIN
4478 
4479      x_return_status := G_RET_STS_SUCCESS;
4480 
4481       -- Initialize message list
4482       IF FND_API.To_Boolean (p_init_msg_list) THEN
4483          Error_Handler.Initialize;
4484       END IF;
4485 
4486       -- Set business object identifier in the System Information record
4487       Error_Handler.Set_BO_Identifier ( p_bo_identifier  =>  G_BO_Identifier );
4488 
4489 
4490       INV_EGO_REVISION_VALIDATE.Set_Process_Control('EGO_ITEM_BULKLOAD');
4491       INV_ITEM_CATALOG_ELEM_PUB.Process_item_descr_elements
4492             (
4493                p_api_version        =>  p_api_version
4494             ,  p_init_msg_list      =>  p_init_msg_list
4495             ,  p_commit_flag        =>  p_commit_flag
4496             ,  p_validation_level   =>  p_validation_level
4497             ,  p_inventory_item_id  =>  p_inventory_item_id
4498             ,  p_item_number        =>  p_item_number
4499             ,  p_item_desc_element_table => p_item_desc_element_table
4500             ,  x_generated_descr    =>  x_generated_descr
4501             ,  x_return_status      =>  x_return_status
4502             ,  x_msg_count          =>  x_msg_count
4503             ,  x_msg_data           =>  x_msg_data
4504             );
4505      INV_EGO_REVISION_VALIDATE.Set_Process_Control('NULL');
4506 
4507 EXCEPTION
4508    WHEN others THEN
4509       l_err_text := SUBSTRB(SQLERRM, 1,240);
4510       x_return_status := fnd_api.g_RET_STS_UNEXP_ERROR;
4511       EGO_Item_Msg.Add_Error_Message ( EGO_Item_PVT.G_Item_indx,
4512                                        'INV', 'INV_ITEM_UNEXPECTED_ERROR',
4513                                        'PACKAGE_NAME', G_PKG_NAME, FALSE,
4514                                        'PROCEDURE_NAME', l_api_name, FALSE,
4515                                        'ERROR_TEXT', l_err_text, FALSE );
4516       FND_MSG_PUB.Count_And_Get
4517         (       p_count        =>      x_msg_count,
4518                 p_data         =>      x_msg_data
4519         );
4520 
4521 END Process_item_descr_elements;
4522 ------------------------------------------------------------------------------
4523 
4524 ------------------------ Process_Item_Cat_Assignment ---------------------
4525 /*#
4526  * This API allows user to assign/remove a catalog/category to/from an item.
4527  * This will verify whether user has edit item privilege on item.
4528  */
4529 PROCEDURE Process_Item_Cat_Assignment
4530      (
4531         p_api_version       IN   NUMBER
4532       , p_init_msg_list     IN   VARCHAR2
4533       , p_commit            IN   VARCHAR2
4534       , p_category_id       IN   NUMBER
4535       , p_category_set_id   IN   NUMBER
4536       , p_inventory_item_id IN   NUMBER
4537       , p_organization_id   IN   NUMBER
4538       , p_transaction_type  IN   VARCHAR2
4539       , x_return_status     OUT  NOCOPY VARCHAR2
4540       , x_errorcode         OUT  NOCOPY NUMBER
4541       , x_msg_count         OUT  NOCOPY NUMBER
4542       , x_msg_data          OUT  NOCOPY VARCHAR2
4543      )
4544 IS
4545    l_api_name   CONSTANT  VARCHAR2(30)  := 'Process_Item_Cat_Assignment';
4546    l_err_text             VARCHAR2(2000);
4547 BEGIN
4548 
4549      x_return_status := G_RET_STS_SUCCESS;
4550 
4551       -- Initialize message list
4552       IF FND_API.To_Boolean (p_init_msg_list) THEN
4553          Error_Handler.Initialize;
4554       END IF;
4555 
4556       -- Set business object identifier in the System Information record
4557       Error_Handler.Set_BO_Identifier ( p_bo_identifier  =>  G_BO_Identifier );
4558 
4559       IF INV_EGO_REVISION_VALIDATE.check_data_security(
4560                                      p_function           => 'EGO_EDIT_ITEM'
4561                                     ,p_object_name        => 'EGO_ITEM'
4562                                     ,p_instance_pk1_value => p_inventory_item_id
4563                                     ,p_instance_pk2_value => p_organization_id
4564                                     ,P_User_Id            => FND_GLOBAL.user_id) <> 'T'
4565       THEN
4566          EGO_Item_Msg.Add_Error_Message (p_Entity_Index => EGO_Item_PVT.G_Item_indx,
4567                                          p_Application_Short_Name =>'INV',
4568                                          p_Message_Name =>'INV_IOI_ITEM_UPDATE_PRIV');
4569          RAISE FND_API.g_EXC_ERROR;
4570       ELSE
4571        IF p_transaction_type = 'CREATE' THEN
4572          INV_ITEM_CATEGORY_PUB.Create_Category_Assignment
4573             (
4574               p_api_version      =>   p_api_version
4575             , p_init_msg_list    =>   p_init_msg_list
4576             , p_commit           =>   p_commit
4577             , p_category_id      =>   p_category_id
4578             , p_category_set_id  =>   p_category_set_id
4579             , p_inventory_item_id=>   p_inventory_item_id
4580             , p_organization_id  =>   p_organization_id
4581             , x_return_status    =>   x_return_status
4582             , x_errorcode        =>   x_errorcode
4583             , x_msg_count        =>   x_msg_count
4584             , x_msg_data         =>   x_msg_data
4585             );
4586        ELSIF p_transaction_type = 'DELETE' THEN
4587          INV_ITEM_CATEGORY_PUB.Delete_Category_Assignment
4588             (
4589               p_api_version      =>   p_api_version
4590             , p_init_msg_list    =>   p_init_msg_list
4591             , p_commit           =>   p_commit
4592             , p_category_id      =>   p_category_id
4593             , p_category_set_id  =>   p_category_set_id
4594             , p_inventory_item_id=>   p_inventory_item_id
4595             , p_organization_id  =>   p_organization_id
4596             , x_return_status    =>   x_return_status
4597             , x_errorcode        =>   x_errorcode
4598             , x_msg_count        =>   x_msg_count
4599             , x_msg_data         =>   x_msg_data
4600             );
4601 
4602        END IF;
4603       END IF;
4604 
4605 EXCEPTION
4606    WHEN FND_API.G_EXC_ERROR THEN
4607        x_return_status := FND_API.G_RET_STS_ERROR;
4608        FND_MSG_PUB.Count_And_Get
4609         (       p_count        =>      x_msg_count,
4610                 p_data         =>      x_msg_data
4611         );
4612    WHEN others THEN
4613       l_err_text := SUBSTRB(SQLERRM, 1,240);
4614       x_return_status := fnd_api.g_RET_STS_UNEXP_ERROR;
4615       EGO_Item_Msg.Add_Error_Message ( EGO_Item_PVT.G_Item_indx,
4616                                        'INV', 'INV_ITEM_UNEXPECTED_ERROR',
4617                                        'PACKAGE_NAME', G_PKG_NAME, FALSE,
4618                                        'PROCEDURE_NAME', l_api_name, FALSE,
4619                                        'ERROR_TEXT', l_err_text, FALSE );
4620       FND_MSG_PUB.Count_And_Get
4621         (       p_count        =>      x_msg_count,
4622                 p_data         =>      x_msg_data
4623         );
4624 
4625 END Process_Item_Cat_Assignment;
4626 ------------------------------------------------------------------------------
4627   /*
4628    * dsakalle - Public API to upload UCCnet Attributes
4629    * IREP comments need to be added
4630    */
4631   PROCEDURE Process_UCCnet_Attrs_For_Item (
4632         p_api_version                   IN   NUMBER
4633        ,p_inventory_item_id             IN   NUMBER
4634        ,p_organization_id               IN   NUMBER
4635        ,p_single_row_attrs_rec          IN   UCCnet_Attrs_Singl_Row_Rec_Typ
4636        ,p_multi_row_attrs_table         IN   UCCnet_Attrs_Multi_Row_Tbl_Typ
4637        ,p_entity_id                     IN   NUMBER     DEFAULT NULL
4638        ,p_entity_index                  IN   NUMBER     DEFAULT NULL
4639        ,p_entity_code                   IN   VARCHAR2   DEFAULT NULL
4640        ,p_init_error_handler            IN   VARCHAR2   DEFAULT FND_API.G_TRUE
4641        ,p_commit                        IN   VARCHAR2   DEFAULT FND_API.G_FALSE
4642        ,x_return_status                 OUT NOCOPY VARCHAR2
4643        ,x_errorcode                     OUT NOCOPY NUMBER
4644        ,x_msg_count                     OUT NOCOPY NUMBER
4645        ,x_msg_data                      OUT NOCOPY VARCHAR2) IS
4646   BEGIN
4647     EGO_GTIN_ATTRS_PVT.Process_UCCnet_Attrs_For_Item(
4648           p_api_version                   => p_api_version
4649          ,p_inventory_item_id             => p_inventory_item_id
4650          ,p_organization_id               => p_organization_id
4651          ,p_single_row_attrs_rec          => p_single_row_attrs_rec
4652          ,p_multi_row_attrs_table         => p_multi_row_attrs_table
4653          ,p_entity_id                     => p_entity_id
4654          ,p_entity_index                  => p_entity_index
4655          ,p_entity_code                   => p_entity_code
4656          ,p_init_error_handler            => p_init_error_handler
4657          ,p_commit                        => p_commit
4658          ,x_return_status                 => x_return_status
4659          ,x_errorcode                     => x_errorcode
4660          ,x_msg_count                     => x_msg_count
4661          ,x_msg_data                      => x_msg_data);
4662   END Process_UCCnet_Attrs_For_Item;
4663 
4664 ------------------------------------------------------------------------------
4665 
4666    PROCEDURE Validate_Required_Attrs(
4667         p_api_version                   IN   NUMBER
4668        ,p_inventory_item_id             IN   NUMBER
4669        ,p_organization_id               IN   NUMBER
4670        ,p_revision_id                   IN   NUMBER
4671        ,x_attributes_req_table          OUT NOCOPY EGO_USER_ATTR_TABLE
4672        ,x_return_status                 OUT NOCOPY VARCHAR2
4673        ,x_errorcode                     OUT NOCOPY NUMBER
4674        ,x_msg_count                     OUT NOCOPY NUMBER
4675        ,x_msg_data                      OUT NOCOPY VARCHAR2
4676   ) IS
4677 
4678    BEGIN
4679 
4680      EGO_ITEM_PVT.Validate_Required_Attrs(
4681         p_api_version                   => p_api_version
4682        ,p_inventory_item_id             => p_inventory_item_id
4683        ,p_organization_id               => p_organization_id
4684        ,p_revision_id                   => p_revision_id
4685        ,x_attributes_req_table          => x_attributes_req_table
4686        ,x_return_status                 => x_return_status
4687        ,x_errorcode                     => x_errorcode
4688        ,x_msg_count                     => x_msg_count
4689        ,x_msg_data                      => x_msg_data
4690      );
4691 
4692    END Validate_Required_Attrs;
4693 
4694 
4695 ------------------------------------------------------------------------------
4696 
4697 PROCEDURE Prep_Batch_Data_For_Import_UI
4698     (   p_api_version           IN          NUMBER
4699     ,   p_batch_id              IN          NUMBER
4700     ,   x_return_status         OUT NOCOPY  VARCHAR2
4701     ,   x_errorcode             OUT NOCOPY  NUMBER
4702     ,   x_msg_count             OUT NOCOPY  NUMBER
4703     ,   x_msg_data              OUT NOCOPY  VARCHAR2
4704     )
4705 IS
4706     l_api_name   CONSTANT  VARCHAR2(30)  := 'Complete_Import_Data_Load';
4707     l_err_text             VARCHAR2(2000);
4708 BEGIN
4709     x_return_status := G_RET_STS_SUCCESS;
4710 
4711     EGO_IMPORT_PVT.Resolve_SSXRef_On_Data_Load
4712         ( p_data_set_id =>  p_batch_id
4713         , p_commit      =>  FND_API.G_TRUE
4714         );
4715 
4716 EXCEPTION
4717   WHEN OTHERS THEN
4718      l_err_text      := SUBSTRB(SQLERRM, 1,240);
4719      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4720      EGO_ITEM_MSG.Add_Error_Message ( EGO_ITEM_PVT.G_ITEM_INDX,
4721                                      'EGO', 'EGO_ITEM_UNEXPECTED_ERROR',
4722                                      'PACKAGE_NAME', G_PKG_NAME, FALSE,
4723                                      'PROCEDURE_NAME', l_api_name, FALSE,
4724                                      'ERROR_TEXT', l_err_text, FALSE );
4725     FND_MSG_PUB.Count_And_Get
4726      (   p_count =>  x_msg_count
4727      ,   p_data  =>  x_msg_data
4728      );
4729 END Prep_Batch_Data_For_Import_UI;
4730 
4731 END EGO_ITEM_PUB;