List Report
Um list report é um floorplan do SAP Fiori elements para encontrar, filtrar e agir sobre grandes conjuntos de business objects, composto por uma barra de filtros, gerenciamento de variantes e uma tabela ou gráfico que o framework gera a partir de anotações OData. O list report geralmente serve como página de entrada de um app e encaminha objetos individuais para uma object page.
Resumo
- Tipo
- Floorplan do SAP Fiori elements (template de página)
- Camada
- Aplicações de UI
- Controlado por
- UI.SelectionFields, UI.LineItem, selection variants e presentation variants
- Configurado em
- Anotações de UI (CDS ou XML) mais configurações de página no manifest.json
- Combinação típica
- Object page (o padrão LROP)
- Quem trabalha com ele
- Desenvolvedores SAP Fiori, desenvolvedores ABAP e CAP, designers de UX, usuários finais (variantes)
- Aplica-se a
- SAP S/4HANA (todas as opções de implantação), SAP BTP
Camada: Aplicações de UIOnde se encaixa ▾
Camada: Aplicações de UI
Abrir o mapa de arquitetura →Quando usar um list report?
Um list report é adequado quando os usuários partem de um conjunto grande e aberto de business objects e precisam restringi-lo antes de poder trabalhar: revisar pedidos com entrega prevista, processar um conjunto de pedidos de compra, identificar documentos com bloqueio de pagamento ou repetir uma seleção de fechamento de mês por meio de uma variante salva.
O critério de decisão é o formato da pesquisa. Se os usuários combinam vários critérios de filtro antes que a lista faça sentido, um list report é adequado. Se os itens já são conhecidos e poucos, uma worklist é mais enxuta. Se os usuários precisam analisar com gráficos antes de agir, a analytical list page é mais adequada.
Exemplo: compradores da Alder Manufacturing filtram pedidos de compra por fornecedor e data de entrega para encontrar pedidos atrasados da Cedar Office Supply e, em seguida, abrem cada um em sua object page. Um list report é a escolha certa quando filtrar é o primeiro passo da tarefa.
Quais são as partes de um list report?
Uma página de list report é montada a partir de partes padrão, de cima para baixo:
- Título e gerenciamento de variantes: um controle de visões em que os usuários salvam valores de filtro, ordenação e colunas.
- Barra de ferramentas do cabeçalho: ações genéricas de página, incluindo um menu Share.
- Barra de filtros: os campos de UI.SelectionFields mais todos os campos de filtro obrigatórios. A pesquisa é executada quando o usuário escolhe Go, a menos que o live mode esteja configurado.
- Área de conteúdo: uma tabela, um gráfico ou ambos, opcionalmente em várias visões alternadas por um segmented button ou por abas.
- Navegação: escolher uma linha abre a object page, opcionalmente lado a lado no flexible column layout.
Com um serviço habilitado para draft, o framework adiciona um filtro Editing Status e mostra quais linhas têm um draft ou estão bloqueadas por outro usuário. Cada parte de um list report é gerada a partir de metadados, por isso os list reports se comportam de forma semelhante em todos os apps.
Quais anotações controlam um list report?
| Anotação | O que ela controla |
|---|---|
| UI.SelectionFields | Os campos padrão da barra de filtros |
| UI.LineItem | As colunas da tabela, sua ordem e as ações por linha |
| UI.HeaderInfo | Os nomes do tipo de objeto; no OData V2, TypeNamePlural define o cabeçalho da tabela, que o OData V4 também pode definir no manifest.json |
| UI.SelectionVariant | Seleções de dados predefinidas, usadas para definir múltiplas visões |
| UI.SelectionPresentationVariant, UI.PresentationVariant | Visões que também definem ordenação ou visualização |
| UI.Chart | Um gráfico na área de conteúdo |
| Vocabulário Capabilities | Se o serviço suporta filtragem; sem ele, nenhuma barra de filtros é renderizada |
No ABAP CDS, as duas primeiras aparecem como @UI.selectionField e @UI.lineItem em cada elemento; o CAP usa os nomes dos termos OData. O comportamento da página, como carga inicial, edição em massa, visões e tipo de tabela, é definido no manifest.json. As anotações decidem o que um list report mostra; o app descriptor decide como o list report se comporta.
Como controlar a carga inicial e a edição em massa em um list report?
Carga inicial. Quando o app inicia com um contexto de navegação, como parâmetros vindos de outro app ou do target mapping, os dados são carregados imediatamente. Caso contrário, a variante padrão do usuário decide por meio de sua configuração Apply Automatically; apenas a variante Standard segue o manifest.json:
| Comportamento | OData V4: initialLoad | OData V2: loadDataOnAppLaunch |
|---|---|---|
| Carregar apenas se houver valores de filtro padrão | Auto (padrão) | ifAnyFilterExist (padrão) |
| Sempre carregar | Enabled | always |
| Aguardar o Go | Disabled | never |
Os usuários podem sobrescrever a configuração por visão. A SAP recomenda valores de filtro padrão para que a página não abra vazia.
A edição em massa fica desativada até que um desenvolvedor a habilite. No OData V4, enableMassEdit funciona no list report (para registros ativos sem draft pendente) e na object page em modo de edição; visibleFields ou ignoredFields limitam o diálogo. No OData V2, multiEdit funciona apenas no list report, para tabelas responsivas e grid. Os dois comportamentos do list report são escolhas deliberadas de configuração, e não padrões a aceitar sem exame.
É possível estender um list report?
Sim, e as opções dependem de quem é o dono do app:
- App próprio, OData V4: pontos de extensão adicionam colunas, ações, campos de filtro, conteúdo de cabeçalho acima da barra de filtros e visões customizadas como abas extras; building blocks e custom pages do modelo de programação flexível cobrem lacunas maiores.
- App próprio, OData V2: extensões registradas no manifest.json cobrem áreas comparáveis, como colunas, ações e filtros.
- Um app entregue pela SAP: adaptation projects (SAP Fiori tools) ou adaptação de key user, sem modificar o código da SAP.
No SAP S/4HANA Cloud Public Edition, verifique quais desses caminhos a SAP suporta para o app e a release. Teste de decisão: se for necessário código customizado além de algumas colunas, ações ou filtros, reavalie a escolha do floorplan. Estender um list report é barato nas bordas e caro no núcleo.
Quais são os erros comuns de design em list reports?
- Carregar tudo na inicialização. Sempre carregar um entity set muito grande torna cada início lento; valores de filtro padrão são a melhor alavanca.
- Abrir com uma tabela vazia sem explicação. Quando os usuários relatam "sem dados", verifique nesta ordem: o contexto de navegação, a variante padrão e seu flag Apply Automatically, a configuração do manifest e, por fim, os filtros obrigatórios (no OData V2, um filtro obrigatório vazio bloqueia a carga inicial).
- Sobrecarregar a barra de filtros. Vinte campos de seleção escondem os três que importam.
- Confundir variantes e visões. Variantes são salvas pelos usuários; múltiplas visões são abas definidas pelos desenvolvedores.
- Habilitar a edição em massa para todos os campos. Restrinja o diálogo a um field group que seja seguro alterar em massa.
- Usar um list report para uma fila de trabalho. Um conjunto curto e conhecido de tarefas combina com uma worklist.
A maioria dos problemas de list report são problemas de configuração e de desenho da seleção, e não defeitos do framework.
List report vs. worklist vs. analytical list page: qual é a diferença?
| List report | Worklist | Analytical list page | |
|---|---|---|---|
| Tarefa principal | Encontrar objetos em um conjunto grande e agir sobre eles | Processar um conjunto conhecido de itens de trabalho | Analisar dados e depois agir sobre os itens |
| Filtragem | Barra de filtros completa com variantes | Pouca ou nenhuma filtragem, muitas vezes abas de status | Filtros visuais e uma barra de filtros compacta |
| Visualização principal | Tabela, opcionalmente um gráfico | Tabela | Gráfico e tabela juntos |
| No SAP Fiori elements para OData V4 | Floorplan próprio | Configuração do list report | Configuração do list report |
Os três padrões compartilham tecnologia, mas respondem a perguntas diferentes: o que encontrar, o que processar e o que analisar.
Perguntas frequentes
O que significa LROP no SAP Fiori?
LROP é a sigla de list report object page, o padrão de app mais comum do SAP Fiori elements. Um list report permite que os usuários encontrem business objects, e uma object page exibe, edita ou cria um deles. Os dois floorplans são configurados no mesmo app e conectados por navegação.
Por que meu list report do SAP Fiori abre com a tabela vazia?
Na maioria dos casos, o list report está aguardando que o usuário escolha Go. A configuração de carga inicial (initialLoad no OData V4, loadDataOnAppLaunch no OData V2), o flag Apply Automatically da variante padrão do usuário e a ausência de valores de filtro padrão ou obrigatórios decidem se os dados são carregados na inicialização.
Os usuários podem salvar suas próprias configurações de filtro em um list report?
Sim. O gerenciamento de variantes em um list report permite que os usuários salvem valores de filtro, ordenação e colunas como visões nomeadas, marquem uma como padrão e decidam se ela carrega dados automaticamente. As visões podem ser privadas ou públicas; por padrão, qualquer usuário pode tornar uma visão pública, e uma configuração de SAPUI5 flexibility pode restringir isso aos key users.
O list report permite editar vários registros de uma vez?
Sim, quando os desenvolvedores habilitam a edição em massa. No SAP Fiori elements para OData V4, a configuração é enableMassEdit; no OData V2, é multiEdit. Os usuários selecionam linhas, abrem um diálogo e definem novos valores, que são aplicados a cada registro selecionado que pode ser alterado.
O list report precisa de um serviço habilitado para draft?
Não. Um list report funciona com serviços habilitados para draft e sem draft. Com draft, o SAP Fiori elements adiciona um filtro Editing Status e mostra na tabela quais objetos têm alterações não salvas ou estão bloqueados por outro usuário.
Fontes
- SAPUI5 SDK: List Report Page (SAP Fiori elements for OData V4)
- SAPUI5 SDK: Loading Behavior of Data on Initial Launch of the Application (OData V4)
- SAPUI5 SDK: Loading Behavior of Data on Initial Launch of the Application (OData V2)
- SAPUI5 SDK: Enabling Editing Using a Dialog (Mass Edit) (OData V4)
- SAPUI5 SDK: Configuring Filter Bars (OData V4)
- Aplica-se a
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP S/4HANA Cloud Public Edition · SAP BTP
- Última revisão