
Em uma parte anterior desta jornada de aprendizagem, você aprendeu que, com os enormes recursos de análise de dados do SAP HANA, é recomendável que você faça cálculos já no banco de dados sempre que possível. Você também aprendeu que o ABAP SQL oferece muitas expressões e funções integradas para esse fim.
A maioria dessas expressões e funções integradas também estão disponíveis em definições de visão CDS. Isso permite que você mova os cálculos complicados para uma definição de visão CDS e, em seguida, recupere os dados da visão CDS.
Vejamos um exemplo. Nesse código ABAP, a instrução ABAP SQL usa uma expressão aritmética para calcular o número de assentos livres em um voo, subtraindo o número de assentos ocupados do número total de assentos.

Neste exemplo seguinte, a expressão aritmética é deslocada para uma definição de visão CDS. O resultado do cálculo é visível para consumidores da visão como elemento de visão seats_free. O código ABAP lê o elemento de visão seats_free como qualquer outro elemento de visão.
Nota
Para o consumidor de uma visão CDS, não faz diferença se um elemento de visão for simplesmente uma projeção de um campo de tabela de banco de dados ou o resultado de um cálculo complicado.

Mover a lógica SQL do ABAP SQL para uma visão CDS tem várias vantagens:
- Encapsulamento
Como a lógica SQL está oculta na definição da visão CDS, as instruções ABAP SQL se tornam mais fáceis de ler.
- Reutilizar
Ao ler a partir da mesma visão CDS, você pode reutilizar facilmente a lógica SQL em outras aplicações. Em particular, você pode usar a lógica SQL nos frameworks que usam visões CDS, por exemplo, funções analíticas integradas, extratores de dados baseados em CDS para SAP BW, programação de aplicativos ABAP RESTful e muito mais.
- Semântica
Você pode adicionar semântica ao resultado do cálculo, atribuindo um nome significativo ao elemento e anotando-o com anotações de elemento.
- Regras de autorização
Você pode restringir o acesso aos dados calculados criando um controle de acesso CDS para a visão CDS.






