DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_UI_ITEM_LOVS

Source


1 PACKAGE BODY inv_ui_item_lovs AS
2   /* $Header: INVITMLB.pls 120.24.12010000.2 2008/10/10 07:57:23 ksivasa ship $ */
3 
4 
5 g_gtin_cross_ref_type VARCHAR2(25) := fnd_profile.value('INV:GTIN_CROSS_REFERENCE_TYPE');
6 g_gtin_code_length NUMBER := 14;
7 
8   --      Name: GET_ITEM_LOV
9   --      Input parameters:
10   --       p_Organization_Id   which restricts LOV SQL to current org
11   --       p_Concatenated_Segments   which restricts LOV SQL to the user input text
12   --                                e.g.  AS% for item LOV's contanenated_segment
13   --       p_where_clause    different LOV beans pass in different where clause string
14   --                         for their LOV SQL
15   --                         The String should start with AND and conform with dynamic
16   --                         SQL syntax  e.g. 'AND purchasing_enabled_flag = ''Y'''
17   --      Output parameters:
18   --       x_Items      returns LOV rows as reference cursor
19   --      Functions: This procedure uses dynamic SQL to handle different where clauses for
20   --                 LOV query. Because of the way the java file is structured, all the LOV's
21   --                 should select the same columns that is the columns finally
22   --                 selected should be the superset of the columns needed by all lovs.
23   --                 To addd more columns to LOV subfield, one should append the
24   --                 new columns to the end of the existing ones. Specifically, one should
25   --                 modify the following local variable, l_sql_stmt.
26   --
27 
28   PROCEDURE get_item_lov(x_items OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_concatenated_segments IN VARCHAR2, p_where_clause IN VARCHAR2) IS
29     posstring      NUMBER         := 0;
30     l_where_clause VARCHAR2(7500) := '';
31     l_sql_stmt      VARCHAR2(7500);
32     l_conc_seg varchar2(2000) := p_concatenated_segments;
33     -- Bug# 6747729
34     -- Added code to also fetch stock_enabled_flag from mtl_system_items_vl
35     l_sql_stmt1     VARCHAR2(7500)
36   :=    'select concatenated_segments,'
37      || 'msik.inventory_item_id, msik.description,'
38      || 'Nvl(revision_qty_control_code,1),'
39      || 'Nvl(lot_control_code, 1),'
40      || 'Nvl(serial_number_control_code, 1),'
41      || 'Nvl(restrict_subinventories_code, 2),'
42      || 'Nvl(restrict_locators_code, 2),'
43      || 'Nvl(location_control_code, 1),'
44      || 'primary_uom_code,'
45      || 'Nvl(inspection_required_flag, ''N''),'
46      || 'Nvl(shelf_life_code, 1),'
47      || 'Nvl(shelf_life_days,0),'
48      || 'Nvl(allowed_units_lookup_code, 2),'
49      || 'Nvl(effectivity_control,1), '
50      || '0, 0,'
51      || 'Nvl(default_serial_status_id,1), '
52      || 'Nvl(serial_status_enabled,''N''), '
53      || 'Nvl(default_lot_status_id,0), '
54      || 'Nvl(lot_status_enabled,''N''), '
55      || 'null, '
56      || '''N'', '
57      || 'inventory_item_flag, '
58      || '0,'
59      || 'inventory_asset_flag,'
60      || 'outside_operation_flag,'
61      --Bug No 3952081
62      --Additional Fields for Process Convergence
63      || 'NVL(GRADE_CONTROL_FLAG,''N''),'
64      || 'NVL(DEFAULT_GRADE,''''),'
65      || 'NVL(EXPIRATION_ACTION_INTERVAL,0),'
66      || 'NVL(EXPIRATION_ACTION_CODE,''''),'
67      || 'NVL(HOLD_DAYS,0),'
68      || 'NVL(MATURITY_DAYS,0),'
69      || 'NVL(RETEST_INTERVAL,0),'
70      || 'NVL(COPY_LOT_ATTRIBUTE_FLAG,''N''),'
71      || 'NVL(CHILD_LOT_FLAG,''N''),'
72      || 'NVL(CHILD_LOT_VALIDATION_FLAG,''N''),'
73      || 'NVL(LOT_DIVISIBLE_FLAG,''Y''),'
74      || 'NVL(SECONDARY_UOM_CODE,''''),'
75      || 'NVL(SECONDARY_DEFAULT_IND,''''),'
76      || 'NVL(TRACKING_QUANTITY_IND,''P''),'
77      || 'NVL(DUAL_UOM_DEVIATION_HIGH,0),'
78      || 'NVL(DUAL_UOM_DEVIATION_LOW,0),'
79      || 'stock_enabled_flag';
80     -- Bug# 6747729
81     -- Added code to also fetch stock_enabled_flag from mtl_system_items_vl
82     l_sql_stmt_xref     VARCHAR2(7500)
83   :=    'select concatenated_segments,'
84      || 'msik.inventory_item_id, msik.description,'
85      || 'Nvl(revision_qty_control_code,1),'
86      || 'Nvl(lot_control_code, 1),'
87      || 'Nvl(serial_number_control_code, 1),'
88      || 'Nvl(restrict_subinventories_code, 2),'
89      || 'Nvl(restrict_locators_code, 2),'
90      || 'Nvl(location_control_code, 1),'
91      || 'primary_uom_code,'
92      || 'Nvl(inspection_required_flag, ''N''),'
93      || 'Nvl(shelf_life_code, 1),'
94      || 'Nvl(shelf_life_days,0),'
95      || 'Nvl(allowed_units_lookup_code, 2),'
96      || 'Nvl(effectivity_control,1), '
97      || '0, 0,'
98      || 'Nvl(default_serial_status_id,1), '
99      || 'Nvl(serial_status_enabled,''N''), '
100      || 'Nvl(default_lot_status_id,0), '
101      || 'Nvl(lot_status_enabled,''N''), '
102      || 'mcr.cross_reference, '
103      || '''N'', '
104      || 'inventory_item_flag, '
105      || '0,'
106      || 'inventory_asset_flag,'
107      || 'outside_operation_flag,'
108      --Bug No 3952081
109      --Additional Fields for Process Convergence
110      || 'NVL(GRADE_CONTROL_FLAG,''N''),'
111      || 'NVL(DEFAULT_GRADE,''''),'
112      || 'NVL(EXPIRATION_ACTION_INTERVAL,0),'
113      || 'NVL(EXPIRATION_ACTION_CODE,''''),'
114      || 'NVL(HOLD_DAYS,0),'
115      || 'NVL(MATURITY_DAYS,0),'
116      || 'NVL(RETEST_INTERVAL,0),'
117      || 'NVL(COPY_LOT_ATTRIBUTE_FLAG,''N''),'
118      || 'NVL(CHILD_LOT_FLAG,''N''),'
119      || 'NVL(CHILD_LOT_VALIDATION_FLAG,''N''),'
120      || 'NVL(LOT_DIVISIBLE_FLAG,''Y''),'
121      || 'NVL(SECONDARY_UOM_CODE,''''),'
122      || 'NVL(SECONDARY_DEFAULT_IND,''''),'
123      || 'NVL(TRACKING_QUANTITY_IND,''P''),'
124      || 'NVL(DUAL_UOM_DEVIATION_HIGH,0),'
125      || 'NVL(DUAL_UOM_DEVIATION_LOW,0),'
126      || 'stock_enabled_flag';
127 
128  -- Bug 4997004 sql Id 14813260 Start Added 3 variables to fix the literals issue in l_sql_stmt.
129   val VARCHAR2(10)  :='''';
130   pad VARCHAR2(20)  :='''00000000000000''';
131   flag VARCHAR2(10) :='''Y''';
132   -- Bug 4997004 sql Id 14813260 End
133   BEGIN
134     l_where_clause  := p_where_clause;
135      -- Modified for Bug # 5472330
136      -- Changed mtl_system_items_kfv to mtl_system_items_vl
137 
138     l_sql_stmt := l_sql_stmt1 || ' from mtl_system_items_vl msik WHERE organization_id = ' || p_organization_id || ' AND concatenated_segments like :l_conc_seg ' || l_where_clause;
139     -- 1 effectivity control implies that the item is NOT effectivity
140     -- controlled.
141 
142     l_sql_stmt := l_sql_stmt || ' UNION ' || l_sql_stmt_xref ||
143       ' FROM mtl_system_items_vl msik, mtl_cross_references mcr ' ||
144       ' WHERE msik.organization_id = ' || p_organization_id ||
145       ' AND msik.inventory_item_id = mcr.inventory_item_id ' ||
146       ' AND mcr.cross_reference_type = ''' || g_gtin_cross_ref_type || val ||
147       ' AND mcr.cross_reference      like lpad(rtrim(:l_conc_seg
148       , ''%'' ), ' || g_gtin_code_length || ' , ' || pad ||')' ||
149       ' AND (mcr.organization_id     = msik.organization_id OR mcr.org_independent_flag = ' || flag || ')' || l_where_clause;
150 
151     OPEN x_items FOR l_sql_stmt using l_conc_seg,l_conc_seg;
152   END get_item_lov;
153 
154 
155 
156 
157   PROCEDURE get_item_lov_sub_loc_moqd(x_items OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_concatenated_segments IN VARCHAR2, p_subinventory_code IN VARCHAR2, p_locator_id IN NUMBER, p_where_clause IN VARCHAR2) IS
158     posstring      NUMBER         := 0;
159     l_where_clause VARCHAR2(7500) := '';
160     l_sql_stmt      VARCHAR2(7500);
161     l_conc_seg varchar2(2000) := p_concatenated_segments;
162     l_sql_stmt1     VARCHAR2(7500)
163   :=    'select distinct msik.concatenated_segments,'
164      || 'msik.inventory_item_id, msik.description,'
165      || 'Nvl(msik.revision_qty_control_code,1),'
166      || 'Nvl(msik.lot_control_code, 1),'
167      || 'Nvl(msik.serial_number_control_code, 1),'
168      || 'Nvl(msik.restrict_subinventories_code, 2),'
169      || 'Nvl(msik.restrict_locators_code, 2),'
170      || 'Nvl(msik.location_control_code, 1),'
171      || ' msik.primary_uom_code,'
172      || 'Nvl(msik.inspection_required_flag, ''N''),'
173      || 'Nvl(msik.shelf_life_code, 1),'
174      || 'Nvl(msik.shelf_life_days,0),'
175      || 'Nvl(msik.allowed_units_lookup_code, 2),'
176      || 'Nvl(msik.effectivity_control,1), '
177      || '0, 0,'
178      || 'Nvl(msik.default_serial_status_id,1), '
179      || 'Nvl(msik.serial_status_enabled,''N''), '
180      || 'Nvl(msik.default_lot_status_id,0), '
181      || 'Nvl(msik.lot_status_enabled,''N''), '
182      || 'null, '
183      || '''N'', '
184      || ' msik.inventory_item_flag, '
185      || '0,'
186      || ' msik.inventory_asset_flag,'
187      || ' msik.outside_operation_flag,'
188      --Bug No 3952081
189      --Additional Fields for Process Convergence
190      || 'NVL(msik.GRADE_CONTROL_FLAG,''N''),'
191      || 'NVL(msik.DEFAULT_GRADE,''''),'
192      || 'NVL(msik.EXPIRATION_ACTION_INTERVAL,0),'
193      || 'NVL(msik.EXPIRATION_ACTION_CODE,''''),'
194      || 'NVL(msik.HOLD_DAYS,0),'
195      || 'NVL(msik.MATURITY_DAYS,0),'
196      || 'NVL(msik.RETEST_INTERVAL,0),'
197      || 'NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,''N''),'
198      || 'NVL(msik.CHILD_LOT_FLAG,''N''),'
199      || 'NVL(msik.CHILD_LOT_VALIDATION_FLAG,''N''),'
200      || 'NVL(msik.LOT_DIVISIBLE_FLAG,''Y''),'
201      || 'NVL(msik.SECONDARY_UOM_CODE,''''),'
202      || 'NVL(msik.SECONDARY_DEFAULT_IND,''''),'
203      || 'NVL(msik.TRACKING_QUANTITY_IND,''P''),'
204      || 'NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),'
205      || 'NVL(msik.DUAL_UOM_DEVIATION_LOW,0)';
206 	l_sql_stmt_xref     VARCHAR2(7500)
207 	 :=    'select distinct msik.concatenated_segments,'
208 	|| 'msik.inventory_item_id, msik.description,'
209 	|| 'Nvl(msik.revision_qty_control_code,1),'
210 	|| 'Nvl(msik.lot_control_code, 1),'
211 	|| 'Nvl(msik.serial_number_control_code, 1),'
212 	|| 'Nvl(msik.restrict_subinventories_code, 2),'
213 	|| 'Nvl(msik.restrict_locators_code, 2),'
214 	|| 'Nvl(msik.location_control_code, 1),'
215 	|| ' msik.primary_uom_code,'
216 	|| 'Nvl(msik.inspection_required_flag, ''N''),'
217 	|| 'Nvl(msik.shelf_life_code, 1),'
218 	|| 'Nvl(msik.shelf_life_days,0),'
219 	|| 'Nvl(msik.allowed_units_lookup_code, 2),'
220 	|| 'Nvl(msik.effectivity_control,1), '
221 	|| '0, 0,'
222 	|| 'Nvl(msik.default_serial_status_id,1), '
223 	|| 'Nvl(msik.serial_status_enabled,''N''), '
224 	|| 'Nvl(msik.default_lot_status_id,0), '
225 	|| 'Nvl(msik.lot_status_enabled,''N''), '
226 	|| 'null, '
227 	|| '''N'', '
228 	|| ' msik.inventory_item_flag, '
229 	|| '0,'
230 	|| ' msik.inventory_asset_flag,'
231 	|| ' msik.outside_operation_flag,'
232 	--Additional Fields for Process Convergence
233 	|| 'NVL(msik.GRADE_CONTROL_FLAG,''N''),'
234 	|| 'NVL(msik.DEFAULT_GRADE,''''),'
235 	|| 'NVL(msik.EXPIRATION_ACTION_INTERVAL,0),'
236 	|| 'NVL(msik.EXPIRATION_ACTION_CODE,''''),'
237 	|| 'NVL(msik.HOLD_DAYS,0),'
238 	|| 'NVL(msik.MATURITY_DAYS,0),'
239 	|| 'NVL(msik.RETEST_INTERVAL,0),'
240 	|| 'NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,''N''),'
241 	|| 'NVL(msik.CHILD_LOT_FLAG,''N''),'
242 	|| 'NVL(msik.CHILD_LOT_VALIDATION_FLAG,''N''),'
243 	|| 'NVL(msik.LOT_DIVISIBLE_FLAG,''Y''),'
244 	|| 'NVL(msik.SECONDARY_UOM_CODE,''''),'
245 	|| 'NVL(msik.SECONDARY_DEFAULT_IND,''''),'
246 	|| 'NVL(msik.TRACKING_QUANTITY_IND,''P''),'
247 	|| 'NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),'
248 	|| 'NVL(msik.DUAL_UOM_DEVIATION_LOW,0)';
249 
250   BEGIN
251     l_where_clause  := p_where_clause;
252 IF (p_locator_id IS NOT NULL ) THEN
253     l_sql_stmt := l_sql_stmt1 || ' from mtl_system_items_vl msik, mtl_onhand_quantities_detail moqd  WHERE msik.organization_id = ' || p_organization_id || ' AND moqd.subinventory_code = ''' || p_subinventory_code /* Bug 5581528 */
254  || ''' AND moqd.locator_id = ' || p_locator_id ||
255 ' AND msik.concatenated_segments like :l_conc_seg ' || ' AND msik.organization_id = moqd.organization_id AND msik.inventory_item_id = moqd.inventory_item_id ' || l_where_clause;
256 
257 	l_sql_stmt := l_sql_stmt || ' UNION ' || l_sql_stmt_xref ||
258 	 ' FROM mtl_system_items_vl msik, mtl_cross_references mcr ' || /* Bug 5581528 */
259 	 ' WHERE msik.organization_id = ' || p_organization_id ||
260 	 ' AND msik.inventory_item_id = mcr.inventory_item_id ' ||
261 	 ' AND mcr.cross_reference_type = ''' || g_gtin_cross_ref_type ||''''||
262 	 ' AND mcr.cross_reference      like lpad(rtrim(:l_conc_seg
263 	 , ''%'' ), ' || g_gtin_code_length || ' , ' || '''00000000000000'''||')' ||
264 	 ' AND (mcr.organization_id     = msik.organization_id OR mcr.org_independent_flag = ' || '''Y''' || ')' || l_where_clause;
265 
266 ELSE
267     l_sql_stmt := l_sql_stmt1 || ' from mtl_system_items_vl msik, mtl_onhand_quantities_detail moqd  WHERE msik.organization_id = ' || p_organization_id || ' AND moqd.subinventory_code = ''' || p_subinventory_code /* Bug 5581528 */
268  || ''' AND msik.concatenated_segments like :l_conc_seg ' || ' AND msik.organization_id = moqd.organization_id AND msik.inventory_item_id = moqd.inventory_item_id ' || l_where_clause;
269 
270 	   l_sql_stmt := l_sql_stmt || ' UNION ' || l_sql_stmt_xref ||
271 	 ' FROM mtl_system_items_vl msik, mtl_cross_references mcr ' || /* Bug 5581528 */
272 	 ' WHERE msik.organization_id = ' || p_organization_id ||
273 	 ' AND msik.inventory_item_id = mcr.inventory_item_id ' ||
274 	 ' AND mcr.cross_reference_type = ''' || g_gtin_cross_ref_type ||''''||
275 	 ' AND mcr.cross_reference      like lpad(rtrim(:l_conc_seg
276 	 , ''%'' ), ' || g_gtin_code_length || ' , ' || '''00000000000000'''||')' ||
277 	 ' AND (mcr.organization_id     = msik.organization_id OR mcr.org_independent_flag = ' || '''Y''' || ')' || l_where_clause;
278 	   l_sql_stmt := l_sql_stmt || ' UNION ' || l_sql_stmt_xref ||
279 	 ' FROM mtl_system_items_vl msik, mtl_cross_references mcr ' || /* Bug 5581528 */
280 	 ' WHERE msik.organization_id = ' || p_organization_id ||
281 	 ' AND msik.inventory_item_id = mcr.inventory_item_id ' ||
282 	 ' AND mcr.cross_reference_type = ''' || g_gtin_cross_ref_type ||''''||
283 	 ' AND mcr.cross_reference      like lpad(rtrim(:l_conc_seg
284 	 , ''%'' ), ' || g_gtin_code_length || ' , ' || '''00000000000000'''||')' ||
285 	 ' AND (mcr.organization_id     = msik.organization_id OR mcr.org_independent_flag = ' || '''Y''' || ')' || l_where_clause;
286 
287 END IF;
288 
289 	IF p_locator_id IS NOT NULL THEN
290 	    OPEN x_items FOR l_sql_stmt using l_conc_seg,l_conc_seg;
291 	ELSE
292 	   OPEN x_items FOR l_sql_stmt using l_conc_seg,l_conc_seg,l_conc_seg;
293 	END IF;
294   END get_item_lov_sub_loc_moqd;
295 
296 
297 
298 
299 
300 
301 
302  --Bug #5443966
303 --Removed inventory_asset_flag from the SELECT statements
304 --since it is not used in the Query MO Issue/Xfer pages
305 PROCEDURE get_mo_item_lov
306   (x_Items OUT NOCOPY t_genref,
307    p_Organization_Id IN NUMBER,
308    p_Concatenated_Segments IN VARCHAR2,
309    p_header_id IN VARCHAR2)
310   IS
311   l_cross_ref varchar2(204);
312 BEGIN
313 
314    l_cross_ref := lpad(Rtrim(p_concatenated_segments, '%'), g_gtin_code_length, '00000000000000');
315 
316    OPEN x_items FOR
317      SELECT concatenated_segments,
318             inventory_item_id,
319             description,
320             Nvl(revision_qty_control_code,1),
321             Nvl(lot_control_code, 1),
322             Nvl(serial_number_control_code, 1),
323             Nvl(restrict_subinventories_code, 2),
324             Nvl(restrict_locators_code, 2),
325             Nvl(location_control_code, 1),
326             primary_uom_code,
327             Nvl(inspection_required_flag, 'N'),
328             Nvl(shelf_life_code, 1),
329             Nvl(shelf_life_days,0),
330             Nvl(allowed_units_lookup_code, 2),
331             Nvl(effectivity_control,1),
332             0,
333             0,
334             Nvl(default_serial_status_id,1),
335             Nvl(serial_status_enabled,'N'),
336             Nvl(default_lot_status_id,0),
337             Nvl(lot_status_enabled,'N'),
338             '',
339             'N',
340             inventory_item_flag,
341             0,
342      --Bug No 3952081
343      --Additional Fields for Process Convergence
344             NVL(GRADE_CONTROL_FLAG,'N'),
345             NVL(DEFAULT_GRADE,''),
346             NVL(EXPIRATION_ACTION_INTERVAL,0),
347             NVL(EXPIRATION_ACTION_CODE,''),
348             NVL(HOLD_DAYS,0),
349             NVL(MATURITY_DAYS,0),
350             NVL(RETEST_INTERVAL,0),
351             NVL(COPY_LOT_ATTRIBUTE_FLAG,'N'),
352             NVL(CHILD_LOT_FLAG,'N'),
356             NVL(SECONDARY_DEFAULT_IND,''),
353             NVL(CHILD_LOT_VALIDATION_FLAG,'N'),
354             NVL(LOT_DIVISIBLE_FLAG,'Y'),
355             NVL(SECONDARY_UOM_CODE,''),
357             NVL(TRACKING_QUANTITY_IND,'P'),
358             NVL(DUAL_UOM_DEVIATION_HIGH,0),
359             NVL(DUAL_UOM_DEVIATION_LOW,0)
360      FROM   mtl_system_items_vl /* Bug 5581528 */
361      WHERE  organization_id = p_organization_id
362      AND    concatenated_segments LIKE nvl(p_concatenated_segments,concatenated_segments)
363      AND    inventory_item_id in (select inventory_item_id from mtl_txn_request_lines where header_id =to_number(p_header_id))
364 
365      --Changes for GTIN
366      UNION
367 
368      SELECT concatenated_segments,
369             msik.inventory_item_id,
370             msik.description,
371             Nvl(revision_qty_control_code,1),
372             Nvl(lot_control_code, 1),
373             Nvl(serial_number_control_code, 1),
374             Nvl(restrict_subinventories_code, 2),
375             Nvl(restrict_locators_code, 2),
376             Nvl(location_control_code, 1),
377             primary_uom_code,
378             Nvl(inspection_required_flag, 'N'),
379             Nvl(shelf_life_code, 1),
380             Nvl(shelf_life_days,0),
381             Nvl(allowed_units_lookup_code, 2),
382             Nvl(effectivity_control,1),
383             0,
384             0,
385             Nvl(default_serial_status_id,1),
386             Nvl(serial_status_enabled,'N'),
387             Nvl(default_lot_status_id,0),
388             Nvl(lot_status_enabled,'N'),
389             mcr.cross_reference,
390             'N',
391             inventory_item_flag,
392             0,
393      --Bug No 3952081
394      --Additional Fields for Process Convergence
395             NVL(GRADE_CONTROL_FLAG,'N'),
396             NVL(DEFAULT_GRADE,''),
397             NVL(EXPIRATION_ACTION_INTERVAL,0),
398             NVL(EXPIRATION_ACTION_CODE,''),
399             NVL(HOLD_DAYS,0),
400             NVL(MATURITY_DAYS,0),
401             NVL(RETEST_INTERVAL,0),
402             NVL(COPY_LOT_ATTRIBUTE_FLAG,'N'),
403             NVL(CHILD_LOT_FLAG,'N'),
404             NVL(CHILD_LOT_VALIDATION_FLAG,'N'),
405             NVL(LOT_DIVISIBLE_FLAG,'Y'),
406             NVL(SECONDARY_UOM_CODE,''),
407             NVL(SECONDARY_DEFAULT_IND,''),
408             NVL(TRACKING_QUANTITY_IND,'P'),
409             NVL(DUAL_UOM_DEVIATION_HIGH,0),
410             NVL(DUAL_UOM_DEVIATION_LOW,0)
411      FROM   mtl_system_items_vl msik, mtl_cross_references mcr /* Bug 5581528 */
412      WHERE  msik.organization_id = p_organization_id
413      AND    msik.inventory_item_id   = mcr.inventory_item_id
414      AND    mcr.cross_reference_type = g_gtin_cross_ref_type
415      AND    mcr.cross_reference      LIKE l_cross_ref
416      AND    (mcr.organization_id     = msik.organization_id
417              OR
418              mcr.org_independent_flag = 'Y');
419 
420 END get_mo_item_lov;
421 
422 
423   PROCEDURE get_transactable_items(x_items OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_concatenated_segments IN VARCHAR2, p_transaction_action_id IN NUMBER, p_to_organization_id IN NUMBER) IS
424   l_cross_ref varchar2(204);
425   BEGIN
426    --Bug 2769632 Modified the sub query so that invalid combinations of lot/serial and revision items are not visible in the LOV
427    l_cross_ref := lpad(Rtrim(p_concatenated_segments, '%'), g_gtin_code_length, '00000000000000');
428     OPEN x_items FOR
429       SELECT msik.concatenated_segments
430            , msik.inventory_item_id
431            , msik.description
432            , NVL(msik.revision_qty_control_code, 1)
433            , NVL(msik.lot_control_code, 1)
434            , NVL(msik.serial_number_control_code, 1)
435            , NVL(msik.restrict_subinventories_code, 2)
436            , NVL(msik.restrict_locators_code, 2)
437            , NVL(msik.location_control_code, 1)
438            , msik.primary_uom_code
439            , NVL(msik.inspection_required_flag, 2)
440            , NVL(msik.shelf_life_code, 1)
441            , NVL(msik.shelf_life_days, 0)
442            , NVL(msik.allowed_units_lookup_code, 2)
443            , NVL(msik.effectivity_control, 1)
444            , 0
445            , 0
446            , NVL(msik.default_serial_status_id, 0)
447            , NVL(msik.serial_status_enabled, 'N')
448            , NVL(msik.default_lot_status_id, 0)
449            , NVL(msik.lot_status_enabled, 'N')
450            , ''
451            , 'N'
452            , msik.inventory_item_flag
453            , 0,
454      --Bug No 3952081
455      --Additional Fields for Process Convergence
456            NVL(msik.GRADE_CONTROL_FLAG,'N'),
457            NVL(msik.DEFAULT_GRADE,''),
458            NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
459            NVL(msik.EXPIRATION_ACTION_CODE,''),
460            NVL(msik.HOLD_DAYS,0),
461            NVL(msik.MATURITY_DAYS,0),
462            NVL(msik.RETEST_INTERVAL,0),
463            NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
464            NVL(msik.CHILD_LOT_FLAG,'N'),
465            NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
466            NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
467            NVL(msik.SECONDARY_UOM_CODE,''),
468            NVL(msik.SECONDARY_DEFAULT_IND,''),
469            NVL(msik.TRACKING_QUANTITY_IND,'P'),
470            NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
471            NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
475          AND ((p_transaction_action_id=3 AND EXISTS (SELECT 1
472         FROM mtl_system_items_vl msik /* Bug 5581528 */
473        WHERE msik.organization_id = p_organization_id
474          AND msik.mtl_transactions_enabled_flag = 'Y'
476                                                     FROM mtl_system_items_b msib
477                                                     WHERE msib.inventory_item_id=msik.inventory_item_id
478                                                     AND  msib.organization_id = p_to_organization_id
479                                                     AND msib.mtl_transactions_enabled_flag = 'Y'
480                                                     AND (NVL(msik.lot_control_code,1)=2 OR nvl(msib.lot_control_code,1)=1)
481                                                     AND (NVL(msik.serial_number_control_code,1) IN (2,5) OR nvl(msib.serial_number_control_code,1) IN (1,6))
482                                                    AND (NVL(msik.revision_qty_control_code,1)=2 OR NVL(msib.revision_qty_control_code,1)=1)))
483               OR (p_transaction_action_id<>3 AND EXISTS (SELECT 1
484                                                         FROM mtl_system_items_b msib1
485                                                         WHERE msib1.inventory_item_id=msik.inventory_item_id
486                                                         AND msib1.organization_id=p_to_organization_id
487                                                         AND msib1.mtl_transactions_enabled_flag='Y')))
488       AND msik.concatenated_segments LIKE (p_concatenated_segments)
489 
490       -- Changes for GTIN
491       UNION
492       SELECT concatenated_segments
493            , msik.inventory_item_id
494            , msik.description
495            , NVL(revision_qty_control_code, 1)
496            , NVL(lot_control_code, 1)
497            , NVL(serial_number_control_code, 1)
498            , NVL(restrict_subinventories_code, 2)
499            , NVL(restrict_locators_code, 2)
500            , NVL(location_control_code, 1)
501            , primary_uom_code
502            , NVL(inspection_required_flag, 2)
503            , NVL(shelf_life_code, 1)
504            , NVL(shelf_life_days, 0)
505            , NVL(allowed_units_lookup_code, 2)
506            , NVL(effectivity_control, 1)
507            , 0
508            , 0
509            , NVL(default_serial_status_id, 0)
510            , NVL(serial_status_enabled, 'N')
511            , NVL(default_lot_status_id, 0)
512            , NVL(lot_status_enabled, 'N')
513            , mcr.cross_reference
514            , 'N'
515            , inventory_item_flag
516            , 0,
517      --Bug No 3952081
518      --Additional Fields for Process Convergence
519            NVL(GRADE_CONTROL_FLAG,'N'),
520            NVL(DEFAULT_GRADE,''),
521            NVL(EXPIRATION_ACTION_INTERVAL,0),
522            NVL(EXPIRATION_ACTION_CODE,''),
523            NVL(HOLD_DAYS,0),
524            NVL(MATURITY_DAYS,0),
525            NVL(RETEST_INTERVAL,0),
526            NVL(COPY_LOT_ATTRIBUTE_FLAG,'N'),
527            NVL(CHILD_LOT_FLAG,'N'),
528            NVL(CHILD_LOT_VALIDATION_FLAG,'N'),
529            NVL(LOT_DIVISIBLE_FLAG,'Y'),
530            NVL(SECONDARY_UOM_CODE,''),
531            NVL(SECONDARY_DEFAULT_IND,''),
532            NVL(TRACKING_QUANTITY_IND,'P'),
533            NVL(DUAL_UOM_DEVIATION_HIGH,0),
534            NVL(DUAL_UOM_DEVIATION_LOW,0)
535       FROM mtl_system_items_vl msik, mtl_cross_references mcr /* Bug 5581528 */
536       WHERE msik.organization_id = p_organization_id
537       AND msik.mtl_transactions_enabled_flag = 'Y'
538       AND ((p_transaction_action_id=3 AND EXISTS (SELECT 1
539                                                  FROM mtl_system_items_b msib
540                                                  WHERE msib.inventory_item_id=msik.inventory_item_id
541                                                  AND msib.organization_id = p_to_organization_id
542                                                  AND msib.mtl_transactions_enabled_flag ='Y'
543                                                  AND (NVL(msik.lot_control_code,1)=2 OR nvl(msib.lot_control_code,1)=1)
544                                                  AND (NVL(msik.serial_number_control_code,1) IN (2,5) OR nvl(msib.serial_number_control_code,1) IN (1,6))
545                                                  AND (NVL(msik.revision_qty_control_code,1)=2 OR NVL(msib.revision_qty_control_code,1)=1)))
546            OR ((p_transaction_action_id <>3 AND EXISTS(SELECT 1
547                                                    FROM mtl_system_items_b msib1
548                                                    WHERE  msib1.inventory_item_id=msik.inventory_item_id
549                                                      AND msib1.organization_id=p_to_organization_id
550                                                     AND msib1.mtl_transactions_enabled_flag='Y'))))
551       AND msik.inventory_item_id   = mcr.inventory_item_id
552       AND mcr.cross_reference_type = g_gtin_cross_ref_type
553       AND mcr.cross_reference      LIKE l_cross_ref
554       AND (mcr.organization_id     = msik.organization_id OR mcr.org_independent_flag = 'Y');
555   END get_transactable_items;
556 
557   --      Name: GET_REVISION_LOV
558   --
559   --      Input parameters:
560   --       p_organization_id     Organization ID
561   --       p_item_id             Inventory Item id
562   --       p_revision            Revision
563   --       p_planning_org_id     Planning Organization ID - Consignment and VMI Changes
564   --       p_planning_tp_type    Planning TP Type         - Consignment and VMI Changes
568   --      Output parameters:
565   --       p_owning_org_id       Owning Organization ID   - Consignment and VMI Changes
566   --       p_owning_tp_type      Owning TP Type           - Consignment and VMI Changes
567   --
569   --       x_revs                Returns LOV rows as Reference Cursor
570   --
571   --      Functions: This procedure returns valid Revisions after restricting it by
572   --                 Org, Item, Planning and Owning criterions.
573   --
574   --
575 
576   PROCEDURE get_revision_lov(
577     x_revs OUT NOCOPY t_genref
578   , p_organization_id IN NUMBER
579   , p_inventory_item_id IN NUMBER
580   , p_revision IN VARCHAR2
581   , p_planning_org_id IN NUMBER
582   , p_planning_tp_type IN NUMBER
583   , p_owning_org_id IN NUMBER
584   , p_owning_tp_type IN NUMBER
585   ) IS
586   BEGIN
587     OPEN x_revs FOR
588       SELECT a.revision, a.effectivity_date, NVL(a.description, '')
589         FROM mtl_item_revisions a
590        WHERE a.organization_id = p_organization_id
591          AND a.inventory_item_id = p_inventory_item_id
592          AND a.implementation_date is not null   --BUG 7204523 Added to restrict the revisions that are not yet implemented.
593          AND a.revision LIKE (p_revision)
594          AND (p_planning_org_id IS NULL
595               OR EXISTS(SELECT 1 FROM mtl_onhand_quantities_detail moqd
596                          WHERE moqd.revision = a.revision
597                            AND moqd.organization_id = a.organization_id
598                            AND moqd.inventory_item_id = a.inventory_item_id
599                            AND moqd.planning_organization_id = p_planning_org_id
600                            AND moqd.planning_tp_type = p_planning_tp_type))
601          AND (p_owning_org_id IS NULL
602               OR EXISTS(SELECT 1 FROM mtl_onhand_quantities_detail moqd
603                          WHERE moqd.revision = a.revision
604                            AND moqd.organization_id = a.organization_id
605                            AND moqd.inventory_item_id = a.inventory_item_id
606                            AND moqd.owning_organization_id = p_owning_org_id
607                            AND moqd.owning_tp_type = p_owning_tp_type));
608   END get_revision_lov;
609 
610   --      Name: GET_UOM_LOV
611   --
612   --      Input parameters:
613   --       p_Organization_Id   which restricts LOV SQL to current org
614   --       p_Inventory_Item_Id restrict LOV for a given item
615   --       p_UOM_code   which restricts LOV SQL to the user input text
616   --                                e.g.  Ea%
617   --
618   --      Output parameters:
619   --       x_UOMS      returns LOV rows as reference cursor
620   --
621   --      Functions: This procedure returns LOV rows for a given org, item and
622   --                 user input text
623   --
624 
625   --Bug # 2647045
626   PROCEDURE get_uom_lov(x_UOMS OUT NOCOPY t_genref,
627 		      p_Organization_Id IN NUMBER,
628 		      p_Inventory_Item_Id IN NUMBER,
629 		      p_UOM_Code IN VARCHAR2) IS
630      l_code VARCHAR2(20):=p_UOM_Code;
631   BEGIN
632     IF (INSTR(l_code,'(') > 0) THEN
633       l_code := SUBSTR(p_UOM_Code,1,INSTR(p_UOM_Code,'(')-1);
634     END IF;
635 
636     OPEN x_uoms FOR
637       SELECT (inv_ui_item_lovs.get_conversion_rate(uom_code,
638 				   p_Organization_Id,
639 				   p_Inventory_Item_Id)) uom_code_comp
640            , unit_of_measure
641            , description
642            , uom_class
643         FROM mtl_item_uoms_view
644        WHERE organization_id = p_organization_id
645          AND inventory_item_id = p_inventory_item_id
646          AND uom_code LIKE (l_code)
647       ORDER BY inv_ui_item_lovs.conversion_order(inv_ui_item_lovs.get_conversion_rate(uom_code,
648 				   p_Organization_Id,
649 				   p_Inventory_Item_Id)) asc, Upper(uom_code);
650   END get_uom_lov;
651 
652   --      Name: GET_UOM_LOV_RCV
653   --
654   --      Input parameters:
655   --       p_Organization_Id   which restricts LOV SQL to current org
656   --       p_Inventory_Item_Id restrict LOV for a given item
657   --       p_uom_type  restrict LOV to certain UOM type
658   --       p_UOM_code   which restricts LOV SQL to the user input text
659   --                                e.g.  Ea%
660   --
661   --      Output parameters:
662   --       x_UOMS      returns LOV rows as reference cursor
663   --
664   --      Functions: This procedure returns UOM LOV rows for a given org, item and
665   --                 user input text.
666   --                 This API is for RECEIVING transaction only
667   --
668   -- Bug 2192815
669   -- The part for Expense Items is now moved over to INVRCVLB.pls, INVRCVLS.pls
670   -- The name of the procedure is get_uom_lov_expense
671   --
672 
673   --Bug # 2647045
674   PROCEDURE get_uom_lov_rcv(x_uoms OUT NOCOPY t_genref,
675 			  p_organization_id IN NUMBER,
676 			  p_item_id IN NUMBER,
677 			  p_uom_type IN NUMBER,
678 			  p_uom_code IN VARCHAR2) IS
679      l_code VARCHAR2(20):=p_uom_code;
680   BEGIN
681     IF (INSTR(l_code,'(') > 0) THEN
682       l_code := SUBSTR(p_uom_code,1,INSTR(p_uom_code,'(')-1);
683     END IF;
684 
685     IF (p_item_id IS NOT NULL
686         AND p_item_id > 0
687        ) THEN
688       OPEN x_uoms FOR
689         SELECT   (inv_ui_item_lovs.get_conversion_rate(uom_code,
690 				   p_organization_id,
694                , uom_class
691 				   Inventory_Item_Id)) uom_code_comp
692                , unit_of_measure
693                , description
695             FROM mtl_item_uoms_view
696            WHERE organization_id = p_organization_id
697              AND inventory_item_id(+) = p_item_id
698              AND NVL(uom_type, 3) = NVL(p_uom_type, 3)
699              AND uom_code LIKE (l_code)
700 	     ORDER BY inv_ui_item_lovs.conversion_order(inv_ui_item_lovs.get_conversion_rate(uom_code,
701 				   p_organization_id,
702 				   Inventory_Item_Id)) asc, Upper(uom_code);
703     -- Bug 2192815
704     -- The following is commented out as this is part of INVRCVLB.pls now
705     -- ELSE
706     -- OPEN x_uoms FOR
707     --SELECT uom_code
708     --, unit_of_measure
709     --, ''
710     --, uom_class
711     --FROM mtl_units_of_measure
712     --WHERE base_uom_flag = 'Y'
713     --AND uom_code LIKE (p_uom_code || '%')
714     --ORDER BY Upper(uom_code);
715 
716     END IF;
717   END get_uom_lov_rcv;
718 
719   PROCEDURE get_lot_items_lov(x_items OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_lot_number IN VARCHAR2, p_transaction_type_id IN VARCHAR2, p_concatenated_segments IN VARCHAR2) IS
720   l_cross_ref varchar2(204);
721 BEGIN
722 
723    l_cross_ref := lpad(Rtrim(p_concatenated_segments, '%'), g_gtin_code_length, '00000000000000');
724     IF p_transaction_type_id = inv_globals.g_type_inv_lot_split -- Lot Split (82)
725                                                                 THEN
726       OPEN x_items FOR
727         SELECT   msik.concatenated_segments concatenated_segments
728                , msik.inventory_item_id
729                , msik.description
730                , NVL(msik.revision_qty_control_code, 1)
731                , NVL(msik.lot_control_code, 1)
732                , NVL(msik.serial_number_control_code, 1)
733                , NVL(msik.restrict_subinventories_code, 2)
734                , NVL(msik.restrict_locators_code, 2)
735                , NVL(msik.location_control_code, 1)
736                , msik.primary_uom_code
737                , NVL(msik.inspection_required_flag, 2)
738                , NVL(msik.shelf_life_code, 1)
739                , NVL(msik.shelf_life_days, 0)
740                , NVL(msik.allowed_units_lookup_code, 2)
741                , NVL(msik.effectivity_control, 1)
742                , 0 parentlpnid
743                , 0 quantity
744                , NVL(msik.default_serial_status_id, 0)
745                , NVL(msik.serial_status_enabled, 'N')
746                , NVL(msik.default_lot_status_id, 0)
747                , NVL(msik.lot_status_enabled, 'N')
748                , ''
749                , 'N'
750                , msik.inventory_item_flag
751                , 0,
752      --Bug No 3952081
753      --Additional Fields for Process Convergence
754                NVL(msik.GRADE_CONTROL_FLAG,'N'),
755                NVL(msik.DEFAULT_GRADE,''),
756                NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
757                NVL(msik.EXPIRATION_ACTION_CODE,''),
758                NVL(msik.HOLD_DAYS,0),
759                NVL(msik.MATURITY_DAYS,0),
760                NVL(msik.RETEST_INTERVAL,0),
761                NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
762                NVL(msik.CHILD_LOT_FLAG,'N'),
763                NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
764                NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
765                NVL(msik.SECONDARY_UOM_CODE,''),
766                NVL(msik.SECONDARY_DEFAULT_IND,''),
767                NVL(msik.TRACKING_QUANTITY_IND,'P'),
768                NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
769                NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
770             FROM mtl_system_items_vl msik, mtl_lot_numbers mln /* Bug 5581528 */
771            WHERE msik.lot_split_enabled = 'Y'
772              AND msik.concatenated_segments LIKE (p_concatenated_segments)
773              AND msik.organization_id = mln.organization_id
774              AND msik.inventory_item_id = mln.inventory_item_id
775              AND mln.lot_number = p_lot_number
776              AND mln.organization_id = p_organization_id
777              AND (NVL(msik.lot_status_enabled, 'N') = 'N'
778                  OR NOT EXISTS (SELECT 1 FROM  mtl_status_transaction_control
779                                  WHERE status_id = mln.status_id
780                                    AND transaction_type_id = p_transaction_type_id
781                                    AND is_allowed = 2))
782 
783 
784 	--Changes for GTIN
785 
786 	UNION
787 
788 	SELECT   msik.concatenated_segments concatenated_segments
789                , msik.inventory_item_id
790                , msik.description
791                , NVL(msik.revision_qty_control_code, 1)
792                , NVL(msik.lot_control_code, 1)
793                , NVL(msik.serial_number_control_code, 1)
794                , NVL(msik.restrict_subinventories_code, 2)
795                , NVL(msik.restrict_locators_code, 2)
796                , NVL(msik.location_control_code, 1)
797                , msik.primary_uom_code
798                , NVL(msik.inspection_required_flag, 2)
799                , NVL(msik.shelf_life_code, 1)
800                , NVL(msik.shelf_life_days, 0)
801                , NVL(msik.allowed_units_lookup_code, 2)
802                , NVL(msik.effectivity_control, 1)
803                , 0 parentlpnid
804                , 0 quantity
805                , NVL(msik.default_serial_status_id, 0)
809                , mcr.cross_reference
806                , NVL(msik.serial_status_enabled, 'N')
807                , NVL(msik.default_lot_status_id, 0)
808                , NVL(msik.lot_status_enabled, 'N')
810                , 'N'
811                , msik.inventory_item_flag
812                , 0,
813      --Bug No 3952081
814      --Additional Fields for Process Convergence
815                NVL(msik.GRADE_CONTROL_FLAG,'N'),
816                NVL(msik.DEFAULT_GRADE,''),
817                NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
818                NVL(msik.EXPIRATION_ACTION_CODE,''),
819                NVL(msik.HOLD_DAYS,0),
820                NVL(msik.MATURITY_DAYS,0),
821                NVL(msik.RETEST_INTERVAL,0),
822                NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
823                NVL(msik.CHILD_LOT_FLAG,'N'),
824                NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
825                NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
826                NVL(msik.SECONDARY_UOM_CODE,''),
827                NVL(msik.SECONDARY_DEFAULT_IND,''),
828                NVL(msik.TRACKING_QUANTITY_IND,'P'),
829                NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
830                NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
831 	FROM mtl_system_items_vl msik, /* Bug 5581528 */
832 	mtl_lot_numbers mln,
833 	mtl_cross_references mcr
834 	WHERE msik.lot_split_enabled = 'Y'
835 	AND msik.organization_id = mln.organization_id
836 	AND msik.inventory_item_id = mln.inventory_item_id
837 	AND mln.lot_number = p_lot_number
838 	AND mln.organization_id = p_organization_id
839 	AND msik.inventory_item_id   = mcr.inventory_item_id
840 	AND mcr.cross_reference_type = g_gtin_cross_ref_type
841 	AND mcr.cross_reference      LIKE l_cross_ref
842 	AND (mcr.organization_id     = msik.organization_id
843 	     OR
844 	     mcr.org_independent_flag = 'Y')
845         AND (NVL(msik.lot_status_enabled, 'N') = 'N'
846              OR NOT EXISTS (SELECT 1 FROM  mtl_status_transaction_control
847                              WHERE status_id = mln.status_id
848                                AND transaction_type_id = p_transaction_type_id
849                                AND is_allowed = 2))
850 	ORDER BY concatenated_segments;
851 
852     ELSE
853       IF p_transaction_type_id = inv_globals.g_type_inv_lot_merge -- Lot Merge 83
854                                                                   THEN
855         OPEN x_items FOR
856           SELECT   msik.concatenated_segments concatenated_segments
857                  , msik.inventory_item_id
858                  , msik.description
859                  , NVL(msik.revision_qty_control_code, 1)
860                  , NVL(msik.lot_control_code, 1)
861                  , NVL(msik.serial_number_control_code, 1)
862                  , NVL(msik.restrict_subinventories_code, 2)
863                  , NVL(msik.restrict_locators_code, 2)
864                  , NVL(msik.location_control_code, 1)
865                  , msik.primary_uom_code
866                  , NVL(msik.inspection_required_flag, 2)
867                  , NVL(msik.shelf_life_code, 1)
868                  , NVL(msik.shelf_life_days, 0)
869                  , NVL(msik.allowed_units_lookup_code, 2)
870                  , NVL(msik.effectivity_control, 1)
871                  , 0 parentlpnid
872                  , 0 quantity
873                  , NVL(msik.default_serial_status_id, 0)
874                  , NVL(msik.serial_status_enabled, 'N')
875                  , NVL(msik.default_lot_status_id, 0)
876                  , NVL(msik.lot_status_enabled, 'N')
877                  , ''
878                  , 'N'
879                  , msik.inventory_item_flag
880                  , 0,
881      --Bug No 3952081
882      --Additional Fields for Process Convergence
883                NVL(msik.GRADE_CONTROL_FLAG,'N'),
884                NVL(msik.DEFAULT_GRADE,''),
885                NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
886                NVL(msik.EXPIRATION_ACTION_CODE,''),
887                NVL(msik.HOLD_DAYS,0),
888                NVL(msik.MATURITY_DAYS,0),
889                NVL(msik.RETEST_INTERVAL,0),
890                NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
891                NVL(msik.CHILD_LOT_FLAG,'N'),
892                NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
893                NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
894                NVL(msik.SECONDARY_UOM_CODE,''),
895                NVL(msik.SECONDARY_DEFAULT_IND,''),
896                NVL(msik.TRACKING_QUANTITY_IND,'P'),
897                NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
898                NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
899               FROM mtl_system_items_vl msik, mtl_lot_numbers mln /* Bug 5581528 */
900              WHERE msik.lot_merge_enabled = 'Y'
901                AND msik.concatenated_segments LIKE (p_concatenated_segments)
902                AND msik.organization_id = mln.organization_id
903                AND msik.inventory_item_id = mln.inventory_item_id
904                AND mln.lot_number = p_lot_number
905   	       AND mln.organization_id = p_organization_id
906                AND (NVL(msik.lot_status_enabled, 'N') = 'N'
907                    OR NOT EXISTS (SELECT 1 FROM  mtl_status_transaction_control
908                                    WHERE status_id = mln.status_id
909                                      AND transaction_type_id = p_transaction_type_id
910                                      AND is_allowed = 2))
911 
912 
913 	  --Changes for GTIN
914 
915 	  UNION
916 
920                  , NVL(msik.revision_qty_control_code, 1)
917           SELECT   msik.concatenated_segments concatenated_segments
918                  , msik.inventory_item_id
919                  , msik.description
921                  , NVL(msik.lot_control_code, 1)
922                  , NVL(msik.serial_number_control_code, 1)
923                  , NVL(msik.restrict_subinventories_code, 2)
924                  , NVL(msik.restrict_locators_code, 2)
925                  , NVL(msik.location_control_code, 1)
926                  , msik.primary_uom_code
927                  , NVL(msik.inspection_required_flag, 2)
928                  , NVL(msik.shelf_life_code, 1)
929                  , NVL(msik.shelf_life_days, 0)
930                  , NVL(msik.allowed_units_lookup_code, 2)
931                  , NVL(msik.effectivity_control, 1)
932                  , 0 parentlpnid
933                  , 0 quantity
934                  , NVL(msik.default_serial_status_id, 0)
935                  , NVL(msik.serial_status_enabled, 'N')
936                  , NVL(msik.default_lot_status_id, 0)
937                  , NVL(msik.lot_status_enabled, 'N')
938                  , mcr.cross_reference
939                  , 'N'
940                  , msik.inventory_item_flag
941                  , 0,
942      --Bug No 3952081
943      --Additional Fields for Process Convergence
944                NVL(msik.GRADE_CONTROL_FLAG,'N'),
945                NVL(msik.DEFAULT_GRADE,''),
946                NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
947                NVL(msik.EXPIRATION_ACTION_CODE,''),
948                NVL(msik.HOLD_DAYS,0),
949                NVL(msik.MATURITY_DAYS,0),
950                NVL(msik.RETEST_INTERVAL,0),
951                NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
952                NVL(msik.CHILD_LOT_FLAG,'N'),
953                NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
954                NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
955                NVL(msik.SECONDARY_UOM_CODE,''),
956                NVL(msik.SECONDARY_DEFAULT_IND,''),
957                NVL(msik.TRACKING_QUANTITY_IND,'P'),
958                NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
959                NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
960 	  FROM mtl_system_items_vl msik, /* Bug 5581528 */
961 	  mtl_lot_numbers mln,
962 	  mtl_cross_references mcr
963 	  WHERE msik.lot_merge_enabled = 'Y'
964 	  AND msik.organization_id = mln.organization_id
965 	  AND msik.inventory_item_id = mln.inventory_item_id
966 	  AND mln.lot_number = p_lot_number
967 	  AND mln.organization_id = p_organization_id
968 	  AND msik.inventory_item_id   = mcr.inventory_item_id
969 	  AND mcr.cross_reference_type = g_gtin_cross_ref_type
970 	  AND mcr.cross_reference      LIKE l_cross_ref
971 	  AND (mcr.organization_id     = msik.organization_id
972 	       OR
973 	       mcr.org_independent_flag = 'Y')
974           AND (NVL(msik.lot_status_enabled, 'N') = 'N'
975                OR NOT EXISTS (SELECT 1 FROM  mtl_status_transaction_control
976                                WHERE status_id = mln.status_id
977                                  AND transaction_type_id = p_transaction_type_id
978                                  AND is_allowed = 2))
979 	  ORDER BY concatenated_segments;
980 
981       ELSE
982         IF p_transaction_type_id = inv_globals.g_type_inv_lot_translate THEN
983           IF (p_lot_number IS NOT NULL) THEN
984             OPEN x_items FOR
985               SELECT   msik.concatenated_segments concatenated_segments
986                      , msik.inventory_item_id
987                      , msik.description
988                      , NVL(msik.revision_qty_control_code, 1)
989                      , NVL(msik.lot_control_code, 1)
990                      , NVL(msik.serial_number_control_code, 1)
991                      , NVL(msik.restrict_subinventories_code, 2)
992                      , NVL(msik.restrict_locators_code, 2)
993                      , NVL(msik.location_control_code, 1)
994                      , msik.primary_uom_code
995                      , NVL(msik.inspection_required_flag, 2)
996                      , NVL(msik.shelf_life_code, 1)
997                      , NVL(msik.shelf_life_days, 0)
998                      , NVL(msik.allowed_units_lookup_code, 2)
999                      , NVL(msik.effectivity_control, 1)
1000                      , 0 parentlpnid
1001                      , 0 quantity
1002                      , NVL(msik.default_serial_status_id, 0)
1003                      , NVL(msik.serial_status_enabled, 'N')
1004                      , NVL(msik.default_lot_status_id, 0)
1005                      , NVL(msik.lot_status_enabled, 'N')
1006                      , ''
1007                      , 'N'
1008                      , msik.inventory_item_flag
1009                      , 0,
1010      --Bug No 3952081
1011      --Additional Fields for Process Convergence
1012                      NVL(msik.GRADE_CONTROL_FLAG,'N'),
1013                      NVL(msik.DEFAULT_GRADE,''),
1014                      NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
1015                      NVL(msik.EXPIRATION_ACTION_CODE,''),
1016                      NVL(msik.HOLD_DAYS,0),
1017                      NVL(msik.MATURITY_DAYS,0),
1018                      NVL(msik.RETEST_INTERVAL,0),
1019                      NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
1020                      NVL(msik.CHILD_LOT_FLAG,'N'),
1021                      NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
1022                      NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
1023                      NVL(msik.SECONDARY_UOM_CODE,''),
1027                      NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
1024                      NVL(msik.SECONDARY_DEFAULT_IND,''),
1025                      NVL(msik.TRACKING_QUANTITY_IND,'P'),
1026                      NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
1028                   FROM mtl_system_items_vl msik, mtl_lot_numbers mln /* Bug 5581528 */
1029                  WHERE msik.concatenated_segments LIKE (p_concatenated_segments)
1030                    AND msik.organization_id = mln.organization_id
1031                    AND msik.inventory_item_id = mln.inventory_item_id
1032                    AND mln.lot_number = p_lot_number
1033 	           AND mln.organization_id = p_organization_id
1034                    AND (NVL(msik.lot_status_enabled, 'N') = 'N'
1035                     OR NOT EXISTS (SELECT 1 FROM  mtl_status_transaction_control
1036                                     WHERE status_id = mln.status_id
1037                                       AND transaction_type_id = p_transaction_type_id
1038                                       AND is_allowed = 2))
1039 
1040 	      --Changes for GTIN
1041 
1042 	      UNION
1043 
1044 	      SELECT   msik.concatenated_segments concatenated_segments
1045                      , msik.inventory_item_id
1046                      , msik.description
1047                      , NVL(msik.revision_qty_control_code, 1)
1048                      , NVL(msik.lot_control_code, 1)
1049                      , NVL(msik.serial_number_control_code, 1)
1050                      , NVL(msik.restrict_subinventories_code, 2)
1051                      , NVL(msik.restrict_locators_code, 2)
1052                      , NVL(msik.location_control_code, 1)
1053                      , msik.primary_uom_code
1054                      , NVL(msik.inspection_required_flag, 2)
1055                      , NVL(msik.shelf_life_code, 1)
1056                      , NVL(msik.shelf_life_days, 0)
1057                      , NVL(msik.allowed_units_lookup_code, 2)
1058                      , NVL(msik.effectivity_control, 1)
1059                      , 0 parentlpnid
1060                      , 0 quantity
1061                      , NVL(msik.default_serial_status_id, 0)
1062                      , NVL(msik.serial_status_enabled, 'N')
1063                      , NVL(msik.default_lot_status_id, 0)
1064                      , NVL(msik.lot_status_enabled, 'N')
1065                      , mcr.cross_reference
1066                      , 'N'
1067                      , msik.inventory_item_flag
1068                      , 0,
1069      --Bug No 3952081
1070      --Additional Fields for Process Convergence
1071                      NVL(msik.GRADE_CONTROL_FLAG,'N'),
1072                      NVL(msik.DEFAULT_GRADE,''),
1073                      NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
1074                      NVL(msik.EXPIRATION_ACTION_CODE,''),
1075                      NVL(msik.HOLD_DAYS,0),
1076                      NVL(msik.MATURITY_DAYS,0),
1077                      NVL(msik.RETEST_INTERVAL,0),
1078                      NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
1079                      NVL(msik.CHILD_LOT_FLAG,'N'),
1080                      NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
1081                      NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
1082                      NVL(msik.SECONDARY_UOM_CODE,''),
1083                      NVL(msik.SECONDARY_DEFAULT_IND,''),
1084                      NVL(msik.TRACKING_QUANTITY_IND,'P'),
1085                      NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
1086                      NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
1087 	      FROM mtl_system_items_vl msik, /* Bug 5581528 */
1088 	      mtl_lot_numbers mln,
1089 	      mtl_cross_references mcr
1090 	      WHERE msik.organization_id = mln.organization_id
1091 	      AND msik.inventory_item_id = mln.inventory_item_id
1092 	      AND mln.lot_number = p_lot_number
1093 	      AND mln.organization_id = p_organization_id
1094 	      AND msik.inventory_item_id   = mcr.inventory_item_id
1095 	      AND mcr.cross_reference_type = g_gtin_cross_ref_type
1096 	      AND mcr.cross_reference      LIKE l_cross_ref
1097 	      AND (mcr.organization_id     = msik.organization_id
1098 		   OR
1099 		   mcr.org_independent_flag = 'Y')
1100               AND (NVL(msik.lot_status_enabled, 'N') = 'N'
1101                   OR NOT EXISTS (SELECT 1 FROM  mtl_status_transaction_control
1102                                   WHERE status_id = mln.status_id
1103                                     AND transaction_type_id = p_transaction_type_id
1104                                     AND is_allowed = 2))
1105 	      ORDER BY concatenated_segments;
1106           ELSE
1107             OPEN x_items FOR
1108               SELECT   msik.concatenated_segments concatenated_segments
1109                      , msik.inventory_item_id
1110                      , msik.description
1111                      , NVL(msik.revision_qty_control_code, 1)
1112                      , NVL(msik.lot_control_code, 1)
1113                      , NVL(msik.serial_number_control_code, 1)
1114                      , NVL(msik.restrict_subinventories_code, 2)
1115                      , NVL(msik.restrict_locators_code, 2)
1116                      , NVL(msik.location_control_code, 1)
1117                      , msik.primary_uom_code
1118                      , NVL(msik.inspection_required_flag, 2)
1119                      , NVL(msik.shelf_life_code, 1)
1120                      , NVL(msik.shelf_life_days, 0)
1121                      , NVL(msik.allowed_units_lookup_code, 2)
1122                      , NVL(msik.effectivity_control, 1)
1123                      , 0 parentlpnid
1124                      , 0 quantity
1128                      , NVL(msik.lot_status_enabled, 'N')
1125                      , NVL(msik.default_serial_status_id, 0)
1126                      , NVL(msik.serial_status_enabled, 'N')
1127                      , NVL(msik.default_lot_status_id, 0)
1129                      , ''
1130                      , 'N'
1131                      , msik.inventory_item_flag
1132                      , 0,
1133      --Bug No 3952081
1134      --Additional Fields for Process Convergence
1135                      NVL(msik.GRADE_CONTROL_FLAG,'N'),
1136                      NVL(msik.DEFAULT_GRADE,''),
1137                      NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
1138                      NVL(msik.EXPIRATION_ACTION_CODE,''),
1139                      NVL(msik.HOLD_DAYS,0),
1140                      NVL(msik.MATURITY_DAYS,0),
1141                      NVL(msik.RETEST_INTERVAL,0),
1142                      NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
1143                      NVL(msik.CHILD_LOT_FLAG,'N'),
1144                      NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
1145                      NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
1146                      NVL(msik.SECONDARY_UOM_CODE,''),
1147                      NVL(msik.SECONDARY_DEFAULT_IND,''),
1148                      NVL(msik.TRACKING_QUANTITY_IND,'P'),
1149                      NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
1150                      NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
1151                   FROM mtl_system_items_vl msik /* Bug 5581528 */
1152                  WHERE msik.concatenated_segments LIKE (p_concatenated_segments)
1153                    AND msik.lot_control_code = 2
1154 	      AND msik.organization_id = p_organization_id
1155 
1156 	      --Changes for GTIN
1157 
1158 	      UNION
1159 
1160 	                    SELECT   msik.concatenated_segments concatenated_segments
1161                      , msik.inventory_item_id
1162                      , msik.description
1163                      , NVL(msik.revision_qty_control_code, 1)
1164                      , NVL(msik.lot_control_code, 1)
1165                      , NVL(msik.serial_number_control_code, 1)
1166                      , NVL(msik.restrict_subinventories_code, 2)
1167                      , NVL(msik.restrict_locators_code, 2)
1168                      , NVL(msik.location_control_code, 1)
1169                      , msik.primary_uom_code
1170                      , NVL(msik.inspection_required_flag, 2)
1171                      , NVL(msik.shelf_life_code, 1)
1172                      , NVL(msik.shelf_life_days, 0)
1173                      , NVL(msik.allowed_units_lookup_code, 2)
1174                      , NVL(msik.effectivity_control, 1)
1175                      , 0 parentlpnid
1176                      , 0 quantity
1177                      , NVL(msik.default_serial_status_id, 0)
1178                      , NVL(msik.serial_status_enabled, 'N')
1179                      , NVL(msik.default_lot_status_id, 0)
1180                      , NVL(msik.lot_status_enabled, 'N')
1181                      , mcr.cross_reference
1182                      , 'N'
1183                      , msik.inventory_item_flag
1184                      , 0,
1185      --Bug No 3952081
1186      --Additional Fields for Process Convergence
1187                      NVL(msik.GRADE_CONTROL_FLAG,'N'),
1188                      NVL(msik.DEFAULT_GRADE,''),
1189                      NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
1190                      NVL(msik.EXPIRATION_ACTION_CODE,''),
1191                      NVL(msik.HOLD_DAYS,0),
1192                      NVL(msik.MATURITY_DAYS,0),
1193                      NVL(msik.RETEST_INTERVAL,0),
1194                      NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
1195                      NVL(msik.CHILD_LOT_FLAG,'N'),
1196                      NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
1197                      NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
1198                      NVL(msik.SECONDARY_UOM_CODE,''),
1199                      NVL(msik.SECONDARY_DEFAULT_IND,''),
1200                      NVL(msik.TRACKING_QUANTITY_IND,'P'),
1201                      NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
1202                      NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
1203 	      FROM mtl_system_items_vl msik, /* Bug 5581528 */
1204 	      mtl_cross_references mcr
1205 	      WHERE msik.lot_control_code = 2
1206 	      AND msik.organization_id = p_organization_id
1207 	      AND msik.inventory_item_id   = mcr.inventory_item_id
1208 	      AND mcr.cross_reference_type = g_gtin_cross_ref_type
1209 	      AND mcr.cross_reference      LIKE l_cross_ref
1210 	      AND (mcr.organization_id     = msik.organization_id
1211 		   OR
1212 		   mcr.org_independent_flag = 'Y')
1213               ORDER BY concatenated_segments;
1214           END IF;
1215         ELSE
1216           OPEN x_items FOR
1217             SELECT   msik.concatenated_segments concatenated_segments
1218                    , msik.inventory_item_id
1219                    , msik.description
1220                    , NVL(msik.revision_qty_control_code, 1)
1221                    , NVL(msik.lot_control_code, 1)
1222                    , NVL(msik.serial_number_control_code, 1)
1223                    , NVL(msik.restrict_subinventories_code, 2)
1224                    , NVL(msik.restrict_locators_code, 2)
1225                    , NVL(msik.location_control_code, 1)
1226                    , msik.primary_uom_code
1227                    , NVL(msik.inspection_required_flag, 2)
1228                    , NVL(msik.shelf_life_code, 1)
1229                    , NVL(msik.shelf_life_days, 0)
1230                    , NVL(msik.allowed_units_lookup_code, 2)
1231                    , NVL(msik.effectivity_control, 1)
1235                    , NVL(msik.serial_status_enabled, 'N')
1232                    , 0 parentlpnid
1233                    , 0 quantity
1234                    , NVL(msik.default_serial_status_id, 0)
1236                    , NVL(msik.default_lot_status_id, 0)
1237                    , NVL(msik.lot_status_enabled, 'N')
1238                    , ''
1239                    , 'N'
1240                    , msik.inventory_item_flag
1241                    , 0,
1242      --Bug No 3952081
1243      --Additional Fields for Process Convergence
1244                    NVL(msik.GRADE_CONTROL_FLAG,'N'),
1245                    NVL(msik.DEFAULT_GRADE,''),
1246                    NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
1247                    NVL(msik.EXPIRATION_ACTION_CODE,''),
1248                    NVL(msik.HOLD_DAYS,0),
1249                    NVL(msik.MATURITY_DAYS,0),
1250                    NVL(msik.RETEST_INTERVAL,0),
1251                    NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
1252                    NVL(msik.CHILD_LOT_FLAG,'N'),
1253                    NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
1254                    NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
1255                    NVL(msik.SECONDARY_UOM_CODE,''),
1256                    NVL(msik.SECONDARY_DEFAULT_IND,''),
1257                    NVL(msik.TRACKING_QUANTITY_IND,'P'),
1258                    NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
1259                    NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
1260                 FROM mtl_system_items_vl msik, mtl_lot_numbers mln /* Bug 5581528 */
1261                WHERE msik.concatenated_segments LIKE (p_concatenated_segments)
1262                  AND msik.organization_id = mln.organization_id
1263                  AND msik.inventory_item_id = mln.inventory_item_id
1264                  AND mln.lot_number = p_lot_number
1265                  AND mln.organization_id = p_organization_id
1266 
1267 	    --Changes for GTIN
1268 
1269 	    UNION
1270 
1271 	                SELECT   msik.concatenated_segments concatenated_segments
1272                    , msik.inventory_item_id
1273                    , msik.description
1274                    , NVL(msik.revision_qty_control_code, 1)
1275                    , NVL(msik.lot_control_code, 1)
1276                    , NVL(msik.serial_number_control_code, 1)
1277                    , NVL(msik.restrict_subinventories_code, 2)
1278                    , NVL(msik.restrict_locators_code, 2)
1279                    , NVL(msik.location_control_code, 1)
1280                    , msik.primary_uom_code
1281                    , NVL(msik.inspection_required_flag, 2)
1282                    , NVL(msik.shelf_life_code, 1)
1283                    , NVL(msik.shelf_life_days, 0)
1284                    , NVL(msik.allowed_units_lookup_code, 2)
1285                    , NVL(msik.effectivity_control, 1)
1286                    , 0 parentlpnid
1287                    , 0 quantity
1288                    , NVL(msik.default_serial_status_id, 0)
1289                    , NVL(msik.serial_status_enabled, 'N')
1290                    , NVL(msik.default_lot_status_id, 0)
1291                    , NVL(msik.lot_status_enabled, 'N')
1292                    , mcr.cross_reference
1293                    , 'N'
1294                    , msik.inventory_item_flag
1295                    , 0,
1296      --Bug No 3952081
1297      --Additional Fields for Process Convergence
1298                    NVL(msik.GRADE_CONTROL_FLAG,'N'),
1299                    NVL(msik.DEFAULT_GRADE,''),
1300                    NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
1301                    NVL(msik.EXPIRATION_ACTION_CODE,''),
1302                    NVL(msik.HOLD_DAYS,0),
1303                    NVL(msik.MATURITY_DAYS,0),
1304                    NVL(msik.RETEST_INTERVAL,0),
1305                    NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
1306                    NVL(msik.CHILD_LOT_FLAG,'N'),
1307                    NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
1308                    NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
1309                    NVL(msik.SECONDARY_UOM_CODE,''),
1310                    NVL(msik.SECONDARY_DEFAULT_IND,''),
1311                    NVL(msik.TRACKING_QUANTITY_IND,'P'),
1312                    NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
1313                    NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
1314 	    FROM mtl_system_items_vl msik, /* Bug 5581528 */
1315 	    mtl_lot_numbers mln,
1316 	    mtl_cross_references mcr
1317 	    WHERE msik.organization_id = mln.organization_id
1318 	    AND msik.inventory_item_id = mln.inventory_item_id
1319 	    AND mln.lot_number = p_lot_number
1320 	    AND mln.organization_id = p_organization_id
1321 	    AND msik.inventory_item_id   = mcr.inventory_item_id
1322 	    AND mcr.cross_reference_type = g_gtin_cross_ref_type
1323 	    AND mcr.cross_reference      LIKE l_cross_ref
1324 	    AND (mcr.organization_id     = msik.organization_id
1325 		 OR
1326 		 mcr.org_independent_flag = 'Y')
1327 	    ORDER BY concatenated_segments;
1328         END IF;
1329       END IF;
1330     END IF;
1331   END get_lot_items_lov;
1332 
1333   PROCEDURE get_lot_item_details(
1334     x_revision_qty_control_code    OUT    NOCOPY NUMBER
1335   , x_serial_number_control_code   OUT    NOCOPY NUMBER
1336   , x_restrict_subinventories_code OUT    NOCOPY NUMBER
1337   , x_restrict_locators_code       OUT    NOCOPY NUMBER
1338   , x_location_control_code        OUT    NOCOPY NUMBER
1339   , x_primary_uom_code             OUT    NOCOPY VARCHAR2
1340   , x_shelf_life_code              OUT    NOCOPY NUMBER
1341   , x_shelf_life_days              OUT    NOCOPY NUMBER
1342   , x_allowed_units_lookup_code    OUT    NOCOPY NUMBER
1346   , x_msg_count                    OUT    NOCOPY NUMBER
1343   , x_lot_status_enabled           OUT    NOCOPY VARCHAR2
1344   , x_default_lot_status_id        OUT    NOCOPY NUMBER
1345   , x_return_status                OUT    NOCOPY VARCHAR2
1347   , x_msg_data                     OUT    NOCOPY VARCHAR2
1348   , p_organization_id              IN     NUMBER
1349   , p_lot_number                   IN     VARCHAR2
1350   , p_transaction_type_id          IN     VARCHAR2
1351   , p_inventory_item_id            IN     NUMBER
1352   ) IS
1353   BEGIN
1354     x_return_status  := fnd_api.g_ret_sts_success;
1355     x_msg_data       := '';
1356 
1357     IF p_transaction_type_id = inv_globals.g_type_inv_lot_split -- Lot Split (82)
1358                                                                 THEN
1359       SELECT NVL(msik.revision_qty_control_code, 1)
1360            , NVL(msik.serial_number_control_code, 1)
1361            , NVL(msik.restrict_subinventories_code, 2)
1362            , NVL(msik.restrict_locators_code, 2)
1363            , NVL(msik.location_control_code, 1)
1364            , msik.primary_uom_code
1365            , NVL(msik.shelf_life_code, 1)
1366            , NVL(msik.shelf_life_days, 0)
1367            , NVL(msik.allowed_units_lookup_code, 2)
1368            , NVL(msik.lot_status_enabled, 'N')
1369            , NVL(msik.default_lot_status_id, 0)
1370         INTO x_revision_qty_control_code
1371            , x_serial_number_control_code
1372            , x_restrict_subinventories_code
1373            , x_restrict_locators_code
1374            , x_location_control_code
1375            , x_primary_uom_code
1376            , x_shelf_life_code
1377            , x_shelf_life_days
1378            , x_allowed_units_lookup_code
1379            , x_lot_status_enabled
1380            , x_default_lot_status_id
1381         FROM mtl_system_items_vl msik /* Bug 5581528 */
1382        WHERE msik.lot_split_enabled = 'Y'
1383          AND msik.organization_id = p_organization_id
1384          AND msik.inventory_item_id = p_inventory_item_id;
1385     ELSE
1386       IF p_transaction_type_id = inv_globals.g_type_inv_lot_merge -- Lot Merge 83
1387                                                                   THEN
1388         SELECT NVL(msik.revision_qty_control_code, 1)
1389              , NVL(msik.serial_number_control_code, 1)
1390              , NVL(msik.restrict_subinventories_code, 2)
1391              , NVL(msik.restrict_locators_code, 2)
1392              , NVL(msik.location_control_code, 1)
1393              , msik.primary_uom_code
1394              , NVL(msik.shelf_life_code, 1)
1395              , NVL(msik.shelf_life_days, 0)
1396              , NVL(msik.allowed_units_lookup_code, 2)
1397              , NVL(msik.lot_status_enabled, 'N') -- nsinghi bug#5475282
1398              , NVL(msik.default_lot_status_id, 0) -- nsinghi bug#5475282
1399           INTO x_revision_qty_control_code
1400              , x_serial_number_control_code
1401              , x_restrict_subinventories_code
1402              , x_restrict_locators_code
1403              , x_location_control_code
1404              , x_primary_uom_code
1405              , x_shelf_life_code
1406              , x_shelf_life_days
1407              , x_allowed_units_lookup_code
1408              , x_lot_status_enabled -- nsinghi bug#5475282
1409              , x_default_lot_status_id -- nsinghi bug#5475282
1410           FROM mtl_system_items_vl msik /* Bug 5581528 */
1411          WHERE msik.lot_merge_enabled = 'Y'
1412            AND msik.organization_id = p_organization_id
1413            AND msik.inventory_item_id = p_inventory_item_id;
1414       ELSIF p_transaction_type_id = inv_globals.g_type_inv_lot_translate -- Lot Translate 84 Added bug4096035
1415                                                                     THEN
1416           SELECT NVL(msik.revision_qty_control_code, 1)
1417              , NVL(msik.serial_number_control_code, 1)
1418              , NVL(msik.restrict_subinventories_code, 2)
1419              , NVL(msik.restrict_locators_code, 2)
1420              , NVL(msik.location_control_code, 1)
1421              , msik.primary_uom_code
1422              , NVL(msik.shelf_life_code, 1)
1423              , NVL(msik.shelf_life_days, 0)
1424              , NVL(msik.allowed_units_lookup_code, 2)
1425              , NVL(msik.lot_status_enabled, 'N')
1426              , NVL(msik.default_lot_status_id, 0)
1427           INTO x_revision_qty_control_code
1428              , x_serial_number_control_code
1429              , x_restrict_subinventories_code
1430              , x_restrict_locators_code
1431              , x_location_control_code
1432              , x_primary_uom_code
1433              , x_shelf_life_code
1434              , x_shelf_life_days
1435              , x_allowed_units_lookup_code
1436              , x_lot_status_enabled
1437              , x_default_lot_status_id
1438           FROM mtl_system_items_vl msik /* Bug 5581528 */
1439          WHERE msik.lot_translate_enabled = 'Y'
1440            AND msik.organization_id = p_organization_id
1441            AND msik.inventory_item_id = p_inventory_item_id; /*Added bug4096035*/
1442       ELSE
1443         SELECT NVL(msik.revision_qty_control_code, 1)
1444              , NVL(msik.serial_number_control_code, 1)
1445              , NVL(msik.restrict_subinventories_code, 2)
1446              , NVL(msik.restrict_locators_code, 2)
1447              , NVL(msik.location_control_code, 1)
1448              , msik.primary_uom_code
1449              , NVL(msik.shelf_life_code, 1)
1450              , NVL(msik.shelf_life_days, 0)
1451              , NVL(msik.allowed_units_lookup_code, 2)
1455              , x_restrict_locators_code
1452           INTO x_revision_qty_control_code
1453              , x_serial_number_control_code
1454              , x_restrict_subinventories_code
1456              , x_location_control_code
1457              , x_primary_uom_code
1458              , x_shelf_life_code
1459              , x_shelf_life_days
1460              , x_allowed_units_lookup_code
1461           FROM mtl_system_items_vl msik /* Bug 5581528 */
1462          WHERE msik.organization_id = p_organization_id
1463            AND msik.inventory_item_id = p_inventory_item_id;
1464       END IF;
1465     END IF;
1466   EXCEPTION
1467     WHEN NO_DATA_FOUND THEN
1468       x_return_status  := fnd_api.g_ret_sts_error;
1469       fnd_message.set_name('INV', 'INV_NO_ITEM');
1470       fnd_msg_pub.ADD;
1471       fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1472     WHEN OTHERS THEN
1473       x_return_status  := fnd_api.g_ret_sts_unexp_error;
1474       fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1475   END get_lot_item_details;
1476 
1477   /* Overridden method to retreiveDUOM attributes for Convergence */
1478 
1479   PROCEDURE get_lot_item_details(
1480     x_revision_qty_control_code    OUT    NOCOPY NUMBER
1481   , x_serial_number_control_code   OUT    NOCOPY NUMBER
1482   , x_restrict_subinventories_code OUT    NOCOPY NUMBER
1483   , x_restrict_locators_code       OUT    NOCOPY NUMBER
1484   , x_location_control_code        OUT    NOCOPY NUMBER
1485   , x_primary_uom_code             OUT    NOCOPY VARCHAR2
1486   , x_shelf_life_code              OUT    NOCOPY NUMBER
1487   , x_shelf_life_days              OUT    NOCOPY NUMBER
1488   , x_allowed_units_lookup_code    OUT    NOCOPY NUMBER
1489   , x_lot_status_enabled           OUT    NOCOPY VARCHAR2
1490   , x_default_lot_status_id        OUT    NOCOPY NUMBER
1491   , x_GRADE_CONTROL_FLAG OUT    NOCOPY VARCHAR2
1492   , x_DEFAULT_GRADE OUT    NOCOPY VARCHAR2
1493   , x_EXPIRATION_ACTION_INTERVAL OUT    NOCOPY NUMBER
1494   , x_EXPIRATION_ACTION_CODE OUT    NOCOPY VARCHAR2
1495   , x_HOLD_DAYS OUT    NOCOPY NUMBER
1496   , x_MATURITY_DAYS OUT    NOCOPY NUMBER
1497   , x_RETEST_INTERVAL OUT    NOCOPY NUMBER
1498   , x_COPY_LOT_ATTRIBUTE_FLAG OUT    NOCOPY VARCHAR2
1499   , x_CHILD_LOT_FLAG OUT    NOCOPY VARCHAR2
1500   , x_CHILD_LOT_VALIDATION_FLAG OUT    NOCOPY VARCHAR2
1501   , x_LOT_DIVISIBLE_FLAG OUT    NOCOPY VARCHAR2
1502   , x_SECONDARY_UOM_CODE OUT    NOCOPY VARCHAR2
1503   , x_SECONDARY_DEFAULT_IND OUT    NOCOPY VARCHAR2
1504   , x_TRACKING_QUANTITY_IND OUT    NOCOPY VARCHAR2
1505   , x_DUAL_UOM_DEVIATION_HIGH OUT    NOCOPY NUMBER
1506   , x_DUAL_UOM_DEVIATION_LOW OUT    NOCOPY NUMBER
1507   , x_return_status                OUT    NOCOPY VARCHAR2
1508   , x_msg_count                    OUT    NOCOPY NUMBER
1509   , x_msg_data                     OUT    NOCOPY VARCHAR2
1510   , p_organization_id              IN     NUMBER
1511   , p_lot_number                   IN     VARCHAR2
1512   , p_transaction_type_id          IN     VARCHAR2
1513   , p_inventory_item_id            IN     NUMBER
1514   ) IS
1515   BEGIN
1516     x_return_status  := fnd_api.g_ret_sts_success;
1517     x_msg_data       := '';
1518 
1519     IF p_transaction_type_id = inv_globals.g_type_inv_lot_split -- Lot Split (82)
1520                                                                 THEN
1521       SELECT NVL(msik.revision_qty_control_code, 1)
1522            , NVL(msik.serial_number_control_code, 1)
1523            , NVL(msik.restrict_subinventories_code, 2)
1524            , NVL(msik.restrict_locators_code, 2)
1525            , NVL(msik.location_control_code, 1)
1526            , msik.primary_uom_code
1527            , NVL(msik.shelf_life_code, 1)
1528            , NVL(msik.shelf_life_days, 0)
1529            , NVL(msik.allowed_units_lookup_code, 2)
1530            , NVL(msik.lot_status_enabled, 'N')
1531            , NVL(msik.default_lot_status_id, 0),
1532      --Bug No 3952081
1533      --Additional Fields for Process Convergence
1534            NVL(msik.GRADE_CONTROL_FLAG,'N'),
1535            NVL(msik.DEFAULT_GRADE,''),
1536            NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
1537            NVL(msik.EXPIRATION_ACTION_CODE,''),
1538            NVL(msik.HOLD_DAYS,0),
1539            NVL(msik.MATURITY_DAYS,0),
1540            NVL(msik.RETEST_INTERVAL,0),
1541            NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
1542            NVL(msik.CHILD_LOT_FLAG,'N'),
1543            NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
1544            NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
1545            NVL(msik.SECONDARY_UOM_CODE,''),
1546            NVL(msik.SECONDARY_DEFAULT_IND,''),
1547            NVL(msik.TRACKING_QUANTITY_IND,'P'),
1548            NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
1549            NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
1550         INTO x_revision_qty_control_code
1551            , x_serial_number_control_code
1552            , x_restrict_subinventories_code
1553            , x_restrict_locators_code
1554            , x_location_control_code
1555            , x_primary_uom_code
1556            , x_shelf_life_code
1557            , x_shelf_life_days
1558            , x_allowed_units_lookup_code
1559            , x_lot_status_enabled
1560            , x_default_lot_status_id
1561            , x_GRADE_CONTROL_FLAG
1562            , x_DEFAULT_GRADE
1563            , x_EXPIRATION_ACTION_INTERVAL
1564            , x_EXPIRATION_ACTION_CODE
1565            , x_HOLD_DAYS
1566            , x_MATURITY_DAYS
1567            , x_RETEST_INTERVAL
1571            , x_LOT_DIVISIBLE_FLAG
1568            , x_COPY_LOT_ATTRIBUTE_FLAG
1569            , x_CHILD_LOT_FLAG
1570            , x_CHILD_LOT_VALIDATION_FLAG
1572            , x_SECONDARY_UOM_CODE
1573            , x_SECONDARY_DEFAULT_IND
1574            , x_TRACKING_QUANTITY_IND
1575            , x_DUAL_UOM_DEVIATION_HIGH
1576            , x_DUAL_UOM_DEVIATION_LOW
1577         FROM mtl_system_items_vl msik /* Bug 5581528 */
1578        WHERE msik.lot_split_enabled = 'Y'
1579          AND msik.organization_id = p_organization_id
1580          AND msik.inventory_item_id = p_inventory_item_id;
1581     ELSE
1582       IF p_transaction_type_id = inv_globals.g_type_inv_lot_merge -- Lot Merge 83
1583                                                                   THEN
1584         SELECT NVL(msik.revision_qty_control_code, 1)
1585              , NVL(msik.serial_number_control_code, 1)
1586              , NVL(msik.restrict_subinventories_code, 2)
1587              , NVL(msik.restrict_locators_code, 2)
1588              , NVL(msik.location_control_code, 1)
1589              , msik.primary_uom_code
1590              , NVL(msik.shelf_life_code, 1)
1591              , NVL(msik.shelf_life_days, 0)
1592              , NVL(msik.allowed_units_lookup_code, 2)
1593              , NVL(msik.lot_status_enabled, 'N') -- nsinghi bug#5475282
1594              , NVL(msik.default_lot_status_id, 0), -- nsinghi bug#5475282
1595      --Bug No 3952081
1596      --Additional Fields for Process Convergence
1597            NVL(msik.GRADE_CONTROL_FLAG,'N'),
1598            NVL(msik.DEFAULT_GRADE,''),
1599            NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
1600            NVL(msik.EXPIRATION_ACTION_CODE,''),
1601            NVL(msik.HOLD_DAYS,0),
1602            NVL(msik.MATURITY_DAYS,0),
1603            NVL(msik.RETEST_INTERVAL,0),
1604            NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
1605            NVL(msik.CHILD_LOT_FLAG,'N'),
1606            NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
1607            NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
1608            NVL(msik.SECONDARY_UOM_CODE,''),
1609            NVL(msik.SECONDARY_DEFAULT_IND,''),
1610            NVL(msik.TRACKING_QUANTITY_IND,'P'),
1611            NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
1612            NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
1613           INTO x_revision_qty_control_code
1614              , x_serial_number_control_code
1615              , x_restrict_subinventories_code
1616              , x_restrict_locators_code
1617              , x_location_control_code
1618              , x_primary_uom_code
1619              , x_shelf_life_code
1620              , x_shelf_life_days
1621              , x_allowed_units_lookup_code
1622              , x_lot_status_enabled -- nsinghi bug#5475282
1623              , x_default_lot_status_id -- nsinghi bug#5475282
1624            , x_GRADE_CONTROL_FLAG
1625            , x_DEFAULT_GRADE
1626            , x_EXPIRATION_ACTION_INTERVAL
1627            , x_EXPIRATION_ACTION_CODE
1628            , x_HOLD_DAYS
1629            , x_MATURITY_DAYS
1630            , x_RETEST_INTERVAL
1631            , x_COPY_LOT_ATTRIBUTE_FLAG
1632            , x_CHILD_LOT_FLAG
1633            , x_CHILD_LOT_VALIDATION_FLAG
1634            , x_LOT_DIVISIBLE_FLAG
1635            , x_SECONDARY_UOM_CODE
1636            , x_SECONDARY_DEFAULT_IND
1637            , x_TRACKING_QUANTITY_IND
1638            , x_DUAL_UOM_DEVIATION_HIGH
1639            , x_DUAL_UOM_DEVIATION_LOW
1640           FROM mtl_system_items_vl msik /* Bug 5581528 */
1641          WHERE msik.lot_merge_enabled = 'Y'
1642            AND msik.organization_id = p_organization_id
1643            AND msik.inventory_item_id = p_inventory_item_id;
1644       ELSIF p_transaction_type_id = inv_globals.g_type_inv_lot_translate -- Lot Translate 84 Added bug4096035
1645                                                                     THEN
1646           SELECT NVL(msik.revision_qty_control_code, 1)
1647              , NVL(msik.serial_number_control_code, 1)
1648              , NVL(msik.restrict_subinventories_code, 2)
1649              , NVL(msik.restrict_locators_code, 2)
1650              , NVL(msik.location_control_code, 1)
1651              , msik.primary_uom_code
1652              , NVL(msik.shelf_life_code, 1)
1653              , NVL(msik.shelf_life_days, 0)
1654              , NVL(msik.allowed_units_lookup_code, 2)
1655              , NVL(msik.lot_status_enabled, 'N')
1656              , NVL(msik.default_lot_status_id, 0),
1657              --Additional Fields for Process Convergence
1658               NVL(msik.GRADE_CONTROL_FLAG,'N'),
1659               NVL(msik.DEFAULT_GRADE,''),
1660               NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
1661               NVL(msik.EXPIRATION_ACTION_CODE,''),
1662               NVL(msik.HOLD_DAYS,0),
1663               NVL(msik.MATURITY_DAYS,0),
1664               NVL(msik.RETEST_INTERVAL,0),
1665               NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
1666               NVL(msik.CHILD_LOT_FLAG,'N'),
1667               NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
1668               NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
1669               NVL(msik.SECONDARY_UOM_CODE,''),
1670               NVL(msik.SECONDARY_DEFAULT_IND,''),
1671               NVL(msik.TRACKING_QUANTITY_IND,'P'),
1672               NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
1673               NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
1674           INTO x_revision_qty_control_code
1675              , x_serial_number_control_code
1676              , x_restrict_subinventories_code
1677              , x_restrict_locators_code
1678              , x_location_control_code
1679              , x_primary_uom_code
1680              , x_shelf_life_code
1684              , x_default_lot_status_id
1681              , x_shelf_life_days
1682              , x_allowed_units_lookup_code
1683              , x_lot_status_enabled
1685              , x_GRADE_CONTROL_FLAG
1686              , x_DEFAULT_GRADE
1687              , x_EXPIRATION_ACTION_INTERVAL
1688              , x_EXPIRATION_ACTION_CODE
1689              , x_HOLD_DAYS
1690              , x_MATURITY_DAYS
1691              , x_RETEST_INTERVAL
1692              , x_COPY_LOT_ATTRIBUTE_FLAG
1693              , x_CHILD_LOT_FLAG
1694              , x_CHILD_LOT_VALIDATION_FLAG
1695              , x_LOT_DIVISIBLE_FLAG
1696              , x_SECONDARY_UOM_CODE
1697              , x_SECONDARY_DEFAULT_IND
1698              , x_TRACKING_QUANTITY_IND
1699              , x_DUAL_UOM_DEVIATION_HIGH
1700              , x_DUAL_UOM_DEVIATION_LOW
1701           FROM mtl_system_items_vl msik /* Bug 5581528 */
1702          WHERE msik.lot_translate_enabled = 'Y'
1703            AND msik.organization_id = p_organization_id
1704            AND msik.inventory_item_id = p_inventory_item_id; /*Added bug4096035*/
1705 
1706 
1707       ELSE
1708         SELECT NVL(msik.revision_qty_control_code, 1)
1709              , NVL(msik.serial_number_control_code, 1)
1710              , NVL(msik.restrict_subinventories_code, 2)
1711              , NVL(msik.restrict_locators_code, 2)
1712              , NVL(msik.location_control_code, 1)
1713              , msik.primary_uom_code
1714              , NVL(msik.shelf_life_code, 1)
1715              , NVL(msik.shelf_life_days, 0)
1716              , NVL(msik.allowed_units_lookup_code, 2),
1717      --Bug No 3952081
1718      --Additional Fields for Process Convergence
1719            NVL(msik.GRADE_CONTROL_FLAG,'N'),
1720            NVL(msik.DEFAULT_GRADE,''),
1721            NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
1722            NVL(msik.EXPIRATION_ACTION_CODE,''),
1723            NVL(msik.HOLD_DAYS,0),
1724            NVL(msik.MATURITY_DAYS,0),
1725            NVL(msik.RETEST_INTERVAL,0),
1726            NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
1727            NVL(msik.CHILD_LOT_FLAG,'N'),
1728            NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
1729            NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
1730            NVL(msik.SECONDARY_UOM_CODE,''),
1731            NVL(msik.SECONDARY_DEFAULT_IND,''),
1732            NVL(msik.TRACKING_QUANTITY_IND,'P'),
1733            NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
1734            NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
1735           INTO x_revision_qty_control_code
1736              , x_serial_number_control_code
1737              , x_restrict_subinventories_code
1738              , x_restrict_locators_code
1739              , x_location_control_code
1740              , x_primary_uom_code
1741              , x_shelf_life_code
1742              , x_shelf_life_days
1743              , x_allowed_units_lookup_code
1744            , x_GRADE_CONTROL_FLAG
1745            , x_DEFAULT_GRADE
1746            , x_EXPIRATION_ACTION_INTERVAL
1747            , x_EXPIRATION_ACTION_CODE
1748            , x_HOLD_DAYS
1749            , x_MATURITY_DAYS
1750            , x_RETEST_INTERVAL
1751            , x_COPY_LOT_ATTRIBUTE_FLAG
1752            , x_CHILD_LOT_FLAG
1753            , x_CHILD_LOT_VALIDATION_FLAG
1754            , x_LOT_DIVISIBLE_FLAG
1755            , x_SECONDARY_UOM_CODE
1756            , x_SECONDARY_DEFAULT_IND
1757            , x_TRACKING_QUANTITY_IND
1758            , x_DUAL_UOM_DEVIATION_HIGH
1759            , x_DUAL_UOM_DEVIATION_LOW
1760           FROM mtl_system_items_vl msik /* Bug 5581528 */
1761          WHERE msik.organization_id = p_organization_id
1762            AND msik.inventory_item_id = p_inventory_item_id;
1763       END IF;
1764     END IF;
1765   EXCEPTION
1766     WHEN NO_DATA_FOUND THEN
1767       x_return_status  := fnd_api.g_ret_sts_error;
1768       fnd_message.set_name('INV', 'INV_NO_ITEM');
1769       fnd_msg_pub.ADD;
1770       fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1771     WHEN OTHERS THEN
1772       x_return_status  := fnd_api.g_ret_sts_unexp_error;
1773       fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1774 END get_lot_item_details;
1775 
1776 -- Bug 5498323 - Procedure accepts two more parameters - Subinventory code and Locator Id
1777 -- If Subinventory code IS not NULL, then the Item list returned is filtered by this Subinventory
1778 -- If Subinventory is not NULL and Locator Id is not NULL and Locator Id <> -1, then the Item list returned is filtered by this Subinventory and Locator Id
1779 
1780 PROCEDURE get_status_items_lov(x_items OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_concatenated_segments IN VARCHAR2, p_subinventory_code IN VARCHAR2, p_locator_id IN NUMBER) IS
1781   l_cross_ref varchar2(204);
1782   l_sql_stmt1     VARCHAR2(7500)
1783   := 'SELECT msik.concatenated_segments concatenated_segments'
1784       ||            ', msik.inventory_item_id'
1785       ||            ', msik.description'
1786       ||            ', NVL(msik.revision_qty_control_code, 1)'
1787       ||            ', NVL(msik.lot_status_enabled, ''N'')'
1788       ||            ', NVL(msik.serial_status_enabled, ''N'')'
1789       ||            ', NVL(msik.restrict_subinventories_code, 2)'
1790       ||            ', NVL(msik.restrict_locators_code, 2)'
1791       ||            ', NVL(msik.location_control_code, 1)'
1792       ||            ', msik.primary_uom_code'
1793       ||            ', NVL(msik.inspection_required_flag, 2)'
1794       ||            ', NVL(msik.shelf_life_code, 1)'
1798       ||            ', 0 parentlpnid'
1795       ||            ', NVL(msik.shelf_life_days, 0)'
1796       ||            ', NVL(msik.allowed_units_lookup_code, 2)'
1797       ||            ', NVL(msik.effectivity_control, 1)'
1799       ||            ', 0 quantity'
1800       ||            ', NVL(msik.default_serial_status_id, 0)'
1801       ||            ', NVL(msik.serial_status_enabled, ''N'')'
1802       ||            ', NVL(msik.default_lot_status_id, 0)'
1803       ||            ', NVL(msik.lot_status_enabled, ''N'')'
1804       ||            ', '''''
1805       ||            ', ''N'''
1806       ||            ', msik.inventory_item_flag'
1807       ||            ', 0,'
1808 --Bug No 3952081
1809 --Additional Fields for Process Convergence
1810       ||            'NVL(msik.GRADE_CONTROL_FLAG,''N''),'
1811       ||            'NVL(msik.DEFAULT_GRADE,''''),'
1812       ||            'NVL(msik.EXPIRATION_ACTION_INTERVAL,0),'
1813       ||            'NVL(msik.EXPIRATION_ACTION_CODE,''''),'
1814       ||            'NVL(msik.HOLD_DAYS,0),'
1815       ||            'NVL(msik.MATURITY_DAYS,0),'
1816       ||            'NVL(msik.RETEST_INTERVAL,0),'
1817       ||            'NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,''N''),'
1818       ||            'NVL(msik.CHILD_LOT_FLAG,''N''),'
1819       ||            'NVL(msik.CHILD_LOT_VALIDATION_FLAG,''N''),'
1820       ||            'NVL(msik.LOT_DIVISIBLE_FLAG,''Y''),'
1821       ||            'NVL(msik.SECONDARY_UOM_CODE,''''),'
1822       ||            'NVL(msik.SECONDARY_DEFAULT_IND,''''),'
1823       ||            'NVL(msik.TRACKING_QUANTITY_IND,''P''),'
1824       ||            'NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),'
1825       ||            'NVL(msik.DUAL_UOM_DEVIATION_LOW,0)';
1826 
1827 l_sql_stmt_xref     VARCHAR2(7500)
1828       :=       'SELECT msik.concatenated_segments concatenated_segments'
1829       ||            ', msik.inventory_item_id'
1830       ||            ', msik.description'
1831       ||            ', NVL(msik.revision_qty_control_code, 1)'
1832       ||            ', NVL(msik.lot_status_enabled, ''N'')'
1833       ||            ', NVL(msik.serial_status_enabled, ''N'')'
1834       ||            ', NVL(msik.restrict_subinventories_code, 2)'
1835       ||            ', NVL(msik.restrict_locators_code, 2)'
1836       ||            ', NVL(msik.location_control_code, 1)'
1837       ||            ', msik.primary_uom_code'
1838       ||            ', NVL(msik.inspection_required_flag, 2)'
1839       ||            ', NVL(msik.shelf_life_code, 1)'
1840       ||            ', NVL(msik.shelf_life_days, 0)'
1841       ||            ', NVL(msik.allowed_units_lookup_code, 2)'
1842       ||            ', NVL(msik.effectivity_control, 1)'
1843       ||            ', 0 parentlpnid'
1844       ||            ', 0 quantity'
1845       ||            ', NVL(msik.default_serial_status_id, 0)'
1846       ||            ', NVL(msik.serial_status_enabled, ''N'')'
1847       ||            ', NVL(msik.default_lot_status_id, 0)'
1848       ||            ', NVL(msik.lot_status_enabled, ''N'')'
1849       ||            ', mcr.cross_reference'
1850       ||            ', ''N'''
1851       ||            ', msik.inventory_item_flag'
1852       ||            ', 0,'
1853      --Bug No 3952081
1854      --Additional Fields for Process Convergence
1855       ||            'NVL(msik.GRADE_CONTROL_FLAG,''N''),'
1856       ||            'NVL(msik.DEFAULT_GRADE,''''),'
1857       ||            'NVL(msik.EXPIRATION_ACTION_INTERVAL,0),'
1858       ||            'NVL(msik.EXPIRATION_ACTION_CODE,''''),'
1859       ||            'NVL(msik.HOLD_DAYS,0),'
1860       ||            'NVL(msik.MATURITY_DAYS,0),'
1861       ||            'NVL(msik.RETEST_INTERVAL,0),'
1862       ||            'NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,''N''),'
1863       ||            'NVL(msik.CHILD_LOT_FLAG,''N''),'
1864       ||            'NVL(msik.CHILD_LOT_VALIDATION_FLAG,''N''),'
1865       ||            'NVL(msik.LOT_DIVISIBLE_FLAG,''Y''),'
1866       ||            'NVL(msik.SECONDARY_UOM_CODE,''''),'
1867       ||            'NVL(msik.SECONDARY_DEFAULT_IND,''''),'
1868       ||            'NVL(msik.TRACKING_QUANTITY_IND,''P''),'
1869       ||            'NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),'
1870       ||            'NVL(msik.DUAL_UOM_DEVIATION_LOW,0)';
1871   BEGIN
1872 
1873    l_cross_ref := lpad(Rtrim(p_concatenated_segments, '%'), g_gtin_code_length, '00000000000000');
1874 
1875    l_sql_stmt1 := l_sql_stmt1 || ' FROM mtl_system_items_vl msik, mtl_onhand_quantities_detail moqd'
1876                               || ' WHERE msik.concatenated_segments LIKE (''' || p_concatenated_segments || ''')'
1877          		      || ' AND msik.organization_id = ' || p_organization_id
1878 			      || ' AND (msik.lot_status_enabled = ''Y'' OR msik.serial_status_enabled = ''Y'')';
1879 
1880    l_sql_stmt_xref := l_sql_stmt_xref || ' FROM mtl_system_items_vl msik,'
1881 				|| 'mtl_cross_references mcr, mtl_onhand_quantities_detail moqd'
1882 				|| ' WHERE msik.organization_id = ' || p_organization_id
1883 				|| ' AND (msik.lot_status_enabled = ''Y'' OR msik.serial_status_enabled = ''Y'' )'
1884 				|| ' AND msik.inventory_item_id   = mcr.inventory_item_id'
1885 				|| ' AND mcr.cross_reference_type = ''' || g_gtin_cross_ref_type || ''''
1886 				|| ' AND mcr.cross_reference LIKE ''' || l_cross_ref || ''''
1887 				|| ' AND (mcr.organization_id = msik.organization_id OR mcr.org_independent_flag = ''Y'')';
1888 
1889 
1890    IF p_subinventory_code IS NOT NULL THEN
1891         l_sql_stmt1 := l_sql_stmt1 || ' AND moqd.organization_id = msik.organization_id'
1892 				   || ' AND moqd.inventory_item_id = msik.inventory_item_id'
1893 				   || ' AND moqd.subinventory_code = ''' || p_subinventory_code || '''';
1894 
1898 
1895         l_sql_stmt_xref := l_sql_stmt_xref || ' AND moqd.organization_id = msik.organization_id'
1896 				   || ' AND moqd.inventory_item_id = msik.inventory_item_id'
1897 				   || ' AND moqd.subinventory_code = ''' || p_subinventory_code || '''';
1899 	IF p_locator_id IS NOT NULL AND p_locator_id <> -1 THEN
1900 
1901 		l_sql_stmt1 := l_sql_stmt1 || ' AND moqd.locator_id = ' || p_locator_id;
1902 
1903 		l_sql_stmt_xref := l_sql_stmt_xref || ' AND moqd.locator_id = ' || p_locator_id;
1904 	END IF;
1905    END IF;
1906 
1907    l_sql_stmt1 := l_sql_stmt1 || ' UNION ' || l_sql_stmt_xref || ' ORDER BY concatenated_segments';
1908 
1909    --dbms_output.put_line(l_sql_stmt1);
1910    OPEN x_items FOR l_sql_stmt1;
1911 
1912 END get_status_items_lov;
1913 
1914   PROCEDURE get_ship_items_lov(x_items OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_delivery_id IN NUMBER, p_concatenated_segments IN VARCHAR2) IS
1915   l_cross_ref varchar2(204);
1916   BEGIN
1917 
1918    l_cross_ref := lpad(Rtrim(p_concatenated_segments, '%'), g_gtin_code_length, '00000000000000');
1919     OPEN x_items FOR
1920       SELECT DISTINCT msik.concatenated_segments concatenated_segments
1921                     , msik.inventory_item_id
1922                     , msik.description
1923                     , NVL(msik.revision_qty_control_code, 1)
1924                     , NVL(msik.lot_control_code, 1)
1925                     , NVL(msik.serial_number_control_code, 1)
1926                     , NVL(msik.restrict_subinventories_code, 2)
1927                     , NVL(msik.restrict_locators_code, 2)
1928                     , NVL(msik.location_control_code, 1)
1929                     , msik.primary_uom_code
1930                     , NVL(msik.inspection_required_flag, 2)
1931                     , NVL(msik.shelf_life_code, 1)
1932                     , NVL(msik.shelf_life_days, 0)
1933                     , NVL(msik.allowed_units_lookup_code, 2)
1934                     , NVL(msik.effectivity_control, 1)
1935                     , 0 parentlpnid
1936                     , 0 quantity
1937                     , NVL(msik.default_serial_status_id, 0)
1938                     , NVL(msik.serial_status_enabled, 'N')
1939                     , NVL(msik.default_lot_status_id, 0)
1940                     , NVL(msik.lot_status_enabled, 'N')
1941                     , ''
1942                     , 'N'
1943                     , msik.inventory_item_flag
1944                     , 0,
1945      --Bug No 3952081
1946      --Additional Fields for Process Convergence
1947                     NVL(msik.GRADE_CONTROL_FLAG,'N'),
1948                     NVL(msik.DEFAULT_GRADE,''),
1949                     NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
1950                     NVL(msik.EXPIRATION_ACTION_CODE,''),
1951                     NVL(msik.HOLD_DAYS,0),
1952                     NVL(msik.MATURITY_DAYS,0),
1953                     NVL(msik.RETEST_INTERVAL,0),
1954                     NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
1955                     NVL(msik.CHILD_LOT_FLAG,'N'),
1956                     NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
1957                     NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
1958                     NVL(msik.SECONDARY_UOM_CODE,''),
1959                     NVL(msik.SECONDARY_DEFAULT_IND,''),
1960                     NVL(msik.TRACKING_QUANTITY_IND,'P'),
1961                     NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
1962                     NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
1963       FROM mtl_system_items_vl msik, wsh_delivery_details dd, wsh_delivery_assignments da, wsh_new_deliveries nd /* Bug 5581528 */
1964       WHERE msik.concatenated_segments LIKE (p_concatenated_segments)
1965       AND msik.organization_id = p_organization_id
1966       AND msik.inventory_item_id = dd.inventory_item_id
1967       AND nd.delivery_id = p_delivery_id
1968       AND nd.delivery_id = da.delivery_id
1969       AND da.delivery_detail_id = dd.delivery_detail_id
1970       AND (dd.inv_interfaced_flag = 'N' OR dd.inv_interfaced_flag IS NULL)
1971       AND dd.released_status = 'Y'
1972       AND nd.status_code NOT IN ('CO', 'CL', 'IT')
1973 
1974 	--Changes for GTIN
1975 	UNION
1976 
1977 	      SELECT DISTINCT msik.concatenated_segments concatenated_segments
1978                     , msik.inventory_item_id
1979                     , msik.description
1980                     , NVL(msik.revision_qty_control_code, 1)
1981                     , NVL(msik.lot_control_code, 1)
1982                     , NVL(msik.serial_number_control_code, 1)
1983                     , NVL(msik.restrict_subinventories_code, 2)
1984                     , NVL(msik.restrict_locators_code, 2)
1985                     , NVL(msik.location_control_code, 1)
1986                     , msik.primary_uom_code
1987                     , NVL(msik.inspection_required_flag, 2)
1988                     , NVL(msik.shelf_life_code, 1)
1989                     , NVL(msik.shelf_life_days, 0)
1990                     , NVL(msik.allowed_units_lookup_code, 2)
1991                     , NVL(msik.effectivity_control, 1)
1992                     , 0 parentlpnid
1993                     , 0 quantity
1994                     , NVL(msik.default_serial_status_id, 0)
1995                     , NVL(msik.serial_status_enabled, 'N')
1996                     , NVL(msik.default_lot_status_id, 0)
1997                     , NVL(msik.lot_status_enabled, 'N')
1998                     , mcr.cross_reference
1999                     , 'N'
2000                     , msik.inventory_item_flag
2001                     , 0,
2002      --Bug No 3952081
2006                     NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
2003      --Additional Fields for Process Convergence
2004                     NVL(msik.GRADE_CONTROL_FLAG,'N'),
2005                     NVL(msik.DEFAULT_GRADE,''),
2007                     NVL(msik.EXPIRATION_ACTION_CODE,''),
2008                     NVL(msik.HOLD_DAYS,0),
2009                     NVL(msik.MATURITY_DAYS,0),
2010                     NVL(msik.RETEST_INTERVAL,0),
2011                     NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
2012                     NVL(msik.CHILD_LOT_FLAG,'N'),
2013                     NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
2014                     NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
2015                     NVL(msik.SECONDARY_UOM_CODE,''),
2016                     NVL(msik.SECONDARY_DEFAULT_IND,''),
2017                     NVL(msik.TRACKING_QUANTITY_IND,'P'),
2018                     NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
2019                     NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
2020 	FROM mtl_system_items_vl msik, /* Bug 5581528 */
2021 	wsh_delivery_details dd,
2022 	wsh_delivery_assignments da,
2023 	wsh_new_deliveries nd,
2024 	mtl_cross_references mcr
2025 	WHERE msik.organization_id = p_organization_id
2026 	AND msik.inventory_item_id = dd.inventory_item_id
2027 	AND nd.delivery_id = p_delivery_id
2028 	AND nd.delivery_id = da.delivery_id
2029 	AND da.delivery_detail_id = dd.delivery_detail_id
2030 	AND (dd.inv_interfaced_flag = 'N' OR dd.inv_interfaced_flag IS NULL)
2031 	  AND dd.released_status = 'Y'
2032 	  AND nd.status_code NOT IN ('CO', 'CL', 'IT')
2033 	  AND msik.inventory_item_id   = mcr.inventory_item_id
2034 	  AND mcr.cross_reference_type = g_gtin_cross_ref_type
2035 	  AND mcr.cross_reference      LIKE l_cross_ref
2036 	  AND (mcr.organization_id     = msik.organization_id
2037 	       OR
2038 	       mcr.org_independent_flag = 'Y')
2039 	  ORDER BY concatenated_segments;
2040   END get_ship_items_lov;
2041 
2042   --      Name: GET_PHYINV_ITEM_LOV
2043   --
2044   --      Input parameters:
2045   --
2046   --        p_concatenated_segments - User inputted value
2047   --        p_organization_id     -  Organization ID
2048   --        p_subinventory_code   -  Subinventory
2049   --        p_locator_id          -  Locator ID
2050   --        p_dynamic_entry_flag  -  Indicates if dynamic entries are allowed
2051   --
2052   --      Output parameters:
2053   --       x_items    -  returns LOV rows as reference cursor
2054   --
2055   --      Functions: This procedure returns valid items that are associated
2056   --                 with the given physical inventory
2057   --
2058 
2059   PROCEDURE get_phyinv_item_lov(
2060     x_items                 OUT    NOCOPY t_genref
2061   , p_concatenated_segments IN     VARCHAR2
2062   , p_organization_id       IN     NUMBER
2063   , p_subinventory_code     IN     VARCHAR2
2064   , p_locator_id            IN     NUMBER
2065   , p_dynamic_entry_flag    IN     NUMBER
2066   , p_physical_inventory_id IN     NUMBER
2067   , p_parent_lpn_id         IN     NUMBER
2068   ) IS
2069   l_cross_ref varchar2(204);
2070   BEGIN
2071 
2072    l_cross_ref := lpad(Rtrim(p_concatenated_segments, '%'), g_gtin_code_length, '00000000000000');
2073     IF (p_dynamic_entry_flag = 1) THEN -- Dynamic entries are allowed
2074       OPEN x_items FOR
2075         SELECT   concatenated_segments
2076                , inventory_item_id
2077                , description
2078                , NVL(revision_qty_control_code, 1)
2079                , NVL(lot_control_code, 1)
2080                , NVL(serial_number_control_code, 1)
2081                , NVL(restrict_subinventories_code, 2)
2082                , NVL(restrict_locators_code, 2)
2083                , NVL(location_control_code, 1)
2084                , primary_uom_code
2085                , NVL(inspection_required_flag, 2)
2086                , NVL(shelf_life_code, 1)
2087                , NVL(shelf_life_days, 0)
2088                , NVL(allowed_units_lookup_code, 2)
2089                , NVL(effectivity_control, 1)
2090                , 0 parentlpnid
2091                , 0 quantity
2092                , NVL(default_serial_status_id, 0)
2093                , NVL(serial_status_enabled, 'N')
2094                , NVL(default_lot_status_id, 0)
2095                , NVL(lot_status_enabled, 'N')
2096                , ''
2097                , 'N'
2098                , inventory_item_flag
2099                , 0,
2100      --Bug No 3952081
2101      --Additional Fields for Process Convergence
2102                NVL(GRADE_CONTROL_FLAG,'N'),
2103                NVL(DEFAULT_GRADE,''),
2104                NVL(EXPIRATION_ACTION_INTERVAL,0),
2105                NVL(EXPIRATION_ACTION_CODE,''),
2106                NVL(HOLD_DAYS,0),
2107                NVL(MATURITY_DAYS,0),
2108                NVL(RETEST_INTERVAL,0),
2109                NVL(COPY_LOT_ATTRIBUTE_FLAG,'N'),
2110                NVL(CHILD_LOT_FLAG,'N'),
2111                NVL(CHILD_LOT_VALIDATION_FLAG,'N'),
2112                NVL(LOT_DIVISIBLE_FLAG,'Y'),
2113                NVL(SECONDARY_UOM_CODE,''),
2114                NVL(SECONDARY_DEFAULT_IND,''),
2115                NVL(TRACKING_QUANTITY_IND,'P'),
2116                NVL(DUAL_UOM_DEVIATION_HIGH,0),
2117                NVL(DUAL_UOM_DEVIATION_LOW,0)
2118             FROM mtl_system_items_vl /* Bug 5581528 */
2119            WHERE organization_id = p_organization_id
2120 	AND concatenated_segments LIKE (p_concatenated_segments)
2121    AND INV_MATERIAL_STATUS_GRP.loc_valid_for_item(p_locator_id,
2125     AND INV_MATERIAL_STATUS_GRP.sub_valid_for_item (p_organization_id,
2122                                                   p_organization_id,
2123                                                   inventory_item_id,
2124                                                   p_subinventory_code)='Y' --Bug# 2879164
2126                                                     inventory_item_id,
2127                                                     p_subinventory_code)='Y' -- Bug 5500255
2128     AND mtl_system_items_vl.stock_enabled_flag = 'Y'                             -- Added for Bug 6310345
2129 
2130 --Changes for GTIN
2131 	UNION
2132 
2133 	SELECT   concatenated_segments
2134                , msik.inventory_item_id
2135                , msik.description
2136                , NVL(revision_qty_control_code, 1)
2137                , NVL(lot_control_code, 1)
2138                , NVL(serial_number_control_code, 1)
2139                , NVL(restrict_subinventories_code, 2)
2140                , NVL(restrict_locators_code, 2)
2141                , NVL(location_control_code, 1)
2142                , primary_uom_code
2143                , NVL(inspection_required_flag, 2)
2144                , NVL(shelf_life_code, 1)
2145                , NVL(shelf_life_days, 0)
2146                , NVL(allowed_units_lookup_code, 2)
2147                , NVL(effectivity_control, 1)
2148                , 0 parentlpnid
2149                , 0 quantity
2150                , NVL(default_serial_status_id, 0)
2151                , NVL(serial_status_enabled, 'N')
2152                , NVL(default_lot_status_id, 0)
2153                , NVL(lot_status_enabled, 'N')
2154                , mcr.cross_reference
2155                , 'N'
2156                , inventory_item_flag
2157                , 0,
2158      --Bug No 3952081
2159      --Additional Fields for Process Convergence
2160                NVL(GRADE_CONTROL_FLAG,'N'),
2161                NVL(DEFAULT_GRADE,''),
2162                NVL(EXPIRATION_ACTION_INTERVAL,0),
2163                NVL(EXPIRATION_ACTION_CODE,''),
2164                NVL(HOLD_DAYS,0),
2165                NVL(MATURITY_DAYS,0),
2166                NVL(RETEST_INTERVAL,0),
2167                NVL(COPY_LOT_ATTRIBUTE_FLAG,'N'),
2168                NVL(CHILD_LOT_FLAG,'N'),
2169                NVL(CHILD_LOT_VALIDATION_FLAG,'N'),
2170                NVL(LOT_DIVISIBLE_FLAG,'Y'),
2171                NVL(SECONDARY_UOM_CODE,''),
2172                NVL(SECONDARY_DEFAULT_IND,''),
2173                NVL(TRACKING_QUANTITY_IND,'P'),
2174                NVL(DUAL_UOM_DEVIATION_HIGH,0),
2175                NVL(DUAL_UOM_DEVIATION_LOW,0)
2176 	FROM mtl_system_items_vl msik, mtl_cross_references mcr /* Bug 5581528 */
2177 	WHERE msik.organization_id = p_organization_id
2178 	AND msik.inventory_item_id   = mcr.inventory_item_id
2179 	AND mcr.cross_reference_type = g_gtin_cross_ref_type
2180 	AND mcr.cross_reference      LIKE l_cross_ref
2181 	AND (mcr.organization_id     = msik.organization_id
2182 	     OR
2183 	     mcr.org_independent_flag = 'Y')
2184        AND msik.stock_enabled_flag = 'Y'                             -- Added for Bug 6310345
2185         ORDER BY concatenated_segments;
2186 
2187     ELSE -- Dynamic entries are not allowed
2188       OPEN x_items FOR
2189         SELECT UNIQUE msik.concatenated_segments concatenated_segments
2190                     , msik.inventory_item_id
2191                     , msik.description
2192                     , NVL(msik.revision_qty_control_code, 1)
2193                     , NVL(msik.lot_control_code, 1)
2194                     , NVL(msik.serial_number_control_code, 1)
2195                     , NVL(msik.restrict_subinventories_code, 2)
2196                     , NVL(msik.restrict_locators_code, 2)
2197                     , NVL(msik.location_control_code, 1)
2198                     , msik.primary_uom_code
2199                     , NVL(msik.inspection_required_flag, 2)
2200                     , NVL(msik.shelf_life_code, 1)
2201                     , NVL(msik.shelf_life_days, 0)
2202                     , NVL(msik.allowed_units_lookup_code, 2)
2203                     , NVL(msik.effectivity_control, 1)
2204                     , 0 parentlpnid
2205                     , 0 quantity
2206                     , NVL(msik.default_serial_status_id, 0)
2207                     , NVL(msik.serial_status_enabled, 'N')
2208                     , NVL(msik.default_lot_status_id, 0)
2209                     , NVL(msik.lot_status_enabled, 'N')
2210                     , ''
2211                     , 'N'
2212                     , msik.inventory_item_flag
2213                     , 0,
2214      --Bug No 3952081
2215      --Additional Fields for Process Convergence
2216                     NVL(msik.GRADE_CONTROL_FLAG,'N'),
2217                     NVL(msik.DEFAULT_GRADE,''),
2218                     NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
2219                     NVL(msik.EXPIRATION_ACTION_CODE,''),
2220                     NVL(msik.HOLD_DAYS,0),
2221                     NVL(msik.MATURITY_DAYS,0),
2222                     NVL(msik.RETEST_INTERVAL,0),
2223                     NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
2224                     NVL(msik.CHILD_LOT_FLAG,'N'),
2225                     NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
2226                     NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
2227                     NVL(msik.SECONDARY_UOM_CODE,''),
2228                     NVL(msik.SECONDARY_DEFAULT_IND,''),
2229                     NVL(msik.TRACKING_QUANTITY_IND,'P'),
2230                     NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
2231                     NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
2235                   AND msik.inventory_item_id = mpit.inventory_item_id
2232                  FROM mtl_system_items_vl msik, mtl_physical_inventory_tags mpit /* Bug 5581528 */
2233                 WHERE msik.organization_id = p_organization_id
2234                   AND msik.concatenated_segments LIKE (p_concatenated_segments)
2236                   AND mpit.physical_inventory_id = p_physical_inventory_id
2237                   AND mpit.organization_id = p_organization_id
2238                   AND mpit.subinventory = p_subinventory_code
2239                   AND NVL(mpit.locator_id, -99999) = NVL(p_locator_id, -99999)
2240                   AND NVL(mpit.parent_lpn_id, -99999) = NVL(p_parent_lpn_id, -99999)
2241                   AND NVL(mpit.void_flag, 2) = 2
2242                   AND mpit.adjustment_id IN (SELECT adjustment_id
2243                                                FROM mtl_physical_adjustments
2244                                               WHERE physical_inventory_id = p_physical_inventory_id
2245                                                 AND organization_id = p_organization_id
2246                                                 AND approval_status IS NULL)
2247                   AND INV_MATERIAL_STATUS_GRP.loc_valid_for_item(p_locator_id,
2248                                                                  p_organization_id,
2249                                                                  msik.inventory_item_id,
2250                                                                  p_subinventory_code)='Y' --Bug# 2879164
2251 						AND INV_MATERIAL_STATUS_GRP.sub_valid_for_item(p_organization_id,
2252                                                                  msik.inventory_item_id,
2253                                                                  p_subinventory_code)='Y' -- Bug 5500255
2254                  AND msik.stock_enabled_flag = 'Y'                             -- Added for Bug 6310345
2255 
2256                   --Changes for GTIN
2257 		  UNION
2258 		        SELECT UNIQUE msik.concatenated_segments concatenated_segments
2259                     , msik.inventory_item_id
2260                     , msik.description
2261                     , NVL(msik.revision_qty_control_code, 1)
2262                     , NVL(msik.lot_control_code, 1)
2263                     , NVL(msik.serial_number_control_code, 1)
2264                     , NVL(msik.restrict_subinventories_code, 2)
2265                     , NVL(msik.restrict_locators_code, 2)
2266                     , NVL(msik.location_control_code, 1)
2267                     , msik.primary_uom_code
2268                     , NVL(msik.inspection_required_flag, 2)
2269                     , NVL(msik.shelf_life_code, 1)
2270                     , NVL(msik.shelf_life_days, 0)
2271                     , NVL(msik.allowed_units_lookup_code, 2)
2272                     , NVL(msik.effectivity_control, 1)
2273                     , 0 parentlpnid
2274                     , 0 quantity
2275                     , NVL(msik.default_serial_status_id, 0)
2276                     , NVL(msik.serial_status_enabled, 'N')
2277                     , NVL(msik.default_lot_status_id, 0)
2278                     , NVL(msik.lot_status_enabled, 'N')
2279                     , mcr.cross_reference
2280                     , 'N'
2281                     , msik.inventory_item_flag
2282                     , 0,
2283      --Bug No 3952081
2284      --Additional Fields for Process Convergence
2285                     NVL(msik.GRADE_CONTROL_FLAG,'N'),
2286                     NVL(msik.DEFAULT_GRADE,''),
2287                     NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
2288                     NVL(msik.EXPIRATION_ACTION_CODE,''),
2289                     NVL(msik.HOLD_DAYS,0),
2290                     NVL(msik.MATURITY_DAYS,0),
2291                     NVL(msik.RETEST_INTERVAL,0),
2292                     NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
2293                     NVL(msik.CHILD_LOT_FLAG,'N'),
2294                     NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
2295                     NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
2296                     NVL(msik.SECONDARY_UOM_CODE,''),
2297                     NVL(msik.SECONDARY_DEFAULT_IND,''),
2298                     NVL(msik.TRACKING_QUANTITY_IND,'P'),
2299                     NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
2300                     NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
2301                  FROM mtl_system_items_vl msik, mtl_physical_inventory_tags mpit, mtl_cross_references mcr /* Bug 5581528 */
2302                 WHERE msik.organization_id = p_organization_id
2303                   AND msik.inventory_item_id = mpit.inventory_item_id
2304                   AND mpit.physical_inventory_id = p_physical_inventory_id
2305                   AND mpit.organization_id = p_organization_id
2306                   AND mpit.subinventory = p_subinventory_code
2307                   AND NVL(mpit.locator_id, -99999) = NVL(p_locator_id, -99999)
2308                   AND NVL(mpit.parent_lpn_id, -99999) = NVL(p_parent_lpn_id, -99999)
2309                   AND NVL(mpit.void_flag, 2) = 2
2310                   AND mpit.adjustment_id IN (SELECT adjustment_id
2311                                                FROM mtl_physical_adjustments
2312                                               WHERE physical_inventory_id = p_physical_inventory_id
2313                                                 AND organization_id = p_organization_id
2314                                                 AND approval_status IS NULL)
2315 		AND msik.inventory_item_id   = mcr.inventory_item_id
2316       AND mcr.cross_reference_type = g_gtin_cross_ref_type
2317       AND mcr.cross_reference      LIKE l_cross_ref
2318       AND (mcr.organization_id     = msik.organization_id
2319 	   OR
2323     END IF;
2320 	   mcr.org_independent_flag = 'Y')
2321       AND msik.stock_enabled_flag = 'Y'                             -- Added for Bug 6310345
2322 	ORDER BY concatenated_segments;
2324   END get_phyinv_item_lov;
2325 
2326   --      Name: GET_PHYINV_REV_LOV
2327   --
2328   --      Input parameters:
2329   --       p_organization_id    - restricts LOV SQL to current org
2330   --       p_inventory_item_id  - restrict LOV for a given item
2331   --       p_revision           - restricts LOV SQL to the user input text
2332   --                                e.g.  A101%
2333   --       p_dynamic_entry_flag - Indicates if dynamic entries are allowed
2334   --       p_physical_inventory_id - restricts LOV SQL to current physical inventory
2335   --
2336   --      Output parameters:
2337   --       x_revs      returns LOV rows as reference cursor
2338   --
2339   --      Functions: This procedure returns LOV rows for a given org, item and
2340   --                 user input text for a given physical inventory
2341   --
2342 
2343   PROCEDURE get_phyinv_rev_lov(x_revs OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_inventory_item_id IN NUMBER, p_revision IN VARCHAR2, p_dynamic_entry_flag IN NUMBER, p_physical_inventory_id IN NUMBER, p_parent_lpn_id IN NUMBER) IS
2344   BEGIN
2345     IF (p_dynamic_entry_flag = 1) THEN -- Dynamic entries are allowed
2346       OPEN x_revs FOR
2347         SELECT   revision
2348                , effectivity_date
2349                , NVL(description, '')
2350             FROM mtl_item_revisions
2351            WHERE organization_id = p_organization_id
2352              AND inventory_item_id = p_inventory_item_id
2353              AND revision LIKE (p_revision)
2354         ORDER BY UPPER(revision);
2355     ELSE -- Dynamic entries are not allowed
2356       OPEN x_revs FOR
2357         SELECT UNIQUE mir.revision
2358                     , mir.effectivity_date
2359                     , NVL(mir.description, '')
2360                  FROM mtl_item_revisions mir, mtl_physical_inventory_tags mpit
2361                 WHERE mir.organization_id = p_organization_id
2362                   AND mir.inventory_item_id = p_inventory_item_id
2363                   AND mir.revision LIKE (p_revision)
2364                   AND mir.inventory_item_id = mpit.inventory_item_id
2365                   AND mpit.physical_inventory_id = p_physical_inventory_id
2366                   AND NVL(mpit.parent_lpn_id, -99999) = NVL(p_parent_lpn_id, -99999)
2367                   AND NVL(mpit.void_flag, 2) = 2
2368                   AND mpit.adjustment_id IN (SELECT adjustment_id
2369                                                FROM mtl_physical_adjustments
2370                                               WHERE physical_inventory_id = p_physical_inventory_id
2371                                                 AND organization_id = p_organization_id
2372                                                 AND approval_status IS NULL)
2373              ORDER BY UPPER(mir.revision);
2374     END IF;
2375   END get_phyinv_rev_lov;
2376 
2377   --      Name: GET_PHYINV_UOM_LOV
2378   --
2379   --      Input parameters:
2380   --       p_organization_id       - Restricts LOV SQL to current org
2381   --       p_inventory_item_id     - Restricts LOV for a given item
2382   --       p_uom_code              - Restricts LOV SQL to the user input text
2383   --                                   e.g.  Ea%
2384   --       p_dynamic_entry_flag    - Indicates if dynamic entries are allowed
2385   --       p_physical_inventory_id - Restricts LOV SQL to current physical inventory
2386   --
2387   --      Output parameters:
2388   --       x_uoms      returns LOV rows as reference cursor
2389   --
2390   --      Functions: This procedure returns LOV rows for a given org, item and
2391   --                 user inputted text for valid UOM's for a particular
2392   --                 physical inventory
2393   --
2394 
2395   PROCEDURE get_phyinv_uom_lov(x_uoms OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_inventory_item_id IN NUMBER, p_uom_code IN VARCHAR2) IS
2396      l_code VARCHAR2(20):=p_UOM_Code;
2397   BEGIN
2398     IF (INSTR(l_code,'(') > 0) THEN
2399       l_code := SUBSTR(p_UOM_Code,1,INSTR(p_UOM_Code,'(')-1);
2400     END IF;
2401 
2402     OPEN x_uoms FOR
2403       SELECT (inv_ui_item_lovs.get_conversion_rate(uom_code,
2404 				   p_Organization_Id,
2405 				   p_Inventory_Item_Id)) uom_code_comp
2406              , unit_of_measure
2407              , description
2408              , uom_class
2409           FROM mtl_item_uoms_view
2410          WHERE organization_id = p_organization_id
2411            AND inventory_item_id = p_inventory_item_id
2412            AND uom_code LIKE (l_code)
2413       ORDER BY inv_ui_item_lovs.conversion_order(inv_ui_item_lovs.get_conversion_rate(uom_code,
2414 				   p_Organization_Id,
2415 				   p_Inventory_Item_Id)) asc, Upper(uom_code);
2416   END get_phyinv_uom_lov;
2417 
2418   --      Name: GET_CONTAINER_ITEM_LOV
2419   --
2420   --      Input parameters:
2421   --
2422   --        p_concatenated_segments - Restricts output to user inputted value
2423   --        p_organization_id     -  Organization ID
2424   --
2425   --      Output parameters:
2426   --       x_items    -  returns LOV rows as reference cursor
2427   --
2428   --      Functions: This procedure returns valid container items
2429   --                 within the given org
2430   --
2431 
2432   PROCEDURE get_container_item_lov(x_items OUT NOCOPY t_genref, p_concatenated_segments IN VARCHAR2, p_organization_id IN NUMBER) IS
2433   l_cross_ref varchar2(204);
2437     OPEN x_items FOR
2434   BEGIN
2435 
2436    l_cross_ref := lpad(Rtrim(p_concatenated_segments, '%'), g_gtin_code_length, '00000000000000');
2438       SELECT DISTINCT concatenated_segments
2439                     , inventory_item_id
2440                     , description
2441                     , NVL(revision_qty_control_code, 1)
2442                     , NVL(lot_control_code, 1)
2443                     , NVL(serial_number_control_code, 1)
2444                     , NVL(restrict_subinventories_code, 2)
2445                     , NVL(restrict_locators_code, 2)
2446                     , NVL(location_control_code, 1)
2447                     , primary_uom_code
2448                     , NVL(inspection_required_flag, 2)
2449                     , NVL(shelf_life_code, 1)
2450                     , NVL(shelf_life_days, 0)
2451                     , NVL(allowed_units_lookup_code, 2)
2452                     , NVL(effectivity_control, 1)
2453                     , 0 parentlpnid
2454                     , 0 quantity
2455                     , NVL(default_serial_status_id, 0)
2456                     , NVL(serial_status_enabled, 'N')
2457                     , NVL(default_lot_status_id, 0)
2458                     , NVL(lot_status_enabled, 'N')
2459                     , ''
2460                     , 'N'
2461                     , inventory_item_flag
2462                     , 0,
2463 		    inventory_asset_flag, --5591433: Added inventory_asset_flag and outside_processing_flag.
2464                     outside_operation_flag,
2465                     --Bug No 3952081
2466                     --Additional Fields for Process Convergence
2467                     NVL(GRADE_CONTROL_FLAG,'N'),
2468                     NVL(DEFAULT_GRADE,''),
2469                     NVL(EXPIRATION_ACTION_INTERVAL,0),
2470                     NVL(EXPIRATION_ACTION_CODE,''),
2471                     NVL(HOLD_DAYS,0),
2472                     NVL(MATURITY_DAYS,0),
2473                     NVL(RETEST_INTERVAL,0),
2474                     NVL(COPY_LOT_ATTRIBUTE_FLAG,'N'),
2475                     NVL(CHILD_LOT_FLAG,'N'),
2476                     NVL(CHILD_LOT_VALIDATION_FLAG,'N'),
2477                     NVL(LOT_DIVISIBLE_FLAG,'Y'),
2478                     NVL(SECONDARY_UOM_CODE,''),
2479                     NVL(SECONDARY_DEFAULT_IND,''),
2480                     NVL(TRACKING_QUANTITY_IND,'P'),
2481                     NVL(DUAL_UOM_DEVIATION_HIGH,0),
2482                     NVL(DUAL_UOM_DEVIATION_LOW,0)
2483                  FROM mtl_system_items_vl /* Bug 5581528 */
2484                 WHERE organization_id = p_organization_id
2485                   AND container_item_flag = 'Y'
2486                   AND mtl_transactions_enabled_flag = 'Y'
2487       AND concatenated_segments LIKE (p_concatenated_segments)
2488 
2489       --Changes for GTIN
2490 
2491       UNION
2492 
2493            SELECT DISTINCT concatenated_segments
2494                     , msik.inventory_item_id
2495                     , msik.description
2496                     , NVL(revision_qty_control_code, 1)
2497                     , NVL(lot_control_code, 1)
2498                     , NVL(serial_number_control_code, 1)
2499                     , NVL(restrict_subinventories_code, 2)
2500                     , NVL(restrict_locators_code, 2)
2501                     , NVL(location_control_code, 1)
2502                     , primary_uom_code
2503                     , NVL(inspection_required_flag, 2)
2504                     , NVL(shelf_life_code, 1)
2505                     , NVL(shelf_life_days, 0)
2506                     , NVL(allowed_units_lookup_code, 2)
2507                     , NVL(effectivity_control, 1)
2508                     , 0 parentlpnid
2509                     , 0 quantity
2510                     , NVL(default_serial_status_id, 0)
2511                     , NVL(serial_status_enabled, 'N')
2512                     , NVL(default_lot_status_id, 0)
2513                     , NVL(lot_status_enabled, 'N')
2514                     , mcr.cross_reference
2515                     , 'N'
2516                     , inventory_item_flag
2517                     , 0,
2518 		    inventory_asset_flag, --5591433: Added inventory_asset_flag and outside_processing_flag.
2519                     outside_operation_flag,
2520                     --Bug No 3952081
2521                     --Additional Fields for Process Convergence
2522                     NVL(GRADE_CONTROL_FLAG,'N'),
2523                     NVL(DEFAULT_GRADE,''),
2524                     NVL(EXPIRATION_ACTION_INTERVAL,0),
2525                     NVL(EXPIRATION_ACTION_CODE,''),
2526                     NVL(HOLD_DAYS,0),
2527                     NVL(MATURITY_DAYS,0),
2528                     NVL(RETEST_INTERVAL,0),
2529                     NVL(COPY_LOT_ATTRIBUTE_FLAG,'N'),
2530                     NVL(CHILD_LOT_FLAG,'N'),
2531                     NVL(CHILD_LOT_VALIDATION_FLAG,'N'),
2532                     NVL(LOT_DIVISIBLE_FLAG,'Y'),
2533                     NVL(SECONDARY_UOM_CODE,''),
2534                     NVL(SECONDARY_DEFAULT_IND,''),
2535                     NVL(TRACKING_QUANTITY_IND,'P'),
2536                     NVL(DUAL_UOM_DEVIATION_HIGH,0),
2537                     NVL(DUAL_UOM_DEVIATION_LOW,0)
2538       FROM mtl_system_items_vl msik, /* Bug 5581528 */
2539       mtl_cross_references mcr
2540       WHERE msik.organization_id = p_organization_id
2541       AND msik.container_item_flag = 'Y'
2542       AND msik.mtl_transactions_enabled_flag = 'Y'
2543       AND msik.inventory_item_id   = mcr.inventory_item_id
2544       AND mcr.cross_reference_type = g_gtin_cross_ref_type
2548 	   mcr.org_independent_flag = 'Y')
2545       AND mcr.cross_reference      LIKE l_cross_ref
2546       AND (mcr.organization_id     = msik.organization_id
2547 	   OR
2549       ORDER BY concatenated_segments;
2550   END get_container_item_lov;
2551 
2552   --      Name: GET_CYC_ITEM_LOV
2553   --
2554   --      Input parameters:
2555   --
2556   --        p_concatenated_segments - User inputted value
2557   --        p_organization_id       -  Organization ID
2558   --        p_subinventory_code     -  Subinventory
2559   --        p_locator_id            -  Locator ID
2560   --        p_unscheduled_entry     -  Indicates if unscheduled entries are allowed
2561   --        p_cycle_count_header_id -  Restricts output to the given cycle count
2562   --        p_parent_lpn_id         -  Restricts output to only items with the
2563   --                                   given parent lpn ID
2564   --
2565   --      Output parameters:
2566   --       x_items    -  returns LOV rows as reference cursor
2567   --
2568   --      Functions: This procedure returns valid items that are associated
2569   --                 with the given cycle count
2570   --
2571 
2572   PROCEDURE get_cyc_item_lov(
2573     x_items                 OUT    NOCOPY t_genref
2574   , p_concatenated_segments IN     VARCHAR2
2575   , p_organization_id       IN     NUMBER
2576   , p_subinventory_code     IN     VARCHAR2
2577   , p_locator_id            IN     NUMBER
2578   , p_unscheduled_entry     IN     NUMBER
2579   , p_cycle_count_header_id IN     NUMBER
2580   , p_parent_lpn_id         IN     NUMBER
2581   ) IS
2582     l_serial_count_option          NUMBER;
2583     l_serial_discrepancy_option    NUMBER;
2584     l_container_discrepancy_option NUMBER;
2585     l_cross_ref varchar2(204);
2586   BEGIN
2587 
2588    l_cross_ref := lpad(Rtrim(p_concatenated_segments, '%'), g_gtin_code_length, '00000000000000');
2589     -- Get the cycle count discrepancy option flags
2590     SELECT NVL(serial_discrepancy_option, 2)
2591          , NVL(container_discrepancy_option, 2)
2592       INTO l_serial_discrepancy_option
2593          , l_container_discrepancy_option
2594       FROM mtl_cycle_count_headers
2595      WHERE cycle_count_header_id = p_cycle_count_header_id;
2596 
2597     -- Get the serial count option for the cycle count header
2598     SELECT NVL(serial_count_option, 1)
2599       INTO l_serial_count_option
2600       FROM mtl_cycle_count_headers
2601      WHERE cycle_count_header_id = p_cycle_count_header_id
2602        AND organization_id = p_organization_id;
2603 
2604     IF (p_unscheduled_entry = 1) THEN -- Unscheduled entries are allowed
2605       OPEN x_items FOR
2606         SELECT   msik.concatenated_segments concatenated_segments
2607                , msik.inventory_item_id
2608                , msik.description
2609                , NVL(msik.revision_qty_control_code, 1)
2610                , NVL(msik.lot_control_code, 1)
2611                , NVL(msik.serial_number_control_code, 1)
2612                , NVL(msik.restrict_subinventories_code, 2)
2613                , NVL(msik.restrict_locators_code, 2)
2614                , NVL(msik.location_control_code, 1)
2615                , msik.primary_uom_code
2616                , NVL(msik.inspection_required_flag, 2)
2617                , NVL(msik.shelf_life_code, 1)
2618                , NVL(msik.shelf_life_days, 0)
2619                , NVL(msik.allowed_units_lookup_code, 2)
2620                , NVL(msik.effectivity_control, 1)
2621                , 0 parentlpnid
2622                , 0 quantity
2623                , NVL(msik.default_serial_status_id, 0)
2624                , NVL(msik.serial_status_enabled, 'N')
2625                , NVL(msik.default_lot_status_id, 0)
2626                , NVL(msik.lot_status_enabled, 'N')
2627                , ''
2628                , 'N'
2629                , msik.inventory_item_flag
2630                , 0,
2631      --Bug No 3952081
2632      --Additional Fields for Process Convergence
2633                NVL(msik.GRADE_CONTROL_FLAG,'N'),
2634                NVL(msik.DEFAULT_GRADE,''),
2635                NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
2636                NVL(msik.EXPIRATION_ACTION_CODE,''),
2637                NVL(msik.HOLD_DAYS,0),
2638                NVL(msik.MATURITY_DAYS,0),
2639                NVL(msik.RETEST_INTERVAL,0),
2640                NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
2641                NVL(msik.CHILD_LOT_FLAG,'N'),
2642                NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
2643                NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
2644                NVL(msik.SECONDARY_UOM_CODE,''),
2645                NVL(msik.SECONDARY_DEFAULT_IND,''),
2646                NVL(msik.TRACKING_QUANTITY_IND,'P'),
2647                NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
2648                NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
2649             FROM mtl_system_items_vl msik, /* Bug 5581528 */
2650 	         mtl_cycle_count_items mcci
2651            WHERE msik.organization_id = p_organization_id
2652              AND msik.inventory_item_id = mcci.inventory_item_id
2653              AND mcci.cycle_count_header_id = p_cycle_count_header_id
2654              AND (msik.serial_number_control_code IN (1, 6)
2655                   OR (l_serial_count_option <> 1
2656                       AND serial_number_control_code NOT IN (1, 6)
2657                      )
2658                  )
2659 	AND msik.concatenated_segments LIKE (p_concatenated_segments)
2660 	AND INV_MATERIAL_STATUS_GRP.loc_valid_for_item(p_locator_id,
2664    AND INV_MATERIAL_STATUS_GRP.sub_valid_for_item(p_organization_id,
2661                                                   p_organization_id,
2662                                                    msik.inventory_item_id,
2663                                                   p_subinventory_code)='Y' --Bug# 3188455 Added this for validating restricted Items to locator and subinventory
2665                                                   msik.inventory_item_id,
2666                                                   p_subinventory_code)='Y' -- Bug 5500255
2667 	--Changes for GTIN
2668 	UNION
2669 
2670 	SELECT   msik.concatenated_segments concatenated_segments
2671                , msik.inventory_item_id
2672                , msik.description
2673                , NVL(msik.revision_qty_control_code, 1)
2674                , NVL(msik.lot_control_code, 1)
2675                , NVL(msik.serial_number_control_code, 1)
2676                , NVL(msik.restrict_subinventories_code, 2)
2677                , NVL(msik.restrict_locators_code, 2)
2678                , NVL(msik.location_control_code, 1)
2679                , msik.primary_uom_code
2680                , NVL(msik.inspection_required_flag, 2)
2681                , NVL(msik.shelf_life_code, 1)
2682                , NVL(msik.shelf_life_days, 0)
2683                , NVL(msik.allowed_units_lookup_code, 2)
2684                , NVL(msik.effectivity_control, 1)
2685                , 0 parentlpnid
2686                , 0 quantity
2687                , NVL(msik.default_serial_status_id, 0)
2688                , NVL(msik.serial_status_enabled, 'N')
2689                , NVL(msik.default_lot_status_id, 0)
2690                , NVL(msik.lot_status_enabled, 'N')
2691                , mcr.cross_reference
2692                , 'N'
2693                , msik.inventory_item_flag
2694                , 0,
2695      --Bug No 3952081
2696      --Additional Fields for Process Convergence
2697                NVL(msik.GRADE_CONTROL_FLAG,'N'),
2698                NVL(msik.DEFAULT_GRADE,''),
2699                NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
2700                NVL(msik.EXPIRATION_ACTION_CODE,''),
2701                NVL(msik.HOLD_DAYS,0),
2702                NVL(msik.MATURITY_DAYS,0),
2703                NVL(msik.RETEST_INTERVAL,0),
2704                NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
2705                NVL(msik.CHILD_LOT_FLAG,'N'),
2706                NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
2707                NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
2708                NVL(msik.SECONDARY_UOM_CODE,''),
2709                NVL(msik.SECONDARY_DEFAULT_IND,''),
2710                NVL(msik.TRACKING_QUANTITY_IND,'P'),
2711                NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
2712                NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
2713             FROM mtl_system_items_vl msik, /* Bug 5581528 */
2714 	         mtl_cycle_count_items mcci, mtl_cross_references mcr
2715            WHERE msik.organization_id = p_organization_id
2716              AND msik.inventory_item_id = mcci.inventory_item_id
2717              AND mcci.cycle_count_header_id = p_cycle_count_header_id
2718              AND (msik.serial_number_control_code IN (1, 6)
2719                   OR (l_serial_count_option <> 1
2720                       AND serial_number_control_code NOT IN (1, 6)
2721                      )
2722                  )
2723 	AND msik.inventory_item_id   = mcr.inventory_item_id
2724       AND mcr.cross_reference_type = g_gtin_cross_ref_type
2725       AND mcr.cross_reference      LIKE l_cross_ref
2726       AND (mcr.organization_id     = msik.organization_id
2727 	   OR
2728 	   mcr.org_independent_flag = 'Y')
2729         ORDER BY concatenated_segments;
2730     ELSE -- Unscheduled entries are not allowed
2731       OPEN x_items FOR
2732         SELECT UNIQUE msik.concatenated_segments concatenated_segments
2733                     , msik.inventory_item_id
2734                     , msik.description
2735                     , NVL(msik.revision_qty_control_code, 1)
2736                     , NVL(msik.lot_control_code, 1)
2737                     , NVL(msik.serial_number_control_code, 1)
2738                     , NVL(msik.restrict_subinventories_code, 2)
2739                     , NVL(msik.restrict_locators_code, 2)
2740                     , NVL(msik.location_control_code, 1)
2741                     , msik.primary_uom_code
2742                     , NVL(msik.inspection_required_flag, 2)
2743                     , NVL(msik.shelf_life_code, 1)
2744                     , NVL(msik.shelf_life_days, 0)
2745                     , NVL(msik.allowed_units_lookup_code, 2)
2746                     , NVL(msik.effectivity_control, 1)
2747                     , 0 parentlpnid
2748                     , 0 quantity
2749                     , NVL(msik.default_serial_status_id, 0)
2750                     , NVL(msik.serial_status_enabled, 'N')
2751                     , NVL(msik.default_lot_status_id, 0)
2752                     , NVL(msik.lot_status_enabled, 'N')
2753                     , ''
2754                     , 'N'
2755                     , msik.inventory_item_flag
2756                     , 0,
2757      --Bug No 3952081
2758      --Additional Fields for Process Convergence
2759                     NVL(msik.GRADE_CONTROL_FLAG,'N'),
2760                     NVL(msik.DEFAULT_GRADE,''),
2761                     NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
2762                     NVL(msik.EXPIRATION_ACTION_CODE,''),
2763                     NVL(msik.HOLD_DAYS,0),
2764                     NVL(msik.MATURITY_DAYS,0),
2765                     NVL(msik.RETEST_INTERVAL,0),
2766                     NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
2770                     NVL(msik.SECONDARY_UOM_CODE,''),
2767                     NVL(msik.CHILD_LOT_FLAG,'N'),
2768                     NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
2769                     NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
2771                     NVL(msik.SECONDARY_DEFAULT_IND,''),
2772                     NVL(msik.TRACKING_QUANTITY_IND,'P'),
2773                     NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
2774                     NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
2775                  FROM mtl_system_items_vl msik, /* Bug 5581528 */
2776 		      mtl_cycle_count_entries mcce
2777                 WHERE msik.organization_id = p_organization_id
2778                   AND msik.concatenated_segments LIKE (p_concatenated_segments)
2779                   AND msik.inventory_item_id = mcce.inventory_item_id
2780                   AND mcce.cycle_count_header_id = p_cycle_count_header_id
2781                   AND mcce.organization_id = p_organization_id
2782                   -- The sub and loc have to match an existing cycle count entry
2783                   -- OR the entry contains an LPN and
2784                   -- container discrepancies are allowed
2785                   -- OR the item is serial controlled, the cycle count header allows
2786                   -- serial items and serial discrepancies are allowed
2787                   AND ((mcce.subinventory = p_subinventory_code
2788                         AND NVL(mcce.locator_id, -99999) = NVL(p_locator_id, -99999)
2789                        )
2790                        OR (mcce.parent_lpn_id IS NOT NULL
2791                            AND l_container_discrepancy_option = 1
2792                           )
2793                        OR (l_serial_count_option <> 1
2794                            AND msik.serial_number_control_code NOT IN (1, 6)
2795                            AND l_serial_discrepancy_option = 1
2796                           )
2797                       )
2798                   AND NVL(mcce.parent_lpn_id, -99999) = NVL(p_parent_lpn_id, -99999)
2799 			 AND mcce.entry_status_code IN (1, 3)
2800 
2801 			 --Changes for GTIN
2802 			 UNION
2803 
2804 			         SELECT UNIQUE msik.concatenated_segments concatenated_segments
2805                     , msik.inventory_item_id
2806                     , msik.description
2807                     , NVL(msik.revision_qty_control_code, 1)
2808                     , NVL(msik.lot_control_code, 1)
2809                     , NVL(msik.serial_number_control_code, 1)
2810                     , NVL(msik.restrict_subinventories_code, 2)
2811                     , NVL(msik.restrict_locators_code, 2)
2812                     , NVL(msik.location_control_code, 1)
2813                     , msik.primary_uom_code
2814                     , NVL(msik.inspection_required_flag, 2)
2815                     , NVL(msik.shelf_life_code, 1)
2816                     , NVL(msik.shelf_life_days, 0)
2817                     , NVL(msik.allowed_units_lookup_code, 2)
2818                     , NVL(msik.effectivity_control, 1)
2819                     , 0 parentlpnid
2820                     , 0 quantity
2821                     , NVL(msik.default_serial_status_id, 0)
2822                     , NVL(msik.serial_status_enabled, 'N')
2823                     , NVL(msik.default_lot_status_id, 0)
2824                     , NVL(msik.lot_status_enabled, 'N')
2825                     , mcr.cross_reference
2826                     , 'N'
2827                     , msik.inventory_item_flag
2828                     , 0,
2829      --Bug No 3952081
2830      --Additional Fields for Process Convergence
2831                     NVL(msik.GRADE_CONTROL_FLAG,'N'),
2832                     NVL(msik.DEFAULT_GRADE,''),
2833                     NVL(msik.EXPIRATION_ACTION_INTERVAL,0),
2834                     NVL(msik.EXPIRATION_ACTION_CODE,''),
2835                     NVL(msik.HOLD_DAYS,0),
2836                     NVL(msik.MATURITY_DAYS,0),
2837                     NVL(msik.RETEST_INTERVAL,0),
2838                     NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,'N'),
2839                     NVL(msik.CHILD_LOT_FLAG,'N'),
2840                     NVL(msik.CHILD_LOT_VALIDATION_FLAG,'N'),
2841                     NVL(msik.LOT_DIVISIBLE_FLAG,'Y'),
2842                     NVL(msik.SECONDARY_UOM_CODE,''),
2843                     NVL(msik.SECONDARY_DEFAULT_IND,''),
2844                     NVL(msik.TRACKING_QUANTITY_IND,'P'),
2845                     NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),
2846                     NVL(msik.DUAL_UOM_DEVIATION_LOW,0)
2847                  FROM mtl_system_items_vl msik, /* Bug 5581528 */
2848 		      mtl_cycle_count_entries mcce, mtl_cross_references mcr
2849                 WHERE msik.organization_id = p_organization_id
2850                   AND msik.inventory_item_id = mcce.inventory_item_id
2851                   AND mcce.cycle_count_header_id = p_cycle_count_header_id
2852                   AND mcce.organization_id = p_organization_id
2853                   -- The sub and loc have to match an existing cycle count entry
2854                   -- OR the entry contains an LPN and
2855                   -- container discrepancies are allowed
2856                   -- OR the item is serial controlled, the cycle count header allows
2857                   -- serial items and serial discrepancies are allowed
2858                   AND ((mcce.subinventory = p_subinventory_code
2859                         AND NVL(mcce.locator_id, -99999) = NVL(p_locator_id, -99999)
2860                        )
2861                        OR (mcce.parent_lpn_id IS NOT NULL
2862                            AND l_container_discrepancy_option = 1
2863                           )
2864                        OR (l_serial_count_option <> 1
2868                       )
2865                            AND msik.serial_number_control_code NOT IN (1, 6)
2866                            AND l_serial_discrepancy_option = 1
2867                           )
2869                   AND NVL(mcce.parent_lpn_id, -99999) = NVL(p_parent_lpn_id, -99999)
2870 			 AND mcce.entry_status_code IN (1, 3)
2871 			       AND msik.inventory_item_id   = mcr.inventory_item_id
2872       AND mcr.cross_reference_type = g_gtin_cross_ref_type
2873       AND mcr.cross_reference      LIKE l_cross_ref
2874       AND (mcr.organization_id     = msik.organization_id
2875 	   OR
2876 	   mcr.org_independent_flag = 'Y')
2877              ORDER BY concatenated_segments;
2878     END IF;
2879   END get_cyc_item_lov;
2880 
2881   --      Name: GET_CYC_REV_LOV
2882   --
2883   --      Input parameters:
2884   --       p_organization_id    - restricts LOV SQL to current org
2885   --       p_inventory_item_id  - restrict LOV for a given item
2886   --       p_revision           - restricts LOV SQL to the user input text
2887   --                                e.g.  A101%
2888   --       p_unscheduled_entry  - Indicates if unscheduled entries are allowed
2889   --       p_cycle_count_header_id - restricts LOV SQL to current cycle count
2890   --       p_parent_lpn_id      -  Restricts output to only items with the
2891   --                               given parent lpn ID
2892   --
2893   --      Output parameters:
2894   --       x_revs      returns LOV rows as reference cursor
2895   --
2896   --      Functions: This procedure returns LOV rows for a given org, item and
2897   --                 user input text for a given cycle count
2898   --
2899 
2900   PROCEDURE get_cyc_rev_lov(x_revs OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_inventory_item_id IN NUMBER, p_revision IN VARCHAR2, p_unscheduled_entry IN NUMBER, p_cycle_count_header_id IN NUMBER, p_parent_lpn_id IN NUMBER) IS
2901   BEGIN
2902     IF (p_unscheduled_entry = 1) THEN -- Unscheduled entries are allowed
2903       OPEN x_revs FOR
2904         SELECT   revision
2905                , effectivity_date
2906                , NVL(description, '')
2907             FROM mtl_item_revisions
2908            WHERE organization_id = p_organization_id
2909              AND inventory_item_id = p_inventory_item_id
2910              AND revision LIKE (p_revision)
2911         ORDER BY UPPER(revision);
2912     ELSE -- Unscheduled entries are not allowed
2913       OPEN x_revs FOR
2914         SELECT UNIQUE mir.revision
2915                     , mir.effectivity_date
2916                     , NVL(mir.description, '')
2917                  FROM mtl_item_revisions mir, mtl_cycle_count_entries mcce
2918                 WHERE mir.organization_id = p_organization_id
2919                   AND mir.inventory_item_id = p_inventory_item_id
2920                   AND mir.revision LIKE (p_revision)
2921                   AND mir.inventory_item_id = mcce.inventory_item_id
2922                   AND mcce.cycle_count_header_id = p_cycle_count_header_id
2923                   AND NVL(mcce.parent_lpn_id, -99999) = NVL(p_parent_lpn_id, -99999)
2924                   AND mcce.entry_status_code IN (1, 3)
2925              ORDER BY UPPER(mir.revision);
2926     END IF;
2927   END get_cyc_rev_lov;
2928 
2929   --      Name: GET_CYC_UOM_LOV
2930   --
2931   --      Input parameters:
2932   --       p_organization_id       - Restricts LOV SQL to current org
2933   --       p_inventory_item_id     - Restricts LOV for a given item
2934   --       p_uom_code              - Restricts LOV SQL to the user input text
2935   --                                   e.g.  Ea%
2936   --       p_unscheduled_entry     - Indicates if unscheduled entries are allowed
2937   --       p_cycle_count_header_id - Restricts LOV SQL to current cycle count
2938   --
2939   --      Output parameters:
2940   --       x_uoms      returns LOV rows as reference cursor
2941   --
2942   --      Functions: This procedure returns LOV rows for a given org, item and
2943   --                 user inputted text for valid UOM's for a particular
2944   --                 cycle count
2945   --
2946 
2947   PROCEDURE get_cyc_uom_lov(x_uoms OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_inventory_item_id IN NUMBER, p_uom_code IN VARCHAR2) IS
2948   l_code VARCHAR2(20):=p_UOM_Code;
2949   BEGIN
2950    IF (INSTR(l_code,'(') > 0) THEN
2951       l_code := SUBSTR(p_UOM_Code,1,INSTR(p_UOM_Code,'(')-1);
2952    END IF;
2953 
2954     OPEN x_uoms FOR
2955 /* UOM LOV Enhancements */
2956 --      SELECT   uom_code
2957       SELECT (inv_ui_item_lovs.get_conversion_rate(uom_code,
2958                                    p_organization_id,
2959                                    p_inventory_item_id)) uom_code_comp
2960              , unit_of_measure
2961              , description
2962              , uom_class
2963           FROM mtl_item_uoms_view
2964          WHERE organization_id = p_organization_id
2965            AND inventory_item_id = p_inventory_item_id
2966            AND uom_code LIKE (l_code)
2967       ORDER BY inv_ui_item_lovs.conversion_order(inv_ui_item_lovs.get_conversion_rate(uom_code,
2968                                    p_Organization_Id,
2969                                    p_Inventory_Item_Id)) asc, Upper(uom_code);
2970 --      ORDER BY UPPER(uom_code);
2971   END get_cyc_uom_lov;
2972 
2973   --      Name: GET_INSPECT_ITEM_LOV
2974   --
2975   --      Input parameters:
2976   --       p_organization_id         organization where the inspection occurs
2977   --       p_concatenated_segments   restricts output to user entered search pattern for item
2981   --       x_items      returns LOV rows as reference cursor
2978   --       p_lpn_id                  id of lpn that contains items to be inspected
2979   --
2980   --      Output parameters:
2982   --
2983   --      Functions:
2984   --                      This procedure returns items that need inspection
2985   --
2986 
2987   PROCEDURE get_inspect_item_lov(x_items OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_concatenated_segments IN VARCHAR2, p_lpn_id IN NUMBER) IS
2988     l_inspection_qty NUMBER;
2989     l_return_status  VARCHAR2(10);
2990     l_msg_data       VARCHAR2(500);
2991     l_cross_ref varchar2(204);
2992    BEGIN
2993 
2994    l_cross_ref := lpad(Rtrim(p_concatenated_segments, '%'), g_gtin_code_length, '00000000000000');
2995      IF (p_concatenated_segments IS NOT NULL
2996 	 AND p_concatenated_segments <> '%') THEN
2997 	OPEN x_items FOR
2998 	  SELECT DISTINCT a.concatenated_segments
2999 	            , a.inventory_item_id
3000                     , a.description
3001                     , NVL(a.revision_qty_control_code, 1)
3002                     , NVL(a.lot_control_code, 1)
3003                     , NVL(a.serial_number_control_code, 1)
3004                     , NVL(a.restrict_subinventories_code, 2)
3005                     , NVL(a.restrict_locators_code, 2)
3006                     , NVL(a.location_control_code, 1)
3007                     , a.primary_uom_code
3008                     , NVL(a.inspection_required_flag, 2)
3009                     , NVL(a.shelf_life_code, 1)
3010                     , NVL(a.shelf_life_days, 0)
3011                     , NVL(a.allowed_units_lookup_code, 2)
3012                     , NVL(a.effectivity_control, 1)
3013                     , 0
3014                     , 0
3015                     , NVL(a.default_serial_status_id, 0)
3016                     , NVL(a.serial_status_enabled, 'N')
3017                     , NVL(a.default_lot_status_id, 0)
3018                     , NVL(a.lot_status_enabled, 'N')
3019                     , ''
3020                     , 'N'
3021                     , a.inventory_item_flag
3022                     , (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('LPN', p_lpn_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)),
3023      --Bug No 3952081
3024      --Additional Fields for Process Convergence
3025                     NVL(a.GRADE_CONTROL_FLAG,'N'),
3026                     NVL(a.DEFAULT_GRADE,''),
3027                     NVL(a.EXPIRATION_ACTION_INTERVAL,0),
3028                     NVL(a.EXPIRATION_ACTION_CODE,''),
3029                     NVL(a.HOLD_DAYS,0),
3030                     NVL(a.MATURITY_DAYS,0),
3031                     NVL(a.RETEST_INTERVAL,0),
3032                     NVL(a.COPY_LOT_ATTRIBUTE_FLAG,'N'),
3033                     NVL(a.CHILD_LOT_FLAG,'N'),
3034                     NVL(a.CHILD_LOT_VALIDATION_FLAG,'N'),
3035                     NVL(a.LOT_DIVISIBLE_FLAG,'Y'),
3036                     NVL(a.SECONDARY_UOM_CODE,''),
3037                     NVL(a.SECONDARY_DEFAULT_IND,''),
3038                     NVL(a.TRACKING_QUANTITY_IND,'P'),
3039                     NVL(a.DUAL_UOM_DEVIATION_HIGH,0),
3040                     NVL(a.DUAL_UOM_DEVIATION_LOW,0)
3041                  FROM mtl_system_items_vl a, mtl_txn_request_lines b /* Bug 5581528 */
3042                 WHERE b.lpn_id = p_lpn_id
3043                   AND b.organization_id = p_organization_id
3044                   AND b.inspection_status = 1  /* Yet to be inspected */
3045                   AND b.organization_id = a.organization_id
3046                   AND b.inventory_item_id = a.inventory_item_id
3047 	          AND a.concatenated_segments LIKE (p_concatenated_segments)
3048 	          AND Nvl(b.wms_process_flag,-1) <> 2
3049 	  AND ((inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('LPN',
3050 								    p_lpn_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)) > 0)
3051 
3052 	  --Changes for GTIN
3053 	  UNION
3054 
3055 	  	  SELECT DISTINCT a.concatenated_segments
3056 	            , a.inventory_item_id
3057                     , a.description
3058                     , NVL(a.revision_qty_control_code, 1)
3059                     , NVL(a.lot_control_code, 1)
3060                     , NVL(a.serial_number_control_code, 1)
3061                     , NVL(a.restrict_subinventories_code, 2)
3062                     , NVL(a.restrict_locators_code, 2)
3063                     , NVL(a.location_control_code, 1)
3064                     , a.primary_uom_code
3065                     , NVL(a.inspection_required_flag, 2)
3066                     , NVL(a.shelf_life_code, 1)
3067                     , NVL(a.shelf_life_days, 0)
3068                     , NVL(a.allowed_units_lookup_code, 2)
3069                     , NVL(a.effectivity_control, 1)
3070                     , 0
3071                     , 0
3072                     , NVL(a.default_serial_status_id, 0)
3073                     , NVL(a.serial_status_enabled, 'N')
3074                     , NVL(a.default_lot_status_id, 0)
3075                     , NVL(a.lot_status_enabled, 'N')
3076                     , mcr.cross_reference
3077                     , 'N'
3078                     , a.inventory_item_flag
3079                     , (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('LPN', p_lpn_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)),
3080      --Bug No 3952081
3081      --Additional Fields for Process Convergence
3082                     NVL(a.GRADE_CONTROL_FLAG,'N'),
3083                     NVL(a.DEFAULT_GRADE,''),
3084                     NVL(a.EXPIRATION_ACTION_INTERVAL,0),
3085                     NVL(a.EXPIRATION_ACTION_CODE,''),
3089                     NVL(a.COPY_LOT_ATTRIBUTE_FLAG,'N'),
3086                     NVL(a.HOLD_DAYS,0),
3087                     NVL(a.MATURITY_DAYS,0),
3088                     NVL(a.RETEST_INTERVAL,0),
3090                     NVL(a.CHILD_LOT_FLAG,'N'),
3091                     NVL(a.CHILD_LOT_VALIDATION_FLAG,'N'),
3092                     NVL(a.LOT_DIVISIBLE_FLAG,'Y'),
3093                     NVL(a.SECONDARY_UOM_CODE,''),
3094                     NVL(a.SECONDARY_DEFAULT_IND,''),
3095                     NVL(a.TRACKING_QUANTITY_IND,'P'),
3096                     NVL(a.DUAL_UOM_DEVIATION_HIGH,0),
3097                     NVL(a.DUAL_UOM_DEVIATION_LOW,0)
3098 	  FROM mtl_system_items_vl a, /* Bug 5581528 */
3099 	  mtl_txn_request_lines b,
3100 	    mtl_cross_references mcr
3101 	  WHERE b.lpn_id = p_lpn_id
3102 	  AND b.organization_id = p_organization_id
3103 	  AND b.inspection_status = 1  /* Yet to be inspected */
3104 	  AND b.organization_id = a.organization_id
3105 	  AND b.inventory_item_id = a.inventory_item_id
3106 	  AND Nvl(b.wms_process_flag,-1) <> 2
3107 	  AND ((inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('LPN',
3108 								    p_lpn_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)) > 0)
3109 	  AND a.inventory_item_id   = mcr.inventory_item_id
3110 	  AND mcr.cross_reference_type = g_gtin_cross_ref_type
3111 	  AND mcr.cross_reference      LIKE l_cross_ref
3112 	  AND (mcr.organization_id     = a.organization_id
3113 	       OR
3114 	       mcr.org_independent_flag = 'Y');
3115 
3116 
3117       ELSE
3118 	OPEN x_items FOR
3119 	  SELECT DISTINCT a.concatenated_segments
3120 	            , a.inventory_item_id
3121                     , a.description
3122                     , NVL(a.revision_qty_control_code, 1)
3123                     , NVL(a.lot_control_code, 1)
3124                     , NVL(a.serial_number_control_code, 1)
3125                     , NVL(a.restrict_subinventories_code, 2)
3126                     , NVL(a.restrict_locators_code, 2)
3127                     , NVL(a.location_control_code, 1)
3128                     , a.primary_uom_code
3129                     , NVL(a.inspection_required_flag, 2)
3130                     , NVL(a.shelf_life_code, 1)
3131                     , NVL(a.shelf_life_days, 0)
3132                     , NVL(a.allowed_units_lookup_code, 2)
3133                     , NVL(a.effectivity_control, 1)
3134                     , 0
3135                     , 0
3136                     , NVL(a.default_serial_status_id, 0)
3137                     , NVL(a.serial_status_enabled, 'N')
3138                     , NVL(a.default_lot_status_id, 0)
3139                     , NVL(a.lot_status_enabled, 'N')
3140                     , ''
3141                     , 'N'
3142                     , a.inventory_item_flag
3143                     , (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('LPN', p_lpn_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)),
3144      --Bug No 3952081
3145      --Additional Fields for Process Convergence
3146                     NVL(a.GRADE_CONTROL_FLAG,'N'),
3147                     NVL(a.DEFAULT_GRADE,''),
3148                     NVL(a.EXPIRATION_ACTION_INTERVAL,0),
3149                     NVL(a.EXPIRATION_ACTION_CODE,''),
3150                     NVL(a.HOLD_DAYS,0),
3151                     NVL(a.MATURITY_DAYS,0),
3152                     NVL(a.RETEST_INTERVAL,0),
3153                     NVL(a.COPY_LOT_ATTRIBUTE_FLAG,'N'),
3154                     NVL(a.CHILD_LOT_FLAG,'N'),
3155                     NVL(a.CHILD_LOT_VALIDATION_FLAG,'N'),
3156                     NVL(a.LOT_DIVISIBLE_FLAG,'Y'),
3157                     NVL(a.SECONDARY_UOM_CODE,''),
3158                     NVL(a.SECONDARY_DEFAULT_IND,''),
3159                     NVL(a.TRACKING_QUANTITY_IND,'P'),
3160                     NVL(a.DUAL_UOM_DEVIATION_HIGH,0),
3161                     NVL(a.DUAL_UOM_DEVIATION_LOW,0)
3162                  FROM mtl_system_items_vl a, mtl_txn_request_lines b /* Bug 5581528 */
3163                 WHERE b.lpn_id = p_lpn_id
3164                   AND b.organization_id = p_organization_id
3165                   AND b.inspection_status = 1  /* Yet to be inspected */
3166                   AND b.organization_id = a.organization_id
3167                   AND b.inventory_item_id = a.inventory_item_id
3168 		  AND a.concatenated_segments LIKE (p_concatenated_segments)
3169 	          AND Nvl(b.wms_process_flag,-1) <> 2
3170 	  AND ((inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('LPN', p_lpn_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)) > 0);
3171      END IF;
3172   END get_inspect_item_lov;
3173 
3174   --      Name: GET_INSPECT_REVISION_LOV
3175   --
3176   --      Input parameters:
3177   --       p_Organization_Id   which restricts LOV SQL to current org
3178   --       p_Inventory_Item_Id restrict LOV for a given item
3179   --       p_lpn_id            restricts items to lpn that is being inspected
3180   --       p_Revision          which restricts LOV SQL to the user input text
3181   --                                e.g.  A101%
3182   --
3183   --      Output parameters:
3184   --       x_Revs      returns LOV rows as reference cursor
3185   --
3186   --      Functions: This procedure returns LOV rows for a given org, item and
3187   --                 user input text
3188   --
3189   --
3190   --
3191   PROCEDURE get_inspect_revision_lov(x_revs OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_inventory_item_id IN NUMBER, p_lpn_id IN NUMBER, p_revision IN VARCHAR2) IS
3192   BEGIN
3193     OPEN x_revs FOR
3194       SELECT DISTINCT a.revision
3198                 WHERE b.organization_id = p_organization_id
3195                     , a.effectivity_date
3196                     , NVL(a.description, '')
3197                  FROM mtl_item_revisions a, mtl_txn_request_lines b
3199                   AND b.inventory_item_id = p_inventory_item_id
3200                   AND b.lpn_id = p_lpn_id
3201                   AND b.inspection_status = 1  /* yet to be inspected */
3202                   AND a.organization_id = b.organization_id
3203                   AND a.inventory_item_id = b.inventory_item_id
3204                   AND a.revision = b.revision
3205                   AND a.revision LIKE (p_revision);
3206   END get_inspect_revision_lov;
3207 
3208   PROCEDURE get_oh_item_lov(x_items OUT NOCOPY t_genref, p_org_id IN NUMBER, p_subinventory_code VARCHAR2, p_locator_id VARCHAR2, p_container_item_flag VARCHAR2, p_item IN VARCHAR2) IS
3209   l_cross_ref varchar2(204);
3210   BEGIN
3211 
3212    l_cross_ref := lpad(Rtrim(p_item, '%'), g_gtin_code_length, '00000000000000');
3213     IF (p_container_item_flag IS NULL) THEN
3214       OPEN x_items FOR
3215         SELECT DISTINCT msi.concatenated_segments
3216                       , moq.inventory_item_id
3217                       , msi.description
3218                       , NVL(msi.revision_qty_control_code, 1)
3219                       , NVL(msi.lot_control_code, 1)
3220                       , NVL(msi.serial_number_control_code, 1)
3221                       , NVL(msi.restrict_subinventories_code, 2)
3222                       , NVL(msi.restrict_locators_code, 2)
3223                       , NVL(msi.location_control_code, 1)
3224                       , msi.primary_uom_code
3225                       , NVL(msi.inspection_required_flag, 2)
3226                       , NVL(msi.shelf_life_code, 1)
3227                       , NVL(msi.shelf_life_days, 0)
3228                       , NVL(msi.allowed_units_lookup_code, 2)
3229                       , NVL(msi.effectivity_control, 1)
3230                       , '0'
3231                       , '0'
3232                       , '0'
3233                       , '0'
3234                       , '0'
3235                       , '0'
3236                       , ''
3237                       , 'N'
3238                       , msi.inventory_item_flag
3239                       , 0,
3240      --Bug No 3952081
3241      --Additional Fields for Process Convergence
3242                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
3243                       NVL(msi.DEFAULT_GRADE,''),
3244                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
3245                       NVL(msi.EXPIRATION_ACTION_CODE,''),
3246                       NVL(msi.HOLD_DAYS,0),
3247                       NVL(msi.MATURITY_DAYS,0),
3248                       NVL(msi.RETEST_INTERVAL,0),
3249                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
3250                       NVL(msi.CHILD_LOT_FLAG,'N'),
3251                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
3252                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
3253                       NVL(msi.SECONDARY_UOM_CODE,''),
3254                       NVL(msi.SECONDARY_DEFAULT_IND,''),
3255                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
3256                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
3257                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
3258                    FROM mtl_onhand_quantities_detail moq, mtl_system_items_vl msi  -- Bug 2687570, use MOQD instead of MOQ because consigned stock is not visible in MOQ
3259                   WHERE moq.organization_id = p_org_id
3260                     AND NVL(moq.subinventory_code, '@') = NVL(p_subinventory_code, NVL(moq.subinventory_code, '@'))
3261                     AND NVL(moq.locator_id, -1) = NVL(p_locator_id, NVL(moq.locator_id, -1))
3262                     AND moq.containerized_flag = 2
3263                     AND moq.inventory_item_id = msi.inventory_item_id
3264                     AND moq.organization_id = msi.organization_id
3265 	AND msi.concatenated_segments LIKE (p_item)
3266 
3267 	--Changes for GTIN
3268 	UNION
3269 
3270 	        SELECT DISTINCT msi.concatenated_segments
3271                       , moq.inventory_item_id
3272                       , msi.description
3273                       , NVL(msi.revision_qty_control_code, 1)
3274                       , NVL(msi.lot_control_code, 1)
3275                       , NVL(msi.serial_number_control_code, 1)
3276                       , NVL(msi.restrict_subinventories_code, 2)
3277                       , NVL(msi.restrict_locators_code, 2)
3278                       , NVL(msi.location_control_code, 1)
3279                       , msi.primary_uom_code
3280                       , NVL(msi.inspection_required_flag, 2)
3281                       , NVL(msi.shelf_life_code, 1)
3282                       , NVL(msi.shelf_life_days, 0)
3283                       , NVL(msi.allowed_units_lookup_code, 2)
3284                       , NVL(msi.effectivity_control, 1)
3285                       , '0'
3286                       , '0'
3287                       , '0'
3288                       , '0'
3289                       , '0'
3290                       , '0'
3291                       , mcr.cross_reference
3292                       , 'N'
3293                       , msi.inventory_item_flag
3294                       , 0,
3295      --Bug No 3952081
3296      --Additional Fields for Process Convergence
3297                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
3298                       NVL(msi.DEFAULT_GRADE,''),
3299                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
3300                       NVL(msi.EXPIRATION_ACTION_CODE,''),
3304                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
3301                       NVL(msi.HOLD_DAYS,0),
3302                       NVL(msi.MATURITY_DAYS,0),
3303                       NVL(msi.RETEST_INTERVAL,0),
3305                       NVL(msi.CHILD_LOT_FLAG,'N'),
3306                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
3307                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
3308                       NVL(msi.SECONDARY_UOM_CODE,''),
3309                       NVL(msi.SECONDARY_DEFAULT_IND,''),
3310                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
3311                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
3312                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
3313 	FROM mtl_onhand_quantities_detail moq, -- Bug 2687570, use MOQD instead of MOQ because consigned stock is not visible in MOQ
3314 	mtl_system_items_vl msi, /* Bug 5581528 */
3315 	mtl_cross_references mcr
3316 	WHERE moq.organization_id = p_org_id
3317 	AND NVL(moq.subinventory_code, '@') = NVL(p_subinventory_code, NVL(moq.subinventory_code, '@'))
3318 	AND NVL(moq.locator_id, -1) = NVL(p_locator_id, NVL(moq.locator_id, -1))
3319 	AND moq.containerized_flag = 2
3320 	AND moq.inventory_item_id = msi.inventory_item_id
3321 	AND moq.organization_id = msi.organization_id
3322 	AND msi.inventory_item_id   = mcr.inventory_item_id
3323 	AND mcr.cross_reference_type = g_gtin_cross_ref_type
3324 	AND mcr.cross_reference      LIKE l_cross_ref
3325 	AND (mcr.organization_id     = msi.organization_id
3326 	     OR
3327 	     mcr.org_independent_flag = 'Y');
3328 
3329     ELSE
3330       OPEN x_items FOR
3331         SELECT DISTINCT msi.concatenated_segments
3332                       , moq.inventory_item_id
3333                       , msi.description
3334                       , NVL(msi.revision_qty_control_code, 1)
3335                       , NVL(msi.lot_control_code, 1)
3336                       , NVL(msi.serial_number_control_code, 1)
3337                       , NVL(msi.restrict_subinventories_code, 2)
3338                       , NVL(msi.restrict_locators_code, 2)
3339                       , NVL(msi.location_control_code, 1)
3340                       , msi.primary_uom_code
3341                       , NVL(msi.inspection_required_flag, 2)
3342                       , NVL(msi.shelf_life_code, 1)
3343                       , NVL(msi.shelf_life_days, 0)
3344                       , NVL(msi.allowed_units_lookup_code, 2)
3345                       , NVL(msi.effectivity_control, 1)
3346                       , '0'
3347                       , '0'
3348                       , '0'
3349                       , '0'
3350                       , '0'
3351                       , '0'
3352                       , ''
3353                       , 'N'
3354                       , msi.inventory_item_flag
3355                       , 0,
3356                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
3357      --Bug No 3952081
3358      --Additional Fields for Process Convergence
3359                       NVL(msi.DEFAULT_GRADE,''),
3360                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
3361                       NVL(msi.EXPIRATION_ACTION_CODE,''),
3362                       NVL(msi.HOLD_DAYS,0),
3363                       NVL(msi.MATURITY_DAYS,0),
3364                       NVL(msi.RETEST_INTERVAL,0),
3365                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
3366                       NVL(msi.CHILD_LOT_FLAG,'N'),
3367                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
3368                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
3369                       NVL(msi.SECONDARY_UOM_CODE,''),
3370                       NVL(msi.SECONDARY_DEFAULT_IND,''),
3371                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
3372                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
3373                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
3374                    FROM mtl_onhand_quantities_detail moq, mtl_system_items_vl msi /* Bug 5581528 */
3375 					-- Bug 2687570, use MOQD instead of MOQ because consigned stock is not visible in MOQ
3376                   WHERE moq.organization_id = p_org_id
3377                     AND NVL(moq.subinventory_code, '@') = NVL(p_subinventory_code, NVL(moq.subinventory_code, '@'))
3378                     AND NVL(moq.locator_id, -1) = NVL(p_locator_id, NVL(moq.locator_id, -1))
3379                     AND NVL(msi.container_item_flag, '@') = NVL(p_container_item_flag, NVL(msi.container_item_flag, '@'))
3380                     AND moq.inventory_item_id = msi.inventory_item_id
3381                     AND moq.organization_id = msi.organization_id
3382 	AND concatenated_segments LIKE (p_item)
3383 
3384 	--Changes for GTIN
3385 	UNION
3386 
3387 	        SELECT DISTINCT msi.concatenated_segments
3388                       , moq.inventory_item_id
3389                       , msi.description
3390                       , NVL(msi.revision_qty_control_code, 1)
3391                       , NVL(msi.lot_control_code, 1)
3392                       , NVL(msi.serial_number_control_code, 1)
3393                       , NVL(msi.restrict_subinventories_code, 2)
3394                       , NVL(msi.restrict_locators_code, 2)
3395                       , NVL(msi.location_control_code, 1)
3396                       , msi.primary_uom_code
3397                       , NVL(msi.inspection_required_flag, 2)
3398                       , NVL(msi.shelf_life_code, 1)
3399                       , NVL(msi.shelf_life_days, 0)
3400                       , NVL(msi.allowed_units_lookup_code, 2)
3401                       , NVL(msi.effectivity_control, 1)
3402                       , '0'
3403                       , '0'
3404                       , '0'
3408                       , mcr.cross_reference
3405                       , '0'
3406                       , '0'
3407                       , '0'
3409                       , 'N'
3410                       , msi.inventory_item_flag
3411                       , 0,
3412      --Bug No 3952081
3413      --Additional Fields for Process Convergence
3414                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
3415                       NVL(msi.DEFAULT_GRADE,''),
3416                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
3417                       NVL(msi.EXPIRATION_ACTION_CODE,''),
3418                       NVL(msi.HOLD_DAYS,0),
3419                       NVL(msi.MATURITY_DAYS,0),
3420                       NVL(msi.RETEST_INTERVAL,0),
3421                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
3422                       NVL(msi.CHILD_LOT_FLAG,'N'),
3423                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
3424                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
3425                       NVL(msi.SECONDARY_UOM_CODE,''),
3426                       NVL(msi.SECONDARY_DEFAULT_IND,''),
3427                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
3428                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
3429                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
3430 	FROM mtl_onhand_quantities_detail moq, -- Bug 2687570, use MOQD instead of MOQ because consigned stock is not visible in MOQ
3431 	mtl_system_items_vl msi, /* Bug 5581528 */
3432 	mtl_cross_references mcr
3433 	WHERE moq.organization_id = p_org_id
3434 	AND NVL(moq.subinventory_code, '@') = NVL(p_subinventory_code, NVL(moq.subinventory_code, '@'))
3435 	AND NVL(moq.locator_id, -1) = NVL(p_locator_id, NVL(moq.locator_id, -1))
3436 	AND NVL(msi.container_item_flag, '@') = NVL(p_container_item_flag, NVL(msi.container_item_flag, '@'))
3437 	AND moq.inventory_item_id = msi.inventory_item_id
3438 	AND moq.organization_id = msi.organization_id
3439 	AND msi.inventory_item_id   = mcr.inventory_item_id
3440 	AND mcr.cross_reference_type = g_gtin_cross_ref_type
3441 	AND mcr.cross_reference      LIKE l_cross_ref
3442 	AND (mcr.organization_id     = msi.organization_id
3443 	     OR
3444 	     mcr.org_independent_flag = 'Y');
3445     END IF;
3446   END get_oh_item_lov;
3447 
3448   PROCEDURE get_cont_item_lov(x_items OUT NOCOPY t_genref, p_org_id IN NUMBER, p_lpn_id IN VARCHAR2, p_item IN VARCHAR2) IS
3449   l_cross_ref varchar2(204);
3450   BEGIN
3451 
3452    l_cross_ref := lpad(Rtrim(p_item, '%'), g_gtin_code_length, '00000000000000');
3453     OPEN x_items FOR
3454       SELECT DISTINCT msi.concatenated_segments
3455                     , wlc.inventory_item_id
3456                     , NVL(msi.description, '')
3457                     , NVL(msi.revision_qty_control_code, 1)
3458                     , NVL(msi.lot_control_code, 1)
3459                     , NVL(msi.serial_number_control_code, 1)
3460                     , NVL(msi.restrict_subinventories_code, 2)
3461                     , NVL(msi.restrict_locators_code, 2)
3462                     , NVL(msi.location_control_code, 1)
3463                     , NVL(msi.primary_uom_code, '')
3464                     , NVL(msi.inspection_required_flag, 2)
3465                     , NVL(msi.shelf_life_code, 1)
3466                     , NVL(msi.shelf_life_days, 0)
3467                     , NVL(msi.allowed_units_lookup_code, 2)
3468                     , NVL(msi.effectivity_control, 1)
3469                     , NVL(wlc.parent_lpn_id, 0)
3470                     , '0'
3471                     , '0'
3472                     , '0'
3473                     , '0'
3474                     , '0'
3475                     , ''
3476                     , 'N'
3477                     , msi.inventory_item_flag
3478                     , 0,
3479      --Bug No 3952081
3480      --Additional Fields for Process Convergence
3481                     NVL(msi.GRADE_CONTROL_FLAG,'N'),
3482                     NVL(msi.DEFAULT_GRADE,''),
3483                     NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
3484                     NVL(msi.EXPIRATION_ACTION_CODE,''),
3485                     NVL(msi.HOLD_DAYS,0),
3486                     NVL(msi.MATURITY_DAYS,0),
3487                     NVL(msi.RETEST_INTERVAL,0),
3488                     NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
3489                     NVL(msi.CHILD_LOT_FLAG,'N'),
3490                     NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
3491                     NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
3492                     NVL(msi.SECONDARY_UOM_CODE,''),
3493                     NVL(msi.SECONDARY_DEFAULT_IND,''),
3494                     NVL(msi.TRACKING_QUANTITY_IND,'P'),
3495                     NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
3496                     NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
3497                  FROM mtl_system_items_vl msi, wms_lpn_contents wlc /* Bug 5581528 */
3498                 WHERE wlc.organization_id = p_org_id
3499                   AND wlc.parent_lpn_id = TO_NUMBER(p_lpn_id)
3500                   AND msi.inventory_item_id = wlc.inventory_item_id
3501                   AND msi.organization_id = wlc.organization_id
3502       AND msi.concatenated_segments LIKE (p_item)
3503 
3504       --Changes for GTIN
3505       UNION
3506 
3507             SELECT DISTINCT msi.concatenated_segments
3508                     , wlc.inventory_item_id
3509                     , NVL(msi.description, '')
3510                     , NVL(msi.revision_qty_control_code, 1)
3511                     , NVL(msi.lot_control_code, 1)
3512                     , NVL(msi.serial_number_control_code, 1)
3513                     , NVL(msi.restrict_subinventories_code, 2)
3517                     , NVL(msi.inspection_required_flag, 2)
3514                     , NVL(msi.restrict_locators_code, 2)
3515                     , NVL(msi.location_control_code, 1)
3516                     , NVL(msi.primary_uom_code, '')
3518                     , NVL(msi.shelf_life_code, 1)
3519                     , NVL(msi.shelf_life_days, 0)
3520                     , NVL(msi.allowed_units_lookup_code, 2)
3521                     , NVL(msi.effectivity_control, 1)
3522                     , NVL(wlc.parent_lpn_id, 0)
3523                     , '0'
3524                     , '0'
3525                     , '0'
3526                     , '0'
3527                     , '0'
3528                     , mcr.cross_reference
3529                     , 'N'
3530                     , msi.inventory_item_flag
3531                     , 0,
3532      --Bug No 3952081
3533      --Additional Fields for Process Convergence
3534                     NVL(msi.GRADE_CONTROL_FLAG,'N'),
3535                     NVL(msi.DEFAULT_GRADE,''),
3536                     NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
3537                     NVL(msi.EXPIRATION_ACTION_CODE,''),
3538                     NVL(msi.HOLD_DAYS,0),
3539                     NVL(msi.MATURITY_DAYS,0),
3540                     NVL(msi.RETEST_INTERVAL,0),
3541                     NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
3542                     NVL(msi.CHILD_LOT_FLAG,'N'),
3543                     NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
3544                     NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
3545                     NVL(msi.SECONDARY_UOM_CODE,''),
3546                     NVL(msi.SECONDARY_DEFAULT_IND,''),
3547                     NVL(msi.TRACKING_QUANTITY_IND,'P'),
3548                     NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
3549                     NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
3550       FROM mtl_system_items_vl msi, /* Bug 5581528 */
3551       wms_lpn_contents wlc,
3552       mtl_cross_references mcr
3553       WHERE wlc.organization_id = p_org_id
3554       AND wlc.parent_lpn_id = TO_NUMBER(p_lpn_id)
3555       AND msi.inventory_item_id = wlc.inventory_item_id
3556       AND msi.organization_id = wlc.organization_id
3557       AND msi.inventory_item_id   = mcr.inventory_item_id
3558       AND mcr.cross_reference_type = g_gtin_cross_ref_type
3559       AND mcr.cross_reference      LIKE l_cross_ref
3560       AND (mcr.organization_id     = msi.organization_id
3561 	   OR
3562 	   mcr.org_independent_flag = 'Y');
3563 
3564   END get_cont_item_lov;
3565 
3566   PROCEDURE get_bp_item_lov(x_items OUT NOCOPY t_genref, p_org_id IN NUMBER, p_subinventory_code VARCHAR2, p_locator_id VARCHAR2, p_container_item_flag VARCHAR2, p_source VARCHAR2, p_item VARCHAR2) IS
3567   l_cross_ref varchar2(204);
3568   BEGIN
3569 
3570    l_cross_ref := lpad(Rtrim(p_item, '%'), g_gtin_code_length, '00000000000000');
3571     IF (NVL(p_source, '1') = '1') THEN
3572       IF (p_container_item_flag = 'Y') THEN
3573         OPEN x_items FOR
3574           SELECT DISTINCT msi.concatenated_segments
3575                         , msi.inventory_item_id
3576                         , msi.description
3577                         , NVL(msi.revision_qty_control_code, 1)
3578                         , NVL(msi.lot_control_code, 1)
3579                         , NVL(msi.serial_number_control_code, 1)
3580                         , NVL(msi.restrict_subinventories_code, 2)
3581                         , NVL(msi.restrict_locators_code, 2)
3582                         , NVL(msi.location_control_code, 1)
3583                         , msi.primary_uom_code
3584                         , NVL(msi.inspection_required_flag, 2)
3585                         , NVL(msi.shelf_life_code, 1)
3586                         , NVL(msi.shelf_life_days, 0)
3587                         , NVL(msi.allowed_units_lookup_code, 2)
3588                         , NVL(msi.effectivity_control, 1)
3589                         , '0'
3590                         , '0'
3591                         , '0'
3592                         , '0'
3593                         , '0'
3594                         , '0'
3595                         , ''
3596                         , 'N'
3597                         , msi.inventory_item_flag
3598                         , 0,
3599      --Bug No 3952081
3600      --Additional Fields for Process Convergence
3601                     NVL(msi.GRADE_CONTROL_FLAG,'N'),
3602                     NVL(msi.DEFAULT_GRADE,''),
3603                     NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
3604                     NVL(msi.EXPIRATION_ACTION_CODE,''),
3605                     NVL(msi.HOLD_DAYS,0),
3606                     NVL(msi.MATURITY_DAYS,0),
3607                     NVL(msi.RETEST_INTERVAL,0),
3608                     NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
3609                     NVL(msi.CHILD_LOT_FLAG,'N'),
3610                     NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
3611                     NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
3612                     NVL(msi.SECONDARY_UOM_CODE,''),
3613                     NVL(msi.SECONDARY_DEFAULT_IND,''),
3614                     NVL(msi.TRACKING_QUANTITY_IND,'P'),
3615                     NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
3616                     NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
3617                      FROM mtl_system_items_vl msi /* Bug 5581528 */
3618                     WHERE msi.organization_id = p_org_id
3619                       AND NVL(serial_number_control_code, 1) IN (1, 2, 5, 6)
3620                       AND NVL(container_item_flag, 'N') = NVL(p_container_item_flag, NVL(container_item_flag, 'N'))
3621 	  AND msi.concatenated_segments LIKE (p_item)
3622 
3623 	  --Changes for GTIN
3624 	  UNION
3625 
3629                         , NVL(msi.revision_qty_control_code, 1)
3626 	            SELECT DISTINCT msi.concatenated_segments
3627                         , msi.inventory_item_id
3628                         , msi.description
3630                         , NVL(msi.lot_control_code, 1)
3631                         , NVL(msi.serial_number_control_code, 1)
3632                         , NVL(msi.restrict_subinventories_code, 2)
3633                         , NVL(msi.restrict_locators_code, 2)
3634                         , NVL(msi.location_control_code, 1)
3635                         , msi.primary_uom_code
3636                         , NVL(msi.inspection_required_flag, 2)
3637                         , NVL(msi.shelf_life_code, 1)
3638                         , NVL(msi.shelf_life_days, 0)
3639                         , NVL(msi.allowed_units_lookup_code, 2)
3640                         , NVL(msi.effectivity_control, 1)
3641                         , '0'
3642                         , '0'
3643                         , '0'
3644                         , '0'
3645                         , '0'
3646                         , '0'
3647                         , mcr.cross_reference
3648                         , 'N'
3649                         , msi.inventory_item_flag
3650                         , 0,
3651      --Bug No 3952081
3652      --Additional Fields for Process Convergence
3653                     NVL(msi.GRADE_CONTROL_FLAG,'N'),
3654                     NVL(msi.DEFAULT_GRADE,''),
3655                     NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
3656                     NVL(msi.EXPIRATION_ACTION_CODE,''),
3657                     NVL(msi.HOLD_DAYS,0),
3658                     NVL(msi.MATURITY_DAYS,0),
3659                     NVL(msi.RETEST_INTERVAL,0),
3660                     NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
3661                     NVL(msi.CHILD_LOT_FLAG,'N'),
3662                     NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
3663                     NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
3664                     NVL(msi.SECONDARY_UOM_CODE,''),
3665                     NVL(msi.SECONDARY_DEFAULT_IND,''),
3666                     NVL(msi.TRACKING_QUANTITY_IND,'P'),
3667                     NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
3668                     NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
3669 	  FROM mtl_system_items_vl msi, /* Bug 5581528 */
3670 	  mtl_cross_references mcr
3671 	  WHERE msi.organization_id = p_org_id
3672 	  AND NVL(serial_number_control_code, 1) IN (1, 2, 5, 6)
3673 	  AND NVL(container_item_flag, 'N') = NVL(p_container_item_flag, NVL(container_item_flag, 'N'))
3674 	  AND msi.inventory_item_id   = mcr.inventory_item_id
3675 	  AND mcr.cross_reference_type = g_gtin_cross_ref_type
3676 	  AND mcr.cross_reference      LIKE l_cross_ref
3677 	  AND (mcr.organization_id     = msi.organization_id
3678 	       OR
3679 	       mcr.org_independent_flag = 'Y');
3680 
3681       ELSE
3682         OPEN x_items FOR
3683           SELECT DISTINCT msi.concatenated_segments
3684                         , msi.inventory_item_id
3685                         , msi.description
3686                         , NVL(msi.revision_qty_control_code, 1)
3687                         , NVL(msi.lot_control_code, 1)
3688                         , NVL(msi.serial_number_control_code, 1)
3689                         , NVL(msi.restrict_subinventories_code, 2)
3690                         , NVL(msi.restrict_locators_code, 2)
3691                         , NVL(msi.location_control_code, 1)
3692                         , msi.primary_uom_code
3693                         , NVL(msi.inspection_required_flag, 2)
3694                         , NVL(msi.shelf_life_code, 1)
3695                         , NVL(msi.shelf_life_days, 0)
3696                         , NVL(msi.allowed_units_lookup_code, 2)
3697                         , NVL(msi.effectivity_control, 1)
3698                         , '0'
3699                         , '0'
3700                         , '0'
3701                         , '0'
3702                         , '0'
3703                         , '0'
3704                         , ''
3705                         , 'N'
3706                         , msi.inventory_item_flag
3707                         , 0,
3708      --Bug No 3952081
3709      --Additional Fields for Process Convergence
3710                     NVL(msi.GRADE_CONTROL_FLAG,'N'),
3711                     NVL(msi.DEFAULT_GRADE,''),
3712                     NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
3713                     NVL(msi.EXPIRATION_ACTION_CODE,''),
3714                     NVL(msi.HOLD_DAYS,0),
3715                     NVL(msi.MATURITY_DAYS,0),
3716                     NVL(msi.RETEST_INTERVAL,0),
3717                     NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
3718                     NVL(msi.CHILD_LOT_FLAG,'N'),
3719                     NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
3720                     NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
3721                     NVL(msi.SECONDARY_UOM_CODE,''),
3722                     NVL(msi.SECONDARY_DEFAULT_IND,''),
3723                     NVL(msi.TRACKING_QUANTITY_IND,'P'),
3724                     NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
3725                     NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
3726                      FROM mtl_onhand_quantities_detail moq, mtl_system_items_vl msi -- Bug 2687570, use MOQD instead of MOQ because consigned stock is not visible in MOQ
3727                     WHERE msi.organization_id = p_org_id
3728                       AND NVL(serial_number_control_code, 1) IN (1, 2, 5, 6)
3729                       AND msi.concatenated_segments LIKE (p_item)
3733                       AND moq.containerized_flag = 2
3730                       AND NVL(container_item_flag, 'N') = NVL(p_container_item_flag, NVL(container_item_flag, 'N'))
3731                       AND moq.subinventory_code = NVL(p_subinventory_code, moq.subinventory_code)
3732                       AND moq.locator_id = NVL(TO_NUMBER(p_locator_id), moq.locator_id)
3734                       AND moq.inventory_item_id = msi.inventory_item_id
3735 	  AND moq.organization_id = msi.organization_id
3736 
3737 	  --Changes for GTIN
3738 	  UNION
3739 
3740 	            SELECT DISTINCT msi.concatenated_segments
3741                         , msi.inventory_item_id
3742                         , msi.description
3743                         , NVL(msi.revision_qty_control_code, 1)
3744                         , NVL(msi.lot_control_code, 1)
3745                         , NVL(msi.serial_number_control_code, 1)
3746                         , NVL(msi.restrict_subinventories_code, 2)
3747                         , NVL(msi.restrict_locators_code, 2)
3748                         , NVL(msi.location_control_code, 1)
3749                         , msi.primary_uom_code
3750                         , NVL(msi.inspection_required_flag, 2)
3751                         , NVL(msi.shelf_life_code, 1)
3752                         , NVL(msi.shelf_life_days, 0)
3753                         , NVL(msi.allowed_units_lookup_code, 2)
3754                         , NVL(msi.effectivity_control, 1)
3755                         , '0'
3756                         , '0'
3757                         , '0'
3758                         , '0'
3759                         , '0'
3760                         , '0'
3761                         , mcr.cross_reference
3762                         , 'N'
3763                         , msi.inventory_item_flag
3764                         , 0,
3765      --Bug No 3952081
3766      --Additional Fields for Process Convergence
3767                     NVL(msi.GRADE_CONTROL_FLAG,'N'),
3768                     NVL(msi.DEFAULT_GRADE,''),
3769                     NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
3770                     NVL(msi.EXPIRATION_ACTION_CODE,''),
3771                     NVL(msi.HOLD_DAYS,0),
3772                     NVL(msi.MATURITY_DAYS,0),
3773                     NVL(msi.RETEST_INTERVAL,0),
3774                     NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
3775                     NVL(msi.CHILD_LOT_FLAG,'N'),
3776                     NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
3777                     NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
3778                     NVL(msi.SECONDARY_UOM_CODE,''),
3779                     NVL(msi.SECONDARY_DEFAULT_IND,''),
3780                     NVL(msi.TRACKING_QUANTITY_IND,'P'),
3781                     NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
3782                     NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
3783 	  FROM mtl_onhand_quantities_detail moq, -- Bug 2687570, use MOQD instead of MOQ because consigned stock is not visible in MOQ
3784 	  mtl_system_items_vl msi, /* Bug 5581528 */
3785 	  mtl_cross_references mcr
3786 	  WHERE msi.organization_id = p_org_id
3787 	  AND NVL(serial_number_control_code, 1) IN (1, 2, 5, 6)
3788 	  AND NVL(container_item_flag, 'N') = NVL(p_container_item_flag, NVL(container_item_flag, 'N'))
3789 	  AND moq.subinventory_code = NVL(p_subinventory_code, moq.subinventory_code)
3790 	  AND moq.locator_id = NVL(TO_NUMBER(p_locator_id), moq.locator_id)
3791 	  AND moq.containerized_flag = 2
3792 	  AND moq.inventory_item_id = msi.inventory_item_id
3793 	  AND moq.organization_id = msi.organization_id
3794 	  AND msi.inventory_item_id   = mcr.inventory_item_id
3795 	  AND mcr.cross_reference_type = g_gtin_cross_ref_type
3796 	  AND mcr.cross_reference      LIKE l_cross_ref
3797 	  AND (mcr.organization_id     = msi.organization_id
3798 	       OR
3799 	       mcr.org_independent_flag = 'Y');
3800 
3801       END IF;
3802     ELSE
3803       OPEN x_items FOR
3804         SELECT DISTINCT concatenated_segments
3805                       , inventory_item_id
3806                       , description
3807                       , NVL(revision_qty_control_code, 1)
3808                       , NVL(lot_control_code, 1)
3809                       , NVL(serial_number_control_code, 1)
3810                       , NVL(restrict_subinventories_code, 2)
3811                       , NVL(restrict_locators_code, 2)
3812                       , NVL(location_control_code, 1)
3813                       , primary_uom_code
3814                       , NVL(inspection_required_flag, 2)
3815                       , NVL(shelf_life_code, 1)
3816                       , NVL(shelf_life_days, 0)
3817                       , NVL(allowed_units_lookup_code, 2)
3818                       , NVL(effectivity_control, 1)
3819                       , '0'
3820                       , '0'
3821                       , '0'
3822                       , '0'
3823                       , '0'
3824                       , '0'
3825                       , ''
3826                       , 'N'
3827                       , inventory_item_flag
3828                       , 0,
3829      --Bug No 3952081
3830      --Additional Fields for Process Convergence
3831                     NVL(GRADE_CONTROL_FLAG,'N'),
3832                     NVL(DEFAULT_GRADE,''),
3833                     NVL(EXPIRATION_ACTION_INTERVAL,0),
3834                     NVL(EXPIRATION_ACTION_CODE,''),
3835                     NVL(HOLD_DAYS,0),
3836                     NVL(MATURITY_DAYS,0),
3837                     NVL(RETEST_INTERVAL,0),
3838                     NVL(COPY_LOT_ATTRIBUTE_FLAG,'N'),
3839                     NVL(CHILD_LOT_FLAG,'N'),
3843                     NVL(SECONDARY_DEFAULT_IND,''),
3840                     NVL(CHILD_LOT_VALIDATION_FLAG,'N'),
3841                     NVL(LOT_DIVISIBLE_FLAG,'Y'),
3842                     NVL(SECONDARY_UOM_CODE,''),
3844                     NVL(TRACKING_QUANTITY_IND,'P'),
3845                     NVL(DUAL_UOM_DEVIATION_HIGH,0),
3846                     NVL(DUAL_UOM_DEVIATION_LOW,0)
3847                    FROM mtl_system_items_vl /* Bug 5581528 */
3848                   WHERE organization_id = p_org_id
3849                     AND NVL(container_item_flag, 'N') = NVL(p_container_item_flag, NVL(container_item_flag, 'N'))
3850                     AND NVL(serial_number_control_code, 1) IN (1, 2, 5, 6)
3851 	AND concatenated_segments LIKE (p_item)
3852 
3853 	--Changes for GTIN
3854 	UNION
3855 
3856 	        SELECT DISTINCT msik.concatenated_segments
3857                       , msik.inventory_item_id
3858                       , msik.description
3859                       , NVL(revision_qty_control_code, 1)
3860                       , NVL(lot_control_code, 1)
3861                       , NVL(serial_number_control_code, 1)
3862                       , NVL(restrict_subinventories_code, 2)
3863                       , NVL(restrict_locators_code, 2)
3864                       , NVL(location_control_code, 1)
3865                       , primary_uom_code
3866                       , NVL(inspection_required_flag, 2)
3867                       , NVL(shelf_life_code, 1)
3868                       , NVL(shelf_life_days, 0)
3869                       , NVL(allowed_units_lookup_code, 2)
3870                       , NVL(effectivity_control, 1)
3871                       , '0'
3872                       , '0'
3873                       , '0'
3874                       , '0'
3875                       , '0'
3876                       , '0'
3877                       , mcr.cross_reference
3878                       , 'N'
3879                       , inventory_item_flag
3880                       , 0,
3881      --Bug No 3952081
3882      --Additional Fields for Process Convergence
3883                     NVL(GRADE_CONTROL_FLAG,'N'),
3884                     NVL(DEFAULT_GRADE,''),
3885                     NVL(EXPIRATION_ACTION_INTERVAL,0),
3886                     NVL(EXPIRATION_ACTION_CODE,''),
3887                     NVL(HOLD_DAYS,0),
3888                     NVL(MATURITY_DAYS,0),
3889                     NVL(RETEST_INTERVAL,0),
3890                     NVL(COPY_LOT_ATTRIBUTE_FLAG,'N'),
3891                     NVL(CHILD_LOT_FLAG,'N'),
3892                     NVL(CHILD_LOT_VALIDATION_FLAG,'N'),
3893                     NVL(LOT_DIVISIBLE_FLAG,'Y'),
3894                     NVL(SECONDARY_UOM_CODE,''),
3895                     NVL(SECONDARY_DEFAULT_IND,''),
3896                     NVL(TRACKING_QUANTITY_IND,'P'),
3897                     NVL(DUAL_UOM_DEVIATION_HIGH,0),
3898                     NVL(DUAL_UOM_DEVIATION_LOW,0)
3899 	FROM mtl_system_items_vl msik, /* Bug 5581528 */
3900 	mtl_cross_references mcr
3901 	WHERE msik.organization_id = p_org_id
3902 	AND NVL(msik.container_item_flag, 'N') = NVL(p_container_item_flag, NVL(msik.container_item_flag, 'N'))
3903 	AND NVL(msik.serial_number_control_code, 1) IN (1, 2, 5, 6)
3904 	AND msik.inventory_item_id   = mcr.inventory_item_id
3905 	AND mcr.cross_reference_type = g_gtin_cross_ref_type
3906 	AND mcr.cross_reference      LIKE l_cross_ref
3907 	AND (mcr.organization_id     = msik.organization_id
3908 	     OR
3909 	     mcr.org_independent_flag = 'Y');
3910 
3911     END IF;
3912   END get_bp_item_lov;
3913 
3914 
3915   --Bug # 2647045
3916   PROCEDURE get_cont_uom_lov(x_UOMS OUT NOCOPY t_genref,
3917 		      p_Organization_Id IN NUMBER,
3918 		      p_Inventory_Item_Id IN NUMBER,
3919 		      p_lpn_id IN NUMBER,
3920 		      p_UOM_Code IN VARCHAR2) IS
3921      l_code VARCHAR2(20):=p_UOM_Code;
3922   BEGIN
3923      IF (INSTR(l_code,'(') > 0) THEN
3924       l_code := SUBSTR(p_UOM_Code,1,INSTR(p_UOM_Code,'(')-1);
3925    END IF;
3926 
3927     OPEN x_uoms FOR
3928       SELECT DISTINCT (inv_ui_item_lovs.get_conversion_rate(wlc.uom_code,
3929 				   p_Organization_Id,
3930 				   p_Inventory_Item_Id)) uom_code_comp
3931                     , miuv.unit_of_measure
3932                     , miuv.description
3933                     , miuv.uom_class
3934                  FROM mtl_item_uoms_view miuv, wms_lpn_contents wlc
3935                 WHERE wlc.organization_id = p_organization_id
3936                   AND wlc.inventory_item_id = p_inventory_item_id
3937                   AND NVL(wlc.parent_lpn_id, 0) = NVL(p_lpn_id, NVL(wlc.parent_lpn_id, 0))
3938                   AND miuv.organization_id = wlc.organization_id
3939                   AND miuv.inventory_item_id = wlc.inventory_item_id
3940                   AND miuv.uom_code = wlc.uom_code
3941                   AND wlc.uom_code LIKE (l_code)
3942       ORDER BY inv_ui_item_lovs.conversion_order(inv_ui_item_lovs.get_conversion_rate(wlc.uom_code,
3943 				   p_Organization_Id,
3944 				   p_Inventory_Item_Id)) asc, Upper(wlc.uom_code);
3945   END get_cont_uom_lov;
3946 
3947 
3948 
3949   PROCEDURE get_all_uom_lov(x_uoms OUT NOCOPY t_genref, p_uom_code IN VARCHAR2) IS
3950   BEGIN
3951     OPEN x_uoms FOR
3952       SELECT DISTINCT uom_code
3953                     , unit_of_measure
3954                     , description
3955                     , uom_class
3956                  FROM mtl_units_of_measure
3957                 WHERE uom_code LIKE (p_uom_code);
3958   END get_all_uom_lov;
3959 
3960   --      Name: GET_INV_INSPECT_ITEM_LOV
3964   --       p_concatenated_segments   restricts output to user entered search pattern for item
3961   --
3962   --      Input parameters:
3963   --       p_organization_id         organization where the inspection occurs
3965   --       p_source                  document source type being inspected
3966   --                                 PO, INTSHIP, RMA, RECEIPT
3967   --       p_source_id               relevant document id based on p_source
3968   --                                 po_header_id, shipment_header_id, oe_order_header_id,
3969   --                                 receipt_num
3970   --
3971   --      Output parameters:
3972   --       x_items      returns LOV rows as reference cursor
3973   --
3974   --      Functions:
3975   --                      This procedure returns the items that need inspection
3976   --
3977 
3978   PROCEDURE get_inv_inspect_item_lov(x_items OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_concatenated_segments IN VARCHAR2, p_source IN VARCHAR2, p_source_id IN NUMBER) IS
3979   l_cross_ref varchar2(204);
3980   BEGIN
3981 
3982    l_cross_ref := lpad(Rtrim(p_concatenated_segments, '%'), g_gtin_code_length, '00000000000000');
3983     IF (p_source IN ('PO', 'po')) THEN
3984       OPEN x_items FOR
3985         SELECT DISTINCT a.concatenated_segments
3986                       , a.inventory_item_id
3987                       , a.description
3988                       , NVL(a.revision_qty_control_code, 1)
3989                       , NVL(a.lot_control_code, 1)
3990                       , NVL(a.serial_number_control_code, 1)
3991                       , NVL(a.restrict_subinventories_code, 2)
3992                       , NVL(a.restrict_locators_code, 2)
3993                       , NVL(a.location_control_code, 1)
3994                       , a.primary_uom_code
3995                       , NVL(a.inspection_required_flag, 2)
3996                       , NVL(a.shelf_life_code, 1)
3997                       , NVL(a.shelf_life_days, 0)
3998                       , NVL(a.allowed_units_lookup_code, 2)
3999                       , NVL(a.effectivity_control, 1)
4000                       , 0
4001                       , 0
4002                       , NVL(a.default_serial_status_id, 0)
4003                       , NVL(a.serial_status_enabled, 'N')
4004                       , NVL(a.default_lot_status_id, 0)
4005                       , NVL(a.lot_status_enabled, 'N')
4006                       , ''
4007                       , 'N'
4008                       , a.inventory_item_flag
4009                       , (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('PO', p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code))
4010 		      , a.inventory_asset_flag --5405993: Added inventory_asset_flag and outside_processing_flag.
4011 		      , a.outside_operation_flag,
4012      --Bug No 3952081
4013      --Additional Fields for Process Convergence
4014                       NVL(a.GRADE_CONTROL_FLAG,'N'),
4015                       NVL(a.DEFAULT_GRADE,''),
4016                       NVL(a.EXPIRATION_ACTION_INTERVAL,0),
4017                       NVL(a.EXPIRATION_ACTION_CODE,''),
4018                       NVL(a.HOLD_DAYS,0),
4019                       NVL(a.MATURITY_DAYS,0),
4020                       NVL(a.RETEST_INTERVAL,0),
4021                       NVL(a.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4022                       NVL(a.CHILD_LOT_FLAG,'N'),
4023                       NVL(a.CHILD_LOT_VALIDATION_FLAG,'N'),
4024                       NVL(a.LOT_DIVISIBLE_FLAG,'Y'),
4025                       NVL(a.SECONDARY_UOM_CODE,''),
4026                       NVL(a.SECONDARY_DEFAULT_IND,''),
4027                       NVL(a.TRACKING_QUANTITY_IND,'P'),
4028                       NVL(a.DUAL_UOM_DEVIATION_HIGH,0),
4029                       NVL(a.DUAL_UOM_DEVIATION_LOW,0)
4030                    FROM mtl_system_items_vl a, rcv_transactions_v b /* Bug 5581528 */
4031                   WHERE b.to_organization_id = p_organization_id
4032                     AND b.po_header_id = p_source_id
4033                     AND b.inspection_status_code = 'NOT INSPECTED'
4034                     AND b.routing_id = 2  /* Inspection routing */
4035                     AND b.to_organization_id = a.organization_id
4036                     AND b.item_id = a.inventory_item_id
4037                     AND a.concatenated_segments LIKE (p_concatenated_segments)
4038 	AND (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('PO',
4039 								 p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)) > 0
4040 
4041 	--Changes for GTIN
4042 
4043 	UNION
4044 	        SELECT DISTINCT a.concatenated_segments
4045                       , a.inventory_item_id
4046                       , a.description
4047                       , NVL(a.revision_qty_control_code, 1)
4048                       , NVL(a.lot_control_code, 1)
4049                       , NVL(a.serial_number_control_code, 1)
4050                       , NVL(a.restrict_subinventories_code, 2)
4051                       , NVL(a.restrict_locators_code, 2)
4052                       , NVL(a.location_control_code, 1)
4053                       , a.primary_uom_code
4054                       , NVL(a.inspection_required_flag, 2)
4055                       , NVL(a.shelf_life_code, 1)
4056                       , NVL(a.shelf_life_days, 0)
4057                       , NVL(a.allowed_units_lookup_code, 2)
4058                       , NVL(a.effectivity_control, 1)
4059                       , 0
4060                       , 0
4061                       , NVL(a.default_serial_status_id, 0)
4062                       , NVL(a.serial_status_enabled, 'N')
4063                       , NVL(a.default_lot_status_id, 0)
4067                       , a.inventory_item_flag
4064                       , NVL(a.lot_status_enabled, 'N')
4065                       , mcr.cross_reference
4066                       , 'N'
4068                       , (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('PO', p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code))
4069 		      , a.inventory_asset_flag --5405993: Added inventory_asset_flag and outside_processing_flag.
4070 		      , a.outside_operation_flag,
4071      --Bug No 3952081
4072      --Additional Fields for Process Convergence
4073                       NVL(a.GRADE_CONTROL_FLAG,'N'),
4074                       NVL(a.DEFAULT_GRADE,''),
4075                       NVL(a.EXPIRATION_ACTION_INTERVAL,0),
4076                       NVL(a.EXPIRATION_ACTION_CODE,''),
4077                       NVL(a.HOLD_DAYS,0),
4078                       NVL(a.MATURITY_DAYS,0),
4079                       NVL(a.RETEST_INTERVAL,0),
4080                       NVL(a.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4081                       NVL(a.CHILD_LOT_FLAG,'N'),
4082                       NVL(a.CHILD_LOT_VALIDATION_FLAG,'N'),
4083                       NVL(a.LOT_DIVISIBLE_FLAG,'Y'),
4084                       NVL(a.SECONDARY_UOM_CODE,''),
4085                       NVL(a.SECONDARY_DEFAULT_IND,''),
4086                       NVL(a.TRACKING_QUANTITY_IND,'P'),
4087                       NVL(a.DUAL_UOM_DEVIATION_HIGH,0),
4088                       NVL(a.DUAL_UOM_DEVIATION_LOW,0)
4089 	FROM mtl_system_items_vl a, /* Bug 5581528 */
4090 	rcv_transactions_v b,
4091 	mtl_cross_references mcr
4092 	WHERE b.to_organization_id = p_organization_id
4093 	AND b.po_header_id = p_source_id
4094 	AND b.inspection_status_code = 'NOT INSPECTED'
4095 	AND b.routing_id = 2  /* Inspection routing */
4096 	AND b.to_organization_id = a.organization_id
4097 	AND b.item_id = a.inventory_item_id
4098 	AND (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('PO', p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)) > 0
4099 	AND a.inventory_item_id   = mcr.inventory_item_id
4100 	AND mcr.cross_reference_type = g_gtin_cross_ref_type
4101 	AND mcr.cross_reference      LIKE l_cross_ref
4102 	AND (mcr.organization_id     = a.organization_id
4103 	     OR
4104 	     mcr.org_independent_flag = 'Y');
4105 
4106      ELSIF (p_source IN ('INTSHIP', 'intship')) THEN
4107       OPEN x_items FOR
4108         SELECT DISTINCT a.concatenated_segments
4109                       , a.inventory_item_id
4110                       , a.description
4111                       , NVL(a.revision_qty_control_code, 1)
4112                       , NVL(a.lot_control_code, 1)
4113                       , NVL(a.serial_number_control_code, 1)
4114                       , NVL(a.restrict_subinventories_code, 2)
4115                       , NVL(a.restrict_locators_code, 2)
4116                       , NVL(a.location_control_code, 1)
4117                       , a.primary_uom_code
4118                       , NVL(a.inspection_required_flag, 2)
4119                       , NVL(a.shelf_life_code, 1)
4120                       , NVL(a.shelf_life_days, 0)
4121                       , NVL(a.allowed_units_lookup_code, 2)
4122                       , NVL(a.effectivity_control, 1)
4123                       , 0
4124                       , 0
4125                       , NVL(a.default_serial_status_id, 0)
4126                       , NVL(a.serial_status_enabled, 'N')
4127                       , NVL(a.default_lot_status_id, 0)
4128                       , NVL(a.lot_status_enabled, 'N')
4129                       , ''
4130                       , 'N'
4131                       , a.inventory_item_flag
4132                       , (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('INTSHIP', p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code))
4133 		      , a.inventory_asset_flag --5405993: Added inventory_asset_flag and outside_processing_flag.
4134 		      , a.outside_operation_flag,
4135      --Bug No 3952081
4136      --Additional Fields for Process Convergence
4137                       NVL(a.GRADE_CONTROL_FLAG,'N'),
4138                       NVL(a.DEFAULT_GRADE,''),
4139                       NVL(a.EXPIRATION_ACTION_INTERVAL,0),
4140                       NVL(a.EXPIRATION_ACTION_CODE,''),
4141                       NVL(a.HOLD_DAYS,0),
4142                       NVL(a.MATURITY_DAYS,0),
4143                       NVL(a.RETEST_INTERVAL,0),
4144                       NVL(a.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4145                       NVL(a.CHILD_LOT_FLAG,'N'),
4146                       NVL(a.CHILD_LOT_VALIDATION_FLAG,'N'),
4147                       NVL(a.LOT_DIVISIBLE_FLAG,'Y'),
4148                       NVL(a.SECONDARY_UOM_CODE,''),
4149                       NVL(a.SECONDARY_DEFAULT_IND,''),
4150                       NVL(a.TRACKING_QUANTITY_IND,'P'),
4151                       NVL(a.DUAL_UOM_DEVIATION_HIGH,0),
4152                       NVL(a.DUAL_UOM_DEVIATION_LOW,0)
4153                    FROM mtl_system_items_vl a, rcv_transactions_v b /* Bug 5581528 */
4154                   WHERE b.to_organization_id = p_organization_id
4155                     AND b.shipment_header_id = p_source_id
4156                     AND b.receipt_source_code <> 'VENDOR'
4157                     AND b.inspection_status_code = 'NOT INSPECTED'
4158                     AND b.routing_id = 2  /* Inspection routing */
4159                     AND b.to_organization_id = a.organization_id
4160                     AND b.item_id = a.inventory_item_id
4161                     AND a.concatenated_segments LIKE (p_concatenated_segments)
4162 	AND (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('INTSHIP',
4166 	UNION
4163 								 p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)) > 0
4164 
4165 	--Changes for GTIN
4167 
4168 	        SELECT DISTINCT a.concatenated_segments
4169                       , a.inventory_item_id
4170                       , a.description
4171                       , NVL(a.revision_qty_control_code, 1)
4172                       , NVL(a.lot_control_code, 1)
4173                       , NVL(a.serial_number_control_code, 1)
4174                       , NVL(a.restrict_subinventories_code, 2)
4175                       , NVL(a.restrict_locators_code, 2)
4176                       , NVL(a.location_control_code, 1)
4177                       , a.primary_uom_code
4178                       , NVL(a.inspection_required_flag, 2)
4179                       , NVL(a.shelf_life_code, 1)
4180                       , NVL(a.shelf_life_days, 0)
4181                       , NVL(a.allowed_units_lookup_code, 2)
4182                       , NVL(a.effectivity_control, 1)
4183                       , 0
4184                       , 0
4185                       , NVL(a.default_serial_status_id, 0)
4186                       , NVL(a.serial_status_enabled, 'N')
4187                       , NVL(a.default_lot_status_id, 0)
4188                       , NVL(a.lot_status_enabled, 'N')
4189                       , mcr.cross_reference
4190                       , 'N'
4191                       , a.inventory_item_flag
4192                       , (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('INTSHIP', p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code))
4193 		      , a.inventory_asset_flag --5405993: Added inventory_asset_flag and outside_processing_flag.
4194 		      , a.outside_operation_flag,
4195      --Bug No 3952081
4196      --Additional Fields for Process Convergence
4197                       NVL(a.GRADE_CONTROL_FLAG,'N'),
4198                       NVL(a.DEFAULT_GRADE,''),
4199                       NVL(a.EXPIRATION_ACTION_INTERVAL,0),
4200                       NVL(a.EXPIRATION_ACTION_CODE,''),
4201                       NVL(a.HOLD_DAYS,0),
4202                       NVL(a.MATURITY_DAYS,0),
4203                       NVL(a.RETEST_INTERVAL,0),
4204                       NVL(a.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4205                       NVL(a.CHILD_LOT_FLAG,'N'),
4206                       NVL(a.CHILD_LOT_VALIDATION_FLAG,'N'),
4207                       NVL(a.LOT_DIVISIBLE_FLAG,'Y'),
4208                       NVL(a.SECONDARY_UOM_CODE,''),
4209                       NVL(a.SECONDARY_DEFAULT_IND,''),
4210                       NVL(a.TRACKING_QUANTITY_IND,'P'),
4211                       NVL(a.DUAL_UOM_DEVIATION_HIGH,0),
4212                       NVL(a.DUAL_UOM_DEVIATION_LOW,0)
4213 	FROM mtl_system_items_vl a, /* Bug 5581528 */
4214 	rcv_transactions_v b,
4215 	mtl_cross_references mcr
4216 	WHERE b.to_organization_id = p_organization_id
4217 	AND b.shipment_header_id = p_source_id
4218 	AND b.receipt_source_code <> 'VENDOR'
4219 	AND b.inspection_status_code = 'NOT INSPECTED'
4220 	AND b.routing_id = 2  /* Inspection routing */
4221 	AND b.to_organization_id = a.organization_id
4222 	AND b.item_id = a.inventory_item_id
4223 	AND (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('INTSHIP',
4224 								 p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)) > 0
4225 	AND a.inventory_item_id   = mcr.inventory_item_id
4226 	AND mcr.cross_reference_type = g_gtin_cross_ref_type
4227 	AND mcr.cross_reference      LIKE l_cross_ref
4228 	AND (mcr.organization_id     = a.organization_id
4229 	     OR
4230 	     mcr.org_independent_flag = 'Y');
4231 
4232     ELSIF (p_source IN ('RMA', 'rma')) THEN
4233       OPEN x_items FOR
4234         SELECT DISTINCT a.concatenated_segments
4235                       , a.inventory_item_id
4236                       , a.description
4237                       , NVL(a.revision_qty_control_code, 1)
4238                       , NVL(a.lot_control_code, 1)
4239                       , NVL(a.serial_number_control_code, 1)
4240                       , NVL(a.restrict_subinventories_code, 2)
4241                       , NVL(a.restrict_locators_code, 2)
4242                       , NVL(a.location_control_code, 1)
4243                       , a.primary_uom_code
4244                       , NVL(a.inspection_required_flag, 2)
4245                       , NVL(a.shelf_life_code, 1)
4246                       , NVL(a.shelf_life_days, 0)
4247                       , NVL(a.allowed_units_lookup_code, 2)
4248                       , NVL(a.effectivity_control, 1)
4249                       , 0
4250                       , 0
4251                       , NVL(a.default_serial_status_id, 0)
4252                       , NVL(a.serial_status_enabled, 'N')
4253                       , NVL(a.default_lot_status_id, 0)
4254                       , NVL(a.lot_status_enabled, 'N')
4255                       , ''
4256                       , 'N'
4257                       , a.inventory_item_flag
4258                       , (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('RMA', p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code))
4259 		      , a.inventory_asset_flag --5405993: Added inventory_asset_flag and outside_processing_flag.
4260 		      , a.outside_operation_flag,
4261      --Bug No 3952081
4262      --Additional Fields for Process Convergence
4263                       NVL(a.GRADE_CONTROL_FLAG,'N'),
4264                       NVL(a.DEFAULT_GRADE,''),
4265                       NVL(a.EXPIRATION_ACTION_INTERVAL,0),
4266                       NVL(a.EXPIRATION_ACTION_CODE,''),
4267                       NVL(a.HOLD_DAYS,0),
4271                       NVL(a.CHILD_LOT_FLAG,'N'),
4268                       NVL(a.MATURITY_DAYS,0),
4269                       NVL(a.RETEST_INTERVAL,0),
4270                       NVL(a.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4272                       NVL(a.CHILD_LOT_VALIDATION_FLAG,'N'),
4273                       NVL(a.LOT_DIVISIBLE_FLAG,'Y'),
4274                       NVL(a.SECONDARY_UOM_CODE,''),
4275                       NVL(a.SECONDARY_DEFAULT_IND,''),
4276                       NVL(a.TRACKING_QUANTITY_IND,'P'),
4277                       NVL(a.DUAL_UOM_DEVIATION_HIGH,0),
4278                       NVL(a.DUAL_UOM_DEVIATION_LOW,0)
4279                    FROM mtl_system_items_vl a, rcv_transactions_v b /* Bug 5581528 */
4280                   WHERE b.to_organization_id = p_organization_id
4281                     AND b.oe_order_header_id = p_source_id
4282                     AND b.receipt_source_code <> 'VENDOR'
4283                     AND b.inspection_status_code = 'NOT INSPECTED'
4284                     AND b.routing_id = 2  /* Inspection routing */
4285                     AND b.to_organization_id = a.organization_id
4286                     AND b.item_id = a.inventory_item_id
4287                     AND a.concatenated_segments LIKE (p_concatenated_segments)
4288 	AND (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('RMA',
4289 								 p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)) > 0
4290 
4291 	--Changes for GTIN
4292 	UNION
4293 
4294 	        SELECT DISTINCT a.concatenated_segments
4295                       , a.inventory_item_id
4296                       , a.description
4297                       , NVL(a.revision_qty_control_code, 1)
4298                       , NVL(a.lot_control_code, 1)
4299                       , NVL(a.serial_number_control_code, 1)
4300                       , NVL(a.restrict_subinventories_code, 2)
4301                       , NVL(a.restrict_locators_code, 2)
4302                       , NVL(a.location_control_code, 1)
4303                       , a.primary_uom_code
4304                       , NVL(a.inspection_required_flag, 2)
4305                       , NVL(a.shelf_life_code, 1)
4306                       , NVL(a.shelf_life_days, 0)
4307                       , NVL(a.allowed_units_lookup_code, 2)
4308                       , NVL(a.effectivity_control, 1)
4309                       , 0
4310                       , 0
4311                       , NVL(a.default_serial_status_id, 0)
4312                       , NVL(a.serial_status_enabled, 'N')
4313                       , NVL(a.default_lot_status_id, 0)
4314                       , NVL(a.lot_status_enabled, 'N')
4315                       , mcr.cross_reference
4316                       , 'N'
4317                       , a.inventory_item_flag
4318                       , (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('RMA', p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code))
4319 		      , a.inventory_asset_flag --5405993: Added inventory_asset_flag and outside_processing_flag.
4320 		      , a.outside_operation_flag,
4321      --Bug No 3952081
4322      --Additional Fields for Process Convergence
4323                       NVL(a.GRADE_CONTROL_FLAG,'N'),
4324                       NVL(a.DEFAULT_GRADE,''),
4325                       NVL(a.EXPIRATION_ACTION_INTERVAL,0),
4326                       NVL(a.EXPIRATION_ACTION_CODE,''),
4327                       NVL(a.HOLD_DAYS,0),
4328                       NVL(a.MATURITY_DAYS,0),
4329                       NVL(a.RETEST_INTERVAL,0),
4330                       NVL(a.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4331                       NVL(a.CHILD_LOT_FLAG,'N'),
4332                       NVL(a.CHILD_LOT_VALIDATION_FLAG,'N'),
4333                       NVL(a.LOT_DIVISIBLE_FLAG,'Y'),
4334                       NVL(a.SECONDARY_UOM_CODE,''),
4335                       NVL(a.SECONDARY_DEFAULT_IND,''),
4336                       NVL(a.TRACKING_QUANTITY_IND,'P'),
4337                       NVL(a.DUAL_UOM_DEVIATION_HIGH,0),
4338                       NVL(a.DUAL_UOM_DEVIATION_LOW,0)
4339 	FROM mtl_system_items_vl a, /* Bug 5581528 */
4340 	rcv_transactions_v b,
4341 	mtl_cross_references mcr
4342 	WHERE b.to_organization_id = p_organization_id
4343 	AND b.oe_order_header_id = p_source_id
4344 	AND b.receipt_source_code <> 'VENDOR'
4345 	AND b.inspection_status_code = 'NOT INSPECTED'
4346 	AND b.routing_id = 2  /* Inspection routing */
4347 	AND b.to_organization_id = a.organization_id
4348 	AND b.item_id = a.inventory_item_id
4349 	AND (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('RMA',
4350 								 p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)) > 0
4351 	AND a.inventory_item_id   = mcr.inventory_item_id
4352 	AND mcr.cross_reference_type = g_gtin_cross_ref_type
4353 	AND mcr.cross_reference      LIKE l_cross_ref
4354 	AND (mcr.organization_id     = a.organization_id
4355 	     OR
4356 	     mcr.org_independent_flag = 'Y');
4357 
4358     ELSIF (p_source IN ('RECEIPT', 'receipt')) THEN
4359       OPEN x_items FOR
4360         SELECT DISTINCT a.concatenated_segments
4361                       , a.inventory_item_id
4362                       , a.description
4363                       , NVL(a.revision_qty_control_code, 1)
4364                       , NVL(a.lot_control_code, 1)
4365                       , NVL(a.serial_number_control_code, 1)
4366                       , NVL(a.restrict_subinventories_code, 2)
4367                       , NVL(a.restrict_locators_code, 2)
4368                       , NVL(a.location_control_code, 1)
4369                       , a.primary_uom_code
4370                       , NVL(a.inspection_required_flag, 2)
4374                       , NVL(a.effectivity_control, 1)
4371                       , NVL(a.shelf_life_code, 1)
4372                       , NVL(a.shelf_life_days, 0)
4373                       , NVL(a.allowed_units_lookup_code, 2)
4375                       , 0
4376                       , 0
4377                       , NVL(a.default_serial_status_id, 0)
4378                       , NVL(a.serial_status_enabled, 'N')
4379                       , NVL(a.default_lot_status_id, 0)
4380                       , NVL(a.lot_status_enabled, 'N')
4381                       , ''
4382                       , 'N'
4383                       , a.inventory_item_flag
4384                       , (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('RECEIPT', p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code))
4385 		      , a.inventory_asset_flag --5405993: Added inventory_asset_flag and outside_processing_flag.
4386 		      , a.outside_operation_flag,
4387      --Bug No 3952081
4388      --Additional Fields for Process Convergence
4389                       NVL(a.GRADE_CONTROL_FLAG,'N'),
4390                       NVL(a.DEFAULT_GRADE,''),
4391                       NVL(a.EXPIRATION_ACTION_INTERVAL,0),
4392                       NVL(a.EXPIRATION_ACTION_CODE,''),
4393                       NVL(a.HOLD_DAYS,0),
4394                       NVL(a.MATURITY_DAYS,0),
4395                       NVL(a.RETEST_INTERVAL,0),
4396                       NVL(a.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4397                       NVL(a.CHILD_LOT_FLAG,'N'),
4398                       NVL(a.CHILD_LOT_VALIDATION_FLAG,'N'),
4399                       NVL(a.LOT_DIVISIBLE_FLAG,'Y'),
4400                       NVL(a.SECONDARY_UOM_CODE,''),
4401                       NVL(a.SECONDARY_DEFAULT_IND,''),
4402                       NVL(a.TRACKING_QUANTITY_IND,'P'),
4403                       NVL(a.DUAL_UOM_DEVIATION_HIGH,0),
4404                       NVL(a.DUAL_UOM_DEVIATION_LOW,0)
4405                    FROM mtl_system_items_vl a, rcv_transactions_v b /* Bug 5581528 */
4406                   WHERE b.to_organization_id = p_organization_id
4407                     AND b.shipment_header_id = TO_CHAR(p_source_id)
4408                     AND b.inspection_status_code = 'NOT INSPECTED'
4409                     AND b.routing_id = 2  /* Inspection routing */
4410                     AND b.to_organization_id = a.organization_id
4411                     AND b.item_id = a.inventory_item_id
4412                     AND a.concatenated_segments LIKE (p_concatenated_segments)
4413 	AND (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('RECEIPT',
4414 								 p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)) > 0
4415 
4416 	--Changes for GTIN
4417 	UNION
4418 
4419 	        SELECT DISTINCT a.concatenated_segments
4420                       , a.inventory_item_id
4421                       , a.description
4422                       , NVL(a.revision_qty_control_code, 1)
4423                       , NVL(a.lot_control_code, 1)
4424                       , NVL(a.serial_number_control_code, 1)
4425                       , NVL(a.restrict_subinventories_code, 2)
4426                       , NVL(a.restrict_locators_code, 2)
4427                       , NVL(a.location_control_code, 1)
4428                       , a.primary_uom_code
4429                       , NVL(a.inspection_required_flag, 2)
4430                       , NVL(a.shelf_life_code, 1)
4431                       , NVL(a.shelf_life_days, 0)
4432                       , NVL(a.allowed_units_lookup_code, 2)
4433                       , NVL(a.effectivity_control, 1)
4434                       , 0
4435                       , 0
4436                       , NVL(a.default_serial_status_id, 0)
4437                       , NVL(a.serial_status_enabled, 'N')
4438                       , NVL(a.default_lot_status_id, 0)
4439                       , NVL(a.lot_status_enabled, 'N')
4440                       , mcr.cross_reference
4441                       , 'N'
4442                       , a.inventory_item_flag
4443                       , (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('RECEIPT', p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code))
4444 		      , a.inventory_asset_flag --5405993: Added inventory_asset_flag and outside_processing_flag.
4445 		      , a.outside_operation_flag,
4446      --Bug No 3952081
4447      --Additional Fields for Process Convergence
4448                       NVL(a.GRADE_CONTROL_FLAG,'N'),
4449                       NVL(a.DEFAULT_GRADE,''),
4450                       NVL(a.EXPIRATION_ACTION_INTERVAL,0),
4451                       NVL(a.EXPIRATION_ACTION_CODE,''),
4452                       NVL(a.HOLD_DAYS,0),
4453                       NVL(a.MATURITY_DAYS,0),
4454                       NVL(a.RETEST_INTERVAL,0),
4455                       NVL(a.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4456                       NVL(a.CHILD_LOT_FLAG,'N'),
4457                       NVL(a.CHILD_LOT_VALIDATION_FLAG,'N'),
4458                       NVL(a.LOT_DIVISIBLE_FLAG,'Y'),
4459                       NVL(a.SECONDARY_UOM_CODE,''),
4460                       NVL(a.SECONDARY_DEFAULT_IND,''),
4461                       NVL(a.TRACKING_QUANTITY_IND,'P'),
4462                       NVL(a.DUAL_UOM_DEVIATION_HIGH,0),
4463                       NVL(a.DUAL_UOM_DEVIATION_LOW,0)
4464 	FROM mtl_system_items_vl a, /* Bug 5581528 */
4465 	rcv_transactions_v b,
4466 	mtl_cross_references mcr
4467 	WHERE b.to_organization_id = p_organization_id
4468 	AND b.shipment_header_id = TO_CHAR(p_source_id)
4469 	AND b.inspection_status_code = 'NOT INSPECTED'
4470 	AND b.routing_id = 2  /* Inspection routing */
4471 	AND b.to_organization_id = a.organization_id
4475 	AND a.inventory_item_id   = mcr.inventory_item_id
4472 	AND b.item_id = a.inventory_item_id
4473 	AND (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('RECEIPT',
4474 								 p_source_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)) > 0
4476 	AND mcr.cross_reference_type = g_gtin_cross_ref_type
4477 	AND mcr.cross_reference      LIKE l_cross_ref
4478 	AND (mcr.organization_id     = a.organization_id
4479 	     OR
4480 	     mcr.org_independent_flag = 'Y');
4481      ELSIF (p_source IN ('REQ', 'req')) THEN
4482        --BUG 3421219: First get the shipment_num for this IR, then query
4483        --exactly the same way as for IntShip
4484        OPEN x_items FOR
4485         SELECT DISTINCT a.concatenated_segments
4486                       , a.inventory_item_id
4487                       , a.description
4488                       , NVL(a.revision_qty_control_code, 1)
4489                       , NVL(a.lot_control_code, 1)
4490                       , NVL(a.serial_number_control_code, 1)
4491                       , NVL(a.restrict_subinventories_code, 2)
4492                       , NVL(a.restrict_locators_code, 2)
4493                       , NVL(a.location_control_code, 1)
4494                       , a.primary_uom_code
4495                       , NVL(a.inspection_required_flag, 2)
4496                       , NVL(a.shelf_life_code, 1)
4497                       , NVL(a.shelf_life_days, 0)
4498                       , NVL(a.allowed_units_lookup_code, 2)
4499                       , NVL(a.effectivity_control, 1)
4500                       , 0
4501                       , 0
4502                       , NVL(a.default_serial_status_id, 0)
4503                       , NVL(a.serial_status_enabled, 'N')
4504                       , NVL(a.default_lot_status_id, 0)
4505                       , NVL(a.lot_status_enabled, 'N')
4506                       , ''
4507                       , 'N'
4508                       , a.inventory_item_flag
4509                       , (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('INTSHIP', shipment.shipment_header_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code))
4510 		      , a.inventory_asset_flag --5405993: Added inventory_asset_flag and outside_processing_flag.
4511 		      , a.outside_operation_flag,
4512      --Bug No 3952081
4513      --Additional Fields for Process Convergence
4514                       NVL(a.GRADE_CONTROL_FLAG,'N'),
4515                       NVL(a.DEFAULT_GRADE,''),
4516                       NVL(a.EXPIRATION_ACTION_INTERVAL,0),
4517                       NVL(a.EXPIRATION_ACTION_CODE,''),
4518                       NVL(a.HOLD_DAYS,0),
4519                       NVL(a.MATURITY_DAYS,0),
4520                       NVL(a.RETEST_INTERVAL,0),
4521                       NVL(a.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4522                       NVL(a.CHILD_LOT_FLAG,'N'),
4523                       NVL(a.CHILD_LOT_VALIDATION_FLAG,'N'),
4524                       NVL(a.LOT_DIVISIBLE_FLAG,'Y'),
4525                       NVL(a.SECONDARY_UOM_CODE,''),
4526                       NVL(a.SECONDARY_DEFAULT_IND,''),
4527                       NVL(a.TRACKING_QUANTITY_IND,'P'),
4528                       NVL(a.DUAL_UOM_DEVIATION_HIGH,0),
4529                       NVL(a.DUAL_UOM_DEVIATION_LOW,0)
4530 	             FROM mtl_system_items_vl a, /* Bug 5581528 */
4531 	                  rcv_transactions_v b,
4532 	                  (SELECT DISTINCT rsl.shipment_header_id
4533 			   FROM   po_requisition_lines pol,
4534 			          rcv_shipment_lines rsl
4535 			   WHERE  pol.requisition_header_id = p_source_id
4536 			   AND    pol.requisition_line_id = rsl.requisition_line_id
4537 			   ) shipment
4538 	           WHERE b.to_organization_id = p_organization_id
4539 	            AND b.shipment_header_id = shipment.shipment_header_id
4540                     AND b.receipt_source_code <> 'VENDOR'
4541                     AND b.inspection_status_code = 'NOT INSPECTED'
4542                     AND b.routing_id = 2  /* Inspection routing */
4543                     AND b.to_organization_id = a.organization_id
4544                     AND b.item_id = a.inventory_item_id
4545                     AND a.concatenated_segments LIKE (p_concatenated_segments)
4546 	AND (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('INTSHIP',
4547 								 shipment.shipment_header_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)) > 0
4548 
4549 	--Changes for GTIN
4550 	UNION
4551 
4552 	        SELECT DISTINCT a.concatenated_segments
4553                       , a.inventory_item_id
4554                       , a.description
4555                       , NVL(a.revision_qty_control_code, 1)
4556                       , NVL(a.lot_control_code, 1)
4557                       , NVL(a.serial_number_control_code, 1)
4558                       , NVL(a.restrict_subinventories_code, 2)
4559                       , NVL(a.restrict_locators_code, 2)
4560                       , NVL(a.location_control_code, 1)
4561                       , a.primary_uom_code
4562                       , NVL(a.inspection_required_flag, 2)
4563                       , NVL(a.shelf_life_code, 1)
4564                       , NVL(a.shelf_life_days, 0)
4565                       , NVL(a.allowed_units_lookup_code, 2)
4566                       , NVL(a.effectivity_control, 1)
4567                       , 0
4568                       , 0
4569                       , NVL(a.default_serial_status_id, 0)
4570                       , NVL(a.serial_status_enabled, 'N')
4571                       , NVL(a.default_lot_status_id, 0)
4572                       , NVL(a.lot_status_enabled, 'N')
4573                       , mcr.cross_reference
4577 		      , a.inventory_asset_flag --5405993: Added inventory_asset_flag and outside_processing_flag.
4574                       , 'N'
4575                       , a.inventory_item_flag
4576                       , (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('INTSHIP', shipment.shipment_header_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code))
4578 		      , a.outside_operation_flag,
4579      --Bug No 3952081
4580      --Additional Fields for Process Convergence
4581                       NVL(a.GRADE_CONTROL_FLAG,'N'),
4582                       NVL(a.DEFAULT_GRADE,''),
4583                       NVL(a.EXPIRATION_ACTION_INTERVAL,0),
4584                       NVL(a.EXPIRATION_ACTION_CODE,''),
4585                       NVL(a.HOLD_DAYS,0),
4586                       NVL(a.MATURITY_DAYS,0),
4587                       NVL(a.RETEST_INTERVAL,0),
4588                       NVL(a.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4589                       NVL(a.CHILD_LOT_FLAG,'N'),
4590                       NVL(a.CHILD_LOT_VALIDATION_FLAG,'N'),
4591                       NVL(a.LOT_DIVISIBLE_FLAG,'Y'),
4592                       NVL(a.SECONDARY_UOM_CODE,''),
4593                       NVL(a.SECONDARY_DEFAULT_IND,''),
4594                       NVL(a.TRACKING_QUANTITY_IND,'P'),
4595                       NVL(a.DUAL_UOM_DEVIATION_HIGH,0),
4596                       NVL(a.DUAL_UOM_DEVIATION_LOW,0)
4597 	FROM mtl_system_items_vl a, /* Bug 5581528 */
4598 	rcv_transactions_v b,
4599 	mtl_cross_references mcr,
4600 	(SELECT DISTINCT rsl.shipment_header_id
4601 	 FROM   po_requisition_lines pol,
4602 	 rcv_shipment_lines rsl
4603 	 WHERE  pol.requisition_header_id = p_source_id
4604 	 AND    pol.requisition_line_id = rsl.requisition_line_id
4605 	 ) shipment
4606 	WHERE b.to_organization_id = p_organization_id
4607 	AND b.shipment_header_id = shipment.shipment_header_id
4608 	AND b.receipt_source_code <> 'VENDOR'
4609 	AND b.inspection_status_code = 'NOT INSPECTED'
4610 	AND b.routing_id = 2  /* Inspection routing */
4611 	AND b.to_organization_id = a.organization_id
4612 	AND b.item_id = a.inventory_item_id
4613 	AND (inv_rcv_std_inspect_apis.get_inspection_qty_wrapper('INTSHIP',
4614 								 shipment.shipment_header_id, NULL, NULL, p_organization_id, a.inventory_item_id, a.primary_uom_code)) > 0
4615 	AND a.inventory_item_id   = mcr.inventory_item_id
4616 	AND mcr.cross_reference_type = g_gtin_cross_ref_type
4617 	AND mcr.cross_reference      LIKE l_cross_ref
4618 	AND (mcr.organization_id     = a.organization_id
4619 	     OR
4620 	     mcr.org_independent_flag = 'Y');
4621     END IF;
4622   END get_inv_inspect_item_lov;
4623 
4624   --      Name: GET_INV_INSPECT_REVISION_LOV
4625   --
4626   --      Input parameters:
4627   --       p_Organization_Id   which restricts LOV SQL to current org
4628   --       p_Inventory_Item_Id restrict LOV for a given item
4629   --       p_source                  document source type being inspected
4630   --                                 PO, INTSHIP, RMA, RECEIPT
4631   --       p_source_id               relevant document id based on p_source
4632   --                                 po_header_id, shipment_header_id, oe_order_header_id,
4633   --                                 receipt_num
4634   --       p_Revision          which restricts LOV SQL to the user input text
4635   --                                e.g.  A101%
4636   --
4637   --      Output parameters:
4638   --       x_Revs      returns LOV rows as reference cursor
4639   --
4640   --      Functions: This procedure returns LOV rows for a given org, item and
4641   --                 user input text
4642   --
4643   --
4644   --
4645 
4646   PROCEDURE get_inv_inspect_revision_lov(x_revs OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_inventory_item_id IN NUMBER, p_source IN VARCHAR2, p_source_id IN NUMBER, p_revision IN VARCHAR2) IS
4647   BEGIN
4648     IF (p_source IN ('PO', 'po')) THEN
4649       OPEN x_revs FOR
4650         SELECT DISTINCT a.revision
4651                       , a.effectivity_date
4652                       , NVL(a.description, '')
4653                    FROM mtl_item_revisions a, rcv_transactions_v b
4654                   WHERE b.to_organization_id = p_organization_id
4655                     AND b.item_id = p_inventory_item_id
4656                     AND b.po_header_id = p_source_id
4657                     AND b.inspection_status_code = 'NOT INSPECTED'
4658                     AND b.routing_id = 2  /* Inspection routing */
4659                     AND a.organization_id = b.to_organization_id
4660                     AND a.inventory_item_id = b.item_id
4661                     AND a.revision = b.item_revision
4662                     AND a.revision LIKE (p_revision);
4663     ELSIF (p_source IN ('INTSHIP', 'intship', 'REQ', 'req')) THEN
4664       OPEN x_revs FOR
4665         SELECT DISTINCT a.revision
4666                       , a.effectivity_date
4667                       , NVL(a.description, '')
4668                    FROM mtl_item_revisions a, rcv_transactions_v b
4669                   WHERE b.to_organization_id = p_organization_id
4670                     AND b.item_id = p_inventory_item_id
4671                     AND b.receipt_source_code <> 'VENDOR'
4672                     AND b.shipment_header_id = p_source_id
4673                     AND b.inspection_status_code = 'NOT INSPECTED'
4674                     AND b.routing_id = 2  /* Inspection routing */
4675                     AND a.organization_id = b.to_organization_id
4676                     AND a.inventory_item_id = b.item_id
4677                     AND a.revision = b.item_revision
4678                     AND a.revision LIKE (p_revision);
4682                       , a.effectivity_date
4679     ELSIF (p_source IN ('RMA', 'rma')) THEN
4680       OPEN x_revs FOR
4681         SELECT DISTINCT a.revision
4683                       , NVL(a.description, '')
4684                    FROM mtl_item_revisions a, rcv_transactions_v b
4685                   WHERE b.to_organization_id = p_organization_id
4686                     AND b.item_id = p_inventory_item_id
4687                     AND b.receipt_source_code <> 'VENDOR'
4688                     AND b.oe_order_header_id = p_source_id
4689                     AND b.inspection_status_code = 'NOT INSPECTED'
4690                     AND b.routing_id = 2  /* Inspection routing */
4691                     AND a.organization_id = b.to_organization_id
4692                     AND a.inventory_item_id = b.item_id
4693                     AND a.revision = b.item_revision
4694                     AND a.revision LIKE (p_revision);
4695     ELSIF (p_source IN ('RECEIPT', 'receipt')) THEN
4696       OPEN x_revs FOR
4697         SELECT DISTINCT a.revision
4698                       , a.effectivity_date
4699                       , NVL(a.description, '')
4700                    FROM mtl_item_revisions a, rcv_transactions_v b
4701                   WHERE b.to_organization_id = p_organization_id
4702                     AND b.item_id = p_inventory_item_id
4703                     AND b.shipment_header_id = TO_CHAR(p_source_id)
4704                     AND b.inspection_status_code = 'NOT INSPECTED'
4705                     AND b.routing_id = 2  /* Inspection routing */
4706                     AND a.organization_id = b.to_organization_id
4707                     AND a.inventory_item_id = b.item_id
4708                     AND a.revision = b.item_revision
4709                     AND a.revision LIKE (p_revision);
4710     END IF;
4711   END get_inv_inspect_revision_lov;
4712 
4713   PROCEDURE get_cgupdate_item_lov(x_items OUT NOCOPY t_genref, p_org_id IN NUMBER, p_lpn_id IN NUMBER, p_item IN VARCHAR2) IS
4714   l_cross_ref varchar2(204);
4715   BEGIN
4716 
4717    l_cross_ref := lpad(Rtrim(p_item, '%'), g_gtin_code_length, '00000000000000');
4718     IF p_lpn_id IS NULL THEN
4719       OPEN x_items FOR
4720         SELECT DISTINCT msi.concatenated_segments concatenated_segments
4721                       , moq.inventory_item_id
4722                       , msi.description
4723                       , NVL(msi.revision_qty_control_code, 1)
4724                       , NVL(msi.lot_control_code, 1)
4725                       , NVL(msi.serial_number_control_code, 1)
4726                       , '0'
4727                       , '0'
4728                       , '0'
4729                       , msi.primary_uom_code
4730                       , '0'
4731                       , NVL(shelf_life_code, 1)
4732                       , '0'
4733                       , '0'
4734                       , '0'
4735                       , '0'
4736                       , '0'
4737                       , NVL(msi.default_serial_status_id, 0)
4738                       , NVL(msi.serial_status_enabled, 'N')
4739                       , NVL(msi.default_lot_status_id, 0)
4740                       , NVL(msi.lot_status_enabled, 'N')
4741                       , ''
4742                       , 'N'
4743                       , msi.inventory_item_flag
4744                       , 0,
4745      --Bug No 3952081
4746      --Additional Fields for Process Convergence
4747                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
4748                       NVL(msi.DEFAULT_GRADE,''),
4749                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
4750                       NVL(msi.EXPIRATION_ACTION_CODE,''),
4751                       NVL(msi.HOLD_DAYS,0),
4752                       NVL(msi.MATURITY_DAYS,0),
4753                       NVL(msi.RETEST_INTERVAL,0),
4754                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4755                       NVL(msi.CHILD_LOT_FLAG,'N'),
4756                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
4757                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
4758                       NVL(msi.SECONDARY_UOM_CODE,''),
4759                       NVL(msi.SECONDARY_DEFAULT_IND,''),
4760                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
4761                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
4762                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
4763                   FROM mtl_onhand_quantities_detail moq, mtl_system_items_vl msi -- Bug 2687570, use MOQD instead of MOQ because consigned stock is not visible in MOQ
4764                   WHERE moq.containerized_flag = 2
4765                     AND moq.organization_id = p_org_id
4766                     AND moq.inventory_item_id = msi.inventory_item_id
4767                     AND msi.concatenated_segments LIKE (p_item)
4768 	AND msi.organization_id = p_org_id
4769 
4770 	--Changes for GTIN
4771 	UNION
4772 	        SELECT DISTINCT msi.concatenated_segments concatenated_segments
4773                       , moq.inventory_item_id
4774                       , msi.description
4775                       , NVL(msi.revision_qty_control_code, 1)
4776                       , NVL(msi.lot_control_code, 1)
4777                       , NVL(msi.serial_number_control_code, 1)
4778                       , '0'
4779                       , '0'
4780                       , '0'
4781                       , msi.primary_uom_code
4782                       , '0'
4783                       , NVL(shelf_life_code, 1)
4784                       , '0'
4785                       , '0'
4786                       , '0'
4787                       , '0'
4788                       , '0'
4792                       , NVL(msi.lot_status_enabled, 'N')
4789                       , NVL(msi.default_serial_status_id, 0)
4790                       , NVL(msi.serial_status_enabled, 'N')
4791                       , NVL(msi.default_lot_status_id, 0)
4793                       , mcr.cross_reference
4794                       , 'N'
4795                       , msi.inventory_item_flag
4796                       , 0,
4797      --Bug No 3952081
4798      --Additional Fields for Process Convergence
4799                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
4800                       NVL(msi.DEFAULT_GRADE,''),
4801                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
4802                       NVL(msi.EXPIRATION_ACTION_CODE,''),
4803                       NVL(msi.HOLD_DAYS,0),
4804                       NVL(msi.MATURITY_DAYS,0),
4805                       NVL(msi.RETEST_INTERVAL,0),
4806                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4807                       NVL(msi.CHILD_LOT_FLAG,'N'),
4808                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
4809                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
4810                       NVL(msi.SECONDARY_UOM_CODE,''),
4811                       NVL(msi.SECONDARY_DEFAULT_IND,''),
4812                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
4813                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
4814                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
4815 	FROM mtl_onhand_quantities_detail moq, -- Bug 2687570, use MOQD instead of MOQ because consigned stock is not visible in MOQ
4816 	mtl_system_items_vl msi, /* Bug 5581528 */
4817 	mtl_cross_references mcr
4818 	WHERE moq.containerized_flag = 2
4819 	AND moq.organization_id = p_org_id
4820 	AND moq.inventory_item_id = msi.inventory_item_id
4821 	AND msi.organization_id = p_org_id
4822 	AND msi.inventory_item_id   = mcr.inventory_item_id
4823 	AND mcr.cross_reference_type = g_gtin_cross_ref_type
4824 	AND mcr.cross_reference      LIKE l_cross_ref
4825 	AND (mcr.organization_id     = msi.organization_id
4826 	     OR
4827 	     mcr.org_independent_flag = 'Y')
4828 
4829 	ORDER BY concatenated_segments;
4830      ELSE
4831       OPEN x_items FOR
4832         SELECT DISTINCT msi.concatenated_segments concatenated_segments
4833                       , wlc.inventory_item_id
4834                       , msi.description
4835                       , NVL(msi.revision_qty_control_code, 1)
4836                       , NVL(msi.lot_control_code, 1)
4837                       , NVL(msi.serial_number_control_code, 1)
4838                       , '0'
4839                       , '0'
4840                       , '0'
4841                       , msi.primary_uom_code
4842                       , '0'
4843                       , NVL(shelf_life_code, 1)
4844                       , '0'
4845                       , '0'
4846                       , '0'
4847                       , '0'
4848                       , '0'
4849                       , NVL(msi.default_serial_status_id, 0)
4850                       , NVL(msi.serial_status_enabled, 'N')
4851                       , NVL(msi.default_lot_status_id, 0)
4852                       , NVL(msi.lot_status_enabled, 'N')
4853                       , ''
4854                       , 'N'
4855                       , msi.inventory_item_flag
4856                       , 0,
4857      --Bug No 3952081
4858      --Additional Fields for Process Convergence
4859                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
4860                       NVL(msi.DEFAULT_GRADE,''),
4861                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
4862                       NVL(msi.EXPIRATION_ACTION_CODE,''),
4863                       NVL(msi.HOLD_DAYS,0),
4864                       NVL(msi.MATURITY_DAYS,0),
4865                       NVL(msi.RETEST_INTERVAL,0),
4866                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4867                       NVL(msi.CHILD_LOT_FLAG,'N'),
4868                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
4869                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
4870                       NVL(msi.SECONDARY_UOM_CODE,''),
4871                       NVL(msi.SECONDARY_DEFAULT_IND,''),
4872                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
4873                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
4874                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
4875                    -- bug 5172851, wms_lpn_contents_v is replaced with
4876                    --              wms_lpn_contents for performance reason
4877                    FROM mtl_system_items_vl msi, wms_lpn_contents wlc /* Bug 5581528 */
4878                   WHERE msi.concatenated_segments LIKE (p_item)
4879                     AND msi.inventory_item_id = wlc.inventory_item_id
4880                     AND msi.organization_id = p_org_id
4881 	AND wlc.parent_lpn_id = p_lpn_id
4882 
4883 	--Changes for GTIN
4884 	UNION
4885 
4886 	        SELECT DISTINCT msi.concatenated_segments concatenated_segments
4887                       , wlc.inventory_item_id
4888                       , msi.description
4889                       , NVL(msi.revision_qty_control_code, 1)
4890                       , NVL(msi.lot_control_code, 1)
4891                       , NVL(msi.serial_number_control_code, 1)
4892                       , '0'
4893                       , '0'
4894                       , '0'
4895                       , msi.primary_uom_code
4896                       , '0'
4897                       , NVL(shelf_life_code, 1)
4898                       , '0'
4899                       , '0'
4900                       , '0'
4901                       , '0'
4905                       , NVL(msi.default_lot_status_id, 0)
4902                       , '0'
4903                       , NVL(msi.default_serial_status_id, 0)
4904                       , NVL(msi.serial_status_enabled, 'N')
4906                       , NVL(msi.lot_status_enabled, 'N')
4907                       , mcr.cross_reference
4908                       , 'N'
4909                       , msi.inventory_item_flag
4910                       , 0,
4911      --Bug No 3952081
4912      --Additional Fields for Process Convergence
4913                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
4914                       NVL(msi.DEFAULT_GRADE,''),
4915                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
4916                       NVL(msi.EXPIRATION_ACTION_CODE,''),
4917                       NVL(msi.HOLD_DAYS,0),
4918                       NVL(msi.MATURITY_DAYS,0),
4919                       NVL(msi.RETEST_INTERVAL,0),
4920                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
4921                       NVL(msi.CHILD_LOT_FLAG,'N'),
4922                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
4923                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
4924                       NVL(msi.SECONDARY_UOM_CODE,''),
4925                       NVL(msi.SECONDARY_DEFAULT_IND,''),
4926                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
4927                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
4928                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
4929 	FROM mtl_system_items_vl msi, /* Bug 5581528 */
4930         -- bug 5172851, wms_lpn_contents_v is replaced with
4931         --              wms_lpn_contents for performance reason
4932 	wms_lpn_contents wlc,
4933 	mtl_cross_references mcr
4934 	WHERE msi.inventory_item_id = wlc.inventory_item_id
4935 	AND msi.organization_id = p_org_id
4936 	AND wlc.parent_lpn_id = p_lpn_id
4937 	AND msi.inventory_item_id   = mcr.inventory_item_id
4938 	AND mcr.cross_reference_type = g_gtin_cross_ref_type
4939 	AND mcr.cross_reference      LIKE l_cross_ref
4940 	AND (mcr.organization_id     = msi.organization_id
4941 	     OR
4942 	     mcr.org_independent_flag = 'Y')
4943 	ORDER BY concatenated_segments;
4944     END IF;
4945   END get_cgupdate_item_lov;
4946 
4947   PROCEDURE get_content_revision_lov(x_revs OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_inventory_item_id IN VARCHAR2, p_lpn_id IN VARCHAR2, p_revision IN VARCHAR2) IS
4948   BEGIN
4949     OPEN x_revs FOR
4950       SELECT DISTINCT wlc.revision
4951                     , mir.effectivity_date
4952                     , NVL(mir.description, '')
4953                  FROM mtl_item_revisions mir, wms_lpn_contents_v wlc
4954                 WHERE wlc.organization_id = p_organization_id
4955                   AND wlc.inventory_item_id = TO_NUMBER(p_inventory_item_id)
4956                   AND NVL(wlc.parent_lpn_id, '0') = NVL(TO_NUMBER(p_lpn_id), NVL(wlc.parent_lpn_id, '0'))
4957                   AND mir.organization_id = wlc.organization_id
4958                   AND mir.inventory_item_id = wlc.inventory_item_id
4959                   AND mir.revision = wlc.revision
4960                   AND wlc.revision LIKE (p_revision);
4961   END get_content_revision_lov;
4962 
4963   PROCEDURE get_system_item_lov(x_items OUT NOCOPY t_genref, p_org_id IN NUMBER, p_item IN VARCHAR2) IS
4964   l_cross_ref varchar2(204);
4965   BEGIN
4966 
4967    l_cross_ref := lpad(Rtrim(p_item, '%'), g_gtin_code_length, '00000000000000');
4968     OPEN x_items FOR
4969       SELECT DISTINCT concatenated_segments
4970                     , inventory_item_id
4971                     , description
4972                     , NVL(revision_qty_control_code, 1)
4973                     , NVL(lot_control_code, 1)
4974                     , NVL(serial_number_control_code, 1)
4975                     , NVL(restrict_subinventories_code, 2)
4976                     , NVL(restrict_locators_code, 2)
4977                     , NVL(location_control_code, 1)
4978                     , primary_uom_code
4979                     , NVL(inspection_required_flag, 2)
4980                     , NVL(shelf_life_code, 1)
4981                     , NVL(shelf_life_days, 0)
4982                     , NVL(allowed_units_lookup_code, 2)
4983                     , NVL(effectivity_control, 1)
4984                     , '0'
4985                     , '0'
4986                     , '0'
4987                     , '0'
4988                     , '0'
4989                     , '0'
4990                     , ''
4991                     , 'N'
4992                     , inventory_item_flag
4993                     , 0,
4994      --Bug No 3952081
4995      --Additional Fields for Process Convergence
4996                       NVL(GRADE_CONTROL_FLAG,'N'),
4997                       NVL(DEFAULT_GRADE,''),
4998                       NVL(EXPIRATION_ACTION_INTERVAL,0),
4999                       NVL(EXPIRATION_ACTION_CODE,''),
5000                       NVL(HOLD_DAYS,0),
5001                       NVL(MATURITY_DAYS,0),
5002                       NVL(RETEST_INTERVAL,0),
5003                       NVL(COPY_LOT_ATTRIBUTE_FLAG,'N'),
5004                       NVL(CHILD_LOT_FLAG,'N'),
5005                       NVL(CHILD_LOT_VALIDATION_FLAG,'N'),
5006                       NVL(LOT_DIVISIBLE_FLAG,'Y'),
5007                       NVL(SECONDARY_UOM_CODE,''),
5008                       NVL(SECONDARY_DEFAULT_IND,''),
5009                       NVL(TRACKING_QUANTITY_IND,'P'),
5010                       NVL(DUAL_UOM_DEVIATION_HIGH,0),
5011                       NVL(DUAL_UOM_DEVIATION_LOW,0)
5012                  FROM mtl_system_items_vl /* Bug 5581528 */
5016       --Changes for GTIN
5013                 WHERE organization_id = p_org_id
5014       AND concatenated_segments LIKE (p_item)
5015 
5017       UNION
5018 
5019             SELECT DISTINCT msik.concatenated_segments
5020                     , msik.inventory_item_id
5021                     , msik.description
5022                     , NVL(revision_qty_control_code, 1)
5023                     , NVL(lot_control_code, 1)
5024                     , NVL(serial_number_control_code, 1)
5025                     , NVL(restrict_subinventories_code, 2)
5026                     , NVL(restrict_locators_code, 2)
5027                     , NVL(location_control_code, 1)
5028                     , primary_uom_code
5029                     , NVL(inspection_required_flag, 2)
5030                     , NVL(shelf_life_code, 1)
5031                     , NVL(shelf_life_days, 0)
5032                     , NVL(allowed_units_lookup_code, 2)
5033                     , NVL(effectivity_control, 1)
5034                     , '0'
5035                     , '0'
5036                     , '0'
5037                     , '0'
5038                     , '0'
5039                     , '0'
5040                     , mcr.cross_reference
5041                     , 'N'
5042                     , inventory_item_flag
5043                     , 0,
5044      --Bug No 3952081
5045      --Additional Fields for Process Convergence
5046                       NVL(GRADE_CONTROL_FLAG,'N'),
5047                       NVL(DEFAULT_GRADE,''),
5048                       NVL(EXPIRATION_ACTION_INTERVAL,0),
5049                       NVL(EXPIRATION_ACTION_CODE,''),
5050                       NVL(HOLD_DAYS,0),
5051                       NVL(MATURITY_DAYS,0),
5052                       NVL(RETEST_INTERVAL,0),
5053                       NVL(COPY_LOT_ATTRIBUTE_FLAG,'N'),
5054                       NVL(CHILD_LOT_FLAG,'N'),
5055                       NVL(CHILD_LOT_VALIDATION_FLAG,'N'),
5056                       NVL(LOT_DIVISIBLE_FLAG,'Y'),
5057                       NVL(SECONDARY_UOM_CODE,''),
5058                       NVL(SECONDARY_DEFAULT_IND,''),
5059                       NVL(TRACKING_QUANTITY_IND,'P'),
5060                       NVL(DUAL_UOM_DEVIATION_HIGH,0),
5061                       NVL(DUAL_UOM_DEVIATION_LOW,0)
5062       FROM mtl_system_items_vl msik, /* Bug 5581528 */
5063       mtl_cross_references mcr
5064       WHERE msik.organization_id = p_org_id
5065       AND msik.inventory_item_id   = mcr.inventory_item_id
5066       AND mcr.cross_reference_type = g_gtin_cross_ref_type
5067       AND mcr.cross_reference      LIKE l_cross_ref
5068       AND (mcr.organization_id     = msik.organization_id
5069 	   OR
5070 	   mcr.org_independent_flag = 'Y');
5071   END get_system_item_lov;
5072 
5073   PROCEDURE get_serial_item_lov(x_items OUT NOCOPY t_genref, p_org_id IN NUMBER, p_serial IN VARCHAR2, p_item IN VARCHAR2) IS
5074   l_cross_ref varchar2(204);
5075   BEGIN
5076 
5077    l_cross_ref := lpad(Rtrim(p_item, '%'), g_gtin_code_length, '00000000000000');
5078     OPEN x_items FOR
5079       SELECT DISTINCT msi.concatenated_segments
5080                     , msi.inventory_item_id
5081                     , msi.description
5082                     , NVL(msi.revision_qty_control_code, 1)
5083                     , NVL(msi.lot_control_code, 1)
5084                     , NVL(msi.serial_number_control_code, 1)
5085                     , NVL(msi.restrict_subinventories_code, 2)
5086                     , NVL(msi.restrict_locators_code, 2)
5087                     , NVL(msi.location_control_code, 1)
5088                     , msi.primary_uom_code
5089                     , NVL(msi.inspection_required_flag, 2)
5090                     , NVL(msi.shelf_life_code, 1)
5091                     , NVL(msi.shelf_life_days, 0)
5092                     , NVL(msi.allowed_units_lookup_code, 2)
5093                     , NVL(msi.effectivity_control, 1)
5094                     , '0'
5095                     , '0'
5096                     , '0'
5097                     , '0'
5098                     , '0'
5099                     , '0'
5100                     , ''
5101                     , 'N'
5102                     , msi.inventory_item_flag
5103                     , 0,
5104      --Bug No 3952081
5105      --Additional Fields for Process Convergence
5106                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
5107                       NVL(msi.DEFAULT_GRADE,''),
5108                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
5109                       NVL(msi.EXPIRATION_ACTION_CODE,''),
5110                       NVL(msi.HOLD_DAYS,0),
5111                       NVL(msi.MATURITY_DAYS,0),
5112                       NVL(msi.RETEST_INTERVAL,0),
5113                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
5114                       NVL(msi.CHILD_LOT_FLAG,'N'),
5115                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
5116                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
5117                       NVL(msi.SECONDARY_UOM_CODE,''),
5118                       NVL(msi.SECONDARY_DEFAULT_IND,''),
5119                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
5120                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
5121                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
5122                  FROM mtl_serial_numbers msn, mtl_system_items_vl msi /* Bug 5581528 */
5123                 WHERE msn.current_organization_id = p_org_id
5124                   AND msn.serial_number = p_serial
5125                   AND msn.inventory_item_id = msi.inventory_item_id
5126                   AND msi.organization_id = msn.current_organization_id
5130       UNION
5127       AND msi.concatenated_segments LIKE (p_item)
5128 
5129       --Changes for GTIN
5131 
5132             SELECT DISTINCT msi.concatenated_segments
5133                     , msi.inventory_item_id
5134                     , msi.description
5135                     , NVL(msi.revision_qty_control_code, 1)
5136                     , NVL(msi.lot_control_code, 1)
5137                     , NVL(msi.serial_number_control_code, 1)
5138                     , NVL(msi.restrict_subinventories_code, 2)
5139                     , NVL(msi.restrict_locators_code, 2)
5140                     , NVL(msi.location_control_code, 1)
5141                     , msi.primary_uom_code
5142                     , NVL(msi.inspection_required_flag, 2)
5143                     , NVL(msi.shelf_life_code, 1)
5144                     , NVL(msi.shelf_life_days, 0)
5145                     , NVL(msi.allowed_units_lookup_code, 2)
5146                     , NVL(msi.effectivity_control, 1)
5147                     , '0'
5148                     , '0'
5149                     , '0'
5150                     , '0'
5151                     , '0'
5152                     , '0'
5153                     , mcr.cross_reference
5154                     , 'N'
5155                     , msi.inventory_item_flag
5156                     , 0,
5157      --Bug No 3952081
5158      --Additional Fields for Process Convergence
5159                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
5160                       NVL(msi.DEFAULT_GRADE,''),
5161                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
5162                       NVL(msi.EXPIRATION_ACTION_CODE,''),
5163                       NVL(msi.HOLD_DAYS,0),
5164                       NVL(msi.MATURITY_DAYS,0),
5165                       NVL(msi.RETEST_INTERVAL,0),
5166                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
5167                       NVL(msi.CHILD_LOT_FLAG,'N'),
5168                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
5169                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
5170                       NVL(msi.SECONDARY_UOM_CODE,''),
5171                       NVL(msi.SECONDARY_DEFAULT_IND,''),
5172                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
5173                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
5174                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
5175       FROM mtl_serial_numbers msn,
5176       mtl_system_items_vl msi, /* Bug 5581528 */
5177       mtl_cross_references mcr
5178       WHERE msn.current_organization_id = p_org_id
5179       AND msn.serial_number = p_serial
5180       AND msn.inventory_item_id = msi.inventory_item_id
5181       AND msi.organization_id = msn.current_organization_id
5182       AND msi.inventory_item_id   = mcr.inventory_item_id
5183       AND mcr.cross_reference_type = g_gtin_cross_ref_type
5184       AND mcr.cross_reference      LIKE l_cross_ref
5185       AND (mcr.organization_id     = msi.organization_id
5186 	   OR
5187 	   mcr.org_independent_flag = 'Y');
5188 
5189   END get_serial_item_lov;
5190 
5191   --"Returns"
5192   PROCEDURE get_return_items_lov(x_items OUT NOCOPY t_genref, p_org_id IN NUMBER, p_lpn_id IN NUMBER, p_item IN VARCHAR2) IS
5193   l_cross_ref varchar2(204);
5194   BEGIN
5195 
5196    l_cross_ref := lpad(Rtrim(p_item, '%'), g_gtin_code_length, '00000000000000');
5197     OPEN x_items FOR
5198       SELECT DISTINCT msi.concatenated_segments
5199                     , msi.inventory_item_id
5200                     , msi.description
5201                     , NVL(msi.revision_qty_control_code, 1)
5202                     , NVL(msi.lot_control_code, 1)
5203                     , NVL(msi.serial_number_control_code, 1)
5204                     , NVL(msi.restrict_subinventories_code, 2)
5205                     , NVL(msi.restrict_locators_code, 2)
5206                     , NVL(msi.location_control_code, 1)
5207                     , msi.primary_uom_code
5208                     , NVL(msi.inspection_required_flag, 2)
5209                     , NVL(msi.shelf_life_code, 1)
5210                     , NVL(msi.shelf_life_days, 0)
5211                     , NVL(msi.allowed_units_lookup_code, 2)
5212                     , NVL(msi.effectivity_control, 1)
5213                     , '0'
5214                     , '0'
5215                     , '0'
5216                     , '0'
5217                     , '0'
5218                     , '0'
5219                     , ''
5220                     , 'N'
5221                     , msi.inventory_item_flag
5222                     , 0,
5223      --Bug No 3952081
5224      --Additional Fields for Process Convergence
5225                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
5226                       NVL(msi.DEFAULT_GRADE,''),
5227                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
5228                       NVL(msi.EXPIRATION_ACTION_CODE,''),
5229                       NVL(msi.HOLD_DAYS,0),
5230                       NVL(msi.MATURITY_DAYS,0),
5231                       NVL(msi.RETEST_INTERVAL,0),
5232                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
5233                       NVL(msi.CHILD_LOT_FLAG,'N'),
5234                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
5235                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
5236                       NVL(msi.SECONDARY_UOM_CODE,''),
5237                       NVL(msi.SECONDARY_DEFAULT_IND,''),
5238                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
5239                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
5240                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
5244                   AND wlpnc.organization_id = p_org_id
5241                  FROM mtl_system_items_vl msi, wms_lpn_contents wlpnc /* Bug 5581528 */
5242                 WHERE wlpnc.parent_lpn_id = p_lpn_id
5243                   AND wlpnc.source_name IN ('RETURN TO VENDOR', 'RETURN TO CUSTOMER', 'RETURN TO RECEIVING')
5245                   AND msi.organization_id = wlpnc.organization_id
5246                   AND msi.inventory_item_id = wlpnc.inventory_item_id
5247                   AND msi.concatenated_segments LIKE (p_item)
5248       UNION
5249       SELECT DISTINCT msi.concatenated_segments
5250                     , msi.inventory_item_id
5251                     , msi.description
5252                     , NVL(msi.revision_qty_control_code, 1)
5253                     , NVL(msi.lot_control_code, 1)
5254                     , NVL(msi.serial_number_control_code, 1)
5255                     , NVL(msi.restrict_subinventories_code, 2)
5256                     , NVL(msi.restrict_locators_code, 2)
5257                     , NVL(msi.location_control_code, 1)
5258                     , msi.primary_uom_code
5259                     , NVL(msi.inspection_required_flag, 2)
5260                     , NVL(msi.shelf_life_code, 1)
5261                     , NVL(msi.shelf_life_days, 0)
5262                     , NVL(msi.allowed_units_lookup_code, 2)
5263                     , NVL(msi.effectivity_control, 1)
5264                     , '0'
5265                     , '0'
5266                     , '0'
5267                     , '0'
5268                     , '0'
5269                     , '0'
5270                     , ''
5271                     , 'N'
5272                     , msi.inventory_item_flag
5273                     , 0,
5274      --Bug No 3952081
5275      --Additional Fields for Process Convergence
5276                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
5277                       NVL(msi.DEFAULT_GRADE,''),
5278                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
5279                       NVL(msi.EXPIRATION_ACTION_CODE,''),
5280                       NVL(msi.HOLD_DAYS,0),
5281                       NVL(msi.MATURITY_DAYS,0),
5282                       NVL(msi.RETEST_INTERVAL,0),
5283                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
5284                       NVL(msi.CHILD_LOT_FLAG,'N'),
5285                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
5286                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
5287                       NVL(msi.SECONDARY_UOM_CODE,''),
5288                       NVL(msi.SECONDARY_DEFAULT_IND,''),
5289                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
5290                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
5291                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
5292                  FROM mtl_system_items_vl msi, mtl_serial_numbers msn /* Bug 5581528 */
5293                 WHERE msn.lpn_id = p_lpn_id
5294                   AND msn.last_txn_source_name IN ('RETURN TO VENDOR', 'RETURN TO CUSTOMER', 'RETURN TO RECEIVING')
5295                   AND msn.current_organization_id = p_org_id
5296                   AND msi.organization_id = msn.current_organization_id
5297                   AND msi.inventory_item_id = msn.inventory_item_id
5298       AND msi.concatenated_segments LIKE (p_item)
5299 
5300       -- Changes for GTIN
5301       UNION
5302 
5303       SELECT DISTINCT msi.concatenated_segments
5304                     , msi.inventory_item_id
5305                     , msi.description
5306                     , NVL(msi.revision_qty_control_code, 1)
5307                     , NVL(msi.lot_control_code, 1)
5308                     , NVL(msi.serial_number_control_code, 1)
5309                     , NVL(msi.restrict_subinventories_code, 2)
5310                     , NVL(msi.restrict_locators_code, 2)
5311                     , NVL(msi.location_control_code, 1)
5312                     , msi.primary_uom_code
5313                     , NVL(msi.inspection_required_flag, 2)
5314                     , NVL(msi.shelf_life_code, 1)
5315                     , NVL(msi.shelf_life_days, 0)
5316                     , NVL(msi.allowed_units_lookup_code, 2)
5317                     , NVL(msi.effectivity_control, 1)
5318                     , '0'
5319                     , '0'
5320                     , '0'
5321                     , '0'
5322                     , '0'
5323                     , '0'
5324                     , mcr.cross_reference
5325                     , 'N'
5326                     , msi.inventory_item_flag
5327                     , 0,
5328      --Bug No 3952081
5329      --Additional Fields for Process Convergence
5330                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
5331                       NVL(msi.DEFAULT_GRADE,''),
5332                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
5333                       NVL(msi.EXPIRATION_ACTION_CODE,''),
5334                       NVL(msi.HOLD_DAYS,0),
5335                       NVL(msi.MATURITY_DAYS,0),
5336                       NVL(msi.RETEST_INTERVAL,0),
5337                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
5338                       NVL(msi.CHILD_LOT_FLAG,'N'),
5339                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
5340                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
5341                       NVL(msi.SECONDARY_UOM_CODE,''),
5342                       NVL(msi.SECONDARY_DEFAULT_IND,''),
5343                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
5344                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
5345                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
5346       FROM mtl_system_items_vl msi, /* Bug 5581528 */
5347       wms_lpn_contents wlpnc,
5348       mtl_cross_references mcr
5349       WHERE wlpnc.parent_lpn_id = p_lpn_id
5353       AND msi.inventory_item_id = wlpnc.inventory_item_id
5350       AND wlpnc.source_name IN ('RETURN TO VENDOR', 'RETURN TO CUSTOMER', 'RETURN TO RECEIVING')
5351       AND wlpnc.organization_id = p_org_id
5352       AND msi.organization_id = wlpnc.organization_id
5354       AND msi.inventory_item_id   = mcr.inventory_item_id
5355       AND mcr.cross_reference_type = g_gtin_cross_ref_type
5356       AND mcr.cross_reference      LIKE l_cross_ref
5357       AND (mcr.organization_id     = msi.organization_id
5358 	   OR
5359 	   mcr.org_independent_flag = 'Y')
5360       UNION
5361       SELECT DISTINCT msi.concatenated_segments
5362                     , msi.inventory_item_id
5363                     , msi.description
5364                     , NVL(msi.revision_qty_control_code, 1)
5365                     , NVL(msi.lot_control_code, 1)
5366                     , NVL(msi.serial_number_control_code, 1)
5367                     , NVL(msi.restrict_subinventories_code, 2)
5368                     , NVL(msi.restrict_locators_code, 2)
5369                     , NVL(msi.location_control_code, 1)
5370                     , msi.primary_uom_code
5371                     , NVL(msi.inspection_required_flag, 2)
5372                     , NVL(msi.shelf_life_code, 1)
5373                     , NVL(msi.shelf_life_days, 0)
5374                     , NVL(msi.allowed_units_lookup_code, 2)
5375                     , NVL(msi.effectivity_control, 1)
5376                     , '0'
5377                     , '0'
5378                     , '0'
5379                     , '0'
5380                     , '0'
5381                     , '0'
5382                     , mcr.cross_reference
5383                     , 'N'
5384                     , msi.inventory_item_flag
5385                     , 0,
5386      --Bug No 3952081
5387      --Additional Fields for Process Convergence
5388                       NVL(msi.GRADE_CONTROL_FLAG,'N'),
5389                       NVL(msi.DEFAULT_GRADE,''),
5390                       NVL(msi.EXPIRATION_ACTION_INTERVAL,0),
5391                       NVL(msi.EXPIRATION_ACTION_CODE,''),
5392                       NVL(msi.HOLD_DAYS,0),
5393                       NVL(msi.MATURITY_DAYS,0),
5394                       NVL(msi.RETEST_INTERVAL,0),
5395                       NVL(msi.COPY_LOT_ATTRIBUTE_FLAG,'N'),
5396                       NVL(msi.CHILD_LOT_FLAG,'N'),
5397                       NVL(msi.CHILD_LOT_VALIDATION_FLAG,'N'),
5398                       NVL(msi.LOT_DIVISIBLE_FLAG,'Y'),
5399                       NVL(msi.SECONDARY_UOM_CODE,''),
5400                       NVL(msi.SECONDARY_DEFAULT_IND,''),
5401                       NVL(msi.TRACKING_QUANTITY_IND,'P'),
5402                       NVL(msi.DUAL_UOM_DEVIATION_HIGH,0),
5403                       NVL(msi.DUAL_UOM_DEVIATION_LOW,0)
5404       FROM mtl_system_items_vl msi, /* Bug 5581528 */
5405       mtl_serial_numbers msn,
5406       mtl_cross_references mcr
5407       WHERE msn.lpn_id = p_lpn_id
5408       AND msn.last_txn_source_name IN ('RETURN TO VENDOR', 'RETURN TO CUSTOMER', 'RETURN TO RECEIVING')
5409       AND msn.current_organization_id = p_org_id
5410       AND msi.organization_id = msn.current_organization_id
5411       AND msi.inventory_item_id = msn.inventory_item_id
5412       AND msi.inventory_item_id   = mcr.inventory_item_id
5413       AND mcr.cross_reference_type = g_gtin_cross_ref_type
5414       AND mcr.cross_reference      LIKE l_cross_ref
5415       AND (mcr.organization_id     = msi.organization_id
5416 	   OR
5417 	   mcr.org_independent_flag = 'Y');
5418   END get_return_items_lov;
5419 
5420   PROCEDURE get_return_revision_lov(x_revs OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_inventory_item_id IN VARCHAR2, p_lpn_id IN VARCHAR2, p_revision IN VARCHAR2) IS
5421   BEGIN
5422     OPEN x_revs FOR
5423       SELECT DISTINCT wlc.revision
5424                     , mir.effectivity_date
5425                     , NVL(mir.description, '')
5426                  FROM mtl_item_revisions mir, wms_lpn_contents_v wlc
5427                 WHERE wlc.organization_id = p_organization_id
5428                   AND wlc.inventory_item_id = TO_NUMBER(p_inventory_item_id)
5429                   AND NVL(wlc.parent_lpn_id, '0') = NVL(TO_NUMBER(p_lpn_id), NVL(wlc.parent_lpn_id, '0'))
5430                   AND wlc.source_name IN ('RETURN TO VENDOR', 'RETURN TO CUSTOMER', 'RETURN TO RECEIVING')
5431                   AND mir.organization_id = wlc.organization_id
5432                   AND mir.inventory_item_id = wlc.inventory_item_id
5433                   AND mir.revision = wlc.revision
5434                   AND wlc.revision LIKE (p_revision);
5435   END get_return_revision_lov;
5436 
5437   --"Returns"
5438 
5439 
5440   /* Direct Shipping */
5441 
5442   PROCEDURE get_vehicle_lov(x_vehicle OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_concatenated_segments IN VARCHAR2) IS
5443   BEGIN
5444     OPEN x_vehicle FOR
5445       SELECT   msi.concatenated_segments
5446              , msi.description
5447              , msi.inventory_item_id
5448           FROM mtl_system_items_vl msi /* Bug 5581528 */
5449          WHERE msi.organization_id = p_organization_id
5450            AND msi.concatenated_segments LIKE (p_concatenated_segments)
5451            AND msi.vehicle_item_flag = 'Y'
5452       ORDER BY UPPER(msi.concatenated_segments);
5453   END get_vehicle_lov;
5454 
5455   --Bug#2310308
5456   PROCEDURE get_direct_ship_uom_lov(x_uom OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_lpn_id IN NUMBER, p_uom_text IN VARCHAR2) IS
5457   BEGIN
5458     OPEN x_uom FOR
5459       SELECT DISTINCT muom.uom_code
5463                  FROM mtl_units_of_measure muom, wms_license_plate_numbers wlpn
5460                     , muom.unit_of_measure
5461                     , muom.description
5462                     , muom.uom_class
5464                 WHERE muom.uom_code LIKE (p_uom_text)
5465                   AND wlpn.lpn_id = p_lpn_id
5466                   AND muom.uom_code = wlpn.gross_weight_uom_code
5467       UNION
5468       SELECT DISTINCT muom.uom_code
5469                     , muom.unit_of_measure
5470                     , muom.description
5471                     , muom.uom_class
5472                  FROM mtl_units_of_measure muom, wsh_shipping_parameters wsp
5473                 WHERE wsp.organization_id = p_organization_id
5474                   AND wsp.weight_uom_class = muom.uom_class
5475                   AND muom.uom_code LIKE (p_uom_text);
5476   END get_direct_ship_uom_lov;
5477 
5478   --Bug#2310308
5479 
5480   --Bug #2252193
5481   PROCEDURE get_deliver_revision_lov(x_revs OUT NOCOPY t_genref, p_organization_id IN NUMBER, p_inventory_item_id IN NUMBER, p_po_header_id IN NUMBER, p_shipment_header_id IN NUMBER, p_revision IN VARCHAR2) IS
5482   BEGIN
5483     IF (p_shipment_header_id <> 0) THEN
5484       OPEN x_revs FOR
5485         SELECT DISTINCT miv.revision
5486                       , miv.effectivity_date
5487                       , NVL(miv.description, '')
5488                    FROM mtl_item_revisions miv, rcv_supply rs
5489                   WHERE miv.organization_id = p_organization_id
5490                     AND miv.inventory_item_id = p_inventory_item_id
5491                     AND rs.shipment_header_id(+) = p_shipment_header_id
5492                     AND (rs.shipment_header_id IS NULL
5493                          OR rs.shipment_header_id = p_shipment_header_id
5494                         )
5495                     AND rs.to_organization_id(+) = miv.organization_id
5496                     AND (rs.to_organization_id IS NULL
5497                          OR rs.to_organization_id = p_organization_id
5498                         )
5499                     AND rs.item_id(+) = miv.inventory_item_id
5500                     AND (rs.item_id IS NULL
5501                          OR rs.item_id = p_inventory_item_id
5502                         )
5503                     AND NVL(rs.item_revision, miv.revision) = miv.revision
5504                     AND miv.revision LIKE (p_revision);
5505     ELSIF (p_po_header_id <> 0) THEN
5506       OPEN x_revs FOR
5507         SELECT DISTINCT miv.revision
5508                       , miv.effectivity_date
5509                       , NVL(miv.description, '')
5510                    FROM mtl_item_revisions miv, rcv_supply rs
5511                   WHERE miv.organization_id = p_organization_id
5512                     AND miv.inventory_item_id = p_inventory_item_id
5513                     AND rs.po_header_id(+) = p_po_header_id
5514                     AND (rs.po_header_id IS NULL
5515                          OR rs.po_header_id = p_po_header_id
5516                         )
5517                     AND rs.to_organization_id(+) = miv.organization_id
5518                     AND (rs.to_organization_id IS NULL
5519                          OR rs.to_organization_id = p_organization_id
5520                         )
5521                     AND rs.item_id(+) = miv.inventory_item_id
5522                     AND (rs.item_id IS NULL
5523                          OR rs.item_id = p_inventory_item_id
5524                         )
5525                     AND NVL(rs.item_revision, miv.revision) = miv.revision
5526                     AND miv.revision LIKE (p_revision);
5527     ELSE
5528       get_revision_lov(x_revs, p_organization_id, p_inventory_item_id, p_revision);
5529     END IF;
5530   END get_deliver_revision_lov;
5531 
5532   --Bug# 2647045
5533 FUNCTION conversion_order(p_uom_string IN VARCHAR2) RETURN NUMBER IS
5534    l_uom_string VARCHAR2(50);
5535    l_bracket_loc NUMBER;
5536 BEGIN
5537    l_uom_string := p_uom_string;
5538    l_bracket_loc := Instr(l_uom_string,'(');
5539    IF l_bracket_loc IS NULL OR l_bracket_loc = 0 THEN
5540       RETURN 0;
5541    END IF;
5542    l_uom_string :=  Substr(l_uom_string,l_bracket_loc+1);
5543    l_bracket_loc := Instr(l_uom_string,' ');
5544    IF l_bracket_loc IS NULL OR l_bracket_loc = 0 THEN
5545       RETURN 0;
5546    END IF;
5547    l_uom_string := Substr(l_uom_string,1,l_bracket_loc-1);
5548    RETURN To_number(l_uom_string);
5549 END;
5550 
5551 --Bug# 2647045
5552 FUNCTION get_conversion_rate(p_from_uom_code   varchar2,
5553 			     p_organization_id NUMBER,
5554 			     p_item_id         NUMBER)
5555   RETURN VARCHAR2 IS
5556      l_primary_uom_code VARCHAR2(3);
5557      l_conversion_rate NUMBER;
5558      l_return_string VARCHAR2(50);
5559 BEGIN
5560    IF p_item_id IS NULL THEN
5561       RETURN p_from_uom_code;
5562     ELSE
5563       BEGIN
5564 	 SELECT primary_uom_code
5565 	   INTO l_primary_uom_code
5566 	   FROM mtl_system_items
5567 	  WHERE organization_id = p_organization_id
5568 	    AND inventory_item_id = p_item_id;
5569       EXCEPTION
5570 	 WHEN OTHERS THEN
5571 	    NULL;
5572       END;
5573 
5574       IF (p_from_uom_code <> l_primary_uom_code) THEN
5575 	      inv_convert.inv_um_conversion(p_from_uom_code,
5576 				    l_primary_uom_code,
5577 				    p_item_id,
5578 				    l_conversion_rate);
5579       ELSE
5580       	      l_conversion_rate := 1;
5581       END IF;
5582 
5583       IF l_conversion_rate IS NOT NULL AND l_conversion_rate > 0 THEN
5587       END IF;
5584 	 l_return_string :=
5585 	   p_from_uom_code||'('||To_char(TRUNC(l_conversion_rate,4))||' '||l_primary_uom_code||')';
5586 	 RETURN l_return_string;
5588       RETURN p_from_uom_code;
5589    END IF;
5590 END;
5591 
5592 --added the procedure for handling lpn and loose in update status page for LPN status project
5593 PROCEDURE get_ostatus_items_lov(x_items OUT NOCOPY t_genref,
5594                                p_organization_id IN NUMBER,
5595                                p_lpn IN VARCHAR2,
5596                                p_concatenated_segments IN VARCHAR2,
5597                                p_subinventory_code IN VARCHAR2,
5598                                p_locator_id IN NUMBER) is
5599 l_cross_ref varchar2(204);
5600   l_sql_stmt1     VARCHAR2(7500)
5601   := 'SELECT msik.concatenated_segments concatenated_segments'
5602       ||            ', msik.inventory_item_id'
5603       ||            ', msik.description'
5604       ||            ', NVL(msik.revision_qty_control_code, 1)'
5605       ||            ', NVL(msik.lot_status_enabled, ''N'')'
5606       ||            ', NVL(msik.serial_status_enabled, ''N'')'
5607       ||            ', NVL(msik.restrict_subinventories_code, 2)'
5608       ||            ', NVL(msik.restrict_locators_code, 2)'
5609       ||            ', NVL(msik.location_control_code, 1)'
5610       ||            ', msik.primary_uom_code'
5611       ||            ', NVL(msik.inspection_required_flag, 2)'
5612       ||            ', NVL(msik.shelf_life_code, 1)'
5613       ||            ', NVL(msik.shelf_life_days, 0)'
5614       ||            ', NVL(msik.allowed_units_lookup_code, 2)'
5615       ||            ', NVL(msik.effectivity_control, 1)'
5616       ||            ', 0 parentlpnid'
5617       ||            ', 0 quantity'
5618       ||            ', NVL(msik.default_serial_status_id, 0)'
5619       ||            ', NVL(msik.serial_status_enabled, ''N'')'
5620       ||            ', NVL(msik.default_lot_status_id, 0)'
5621       ||            ', NVL(msik.lot_status_enabled, ''N'')'
5622       ||            ', '''''
5623       ||            ', ''N'''
5624       ||            ', msik.inventory_item_flag'
5625       ||            ', 0,'
5626 --Bug No 3952081
5627 --Additional Fields for Process Convergence
5628       ||            'NVL(msik.GRADE_CONTROL_FLAG,''N''),'
5629       ||            'NVL(msik.DEFAULT_GRADE,''''),'
5630       ||            'NVL(msik.EXPIRATION_ACTION_INTERVAL,0),'
5631       ||            'NVL(msik.EXPIRATION_ACTION_CODE,''''),'
5632       ||            'NVL(msik.HOLD_DAYS,0),'
5633       ||            'NVL(msik.MATURITY_DAYS,0),'
5634       ||            'NVL(msik.RETEST_INTERVAL,0),'
5635       ||            'NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,''N''),'
5636       ||            'NVL(msik.CHILD_LOT_FLAG,''N''),'
5637       ||            'NVL(msik.CHILD_LOT_VALIDATION_FLAG,''N''),'
5638       ||            'NVL(msik.LOT_DIVISIBLE_FLAG,''Y''),'
5639       ||            'NVL(msik.SECONDARY_UOM_CODE,''''),'
5640       ||            'NVL(msik.SECONDARY_DEFAULT_IND,''''),'
5641       ||            'NVL(msik.TRACKING_QUANTITY_IND,''P''),'
5642       ||            'NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),'
5643       ||            'NVL(msik.DUAL_UOM_DEVIATION_LOW,0)';
5644 
5645 l_sql_stmt_xref     VARCHAR2(7500)
5646       :=       'SELECT msik.concatenated_segments concatenated_segments'
5647       ||            ', msik.inventory_item_id'
5648       ||            ', msik.description'
5649       ||            ', NVL(msik.revision_qty_control_code, 1)'
5650       ||            ', NVL(msik.lot_status_enabled, ''N'')'
5651       ||            ', NVL(msik.serial_status_enabled, ''N'')'
5652       ||            ', NVL(msik.restrict_subinventories_code, 2)'
5653       ||            ', NVL(msik.restrict_locators_code, 2)'
5654       ||            ', NVL(msik.location_control_code, 1)'
5655       ||            ', msik.primary_uom_code'
5656       ||            ', NVL(msik.inspection_required_flag, 2)'
5657       ||            ', NVL(msik.shelf_life_code, 1)'
5658       ||            ', NVL(msik.shelf_life_days, 0)'
5659       ||            ', NVL(msik.allowed_units_lookup_code, 2)'
5660       ||            ', NVL(msik.effectivity_control, 1)'
5661       ||            ', 0 parentlpnid'
5662       ||            ', 0 quantity'
5663       ||            ', NVL(msik.default_serial_status_id, 0)'
5664       ||            ', NVL(msik.serial_status_enabled, ''N'')'
5665       ||            ', NVL(msik.default_lot_status_id, 0)'
5666       ||            ', NVL(msik.lot_status_enabled, ''N'')'
5667       ||            ', mcr.cross_reference'
5668       ||            ', ''N'''
5669       ||            ', msik.inventory_item_flag'
5670       ||            ', 0,'
5671      --Bug No 3952081
5672      --Additional Fields for Process Convergence
5673       ||            'NVL(msik.GRADE_CONTROL_FLAG,''N''),'
5674       ||            'NVL(msik.DEFAULT_GRADE,''''),'
5675       ||            'NVL(msik.EXPIRATION_ACTION_INTERVAL,0),'
5676       ||            'NVL(msik.EXPIRATION_ACTION_CODE,''''),'
5677       ||            'NVL(msik.HOLD_DAYS,0),'
5678       ||            'NVL(msik.MATURITY_DAYS,0),'
5679       ||            'NVL(msik.RETEST_INTERVAL,0),'
5680       ||            'NVL(msik.COPY_LOT_ATTRIBUTE_FLAG,''N''),'
5681       ||            'NVL(msik.CHILD_LOT_FLAG,''N''),'
5682       ||            'NVL(msik.CHILD_LOT_VALIDATION_FLAG,''N''),'
5683       ||            'NVL(msik.LOT_DIVISIBLE_FLAG,''Y''),'
5684       ||            'NVL(msik.SECONDARY_UOM_CODE,''''),'
5685       ||            'NVL(msik.SECONDARY_DEFAULT_IND,''''),'
5686       ||            'NVL(msik.TRACKING_QUANTITY_IND,''P''),'
5687       ||            'NVL(msik.DUAL_UOM_DEVIATION_HIGH,0),'
5688       ||            'NVL(msik.DUAL_UOM_DEVIATION_LOW,0)';
5689   BEGIN
5690 
5691    l_cross_ref := lpad(Rtrim(p_concatenated_segments, '%'), g_gtin_code_length, '00000000000000');
5692 
5693 
5694 
5695 IF P_LPN IS NULL THEN
5696 
5697    l_sql_stmt1 := l_sql_stmt1 || ' FROM mtl_system_items_vl msik, mtl_onhand_quantities_detail moqd'
5698                               || ' WHERE msik.concatenated_segments LIKE (''' || p_concatenated_segments || ''')'
5699 
5700          		      || ' AND msik.organization_id = ' || p_organization_id
5701 			            || ' AND (msik.serial_number_control_code in (1,6) OR msik.serial_status_enabled = ''Y'' )'
5702                      || ' AND moqd.inventory_item_id = msik.inventory_item_id '
5703                      || ' AND moqd.organization_id = msik.organization_id '
5704                      || ' AND moqd.lpn_id is NULL ' ;
5705 
5706    l_sql_stmt_xref := l_sql_stmt_xref || ' FROM mtl_system_items_vl msik,'
5707 				|| 'mtl_cross_references mcr, mtl_onhand_quantities_detail moqd'
5708 				|| ' WHERE msik.organization_id = ' || p_organization_id
5709 				|| ' AND (msik.serial_number_control_code in (1,6) OR msik.serial_status_enabled = ''Y'' )'
5710 				|| ' AND msik.inventory_item_id   = mcr.inventory_item_id'
5711 				|| ' AND mcr.cross_reference_type = ''' || g_gtin_cross_ref_type || ''''
5712 				|| ' AND mcr.cross_reference LIKE ''' || l_cross_ref || ''''
5713 				|| ' AND (mcr.organization_id = msik.organization_id OR mcr.org_independent_flag = ''Y'')'
5714             || ' AND moqd.organization_id = msik.organization_id '
5715             || ' AND moqd.inventory_item_id = msik.inventory_item_id '
5716             || ' AND moqd.lpn_id is NULL ' ;
5717 
5718 
5719    IF p_subinventory_code IS NOT NULL THEN
5720         l_sql_stmt1 := l_sql_stmt1
5721 				   || ' AND moqd.subinventory_code = ''' || p_subinventory_code || '''';
5722 
5723         l_sql_stmt_xref := l_sql_stmt_xref
5724 				  				   || ' AND moqd.subinventory_code = ''' || p_subinventory_code || '''';
5725 
5726 	IF p_locator_id IS NOT NULL AND p_locator_id <> -1 THEN
5727 
5728 		l_sql_stmt1 := l_sql_stmt1 || ' AND moqd.locator_id = ' || p_locator_id;
5729 
5730 		l_sql_stmt_xref := l_sql_stmt_xref || ' AND moqd.locator_id = ' || p_locator_id;
5731 	END IF;
5732    END IF;
5733 ELSE
5734    l_sql_stmt1 := l_sql_stmt1 || ' FROM mtl_system_items_vl msik, mtl_onhand_quantities_detail moqd ,WMS_LICENSE_PLATE_NUMBERS WLPN ,WMS_LPN_CONTENTS WLC'
5735                               || ' WHERE WLPN.LICENSE_PLATE_NUMBER = ''' || p_lpn || ''''
5736                               || ' AND WLC.PARENT_LPN_ID =  WLPN.LPN_ID '
5737                               || ' AND MSIK.INVENTORY_ITEM_ID = WLC.INVENTORY_ITEM_ID '
5738                               || ' AND msik.concatenated_segments LIKE (''' || p_concatenated_segments || ''')'
5739                   		      || ' AND msik.organization_id = ' || p_organization_id
5740 			                     || ' AND (msik.serial_number_control_code in (1,6) OR msik.serial_status_enabled = ''Y'' )'
5741                               || ' AND moqd.organization_id = msik.organization_id'
5742                               || ' AND moqd.inventory_item_id = msik.inventory_item_id';
5743 
5744    l_sql_stmt_xref := l_sql_stmt_xref || ' FROM mtl_system_items_vl msik,'
5745 				|| 'mtl_cross_references mcr, mtl_onhand_quantities_detail moqd ,WMS_LICENSE_PLATE_NUMBERS WLPN ,WMS_LPN_CONTENTS WLC'
5746 				|| ' WHERE WLPN.LICENSE_PLATE_NUMBER = ''' || p_lpn || ''''
5747             || ' AND WLC.PARENT_LPN_ID =  WLPN.LPN_ID '
5748             || ' AND MSIK.INVENTORY_ITEM_ID = WLC.INVENTORY_ITEM_ID '
5749             || ' AND msik.organization_id = ' || p_organization_id
5750 				|| ' AND (msik.serial_number_control_code in (1,6) OR msik.serial_status_enabled = ''Y'' )'
5751 				|| ' AND msik.inventory_item_id   = mcr.inventory_item_id'
5752 				|| ' AND mcr.cross_reference_type = ''' || g_gtin_cross_ref_type || ''''
5753 				|| ' AND mcr.cross_reference LIKE ''' || l_cross_ref || ''''
5754 				|| ' AND (mcr.organization_id = msik.organization_id OR mcr.org_independent_flag = ''Y'')'
5755             || ' AND moqd.organization_id = msik.organization_id'
5756             || ' AND moqd.inventory_item_id = msik.inventory_item_id';
5757 
5758 
5759        l_sql_stmt1 := l_sql_stmt1
5760 
5761 				   || ' AND moqd.subinventory_code = ''' || p_subinventory_code || '''';
5762 
5763         l_sql_stmt_xref := l_sql_stmt_xref
5764 				  	   || ' AND moqd.subinventory_code = ''' || p_subinventory_code || '''';
5765 
5766 		l_sql_stmt1 := l_sql_stmt1 || ' AND moqd.locator_id = ' || p_locator_id;
5767 
5768 		l_sql_stmt_xref := l_sql_stmt_xref || ' AND moqd.locator_id = ' || p_locator_id;
5769 
5770 
5771 END IF;
5772    l_sql_stmt1 := l_sql_stmt1 || ' UNION ' || l_sql_stmt_xref || ' ORDER BY concatenated_segments';
5773 
5774    --dbms_output.put_line(l_sql_stmt1);
5775  OPEN x_items FOR l_sql_stmt1;
5776 END get_ostatus_items_lov;
5777 
5778 END inv_ui_item_lovs;