Funções da Tabela SAP HANA
Recentemente conversei com vários desenvolvedores que trabalham no sistema nativo da SAP HANA para o desenvolvimento de relatórios. O que realmente me surpreendeu foi o fato de que a maioria deles ainda está utilizando visualizações de cálculo do tipo SQL Script em vez de Funções de Tabela. Além disso, alguns nem sabiam que esse tipo de visualização está obsoleto e foi substituído por Funções de Tabela. Também não encontrei nenhum tutorial passo a passo que descreva quando criar Funções de Tabela, como fazê-lo, quais são os benefícios e como consumi-las nas visualizações de cálculo.
Isso me inspirou a escrever um artigo sobre as Funções de Tabela e compartilhar minha experiência sobre esse tema.
O que são as Funções de Tabela?
Desde o SP11, as visualizações de cálculo do tipo SQL Script estão obsoletas. Como alternativa, a SAP introduziu um novo artefato de desenvolvimento chamado Função de Tabela. O HANA fornece uma ferramenta de migração que permite a conversão automática de uma Visualização de Cálculo baseada em script em uma Função de Tabela.
As funções de tabela são usadas sempre que as visualizações gráficas não são suficientes, ou seja, para loops, execução de funções personalizadas ou consultas complexas.
Quais são os Prós e os Contras de usar Funções de Tabela?
Prós:
-
O SQL Script oferece muito mais funcionalidade e flexibilidade (mais funções disponíveis, a lógica complexa pode ser implementada de forma mais simples, o SQL pode ser combinado com a Biblioteca de Funções de Aplicação - AFL que fornece ainda mais funções para análises complexas)
Contras:
-
A manutenção é muito mais difícil (preservar a ordem e os tipos de dados das colunas de saída; a visualização de dados para parte do código não é tão direta em comparação com a visualização de nós nas visualizações gráficas; ao alterar a saída, tanto a Função de Tabela quanto a visualização que a utiliza devem ser ajustadas; etc.)
-
Os parâmetros de entrada de múltiplos valores não são compatíveis (não há uma forma simples de passar múltiplos valores para um único parâmetro de entrada para a Função de Tabela, no entanto, há uma solução alternativa para isso)
-
Por definição, as visualizações gráficas oferecem melhor desempenho graças ao otimizador do HANA
-
Não há GUI disponível: é necessário conhecimento do SQL Script
Em geral, as Funções de Tabela devem ser usadas caso a lógica não possa ser coberta por uma visualização gráfica ou se a lógica for muito complexa para ser modelada graficamente.
...