Le véritable défi d’un expert ETL n’est pas seulement de livrer des données rapidement, mais c’est aussi de bâtir des flux ETL robustes et maintenables, c’est-à-dire des traitements capables de s’auto-diagnostiquer, faciles à faire évoluer et documentés par design. Sur SAP BODS (SAP Data Services), appliquer quelques bonnes pratiques fait toute la différence entre un flux qui tient cinq ans et un flux qu’on redéveloppe à chaque départ de consultant. Dans ce guide, nous explorons 7 règles d’or pour passer du « bricolage » à une architecture de données industrielle et pérenne.
Règle n°1 : Le Template de Job Standard — Ne plus jamais partir de zéro
L’anarchie commence quand chaque développeur crée sa propre structure.
- Le concept : créez un Job « modèle » qui contient déjà les objets de base : un script d’initialisation (pour charger les variables globales), un bloc Try/Catch global, et un script de fin (pour logger le succès ou l’échec).
- L’avantage : tous vos jobs se ressemblent, ce qui facilite énormément la compréhension par un nouveau consultant.
Règle n°2 : Naming Convention BODS — la clarté au premier regard
Rien n’est pire qu’un Dataflow nommé DataFlow_1 contenant des Query, Query_1, Query_2.
- La règle : adoptez un préfixe par type d’objet (ex : DF_ pour Dataflow, WF_ pour Workflow, QRY_ pour un Query Transform, LKP_ pour un Lookup).
- L’astuce : nommez vos objets selon leur action. Au lieu de QRY_Calcul, utilisez QRY_Calcul_TVA_Ventes. La maintenance devient visuelle.
💡 SAP Data Services : pourquoi choisir DeciVision ?
Découvrez notre expertise et notre retour d’expérience sur l’outil pour fiabiliser vos flux ETL dans la durée.
Découvrir notre expertise SAP Data Services →Règle n°3 : Naming Convention BODS — la clarté au premier regard
Un job qui « tombe » sans prévenir est une bombe à retardement.
- Le Try/Catch : encapsulez vos Workflows critiques. Dans le bloc Catch, utilisez une fonction pour récupérer l’erreur via error_message() et error_context().
- L’alerte : automatisez l’envoi d’un mail ou l’insertion d’une ligne dans une table de bord (Monitoring) pour que l’équipe d’exploitation soit prévenue avant même que l’utilisateur ne s’en aperçoive.
Règle n°4 : Le Paramétrage ETL par Table — zéro « hard-coding »
Évitez d’écrire des chemins de fichiers comme C:\Interfaces\Input ou des dates fixes directement dans vos filtres.
- La méthode : créez une table de configuration (ou un fichier .ini) qui stocke ces valeurs. Au démarrage du Job, le script d’initialisation lit ces valeurs et les affecte à des variables globales ($G_Path_Input).
- L’avantage : pour changer de serveur ou de répertoire, vous modifiez une ligne en base de données, pas le code BODS (pas de transport nécessaire).
Règle n°5 : L'Audit de Flux BODS — compter pour ne rien perdre
Comment savoir si 10 lignes n’ont pas disparu lors d’une jointure complexe ?
- L’outil : utilisez l’onglet Audit sur le Dataflow. Vous pouvez définir des règles simples : « le nombre de lignes en sortie doit être égal au nombre de lignes en entrée ».
- L’action : si la règle n’est pas respectée, vous pouvez configurer BODS pour qu’il arrête le job ou qu’il génère un warning. C’est le meilleur moyen de garantir l’intégrité des données — une logique proche de ce qu’on retrouve sur des outils de data quality comme Talend Data Quality.
Règle n°6 : La Documentation Technique ETL — le « Pourquoi » plutôt que le « Comment »
Dans six mois, vous aurez oublié pourquoi vous avez mis ce filtre WHERE Type_Client <> ‘Z’.
- L’annotation : utilisez l’outil de note (l’icône de bulle) directement sur le canevas du Dataflow pour expliquer les règles métier complexes.
- Descriptions d’objets : remplissez systématiquement le champ « Description » dans les propriétés de chaque Workflow/Dataflow. C’est cette description qui apparaîtra dans les rapports de documentation automatique.
Règle n°7 : Nettoyage Projet BODS et Repository Central — éviter l'encombrement
Un projet surchargé d’objets « Test », « Old » ou « V2 » ralentit l’ouverture du Designer et induit en erreur.
- La discipline : avant chaque livraison en recette ou production, faites un ménage strict. Utilisez la fonction « Find Usage » pour vérifier qu’un objet n’est plus lié à rien avant de le supprimer.
- Référentiel central : pour le travail en équipe, utilisez systématiquement le Central Repository avec le check-in/check-out pour éviter d’écraser le travail des autres.
Conclusion de l’expert
La robustesse d’un projet SAP BODS ne repose pas sur une fonctionnalité miracle, mais sur une discipline de fer. En adoptant des templates standardisés, une nomenclature rigoureuse et une gestion d’erreurs proactive, vous ne vous contentez pas de déplacer des données : vous construisez des flux ETL robustes et maintenables, un actif fiable pour votre entreprise.
Appliquer ces sept règles demande un investissement initial, mais le gain est inéluctable :
- Moins de stress lors des mises en production.
- Un temps de débogage fortement réduit.
- Une passation technique fluide entre les équipes.
TMA BI : faire ou faire faire ?
Découvrez notre offre de Tierce Maintenance Applicative pour sécuriser vos flux ETL dans la durée, sans mobiliser vos équipes internes.
Découvrir notre offre TMA →

