I had the same problem. I want multiple value (check box) selections in the parameter. It works in Crystal but SAPB1 always shows a range selection any time I try to pull a field from OITM.
In my case I wanted to select only BOM items as a subset of items from OITM, but no matter what fields I put in the parameter selection, it came up in SAPB1 as ItemCode and ItemName with the default SAP range selection box.
Here was my workaround:
ItemSelect@SELECT OITT.Code, OITM.ItemName FROM OITT INNER JOIN OITM ON OITT.Code = OITM.ItemCode
I think that by pulling from OITM in the join, it avoids the default range selection box in SAP.
The second one was really strange.
We have a UDF (Process1) in OITM. I wanted a multiple selection parameter of just the UDF to filter a report. If I put the UDF in the parameter statement, it works in Crystal but SAPB1 again defaults to a range selection list of itemCodes and not the UDF field specified.
Solution:
Process@SELECT DISTINCT OITM.process1 FROM OITT INNER JOIN OITM ON OITT.Code = OITM.ItemCode
I used the same join that worked for items from OITT above, but only pulled from OITM, in effect fooling the system into thinking that OITM was not the primary table.
You might need to use a table other than OITT depending on the subset of items you want to select from. In my case, the UDF only appears on BOM items, so OITT worked fine.
Note:
I believe that you need to use the whole table name for each field (e.g. OITM.ItemCode) when you use a JOIN in a parameter. I've tried in the past to use alias names (T1, T2, etc.) and never gotten it to work. With alias names, I just get a blank selection table in SAPB1.