ABAP (Advanced Business Application Programming) est le langage de programmation principal pris en charge sur la plate-forme de serveur d’applications SAP NetWeaver ABAP et les applications qui s’y exécutent, telles que SAP ERP (anciennement R/3), S/4HANA et CRM.

SAP utilise ABAP pour implémenter ses propres applications sur la plate-forme ABAP de NetWeaver, et les clients SAP utilisent ABAP pour modifier les fonctionnalités des applications SAP ou créer les leurs sur la plate-forme ABAP de NetWeaver. ABAP est la plus ancienne et, probablement, la plus utilisée des quatre principales plates-formes d’application de SAP, qui comprend également SAP NetWeaver Java, SAP HANA et SAP Cloud Platform.

Évolution de l’ABAP

SAP ABAP a commencé dans les années 1980 en tant que langage de génération de rapports dans les produits SAP. Il a joué un rôle central dans SAP R/3 en tant que langage principal d’implémentation et d’extension du système de planification des ressources d’entreprise (ERP). Au fil des ans, il a acquis de nouvelles fonctionnalités, notamment l’introduction de constructions orientées objet, appelées objets ABAP, en 1999 et l’introduction de nouvelles méthodes d’accès aux bases de données et d’une grande quantité de nouvelle syntaxe à partir de 2010.

Les fonctionnalités ABAP sont étroitement couplées à la version SAP R/3 ou NetWeaver utilisée. La seule façon d’accéder aux nouvelles fonctionnalités du langage est de passer à une version plus récente du serveur d’applications ABAP. Dans de nombreux cas, les programmes écrits à l’aide de fonctionnalités d’une version de serveur d’applications plus récente ne s’exécuteront pas sur les anciens systèmes SAP.

Outils de développement ABAP

De loin le plus grand développeur de code ABAP est SAP lui-même. Cependant, plusieurs milliers de développeurs ABAP travaillent avec des clients SAP et des sociétés de conseil pour maintenir et modifier les systèmes SAP. ABAP figure régulièrement dans le top 30 de l’indice Tiobe, qui suit à peu près la popularité des langages de programmation.

Les développeurs qui travaillent dans ABAP le font généralement dans les Outils de développement ABAP (un ensemble de plug-ins pour la plate-forme de développement Java open source Eclipse) ou dans la transaction ABAP Workbench dans l’interface utilisateur graphique (GUI) SAP. Les deux environnements offrent un ensemble d’outils pour faciliter le développement, de la complétion de code aux outils de test automatisés.

 Classe ABAP dans Eclipse
Une classe ABAP vide dans les outils de développement ABAP comme on le voit dans Eclipse.

SAP Solution Manager propose également des outils pour gérer le cycle de vie de développement du code ABAP. Il y a peu de support pour les outils de développement au-delà de ce que fournit SAP, bien que certains clients aient construit leurs propres intégrations avec des outils tiers d’intégration continue, de contrôle de version et de suivi des bogues.

Fonctionnalités spéciales et infrastructure ABAP plus grande

ABAP n’est pas autonome, et il est hautement intégré aux autres fonctionnalités du serveur d’applications SAP NetWeaver ABAP. Parmi ceux-ci sont les suivants:

  • Connexions de base de données logiques, qui permettent d’extraire du code d’une base de données spécifique. Les connexions de base de données réelles sont configurées en dehors du code ABAP, ce qui permet d’utiliser le même code dans différents environnements de base de données.
  • Open SQL, une abstraction de syntaxe SQL qui fait partie du langage ABAP et que l’environnement d’exécution ABAP convertit en SQL natif approprié à la base de données utilisée. Open SQL présente de nombreuses similitudes avec le concept de requête intégrée au langage (LINQ) de Microsoft .NET.
  • Tables internes, qui contiennent des collections d’objets accessibles à l’aide de mots-clés de langage spéciaux ou de SQL ouvert. Ce concept ABAP contraste avec le concept de tableaux typés comme en Java ou en C++.
  • Sécurité, dans laquelle ABAP est intégré à l’infrastructure de sécurité de SAP NetWeaver.
  • Dictionnaire de données, un dictionnaire universel de définitions de structures de données, incluant souvent la logique métier, qui est disponible pour tous les programmes ABAP d’un système.
  • Système de changement et de transport (CTS), qui suit les modifications apportées aux objets de développement et gère la promotion des objets de développement dans les environnements d’assurance qualité et de production.
  • Système de développement partagé, qui est un aspect important de l’ABAP. ABAP diffère de la plupart des langages plus récents en ce sens que le développement se déroule généralement sur un système partagé, tous les développeurs travaillant sur le même ensemble d’objets de développement en même temps.

ABAP et HANA

ABAP continue d’être une partie importante de la pile technologique de SAP.

Bien qu’il ait joué un rôle réduit dans de nombreux produits avec l’avènement de la plate-forme HANA, il reste au cœur des produits les plus largement déployés de SAP, joue un rôle important dans la plate-forme ERP S / 4HANA de nouvelle génération de SAP et a été annoncé comme un runtime pour la plate-forme SAP Cloud.