Yes
Check my blog post where I've discussed on 4 methods, by using: 1. CSV list 2. XML string 3. temp-tables 4. TVPsCheck here http://sqlwithmanoj.com/2015/07/10/passing-multiple-values-with-a-single-parameter-in-a-stored-procedure-sql-server/
If you create a parameter at stored procedure level, it treats that as static and you can pass only single value to it. Yes, we can pass multi values to your stored procedure parameter through crystal by doing the following : -Create a blank report and create a static parameter (same datatype which your stored procedure is using) with multi value. -Insert your actual report (stored procedure based) as sub report in Report footer. -Right click on your sub report and go in u2018Change sub report linksu2019 and select main report parameter and select left hand below drop down and select your stored procedure parameter. -Suppress all sections of your main report except report footer. -Now when you refresh your report, it will take multi value and pass it to your stored procedure