Breaking up Crystal report into e-mailable sub-reports

First time poster, long time ignoramus...
The company I work for uses Crystal Reports (version 11, don't judge me) to create our invoices.  The invoices are created as one big report, and then, after printing, we manually separate the pages by customer so that we can mail the invoices appropriately.
What I would like to do is create the reports in such a way that we can merge them with available e-mail addresses (from a separate program) and e-mail the invoice to the customer.  Not all customers will have an e-mail address on file, and I would still need to print those invoices for which we lack an e-mail address so that they can be mailed. 
I'm barely skilled with Crystal Reports, but not completely new to it.  Is there a way to configure my current report to reflect these two changes (merge with available e-mail addresses, and print only those invoices that cannot be e-mailed)?
Thanks in advance for any parsing work you have to make to understand my question, and I will answer any questions you have that might clarify my post as promptly as possible.
Aaron

Creating one big report is the start of your problems. E.g.; Dell is correct in that there is no way to take a subreport, merge it with an email address and so on. However, what about creating one small report and in your app passing it what ever parameter you need and loop through for next parameter.
E.g.;
Load report
Connect to a database
Pass a parameter or selection formula to the report (say customer name)
Run and email the report (see How to export a report to MAPI destination in VS .NET).
Do a .Close and .Dispose on the report
Load report
Connect to a database
Pass a new parameter or selection formula
Also, see KBA: 1295243 - How to export to MAPI using CRYSTALREPORT .NET SDK
I would also highly recommend updating to CR XI R2 (11.5). See this blog on how to.
Finally, note that both CR XI and CR XI R2 are out of support and may not support your version of Outlook or what ever email client you are using. E.g.; I'd be leery using Outlook 2007 - but I don't know what CR XI / XI R2 supported.
- Ludek
Senior Support Engineer AGS Product Support, Global Support Center Canada
Follow us on Twitter

Similar Messages

  • Crystal runs sql command of first sub report in the second sub report ?

    Hi,
    I have report that contains 3 sub reports.
    Each subreport is running his own sql command to retrieve it's data.
    When moving from the first subreport to the 2nd subreport, we see on the oracle that the crystal runs the sql command of the 1st subreport, and then the sql command of the 2nd subreport.
    The results are fine (he ignores the 1st subreport result in the 2nd subreport), but it delays the showing of the 2nd subreport to show.
    Why? The 2nd subreport doesn't need the data of the 1st subreport!
    How do I cancel that????
    BTW - The 3rd subreport is running only his own sql command (As should be).
    Thanks.

    Hello,
    Not without more info about the report and the data. If there is nothing linked from the main report to sub1 then it's going to run and return all data, no filtering. And from the sounds of it to take 5 + minutes per query this is going to affect performance for the whole report.
    You may want to re-evaluate why and what the subreports are used for. If they all use the same data the link them in the main report use groups to sort the data.
    Having subreports in the Details section is asking for performance problems, every record returned will cause the subreport to run. Not knowing what the subs are doing I can't say for sure....
    What you should do also is re-evaluate your Commands for each sub and see if you can do it either in one SQL statement or write a Stored Procedure to do all of the data collection. DB Servers are much more efficient at collecting data than CR will ever be. Pushing just the results to CR makes it simply formatting the results in the Designer and no performance hits....
    Talk to your DBA on how to optimize your Command SQL's and how to get them into one SQL or into a SP that dumps the final results into a final SQL * from TEMP Table into Crystal.
    Don

  • How can I have Main report with a sub-report with in a sub-report??

    I have a main report that has about 5 subreports, almost like a dashboard.  I need to make one of those subreports contain another subreport.
    I don't have the option to add a sub-report with in my sub-report, so what I thought would work is remove my sub-report from my main report, then add my new sub-report, then add that report back to my main report.
    Everytime I add the sub-report that has a sub-report to my main report I lose the second sub.
    From what I've read on the internet is you can't have a sub-report contain another sub-report.  What some say is you can hyperlink that second sub report.
    When I setup my hyper link to open the second sub-report I'm prompted to re-enter my report parameters.
    Can some help me link a sub-report to a sub-report or show me how to pass a date range parameter in my hyper link so the reports just opens up?
    I'm using CR IX R2
    Thanks

    Nate,
    You are dealing with a product limitation.  Crystal cannot have nested subreports within a sub report. 
    You can generally use shared variables between sub reports to achieve your desired result

  • How to show view tab Main Report and all of Sub Report in one action through Visual FoxPro

    How to show all view tab (Main Report and all of Sub Report) in one action.
    I already know how to show Main Report with this code sample:
    oRptRun=createobject("CrystalRuntime.Application")
    oRptView=this.Parent.oleRptViewer
    oRptOpen=oRptRun.OpenReport('MyReport.rpt')
    oRptView.ReportSource=oRptOpen
    oRptView.ViewReport
    Inside the 'MyReport.rpt' it has 2 subreports:
    1. MySubReport_1
    2. MySubReport_2
    I try to show MySubReport_1 and MySubReport_2 together with their own Main Report with this code sample:
    oRptRun=createobject("CrystalRuntime.Application")
    oRptView=this.Parent.oleRptViewer
    oRptOpen=oRptRun.OpenReport('MyReport.rpt')
    oRptSub1=oRptOpen.OpenSubreport('MySubReport_1')
    oRptSub2=oRptOpen.OpenSubreport('MySubReport_2')
    oRptView.ReportSource=oRptOpen
    oRptView.ViewReport
    Did I miss something because there was only view tab 'Preview' (Main Report) shown without view tab MySubReport_1 and MySubReport_2.
    Thank you.

    Your right, there is only one tab to view the report.
    To open the subreports you will need to click on them in the main report. I don't know of a way to open them programmatically like you are doing here
    http://diamond.businessobjects.com/robhorne</a>

  • How to hide/show main report footer for a sub report ?

    Need to hide main report footer for a sub report(having more than one page and need to hide footer for all those pages).And again make it visible for another sub report which also have more than one page (and do the same to all of its pages)
    I have tried with formula
    WhilePrintingRecords;
    Shared BooleanVar SuppressFooter := True;
    WhilePrintingRecords;
    Shared BooleanVar SuppressFooter := False;
    with this formula main report footer is shown only on last page of sub report where i need it in all pages.
    Any solution??

    Hi Jinu,
    1) Do some or all of those subreports span multiple pages?
    2) Do each of the Subreports start on a new page?
    If yes, for both, then here's what you need to do:
    1) Create a formula (@True) with this code:
    shared booleanvar SetStatus:= True
    2) Create another formula (@False) with this code:
    shared booleanvar SetStatus:= False
    Drag and drop the @True formula on the details sections for which you want the Page Footer to be suppressed.
    Similarly, drop the @False formula on the details sections for which you want the Page Footer to show up.
    Then, go to the Section Expert > Select Page Footer c > Click the formula button beside Suppress and use this code:
    shared booleanvar SetStatus;
    -Abhilash

  • Crystal report(Can i link sub report and main report Compulsorily) - invalid path

    hi.
    i need small clarification.
    i am developing one Crystal report
    main report i took it from rdr1 one table...
    report is working fine..
    Sub report i took it from inv1 one table.
    i have not linked any fields from these tables.
    May be it is having links in b1..
    but in my other report both the tables.... from main report  and sub report does not have any relation.
    My Questions is..
    Can i Compulsorily link fields to main report...
    if both does not have any relation what should i do...
    i took two tables.
    main report rdr1
    sub report inv1...
    if i  run the report it is asking two parameters one is for sub report and other one for main report working find in crystal report.
    but...i want to run the report in b1.
    while importing i am getting the error (Plz have a look on below image)
    if i choose any other report it is importing  fine...
    Clearly i am mentioning i dont want to link both tables there is no links between two reports...
    in this scenario can develop  a report..
    I need your Valuable suggestions.
    here below u can find my developed sample report...
    http://www.megafileupload.com/en/file/544758/NewReport-rpt.html

    hi.
    If i try only i am getting the error..
    out side if i run i am able to run the crystal report but
    in b1 i am not able to import the report.
    you can also try my report
    from below link u can get my simple report.
    if u find any mistake what i have done plz inform me..
    http://megafileupload.com/en/file/544806/NewReport85-rpt.html

  • Fix the coulmn width of main report which contain the sub report( remains white space of extra width)

    Hi,
    I am setting the column width of main report and that column is bounded with the sub report which contain some data.
    But if width is exceeded other than sub report data that width is showing as white space block. 
    It should be showing as normal header in gray shade.
    Please provide the solution for this. see the screen attached.
    Thanks

    Hi Raj,
    According to your description, you want to show the sub report without any white space in the textbox. Right?
    In Reporting Services, when we display a sub report in a textbox, this textbox will always show the whole sub report area. If the textbox is smaller than the report area, this textbox will extend automatically to fit the size of the sub report. Otherwise,
    it will has white space inside of the textbox. And if you have white space in your sub report, it will also be displayed in the textbox. So you may need to adjust the sub report size to make it fitted in main report.
    Reference:
    Subreports (Report Builder and SSRS)
    If you have any feedback on our support, please click
    here.
    Best Regards,
    Simon Hou (Pactera)

  • Sub-reports DO NOT WORK in Crystal for Eclipse v2

    Hi,<br />
    <br />
    We have recently upgraded from Crystal JRC to CR4E 12.2.202. Our application updates the JDBC connections at runtime to supply credentials.<br />
    <br />
    Everything seems to be working except sub reports.  When using sub reports we get the error shown below.<br />
    <br />
    On reading other forum posts, the top error about PropertyResourceBundle just seems to be about trying <br/>
    to print an error message from the real exception, which is in the third stack trace below: <br/>
    <i>Error code:-2147217394 Error code name:missingParameterValueError</i><br />
    <br/>
    Any idea what has changed and how we can resolve this issue?<br />
    <br />
    Thanks for your help.<br />
    <br />
    <br />
    06-25@16:48:52 39545 [http-8280-3] ERROR com.crystaldecisions.reports.common  - Failed to load the resource 'InternalFormatterException' from the bundle java.util.PropertyResourceBundle@66afc4.
    java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key InternalFormatterException<br />
         at java.util.ResourceBundle.getObject(Unknown Source)
         at java.util.ResourceBundle.getString(Unknown Source)
         at com.crystaldecisions.reports.common.CrystalResources.loadString(Unknown Source)
         at com.crystaldecisions.reports.common.CrystalResources.loadMessage(Unknown Source)
         at com.crystaldecisions.reports.common.CrystalResourcesFactory.getLocalizedMessage(Unknown Source)
         at com.crystaldecisions.reports.common.CrystalException.getLocalizedMessage(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(Unknown Source)
         at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.for(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
         at com.businessobjects.sdk.erom.jrc.a.a(Unknown Source)
         at com.businessobjects.sdk.erom.jrc.a.execute(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.CommunicationChannel.a(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ds.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.if(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
         at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)
         at au.com.esriau.dekho.crystal.Report.export(Report.java:135)
         at au.com.esriau.dekho.crystal.CrystalService.exportReport(CrystalService.java:37)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
         at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
         at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
         at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Unknown Source)<br /><br />
    06-25@16:48:52 39545 [http-8280-3] ERROR com.crystaldecisions.reports.common  - Failed to load the resource 'InternalFormatterException' from the bundle java.util.PropertyResourceBundle@66afc4.
    java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key InternalFormatterException<br />
         at java.util.ResourceBundle.getObject(Unknown Source)
         at java.util.ResourceBundle.getString(Unknown Source)
         at com.crystaldecisions.reports.common.CrystalResources.loadString(Unknown Source)
         at com.crystaldecisions.reports.common.CrystalResources.loadMessage(Unknown Source)
         at com.crystaldecisions.reports.common.CrystalResourcesFactory.getLocalizedMessage(Unknown Source)
         at com.crystaldecisions.reports.common.CrystalException.getLocalizedMessage(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(Unknown Source)
         at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.for(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(Unknown Source)
         at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
         at com.businessobjects.sdk.erom.jrc.a.a(Unknown Source)
         at com.businessobjects.sdk.erom.jrc.a.execute(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.CommunicationChannel.a(Unknown Source)
         at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ds.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.if(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
         at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)
         at au.com.esriau.dekho.crystal.Report.export(Report.java:135)
         at au.com.esriau.dekho.crystal.CrystalService.exportReport(CrystalService.java:37)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
         at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
         at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
         at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Unknown Source)<br /><br />
    06-25@16:48:52 39545 [http-8280-3] ERROR au.com.esriau.dekho.crystal.CrystalService  - InternalFormatterException
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKParameterFieldException: InternalFormatterException---- Error code:-2147217394 Error code name:missingParameterValueError<br />
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.if(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
         at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
         at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)
         at au.com.esriau.dekho.crystal.Report.export(Report.java:135)
         at au.com.esriau.dekho.crystal.CrystalService.exportReport(CrystalService.java:37)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
         at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
         at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
         at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Unknown Source)
    Edited by: pjoyce on Jul 7, 2009 6:00 AM
    Edited by: pjoyce on Jul 7, 2009 8:36 AM

    We raised a support issue on this and was given a work around.
    With Crystal for Eclipse, you can no longer use "dynamically" generated sub report parameters, you must manually add the parameter to the sub report and apply a record level selection formula.
    Steps for the work around:
    1. Open the sub report and manually add a parameter field in the field explorer.  You can call it whatever you want, but make sure the data type is correct.  It should match the datatype that will be passed in by the main report.
    2. Click Report -> Selection formula -> Record
    3. Enter in a formula like this: {MYTABLE.ID} = {?subreportparam}
    4. Save and close
    5. Go back to the main report
    6. Right click the sub report -> Change sub report links
    7. Drag a report field into the fields to link list
    7. In sub report parameter field to use, select you're newly created parameter and click OK

  • Is it possible to programmatically replace a Sub Report in a crystal report

    We create crystal reports via the crystal report designer (not in any IDE) , and attach the reports directly to the database via stored procedures. Each report contains a page header and a page footer with patient demographic data. We distribute these reports to our customers and they may edit the templates and alter the page header and page footers specific to their needs.
    We are looking at using sub reports to build a "model" page header and page footer that would be inserted into each template at design time. What we would like to do is allow the customers to create their own sup reports to contain their custom page header / page footer and then programmatically replace the " model" sub reports with the custom sub reports. Please note that these sub reports would not contain any data access and would not be linked to the main report, rather the main report would assign the data that is displayed in the page header/page footer data to shared variables,  and the sub reports would use the shared variables as their data source to display the data.
    Is it possible to programmatically replace 1 sub report with another ? If so are there any code snippets to review -

    Yes it is. Submit your post to which ever SDK you are using into the Developer forums. But search the posts first and look in our samples. This is relatively easy to do.
    Thank you
    Don

  • Cross tab sub report with vertical page breaks

    Hi have a report which contains 3 sub reports - different views of similar data. The sub report is wide enough to cover two landscape pages across and they run down over two pages
    The first subreport on page one does expand across into the secon landscape page, but does not repeat the row labels, although the settings in both main & subreport cross tab are to repeat
    The secon & third sub reports which print on the escon vertical page do not expand across to display any data, so I get no page four.
    They all have exactly the same settings.
    Is there any easy way to resolve this?

    hi Julie,
    this is i believe the nature of cross-tabs inside of subreports...horizontal expansion within the subreports is not a supported feature.
    you mentioned that the data is similar but just different views...is the query that each subreport runs off of bringing in the same record set? if so, is it possible to move the cross-tabs into the main report?
    are you using crystal reports 2008? if so, does changing the page setup for the entire report to a huge size and then the pagination for each section to landscape help?
    jamie

  • How to activate a different sub-report for each row in the data set as main report page breaks on each row of data in the main dataset

    I am going to try asking this same question a different way as I have yet to find a working solution to my problem.  I have a main report and then 8 sub reports.  My main report has one data set and returns one row of data per account number.  One
    of the fields in the main data set is called AccountProf.  My main report displays one page per Account number and then calls a different sub report based on that account's AccountProf value.  The sub reports take in the account number as a parameter
    and get multiple rows of data to display that accounts usage formatted differntly for each AccountProf (hence the 8 different sub report.  
    So far I can figure out how to do everything but setting the visibility property of each sub-reports when I have multiple accounts.  If I use the following expression for the visibility property on each sub report, it makes all the applicable sub report
    for all the accounts requested visible at once:
    =IIF(Fields!AccountProf.Value= "USE_PLUS_DMD",False,True)
    *The value in bold USE_PLUS_DMD  is different for each sub report.
    Here is a look at what the main report look like:
    Here is the main reports data set:

    Hi JasonDWilson77,
    According to your description, there is a main report and 8 sub reports in the report, you want to set visibility of sub reports, if no value is passed to the parameter of sub report, the sub report will not be displayed. If that is the case, please refer
    to the following steps:
      1. Create a new parameter named NewAccountNumber, set its data type the same as @AccountNumber, select Allow multiple values, set Visibility to be hidden, then set all available values to default values.
      2. Right-click the first sub report and open Subreport Properties dialog box, click Parameters in left pane, set name to AccountNumber, then click (fx) button, type the expression like below:
    =Parameters! NewAccountNumber(0)
      3. Click Visibility in left pane, select Show or hide based on an expression, then click (fx) button and type the expression like below:
    =IIF(InStr(Join(Parameters! AccountNumber.Value), Parameters!NewAccountNumber.Value(0))>0 , false,true)
      4. Modify parameter of other sub reports like step2.
      5. Set visibility of other sub reports like step3.
    If you have any more questions, please feel free to ask.
    Thanks,
    Wendy Fu
    If you have any feedback on our support, please click
    here.
    Wendy Fu
    TechNet Community Support

  • Struggling with a one to many relationship in a sub-report

    Post Author: Scott_tansley
    CA Forum: General
    I have a database schema as per below: tblENQUIRY                 tblDatasheets                  tblReportParasIRSID (PK)       1 --> &  IRSID (FK)                       UID (PK)Attribute1                     SHEETID (PK)     1 > &  SHEETID (FK)Attribute2                     Attribute1                         LIST_ORDER                         tblStandardParasAttribute3                     Attribute2                         PARA_CODE (FK)    & < 1   CODE     (PK)etc...                            Attribute3                                                                     TEXT                                   etc...
    The PROBLEM I am a Crystal Reports Newbie, and having to work through things bit by bitu2026  I've managed to achieve quite a lot, but I'm totally stuck with this and would appreciate some help. I need to create a report (essentially a letter and some datasheets) around a one-to-many relationship, which I have managed to compile using a main report (for the one &#91;tblENQUIRY&#93;) and sub report (for the many &#91;tblDatasheets&#93;).  Essentially I need a covering letter, then the u2018manyu2019 datasheets, and then a number of other pages (which are largely static text). I have created a main report which includes the covering letter, holds a subreport for the datasheets, and then contains the text for the additional pages.  This all works fine, and I get the correct number of datasheets for each main report. My problem stems from the use of this sub report.  This sub-report needs to hold some attribute values for each datasheet, which is fine.  However, on each datasheet page I need to have some paragraphs, which are held in another one to many relationship.  Each datasheet may have up to six paragraphs held as a code in tblReportParas, with a relationship to the text as held in tblStandardParas. My original thought would have been to embed another sub report, containing the values from tblStandardParas!TEXT, into the first sub report.  However, I have found that it is not possible to have a sub-report inside another sub-report.  I had seperated the first sub-report out from the main report, and then embedded another sub-report into it.  This worked fine until I tried to stitch the sub-report back into the main report (at which point the sub-sub-report dissapeared from view). I have therefore reworked my sub-report a little, and the attribution is now stored in a pageheader, with the tblStandardParas!TEXT in a detail section below it.  This almost works! The only problem is that there is no relationship between the pageheader and detail sections.  To clarify, I would expect to have one datasheet, with the attribution at the top, and then the six paras below.  Then, the same on the next page (assuming there is a second datasheet) for that report.  Instead, I get the correct attribution, but the detail section actually gives every paragraph in the database, no matter which datasheet/or report it related to!  I therefore need to limit the detail section to only show those paragraphs where the SHEETID in tblReportParas is the same as the tblDatasheets SHEETID. Any offers of advice would be appreciated.

    Post Author: Scott_tansley
    CA Forum: General
    I managed to resolve this myself in the end.  I moves the tblEnquiry data into report header/footer sections, this allowed me to add the tblDatasheets information into the details section, which gave me multiple pages - and then finally, the Paragraphs were added through the use of a sub report. 
    There's probably an even better way, but for now it works, it's quick - and so I'm going to go with it!
    Thanks for your interest.

  • Multiple Columns in sub-report

    Post Author: Marcotte
    CA Forum: General
    I am creating an Inventory Disposition form.  At the top of the report, I want to list all of the Reason Codes the user may select.  There are currently 30 Reason Codes, but this could grow in the future.  Therefore, it is impractical to list all the the Reason Codes in one column.  I would like to list them in two columns at the top of my report (perhaps as a sub-report in the main Report Header).
    I know how to create a multi-column report via the Section Expert, however what I can't figure out is how to force it to start the second column after a pre-set number of records or inches.  Here's the layout of the report I'm looking for:
    What happens is that it lists all 30 records in the first column because it doesn't reach a page break.  How do I insert a page break into a report?
    There is a Reason Code Group field in the table which I can use to break the Codes into smaller groups (there are about 6 groups), if that helps.

    Post Author: Marcotte
    CA Forum: General
    Aha!  "Across Then Down", under the Layout Tab.

  • Parameter not passing from Report to Sub-report

    Hi all
    I am having an issue with a crystal report..Works great when I run it in Crystal reports...but when i import it into sap...i get the error:
    Cannot find parameter field Pm-Command.CardCode in subreport Discounts.
    its basically a statement report..with 2 sub-reports...To bring in paid invoice, and discounts(posted as journals)
    for both im bringing in the CardCode field.
    I checked afew threads on the forums..to check if "Reimport when Opening" is unticked
    Any Ideas
    Its Crystal 2011.
    SQL 2012
    SAP 9.0 PL 07
    Thank you
    Jerusha

    Yeah, you can check after re-importing the sub report.
    Are you sure that it works perfect in CR designer. If thats the case, then ideally it should work fine outside the designer as well.
    By any chance, had you used a similar report in the past from the version of SAP PL that is being used.? I suspect if things are fine in CR deisgner then this has to do something with the feature support in the SAP PL.
    Prathamesh

  • Linking of Main and Sub Reports

    Hi,
    We have a requirement to integrate all the crystal reports (say 10 nos) into one single main report for the statutory purpose as per the client requirement. Basically client would like to view all these ten reports in single file by export them into single PDF. These sub reports are also going to work as an individual reports independently and having their own prompts. The data source for these reports is SAP BEx queries.
    Please let me know best approach for integrating these reports, since user doesnu2019t want to
    pass the values for duplicate prompts. Please note there are common prompts (BEx variables) across these sub reports.
    I have done the PoC for linking single sub report using Xtreme data base and here are my results.
    1.      Create a Blank Main reports and create a Country Prompt.
    2.      Link the sub report with main report using this Country Prompt.
    3.      Link the sub report with main report prompt and edit the sub report selection formula with the main report prompt u2013 u201C{Customer.Country} = {?Pm-?Which Country?}u201D
    4.      While refreshing the report, it will refresh the sub report based on the main report prompt value and shows corresponding data.
    5.      This approach works for single report and gives the expected results and asks only single time prompt selection.
    Challenges On the above approach while implementing using BEx Queries as a data source are:
    u2022      We need to equate the SAP BEx characteristics to this prompt:
    Ex:       = {?Pm-?Which Country?}
    That means we should have set of BEx queries which doesnu2019t have variables. At run time filters will be assign based on the main report crystal reports prompts. Again there could be some mandatory prompts and optional prompts and multi values etc.
    Will it affect the performance of the Crystal report while you apply filters at report level instead of BEx query level?
    u2022      We donu2019t want to modify the individual sub reports selection formulas and queries for linking purpose.
    Please let me know youu2019re best solution approach for the above issue.
    Thanks in Advance
    Regards
    Som

    If I understand correctly the main issue a report running as a sub report being run as a main report.
    I have a solution.
    for each of the sub reports build a new main report
    ie if you have
    sub report 1
    sub report 2
    then youhave a master report that calls them
    you would build
    Main report 1 ( which ONLY calls sub report 1)

Maybe you are looking for