SyteLine Crystal Reports to SSRS Migration Checklist
Older SyteLine sites often carry custom Crystal Reports written against the database years ago, while SyteLine 9 and CSI 10 use SSRS RDL report definitions run through TaskMan. This checklist takes each custom report from inventory to retirement without losing numbers on the way.
0 of 27 items complete
6 critical items still open - these are the highest-risk gaps.
Inventory
Data source
Rebuild in RDL
SyteLine integration
Validate
Retire
Critical items are where converted reports usually give wrong numbers: direct _mst table reads that skip site filtering, translated formulas, and totals never compared against the old output. Do not retire Crystal until every critical item is ticked for every kept report.
Send us your Crystal report inventory
Share the exported inventory and we will flag which reports have standard equivalents and which need a rebuild.
Optional. The tool and every export work without this. No spam.
How to use it
Start with the Inventory group as a spreadsheet exercise and export it to Excel: one row per .rpt file, with run counts and owner. Most sites find a large share of reports are unused or duplicated by a standard report in the new release, and those never need converting. Then work through the remaining groups per report, not per group across all reports, so each converted report is validated and signed off before the next. Keep the exported checklist with the report in source control.
The data source is where conversions go wrong
Crystal reports written for SyteLine often linked tables directly, including the _mst base tables. In a multi-site database those tables hold every site's rows, keyed by site_ref, while the views SyteLine forms use filter to the current site. A converted report that copies the old table links can silently show another site's data. Move the logic into a stored procedure or view that applies the site filter, keep parameters in the procedure signature, and let the RDL only lay out the result.
- Prefer stored procedures for anything with business logic
- Filter by site_ref or use the site views
- Map every parameter to a report option form field
- Read-only login for the data source
Worked example
A plant runs a Crystal open order backlog report with two subreports: open lines and shipped quantity. In RDL this becomes one stored procedure returning lines with shipped quantity already joined, one dataset, and a group by customer. The Crystal formula that calculated days late becomes a DATEDIFF in SQL. The new report gets a report form with customer range and due date parameters, a background task definition, PDF output on Report Options, and a validation sheet comparing totals for three closed months.
How to check the result in the system
Run the new report from its form so it goes through the background queue, then open Background Task History to confirm completion. Compare totals to the archived Crystal output for the same parameters. Run it as a user in a different site to confirm site filtering works. Time it at month end. Only then remove the Crystal version from desktops and schedules.
Frequently Asked Questions
Can SyteLine 9 or CSI 10 run Crystal Reports?
Standard reporting in SyteLine 9 and CSI 10 is built on SSRS RDL definitions run through TaskMan. A Crystal runtime can still read the database from outside SyteLine, but such reports bypass report forms, background tasks and SyteLine security groups, so most upgrade projects convert the ones still used and retire the rest.
How do I build custom reports in SyteLine?
Write the data logic as a stored procedure or view that respects site filtering, design the RDL in Report Builder or Visual Studio report designer, create a report form for parameters and a background task definition so TaskMan runs it, then set the output format on Report Options and grant access through groups.
Why do converted reports show the wrong site's data?
The old report probably read _mst tables directly. Those tables hold rows for every site in the database, identified by site_ref. Unless the new stored procedure or view filters by site, the report returns all sites. Fix it in SQL, not in the RDL, so every consumer of the data gets the same filter.
Should every Crystal report be converted?
No. Count runs in Background Task History and ask owners which reports they still use. Check whether a standard report in your release or a saved form filter already answers the need. Converting only reports with real use and no standard equivalent usually cuts the job sharply and reduces long-term maintenance.
If many of these reports are really questions people ask every week, we can let them ask SyteLine in plain English on your own servers instead of maintaining another report.
Related Tools
SyteLine SSRS Report Server Setup Checklist
Server, SyteLine-side, deployment, test and operations checks for SSRS based report output on SyteLine 9 and CSI 10 on-prem.
Infor SyteLineSyteLine TaskMan Background Task Troubleshooting Checklist
Step-by-step checks for background reports and utilities that sit in the queue, fail, or produce no output in SyteLine 9 and CSI 10 on-prem.
Infor SyteLineSyteLine Custom Report Request Template
A requirements form for new or modified SyteLine reports: purpose, parameters, columns, data sources, security and acceptance criteria.
Infor SyteLineSyteLine Upgrade Regression Test Checklist
A practical regression checklist for SyteLine upgrades across business processes, customizations, reports and integrations.
More Infor SyteLine tools
See all- SyteLine Form Personalization Checklist
- SyteLine User Access Request Form Template
- SyteLine Data Conversion Mapping Worksheet
- SyteLine UAT Test Script Worksheet
- SyteLine Cutover Plan Worksheet
- SyteLine Change Request Form Template
- SyteLine Cycle Count Variance Worksheet
- SyteLine Database Growth Forecast Calculator
- SyteLine Reorder Point and Safety Stock Calculator
Keep exploring
ERP fixes and how-tos
- How to Build SQL Views for Custom SyteLine ReportingWhy custom SyteLine reports should read from purpose-built SQL views, not core tables directly, and how to build and place those views safely.
- SyteLine Report Viewer: Preview, Export and Schedule Reports (SSRS and Background Tasks)How reports are previewed, exported to PDF or Excel and scheduled in Infor SyteLine / CSI, with the SSRS and background task pieces that must be in place.
- SyteLine error: an error has occurred during report processingWhy SyteLine reports fail with 'an error has occurred during report processing' or cannot reach the report server, and how to fix the SSRS connection, deployment, or parameter cause.
Guides
- Migrating Crystal Reports to SSRS in SyteLineMigrate Crystal Reports to SSRS for Infor SyteLine. Convert RPT files, remap data sources, translate Crystal formulas to SSRS expressions, and validate output.
- How to Configure Crystal Reports in SyteLineLearn how to configure SAP Crystal Reports integration with Infor SyteLine for advanced formatted reports, sub-reports, and cross-tab analysis.
- SSRS Report Development for SyteLineDevelop SSRS reports for Infor SyteLine with proper data source configuration, parameter binding, and deployment to the SyteLine report server. Complete guide.