O SAP S/4HANA suporta as seguintes abordagens de extensibilidade.

A extensibilidade integrada suporta extensões diretamente na pilha de software do SAP S/4HANA. Você se beneficia do fato de que nenhum comutador de pilha é necessário para gerenciar e executar as extensões.
A extensibilidade lado a lado fornece uma abordagem mais ampla que aproveita todos os recursos do SAP Business Technology Platform (SAP BTP). As ampliações são acopladas livremente ao SAP S/4HANA e são baseadas em APIs e eventos remotos estáveis. Isso reduz os custos de atualização de software em ambos os lados. O software principal e as extensões podem ser atualizados de forma independente.
Casos de uso para extensões lado a lado são aplicações completamente novas. Por exemplo, com base na experiência de usuário do SAP Fiori com desenvolvimento nativo do SAP HANA ou integração com outros aplicativos da SAP e com soluções de terceiros.
Vamos agora discutir as diferentes opções de extensibilidade mais detalhadamente.

A primeira opção é o desenvolvimento personalizado ABAP clássico, que já é familiar a partir do SAP Business Suite. Aqui você tem toda a liberdade de desenvolvimento personalizado usando a linguagem padrão ABAP com ferramentas de desenvolvimento ABAP, que podem ser as ferramentas no Eclipse ou as ferramentas fornecidas no SAP GUI.
Você pode usar tecnologias de ampliação sem modificações aqui, mas na instalação on-premise do SAP S/4HANA, você ainda tem a opção de modificar o código ABAP, embora isso não seja recomendado. A desvantagem deste modelo de programação é que as atualizações de software exigem um grande esforço de adoção no código do cliente ou do parceiro.
A segunda opção é a extensibilidade de usuário-chave para suportar projetos de adaptação orientados por linha de negócios. Os modelos mais familiares dessa extensibilidade, como extensões de campo, são oferecidos aos usuários-chave. São personas que têm profundo conhecimento empresarial, mas não necessariamente conhecimento técnico. As extensões são criadas com base em APIs robustas, de modo que o ciclo de vida é separado do software principal. Isso significa que as atualizações de software para o software central e para as extensões podem ser executadas de forma independente.
As ferramentas configuradas para extensibilidade de usuário-chave são baseadas na Web e a SAP fornece uma versão especial da linguagem ABAP chamada ABAP para usuários-chave. Esta é uma versão simplificada e restrita da linguagem de programação ABAP projetada para robustez, segurança, consistência de dados e simplicidade.
A extensibilidade de usuário-chave não foi desenvolvida para desenvolver aplicações do zero nem está prevista para equipes de desenvolvimento maiores. O grupo-alvo são usuários-chave e consultores que conhecem seus negócios e utilizam essa abordagem para implementar seus requisitos.
As ampliações lado a lado são executadas no SAP BTP e são sempre baseadas em APIs e eventos remotos. Para extensões baseadas em Java- e Node.js, um SDK correspondente facilita o uso das APIs e eventos disponíveis.
As ampliações lado a lado também podem ser criadas no ambiente ABAP do SAP BTP. Essas extensões usam o ABAP como linguagem de programação e também são implementadas com base em eventos e API remotos.
A SAP oferece uma versão ABAP especial para SAP BTP, que também é uma versão simplificada e restrita projetada para robustez, segurança, consistência de dados e simplicidade. No entanto, as restrições são menos rígidas do que para ABAP para usuários-chave.
Como você pode ver na figura, todas as opções de ampliação estão disponíveis para a versão on-premise do SAP S/HANA, enquanto o desenvolvimento ABAP personalizado não está disponível para a versão em nuvem.