Vos besoins fonctionnels peuvent parfois nécessiter d'aller au delà du développement classique par du code "non conventionnel" afin de pousser votre système au maximum de ses capacités.
Bien entendu, ces techniques ne sont employées uniquement lorsque cela s'avère pertinent. Elles sont totalement transparentes pour les utilisateurs, mais apportent de la valeur ajoutée à vos développements et plus de contrôle sur vos systèmes. Au travers de divers projets, nous avons employé :
Certaines données ou logique peuvent ne pas être connues ou disponibles au moment de la compilation, voire même impossible à implémenter. Pour passer outre ces contraintes, nous pouvons utiliser les capacités du langage ABAP pour exécuter certaines logiques dynamiquement, qui seront évaluées uniquement au moment de l'exécution.
Le développement dynamique comprend :
Concept connu dans le monde de Java, la réflexion et l'introspection sont les techniques qui permettent de "découvrir" pendant l'exécution d'un programme des informations sur des variables, structures, objets, classes... Même si cela peut sembler inutile à première vue, c'est très utile quand il est nécessaire d'écrire du code générique pour lequel il faut éviter au maximum les parties "codées en dur". Nous avons utilisé cette technique dans une application assez complexe supposée tracer et identifier tous les objets créés par, ni plus ni moins que, le moteur BSP du CRM Web UI.
La méta programmation consiste essentiellement de programmes qui écrivent des programmes. Il ne s'agit pas de physique quantique ! Cela ouvre un champ nouveau de possibilités et vous permet de générer du code ABAP pendant l'exécution d'un programme et de l'exécuter à la volée. Nous avons utilisé cette technique, par exemple pour :