DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_MWB_QUERY_MANAGER

Source


1 PACKAGE BODY INV_MWB_QUERY_MANAGER AS
2 /* $Header: INVMWQMB.pls 120.97.12020000.7 2013/01/14 02:52:24 xzhixong ship $ */
3 
4   TYPE DateBindRec IS RECORD(bind_name VARCHAR2(50), bind_value DATE);
5   TYPE VarcharBindRec IS RECORD(bind_name VARCHAR2(50), bind_value VARCHAR2(255));
6   TYPE NumberBindRec IS RECORD(bind_name VARCHAR2(50), bind_value NUMBER);
7 
8   TYPE DateBindRecTab IS TABLE OF DateBindRec INDEX BY PLS_INTEGER;
9   TYPE VarcharBindRecTab IS TABLE OF VarcharBindRec INDEX BY PLS_INTEGER;
10   TYPE NumberBindRecTab IS TABLE OF NumberBindRec INDEX BY PLS_INTEGER;
11 
12   g_date_bind_tab      DateBindRecTab;
13   g_number_bind_tab    NumberBindRecTab;
14   g_varchar_bind_tab   VarcharBindRecTab;
15 
16   g_date_bind_index    PLS_INTEGER;
17   g_varchar_bind_index PLS_INTEGER;
18   g_number_bind_index  PLS_INTEGER;
19 
20   g_pkg_name CONSTANT VARCHAR2(30) := 'INV_MWB_QUERY_MANAGER';
21 
22   g_initialize BOOLEAN;
23 
24   g_onhand_where_index PLS_INTEGER;
25   g_onhand_from_index  PLS_INTEGER;
26   g_onhand_group_index PLS_INTEGER;
27 
28   g_onhand_1_where_index PLS_INTEGER;
29   g_onhand_1_from_index  PLS_INTEGER;
30   g_onhand_1_group_index PLS_INTEGER;
31 
32   g_inbound_where_index PLS_INTEGER;
33   g_inbound_from_index  PLS_INTEGER;
34   g_inbound_group_index PLS_INTEGER;
35 
36   g_inbound_1_where_index PLS_INTEGER;
37   g_inbound_1_from_index  PLS_INTEGER;
38   g_inbound_1_group_index PLS_INTEGER;
39 
40   g_receiving_1_where_index PLS_INTEGER;
41   g_receiving_1_from_index  PLS_INTEGER;
42   g_receiving_1_group_index PLS_INTEGER;
43 
44   g_receiving_where_index PLS_INTEGER;
45   g_receiving_from_index  PLS_INTEGER;
46   g_receiving_group_index PLS_INTEGER;
47 
48   FUNCTION build_query RETURN VARCHAR2;
49   PROCEDURE bind_query(p_cursor_handle IN NUMBER);
50 
51   FUNCTION build_onhand_query RETURN VARCHAR2;
52   FUNCTION build_inbound_query RETURN VARCHAR2;
53   FUNCTION build_receiving_query RETURN VARCHAR2;
54   PROCEDURE build_onhand_qf_where;
55   PROCEDURE post_query;
56 
57   PROCEDURE add_bind_variable(p_bind_name VARCHAR2, p_bind_value DATE) IS
58      l_date_bind_rec DateBindRec;
59      l_procedure_name VARCHAR2(30);
60   BEGIN
61      IF g_date_bind_index IS NULL THEN
62         g_date_bind_index := 1;
63      END IF;
64      l_date_bind_rec.bind_name  := p_bind_name;
65      l_date_bind_rec.bind_value := p_bind_value;
66      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, ' Bind Variable : '||p_bind_name||' Bind Value : '||to_char(p_bind_value));
67      g_date_bind_tab(g_date_bind_index) := l_date_bind_rec;
68      g_date_bind_index := g_date_bind_index + 1;
69   END add_bind_variable;
70 
71   PROCEDURE add_bind_variable(p_bind_name VARCHAR2, p_bind_value NUMBER) IS
72      l_number_bind_rec NumberBindRec;
73      l_procedure_name VARCHAR2(30);
74   BEGIN
75      IF g_number_bind_index IS NULL THEN
76         g_number_bind_index := 1;
77      END IF;
78      l_number_bind_rec.bind_name  := p_bind_name;
79      l_number_bind_rec.bind_value := p_bind_value;
80      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, ' Bind Variable : '||p_bind_name||' Bind Value : '||p_bind_value);
81      g_number_bind_tab(g_number_bind_index) := l_number_bind_rec;
82      g_number_bind_index := g_number_bind_index + 1;
83   END add_bind_variable;
84 
85   PROCEDURE add_bind_variable(p_bind_name VARCHAR2, p_bind_value VARCHAR2) IS
86      l_varchar_bind_rec VarcharBindRec;
87      l_procedure_name VARCHAR2(30);
88   BEGIN
89      IF g_varchar_bind_index IS NULL THEN
90         g_varchar_bind_index := 1;
91      END IF;
92      l_varchar_bind_rec.bind_name  := p_bind_name;
93      l_varchar_bind_rec.bind_value := p_bind_value;
94      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, ' Bind Variable : '||p_bind_name||' Bind Value : '||p_bind_value);
95      g_varchar_bind_tab(g_varchar_bind_index) := l_varchar_bind_rec;
96      g_varchar_bind_index := g_varchar_bind_index + 1;
97   END add_bind_variable;
98 
99   FUNCTION build_insert(p_columns IN SelectColumnTabType) RETURN VARCHAR2 IS
100      l_insert_str     inv_mwb_globals.long_str;
101      l_temp           inv_mwb_globals.short_str;
102      l_pos            NUMBER;
103      l_procedure_name VARCHAR2(30);
104   BEGIN
105 
106      l_procedure_name := 'BUILD_INSERT';
107      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Entered');
108      l_insert_str := 'INSERT INTO mtl_mwb_gtmp (';
109 --     inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, l_insert_str);
110      l_pos := p_columns.FIRST;
111      WHILE l_pos IS NOT NULL LOOP
112         IF l_pos = p_columns.FIRST THEN
113            l_temp := p_columns(l_pos).column_name;
114         ELSE
115            l_temp := ' , '||p_columns(l_pos).column_name;
116         END IF;
117 --        inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, l_temp);
118         l_insert_str := l_insert_str||l_temp;
119         l_pos := p_columns.NEXT(l_pos);
120      END LOOP;
121 
122      l_insert_str := l_insert_str || ' ) ';
123      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, ' ) ');
124 
125      RETURN l_insert_str;
126 
127   END build_insert;
128 
129   FUNCTION build_query(
130                  p_select_columns IN SelectColumnTabType
131                 ,p_from_clause    IN SQLClauseTabType
132                 ,p_where_clause   IN SQLClauseTabType
133                 ,p_group_clause   IN SQLClauseTabType
134                    ) RETURN VARCHAR2 IS
135      l_query_str      inv_mwb_globals.very_long_str;
136      l_procedure_name VARCHAR2(30);
137      i                PLS_INTEGER;
138      j                PLS_INTEGER;
139      l_temp           inv_mwb_globals.short_str;
140      l_default_status_id    NUMBER; -- Onhand Material Status Support
141      l_if_msn Number :=0; --Bug 7611434
142 
143   BEGIN
144 
145      l_procedure_name := 'BUILD_QUERY';
146      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Entered');
147 
148      IF p_select_columns.COUNT > 0 THEN
149 
150         i := p_select_columns.FIRST;
151         WHILE i IS NOT NULL LOOP
152 
153            IF i = p_select_columns.FIRST THEN
154               l_query_str := 'SELECT ';
155               l_temp := p_select_columns(i).column_value||' '||p_select_columns(i).column_name;
156            ELSE
157               l_temp := ' , '||p_select_columns(i).column_value||' '||p_select_columns(i).column_name;
158            END IF;
159            inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, l_temp);
160            l_query_str := l_query_str || l_temp;
161 
162            i := p_select_columns.NEXT(i);
163         END LOOP;
164 
165      END IF;
166 
167      IF p_from_clause.COUNT > 0 THEN
168 
169         j := p_from_clause.FIRST;
170         WHILE j IS NOT NULL LOOP
171            IF j = p_from_clause.FIRST THEN
172               l_query_str := l_query_str||' FROM ';
173               l_temp := p_from_clause(j);
174            ELSE
175               l_temp :=  ' , '||p_from_clause(j);
176            END IF;
177            l_query_str := l_query_str || l_temp;
178            inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, l_temp);
179            j := p_from_clause.NEXT(j);
180         END LOOP;
181 
182      END IF;
183 
184      IF p_where_clause.COUNT > 0 THEN
185 
186         j := p_where_clause.FIRST;
187         WHILE j IS NOT NULL LOOP
188            IF j = p_where_clause.FIRST THEN
189               l_query_str := l_query_str||' WHERE 1 = 1 ';
190            END IF;
191            l_temp := ' AND ' || p_where_clause(j);
192            l_query_str := l_query_str || l_temp;
193            inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, l_temp);
194            j := p_where_clause.NEXT(j);
195         END LOOP;
196 
197      END IF;
198 
199      IF p_group_clause.COUNT > 0 THEN
200 
201         j := p_group_clause.FIRST;
202         WHILE j IS NOT NULL LOOP
203            IF j = p_group_clause.FIRST THEN
204               l_query_str := l_query_str||' GROUP BY ';
205               l_temp := p_group_clause(j);
206            ELSE
207               l_temp := ' , '|| p_group_clause(j);
208            END IF;
209            inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, l_temp);
210            l_query_str := l_query_str || l_temp;
211            j := p_group_clause.NEXT(j);
212         END LOOP;
213 
214      END IF;
215 
216       --IF inv_mwb_globals.g_tree_node_type = 'APPTREE_OBJECT_TRUNK' THEN
217       --Modified above IF ... THEN for bug 7611434
218       IF inv_mwb_globals.g_tree_node_type IN ('APPTREE_OBJECT_TRUNK','LOC','SUB','MATLOC','ORG') THEN
219          IF inv_mwb_globals.g_chk_onhand = 1
220          AND NVL(inv_mwb_globals.g_chk_receiving,0) = 0
221          AND NVL(inv_mwb_globals.g_chk_inbound,0) = 0 THEN
222 
223             IF inv_mwb_globals.g_qty_from IS NOT NULL
224             OR inv_mwb_globals.g_qty_to IS NOT NULL THEN
225 
226                l_query_str := l_query_str || ' HAVING 1 = 1 ';
227 
228 --               IF inv_mwb_globals.g_view_by <> 'LPN' THEN
229                   IF inv_mwb_globals.g_serial_from IS NULL
230                   AND inv_mwb_globals.g_serial_to IS NULL
231                   AND inv_mwb_globals.g_view_by <> 'SERIAL' THEN
232 
233                      --Bug 7611434 Begin
234                      begin
235                           Select instr(upper(l_query_str),'MTL_SERIAL_NUMBERS',1)
236                             into l_if_msn
237                             from dual;
238                      exception
239                             when others then
240                                  l_if_msn := 0;
241                      end;
242                      --Bug 7611434 End
243 
244                   if l_if_msn = 0 THEN --Added by Bug 7611434
245 
246                      IF NVL(inv_mwb_globals.g_qty_from,-100) = NVL(inv_mwb_globals.g_qty_to,-200) THEN
247                         l_query_str := l_query_str || ' AND SUM (MOQD.PRIMARY_TRANSACTION_QUANTITY) = :onhand_qty';
248                      END IF;
249                      IF inv_mwb_globals.g_qty_from IS NOT NULL THEN
250                         l_query_str := l_query_str || ' AND SUM (MOQD.PRIMARY_TRANSACTION_QUANTITY) >= :onhand_from_qty';
251                      END IF;
252                      IF inv_mwb_globals.g_qty_to IS NOT NULL THEN
253                         l_query_str := l_query_str || ' AND SUM (MOQD.PRIMARY_TRANSACTION_QUANTITY) <= :onhand_to_qty';
254                      END IF;
255 
256                   --Added by Bug 7611434 BEGIN
257                   else
258 
259                      IF NVL(inv_mwb_globals.g_qty_from,-100) = NVL(inv_mwb_globals.g_qty_to,-200) THEN
260                         l_query_str := l_query_str || ' AND count(1) = :onhand_qty';
261                      END IF;
262                      IF inv_mwb_globals.g_qty_from IS NOT NULL THEN
263                         l_query_str := l_query_str || ' AND count(1) >= :onhand_from_qty';
264                      END IF;
265                      IF inv_mwb_globals.g_qty_to IS NOT NULL THEN
266                         l_query_str := l_query_str || ' AND count(1) <= :onhand_to_qty';
267                      END IF;
268 
269                   end if;
270                   --Added by Bug 7611434 END
271 
272 
273                   ELSIF inv_mwb_globals.g_serial_from IS NOT NULL
274                   OR inv_mwb_globals.g_serial_to IS NOT NULL
275                   OR inv_mwb_globals.g_view_by = 'SERIAL' THEN
276                      IF NVL(inv_mwb_globals.g_qty_from,-100) = NVL(inv_mwb_globals.g_qty_to,-200) THEN
277                         l_query_str := l_query_str || ' AND count(1) = :onhand_qty';
278                      END IF;
279                      IF inv_mwb_globals.g_qty_from IS NOT NULL THEN
280                         l_query_str := l_query_str || ' AND count(1) >= :onhand_from_qty ';
281                      END IF;
282                      IF inv_mwb_globals.g_qty_to IS NOT NULL THEN
283                         l_query_str := l_query_str || ' AND count(1) <= :onhand_to_qty ';
284                      END IF;
285                   END IF;
286 /*               ELSIF inv_mwb_globals.g_view_by = 'LPN' THEN
287                   IF NVL(inv_mwb_globals.g_qty_from,-100) = NVL(inv_mwb_globals.g_qty_to,-200) THEN
288                      l_query_str := l_query_str || ' AND SUM(wlc.primary_quantity) = :onhand_qty';
289                   END IF;
290                   IF inv_mwb_globals.g_qty_from IS NOT NULL THEN
291                      l_query_str := l_query_str || ' AND SUM(wlc.primary_quantity) >= :onhand_from_qty ';
292                   END IF;
293                   IF inv_mwb_globals.g_qty_to IS NOT NULL THEN
294                      l_query_str := l_query_str || ' AND SUM(wlc.primary_quantity) <= :onhand_to_qty ';
295                   END IF;
296                END IF;
297 */
298                IF NVL(inv_mwb_globals.g_qty_from,-100) = NVL(inv_mwb_globals.g_qty_to,-200) THEN
299                   add_bind_variable('onhand_qty',inv_mwb_globals.g_qty_from);
300                END IF;
301                IF inv_mwb_globals.g_qty_from IS NOT NULL THEN
302                   add_bind_variable('onhand_from_qty',inv_mwb_globals.g_qty_from);
303                END IF;
304                IF inv_mwb_globals.g_qty_to IS NOT NULL THEN
305                   add_bind_variable('onhand_to_qty',inv_mwb_globals.g_qty_to);
306                END IF;
307 
308             END IF;
309 
310          END IF;  -- Onhand quantity queries
311 
312          IF inv_mwb_globals.g_chk_inbound = 1
313          AND NVL(inv_mwb_globals.g_chk_receiving,0) = 0
314          AND NVL(inv_mwb_globals.g_chk_onhand,0) = 0 THEN
315 
316            IF inv_mwb_globals.g_qty_from IS NOT NULL
317            OR inv_mwb_globals.g_qty_to IS NOT NULL THEN
318               l_query_str := l_query_str || ' HAVING 1 = 1 ';
319               IF NVL(inv_mwb_globals.g_qty_from,-100) = NVL(inv_mwb_globals.g_qty_to,-200) THEN
320                  l_query_str := l_query_str || ' AND SUM(ms.to_org_primary_quantity) = :inbound_qty';
321                  add_bind_variable('inbound_qty',inv_mwb_globals.g_qty_from);
322               END IF;
323               IF inv_mwb_globals.g_qty_from IS NOT NULL THEN
324                  l_query_str := l_query_str || ' AND SUM(ms.to_org_primary_quantity) >= :inbound_qty_from';
325                  add_bind_variable('inbound_qty_from',inv_mwb_globals.g_qty_from);
326               END IF;
327               IF inv_mwb_globals.g_qty_to IS NOT NULL THEN
328                  l_query_str := l_query_str || ' AND SUM(ms.to_org_primary_quantity) <= :inbound_qty_to';
329                  add_bind_variable('inbound_qty_to',inv_mwb_globals.g_qty_to);
330               END IF;
331            END IF;
332          END IF;  -- Inbound quantity queries
333 
334          IF inv_mwb_globals.g_chk_receiving = 1
335          AND NVL(inv_mwb_globals.g_chk_onhand,0) = 0
336          AND NVL(inv_mwb_globals.g_chk_inbound,0) = 0 THEN
337 
338             IF inv_mwb_globals.g_qty_from IS NOT NULL
339             OR inv_mwb_globals.g_qty_to IS NOT NULL THEN
340                l_query_str := l_query_str || ' HAVING 1 = 1';
341 
342 --               IF inv_mwb_globals.g_view_by = 'LOCATION' THEN
343                   IF NVL(inv_mwb_globals.g_qty_from,-100) = NVL(inv_mwb_globals.g_qty_to,-200) THEN
344                     l_query_str := l_query_str || ' AND SUM(rs.to_org_primary_quantity) = :receiving_qty ';
345                   END IF;
346                   IF inv_mwb_globals.g_qty_from IS NOT NULL THEN
347                     l_query_str := l_query_str || ' AND SUM(rs.to_org_primary_quantity) >= :receiving_from_qty ';
348                   END IF;
349                   IF inv_mwb_globals.g_qty_to IS NOT NULL THEN
350                     l_query_str := l_query_str || ' AND SUM(rs.to_org_primary_quantity) <= :receiving_to_qty ';
351                   END IF;
352 /*               ELSIF inv_mwb_globals.g_view_by = 'LPN' THEN
353                   IF NVL(inv_mwb_globals.g_qty_from,-100) = NVL(inv_mwb_globals.g_qty_to,-200) THEN
354                     l_query_str := l_query_str || ' AND SUM(wlc.primary_quantity) = :receiving_qty';
355                   END IF;
356                   IF inv_mwb_globals.g_qty_from IS NOT NULL THEN
357                     l_query_str := l_query_str || ' AND SUM(wlc.primary_quantity) >= :receiving_from_qty';
358                   END IF;
359                   IF inv_mwb_globals.g_qty_to IS NOT NULL THEN
360                     l_query_str := l_query_str || ' AND SUM(wlc.primary_quantity) <= :receiving_to_qty';
361                   END IF;
362                END IF;
363 */
364 
365                IF NVL(inv_mwb_globals.g_qty_from,-100) = NVL(inv_mwb_globals.g_qty_to,-200) THEN
366                  add_bind_variable('receiving_qty',inv_mwb_globals.g_qty_from);
367                END IF;
368                IF inv_mwb_globals.g_qty_from IS NOT NULL THEN
369                  add_bind_variable('receiving_from_qty',inv_mwb_globals.g_qty_from);
370                END IF;
371                IF inv_mwb_globals.g_qty_to IS NOT NULL THEN
372                  add_bind_variable('receiving_to_qty',inv_mwb_globals.g_qty_to);
373                END IF;
374             END IF;
375          END IF;  -- Receiving quantities query
376       END IF; /* inv_mwb_globals.g_tree_node_type = 'APPTREE_OBJECT_TRUNK' */
377 
378       -- Onhand Material Status Support
379       if(inv_mwb_globals.g_view_by = 'STATUS' AND inv_mwb_globals.g_tree_node_type = 'ONHAND_FOLDER') then
380            l_query_str := l_query_str || ' ORDER BY moqd.organization_id, moqd.inventory_item_id, moqd.revision, moqd.subinventory_code, moqd.locator_id, moqd.lot_number ';
381       end if;
382 
383    RETURN l_query_str;
384    END build_query;
385 
386 
387   PROCEDURE execute_query IS
388 
389      TYPE TempRecCurTyp IS REF CURSOR;
390 
391      l_query_str      inv_mwb_globals.very_long_str;
392      l_cursor_handle  NUMBER;
393      l_rows_affected  NUMBER;
394 
395      l_procedure_name VARCHAR2(30);
396   BEGIN
397 
398      l_procedure_name := 'EXECUTE_QUERY';
399      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Entered');
400 
401      l_query_str := build_query;
402 
403      inv_mwb_globals.g_last_query := l_query_str;
404 
405 /*     delete from rtest1;
406      insert into rtest1 values(l_query_str);
407      commit;
408 */
409 
410      l_cursor_handle := dbms_sql.open_cursor;
411      dbms_sql.parse(l_cursor_handle, l_query_str, dbms_sql.native);
412      bind_query(l_cursor_handle);
413 
414      l_rows_affected := dbms_sql.execute(l_cursor_handle);
415      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Rows created' ||l_rows_affected);
416      dbms_sql.close_cursor(l_cursor_handle);
417      post_query; -- Updates id to names.
418 
419   END execute_query;
420 
421   FUNCTION build_query RETURN VARCHAR2 IS
422      l_query_str inv_mwb_globals.very_long_str;
423      l_procedure_name VARCHAR2(30);
424      l_rev_control    NUMBER; -- Bug 6060233
425      l_lot_control    NUMBER; -- Bug 6060233
426      l_serial_control NUMBER; -- Bug 6060233
427      l_lot_controlled    NUMBER := 0; -- Onhand Material Status Support
428      l_serial_controlled    NUMBER := 0; -- Onhand Material Status Support
429      l_default_status_id    NUMBER; -- Onhand Material Status Support
430   BEGIN
431 
432      l_procedure_name := 'BUILD_QUERY';
433      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Entered');
434 
435      IF (( NVL(inv_mwb_globals.g_chk_onhand, 0) = 1 AND
436           NVL(inv_mwb_globals.g_chk_inbound, 0) = 0 AND
437           NVL(inv_mwb_globals.g_chk_receiving, 0) = 0 ) OR
438 	  NVL(inv_mwb_globals.g_tree_mat_loc_id, 0) = 1) OR
439 	  (inv_mwb_globals.g_chk_onhand = 0 AND
440            inv_mwb_globals.g_chk_receiving = 0 AND
441            inv_mwb_globals.g_chk_inbound = 0 AND
442            inv_mwb_globals.g_view_by = 'LPN') THEN
443 
444 
445           l_query_str := build_insert(g_onhand_select);
446           l_query_str := l_query_str || build_query(
447                                               g_onhand_select,
448                                               g_onhand_from,
449                                               g_onhand_where,
450                                               g_onhand_group
451                                               );
452 
453 
454 
455 
456          -- Bug 6060233
457             IF (inv_mwb_globals.g_status_id IS NOT NULL) THEN
458 
459               IF (inv_mwb_globals.g_view_by = 'LOCATION') THEN
460 
461                initialize_onhand_query;
462                l_query_str := l_query_str || ' UNION ';
463 
464                CASE inv_mwb_globals.g_tree_node_type
465 
466                   WHEN 'APPTREE_OBJECT_TRUNK' THEN
467 
468                       INV_MWB_LOCATION_TREE.make_common_query_onhand('MOQD');
469 
470                       IF inv_mwb_globals.g_detailed = 1 THEN
471                          inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.SUBINVENTORY_CODE).column_value :=
472                          'moqd.subinventory_code';
473                          inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOCATOR_ID).column_value :=
474                          'moqd.locator_id';
475                          inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.REVISION).column_value :=
476                          'moqd.revision';
477 
478                          inv_mwb_query_manager.add_group_clause('moqd.subinventory_code', 'ONHAND');
479                          inv_mwb_query_manager.add_group_clause('moqd.locator_id', 'ONHAND');
480                          inv_mwb_query_manager.add_group_clause('moqd.revision', 'ONHAND');
481                       END IF;
482 
483                       add_qf_where_onhand('ONHAND');
484 
485                   WHEN 'ORG' THEN
486 
487                       INV_MWB_LOCATION_TREE.make_common_query_onhand('MOQD');
488 
489                       inv_mwb_query_manager.add_where_clause('moqd.organization_id = :onh_tree_organization_id', 'ONHAND');
490                       inv_mwb_query_manager.add_bind_variable('onh_tree_organization_id', inv_mwb_globals.g_tree_organization_id);
491                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.SUBINVENTORY_CODE).column_value :=
492                       'moqd.subinventory_code';
493                       inv_mwb_query_manager.add_group_clause('moqd.subinventory_code', 'ONHAND');
494 
495                       add_qf_where_onhand('ONHAND');
496 
497                   WHEN 'MATLOC' THEN
498 
499                       INV_MWB_LOCATION_TREE.make_common_query_onhand('MOQD');
500                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.SUBINVENTORY_CODE).column_value :=
501                       'moqd.subinventory_code';
502                       inv_mwb_query_manager.add_group_clause('moqd.subinventory_code', 'ONHAND');
503                       inv_mwb_query_manager.add_where_clause('moqd.organization_id = :onh_tree_organization_id', 'ONHAND');
504                       inv_mwb_query_manager.add_bind_variable('onh_tree_organization_id', inv_mwb_globals.g_tree_organization_id);
505                       add_qf_where_onhand('ONHAND');
506 
507                   WHEN 'SUB' THEN
508 
509                       INV_MWB_LOCATION_TREE.make_common_query_onhand('MOQD');
510 
511                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.SUBINVENTORY_CODE).column_value :=
512                       'moqd.subinventory_code';
513                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOCATOR_ID).column_value :=
514                       'moqd.locator_id';
515 
516                       inv_mwb_query_manager.add_group_clause('moqd.subinventory_code', 'ONHAND');
517                       inv_mwb_query_manager.add_group_clause('moqd.locator_id', 'ONHAND');
518 
519                       inv_mwb_query_manager.add_where_clause('moqd.organization_id = :onh_tree_organization_id', 'ONHAND');
520                       inv_mwb_query_manager.add_where_clause('moqd.subinventory_code = :onh_tree_subinventory_code', 'ONHAND');
521 
522                       inv_mwb_query_manager.add_bind_variable('onh_tree_organization_id', inv_mwb_globals.g_tree_organization_id);
523                       inv_mwb_query_manager.add_bind_variable('onh_tree_subinventory_code', inv_mwb_globals.g_tree_subinventory_code);
524 
525                       add_qf_where_onhand('ONHAND');
526 
527                   WHEN 'LOC' THEN
528                       INV_MWB_LOCATION_TREE.make_common_query_onhand('MOQD');
529 
530                       inv_mwb_query_manager.add_where_clause('moqd.organization_id = :onh_tree_organization_id', 'ONHAND');
531                       inv_mwb_query_manager.add_where_clause('moqd.subinventory_code = :onh_tree_subinventory_code', 'ONHAND');
532                       inv_mwb_query_manager.add_where_clause('moqd.locator_id = :onh_tree_loc_id', 'ONHAND');
533 
534                       inv_mwb_query_manager.add_bind_variable('onh_tree_organization_id', inv_mwb_globals.g_tree_organization_id);
535                       inv_mwb_query_manager.add_bind_variable('onh_tree_subinventory_code', inv_mwb_globals.g_tree_subinventory_code);
536                       inv_mwb_query_manager.add_bind_variable('onh_tree_loc_id', inv_mwb_globals.g_tree_loc_id);
537 
538                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.SUBINVENTORY_CODE).column_value :=
539                       'moqd.subinventory_code';
540                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOCATOR_ID).column_value :=
541                       'moqd.locator_id';
542                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LPN_ID).column_value :=
543                       'moqd.lpn_id';
544 	              inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.CG_ID).column_value :=
545                       'moqd.cost_group_id';
546 
547                       inv_mwb_query_manager.add_group_clause('moqd.subinventory_code', 'ONHAND');
548                       inv_mwb_query_manager.add_group_clause('moqd.locator_id', 'ONHAND');
549                       inv_mwb_query_manager.add_group_clause('moqd.lpn_id', 'ONHAND');
550                       inv_mwb_query_manager.add_group_clause('moqd.cost_group_id', 'ONHAND');
551 
552                       add_qf_where_onhand('ONHAND');
553 
554                   WHEN 'ITEM' THEN
555                       SELECT revision_qty_control_code,
556                              lot_control_code,
557                              serial_number_control_code
558                       INTO   l_rev_control,
559                              l_lot_control,
560                              l_serial_control
561                       FROM mtl_system_items
562                       WHERE inventory_item_id = inv_mwb_globals.g_tree_item_id
563                       AND organization_id = inv_mwb_globals.g_tree_organization_id;
564 
565                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.CG_ID).column_value :=
566                       'moqd.cost_group_id';
567                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.SUBINVENTORY_CODE).column_value :=
568                       'moqd.subinventory_code';
569                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOCATOR_ID).column_value :=
570                       'moqd.locator_id';
571                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LPN_ID).column_value :=
572                       'moqd.lpn_id';
573 
574                       inv_mwb_query_manager.add_group_clause('moqd.subinventory_code', 'ONHAND');
575                       inv_mwb_query_manager.add_group_clause('moqd.locator_id', 'ONHAND');
576                       inv_mwb_query_manager.add_group_clause('moqd.lpn_id', 'ONHAND');
577                       inv_mwb_query_manager.add_group_clause('moqd.cost_group_id', 'ONHAND');
578 
579                       -- Onhand Material Status Support
580                       -- For serial controlled items, the status_id will be populated in post_query of IMVMWQMB.
581                       if (inv_cache.set_org_rec(inv_mwb_globals.g_tree_organization_id)) then
582                            l_default_status_id :=  inv_cache.org_rec.default_status_id;
583                       end if;
584 
585                       if inv_cache.set_item_rec(inv_mwb_globals.g_tree_organization_id, inv_mwb_globals.g_tree_item_id) then
586                         if (inv_cache.item_rec.serial_number_control_code in (2,5)) then
587                              l_serial_controlled := 1; -- Item is serial controlled
588                         end if;
589 
590                         if (inv_cache.item_rec.lot_control_code <> 1) then
591                              l_lot_controlled := 1; -- Item is lot controlled
592                         end if;
593                       end if;
594 
595                       if (l_default_status_id is not null and l_serial_controlled = 0 and l_lot_controlled = 0) then
596                         inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.STATUS_ID).column_value :=
597                         'moqd.status_id';
598                         inv_mwb_query_manager.add_group_clause('moqd.status_id', 'ONHAND');
599                       end if;
600                       -- End Onhand Material Status Support
601 
602                       IF inv_mwb_globals.g_tree_parent_lpn_id IS NOT NULL THEN
603                            inv_mwb_query_manager.add_where_clause(
604                                                    'moqd.lpn_id = :onh_tree_lpn_id' ,
605                                                    'ONHAND'
606                                                    );
607                       ELSE
608                            inv_mwb_query_manager.add_where_clause(
609                                                    'moqd.lpn_id IS NULL' ,
610                                                    'ONHAND'
611                                                    );
612                       END IF;
613 
614                       IF inv_mwb_globals.g_tree_loc_id IS NOT NULL THEN
615                            inv_mwb_query_manager.add_where_clause(
616                                                    'moqd.locator_id = :onh_tree_loc_id' ,
617                                                    'ONHAND'
618                                                    );
619                       ELSE
620                            inv_mwb_query_manager.add_where_clause(
621                                                    'moqd.locator_id IS NULL' ,
622                                                    'ONHAND'
623                                                    );
624                       END IF;
625 
626                       IF inv_mwb_globals.g_tree_subinventory_code IS NOT NULL THEN
627                            inv_mwb_query_manager.add_where_clause(
628                                                    'moqd.subinventory_code = :onh_tree_sub_code' ,
629                                                    'ONHAND'
630                                                    );
631                       END IF;
632 
633                       IF inv_mwb_globals.g_tree_parent_lpn_id IS NOT NULL THEN
634                            inv_mwb_query_manager.add_bind_variable(
635                                                 'onh_tree_lpn_id',
636                                                 inv_mwb_globals.g_tree_parent_lpn_id
637                                                 );
638                       END IF;
639 
640                       IF inv_mwb_globals.g_tree_loc_id IS NOT NULL THEN
641                            inv_mwb_query_manager.add_bind_variable(
642                                                 'onh_tree_loc_id',
643                                                 inv_mwb_globals.g_tree_loc_id
644                                                 );
645                       END IF;
646 
647                       IF inv_mwb_globals.g_tree_subinventory_code IS NOT NULL THEN
648                            inv_mwb_query_manager.add_bind_variable(
649                                                 'onh_tree_sub_code',
650                                                 inv_mwb_globals.g_tree_subinventory_code
651                                                 );
652                       END IF;
653 
654                       INV_MWB_LOCATION_TREE.make_common_query_onhand('MOQD');
655                       inv_mwb_query_manager.add_where_clause(
656                                        'moqd.inventory_item_id = :onh_tree_inventory_item_id' ,
657                                        'ONHAND'
658                                        );
659                       inv_mwb_query_manager.add_where_clause(
660                                        'moqd.organization_id = :onh_tree_organization_id' ,
661                                        'ONHAND'
662                                        );
663 
664                       IF l_rev_control = 2 THEN
665                          inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.revision).column_value :=
666                          'moqd.revision';
667                          inv_mwb_query_manager.add_group_clause('moqd.revision', 'ONHAND');
668                       END IF;
669 
670                       IF NVL(l_rev_control, 1) = 1  AND l_lot_control = 2 THEN
671                          inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOT).column_value :=
672                          'moqd.lot_number';
673                          inv_mwb_query_manager.add_group_clause('moqd.lot_number', 'ONHAND');
674                       END IF;
675                       add_qf_where_onhand('ONHAND');
676                       inv_mwb_query_manager.add_bind_variable(
677                                           'onh_tree_organization_id',
678                                           inv_mwb_globals.g_tree_organization_id
679                                           );
680                       inv_mwb_query_manager.add_bind_variable(
681                                           'onh_tree_inventory_item_id',
682                                           inv_mwb_globals.g_tree_item_id
683                                           );
684 
685                   WHEN 'REV' THEN
686 
687                       INV_MWB_LOCATION_TREE.make_common_query_onhand('MOQD');
688                       add_qf_where_onhand('ONHAND');
689 
690                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.SUBINVENTORY_CODE).column_value :=
691                       'moqd.subinventory_code';
692                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOCATOR_ID).column_value :=
693                       'moqd.locator_id';
694                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOT).column_value :=
695                       'moqd.lot_number';
696                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.CG_ID).column_value :=
697                       'moqd.cost_group_id';
698                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LPN_ID).column_value :=
699                       'moqd.lpn_id';
700                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.REVISION).column_value :=
701                       'moqd.revision';
702 
703                       inv_mwb_query_manager.add_group_clause('moqd.subinventory_code', 'ONHAND');
704                       inv_mwb_query_manager.add_group_clause('moqd.locator_id', 'ONHAND');
705                       inv_mwb_query_manager.add_group_clause('moqd.lot_number', 'ONHAND');
706                       inv_mwb_query_manager.add_group_clause('moqd.cost_group_id', 'ONHAND');
707                       inv_mwb_query_manager.add_group_clause('moqd.lpn_id', 'ONHAND');
708                       inv_mwb_query_manager.add_group_clause('moqd.revision', 'ONHAND');
709 
710                       -- Onhand Material Status Support
711                       -- For serial controlled items, the status_id will be populated in post_query of IMVMWQMB.
712                       if (inv_cache.set_org_rec(inv_mwb_globals.g_tree_organization_id)) then
713                            l_default_status_id :=  inv_cache.org_rec.default_status_id;
714                       end if;
715 
716                       if inv_cache.set_item_rec(inv_mwb_globals.g_tree_organization_id, inv_mwb_globals.g_tree_item_id) then
717                         if (inv_cache.item_rec.serial_number_control_code in (2,5)) then
718                              l_serial_controlled := 1; -- Item is serial controlled
719                         end if;
720 
721                         if (inv_cache.item_rec.lot_control_code <> 1) then
722                              l_lot_controlled := 1; -- Item is lot controlled
723                         end if;
724                       end if;
725 
726                       if (l_default_status_id is not null and l_serial_controlled = 0 and l_lot_controlled = 0) then
727                         inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.STATUS_ID).column_value :=
728                         'moqd.status_id';
729                         inv_mwb_query_manager.add_group_clause('moqd.status_id', 'ONHAND');
730                       end if;
731                       -- End Onhand Material Status Support
732 
733                       IF inv_mwb_globals.g_tree_parent_lpn_id IS NOT NULL THEN
734                         inv_mwb_query_manager.add_where_clause('moqd.lpn_id = :onh_tree_plpn_id', 'ONHAND');
735                         inv_mwb_query_manager.add_bind_variable('onh_tree_plpn_id', inv_mwb_globals.g_tree_parent_lpn_id);
736                       ELSE
737                         inv_mwb_query_manager.add_where_clause('moqd.lpn_id IS NULL', 'ONHAND');
738                       END IF;
739 
740                       IF inv_mwb_globals.g_tree_loc_id IS NOT NULL THEN
741                         inv_mwb_query_manager.add_where_clause('moqd.locator_id = :onh_tree_loc_id', 'ONHAND');
742                         inv_mwb_query_manager.add_bind_variable('onh_tree_loc_id', inv_mwb_globals.g_tree_loc_id);
743                       ELSE
744                         inv_mwb_query_manager.add_where_clause('moqd.locator_id IS NULL', 'ONHAND');
745                       END IF;
746 
747                       inv_mwb_query_manager.add_where_clause('moqd.organization_id = :onh_tree_organization_id' ,'ONHAND');
748                       inv_mwb_query_manager.add_where_clause('moqd.subinventory_code = :onh_tree_subinventory_code', 'ONHAND');
749                       inv_mwb_query_manager.add_where_clause('moqd.inventory_item_id = :onh_tree_item_id' ,'ONHAND');
750                       inv_mwb_query_manager.add_where_clause('moqd.revision = :onh_tree_revision' ,'ONHAND');
751 
752                       inv_mwb_query_manager.add_bind_variable('onh_tree_organization_id', inv_mwb_globals.g_tree_organization_id);
753                       inv_mwb_query_manager.add_bind_variable('onh_tree_subinventory_code', inv_mwb_globals.g_tree_subinventory_code);
754                       inv_mwb_query_manager.add_bind_variable('onh_tree_item_id', inv_mwb_globals.g_tree_item_id);
755                       inv_mwb_query_manager.add_bind_variable('onh_tree_revision', inv_mwb_globals.g_tree_rev);
756 
757 
758                   WHEN 'LPN' THEN
759 
760                       INV_MWB_LOCATION_TREE.make_common_query_onhand('MOQD');
761                       inv_mwb_query_manager.add_where_clause('moqd.organization_id = :onh_tree_organization_id', 'ONHAND');
762                       inv_mwb_query_manager.add_where_clause('moqd.subinventory_code = :onh_tree_subinventory_code', 'ONHAND');
763                       inv_mwb_query_manager.add_where_clause('moqd.locator_id = :onh_tree_loc_id', 'ONHAND');
764                       inv_mwb_query_manager.add_where_clause('moqd.lpn_id = :onh_tree_plpn_id', 'ONHAND');
765 
766                       inv_mwb_query_manager.add_bind_variable('onh_tree_organization_id', inv_mwb_globals.g_tree_organization_id);
767                       inv_mwb_query_manager.add_bind_variable('onh_tree_subinventory_code', inv_mwb_globals.g_tree_subinventory_code);
768                       inv_mwb_query_manager.add_bind_variable('onh_tree_loc_id', inv_mwb_globals.g_tree_loc_id);
769                       inv_mwb_query_manager.add_bind_variable('onh_tree_plpn_id', inv_mwb_globals.g_tree_parent_lpn_id);
770                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.SUBINVENTORY_CODE).column_value :=
771                       'moqd.subinventory_code';
772                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOCATOR_ID).column_value :=
773                       'moqd.locator_id';
774                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LPN_ID).column_value :=
775                       'moqd.lpn_id';
776                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.CG_ID).column_value :=
777                       'moqd.cost_group_id';
778 
779                       inv_mwb_query_manager.add_group_clause('moqd.subinventory_code', 'ONHAND');
780                       inv_mwb_query_manager.add_group_clause('moqd.locator_id', 'ONHAND');
781                       inv_mwb_query_manager.add_group_clause('moqd.lpn_id', 'ONHAND');
782                       inv_mwb_query_manager.add_group_clause('moqd.cost_group_id', 'ONHAND');
783 
784                       add_qf_where_onhand('ONHAND');
785 
786                   WHEN 'LOT' THEN
787 
788                       INV_MWB_LOCATION_TREE.make_common_query_onhand('MOQD');
789                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.REVISION).column_value :=
790                       'moqd.revision';
791                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.SUBINVENTORY_CODE).column_value :=
792                       'moqd.subinventory_code';
793                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOCATOR_ID).column_value :=
794                       'moqd.locator_id';
795                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LPN_ID).column_value :=
796                       'moqd.lpn_id';
797                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.CG_ID).column_value :=
798                       'moqd.cost_group_id';
799                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOT).column_value :=
800                       'moqd.lot_number';
801 
802                       inv_mwb_query_manager.add_group_clause('moqd.revision', 'ONHAND');
803                       inv_mwb_query_manager.add_group_clause('moqd.subinventory_code', 'ONHAND');
804                       inv_mwb_query_manager.add_group_clause('moqd.locator_id', 'ONHAND');
805                       inv_mwb_query_manager.add_group_clause('moqd.lpn_id', 'ONHAND');
806                       inv_mwb_query_manager.add_group_clause('moqd.cost_group_id', 'ONHAND');
807                       inv_mwb_query_manager.add_group_clause('moqd.lot_number', 'ONHAND');
808 
809                       -- Onhand Material Status Support
810                       -- For serial controlled items, the status_id will be populated in post_query of IMVMWQMB.
811                       if (inv_cache.set_org_rec(inv_mwb_globals.g_tree_organization_id)) then
812                            l_default_status_id :=  inv_cache.org_rec.default_status_id;
813                       end if;
814 
815                       if inv_cache.set_item_rec(inv_mwb_globals.g_tree_organization_id, inv_mwb_globals.g_tree_item_id) then
816                         if (inv_cache.item_rec.serial_number_control_code in (2,5)) then
817                              l_serial_controlled := 1; -- Item is serial controlled
818                         end if;
819                       end if;
820 
821                       if (l_default_status_id is not null and l_serial_controlled = 0) then
822                         inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.STATUS_ID).column_value :=
823                         'moqd.status_id';
824                         inv_mwb_query_manager.add_group_clause('moqd.status_id', 'ONHAND');
825                       end if;
826                       -- End Onhand Material Status Support
827 
828                       IF inv_mwb_globals.g_tree_rev IS NOT NULL THEN
829                         inv_mwb_query_manager.add_where_clause('moqd.revision = :onh_tree_revision' ,'ONHAND');
830                         inv_mwb_query_manager.add_bind_variable('onh_tree_revision', inv_mwb_globals.g_tree_rev);
831                       END IF;
832 
833                       IF inv_mwb_globals.g_tree_parent_lpn_id IS NOT NULL THEN
834                         inv_mwb_query_manager.add_where_clause('moqd.lpn_id = :onh_tree_plpn_id', 'ONHAND');
835                         inv_mwb_query_manager.add_bind_variable('onh_tree_plpn_id', inv_mwb_globals.g_tree_parent_lpn_id);
836                       ELSE
837                         inv_mwb_query_manager.add_where_clause('moqd.lpn_id IS NULL', 'ONHAND');
838 	              END IF;
839 
840                       IF inv_mwb_globals.g_tree_loc_id IS NOT NULL THEN
841                         inv_mwb_query_manager.add_where_clause('moqd.locator_id = :onh_tree_loc_id', 'ONHAND');
842                         inv_mwb_query_manager.add_bind_variable('onh_tree_loc_id', inv_mwb_globals.g_tree_loc_id);
843                       ELSE
844                         inv_mwb_query_manager.add_where_clause('moqd.locator_id IS NULL', 'ONHAND');
845 	              END IF;
846 
847                       inv_mwb_query_manager.add_where_clause('moqd.organization_id = :onh_tree_organization_id' ,'ONHAND');
848                       inv_mwb_query_manager.add_where_clause('moqd.subinventory_code = :onh_tree_subinventory_code', 'ONHAND');
849                       inv_mwb_query_manager.add_where_clause('moqd.inventory_item_id = :onh_tree_inventory_item_id' ,'ONHAND');
850                       inv_mwb_query_manager.add_where_clause('moqd.lot_number = :onh_tree_lot_num' ,'ONHAND');
851 
852                       inv_mwb_query_manager.add_bind_variable('onh_tree_organization_id', inv_mwb_globals.g_tree_organization_id);
853                       inv_mwb_query_manager.add_bind_variable('onh_tree_subinventory_code', inv_mwb_globals.g_tree_subinventory_code);
854                       inv_mwb_query_manager.add_bind_variable('onh_tree_inventory_item_id', inv_mwb_globals.g_tree_item_id);
855                       inv_mwb_query_manager.add_bind_variable('onh_tree_lot_num', inv_mwb_globals.g_tree_node_value);
856 
857                       add_qf_where_onhand('ONHAND');
858 
859                   WHEN 'SERIAL' THEN
860                       -- Dummy code
861                       INV_MWB_LOCATION_TREE.make_common_query_onhand('MOQD');
862                       inv_mwb_query_manager.add_where_clause('moqd.inventory_item_id = :onh_tree_inventory_item_id' ,'ONHAND'); --Bug 7611434 click tree serial node will not show all items/qty
863                       add_qf_where_onhand('ONHAND');
864                END CASE;
865 
866                l_query_str := l_query_str || build_query(
867                                               g_onhand_select,
868                                               g_onhand_from,
869                                               g_onhand_where,
870                                               g_onhand_group
871                                               );
872 
873             ELSIF (inv_mwb_globals.g_view_by = 'ITEM') THEN
874 
875                initialize_onhand_query;
876                l_query_str := l_query_str || ' UNION ';
877 
878                CASE inv_mwb_globals.g_tree_node_type
879 
880                   WHEN 'APPTREE_OBJECT_TRUNK' THEN
881 
882                       INV_MWB_ITEM_TREE.make_common_queries('MOQD');
883                       add_qf_where_onhand('ONHAND');
884 
885                   WHEN 'ORG' THEN
886 
887                       INV_MWB_ITEM_TREE.make_common_queries('MOQD');
888 
889                       SELECT revision_qty_control_code,
890                              lot_control_code,
891                              serial_number_control_code
892                       INTO   l_rev_control,
893                              l_lot_control,
894                              l_serial_control
895                       FROM   mtl_system_items
896                       WHERE  inventory_item_id = inv_mwb_globals.g_tree_item_id
897                       AND    organization_id = inv_mwb_globals.g_tree_organization_id;
898 
899 		      IF inv_mwb_globals.g_chk_onhand = 1 THEN
900 		         inv_mwb_query_manager.add_where_clause(
901                                        'moqd.inventory_item_id = :onh_tree_inventory_item_id' ,
902                                        'ONHAND'
903                                        );
904                          inv_mwb_query_manager.add_where_clause(
905                                        'moqd.organization_id = :onh_tree_organization_id' ,
906                                        'ONHAND'
907                                        );
908                          IF l_rev_control = 2 THEN
909                               inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.revision).column_value :=
910                               'moqd.revision';
911                               inv_mwb_query_manager.add_group_clause('moqd.revision', 'ONHAND');
912                          END IF;
913                          IF NVL(l_rev_control, 1) = 1  AND l_lot_control = 2 THEN
914                               inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOT).column_value :=
915                               'moqd.lot_number';
916                               inv_mwb_query_manager.add_group_clause('moqd.lot_number', 'ONHAND');
917                          END IF;
918 
919 			 inv_mwb_query_manager.add_bind_variable(
920                                  'onh_tree_organization_id',
921                                  inv_mwb_globals.g_tree_organization_id
922                                  );
923                          inv_mwb_query_manager.add_bind_variable(
924                                  'onh_tree_inventory_item_id',
925                                  inv_mwb_globals.g_tree_item_id
926                                  );
927                       END IF; -- onhand check
928 
929                       add_qf_where_onhand('ONHAND');
930 
931                   WHEN 'ITEM' THEN
932 
933                       INV_MWB_ITEM_TREE.make_common_queries('MOQD');
934 		      inv_mwb_query_manager.add_where_clause(
935                                    'moqd.inventory_item_id = :onh_tree_inventory_item_id' ,
936                                    'ONHAND'
937                                    );
938                       inv_mwb_query_manager.add_bind_variable(
939                                 'onh_tree_inventory_item_id',
940                                 inv_mwb_globals.g_tree_item_id
941                                 );
942                       add_qf_where_onhand('ONHAND');
943 
944                   WHEN 'REV' THEN
945 
946 		      SELECT lot_control_code,
947                              serial_number_control_code
948                       INTO   l_lot_control,
949                              l_serial_control
950                       FROM   mtl_system_items
951                       WHERE  inventory_item_id = inv_mwb_globals.g_tree_item_id
952                       AND    organization_id = inv_mwb_globals.g_tree_organization_id;
953 
954                       INV_MWB_ITEM_TREE.make_common_queries('MOQD');
955 
956 		      inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.revision).column_value :=
957                       'moqd.revision';
958                       inv_mwb_query_manager.add_group_clause('moqd.revision', 'ONHAND');
959                       inv_mwb_query_manager.add_where_clause('moqd.inventory_item_id = :onh_tree_inventory_item_id' ,'ONHAND');
960                       inv_mwb_query_manager.add_where_clause('moqd.organization_id = :onh_tree_organization_id' ,'ONHAND');
961                       inv_mwb_query_manager.add_where_clause('moqd.revision = :onh_tree_revision' ,'ONHAND');
962                       IF l_lot_control = 2 THEN
963                          inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOT).column_value :=
964                                        'moqd.lot_number';
965                          inv_mwb_query_manager.add_group_clause('moqd.lot_number', 'ONHAND');
966                       END IF;
967 
968 		      inv_mwb_query_manager.add_bind_variable(
969                                  'onh_tree_organization_id',
970                                  inv_mwb_globals.g_tree_organization_id
971                                  );
972                       inv_mwb_query_manager.add_bind_variable(
973                                  'onh_tree_inventory_item_id',
974                                  inv_mwb_globals.g_tree_item_id
975                                  );
976                       inv_mwb_query_manager.add_bind_variable(
977                                  'onh_tree_revision',
978                                  inv_mwb_globals.g_tree_rev
979                                  );
980                       add_qf_where_onhand('ONHAND');
981 
982 
983                   WHEN 'LOT' THEN
984 
985                       SELECT revision_qty_control_code,
986                              serial_number_control_code
987                       INTO   l_rev_control,
988                              l_serial_control
989                       FROM   mtl_system_items
990                       WHERE  organization_id = inv_mwb_globals.g_tree_organization_id
991                       AND    inventory_item_id = inv_mwb_globals.g_tree_item_id;
992 
993                       INV_MWB_ITEM_TREE.make_common_queries('MOQD');
994 
995                       IF l_rev_control = 2 THEN
996                            inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.revision).column_value :=
997                                           'moqd.revision';
998                            inv_mwb_query_manager.add_where_clause('moqd.revision = :onh_tree_revision' ,'ONHAND');
999                            inv_mwb_query_manager.add_group_clause('moqd.revision','ONHAND');
1000                       END IF;
1001                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOT).column_value :=
1002                       'moqd.lot_number';
1003                       inv_mwb_query_manager.add_group_clause('moqd.lot_number','ONHAND');
1004 
1005                       inv_mwb_query_manager.add_where_clause('moqd.inventory_item_id = :onh_tree_inventory_item_id' ,'ONHAND');
1006                       inv_mwb_query_manager.add_where_clause('moqd.organization_id = :onh_tree_organization_id' ,'ONHAND');
1007                       inv_mwb_query_manager.add_where_clause('moqd.lot_number = :onh_tree_lot_number' ,'ONHAND');
1008 
1009 		      inv_mwb_query_manager.add_bind_variable('onh_tree_organization_id', inv_mwb_globals.g_tree_organization_id);
1010                       inv_mwb_query_manager.add_bind_variable('onh_tree_inventory_item_id', inv_mwb_globals.g_tree_item_id);
1011                       inv_mwb_query_manager.add_bind_variable('onh_tree_lot_number', inv_mwb_globals.g_tree_lot_number);
1012                       IF l_rev_control = 2 THEN
1013                          inv_mwb_query_manager.add_bind_variable('onh_tree_revision', inv_mwb_globals.g_tree_rev);
1014                       END IF;
1015 
1016                       add_qf_where_onhand('ONHAND');
1017                   WHEN 'SERIAL' THEN
1018                       -- Dummy code
1019                       INV_MWB_ITEM_TREE.make_common_queries('MOQD');
1020                       add_qf_where_onhand('ONHAND');
1021                END CASE;
1022 
1023                l_query_str := l_query_str || build_query(
1024                                               g_onhand_select,
1025                                               g_onhand_from,
1026                                               g_onhand_where,
1027                                               g_onhand_group
1028                                               );
1029 
1030 
1031 
1032 
1033             ELSIF (inv_mwb_globals.g_view_by = 'COST_GROUP') THEN
1034 
1035                initialize_onhand_query;
1036                l_query_str := l_query_str || ' UNION ';
1037 
1038                CASE inv_mwb_globals.g_tree_node_type
1039 
1040                   WHEN 'APPTREE_OBJECT_TRUNK' THEN
1041 
1042                       INV_MWB_COST_GROUP_TREE.make_common_queries('MOQD');
1043                       add_qf_where_onhand('ONHAND');
1044 
1045 		  WHEN 'COST_GROUP' THEN
1046 
1047                       INV_MWB_COST_GROUP_TREE.make_common_queries('MOQD');
1048 
1049 		      inv_mwb_query_manager.add_where_clause('moqd.cost_group_id = :onh_tree_cost_group_id' ,'ONHAND');
1050                       inv_mwb_query_manager.add_bind_variable('onh_tree_cost_group_id', inv_mwb_globals.g_tree_cg_id);
1051 
1052                       add_qf_where_onhand('ONHAND');
1053 
1054                   WHEN 'ORG' THEN
1055 
1056                       INV_MWB_COST_GROUP_TREE.make_common_queries('MOQD');
1057 
1058                       inv_mwb_query_manager.add_where_clause('moqd.cost_group_id = :onh_tree_cost_group_id' ,'ONHAND');
1059                       inv_mwb_query_manager.add_where_clause('moqd.organization_id = :onh_tree_organization_id' ,'ONHAND');
1060                       inv_mwb_query_manager.add_bind_variable('onh_tree_cost_group_id', inv_mwb_globals.g_tree_cg_id);
1061                       inv_mwb_query_manager.add_bind_variable('onh_tree_organization_id', inv_mwb_globals.g_tree_organization_id);
1062 
1063                       add_qf_where_onhand('ONHAND');
1064 
1065                   WHEN 'ITEM' THEN
1066 
1067                       INV_MWB_COST_GROUP_TREE.make_common_queries('MOQD');
1068 
1069                       inv_mwb_query_manager.add_where_clause('moqd.cost_group_id = :onh_tree_cost_group_id' ,'ONHAND');
1070                       inv_mwb_query_manager.add_where_clause('moqd.organization_id = :onh_tree_organization_id' ,'ONHAND');
1071                       inv_mwb_query_manager.add_where_clause('moqd.inventory_item_id = :onh_tree_inventory_item_id' ,'ONHAND');
1072                       inv_mwb_query_manager.add_bind_variable('onh_tree_cost_group_id', inv_mwb_globals.g_tree_cg_id);
1073                       inv_mwb_query_manager.add_bind_variable('onh_tree_organization_id', inv_mwb_globals.g_tree_organization_id);
1074                       inv_mwb_query_manager.add_bind_variable('onh_tree_inventory_item_id', inv_mwb_globals.g_tree_item_id);
1075 
1076                       add_qf_where_onhand('ONHAND');
1077 
1078                   WHEN 'SERIAL' THEN
1079                       -- Dummy code
1080                       INV_MWB_COST_GROUP_TREE.make_common_queries('MOQD');
1081                       add_qf_where_onhand('ONHAND');
1082                END CASE;
1083 
1084                l_query_str := l_query_str || build_query(
1085                                               g_onhand_select,
1086                                               g_onhand_from,
1087                                               g_onhand_where,
1088                                               g_onhand_group
1089                                               );
1090 
1091 
1092 
1093 
1094             ELSIF (inv_mwb_globals.g_view_by = 'LOT') THEN
1095 
1096                initialize_onhand_query;
1097                l_query_str := l_query_str || ' UNION ';
1098 
1099                CASE inv_mwb_globals.g_tree_node_type
1100 
1101                   WHEN 'APPTREE_OBJECT_TRUNK' THEN
1102 
1103                       INV_MWB_LOT_TREE.make_common_queries('MOQD');
1104                       add_qf_where_onhand('ONHAND');
1105 
1106                   WHEN 'ORG' THEN
1107 
1108                       INV_MWB_LOT_TREE.make_common_queries('MOQD');
1109 
1110                       inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOT).column_value :=
1111                       'moqd.lot_number';
1112                       inv_mwb_query_manager.add_where_clause(
1113                                  'moqd.organization_id = :onh_tree_organization_id' ,
1114                                  'ONHAND'
1115                                  );
1116                       inv_mwb_query_manager.add_group_clause(
1117                                  'moqd.lot_number' ,
1118                                  'ONHAND'
1119                                  );
1120 		      inv_mwb_query_manager.add_bind_variable(
1121                               'onh_tree_organization_id',
1122                               inv_mwb_globals.g_tree_organization_id
1123                               );
1124 
1125                       add_qf_where_onhand('ONHAND');
1126 
1127                   WHEN 'ITEM' THEN
1128 
1129 		      SELECT revision_qty_control_code,
1130                              serial_number_control_code
1131                       INTO   l_rev_control,
1132                              l_serial_control
1133                       FROM   mtl_system_items
1134                       WHERE  organization_id = inv_mwb_globals.g_tree_organization_id
1135                       AND    inventory_item_id = inv_mwb_globals.g_tree_item_id;
1136 
1137                       INV_MWB_LOT_TREE.make_common_queries('MOQD');
1138 
1139 		      inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOT).column_value :=
1140                       'moqd.lot_number';
1141                       IF l_rev_control = 2 THEN
1142                          inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.revision).column_value :=
1143                          'moqd.revision';
1144                          inv_mwb_query_manager.add_group_clause(
1145                                        'moqd.revision' ,
1146                                        'ONHAND'
1147                                        );
1148                       END IF;
1149                       inv_mwb_query_manager.add_where_clause(
1150                                     'moqd.organization_id = :onh_tree_organization_id' ,
1151                                     'ONHAND'
1152                                     );
1153                       inv_mwb_query_manager.add_where_clause(
1154                                     'moqd.lot_number = :onh_tree_lot_number' ,
1155                                     'ONHAND'
1156                                     );
1157                       inv_mwb_query_manager.add_where_clause(
1158                                     'moqd.inventory_item_id = :onh_tree_inventory_item_id' ,
1159                                     'ONHAND'
1160                                     );
1161                       inv_mwb_query_manager.add_group_clause(
1162                                     'moqd.lot_number' ,
1163                                     'ONHAND'
1164                                     );
1165 		      inv_mwb_query_manager.add_bind_variable(
1166                               'onh_tree_organization_id',
1167                               inv_mwb_globals.g_tree_organization_id
1168                               );
1169                       inv_mwb_query_manager.add_bind_variable(
1170                               'onh_tree_lot_number',
1171                               inv_mwb_globals.g_tree_lot_number
1172                               );
1173                       inv_mwb_query_manager.add_bind_variable(
1174                               'onh_tree_inventory_item_id',
1175                               inv_mwb_globals.g_tree_item_id
1176                               );
1177 
1178                       add_qf_where_onhand('ONHAND');
1179 
1180                   WHEN 'REV' THEN
1181 
1182                       null;
1183 
1184                   WHEN 'LOT' THEN
1185 
1186                       INV_MWB_LOT_TREE.make_common_queries('MOQD');
1187 
1188 		      inv_mwb_query_manager.g_onhand_select(inv_mwb_query_manager.LOT).column_value :=
1189                       'moqd.lot_number';
1190                       inv_mwb_query_manager.add_where_clause(
1191                                  'moqd.organization_id = :onh_tree_organization_id' ,
1192                                  'ONHAND'
1193                                  );
1194                       inv_mwb_query_manager.add_where_clause(
1195                                  'moqd.lot_number = :onh_tree_lot_number' ,
1196                                  'ONHAND'
1197                                  );
1198                       inv_mwb_query_manager.add_group_clause(
1199                                  'moqd.lot_number' ,
1200                                  'ONHAND'
1201                                  );
1202 		      inv_mwb_query_manager.add_bind_variable(
1203                               'onh_tree_organization_id',
1204                               inv_mwb_globals.g_tree_organization_id
1205                               );
1206                       inv_mwb_query_manager.add_bind_variable(
1207                               'onh_tree_lot_number',
1208                               inv_mwb_globals.g_tree_lot_number
1209                               );
1210 
1211                       add_qf_where_onhand('ONHAND');
1212 
1213                   WHEN 'SERIAL' THEN
1214                       -- Dummy code
1215                       INV_MWB_LOT_TREE.make_common_queries('MOQD');
1216                       add_qf_where_onhand('ONHAND');
1217                END CASE;
1218 
1219                l_query_str := l_query_str || build_query(
1220                                               g_onhand_select,
1221                                               g_onhand_from,
1222                                               g_onhand_where,
1223                                               g_onhand_group
1224                                               );
1225 
1226 
1227                END IF;
1228             END IF; -- Status ID not null
1229             --End bug 6060233
1230 
1231 
1232 
1233             IF inv_mwb_globals.g_is_nested_lpn = 'YES'
1234             AND inv_mwb_globals.g_tree_node_type = 'LPN' THEN
1235 
1236               l_query_str := l_query_str || ' UNION ';
1237               l_query_str := l_query_str || build_query(
1238                                                  g_onhand_1_select,
1239                                                  g_onhand_1_from,
1240                                                  g_onhand_1_where,
1241                                                  g_onhand_1_group
1242                                                  );
1243             END IF;
1244 
1245 
1246      ELSIF ( NVL(inv_mwb_globals.g_chk_onhand, 0) = 0 AND
1247              NVL(inv_mwb_globals.g_chk_inbound, 0) = 1 AND
1248              NVL(inv_mwb_globals.g_chk_receiving, 0) = 0 ) OR
1249    	     NVL(inv_mwb_globals.g_tree_mat_loc_id, 0) = 3 THEN
1250 
1251              l_query_str := build_insert(g_inbound_select);
1252              l_query_str := l_query_str || build_query(
1253                                                  g_inbound_select,
1254                                                  g_inbound_from,
1255                                                  g_inbound_where,
1256                                                  g_inbound_group
1257                                                  );
1258 
1259             IF inv_mwb_globals.g_is_nested_lpn = 'YES'
1260             AND inv_mwb_globals.g_tree_node_type = 'LPN' THEN
1261 
1262               l_query_str := l_query_str || ' UNION ';
1263               l_query_str := l_query_str || build_query(
1264                                                  g_inbound_1_select,
1265                                                  g_inbound_1_from,
1266                                                  g_inbound_1_where,
1267                                                  g_inbound_1_group
1268                                                  );
1269             END IF;
1270 
1271 
1272      ELSIF ( NVL(inv_mwb_globals.g_chk_onhand, 0) = 0 AND
1273              NVL(inv_mwb_globals.g_chk_inbound, 0) = 0 AND
1274              NVL(inv_mwb_globals.g_chk_receiving, 0) = 1 ) OR
1275              NVL(inv_mwb_globals.g_tree_mat_loc_id, 0) = 2 THEN
1276 
1277              l_query_str := build_insert(g_receiving_select);
1278              l_query_str := l_query_str || build_query(
1279                                                  g_receiving_select,
1280                                                  g_receiving_from,
1281                                                  g_receiving_where,
1282                                                  g_receiving_group
1283                                                  );
1284 
1285             inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, inv_mwb_globals.g_is_nested_lpn || '  --  '||inv_mwb_globals.g_tree_node_type);
1286             IF inv_mwb_globals.g_is_nested_lpn = 'YES'
1287             AND inv_mwb_globals.g_tree_node_type = 'LPN' THEN
1288 
1289               l_query_str := l_query_str || ' UNION ';
1290               l_query_str := l_query_str || build_query(
1291                                                  g_receiving_1_select,
1292                                                  g_receiving_1_from,
1293                                                  g_receiving_1_where,
1294                                                  g_receiving_1_group
1295                                                  );
1296             END IF;
1297 
1298 
1299      ELSIF inv_mwb_globals.g_tree_mat_loc_id IS NULL THEN
1300 
1301         l_query_str := build_insert(g_union_select);
1302         l_query_str := l_query_str || build_query(
1303                                             g_union_select,
1304                                             g_null_clause,
1305                                             g_null_clause,
1306                                             g_null_clause
1307                                             );
1308         l_query_str := l_query_str||' FROM ( ';
1309 
1310         IF NVL(inv_mwb_globals.g_chk_onhand, 0) = 1 THEN
1311 
1312            l_query_str := l_query_str || build_query(
1313                                                g_onhand_select,
1314                                                g_onhand_from,
1315                                                g_onhand_where,
1316                                                g_onhand_group
1317                                               );
1318            l_query_str := l_query_str ||' UNION ';
1319 
1320         END IF;
1321 
1322         IF NVL(inv_mwb_globals.g_chk_inbound, 0) = 1 THEN
1323 
1324            l_query_str := l_query_str || build_query(
1325                                                g_inbound_select,
1326                                                g_inbound_from,
1327                                                g_inbound_where,
1328                                                g_inbound_group
1329                                               );
1330 
1331            IF NVL(inv_mwb_globals.g_chk_receiving, 0) = 1 THEN
1332               l_query_str := l_query_str ||' UNION ';
1333            END IF;
1334 
1335         END IF;
1336 
1337         IF NVL(inv_mwb_globals.g_chk_receiving, 0) = 1 THEN
1338 
1339            l_query_str := l_query_str || build_query(
1340                                                g_receiving_select,
1341                                                g_receiving_from,
1342                                                g_receiving_where,
1343                                                g_receiving_group
1344                                               );
1345 
1346         END IF;
1347 
1348         l_query_str := l_query_str||' ) ';
1349         l_query_str := l_query_str||build_query(
1350                                           g_null_select,
1351                                           g_null_clause,
1352                                           g_null_clause,
1353                                           g_union_group
1354                                           );
1355 
1356      END IF;
1357      RETURN l_query_str;
1358   END build_query;
1359 
1360   PROCEDURE post_query IS
1361 
1362 
1363      CURSOR C1 IS
1364      SELECT ROWID
1365            ,MATURITY_DATE
1366            ,HOLD_DATE
1367            ,SUPPLIER_LOT
1368            ,PARENT_LOT
1369            ,DOCUMENT_TYPE
1370            ,DOCUMENT_TYPE_ID
1371            ,DOCUMENT_NUMBER
1372            ,DOCUMENT_LINE_NUMBER
1373            ,RELEASE_NUMBER
1374            ,PO_RELEASE_ID
1375            ,RELEASE_LINE_NUMBER
1376            ,SHIPMENT_NUMBER
1377            ,SHIPMENT_HEADER_ID_INTERORG
1378            ,ASN
1379            ,SHIPMENT_HEADER_ID_ASN
1380            ,TRADING_PARTNER
1381            ,VENDOR_ID
1382            ,TRADING_PARTNER_SITE
1383            ,VENDOR_SITE_ID
1384            ,FROM_ORG
1385            ,FROM_ORG_ID
1386            ,TO_ORG
1387            ,TO_ORG_ID
1388            ,EXPECTED_RECEIPT_DATE
1389            ,SHIPPED_DATE
1390            ,OWNING_ORG
1391            ,OWNING_ORG_ID
1392            ,REQ_HEADER_ID
1393            ,OE_HEADER_ID
1394            ,PO_HEADER_ID
1395            ,ORIGINATION_DATE
1396            ,ACTION_CODE
1397            ,ACTION_DATE
1398            ,RETEST_DATE
1399            ,LOT
1400            ,SERIAL
1401            ,UNIT_NUMBER
1402            ,LOT_EXPIRY_DATE
1403            ,ORIGINATION_TYPE
1404            ,ORGANIZATION_CODE
1405            ,ORG_ID
1406            ,ITEM
1407            ,ITEM_DESCRIPTION
1408            ,ITEM_ID
1409            ,REVISION
1410            ,PRIMARY_UOM_CODE
1411            ,ONHAND
1412            ,RECEIVING
1413            ,INBOUND
1414            ,UNPACKED
1415            ,PACKED
1416            ,SECONDARY_UOM_CODE
1417            ,SECONDARY_ONHAND
1418            ,SECONDARY_RECEIVING
1419            ,SECONDARY_INBOUND
1420            ,SECONDARY_UNPACKED
1421            ,SECONDARY_PACKED
1422            ,SUBINVENTORY_CODE
1423            ,LOCATOR
1424            ,LOCATOR_ID
1425            ,LPN
1426            ,LPN_ID
1427            ,COST_GROUP
1428            ,CG_ID
1429            ,GRADE_CODE
1430            ,LOADED
1431            ,PLANNING_PARTY
1432            ,PLANNING_PARTY_ID
1433            ,OWNING_PARTY
1434            ,OWNING_PARTY_ID
1435 	   ,OWNING_ORGANIZATION_ID
1436 	   ,PLANNING_ORGANIZATION_ID
1437 	   ,PLANNING_TP_TYPE
1438 	   ,OWNING_TP_TYPE
1439 	   ,PROJECT_ID
1440 	   ,TASK_ID
1441            ,STATUS_ID -- Onhand Material Status Support
1442      FROM  MTL_MWB_GTMP;
1443 
1444      TYPE lookup_meaning_table IS TABLE OF mfg_lookups.meaning%TYPE
1445      INDEX BY BINARY_INTEGER;
1446 
1447      document_type_meaning   lookup_meaning_table;
1448      lpn_context_meaning     lookup_meaning_table;
1449      l_procedure_name        VARCHAR2(30);
1450      l_mtl_location          VARCHAR2(100);
1451      l_shipment_num          VARCHAR2(30);
1452      l_shipped_date          DATE;
1453      l_from_org              VARCHAR2(30);
1454      l_to_org                VARCHAR2(30);
1455      l_from_org_code         VARCHAR2(30);                  -- Bug 11716231
1456      l_to_org_code           VARCHAR2(30);                  -- Bug 11716231
1457      l_lpn_context_id        NUMBER;
1458      l_vendor_id             NUMBER;
1459      l_vendor_site_id        NUMBER;
1460      l_task_id               NUMBER;
1461      l_project_id            NUMBER;
1462      l_origination_type      NUMBER;
1463      l_tracking_qty_ind      VARCHAR2(30) ;
1464      -- Bug 6993717 : Increased the variable length to 1000
1465      l_item_name	     VARCHAR2(1000);			-- Bug 6350236
1466      l_status_name           VARCHAR2(80); -- Onhand Material Status Support
1467      l_serial_controlled     NUMBER := 0; -- Onhand Material Status Support
1468      l_default_status_id     NUMBER; -- Onhand Material Status Support
1469 
1470      --Bug 6834805, cached variables
1471      g_org_id                NUMBER;
1472      g_org                   VARCHAR2(3);
1473      g_own_org_id            NUMBER;
1474      g_sub                   VARCHAR2(10);
1475      g_cg_id                 NUMBER;
1476      g_cg                    VARCHAR2(100);
1477      g_item_id               NUMBER;
1478      g_loc_id                NUMBER;
1479      g_loc                   VARCHAR2(200);
1480      -- Bug 11768098 : Increased the variable length to 80
1481      g_lot                   VARCHAR2(80);
1482      g_org_id_trak_qty       NUMBER;
1483      g_item_id_trak_qty      NUMBER;
1484 
1485      --bug12950736 on material workbench to display the loaded qty
1486      packed_loaded_qty       NUMBER;
1487      unpacked_loaded_qty     NUMBER;
1488 
1489      --Bug 13606923
1490      l_serial_loaded         NUMBER := 0;
1491 
1492   BEGIN
1493      l_procedure_name := 'POST_QUERY';
1494      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Entered');
1495 
1496      IF inv_mwb_globals.g_tree_mat_loc_id = 3 THEN
1497         SELECT meaning BULK COLLECT
1498         INTO   document_type_meaning
1499         FROM   mfg_lookups
1500         WHERE  lookup_type = 'MTL_DOCUMENT_TYPES'
1501         ORDER BY lookup_code;
1502      END IF;
1503 
1504 
1505      SELECT meaning BULK COLLECT
1506        INTO lpn_context_meaning
1507        FROM mfg_lookups
1508       WHERE lookup_type = 'WMS_LPN_CONTEXT';
1509 
1510       FOR rec IN C1 LOOP
1511 
1512      ---------------- Update organization code ----------------------------
1513 
1514          IF inv_mwb_globals.g_organization_code IS NOT NULL
1515          AND inv_mwb_globals.g_organization_id IS NOT NULL THEN
1516            --Bug 6834805
1517            if (nvl(g_org,'@@@@') <> inv_mwb_globals.g_organization_code) then
1518             UPDATE MTL_MWB_GTMP
1519                SET organization_code = inv_mwb_globals.g_organization_code;
1520 
1521             g_org := inv_mwb_globals.g_organization_code;
1522            end if;
1523          ELSE
1524             IF rec.org_id IS NOT NULL THEN
1525               --Bug 6834805
1526               if (nvl(g_org_id,-9999) <> rec.org_id) then
1527                  SELECT organization_code
1528                    INTO l_to_org
1529                    FROM mtl_parameters
1530                   WHERE organization_id = rec.org_id;
1531 
1532                  UPDATE MTL_MWB_GTMP
1533                     SET organization_code = l_to_org
1534                       , to_org = l_to_org
1535                   WHERE org_id = rec.org_id;
1536 
1537                  --g_org_id := rec.org_id;
1538               end if;
1539             END IF;
1540          END IF;
1541 
1542          IF inv_mwb_globals.g_subinventory_code IS NOT NULL THEN
1543            --Bug 6834805
1544            if (nvl(g_sub,'@@@@') <> inv_mwb_globals.g_subinventory_code) then
1545              UPDATE MTL_MWB_GTMP
1546                 SET SUBINVENTORY_CODE = inv_mwb_globals.g_subinventory_code;
1547 
1548              g_sub := inv_mwb_globals.g_subinventory_code;
1549            end if;
1550          END IF;
1551 
1552          IF rec.owning_org_id IS NOT NULL THEN
1553            --Bug 6834805
1554            if (nvl(g_own_org_id,-9999) <> rec.owning_org_id) then
1555              UPDATE MTL_MWB_GTMP
1556                 SET owning_org = (SELECT organization_code
1557                                   FROM mtl_parameters
1558                                  WHERE organization_id = rec.owning_org_id)
1559              WHERE owning_org_id = rec.owning_org_id;
1560 
1561              g_own_org_id := rec.owning_org_id;
1562            end if;
1563          END IF;
1564 
1565          /* Bug 11716231. Updating from org id and to org id */
1566          IF rec.from_org_id IS NOT NULL THEN
1567             --from org
1568             SELECT organization_code
1569             INTO l_from_org_code
1570             FROM mtl_parameters
1571             WHERE organization_id = rec.from_org_id;
1572 
1573             UPDATE MTL_MWB_GTMP
1574             SET from_org = l_from_org_code
1575             WHERE from_org_id = rec.from_org_id;
1576          END IF;
1577          --to org
1578          IF rec.to_org_id IS NOT NULL THEN
1579             SELECT organization_code
1580             INTO l_to_org_code
1581             FROM mtl_parameters
1582             WHERE organization_id = rec.to_org_id;
1583 
1584             UPDATE MTL_MWB_GTMP
1585             SET to_org = l_to_org_code
1586             WHERE to_org_id = rec.to_org_id;
1587          END IF;
1588          /* End of Bug 11716231. */
1589 
1590     ----------------- Update LPN ------------------------------------------
1591 
1592          IF rec.lpn_id IS NOT NULL THEN
1593             BEGIN
1594                UPDATE MTL_MWB_GTMP
1595                SET lpn = (SELECT license_plate_number
1596                            FROM wms_license_plate_numbers
1597                           WHERE lpn_id = rec.lpn_id)
1598                WHERE lpn_id = rec.lpn_id;
1599 
1600                UPDATE MTL_MWB_GTMP
1601                SET loaded = (SELECT 1
1602                              FROM mtl_material_transactions_temp mmtt, wms_dispatched_tasks wdt
1603                             WHERE wdt.status = 4
1604                               AND wdt.task_type <> 2
1605                               AND wdt.transaction_temp_id = mmtt.transaction_temp_id
1606                               AND (mmtt.content_lpn_id = rec.lpn_id
1607                                    OR mmtt.lpn_id = rec.lpn_id)
1608 							  AND rownum<2)                 -- Added for bug#13575081
1609                WHERE lpn_id = rec.lpn_id;
1610 
1611             EXCEPTION
1612               WHEN TOO_MANY_ROWS THEN
1613                   UPDATE MTL_MWB_GTMP
1614                   SET LOADED = 1
1615                   WHERE lpn_id = rec.lpn_id;
1616             END;
1617          END IF;
1618 
1619     --------------- Update Cost Group -------------------------------------
1620 
1621          IF inv_mwb_globals.g_cost_group IS NOT NULL
1622          AND inv_mwb_globals.g_cost_group_id IS NOT NULL THEN
1623            --Bug 6834805
1624            if (nvl(g_cg,'@@@@') <> inv_mwb_globals.g_cost_group) then
1625              UPDATE MTL_MWB_GTMP
1626                 SET cost_group = inv_mwb_globals.g_cost_group;
1627 
1628              g_cg := inv_mwb_globals.g_cost_group;
1629            end if;
1630          ELSE
1631             IF rec.cg_id IS NOT NULL THEN
1632               --Bug 6834805
1633               if (nvl(g_cg_id,-9999) <> rec.cg_id) then
1634                 UPDATE MTL_MWB_GTMP
1635                 SET cost_group = (SELECT distinct cost_group
1636                             FROM cst_cost_groups
1637                            WHERE cost_group_id = rec.cg_id)
1638                 WHERE cg_id = rec.cg_id;
1639 
1640                 g_cg_id := rec.cg_id;
1641               end if;
1642             END IF;
1643          END IF;
1644 
1645     ----------------- Update Item ------------------------------------------
1646 
1647          IF rec.item_id IS NOT NULL THEN
1648 	    l_item_name :=  inv_mwb_tree1.GET_ITEM(rec.item_id, rec.org_id);			-- Bug 6350236
1649             --Bug 6834805
1650             -- Fix for Bug#8687440. Added secondary uom code in following update statement.
1651             if (nvl(g_item_id,-9999) <> rec.item_id
1652                 or nvl(g_org_id,-9999) <> rec.org_id) then  --Bug 12633111
1653 
1654               UPDATE MTL_MWB_GTMP
1655                SET   (
1656                  ITEM
1657                , ITEM_DESCRIPTION
1658                , PRIMARY_UOM_CODE
1659                , SECONDARY_UOM_CODE
1660                ) = (
1661               SELECT
1662 	         l_item_name									-- Bug 6350236
1663                , DESCRIPTION
1664                , PRIMARY_UOM_CODE
1665                , SECONDARY_UOM_CODE
1666               FROM mtl_system_items_vl --Bug 7691371
1667               WHERE inventory_item_id = rec.item_id
1668               AND organization_id = rec.org_id)
1669               WHERE item_id = rec.item_id
1670               AND org_id = rec.org_id;  --Bug 12633111
1671 
1672               --g_item_id := rec.item_id;
1673             end if;
1674          END IF;
1675 
1676     ---------------- Update Locator ---------------------------------------
1677 
1678          IF inv_mwb_globals.g_locator_name IS NOT NULL
1679          AND inv_mwb_globals.g_locator_id IS NOT NULL THEN
1680            --Bug 6834805
1681            if (nvl(g_loc, '@@@@') <> inv_mwb_globals.g_locator_name) then
1682              UPDATE MTL_MWB_GTMP
1683              SET locator = substr(inv_mwb_globals.g_locator_name, 1, 100),--Bug6595049: truncating the locator to 100 chars
1684                  locator_id = inv_mwb_globals.g_locator_id; -- Bug 7408480
1685 
1686              g_loc := inv_mwb_globals.g_locator_name;
1687           end if;
1688          ELSE
1689            IF rec.locator_id IS NOT NULL THEN
1690              --Bug 6834805
1691              if (nvl(g_loc_id, -9999) <> rec.locator_id) then
1692 
1693                IF inv_mwb_globals.g_is_projects_enabled_org = 0 THEN
1694                   UPDATE MTL_MWB_GTMP
1695                   SET locator = substr((SELECT concatenated_segments
1696                                   FROM mtl_item_locations_kfv
1697                                  WHERE inventory_location_id = rec.locator_id and ORGANIZATION_ID = rec.org_id), 1, 100)  -- Bug 6595049: truncating the locator to 100 chars.  + Bug 15847437: Add ORGANIZATION_ID into where clause
1698                   WHERE locator_id = rec.locator_id;
1699                ELSE
1700                   l_project_id := NULL;
1701                   l_task_id := NULL;
1702                  /* Bug # 9288054 : Added extra condition in where clause "locator IS NULL" in below update
1703 		     to improve the performance. We should be upldating only those records
1704 		     which were not already updated for locator field. FP of bug 9209775 */
1705 
1706                   UPDATE MTL_MWB_GTMP
1707                   SET LOCATOR = substr(INV_PROJECT.GET_LOCATOR(REC.LOCATOR_ID, REC.ORG_ID), 1, 100) -- Bug 6595049: truncating the locator to 100 chars
1708                   WHERE locator IS NULL AND
1709 		  locator_id = rec.locator_id;
1710 
1711                   SELECT project_id
1712                        , task_id
1713                   INTO l_project_id
1714                      , l_task_id
1715                   FROM mtl_item_locations_kfv
1716                   WHERE inventory_location_id = rec.locator_id
1717                   AND organization_id = rec.org_id;
1718 
1719 --BUG 8266074--
1720 --Earlier the project and task id's were never updated in the table MTL_MWB_GTMP
1721 --where as the project number was updated before.
1722 --BUG 8266074--
1723 
1724 --START BUG 8266074--
1725                      /* Added project_name in following update statements for bug 13465952 */
1726                   IF inv_mwb_globals.g_project_number IS NOT NULL THEN
1727                     UPDATE MTL_MWB_GTMP
1728                         SET project_number = inv_mwb_globals.g_project_number
1729                         , (project_id, project_name)= (SELECT project_id, project_name
1730                                                    FROM pjm_projects_all_ou_v  --Bug 14751814,also display closed project
1731                                                   WHERE project_number =  inv_mwb_globals.g_project_number);
1732 
1733                   ELSE
1734                      IF l_project_id IS NOT NULL THEN
1735                         UPDATE MTL_MWB_GTMP
1736                         SET (project_number, project_name) = (SELECT project_number, project_name
1737                                                    FROM pjm_projects_all_ou_v  --Bug 14751814,also display closed project
1738                                                   WHERE project_id =  l_project_id) ,
1739                           project_id =  l_project_id
1740                          WHERE locator_id = rec.locator_id;
1741                      END IF;
1742                   END IF;
1743 
1744                   IF inv_mwb_globals.g_task_number IS NOT NULL THEN
1745 
1746 		       UPDATE MTL_MWB_GTMP
1747                        SET task_number = inv_mwb_globals.g_task_number,
1748                         task_id = (SELECT task_id
1749                                                    FROM pjm_tasks_v
1750                                                   WHERE task_number =  inv_mwb_globals.g_task_number
1751                                                   AND project_number = inv_mwb_globals.g_project_number);
1752                   ELSE
1753 -- BUG 8266074 Replacing rec.task_id by l_task_id --
1754                      IF l_task_id IS NOT NULL THEN
1755                         UPDATE MTL_MWB_GTMP
1756                            SET task_number = (SELECT task_number
1757                                                 FROM pjm_tasks_v
1758                                                WHERE task_id =  l_task_id) ,
1759                          task_id =  l_task_id
1760                          WHERE locator_id = rec.locator_id;
1761 --END BUG 8266074--
1762                      END IF;
1763                   END IF;
1764                END IF;
1765                g_loc_id := rec.locator_id;
1766              end if;
1767             END IF;
1768          END IF;
1769 ----------------------------------------------------------------------
1770 
1771          IF rec.po_header_id IS NOT NULL THEN
1772 
1773             IF rec.shipment_header_id_asn IS NOT NULL THEN       -- ASN
1774 
1775                l_mtl_location := document_type_meaning(4);
1776                SELECT shipment_num, shipped_date
1777                  INTO l_shipment_num, l_shipped_date
1778                  FROM rcv_shipment_headers rsh
1779                 WHERE rsh.shipment_header_id = rec.shipment_header_id_asn;
1780 
1781                UPDATE mtl_mwb_gtmp
1782                   SET document_number = l_shipment_num
1783                     , shipped_date    = l_shipped_date
1784                     , document_type   = l_mtl_location
1785 		              , document_type_id = 4
1786                 WHERE shipment_header_id_asn = rec.shipment_header_id_asn;
1787 
1788                IF rec.document_line_number IS NOT NULL THEN
1789                   UPDATE mtl_mwb_gtmp
1790                      SET document_line_number = (SELECT line_num
1791                                                    FROM rcv_shipment_lines rsl
1792                                                   WHERE rsl.shipment_line_id = rec.document_line_number)
1793                    WHERE shipment_header_id_asn = rec.shipment_header_id_asn
1794                      AND document_line_number = rec.document_line_number;
1795                END IF;
1796             ELSE   -- PO
1797                l_mtl_location := document_type_meaning(1);
1798                UPDATE mtl_mwb_gtmp
1799                   SET document_number = (SELECT segment1
1800                                            FROM po_headers_trx_v pha -- CLM project, bug 9403291
1801                                           WHERE pha.po_header_id = rec.po_header_id)
1802                                               , document_type = l_mtl_location
1803                                               , document_type_id = 1
1804                 WHERE po_header_id = rec.po_header_id;
1805 
1806                IF rec.document_line_number IS NOT NULL THEN
1807                   UPDATE mtl_mwb_gtmp
1808                      SET document_line_number = (SELECT to_char(line_num)
1809                                                    FROM po_lines_trx_v pla  -- CLM project, bug 9403291
1810                                                   WHERE pla.po_line_id = rec.document_line_number)
1811                    WHERE po_header_id = rec.po_header_id
1812                      AND document_line_number = rec.document_line_number;
1813                END IF;
1814             END IF;
1815          ELSIF rec.req_header_id IS NOT NULL THEN   -- Req
1816             l_mtl_location := document_type_meaning(2);
1817             UPDATE mtl_mwb_gtmp
1818                SET document_number = (SELECT segment1
1819                                         FROM po_req_headers_trx_v prha  -- CLM project, bug 9403291
1820                                        WHERE prha.requisition_header_id = rec.req_header_id)
1821                  , document_type = l_mtl_location
1822  	              , document_type_id = 2
1823              WHERE req_header_id = rec.req_header_id;
1824 
1825             IF rec.document_line_number IS NOT NULL THEN
1826                UPDATE mtl_mwb_gtmp
1827                   SET document_line_number = (SELECT line_num
1828                                                 FROM po_req_lines_trx_v prla  -- CLM project,  bug 9403291
1829                                                WHERE prla.requisition_line_id = rec.document_line_number)
1830                 WHERE req_header_id = rec.req_header_id
1831                   AND document_line_number = rec.document_line_number;
1832             END IF;
1833          ELSIF rec.shipment_header_id_asn IS NOT NULL THEN  -- Interorg
1834       	   inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, rec.shipment_header_id_asn);
1835             l_mtl_location := document_type_meaning(3);
1836             UPDATE mtl_mwb_gtmp
1837                SET document_number = (SELECT shipment_num
1838                                         FROM rcv_shipment_headers rsh
1839                                        WHERE rsh.shipment_header_id = rec.shipment_header_id_asn)
1840                  , document_type = l_mtl_location
1841 		           , document_type_id = 3
1842              WHERE shipment_header_id_asn = rec.shipment_header_id_asn;
1843 
1844             IF rec.document_line_number IS NOT NULL THEN
1845                UPDATE mtl_mwb_gtmp
1846                   SET document_line_number = (SELECT line_num
1847                                                 FROM rcv_shipment_lines rsl
1848                                                WHERE rsl.shipment_line_id = rec.document_line_number)
1849                 WHERE shipment_header_id_asn = rec.shipment_header_id_asn
1850                   AND document_line_number = rec.document_line_number;
1851             END IF;
1852          END IF;
1853 
1854 --------------- Update Trading Partner and Trading Partner Site ----------------
1855 
1856          l_vendor_id := rec.vendor_id;
1857          l_vendor_site_id := rec.vendor_site_id;
1858 
1859          IF rec.po_header_id IS NOT NULL THEN
1860             SELECT vendor_id
1861                  , vendor_site_id
1862               INTO l_vendor_id
1863                  , l_vendor_site_id
1864               FROM po_headers_all
1865              WHERE po_header_id = rec.po_header_id;
1866 
1867             UPDATE mtl_mwb_gtmp
1868                SET vendor_id = l_vendor_id
1869                  , vendor_site_id = l_vendor_site_id
1870              WHERE po_header_id = rec.po_header_id;
1871          END IF;
1872 
1873          IF rec.vendor_id IS NOT NULL
1874          OR l_vendor_id IS NOT NULL THEN
1875             UPDATE mtl_mwb_gtmp
1876                SET trading_partner = (SELECT vendor_name
1877                                         FROM po_vendors
1878                                        WHERE vendor_id = l_vendor_id)
1879              WHERE vendor_id = l_vendor_id;
1880 
1881             IF rec.vendor_site_id IS NOT NULL
1882             OR l_vendor_site_id IS NOT NULL THEN
1883                UPDATE mtl_mwb_gtmp
1884                   SET trading_partner_site = (SELECT vendor_site_code
1885                                                 FROM po_vendor_sites_all
1886                                                WHERE vendor_site_id = l_vendor_site_id)
1887                 WHERE vendor_id = l_vendor_id
1888                   AND vendor_site_id = l_vendor_site_id;
1889             END IF;
1890          END IF;
1891 
1892 
1893 
1894 -------------------- Update LPN context ----------------------------------------
1895 
1896          IF rec.lpn_id IS NOT NULL THEN
1897 
1898 /*            IF (inv_mwb_globals.g_chk_receiving = 1 AND
1899                 inv_mwb_globals.g_chk_inbound = 0 AND
1900                 inv_mwb_globals.g_chk_onhand = 0
1901                 ) OR inv_mwb_globals.g_tree_mat_loc_id = 2 THEN
1902 
1903                UPDATE mtl_mwb_gtmp
1904                   SET LPN_CONTEXT = lpn_context_meaning(3)
1905                 WHERE lpn_id = rec.lpn_id;
1906             ELSE
1907 */
1908 
1909                SELECT lpn_context
1910                  INTO l_lpn_context_id
1911                  FROM wms_license_plate_numbers
1912                 WHERE lpn_id = rec.lpn_id;
1913 
1914                UPDATE mtl_mwb_gtmp
1915                  SET LPN_CONTEXT = (SELECT meaning
1916                                       FROM mfg_lookups
1917                                      WHERE lookup_type = 'WMS_LPN_CONTEXT'
1918                  AND lookup_code = l_lpn_context_id)
1919                WHERE lpn_id = rec.lpn_id;
1920             END IF;
1921 --         END IF;
1922 
1923          IF inv_mwb_globals.g_tree_doc_type_id = 4 THEN
1924             UPDATE mtl_mwb_gtmp
1925                SET document_type = document_type_meaning(4)
1926                  , document_type_id = 4
1927              WHERE shipment_header_id_asn = rec.shipment_header_id_asn;
1928          END IF;
1929 
1930          IF rec.planning_tp_type = 1
1931          AND rec.planning_organization_id IS NOT NULL THEN
1932             IF inv_mwb_globals.g_planning_party IS NOT NULL THEN
1933                UPDATE mtl_mwb_gtmp
1934                  SET planning_party = inv_mwb_globals.g_planning_party;
1935             ELSE
1936                UPDATE mtl_mwb_gtmp
1937                  SET planning_party = (SELECT vendor_name || '-' || vendor_site_code
1938                                          FROM po_vendor_sites_all ps, po_vendors pv
1939                                         WHERE pv.vendor_id = ps.vendor_id
1940                                           AND ps.vendor_site_id = rec.planning_organization_id)
1941                  WHERE planning_organization_id = rec.planning_organization_id;
1942             END IF;
1943          END IF;
1944 
1945          IF rec.owning_tp_type = 1
1946          AND rec.owning_organization_id IS NOT NULL THEN
1947 
1948             IF inv_mwb_globals.g_owning_party IS NOT NULL THEN
1949                UPDATE mtl_mwb_gtmp
1950                   SET owning_party = inv_mwb_globals.g_owning_party;
1951             ELSE
1952                UPDATE mtl_mwb_gtmp
1953                SET owning_party = (SELECT vendor_name || '-' || vendor_site_code
1954                                      FROM po_vendor_sites_all ps, po_vendors pv
1955                                     WHERE pv.vendor_id = ps.vendor_id
1956                                       AND ps.vendor_site_id = rec.owning_organization_id)
1957                WHERE owning_organization_id = rec.owning_organization_id;
1958             END IF;
1959          END IF;
1960 
1961 --------------------------------------------------------------------------------
1962 -- Update lot information ------------------------------------------------------
1963 
1964          IF rec.lot IS NOT NULL THEN
1965 
1966           --Bug 6834805
1967           if (   (nvl(g_lot, '@@@@') <> rec.lot)
1968               or (nvl(g_item_id,-9999) <> nvl(rec.item_id, -9999))
1969               or (nvl(g_org_id,-9999) <> nvl(rec.org_id, -9999))
1970              ) then
1971      /* Bug 8396954. adding outerjoin condition for mfg_lookups table to get the records
1972                      even if the origination_type in mtl_lot_numbers is null */
1973             UPDATE MTL_MWB_GTMP
1974             SET   (
1975               ORIGINATION_TYPE
1976             , ORIGINATION_DATE
1977             , ACTION_DATE
1978             , ACTION_CODE
1979             , RETEST_DATE
1980             , PARENT_LOT
1981             , MATURITY_DATE
1982             , HOLD_DATE
1983             , SUPPLIER_LOT
1984             , LOT_EXPIRY_DATE
1985              ) = (
1986                SELECT
1987                     mfg.meaning     /* Bug 5417041  */
1988                   , mln.origination_date
1989                   , mln.expiration_action_date
1990                   , mln.expiration_action_code
1991                   , mln.retest_date
1992                   , mln.parent_lot_number
1993                   , mln.maturity_date
1994                   , mln.hold_date
1995                   , mln.supplier_lot_number
1996                   , mln.expiration_date
1997                FROM
1998                     mtl_lot_numbers  mln
1999                   , mfg_lookups mfg
2000                WHERE lot_number = rec.lot
2001                  AND mln.inventory_item_id = rec.item_id
2002                  AND mln.organization_id = rec.org_id
2003                  AND mfg.lookup_type(+) = 'MTL_LOT_ORIGINATION_TYPE'
2004                  AND mfg.lookup_code(+) = mln.origination_type)
2005             WHERE item_id = rec.item_id
2006               AND lot = rec.lot;
2007      /* End of Bug 8396954 */
2008 
2009             -------------------------------------------------------
2010             -- Grade code and lot expiry information --------------
2011             UPDATE MTL_MWB_GTMP
2012                SET (
2013                    GRADE_CODE
2014                  , LOT_EXPIRY_DATE
2015                    ) = (
2016                         SELECT grade_code
2017                              , expiration_date
2018                           FROM mtl_lot_numbers
2019                          WHERE lot_number = rec.lot
2020                            AND inventory_item_id = rec.item_id
2021                            AND organization_id = rec.org_id
2022                        )
2023             WHERE LOT = rec.lot and ITEM_ID = rec.item_id;--Bug 9252616
2024 
2025             --g_lot := rec.lot;
2026             --g_item_id := rec.item_id;
2027             --g_org_id := rec.org_id;
2028            end if;
2029          END IF;
2030 
2031          IF rec.org_id IS NOT NULL
2032          AND rec.item_id IS NOT NULL THEN
2033            --Bug 6834805
2034            if (nvl(g_org_id_trak_qty, -9999) <> rec.org_id
2035            or nvl(g_item_id_trak_qty, -9999) <> rec.item_id) then
2036 
2037              SELECT tracking_quantity_ind
2038                INTO l_tracking_qty_ind
2039                FROM mtl_system_items
2040               WHERE organization_id = rec.org_id
2041                 AND inventory_item_id = rec.item_id;
2042 
2043               IF nvl(l_tracking_qty_ind, '@@@@') <> 'PS' THEN
2044                 UPDATE mtl_mwb_gtmp
2045                 SET SECONDARY_ONHAND = NULL
2046                   , SECONDARY_UNPACKED = NULL
2047                   , SECONDARY_PACKED = NULL
2048                   , SECONDARY_UOM_CODE = NULL
2049                 WHERE org_id = rec.org_id
2050                 AND item_id = rec.item_id;
2051               END IF ;
2052 
2053               g_org_id_trak_qty := rec.org_id;
2054               g_item_id_trak_qty := rec.item_id;
2055             end if;
2056          END IF;
2057 
2058        ----------------------------------------------------------------------------------------------
2059 
2060          IF inv_mwb_globals.g_lot_from = inv_mwb_globals.g_lot_to THEN
2061             UPDATE MTL_MWB_GTMP
2062                SET LOT = inv_mwb_globals.g_lot_from;
2063          END IF;
2064 
2065          IF inv_mwb_globals.g_serial_from = inv_mwb_globals.g_serial_to THEN
2066             UPDATE MTL_MWB_GTMP
2067               SET SERIAL = inv_mwb_globals.g_serial_from;
2068          END IF;
2069 
2070       -- Onhand Material Status Support
2071       ----------------- Update Status ------------------------------------------
2072 
2073          if (inv_cache.set_org_rec(inv_mwb_globals.g_tree_organization_id)) then
2074             l_default_status_id :=  inv_cache.org_rec.default_status_id;
2075          end if;
2076 
2077          IF l_default_status_id is NOT NULL THEN
2078             -- Populating the status column for serial controlled items
2079             IF rec.org_id IS NOT NULL
2080             AND rec.item_id IS NOT NULL
2081             AND rec.SERIAL IS NOT NULL THEN
2082 
2083                 select status_id
2084                 into rec.status_id
2085                 from mtl_serial_numbers
2086                 where inventory_item_id = rec.item_id
2087                 and serial_number = rec.SERIAL;
2088 
2089                 inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'serial status_id '||rec.status_id);
2090 
2091                 UPDATE MTL_MWB_GTMP
2092                 SET   status_id = rec.status_id
2093                 WHERE item_id = rec.item_id
2094                 and serial = rec.SERIAL;
2095 
2096             END IF;
2097 
2098             inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'rec.status_id '||rec.status_id);
2099 
2100             IF rec.status_id IS NOT NULL THEN
2101               SELECT status_code
2102               INTO   l_status_name
2103               FROM   mtl_material_statuses_vl
2104               WHERE  status_id = rec.status_id;
2105 
2106               inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'status code '||l_status_name);
2107 
2108 	      UPDATE MTL_MWB_GTMP
2109               SET   status = l_status_name
2110               WHERE status_id = rec.status_id;
2111             END IF;
2112          END IF;
2113 
2114              g_lot := rec.lot;
2115              g_item_id := rec.item_id;
2116              g_org_id := rec.org_id;
2117       ----------------- End Update Status ------------------------------------------
2118 
2119       --bug12950736
2120       ----------------- Update Onhand ------------------------------------------
2121 
2122       IF (NVL(inv_mwb_globals.g_tree_organization_id, inv_mwb_globals.g_organization_id) IS NOT NULL) THEN
2123             SELECT DECODE(wms_enabled_flag, 'Y', 1, 0)
2124             INTO inv_mwb_globals.g_wms_enabled_flag
2125             FROM mtl_parameters
2126             WHERE organization_id = NVL(inv_mwb_globals.g_tree_organization_id, inv_mwb_globals.g_organization_id);
2127          END IF;
2128 
2129          inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'wms_enabled_flag '||inv_mwb_globals.g_wms_enabled_flag);
2130          IF inv_mwb_globals.g_wms_enabled_flag = 1 THEN
2131             /*bug13456933,the Query Find Parameters,
2132               if not null,added as the condition,
2133               for lpn parameters,added the table wms_license_plate_numbers */
2134             IF inv_mwb_globals.g_lpn_from_id IS NOT NULL
2135                 OR inv_mwb_globals.g_lpn_to_id IS NOT NULL THEN
2136                select nvl(sum(wlqv.quantity),0)
2137                into packed_loaded_qty
2138                from WMS_LOADED_QUANTITIES_V wlqv,wms_license_plate_numbers wlpn
2139                where wlqv.inventory_item_id = rec.item_id
2140                and wlqv.organization_id = rec.org_id
2141                and wlqv.containerized_flag = 1
2142                and (rec.subinventory_code is null or wlqv.subinventory_code = rec.subinventory_code)
2143                and (wlqv.subinventory_code = nvl(inv_mwb_globals.g_subinventory_code,wlqv.subinventory_code))
2144                and (rec.lot is null or wlqv.lot_number = rec.lot)
2145                and (nvl(wlqv.lot_number,'X@@X') >= nvl(inv_mwb_globals.g_lot_from,nvl(wlqv.lot_number,'X@@X')))
2146                and (nvl(wlqv.lot_number,'X@@X') <= nvl(inv_mwb_globals.g_lot_to,nvl(wlqv.lot_number,'X@@X')))
2147                and (rec.locator_id is null or wlqv.locator_id = rec.locator_id)
2148                and (nvl(wlqv.locator_id,-1) = nvl(inv_mwb_globals.g_locator_id,nvl(wlqv.locator_id,-1)))
2149                and (rec.revision is null or wlqv.revision = rec.revision)
2150                and (nvl(wlqv.revision,'X@@X') = nvl(inv_mwb_globals.g_revision,nvl(wlqv.revision,'X@@X')))
2151                and (rec.lpn_id is null or nvl(wlqv.content_lpn_id,wlqv.lpn_id) = rec.lpn_id)--bug13478665,content_lpn not lpn populated for the partial lpn picked
2152                and wlqv.lpn_id = wlpn.lpn_id
2153                and wlpn.license_plate_number >= nvl(inv_mwb_globals.g_lpn_from,wlpn.license_plate_number)
2154                and wlpn.license_plate_number <= nvl(inv_mwb_globals.g_lpn_to,wlpn.license_plate_number);
2155 
2156                select nvl(sum(wlqv.quantity),0)
2157                into unpacked_loaded_qty
2158                from WMS_LOADED_QUANTITIES_V wlqv,wms_license_plate_numbers wlpn
2159                where wlqv.inventory_item_id = rec.item_id
2160                and wlqv.organization_id = rec.org_id
2161                and wlqv.containerized_flag = 2
2162                and (rec.subinventory_code is null or wlqv.subinventory_code = rec.subinventory_code)
2163                and (wlqv.subinventory_code = nvl(inv_mwb_globals.g_subinventory_code,wlqv.subinventory_code))
2164                and (rec.lot is null or wlqv.lot_number = rec.lot)
2165                and (nvl(wlqv.lot_number,'X@@X') >= nvl(inv_mwb_globals.g_lot_from,nvl(wlqv.lot_number,'X@@X')))
2166                and (nvl(wlqv.lot_number,'X@@X') <= nvl(inv_mwb_globals.g_lot_to,nvl(wlqv.lot_number,'X@@X')))
2167                and (rec.locator_id is null or wlqv.locator_id = rec.locator_id)
2168                and (nvl(wlqv.locator_id,-1) = nvl(inv_mwb_globals.g_locator_id,nvl(wlqv.locator_id,-1)))
2169                and (rec.revision is null or wlqv.revision = rec.revision)
2170                and (nvl(wlqv.revision,'X@@X') = nvl(inv_mwb_globals.g_revision,nvl(wlqv.revision,'X@@X')))
2171                and (rec.lpn_id is null or nvl(wlqv.content_lpn_id,wlqv.lpn_id) = rec.lpn_id)--bug13478665,content_lpn not lpn populated for the partial lpn picked
2172                and wlqv.lpn_id = wlpn.lpn_id
2173                and wlpn.license_plate_number >= nvl(inv_mwb_globals.g_lpn_from,wlpn.license_plate_number)
2174                and wlpn.license_plate_number <= nvl(inv_mwb_globals.g_lpn_to,wlpn.license_plate_number);
2175 
2176             ELSE
2177                select nvl(sum(quantity),0)
2178                into packed_loaded_qty
2179                from WMS_LOADED_QUANTITIES_V
2180                where inventory_item_id = rec.item_id
2181                and organization_id = rec.org_id
2182                and containerized_flag = 1
2183                and (rec.subinventory_code is null or subinventory_code = rec.subinventory_code)
2184                and (subinventory_code = nvl(inv_mwb_globals.g_subinventory_code,subinventory_code))
2185                and (rec.lot is null or lot_number = rec.lot)
2186                and (nvl(lot_number,'X@@X') >= nvl(inv_mwb_globals.g_lot_from,nvl(lot_number,'X@@X')))
2187                and (nvl(lot_number,'X@@X') <= nvl(inv_mwb_globals.g_lot_to,nvl(lot_number,'X@@X')))
2188                and (rec.locator_id is null or locator_id = rec.locator_id)
2189                and (nvl(locator_id,-1) = nvl(inv_mwb_globals.g_locator_id,nvl(locator_id,-1)))
2190                and (rec.revision is null or revision = rec.revision)
2191                and (nvl(revision,'X@@X') = nvl(inv_mwb_globals.g_revision,nvl(revision,'X@@X')))
2192                and (rec.lpn_id is null or nvl(content_lpn_id,lpn_id) = rec.lpn_id);--bug13478665,content_lpn not lpn populated for the partial lpn picked
2193 
2194                select nvl(sum(quantity),0)
2195                into unpacked_loaded_qty
2196                from WMS_LOADED_QUANTITIES_V
2197                where inventory_item_id = rec.item_id
2198                and organization_id = rec.org_id
2199                and containerized_flag = 2
2200                and (rec.subinventory_code is null or subinventory_code = rec.subinventory_code)
2201                and (subinventory_code = nvl(inv_mwb_globals.g_subinventory_code,subinventory_code))
2202                and (rec.lot is null or lot_number = rec.lot)
2203                and (nvl(lot_number,'X@@X') >= nvl(inv_mwb_globals.g_lot_from,nvl(lot_number,'X@@X')))
2204                and (nvl(lot_number,'X@@X') <= nvl(inv_mwb_globals.g_lot_to,nvl(lot_number,'X@@X')))
2205                and (rec.locator_id is null or locator_id = rec.locator_id)
2206                and (nvl(locator_id,-1) = nvl(inv_mwb_globals.g_locator_id,nvl(locator_id,-1)))
2207                and (rec.revision is null or revision = rec.revision)
2208                and (nvl(revision,'X@@X') = nvl(inv_mwb_globals.g_revision,nvl(revision,'X@@X')))
2209                and (rec.lpn_id is null or nvl(content_lpn_id,lpn_id) = rec.lpn_id);--bug13478665,content_lpn not lpn populated for the partial lpn picked
2210 
2211             END IF;
2212 
2213             --Bug 13606923
2214             if (rec.serial is not null) then
2215                begin
2216                   inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'serial '||rec.serial);
2217 
2218                   select 1 into l_serial_loaded
2219                   from dual
2220                   where exists (select 1 from WMS_LOADED_QUANTITIES_V wlqv, mtl_serial_numbers_temp msnt
2221                                 where wlqv.transaction_temp_id IS NOT NULL
2222                                 and wlqv.transaction_temp_id = msnt.transaction_temp_id
2223                                 and wlqv.inventory_item_id = rec.item_id
2224                                 and rec.serial between msnt.fm_serial_number and msnt.to_serial_number
2225                                 union
2226                                 select 1 from WMS_LOADED_QUANTITIES_V wlqv, mtl_serial_numbers_temp msnt
2227                                 where wlqv.serial_transaction_temp_id IS NOT NULL
2228                                 and wlqv.serial_transaction_temp_id = msnt.transaction_temp_id
2229                                 and wlqv.inventory_item_id = rec.item_id
2230                                 and rec.serial between msnt.fm_serial_number and msnt.to_serial_number);
2231 
2232                   inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'serial is loaded, l_serial_loaded '||l_serial_loaded);
2233 
2234                exception
2235                   when others then
2236                      l_serial_loaded := 0;
2237                end;
2238             end if;
2239 
2240             inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'packed_loaded_qty '||packed_loaded_qty);
2241             inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'unpacked_loaded_qty '||unpacked_loaded_qty);
2242             inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'rowid '||rec.rowid);
2243             inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'onhand '||rec.onhand);
2244             inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'unpacked '||rec.unpacked);
2245             inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'packed '||rec.packed);
2246             inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'serial '||rec.serial);
2247             inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'l_serial_loaded '||l_serial_loaded);
2248 
2249             if (rec.packed = 0 or rec.packed is null) then
2250                packed_loaded_qty := 0;
2251             end if;
2252 
2253             if (rec.unpacked = 0 or rec.unpacked is null) then
2254                unpacked_loaded_qty := 0;
2255             end if;
2256 
2257             --Bug 13606923
2258             if (rec.lpn_id is not null) then
2259                if(rec.serial is not null and l_serial_loaded = 1) then
2260 
2261                   update mtl_mwb_gtmp
2262                      set onhand = (onhand - onhand),
2263                          unpacked = (unpacked - unpacked),
2264                          packed = (packed - packed),
2265                          loaded_quantity = 0
2266                   where  rowid = rec.rowid;
2267                elsif (rec.serial is null) then
2268                   update mtl_mwb_gtmp
2269                      set onhand = (onhand - packed_loaded_qty - unpacked_loaded_qty),
2270                          unpacked = (unpacked - unpacked_loaded_qty),
2271                          packed = (packed - packed_loaded_qty),
2272                          loaded_quantity = 0
2273                   where  rowid = rec.rowid;
2274                end if;
2275             else
2276                if(rec.serial is not null and l_serial_loaded = 1) then
2277                   update mtl_mwb_gtmp
2278                      set loaded_quantity = 1
2279                   where  rowid = rec.rowid;
2280                elsif (rec.serial is null) then
2281                   update mtl_mwb_gtmp
2282                      set loaded_quantity = (packed_loaded_qty + unpacked_loaded_qty)
2283                   where  rowid = rec.rowid;
2284                end if;
2285             end if;
2286          ELSE -- non-wms enabled org
2287             update mtl_mwb_gtmp
2288             set loaded_quantity = 0
2289             where  rowid = rec.rowid;
2290 
2291          END IF;
2292 
2293       ----------------- End Update Onhand ------------------------------------------
2294 
2295       END LOOP;
2296       inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'exited post query');
2297 
2298   EXCEPTION
2299   WHEN OTHERS THEN
2300      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, ' SQLERRM : ' ||SQLERRM);
2301   END post_query;
2302 
2303   PROCEDURE bind_query(p_cursor_handle IN NUMBER) IS
2304      j                PLS_INTEGER;
2305      l_procedure_name VARCHAR2(30);
2306   BEGIN
2307      l_procedure_name := 'BIND_QUERY';
2308      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Entered');
2309      IF g_date_bind_tab.COUNT > 0 THEN
2310 
2311         j := g_date_bind_tab.FIRST;
2312         WHILE j IS NOT NULL LOOP
2313            dbms_sql.bind_variable(
2314                     p_cursor_handle,
2315                     g_date_bind_tab(j).bind_name,
2316                     g_date_bind_tab(j).bind_value
2317                     );
2318            inv_mwb_globals.print_msg(
2319                            g_pkg_name,
2320                            l_procedure_name,
2321                            g_date_bind_tab(j).bind_name || ' => '|| g_date_bind_tab(j).bind_value
2322                            );
2323            j := g_date_bind_tab.NEXT(j);
2324         END LOOP;
2325 
2326      END IF;
2327 
2328      IF g_number_bind_tab.COUNT > 0 THEN
2329 
2330         j := g_number_bind_tab.FIRST;
2331         WHILE j IS NOT NULL LOOP
2332            dbms_sql.bind_variable(
2333                     p_cursor_handle,
2334                     g_number_bind_tab(j).bind_name,
2335                     g_number_bind_tab(j).bind_value
2336                     );
2337            inv_mwb_globals.print_msg(
2338                            g_pkg_name,
2339                            l_procedure_name,
2340                            g_number_bind_tab(j).bind_name || ' => '|| g_number_bind_tab(j).bind_value
2341                            );
2342            j := g_number_bind_tab.NEXT(j);
2343         END LOOP;
2344 
2345      END IF;
2346 
2347      IF g_varchar_bind_tab.COUNT > 0 THEN
2348 
2349         j := g_varchar_bind_tab.FIRST;
2350         WHILE j IS NOT NULL LOOP
2351            dbms_sql.bind_variable(
2352                     p_cursor_handle,
2353                     g_varchar_bind_tab(j).bind_name,
2354                     g_varchar_bind_tab(j).bind_value
2355                     );
2356            inv_mwb_globals.print_msg(
2357                            g_pkg_name,
2358                            l_procedure_name,
2359                            g_varchar_bind_tab(j).bind_name || ' => '|| g_varchar_bind_tab(j).bind_value
2360                            );
2361            j := g_varchar_bind_tab.NEXT(j);
2362         END LOOP;
2363 
2364      END IF;
2365   END bind_query;
2366 
2367   PROCEDURE add_from_clause(p_from_clause IN VARCHAR2, p_target IN VARCHAR2) IS
2368   BEGIN
2369      CASE p_target
2370         WHEN 'ONHAND' THEN
2371            g_onhand_from(g_onhand_from_index) :=  p_from_clause;
2372            g_onhand_from_index := g_onhand_from_index + 1;
2373         WHEN 'INBOUND' THEN
2374            g_inbound_from(g_inbound_from_index) :=  p_from_clause;
2375            g_inbound_from_index := g_inbound_from_index + 1;
2376         WHEN 'RECEIVING' THEN
2377            g_receiving_from(g_receiving_from_index) :=  p_from_clause;
2378            g_receiving_from_index := g_receiving_from_index + 1;
2379         WHEN 'ONHAND_1' THEN
2380            g_onhand_1_from(g_onhand_1_from_index) :=  p_from_clause;
2381            g_onhand_1_from_index := g_onhand_1_from_index + 1;
2382         WHEN 'INBOUND_1' THEN
2383            g_inbound_1_from(g_inbound_1_from_index) :=  p_from_clause;
2384            g_inbound_1_from_index := g_inbound_1_from_index + 1;
2385         WHEN 'RECEIVING_1' THEN
2386            g_receiving_1_from(g_receiving_1_from_index) :=  p_from_clause;
2387            g_receiving_1_from_index := g_receiving_1_from_index + 1;
2388      END CASE;
2389   END add_from_clause;
2390 
2391   PROCEDURE add_where_clause(p_where_clause IN VARCHAR2, p_target IN VARCHAR2) IS
2392   BEGIN
2393      CASE p_target
2394         WHEN 'ONHAND' THEN
2395            g_onhand_where(g_onhand_where_index) :=  p_where_clause;
2396            g_onhand_where_index := g_onhand_where_index + 1;
2397         WHEN 'INBOUND' THEN
2398            g_inbound_where(g_inbound_where_index) :=  p_where_clause;
2399            g_inbound_where_index := g_inbound_where_index + 1;
2400         WHEN 'RECEIVING' THEN
2401            g_receiving_where(g_receiving_where_index) :=  p_where_clause;
2402            g_receiving_where_index := g_receiving_where_index + 1;
2403         WHEN 'ONHAND_1' THEN
2404            g_onhand_1_where(g_onhand_1_where_index) :=  p_where_clause;
2405            g_onhand_1_where_index := g_onhand_1_where_index + 1;
2406         WHEN 'INBOUND_1' THEN
2407            g_inbound_1_where(g_inbound_1_where_index) :=  p_where_clause;
2408            g_inbound_1_where_index := g_inbound_1_where_index + 1;
2409         WHEN 'RECEIVING_1' THEN
2410            g_receiving_1_where(g_receiving_1_where_index) :=  p_where_clause;
2411            g_receiving_1_where_index := g_receiving_1_where_index + 1;
2412      END CASE;
2413   END add_where_clause;
2414 
2415   PROCEDURE add_group_clause(p_group_clause IN VARCHAR2, p_target IN VARCHAR2) IS
2416   BEGIN
2417      CASE p_target
2418         WHEN 'ONHAND' THEN
2419            g_onhand_group(g_onhand_group_index) :=  p_group_clause;
2420            g_onhand_group_index := g_onhand_group_index + 1;
2421         WHEN 'INBOUND' THEN
2422            g_inbound_group(g_inbound_group_index) :=  p_group_clause;
2423            g_inbound_group_index := g_inbound_group_index + 1;
2424         WHEN 'RECEIVING' THEN
2425            g_receiving_group(g_receiving_group_index) :=  p_group_clause;
2426            g_receiving_group_index := g_receiving_group_index + 1;
2427         WHEN 'ONHAND_1' THEN
2428            g_onhand_1_group(g_onhand_1_group_index) :=  p_group_clause;
2429            g_onhand_1_group_index := g_onhand_1_group_index + 1;
2430         WHEN 'INBOUND_1' THEN
2431            g_inbound_1_group(g_inbound_1_group_index) :=  p_group_clause;
2432            g_inbound_1_group_index := g_inbound_1_group_index + 1;
2433         WHEN 'RECEIVING_1' THEN
2434            g_receiving_1_group(g_receiving_1_group_index) :=  p_group_clause;
2435            g_receiving_1_group_index := g_receiving_1_group_index + 1;
2436      END CASE;
2437   END add_group_clause;
2438 
2439   FUNCTION build_attribute_qf_onhand(p_entity IN VARCHAR2) RETURN VARCHAR2 IS
2440      v_flexfield fnd_dflex.dflex_r;
2441      v_flexinfo  fnd_dflex.dflex_dr;
2442      v_contexts  fnd_dflex.contexts_dr;
2443      v_segments  fnd_dflex.segments_dr;
2444 
2445      l_application_short_name VARCHAR2(10);
2446      l_flex_name              VARCHAR2(30);
2447      l_delimiter              VARCHAR2(100);
2448      l_where                  VARCHAR2(500);
2449      l_context_name           VARCHAR2(50);
2450      l_pos                    NUMBER;
2451      l_alias                  VARCHAR2(10);
2452      l_bind_variable          VARCHAR2(30);
2453 
2454   BEGIN
2455      l_application_short_name  := 'INV';
2456      l_where                   := ' ';
2457 
2458      CASE p_entity
2459         WHEN 'LOT' THEN
2460            l_flex_name     := 'Lot Attributes';
2461            l_alias         := 'mln1';
2462            l_context_name  := 'Computer';
2463            l_bind_variable := ':onh_lot_attribute';
2464 
2465         WHEN 'SERIAL' THEN
2466            l_flex_name     := 'Serial Attributes';
2467            l_alias         := 'msn';
2468            l_context_name  := 'Computer';
2469            l_bind_variable := ':onh_serial_attribute';
2470 
2471      END CASE;
2472 
2473      fnd_dflex.get_flexfield(l_application_short_name, l_flex_name, v_flexfield, v_flexinfo);
2474      l_delimiter := v_flexinfo.segment_delimeter;
2475 
2476      fnd_dflex.get_contexts(v_flexfield, v_contexts);
2477      FOR i IN 1..v_contexts.ncontexts LOOP
2478         IF UPPER(v_contexts.context_code(i)) = UPPER(l_context_name) THEN
2479            fnd_dflex.get_segments(
2480                      fnd_dflex.make_context(
2481                                v_flexfield,
2482                                v_contexts.context_code(i)
2483                                ),
2484                      v_segments,
2485                      TRUE
2486                      );
2487 
2488            l_pos := v_segments.application_column_name.FIRST;
2489            WHILE l_pos IS NOT NULL LOOP
2490               IF l_pos = v_segments.application_column_name.LAST THEN
2491                  l_where := l_where||l_alias||'.'||v_segments.application_column_name(l_pos);
2492               ELSE
2493                  l_where := l_where||l_alias||'.'||v_segments.application_column_name(l_pos)||'||'||''''||l_delimiter||''''||'||';
2494               END IF;
2495               l_pos := v_segments.application_column_name.NEXT(l_pos);
2496            END LOOP;
2497            l_where := l_where||' = '||l_bind_variable;
2498 
2499         END IF;
2500      END LOOP;
2501 
2502      RETURN l_where;
2503 
2504   END build_attribute_qf_onhand;
2505 
2506   PROCEDURE add_qf_where_onhand(p_flag VARCHAR2) IS
2507     l_procedure_name       VARCHAR2(30);
2508     l_default_status_id    NUMBER; -- Onhand Material Status Support
2509   BEGIN
2510      l_procedure_name := 'ADD_QF_WHERE_ONHAND';
2511      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Entered');
2512 
2513      -- Onhand Material Status Support
2514       if (inv_mwb_globals.g_organization_id is not null) then
2515          if (inv_cache.set_org_rec(inv_mwb_globals.g_organization_id)) then
2516            l_default_status_id :=  inv_cache.org_rec.default_status_id;
2517          end if;
2518       elsif (inv_mwb_globals.g_tree_organization_id is not null) then
2519          if (inv_cache.set_org_rec(inv_mwb_globals.g_tree_organization_id)) then
2520            l_default_status_id :=  inv_cache.org_rec.default_status_id;
2521          end if;
2522       end if;
2523 
2524       CASE p_flag
2525          WHEN 'ONHAND'  THEN
2526              /* Bug 8225619. Adding ELSE CONDITION code such that right side grid
2527                 retrieves the organizations which are relevant to particular
2528                 responsibility id and responisibility application id */
2529             IF inv_mwb_globals.g_organization_id IS NOT NULL THEN
2530               add_where_clause('moqd.organization_id = :onh_organization_id', 'ONHAND');
2531               add_bind_variable('onh_organization_id', inv_mwb_globals.g_organization_id);
2532             ELSE
2533               add_where_clause(' EXISTS ( SELECT 1 FROM org_access_view oav WHERE oav.organization_id = moqd.organization_id AND oav.responsibility_id   = :responsibility_id AND oav.resp_application_id = :resp_application_id ) ', 'ONHAND');
2534               add_bind_variable('responsibility_id', inv_mwb_globals.g_responsibility_id);
2535               add_bind_variable('resp_application_id', inv_mwb_globals.g_resp_application_id);
2536             END IF;
2537              /* End of Bug 8225619*/
2538 
2539             IF inv_mwb_globals.g_subinventory_code IS NOT NULL THEN
2540               add_where_clause('moqd.subinventory_code = :onh_subinventory_code', 'ONHAND');
2541               add_bind_variable('onh_subinventory_code', inv_mwb_globals.g_subinventory_code);
2542             END IF;
2543 
2544             IF inv_mwb_globals.g_locator_id IS NOT NULL THEN
2545               add_where_clause('moqd.locator_id = :onh_locator_id', 'ONHAND');
2546               add_bind_variable('onh_locator_id', inv_mwb_globals.g_locator_id);
2547             END IF;
2548 
2549             -- ER(9158529 client)
2550             IF inv_mwb_globals.g_client_code IS NOT NULL THEN
2551               add_where_clause('moqd.inventory_item_id in (select DISTINCT inventory_item_id from mtl_system_items_b where wms_deploy.get_client_code(inventory_item_id) = :onh_client_code) ', 'ONHAND');
2552               add_bind_variable('onh_client_code', inv_mwb_globals.g_client_code);
2553             END IF;
2554             -- ER(9158529 client)
2555 
2556             IF inv_mwb_globals.g_inventory_item_id IS NOT NULL THEN
2557               add_where_clause('moqd.inventory_item_id = :onh_inventory_item_id', 'ONHAND');
2558               add_bind_variable('onh_inventory_item_id', inv_mwb_globals.g_inventory_item_id);
2559             END IF;
2560 
2561             --Bug 14548684 add view mtl_system_items_vl to support multi-language
2562             IF inv_mwb_globals.g_inventory_item_id IS NULL
2563   	         AND inv_mwb_globals.g_item_description IS NOT NULL THEN
2564               inv_mwb_query_manager.add_from_clause('mtl_system_items_kfv msik', 'ONHAND');
2565               inv_mwb_query_manager.add_from_clause('mtl_system_items_vl msiv', 'ONHAND');
2566               add_where_clause('moqd.inventory_item_id = msik.inventory_item_id', 'ONHAND');
2567               add_where_clause('moqd.organization_id = msik.organization_id', 'ONHAND');
2568               add_where_clause('msik.inventory_item_id = msiv.inventory_item_id', 'ONHAND');
2569               add_where_clause('msik.organization_id = msiv.organization_id', 'ONHAND');
2570               add_where_clause('upper(msiv.description) like upper(:onh_item_description)', 'ONHAND');--Bug 14177143
2571               add_bind_variable('onh_item_description', inv_mwb_globals.g_item_description);
2572             END IF;
2573 
2574   	    IF inv_mwb_globals.g_revision IS NOT NULL THEN
2575               add_where_clause('moqd.revision = :onh_revision', 'ONHAND');
2576               add_bind_variable('onh_revision', inv_mwb_globals.g_revision);
2577             END IF;
2578 
2579             IF inv_mwb_globals.g_cost_group_id IS NOT NULL THEN
2580               add_where_clause('moqd.cost_group_id = :onh_cost_group_id', 'ONHAND');
2581               add_bind_variable('onh_cost_group_id', inv_mwb_globals.g_cost_group_id);
2582             END IF;
2583 
2584             -- ER(9158529)
2585             IF inv_mwb_globals.g_category_set_id IS NOT NULL THEN
2586               add_where_clause('moqd.inventory_item_id in '
2587                                 || ' (select DISTINCT inventory_item_id from mtl_item_categories '
2588                                 || ' where organization_id = :onh_organization_id '
2589                                 || ' and category_set_id = :onh_category_set_id '
2590                                 || ' and category_id = nvl(:onh_category_id, category_id)) ', 'ONHAND');
2591               add_bind_variable('onh_organization_id', inv_mwb_globals.g_organization_id);
2592               add_bind_variable('onh_category_set_id', inv_mwb_globals.g_category_set_id);
2593               add_bind_variable('onh_category_id', inv_mwb_globals.g_category_id);
2594             END IF;
2595             -- ER(9158529)
2596 
2597             IF inv_mwb_globals.g_project_id IS NOT NULL THEN
2598               add_where_clause('moqd.project_id = :onh_project_id', 'ONHAND');
2599               add_bind_variable('onh_project_id', inv_mwb_globals.g_project_id);
2600             END IF;
2601 
2602             IF inv_mwb_globals.g_task_id IS NOT NULL THEN
2603               add_where_clause('moqd.task_id = :onh_task_id', 'ONHAND');
2604               add_bind_variable('onh_task_id', inv_mwb_globals.g_task_id);
2605             END IF;
2606 
2607             IF inv_mwb_globals.g_lpn_from_id IS NOT NULL
2608             OR inv_mwb_globals.g_lpn_to_id IS NOT NULL THEN
2609                inv_mwb_query_manager.add_from_clause(' wms_license_plate_numbers wlpn ','ONHAND');
2610                add_where_clause('wlpn.lpn_context IN (1,9,11)', 'ONHAND');
2611                add_where_clause('moqd.lpn_id = wlpn.lpn_id', 'ONHAND');
2612             END IF;
2613 
2614             IF inv_mwb_globals.g_tree_parent_lpn_id IS NULL THEN
2615                IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
2616                   inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
2617                   inv_mwb_globals.g_lpn_from_id = inv_mwb_globals.g_lpn_to_id) THEN
2618                  add_where_clause('moqd.lpn_id = :onh_lpn_from_id', 'ONHAND');
2619                  add_bind_variable('onh_lpn_from_id', inv_mwb_globals.g_lpn_from_id);
2620 
2621                END IF;
2622 
2623                IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
2624                   inv_mwb_globals.g_lpn_from_id <> NVL(inv_mwb_globals.g_lpn_to_id, -1) ) THEN
2625                  add_where_clause('wlpn.license_plate_number >= :onh_lpn_from', 'ONHAND');
2626                  add_bind_variable('onh_lpn_from', inv_mwb_globals.g_lpn_from);
2627                END IF;
2628 
2629                IF (inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
2630                   inv_mwb_globals.g_lpn_to_id <> NVL(inv_mwb_globals.g_lpn_from_id, -1) ) THEN
2631                  add_where_clause('wlpn.license_plate_number <= :onh_lpn_to', 'ONHAND');
2632                  add_bind_variable('onh_lpn_to', inv_mwb_globals.g_lpn_to);
2633                END IF;
2634             END IF;
2635 
2636             IF  inv_mwb_globals.g_owning_qry_mode = 2 THEN
2637                add_where_clause('moqd.owning_tp_type = 1', 'ONHAND');
2638             ELSIF inv_mwb_globals.g_owning_qry_mode = 3 THEN
2639                add_where_clause('moqd.owning_tp_type = 1', 'ONHAND');
2640                IF inv_mwb_globals.g_owning_org IS NOT NULL THEN
2641                   add_where_clause('moqd.owning_organization_id = :onh_owning_org_id', 'ONHAND');
2642                   add_bind_variable('onh_owning_org_id', inv_mwb_globals.g_owning_org);
2643                END IF;
2644             END IF;
2645 
2646             IF  inv_mwb_globals.g_planning_query_mode = 2 THEN
2647                add_where_clause('moqd.planning_tp_type = 1', 'ONHAND');
2648             ELSIF inv_mwb_globals.g_planning_query_mode = 3 THEN
2649                add_where_clause('moqd.planning_tp_type = 1', 'ONHAND');
2650                IF inv_mwb_globals.g_planning_org IS NOT NULL THEN
2651                   add_where_clause('moqd.planning_organization_id = :onh_planning_org_id', 'ONHAND');
2652                   add_bind_variable('onh_planning_org_id', inv_mwb_globals.g_planning_org);
2653                END IF;
2654             END IF;
2655 
2656             IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
2657                inv_mwb_globals.g_lot_to IS NOT NULL AND
2658                inv_mwb_globals.g_lot_from = inv_mwb_globals.g_lot_to) THEN
2659               add_where_clause('moqd.lot_number = :onh_lot_from', 'ONHAND');
2660               add_bind_variable('onh_lot_from', inv_mwb_globals.g_lot_from);
2661             END IF;
2662 
2663             IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
2664                inv_mwb_globals.g_lot_from <> NVL(inv_mwb_globals.g_lot_to, -1) ) THEN
2665               add_where_clause('moqd.lot_number >= :onh_lot_from', 'ONHAND');
2666               add_bind_variable('onh_lot_from', inv_mwb_globals.g_lot_from);
2667             END IF;
2668 
2669             IF (inv_mwb_globals.g_lot_to IS NOT NULL AND
2670                inv_mwb_globals.g_lot_to <> NVL(inv_mwb_globals.g_lot_from, -1) ) THEN
2671               add_where_clause('moqd.lot_number <= :onh_lot_to', 'ONHAND');
2672               add_bind_variable('onh_lot_to', inv_mwb_globals.g_lot_to);
2673             END IF;
2674 
2675 /* Bug 8396954, Adding below if condition for checking supplier_lot_number condition */
2676             IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL OR
2677                 inv_mwb_globals.g_supplier_lot_to IS NOT NULL ) THEN
2678                 inv_mwb_query_manager.add_from_clause('mtl_lot_numbers mln3', 'ONHAND');
2679                 add_where_clause('moqd.lot_number = mln3.lot_number', 'ONHAND');
2680                 add_where_clause('moqd.inventory_item_id = mln3.inventory_item_id', 'ONHAND');  -- Bug 9927569
2681                 add_where_clause('moqd.organization_id = mln3.organization_id', 'ONHAND');      -- Bug 9927569
2682 
2683 
2684                 IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
2685                    inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
2686                    inv_mwb_globals.g_supplier_lot_from = inv_mwb_globals.g_supplier_lot_to) THEN
2687                    add_where_clause('mln3.supplier_lot_number = :onh_supplier_lot_from', 'ONHAND');
2688                    add_bind_variable('onh_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
2689                 END IF;
2690 
2691                 IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
2692                    inv_mwb_globals.g_supplier_lot_from <> NVL(inv_mwb_globals.g_supplier_lot_to, -1) ) THEN
2693                    add_where_clause('mln3.supplier_lot_number >= :onh_supplier_lot_from', 'ONHAND');
2694                    add_bind_variable('onh_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
2695                 END IF;
2696 
2697                 IF (inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
2698                    inv_mwb_globals.g_supplier_lot_to <> NVL(inv_mwb_globals.g_supplier_lot_from, -1) ) THEN
2699                    add_where_clause('mln3.supplier_lot_number <= :onh_supplier_lot_to', 'ONHAND');
2700                    add_bind_variable('onh_supplier_lot_to', inv_mwb_globals.g_supplier_lot_to);
2701                 END IF;
2702             END IF;
2703 /* End of Bug 8396954 */
2704         --KMOTUPAL ME # 3922793
2705             IF (inv_mwb_globals.g_expired_lots = 'Y') THEN
2706                add_from_clause('mtl_lot_numbers mln2', 'ONHAND');
2707                add_where_clause('moqd.lot_number = mln2.lot_number', 'ONHAND');
2708                add_where_clause('moqd.inventory_item_id = mln2.inventory_item_id', 'ONHAND');
2709                add_where_clause('moqd.organization_id = mln2.organization_id', 'ONHAND');
2710                add_where_clause('mln2.expiration_date <= :expiration_date', 'ONHAND');
2711                add_bind_variable('expiration_date', inv_mwb_globals.g_expiration_date);
2712             END IF;
2713         --KMOTUPAL ME # 3922793
2714 
2715         --BUG 7556505
2716 	       	IF (inv_mwb_globals.g_parent_lot IS NOT NULL) THEN
2717         		IF (inv_mwb_globals.g_expired_lots <> 'Y') THEN
2718                        add_from_clause('mtl_lot_numbers mln2', 'ONHAND');
2719                        add_where_clause('moqd.lot_number = mln2.lot_number', 'ONHAND');
2720                        add_where_clause('moqd.inventory_item_id = mln2.inventory_item_id', 'ONHAND');	-- Bug 9927569
2721                        add_where_clause('moqd.organization_id = mln2.organization_id', 'ONHAND');	-- Bug 9927569
2722 		        END IF;
2723                add_where_clause('mln2.parent_lot_number = :parent_lot_number', 'ONHAND');
2724                add_bind_variable('parent_lot_number', inv_mwb_globals.g_parent_lot);
2725             END IF;
2726 	    --BUG 7556505
2727 
2728         --bug # 6633612
2729             IF (inv_mwb_globals.g_shipment_header_id is not null) THEN
2730                add_from_clause('rcv_transactions rt', 'ONHAND');
2731                add_from_clause('mtl_material_transactions mmt', 'ONHAND');
2732                add_where_clause('rt.shipment_header_id = :shipment_header_id', 'ONHAND');
2733                add_where_clause('rt.transaction_id = mmt.rcv_transaction_id', 'ONHAND');
2734                add_where_clause('rt.organization_id = mmt.organization_id', 'ONHAND');
2735                add_where_clause('rt.transaction_type = ''DELIVER''', 'ONHAND');
2736                add_where_clause('rt.destination_type_code = ''INVENTORY''', 'ONHAND');
2737                add_where_clause('mmt.transaction_id = moqd.create_transaction_id', 'ONHAND');
2738                add_where_clause('mmt.organization_id = moqd.organization_id', 'ONHAND');
2739 	       add_bind_variable('shipment_header_id', inv_mwb_globals.g_shipment_header_id);
2740             END IF;
2741         --bug # 6633612
2742 
2743             IF (inv_mwb_globals.g_grade_from_code IS NOT NULL) OR
2744                (inv_mwb_globals.g_lot_context IS NOT NULL) THEN
2745                add_from_clause('mtl_lot_numbers mln1', 'ONHAND');
2746                add_where_clause('moqd.lot_number = mln1.lot_number', 'ONHAND');
2747                add_where_clause('moqd.inventory_item_id = mln1.inventory_item_id', 'ONHAND');
2748                add_where_clause('moqd.organization_id = mln1.organization_id', 'ONHAND');
2749 
2750                IF (inv_mwb_globals.g_grade_from_code IS NOT NULL) THEN
2751                   add_where_clause('mln1.grade_code = :onh_grade_from_code', 'ONHAND');
2752                   add_bind_variable('onh_grade_from_code', inv_mwb_globals.g_grade_from_code);
2753                END IF;
2754 
2755                IF (inv_mwb_globals.g_lot_context IS NOT NULL) THEN
2756                   add_where_clause('mln1.lot_attribute_category = :onh_lot_context', 'ONHAND');
2757                   add_bind_variable('onh_lot_context', inv_mwb_globals.g_lot_context);
2758                END IF;
2759 
2760            END IF; -- grade or lot context or lot attributes
2761 
2762            IF (inv_mwb_globals.g_lot_attr_query IS NOT NULL) THEN    -- Bug 7566588 Changes Start
2763               add_from_clause('mtl_lot_numbers mln', 'ONHAND');
2764               add_where_clause('moqd.lot_number = mln.lot_number', 'ONHAND');
2765               add_where_clause('moqd.inventory_item_id = mln.inventory_item_id', 'ONHAND');
2766               add_where_clause('moqd.organization_id = mln.organization_id', 'ONHAND');
2767               add_where_clause(inv_mwb_globals.g_lot_attr_query, 'ONHAND');
2768            END IF;                                                   -- Bug 7566588 Changes End
2769 
2770            IF (inv_mwb_globals.g_planning_org IS NOT NULL) THEN
2771               add_where_clause('moqd.planning_organization_id = :onh_planning_org', 'ONHAND');
2772               add_bind_variable('onh_planning_org', inv_mwb_globals.g_planning_org);
2773            END IF;
2774 
2775            IF (inv_mwb_globals.g_owning_org IS NOT NULL) THEN
2776               add_where_clause('moqd.owning_organization_id = :onh_owning_org', 'ONHAND');
2777               add_bind_variable('onh_owning_org', inv_mwb_globals.g_owning_org);
2778            END IF;
2779 
2780            -- Onhand Material Status Support
2781 
2782            inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'add_qf_onhand defaultstatusid:'|| l_default_status_id);
2783            inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'view by :'||inv_mwb_globals.g_view_by );
2784 
2785            if inv_mwb_globals.g_status_id is not null then
2786              if l_default_status_id is not null then
2787                IF inv_mwb_globals.g_view_by <> 'STATUS' THEN
2788 
2789                  inv_mwb_query_manager.add_from_clause('mtl_system_items msit', 'ONHAND');
2790                  inv_mwb_query_manager.add_where_clause('moqd.organization_id = msit.organization_id', 'ONHAND');
2791                  inv_mwb_query_manager.add_where_clause('moqd.inventory_item_id = msit.inventory_item_id', 'ONHAND');
2792                  inv_mwb_query_manager.add_where_clause('msit.serial_number_control_code IN (1, 6)', 'ONHAND');
2793 
2794                  add_where_clause('moqd.status_id = :onh_status_id', 'ONHAND');
2795                  add_bind_variable('onh_status_id', inv_mwb_globals.g_status_id);
2796                end if;
2797              else
2798                -- Bug 6060233
2799                IF inv_mwb_globals.g_view_by <> 'STATUS' THEN
2800 
2801                    inv_mwb_query_manager.add_from_clause('mtl_system_items msit', 'ONHAND');
2802                    inv_mwb_query_manager.add_from_clause('mtl_item_locations_kfv mil', 'ONHAND');
2803                    inv_mwb_query_manager.add_from_clause('mtl_lot_numbers mln', 'ONHAND');
2804                    inv_mwb_query_manager.add_from_clause('mtl_secondary_inventories msi', 'ONHAND');
2805                    inv_mwb_query_manager.add_where_clause('moqd.organization_id = msit.organization_id', 'ONHAND');
2806                    inv_mwb_query_manager.add_where_clause('moqd.inventory_item_id = msit.inventory_item_id', 'ONHAND');
2807                    inv_mwb_query_manager.add_where_clause('moqd.organization_id = mil.organization_id(+)', 'ONHAND');
2808                    inv_mwb_query_manager.add_where_clause('moqd.locator_id = mil.inventory_location_id(+)', 'ONHAND');
2809                    inv_mwb_query_manager.add_where_clause('moqd.organization_id = mln.organization_id(+)', 'ONHAND');
2810                    inv_mwb_query_manager.add_where_clause('moqd.inventory_item_id = mln.inventory_item_id(+)', 'ONHAND');
2811                    inv_mwb_query_manager.add_where_clause('moqd.lot_number = mln.lot_number(+)', 'ONHAND');
2812                    inv_mwb_query_manager.add_where_clause('moqd.organization_id = msi.organization_id', 'ONHAND');
2813                    inv_mwb_query_manager.add_where_clause('moqd.subinventory_code = msi.secondary_inventory_name', 'ONHAND');
2814                    inv_mwb_query_manager.add_where_clause('(msi.subinventory_type = 1 OR msi.subinventory_type IS NULL)', 'ONHAND');
2815                    inv_mwb_query_manager.add_where_clause('msit.serial_number_control_code IN (1, 6)', 'ONHAND');
2816 
2817                    inv_mwb_query_manager.add_where_clause('(msi.status_id = :msi_status_id' ||
2818                                                          ' OR mil.status_id = :mil_status_id' ||
2819                                                          ' OR mln.status_id = :mln_status_id)', 'ONHAND');
2820 
2821                    inv_mwb_query_manager.add_bind_variable('msi_status_id', inv_mwb_globals.g_status_id);
2822                    inv_mwb_query_manager.add_bind_variable('mil_status_id', inv_mwb_globals.g_status_id);
2823                    inv_mwb_query_manager.add_bind_variable('mln_status_id', inv_mwb_globals.g_status_id);
2824                END IF;
2825                -- End Bug 6060233
2826              end if;
2827            end if;
2828            -- End Onhand Material Status Support
2829 
2830 
2831         WHEN 'ONHAND_MSN' THEN
2832 
2833             IF inv_mwb_globals.g_status_id IS NOT NULL THEN
2834               if l_default_status_id is null then -- Onhand Material Status Support
2835                inv_mwb_query_manager.add_from_clause('mtl_item_locations_kfv mil', 'ONHAND');
2836                inv_mwb_query_manager.add_from_clause('mtl_lot_numbers mln', 'ONHAND');
2837                inv_mwb_query_manager.add_from_clause('mtl_secondary_inventories msi', 'ONHAND');
2838                inv_mwb_query_manager.add_where_clause('msn.current_organization_id = mil.organization_id(+)', 'ONHAND');
2839                inv_mwb_query_manager.add_where_clause('msn.current_locator_id = mil.inventory_location_id(+)', 'ONHAND');
2840                inv_mwb_query_manager.add_where_clause('msn.current_organization_id = mln.organization_id(+)', 'ONHAND');
2841                inv_mwb_query_manager.add_where_clause('msn.inventory_item_id = mln.inventory_item_id(+)', 'ONHAND');
2842                inv_mwb_query_manager.add_where_clause('msn.lot_number = mln.lot_number(+)', 'ONHAND');
2843                inv_mwb_query_manager.add_where_clause('msn.current_organization_id = msi.organization_id', 'ONHAND');
2844                inv_mwb_query_manager.add_where_clause('msn.current_subinventory_code = msi.secondary_inventory_name', 'ONHAND');
2845                inv_mwb_query_manager.add_where_clause('NVL (msn.organization_type, 2) = 2', 'ONHAND');
2846                inv_mwb_query_manager.add_where_clause('(msi.subinventory_type = 1 OR msi.subinventory_type IS NULL)', 'ONHAND');
2847 
2848                IF inv_mwb_globals.g_view_by <> 'STATUS' THEN
2849 
2850                   -- Bug 6060233
2851                   inv_mwb_query_manager.add_where_clause('(msi.status_id = :msi_status_id' ||
2852                                                        ' OR mil.status_id = :mil_status_id' ||
2853                                                        ' OR mln.status_id = :mln_status_id' ||
2854                                                        ' OR msn.status_id = :msn_status_id)', 'ONHAND');
2855 
2856                   /*
2857                   inv_mwb_query_manager.add_where_clause('msi.status_id = :msi_status_id', 'ONHAND');
2858                   inv_mwb_query_manager.add_where_clause('mil.status_id = :mil_status_id', 'ONHAND');
2859                   inv_mwb_query_manager.add_where_clause('mln.status_id = :mln_status_id', 'ONHAND');
2860                   inv_mwb_query_manager.add_where_clause('msn.status_id = :msn_status_id', 'ONHAND');
2861                   */
2862                    -- End Bug 6060233
2863 
2864                   inv_mwb_query_manager.add_bind_variable('msi_status_id', inv_mwb_globals.g_status_id);
2865                   inv_mwb_query_manager.add_bind_variable('mil_status_id', inv_mwb_globals.g_status_id);
2866                   inv_mwb_query_manager.add_bind_variable('mln_status_id', inv_mwb_globals.g_status_id);
2867                   inv_mwb_query_manager.add_bind_variable('msn_status_id', inv_mwb_globals.g_status_id);
2868                END IF;
2869              else -- Onhand Material Status Support
2870                inv_mwb_query_manager.add_where_clause('NVL (msn.organization_type, 2) = 2', 'ONHAND');
2871                IF inv_mwb_globals.g_view_by <> 'STATUS' THEN
2872                   inv_mwb_query_manager.add_where_clause('msn.status_id = :msn_status_id','ONHAND');
2873                   inv_mwb_query_manager.add_bind_variable('msn_status_id', inv_mwb_globals.g_status_id);
2874                END IF;
2875              end if;
2876             END IF;
2877 
2878             /* Bug 8225619. Adding ELSE CONDITION code such that right side grid
2879                 retrieves the organizations which are relevant to particular
2880                 responsibility id and responisibility application id */
2881             IF inv_mwb_globals.g_organization_id IS NOT NULL THEN
2882               add_where_clause('msn.current_organization_id = :onh_organization_id', 'ONHAND');
2883               add_bind_variable('onh_organization_id', inv_mwb_globals.g_organization_id);
2884             ELSE
2885               add_where_clause(' EXISTS ( SELECT 1 FROM org_access_view oav WHERE oav.organization_id = msn.current_organization_id AND oav.responsibility_id   = :responsibility_id AND oav.resp_application_id = :resp_application_id ) ', 'ONHAND');
2886               add_bind_variable('responsibility_id', inv_mwb_globals.g_responsibility_id);
2887               add_bind_variable('resp_application_id', inv_mwb_globals.g_resp_application_id);
2888             END IF;
2889              /* End of Bug 8225619. */
2890 
2891             IF inv_mwb_globals.g_subinventory_code IS NOT NULL THEN
2892               add_where_clause('msn.current_subinventory_code = :onh_subinventory_code', 'ONHAND');
2893               add_bind_variable('onh_subinventory_code', inv_mwb_globals.g_subinventory_code);
2894             END IF;
2895 
2896             IF inv_mwb_globals.g_locator_id IS NOT NULL THEN
2897               add_where_clause('msn.current_locator_id = :onh_locator_id', 'ONHAND');
2898               add_bind_variable('onh_locator_id', inv_mwb_globals.g_locator_id);
2899             END IF;
2900 
2901             -- ER(9158529 client)
2902             IF inv_mwb_globals.g_client_code IS NOT NULL THEN
2903               add_where_clause('msn.inventory_item_id in (select DISTINCT inventory_item_id from mtl_system_items_b where wms_deploy.get_client_code(inventory_item_id) = :onh_client_code) ', 'ONHAND');
2904               add_bind_variable('onh_client_code', inv_mwb_globals.g_client_code);
2905             END IF;
2906             -- ER(9158529 client)
2907 
2908             IF inv_mwb_globals.g_inventory_item_id IS NOT NULL THEN
2909               add_where_clause('msn.inventory_item_id = :onh_inventory_item_id', 'ONHAND');
2910               add_bind_variable('onh_inventory_item_id', inv_mwb_globals.g_inventory_item_id);
2911             END IF;
2912 
2913             IF inv_mwb_globals.g_revision IS NOT NULL THEN
2914               add_where_clause('msn.revision = :onh_revision', 'ONHAND');
2915               add_bind_variable('onh_revision', inv_mwb_globals.g_revision);
2916             END IF;
2917 
2918             IF inv_mwb_globals.g_cost_group_id IS NOT NULL THEN
2919               add_where_clause('msn.cost_group_id = :onh_cost_group_id', 'ONHAND');
2920               add_bind_variable('onh_cost_group_id', inv_mwb_globals.g_cost_group_id);
2921             END IF;
2922 
2923             -- ER(9158529)
2924             IF inv_mwb_globals.g_category_set_id IS NOT NULL THEN
2925               add_where_clause('msn.inventory_item_id in '
2926                                 || ' (select DISTINCT inventory_item_id from mtl_item_categories '
2927                                 || ' where organization_id = :onh_organization_id '
2928                                 || ' and category_set_id = :onh_category_set_id '
2929                                 || ' and category_id = nvl(:onh_category_id, category_id)) ', 'ONHAND');
2930               add_bind_variable('onh_organization_id', inv_mwb_globals.g_organization_id);
2931               add_bind_variable('onh_category_set_id', inv_mwb_globals.g_category_set_id);
2932               add_bind_variable('onh_category_id', inv_mwb_globals.g_category_id);
2933             END IF;
2934             -- ER(9158529)
2935 
2936             /*
2937 
2938 BUG 8266074
2939 MSN does not have project and task still we are using the same ,
2940 saw this while testing bug 8208141 hence commenting the same
2941 
2942             IF inv_mwb_globals.g_project_id IS NOT NULL THEN
2943               add_where_clause('msn.project_id = :onh_project_id', 'ONHAND');
2944               add_bind_variable('onh_project_id', inv_mwb_globals.g_project_id);
2945             END IF;
2946 
2947             IF inv_mwb_globals.g_task_id IS NOT NULL THEN
2948               add_where_clause('msn.task_id = :onh_task_id', 'ONHAND');
2949               add_bind_variable('onh_task_id', inv_mwb_globals.g_task_id);
2950             END IF;
2951 
2952             */
2953 
2954             IF inv_mwb_globals.g_lpn_from_id IS NOT NULL
2955             OR inv_mwb_globals.g_lpn_to_id IS NOT NULL THEN
2956                inv_mwb_query_manager.add_from_clause(' wms_license_plate_numbers wlpn ','ONHAND');
2957                add_where_clause('msn.lpn_id = wlpn.lpn_id', 'ONHAND');
2958                add_where_clause('wlpn.lpn_context IN (1,9,11)', 'ONHAND');
2959             END IF;
2960 
2961             IF inv_mwb_globals.g_tree_parent_lpn_id IS NULL THEN
2962                IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
2963                   inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
2964                   inv_mwb_globals.g_lpn_from_id = inv_mwb_globals.g_lpn_to_id) THEN
2965                  add_where_clause('msn.lpn_id = :onh_lpn_from_id', 'ONHAND');
2966                  add_bind_variable('onh_lpn_from_id', inv_mwb_globals.g_lpn_from_id);
2967                END IF;
2968 
2969                IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
2970                   inv_mwb_globals.g_lpn_from_id <> NVL(inv_mwb_globals.g_lpn_to_id, -1) ) THEN
2971                  add_where_clause('wlpn.license_plate_number >= :onh_lpn_from', 'ONHAND');
2972                  add_bind_variable('onh_lpn_from', inv_mwb_globals.g_lpn_from);
2973                END IF;
2974 
2975                IF (inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
2976                   inv_mwb_globals.g_lpn_to_id <> NVL(inv_mwb_globals.g_lpn_from_id, -1) ) THEN
2977                  add_where_clause('wlpn.license_plate_number <= :onh_lpn_to', 'ONHAND');
2978                  add_bind_variable('onh_lpn_to', inv_mwb_globals.g_lpn_to);
2979                END IF;
2980             END IF;
2981 
2982             IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
2983                inv_mwb_globals.g_lot_to IS NOT NULL AND
2984                inv_mwb_globals.g_lot_from = inv_mwb_globals.g_lot_to) THEN
2985               add_where_clause('msn.lot_number = :onh_lot_from', 'ONHAND');
2986               add_bind_variable('onh_lot_from', inv_mwb_globals.g_lot_from);
2987             END IF;
2988 
2989             IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
2990                inv_mwb_globals.g_lot_from <> NVL(inv_mwb_globals.g_lot_to, -1) ) THEN
2991               add_where_clause('msn.lot_number >= :onh_lot_from', 'ONHAND');
2992               add_bind_variable('onh_lot_from', inv_mwb_globals.g_lot_from);
2993             END IF;
2994 
2995             IF (inv_mwb_globals.g_lot_to IS NOT NULL AND
2996                inv_mwb_globals.g_lot_to <> NVL(inv_mwb_globals.g_lot_from, -1) ) THEN
2997               add_where_clause('msn.lot_number <= :onh_lot_to', 'ONHAND');
2998               add_bind_variable('onh_lot_to', inv_mwb_globals.g_lot_to);
2999             END IF;
3000 
3001 /* Bug 8396954, Adding below if condition for checking supplier_lot_number condition */
3002             IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL OR
3003                 inv_mwb_globals.g_supplier_lot_to IS NOT NULL ) THEN
3004                add_from_clause('mtl_lot_numbers mln3', 'ONHAND');
3005                add_where_clause('msn.lot_number = mln3.lot_number', 'ONHAND');
3006                add_where_clause('msn.inventory_item_id = mln3.inventory_item_id', 'ONHAND');          -- Bug 9927569
3007                add_where_clause('msn.current_organization_id = mln3.organization_id', 'ONHAND');      -- Bug 9927569
3008 
3009                IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
3010                    inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
3011                    inv_mwb_globals.g_supplier_lot_from = inv_mwb_globals.g_supplier_lot_to) THEN
3012                    add_where_clause('mln3.supplier_lot_number = :onh_supplier_lot_from', 'ONHAND');
3013                    add_bind_variable('onh_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
3014                END IF;
3015 
3016                IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
3017                    inv_mwb_globals.g_supplier_lot_from <> NVL(inv_mwb_globals.g_supplier_lot_to, -1) ) THEN
3018                    add_where_clause('mln3.supplier_lot_number >= :onh_supplier_lot_from', 'ONHAND');
3019                    add_bind_variable('onh_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
3020                END IF;
3021 
3022                IF (inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
3023                    inv_mwb_globals.g_supplier_lot_to <> NVL(inv_mwb_globals.g_supplier_lot_from, -1) ) THEN
3024                    add_where_clause('mln3.supplier_lot_number <= :onh_supplier_lot_to', 'ONHAND');
3025                    add_bind_variable('onh_supplier_lot_to', inv_mwb_globals.g_supplier_lot_to);
3026                END IF;
3027             END IF ;
3028 /* End of Bug 8396954 */
3029           --KMOTUPAL ME # 3922793
3030             IF (inv_mwb_globals.g_expired_lots = 'Y') THEN
3031                add_from_clause('mtl_lot_numbers mln2', 'ONHAND');
3032                add_where_clause('msn.lot_number = mln2.lot_number', 'ONHAND');
3033                add_where_clause('msn.inventory_item_id = mln2.inventory_item_id', 'ONHAND');
3034                add_where_clause('msn.organization_id = mln2.organization_id', 'ONHAND');
3035                add_where_clause('mln2.expiration_date <= :expiration_date', 'ONHAND');
3036                add_bind_variable('expiration_date', inv_mwb_globals.g_expiration_date);
3037             END IF;
3038           --KMOTUPAL ME # 3922793
3039 
3040     	  --BUG 7556505
3041     	    IF (inv_mwb_globals.g_parent_lot IS NOT NULL) THEN
3042                        IF (inv_mwb_globals.g_expired_lots <> 'Y') THEN
3043                        add_from_clause('mtl_lot_numbers mln2', 'ONHAND');
3044                        add_where_clause('msn.lot_number = mln2.lot_number', 'ONHAND');				-- 9927659
3045                        add_where_clause('msn.inventory_item_id = mln2.inventory_item_id', 'ONHAND');		-- 9927569
3046                        add_where_clause('msn.current_organization_id = mln2.organization_id', 'ONHAND');	-- 9927569
3047                        END IF;
3048                add_where_clause('mln2.parent_lot_number = :parent_lot_number', 'ONHAND');
3049                add_bind_variable('parent_lot_number', inv_mwb_globals.g_parent_lot);
3050              END IF;
3051 
3052     	  --BUG 7556505
3053 
3054           --bug # 6633612
3055             IF (inv_mwb_globals.g_shipment_header_id is not null) THEN
3056                add_from_clause('rcv_transactions rt', 'ONHAND');
3057                add_from_clause('mtl_material_transactions mmt', 'ONHAND');
3058                add_where_clause('rt.shipment_header_id = :shipment_header_id', 'ONHAND');
3059                add_where_clause('rt.transaction_id = mmt.rcv_transaction_id', 'ONHAND');
3060                add_where_clause('rt.organization_id = mmt.organization_id', 'ONHAND');
3061                add_where_clause('rt.transaction_type = ''DELIVER''', 'ONHAND');
3062                add_where_clause('rt.destination_type_code = ''INVENTORY''', 'ONHAND');
3063                add_where_clause('mmt.transaction_id = msn.last_transaction_id', 'ONHAND');
3064                add_where_clause('mmt.organization_id = msn.current_organization_id', 'ONHAND');
3065 	       add_bind_variable('shipment_header_id', inv_mwb_globals.g_shipment_header_id);
3066             END IF;
3067         --bug # 6633612
3068 
3069             IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
3070                inv_mwb_globals.g_serial_to IS NOT NULL AND
3071                inv_mwb_globals.g_serial_from = inv_mwb_globals.g_serial_to) THEN
3072               add_where_clause('msn.serial_number = :onh_serial_from', 'ONHAND');
3073               add_bind_variable('onh_serial_from', inv_mwb_globals.g_serial_from);
3074             END IF;
3075 
3076             IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
3077                inv_mwb_globals.g_serial_from <> NVL(inv_mwb_globals.g_serial_to, -1) ) THEN
3078               add_where_clause('msn.serial_number >= :onh_serial_from', 'ONHAND');
3079               add_bind_variable('onh_serial_from', inv_mwb_globals.g_serial_from);
3080             END IF;
3081 
3082             IF (inv_mwb_globals.g_serial_to IS NOT NULL AND
3083                inv_mwb_globals.g_serial_to <> NVL(inv_mwb_globals.g_serial_from, -1) ) THEN
3084               add_where_clause('msn.serial_number <= :onh_serial_to', 'ONHAND');
3085               add_bind_variable('onh_serial_to', inv_mwb_globals.g_serial_to);
3086             END IF;
3087 
3088 	    IF (inv_mwb_globals.g_serial_attr_query IS NOT NULL) THEN						-- Bug 6429880 Changes starting
3089 		add_where_clause(inv_mwb_globals.g_serial_attr_query, 'ONHAND');
3090 	    END IF;												-- Bug 6429880 Changes ending
3091 
3092             /* Bug 9486070. Added code for unit number field */
3093             IF (inv_mwb_globals.g_unit_number IS NOT NULL) THEN
3094                 add_where_clause('msn.end_item_unit_number = :onh_unit_number', 'ONHAND');
3095                 add_bind_variable('onh_unit_number', inv_mwb_globals.g_unit_number);
3096             END IF;
3097             /* End of Bug 9486070 */
3098 
3099             IF (inv_mwb_globals.g_grade_from_code IS NOT NULL
3100                 OR inv_mwb_globals.g_lot_context IS NOT NULL
3101                 OR inv_mwb_globals.g_lot_attr_query IS NOT NULL)       -- Bug 7566588
3102             AND inv_mwb_globals.g_status_id IS NULL THEN
3103                add_from_clause('mtl_lot_numbers mln', 'ONHAND');
3104                add_where_clause('msn.lot_number = mln.lot_number', 'ONHAND');
3105                add_where_clause('msn.inventory_item_id = mln.inventory_item_id', 'ONHAND');
3106                add_where_clause('msn.current_organization_id = mln.organization_id', 'ONHAND'); -- Bug 7566588
3107             END IF;
3108 
3109             IF (inv_mwb_globals.g_grade_from_code IS NOT NULL) THEN
3110                add_where_clause('mln.grade_code = :onh_grade_from_code', 'ONHAND');
3111                add_bind_variable('onh_grade_from_code', inv_mwb_globals.g_grade_from_code);
3112             END IF;
3113 
3114             IF (inv_mwb_globals.g_lot_context IS NOT NULL) THEN
3115                add_where_clause('mln.lot_attribute_category = :onh_lot_context', 'ONHAND');
3116                add_bind_variable('onh_lot_context', inv_mwb_globals.g_lot_context);
3117             END IF;
3118 
3119            IF (inv_mwb_globals.g_lot_attr_query IS NOT NULL) THEN    -- Bug 7566588 Changes Start
3120               add_where_clause(inv_mwb_globals.g_lot_attr_query, 'ONHAND');
3121            END IF;                                                   -- Bug 7566588 Changes End
3122 
3123             IF  inv_mwb_globals.g_owning_qry_mode = 2 THEN
3124                add_where_clause('msn.owning_tp_type = 1', 'ONHAND');
3125             ELSIF inv_mwb_globals.g_owning_qry_mode = 3 THEN
3126                add_where_clause('msn.owning_tp_type = 1', 'ONHAND');
3127                IF inv_mwb_globals.g_owning_org IS NOT NULL THEN
3128                   add_where_clause('msn.owning_organization_id = :onh_owning_org_id', 'ONHAND');
3129                   add_bind_variable('onh_owning_org_id', inv_mwb_globals.g_owning_org);
3130                END IF;
3131             END IF;
3132 
3133             IF  inv_mwb_globals.g_planning_query_mode = 2 THEN
3134                add_where_clause('msn.planning_tp_type = 1', 'ONHAND');
3135             ELSIF inv_mwb_globals.g_planning_query_mode = 3 THEN
3136                add_where_clause('msn.planning_tp_type = 1', 'ONHAND');
3137                IF inv_mwb_globals.g_planning_org IS NOT NULL THEN
3138                   add_where_clause('msn.planning_organization_id = :onh_planning_org_id', 'ONHAND');
3139                   add_bind_variable('onh_planning_org_id', inv_mwb_globals.g_planning_org);
3140                END IF;
3141             END IF;
3142 
3143         END CASE;
3144 
3145   END add_qf_where_onhand;
3146 
3147   PROCEDURE add_qf_where_lpn_node(p_mat_loc IN VARCHAR2) IS
3148      query_str VARCHAR2(1000);
3149      flag_rcv BOOLEAN;
3150      flag_onh BOOLEAN;
3151      l_procedure_name VARCHAR2(30);
3152      l_serial_control NUMBER;
3153   BEGIN
3154      l_procedure_name := 'ADD_QF_WHERE_LPN_NODE';
3155      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Entered with location : ' || p_mat_loc);
3156 
3157      flag_rcv := FALSE;
3158      flag_onh := FALSE;
3159 
3160      IF inv_mwb_globals.g_tree_item_id IS NOT NULL THEN
3161          SELECT serial_number_control_code
3162          INTO   l_serial_control
3163          FROM   mtl_system_items
3164          WHERE  inventory_item_id = inv_mwb_globals.g_tree_item_id
3165          AND    organization_id = inv_mwb_globals.g_tree_organization_id;
3166      END IF;
3167 
3168      IF inv_mwb_globals.g_chk_onhand = 0 AND
3169         inv_mwb_globals.g_chk_receiving = 0 AND
3170         inv_mwb_globals.g_chk_inbound = 0 THEN
3171         null;
3172      ELSE
3173         IF inv_mwb_globals.g_tree_node_type = 'APPTREE_OBJECT_TRUNK'
3174         OR inv_mwb_globals.g_tree_node_type = 'ORG' THEN
3175 
3176            query_str := ' wlpn.lpn_context IN ( ';
3177            IF inv_mwb_globals.g_chk_onhand = 1 THEN
3178               query_str := query_str || '1,9,11';
3179               flag_onh := TRUE;
3180            END IF;
3181 
3182            IF inv_mwb_globals.g_chk_receiving = 1 THEN
3183               IF flag_onh THEN
3184                  query_str := query_str || ',';
3185               END IF;
3186               query_str := query_str || '3';
3187            END IF;
3188 
3189            IF inv_mwb_globals.g_chk_inbound = 1 THEN
3190               IF flag_onh or flag_rcv THEN
3191                  query_str := query_str || ',';
3192               END IF;
3193               query_str := query_str || '6,7';
3194            END IF;
3195             query_str := query_str || ' ) ';
3196             add_where_clause(query_str, p_mat_loc);
3197 	ELSE
3198              CASE inv_mwb_globals.g_tree_mat_loc_id
3199                 WHEN 1 THEN
3200                    add_where_clause('wlpn.lpn_context IN (1,9,11)', p_mat_loc);
3201                 WHEN 2 THEN
3202                    add_where_clause('wlpn.lpn_context = 3', p_mat_loc);
3203                 WHEN 3 THEN
3204                   add_where_clause('wlpn.lpn_context IN (6,7) ', p_mat_loc);
3205              END CASE;
3206 	END IF;
3207      END IF;
3208      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Adding tables to the query : ' || p_mat_loc);
3209      inv_mwb_query_manager.add_from_clause(' wms_license_plate_numbers wlpn ' , p_mat_loc);
3210      inv_mwb_query_manager.add_from_clause(' wms_lpn_contents wlc ', p_mat_loc);
3211      add_where_clause(' wlc.parent_lpn_id = wlpn.lpn_id ', p_mat_loc);
3212 
3213      IF inv_mwb_globals.g_serial_from IS NOT NULL
3214      OR inv_mwb_globals.g_serial_to IS NOT NULL
3215      OR inv_mwb_globals.g_tree_serial_number IS NOT NULL
3216      OR l_serial_control IN (2, 5) THEN
3217         inv_mwb_query_manager.add_from_clause(' mtl_serial_numbers msn ',p_mat_loc);
3218         add_where_clause('msn.lpn_id = wlpn.lpn_id', p_mat_loc);
3219         add_where_clause('msn.current_organization_id = wlc.organization_id', p_mat_loc);
3220         add_where_clause('msn.inventory_item_id = wlc.inventory_item_id', p_mat_loc);
3221 
3222         IF inv_mwb_globals.g_chk_onhand = 0 AND
3223            inv_mwb_globals.g_chk_receiving = 0 AND
3224            inv_mwb_globals.g_chk_inbound = 0 THEN
3225            null;
3226         ELSE
3227             query_str := 'msn.current_status = ';
3228             IF inv_mwb_globals.g_chk_onhand = 1 THEN
3229                query_str := query_str || '3';
3230                flag_onh := TRUE;
3231             END IF;
3232 
3233             IF inv_mwb_globals.g_chk_inbound = 1
3234             OR inv_mwb_globals.g_chk_receiving = 1 THEN
3235                IF flag_onh or flag_rcv THEN
3236                   query_str := query_str || ',';
3237                END IF;
3238                query_str := query_str || '5';
3239             END IF;
3240                  add_where_clause(query_str, p_mat_loc);
3241             END IF;
3242         END IF;
3243 
3244      IF inv_mwb_globals.g_project_id IS NOT NULL
3245      OR inv_mwb_globals.g_task_id IS NOT NULL THEN
3246         inv_mwb_query_manager.add_from_clause(' mtl_item_locations mil ',p_mat_loc);
3247         add_where_clause('msn.lpn_id = wlpn.lpn_id', p_mat_loc);
3248         add_where_clause('mil.organization_id = wlc.organization_id', p_mat_loc);
3249         add_where_clause('wlpn.locator = mil.inventory_location_id', p_mat_loc);
3250      END IF;
3251 
3252      IF inv_mwb_globals.g_project_id IS NOT NULL THEN
3253         add_where_clause('mil.project_id = :project_id', p_mat_loc);
3254         add_bind_variable('project_id', inv_mwb_globals.g_project_id);
3255      END IF;
3256 
3257      IF inv_mwb_globals.g_task_id IS NOT NULL THEN
3258         add_where_clause('mil.task_id = :task_id', p_mat_loc);
3259         add_bind_variable('task_id', inv_mwb_globals.g_task_id);
3260      END IF;
3261 
3262      IF inv_mwb_globals.g_organization_id IS NOT NULL THEN
3263         add_where_clause('wlpn.organization_id = :to_organization_id', p_mat_loc);
3264         add_bind_variable('to_organization_id', inv_mwb_globals.g_organization_id);
3265      END IF;
3266 
3267      IF inv_mwb_globals.g_subinventory_code IS NOT NULL THEN
3268         add_where_clause('wlpn.subinventory_code = :to_subinventory_code', p_mat_loc);
3269         add_bind_variable('to_subinventory_code', inv_mwb_globals.g_subinventory_code);
3270      END IF;
3271 
3272      IF inv_mwb_globals.g_locator_id IS NOT NULL THEN
3273         add_where_clause('wlpn.locator_id = :to_locator_id', p_mat_loc);
3274         add_bind_variable('to_locator_id', inv_mwb_globals.g_locator_id);
3275      END IF;
3276 
3277      -- ER(9158529 client)
3278      IF inv_mwb_globals.g_client_code IS NOT NULL THEN
3279         add_where_clause('wlc.inventory_item_id in (select DISTINCT inventory_item_id from mtl_system_items_b where wms_deploy.get_client_code(inventory_item_id) = :client_code) ', p_mat_loc);
3280         add_bind_variable('client_code', inv_mwb_globals.g_client_code);
3281      END IF;
3282      -- ER(9158529 client)
3283 
3284      IF inv_mwb_globals.g_inventory_item_id IS NOT NULL THEN
3285         add_where_clause('wlc.inventory_item_id = :inventory_item_id', p_mat_loc);
3286         add_bind_variable('inventory_item_id', inv_mwb_globals.g_inventory_item_id);
3287      END IF;
3288 
3289      IF inv_mwb_globals.g_revision IS NOT NULL THEN
3290         add_where_clause('wlpn.revision = :revision', p_mat_loc);
3291         add_bind_variable('revision', inv_mwb_globals.g_revision);
3292      END IF;
3293 
3294      IF inv_mwb_globals.g_cost_group_id IS NOT NULL THEN
3295         add_where_clause('wlpn.cost_group_id = :cost_group_id', 'INBOUND');
3296         add_bind_variable('cost_group_id', inv_mwb_globals.g_cost_group_id);
3297      END IF;
3298 
3299     -- ER(9158529)
3300     IF inv_mwb_globals.g_category_set_id IS NOT NULL THEN
3301         add_where_clause('wlc.inventory_item_id in '
3302                             || ' (select DISTINCT inventory_item_id from mtl_item_categories '
3303                             || ' where organization_id = :to_organization_id '
3304                             || ' and category_set_id = :category_set_id '
3305                             || ' and category_id = nvl(:category_id, category_id))', p_mat_loc);
3306         add_bind_variable('to_organization_id', inv_mwb_globals.g_organization_id);
3307         add_bind_variable('category_set_id', inv_mwb_globals.g_category_set_id);
3308         add_bind_variable('category_id', inv_mwb_globals.g_category_id);
3309     END IF;
3310     -- ER(9158529)
3311 
3312       IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
3313          inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
3314          inv_mwb_globals.g_lpn_from_id = inv_mwb_globals.g_lpn_to_id) THEN
3315         add_where_clause('wlpn.lpn_id = :onh_lpn_from_id', p_mat_loc);
3316         add_bind_variable('onh_lpn_from_id', inv_mwb_globals.g_lpn_from_id);
3317       END IF;
3318 
3319       IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
3320          inv_mwb_globals.g_lpn_from_id <> NVL(inv_mwb_globals.g_lpn_to_id, -1) ) THEN
3321         add_where_clause('wlpn.license_plate_number >= :onh_lpn_from', p_mat_loc);
3322         add_bind_variable('onh_lpn_from', inv_mwb_globals.g_lpn_from);
3323       END IF;
3324 
3325       IF (inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
3326          inv_mwb_globals.g_lpn_to_id <> NVL(inv_mwb_globals.g_lpn_from_id, -1) ) THEN
3327         add_where_clause('wlpn.license_plate_number <= :onh_lpn_to', p_mat_loc);
3328         add_bind_variable('onh_lpn_to', inv_mwb_globals.g_lpn_to);
3329       END IF;
3330 
3331 /*
3332 
3333      IF (inv_mwb_globals.g_lpn_from IS NOT NULL AND
3334          inv_mwb_globals.g_lpn_to IS NOT NULL AND
3335          inv_mwb_globals.g_lpn_from = inv_mwb_globals.g_lpn_to) THEN
3336          add_where_clause('wlpn.lpn_id = :lpn_from_id', p_mat_loc);
3337          add_bind_variable('lpn_from_id', inv_mwb_globals.g_lpn_from_id);
3338      END IF;
3339 
3340      IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
3341          inv_mwb_globals.g_lpn_from_id <> NVL(inv_mwb_globals.g_lpn_to_id, -1) ) THEN
3342          add_where_clause('wlpn.lpn_id >= :lpn_from_id', p_mat_loc);
3343          add_bind_variable('lpn_from_id', inv_mwb_globals.g_lpn_from_id);
3344      END IF;
3345 
3346      IF (inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
3347          inv_mwb_globals.g_lpn_to_id <> NVL(inv_mwb_globals.g_lpn_from_id, -1) ) THEN
3348          add_where_clause('wlpn.lpn_id <= :lpn_to_id', p_mat_loc);
3349          add_bind_variable('lpn_to_id', inv_mwb_globals.g_lpn_to_id);
3350      END IF;
3351 */
3352 
3353      IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
3354          inv_mwb_globals.g_lot_to IS NOT NULL AND
3355          inv_mwb_globals.g_lot_from = inv_mwb_globals.g_lot_to) THEN
3356          add_where_clause('wlc.lot_number = :lot_from', p_mat_loc);
3357          add_bind_variable('lot_from', inv_mwb_globals.g_lot_from);
3358      END IF;
3359 
3360      IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
3361          inv_mwb_globals.g_lot_from <> NVL(inv_mwb_globals.g_lot_to, -1) ) THEN
3362          add_where_clause('wlc.lot_number >= :lot_from', p_mat_loc);
3363          add_bind_variable('lot_from', inv_mwb_globals.g_lot_from);
3364      END IF;
3365 
3366      IF (inv_mwb_globals.g_lot_to IS NOT NULL AND
3367          inv_mwb_globals.g_lot_to <> NVL(inv_mwb_globals.g_lot_from, -1) ) THEN
3368          add_where_clause('wlc.lot_number <= :lot_to', p_mat_loc);
3369          add_bind_variable('lot_to', inv_mwb_globals.g_lot_to);
3370      END IF;
3371 
3372 /* Bug 8396954, Adding below if condition for checking supplier_lot_number condition */
3373      IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL OR
3374          inv_mwb_globals.g_supplier_lot_to IS NOT NULL ) THEN
3375          inv_mwb_query_manager.add_from_clause('mtl_lot_numbers mln3', p_mat_loc);
3376          add_where_clause('wlc.lot_number = mln3.lot_number',p_mat_loc);
3377          add_where_clause('wlc.inventory_item_id = mln3.inventory_item_id', p_mat_loc);         -- Bug 9927569
3378          add_where_clause('wlc.organization_id = mln3.organization_id', p_mat_loc);             -- Bug 9927569
3379 
3380          IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
3381              inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
3382              inv_mwb_globals.g_supplier_lot_from = inv_mwb_globals.g_supplier_lot_to) THEN
3383              add_where_clause('mln3.supplier_lot_number = :supplier_lot_from', p_mat_loc);
3384              add_bind_variable('supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
3385          END IF;
3386 
3387          IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
3388              inv_mwb_globals.g_supplier_lot_from <> NVL(inv_mwb_globals.g_supplier_lot_to, -1) ) THEN
3389              add_where_clause('mln3.supplier_lot_number >= :supplier_lot_from', p_mat_loc);
3390              add_bind_variable('supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
3391          END IF;
3392 
3393          IF (inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
3394               inv_mwb_globals.g_supplier_lot_to <> NVL(inv_mwb_globals.g_supplier_lot_from, -1) ) THEN
3395               add_where_clause('mln3.supplier_lot_number <= :supplier_lot_to', p_mat_loc);
3396               add_bind_variable('supplier_lot_to', inv_mwb_globals.g_supplier_lot_to);
3397           END IF;
3398      END IF;
3399 /* End of Bug 8396954 */
3400 
3401      IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
3402          inv_mwb_globals.g_serial_to IS NOT NULL AND
3403          inv_mwb_globals.g_serial_from = inv_mwb_globals.g_serial_to) THEN
3404          add_where_clause('msn.serial_number = :serial_from', p_mat_loc);
3405          add_bind_variable('serial_from', inv_mwb_globals.g_serial_from);
3406      END IF;
3407 
3408      IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
3409          inv_mwb_globals.g_serial_from <> NVL(inv_mwb_globals.g_serial_to, -1) ) THEN
3410          add_where_clause('msn.serial_number >= :serial_from', p_mat_loc);
3411          add_bind_variable('serial_from', inv_mwb_globals.g_serial_from);
3412      END IF;
3413 
3414      IF (inv_mwb_globals.g_serial_to IS NOT NULL AND
3415          inv_mwb_globals.g_serial_to <> NVL(inv_mwb_globals.g_serial_from, -1) ) THEN
3416          add_where_clause('msn.serial_number <= :serial_to', p_mat_loc);
3417          add_bind_variable('serial_to', inv_mwb_globals.g_serial_to);
3418      END IF;
3419 
3420      /* Bug 5448079  */
3421      /*IF (inv_mwb_globals.g_qty_from IS NOT NULL AND
3422          inv_mwb_globals.g_qty_to IS NOT NULL AND
3423          inv_mwb_globals.g_qty_from = inv_mwb_globals.g_qty_to) THEN
3424          add_where_clause('wlc.quantity = :qty_from', p_mat_loc);
3425          add_bind_variable('qty_from', inv_mwb_globals.g_qty_from);
3426      END IF;
3427 
3428      IF (inv_mwb_globals.g_qty_from IS NOT NULL AND
3429          inv_mwb_globals.g_qty_from <> NVL(inv_mwb_globals.g_qty_to, -1) ) THEN
3430          add_where_clause('wlc.quantity >= :qty_from', p_mat_loc);
3431          add_bind_variable('qty_from', inv_mwb_globals.g_qty_from);
3432      END IF;
3433 
3434      IF (inv_mwb_globals.g_qty_to IS NOT NULL AND
3435          inv_mwb_globals.g_qty_to <> NVL(inv_mwb_globals.g_qty_from, -1) ) THEN
3436          add_where_clause('wlc.quantity <= :qty_to', p_mat_loc);
3437          add_bind_variable('qty_to', inv_mwb_globals.g_qty_to);
3438      END IF;    */
3439      /* End of Bug 5448079 */
3440   END add_qf_where_lpn_node;
3441 
3442 
3443   PROCEDURE add_qf_where_receiving(p_flag VARCHAR2) IS
3444     l_procedure_name VARCHAR2(30);
3445     l_serial_control NUMBER;
3446     l_lot_control NUMBER;
3447   BEGIN
3448      l_procedure_name := 'ADD_QF_WHERE_RECEIVING';
3449      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Entered');
3450 
3451      BEGIN
3452         SELECT lot_control_code,
3453                serial_number_control_code
3454         INTO   l_lot_control,
3455                l_serial_control
3456         FROM   mtl_system_items
3457         WHERE  inventory_item_id = inv_mwb_globals.g_tree_item_id
3458         AND    organization_id = inv_mwb_globals.g_tree_organization_id;
3459      EXCEPTION
3460       WHEN NO_DATA_FOUND THEN
3461          NULL;
3462      END;
3463 
3464      IF p_flag = 'TREE_LPN' THEN
3465          null;
3466      ELSIF p_flag = 'RECEIVING' THEN
3467          inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Addding table');
3468          inv_mwb_query_manager.add_from_clause(' rcv_supply rs ','RECEIVING');
3469          IF (inv_mwb_globals.g_lot_from IS NOT NULL
3470 	          OR inv_mwb_globals.g_lot_to IS NOT NULL)
3471     	    OR l_lot_control = 2 THEN
3472             inv_mwb_query_manager.add_from_clause('rcv_lots_supply rls','RECEIVING');
3473             add_where_clause('rls.shipment_line_id(+) = rs.shipment_line_id', 'RECEIVING');
3474 
3475 	    -- 9720688 start
3476             -- Following condition is added to avoid considering same
3477  	    -- receive transaction  mutiple times while displaying results for an over
3478             -- receipt in the material workbench form
3479 	    add_where_clause('rls.transaction_id(+) = rs.rcv_transaction_id', 'RECEIVING');
3480             -- 9720688 end
3481 
3482             IF inv_mwb_globals.g_tree_lot_number IS NULL THEN
3483 
3484                IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
3485                   inv_mwb_globals.g_lot_to IS NOT NULL AND
3486                   inv_mwb_globals.g_lot_from = inv_mwb_globals.g_lot_to) THEN
3487 		  -- Bug 9865190 Start
3488                   IF inv_mwb_globals.g_wms_enabled_flag = 1 THEN
3489                       inv_mwb_query_manager.g_receiving_select(inv_mwb_query_manager.RECEIVING).column_value :=
3490                         'SUM(rls.primary_quantity)';
3491                       inv_mwb_query_manager.add_where_clause('rls.supply_type_code = ''RECEIVING''', 'RECEIVING');
3492                       inv_mwb_query_manager.g_receiving_select(inv_mwb_query_manager.UNPACKED).column_value :=
3493                         'SUM(DECODE (rs.lpn_id, null, rls.primary_quantity, 0))';
3494                       inv_mwb_query_manager.g_receiving_select(inv_mwb_query_manager.PACKED).column_value :=
3495                         'SUM(DECODE (rs.lpn_id, null, 0, rls.primary_quantity))';
3496                       inv_mwb_query_manager.g_receiving_select(inv_mwb_query_manager.SECONDARY_RECEIVING).column_value :=
3497                         'SUM(rls.secondary_quantity)'; -- 8687440
3498                       inv_mwb_query_manager.g_receiving_select(inv_mwb_query_manager.SECONDARY_UNPACKED).column_value :=
3499                         'SUM(DECODE (rs.lpn_id, null, rls.secondary_quantity, 0))'; -- 8687440
3500                       inv_mwb_query_manager.g_receiving_select(inv_mwb_query_manager.SECONDARY_PACKED).column_value :=
3501                         'SUM(DECODE (rs.lpn_id, null, 0, rls.secondary_quantity))';                  -- 8687440
3502                   END IF;
3503 		  -- Bug 9865190 End
3504                   add_where_clause('rls.lot_num = :rcv_lot_from', 'RECEIVING');
3505                   add_bind_variable('rcv_lot_from', inv_mwb_globals.g_lot_from);
3506                END IF;
3507 
3508                IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
3509                   inv_mwb_globals.g_lot_from <> NVL(inv_mwb_globals.g_lot_to, -1) ) THEN
3510 		  -- Bug 9865190 Start
3511                   IF inv_mwb_globals.g_wms_enabled_flag = 1 THEN
3512                       inv_mwb_query_manager.g_receiving_select(inv_mwb_query_manager.RECEIVING).column_value :=
3513                         'SUM(rls.primary_quantity)';
3514                       inv_mwb_query_manager.add_where_clause('rls.supply_type_code = ''RECEIVING''', 'RECEIVING');
3515                       inv_mwb_query_manager.g_receiving_select(inv_mwb_query_manager.UNPACKED).column_value :=
3516                         'SUM(DECODE (rs.lpn_id, null, rls.primary_quantity, 0))';
3517                       inv_mwb_query_manager.g_receiving_select(inv_mwb_query_manager.PACKED).column_value :=
3518                         'SUM(DECODE (rs.lpn_id, null, 0, rls.primary_quantity))';
3519                   END IF;
3520 		  -- Bug 9865190 End
3521                   add_where_clause('rls.lot_num >= :rcv_lot_from', 'RECEIVING');
3522                   add_bind_variable('rcv_lot_from', inv_mwb_globals.g_lot_from);
3523                END IF;
3524 
3525                IF (inv_mwb_globals.g_lot_to IS NOT NULL AND
3526                   inv_mwb_globals.g_lot_to <> NVL(inv_mwb_globals.g_lot_from, -1) ) THEN
3527 		  -- Bug 9865190 Start
3528                   IF inv_mwb_globals.g_wms_enabled_flag = 1 THEN
3529                       inv_mwb_query_manager.g_receiving_select(inv_mwb_query_manager.RECEIVING).column_value :=
3530                         'SUM(rls.primary_quantity)';
3531                       inv_mwb_query_manager.add_where_clause('rls.supply_type_code = ''RECEIVING''', 'RECEIVING');
3532                       inv_mwb_query_manager.g_receiving_select(inv_mwb_query_manager.UNPACKED).column_value :=
3533                         'SUM(DECODE (rs.lpn_id, null, rls.primary_quantity, 0))';
3534                       inv_mwb_query_manager.g_receiving_select(inv_mwb_query_manager.PACKED).column_value :=
3535                         'SUM(DECODE (rs.lpn_id, null, 0, rls.primary_quantity))';
3536                   END IF;
3537 		  -- Bug 9865190 End
3538                   add_where_clause('rls.lot_num <= :rcv_lot_to', 'RECEIVING');
3539                   add_bind_variable('rcv_lot_to', inv_mwb_globals.g_lot_to);
3540                END IF;
3541            END IF;
3542      	   END IF;
3543 
3544 /* Bug 8396954, Adding below if condition for checking supplier_lot_number condition */
3545             IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL OR
3546                inv_mwb_globals.g_supplier_lot_to IS NOT NULL ) THEN
3547                inv_mwb_query_manager.add_from_clause('mtl_lot_numbers mln3', 'RECEIVING');
3548                  inv_mwb_query_manager.add_from_clause('rcv_lots_supply rls1','RECEIVING');
3549                  add_where_clause('rls1.shipment_line_id(+) = rs.shipment_line_id', 'RECEIVING');
3550                  add_where_clause('mln3.lot_number = rls1.lot_num', 'RECEIVING');
3551                  add_where_clause('rs.item_id = mln3.inventory_item_id', 'RECEIVING');                -- Bug 9927569
3552                  add_where_clause('rs.to_organization_id =  mln3.organization_id', 'RECEIVING');      -- Bug 9927569
3553 
3554 
3555                 IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
3556                     inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
3557                     inv_mwb_globals.g_supplier_lot_from = inv_mwb_globals.g_supplier_lot_to) THEN
3558                     add_where_clause('mln3.supplier_lot_number = :rcv_supplier_lot_from', 'RECEIVING');
3559                     add_bind_variable('rcv_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
3560                 END IF;
3561 
3562                 IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
3563                        inv_mwb_globals.g_supplier_lot_from <> NVL(inv_mwb_globals.g_supplier_lot_to, -1) ) THEN
3564                            add_where_clause('mln3.supplier_lot_number >= :rcv_supplier_lot_from', 'RECEIVING');
3565                    add_bind_variable('rcv_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
3566                 END IF;
3567 
3568                 IF (inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
3569                    inv_mwb_globals.g_supplier_lot_to <> NVL(inv_mwb_globals.g_supplier_lot_from, -1) ) THEN
3570                    add_where_clause('mln3.supplier_lot_number <= :rcv_supplier_lot_to', 'RECEIVING');
3571                  add_bind_variable('rcv_supplier_lot_to', inv_mwb_globals.g_supplier_lot_to);
3572                 END IF;
3573                 END IF ;
3574 /* End of Bug 8396954 */
3575 
3576          /* Bug 8225619. Adding ELSE CONDITION code such that right side grid
3577             retrieves the organizations which are relevant to particular
3578             responsibility id and responisibility application id */
3579          IF inv_mwb_globals.g_organization_id IS NOT NULL THEN
3580             add_where_clause('rs.to_organization_id = :rcv_to_organization_id', 'RECEIVING');
3581             add_bind_variable('rcv_to_organization_id', inv_mwb_globals.g_organization_id);
3582          ELSE
3583             add_where_clause(' EXISTS ( SELECT 1 FROM org_access_view oav WHERE oav.organization_id = rs.to_organization_id AND oav.responsibility_id   = :responsibility_id AND oav.resp_application_id = :resp_application_id ) ', 'RECEIVING');
3584             add_bind_variable('responsibility_id', inv_mwb_globals.g_responsibility_id);
3585             add_bind_variable('resp_application_id', inv_mwb_globals.g_resp_application_id);
3586          END IF;
3587          /* End of Bug 8225619*/
3588 
3589          IF inv_mwb_globals.g_subinventory_code IS NOT NULL THEN
3590             add_where_clause('rs.to_subinventory = :rcv_to_subinventory_code', 'RECEIVING');
3591             add_bind_variable('rcv_to_subinventory_code', inv_mwb_globals.g_subinventory_code);
3592          END IF;
3593 
3594          IF inv_mwb_globals.g_locator_id IS NOT NULL THEN
3595             add_where_clause('rs.to_locator_id = :rcv_to_locator_id', 'RECEIVING');
3596             add_bind_variable('rcv_to_locator_id', inv_mwb_globals.g_locator_id);
3597          END IF;
3598 
3599          -- ER(9158529 client)
3600          IF inv_mwb_globals.g_client_code IS NOT NULL THEN
3601             add_where_clause('rs.item_id in (select DISTINCT inventory_item_id from mtl_system_items_b where wms_deploy.get_client_code(inventory_item_id) = :rcv_client_code) ', 'RECEIVING');
3602             add_bind_variable('rcv_client_code', inv_mwb_globals.g_client_code);
3603          END IF;
3604          -- ER(9158529 client)
3605 
3606          IF inv_mwb_globals.g_inventory_item_id IS NOT NULL THEN
3607             add_where_clause('rs.item_id = :rcv_item_id', 'RECEIVING');
3608             add_bind_variable('rcv_item_id', inv_mwb_globals.g_inventory_item_id);
3609          END IF;
3610 
3611          --Bug 14548684 add view mtl_system_items_vl to support multi-language
3612          IF inv_mwb_globals.g_inventory_item_id IS NULL
3613          AND inv_mwb_globals.g_item_description IS NOT NULL THEN
3614             inv_mwb_query_manager.add_from_clause('mtl_system_items_b msib','RECEIVING');
3615             inv_mwb_query_manager.add_from_clause('mtl_system_items_vl msiv', 'RECEIVING');
3616             add_where_clause('msib.inventory_item_id = rs.item_id', 'RECEIVING');
3617             add_where_clause('msib.organization_id = rs.to_organization_id', 'RECEIVING');
3618             add_where_clause('msib.inventory_item_id = msiv.inventory_item_id', 'RECEIVING');
3619               add_where_clause('msib.organization_id = msiv.organization_id', 'RECEIVING');
3620             add_where_clause('upper(msiv.description) LIKE upper(:rcv_item_description)', 'RECEIVING');--Bug 14177143
3621             add_bind_variable('rcv_item_description', inv_mwb_globals.g_item_description);
3622          END IF;
3623 
3624          IF inv_mwb_globals.g_revision IS NOT NULL THEN
3625             add_where_clause('rs.item_revision = :rcv_item_revision', 'RECEIVING');
3626             add_bind_variable('rcv_item_revision', inv_mwb_globals.g_revision);
3627          END IF;
3628 
3629          -- ER(9158529)
3630          IF inv_mwb_globals.g_category_set_id IS NOT NULL THEN
3631             add_where_clause('rs.item_id in '
3632                                  || ' (select DISTINCT inventory_item_id from mtl_item_categories '
3633                                  || ' where organization_id = :rcv_to_organization_id '
3634                                  || ' and category_set_id = :rcv_category_set_id '
3635                                  || ' and category_id = nvl(:rcv_category_id, category_id))', 'RECEIVING');
3636             add_bind_variable('rcv_to_organization_id', inv_mwb_globals.g_organization_id);
3637             add_bind_variable('rcv_category_set_id', inv_mwb_globals.g_category_set_id);
3638             add_bind_variable('rcv_category_id', inv_mwb_globals.g_category_id);
3639          END IF;
3640          -- ER(9158529)
3641 
3642          IF inv_mwb_globals.g_lpn_from_id IS NOT NULL
3643          OR inv_mwb_globals.g_lpn_to_id IS NOT NULL THEN
3644             inv_mwb_query_manager.add_from_clause(' wms_license_plate_numbers wlpn ','RECEIVING');
3645             add_where_clause('rs.lpn_id = wlpn.lpn_id', 'RECEIVING');
3646          END IF;
3647 
3648          IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
3649              inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
3650              inv_mwb_globals.g_lpn_from_id = inv_mwb_globals.g_lpn_to_id) THEN
3651              add_where_clause('rs.lpn_id = :rcv_lpn_from_id', 'RECEIVING');
3652              add_bind_variable('rcv_lpn_from_id', inv_mwb_globals.g_lpn_from_id);
3653          END IF;
3654 
3655          IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
3656              inv_mwb_globals.g_lpn_from_id <> NVL(inv_mwb_globals.g_lpn_to_id, -1) ) THEN
3657              add_where_clause('wlpn.license_plate_number >= :rcv_lpn_from', 'RECEIVING');
3658              add_bind_variable('rcv_lpn_from', inv_mwb_globals.g_lpn_from);
3659          END IF;
3660 
3661          IF (inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
3662              inv_mwb_globals.g_lpn_to_id <> NVL(inv_mwb_globals.g_lpn_from_id, -1) ) THEN
3663              add_where_clause('wlpn.license_plate_number <= :rcv_lpn_to', 'RECEIVING');
3664              add_bind_variable('rcv_lpn_to', inv_mwb_globals.g_lpn_to);
3665          END IF;
3666 
3667       ELSIF p_flag = 'MSN_RECEIVING' THEN
3668 
3669          inv_mwb_query_manager.add_from_clause(' mtl_serial_numbers msn ','RECEIVING');
3670          add_where_clause('msn.current_status = 7', 'RECEIVING');
3671 
3672          /* Bug 8225619. Adding ELSE CONDITION code such that right side grid
3673             retrieves the organizations which are relevant to particular
3674             responsibility id and responisibility application id */
3675          IF inv_mwb_globals.g_organization_id IS NOT NULL THEN
3676             add_where_clause('msn.current_organization_id = :rcv_to_organization_id', 'RECEIVING');
3677             add_bind_variable('rcv_to_organization_id', inv_mwb_globals.g_organization_id);
3678          ELSE
3679             add_where_clause(' EXISTS ( SELECT 1 FROM org_access_view oav WHERE oav.organization_id = msn.current_organization_id AND oav.responsibility_id   = :responsibility_id AND oav.resp_application_id = :resp_application_id ) ', 'RECEIVING');
3680             add_bind_variable('responsibility_id', inv_mwb_globals.g_responsibility_id);
3681             add_bind_variable('resp_application_id', inv_mwb_globals.g_resp_application_id);
3682          END IF;
3683          /* End of Bug 8225619*/
3684 
3685          IF inv_mwb_globals.g_subinventory_code IS NOT NULL THEN
3686             add_where_clause('msn.current_subinventory_code = :rcv_to_subinventory_code', 'RECEIVING');
3687             add_bind_variable('rcv_to_subinventory_code', inv_mwb_globals.g_subinventory_code);
3688          END IF;
3689 
3690          IF inv_mwb_globals.g_locator_id IS NOT NULL THEN
3691             add_where_clause('msn.current_locator_id = :rcv_to_locator_id', 'RECEIVING');
3692             add_bind_variable('rcv_to_locator_id', inv_mwb_globals.g_locator_id);
3693          END IF;
3694 
3695          -- ER(9158529 client)
3696          IF inv_mwb_globals.g_client_code IS NOT NULL THEN
3697             add_where_clause('msn.inventory_item_id in (select DISTINCT inventory_item_id from mtl_system_items_b where wms_deploy.get_client_code(inventory_item_id) = :rcv_client_code) ', 'RECEIVING');
3698             add_bind_variable('rcv_client_code', inv_mwb_globals.g_client_code);
3699          END IF;
3700          -- ER(9158529 client)
3701 
3702          IF inv_mwb_globals.g_inventory_item_id IS NOT NULL THEN
3703             add_where_clause('msn.inventory_item_id = :rcv_item_id', 'RECEIVING');
3704             add_bind_variable('rcv_item_id', inv_mwb_globals.g_inventory_item_id);
3705          END IF;
3706 
3707          --Bug 14548684 add view mtl_system_items_vl to support multi-language
3708          IF inv_mwb_globals.g_inventory_item_id IS NULL
3709          AND inv_mwb_globals.g_item_description IS NOT NULL THEN
3710             inv_mwb_query_manager.add_from_clause('mtl_system_items_kfv msik','RECEIVING');
3711             inv_mwb_query_manager.add_from_clause('mtl_system_items_vl msiv', 'RECEIVING');
3712             add_where_clause('msik.inventory_item_id = msn.inventory_item_id', 'RECEIVING');
3713             add_where_clause('msik.organization_id = msn.current_organization_id', 'RECEIVING');
3714             add_where_clause('msik.inventory_item_id = msiv.inventory_item_id', 'RECEIVING');
3715             add_where_clause('msik.organization_id = msiv.organization_id', 'RECEIVING');
3716             add_where_clause('upper(msiv.description) LIKE upper('':rcv_item_description'')', 'RECEIVING');--Bug 14177143
3717             add_bind_variable('rcv_item_description', inv_mwb_globals.g_item_description);
3718          END IF;
3719 
3720          IF inv_mwb_globals.g_revision IS NOT NULL THEN
3721             add_where_clause('msn.revision = :rcv_item_revision', 'RECEIVING');
3722             add_bind_variable('rcv_item_revision', inv_mwb_globals.g_revision);
3723          END IF;
3724 
3725          -- ER(9158529)
3726          IF inv_mwb_globals.g_category_set_id IS NOT NULL THEN
3727             add_where_clause('msn.inventory_item_id in '
3728                                 || ' (select DISTINCT inventory_item_id from mtl_item_categories '
3729                                 || ' where organization_id = :rcv_to_organization_id '
3730                                 || ' and category_set_id = :rcv_category_set_id '
3731                                 || ' and category_id = nvl(:rcv_category_id, category_id))', 'RECEIVING');
3732             add_bind_variable('rcv_to_organization_id', inv_mwb_globals.g_organization_id);
3733             add_bind_variable('rcv_category_set_id', inv_mwb_globals.g_category_set_id);
3734             add_bind_variable('rcv_category_id', inv_mwb_globals.g_category_id);
3735          END IF;
3736          -- ER(9158529)
3737 
3738          IF inv_mwb_globals.g_lpn_from_id IS NOT NULL
3739          OR inv_mwb_globals.g_lpn_to_id IS NOT NULL THEN
3740             inv_mwb_query_manager.add_from_clause(' wms_license_plate_numbers wlpn ','RECEIVING');
3741             add_where_clause('msn.lpn_id = wlpn.lpn_id', 'RECEIVING');
3742          END IF;
3743 
3744          IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
3745              inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
3746              inv_mwb_globals.g_lpn_from_id = inv_mwb_globals.g_lpn_to_id) THEN
3747              add_where_clause('msn.lpn_id = :rcv_lpn_from_id', 'RECEIVING');
3748              add_bind_variable('rcv_lpn_from_id', inv_mwb_globals.g_lpn_from_id);
3749          END IF;
3750 
3751          IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
3752              inv_mwb_globals.g_lpn_from_id <> NVL(inv_mwb_globals.g_lpn_to_id, -1) ) THEN
3753              add_where_clause('wlpn.license_plate_number >= :rcv_lpn_from', 'RECEIVING');
3754              add_bind_variable('rcv_lpn_from', inv_mwb_globals.g_lpn_from);
3755          END IF;
3756 
3757          IF (inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
3758              inv_mwb_globals.g_lpn_to_id <> NVL(inv_mwb_globals.g_lpn_from_id, -1) ) THEN
3759              add_where_clause('wlpn.license_plate_number <= :rcv_lpn_to', 'RECEIVING');
3760              add_bind_variable('rcv_lpn_to', inv_mwb_globals.g_lpn_to);
3761          END IF;
3762 
3763          IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
3764             inv_mwb_globals.g_serial_to IS NOT NULL AND
3765             inv_mwb_globals.g_serial_from = inv_mwb_globals.g_serial_to) THEN
3766             add_where_clause('msn.serial_number = :rcv_serial_from', 'RECEIVING');
3767             add_bind_variable('rcv_serial_from', inv_mwb_globals.g_serial_from);
3768          END IF;
3769 
3770          IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
3771              inv_mwb_globals.g_serial_from <> NVL(inv_mwb_globals.g_serial_to, -1) ) THEN
3772              add_where_clause('msn.serial_number >= :rcv_serial_from', 'RECEIVING');
3773              add_bind_variable('rcv_serial_from', inv_mwb_globals.g_serial_from);
3774          END IF;
3775 
3776          IF (inv_mwb_globals.g_serial_to IS NOT NULL AND
3777              inv_mwb_globals.g_serial_to <> NVL(inv_mwb_globals.g_serial_from, -1) ) THEN
3778              add_where_clause('msn.serial_num <= :rcv_serial_to', 'RECEIVING');
3779              add_bind_variable('rcv_serial_to', inv_mwb_globals.g_serial_to);
3780          END IF;
3781 
3782          IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
3783              inv_mwb_globals.g_lot_to IS NOT NULL AND
3784              inv_mwb_globals.g_lot_from = inv_mwb_globals.g_lot_to) THEN
3785              add_where_clause('msn.lot_number = :rcv_lot_from', 'RECEIVING');
3786              add_bind_variable('rcv_lot_from', inv_mwb_globals.g_lot_from);
3787          END IF;
3788 
3789          IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
3790             inv_mwb_globals.g_lot_from <> NVL(inv_mwb_globals.g_lot_to, -1) ) THEN
3791             add_where_clause('msn.lot_number >= :rcv_lot_from', 'RECEIVING');
3792             add_bind_variable('rcv_lot_from', inv_mwb_globals.g_lot_from);
3793          END IF;
3794 
3795          IF (inv_mwb_globals.g_lot_to IS NOT NULL AND
3796              inv_mwb_globals.g_lot_to <> NVL(inv_mwb_globals.g_lot_from, -1) ) THEN
3797              add_where_clause('msn.lot_number <= :rcv_lot_to', 'RECEIVING');
3798              add_bind_variable('rcv_lot_to', inv_mwb_globals.g_lot_to);
3799          END IF;
3800 
3801 /* Bug 8396954, Adding below if condition for checking supplier_lot_number condition */
3802         IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL OR
3803             inv_mwb_globals.g_supplier_lot_to IS NOT NULL ) THEN
3804             inv_mwb_query_manager.add_from_clause('mtl_lot_numbers mln3', 'RECEIVING');
3805             add_where_clause('msn.lot_number =mln3.lot_number', 'RECEIVING');
3806             add_where_clause('msn.inventory_item_id = mln3.inventory_item_id', 'RECEIVING');                -- Bug 9927569
3807             add_where_clause('msn.current_organization_id =  mln3.organization_id', 'RECEIVING');           -- Bug 9927569
3808 
3809             IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
3810                inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
3811                inv_mwb_globals.g_supplier_lot_from = inv_mwb_globals.g_supplier_lot_to) THEN
3812                add_where_clause('mln3.supplier_lot_number = :rcv_supplier_lot_from', 'RECEIVING');
3813                add_bind_variable('rcv_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
3814             END IF;
3815 
3816             IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
3817                inv_mwb_globals.g_supplier_lot_from <> NVL(inv_mwb_globals.g_supplier_lot_to, -1) ) THEN
3818                add_where_clause('mln3.supplier_lot_number >= :rcv_supplier_lot_from', 'RECEIVING');
3819                add_bind_variable('rcv_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
3820             END IF;
3821 
3822             IF (inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
3823                inv_mwb_globals.g_supplier_lot_to <> NVL(inv_mwb_globals.g_supplier_lot_from, -1) ) THEN
3824                add_where_clause('mln3.supplier_lot_number <= :rcv_supplier_lot_to', 'RECEIVING');
3825                add_bind_variable('rcv_supplier_lot_to', inv_mwb_globals.g_supplier_lot_to);
3826             END IF;
3827         END IF;
3828 /* End of Bug 8396954 */
3829 
3830       ELSIF p_flag = 'MSN' THEN
3831 
3832          inv_mwb_query_manager.add_from_clause(' rcv_supply rs ','RECEIVING');
3833          inv_mwb_query_manager.add_from_clause('rcv_serials_supply rss','RECEIVING');
3834          add_where_clause('rs.shipment_line_id = rss.shipment_line_id (+) ', 'RECEIVING');
3835 
3836          /* Bug 8225619. Adding ELSE CONDITION code such that right side grid
3837             retrieves the organizations which are relevant to particular
3838             responsibility id and responisibility application id */
3839          IF inv_mwb_globals.g_organization_id IS NOT NULL THEN
3840             add_where_clause('rs.to_organization_id = :rcv_to_organization_id', 'RECEIVING');
3841             add_bind_variable('rcv_to_organization_id', inv_mwb_globals.g_organization_id);
3842          ELSE
3843             add_where_clause(' EXISTS ( SELECT 1 FROM org_access_view oav WHERE oav.organization_id = rs.to_organization_id AND oav.responsibility_id   = :responsibility_id AND oav.resp_application_id = :resp_application_id ) ', 'RECEIVING');
3844             add_bind_variable('responsibility_id', inv_mwb_globals.g_responsibility_id);
3845             add_bind_variable('resp_application_id', inv_mwb_globals.g_resp_application_id);
3846          END IF;
3847          /* End of Bug 8225619*/
3848 
3849          IF inv_mwb_globals.g_subinventory_code IS NOT NULL THEN
3850             add_where_clause('rs.to_subinventory = :rcv_to_subinventory_code', 'RECEIVING');
3851             add_bind_variable('rcv_to_subinventory_code', inv_mwb_globals.g_subinventory_code);
3852          END IF;
3853 
3854          IF inv_mwb_globals.g_locator_id IS NOT NULL THEN
3855             add_where_clause('rs.to_locator_id = :rcv_to_locator_id', 'RECEIVING');
3856             add_bind_variable('rcv_to_locator_id', inv_mwb_globals.g_locator_id);
3857          END IF;
3858 
3859          -- ER(9158529 client)
3860          IF inv_mwb_globals.g_client_code IS NOT NULL THEN
3861             add_where_clause('rs.item_id in (select DISTINCT inventory_item_id from mtl_system_items_b where wms_deploy.get_client_code(inventory_item_id) = :rcv_client_code) ', 'RECEIVING');
3862             add_bind_variable('rcv_client_code', inv_mwb_globals.g_client_code);
3863          END IF;
3864          -- ER(9158529 client)
3865 
3866          IF inv_mwb_globals.g_inventory_item_id IS NOT NULL THEN
3867             add_where_clause('rs.item_id = :rcv_item_id', 'RECEIVING');
3868             add_bind_variable('rcv_item_id', inv_mwb_globals.g_inventory_item_id);
3869          END IF;
3870 
3871          IF inv_mwb_globals.g_inventory_item_id IS NULL
3872          AND inv_mwb_globals.g_item_description IS NOT NULL THEN
3873             inv_mwb_query_manager.add_from_clause('mtl_system_items_b msib','RECEIVING');
3874             add_where_clause('msib.inventory_item_id = rs.item_id', 'RECEIVING');
3875             add_where_clause('msib.organization_id = rs.to_organization_id', 'RECEIVING');
3876             add_where_clause('upper(msib.description) LIKE upper(:rcv_item_description)', 'RECEIVING');
3877             add_bind_variable('rcv_item_description', inv_mwb_globals.g_item_description);
3878          END IF;
3879 
3880          IF inv_mwb_globals.g_revision IS NOT NULL THEN
3881             add_where_clause('rs.item_revision = :rcv_item_revision', 'RECEIVING');
3882             add_bind_variable('rcv_item_revision', inv_mwb_globals.g_revision);
3883          END IF;
3884 
3885          -- ER(9158529)
3886          IF inv_mwb_globals.g_category_set_id IS NOT NULL THEN
3887             add_where_clause('rs.item_id in '
3888                                 || ' (select DISTINCT inventory_item_id from mtl_item_categories '
3889                                 || ' where organization_id = :rcv_to_organization_id '
3890                                 || ' and category_set_id = :rcv_category_set_id '
3891                                 || ' and category_id = nvl(:rcv_category_id, category_id))', 'RECEIVING');
3892             add_bind_variable('rcv_to_organization_id', inv_mwb_globals.g_organization_id);
3893             add_bind_variable('rcv_category_set_id', inv_mwb_globals.g_category_set_id);
3894             add_bind_variable('rcv_category_id', inv_mwb_globals.g_category_id);
3895          END IF;
3896          -- ER(9158529)
3897 
3898          IF inv_mwb_globals.g_lpn_from_id IS NOT NULL
3899          OR inv_mwb_globals.g_lpn_to_id IS NOT NULL THEN
3900             inv_mwb_query_manager.add_from_clause(' wms_license_plate_numbers wlpn ','RECEIVING');
3901             add_where_clause('rs.lpn_id = wlpn.lpn_id', 'RECEIVING');
3902          END IF;
3903 
3904          IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
3905              inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
3906              inv_mwb_globals.g_lpn_from_id = inv_mwb_globals.g_lpn_to_id) THEN
3907              add_where_clause('rs.lpn_id = :rcv_lpn_from_id', 'RECEIVING');
3908              add_bind_variable('rcv_lpn_from_id', inv_mwb_globals.g_lpn_from_id);
3909          END IF;
3910 
3911          IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
3912              inv_mwb_globals.g_lpn_from_id <> NVL(inv_mwb_globals.g_lpn_to_id, -1) ) THEN
3913              add_where_clause('wlpn.license_plate_number >= :rcv_lpn_from', 'RECEIVING');
3914              add_bind_variable('rcv_lpn_from', inv_mwb_globals.g_lpn_from);
3915          END IF;
3916 
3917          IF (inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
3918              inv_mwb_globals.g_lpn_to_id <> NVL(inv_mwb_globals.g_lpn_from_id, -1) ) THEN
3919              add_where_clause('wlpn.license_plate_number <= :rcv_lpn_to', 'RECEIVING');
3920              add_bind_variable('rcv_lpn_to', inv_mwb_globals.g_lpn_to);
3921          END IF;
3922 
3923 	      IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
3924              inv_mwb_globals.g_serial_to IS NOT NULL AND
3925              inv_mwb_globals.g_serial_from = inv_mwb_globals.g_serial_to) THEN
3926              add_where_clause('rss.serial_num = :rcv_serial_from', 'RECEIVING');
3927              add_bind_variable('rcv_serial_from', inv_mwb_globals.g_serial_from);
3928          END IF;
3929 
3930          IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
3931              inv_mwb_globals.g_serial_from <> NVL(inv_mwb_globals.g_serial_to, -1) ) THEN
3932              add_where_clause('rss.serial_num >= :rcv_serial_from', 'RECEIVING');
3933              add_bind_variable('rcv_serial_from', inv_mwb_globals.g_serial_from);
3934          END IF;
3935 
3936          IF (inv_mwb_globals.g_serial_to IS NOT NULL AND
3937              inv_mwb_globals.g_serial_to <> NVL(inv_mwb_globals.g_serial_from, -1) ) THEN
3938              add_where_clause('rss.serial_num <= :rcv_serial_to', 'RECEIVING');
3939              add_bind_variable('rcv_serial_to', inv_mwb_globals.g_serial_to);
3940          END IF;
3941 
3942          IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
3943              inv_mwb_globals.g_lot_to IS NOT NULL AND
3944              inv_mwb_globals.g_lot_from = inv_mwb_globals.g_lot_to) THEN
3945              add_where_clause('rss.lot_num = :rcv_lot_from', 'RECEIVING');
3946              add_bind_variable('rcv_lot_from', inv_mwb_globals.g_lot_from);
3947          END IF;
3948 
3949          IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
3950             inv_mwb_globals.g_lot_from <> NVL(inv_mwb_globals.g_lot_to, -1) ) THEN
3951             add_where_clause('rss.lot_num >= :rcv_lot_from', 'RECEIVING');
3952             add_bind_variable('rcv_lot_from', inv_mwb_globals.g_lot_from);
3953          END IF;
3954 
3955          IF (inv_mwb_globals.g_lot_to IS NOT NULL AND
3956              inv_mwb_globals.g_lot_to <> NVL(inv_mwb_globals.g_lot_from, -1) ) THEN
3957              add_where_clause('rss.lot_num <= :rcv_lot_to', 'RECEIVING');
3958              add_bind_variable('rcv_lot_to', inv_mwb_globals.g_lot_to);
3959          END IF;
3960 
3961 /* Bug 8396954, Adding below if condition for checking supplier_lot_number condition */
3962          IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL OR
3963              inv_mwb_globals.g_supplier_lot_to IS NOT NULL ) THEN
3964              inv_mwb_query_manager.add_from_clause('mtl_lot_numbers mln3', 'RECEIVING');
3965              add_where_clause('mln3.lot_number = rss.lot_num', 'RECEIVING');
3966              add_where_clause('rs.item_id = mln3.inventory_item_id', 'RECEIVING');                     -- Bug 9927569
3967              add_where_clause('rs.to_organization_id =  mln3.organization_id', 'RECEIVING');           -- Bug 9927569
3968 
3969               IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
3970                   inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
3971                   inv_mwb_globals.g_supplier_lot_from = inv_mwb_globals.g_supplier_lot_to) THEN
3972                   add_where_clause('mln3.supplier_lot_number = :rcv_supplier_lot_from', 'RECEIVING');
3973                   add_bind_variable('rcv_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
3974               END IF;
3975               IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
3976                   inv_mwb_globals.g_supplier_lot_from <> NVL(inv_mwb_globals.g_supplier_lot_to, -1) ) THEN
3977                   add_where_clause('mln3.supplier_lot_number >= :rcv_supplier_lot_from', 'RECEIVING');
3978                   add_bind_variable('rcv_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
3979               END IF;
3980 
3981               IF (inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
3982                   inv_mwb_globals.g_supplier_lot_to <> NVL(inv_mwb_globals.g_supplier_lot_from, -1) ) THEN
3983                   add_where_clause('mln3.supplier_lot_number <= :rcv_supplier_lot_to', 'RECEIVING');
3984                   add_bind_variable('rcv_supplier_lot_to', inv_mwb_globals.g_supplier_lot_to);
3985               END IF;
3986          END IF ;
3987 /* End of Bug 8396954 */
3988 
3989       END IF;
3990       inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'exited');
3991   END add_qf_where_receiving;
3992 
3993    PROCEDURE add_qf_where_inbound(p_flag VARCHAR2) IS
3994       l_procedure_name VARCHAR2(30);
3995       l_rev_control    NUMBER;
3996       l_lot_control    NUMBER;
3997       l_serial_control NUMBER;
3998    BEGIN
3999       l_procedure_name := 'ADD_QF_WHERE_INBOUND';
4000       inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Entered');
4001 
4002       IF inv_mwb_globals.g_tree_item_id IS NOT NULL
4003       AND inv_mwb_globals.g_tree_organization_id IS NOT NULL THEN
4004 
4005          SELECT revision_qty_control_code,
4006                 lot_control_code,
4007                 serial_number_control_code
4008            INTO l_rev_control,
4009                 l_lot_control,
4010                 l_serial_control
4011            FROM mtl_system_items
4012           WHERE inventory_item_id = inv_mwb_globals.g_tree_item_id
4013             AND organization_id = inv_mwb_globals.g_tree_organization_id;
4014 
4015       END IF;
4016 
4017       inv_mwb_query_manager.add_from_clause(' mtl_supply ms ','INBOUND');
4018       inv_mwb_query_manager.add_where_clause('ms.supply_type_code <> ''RECEIVING''','INBOUND');
4019       inv_mwb_query_manager.add_where_clause('ms.destination_type_code = ''INVENTORY''','INBOUND');
4020 
4021 
4022        --15991963
4023          IF  inv_mwb_globals.g_include_po_without_asn = 0 THEN
4024             inv_mwb_query_manager.add_where_clause(' ms.supply_type_code = ''SHIPMENT''','INBOUND');
4025          END IF;
4026 
4027 
4028 
4029       IF inv_mwb_globals.g_po_header_id IS NOT NULL
4030       OR inv_mwb_globals.g_vendor_id IS NOT NULL
4031       OR inv_mwb_globals.g_shipment_header_id_asn IS NOT NULL
4032       OR inv_mwb_globals.g_vendor_item IS NOT NULL THEN
4033 
4034          inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Supplier tab');
4035 
4036          inv_mwb_query_manager.add_from_clause('po_headers_trx_v pha','INBOUND');     -- CLM project, bug 9403291
4037          inv_mwb_query_manager.add_where_clause(' pha.po_header_id = ms.po_header_id ','INBOUND');
4038          inv_mwb_query_manager.add_where_clause('pha.authorization_status = ''APPROVED''', 'INBOUND');
4039 
4040 /*         IF inv_mwb_globals.g_include_po_without_asn = 1 THEN
4041             inv_mwb_query_manager.add_where_clause(' ms.supply_type_code IN (''PO'',''SHIPMENT'')','INBOUND');
4042          ELSIF inv_mwb_globals.g_include_po_without_asn = 0 THEN
4043             inv_mwb_query_manager.add_where_clause(' ms.supply_type_code = ''SHIPMENT''','INBOUND');
4044 --            inv_mwb_query_manager.add_where_clause(' ms.shipment_header_id IS NULL','INBOUND');
4045          END IF;
4046 */
4047 
4048          IF inv_mwb_globals.g_vendor_id IS NOT NULL THEN
4049             add_where_clause('pha.vendor_id = :inb_vendor_id', 'INBOUND');
4050             add_bind_variable('inb_vendor_id', inv_mwb_globals.g_vendor_id);
4051             IF inv_mwb_globals.g_vendor_site_id IS NOT NULL THEN
4052                add_where_clause('pha.vendor_site_id = :inb_vendor_site_id', 'INBOUND');
4053                add_bind_variable('inb_vendor_site_id', inv_mwb_globals.g_vendor_site_id);
4054             END IF;
4055          END IF;
4056 
4057          IF inv_mwb_globals.g_vendor_item IS NOT NULL THEN
4058             inv_mwb_query_manager.add_from_clause('po_lines_trx_v pla ','INBOUND');                  -- CLM project, bug 9403291
4059             inv_mwb_query_manager.add_where_clause('ms.po_line_id = pla.po_line_id', 'INBOUND');
4060             inv_mwb_query_manager.add_where_clause('pla.vendor_product_num = :inb_vendor_item', 'INBOUND');
4061             add_bind_variable('inb_vendor_item', inv_mwb_globals.g_vendor_item);
4062          END IF;
4063 
4064          IF inv_mwb_globals.g_po_header_id IS NOT NULL THEN
4065             inv_mwb_query_manager.add_where_clause(' ms.po_header_id = :inb_po_header_id ','INBOUND');
4066             inv_mwb_query_manager.add_where_clause(' ms.supply_type_code = ''PO'' ','INBOUND');
4067             add_bind_variable('inb_po_header_id', inv_mwb_globals.g_po_header_id);
4068          END IF;
4069 
4070          IF  inv_mwb_globals.g_po_release_id IS NOT NULL THEN
4071             add_where_clause('ms.po_release_id = :inb_po_release_id', 'INBOUND');
4072             add_bind_variable('inb_po_release_id', inv_mwb_globals.g_po_release_id);
4073          END IF;
4074 
4075          IF inv_mwb_globals.g_shipment_header_id_asn IS NOT NULL
4076          OR inv_mwb_globals.g_tree_doc_type_id IN (3,4) THEN
4077             inv_mwb_query_manager.add_from_clause(' rcv_shipment_headers rsh ','INBOUND');
4078             add_where_clause('rsh.shipment_header_id(+) = ms.shipment_header_id', 'INBOUND');
4079          END IF;
4080 
4081          IF inv_mwb_globals.g_shipment_header_id_asn IS NOT NULL THEN
4082             inv_mwb_query_manager.add_where_clause(' rsh.shipment_header_id = :inb_shipment_header_id_asn ','INBOUND');
4083             add_bind_variable('inb_shipment_header_id_asn', inv_mwb_globals.g_shipment_header_id_asn);
4084          END IF;
4085 
4086          IF inv_mwb_globals.g_tree_parent_lpn_id IS NOT NULL
4087          OR inv_mwb_globals.g_tree_doc_type_id IN (3,4) THEN
4088             inv_mwb_query_manager.add_from_clause(' rcv_shipment_lines rsl ','INBOUND');
4089             add_where_clause('rsl.shipment_line_id = ms.shipment_line_id', 'INBOUND');
4090          END IF;
4091 
4092          IF inv_mwb_globals.g_tree_parent_lpn_id IS NOT NULL THEN
4093             inv_mwb_query_manager.add_where_clause(' rsl.asn_lpn_id = :inb_asn_lpn_id ','INBOUND');
4094             add_bind_variable('inb_asn_lpn_id', inv_mwb_globals.g_tree_parent_lpn_id);
4095          END IF;
4096 
4097          IF inv_mwb_globals.g_organization_id IS NOT NULL THEN
4098             add_where_clause('ms.to_organization_id = :inb_to_organization_id', 'INBOUND');
4099             add_bind_variable('inb_to_organization_id', inv_mwb_globals.g_organization_id);
4100          END IF;
4101 
4102          -- ER(9158529 client)
4103          IF inv_mwb_globals.g_client_code IS NOT NULL THEN
4104             add_where_clause('ms.item_id in (select DISTINCT inventory_item_id from mtl_system_items_b where wms_deploy.get_client_code(inventory_item_id) = :inb_client_code) ', 'INBOUND');
4105             add_bind_variable('inb_client_code', inv_mwb_globals.g_client_code);
4106          END IF;
4107          -- ER(9158529 client)
4108 
4109          IF inv_mwb_globals.g_inventory_item_id IS NOT NULL THEN
4110             add_where_clause('ms.item_id = :inb_item_id', 'INBOUND');
4111             add_bind_variable('inb_item_id', inv_mwb_globals.g_inventory_item_id);
4112          END IF;
4113 
4114          IF inv_mwb_globals.g_cost_group_id IS NOT NULL THEN
4115             add_where_clause('ms.cost_group_id = :inb_cost_group_id', 'INBOUND');
4116             add_bind_variable('inb_cost_group_id', inv_mwb_globals.g_cost_group_id);
4117          END IF;
4118 
4119          -- ER(9158529)
4120          IF inv_mwb_globals.g_category_set_id IS NOT NULL THEN
4121             add_where_clause('ms.item_id in '
4122                                 || ' (select DISTINCT inventory_item_id from mtl_item_categories '
4123                                 || ' where organization_id = :inb_to_organization_id '
4124                                 || ' and category_set_id = :inb_category_set_id '
4125                                 || ' and category_id = nvl(:inb_category_id, category_id))', 'INBOUND');
4126             add_bind_variable('inb_to_organization_id', inv_mwb_globals.g_organization_id);
4127             add_bind_variable('inb_category_set_id', inv_mwb_globals.g_category_set_id);
4128             add_bind_variable('inb_category_id', inv_mwb_globals.g_category_id);
4129          END IF;
4130          -- ER(9158529)
4131 
4132          IF (inv_mwb_globals.g_expected_from_date IS NOT NULL AND
4133             inv_mwb_globals.g_expected_to_date IS NOT NULL AND
4134             inv_mwb_globals.g_expected_from_date = inv_mwb_globals.g_expected_to_date) THEN
4135             add_where_clause('ms.expected_delivery_date = :inb_expected_from_date', 'INBOUND');
4136             add_bind_variable('inb_expected_from_date', inv_mwb_globals.g_expected_from_date);
4137          END IF;
4138 
4139          IF inv_mwb_globals.g_expected_from_date IS NOT NULL THEN
4140             add_where_clause('ms.expected_delivery_date >= :inb_expected_from_date', 'INBOUND');
4141             add_bind_variable('inb_expected_from_date', inv_mwb_globals.g_expected_from_date);
4142          END IF;
4143 
4144          IF inv_mwb_globals.g_expected_to_date IS NOT NULL THEN
4145             add_where_clause('ms.expected_delivery_date <= :inb_expected_to_date', 'INBOUND');
4146             add_bind_variable('inb_expected_to_date', inv_mwb_globals.g_expected_to_date);
4147          END IF;
4148 
4149          --Bug 14548684 add view mtl_system_items_vl to support multi-language
4150          IF inv_mwb_globals.g_inventory_item_id IS NULL
4151          AND inv_mwb_globals.g_item_description IS NOT NULL THEN
4152             add_from_clause(' mtl_system_items_kfv msik ','INBOUND');
4153             add_from_clause('mtl_system_items_vl msiv', 'INBOUND');
4154             add_where_clause(' ms.item_id = msik.inventory_item_id ', 'INBOUND');
4155             add_where_clause(' ms.to_organization_id = msik.organization_id ', 'INBOUND');
4156             add_where_clause('msik.inventory_item_id = msiv.inventory_item_id', 'INBOUND');
4157             add_where_clause('msik.organization_id = msiv.organization_id', 'INBOUND');
4158             add_where_clause(' upper(msiv.description) like upper(:inb_item_description) ', 'INBOUND');--Bug 14177143
4159             add_bind_variable('inb_item_description', inv_mwb_globals.g_item_description);
4160          END IF;
4161 
4162 
4163          IF (inv_mwb_globals.g_lot_from IS NOT NULL
4164          OR  inv_mwb_globals.g_lot_to IS NOT NULL)
4165          OR (inv_mwb_globals.g_tree_item_id IS NOT NULL
4166              AND l_lot_control = 2) THEN
4167             inv_mwb_query_manager.add_from_clause(' rcv_lots_supply rls ','INBOUND');
4168             add_where_clause('rls.shipment_line_id(+) = ms.shipment_line_id ', 'INBOUND');
4169          END IF;
4170 
4171          IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
4172          inv_mwb_globals.g_lot_to IS NOT NULL AND
4173          inv_mwb_globals.g_lot_from = inv_mwb_globals.g_lot_to) THEN
4174             add_where_clause('rls.lot_num = :inb_lot_from', 'INBOUND');
4175             add_bind_variable('inb_lot_from', inv_mwb_globals.g_lot_from);
4176          END IF;
4177 
4178          IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
4179          inv_mwb_globals.g_lot_from <> NVL(inv_mwb_globals.g_lot_to, -1) ) THEN
4180            add_where_clause('rls.lot_num >= :inb_lot_from', 'INBOUND');
4181            add_bind_variable('inb_lot_from', inv_mwb_globals.g_lot_from);
4182          END IF;
4183 
4184          IF (inv_mwb_globals.g_lot_to IS NOT NULL AND
4185          inv_mwb_globals.g_lot_to <> NVL(inv_mwb_globals.g_lot_from, -1) ) THEN
4186            add_where_clause('rls.lot_num <= :inb_lot_to', 'INBOUND');
4187            add_bind_variable('inb_lot_to', inv_mwb_globals.g_lot_to);
4188          END IF;
4189 
4190 /* Bug 8396954, Adding below if condition for checking supplier_lot_number condition */
4191          IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL OR
4192                inv_mwb_globals.g_supplier_lot_to IS NOT NULL ) THEN
4193                inv_mwb_query_manager.add_from_clause('mtl_lot_numbers mln3', 'INBOUND');
4194                 IF NOT ((inv_mwb_globals.g_lot_from IS NOT NULL
4195                   OR  inv_mwb_globals.g_lot_to IS NOT NULL)
4196                   OR (inv_mwb_globals.g_tree_item_id IS NOT NULL
4197                   AND l_lot_control = 2)) THEN
4198                     inv_mwb_query_manager.add_from_clause(' rcv_lots_supply rls ','INBOUND');
4199                     add_where_clause('rls.shipment_line_id(+) = ms.shipment_line_id ', 'INBOUND');
4200                 END IF;
4201                add_where_clause('mln3.lot_number = rls.lot_num', 'INBOUND');
4202                add_where_clause('ms.item_id = mln3.inventory_item_id', 'INBOUND');                     -- Bug 9927569
4203                add_where_clause('ms.to_organization_id =  mln3.organization_id', 'INBOUND');           -- Bug 9927569
4204 
4205                 IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
4206                     inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
4207                     inv_mwb_globals.g_supplier_lot_from = inv_mwb_globals.g_supplier_lot_to) THEN
4208                     add_where_clause('mln3.supplier_lot_number = :inb_supplier_lot_from', 'INBOUND');
4209                     add_bind_variable('inb_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
4210                 END IF;
4211 
4212                 IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
4213                        inv_mwb_globals.g_supplier_lot_from <> NVL(inv_mwb_globals.g_supplier_lot_to, -1) ) THEN
4214                            add_where_clause('mln3.supplier_lot_number >= :inb_supplier_lot_from', 'INBOUND');
4215                    add_bind_variable('inb_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
4216                 END IF;
4217 
4218                 IF (inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
4219                    inv_mwb_globals.g_supplier_lot_to <> NVL(inv_mwb_globals.g_supplier_lot_from, -1) ) THEN
4220                    add_where_clause('mln3.supplier_lot_number <= :inb_supplier_lot_to', 'INBOUND');
4221                  add_bind_variable('inb_supplier_lot_to', inv_mwb_globals.g_supplier_lot_to);
4222                 END IF;
4223          END IF ;
4224 /* End of Bug 8396954 */
4225 
4226          IF (inv_mwb_globals.g_serial_from IS NOT NULL
4227              OR inv_mwb_globals.g_serial_to IS NOT NULL)
4228             OR (inv_mwb_globals.g_tree_item_id IS NOT NULL
4229                 AND l_serial_control = 2) THEN
4230             inv_mwb_query_manager.add_from_clause(' rcv_serials_supply rss ','INBOUND');
4231             add_where_clause('rss.shipment_line_id(+) = ms.shipment_line_id ', 'INBOUND');
4232          END IF;
4233 
4234          IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
4235             inv_mwb_globals.g_serial_to IS NOT NULL AND
4236             inv_mwb_globals.g_serial_from = inv_mwb_globals.g_serial_to) THEN
4237             add_where_clause('rss.serial_num = :inb_serial_from', 'INBOUND');
4238             add_bind_variable('inb_serial_from', inv_mwb_globals.g_serial_from);
4239          END IF;
4240 
4241          IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
4242             inv_mwb_globals.g_serial_from <> NVL(inv_mwb_globals.g_serial_to, -1) ) THEN
4243             add_where_clause('rss.serial_num >= :inb_serial_from', 'INBOUND');
4244             add_bind_variable('inb_serial_from', inv_mwb_globals.g_serial_from);
4245          END IF;
4246 
4247          IF (inv_mwb_globals.g_serial_to IS NOT NULL AND
4248             inv_mwb_globals.g_serial_to <> NVL(inv_mwb_globals.g_serial_from, -1) ) THEN
4249             add_where_clause('rss.serial_num <= :inb_serial_to', 'INBOUND');
4250             add_bind_variable('inb_serial_to', inv_mwb_globals.g_serial_to);
4251          END IF;
4252 
4253       ELSIF inv_mwb_globals.g_source_org_id IS NOT NULL
4254       OR inv_mwb_globals.g_req_header_id IS NOT NULL
4255       OR inv_mwb_globals.g_internal_order_id IS NOT NULL
4256       OR inv_mwb_globals.g_shipment_header_id_interorg IS NOT NULL THEN
4257 
4258          inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Interorg tab');
4259 
4260          inv_mwb_query_manager.add_from_clause(' rcv_shipment_headers rsh ','INBOUND');
4261          inv_mwb_query_manager.add_from_clause(' rcv_shipment_lines rsl ','INBOUND');
4262 
4263          inv_mwb_query_manager.add_where_clause(' rsh.shipment_header_id(+) = ms.shipment_header_id ', 'INBOUND');
4264          inv_mwb_query_manager.add_where_clause(' rsl.shipment_line_id(+) = ms.shipment_line_id ', 'INBOUND');
4265          inv_mwb_query_manager.add_where_clause(' ms.supply_type_code IN (''REQ'',''SHIPMENT'') ', 'INBOUND');
4266          inv_mwb_query_manager.add_where_clause(' rsh.asn_type IS NULL ', 'INBOUND');
4267 
4268 
4269          IF inv_mwb_globals.g_shipment_header_id_interorg IS NOT NULL THEN
4270             add_where_clause(' rsh.shipment_header_id = :inb_shipment_header_id ', 'INBOUND');
4271             add_where_clause(' ms.supply_type_code = ''SHIPMENT'' ', 'INBOUND');
4272             add_bind_variable('inb_shipment_header_id', inv_mwb_globals.g_shipment_header_id_interorg);
4273          ELSIF inv_mwb_globals.g_req_header_id IS NOT NULL THEN
4274             inv_mwb_query_manager.add_where_clause(' ms.req_header_id = :inb_req_header_id ', 'INBOUND');
4275             add_bind_variable('inb_req_header_id', inv_mwb_globals.g_req_header_id);
4276          END IF;
4277 
4278          IF inv_mwb_globals.g_source_org_id IS NOT NULL THEN
4279             inv_mwb_query_manager.add_where_clause(' ms.from_organization_id = :inb_from_organization_id ', 'INBOUND');
4280             add_bind_variable('inb_from_organization_id', inv_mwb_globals.g_source_org_id);
4281          END IF;
4282 
4283          IF inv_mwb_globals.g_organization_id IS NOT NULL THEN
4284             add_where_clause('ms.to_organization_id = :inb_to_organization_id', 'INBOUND');
4285             add_bind_variable('inb_to_organization_id', inv_mwb_globals.g_organization_id);
4286          END IF;
4287 
4288          -- ER(9158529 client)
4289          IF inv_mwb_globals.g_client_code IS NOT NULL THEN
4290             add_where_clause('ms.item_id in (select DISTINCT inventory_item_id from mtl_system_items_b where wms_deploy.get_client_code(inventory_item_id) = :inb_client_code) ', 'INBOUND');
4291             add_bind_variable('inb_client_code', inv_mwb_globals.g_client_code);
4292          END IF;
4293          -- ER(9158529 client)
4294 
4295          IF inv_mwb_globals.g_inventory_item_id IS NOT NULL THEN
4296             add_where_clause('ms.item_id = :inb_item_id', 'INBOUND');
4297             add_bind_variable('inb_item_id', inv_mwb_globals.g_inventory_item_id);
4298          END IF;
4299 
4300          IF inv_mwb_globals.g_revision IS NOT NULL THEN
4301            add_where_clause('ms.item_revision = :inb_item_revision', 'INBOUND');
4302            add_bind_variable('inb_item_revision', inv_mwb_globals.g_revision);
4303          END IF;
4304 
4305          IF inv_mwb_globals.g_cost_group_id IS NOT NULL THEN
4306             add_where_clause('ms.cost_group_id = :inb_cost_group_id', 'INBOUND');
4307             add_bind_variable('inb_cost_group_id', inv_mwb_globals.g_cost_group_id);
4308          END IF;
4309 
4310          -- ER(9158529)
4311          IF inv_mwb_globals.g_category_set_id IS NOT NULL THEN
4312             add_where_clause('ms.item_id in '
4313                                 || ' (select DISTINCT inventory_item_id from mtl_item_categories '
4314                                 || ' where organization_id = :inb_to_organization_id '
4315                                 || ' and category_set_id = :inb_category_set_id '
4316                                 || ' and category_id = nvl(:inb_category_id, category_id))', 'INBOUND');
4317             add_bind_variable('inb_to_organization_id', inv_mwb_globals.g_organization_id);
4318             add_bind_variable('inb_category_set_id', inv_mwb_globals.g_category_set_id);
4319             add_bind_variable('inb_category_id', inv_mwb_globals.g_category_id);
4320          END IF;
4321          -- ER(9158529)
4322 
4323          IF (inv_mwb_globals.g_expected_from_date IS NOT NULL AND
4324             inv_mwb_globals.g_expected_to_date IS NOT NULL AND
4325             inv_mwb_globals.g_expected_from_date = inv_mwb_globals.g_expected_to_date) THEN
4326             add_where_clause('ms.expected_delivery_date = :inb_expected_from_date', 'INBOUND');
4327             add_bind_variable('inb_expected_from_date', inv_mwb_globals.g_expected_from_date);
4328          END IF;
4329 
4330          IF inv_mwb_globals.g_expected_from_date IS NOT NULL THEN
4331             add_where_clause('ms.expected_delivery_date >= :inb_expected_from_date', 'INBOUND');
4332             add_bind_variable('inb_expected_from_date', inv_mwb_globals.g_expected_from_date);
4333          END IF;
4334 
4335          IF inv_mwb_globals.g_expected_to_date IS NOT NULL THEN
4336             add_where_clause('ms.expected_delivery_date <= :inb_expected_to_date', 'INBOUND');
4337             add_bind_variable('inb_expected_to_date', inv_mwb_globals.g_expected_to_date);
4338          END IF;
4339 
4340          IF inv_mwb_globals.g_lpn_from_id IS NOT NULL
4341          OR inv_mwb_globals.g_lpn_to_id IS NOT NULL THEN
4342             inv_mwb_query_manager.add_from_clause(' wms_license_plate_numbers wlpn ','INBOUND');
4343             add_where_clause('rsl.asn_lpn_id = wlpn.lpn_id', 'INBOUND');
4344          END IF;
4345 
4346          IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
4347          inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
4348          inv_mwb_globals.g_lpn_from_id = inv_mwb_globals.g_lpn_to_id) THEN
4349             add_where_clause('rsl.asn_lpn_id = :inb_lpn_from_id', 'INBOUND');
4350             add_bind_variable('inb_lpn_from_id', inv_mwb_globals.g_lpn_from_id);
4351          END IF;
4352 
4353          IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
4354          inv_mwb_globals.g_lpn_from_id <> NVL(inv_mwb_globals.g_lpn_to_id, -1) ) THEN
4355             add_where_clause('wlpn.license_plate_number >= :inb_lpn_from', 'INBOUND');
4356             add_bind_variable('inb_lpn_from', inv_mwb_globals.g_lpn_from);
4357          END IF;
4358 
4359          IF (inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
4360          inv_mwb_globals.g_lpn_to_id <> NVL(inv_mwb_globals.g_lpn_from_id, -1) ) THEN
4361             add_where_clause('wlpn.license_plate_number <= :inb_lpn_to', 'INBOUND');
4362             add_bind_variable('inb_lpn_to', inv_mwb_globals.g_lpn_to);
4363          END IF;
4364 
4365 
4366 
4367          IF (inv_mwb_globals.g_lot_from IS NOT NULL
4368          OR  inv_mwb_globals.g_lot_to IS NOT NULL)
4369          OR (inv_mwb_globals.g_tree_item_id IS NOT NULL
4370              AND l_lot_control = 2) THEN
4371             inv_mwb_query_manager.add_from_clause(' rcv_lots_supply rls ','INBOUND');
4372             add_where_clause('rls.shipment_line_id(+) = ms.shipment_line_id ', 'INBOUND');
4373          END IF;
4374 
4375          IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
4376          inv_mwb_globals.g_lot_to IS NOT NULL AND
4377          inv_mwb_globals.g_lot_from = inv_mwb_globals.g_lot_to) THEN
4378             add_where_clause('rls.lot_num = :inb_lot_from', 'INBOUND');
4379             add_bind_variable('inb_lot_from', inv_mwb_globals.g_lot_from);
4380          END IF;
4381 
4382          IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
4383          inv_mwb_globals.g_lot_from <> NVL(inv_mwb_globals.g_lot_to, -1) ) THEN
4384            add_where_clause('rls.lot_num >= :inb_lot_from', 'INBOUND');
4385            add_bind_variable('inb_lot_from', inv_mwb_globals.g_lot_from);
4386          END IF;
4387 
4388          IF (inv_mwb_globals.g_lot_to IS NOT NULL AND
4389          inv_mwb_globals.g_lot_to <> NVL(inv_mwb_globals.g_lot_from, -1) ) THEN
4390            add_where_clause('rls.lot_num <= :inb_lot_to', 'INBOUND');
4391            add_bind_variable('inb_lot_to', inv_mwb_globals.g_lot_to);
4392          END IF;
4393 
4394 /* Bug 8396954, Adding below if condition for checking supplier_lot_number condition */
4395          IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL OR
4396                inv_mwb_globals.g_supplier_lot_to IS NOT NULL ) THEN
4397                inv_mwb_query_manager.add_from_clause('mtl_lot_numbers mln3', 'INBOUND');
4398                 IF NOT ((inv_mwb_globals.g_lot_from IS NOT NULL
4399                   OR  inv_mwb_globals.g_lot_to IS NOT NULL)
4400                   OR (inv_mwb_globals.g_tree_item_id IS NOT NULL
4401                   AND l_lot_control = 2)) THEN
4402                     inv_mwb_query_manager.add_from_clause(' rcv_lots_supply rls ','INBOUND');
4403                     add_where_clause('rls.shipment_line_id(+) = ms.shipment_line_id ', 'INBOUND');
4404                 END IF;
4405                add_where_clause('mln3.lot_number = rls.lot_num', 'INBOUND');
4406                add_where_clause('ms.item_id = mln3.inventory_item_id', 'INBOUND');                     -- Bug 9927569
4407                add_where_clause('ms.to_organization_id =  mln3.organization_id', 'INBOUND');           -- Bug 9927569
4408 
4409                 IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
4410                     inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
4411                     inv_mwb_globals.g_supplier_lot_from = inv_mwb_globals.g_supplier_lot_to) THEN
4412                     add_where_clause('mln3.supplier_lot_number = :inb_supplier_lot_from', 'INBOUND');
4413                     add_bind_variable('inb_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
4414                 END IF;
4415 
4416                 IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
4417                        inv_mwb_globals.g_supplier_lot_from <> NVL(inv_mwb_globals.g_supplier_lot_to, -1) ) THEN
4418                            add_where_clause('mln3.supplier_lot_number >= :inb_supplier_lot_from', 'INBOUND');
4419                    add_bind_variable('inb_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
4420                 END IF;
4421 
4422                 IF (inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
4423                    inv_mwb_globals.g_supplier_lot_to <> NVL(inv_mwb_globals.g_supplier_lot_from, -1) ) THEN
4424                    add_where_clause('mln3.supplier_lot_number <= :inb_supplier_lot_to', 'INBOUND');
4425                  add_bind_variable('inb_supplier_lot_to', inv_mwb_globals.g_supplier_lot_to);
4426                 END IF;
4427          END IF ;
4428 /* End of Bug 8396954 */
4429 
4430          IF (inv_mwb_globals.g_serial_from IS NOT NULL
4431              OR inv_mwb_globals.g_serial_to IS NOT NULL)
4432              OR (inv_mwb_globals.g_tree_item_id IS NOT NULL
4433              AND l_serial_control =2) THEN
4434             inv_mwb_query_manager.add_from_clause(' rcv_serials_supply rss ','INBOUND');
4435             add_where_clause('rss.shipment_line_id = ms.shipment_line_id ', 'INBOUND');
4436          END IF;
4437 
4438          IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
4439             inv_mwb_globals.g_serial_to IS NOT NULL AND
4440             inv_mwb_globals.g_serial_from = inv_mwb_globals.g_serial_to) THEN
4441             add_where_clause('rss.serial_num = :inb_serial_from', 'INBOUND');
4442             add_bind_variable('inb_serial_from', inv_mwb_globals.g_serial_from);
4443          END IF;
4444 
4445          IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
4446             inv_mwb_globals.g_serial_from <> NVL(inv_mwb_globals.g_serial_to, -1) ) THEN
4447             add_where_clause('rss.serial_num >= :inb_serial_from', 'INBOUND');
4448             add_bind_variable('inb_serial_from', inv_mwb_globals.g_serial_from);
4449          END IF;
4450 
4451          IF (inv_mwb_globals.g_serial_to IS NOT NULL AND
4452             inv_mwb_globals.g_serial_to <> NVL(inv_mwb_globals.g_serial_from, -1) ) THEN
4453             add_where_clause('rss.serial_num <= :inb_serial_to', 'INBOUND');
4454             add_bind_variable('inb_serial_to', inv_mwb_globals.g_serial_to);
4455          END IF;
4456 
4457          --Bug 14548684 add view mtl_system_items_vl to support multi-language
4458          IF inv_mwb_globals.g_inventory_item_id IS NULL
4459          AND inv_mwb_globals.g_item_description IS NOT NULL THEN
4460             add_from_clause(' mtl_system_items_kfv msik ','INBOUND');
4461             add_from_clause('mtl_system_items_vl msiv', 'INBOUND');
4462             add_where_clause(' ms.item_id = msik.inventory_item_id ', 'INBOUND');
4463             add_where_clause(' ms.to_organization_id = msik.organization_id ', 'INBOUND');
4464             add_where_clause('msik.inventory_item_id = msiv.inventory_item_id', 'INBOUND');
4465             add_where_clause('msik.organization_id = msiv.organization_id', 'INBOUND');
4466             add_where_clause(' upper(msiv.description) like upper(:inb_item_description) ', 'INBOUND');--Bug 14177143
4467             add_bind_variable('inb_item_description', inv_mwb_globals.g_item_description);
4468          END IF;
4469 
4470       ELSE -- If interorg and supplier tab null
4471 
4472          inv_mwb_query_manager.add_from_clause('rcv_shipment_headers rsh ','INBOUND');
4473          inv_mwb_query_manager.add_from_clause('rcv_shipment_lines rsl ','INBOUND');
4474          inv_mwb_query_manager.add_where_clause('rsh.shipment_header_id(+) = ms.shipment_header_id ', 'INBOUND');
4475          inv_mwb_query_manager.add_where_clause('rsl.shipment_line_id(+) = ms.shipment_line_id', 'INBOUND');
4476 
4477          IF inv_mwb_globals.g_organization_id IS NOT NULL THEN
4478             add_where_clause('ms.to_organization_id = :inb_to_organization_id', 'INBOUND');
4479             add_bind_variable('inb_to_organization_id', inv_mwb_globals.g_organization_id);
4480          END IF;
4481 
4482          -- ER(9158529 client)
4483          IF inv_mwb_globals.g_client_code IS NOT NULL THEN
4484             add_where_clause('ms.item_id in (select DISTINCT inventory_item_id from mtl_system_items_b where wms_deploy.get_client_code(inventory_item_id) = :inb_client_code) ', 'INBOUND');
4485             add_bind_variable('inb_client_code', inv_mwb_globals.g_client_code);
4486          END IF;
4487          -- ER(9158529 client)
4488 
4489          IF inv_mwb_globals.g_inventory_item_id IS NOT NULL THEN
4490             add_where_clause('ms.item_id = :inb_item_id', 'INBOUND');
4491             add_bind_variable('inb_item_id', inv_mwb_globals.g_inventory_item_id);
4492          END IF;
4493 
4494          IF inv_mwb_globals.g_revision IS NOT NULL THEN
4495            add_where_clause('ms.item_revision = :inb_item_revision', 'INBOUND');
4496            add_bind_variable('inb_item_revision', inv_mwb_globals.g_revision);
4497          END IF;
4498 
4499          IF inv_mwb_globals.g_cost_group_id IS NOT NULL THEN
4500             add_where_clause('ms.cost_group_id = :inb_cost_group_id', 'INBOUND');
4501             add_bind_variable('inb_cost_group_id', inv_mwb_globals.g_cost_group_id);
4502          END IF;
4503 
4504          -- ER(9158529)
4505          IF inv_mwb_globals.g_category_set_id IS NOT NULL THEN
4506             add_where_clause('ms.item_id in '
4507                                 || ' (select DISTINCT inventory_item_id from mtl_item_categories '
4508                                 || ' where organization_id = :inb_to_organization_id '
4509                                 || ' and category_set_id = :inb_category_set_id '
4510                                 || ' and category_id = nvl(:inb_category_id, category_id))', 'INBOUND');
4511             add_bind_variable('inb_to_organization_id', inv_mwb_globals.g_organization_id);
4512             add_bind_variable('inb_category_set_id', inv_mwb_globals.g_category_set_id);
4513             add_bind_variable('inb_category_id', inv_mwb_globals.g_category_id);
4514          END IF;
4515          -- ER(9158529)
4516 
4517          IF inv_mwb_globals.g_lpn_from_id IS NOT NULL
4518          OR inv_mwb_globals.g_lpn_to_id IS NOT NULL THEN
4519             inv_mwb_query_manager.add_from_clause(' wms_license_plate_numbers wlpn ','INBOUND');
4520             add_where_clause('rsl.asn_lpn_id = wlpn.lpn_id', 'INBOUND');
4521          END IF;
4522 
4523          IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
4524          inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
4525          inv_mwb_globals.g_lpn_from_id = inv_mwb_globals.g_lpn_to_id) THEN
4526             add_where_clause('rsl.asn_lpn_id = :inb_lpn_from_id', 'INBOUND');
4527             add_bind_variable('inb_lpn_from_id', inv_mwb_globals.g_lpn_from_id);
4528          END IF;
4529 
4530          IF (inv_mwb_globals.g_lpn_from_id IS NOT NULL AND
4531          inv_mwb_globals.g_lpn_from_id <> NVL(inv_mwb_globals.g_lpn_to_id, -1) ) THEN
4532             add_where_clause('wlpn.license_plate_number >= :inb_lpn_from', 'INBOUND');
4533             add_bind_variable('inb_lpn_from', inv_mwb_globals.g_lpn_from);
4534          END IF;
4535 
4536          IF (inv_mwb_globals.g_lpn_to_id IS NOT NULL AND
4537          inv_mwb_globals.g_lpn_to_id <> NVL(inv_mwb_globals.g_lpn_from_id, -1) ) THEN
4538             add_where_clause('wlpn.license_plate_number <= :inb_lpn_to', 'INBOUND');
4539             add_bind_variable('inb_lpn_to', inv_mwb_globals.g_lpn_to);
4540          END IF;
4541 
4542          IF inv_mwb_globals.g_lot_from IS NOT NULL
4543          OR inv_mwb_globals.g_lot_to IS NOT NULL
4544          OR (inv_mwb_globals.g_tree_item_id IS NOT NULL
4545              AND l_lot_control = 2)
4546          OR  inv_mwb_globals.g_tree_lot_number IS NOT NULL THEN
4547             add_from_clause(' rcv_lots_supply rls ','INBOUND');
4548             add_where_clause('rls.shipment_line_id(+) = ms.shipment_line_id ', 'INBOUND');
4549          END IF;
4550 
4551          IF inv_mwb_globals.g_lot_from IS NOT NULL
4552          AND inv_mwb_globals.g_lot_to IS NOT NULL
4553          AND inv_mwb_globals.g_lot_from = inv_mwb_globals.g_lot_to THEN
4554             add_where_clause('rls.lot_num = :inb_lot_from', 'INBOUND');
4555             add_bind_variable('inb_lot_from', inv_mwb_globals.g_lot_from);
4556          END IF;
4557 
4558          IF (inv_mwb_globals.g_lot_from IS NOT NULL AND
4559          inv_mwb_globals.g_lot_from <> NVL(inv_mwb_globals.g_lot_to, -1) ) THEN
4560            add_where_clause('rls.lot_num >= :inb_lot_from', 'INBOUND');
4561            add_bind_variable('inb_lot_from', inv_mwb_globals.g_lot_from);
4562          END IF;
4563 
4564          IF (inv_mwb_globals.g_lot_to IS NOT NULL AND
4565          inv_mwb_globals.g_lot_to <> NVL(inv_mwb_globals.g_lot_from, -1) ) THEN
4566            add_where_clause('rls.lot_num <= :inb_lot_to', 'INBOUND');
4567            add_bind_variable('inb_lot_to', inv_mwb_globals.g_lot_to);
4568          END IF;
4569 
4570 /* Bug 8396954, Adding below if condition for checking supplier_lot_number condition */
4571          IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL OR
4572                inv_mwb_globals.g_supplier_lot_to IS NOT NULL ) THEN
4573                inv_mwb_query_manager.add_from_clause('mtl_lot_numbers mln3', 'INBOUND');
4574                 IF NOT (inv_mwb_globals.g_lot_from IS NOT NULL
4575                      OR inv_mwb_globals.g_lot_to IS NOT NULL
4576                      OR (inv_mwb_globals.g_tree_item_id IS NOT NULL
4577                      AND l_lot_control = 2)
4578                      OR  inv_mwb_globals.g_tree_lot_number IS NOT NULL) THEN
4579                     inv_mwb_query_manager.add_from_clause(' rcv_lots_supply rls ','INBOUND');
4580                     add_where_clause('rls.shipment_line_id(+) = ms.shipment_line_id ', 'INBOUND');
4581                 END IF;
4582                add_where_clause('mln3.lot_number = rls.lot_num', 'INBOUND');
4583                add_where_clause('ms.item_id = mln3.inventory_item_id', 'INBOUND');                     -- Bug 9927569
4584                add_where_clause('ms.to_organization_id =  mln3.organization_id', 'INBOUND');           -- Bug 9927569
4585 
4586                 IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
4587                     inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
4588                     inv_mwb_globals.g_supplier_lot_from = inv_mwb_globals.g_supplier_lot_to) THEN
4589                     add_where_clause('mln3.supplier_lot_number = :inb_supplier_lot_from', 'INBOUND');
4590                     add_bind_variable('inb_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
4591                 END IF;
4592 
4593                 IF (inv_mwb_globals.g_supplier_lot_from IS NOT NULL AND
4594                        inv_mwb_globals.g_supplier_lot_from <> NVL(inv_mwb_globals.g_supplier_lot_to, -1) ) THEN
4595                            add_where_clause('mln3.supplier_lot_number >= :inb_supplier_lot_from', 'INBOUND');
4596                    add_bind_variable('inb_supplier_lot_from', inv_mwb_globals.g_supplier_lot_from);
4597                 END IF;
4598 
4599                 IF (inv_mwb_globals.g_supplier_lot_to IS NOT NULL AND
4600                    inv_mwb_globals.g_supplier_lot_to <> NVL(inv_mwb_globals.g_supplier_lot_from, -1) ) THEN
4601                    add_where_clause('mln3.supplier_lot_number <= :inb_supplier_lot_to', 'INBOUND');
4602                  add_bind_variable('inb_supplier_lot_to', inv_mwb_globals.g_supplier_lot_to);
4603                 END IF;
4604          END IF ;
4605 /* End of Bug 8396954 */
4606 
4607          IF inv_mwb_globals.g_serial_from IS NOT NULL
4608          OR inv_mwb_globals.g_serial_to IS NOT NULL
4609          OR (inv_mwb_globals.g_tree_item_id IS NOT NULL
4610              AND l_serial_control = 2)
4611          OR inv_mwb_globals.g_tree_serial_number IS NOT NULL THEN
4612             inv_mwb_query_manager.add_from_clause('rcv_serials_supply rss','INBOUND');
4613             add_where_clause('rss.shipment_line_id(+) = ms.shipment_line_id', 'INBOUND');
4614          END IF;
4615 
4616          -- for bug 8420783
4617          -- for bug 8414727
4618          IF (inv_mwb_globals.g_lot_from IS NOT NULL
4619              OR inv_mwb_globals.g_lot_to IS NOT NULL)
4620              AND (inv_mwb_globals.g_tree_item_id IS NOT NULL
4621              -- here only for serial control code 2, because for serial control code 2, the query sql will join the rcv_serials_supply
4622              -- so need to add lot number condition to where_clause.
4623              AND l_serial_control =2) THEN
4624             add_where_clause('rss.lot_num = rls.lot_num ', 'INBOUND');
4625          END IF;
4626          -- end of bug 8414727
4627          -- end of bug 8420783
4628 
4629          IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
4630             inv_mwb_globals.g_serial_to IS NOT NULL AND
4631             inv_mwb_globals.g_serial_from = inv_mwb_globals.g_serial_to) THEN
4632             add_where_clause('rss.serial_num = :inb_serial_from', 'INBOUND');
4633             add_bind_variable('inb_serial_from', inv_mwb_globals.g_serial_from);
4634          END IF;
4635 
4636          IF (inv_mwb_globals.g_serial_from IS NOT NULL AND
4637             inv_mwb_globals.g_serial_from <> NVL(inv_mwb_globals.g_serial_to, -1) ) THEN
4638             add_where_clause('rss.serial_num >= :inb_serial_from', 'INBOUND');
4639             add_bind_variable('inb_serial_from', inv_mwb_globals.g_serial_from);
4640          END IF;
4641 
4642          IF (inv_mwb_globals.g_serial_to IS NOT NULL AND
4643             inv_mwb_globals.g_serial_to <> NVL(inv_mwb_globals.g_serial_from, -1) ) THEN
4644             add_where_clause('rss.serial_num <= :inb_serial_to', 'INBOUND');
4645             add_bind_variable('inb_serial_to', inv_mwb_globals.g_serial_to);
4646          END IF;
4647 
4648          --Bug 14548684 add view mtl_system_items_vl to support multi-language
4649          IF inv_mwb_globals.g_inventory_item_id IS NULL
4650          AND inv_mwb_globals.g_item_description IS NOT NULL THEN
4651             add_from_clause(' mtl_system_items_kfv msik ','INBOUND');
4652             add_from_clause('mtl_system_items_vl msiv', 'INBOUND');
4653             add_where_clause(' ms.item_id = msik.inventory_item_id ', 'INBOUND');
4654             add_where_clause(' ms.to_organization_id = msik.organization_id ', 'INBOUND');
4655             add_where_clause('msik.inventory_item_id = msiv.inventory_item_id', 'INBOUND');
4656             add_where_clause('msik.organization_id = msiv.organization_id', 'INBOUND');
4657             add_where_clause(' upper(msiv.description) like upper(:inb_item_description) ', 'INBOUND');--Bug 14177143
4658             add_bind_variable('inb_item_description', inv_mwb_globals.g_item_description);
4659          END IF;
4660    	END IF;
4661 
4662       add_where_clause(' ms.supply_type_code NOT IN (''RECEIVING'') ', 'INBOUND');
4663 
4664       IF inv_mwb_globals.g_organization_id IS NOT NULL THEN
4665          add_where_clause('ms.to_organization_id = :inb_to_organization_id', 'INBOUND');
4666          add_bind_variable('inb_to_organization_id', inv_mwb_globals.g_organization_id);
4667       END IF;
4668 
4669       IF (inv_mwb_globals.g_expected_from_date IS NOT NULL AND
4670          inv_mwb_globals.g_expected_to_date IS NOT NULL AND
4671          inv_mwb_globals.g_expected_from_date = inv_mwb_globals.g_expected_to_date) THEN
4672          add_where_clause('ms.expected_delivery_date = :inb_expected_from_date', 'INBOUND');
4673          add_bind_variable('inb_expected_from_date', inv_mwb_globals.g_expected_from_date);
4674       END IF;
4675 
4676       IF inv_mwb_globals.g_expected_from_date IS NOT NULL THEN
4677          add_where_clause('ms.expected_delivery_date >= :inb_expected_from_date', 'INBOUND');
4678          add_bind_variable('inb_expected_from_date', inv_mwb_globals.g_expected_from_date);
4679       END IF;
4680 
4681       IF inv_mwb_globals.g_expected_to_date IS NOT NULL THEN
4682          add_where_clause('ms.expected_delivery_date <= :inb_expected_to_date', 'INBOUND');
4683          add_bind_variable('inb_expected_to_date', inv_mwb_globals.g_expected_to_date);
4684       END IF;
4685 
4686   END add_qf_where_inbound;
4687 
4688 
4689   FUNCTION build_onhand_query RETURN VARCHAR2 IS
4690 
4691      l_onhand_exclusive BOOLEAN;
4692      l_query_str        inv_mwb_globals.very_long_str;
4693      l_procedure_name   VARCHAR2(30);
4694 
4695   BEGIN
4696 
4697      l_procedure_name := 'BUILD_ONHAND_QUERY';
4698      inv_mwb_globals.print_msg(g_pkg_name, l_procedure_name, 'Entered');
4699 
4700      IF ( NVL(inv_mwb_globals.g_chk_onhand, 0) = 1 AND
4701           NVL(inv_mwb_globals.g_chk_inbound, 0) = 0 AND
4702           NVL(inv_mwb_globals.g_chk_receiving, 0) = 0 ) THEN
4703 
4704         l_onhand_exclusive := TRUE;
4705 
4706      ELSE
4707 
4708         l_onhand_exclusive := FALSE;
4709 
4710      END IF;
4711 
4712      l_query_str := build_query(
4713                           g_onhand_select,
4714                           g_onhand_from,
4715                           g_onhand_where,
4716                           g_onhand_group
4717                           );
4718 
4719      RETURN l_query_str;
4720 
4721   END build_onhand_query;
4722 
4723   FUNCTION build_inbound_query RETURN VARCHAR2 IS
4724 
4725      l_query_str      inv_mwb_globals.very_long_str;
4726      l_procedure_name VARCHAR2(30);
4727 
4728   BEGIN
4729 
4730      l_procedure_name := 'BUILD_INBOUND_QUERY';
4731      l_query_str      := ' ';
4732 
4733      RETURN l_query_str;
4734 
4735   END build_inbound_query;
4736 
4737   FUNCTION build_receiving_query RETURN VARCHAR2 IS
4738 
4739      l_query_str      inv_mwb_globals.very_long_str;
4740      l_procedure_name VARCHAR2(30);
4741 
4742   BEGIN
4743 
4744      l_procedure_name := 'BUILD_RECEIVING_QUERY';
4745      l_query_str      := ' ';
4746 
4747      RETURN l_query_str;
4748 
4749   END build_receiving_query;
4750 
4751   PROCEDURE build_onhand_qf_where IS
4752   BEGIN
4753      g_onhand_where(10) := 'moqd.organization_id = :onh_organization_id';
4754   END build_onhand_qf_where;
4755 
4756 
4757   PROCEDURE initialize_onhand_query IS
4758      l_procedure_name VARCHAR2(30);
4759      l_temp_rec       SelectColumnRecType;
4760   BEGIN
4761 
4762      l_procedure_name := 'INITIALIZE_ONHAND_QUERY';
4763 
4764      g_onhand_select.DELETE;
4765      g_onhand_where.DELETE;
4766      g_onhand_from.DELETE;
4767      g_onhand_group.DELETE;
4768 
4769      g_onhand_where_index := 1;
4770      g_onhand_from_index := 1;
4771      g_onhand_group_index := 1;
4772 
4773      l_temp_rec.column_name  := 'PO_RELEASE_ID';
4774      l_temp_rec.column_value := 'NULL';
4775      g_onhand_select(PO_RELEASE_ID) := l_temp_rec;
4776 
4777      l_temp_rec.column_name  := 'RELEASE_LINE_NUMBER';
4778      l_temp_rec.column_value := 'NULL';
4779      g_onhand_select(RELEASE_LINE_NUMBER) := l_temp_rec;
4780 
4781      l_temp_rec.column_name  := 'SHIPMENT_NUMBER';
4782      l_temp_rec.column_value := 'NULL';
4783      g_onhand_select(SHIPMENT_NUMBER) := l_temp_rec;
4784 
4785      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_INTERORG';
4786      l_temp_rec.column_value := 'NULL';
4787      g_onhand_select(SHIPMENT_HEADER_ID_INTERORG) := l_temp_rec;
4788 
4789      l_temp_rec.column_name  := 'ASN';
4790      l_temp_rec.column_value := 'NULL';
4791      g_onhand_select(ASN) := l_temp_rec;
4792 
4793      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_ASN';
4794      l_temp_rec.column_value := 'NULL';
4795      g_onhand_select(SHIPMENT_HEADER_ID_ASN) := l_temp_rec;
4796 
4797      l_temp_rec.column_name  := 'TRADING_PARTNER';
4798      l_temp_rec.column_value := 'NULL';
4799      g_onhand_select(TRADING_PARTNER) := l_temp_rec;
4800 
4801      l_temp_rec.column_name  := 'VENDOR_ID';
4802      l_temp_rec.column_value := 'NULL';
4803      g_onhand_select(VENDOR_ID) := l_temp_rec;
4804 
4805      l_temp_rec.column_name  := 'TRADING_PARTNER_SITE';
4806      l_temp_rec.column_value := 'NULL';
4807      g_onhand_select(TRADING_PARTNER_SITE) := l_temp_rec;
4808 
4809      l_temp_rec.column_name  := 'VENDOR_SITE_ID';
4810      l_temp_rec.column_value := 'NULL';
4811      g_onhand_select(VENDOR_SITE_ID) := l_temp_rec;
4812 
4813      l_temp_rec.column_name  := 'FROM_ORG';
4814      l_temp_rec.column_value := 'NULL';
4815      g_onhand_select(FROM_ORG) := l_temp_rec;
4816 
4817      l_temp_rec.column_name  := 'FROM_ORG_ID';
4818      l_temp_rec.column_value := 'NULL';
4819      g_onhand_select(FROM_ORG_ID) := l_temp_rec;
4820 
4821      l_temp_rec.column_name  := 'TO_ORG';
4822      l_temp_rec.column_value := 'NULL';
4823      g_onhand_select(TO_ORG) := l_temp_rec;
4824 
4825      l_temp_rec.column_name  := 'TO_ORG_ID';
4826      l_temp_rec.column_value := 'NULL';
4827      g_onhand_select(TO_ORG_ID) := l_temp_rec;
4828 
4829      l_temp_rec.column_name  := 'EXPECTED_RECEIPT_DATE';
4830      l_temp_rec.column_value := 'NULL';
4831      g_onhand_select(EXPECTED_RECEIPT_DATE) := l_temp_rec;
4832 
4833      l_temp_rec.column_name  := 'SHIPPED_DATE';
4834      l_temp_rec.column_value := 'NULL';
4835      g_onhand_select(SHIPPED_DATE) := l_temp_rec;
4836 
4837      l_temp_rec.column_name  := 'OWNING_ORG';
4838      l_temp_rec.column_value := 'NULL';
4839      g_onhand_select(OWNING_ORG) := l_temp_rec;
4840 
4841      l_temp_rec.column_name  := 'OWNING_ORG_ID';
4842      l_temp_rec.column_value := 'NULL';
4843      g_onhand_select(OWNING_ORG_ID) := l_temp_rec;
4844 
4845      l_temp_rec.column_name  := 'REQ_HEADER_ID';
4846      l_temp_rec.column_value := 'NULL';
4847      g_onhand_select(REQ_HEADER_ID) := l_temp_rec;
4848 
4849      l_temp_rec.column_name  := 'OE_HEADER_ID';
4850      l_temp_rec.column_value := 'NULL';
4851      g_onhand_select(OE_HEADER_ID) := l_temp_rec;
4852 
4853      l_temp_rec.column_name  := 'PO_HEADER_ID';
4854      l_temp_rec.column_value := 'NULL';
4855      g_onhand_select(PO_HEADER_ID) := l_temp_rec;
4856 
4857      l_temp_rec.column_name  := 'MATURITY_DATE';
4858      l_temp_rec.column_value := 'NULL';
4859      g_onhand_select(MATURITY_DATE) := l_temp_rec;
4860 
4861      l_temp_rec.column_name  := 'HOLD_DATE';
4862      l_temp_rec.column_value := 'NULL';
4863      g_onhand_select(HOLD_DATE) := l_temp_rec;
4864 
4865      l_temp_rec.column_name  := 'SUPPLIER_LOT';
4866      l_temp_rec.column_value := 'NULL';
4867      g_onhand_select(SUPPLIER_LOT) := l_temp_rec;
4868 
4869      l_temp_rec.column_name  := 'PARENT_LOT';
4870      l_temp_rec.column_value := 'NULL';
4871      g_onhand_select(PARENT_LOT) := l_temp_rec;
4872 
4873      l_temp_rec.column_name  := 'DOCUMENT_TYPE';
4874      l_temp_rec.column_value := 'NULL';
4875      g_onhand_select(DOCUMENT_TYPE) := l_temp_rec;
4876 
4877      l_temp_rec.column_name  := 'DOCUMENT_TYPE_ID';
4878      l_temp_rec.column_value := 'NULL';
4879      g_onhand_select(DOCUMENT_TYPE_ID) := l_temp_rec;
4880 
4881      l_temp_rec.column_name  := 'DOCUMENT_NUMBER';
4882      l_temp_rec.column_value := 'NULL';
4883      g_onhand_select(DOCUMENT_NUMBER) := l_temp_rec;
4884 
4885      l_temp_rec.column_name  := 'DOCUMENT_LINE_NUMBER';
4886      l_temp_rec.column_value := 'NULL';
4887      g_onhand_select(DOCUMENT_LINE_NUMBER) := l_temp_rec;
4888 
4889      l_temp_rec.column_name  := 'RELEASE_NUMBER';
4890      l_temp_rec.column_value := 'NULL';
4891      g_onhand_select(RELEASE_NUMBER) := l_temp_rec;
4892 
4893      l_temp_rec.column_name  := 'ORIGINATION_TYPE';
4894      l_temp_rec.column_value := 'NULL';
4895      g_onhand_select(ORIGINATION_TYPE) := l_temp_rec;
4896 
4897      l_temp_rec.column_name  := 'ORIGINATION_DATE';
4898      l_temp_rec.column_value := 'NULL';
4899      g_onhand_select(ORIGINATION_DATE) := l_temp_rec;
4900 
4901      l_temp_rec.column_name  := 'ACTION_CODE';
4902      l_temp_rec.column_value := 'NULL';
4903      g_onhand_select(ACTION_CODE) := l_temp_rec;
4904 
4905      l_temp_rec.column_name  := 'ACTION_DATE';
4906      l_temp_rec.column_value := 'NULL';
4907      g_onhand_select(ACTION_DATE) := l_temp_rec;
4908 
4909      l_temp_rec.column_name  := 'RETEST_DATE';
4910      l_temp_rec.column_value := 'NULL';
4911      g_onhand_select(RETEST_DATE) := l_temp_rec;
4912 
4913      l_temp_rec.column_name  := 'SECONDARY_UNPACKED';
4914      l_temp_rec.column_value := 'NULL';
4915      g_onhand_select(SECONDARY_UNPACKED) := l_temp_rec;
4916 
4917      l_temp_rec.column_name  := 'SECONDARY_PACKED';
4918      l_temp_rec.column_value := 'NULL';
4919      g_onhand_select(SECONDARY_PACKED) := l_temp_rec;
4920 
4921      l_temp_rec.column_name  := 'SUBINVENTORY_CODE';
4922      l_temp_rec.column_value := 'NULL';
4923      g_onhand_select(SUBINVENTORY_CODE) := l_temp_rec;
4924 
4925      l_temp_rec.column_name  := 'LOCATOR';
4926      l_temp_rec.column_value := 'NULL';
4927      g_onhand_select(LOCATOR) := l_temp_rec;
4928 
4929      l_temp_rec.column_name  := 'LOCATOR_ID';
4930      l_temp_rec.column_value := 'NULL';
4931      g_onhand_select(LOCATOR_ID) := l_temp_rec;
4932 
4933      l_temp_rec.column_name  := 'LPN';
4934      l_temp_rec.column_value := 'NULL';
4935      g_onhand_select(LPN) := l_temp_rec;
4936 
4937      l_temp_rec.column_name  := 'LPN_ID';
4938      l_temp_rec.column_value := 'NULL';
4939      g_onhand_select(LPN_ID) := l_temp_rec;
4940 
4941      l_temp_rec.column_name  := 'COST_GROUP';
4942      l_temp_rec.column_value := 'NULL';
4943      g_onhand_select(COST_GROUP) := l_temp_rec;
4944 
4945      l_temp_rec.column_name  := 'GRADE_CODE';
4946      l_temp_rec.column_value := 'NULL';
4947      g_onhand_select(GRADE_CODE) := l_temp_rec;
4948 
4949      l_temp_rec.column_name  := 'CG_ID';
4950      l_temp_rec.column_value := 'NULL';
4951      g_onhand_select(CG_ID) := l_temp_rec;
4952 
4953      l_temp_rec.column_name  := 'LOADED';
4954      l_temp_rec.column_value := 'NULL';
4955      g_onhand_select(LOADED) := l_temp_rec;
4956 
4957      l_temp_rec.column_name  := 'PLANNING_PARTY';
4958      l_temp_rec.column_value := 'NULL';
4959      g_onhand_select(PLANNING_PARTY) := l_temp_rec;
4960 
4961      l_temp_rec.column_name  := 'PLANNING_PARTY_ID';
4962      l_temp_rec.column_value := 'NULL';
4963      g_onhand_select(PLANNING_PARTY_ID) := l_temp_rec;
4964 
4965      l_temp_rec.column_name  := 'OWNING_PARTY';
4966      l_temp_rec.column_value := 'NULL';
4967      g_onhand_select(OWNING_PARTY) := l_temp_rec;
4968 
4969      l_temp_rec.column_name  := 'OWNING_PARTY_ID';
4970      l_temp_rec.column_value := 'NULL';
4971      g_onhand_select(OWNING_PARTY_ID) := l_temp_rec;
4972 
4973      l_temp_rec.column_name  := 'LOT';
4974      l_temp_rec.column_value := 'NULL';
4975      g_onhand_select(LOT) := l_temp_rec;
4976 
4977 
4978      l_temp_rec.column_name  := 'SERIAL';
4979      l_temp_rec.column_value := 'NULL';
4980      g_onhand_select(SERIAL) := l_temp_rec;
4981 
4982      l_temp_rec.column_name  := 'UNIT_NUMBER';
4983      l_temp_rec.column_value := 'NULL';
4984      g_onhand_select(UNIT_NUMBER) := l_temp_rec;
4985 
4986      l_temp_rec.column_name  := 'LOT_EXPIRY_DATE';
4987      l_temp_rec.column_value := 'NULL';
4988      g_onhand_select(LOT_EXPIRY_DATE) := l_temp_rec;
4989 
4990      l_temp_rec.column_name  := 'ORGANIZATION_CODE';
4991      l_temp_rec.column_value := 'NULL';
4992      g_onhand_select(ORGANIZATION_CODE) := l_temp_rec;
4993 
4994      l_temp_rec.column_name  := 'ORG_ID';
4995      l_temp_rec.column_value := 'NULL';
4996      g_onhand_select(ORG_ID) := l_temp_rec;
4997 
4998      l_temp_rec.column_name  := 'ITEM';
4999      l_temp_rec.column_value := 'NULL';
5000      g_onhand_select(ITEM) := l_temp_rec;
5001 
5002      l_temp_rec.column_name  := 'ITEM_DESCRIPTION';
5003      l_temp_rec.column_value := 'NULL';
5004      g_onhand_select(ITEM_DESCRIPTION) := l_temp_rec;
5005 
5006      l_temp_rec.column_name  := 'ITEM_ID';
5007      l_temp_rec.column_value := 'NULL';
5008      g_onhand_select(ITEM_ID) := l_temp_rec;
5009 
5010      l_temp_rec.column_name  := 'REVISION';
5011      l_temp_rec.column_value := 'NULL';
5012      g_onhand_select(REVISION) := l_temp_rec;
5013 
5014      l_temp_rec.column_name  := 'PRIMARY_UOM_CODE';
5015      l_temp_rec.column_value := 'NULL';
5016      g_onhand_select(PRIMARY_UOM_CODE) := l_temp_rec;
5017 
5018      l_temp_rec.column_name  := 'ONHAND';
5019      l_temp_rec.column_value := 'NULL';
5020      g_onhand_select(ONHAND) := l_temp_rec;
5021 
5022      l_temp_rec.column_name  := 'RECEIVING';
5023      l_temp_rec.column_value := 'NULL';
5024      g_onhand_select(RECEIVING) := l_temp_rec;
5025 
5026      l_temp_rec.column_name  := 'INBOUND';
5027      l_temp_rec.column_value := 'NULL';
5028      g_onhand_select(INBOUND) := l_temp_rec;
5029 
5030      l_temp_rec.column_name  := 'UNPACKED';
5031      l_temp_rec.column_value := 'NULL';
5032      g_onhand_select(UNPACKED) := l_temp_rec;
5033 
5034      l_temp_rec.column_name  := 'PACKED';
5035      l_temp_rec.column_value := 'NULL';
5036      g_onhand_select(PACKED) := l_temp_rec;
5037 
5038      l_temp_rec.column_name  := 'SECONDARY_UOM_CODE';
5039      l_temp_rec.column_value := 'NULL';
5040      g_onhand_select(SECONDARY_UOM_CODE) := l_temp_rec;
5041 
5042      l_temp_rec.column_name  := 'SECONDARY_ONHAND';
5043      l_temp_rec.column_value := 'NULL';
5044      g_onhand_select(SECONDARY_ONHAND) := l_temp_rec;
5045 
5046      l_temp_rec.column_name  := 'SECONDARY_RECEIVING';
5047      l_temp_rec.column_value := 'NULL';
5048      g_onhand_select(SECONDARY_RECEIVING) := l_temp_rec;
5049 
5050      l_temp_rec.column_name  := 'SECONDARY_INBOUND';
5051      l_temp_rec.column_value := 'NULL';
5052      g_onhand_select(SECONDARY_INBOUND) := l_temp_rec;
5053 
5054      l_temp_rec.column_name  := 'OWNING_ORGANIZATION_ID';
5055      l_temp_rec.column_value := 'NULL';
5056      g_onhand_select(OWNING_ORGANIZATION_ID) := l_temp_rec;
5057 
5058      l_temp_rec.column_name  := 'PLANNING_ORGANIZATION_ID';
5059      l_temp_rec.column_value := 'NULL';
5060      g_onhand_select(PLANNING_ORGANIZATION_ID) := l_temp_rec;
5061 
5062      l_temp_rec.column_name  := 'OWNING_TP_TYPE';
5063      l_temp_rec.column_value := 'NULL';
5064      g_onhand_select(OWNING_TP_TYPE) := l_temp_rec;
5065 
5066      l_temp_rec.column_name  := 'PLANNING_TP_TYPE';
5067      l_temp_rec.column_value := 'NULL';
5068      g_onhand_select(PLANNING_TP_TYPE) := l_temp_rec;
5069 
5070      -- Onhand Material Status support
5071      l_temp_rec.column_name  := 'STATUS';
5072      l_temp_rec.column_value := 'NULL';
5073      g_onhand_select(STATUS) := l_temp_rec;
5074 
5075      l_temp_rec.column_name  := 'STATUS_ID';
5076      l_temp_rec.column_value := 'NULL';
5077      g_onhand_select(STATUS_ID) := l_temp_rec;
5078 
5079 
5080   END initialize_onhand_query;
5081 
5082   PROCEDURE initialize_onhand_1_query IS
5083      l_procedure_name VARCHAR2(30);
5084      l_temp_rec       SelectColumnRecType;
5085   BEGIN
5086 
5087      l_procedure_name := 'INITIALIZE_onhand_1_QUERY';
5088 
5089      g_onhand_1_select.DELETE;
5090      g_onhand_1_where.DELETE;
5091      g_onhand_1_from.DELETE;
5092      g_onhand_1_group.DELETE;
5093 
5094      g_onhand_1_where_index := 1;
5095      g_onhand_1_from_index := 1;
5096      g_onhand_1_group_index := 1;
5097 
5098      l_temp_rec.column_name  := 'PO_RELEASE_ID';
5099      l_temp_rec.column_value := 'NULL';
5100      g_onhand_1_select(PO_RELEASE_ID) := l_temp_rec;
5101 
5102      l_temp_rec.column_name  := 'RELEASE_LINE_NUMBER';
5103      l_temp_rec.column_value := 'NULL';
5104      g_onhand_1_select(RELEASE_LINE_NUMBER) := l_temp_rec;
5105 
5106      l_temp_rec.column_name  := 'SHIPMENT_NUMBER';
5107      l_temp_rec.column_value := 'NULL';
5108      g_onhand_1_select(SHIPMENT_NUMBER) := l_temp_rec;
5109 
5110      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_INTERORG';
5111      l_temp_rec.column_value := 'NULL';
5112      g_onhand_1_select(SHIPMENT_HEADER_ID_INTERORG) := l_temp_rec;
5113 
5114      l_temp_rec.column_name  := 'ASN';
5115      l_temp_rec.column_value := 'NULL';
5116      g_onhand_1_select(ASN) := l_temp_rec;
5117 
5118      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_ASN';
5119      l_temp_rec.column_value := 'NULL';
5120      g_onhand_1_select(SHIPMENT_HEADER_ID_ASN) := l_temp_rec;
5121 
5122      l_temp_rec.column_name  := 'TRADING_PARTNER';
5123      l_temp_rec.column_value := 'NULL';
5124      g_onhand_1_select(TRADING_PARTNER) := l_temp_rec;
5125 
5126      l_temp_rec.column_name  := 'VENDOR_ID';
5127      l_temp_rec.column_value := 'NULL';
5128      g_onhand_1_select(VENDOR_ID) := l_temp_rec;
5129 
5130      l_temp_rec.column_name  := 'TRADING_PARTNER_SITE';
5131      l_temp_rec.column_value := 'NULL';
5132      g_onhand_1_select(TRADING_PARTNER_SITE) := l_temp_rec;
5133 
5134      l_temp_rec.column_name  := 'VENDOR_SITE_ID';
5135      l_temp_rec.column_value := 'NULL';
5136      g_onhand_1_select(VENDOR_SITE_ID) := l_temp_rec;
5137 
5138      l_temp_rec.column_name  := 'FROM_ORG';
5139      l_temp_rec.column_value := 'NULL';
5140      g_onhand_1_select(FROM_ORG) := l_temp_rec;
5141 
5142      l_temp_rec.column_name  := 'FROM_ORG_ID';
5143      l_temp_rec.column_value := 'NULL';
5144      g_onhand_1_select(FROM_ORG_ID) := l_temp_rec;
5145 
5146      l_temp_rec.column_name  := 'TO_ORG';
5147      l_temp_rec.column_value := 'NULL';
5148      g_onhand_1_select(TO_ORG) := l_temp_rec;
5149 
5150      l_temp_rec.column_name  := 'TO_ORG_ID';
5151      l_temp_rec.column_value := 'NULL';
5152      g_onhand_1_select(TO_ORG_ID) := l_temp_rec;
5153 
5154      l_temp_rec.column_name  := 'EXPECTED_RECEIPT_DATE';
5155      l_temp_rec.column_value := 'NULL';
5156      g_onhand_1_select(EXPECTED_RECEIPT_DATE) := l_temp_rec;
5157 
5158      l_temp_rec.column_name  := 'SHIPPED_DATE';
5159      l_temp_rec.column_value := 'NULL';
5160      g_onhand_1_select(SHIPPED_DATE) := l_temp_rec;
5161 
5162      l_temp_rec.column_name  := 'OWNING_ORG';
5163      l_temp_rec.column_value := 'NULL';
5164      g_onhand_1_select(OWNING_ORG) := l_temp_rec;
5165 
5166      l_temp_rec.column_name  := 'OWNING_ORG_ID';
5167      l_temp_rec.column_value := 'NULL';
5168      g_onhand_1_select(OWNING_ORG_ID) := l_temp_rec;
5169 
5170      l_temp_rec.column_name  := 'REQ_HEADER_ID';
5171      l_temp_rec.column_value := 'NULL';
5172      g_onhand_1_select(REQ_HEADER_ID) := l_temp_rec;
5173 
5174      l_temp_rec.column_name  := 'OE_HEADER_ID';
5175      l_temp_rec.column_value := 'NULL';
5176      g_onhand_1_select(OE_HEADER_ID) := l_temp_rec;
5177 
5178      l_temp_rec.column_name  := 'PO_HEADER_ID';
5179      l_temp_rec.column_value := 'NULL';
5180      g_onhand_1_select(PO_HEADER_ID) := l_temp_rec;
5181 
5182      l_temp_rec.column_name  := 'MATURITY_DATE';
5183      l_temp_rec.column_value := 'NULL';
5184      g_onhand_1_select(MATURITY_DATE) := l_temp_rec;
5185 
5186      l_temp_rec.column_name  := 'HOLD_DATE';
5187      l_temp_rec.column_value := 'NULL';
5188      g_onhand_1_select(HOLD_DATE) := l_temp_rec;
5189 
5190      l_temp_rec.column_name  := 'SUPPLIER_LOT';
5191      l_temp_rec.column_value := 'NULL';
5192      g_onhand_1_select(SUPPLIER_LOT) := l_temp_rec;
5193 
5194      l_temp_rec.column_name  := 'PARENT_LOT';
5195      l_temp_rec.column_value := 'NULL';
5196      g_onhand_1_select(PARENT_LOT) := l_temp_rec;
5197 
5198      l_temp_rec.column_name  := 'DOCUMENT_TYPE';
5199      l_temp_rec.column_value := 'NULL';
5200      g_onhand_1_select(DOCUMENT_TYPE) := l_temp_rec;
5201 
5202      l_temp_rec.column_name  := 'DOCUMENT_TYPE_ID';
5203      l_temp_rec.column_value := 'NULL';
5204      g_onhand_1_select(DOCUMENT_TYPE_ID) := l_temp_rec;
5205 
5206      l_temp_rec.column_name  := 'DOCUMENT_NUMBER';
5207      l_temp_rec.column_value := 'NULL';
5208      g_onhand_1_select(DOCUMENT_NUMBER) := l_temp_rec;
5209 
5210      l_temp_rec.column_name  := 'DOCUMENT_LINE_NUMBER';
5211      l_temp_rec.column_value := 'NULL';
5212      g_onhand_1_select(DOCUMENT_LINE_NUMBER) := l_temp_rec;
5213 
5214      l_temp_rec.column_name  := 'RELEASE_NUMBER';
5215      l_temp_rec.column_value := 'NULL';
5216      g_onhand_1_select(RELEASE_NUMBER) := l_temp_rec;
5217 
5218      l_temp_rec.column_name  := 'ORIGINATION_TYPE';
5219      l_temp_rec.column_value := 'NULL';
5220      g_onhand_1_select(ORIGINATION_TYPE) := l_temp_rec;
5221 
5222      l_temp_rec.column_name  := 'ORIGINATION_DATE';
5223      l_temp_rec.column_value := 'NULL';
5224      g_onhand_1_select(ORIGINATION_DATE) := l_temp_rec;
5225 
5226      l_temp_rec.column_name  := 'ACTION_CODE';
5227      l_temp_rec.column_value := 'NULL';
5228      g_onhand_1_select(ACTION_CODE) := l_temp_rec;
5229 
5230      l_temp_rec.column_name  := 'ACTION_DATE';
5231      l_temp_rec.column_value := 'NULL';
5232      g_onhand_1_select(ACTION_DATE) := l_temp_rec;
5233 
5234      l_temp_rec.column_name  := 'RETEST_DATE';
5235      l_temp_rec.column_value := 'NULL';
5236      g_onhand_1_select(RETEST_DATE) := l_temp_rec;
5237 
5238      l_temp_rec.column_name  := 'SECONDARY_UNPACKED';
5239      l_temp_rec.column_value := 'NULL';
5240      g_onhand_1_select(SECONDARY_UNPACKED) := l_temp_rec;
5241 
5242      l_temp_rec.column_name  := 'SECONDARY_PACKED';
5243      l_temp_rec.column_value := 'NULL';
5244      g_onhand_1_select(SECONDARY_PACKED) := l_temp_rec;
5245 
5246      l_temp_rec.column_name  := 'SUBINVENTORY_CODE';
5247      l_temp_rec.column_value := 'NULL';
5248      g_onhand_1_select(SUBINVENTORY_CODE) := l_temp_rec;
5249 
5250      l_temp_rec.column_name  := 'LOCATOR';
5251      l_temp_rec.column_value := 'NULL';
5252      g_onhand_1_select(LOCATOR) := l_temp_rec;
5253 
5254      l_temp_rec.column_name  := 'LOCATOR_ID';
5255      l_temp_rec.column_value := 'NULL';
5256      g_onhand_1_select(LOCATOR_ID) := l_temp_rec;
5257 
5258      l_temp_rec.column_name  := 'LPN';
5259      l_temp_rec.column_value := 'NULL';
5260      g_onhand_1_select(LPN) := l_temp_rec;
5261 
5262      l_temp_rec.column_name  := 'LPN_ID';
5263      l_temp_rec.column_value := 'NULL';
5264      g_onhand_1_select(LPN_ID) := l_temp_rec;
5265 
5266      l_temp_rec.column_name  := 'COST_GROUP';
5267      l_temp_rec.column_value := 'NULL';
5268      g_onhand_1_select(COST_GROUP) := l_temp_rec;
5269 
5270      l_temp_rec.column_name  := 'GRADE_CODE';
5271      l_temp_rec.column_value := 'NULL';
5272      g_onhand_1_select(GRADE_CODE) := l_temp_rec;
5273 
5274      l_temp_rec.column_name  := 'CG_ID';
5275      l_temp_rec.column_value := 'NULL';
5276      g_onhand_1_select(CG_ID) := l_temp_rec;
5277 
5278      l_temp_rec.column_name  := 'LOADED';
5279      l_temp_rec.column_value := 'NULL';
5280      g_onhand_1_select(LOADED) := l_temp_rec;
5281 
5282      l_temp_rec.column_name  := 'PLANNING_PARTY';
5283      l_temp_rec.column_value := 'NULL';
5284      g_onhand_1_select(PLANNING_PARTY) := l_temp_rec;
5285 
5286      l_temp_rec.column_name  := 'PLANNING_PARTY_ID';
5287      l_temp_rec.column_value := 'NULL';
5288      g_onhand_1_select(PLANNING_PARTY_ID) := l_temp_rec;
5289 
5290      l_temp_rec.column_name  := 'OWNING_PARTY';
5291      l_temp_rec.column_value := 'NULL';
5292      g_onhand_1_select(OWNING_PARTY) := l_temp_rec;
5293 
5294      l_temp_rec.column_name  := 'OWNING_PARTY_ID';
5295      l_temp_rec.column_value := 'NULL';
5296      g_onhand_1_select(OWNING_PARTY_ID) := l_temp_rec;
5297 
5298      l_temp_rec.column_name  := 'LOT';
5299      l_temp_rec.column_value := 'NULL';
5300      g_onhand_1_select(LOT) := l_temp_rec;
5301 
5302 
5303      l_temp_rec.column_name  := 'SERIAL';
5304      l_temp_rec.column_value := 'NULL';
5305      g_onhand_1_select(SERIAL) := l_temp_rec;
5306 
5307      l_temp_rec.column_name  := 'UNIT_NUMBER';
5308      l_temp_rec.column_value := 'NULL';
5309      g_onhand_1_select(UNIT_NUMBER) := l_temp_rec;
5310 
5311      l_temp_rec.column_name  := 'LOT_EXPIRY_DATE';
5312      l_temp_rec.column_value := 'NULL';
5313      g_onhand_1_select(LOT_EXPIRY_DATE) := l_temp_rec;
5314 
5315      l_temp_rec.column_name  := 'ORGANIZATION_CODE';
5316      l_temp_rec.column_value := 'NULL';
5317      g_onhand_1_select(ORGANIZATION_CODE) := l_temp_rec;
5318 
5319      l_temp_rec.column_name  := 'ORG_ID';
5320      l_temp_rec.column_value := 'NULL';
5321      g_onhand_1_select(ORG_ID) := l_temp_rec;
5322 
5323      l_temp_rec.column_name  := 'ITEM';
5324      l_temp_rec.column_value := 'NULL';
5325      g_onhand_1_select(ITEM) := l_temp_rec;
5326 
5327      l_temp_rec.column_name  := 'ITEM_DESCRIPTION';
5328      l_temp_rec.column_value := 'NULL';
5329      g_onhand_1_select(ITEM_DESCRIPTION) := l_temp_rec;
5330 
5331      l_temp_rec.column_name  := 'ITEM_ID';
5332      l_temp_rec.column_value := 'NULL';
5333      g_onhand_1_select(ITEM_ID) := l_temp_rec;
5334 
5335      l_temp_rec.column_name  := 'REVISION';
5336      l_temp_rec.column_value := 'NULL';
5337      g_onhand_1_select(REVISION) := l_temp_rec;
5338 
5339      l_temp_rec.column_name  := 'PRIMARY_UOM_CODE';
5340      l_temp_rec.column_value := 'NULL';
5341      g_onhand_1_select(PRIMARY_UOM_CODE) := l_temp_rec;
5342 
5343      l_temp_rec.column_name  := 'ONHAND';
5344      l_temp_rec.column_value := 'NULL';
5345      g_onhand_1_select(ONHAND) := l_temp_rec;
5346 
5347      l_temp_rec.column_name  := 'RECEIVING';
5348      l_temp_rec.column_value := 'NULL';
5349      g_onhand_1_select(RECEIVING) := l_temp_rec;
5350 
5351      l_temp_rec.column_name  := 'INBOUND';
5352      l_temp_rec.column_value := 'NULL';
5353      g_onhand_1_select(INBOUND) := l_temp_rec;
5354 
5355      l_temp_rec.column_name  := 'UNPACKED';
5356      l_temp_rec.column_value := 'NULL';
5357      g_onhand_1_select(UNPACKED) := l_temp_rec;
5358 
5359      l_temp_rec.column_name  := 'PACKED';
5360      l_temp_rec.column_value := 'NULL';
5361      g_onhand_1_select(PACKED) := l_temp_rec;
5362 
5363      l_temp_rec.column_name  := 'SECONDARY_UOM_CODE';
5364      l_temp_rec.column_value := 'NULL';
5365      g_onhand_1_select(SECONDARY_UOM_CODE) := l_temp_rec;
5366 
5367      l_temp_rec.column_name  := 'SECONDARY_ONHAND';
5368      l_temp_rec.column_value := 'NULL';
5369      g_onhand_1_select(SECONDARY_ONHAND) := l_temp_rec;
5370 
5371      l_temp_rec.column_name  := 'SECONDARY_RECEIVING';
5372      l_temp_rec.column_value := 'NULL';
5373      g_onhand_1_select(SECONDARY_RECEIVING) := l_temp_rec;
5374 
5375      l_temp_rec.column_name  := 'SECONDARY_INBOUND';
5376      l_temp_rec.column_value := 'NULL';
5377      g_onhand_1_select(SECONDARY_INBOUND) := l_temp_rec;
5378 
5379      l_temp_rec.column_name  := 'OWNING_ORGANIZATION_ID';
5380      l_temp_rec.column_value := 'NULL';
5381      g_onhand_1_select(OWNING_ORGANIZATION_ID) := l_temp_rec;
5382 
5383      l_temp_rec.column_name  := 'PLANNING_ORGANIZATION_ID';
5384      l_temp_rec.column_value := 'NULL';
5385      g_onhand_1_select(PLANNING_ORGANIZATION_ID) := l_temp_rec;
5386 
5387      l_temp_rec.column_name  := 'OWNING_TP_TYPE';
5388      l_temp_rec.column_value := 'NULL';
5389      g_onhand_1_select(OWNING_TP_TYPE) := l_temp_rec;
5390 
5391      l_temp_rec.column_name  := 'PLANNING_TP_TYPE';
5392      l_temp_rec.column_value := 'NULL';
5393      g_onhand_1_select(PLANNING_TP_TYPE) := l_temp_rec;
5394 
5395      -- Onhand Material Status support
5396      l_temp_rec.column_name  := 'STATUS';
5397      l_temp_rec.column_value := 'NULL';
5398      g_onhand_1_select(STATUS) := l_temp_rec;
5399 
5400      l_temp_rec.column_name  := 'STATUS_ID';
5401      l_temp_rec.column_value := 'NULL';
5402      g_onhand_1_select(STATUS_ID) := l_temp_rec;
5403 
5404 
5405   END initialize_onhand_1_query;
5406 
5407 
5408   PROCEDURE initialize_inbound_query IS
5409      l_procedure_name VARCHAR2(30);
5410      l_temp_rec       SelectColumnRecType;
5411   BEGIN
5412 
5413      l_procedure_name := 'INBOUND_INBOUND_QUERY';
5414 
5415      g_inbound_select.DELETE;
5416      g_inbound_from.DELETE;
5417      g_inbound_where.DELETE;
5418      g_inbound_group.DELETE;
5419 
5420      g_inbound_where_index := 1;
5421      g_inbound_from_index := 1;
5422      g_inbound_group_index := 1;
5423 
5424      l_temp_rec.column_name  := 'PO_RELEASE_ID';
5425      l_temp_rec.column_value := 'NULL';
5426      g_inbound_select(PO_RELEASE_ID) := l_temp_rec;
5427 
5428      l_temp_rec.column_name  := 'RELEASE_LINE_NUMBER';
5429      l_temp_rec.column_value := 'NULL';
5430      g_inbound_select(RELEASE_LINE_NUMBER) := l_temp_rec;
5431 
5432      l_temp_rec.column_name  := 'SHIPMENT_NUMBER';
5433      l_temp_rec.column_value := 'NULL';
5434      g_inbound_select(SHIPMENT_NUMBER) := l_temp_rec;
5435 
5436      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_INTERORG';
5437      l_temp_rec.column_value := 'NULL';
5438      g_inbound_select(SHIPMENT_HEADER_ID_INTERORG) := l_temp_rec;
5439 
5440      l_temp_rec.column_name  := 'ASN';
5441      l_temp_rec.column_value := 'NULL';
5442      g_inbound_select(ASN) := l_temp_rec;
5443 
5444      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_ASN';
5445      l_temp_rec.column_value := 'NULL';
5446      g_inbound_select(SHIPMENT_HEADER_ID_ASN) := l_temp_rec;
5447 
5448      l_temp_rec.column_name  := 'TRADING_PARTNER';
5449      l_temp_rec.column_value := 'NULL';
5450      g_inbound_select(TRADING_PARTNER) := l_temp_rec;
5451 
5452      l_temp_rec.column_name  := 'VENDOR_ID';
5453      l_temp_rec.column_value := 'NULL';
5454      g_inbound_select(VENDOR_ID) := l_temp_rec;
5455 
5456      l_temp_rec.column_name  := 'TRADING_PARTNER_SITE';
5457      l_temp_rec.column_value := 'NULL';
5458      g_inbound_select(TRADING_PARTNER_SITE) := l_temp_rec;
5459 
5460      l_temp_rec.column_name  := 'VENDOR_SITE_ID';
5461      l_temp_rec.column_value := 'NULL';
5462      g_inbound_select(VENDOR_SITE_ID) := l_temp_rec;
5463 
5464      l_temp_rec.column_name  := 'FROM_ORG';
5465      l_temp_rec.column_value := 'NULL';
5466      g_inbound_select(FROM_ORG) := l_temp_rec;
5467 
5468      l_temp_rec.column_name  := 'FROM_ORG_ID';
5469      l_temp_rec.column_value := 'NULL';
5470      g_inbound_select(FROM_ORG_ID) := l_temp_rec;
5471 
5472      l_temp_rec.column_name  := 'TO_ORG';
5473      l_temp_rec.column_value := 'NULL';
5474      g_inbound_select(TO_ORG) := l_temp_rec;
5475 
5476      l_temp_rec.column_name  := 'TO_ORG_ID';
5477      l_temp_rec.column_value := 'NULL';
5478      g_inbound_select(TO_ORG_ID) := l_temp_rec;
5479 
5480      l_temp_rec.column_name  := 'EXPECTED_RECEIPT_DATE';
5481      l_temp_rec.column_value := 'NULL';
5482      g_inbound_select(EXPECTED_RECEIPT_DATE) := l_temp_rec;
5483 
5484      l_temp_rec.column_name  := 'SHIPPED_DATE';
5485      l_temp_rec.column_value := 'NULL';
5486      g_inbound_select(SHIPPED_DATE) := l_temp_rec;
5487 
5488      l_temp_rec.column_name  := 'OWNING_ORG';
5489      l_temp_rec.column_value := 'NULL';
5490      g_inbound_select(OWNING_ORG) := l_temp_rec;
5491 
5492      l_temp_rec.column_name  := 'OWNING_ORG_ID';
5493      l_temp_rec.column_value := 'NULL';
5494      g_inbound_select(OWNING_ORG_ID) := l_temp_rec;
5495 
5496      l_temp_rec.column_name  := 'REQ_HEADER_ID';
5497      l_temp_rec.column_value := 'NULL';
5498      g_inbound_select(REQ_HEADER_ID) := l_temp_rec;
5499 
5500      l_temp_rec.column_name  := 'OE_HEADER_ID';
5501      l_temp_rec.column_value := 'NULL';
5502      g_inbound_select(OE_HEADER_ID) := l_temp_rec;
5503 
5504      l_temp_rec.column_name  := 'PO_HEADER_ID';
5505      l_temp_rec.column_value := 'NULL';
5506      g_inbound_select(PO_HEADER_ID) := l_temp_rec;
5507 
5508      l_temp_rec.column_name  := 'MATURITY_DATE';
5509      l_temp_rec.column_value := 'NULL';
5510      g_inbound_select(MATURITY_DATE) := l_temp_rec;
5511 
5512      l_temp_rec.column_name  := 'HOLD_DATE';
5513      l_temp_rec.column_value := 'NULL';
5514      g_inbound_select(HOLD_DATE) := l_temp_rec;
5515 
5516      l_temp_rec.column_name  := 'SUPPLIER_LOT';
5517      l_temp_rec.column_value := 'NULL';
5518      g_inbound_select(SUPPLIER_LOT) := l_temp_rec;
5519 
5520      l_temp_rec.column_name  := 'PARENT_LOT';
5521      l_temp_rec.column_value := 'NULL';
5522      g_inbound_select(PARENT_LOT) := l_temp_rec;
5523 
5524      l_temp_rec.column_name  := 'DOCUMENT_TYPE';
5525      l_temp_rec.column_value := 'NULL';
5526      g_inbound_select(DOCUMENT_TYPE) := l_temp_rec;
5527 
5528      l_temp_rec.column_name  := 'DOCUMENT_TYPE_ID';
5529      l_temp_rec.column_value := 'NULL';
5530      g_inbound_select(DOCUMENT_TYPE_ID) := l_temp_rec;
5531 
5532      l_temp_rec.column_name  := 'DOCUMENT_NUMBER';
5533      l_temp_rec.column_value := 'NULL';
5534      g_inbound_select(DOCUMENT_NUMBER) := l_temp_rec;
5535 
5536      l_temp_rec.column_name  := 'DOCUMENT_LINE_NUMBER';
5537      l_temp_rec.column_value := 'NULL';
5538      g_inbound_select(DOCUMENT_LINE_NUMBER) := l_temp_rec;
5539 
5540      l_temp_rec.column_name  := 'RELEASE_NUMBER';
5541      l_temp_rec.column_value := 'NULL';
5542      g_inbound_select(RELEASE_NUMBER) := l_temp_rec;
5543 
5544      l_temp_rec.column_name  := 'ORIGINATION_TYPE';
5545      l_temp_rec.column_value := 'NULL';
5546      g_inbound_select(ORIGINATION_TYPE) := l_temp_rec;
5547 
5548      l_temp_rec.column_name  := 'ORIGINATION_DATE';
5549      l_temp_rec.column_value := 'NULL';
5550      g_inbound_select(ORIGINATION_DATE) := l_temp_rec;
5551 
5552      l_temp_rec.column_name  := 'ACTION_CODE';
5553      l_temp_rec.column_value := 'NULL';
5554      g_inbound_select(ACTION_CODE) := l_temp_rec;
5555 
5556      l_temp_rec.column_name  := 'ACTION_DATE';
5557      l_temp_rec.column_value := 'NULL';
5558      g_inbound_select(ACTION_DATE) := l_temp_rec;
5559 
5560      l_temp_rec.column_name  := 'RETEST_DATE';
5561      l_temp_rec.column_value := 'NULL';
5562      g_inbound_select(RETEST_DATE) := l_temp_rec;
5563 
5564      l_temp_rec.column_name  := 'SECONDARY_UNPACKED';
5565      l_temp_rec.column_value := 'NULL';
5566      g_inbound_select(SECONDARY_UNPACKED) := l_temp_rec;
5567 
5568      l_temp_rec.column_name  := 'SECONDARY_PACKED';
5569      l_temp_rec.column_value := 'NULL';
5570      g_inbound_select(SECONDARY_PACKED) := l_temp_rec;
5571 
5572      l_temp_rec.column_name  := 'SUBINVENTORY_CODE';
5573      l_temp_rec.column_value := 'NULL';
5574      g_inbound_select(SUBINVENTORY_CODE) := l_temp_rec;
5575 
5576      l_temp_rec.column_name  := 'LOCATOR';
5577      l_temp_rec.column_value := 'NULL';
5578      g_inbound_select(LOCATOR) := l_temp_rec;
5579 
5580      l_temp_rec.column_name  := 'LOCATOR_ID';
5581      l_temp_rec.column_value := 'NULL';
5582      g_inbound_select(LOCATOR_ID) := l_temp_rec;
5583 
5584      l_temp_rec.column_name  := 'LPN';
5585      l_temp_rec.column_value := 'NULL';
5586      g_inbound_select(LPN) := l_temp_rec;
5587 
5588      l_temp_rec.column_name  := 'LPN_ID';
5589      l_temp_rec.column_value := 'NULL';
5590      g_inbound_select(LPN_ID) := l_temp_rec;
5591 
5592      l_temp_rec.column_name  := 'COST_GROUP';
5593      l_temp_rec.column_value := 'NULL';
5594      g_inbound_select(COST_GROUP) := l_temp_rec;
5595 
5596      l_temp_rec.column_name  := 'GRADE_CODE';
5597      l_temp_rec.column_value := 'NULL';
5598      g_inbound_select(GRADE_CODE) := l_temp_rec;
5599 
5600      l_temp_rec.column_name  := 'CG_ID';
5601      l_temp_rec.column_value := 'NULL';
5602      g_inbound_select(CG_ID) := l_temp_rec;
5603 
5604      l_temp_rec.column_name  := 'LOADED';
5605      l_temp_rec.column_value := 'NULL';
5606      g_inbound_select(LOADED) := l_temp_rec;
5607 
5608      l_temp_rec.column_name  := 'PLANNING_PARTY';
5609      l_temp_rec.column_value := 'NULL';
5610      g_inbound_select(PLANNING_PARTY) := l_temp_rec;
5611 
5612      l_temp_rec.column_name  := 'PLANNING_PARTY_ID';
5613      l_temp_rec.column_value := 'NULL';
5614      g_inbound_select(PLANNING_PARTY_ID) := l_temp_rec;
5615 
5616      l_temp_rec.column_name  := 'OWNING_PARTY';
5617      l_temp_rec.column_value := 'NULL';
5618      g_inbound_select(OWNING_PARTY) := l_temp_rec;
5619 
5620      l_temp_rec.column_name  := 'OWNING_PARTY_ID';
5621      l_temp_rec.column_value := 'NULL';
5622      g_inbound_select(OWNING_PARTY_ID) := l_temp_rec;
5623 
5624      l_temp_rec.column_name  := 'LOT';
5625      l_temp_rec.column_value := 'NULL';
5626      g_inbound_select(LOT) := l_temp_rec;
5627 
5628 
5629      l_temp_rec.column_name  := 'SERIAL';
5630      l_temp_rec.column_value := 'NULL';
5631      g_inbound_select(SERIAL) := l_temp_rec;
5632 
5633      l_temp_rec.column_name  := 'UNIT_NUMBER';
5634      l_temp_rec.column_value := 'NULL';
5635      g_inbound_select(UNIT_NUMBER) := l_temp_rec;
5636 
5637      l_temp_rec.column_name  := 'LOT_EXPIRY_DATE';
5638      l_temp_rec.column_value := 'NULL';
5639      g_inbound_select(LOT_EXPIRY_DATE) := l_temp_rec;
5640 
5641      l_temp_rec.column_name  := 'ORGANIZATION_CODE';
5642      l_temp_rec.column_value := 'NULL';
5643      g_inbound_select(ORGANIZATION_CODE) := l_temp_rec;
5644 
5645      l_temp_rec.column_name  := 'ORG_ID';
5646      l_temp_rec.column_value := 'NULL';
5647      g_inbound_select(ORG_ID) := l_temp_rec;
5648 
5649      l_temp_rec.column_name  := 'ITEM';
5650      l_temp_rec.column_value := 'NULL';
5651      g_inbound_select(ITEM) := l_temp_rec;
5652 
5653      l_temp_rec.column_name  := 'ITEM_DESCRIPTION';
5654      l_temp_rec.column_value := 'NULL';
5655      g_inbound_select(ITEM_DESCRIPTION) := l_temp_rec;
5656 
5657      l_temp_rec.column_name  := 'ITEM_ID';
5658      l_temp_rec.column_value := 'NULL';
5659      g_inbound_select(ITEM_ID) := l_temp_rec;
5660 
5661      l_temp_rec.column_name  := 'REVISION';
5662      l_temp_rec.column_value := 'NULL';
5663      g_inbound_select(REVISION) := l_temp_rec;
5664 
5665      l_temp_rec.column_name  := 'PRIMARY_UOM_CODE';
5666      l_temp_rec.column_value := 'NULL';
5667      g_inbound_select(PRIMARY_UOM_CODE) := l_temp_rec;
5668 
5669      l_temp_rec.column_name  := 'ONHAND';
5670      l_temp_rec.column_value := 'NULL';
5671      g_inbound_select(ONHAND) := l_temp_rec;
5672 
5673      l_temp_rec.column_name  := 'RECEIVING';
5674      l_temp_rec.column_value := 'NULL';
5675      g_inbound_select(RECEIVING) := l_temp_rec;
5676 
5677      l_temp_rec.column_name  := 'INBOUND';
5678      l_temp_rec.column_value := 'NULL';
5679      g_inbound_select(INBOUND) := l_temp_rec;
5680 
5681      l_temp_rec.column_name  := 'UNPACKED';
5682      l_temp_rec.column_value := 'NULL';
5683      g_inbound_select(UNPACKED) := l_temp_rec;
5684 
5685      l_temp_rec.column_name  := 'PACKED';
5686      l_temp_rec.column_value := 'NULL';
5687      g_inbound_select(PACKED) := l_temp_rec;
5688 
5689      l_temp_rec.column_name  := 'SECONDARY_UOM_CODE';
5690      l_temp_rec.column_value := 'NULL';
5691      g_inbound_select(SECONDARY_UOM_CODE) := l_temp_rec;
5692 
5693      l_temp_rec.column_name  := 'SECONDARY_ONHAND';
5694      l_temp_rec.column_value := 'NULL';
5695      g_inbound_select(SECONDARY_ONHAND) := l_temp_rec;
5696 
5697      l_temp_rec.column_name  := 'SECONDARY_RECEIVING';
5698      l_temp_rec.column_value := 'NULL';
5699      g_inbound_select(SECONDARY_RECEIVING) := l_temp_rec;
5700 
5701      l_temp_rec.column_name  := 'SECONDARY_INBOUND';
5702      l_temp_rec.column_value := 'NULL';
5703      g_inbound_select(SECONDARY_INBOUND) := l_temp_rec;
5704 
5705      l_temp_rec.column_name  := 'OWNING_ORGANIZATION_ID';
5706      l_temp_rec.column_value := 'NULL';
5707      g_inbound_select(OWNING_ORGANIZATION_ID) := l_temp_rec;
5708 
5709      l_temp_rec.column_name  := 'PLANNING_ORGANIZATION_ID';
5710      l_temp_rec.column_value := 'NULL';
5711      g_inbound_select(PLANNING_ORGANIZATION_ID) := l_temp_rec;
5712 
5713      l_temp_rec.column_name  := 'OWNING_TP_TYPE';
5714      l_temp_rec.column_value := 'NULL';
5715      g_inbound_select(OWNING_TP_TYPE) := l_temp_rec;
5716 
5717      l_temp_rec.column_name  := 'PLANNING_TP_TYPE';
5718      l_temp_rec.column_value := 'NULL';
5719      g_inbound_select(PLANNING_TP_TYPE) := l_temp_rec;
5720 
5721      -- Bug 6843313 Onhand Material Status support
5722      l_temp_rec.column_name  := 'STATUS';
5723      l_temp_rec.column_value := 'NULL';
5724      g_inbound_select(STATUS) := l_temp_rec;
5725 
5726      l_temp_rec.column_name  := 'STATUS_ID';
5727      l_temp_rec.column_value := 'NULL';
5728      g_inbound_select(STATUS_ID) := l_temp_rec;
5729 
5730   END initialize_inbound_query;
5731 
5732   PROCEDURE initialize_inbound_1_query IS
5733      l_procedure_name VARCHAR2(30);
5734      l_temp_rec       SelectColumnRecType;
5735   BEGIN
5736 
5737      l_procedure_name := 'INBOUND_inbound_1_QUERY';
5738 
5739      g_inbound_1_select.DELETE;
5740      g_inbound_1_from.DELETE;
5741      g_inbound_1_where.DELETE;
5742      g_inbound_1_group.DELETE;
5743 
5744      g_inbound_1_where_index := 1;
5745      g_inbound_1_from_index := 1;
5746      g_inbound_1_group_index := 1;
5747 
5748      l_temp_rec.column_name  := 'PO_RELEASE_ID';
5749      l_temp_rec.column_value := 'NULL';
5750      g_inbound_1_select(PO_RELEASE_ID) := l_temp_rec;
5751 
5752      l_temp_rec.column_name  := 'RELEASE_LINE_NUMBER';
5753      l_temp_rec.column_value := 'NULL';
5754      g_inbound_1_select(RELEASE_LINE_NUMBER) := l_temp_rec;
5755 
5756      l_temp_rec.column_name  := 'SHIPMENT_NUMBER';
5757      l_temp_rec.column_value := 'NULL';
5758      g_inbound_1_select(SHIPMENT_NUMBER) := l_temp_rec;
5759 
5760      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_INTERORG';
5761      l_temp_rec.column_value := 'NULL';
5762      g_inbound_1_select(SHIPMENT_HEADER_ID_INTERORG) := l_temp_rec;
5763 
5764      l_temp_rec.column_name  := 'ASN';
5765      l_temp_rec.column_value := 'NULL';
5766      g_inbound_1_select(ASN) := l_temp_rec;
5767 
5768      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_ASN';
5769      l_temp_rec.column_value := 'NULL';
5770      g_inbound_1_select(SHIPMENT_HEADER_ID_ASN) := l_temp_rec;
5771 
5772      l_temp_rec.column_name  := 'TRADING_PARTNER';
5773      l_temp_rec.column_value := 'NULL';
5774      g_inbound_1_select(TRADING_PARTNER) := l_temp_rec;
5775 
5776      l_temp_rec.column_name  := 'VENDOR_ID';
5777      l_temp_rec.column_value := 'NULL';
5778      g_inbound_1_select(VENDOR_ID) := l_temp_rec;
5779 
5780      l_temp_rec.column_name  := 'TRADING_PARTNER_SITE';
5781      l_temp_rec.column_value := 'NULL';
5782      g_inbound_1_select(TRADING_PARTNER_SITE) := l_temp_rec;
5783 
5784      l_temp_rec.column_name  := 'VENDOR_SITE_ID';
5785      l_temp_rec.column_value := 'NULL';
5786      g_inbound_1_select(VENDOR_SITE_ID) := l_temp_rec;
5787 
5788      l_temp_rec.column_name  := 'FROM_ORG';
5789      l_temp_rec.column_value := 'NULL';
5790      g_inbound_1_select(FROM_ORG) := l_temp_rec;
5791 
5792      l_temp_rec.column_name  := 'FROM_ORG_ID';
5793      l_temp_rec.column_value := 'NULL';
5794      g_inbound_1_select(FROM_ORG_ID) := l_temp_rec;
5795 
5796      l_temp_rec.column_name  := 'TO_ORG';
5797      l_temp_rec.column_value := 'NULL';
5798      g_inbound_1_select(TO_ORG) := l_temp_rec;
5799 
5800      l_temp_rec.column_name  := 'TO_ORG_ID';
5801      l_temp_rec.column_value := 'NULL';
5802      g_inbound_1_select(TO_ORG_ID) := l_temp_rec;
5803 
5804      l_temp_rec.column_name  := 'EXPECTED_RECEIPT_DATE';
5805      l_temp_rec.column_value := 'NULL';
5806      g_inbound_1_select(EXPECTED_RECEIPT_DATE) := l_temp_rec;
5807 
5808      l_temp_rec.column_name  := 'SHIPPED_DATE';
5809      l_temp_rec.column_value := 'NULL';
5810      g_inbound_1_select(SHIPPED_DATE) := l_temp_rec;
5811 
5812      l_temp_rec.column_name  := 'OWNING_ORG';
5813      l_temp_rec.column_value := 'NULL';
5814      g_inbound_1_select(OWNING_ORG) := l_temp_rec;
5815 
5816      l_temp_rec.column_name  := 'OWNING_ORG_ID';
5817      l_temp_rec.column_value := 'NULL';
5818      g_inbound_1_select(OWNING_ORG_ID) := l_temp_rec;
5819 
5820      l_temp_rec.column_name  := 'REQ_HEADER_ID';
5821      l_temp_rec.column_value := 'NULL';
5822      g_inbound_1_select(REQ_HEADER_ID) := l_temp_rec;
5823 
5824      l_temp_rec.column_name  := 'OE_HEADER_ID';
5825      l_temp_rec.column_value := 'NULL';
5826      g_inbound_1_select(OE_HEADER_ID) := l_temp_rec;
5827 
5828      l_temp_rec.column_name  := 'PO_HEADER_ID';
5829      l_temp_rec.column_value := 'NULL';
5830      g_inbound_1_select(PO_HEADER_ID) := l_temp_rec;
5831 
5832      l_temp_rec.column_name  := 'MATURITY_DATE';
5833      l_temp_rec.column_value := 'NULL';
5834      g_inbound_1_select(MATURITY_DATE) := l_temp_rec;
5835 
5836      l_temp_rec.column_name  := 'HOLD_DATE';
5837      l_temp_rec.column_value := 'NULL';
5838      g_inbound_1_select(HOLD_DATE) := l_temp_rec;
5839 
5840      l_temp_rec.column_name  := 'SUPPLIER_LOT';
5841      l_temp_rec.column_value := 'NULL';
5842      g_inbound_1_select(SUPPLIER_LOT) := l_temp_rec;
5843 
5844      l_temp_rec.column_name  := 'PARENT_LOT';
5845      l_temp_rec.column_value := 'NULL';
5846      g_inbound_1_select(PARENT_LOT) := l_temp_rec;
5847 
5848      l_temp_rec.column_name  := 'DOCUMENT_TYPE';
5849      l_temp_rec.column_value := 'NULL';
5850      g_inbound_1_select(DOCUMENT_TYPE) := l_temp_rec;
5851 
5852      l_temp_rec.column_name  := 'DOCUMENT_TYPE_ID';
5853      l_temp_rec.column_value := 'NULL';
5854      g_inbound_1_select(DOCUMENT_TYPE_ID) := l_temp_rec;
5855 
5856      l_temp_rec.column_name  := 'DOCUMENT_NUMBER';
5857      l_temp_rec.column_value := 'NULL';
5858      g_inbound_1_select(DOCUMENT_NUMBER) := l_temp_rec;
5859 
5860      l_temp_rec.column_name  := 'DOCUMENT_LINE_NUMBER';
5861      l_temp_rec.column_value := 'NULL';
5862      g_inbound_1_select(DOCUMENT_LINE_NUMBER) := l_temp_rec;
5863 
5864      l_temp_rec.column_name  := 'RELEASE_NUMBER';
5865      l_temp_rec.column_value := 'NULL';
5866      g_inbound_1_select(RELEASE_NUMBER) := l_temp_rec;
5867 
5868      l_temp_rec.column_name  := 'ORIGINATION_TYPE';
5869      l_temp_rec.column_value := 'NULL';
5870      g_inbound_1_select(ORIGINATION_TYPE) := l_temp_rec;
5871 
5872      l_temp_rec.column_name  := 'ORIGINATION_DATE';
5873      l_temp_rec.column_value := 'NULL';
5874      g_inbound_1_select(ORIGINATION_DATE) := l_temp_rec;
5875 
5876      l_temp_rec.column_name  := 'ACTION_CODE';
5877      l_temp_rec.column_value := 'NULL';
5878      g_inbound_1_select(ACTION_CODE) := l_temp_rec;
5879 
5880      l_temp_rec.column_name  := 'ACTION_DATE';
5881      l_temp_rec.column_value := 'NULL';
5882      g_inbound_1_select(ACTION_DATE) := l_temp_rec;
5883 
5884      l_temp_rec.column_name  := 'RETEST_DATE';
5885      l_temp_rec.column_value := 'NULL';
5886      g_inbound_1_select(RETEST_DATE) := l_temp_rec;
5887 
5888      l_temp_rec.column_name  := 'SECONDARY_UNPACKED';
5889      l_temp_rec.column_value := 'NULL';
5890      g_inbound_1_select(SECONDARY_UNPACKED) := l_temp_rec;
5891 
5892      l_temp_rec.column_name  := 'SECONDARY_PACKED';
5893      l_temp_rec.column_value := 'NULL';
5894      g_inbound_1_select(SECONDARY_PACKED) := l_temp_rec;
5895 
5896      l_temp_rec.column_name  := 'SUBINVENTORY_CODE';
5897      l_temp_rec.column_value := 'NULL';
5898      g_inbound_1_select(SUBINVENTORY_CODE) := l_temp_rec;
5899 
5900      l_temp_rec.column_name  := 'LOCATOR';
5901      l_temp_rec.column_value := 'NULL';
5902      g_inbound_1_select(LOCATOR) := l_temp_rec;
5903 
5904      l_temp_rec.column_name  := 'LOCATOR_ID';
5905      l_temp_rec.column_value := 'NULL';
5906      g_inbound_1_select(LOCATOR_ID) := l_temp_rec;
5907 
5908      l_temp_rec.column_name  := 'LPN';
5909      l_temp_rec.column_value := 'NULL';
5910      g_inbound_1_select(LPN) := l_temp_rec;
5911 
5912      l_temp_rec.column_name  := 'LPN_ID';
5913      l_temp_rec.column_value := 'NULL';
5914      g_inbound_1_select(LPN_ID) := l_temp_rec;
5915 
5916      l_temp_rec.column_name  := 'COST_GROUP';
5917      l_temp_rec.column_value := 'NULL';
5918      g_inbound_1_select(COST_GROUP) := l_temp_rec;
5919 
5920      l_temp_rec.column_name  := 'GRADE_CODE';
5921      l_temp_rec.column_value := 'NULL';
5922      g_inbound_1_select(GRADE_CODE) := l_temp_rec;
5923 
5924      l_temp_rec.column_name  := 'CG_ID';
5925      l_temp_rec.column_value := 'NULL';
5926      g_inbound_1_select(CG_ID) := l_temp_rec;
5927 
5928      l_temp_rec.column_name  := 'LOADED';
5929      l_temp_rec.column_value := 'NULL';
5930      g_inbound_1_select(LOADED) := l_temp_rec;
5931 
5932      l_temp_rec.column_name  := 'PLANNING_PARTY';
5933      l_temp_rec.column_value := 'NULL';
5934      g_inbound_1_select(PLANNING_PARTY) := l_temp_rec;
5935 
5936      l_temp_rec.column_name  := 'PLANNING_PARTY_ID';
5937      l_temp_rec.column_value := 'NULL';
5938      g_inbound_1_select(PLANNING_PARTY_ID) := l_temp_rec;
5939 
5940      l_temp_rec.column_name  := 'OWNING_PARTY';
5941      l_temp_rec.column_value := 'NULL';
5942      g_inbound_1_select(OWNING_PARTY) := l_temp_rec;
5943 
5944      l_temp_rec.column_name  := 'OWNING_PARTY_ID';
5945      l_temp_rec.column_value := 'NULL';
5946      g_inbound_1_select(OWNING_PARTY_ID) := l_temp_rec;
5947 
5948      l_temp_rec.column_name  := 'LOT';
5949      l_temp_rec.column_value := 'NULL';
5950      g_inbound_1_select(LOT) := l_temp_rec;
5951 
5952 
5953      l_temp_rec.column_name  := 'SERIAL';
5954      l_temp_rec.column_value := 'NULL';
5955      g_inbound_1_select(SERIAL) := l_temp_rec;
5956 
5957      l_temp_rec.column_name  := 'UNIT_NUMBER';
5958      l_temp_rec.column_value := 'NULL';
5959      g_inbound_1_select(UNIT_NUMBER) := l_temp_rec;
5960 
5961      l_temp_rec.column_name  := 'LOT_EXPIRY_DATE';
5962      l_temp_rec.column_value := 'NULL';
5963      g_inbound_1_select(LOT_EXPIRY_DATE) := l_temp_rec;
5964 
5965      l_temp_rec.column_name  := 'ORGANIZATION_CODE';
5966      l_temp_rec.column_value := 'NULL';
5967      g_inbound_1_select(ORGANIZATION_CODE) := l_temp_rec;
5968 
5969      l_temp_rec.column_name  := 'ORG_ID';
5970      l_temp_rec.column_value := 'NULL';
5971      g_inbound_1_select(ORG_ID) := l_temp_rec;
5972 
5973      l_temp_rec.column_name  := 'ITEM';
5974      l_temp_rec.column_value := 'NULL';
5975      g_inbound_1_select(ITEM) := l_temp_rec;
5976 
5977      l_temp_rec.column_name  := 'ITEM_DESCRIPTION';
5978      l_temp_rec.column_value := 'NULL';
5979      g_inbound_1_select(ITEM_DESCRIPTION) := l_temp_rec;
5980 
5981      l_temp_rec.column_name  := 'ITEM_ID';
5982      l_temp_rec.column_value := 'NULL';
5983      g_inbound_1_select(ITEM_ID) := l_temp_rec;
5984 
5985      l_temp_rec.column_name  := 'REVISION';
5986      l_temp_rec.column_value := 'NULL';
5987      g_inbound_1_select(REVISION) := l_temp_rec;
5988 
5989      l_temp_rec.column_name  := 'PRIMARY_UOM_CODE';
5990      l_temp_rec.column_value := 'NULL';
5991      g_inbound_1_select(PRIMARY_UOM_CODE) := l_temp_rec;
5992 
5993      l_temp_rec.column_name  := 'ONHAND';
5994      l_temp_rec.column_value := 'NULL';
5995      g_inbound_1_select(ONHAND) := l_temp_rec;
5996 
5997      l_temp_rec.column_name  := 'RECEIVING';
5998      l_temp_rec.column_value := 'NULL';
5999      g_inbound_1_select(RECEIVING) := l_temp_rec;
6000 
6001      l_temp_rec.column_name  := 'INBOUND';
6002      l_temp_rec.column_value := 'NULL';
6003      g_inbound_1_select(INBOUND) := l_temp_rec;
6004 
6005      l_temp_rec.column_name  := 'UNPACKED';
6006      l_temp_rec.column_value := 'NULL';
6007      g_inbound_1_select(UNPACKED) := l_temp_rec;
6008 
6009      l_temp_rec.column_name  := 'PACKED';
6010      l_temp_rec.column_value := 'NULL';
6011      g_inbound_1_select(PACKED) := l_temp_rec;
6012 
6013      l_temp_rec.column_name  := 'SECONDARY_UOM_CODE';
6014      l_temp_rec.column_value := 'NULL';
6015      g_inbound_1_select(SECONDARY_UOM_CODE) := l_temp_rec;
6016 
6017      l_temp_rec.column_name  := 'SECONDARY_ONHAND';
6018      l_temp_rec.column_value := 'NULL';
6019      g_inbound_1_select(SECONDARY_ONHAND) := l_temp_rec;
6020 
6021      l_temp_rec.column_name  := 'SECONDARY_RECEIVING';
6022      l_temp_rec.column_value := 'NULL';
6023      g_inbound_1_select(SECONDARY_RECEIVING) := l_temp_rec;
6024 
6025      l_temp_rec.column_name  := 'SECONDARY_INBOUND';
6026      l_temp_rec.column_value := 'NULL';
6027      g_inbound_1_select(SECONDARY_INBOUND) := l_temp_rec;
6028 
6029      l_temp_rec.column_name  := 'OWNING_ORGANIZATION_ID';
6030      l_temp_rec.column_value := 'NULL';
6031      g_inbound_1_select(OWNING_ORGANIZATION_ID) := l_temp_rec;
6032 
6033      l_temp_rec.column_name  := 'PLANNING_ORGANIZATION_ID';
6034      l_temp_rec.column_value := 'NULL';
6035      g_inbound_1_select(PLANNING_ORGANIZATION_ID) := l_temp_rec;
6036 
6037      l_temp_rec.column_name  := 'OWNING_TP_TYPE';
6038      l_temp_rec.column_value := 'NULL';
6039      g_inbound_1_select(OWNING_TP_TYPE) := l_temp_rec;
6040 
6041      l_temp_rec.column_name  := 'PLANNING_TP_TYPE';
6042      l_temp_rec.column_value := 'NULL';
6043      g_inbound_1_select(PLANNING_TP_TYPE) := l_temp_rec;
6044 
6045      -- Bug 6843313 Onhand Material Status support
6046      l_temp_rec.column_name  := 'STATUS';
6047      l_temp_rec.column_value := 'NULL';
6048      g_inbound_1_select(STATUS) := l_temp_rec;
6049 
6050      l_temp_rec.column_name  := 'STATUS_ID';
6051      l_temp_rec.column_value := 'NULL';
6052      g_inbound_1_select(STATUS_ID) := l_temp_rec;
6053 
6054   END initialize_inbound_1_query;
6055 
6056   PROCEDURE initialize_receiving_query IS
6057      l_procedure_name VARCHAR2(30);
6058      l_temp_rec       SelectColumnRecType;
6059   BEGIN
6060 
6061      l_procedure_name := 'INBOUND_RECEIVING_QUERY';
6062 
6063      g_receiving_select.DELETE;
6064      g_receiving_from.DELETE;
6065      g_receiving_where.DELETE;
6066      g_receiving_group.DELETE;
6067 
6068      g_receiving_from_index := 1;
6069      g_receiving_where_index := 1;
6070      g_receiving_group_index := 1;
6071 
6072      l_temp_rec.column_name  := 'PO_RELEASE_ID';
6073      l_temp_rec.column_value := 'NULL';
6074      g_receiving_select(PO_RELEASE_ID) := l_temp_rec;
6075 
6076      l_temp_rec.column_name  := 'RELEASE_LINE_NUMBER';
6077      l_temp_rec.column_value := 'NULL';
6078      g_receiving_select(RELEASE_LINE_NUMBER) := l_temp_rec;
6079 
6080      l_temp_rec.column_name  := 'SHIPMENT_NUMBER';
6081      l_temp_rec.column_value := 'NULL';
6082      g_receiving_select(SHIPMENT_NUMBER) := l_temp_rec;
6083 
6084      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_INTERORG';
6085      l_temp_rec.column_value := 'NULL';
6086      g_receiving_select(SHIPMENT_HEADER_ID_INTERORG) := l_temp_rec;
6087 
6088      l_temp_rec.column_name  := 'ASN';
6089      l_temp_rec.column_value := 'NULL';
6090      g_receiving_select(ASN) := l_temp_rec;
6091 
6092      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_ASN';
6093      l_temp_rec.column_value := 'NULL';
6094      g_receiving_select(SHIPMENT_HEADER_ID_ASN) := l_temp_rec;
6095 
6096      l_temp_rec.column_name  := 'TRADING_PARTNER';
6097      l_temp_rec.column_value := 'NULL';
6098      g_receiving_select(TRADING_PARTNER) := l_temp_rec;
6099 
6100      l_temp_rec.column_name  := 'VENDOR_ID';
6101      l_temp_rec.column_value := 'NULL';
6102      g_receiving_select(VENDOR_ID) := l_temp_rec;
6103 
6104      l_temp_rec.column_name  := 'TRADING_PARTNER_SITE';
6105      l_temp_rec.column_value := 'NULL';
6106      g_receiving_select(TRADING_PARTNER_SITE) := l_temp_rec;
6107 
6108      l_temp_rec.column_name  := 'VENDOR_SITE_ID';
6109      l_temp_rec.column_value := 'NULL';
6110      g_receiving_select(VENDOR_SITE_ID) := l_temp_rec;
6111 
6112      l_temp_rec.column_name  := 'FROM_ORG';
6113      l_temp_rec.column_value := 'NULL';
6114      g_receiving_select(FROM_ORG) := l_temp_rec;
6115 
6116      l_temp_rec.column_name  := 'FROM_ORG_ID';
6117      l_temp_rec.column_value := 'NULL';
6118      g_receiving_select(FROM_ORG_ID) := l_temp_rec;
6119 
6120      l_temp_rec.column_name  := 'TO_ORG';
6121      l_temp_rec.column_value := 'NULL';
6122      g_receiving_select(TO_ORG) := l_temp_rec;
6123 
6124      l_temp_rec.column_name  := 'TO_ORG_ID';
6125      l_temp_rec.column_value := 'NULL';
6126      g_receiving_select(TO_ORG_ID) := l_temp_rec;
6127 
6128      l_temp_rec.column_name  := 'EXPECTED_RECEIPT_DATE';
6129      l_temp_rec.column_value := 'NULL';
6130      g_receiving_select(EXPECTED_RECEIPT_DATE) := l_temp_rec;
6131 
6132      l_temp_rec.column_name  := 'SHIPPED_DATE';
6133      l_temp_rec.column_value := 'NULL';
6134      g_receiving_select(SHIPPED_DATE) := l_temp_rec;
6135 
6136      l_temp_rec.column_name  := 'OWNING_ORG';
6137      l_temp_rec.column_value := 'NULL';
6138      g_receiving_select(OWNING_ORG) := l_temp_rec;
6139 
6140      l_temp_rec.column_name  := 'OWNING_ORG_ID';
6141      l_temp_rec.column_value := 'NULL';
6142      g_receiving_select(OWNING_ORG_ID) := l_temp_rec;
6143 
6144      l_temp_rec.column_name  := 'REQ_HEADER_ID';
6145      l_temp_rec.column_value := 'NULL';
6146      g_receiving_select(REQ_HEADER_ID) := l_temp_rec;
6147 
6148      l_temp_rec.column_name  := 'OE_HEADER_ID';
6149      l_temp_rec.column_value := 'NULL';
6150      g_receiving_select(OE_HEADER_ID) := l_temp_rec;
6151 
6152      l_temp_rec.column_name  := 'PO_HEADER_ID';
6153      l_temp_rec.column_value := 'NULL';
6154      g_receiving_select(PO_HEADER_ID) := l_temp_rec;
6155 
6156      l_temp_rec.column_name  := 'MATURITY_DATE';
6157      l_temp_rec.column_value := 'NULL';
6158      g_receiving_select(MATURITY_DATE) := l_temp_rec;
6159 
6160      l_temp_rec.column_name  := 'HOLD_DATE';
6161      l_temp_rec.column_value := 'NULL';
6162      g_receiving_select(HOLD_DATE) := l_temp_rec;
6163 
6164      l_temp_rec.column_name  := 'SUPPLIER_LOT';
6165      l_temp_rec.column_value := 'NULL';
6166      g_receiving_select(SUPPLIER_LOT) := l_temp_rec;
6167 
6168      l_temp_rec.column_name  := 'PARENT_LOT';
6169      l_temp_rec.column_value := 'NULL';
6170      g_receiving_select(PARENT_LOT) := l_temp_rec;
6171 
6172      l_temp_rec.column_name  := 'DOCUMENT_TYPE';
6173      l_temp_rec.column_value := 'NULL';
6174      g_receiving_select(DOCUMENT_TYPE) := l_temp_rec;
6175 
6176      l_temp_rec.column_name  := 'DOCUMENT_TYPE_ID';
6177      l_temp_rec.column_value := 'NULL';
6178      g_receiving_select(DOCUMENT_TYPE_ID) := l_temp_rec;
6179 
6180      l_temp_rec.column_name  := 'DOCUMENT_NUMBER';
6181      l_temp_rec.column_value := 'NULL';
6182      g_receiving_select(DOCUMENT_NUMBER) := l_temp_rec;
6183 
6184      l_temp_rec.column_name  := 'DOCUMENT_LINE_NUMBER';
6185      l_temp_rec.column_value := 'NULL';
6186      g_receiving_select(DOCUMENT_LINE_NUMBER) := l_temp_rec;
6187 
6188      l_temp_rec.column_name  := 'RELEASE_NUMBER';
6189      l_temp_rec.column_value := 'NULL';
6190      g_receiving_select(RELEASE_NUMBER) := l_temp_rec;
6191 
6192      l_temp_rec.column_name  := 'ORIGINATION_TYPE';
6193      l_temp_rec.column_value := 'NULL';
6194      g_receiving_select(ORIGINATION_TYPE) := l_temp_rec;
6195 
6196      l_temp_rec.column_name  := 'ORIGINATION_DATE';
6197      l_temp_rec.column_value := 'NULL';
6198      g_receiving_select(ORIGINATION_DATE) := l_temp_rec;
6199 
6200      l_temp_rec.column_name  := 'ACTION_CODE';
6201      l_temp_rec.column_value := 'NULL';
6202      g_receiving_select(ACTION_CODE) := l_temp_rec;
6203 
6204      l_temp_rec.column_name  := 'ACTION_DATE';
6205      l_temp_rec.column_value := 'NULL';
6206      g_receiving_select(ACTION_DATE) := l_temp_rec;
6207 
6208      l_temp_rec.column_name  := 'RETEST_DATE';
6209      l_temp_rec.column_value := 'NULL';
6210      g_receiving_select(RETEST_DATE) := l_temp_rec;
6211 
6212      l_temp_rec.column_name  := 'SECONDARY_UNPACKED';
6213      l_temp_rec.column_value := 'NULL';
6214      g_receiving_select(SECONDARY_UNPACKED) := l_temp_rec;
6215 
6216      l_temp_rec.column_name  := 'SECONDARY_PACKED';
6217      l_temp_rec.column_value := 'NULL';
6218      g_receiving_select(SECONDARY_PACKED) := l_temp_rec;
6219 
6220      l_temp_rec.column_name  := 'SUBINVENTORY_CODE';
6221      l_temp_rec.column_value := 'NULL';
6222      g_receiving_select(SUBINVENTORY_CODE) := l_temp_rec;
6223 
6224      l_temp_rec.column_name  := 'LOCATOR';
6225      l_temp_rec.column_value := 'NULL';
6226      g_receiving_select(LOCATOR) := l_temp_rec;
6227 
6228      l_temp_rec.column_name  := 'LOCATOR_ID';
6229      l_temp_rec.column_value := 'NULL';
6230      g_receiving_select(LOCATOR_ID) := l_temp_rec;
6231 
6232      l_temp_rec.column_name  := 'LPN';
6233      l_temp_rec.column_value := 'NULL';
6234      g_receiving_select(LPN) := l_temp_rec;
6235 
6236      l_temp_rec.column_name  := 'LPN_ID';
6237      l_temp_rec.column_value := 'NULL';
6238      g_receiving_select(LPN_ID) := l_temp_rec;
6239 
6240      l_temp_rec.column_name  := 'COST_GROUP';
6241      l_temp_rec.column_value := 'NULL';
6242      g_receiving_select(COST_GROUP) := l_temp_rec;
6243 
6244      l_temp_rec.column_name  := 'GRADE_CODE';
6245      l_temp_rec.column_value := 'NULL';
6246      g_receiving_select(GRADE_CODE) := l_temp_rec;
6247 
6248      l_temp_rec.column_name  := 'CG_ID';
6249      l_temp_rec.column_value := 'NULL';
6250      g_receiving_select(CG_ID) := l_temp_rec;
6251 
6252      l_temp_rec.column_name  := 'LOADED';
6253      l_temp_rec.column_value := 'NULL';
6254      g_receiving_select(LOADED) := l_temp_rec;
6255 
6256      l_temp_rec.column_name  := 'PLANNING_PARTY';
6257      l_temp_rec.column_value := 'NULL';
6258      g_receiving_select(PLANNING_PARTY) := l_temp_rec;
6259 
6260      l_temp_rec.column_name  := 'PLANNING_PARTY_ID';
6261      l_temp_rec.column_value := 'NULL';
6262      g_receiving_select(PLANNING_PARTY_ID) := l_temp_rec;
6263 
6264      l_temp_rec.column_name  := 'OWNING_PARTY';
6265      l_temp_rec.column_value := 'NULL';
6266      g_receiving_select(OWNING_PARTY) := l_temp_rec;
6267 
6268      l_temp_rec.column_name  := 'OWNING_PARTY_ID';
6269      l_temp_rec.column_value := 'NULL';
6270      g_receiving_select(OWNING_PARTY_ID) := l_temp_rec;
6271 
6272      l_temp_rec.column_name  := 'LOT';
6273      l_temp_rec.column_value := 'NULL';
6274      g_receiving_select(LOT) := l_temp_rec;
6275 
6276 
6277      l_temp_rec.column_name  := 'SERIAL';
6278      l_temp_rec.column_value := 'NULL';
6279      g_receiving_select(SERIAL) := l_temp_rec;
6280 
6281      l_temp_rec.column_name  := 'UNIT_NUMBER';
6282      l_temp_rec.column_value := 'NULL';
6283      g_receiving_select(UNIT_NUMBER) := l_temp_rec;
6284 
6285      l_temp_rec.column_name  := 'LOT_EXPIRY_DATE';
6286      l_temp_rec.column_value := 'NULL';
6287      g_receiving_select(LOT_EXPIRY_DATE) := l_temp_rec;
6288 
6289      l_temp_rec.column_name  := 'ORGANIZATION_CODE';
6290      l_temp_rec.column_value := 'NULL';
6291      g_receiving_select(ORGANIZATION_CODE) := l_temp_rec;
6292 
6293      l_temp_rec.column_name  := 'ORG_ID';
6294      l_temp_rec.column_value := 'NULL';
6295      g_receiving_select(ORG_ID) := l_temp_rec;
6296 
6297      l_temp_rec.column_name  := 'ITEM';
6298      l_temp_rec.column_value := 'NULL';
6299      g_receiving_select(ITEM) := l_temp_rec;
6300 
6301      l_temp_rec.column_name  := 'ITEM_DESCRIPTION';
6302      l_temp_rec.column_value := 'NULL';
6303      g_receiving_select(ITEM_DESCRIPTION) := l_temp_rec;
6304 
6305      l_temp_rec.column_name  := 'ITEM_ID';
6306      l_temp_rec.column_value := 'NULL';
6307      g_receiving_select(ITEM_ID) := l_temp_rec;
6308 
6309      l_temp_rec.column_name  := 'REVISION';
6310      l_temp_rec.column_value := 'NULL';
6311      g_receiving_select(REVISION) := l_temp_rec;
6312 
6313      l_temp_rec.column_name  := 'PRIMARY_UOM_CODE';
6314      l_temp_rec.column_value := 'NULL';
6315      g_receiving_select(PRIMARY_UOM_CODE) := l_temp_rec;
6316 
6317      l_temp_rec.column_name  := 'ONHAND';
6318      l_temp_rec.column_value := 'NULL';
6319      g_receiving_select(ONHAND) := l_temp_rec;
6320 
6321      l_temp_rec.column_name  := 'RECEIVING';
6322      l_temp_rec.column_value := 'NULL';
6323      g_receiving_select(RECEIVING) := l_temp_rec;
6324 
6325      l_temp_rec.column_name  := 'INBOUND';
6326      l_temp_rec.column_value := 'NULL';
6327      g_receiving_select(INBOUND) := l_temp_rec;
6328 
6329      l_temp_rec.column_name  := 'UNPACKED';
6330      l_temp_rec.column_value := 'NULL';
6331      g_receiving_select(UNPACKED) := l_temp_rec;
6332 
6333      l_temp_rec.column_name  := 'PACKED';
6334      l_temp_rec.column_value := 'NULL';
6335      g_receiving_select(PACKED) := l_temp_rec;
6336 
6337      l_temp_rec.column_name  := 'SECONDARY_UOM_CODE';
6338      l_temp_rec.column_value := 'NULL';
6339      g_receiving_select(SECONDARY_UOM_CODE) := l_temp_rec;
6340 
6341      l_temp_rec.column_name  := 'SECONDARY_ONHAND';
6342      l_temp_rec.column_value := 'NULL';
6343      g_receiving_select(SECONDARY_ONHAND) := l_temp_rec;
6344 
6345      l_temp_rec.column_name  := 'SECONDARY_RECEIVING';
6346      l_temp_rec.column_value := 'NULL';
6347      g_receiving_select(SECONDARY_RECEIVING) := l_temp_rec;
6348 
6349      l_temp_rec.column_name  := 'SECONDARY_INBOUND';
6350      l_temp_rec.column_value := 'NULL';
6351      g_receiving_select(SECONDARY_INBOUND) := l_temp_rec;
6352 
6353      l_temp_rec.column_name  := 'OWNING_ORGANIZATION_ID';
6354      l_temp_rec.column_value := 'NULL';
6355      g_receiving_select(OWNING_ORGANIZATION_ID) := l_temp_rec;
6356 
6357      l_temp_rec.column_name  := 'PLANNING_ORGANIZATION_ID';
6358      l_temp_rec.column_value := 'NULL';
6359      g_receiving_select(PLANNING_ORGANIZATION_ID) := l_temp_rec;
6360 
6361      l_temp_rec.column_name  := 'OWNING_TP_TYPE';
6362      l_temp_rec.column_value := 'NULL';
6363      g_receiving_select(OWNING_TP_TYPE) := l_temp_rec;
6364 
6365      l_temp_rec.column_name  := 'PLANNING_TP_TYPE';
6366      l_temp_rec.column_value := 'NULL';
6367      g_receiving_select(PLANNING_TP_TYPE) := l_temp_rec;
6368 
6369      -- Bug 6843313 Onhand Material Status support
6370      l_temp_rec.column_name  := 'STATUS';
6371      l_temp_rec.column_value := 'NULL';
6372      g_receiving_select(STATUS) := l_temp_rec;
6373 
6374      l_temp_rec.column_name  := 'STATUS_ID';
6375      l_temp_rec.column_value := 'NULL';
6376      g_receiving_select(STATUS_ID) := l_temp_rec;
6377 
6378   END initialize_receiving_query;
6379 
6380   PROCEDURE initialize_receiving_1_query IS
6381      l_procedure_name VARCHAR2(30);
6382      l_temp_rec       SelectColumnRecType;
6383   BEGIN
6384 
6385      l_procedure_name := 'INBOUND_receiving_1_QUERY';
6386 
6387      g_receiving_1_select.DELETE;
6388      g_receiving_1_from.DELETE;
6389      g_receiving_1_where.DELETE;
6390      g_receiving_1_group.DELETE;
6391 
6392      g_receiving_1_from_index := 1;
6393      g_receiving_1_where_index := 1;
6394      g_receiving_1_group_index := 1;
6395 
6396      l_temp_rec.column_name  := 'PO_RELEASE_ID';
6397      l_temp_rec.column_value := 'NULL';
6398      g_receiving_1_select(PO_RELEASE_ID) := l_temp_rec;
6399 
6400      l_temp_rec.column_name  := 'RELEASE_LINE_NUMBER';
6401      l_temp_rec.column_value := 'NULL';
6402      g_receiving_1_select(RELEASE_LINE_NUMBER) := l_temp_rec;
6403 
6404      l_temp_rec.column_name  := 'SHIPMENT_NUMBER';
6405      l_temp_rec.column_value := 'NULL';
6406      g_receiving_1_select(SHIPMENT_NUMBER) := l_temp_rec;
6407 
6408      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_INTERORG';
6409      l_temp_rec.column_value := 'NULL';
6410      g_receiving_1_select(SHIPMENT_HEADER_ID_INTERORG) := l_temp_rec;
6411 
6412      l_temp_rec.column_name  := 'ASN';
6413      l_temp_rec.column_value := 'NULL';
6414      g_receiving_1_select(ASN) := l_temp_rec;
6415 
6416      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_ASN';
6417      l_temp_rec.column_value := 'NULL';
6418      g_receiving_1_select(SHIPMENT_HEADER_ID_ASN) := l_temp_rec;
6419 
6420      l_temp_rec.column_name  := 'TRADING_PARTNER';
6421      l_temp_rec.column_value := 'NULL';
6422      g_receiving_1_select(TRADING_PARTNER) := l_temp_rec;
6423 
6424      l_temp_rec.column_name  := 'VENDOR_ID';
6425      l_temp_rec.column_value := 'NULL';
6426      g_receiving_1_select(VENDOR_ID) := l_temp_rec;
6427 
6428      l_temp_rec.column_name  := 'TRADING_PARTNER_SITE';
6429      l_temp_rec.column_value := 'NULL';
6430      g_receiving_1_select(TRADING_PARTNER_SITE) := l_temp_rec;
6431 
6432      l_temp_rec.column_name  := 'VENDOR_SITE_ID';
6433      l_temp_rec.column_value := 'NULL';
6434      g_receiving_1_select(VENDOR_SITE_ID) := l_temp_rec;
6435 
6436      l_temp_rec.column_name  := 'FROM_ORG';
6437      l_temp_rec.column_value := 'NULL';
6438      g_receiving_1_select(FROM_ORG) := l_temp_rec;
6439 
6440      l_temp_rec.column_name  := 'FROM_ORG_ID';
6441      l_temp_rec.column_value := 'NULL';
6442      g_receiving_1_select(FROM_ORG_ID) := l_temp_rec;
6443 
6444      l_temp_rec.column_name  := 'TO_ORG';
6445      l_temp_rec.column_value := 'NULL';
6446      g_receiving_1_select(TO_ORG) := l_temp_rec;
6447 
6448      l_temp_rec.column_name  := 'TO_ORG_ID';
6449      l_temp_rec.column_value := 'NULL';
6450      g_receiving_1_select(TO_ORG_ID) := l_temp_rec;
6451 
6452      l_temp_rec.column_name  := 'EXPECTED_RECEIPT_DATE';
6453      l_temp_rec.column_value := 'NULL';
6454      g_receiving_1_select(EXPECTED_RECEIPT_DATE) := l_temp_rec;
6455 
6456      l_temp_rec.column_name  := 'SHIPPED_DATE';
6457      l_temp_rec.column_value := 'NULL';
6458      g_receiving_1_select(SHIPPED_DATE) := l_temp_rec;
6459 
6460      l_temp_rec.column_name  := 'OWNING_ORG';
6461      l_temp_rec.column_value := 'NULL';
6462      g_receiving_1_select(OWNING_ORG) := l_temp_rec;
6463 
6464      l_temp_rec.column_name  := 'OWNING_ORG_ID';
6465      l_temp_rec.column_value := 'NULL';
6466      g_receiving_1_select(OWNING_ORG_ID) := l_temp_rec;
6467 
6468      l_temp_rec.column_name  := 'REQ_HEADER_ID';
6469      l_temp_rec.column_value := 'NULL';
6470      g_receiving_1_select(REQ_HEADER_ID) := l_temp_rec;
6471 
6472      l_temp_rec.column_name  := 'OE_HEADER_ID';
6473      l_temp_rec.column_value := 'NULL';
6474      g_receiving_1_select(OE_HEADER_ID) := l_temp_rec;
6475 
6476      l_temp_rec.column_name  := 'PO_HEADER_ID';
6477      l_temp_rec.column_value := 'NULL';
6478      g_receiving_1_select(PO_HEADER_ID) := l_temp_rec;
6479 
6480      l_temp_rec.column_name  := 'MATURITY_DATE';
6481      l_temp_rec.column_value := 'NULL';
6482      g_receiving_1_select(MATURITY_DATE) := l_temp_rec;
6483 
6484      l_temp_rec.column_name  := 'HOLD_DATE';
6485      l_temp_rec.column_value := 'NULL';
6486      g_receiving_1_select(HOLD_DATE) := l_temp_rec;
6487 
6488      l_temp_rec.column_name  := 'SUPPLIER_LOT';
6489      l_temp_rec.column_value := 'NULL';
6490      g_receiving_1_select(SUPPLIER_LOT) := l_temp_rec;
6491 
6492      l_temp_rec.column_name  := 'PARENT_LOT';
6493      l_temp_rec.column_value := 'NULL';
6494      g_receiving_1_select(PARENT_LOT) := l_temp_rec;
6495 
6496      l_temp_rec.column_name  := 'DOCUMENT_TYPE';
6497      l_temp_rec.column_value := 'NULL';
6498      g_receiving_1_select(DOCUMENT_TYPE) := l_temp_rec;
6499 
6500      l_temp_rec.column_name  := 'DOCUMENT_TYPE_ID';
6501      l_temp_rec.column_value := 'NULL';
6502      g_receiving_1_select(DOCUMENT_TYPE_ID) := l_temp_rec;
6503 
6504      l_temp_rec.column_name  := 'DOCUMENT_NUMBER';
6505      l_temp_rec.column_value := 'NULL';
6506      g_receiving_1_select(DOCUMENT_NUMBER) := l_temp_rec;
6507 
6508      l_temp_rec.column_name  := 'DOCUMENT_LINE_NUMBER';
6509      l_temp_rec.column_value := 'NULL';
6510      g_receiving_1_select(DOCUMENT_LINE_NUMBER) := l_temp_rec;
6511 
6512      l_temp_rec.column_name  := 'RELEASE_NUMBER';
6513      l_temp_rec.column_value := 'NULL';
6514      g_receiving_1_select(RELEASE_NUMBER) := l_temp_rec;
6515 
6516      l_temp_rec.column_name  := 'ORIGINATION_TYPE';
6517      l_temp_rec.column_value := 'NULL';
6518      g_receiving_1_select(ORIGINATION_TYPE) := l_temp_rec;
6519 
6520      l_temp_rec.column_name  := 'ORIGINATION_DATE';
6521      l_temp_rec.column_value := 'NULL';
6522      g_receiving_1_select(ORIGINATION_DATE) := l_temp_rec;
6523 
6524      l_temp_rec.column_name  := 'ACTION_CODE';
6525      l_temp_rec.column_value := 'NULL';
6526      g_receiving_1_select(ACTION_CODE) := l_temp_rec;
6527 
6528      l_temp_rec.column_name  := 'ACTION_DATE';
6529      l_temp_rec.column_value := 'NULL';
6530      g_receiving_1_select(ACTION_DATE) := l_temp_rec;
6531 
6532      l_temp_rec.column_name  := 'RETEST_DATE';
6533      l_temp_rec.column_value := 'NULL';
6534      g_receiving_1_select(RETEST_DATE) := l_temp_rec;
6535 
6536      l_temp_rec.column_name  := 'SECONDARY_UNPACKED';
6537      l_temp_rec.column_value := 'NULL';
6538      g_receiving_1_select(SECONDARY_UNPACKED) := l_temp_rec;
6539 
6540      l_temp_rec.column_name  := 'SECONDARY_PACKED';
6541      l_temp_rec.column_value := 'NULL';
6542      g_receiving_1_select(SECONDARY_PACKED) := l_temp_rec;
6543 
6544      l_temp_rec.column_name  := 'SUBINVENTORY_CODE';
6545      l_temp_rec.column_value := 'NULL';
6546      g_receiving_1_select(SUBINVENTORY_CODE) := l_temp_rec;
6547 
6548      l_temp_rec.column_name  := 'LOCATOR';
6549      l_temp_rec.column_value := 'NULL';
6550      g_receiving_1_select(LOCATOR) := l_temp_rec;
6551 
6552      l_temp_rec.column_name  := 'LOCATOR_ID';
6553      l_temp_rec.column_value := 'NULL';
6554      g_receiving_1_select(LOCATOR_ID) := l_temp_rec;
6555 
6556      l_temp_rec.column_name  := 'LPN';
6557      l_temp_rec.column_value := 'NULL';
6558      g_receiving_1_select(LPN) := l_temp_rec;
6559 
6560      l_temp_rec.column_name  := 'LPN_ID';
6561      l_temp_rec.column_value := 'NULL';
6562      g_receiving_1_select(LPN_ID) := l_temp_rec;
6563 
6564      l_temp_rec.column_name  := 'COST_GROUP';
6565      l_temp_rec.column_value := 'NULL';
6566      g_receiving_1_select(COST_GROUP) := l_temp_rec;
6567 
6568      l_temp_rec.column_name  := 'GRADE_CODE';
6569      l_temp_rec.column_value := 'NULL';
6570      g_receiving_1_select(GRADE_CODE) := l_temp_rec;
6571 
6572      l_temp_rec.column_name  := 'CG_ID';
6573      l_temp_rec.column_value := 'NULL';
6574      g_receiving_1_select(CG_ID) := l_temp_rec;
6575 
6576      l_temp_rec.column_name  := 'LOADED';
6577      l_temp_rec.column_value := 'NULL';
6578      g_receiving_1_select(LOADED) := l_temp_rec;
6579 
6580      l_temp_rec.column_name  := 'PLANNING_PARTY';
6581      l_temp_rec.column_value := 'NULL';
6582      g_receiving_1_select(PLANNING_PARTY) := l_temp_rec;
6583 
6584      l_temp_rec.column_name  := 'PLANNING_PARTY_ID';
6585      l_temp_rec.column_value := 'NULL';
6586      g_receiving_1_select(PLANNING_PARTY_ID) := l_temp_rec;
6587 
6588      l_temp_rec.column_name  := 'OWNING_PARTY';
6589      l_temp_rec.column_value := 'NULL';
6590      g_receiving_1_select(OWNING_PARTY) := l_temp_rec;
6591 
6592      l_temp_rec.column_name  := 'OWNING_PARTY_ID';
6593      l_temp_rec.column_value := 'NULL';
6594      g_receiving_1_select(OWNING_PARTY_ID) := l_temp_rec;
6595 
6596      l_temp_rec.column_name  := 'LOT';
6597      l_temp_rec.column_value := 'NULL';
6598      g_receiving_1_select(LOT) := l_temp_rec;
6599 
6600 
6601      l_temp_rec.column_name  := 'SERIAL';
6602      l_temp_rec.column_value := 'NULL';
6603      g_receiving_1_select(SERIAL) := l_temp_rec;
6604 
6605      l_temp_rec.column_name  := 'UNIT_NUMBER';
6606      l_temp_rec.column_value := 'NULL';
6607      g_receiving_1_select(UNIT_NUMBER) := l_temp_rec;
6608 
6609      l_temp_rec.column_name  := 'LOT_EXPIRY_DATE';
6610      l_temp_rec.column_value := 'NULL';
6611      g_receiving_1_select(LOT_EXPIRY_DATE) := l_temp_rec;
6612 
6613      l_temp_rec.column_name  := 'ORGANIZATION_CODE';
6614      l_temp_rec.column_value := 'NULL';
6615      g_receiving_1_select(ORGANIZATION_CODE) := l_temp_rec;
6616 
6617      l_temp_rec.column_name  := 'ORG_ID';
6618      l_temp_rec.column_value := 'NULL';
6619      g_receiving_1_select(ORG_ID) := l_temp_rec;
6620 
6621      l_temp_rec.column_name  := 'ITEM';
6622      l_temp_rec.column_value := 'NULL';
6623      g_receiving_1_select(ITEM) := l_temp_rec;
6624 
6625      l_temp_rec.column_name  := 'ITEM_DESCRIPTION';
6626      l_temp_rec.column_value := 'NULL';
6627      g_receiving_1_select(ITEM_DESCRIPTION) := l_temp_rec;
6628 
6629      l_temp_rec.column_name  := 'ITEM_ID';
6630      l_temp_rec.column_value := 'NULL';
6631      g_receiving_1_select(ITEM_ID) := l_temp_rec;
6632 
6633      l_temp_rec.column_name  := 'REVISION';
6634      l_temp_rec.column_value := 'NULL';
6635      g_receiving_1_select(REVISION) := l_temp_rec;
6636 
6637      l_temp_rec.column_name  := 'PRIMARY_UOM_CODE';
6638      l_temp_rec.column_value := 'NULL';
6639      g_receiving_1_select(PRIMARY_UOM_CODE) := l_temp_rec;
6640 
6641      l_temp_rec.column_name  := 'ONHAND';
6642      l_temp_rec.column_value := 'NULL';
6643      g_receiving_1_select(ONHAND) := l_temp_rec;
6644 
6645      l_temp_rec.column_name  := 'RECEIVING';
6646      l_temp_rec.column_value := 'NULL';
6647      g_receiving_1_select(RECEIVING) := l_temp_rec;
6648 
6649      l_temp_rec.column_name  := 'INBOUND';
6650      l_temp_rec.column_value := 'NULL';
6651      g_receiving_1_select(INBOUND) := l_temp_rec;
6652 
6653      l_temp_rec.column_name  := 'UNPACKED';
6654      l_temp_rec.column_value := 'NULL';
6655      g_receiving_1_select(UNPACKED) := l_temp_rec;
6656 
6657      l_temp_rec.column_name  := 'PACKED';
6658      l_temp_rec.column_value := 'NULL';
6659      g_receiving_1_select(PACKED) := l_temp_rec;
6660 
6661      l_temp_rec.column_name  := 'SECONDARY_UOM_CODE';
6662      l_temp_rec.column_value := 'NULL';
6663      g_receiving_1_select(SECONDARY_UOM_CODE) := l_temp_rec;
6664 
6665      l_temp_rec.column_name  := 'SECONDARY_ONHAND';
6666      l_temp_rec.column_value := 'NULL';
6667      g_receiving_1_select(SECONDARY_ONHAND) := l_temp_rec;
6668 
6669      l_temp_rec.column_name  := 'SECONDARY_RECEIVING';
6670      l_temp_rec.column_value := 'NULL';
6671      g_receiving_1_select(SECONDARY_RECEIVING) := l_temp_rec;
6672 
6673      l_temp_rec.column_name  := 'SECONDARY_INBOUND';
6674      l_temp_rec.column_value := 'NULL';
6675      g_receiving_1_select(SECONDARY_INBOUND) := l_temp_rec;
6676 
6677      l_temp_rec.column_name  := 'OWNING_ORGANIZATION_ID';
6678      l_temp_rec.column_value := 'NULL';
6679      g_receiving_1_select(OWNING_ORGANIZATION_ID) := l_temp_rec;
6680 
6681      l_temp_rec.column_name  := 'PLANNING_ORGANIZATION_ID';
6682      l_temp_rec.column_value := 'NULL';
6683      g_receiving_1_select(PLANNING_ORGANIZATION_ID) := l_temp_rec;
6684 
6685      l_temp_rec.column_name  := 'OWNING_TP_TYPE';
6686      l_temp_rec.column_value := 'NULL';
6687      g_receiving_1_select(OWNING_TP_TYPE) := l_temp_rec;
6688 
6689      l_temp_rec.column_name  := 'PLANNING_TP_TYPE';
6690      l_temp_rec.column_value := 'NULL';
6691      g_receiving_1_select(PLANNING_TP_TYPE) := l_temp_rec;
6692 
6693      -- Bug 6843313 Onhand Material Status support
6694      l_temp_rec.column_name  := 'STATUS';
6695      l_temp_rec.column_value := 'NULL';
6696      g_receiving_1_select(STATUS) := l_temp_rec;
6697 
6698      l_temp_rec.column_name  := 'STATUS_ID';
6699      l_temp_rec.column_value := 'NULL';
6700      g_receiving_1_select(STATUS_ID) := l_temp_rec;
6701 
6702   END initialize_receiving_1_query;
6703 
6704   PROCEDURE initialize_union_query IS
6705      l_procedure_name VARCHAR2(30);
6706      l_temp_rec       SelectColumnRecType;
6707   BEGIN
6708 
6709      l_procedure_name := 'INTIALIZE_COMBINED_QUERY';
6710 
6711      g_date_bind_tab.DELETE;
6712      g_number_bind_tab.DELETE;
6713      g_varchar_bind_tab.DELETE;
6714 
6715      g_union_select.DELETE;
6716      g_union_group.DELETE;
6717 
6718      l_temp_rec.column_name  := 'PO_RELEASE_ID';
6719      l_temp_rec.column_value := 'PO_RELEASE_ID';
6720      g_union_select(PO_RELEASE_ID) := l_temp_rec;
6721 
6722      l_temp_rec.column_name  := 'RELEASE_LINE_NUMBER';
6723      l_temp_rec.column_value := 'RELEASE_LINE_NUMBER';
6724      g_union_select(RELEASE_LINE_NUMBER) := l_temp_rec;
6725 
6726      l_temp_rec.column_name  := 'SHIPMENT_NUMBER';
6727      l_temp_rec.column_value := 'SHIPMENT_NUMBER';
6728      g_union_select(SHIPMENT_NUMBER) := l_temp_rec;
6729 
6730      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_INTERORG';
6731      l_temp_rec.column_value := 'SHIPMENT_HEADER_ID_INTERORG';
6732      g_union_select(SHIPMENT_HEADER_ID_INTERORG) := l_temp_rec;
6733 
6734      l_temp_rec.column_name  := 'ASN';
6735      l_temp_rec.column_value := 'ASN';
6736      g_union_select(ASN) := l_temp_rec;
6737 
6738      l_temp_rec.column_name  := 'SHIPMENT_HEADER_ID_ASN';
6739      l_temp_rec.column_value := 'SHIPMENT_HEADER_ID_ASN';
6740      g_union_select(SHIPMENT_HEADER_ID_ASN) := l_temp_rec;
6741 
6742      l_temp_rec.column_name  := 'TRADING_PARTNER';
6743      l_temp_rec.column_value := 'TRADING_PARTNER';
6744      g_union_select(TRADING_PARTNER) := l_temp_rec;
6745 
6746      l_temp_rec.column_name  := 'VENDOR_ID';
6747      l_temp_rec.column_value := 'VENDOR_ID';
6748      g_union_select(VENDOR_ID) := l_temp_rec;
6749 
6750      l_temp_rec.column_name  := 'TRADING_PARTNER_SITE';
6751      l_temp_rec.column_value := 'TRADING_PARTNER_SITE';
6752      g_union_select(TRADING_PARTNER_SITE) := l_temp_rec;
6753 
6754      l_temp_rec.column_name  := 'VENDOR_SITE_ID';
6755      l_temp_rec.column_value := 'VENDOR_SITE_ID';
6756      g_union_select(VENDOR_SITE_ID) := l_temp_rec;
6757 
6758      l_temp_rec.column_name  := 'FROM_ORG';
6759      l_temp_rec.column_value := 'FROM_ORG';
6760      g_union_select(FROM_ORG) := l_temp_rec;
6761 
6762      l_temp_rec.column_name  := 'FROM_ORG_ID';
6763      l_temp_rec.column_value := 'FROM_ORG_ID';
6764      g_union_select(FROM_ORG_ID) := l_temp_rec;
6765 
6766      l_temp_rec.column_name  := 'TO_ORG';
6767      l_temp_rec.column_value := 'TO_ORG';
6768      g_union_select(TO_ORG) := l_temp_rec;
6769 
6770      l_temp_rec.column_name  := 'TO_ORG_ID';
6771      l_temp_rec.column_value := 'TO_ORG_ID';
6772      g_union_select(TO_ORG_ID) := l_temp_rec;
6773 
6774      l_temp_rec.column_name  := 'EXPECTED_RECEIPT_DATE';
6775      l_temp_rec.column_value := 'EXPECTED_RECEIPT_DATE';
6776      g_union_select(EXPECTED_RECEIPT_DATE) := l_temp_rec;
6777 
6778      l_temp_rec.column_name  := 'SHIPPED_DATE';
6779      l_temp_rec.column_value := 'SHIPPED_DATE';
6780      g_union_select(SHIPPED_DATE) := l_temp_rec;
6781 
6782      l_temp_rec.column_name  := 'OWNING_ORG';
6783      l_temp_rec.column_value := 'OWNING_ORG';
6784      g_union_select(OWNING_ORG) := l_temp_rec;
6785 
6786      l_temp_rec.column_name  := 'OWNING_ORG_ID';
6787      l_temp_rec.column_value := 'OWNING_ORG_ID';
6788      g_union_select(OWNING_ORG_ID) := l_temp_rec;
6789 
6790      l_temp_rec.column_name  := 'REQ_HEADER_ID';
6791      l_temp_rec.column_value := 'REQ_HEADER_ID';
6792      g_union_select(REQ_HEADER_ID) := l_temp_rec;
6793 
6794      l_temp_rec.column_name  := 'OE_HEADER_ID';
6795      l_temp_rec.column_value := 'OE_HEADER_ID';
6796      g_union_select(OE_HEADER_ID) := l_temp_rec;
6797 
6798      l_temp_rec.column_name  := 'PO_HEADER_ID';
6799      l_temp_rec.column_value := 'PO_HEADER_ID';
6800      g_union_select(PO_HEADER_ID) := l_temp_rec;
6801 
6802      l_temp_rec.column_name  := 'MATURITY_DATE';
6803      l_temp_rec.column_value := 'MATURITY_DATE';
6804      g_union_select(MATURITY_DATE) := l_temp_rec;
6805 
6806      l_temp_rec.column_name  := 'HOLD_DATE';
6807      l_temp_rec.column_value := 'HOLD_DATE';
6808      g_union_select(HOLD_DATE) := l_temp_rec;
6809 
6810      l_temp_rec.column_name  := 'SUPPLIER_LOT';
6811      l_temp_rec.column_value := 'SUPPLIER_LOT';
6812      g_union_select(SUPPLIER_LOT) := l_temp_rec;
6813 
6814      l_temp_rec.column_name  := 'PARENT_LOT';
6815      l_temp_rec.column_value := 'PARENT_LOT';
6816      g_union_select(PARENT_LOT) := l_temp_rec;
6817 
6818      l_temp_rec.column_name  := 'DOCUMENT_TYPE';
6819      l_temp_rec.column_value := 'DOCUMENT_TYPE';
6820      g_union_select(DOCUMENT_TYPE) := l_temp_rec;
6821 
6822      l_temp_rec.column_name  := 'DOCUMENT_TYPE_ID';
6823      l_temp_rec.column_value := 'DOCUMENT_TYPE_ID';
6824      g_union_select(DOCUMENT_TYPE_ID) := l_temp_rec;
6825 
6826      l_temp_rec.column_name  := 'DOCUMENT_NUMBER';
6827      l_temp_rec.column_value := 'DOCUMENT_NUMBER';
6828      g_union_select(DOCUMENT_NUMBER) := l_temp_rec;
6829 
6830      l_temp_rec.column_name  := 'DOCUMENT_LINE_NUMBER';
6831      l_temp_rec.column_value := 'DOCUMENT_LINE_NUMBER';
6832      g_union_select(DOCUMENT_LINE_NUMBER) := l_temp_rec;
6833 
6834      l_temp_rec.column_name  := 'RELEASE_NUMBER';
6835      l_temp_rec.column_value := 'RELEASE_NUMBER';
6836      g_union_select(RELEASE_NUMBER) := l_temp_rec;
6837 
6838      l_temp_rec.column_name  := 'ORIGINATION_TYPE';
6839      l_temp_rec.column_value := 'ORIGINATION_TYPE';
6840      g_union_select(ORIGINATION_TYPE) := l_temp_rec;
6841 
6842      l_temp_rec.column_name  := 'ORIGINATION_DATE';
6843      l_temp_rec.column_value := 'ORIGINATION_DATE';
6844      g_union_select(ORIGINATION_DATE) := l_temp_rec;
6845 
6846      l_temp_rec.column_name  := 'ACTION_CODE';
6847      l_temp_rec.column_value := 'ACTION_CODE';
6848      g_union_select(ACTION_CODE) := l_temp_rec;
6849 
6850      l_temp_rec.column_name  := 'ACTION_DATE';
6851      l_temp_rec.column_value := 'ACTION_DATE';
6852      g_union_select(ACTION_DATE) := l_temp_rec;
6853 
6854      l_temp_rec.column_name  := 'RETEST_DATE';
6855      l_temp_rec.column_value := 'RETEST_DATE';
6856      g_union_select(RETEST_DATE) := l_temp_rec;
6857 
6858      l_temp_rec.column_name  := 'SECONDARY_UNPACKED';
6859      l_temp_rec.column_value := 'SUM(SECONDARY_UNPACKED)';
6860      g_union_select(SECONDARY_UNPACKED) := l_temp_rec;
6861 
6862      l_temp_rec.column_name  := 'SECONDARY_PACKED';
6863      l_temp_rec.column_value := 'SUM(SECONDARY_PACKED)';
6864      g_union_select(SECONDARY_PACKED) := l_temp_rec;
6865 
6866      l_temp_rec.column_name  := 'SUBINVENTORY_CODE';
6867      l_temp_rec.column_value := 'SUBINVENTORY_CODE';
6868      g_union_select(SUBINVENTORY_CODE) := l_temp_rec;
6869 
6870      l_temp_rec.column_name  := 'LOCATOR';
6871      l_temp_rec.column_value := 'LOCATOR';
6872      g_union_select(LOCATOR) := l_temp_rec;
6873 
6874      l_temp_rec.column_name  := 'LOCATOR_ID';
6875      l_temp_rec.column_value := 'LOCATOR_ID';
6876      g_union_select(LOCATOR_ID) := l_temp_rec;
6877 
6878      l_temp_rec.column_name  := 'LPN';
6879      l_temp_rec.column_value := 'LPN';
6880      g_union_select(LPN) := l_temp_rec;
6881 
6882      l_temp_rec.column_name  := 'LPN_ID';
6883      l_temp_rec.column_value := 'LPN_ID';
6884      g_union_select(LPN_ID) := l_temp_rec;
6885 
6886      l_temp_rec.column_name  := 'COST_GROUP';
6887      l_temp_rec.column_value := 'COST_GROUP';
6888      g_union_select(COST_GROUP) := l_temp_rec;
6889 
6890      l_temp_rec.column_name  := 'CG_ID';
6891      l_temp_rec.column_value := 'CG_ID';
6892      g_union_select(CG_ID) := l_temp_rec;
6893 
6894      l_temp_rec.column_name  := 'LOADED';
6895      l_temp_rec.column_value := 'LOADED';
6896      g_union_select(LOADED) := l_temp_rec;
6897 
6898      l_temp_rec.column_name  := 'PLANNING_PARTY';
6899      l_temp_rec.column_value := 'PLANNING_PARTY';
6900      g_union_select(PLANNING_PARTY) := l_temp_rec;
6901 
6902      l_temp_rec.column_name  := 'PLANNING_PARTY_ID';
6903      l_temp_rec.column_value := 'PLANNING_PARTY_ID';
6904      g_union_select(PLANNING_PARTY_ID) := l_temp_rec;
6905 
6906      l_temp_rec.column_name  := 'OWNING_PARTY';
6907      l_temp_rec.column_value := 'OWNING_PARTY';
6908      g_union_select(OWNING_PARTY) := l_temp_rec;
6909 
6910      l_temp_rec.column_name  := 'OWNING_PARTY_ID';
6911      l_temp_rec.column_value := 'OWNING_PARTY_ID';
6912      g_union_select(OWNING_PARTY_ID) := l_temp_rec;
6913 
6914      l_temp_rec.column_name  := 'LOT';
6915      l_temp_rec.column_value := 'LOT';
6916      g_union_select(LOT) := l_temp_rec;
6917 
6918 
6919      l_temp_rec.column_name  := 'SERIAL';
6920      l_temp_rec.column_value := 'SERIAL';
6921      g_union_select(SERIAL) := l_temp_rec;
6922 
6923      l_temp_rec.column_name  := 'UNIT_NUMBER';
6924      l_temp_rec.column_value := 'UNIT_NUMBER';
6925      g_union_select(UNIT_NUMBER) := l_temp_rec;
6926 
6927      l_temp_rec.column_name  := 'LOT_EXPIRY_DATE';
6928      l_temp_rec.column_value := 'LOT_EXPIRY_DATE';
6929      g_union_select(LOT_EXPIRY_DATE) := l_temp_rec;
6930 
6931      l_temp_rec.column_name  := 'ORGANIZATION_CODE';
6932      l_temp_rec.column_value := 'ORGANIZATION_CODE';
6933      g_union_select(ORGANIZATION_CODE) := l_temp_rec;
6934 
6935      l_temp_rec.column_name  := 'ORG_ID';
6936      l_temp_rec.column_value := 'ORG_ID';
6937      g_union_select(ORG_ID) := l_temp_rec;
6938 
6939      l_temp_rec.column_name  := 'ITEM';
6940      l_temp_rec.column_value := 'ITEM';
6941      g_union_select(ITEM) := l_temp_rec;
6942 
6943      l_temp_rec.column_name  := 'ITEM_DESCRIPTION';
6944      l_temp_rec.column_value := 'ITEM_DESCRIPTION';
6945      g_union_select(ITEM_DESCRIPTION) := l_temp_rec;
6946 
6947      l_temp_rec.column_name  := 'ITEM_ID';
6948      l_temp_rec.column_value := 'ITEM_ID';
6949      g_union_select(ITEM_ID) := l_temp_rec;
6950 
6951      l_temp_rec.column_name  := 'REVISION';
6952      l_temp_rec.column_value := 'REVISION';
6953      g_union_select(REVISION) := l_temp_rec;
6954 
6955      l_temp_rec.column_name  := 'PRIMARY_UOM_CODE';
6956      l_temp_rec.column_value := 'PRIMARY_UOM_CODE';
6957      g_union_select(PRIMARY_UOM_CODE) := l_temp_rec;
6958 
6959      l_temp_rec.column_name  := 'ONHAND';
6960      l_temp_rec.column_value := 'SUM(ONHAND)';
6961      g_union_select(ONHAND) := l_temp_rec;
6962 
6963      l_temp_rec.column_name  := 'RECEIVING';
6964      l_temp_rec.column_value := 'SUM(RECEIVING)';
6965      g_union_select(RECEIVING) := l_temp_rec;
6966 
6967      l_temp_rec.column_name  := 'INBOUND';
6968      l_temp_rec.column_value := 'SUM(INBOUND)';
6969      g_union_select(INBOUND) := l_temp_rec;
6970 
6971      l_temp_rec.column_name  := 'UNPACKED';
6972      l_temp_rec.column_value := 'SUM(UNPACKED)';
6973      g_union_select(UNPACKED) := l_temp_rec;
6974 
6975      l_temp_rec.column_name  := 'PACKED';
6976      l_temp_rec.column_value := 'SUM(PACKED)';
6977      g_union_select(PACKED) := l_temp_rec;
6978 
6979      l_temp_rec.column_name  := 'SECONDARY_UOM_CODE';
6980      l_temp_rec.column_value := 'SECONDARY_UOM_CODE';
6981      g_union_select(SECONDARY_UOM_CODE) := l_temp_rec;
6982 
6983      l_temp_rec.column_name  := 'SECONDARY_ONHAND';
6984      l_temp_rec.column_value := 'SUM(SECONDARY_ONHAND)';
6985      g_union_select(SECONDARY_ONHAND) := l_temp_rec;
6986 
6987      l_temp_rec.column_name  := 'SECONDARY_RECEIVING';
6988      l_temp_rec.column_value := 'SUM(SECONDARY_RECEIVING)';
6989      g_union_select(SECONDARY_RECEIVING) := l_temp_rec;
6990 
6991      l_temp_rec.column_name  := 'SECONDARY_INBOUND';
6992      l_temp_rec.column_value := 'SUM(SECONDARY_INBOUND)';
6993      g_union_select(SECONDARY_INBOUND) := l_temp_rec;
6994 
6995      l_temp_rec.column_name  := 'OWNING_ORGANIZATION_ID';
6996      l_temp_rec.column_value := 'NULL';
6997      g_union_select(OWNING_ORGANIZATION_ID) := l_temp_rec;
6998 
6999      l_temp_rec.column_name  := 'PLANNING_ORGANIZATION_ID';
7000      l_temp_rec.column_value := 'NULL';
7001      g_union_select(PLANNING_ORGANIZATION_ID) := l_temp_rec;
7002 
7003      l_temp_rec.column_name  := 'OWNING_TP_TYPE';
7004      l_temp_rec.column_value := 'NULL';
7005      g_union_select(OWNING_TP_TYPE) := l_temp_rec;
7006 
7007      l_temp_rec.column_name  := 'PLANNING_TP_TYPE';
7008      l_temp_rec.column_value := 'NULL';
7009      g_union_select(PLANNING_TP_TYPE) := l_temp_rec;
7010 
7011      -- Onhand Material Status support
7012      l_temp_rec.column_name  := 'STATUS';
7013      l_temp_rec.column_value := 'STATUS';
7014      g_union_select(STATUS) := l_temp_rec;
7015 
7016      l_temp_rec.column_name  := 'STATUS_ID';
7017      l_temp_rec.column_value := 'STATUS_ID';
7018      g_union_select(STATUS_ID) := l_temp_rec;
7019      -- End Onhand Material Status Support
7020 
7021      g_union_group(PO_RELEASE_ID) := 'PO_RELEASE_ID';
7022      g_union_group(RELEASE_LINE_NUMBER) := 'RELEASE_LINE_NUMBER';
7023      g_union_group(SHIPMENT_NUMBER) := 'SHIPMENT_NUMBER';
7024      g_union_group(SHIPMENT_HEADER_ID_INTERORG) := 'SHIPMENT_HEADER_ID_INTERORG';
7025      g_union_group(ASN) := 'ASN';
7026      g_union_group(SHIPMENT_HEADER_ID_ASN) := 'SHIPMENT_HEADER_ID_ASN';
7027      g_union_group(TRADING_PARTNER) := 'TRADING_PARTNER';
7028      g_union_group(VENDOR_ID) := 'VENDOR_ID';
7029      g_union_group(TRADING_PARTNER_SITE) := 'TRADING_PARTNER_SITE';
7030      g_union_group(VENDOR_SITE_ID) := 'VENDOR_SITE_ID';
7031      g_union_group(FROM_ORG) := 'FROM_ORG';
7032      g_union_group(FROM_ORG_ID) := 'FROM_ORG_ID';
7033      g_union_group(TO_ORG) := 'TO_ORG';
7034      g_union_group(TO_ORG_ID) := 'TO_ORG_ID';
7035      g_union_group(EXPECTED_RECEIPT_DATE) := 'EXPECTED_RECEIPT_DATE';
7036      g_union_group(SHIPPED_DATE) := 'SHIPPED_DATE';
7037      g_union_group(OWNING_ORG) := 'OWNING_ORG';
7038      g_union_group(OWNING_ORG_ID) := 'OWNING_ORG_ID';
7039      g_union_group(REQ_HEADER_ID) := 'REQ_HEADER_ID';
7040      g_union_group(OE_HEADER_ID) := 'OE_HEADER_ID';
7041      g_union_group(PO_HEADER_ID) := 'PO_HEADER_ID';
7042      g_union_group(MATURITY_DATE) := 'MATURITY_DATE';
7043      g_union_group(HOLD_DATE) := 'HOLD_DATE';
7044      g_union_group(SUPPLIER_LOT) := 'SUPPLIER_LOT';
7045      g_union_group(PARENT_LOT) := 'PARENT_LOT';
7046      g_union_group(DOCUMENT_TYPE) := 'DOCUMENT_TYPE';
7047      g_union_group(DOCUMENT_TYPE_ID) := 'DOCUMENT_TYPE_ID';
7048      g_union_group(DOCUMENT_NUMBER) := 'DOCUMENT_NUMBER';
7049      g_union_group(DOCUMENT_LINE_NUMBER) := 'DOCUMENT_LINE_NUMBER';
7050      g_union_group(RELEASE_NUMBER) := 'RELEASE_NUMBER';
7051      g_union_group(ORIGINATION_TYPE) := 'ORIGINATION_TYPE';
7052      g_union_group(ORIGINATION_DATE) := 'ORIGINATION_DATE';
7053      g_union_group(ACTION_CODE) := 'ACTION_CODE';
7054      g_union_group(ACTION_DATE) := 'ACTION_DATE';
7055      g_union_group(RETEST_DATE) := 'RETEST_DATE';
7056      g_union_group(SUBINVENTORY_CODE) := 'SUBINVENTORY_CODE';
7057      g_union_group(LOCATOR) := 'LOCATOR';
7058      g_union_group(LOCATOR_ID) := 'LOCATOR_ID';
7059      g_union_group(LPN) := 'LPN';
7060      g_union_group(LPN_ID) := 'LPN_ID';
7061      g_union_group(COST_GROUP) := 'COST_GROUP';
7062      g_union_group(CG_ID) := 'CG_ID';
7063      g_union_group(LOADED) := 'LOADED';
7064      g_union_group(PLANNING_PARTY) := 'PLANNING_PARTY';
7065      g_union_group(PLANNING_PARTY_ID) := 'PLANNING_PARTY_ID';
7066      g_union_group(OWNING_PARTY) := 'OWNING_PARTY';
7067      g_union_group(OWNING_PARTY_ID) := 'OWNING_PARTY_ID';
7068      g_union_group(LOT) := 'LOT';
7069      g_union_group(SERIAL) := 'SERIAL';
7070      g_union_group(UNIT_NUMBER) := 'UNIT_NUMBER';
7071      g_union_group(LOT_EXPIRY_DATE) := 'LOT_EXPIRY_DATE';
7072      g_union_group(ORGANIZATION_CODE) := 'ORGANIZATION_CODE';
7073      g_union_group(ORG_ID) := 'ORG_ID';
7074      g_union_group(ITEM) := 'ITEM';
7075      g_union_group(ITEM_DESCRIPTION) := 'ITEM_DESCRIPTION';
7076      g_union_group(ITEM_ID) := 'ITEM_ID';
7077      g_union_group(REVISION) := 'REVISION';
7078      g_union_group(PRIMARY_UOM_CODE) := 'PRIMARY_UOM_CODE';
7079      g_union_group(SECONDARY_UOM_CODE) := 'SECONDARY_UOM_CODE';
7080      g_union_group(OWNING_ORGANIZATION_ID) := 'OWNING_ORGANIZATION_ID';
7081      g_union_group(PLANNING_ORGANIZATION_ID) := 'PLANNING_ORGANIZATION_ID';
7082      g_union_group(OWNING_TP_TYPE) := 'OWNING_TP_TYPE';
7083      g_union_group(PLANNING_TP_TYPE) := 'PLANNING_TP_TYPE';
7084 
7085      -- Onhand Material Status support
7086      g_union_group(STATUS)    := 'STATUS';
7087      g_union_group(STATUS_ID) := 'STATUS_ID';
7088 
7089 
7090   END initialize_union_query;
7091 
7092    PROCEDURE make_nested_lpn_onhand_query IS
7093       l_procedure_name VARCHAR2(30);
7094       l_count          NUMBER;
7095    BEGIN
7096       l_procedure_name := 'MAKE_NESTED_LPN_QUERY';
7097 
7098       SELECT count(*)
7099         INTO l_count
7100         FROM wms_license_plate_numbers wlpn
7101        WHERE wlpn.parent_lpn_id = inv_mwb_globals.g_tree_parent_lpn_id
7102          AND wlpn.organization_id = inv_mwb_globals.g_tree_organization_id;
7103 
7104       IF l_count  > 0 THEN
7105          inv_mwb_globals.g_is_nested_lpn := 'YES';
7106       ELSE
7107          inv_mwb_globals.g_is_nested_lpn := 'NO';
7108          RETURN;
7109       END IF;
7110 
7111       add_from_clause('wms_license_plate_numbers wlpn', 'ONHAND_1');
7112       g_onhand_1_select(inv_mwb_query_manager.SUBINVENTORY_CODE).column_value :=
7113          'wlpn.subinventory_code';
7114       g_onhand_1_select(inv_mwb_query_manager.LOCATOR_ID).column_value :=
7115          'wlpn.locator_id';
7116       g_onhand_1_select(inv_mwb_query_manager.LPN).column_value :=
7117          'wlpn.license_plate_number';
7118       g_onhand_1_select(inv_mwb_query_manager.ORG_ID).column_value :=
7119          'wlpn.organization_id';
7120 	  g_onhand_1_select(inv_mwb_query_manager.LPN_ID).column_value :=
7121          'wlpn.lpn_id';  -- 12984304
7122 
7123       add_group_clause('wlpn.organization_id', 'ONHAND_1');
7124       add_group_clause('wlpn.subinventory_code', 'ONHAND_1');
7125       add_group_clause('wlpn.locator_id', 'ONHAND_1');
7126       add_group_clause('wlpn.license_plate_number', 'ONHAND_1');
7127 	  add_group_clause('wlpn.lpn_id', 'ONHAND_1');--12984304
7128 
7129       add_where_clause('wlpn.parent_lpn_id = :onh_tree_plpn_id', 'ONHAND_1');
7130       add_bind_variable('onh_tree_plpn_id', inv_mwb_globals.g_tree_parent_lpn_id);
7131 
7132    END make_nested_lpn_onhand_query;
7133 
7134    PROCEDURE make_nested_lpn_rcv_query IS
7135       l_procedure_name VARCHAR2(30);
7136       l_count          NUMBER;
7137    BEGIN
7138       l_procedure_name := 'MAKE_NESTED_LPN_RCV_QUERY';
7139 
7140       SELECT count(*)
7141         INTO l_count
7142         FROM wms_license_plate_numbers wlpn
7143        WHERE wlpn.parent_lpn_id = inv_mwb_globals.g_tree_parent_lpn_id
7144          AND wlpn.organization_id = inv_mwb_globals.g_tree_organization_id;
7145 
7146       IF l_count  > 0 THEN
7147          inv_mwb_globals.g_is_nested_lpn := 'YES';
7148       ELSE
7149          inv_mwb_globals.g_is_nested_lpn := 'NO';
7150          RETURN;
7151       END IF;
7152 
7153       inv_mwb_query_manager.add_from_clause('wms_license_plate_numbers wlpn', 'RECEIVING_1');
7154       g_receiving_1_select(inv_mwb_query_manager.SUBINVENTORY_CODE).column_value :=
7155          'wlpn.subinventory_code';
7156       g_receiving_1_select(inv_mwb_query_manager.LOCATOR_ID).column_value :=
7157          'wlpn.locator_id';
7158       g_receiving_1_select(inv_mwb_query_manager.LPN).column_value :=
7159          'wlpn.license_plate_number';
7160       g_receiving_1_select(inv_mwb_query_manager.ORG_ID).column_value :=
7161          'wlpn.organization_id';
7162 
7163       add_group_clause('wlpn.organization_id', 'RECEIVING_1');
7164       add_group_clause('wlpn.subinventory_code', 'RECEIVING_1');
7165       add_group_clause('wlpn.locator_id', 'RECEIVING_1');
7166       add_group_clause('wlpn.license_plate_number', 'RECEIVING_1');
7167 
7168       add_where_clause('wlpn.parent_lpn_id = :onh_tree_plpn_id', 'RECEIVING_1');
7169       add_bind_variable('onh_tree_plpn_id', inv_mwb_globals.g_tree_parent_lpn_id);
7170 
7171    END make_nested_lpn_rcv_query;
7172 
7173    PROCEDURE make_nested_lpn_inbound_query IS
7174       l_procedure_name VARCHAR2(30);
7175       l_count          NUMBER;
7176    BEGIN
7177       l_procedure_name := 'MAKE_NESTED_LPN_INBOUND_QUERY';
7178 
7179       SELECT count(*)
7180         INTO l_count
7181         FROM wms_license_plate_numbers wlpn
7182        WHERE wlpn.parent_lpn_id = inv_mwb_globals.g_tree_parent_lpn_id
7183          AND wlpn.organization_id = inv_mwb_globals.g_tree_organization_id;
7184 
7185       IF l_count  > 0 THEN
7186          inv_mwb_globals.g_is_nested_lpn := 'YES';
7187       ELSE
7188          inv_mwb_globals.g_is_nested_lpn := 'NO';
7189          RETURN;
7190       END IF;
7191 
7192       add_from_clause('wms_license_plate_numbers wlpn', 'INBOUND_1');
7193 
7194       g_inbound_1_select(inv_mwb_query_manager.SUBINVENTORY_CODE).column_value :=
7195          'wlpn.subinventory_code';
7196       g_inbound_1_select(inv_mwb_query_manager.LOCATOR_ID).column_value :=
7197          'wlpn.locator_id';
7198       g_inbound_1_select(inv_mwb_query_manager.LPN).column_value :=
7199          'wlpn.license_plate_number';
7200       g_inbound_1_select(inv_mwb_query_manager.ORG_ID).column_value :=
7201          'wlpn.organization_id';
7202 
7203       add_group_clause('wlpn.organization_id', 'INBOUND_1');
7204       add_group_clause('wlpn.subinventory_code', 'INBOUND_1');
7205       add_group_clause('wlpn.locator_id', 'INBOUND_1');
7206       add_group_clause('wlpn.license_plate_number', 'INBOUND_1');
7207 
7208       add_where_clause('wlpn.parent_lpn_id = :onh_tree_plpn_id', 'INBOUND_1');
7209       add_bind_variable('onh_tree_plpn_id', inv_mwb_globals.g_tree_parent_lpn_id);
7210 
7211    END make_nested_lpn_inbound_query;
7212 
7213 END INV_MWB_QUERY_MANAGER;