Apps customizados (Z-apps)
Apps customizados, ou Z-apps, são aplicações e extensões que um cliente constrói no namespace do cliente, onde os nomes de objetos começam com Z ou Y, como apps freestyle SAPUI5, apps SAP Fiori elements sobre views CDS customizadas ou cópias de apps SAP. Os apps customizados pertencem ao cliente, que os testa e mantém a cada upgrade.
Resumo
- Tipo
- Desenvolvimento de propriedade do cliente (UI, serviços e lógica)
- Camada
- Aplicações de UI; Serviços e APIs; Lógica de negócio e modelo de dados
- Namespace
- Namespace do cliente Z* ou Y*, ou um namespace de prefixo registrado /…/
- Stack típico
- UI SAPUI5 ou SAP Fiori elements, serviço OData, CDS e lógica ABAP
- Ligação com o launchpad
- Technical catalog, target mapping, business catalog, role
- Quem trabalha com ele
- Desenvolvedores do cliente, parceiros, CoE, responsáveis pelas aplicações
- Aplica-se a
- SAP S/4HANA on-premise e Private Edition, SAP BTP; extensibilidade para desenvolvedores na Public Edition
Camada: Aplicações de UIOnde se encaixa ▾
Camada: Aplicações de UI
Também envolve: Serviços e APIs, Lógica de negócio e modelo de dados
Abrir o mapa de arquitetura →O que conta como Z-app?
O nome vem da regra de nomenclatura ABAP: sem um namespace de prefixo registrado, os objetos de repositório criados em sistemas do cliente precisam começar com Y ou Z. "Z-app" virou abreviação para qualquer aplicação que o cliente constrói e da qual é dono, seja qual for a tecnologia:
- apps freestyle SAPUI5 para tarefas que nenhum app standard cobre;
- apps SAP Fiori elements sobre views CDS e serviços customizados;
- cópias de apps entregues pela SAP, renomeadas no namespace Z e alteradas;
- transações, relatórios ou aplicações Web Dynpro ABAP customizados iniciados a partir do launchpad;
- apps side-by-side no SAP BTP que estendem processos do SAP S/4HANA.
Algumas organizações registram seu próprio namespace de prefixo em vez de usar Z ou Y, o que evita conflitos de nomes entre projetos. O traço que define um Z-app é a responsabilidade, não a letra: um Z-app é qualquer aplicação cujo ciclo de vida é responsabilidade do cliente, e não da SAP.
Como um app SAP Fiori customizado é construído e entregue?
Um app customizado típico on-stack passa por todas as camadas abaixo do launchpad:
- Dados e lógica: views CDS e, para apps transacionais, um business object construído com o ABAP RESTful application programming model; apps mais antigos usam ABAP clássico.
- Serviço: um serviço OData, publicado por meio de um service binding RAP ou, em apps mais antigos, construído no Gateway Service Builder (SEGW) e ativado na /IWFND/MAINT_SERVICE.
- UI: um app SAP Fiori elements ou freestyle SAPUI5, implantado no repositório ABAP do SAPUI5, onde cada app é armazenado como uma aplicação BSP com nome Z ou Y.
- Conteúdo do launchpad: um tile e um target mapping em um technical catalog criado com o launchpad app manager (/UI2/FLPAM), referenciados em um business catalog e atribuídos por meio de uma role na PFCG.
- Transporte: todos os objetos percorrem juntos o landscape de transporte.
Cada uma das cinco etapas cria um objeto que o cliente precisa manter consistente depois. Um app SAP Fiori customizado é, portanto, um pequeno produto com várias partes móveis, não um único arquivo.
Quais são os pontos fortes dos apps customizados?
- Encaixe exato: um app customizado pode modelar uma etapa do processo do jeito que o negócio realmente funciona, incluindo etapas que a SAP não entrega.
- Diferenciação: os processos que distinguem uma empresa são justamente os que têm menos chance de ser cobertos por apps standard.
- Mesma experiência do usuário: construído com SAP Fiori elements ou SAPUI5, um app customizado tem a aparência e o comportamento dos apps SAP e usa o mesmo launchpad, as mesmas roles e a mesma navegação.
- Opções modernas e amigáveis a upgrades: apps construídos com ABAP Cloud sobre APIs liberadas, ou side-by-side no SAP BTP, podem permanecer estáveis ao longo dos upgrades.
Exemplo: a Alder Manufacturing constrói um pequeno app para seus compradores confirmarem janelas de entrega da Bright Freight, uma etapa que nenhum app standard oferece, e o vincula a partir do pedido de compra. Onde o standard termina e o processo não, um app customizado costuma ser a forma mais direta de fechar a lacuna.
Onde os apps customizados param?
- A responsabilidade nunca termina. Cada upgrade do SAPUI5, release do back-end e revisão de segurança afeta o app. Alguém precisa testá-lo, corrigi-lo e saber por que ele existe.
- As dependências determinam o custo. Apps que usam objetos SAP não liberados caem nos níveis mais baixos de clean core e podem quebrar em upgrades; apps sobre APIs liberadas trazem muito menos risco.
- O conhecimento sai com as pessoas. Muitos apps customizados foram construídos por um único desenvolvedor ou parceiro; quando eles saem, a finalidade e a lógica do app muitas vezes ficam difíceis de reconstruir.
- As cópias se distanciam. Um app SAP copiado não recebe as correções e melhorias da SAP, e a diferença aumenta a cada release.
- Lacunas de inventário. Muitas vezes as organizações não sabem dizer quantos apps customizados executam nem quem os usa, uma reclamação frequente nas comunidades de profissionais.
Esses limites não são falhas técnicas; são o preço de ser dono de um software que a SAP não mantém.
Quando construir um app customizado em vez de estender?
Desça a escada de extensão e pare no primeiro degrau que atender:
- Standard: procure na SAP Fiori Apps Reference Library um app ou sucessor que cubra a necessidade.
- Extensibilidade key user: um campo, uma verificação ou um valor padrão ausente pertence a este degrau, não a um novo app.
- Variante de app em vez de cópia: para alterar um app entregue pela SAP, um SAPUI5 adaptation project cria uma variante que continua recebendo as atualizações da SAP; a SAP suporta isso na Public Edition desde a release 2402.
- Extensibilidade para desenvolvedores on-stack: um novo app sobre APIs liberadas com ABAP Cloud.
- Side-by-side no SAP BTP: quando o app abrange vários sistemas, precisa de dados próprios ou tem um ciclo de vida diferente.
Um erro comum é copiar um app standard para alterar dois campos; a solução é um adaptation project ou a extensibilidade key user. Um app customizado se justifica quando falta a própria etapa do processo, não quando falta um campo.
O que muda entre as opções de implantação do SAP S/4HANA?
- On-premise e Private Edition: tanto o ABAP clássico quanto o ABAP Cloud estão disponíveis, então os apps customizados vão do clean core total a modificações profundas. Quem define os limites é a governança, não o sistema.
- SAP S/4HANA Cloud Public Edition: a extensibilidade para desenvolvedores permite aos clientes construir apps SAP Fiori customizados em um subconjunto do ABAP otimizado para a nuvem, somente sobre APIs liberadas; o desenvolvimento Z clássico com acesso irrestrito não é possível.
- SAP BTP: os apps side-by-side vivem em seu próprio subaccount e ciclo de vida e chegam ao SAP S/4HANA apenas por meio de APIs.
A questão da responsabilidade é a mesma em todas as opções; o que difere é o quanto a plataforma restringe aquilo de que um app customizado pode depender.
Apps customizados vs. extensibilidade key user: qual é a diferença?
| App customizado (Z-app) | Extensibilidade key user | |
|---|---|---|
| O que é | Uma nova aplicação ou uma cópia alterada, de propriedade do cliente | Alterações em pontos de extensão liberados pela SAP em apps standard |
| Quem constrói | Desenvolvedores ou parceiros | Key users treinados, em apps SAP Fiori |
| Escopo típico | Uma etapa de processo ausente ou uma tarefa inteiramente nova | Um campo, uma verificação, um valor padrão, uma adaptação de UI |
| Comportamento em upgrades | Depende do que o app usa; o cliente testa cada release | Estável em upgrades por concepção, nos pontos de extensão liberados |
| Quem mantém | O cliente, durante toda a vida do app | A SAP mantém o app; o cliente mantém a extensão |
A extensibilidade key user adapta o que a SAP entrega; um app customizado acrescenta o que a SAP não entrega e torna o cliente seu dono permanente.
Perguntas frequentes
O que significa o Z de Z-app?
O Z se refere ao namespace do cliente no repositório ABAP. Sem um namespace de prefixo registrado, os objetos criados em sistemas do cliente precisam começar com Z ou Y, por isso programas, serviços e apps construídos pelo cliente levam essas letras. Z-app virou abreviação para qualquer aplicação SAP de propriedade do cliente.
Os Z-apps vão contra o princípio de clean core?
Não por si só. Clean core diz respeito às dependências: um app customizado construído com ABAP Cloud sobre APIs liberadas, ou side-by-side no SAP BTP, pode ser totalmente limpo. São os apps customizados que usam objetos SAP não liberados ou modificam código SAP que caem nos níveis mais baixos de clean core.
Devo copiar um app SAP Fiori standard para alterá-lo?
Normalmente não. Uma cópia deixa de receber as correções e melhorias da SAP. Para alterações pequenas, use a extensibilidade key user ou um SAPUI5 adaptation project, que cria uma variante sobre o app SAP. Copie apenas quando as alterações forem tão profundas que o original já não sirva de base.
Quem deve ser o responsável por um app SAP Fiori customizado?
Um responsável nomeado pela aplicação no lado do negócio, mais um responsável técnico em TI ou em um parceiro. O responsável de negócio decide se o app ainda é necessário; o responsável técnico o mantém compatível com cada release do SAPUI5 e do SAP S/4HANA. Apps sem esses dois responsáveis tendem a ficar sem manutenção.
É possível construir apps customizados no SAP S/4HANA Cloud Public Edition?
Sim, por meio da extensibilidade para desenvolvedores. Os clientes constroem apps SAP Fiori customizados em um subconjunto do ABAP otimizado para a nuvem que usa apenas APIs liberadas, ou constroem apps side-by-side no SAP BTP. O desenvolvimento Z clássico com acesso irrestrito a objetos SAP não está disponível na Public Edition.
Fontes
- SAP Help Portal: Names of Repository Objects — customer namespace Y and Z (ABAP programming guidelines)
- SAP Help Portal: The SAPUI5 ABAP Repository and the ABAP Back-End Infrastructure
- SAP Help Portal: Developer Extensibility (SAP S/4HANA Cloud Public Edition)
- SAP Help Portal: Develop an SAPUI5 Adaptation Project (SAP S/4HANA Cloud Public Edition)
- 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