'''An indescribable evil foisted on programmers under the guise of "easy reporting".''' It also fits the requirements for a CareerLanguage. More discussions moved to the end of page ---- The reporting tool (one of the earliest VisualBasicTools) was acquired by Business''''''Objects in mid 2003, and the new owner planned to merge the functionalities with its high end BusinessIntelligence software by end 2005. See http://www.infoworld.com/article/04/01/08/HNboroadmap_1.html ---- '''Crystal Resources on the Web''' * multipart Crystal v9 tutorial http://www.google.com/custom?q=Christle+Karen&sitesearch=www.windowatch.com * Underground News backissues http://www.kenhamady.com/news.html * Wrox P to P forum http://p2p.wrox.com/forum.asp?FORUM_ID=109 * Tek-Tips has 5 active forums e.g. http://www.tek-tips.com/threadminder.cfm?spid=768&newpid=768 * Best site for Crystal articles for all levels of users http://www.crystalkeen.com/articles/index.htm * Useful collection of articles, tips and FAQs on Crystal Reports http://www.ml-crystal.com/articles.htm * Free newsletter on Crystal tips http://www.chelseatech.co.nz/pubs.htm * Message board on Crystal http://www.crystaluser.com/CrystalReportsBoard/ * ?Independent magazine on Crystal http://www.crystaldevelopersjournal.com/artman/publish/index.shtml * Vendor site entry point for Crystal products http://www.businessobjects.com/products/reporting/crystalreports/net/default.asp * Crystal support site for searching problem reports and solutions http://support.businessobjects.com/search/advsearch.asp?q= * Developer technologies (e.g. new RAS) from vendor website see http://support.businessobjects.com/communityCS/TechnicalPapers/cr9_ras_vs_rdc.pdf * Thinking of a Crystal.NET based web service report? see http://www.perfectxml.com/wp/0764544039.pdf * Getting started RDC which replaces OCX used in days goneby http://www.crystalkeen.com/articles/crystalreports/rdcinvba.htm * Switchover to RDC from OCX in CR9 http://support.businessobjects.com/communityCS/TechnicalPapers/cr9_ocx_to_rdc.pdf * List of books available for purchase http://rbookshop.com/computer_books/c/Crystal_Reports/ * Reporting from XML datasources (CR8.5+) article from vendor of Crystal http://www.businessobjects.com/jump/CR9/downloads/cr_xml_data_sources.pdf * A almost complete free .NET ebook http://www.crystalreportsbook.com/FreeEbook.asp ---- '''Learning Crystal Reports''' ''Please list good resources (including books if you have read them) that are good to help beginners to gain proficiency (to intermediate skill level) quickly. Target version is Crystal 9'' --dl DeleteWhenCooked * Sample chapter on data access from 2003 CrysDev book by Craig Berntson http://portal.dfpug.de/dFPUG/Dokumente/Partner/Hentzenwerke/CR04_06NMpdf2.pdf ---- '''Crystal Versions ''' ''Version 4.6'' Version bundled with VbClassic version 5/6 ''Version 5+'' conditional formatting, multiple sections, subreports ''Version 7'' An addon called Report Design Component (RDC) first got introduced. Also a precursor to Crystal Enterprise, called Web Component Server (WCS), was made available. ''Version 8'' Emergence of the Report Designer Component. Allow control structures in formulae, cross tab, charts ''Version 8.5'' New product Crystal Enterprise, WCS dropped from product line. Has alerts and PDF exports ''Version 9'' mid 2002 version now has a repository, but dropped compiled reports see http://www.intelligententerprise.com/print_article_flat.jhtml;jsessionid=G0EJVFB0CDTKAQSNDBCCKHQ?article=/021030/517products1_1.jhtml reported to be much slower at http://groups.google.com/groups?th=f4e503e5212c09a2 now can process SQL commands directly Report Application Server (RAS), a java based tool, now introduced as an entry level stepping stone for the larger Crystal Enterprise server based solution. Previous free entry tool was called Crystal Enterprise Standard. ''Version 10'' ?Jan 2004 version that has better Enterprise (Java engine) and DotNet capabilities ---- '''Report Desginer Component (RDC)''' Information on this is scattered throughout the page, here are some additional information. * RDC can be used to create "report on the fly" * RDC can be used by any programming language that can interact with MicrosoftCorporation ComponentObjectModel * Through the use of embeddable report designer, endusers can directly have some control on report layout ---- '''Crystal Enterprise''' This web based solution, available since 8.5 separately, moved processing load to dedicated report server and has in addition, scheduling capabilities. It also provide better scalability through economizing scarce resources such as database connections. Crystal Enterprise was a "free" addon to Crystal 8.5. It now has a professional edition that has security features (e.g. LDAP based) , and is priced for customers with deep pockets. See http://www.crystalkeen.com/articles/crystalreports/crystalenterprise.htm ---- '''Data access''' In the case of ActivexDataObject (ADO), Crystal require data source that can be scrolled in both directions. However we open our recordsets using forward and readonly cursor option. Therefore we need an intermediary inmemory datasource to hold the entire contents of the recordset, and use that as a feed to CrystalReports. ---- '''Reports for the Web''' Vendor recommend use of RAS (Enterprise Report Application Server). see link above * However, RDC (Report Designer Component) can also be used for web reporting. * Vendor has withdrawn samples for RDC ASP integration (still on their website), but some can be found at http://www.Crystalbook.com * For RDC use, RPTSERVER.ASP is a critical file that provides interface with the RDC pageEngine object * ASP code needed to declare Application and Report objects as session variables Crystal can also be used to create report in HTML format, to be served to the web browser. This mechanism lacks the advanced features (e.g. drill down) made possible through use of RAS or RDC. Deployment: setup and licensing see http://www.tek-tips.com/pviewthread.cfm?sqid=838331&spid=768&page=1 Simple ASP alternative to Crystal. see http://groups.google.com/groups?&th=4d846011584133c Stream CR output to PDF for web consumption see http://groups.google.com/groups?&th=5a6b9c75fbaf8d13 Active Reports as an alternative to Crystal. see http://groups.google.com/groups?&th=ebed20d90e02e341 ---- '''Report Application Server (RAS) ''' Resources: * ''Crystal Enterprise Report Application Server'' http://support.businessobjects.com/communityCS/TechnicalPapers/cr9_ras.pdf ---- '''Reports for Client Server Applications''' Use RDC (Report Designer Component). It has facilities not in the RAS. Uses the ComponentObjectModel approach to integrating reporting functions with application logic. Using RDC, reports can now be directly created and manipulated within the host language IDE (e.g. VbClassic). An introduction to RDC is available at http://support.businessobjects.com/communityCS/TechnicalPapers/rdc_gettingstarted.zip.asp ---- '''Reports for Services and Xml type applications''' See vendors own material at http://support.businessobjects.com/communityCS/TechnicalPapers/cr_xml_data_sources.pdf Web service and Crystal Enterprise. see http://groups.google.com/groups?&th=6ccafcd29e4aba61 ''I hear there were severe limitations (e.g. size of strings) that exist in earlier versions. Problems now resolved?'' Versions prior to CR9 has this problem. See http://groups.google.com/groups?th=d4f4fe9086d43be9 ---- '''Reports for VbClassic''' With VbClassic, RDC incorporates the automatic code completion. The Activex designer within the RDC extends the VbClassic IDE through facilities such as User Connection and Data Environment designers. Also the VbClassic code has access to manipulating properties for report objects at finer level of granularity (eg. programatic setting of formula for text object within Vb) * Vendor site entry point for COM and ASP developers http://www.businessobjects.com/products/dev_zone/comasp/default.asp?ref=devzone_main * RDC sample solution list http://support.businessobjects.com/communityCS/TechnicalPapers/apps_rdc.pdf * VbCITY FAQ on connecting ADO recordsets to Crystal http://www.vbcity.com/forums/faq.asp?fid=6&cat=Crystal+Reports&#TID4664 ---- '''Reports for VbDotNet''' A tailored version (based on Version 8/8.5) is included for VS.NET. This is described at http://www.businessobjects.com/products/reporting/crystalreports/net/vsnet.asp However it appears that this has been superseded by Crystal version 10 Also there have been reports that the .NET version is incomplete without COM objects (see http://groups.google.com/groups?th=1761947f3af8afc8) and also at one time was incompatible with a version 9 enterprise server (see http://groups.google.com/groups?th=68c4c3365392b6be) ''It was reported that DotNet 2003 comes with Crystal v10. See http://groups.google.com/groups?th=8f22999f923c8c6e'' The above was disputed by Brian Bishop, an author of Crystal books, he said it (VS2003) comes with a modified version of Crystal 9. * A different author, David McAmis, said this VS2003 bundled Crystal is "built on the Crystal Reports 8.x technology". See http://media.wiley.com/product_data/excerpt/00/07645573/0764557300.pdf Simple setup example refer to http://aspalliance.com/articleViewer.aspx?aId=265&pId=-1 If Crystal 9 is installed over Crystal Reports.Net some dll errors can occur. See a discussion at http://www.vbcity.com/forums/topic.asp?tid=72734 Wrox (acquired by Wiley) has a forum on development of crystal reports at http://p2p.wrox.com/forum.asp?FORUM_ID=109 Microsoft has some documentation on DotNet version of crystal at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/crystlmn/html/crconcrystalreports.asp. ---- '''Older and Superseded components''' CRPE (Crystal Reports Programming Engine) API. A powerful low level interface discarded in CR9 Crystal OCX. RDC is the replacement for this tool which worked for 16bit windows as well. ---- '''Crystal Data Object (CDO)''' This could be on the way out. But I have seen it listed as a datasource in the two definitive CR9 books of "Mastering ..." and "...Complete Reference". It is supposedly a very powerful means to source data (e.g. from ComponentObjectModel objects that interrogates the active directory). Vendor has a RDC usage sample at http://support.businessobjects.com/communityCS/FilesAndUpdates/CR8_VB_RDC_GetNextRows.exe.asp More vendor CDO material can be located with this search link http://support.businessobjects.com/search/results.asp?summary=1&ct=livewww-all&site=my_collection&client=my_collection&output=xml_no_dtd&filter=0&radioGroup=kbase_search&q=CDO&content_typ=all_support&language=EN&index_cont=0&index_ftyp=0&index_lang=0&index_ver=&index_lang=&indexq2=&indexq3=&indexq4= ---- '''Upgrade to CR9 from 8.5''' We have set up a new machine with Crystal 9, and put VbClassic on. Problem is we quickly find that the existing VB projects with Crystal 8.5 reports not work, even after the project reference is changed to using the new library. ''A solution was found later by hacking the visual basic form files directly. We took a look at a form that uses the new CR9 format, and change the references in all the forms that refer to older control names.'' ''The new crystal 9 uses different Dlls, and the names for the interfaces within the DLLs have changed as well.'' also check http://groups.google.com/groups?th=f5be6e3771394984 for info ---- '''Upgrade Crystal.NET 8.5 to 10''' Resources * ''Reasons to upgrade web application'' http://aspalliance.com/articleViewer.aspx?aId=480&pId=-1 ---- '''Deployment of Crystal''' Even after licensing issues have been addressed by the company lawyer, deployment of CrystalReports can be painful. I have seen a remark made that for Web applications, consider Crystal Enterprise as the deployment mechanism. For Client Server apps, check out http://www.dmgrpt.com/Tips_CRDesc.htm. ---- '''User experience discussions''' ''Upgrades can be painful'' See for example, http://groups.google.com/groups?th=eace9531a0d25e74 ''Does not meet all user needs for reporting'' I have yet to find a project that CrystalReports could handle all the reports for. I've always had to use CrystalReports with another reporting system, or roll my own reports altogether. The problem is that it is fragile. If you want to do what it does nicely, you are fine. However, if you want to doing something slightly different, you can't modify or subclass Crystal Reports. Instead you have to abandon it altogether for another program (either another commercial one, or one you wrote yourself). Reporting seems to be a good area in which to demonstrate the power of well-written and exposed object-oriented software, so why is CrystalReports the dominant player? ''Because it ships free with VB?'' An open-ended report writer is something that would be tough to design in my opinion. You may need to mix flow-based (nested) layouts with positional layouts. If you can stick with one or the other, it is relatively easy. But, if you want to make it handle both, you are a genius if you can pull it off. ---- What are some specific things which CrystalReports cannot handle? Most of the problems I have seen are trying to use it to do complex calculations or pre-processing. Use a real programming language for that, and let Crystal be a mere formatting tool. ''Indeed. It is not meant to be a programming language, nor should it. But, are there any common formatting tasks that have caused trouble?'' ---- '''Unwanted ''FEATURES''''' Security risks * June04 identified risks http://www.microsoft.com/technet/security/bulletin/MS04-017.mspx ---- See CrystalReportsAlternatives