SAP BTP e extensibilidade

ABAP Cloud

ABAP Cloud é o modelo de desenvolvimento da SAP para construir aplicações, serviços e extensões ABAP prontos para a nuvem e estáveis em upgrades. O ABAP Cloud combina ABAP CDS, o ABAP RESTful Application Programming Model, uma versão restrita da linguagem ABAP e somente APIs liberadas da SAP. O ABAP Cloud não é um produto: roda no SAP BTP ABAP environment e dentro do SAP S/4HANA.

Resumo

Tipo
Modelo de desenvolvimento ABAP (não é um produto)
Camada
Lógica de negócio e modelo de dados; SAP BTP
Componentes
ABAP CDS, RAP, ABAP for Cloud Development, APIs liberadas, ABAP Development Tools
Versões da linguagem
ABAP for Cloud Development (desenvolvedores); ABAP for Key Users (ferramentas de key user)
Disponível em
SAP BTP ABAP environment, Public Edition, Private Edition e on-premise a partir do SAP S/4HANA 2022
Quem trabalha com ele
Desenvolvedores ABAP, líderes de desenvolvimento, arquitetos de extensibilidade
Aplica-se a
SAP S/4HANA (todas as opções de implantação), SAP BTP
Camada: Lógica de negócio e modelo de dadosOnde se encaixa ▾
Onde se encaixa: L5 · Lógica de negócio e modelo de dadosCamada: Lógica de negócio e modelo de dados. Também envolve: SAP BTP.L1L2L3L4L5L6BTP

Camada: Lógica de negócio e modelo de dados

Também envolve: SAP BTP

Abrir o mapa de arquitetura →

Do que é composto o ABAP Cloud?

A SAP descreve o ABAP Cloud como uma metodologia de desenvolvimento formada por partes que já existiam na plataforma ABAP, combinadas sob um único conjunto de regras:

  • ABAP CDS para modelos de dados e queries analíticas.
  • O ABAP RESTful Application Programming Model (RAP) para business objects transacionais e serviços.
  • ABAP for Cloud Development, uma versão restrita da linguagem que permite apenas um subconjunto dos comandos ABAP; as telas dynpro clássicas, por exemplo, não fazem parte dela.
  • APIs e pontos de extensão liberados pela SAP como o único caminho permitido para acessar código e dados da SAP.
  • ABAP Development Tools no Eclipse como IDE, com as ABAP development tools para Visual Studio Code como opção adicional.

Sobre essa base, o modelo oferece serviços de reúso, como intervalos de numeração, application jobs e um repositório de UI para apps SAPUI5 e SAP Fiori elements. O ABAP Cloud é, portanto, um conjunto de regras para usar o ABAP moderno, e não uma nova linguagem nem um runtime separado.

Onde o ABAP Cloud está disponível?

ProdutoModelos de desenvolvimentoObservações
SAP BTP ABAP environmentSomente ABAP CloudIntroduziu a versão de linguagem ABAP for Cloud Development em 2018
SAP S/4HANA Cloud Public EditionSomente ABAP CloudUsado para a extensibilidade de desenvolvedor, on-stack no mesmo sistema
SAP S/4HANA Cloud Private Edition e on-premiseABAP Cloud e ABAP clássicoDisponível a partir do SAP S/4HANA 2022 (ABAP 7.57)

O SAP BTP ABAP environment é um serviço de plataforma para desenvolvimento ABAP side-by-side e costuma ser chamado pelo nome interno do projeto na SAP, Steampunk. No SAP S/4HANA, o mesmo modelo roda dentro do ERP, o que o glossário ABAP da SAP chama de embedded Steampunk. Na Private Edition e no on-premise, cada objeto de desenvolvimento tem uma versão de linguagem, de modo que uma equipe pode construir objetos novos com ABAP Cloud enquanto o código mais antigo continua clássico.

O ABAP Cloud é a única opção de ABAP nos produtos de nuvem pública e a opção recomendada, ao lado do ABAP clássico, em todos os demais.

Como o ABAP Cloud garante a estabilidade em upgrades?

O ABAP Cloud transforma as regras de clean core em verificações executadas enquanto o código é escrito:

  1. Todo objeto de desenvolvimento tem uma versão de linguagem ABAP. Objetos em ABAP for Cloud Development são verificados pela verificação de sintaxe e em tempo de execução.
  2. A verificação de sintaxe aceita apenas objetos SAP liberados para desenvolvimento em nuvem sob o contrato de liberação C1, além de pontos de extensão liberados sob C0.
  3. A SAP verifica seus próprios objetos liberados em relação ao contrato de liberação, de modo que não se esperam mudanças incompatíveis em um upgrade.
  4. Na Private Edition e no on-premise, quando falta uma API liberada necessária, a orientação da SAP permite um wrapper escrito em ABAP clássico, liberado pelo cliente com o contrato C1 e governado com verificações do ABAP Test Cockpit.

Na Alder Manufacturing, um app customizado de aprovação para o cadastro de fornecedores construído dessa forma lê os dados de fornecedor por meio de CDS views liberadas, e não de tabelas SAP. O ABAP Cloud faz da estabilidade em upgrades uma propriedade do compilador, e não uma promessa de code review.

Quais são os pontos fortes do ABAP Cloud?

  • Upgrades previsíveis. Código que compila sob o ABAP Cloud depende apenas de objetos liberados, o que reduz o trabalho de regressão a cada mudança de release.
  • Um modelo para todas as implantações. As mesmas competências e padrões valem no SAP BTP ABAP environment, na Public Edition e na Private Edition ou no on-premise.
  • Competências ABAP existentes. As equipes mantêm o ABAP, os transportes e a gestão de ciclo de vida conhecida, em vez de trocar de linguagem.
  • Proximidade dos dados. O código ABAP Cloud on-stack roda junto aos dados e às transações do SAP S/4HANA, com uma consistência transacional que uma extensão remota não consegue oferecer.
  • Caminho integrado para o SAP Fiori. Os serviços RAP alimentam diretamente apps SAP Fiori elements.

Para o ABAP customizado que precisa sobreviver a mudanças de release, o ABAP Cloud é o modelo de desenvolvimento em torno do qual as ferramentas, as verificações e a documentação da SAP foram construídas.

Onde o ABAP Cloud para?

  • Limitado às APIs liberadas. Onde a SAP não liberou um objeto, o código ABAP Cloud não pode usá-lo. Na Public Edition a lacuna permanece até a SAP liberar uma API; nos demais casos, ela é contornada com wrappers que exigem um responsável.
  • Padrões legados ficam de fora. Telas dynpro clássicas e relatórios com saída no SAP GUI não fazem parte do modelo, por isso o código existente raramente é portado sem redesenho.
  • Curva de aprendizado. CDS, behavior definitions do RAP e ferramentas baseadas no Eclipse são novidade para muitos desenvolvedores ABAP clássicos.
  • Não é um processo de governança. O ABAP Cloud garante como o código depende da SAP; não decide o que construir, quem é o responsável nem como isso se conecta a um processo de negócio.

O ABAP Cloud protege a dependência técnica; escopo, responsabilidade e aderência ao processo continuam sendo decisões separadas.

Quais são os erros comuns na adoção do ABAP Cloud?

  1. Tratar o ABAP Cloud como um produto a licenciar. Ele é um modelo de desenvolvimento; os produtos são o SAP BTP ABAP environment e o SAP S/4HANA.
  2. Misturar versões de linguagem sem um plano. Na Private Edition, decida por software component quais objetos devem ser ABAP Cloud e imponha isso com o ABAP Test Cockpit.
  3. Usar wrappers por padrão. Um wrapper C1 é uma ponte para uma API ausente; procure primeiro uma API liberada.
  4. Escolher o lugar errado. Use ABAP Cloud on-stack quando a lógica precisa de consistência transacional com os dados do SAP S/4HANA; use o SAP BTP ABAP environment ou outros runtimes quando a extensão precisa de um ciclo de vida próprio.

O critério de decisão é a dependência: se a lógica precisa alterar dados SAP na mesma unidade de trabalho, o ABAP Cloud on-stack costuma ser o lugar certo.

ABAP Cloud vs. clean core: qual é a diferença?

ABAP CloudClean core
O que éUm modelo de desenvolvimento e uma versão da linguagem ABAPUm princípio e uma meta de governança
EscopoCódigo ABAP customizado on-stack ou no SAP BTP ABAP environmentExtensões, configuração, integração, dados e operações
Imposto porVerificações de sintaxe e de runtime sobre APIs liberadasPolíticas, verificações do ABAP Test Cockpit, níveis de clean core
RelaçãoUm dos principais caminhos para atingir a meta no código ABAPA meta

O ABAP Cloud é o modelo de desenvolvimento que torna o ABAP customizado clean por construção; o clean core é a meta mais ampla à qual ele serve.

Perguntas frequentes

O ABAP Cloud é a mesma coisa que o SAP BTP ABAP environment?

Não. O ABAP Cloud é o modelo de desenvolvimento; o SAP BTP ABAP environment é um produto que o oferece, como o único modelo ABAP disponível nele. O SAP S/4HANA Cloud Public Edition, a Private Edition e o on-premise a partir do release 2022 também oferecem o ABAP Cloud.

Dá para usar ABAP Cloud no SAP S/4HANA on-premise?

Sim, a partir do SAP S/4HANA 2022 (ABAP 7.57). Sistemas on-premise e Private Edition oferecem o ABAP Cloud ao lado do ABAP clássico, e a versão de linguagem de cada objeto de desenvolvimento define quais regras se aplicam. A SAP recomenda o ABAP Cloud para novos desenvolvimentos sempre que possível.

Código ABAP Cloud pode chamar BAPIs ou ler tabelas SAP?

Não diretamente. O código ABAP Cloud só pode usar APIs liberadas. Na Private Edition e no on-premise, um wrapper escrito em ABAP clássico e liberado com o contrato C1 pode expor uma API clássica, como uma BAPI, ao código ABAP Cloud.

Qual IDE é necessária para o ABAP Cloud?

As ABAP Development Tools no Eclipse são a IDE principal do ABAP Cloud, e a SAP também oferece as ABAP development tools para Visual Studio Code. As ferramentas de key user usam a versão de linguagem separada ABAP for Key Users dentro de apps SAP Fiori, sem IDE.

Fontes

Aplica-se a
SAP S/4HANA Cloud Public Edition · SAP S/4HANA Cloud Private Edition · SAP S/4HANA on-premise · 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.