x
• Status: Solved
• Priority: Medium
• Security: Public
• Views: 159

# crystal reports hardcoding hell

I am trying to create a route driver settlement report in Crystal reports, but I am making a lot of formulas to try and get it working.  I was wondering if there was a way to maybe combine these formulas so it's not such a daunting task.

We have over 100 stockcodes that we sell.  Here are the formula names and formulas to just one stockcode in one section.

101CG - IF {PurchaseOrderDetail.ItemNo} = "101GSF" THEN  {@Extended}

101CR - WHILEPRINTINGRECORDS;
SHARED numbervar CASH101;
tonumber(CASH101 + Sum ({@101CG}));

101 - GROUP - IF {PurchaseOrderDetail.ItemNo} = "101GSF" THEN  {@Weight}

101 - REPORT - WHILEPRINTINGRECORDS;
SHARED numbervar GSF101;

IF (tonumber(GSF101) + tonumber(Sum ({@101 - GROUP}))) <> 0 THEN
"101GSF     " & tonumber(GSF101 + Sum ({@101 - GROUP}))

ELSE

"101GSF     "

CASHPO101 - SHARED numbervar CASHPO101;
shared numbervar CASH101;

CASHPO101 := tonumber(CASH101 + Sum ({@101CG}))

PO101 - SHARED numbervar PO101;
shared numbervar GSF101;

PO101 := tonumber(GSF101 + Sum ({@101GSF - GROUP}))

That is 6 different formulas  for 1 stockcode.  You can see how this can get out of hand.
Anyway to condense this, so when I make a new stockcode, it doesn't take forever to get it put in?
0
TomBalla
1 Solution

Commented:
Some general observations on the formulas
Do you have a subreport?
If not, then you don't need to use SHARED variables.  You can use GLOBAL variables.

Why the need for ToNumber?
There should be no need for it since the fields are numbers.

Depending on what these are calculating you may be able to change them and just use summaries.
The formulas seem to be calculating values and totals based on the ItemNo.

If there is a subreport then I think you may be stuck using the formulas you have.  WIth sureports to total the values returned requires 3 formulas in the main report.
Declare the shared variable
Calculate the total
Display the total

mlmcc
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.