Skip to Content

BPC RUN_ALLOCATION on HANA : differences

When executing an allocation through logic script using the RUN_ALLOCATION keyword, the system generates a stored procedure to calculate the result. While the performance is very good , the result is not exactly correct (compared to the calculation done in Excel). I am talking about a very small difference, but because my customer is counting in thousands, they are complaining about the difference.

A solution is to make the allocation run on the ABAP stack (adding the keyword *ACCELERATOR = OFF) , but then we lose the advantage of the performance. I have two main questions on this topic :

1. Whey is there a difference when the allocation is executed as a stored procedure on HANA ?

2. Is there a way ( a setting, parameter ?) to overcome this ?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Dec 19, 2016 at 03:28 PM

    Can you provide clear test results?

    I suspect that the difference is due to different calculation precision!

    For classic ABAP BPC ALLOCATION the calculation are performed with rounding on the 7th decimal digit.

    For Excel - on the 14th decimal digit in best case

    Add comment
    10|10000 characters needed characters exceeded

  • Dec 19, 2016 at 03:55 PM

    I don't need Excel to show the difference. The difference exists between two identical allocation runs,

    one with the keyword *ACCELERATOR = OFF and the other without the keyword. When you have

    for example a total of 32989,83539 that should be allocated, the result of the allocation will

    add up to 32989,81352 . This is off course no significant differrence, but it matters when you have

    to explain this to a customer , especially when they store numbers in thousands or millions.

    Add comment
    10|10000 characters needed characters exceeded

    • I don't think that you can do anything with it...

      Both allocations are precise to some point (hana or abap). If you use different USING/TOTAL you will see different results for different allocation methods... And the result will never be exactly as the total (only in some trivial cases).