on 2014 May 16 8:30 PM
Hi
Building a formula which works as expected with the commented code. When I uncomment, I was getting an error that highlights the else line at the bottom (NewBOM := "";) with a message that says "a boolean is expected here". After playing around with semicolons and brackets, the error now says "a number is required".
Keener, less bleary eyes might see what I'm doing wrong. I hope so.
Thanks!
whileprintingrecords;
global numbervar CurrInv; global numbervar CurrPOS; global numbervar CurrBOM;
global numbervar PrevInv; global numbervar PrevPOS; global numbervar PrevBOM;
global stringvar NewInv; global stringvar NewPOS; global stringvar NewBOM;
global stringvar CommTypePOS; global stringvar CommTypeInv;
global numbervar CommRatePOS; global numbervar CommRateInv;
if isnull({Commission.AROBP_A_IDINVC}) then CurrInv := 0 else CurrInv := {Commission.AROBP_A_IDINVC};
if isnull({Commission.POS_POS_NR}) then CurrPOS := 0 else CurrPOS := {Commission.POS_POS_NR};
if isnull({Commission.STKL_BOM_ID}) then CurrBOM := 0 else CurrBOM := {Commission.STKL_BOM_ID};
if CurrInv <> PrevInv
then (NewInv := "I";)
else (NewInv := "";);
if CurrInv <> PrevInv or CurrPOS <> PrevPOS
then (NewPOS := "P";)
else (NewPOS := "";);
if CurrInv <> PrevInv or CurrPOS <> PrevPOS or CurrBOM <> PrevBOM
then (NewBOM := "B";
(if {@Flag_STKL_Alice}
then (CommTypePOS := "";
CommTypeInv := "ALI";
// (if ({Commission.ARSAP_NAMEEMPL} = 'Bernard Ruhl'
// or {Commission.ARSAP_NAMEEMPL} = 'MB Building Products'
// or {Commission.ARSAP_NAMEEMPL} = 'Carlan Group'
// or {Commission.ARSAP_NAMEEMPL} = 'Gerald Fornell')
// then (CommRateInv := 10;)
// );
);
);
)
PrevInv := CurrInv; PrevPOS := CurrPOS; PrevBOM := CurrBOM;
Request clarification before answering.
I would change the variable declarations to initialize the string vars to empty strings so that you don't have to do an "Else". Something like this:
global numbervar CurrInv; global numbervar CurrPOS; global numbervar CurrBOM;
global numbervar PrevInv; global numbervar PrevPOS; global numbervar PrevBOM;
global stringvar NewInv := "";
global stringvar NewPOS := "";
global numbervar CommRatePOS; global numbervar CommRateInv;
global stringvar NewBOM := "";
global stringvar CommTypePOS := "";
global stringvar CommTypeInv := "";
As for the error - is a particular line highlighted when you get it? Your formula looks ok so there may be a data type mismatch between a field and the variable you're assigning it to. Without knowing your data, I can't tell you which one, though.
-Dell
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 9 | |
| 6 | |
| 4 | |
| 4 | |
| 3 | |
| 3 | |
| 3 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.