Skip to main content

Dados das condições de preços através de CDS personalizados

O cliente é uma empresa multinacional de tecnologias da informação que fornece produtos e serviços orientados para o centro de dados, tais como servidores, armazenamento empresarial, redes e software empresarial.

 

 

Antecedentes do projeto

O objetivo do projeto era mover os relatórios BW clássicos existentes que mostram dados quase em tempo real para relatórios de dados em tempo real utilizando as capacidades incorporadas SLT e BW4HANA. Esta é uma das melhores abordagens para usar o BW Query e o provedor composto (objetos BW4HANA), pois o shell BW adicionará flexibilidade para fazer mais coisas.

Com os sistemas BW clássicos, as empresas precisam de esperar pelo menos meio dia para que os relatórios BW sejam atualizados. No entanto, o SLT com as capacidades do sistema BW4HANA, os dados são atualizados assim que os dados entram nos sistemas transacionais e ficam disponíveis para relatórios. Desta forma, apoia os seus utilizadores de negócio de Finanças, Gestão de Encomendas e Entrega a tomar as suas decisões táticas numa base diária

businessman hand working with new modern computer and business strategy as concept; Shutterstock ID 276609200

PRCD_ELEMENTS é uma tabela transparente de preços e condições standard na aplicação SAP SD, que armazena dados de elementos de preço. Dois relatórios BW4 pararam de funcionar porque a replicação da tabela SLT PRCD_ELEMENTS estava a causar problemas de desempenho na produção S4. Isso ocorreu principalmente porque o SAP gera uma tabela de registro para cada replicação da tabela SLT e o tamanho da tabela de registro (~200 GB) gerada estava consumindo mais memória do sistema (problema de despejo de memória). Uma vez que PRCD_ELEMENTS é a única tabela de condições de determinação de preços no S4, era necessário encontrar uma solução alternativa.

  1. Os CDS - Core Data Services são modelos de dados virtuais do SAP HANA que permitem o acesso direto às tabelas subjacentes da base de dados HANA. As visualizações do SAP CDS têm como objetivo enviar a lógica do servidor de aplicações para o lado do cliente e para a base de dados
  2. Objeto de informação - A menor unidade no SAP BW. Os objetos de informação são utilizados para armazenar dados mestre (algo que não se altera frequentemente)
  3. Visualização de cálculo HANA - Objectos de dados virtuais que o ajudam a criar uma visualização de informações na própria base de dados. Ajuda a calcular dados em tempo real para reduzir as fases de descarregamento e recarregamento a zero quando se trata de alterações relacionadas com o negócio na preparação de dados ou extensão/redução num modelo de dados. Também mantém os seus custos operacionais para SAP HANA a um nível mínimo, porque menos dados numa base de dados SAP HANA significam menos despesas de licenciamento. Além disso, o aspeto virtual desse modelo garante que não haja dados redundantes em vários locais no BW
  4. Fornecedor Composto / HCPR - Objeto de dados Virtual BW que o ajuda a unir ou juntar mais do que um fornecedor de informação (sobre o qual pode criar relatórios) para conceber cenários empresariais complexos. Um Composite Provider é um Info Provider que combina dados de vários índices analíticos ou de outros Info Providers (por Join ou Union) e disponibiliza esses dados para relatórios e análises. As operações UNION e JOIN são executadas em HANA e não no servidor de aplicações, aumentando assim a eficiência do modelo e o tempo de execução mais rápido
  5. BW Query - Consulta baseada no BW4HANA para criar modelos de dados ou consultas
  6. SLT - SAP Landscape Transformation é um método de replicação de dados baseado em gatilhos em sistemas HANA em tempo real
  7. ADSO - Advanced Data Store Objects é o principal objeto persistente utilizado na modelação de dados
  8. AFO - O SAP Analysis for Office, vulgarmente conhecido como AFO, é um suplemento do Excel (ferramenta de criação de relatórios) que o ajuda a analisar dados e a tomar decisões
  1. Configuração SLT entre os sistemas S4 e B4 para que tenhamos dados em direto assim que são atualizados no sistema de origem
  2. Modelos como o Calculation View, Composite Provider e BW Query, anteriormente conhecido como Bex Query
  3. Ferramenta de Analysis for Office para fins de elaboração de relatórios
  4. Requisitos mínimos do sistema: SLT - SAP 7.3 SP 10, HCPR - SAP 7.4 SP 5, BW Query - SAP 7.4 SP 9, BW4HANA Info objects - SAP BW 7.5 SP 0, CDS Views - SAP 7.4 SP05
  5. Criação de fluxos de dados (sistema de origem, fonte de dados, transformação, destino de dados) no BW4HANA

Processo em S4

  1. As visualizações CDS são criadas no S4HANA - Criou 2 CDS personalizados para o fluxo de Vendas (VBAK) e Faturação (VBRK) juntando a tabela de Condições de Preços (PRCD_ELEMENTS)
  2. As visualizações CDS são expostas aos sistemas BW4HANA através de RFC - Fluxos de dados de CDS personalizados em S4 para B4 através de chamada RFC (fluxo de dados B4: Fonte de dados -> Transformação / DTP -> ADSO -> PC)

Processo em B4

  1. As vistas de cálculo geradas através do objeto B4 (ADSO) são expostas aos nossos modelos HANA
  2. Os modelos HANA são então expostos ao fornecedor composto para limpeza e transformação adicionais
  3. A BW Query é então criada em cima do Composite Provider. O AFO é usado como ferramenta de relatório

Objectos criados nos sistemas S4 e B4:

Sistema

Tipo de objeto

S4

CDS View (Vendas / Faturação)

B4

Fonte de dados (Vendas / Faturação)

B4

Transformação / DTP (Vendas / Faturação)

B4

ADSO (Vendas / Faturação)

B4

Cadeia de processos

Opções disponíveis

Existe uma visão CDS standard fornecida pelo SAP no S4 para obter dados da tabela PRCD ELEMENTS. Podemos usar essa visão CDS padrão para enviar dados para B4 através de SLT ou processo de fluxo de dados

Prós:

  • Poupe tempo na conceção
  • Replique e esteja pronto a utilizar

Contras: Tivemos problemas de B4 e SLT relacionados com esta opção, que são os seguintes

Edição B4

  • Será extraída uma grande quantidade de dados devido aos 115 campos do CDS (~5,2 mil registos)

Questão SLT

  • A tabela de registo gerada através da replicação seria demasiado grande para que os sistemas S4 tivessem problemas de desempenho (~200 GB)
  • A versão inferior não suporta a replicação direta da vista CDS (Versão atual: SAP S/4HANA 1610, versão mínima: SAP S/4 HANA 1905). No entanto, a atualização de versão não era uma opção naquele momento

Podemos replicar vistas CDS (Standard / Custom) diretamente através do processo SLT. Uma vez que a versão atual não suporta a replicação de vistas CDS diretamente devido à versão inferior do SLT (Versão atual: SAP S/4HANA 1610, versão mínima: SAP S/4 HANA 1905), a atualização da versão não era uma opção

Prós: Processo mais rápido, uma vez que só precisamos de replicar as vistas CDS

Contras: Processo mais dispendioso e moroso para atualizar o SLT

Criámos CDS personalizados no sistema S4 para o fluxo de vendas e faturação, juntando PRCD_ELEMENTS às tabelas VBAK e VBRK, juntamente com campos específicos do projeto e valores de filtro. Essas visualizações CDS são então expostas ao sistema B4 através de RFC. As visualizações geradas através do objeto BW são então consumidas nos modelos HANA.

De entre as opções disponíveis, a opção 3 foi escolhida para implementação pelas razões que se seguem:

Prós:

  • Menor quantidade de dados entre todos os 3 processos devido ao menor número de campos juntamente com filtros como o ano fiscal, tipos de condições, tipos de faturação, tipo de documento de vendas, etc.
  • Menos armazenamento
  • A atividade de limpeza pode ser realizada em B4, eliminando os dados relativos a determinados anos
  • Automatização de dados através da cadeia de processos (a empresa pode decidir o número de tempos de execução)

Contras: A disponibilidade dos dados é quase em tempo real

Visão geral da solução

As visualizações CDS são implementadas no sistema S4. Criámos dois CDS personalizados, um para as vendas e outro para o fluxo de faturação. Quando a vista CDS está pronta, é exposta ao B4 através de uma ligação RFC. As fontes de dados são criadas no sistema B4 para obter os dados do CDS. São criadas transformações / DTP para enviar os dados das fontes de dados para o ADSO.

As visualizações de cálculo e o provedor composto nos ajudam a implementar a modelagem mista no BW4HANA, onde um modelo do HANA nativo (visualizações de cálculo) é exposto ao objeto BW (provedor composto).

As vistas de cálculo ajudam a implementar a lógica diretamente na camada de base de dados, reduzindo assim o tempo de execução ao eliminar a necessidade de enviar os dados para a camada de aplicação. Ajuda a calcular os dados em tempo real para reduzir as fases de descarregamento e re-carregamento a zero quando se trata de alterações relacionadas com o negócio na preparação de dados ou extensão/redução num modelo de dados. Ao contrário dos sistemas BW clássicos, não há necessidade de limpar as filas delta sempre que há uma alteração na lógica, o que facilita tempos de inatividade zero durante a entrada em funcionamento.

O Composite Provider ajuda-nos a combinar dados de vários índices analíticos (vistas de cálculo no nosso cenário) ou de outros Info Providers (por Join ou Union - objectos de informação no nosso cenário) e disponibiliza estes dados para relatórios e análises. As operações UNION e JOIN são executadas em HANA e não no servidor de aplicações. O CP também nos ajuda a implementar uma lógica complexa, como a exibição de chave e texto para o campo, atributos do objeto de informação.

  1. No ambiente do Cliente, o relatório BW4 deve ser executado usando a ferramenta AFO
  2. Introduza as seleções do utilizador quando lhe for pedido, o que nos ajudará a impedir que os dados sejam retirados do sistema S4
  3. Os dados introduzidos através das Seleções do Utilizador seriam então percorridos na ordem inversa de Query -> CP -> CV
  4. Os dados são então recolhidos com base na lógica implementada no CV. São ainda restringidos com base na lógica implementada em CP e Query
  5. Quando os dados são enviados utilizando a abordagem convencional (CV -> CP-> Query), demora muito tempo a procurar dados relevantes, uma vez que é aplicado o algoritmo de pesquisa linear e o campo de ajuda de valor executa a lógica implementada de cada vez para obter uma lista de valores
  6. Quando os campos CP são associados a objetos info, um valor inteiro é atribuído a cada valor de dados mestre em um objeto info. Deste modo, o acesso à ajuda para pesquisa de valores é muito mais rápido
  7. Se os dados forem carregados pela primeira vez ou se forem carregados novos dados, são gerados valores SID para todos os dados recém-criados que atravessam o objeto Info
  1. Menor quantidade de dados. ~1000 registos contra 5,2 B registos
  2. Menor manutenção - Neste fluxo existe uma opção para realizar actividades de House Keeping e o carregamento de dados pode ser controlado através da cadeia de processos
  3. Uma menor quantidade de dados significa uma menor quantidade de armazenamento. ~15 MB de armazenamento vs 189 GB de armazenamento
  4. A automatização dos dados pode ser controlada de acordo com os requisitos da empresa através da cadeia de processos
  5. Funcionalidade dinâmica para controlar o filtro da vista CDS personalizada através da tabela TVARVC
  6. Apenas foram selecionados campos específicos do projeto

Processo

Número de registos com ou sem CDS personalizado

Consumo de memória

Número de registos com CDS personalizados

Consumo de memória

% de redução de registos

% de redução de memória

Vendas

5.2 B

189 GB

1150

15 MB

99%

99%

Faturação

5.2 B

189 GB

1800

15 MB

99%

99%

  1. Ao implementar esta solução, reduzimos em 99% a quantidade de dados obtidos através do processo SLT em comparação com os dados condicionados através de CDS personalizados
  2. Manutenção reduzida do utilizador - Este fluxo não só ajudaria a equipa de apoio com a atividade de manutenção, mas também os utilizadores empresariais ajudariam a atualizar os dados a qualquer momento através da cadeia de processos
  3. Menor armazenamento em B4 devido ao menor volume de dados.
  4. Experiência de utilizador melhorada
  5. Desempenho melhorado na execução de processos complexos e de grandes volumes de dados
  6. Utilize o CDS personalizado sempre que a replicação padrão do SAP CDS ou SLT não for suficiente para obter melhores resultados de desempenho

Patrocinadores:

Autores: