DBA Data[Home] [Help]

PACKAGE BODY: APPS.EGO_ITEM_PUB

Source


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