Hi Marek,
if you multiply two decimal values the CDS compiler infers a type for the result and, thus, the number of decimals of the two operants are simply added up. You therefore easily exceed the max number of 31 in this release.
If this fits to your application logic the cast to abap.fltp should solve the issue:
select from SEPM_I_Product
{
cast( Width as abap.fltp ) * cast( Depth as abap.fltp ) * cast( Height as abap.fltp ) as r
}
If this does cannot be activated, please give a specific example.
best regards
Andreas Grünhagen
PI Technology Core Platform