This part of a long record select is solving one issue. Before not all negative qty locations were being displayed. but not if the user want to see specific locations as entered in parameters its' not showing only that but all.
{ICLOC1.LMLTPC} = {?Location Type} or {ICLOC1_1.LMLTPC} = {?Location Type}) and
((
{ACBALMPK.IRLOC3} <> "" and
{ACBALMPK.IRLOC2} <> "" and
{ACBALMPK.IRLOC1} <> "") or (
{ACBALMPK.IELOC3} <> "" and
{ACBALMPK.IELOC2} <> "" and
{ACBALMPK.IELOC1} <> "")) and
-- here is the full RS.
(IF {?Lev_Pos} = "ALL" then
1=1
else
{ICLOC1.LMLOC3} = {?Lev_Pos} OR {ICLOC1_1.LMLOC3} = {?Lev_Pos}) and
(IF {?Bay} = "ALL" then
1=1
else
{ICLOC1.LMLOC2} = {?Bay} OR {ICLOC1_1.LMLOC2} = {?Bay}) and
(IF ({?Warehouse}) = "blank" then
{ICLOC1.LMWHS#} = "" OR {ICLOC1_1.LMWHS#} = ""
else
{ICLOC1.LMWHS#} = "CRW" OR {ICLOC1_1.LMWHS#} = "CRW") and
{ICLOC1_1.LMCOM#} = "001" and
{ICLOC1.LMCOM#} = "001" and
(IF {?Assembly Items} = "ALL" then
1=1
else
(IF {?Assembly Items} = "yes" then
({ICPRT1.IABMU} = "1" or {ICPRT1_1.IABMU} = "1")
ELSE
({ICPRT1.IABMU} <> "1" or {ICPRT1_1.IABMU} <> "1"))) and
(IF {?Inventory Items} = "ALL" then
1=1
else
(IF {?Inventory Items} = "inventory items" then
TRIM({ICPRT1.IARCC6}) = "INV" OR TRIM({ICPRT1_1.IARCC6}) = "INV"
ELSE
TRIM({ICPRT1.IARCC6}) = "" OR TRIM({ICPRT1.IARCC6}) = "")) and
(IF {?Inactive Location} = "ALL" then
1=1
else
{ICLOC1.LMACTF} = Left({?Inactive Location},1) OR {ICLOC1_1.LMACTF} = Left({?Inactive Location},1)) and
(Select {?Quantity}
CASE "ALL":
1=1
CASE "Negative":
({ACBALMPK.IRQOH#}<0) OR ({ACBALMPK.IEQOH#}<0)
CASE "0":
({ACBALMPK.IRQOH#}=0) and ({ACBALMPK.IEQOH#}=0)
CASE "Greater than Zero":
({ACBALMPK.IRQOH#}>0;) OR ({ACBALMPK.IEQOH#}>0;)) and
(IF {?Item} = "ALL" then
1=1
else
{ACBALMPK.IRPRT#} = {?Item} or {ACBALMPK.IEPRT#} = {?Item}) and
(IF {?Location Type} = "ALL" then
1=1
else IF {?Location Type} = "RAK" then
{ICLOC1.LMLTPC} = {?Location Type} and {ICLOC1_1.LMLTPC} = {?Location Type}
else
{ICLOC1.LMLTPC} = {?Location Type} or {ICLOC1_1.LMLTPC} = {?Location Type}) and
((
{ACBALMPK.IRLOC3} <> "" and
{ACBALMPK.IRLOC2} <> "" and
{ACBALMPK.IRLOC1} <> "") or (
{ACBALMPK.IELOC3} <> "" and
{ACBALMPK.IELOC2} <> "" and
{ACBALMPK.IELOC1} <> "")) and
(IF {?Available for Sale} = "ALL" then
1=1
else
{@strAS} = {@STRASfirst}) and
(IF {?Available for Purchase} = "ALL" then
1=1
else
{@strAP} = {@STRAPfirst}) and
(IF {?Aisle} = "ALL" then
1=1
else
{ICLOC1.LMLOC1} = {?Aisle} or {ICLOC1_1.LMLOC1} = {?Aisle})