on 2024 Sep 10 2:09 PM - last edited 4 weeks ago
Dear community members,
I need to create a CDS view entity with a calculated filed as CURR / QUAN to get the per unit amount.
For Example: CDS VIEW ENTITY on BSEG which should have ( DMBTR(type CURR) / MENGE(type QUAN) ) AS UNIT_PRICE
Sounds like a very simple requirement but I am facing multiple issue with this.
To start with, I get below error message:
"Data type CURR is not supported at this position, see long text"
then I tried with casting CURR field as DEC(23.2), but then I got below error :
"Element <XXXXX> : missing CALC-reference annotation Semantics.quantity.unitOfMeasure"
it was surprising to see that it prompted to user UOM reference, instead of Currency reference, but nevertheless, I tried with the UoM reference, but then again a different error :
"<XXXXX>: Reference Field MEINS has a wrong data type"
then I tried to CAST the MEINS as abap.char(3) to use it as reference for calculated field, but then a different error this time, and this is really annoying this it didn't allow casting a text value into CHAR.
I also tried to google this error message and found some conversion function but then I get different errors:
1. Using function : GET_NUMERIC_VALUE
"Element DMBTR has an invalid reference field"
2. using function : CURR_TO_DECFLOAT_AMOUNT
"Element DMBTR has an invalid reference field"
I tried few more ways but none of them is working for me and I really wonder how can this be so challanging to achieve AMOUNT / QUANTITY in CDS VIEW ENTITY, which is a very basic arithmetic operation.
Same arithmetic calculation works perfectly well in ABAP code (as we have done that for decades), so now I am thinking to use Virtual elememt in CDS, but I want to achieve with the CDS approach first, without making use of ABAP layer.
Any tips to solve this ?
regards,
Bharat Bajaj
HI,
Could you please try with the below.
@Semantics.quantity.unitOfMeasure: 'rfccr'
CURR_TO_DECFLOAT_AMOUNT( bseg.dmbtr ) * GET_NUMERIC_VALUE( menge ) as dmbtr_per_menge.
Regards,
Pradeep.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
71 | |
11 | |
10 | |
10 | |
10 | |
8 | |
7 | |
7 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.