SAP Fiori Elements e floorplans

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 ▾
Onde se encaixa: L3 · Aplicações de UICamada: Aplicações de UI.L1L2L3L4L5L6BTP

Camada: Aplicações de UI

Abrir o mapa de arquitetura →
Object Page layoutCabeçalho (título, status, dados principais) · Barra de âncoras · Seções: General Information, Items, Approval History, AttachmentsHeader · title · statusKey factsAnchor barGeneral InformationItemsApproval HistoryAttachments
Layout do Object Page: Cabeçalho (título, status, dados principais) · Barra de âncoras · Seções: General Information, Items, Approval History, Attachments

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:

  1. 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.
  2. 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.
  3. 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.
  4. Área de conteúdo: seções e subseções com formulários, tabelas de itens relacionados, gráficos ou componentes reutilizáveis.
  5. 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çãoO que ela define
UI.HeaderInfoTítulo, descrição, imagem e o nome do tipo de objeto
UI.HeaderFacetsHeader facets, como reference facets para data points, field groups ou gráficos
UI.FacetsSeções e subseções: collection facets agrupam, reference facets apontam para o conteúdo
UI.FieldGroup, UI.IdentificationFormulários dentro das seções
UI.LineItem da entidade de itensTabelas de itens relacionados
UI.Hidden em um facetExibir 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?

  1. 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.
  2. Cabeçalhos sobrecarregados. Mais do que alguns poucos fatos no cabeçalho transformam o cabeçalho em um segundo formulário.
  3. 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.
  4. 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.
  5. 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 sheetObject page
O que éTipo original de app SAP Fiori que mostra informações contextuais sobre um business objectFloorplan do SAP Fiori elements para exibir, editar e criar um objeto
TecnologiaSAP Business Suite: search models no back-end ABAP sobre SAP HANA; no SAP S/4HANA, muitas vezes apps SAP Fiori elementsPáginas SAPUI5 geradas a partir de um serviço OData, de anotações e do app descriptor
Ponto de entrada típicoResultados de busca no launchpad, outros fact sheets, apps transacionais ou analíticosUm list report ou outro app, por navegação baseada em intent
EdiçãoOrientado à exibição; as alterações acontecem em apps transacionais ou transações vinculadosEdição e criação no próprio app, com suporte a draft
No SAP S/4HANAEm grande parte substituído; fact sheets individuais foram descontinuados ou substituídosFloorplan 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

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

SAP, SAP Fiori, SAPUI5, SAP S/4HANA, SAP BTP e os demais produtos e serviços SAP mencionados são marcas comerciais ou marcas registradas da SAP SE (ou de uma empresa afiliada da SAP) na Alemanha e em outros países. Este guia é independente e não é afiliado, patrocinado nem endossado pela SAP SE.