database independent reporting

Reports can be independent of any specific data source. This is achieved by using variables to hold report parameters.