Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

splitting the reports generated by CMC 1

Status
Not open for further replies.
Aug 27, 2003
428
US
I am Porting several reports to Crystal, that were originally generated using proprietary software. I am using Crystal Management Console to schedule my reports to run daily with events(file-based). The reports will be mailed daily to our users as either PDF or Excel.

Now, I will try to make my question as simple as possible.

There are certain reports that are run where there are one or more pages per recipient but the entire report contains the pages for all recipients. After all the reports are run there is a process that splits apart the output pages of the various reports and reassembles them in packages by recipient. This way each recipient only receives the output pages that are relevant to him/her. This is what I want to try to reproduce using Crystal if possible. I don’t want to implement it the same way. I only want to see if there is a way that I can create a set of output per recipient where that output spans multiple reports.

Is there a way in which I can split the pages of various reports generated in Crystal, reassemble them in packages
based on recipient? Hope my question is clear.

Also what are "Available Schedule Events" and
"Events to Trigger On Completion" meant for?
 
"Is there a way in which I can split the pages of various reports generated in Crystal, reassemble them in packages based on recipient?"

In a word...NO, you can't split an existing RPT file into it's parts for distribution - and the automated e-mail of PDF files is a one-to-one relationship (ie. one PDF report per e-mail).

You could run multiple "scheduled" reports in Crystal Enterprise with runtime parameters that split it by something like department.

EXAMPLE -

Job Number Report Name Parameter
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 Daily Sales "Store #456"
2 Daily Sales "Store #457"
3 Daily Sales "Store #458"
4 Daily Sales "Store #459"
5 Daily Sales "All Stores"

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


There are some 3rd part tools listed on Ken Hamady's site, that make managing schedules and parameters easier.


Hope it helps...
 
Thanks MJRBIM for your response. The site you mentioned did not have relevant information that I needed.

I am not sure if CMC(The Crystal Scheduler) can sort pages within a report to be distributed to select recipients.

Since all recipients belong to the same department, is there a way I can write a query in Crystal to sort by page? In that way would I have to create three separate reports that would run three instances and distribute only the select pages from the whole report based on e-mail recipient requirement.

If the report contain 20 pages: I need to apply the following on CMC

Pg 1-5 of the report is to delivered to e-mail recipient "A"
Pg 6-15 of the report to be delivered to "B"
Pg 16-20 of the to be delivered to "C"

Also, we have to keep in mind that the pages to be grouped might not have any particular order.

Thanks in advance and wish you all a Very Happy New Year!
junction123

as opposed to sending all three recipients the whole report.
 
Instead of focusing on the pages, try to focus on the selection criteria. What are the business rules that drive delivery to recipient A? Is there some value or combination of values that are specific to recipient A?

MJRBIM's suggestion is valid and is typically the way that you'd accomplish your goal. If you can identify the criteria specific to each recipient, then you can create parameters and record selection criteria that will allow you to schedule multiple instances of a report, where each report instance is specific to one or more recipients based on the parameters selected.
 
I agree with what was said, with the exception of how to cheat this:

You could use a formula to hide all pages that are not within the page numbers desired.

Then you could pass a range parameter which states the page numbers to suppress, allowing for a single report code base, scheduled 3 different times to the users, also allowing for future changes to the amount of pages going to each person and the amount of people involved.

The better solution would be to identify why these pages go to specific users, but failing that, cheat it...

-k
 
Hmmm...Very Interesting indeed.

I guess I can apply synapsevampire's approach then?

There is no specific business reason except that the business user wants to receive the pages that are specifically required by him/her. Please see below my explanation in detail:


************************************************************
Currently in the old system(proprietary software) there are certain reports that are run where there are one or more pages per recipient but the entire report contains the pages for all recipients. After all the reports are run there is a process that splits apart the output pages of the various reports and reassembles them in packages by recipient. This way each recipient only receives the output pages that are relevant to him/her. This is what I want to try to reproduce. I don’t want to implement it the same way. I only want to see if there is a way that we can create a set of output per recipient where that output spans multiple reports.

***********************************************************
Thanks
junction123
 
junction123 says "there is no specific business reason" and "pages that are relevant." In this situation, "business reason" and "relevant" are presumably synonymous. Otherwise, the page packaging is random.

So when rhinok says to consider the "business rules," he means consider what makes a given page "relevant" to a particular user.

Hope that helps!
 
You'll need a conditional suppression of each section based on some value, either hardcoded or as a parameter.

Since you haven't heard a nay from anyone, that generally means that their either trying it, or don't know what I mean.

Seems simple enough to me, an identical suppression formula in every section.

Another approach might be to create a table which could serve to filter data, and join it accordingly, might be more trouble than it's worth going forward though.

-k
 
Thanks for all your valuable responses! Appreciate it!

OK... If I have a user "A" needs some pages from the output of each of the reports below that have already been run on Crystal:

Ptech (pages 3, 5 and 7)
AbsRetTransactions (pages 2 and 4)
AdvVal (pages 7, 10, 15)
PossiblePending(8, 12, 16)

Can I create a new Report "ForUserA" meant to contain the specific pages from the above run reports? Here the parameters can be the "report name" and "page number"?

I can then schedule the report "ForUserA" on the CMC scheduler to be e-mailed to the user.

Synapsevampire, do I still use the conditional suppression for each section of the above 4 reports in the new report "ForUserA" ?

Thanks again!
junction123
 
Also, Can I implment the above by creating a Parent Report which will link to 4 of the subreports based on the two parameters : "report name" and "page number"?

Thanks!
junction123
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top