Estes dias me deparei com um problema feio, um erro em uma request relacionado ao DDL, após algumas horas de buscas e estudos consegui encontrar um artigo na comunidade SAP.
A grande questão era que o problema era mais profundo e complexo do que eu imaginava, envolvia linguagem e o eclipse, então o problema foi repassado para o programador que desenvolveu a estrutura, mas aprendi muito.
Este é o artigo compilado da comunidade SAP sobre CDS View e DDL, aproveitem o conteúdo, os créditos estão ao final do artigo.
Após a evolução do SAP HANA, a tecnologia dentro do SAP está mudando rapidamente e houve uma mudança de paradigma na forma como os aplicativos de negócios são desenvolvidos na SAP.
A regra geral é simples: “Faça o máximo que puder no banco de dados para obter o melhor desempenho” .
Quando comecei a aprender sobre as visualizações do ABAP CDS alguns meses atrás, tive que pesquisar muitos blogs e páginas diferentes escritos por especialistas. Agora, pensei em apresentar uma série de blogs para iniciantes como eu que desejam aprender as visualizações do ABAP CDS.
Os modelos de dados são a base do desenvolvimento de aplicativos. Eles fornecem um método padronizado para definir e formatar o conteúdo do banco de dados de forma consistente entre os sistemas, permitindo que diferentes aplicativos compartilhem os mesmos dados — reduzindo custos de desenvolvimento, acelerando o tempo de lançamento no mercado e melhorando a qualidade e o desempenho.
Aqueles familiarizados com o desenvolvimento de aplicativos no mundo ABAP não são estranhos às ferramentas tradicionais de modelagem de dados incluídas no SAP NetWeaver Application Server (SAP NetWeaver AS) ABAP — em particular, o dicionário de dados ABAP (DDIC), que armazena definições de objetos, como tabelas e visualizações de banco de dados, que podem ser usadas em programas ABAP. E então veio o SAP HANA e o novo paradigma de empurrar a lógica de uso intensivo de dados para a camada de banco de dados.
O conceito de Virtual Data Model (VDM) foi introduzido com o HANA Live há alguns anos, SAP HANA Live é um modelo de dados virtual em cima de tabelas de suítes que usa visualizações nativas do SAP HANA SQL chamadas visualizações de cálculo para relatórios operacionais em tempo real.
Isso veio com alguns desafios:
Ele não suportava hierarquias corretamente. As hierarquias ajudam as empresas a analisar seus dados em uma estrutura de árvore por meio de diferentes camadas com capacidade de detalhamento. Por exemplo, uma hierarquia de tempo consiste em níveis como ano fiscal, trimestre fiscal, mês fiscal e assim por diante.
Modelos de dados de alta qualidade devem fornecer uma única definição e formato para os dados. Eles devem ser claros e inequívocos, reutilizáveis e flexíveis, até mesmo extensíveis.
Como os modelos de dados virtuais HANA Live foram definidos na camada de banco de dados HANA, isso levou à duplicação de funções de segurança entre o Business Suite para processamento transacional e o banco de dados HANA para relatórios operacionais.

Agora, algumas perguntas vêm à mente:
Então, como você pode capturar a semântica do modelo de dados no banco de dados para que o modelo possa ser facilmente reutilizado por diferentes consumidores, por exemplo, clientes OData e ferramentas OLAP?
Como você pode estender o metamodelo para atender seus aplicativos?
Impossível, você diz?
Talvez, se não tivéssemos Core Data Services (CDS) .
“Core Data Services para construir modelos de persistência de dados em tempo de design”
É uma infraestrutura que pode ser usada por desenvolvedores de banco de dados para criar o modelo de dados subjacente (persistente) que os serviços de aplicativo expõem aos clientes de interface do usuário.
Para aproveitar o SAP HANA para o desenvolvimento de aplicativos, a SAP introduziu uma nova infraestrutura de modelagem de dados conhecida como Core data services . Com o CDS, os modelos de dados são definidos e consumidos no servidor de banco de dados e não no servidor de aplicativos. O CDS também oferece recursos além das ferramentas tradicionais de modelagem de dados, incluindo suporte para modelagem conceitual e definições de relacionamento, funções integradas e extensões. Originalmente, o CDS estava disponível apenas no ambiente de tempo de design e tempo de execução do SAP HANA. Agora, o conceito CDS também está totalmente implementado em SAP NetWeaver AS ABAP, permitindo que os desenvolvedores trabalhem na camada ABAP com ferramentas de desenvolvimento ABAP enquanto a execução do código é enviada para o banco de dados.
O CDS simplifica e harmoniza a forma como você define e consome seus modelos de dados, independentemente da tecnologia de consumo. Tecnicamente, é um aprimoramento do SQL que fornece uma linguagem de definição de dados (DDL) para definir tabelas/visualizações de banco de dados semanticamente ricas (entidades CDS) e tipos definidos pelo usuário no banco de dados. Algumas melhorias incluem:
Expressões usadas para cálculos e consultas no modelo de dados
Associações em um nível conceitual, substituindo junções por expressões de caminho simples em consultas
Anotações para enriquecer os modelos de dados com metadados adicionais (específicos do domínio)
O CDS é suportado nativamente nas plataformas ABAP e HANA!
Na verdade, o CDS é (na minha opinião) o desenvolvimento SAP mais ambicioso e empolgante na área de modelagem de dados nos últimos anos. Você pode finalmente definir e consumir seus modelos de dados da mesma forma (sintaxe, comportamento, etc.) independentemente da plataforma de tecnologia SAP (ABAP ou HANA). A frase indesejada: “ Um modelo de dados para governar todos ” sempre vem à mente quando penso em CDS.

Além de um ótimo blog de Horst Keller , descreve os dois sabores diferentes de CDS.
Core Data Services – Um conceito, dois sabores
Depois de passar pelo blog acima, descobrimos que o CDS pode ser escrito em dois sabores diferentes e usa as técnicas de “ Code Pushdown ” introduzidas com o NW AS ABAP 7.4 SP5, onde a SAP adicionou uma nova possibilidade para os desenvolvedores ABAP aproveitarem os recursos do HANA . Na técnica de pushdown de código, todos os cálculos são realizados na camada de banco de dados em vez da camada de aplicação, o que resulta em recuperação rápida de dados, resultando em redução na execução da aplicação.

Visão geral da arquitetura
A arquitetura CDS se parece com algo como mostrado abaixo:
Camada de banco de dados – Essa camada pode ser configurada com a maioria dos BD populares como Oracle, SAP HANA, etc. No entanto, para obter o melhor resultado é recomendável ter o SAP HANA.
Camada de aplicação – Esta camada contém AS ABAP Backend e SAP Gateway, integrados usando chamadas RFC.
Camada de apresentação – esta camada contém a interface do usuário do SAP Fiori para expor os aplicativos para o usuário final.

Comentários
Postar um comentário