Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
Solved

# Crystal Reports Shared CurrencyVar breaks formula when passing negative number

Posted on 2014-01-24
Medium Priority
872 Views
I have multiple subreports passing shared numbervar and currencyvar...
The Billing Rate subreport's @Rate formula is the following:
if {@hours}>0
then ({Orders.OrderTotal}-({@materials}+{@misccost}))/{@hours}
else 100

@materials is a shared currencyvar
@misccost is a shared currencyvar
@hours is a shared numbervar

The subreport and formula work fine until @misccost is a negative number (from debit memo)...

Is there a method of formatting the @misccost shared currencyvar so that the negative will allow the @Rate value to be displayed? Or is something else breaking the formula?

See attached for reference.
Subreport.pdf
0
Question by:Lee Ingalls
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 3
• 3

LVL 101

Assisted Solution

mlmcc earned 1000 total points
ID: 39807790
The negative value is not (at least I don't think it is) breaking the formula.

Is the Order Amount NULL?

Try setting the Exceptions For NULL option to DEFAULT FOR NULL

mlmcc
0

LVL 9

Author Comment

ID: 39815383
Thanks mlmcc,

I set the "Exceptions For NULL option to DEFAULT FOR NULL" for the main and subreports; though it did not necessarily fixed the problem it did display 0.00 rather than nothing. That gave me an indication where to look. At that point I started breaking down each formula to see where they were failing.
0

LVL 101

Expert Comment

ID: 39815453
Are you able to fix the issues?

mlmcc
0

LVL 9

Accepted Solution

Lee Ingalls earned 0 total points
ID: 39815872
What ultimately fixed the report was rewriting the Main Report @Material Costs formula to include NULL handling.

@Material Costs
from:
Sum ({@Misc Costs})+({@poval})

to:
IF ISNULL ({@Misc Costs})
THEN {@POVal}
ELSE IF ISNULL ({@POVal})
THEN ({@Misc Costs})
ELSE ({@Misc Costs})+{@POVal}

Whenever @Misc Costs was 0.00 my Main Report formulas:
@Material Costs
@Total Costs
@Gross Profit
@Billing Rate
all displayed NULL. Once I handled the NULL's each dependent value was passed to the subsequent formula.

I wouldn't have been able to see this until your suggestion to check the Report Options "Exceptions For NULL option to DEFAULT FOR NULL". How do you suggest I award the solutions points?

Regards, BudELee
0

LVL 101

Expert Comment

ID: 39816149
ANy way you desire.  Since my suggestion helped you can select it as assisted solution with your comment as the solution.  I believe you can award partial points if you desire.

mlmcc
0

LVL 9

Author Closing Comment

ID: 39827473
mlmcc's suggestion, though not solving the problem directly lead to my being able to solve it.
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I hate sub reports and always consider them the last resort in any reporting solution.  The negative effect on performance and maintainability is just not worth the easy ride they give the report writer.  Nine times out of ten reporting requirements…
Hello everyone, Hope you find this as helpful as we did. We have on the company I work for an application built in Delphi V with Crystal Reports 8. We all know that Crystal & Delphi can be temperamental sometimes and the worst thing is, nearly…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
In this video, Percona Director of Solution Engineering Jon Tobin discusses the function and features of Percona Server for MongoDB. How Percona can help Percona can help you determine if Percona Server for MongoDB is the right solution for …
###### Suggested Courses
Course of the Month12 days, 1 hour left to enroll