Criação de CDS View (VDM) e Publicação de Serviço OData na Tachyonix.io

1. Objetivo

Esta funcionalidade demonstra como criar uma View de Modelo de Dados (VDM) no ambiente Tachyonix.io, especializando uma fonte de dados SAP existente (CDS View padrão ou tabela ABAP), aplicando filtros dinâmicos (usuário corrente e range de datas), e subsequentemente publicar esta VDM como um serviço OData. O objetivo é fornecer dados de pedidos de compra (Purchase Orders) relevantes para o usuário logado e com vencimento nos próximos 15 dias, de forma rápida e sem codificação manual em ABAP.

2. Pré-requisitos

Autorizações SAP:

  • Acesso para criação e ativação de objetos de desenvolvimento ABAP (pacote, request de transporte).
  • Autorização para acessar e consultar as tabelas ou CDS Views de pedidos de compra (EKKO, EKPO, I_PurchaseOrder, etc.).

Configuração na Tachyonix:

  • Acesso à plataforma Tachyonix.io com credenciais válidas.
  • Conexão configurada e funcional com um sistema SAP ABAP.

Dados de Exemplo:

Existência de pedidos de compra no sistema SAP que se enquadrem nos critérios de filtro (usuário corrente como criador/responsável e data de vencimento nos próximos 15 dias).

3. Passo a Passo Detalhado

3.1 Criação da CDS View (VDM) Especializada

Acessar a funcionalidade de criação de VDM: Na plataforma Tachyonix.io, navegue até a seção de criação de consultas ou modelos de dados.

Definir nome e descrição da VDM:

  • No campo "Nome da VDM", insira um identificador único e descritivo, por exemplo, Z_VDM_PO_15DIAS.
  • No campo "Descrição", forneça uma breve explicação da finalidade da VDM, por exemplo, "VDM dos pedidos de compra para os próximos 15 dias".

Atribuir Pacote ABAP: Selecione um pacote ABAP existente no sistema SAP de destino (ex: ZTACHYONIX). Este pacote será utilizado para o deploy dos objetos gerados.

Atribuir Request de Workbench: Selecione uma Request de Workbench apropriada para o transporte dos objetos de desenvolvimento.

Atribuir Request de Customizing: Selecione uma Request de Customizing, se aplicável, para o transporte de configurações.

Selecionar a Fonte de Dados Principal

No campo de seleção da fonte de dados, pesquise por "Purchase Order".

Selecione a CDS View padrão I_PurchaseOrder (ou uma tabela como EKKO / EKPO, dependendo do requisito e da disponibilidade). A I_PurchaseOrder é preferível por já ser uma CDS View com associações e semânticas ricas.

Aplicar Filtro por Usuário Corrente

Na seção de filtros, localize o campo correspondente ao usuário responsável ou criador do pedido (ex: CreatedByUser ou PurchasingResponsible).

Selecione este campo e configure o operador de comparação para "Igual a" (EQ).

Como valor, selecione a opção "Usuário Corrente" para que o filtro seja dinamicamente aplicado ao usuário logado na execução.

Aplicar Filtro por Período de Vencimento (15 Dias)

Na seção de filtros, localize o campo que representa a data de validade ou vencimento do pedido (ex: ValidityEndDate).

Selecione este campo e configure o operador de comparação para "Entre" (BETWEEN).

  • Para o primeiro valor, insira a anotação ABAP para a data atual: SY-DATUM.
  • Para o segundo valor, insira a anotação ABAP para a data atual acrescida de 15 dias: SY-DATUM + 15.

Selecionar Campos para Exibição

Na seção de seleção de campos, marque os campos que deseja incluir na sua VDM. Exemplos incluem:

  • PurchaseOrder (Número do Pedido)
  • PurchaseOrderType (Tipo de Documento)
  • OverallStatus (Status Geral)
  • CreationDate (Data de Criação)
  • PurchaseOrderDate (Data do Pedido)
  • CompanyCode (Empresa)
  • PurchasingOrganization (Organização de Compras)
  • PurchasingGroup (Grupo de Compras)
  • Supplier (Fornecedor)
  • ValidityEndDate (Data de Fim de Validade)

Finalizar Criação da VDM: Clique no botão "Criar" para gerar a CDS View no sistema SAP. A plataforma Tachyonix.io irá gerar e ativar os objetos ABAP necessários (CDS View e artefatos associados) automaticamente.

3.2 Validação da CDS View Criada (Opcional, via Eclipse/ADTs)

Acessar o Ambiente de Desenvolvimento ABAP (Eclipse/ADTs): Abra o Eclipse com as ABAP Development Tools (ADTs) e conecte-se ao sistema SAP onde a VDM foi criada.

Localizar a CDS View: Utilize a ferramenta de pesquisa de objetos (Ctrl+Shift+A) para encontrar a CDS View com o nome definido (ex: Z_VDM_PO_15DIAS).

Visualizar o Código-Fonte: Abra a definição da CDS View para inspecionar o código gerado. Verifique se os filtros de usuário ($session.user) e de data (BETWEEN SY-DATUM AND SY-DATUM + 15) foram aplicados corretamente.

Executar a CDS View: Execute a CDS View diretamente no ADTs para verificar os resultados. Confirme se os dados retornados correspondem aos pedidos de compra do usuário logado com vencimento nos próximos 15 dias.

3.3 Publicação da VDM como Serviço OData

Acessar a funcionalidade de criação de Serviço OData: Na plataforma Tachyonix.io, navegue até a seção de criação de serviços OData.

Definir nome e descrição do Serviço OData:

  • No campo "Nome do Serviço OData", insira um identificador único e descritivo, por exemplo, Z_PO_15_DIAS_ODATA.
  • No campo "Descrição", forneça uma breve explicação da finalidade do serviço, por exemplo, "Serviço OData para pedidos de compra com vencimento em 15 dias".

Atribuir Pacote ABAP: Selecione o mesmo pacote ABAP utilizado para a VDM (ex: ZTACHYONIX).

Atribuir Request de Workbench: Selecione uma Request de Workbench apropriada.

Atribuir Request de Customizing: Selecione uma Request de Customizing, se aplicável.

Selecionar a Fonte de Dados para o Serviço OData

No campo de seleção da fonte de dados, pesquise pela VDM que acabou de ser criada (ex: Z_VDM_PO_15DIAS).

Selecione esta VDM como a base para o serviço OData.

Finalizar Criação do Serviço OData: Clique no botão "Criar". A plataforma Tachyonix.io irá gerar o serviço OData (incluindo a Model Provider Class - MPC, Data Provider Class - DPC, e o registro do serviço no Gateway) e publicá-lo automaticamente no SAP Gateway. Este processo pode levar alguns instantes devido à ativação e publicação dos artefatos.

4. Verificação e Teste

Acessar Informações Técnicas do Serviço OData: Após a criação do serviço OData, a plataforma Tachyonix.io exibirá uma seção de "Informação Técnica" ou similar.

Obter a URL do Serviço OData: Copie a URL gerada para o serviço OData. Esta URL geralmente segue o padrão /sap/opu/odata/sap/<NOME_SERVICO>_SRV/.

Testar o Serviço OData em um Navegador ou Ferramenta de Teste

  • Cole a URL no seu navegador web e adicione /Z_VDM_PO_15DIAS (ou o nome da sua Entity Set) no final da URL para acessar os dados.
  • Alternativamente, utilize uma ferramenta como Postman ou o cliente OData do SAP Gateway (transação /IWFND/MAINT_SERVICE) para testar o serviço.
  • Verifique se a resposta JSON ou XML contém os pedidos de compra esperados, filtrados pelo usuário corrente e com ValidityEndDate dentro dos próximos 15 dias.
  • Confirme o número de registros retornados (ex: 22 ou 32 pedidos, conforme o exemplo).

5. Considerações Técnicas Adicionais

Reuso de CDS Views: A abordagem de criar uma CDS View especializada (VDM) e depois publicá-la como serviço OData é uma boa prática. Ela promove o reuso da lógica de negócio e dos filtros, garantindo que qualquer serviço ou aplicação que consuma essa VDM terá a mesma base de dados consistente.

Performance: Ao utilizar CDS Views padrão da SAP (como I_PurchaseOrder), a performance é geralmente otimizada. No entanto, a adição de filtros complexos ou a seleção de um grande número de campos pode impactar o desempenho. É sempre recomendável testar a performance em ambientes de volume de dados real.

Flexibilidade dos Filtros: A capacidade de usar anotações ABAP como SY-DATUM e SY-DATUM + 15 para filtros de data oferece grande flexibilidade. Para cenários mais dinâmicos, onde o range de datas pode ser definido pelo usuário final, seria necessário implementar parâmetros de entrada na CDS View ou no serviço OData, o que pode ser feito através de CDS Views com parâmetros ou implementações de BAdIs no Gateway.

Desenvolvimento sem Código (Low-Code/No-Code): A plataforma Tachyonix.io simplifica drasticamente o processo de criação de CDS Views e serviços OData, eliminando a necessidade de codificação manual em ABAP para cenários comuns de especialização de dados. Isso acelera o desenvolvimento e reduz a complexidade para desenvolvedores.

Extensibilidade: Embora a plataforma gere a maior parte do código, os objetos ABAP resultantes (CDS Views, classes DPC/MPC) são objetos SAP padrão e podem ser estendidos ou modificados manualmente no Eclipse/ADTs, se requisitos mais complexos surgirem.

Segurança: Os filtros de usuário corrente ($session.user) garantem que cada usuário só veja os dados aos quais tem acesso, respeitando as autorizações configuradas no sistema SAP.