Relatório com Filtros Avançados Utilizando Search Helps e Listas de Domínio
1. Objetivo
Esta funcionalidade demonstra a criação de um relatório SAP Fiori com uma barra de filtros (Filter Bar) avançada na plataforma Tachyonix, utilizando Search Helps e Listas de Domínio para aprimorar a experiência do usuário e a usabilidade.
2. Pré-requisitos
- Tabelas SAP: Acesso e dados nas tabelas EKKO e EKPO.
- Search Helps SAP: Existência das Search Helps H_T001, H_T161 e KREDA no sistema SAP.
- Configuração na Tachyonix: Projeto Tachyonix configurado e acesso ao ambiente de desenvolvimento.
3. Passo a Passo Detalhado
Criar Novo Componente de Relatório:
No ambiente de desenvolvimento Tachyonix, crie um novo componente.
Selecione o tipo Relatório.
Defina o título do relatório como "Relatorio com Filtros - aula 021".
Configurar Fonte de Dados:
Adicione as tabelas EKKO e EKPO como fontes de dados.
Configure um INNER JOIN entre EKKO e EKPO utilizando as chaves apropriadas (ex: EKKO-EBELN = EKPO-EBELN).
Definir Layout da Lista Principal:
Na seção de layout da lista principal, adicione os seguintes campos da tabela EKKO:
- EBELN (Número do Documento de Compra)
- BUKRS (Empresa)
- BSTYP (Categoria do Documento de Compra)
- BSART (Tipo de Documento de Compra)
- STATU (Status do Documento)
- AEDAT (Data de Criação do Registro)
- LIFNR (Número do Fornecedor)
Configurar Filtros na Filter Bar:
Filtro para Empresa (BUKRS):
Selecione o campo BUKRS.
Defina o Tipo de filtro como Ajuda de Pesquisa.
Configure o Modo de seleção como Múltiplo.
Especifique a Fonte da Search Help como H_T001.
Mapeie os Campos para exibição: BUKRS (chave) e BUTXT (descrição).
Filtro para Categoria do Documento (BSTYP):
Selecione o campo BSTYP.
Defina o Tipo de filtro como Lista de Domínio.
Configure o Modo de seleção como Múltiplo.
Filtro para Tipo do Documento (BSART):
Selecione o campo BSART.
Defina o Tipo de filtro como Ajuda de Pesquisa.
Configure o Modo de seleção como Múltiplo.
Especifique a Fonte da Search Help como H_T161.
Mapeie os Campos para exibição: BSART (chave) e BATXT (descrição).
Filtro para Status (STATU):
Selecione o campo STATU.
Defina o Tipo de filtro como Lista de Domínio.
Configure o Modo de seleção como Múltiplo.
Filtro para Data de Criação (AEDAT):
Selecione o campo AEDAT.
Defina o tipo de filtro para permitir seleção por período (range).
Filtro para Fornecedor (LIFNR):
Selecione o campo LIFNR.
Defina o Tipo de filtro como Ajuda de Pesquisa.
Configure o Modo de seleção como Múltiplo.
Especifique a Fonte da Search Help como KREDA.
Mapeie os Campos para exibição: LIFNR (chave) e MCOD1 (nome).
Configurar Tela de Detalhe:
Aba "Detalhe PO":
Crie uma nova aba com o título "Detalhe PO".
Adicione um componente Painel e associe o ícone account.
Arraste os campos do cabeçalho (EKKO) para dentro deste painel para exibição detalhada.
Aba "Detalhe - Item":
Crie uma nova aba com o título "Detalhe - Item".
Adicione um componente Tabela e associe o ícone activity-items.
Arraste os campos do item (EKPO) para dentro desta tabela.
Habilite a funcionalidade de exportação para esta tabela.
4. Verificação e Teste
Publique o componente de relatório.
Acesse o aplicativo Fiori gerado.
Interaja com a Filter Bar:
Verifique se os filtros de Ajuda de Pesquisa (BUKRS, BSART, LIFNR) exibem o Value Help Fiori com chave e descrição, permitindo seleção múltipla.
Verifique se os filtros de Lista de Domínio (BSTYP, STATU) apresentam um dropdown list (ComboBox) com os valores fixos.
Teste a seleção múltipla e por intervalo (range) para o campo AEDAT.
Execute a pesquisa com diferentes combinações de filtros e valide se os resultados na lista principal e nas abas de detalhe (Detalhe PO, Detalhe - Item) estão corretos.
5. Considerações Técnicas Adicionais
Filter Bar como Tela de Seleção Fiori:
A Filter Bar em um relatório Fiori, construída na plataforma Tachyonix, atua como o equivalente moderno da tela de seleção (selection screen) de um programa ABAP (SE38). Enquanto em ABAP tradicional o desenvolvedor declara PARAMETERS e SELECT-OPTIONS no código para construir a interface de seleção, a plataforma Tachyonix permite a construção dessa tela de forma visual e declarativa. A configuração de filtros na Filter Bar mapeia diretamente para os critérios de seleção que serão aplicados na consulta OData enviada ao backend SAP, abstraindo a complexidade da geração do código ABAP subjacente.
Reaproveitamento de Artefatos do Dicionário de Dados:
A plataforma Tachyonix se integra nativamente com o Dicionário de Dados ABAP (SE11), permitindo o reaproveitamento de artefatos existentes para enriquecer a experiência do usuário nos filtros:
Ajuda de Pesquisa (Search Help): A configuração de um filtro com uma Search Help (ex: H_T001, KREDA) é análoga a usar a cláusula MATCHCODE OBJECT na declaração de um PARAMETER em ABAP. A plataforma Tachyonix lê a definição da Search Help no Dicionário de Dados e gera automaticamente o Value Help Fiori correspondente. Este Value Help inclui a exibição de múltiplos campos (tipicamente chave e descrição) e a funcionalidade de busca, proporcionando uma interface rica para o usuário selecionar valores sem a necessidade de memorizar códigos.
Lista de Domínio (Domain Fixed Values): A configuração de um filtro com uma Lista de Domínio é análoga a criar um campo de tela que faz referência a um Data Element associado a um Domínio com valores fixos definidos no Dicionário de Dados. A plataforma Tachyonix lê esses valores fixos e os apresenta como um dropdown list (ComboBox) na interface Fiori. Isso elimina a necessidade de o usuário digitar ou memorizar códigos, garantindo a entrada de dados válidos e melhorando significativamente a usabilidade.
Seleção Múltipla e por Intervalo (Ranges):
A configuração de filtros com modo de seleção Múltiplo ou como um período de datas (range) na plataforma Tachyonix gera, por baixo dos panos, o equivalente a um SELECT-OPTIONS em ABAP.
- Para seleção Múltipla, o usuário pode selecionar múltiplos valores discretos (ex: várias empresas).
- Para seleção por Período, o usuário pode definir um intervalo de datas ou outros tipos de ranges.
A plataforma gerencia a complexidade da interface de usuário para a seleção de múltiplos valores ou intervalos (incluindo operadores como "entre", "maior que", "menor que", "excluir", etc.) e traduz essa entrada para a estrutura SELECT-OPTIONS (tabela interna com campos SIGN, OPTION, LOW, HIGH) que é então utilizada na cláusula WHERE da consulta OData enviada ao backend SAP. Isso permite que o desenvolvedor crie filtros poderosos e flexíveis sem escrever código ABAP complexo para manipulação de ranges.