Relatório com Process Flow

1. Objetivo

Implementar um relatório Fiori na plataforma Tachyonix.io que utilize o componente "Process Flow" para visualizar a sequência de documentos relacionados a um Pedido de Compra (PO), consolidando informações de múltiplas transações SAP em uma única visão interativa.

2. Pré-requisitos

  • Autorizações SAP: Acesso para criação de CDS Views (se aplicável), acesso a dados das tabelas EKKO, EKPO, EKBE, EKES no ambiente SAP.

Configuração na Tachyonix

  • Modelo de dados Tachyonix configurado.
  • Serviços OData para as entidades envolvidas publicados.

Dados de Exemplo

  • CDS View I_PURCHASEORDER disponível e ativada no sistema SAP.
  • Tabela/View YRELAC_DOCS criada e populada com dados de relacionamento de documentos de compra.

Aplicativos de Navegação

  • Aplicativo Tachyonix "Documento Compra" configurado para exibir detalhes de um PO.
  • Aplicativo Tachyonix "History per Purchasing Document" configurado para exibir histórico de documentos de compra.
  • Aplicativo Tachyonix "Supplier Confirmations" configurado para exibir confirmações de fornecedor.

3. Passo a Passo Detalhado

3.1. Configuração do Relatório e Fontes de Dados

Crie um Novo Componente "Report"

  • Na plataforma Tachyonix.io, inicie a criação de um novo componente.
  • Selecione o tipo "Report".
  • Preencha os seguintes campos:
  • Título: Relatorio com Processo Flow - Aula014
  • Descrição: Process Flow
  • Prefixo: Y

Defina as Fontes de Dados

Navegue até a aba "Data" do componente recém-criado.

Adicione a primeira fonte de dados:

  • Selecione a CDS View I_PURCHASEORDER.

Adicione a segunda fonte de dados:

  • Selecione a tabela/view YRELAC_DOCS.

Configure o Join

  • Crie um INNER JOIN entre I_PURCHASEORDER e YRELAC_DOCS.
  • Ligue o campo PURCHASEORDER da I_PURCHASEORDER com o campo EBELN_PO da YRELAC_DOCS.

Configure a Lista Principal (Main List)

Navegue até a aba "Output".

Configure a tela principal para exibir os seguintes campos da fonte de dados I_PURCHASEORDER:

  • Purchase Order Number
  • Purchasing Document Type
  • Status of Purchasing Document
  • Purchase Order Date

3.2. Configuração da Tela de Detalhe e Painel Oculto

Crie uma Aba de Detalhes

  • Na interface de configuração da tela de detalhe, adicione uma nova aba.
  • Nomeie a aba como Detail PO.
  • Nesta aba, configure a exibição dos campos de cabeçalho do pedido de compra, conforme necessário.

Crie um Painel Oculto

  • Adicione um novo componente "Panel" à tela de detalhe.
  • Configure a propriedade Visible deste painel para No.
  • Adicione os seguintes campos da fonte de dados YRELAC_DOCS a este painel:
  • EBELN_PO
  • EBELN_EKBE
  • EBELN_EKES

Observação: Este painel atuará como um contêiner para armazenar os valores desses campos, que serão utilizados como referência para os nós do Process Flow, sem serem exibidos diretamente ao usuário.

3.3. Configuração do Componente Process Flow

Adicione o Componente Process Flow

Adicione o componente "Process Flow" como uma nova aba na tela de detalhe.

Configure o 1º Passo (PO)

Selecione o nó "Process Flow" recém-adicionado.

Na seção de configuração do primeiro passo (nó inicial):

  • Descrição: PO

Campo:

  • Nome: PEDIDO_DE_COMPRA
  • Status: Positive
  • Valor do Campo: DETAIL.EBELN_PO (referenciando o campo do painel oculto)

Navegação:

  • Configure a navegação para o aplicativo Tachyonix "Documento Compra".

Configure o 2º Passo (Histórico)

  • Adicione um novo nó ao Process Flow.
  • Defina o nó "PO" como seu nó pai (Parent).

Na seção de configuração do segundo passo:

  • Descrição: Historico

Campo:

  • Nome: HISTORICO
  • Status: Critical
  • Valor do Campo: DETAIL.EBELN_EKBE (referenciando o campo do painel oculto)

Navegação:

  • Configure a navegação para o aplicativo Tachyonix "History per Purchasing Document".

Configure o 3º Passo (Fornecedor)

  • Adicione um novo nó ao Process Flow.
  • Defina o nó "Historico" como seu nó pai (Parent).

Na seção de configuração do terceiro passo:

  • Descrição: Fornecedor

Campo:

  • Nome: SUPPLIER_CONFIRMATIONS
  • Status: Planned Negative
  • Valor do Campo: DETAIL.EBELN_EKES (referenciando o campo do painel oculto)

Navegação:

  • Configure a navegação para o aplicativo Tachyonix "Supplier Confirmations".

3.4. Build e Verificação

Construa a Aplicação

  • Salve todas as configurações e inicie o processo de "Build" da aplicação na plataforma Tachyonix.io.

Execute e Verifique o Resultado

  • Após a conclusão do build, abra a aplicação no navegador.
  • Navegue para a tela de detalhe de um pedido de compra que possua documentos relacionados.
  • Verifique se a aba do Process Flow exibe a sequência de documentos configurada (PO -> Histórico -> Fornecedor).
  • Teste a funcionalidade de navegação clicando em cada nó do Process Flow para confirmar que o aplicativo correspondente é aberto com os dados contextuais corretos.

4. Verificação e Teste

Para verificar a correta implementação da funcionalidade:

  • Execute o aplicativo Fiori gerado.
  • Selecione um Pedido de Compra na lista principal que possua um histórico de documentos (entrada de mercadoria, confirmação de fornecedor).
  • Navegue para a aba "Process Flow" na tela de detalhe.
  • Observe a representação gráfica do fluxo de documentos.
  • Clique em cada nó (PO, Histórico, Fornecedor) para confirmar que a navegação para os aplicativos de destino ocorre corretamente, e que os dados exibidos no aplicativo de destino correspondem ao contexto do nó clicado.

5. Considerações Técnicas Adicionais

Process Flow como Visão Consolidada

O componente sap.suite.ui.commons.ProcessFlow oferece uma representação visual sequencial de eventos ou documentos. Para um desenvolvedor ABAP, isso é análogo à necessidade de abrir múltiplas transações (e.g., ME23N para o pedido, MB03 para o documento de material, ME23N novamente para o histórico do item) para rastrear um processo completo. O Process Flow consolida essas informações em uma única interface gráfica, eliminando a navegação manual entre T-codes. Ele permite que o usuário visualize o status de cada etapa e navegue para os detalhes específicos com um único clique, otimizando a experiência do usuário e a eficiência na análise de processos.

Painel Oculto como Contêiner de Dados

A técnica de utilizar um painel com a propriedade Visible: No serve como um contêiner para armazenar dados que são essenciais para a lógica da interface do usuário, mas que não necessitam ser exibidos diretamente. Os campos configurados dentro deste painel (e.g., EBELN_PO, EBELN_EKBE, EBELN_EKES da tabela YRELAC_DOCS) atuam como variáveis intermediárias que alimentam e contextualizam os nós do Process Flow. Esta abordagem é análoga à declaração de variáveis globais em um Function Group ou em um programa ABAP para persistir valores intermediários que serão consumidos por diferentes rotinas ou módulos de função, sem que esses valores sejam renderizados em uma tela (Dynpro) para o usuário final.

Navegação Contextual entre Aplicações

A configuração de navegação para cada nó do Process Flow permite a criação de um fluxo de trabalho interativo e dinâmico. Ao especificar um aplicativo Tachyonix de destino (e.g., "Documento Compra"), a plataforma gera automaticamente uma Intent-Based Navigation do Fiori Launchpad. Este mecanismo é comparável ao comando CALL TRANSACTION em ABAP, porém, com uma flexibilidade e desacoplamento significativamente maiores. Em vez de chamar um T-code fixo, a navegação é baseada em um "intento" (semantic object + action, e.g., PurchaseOrder-display), permitindo que o sistema determine o aplicativo mais adequado para a ação. A passagem de parâmetros contextuais (e.g., número do pedido de compra) é gerenciada automaticamente pela plataforma, garantindo que o aplicativo de destino seja aberto com os dados corretos, sem a necessidade de codificação explícita de parâmetros de URL ou de memória.