Object Page
Um object page é um floorplan do SAP Fiori elements que exibe, edita e cria um único business object, formado por um cabeçalho com fatos-chave, uma barra de navegação e seções de conteúdo que o framework gera a partir de anotações OData como UI.HeaderInfo e UI.Facets. Um object page costuma ser acessado a partir de um list report e suporta tratamento de draft.
Resumo
- Tipo
- Floorplan do SAP Fiori elements (modelo de página)
- Camada
- Aplicações de UI
- Definido por
- UI.HeaderInfo, UI.HeaderFacets, UI.Facets, field groups e line items
- Configurado em
- Anotações de UI (CDS ou XML) mais configurações de página no manifest.json
- Combinação típica
- List report (o padrão LROP); subobject pages para os itens
- Quem trabalha com ele
- Desenvolvedores SAP Fiori, desenvolvedores ABAP e CAP, designers de UX
- 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 object page?
Um object page é adequado sempre que a tarefa gira em torno de um único business object: alterar uma ordem de venda e seus itens, criar um pedido de compra como draft, liberar uma fatura bloqueada ou comparar um draft com a versão salva. O floorplan atende desde poucos campos até objetos complexos com muitas seções e tabelas relacionadas.
Dois critérios de decisão ajudam:
- Se os usuários precisam de contexto primeiro, como o status do objeto, os indicadores-chave e os itens relacionados, o object page padrão é adequado.
- Se os usuários apenas inserem dados e não precisam de cabeçalho nem de navegação por seções, o form entry object page, uma variação que oculta ambos, é mais enxuto.
Exemplo: um comprador da Alder Manufacturing abre um pedido de compra da Bright Freight, confere os fatos do cabeçalho e depois edita dois itens. Um object page é adequado quando a pergunta é "e quanto a este objeto específico?"
Quais são as partes de um object page?
Um object page é formado por cinco áreas, de cima para baixo:
- Título do cabeçalho: o título e o subtítulo do objeto, uma imagem opcional, o status de edição quando existe um draft e uma barra de ferramentas com ações como Edit, Delete, Related Apps e Share.
- Header facets: fatos-chave como pares rótulo-valor ou pequenos elementos visuais, como um micro chart ou uma avaliação. A SAP recomenda no máximo cinco pares rótulo-valor.
- Barra de navegação: âncoras que levam a cada seção em uma única página com rolagem, ou abas que mostram uma seção por vez.
- Área de conteúdo: seções e subseções com formulários, tabelas de itens relacionados, gráficos ou componentes reutilizáveis.
- Barra de ferramentas do rodapé: no modo de edição, Save ou Create, as ações determinantes e o botão de mensagens.
Selecionar uma linha em uma tabela de itens abre um subobject page para a entidade filha, com botões de paginação para navegar entre os itens. Cada área de um object page responde a uma pergunta: o que é isto, o que importa, onde está, como concluo.
Quais anotações definem um object page?
| Anotação | O que ela define |
|---|---|
| UI.HeaderInfo | Título, descrição, imagem e o nome do tipo de objeto |
| UI.HeaderFacets | Header facets, como reference facets para data points, field groups ou gráficos |
| UI.Facets | Seções e subseções: collection facets agrupam, reference facets apontam para o conteúdo |
| UI.FieldGroup, UI.Identification | Formulários dentro das seções |
| UI.LineItem da entidade de itens | Tabelas de itens relacionados |
| UI.Hidden em um facet | Exibir ou ocultar uma seção dinamicamente |
No ABAP CDS, todos esses facets são escritos como entradas @UI.facet com um tipo, como uma referência a field group ou uma coleção, e um propósito que separa os header facets das seções padrão. Somente dois níveis de collection facets são renderizados. A escolha entre âncoras e abas é uma configuração do manifest.json, sectionLayout, com Page como padrão no OData V4. A estrutura do object page é, portanto, definida quase inteiramente em UI.Facets.
Como funcionam o draft e a edição em um object page?
Com um serviço habilitado para draft, o object page cria um draft assim que o usuário começa a editar ou criar. O draft é salvo em segundo plano enquanto o usuário trabalha, o que gera quatro comportamentos:
- o trabalho não salvo sobrevive a uma interrupção ou a uma falha, e o usuário pode retomá-lo depois;
- o draft funciona como bloqueio, de modo que outros usuários veem que o objeto está sendo editado;
- validações e controle de campos são executados durante a edição, não apenas no final;
- Save transforma o draft na versão ativa.
O SAP Fiori elements para OData V4 distingue drafts exclusivos, pertencentes a um único usuário, de drafts colaborativos, que vários usuários podem editar juntos; a SAP documenta drafts colaborativos apenas para serviços baseados em RAP. RAP e CAP oferecem tratamento de draft no lado do serviço. Sem draft, nada chega ao back-end até que o usuário salve, e a SAP recomenda apps sem draft apenas para fluxos simples. O suporte a draft é a decisão de serviço que mais influencia a experiência de edição em um object page.
É possível estender um object page?
Sim. As opções dependem de quem é o dono do app:
- Seu próprio app: extension points adicionam seções e subseções customizadas, header facets, elementos de formulário, ações e colunas de tabela; componentes reutilizáveis podem ser colocados em seções; com OData V4, building blocks e custom pages do flexible programming model cobrem lacunas maiores.
- Um app entregue pela SAP: adaptation projects (SAP Fiori tools) ou adaptação por key user, sem modificar o código da SAP.
No SAP S/4HANA Cloud Public Edition, os caminhos disponíveis seguem os modelos de extensibilidade da SAP nesse ambiente; consulte a documentação de extensibilidade da sua release.
Seções customizadas têm um custo de desempenho. O OData V4 oferece request groups e lazy loading para object pages; no OData V2, o lazy loading precisa ser ativado para cada seção customizada. Um teste prático: se a maioria das seções é customizada, uma custom page ou SAPUI5 freestyle pode ser mais honesto do que um object page fortemente estendido.
Quais são os erros comuns de design em um object page?
- Seções demais em uma única página com rolagem. Agrupe seções ou mude para abas, o que a SAP recomenda para grid tables.
- Cabeçalhos sobrecarregados. Mais do que alguns poucos fatos no cabeçalho transformam o cabeçalho em um segundo formulário.
- Aninhamento profundo de facets. Collection facets abaixo do segundo nível são ignorados, e um collection facet que envolve um único reference facet pode ser renderizado de forma incorreta; use o reference facet diretamente.
- Vírgulas nos títulos das seções. O SAP Fiori elements usa vírgulas como delimitadores ao agrupar mensagens, então evite-as nos títulos de seções e subseções.
- Edição sem draft. Os usuários perdem a possibilidade de retomar o trabalho e a informação de bloqueio.
Quando uma seção não aparece, verifique nesta ordem: a anotação UI.Facets nos metadados do serviço, o nível do facet, o qualificador do target, qualquer condição UI.Hidden e um arquivo de anotação local que possa substituir o UI.Facets do back-end. A maioria dos defeitos de object page são problemas de estrutura de facets, não bugs de renderização.
Object page vs. fact sheet: qual é a diferença?
| Fact sheet | Object page | |
|---|---|---|
| O que é | Tipo original de app SAP Fiori que mostra informações contextuais sobre um business object | Floorplan do SAP Fiori elements para exibir, editar e criar um objeto |
| Tecnologia | SAP Business Suite: search models no back-end ABAP sobre SAP HANA; no SAP S/4HANA, muitas vezes apps SAP Fiori elements | Páginas SAPUI5 geradas a partir de um serviço OData, de anotações e do app descriptor |
| Ponto de entrada típico | Resultados de busca no launchpad, outros fact sheets, apps transacionais ou analíticos | Um list report ou outro app, por navegação baseada em intent |
| Edição | Orientado à exibição; as alterações acontecem em apps transacionais ou transações vinculados | Edição e criação no próprio app, com suporte a draft |
| No SAP S/4HANA | Em grande parte substituído; fact sheets individuais foram descontinuados ou substituídos | Floorplan padrão para apps SAP S/4HANA e SAP BTP |
A SAP Fiori Apps Reference Library agrupa ambos sob um único tipo de aplicação, mas um object page é um floorplan do framework, enquanto um fact sheet era uma tecnologia legada separada.
Perguntas frequentes
Object page e fact sheet são a mesma coisa?
Não. Os fact sheets eram um dos três tipos originais de app SAP Fiori, construídos sobre search models e focados em exibir informações contextuais. Um object page é um floorplan do SAP Fiori elements que também edita e cria objetos. No SAP S/4HANA, os object pages assumiram em grande parte o papel dos fact sheets.
Um object page pode criar um novo business object?
Sim. Uma ação Create no list report normalmente abre um object page vazio no modo de criação, e a criação via diálogo é uma alternativa para objetos simples. Um form entry object page pode iniciar o app diretamente no modo de criação, sem list report.
Um object page pode mostrar abas em vez de uma página longa?
Sim. No SAP Fiori elements para OData V4, a configuração sectionLayout do manifest muda de Page, em que todas as seções rolam em uma única página, para Tabs, em que cada seção de primeiro nível tem sua própria aba. Para apps OData V2, consulte a documentação V2 para a configuração correspondente.
O que é um subobject page no SAP Fiori elements?
Um subobject page é um object page para uma entidade filha, como um item de pedido de compra, aberto ao selecionar uma linha em uma tabela do object page pai. Ele usa o mesmo floorplan e as mesmas anotações e oferece botões de paginação para navegar entre os itens da lista.
Um object page precisa de um serviço habilitado para draft?
Não, mas a maioria dos apps SAP Fiori elements editáveis usa um. Sem draft, um object page envia as alterações apenas ao salvar e não consegue mostrar que outro usuário está editando o objeto. Com draft, o trabalho é salvo em segundo plano e pode ser retomado depois.
Fontes
- SAPUI5 SDK: Object Page (SAP Fiori elements for OData V4)
- SAPUI5 SDK: Defining and Configuring Sections (OData V4)
- SAP Help Portal: Fact sheets based on search models (SAP Fiori for SAP Business Suite)
- SAPUI5 SDK: Draft Handling (OData V4)
- SAP Help Portal: SAP Fiori application types (transactional apps, analytical apps, fact sheets)
- 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