[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;