How to create a Crystal template for a new report to pull select data from the Cyrious database. This example is offered to provide examples of how a report is created which can be extrapolated to the creation of other reports specific to the user's need. After a little familiarity with the Crystal program and how Cyrious uses and links its tables, writing custom reports is no more difficult than creating Excel spread sheets or formatted Word reports, with the exception that you will need to use a little code for which in most cases users can find other code close enough to copy and modify. Also, Crystal has a Help menu and a lot of tools to point you in the right direction.
We were asked to create a report which would show how many jobs has been shipped in a specific period through UPS, our carrier, and the total amount invoiced for those jobs, on a job by job basis. Since we utilize Cyrious' interface program with UPS, the information is in UDF fields in the database. When shipments are closed at the end of the day, the UPS Worldship program exports back to Cyrious by job the weight, the tracking number and the UPS charge for the package. This information is stored in Transaction UDF fields. The amount invoiced is calculated in the Delivery product. The task was to retrieve this information and present it in a Crystal report, accessible through the Reports menu in Cyrious.
This “how to” assumes you have established an ODBC connection and are familiar with how to find your Cyrious database. In working with the Crystal-Cyrious interface be prepared for a little trial and error. Cyrious has made the interface about as easy as it could be; but it may take you a few “go-arounds” before you are comfortable getting all the settings and pointers correct. You can not do any harm to your database or other Cyrious functions as you can not modify the data through Crystal. You can only access it.
The Cyrious tables: Transheader contains most of the top level data about each estimate, order and purchase order. It is usually the "parent" table in reports. Transdetail contains the information about what is in an order or estimate - ie the line item information or pointers to other tables which contain even more specifics. TransheaderUserDetail contains the UDF fields for each transaction.


{TransHeaderUserField.Shipment_Date}>= {?Begin Ship Date} and
{TransHeaderUserField.Shipment_Date}<={?End Ship Date} and
{TransDetail.GoodsItemID} = 1148
Contributor: Steve Gillispie
Date: 723/2009
Version: Control 4.3_