Hola,
En la definición original de CDS, el error de sintaxis es el siguiente:
Si pruebo con la sugerencia de Sandra, da otro error de sintaxis que es el siguiente:
El problema principal con este tema es el uso de alias con la condición "having". Encontré un ejemplo proporcionado por SAP que se ve así:
@AbapCatalog.sqlViewName: 'SALES_ORDER_VW'
define view sales_order as
select from snwd_so
inner join
snwd_bpa on buyer_guid = snwd_bpa.node_key
{ key bp_role as role, //p.ej. cliente o proveedor
count(distinct buyer_guid) as partners_count,
sum(snwd_so.gross_amount) as sum_gross_amount }
where snwd_so.currency_code = 'EUR'
group by bp_role
having sum(snwd_so.gross_amount) > 100000.00;
Si hago un pequeño cambio en este ejemplo reemplazando "sum(snwd_so.gross_amount)" con el alias "sum_gross_amount", reportaría el mismo error de sintaxis "Columna sum_gross_amount no es conocida".
@AbapCatalog.sqlViewName: 'SALES_ORDER_VW'
define view sales_order as
select from snwd_so
inner join
snwd_bpa on buyer_guid = snwd_bpa.node_key
{ key bp_role as role, //p.ej. cliente o proveedor
count(distinct buyer_guid) as partners_count,
sum(snwd_so.gross_amount) as sum_gross_amount }
where snwd_so.currency_code = 'EUR'
group by bp_role
having sum_gross_amount > 100000.00;