• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 492
  • Last Modified:

How would I share a subreport column value with another subreport on the main report?

I would like to share an integer column from a subreport with another subreport on the main report.  Is this possible in Crystal 10?
0
JeffDun
Asked:
JeffDun
  • 7
  • 7
1 Solution
 
peter57rCommented:
I think we need a bit more explanation of what you are trying to do.
You can add any column from the data source to a report.  If it's not in the data source then you may be able to use a formula field to create the required value.

Subreports and especially their placement might add further considerations to the process.

But we need more detail.
0
 
mlmccCommented:
WHen you say column are you meaning all the records in the column?

Basic idea is

Main report
    Subreport 1   in its own section
    Subreport 2 in a later section

In the main report you declare the SHARED variables.  I generally do it in the main report header.

WhilePrintingRecords;
Shared NumberVar TotalSub1;
""

In Sub1 you add a formula to set the value
WhilePrintingRecords;
Shared NumberVar TotalSub1;
TotalSub1 := Sum({Somefield});
""

In Sub2 you can display hte value or use it
WhilePrintingRecords;
Shared NumberVar TotalSub1;
TotalSub1 + Sum({FieldInSub})

mlmcc
0
 
JeffDunAuthor Commented:
Sorry, I was referring to one of the fields in my subreport.

Here is what I have:

Main Report
     Subreport 1   in its own section
     Subreport 2   in its own section

I have a field that is being dispalyed in the Subreport 1 that is needed to populate Subreport 2.  Initially, I tried to add Subreport 2 to Subreport 1 but I noticed that functionality was not supported.  So, I added Subreport 2 in its own section on the main report.  I just need to pass the field value from Subreport 1 as the input parameter to Subreport 2.
0
[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

 
mlmccCommented:
The method I outlined above will work

mlmcc
0
 
JeffDunAuthor Commented:
I tried using the formulas below in the Main and Subreport but shared value is not being returned on the Main report.  

Main Report
WhilePrintingRecords;
Shared NumberVar EmpID;
""


Subreport
WhilePrintingRecords;
Shared NumberVar EmpID := {usp_Get_Emp_Rpt;1.Emp_ID};

I placed the shared variable on the main report detail section to see if any value was being returned and nothing was displayed.

Not sure if it makes a difference but subreport1 is in report footer b.  The shared value from subreport 1 is needed in subreport 2 which is in report footer c.  I tried the formula in report footer c and the report header.
0
 
mlmccCommented:
What formula did you use in the report footer c?
It should be something like
WhilePrintingRecords;
Shared NumberVar EmpID;
EmpID


mlmcc
0
 
JeffDunAuthor Commented:
I tried the two below.

WhilePrintingRecords;
Shared NumberVar EmpID;
EmpID := EmpID;


WhilePrintingRecords;
Shared NumberVar EmpID;
EmpID

0.00 is being displayed in report footer c.  The formulas are in formula fields, is that correct?
0
 
mlmccCommented:
Does the subreport display anything?

mlmcc
0
 
JeffDunAuthor Commented:
Yes, the subreport and the main report now display the correct value.  However, the value inside is being displayed with two decimal places(45.00).  The second subreport on the main report is expecting 45 with no decimal places and is still not being displayed.

Also, is there a way to set the subreport parameter equal to the shared variable value?  I right clicked the subreport and clicked "Change subreport links" to set the parameter equal to the shared variable.  When I edit the subreport, I noticed that there are now two parameters.  The parameter that stored procedure is expecting and the shared variable I manually linked.  Is there anyway to remove the stored procedure parameter or set the stored procedure parameter equal to the shared variable value?
0
 
mlmccCommented:
WHen you set the link to the subreport you may be able to link to the stored procedure parameter.  Choose it from the list rather than using the one it suggests (?pm-value)

45.00 and 45 are the same unless you are passing it in as a string.

How did you use the shared variable in the second subreport?

mlmcc
0
 
JeffDunAuthor Commented:
I clicked Change subreport links, used the main report formula for "fields to link to", and used the stored procedure paramater name for "Subreport parameter field to use".  Nothing is being displayed in the report on the main page.  I don't think the formula value is being passed correctly.
I can get the formula value to display in report footer c but its not being passed as a parameter to the subreport
0
 
mlmccCommented:
Are you trying to pass the shared variable to the subreport as a parameter?

I don't think you can do that.

mlmcc
0
 
JeffDunAuthor Commented:
yes.  Is there another way to do this? The first subreport returns an ID that i need to use in the second subreport.
0
 
mlmccCommented:
When you say use, does that mean as a parameter to the subreport stored procedure?

What type is the parameter?

mlmcc
0
 
JeffDunAuthor Commented:
Yes, the shared variable is a parameter to the subreport stored procedure.

The type is integer.
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

  • 7
  • 7
Tackle projects and never again get stuck behind a technical roadblock.
Join Now