Amount Rounding Precision problem after upgrade.

Hi, I have upgraded a TEST GB2.60 database to GB3.70. I am now unable to post a purchase order (Receive&Invoice), because of error… “The value of ROUND parameter 2 is outside the permitted range. The current Value is: 0. The permitted range is from: 1 to 214748647” I have traced this to the following code CODEUNIT: Item. Jnl Post Line FUNCTION: CalcPosShare(DirCost,OvhdCost,PurchVar,DirCostACY,OvhdCostACY,PurchVarACY,CalcUnitCost,CalcPurchVar,Expected) LINE: ROUND(CostCalcMgt.CalcOvhdCost(Amount,“Indirect Cost %”,“Overhead Rate”,“Invoiced Quantity”),GLSetup.“Amount Rounding Precision”); but I cannot change the contents of the GLSetup.“Amount Rounding Precision” field because there are already posted entries. Incidentally, this problem would have also arisen elsewhere [Table 39, Update Unit Cost(), LINE: DiscountAmountPerQty:=ROUND((“Line Discount Amount” + “Inv. Discount Amount”) / Quantity, GLSetup.“Unit-Amount Rounding Precision”);] if I had not been forced to enter a value in the “Unit-Amount Rounding Precision” file DURING the upgrade. My qustion is this, should the upgrade have forced me to enter a value in the “Amount Rounding Precision” field, even though there are posted entries? In other words is this a fault with the upgrade code, if so it is a serious problem. Any help is greatly appreciated as always![:)]

It is a minor problem in the upgrade kit since Version 3. [xx(] You just have to update this field manually without running the validation. In Canada/US, we use 0.01…I would assume that you want the same.

Thanks Chris, I will use your suggestion and continue testing. The only thing that worries me slightly is that having done some searches on this forum and read references to “Amount Rounding Precision” and how it should not be changed, or that precision can be increased but should not be decreased. However, I have not found anything definitive, or any clear explanation of the implications of altering this precision after there have been G/L entries posted.

It should not be changed, if all your G/L entries were rounded to 0.01, then setting it to 0.01 is not changing it (technically). Setting it to 0.001 would be changing it (not recommended).

This problem only occurs when your uppgrading…because the Codeunit Company-Initialize doesn’t run when you have an existing company in the database. Check “Amount Rounding Precision” in your 2.60 database and set the same in your 3.70-Gl-setup. Finally Chris is right you shouldn’t change rounding precision to 0.00001 if you had 0.01 in your previous version.

The problem was that (dare I admit it) I wasn’t aware of the “Amount rounding precision” figure prior to these problems, so it was zero in the “old” database and this never caused any problems! So why when there was no problem with this field being zero in 2.60 it suddenly is in 3.70, and the upgrage does not handle this. I have just read the section (CH1.6 GL manual NF2.60) on “Setting up rounding rules” and it states “Fill in the Amount Rounding Precision, Unit Roinding Precision,…blah, blah” and goes on to say (The first two are not included in the standard layout, but they can be inserted with design facilities). Forgive me for saying so, but how crap (can I say crap live on air?)is that! There are fields which really SHOULD be filled in, but you still have to add them with design facilities. Is this deliberately design to trip people up? I suspect written by the same person that designs the NCR tests[;)]! The comments for “Amount Rounding Precision” then go on to say that as a default this field contains 0.01, and (Anders) you are quite correct about initialization, I have just created a new company (in a database that already contains a company), it has been initialised with zero in both the “Amount Rounding precision” and the “Unit-Amount Rounding Precision”. I suspect this is what has happended originally, the customer’s company was created in a databse that contained CRONUS! Are there any other important steps that may have been missed by the initialisation? Ok I have had my rant[xx(][:(!][xx(] !! So what are the implications of changing the rounding from zero to 0.01, might I have problems applying payment to invoices as desicrbed in another topic on this subject?