Guide complet des points d'entrée dans Sage X3

Maîtrisez la personnalisation avancée de votre ERP

Découvrez comment maîtriser les points d'entrée dans Sage X3, un mécanisme puissant permettant de personnaliser votre ERP sans compromettre son intégrité. De l'architecture technique aux bonnes pratiques de développement, ce guide complet vous accompagne dans l'optimisation de vos processus métier.
Image 1
Les points d'entrée constituent un élément fondamental de la personnalisation de Sage X3, permettant aux entreprises d'adapter l'ERP à leurs besoins spécifiques tout en préservant la compatibilité avec les futures mises à jour. Cette fonctionnalité avancée offre aux développeurs la possibilité d'injecter du code personnalisé de manière structurée et sécurisée. Comprendre et maîtriser ces points d'entrée devient ainsi crucial pour toute organisation souhaitant tirer le meilleur parti de son système Sage X3.

Comprendre les points d'entrée

Les points d'entrée dans Sage X3 constituent un mécanisme sophistiqué permettant d'injecter du code personnalisé dans les processus standard sans altérer le code source original. Cette approche révolutionnaire offre aux développeurs la possibilité d'adapter spécifiquement les fonctionnalités de l'ERP tout en préservant l'intégrité du système.

Contrairement à la modification directe du code standard, les points d'entrée garantissent la maintenabilité des personnalisations lors des montées de version. Le traitement spécifique doit respecter une structure particulière en commençant par l'étiquette $ACTION et en conservant l'environnement du programme standard.

Cette architecture modulaire permet de référencer les traitements spécifiques dans une table dédiée, livrée vide par défaut. Chaque point d'entrée est documenté dans une fiche technique précisant le contexte d'appel et les variables disponibles, facilitant ainsi le développement de personnalisations robustes et évolutives.

Visuel 2

Architecture et mécanismes d'injection

L'architecture technique des points d'entrée Sage X3 repose sur un mécanisme d'injection sophistiqué permettant d'intégrer du code personnalisé dans les processus standard sans altérer le code source original. Cette approche garantit la maintenabilité et la mise à jour des versions.

Le mécanisme GPOINT constitue le cœur de ce système. Dans le code standard, les points d'entrée sont identifiés par le mot-clé "GPOINT" suivi d'un nom spécifique. Par exemple, dans le traitement de saisie des commandes clients (Object SOH), on trouve des instructions du type : GPOINT = "CPLCREGRA" : Gosub ENTREE From EXEFNC. Cette syntaxe déclenche l'appel du traitement personnalisé associé lors de l'exécution.

L'identification des points d'entrée disponibles peut s'effectuer de deux manières principales. La première consiste à consulter l'aide en ligne de Sage X3, section "Development" > "Entry Points", qui fournit une documentation structurée par module. La seconde méthode implique une recherche directe dans le code source en utilisant le mot-clé "GPOINT" pour localiser tous les points d'injection disponibles dans un traitement donné.

Les règles d'écriture des traitements personnalisés suivent une structure imposée. Chaque traitement doit obligatoirement commencer par la section $ACTION, qui analyse la variable ACTION contenant le nom du point d'entrée appelé :

$ACTION
Case ACTION
When "CPLCREGRA" : Gosub CPLCREGRA
Endcase
Return

Cette architecture permet de gérer plusieurs points d'entrée dans un même traitement personnalisé. Les développements spécifiques liés à plusieurs points d'entrée d'un même traitement standard doivent impérativement s'écrire dans un traitement spécifique unique, optimisant ainsi la maintenance et les performances.

Le processus d'attachement s'effectue via la table des points d'entrée, où chaque traitement personnalisé est associé à son traitement standard correspondant. Cette configuration établit le lien dynamique permettant l'injection du code personnalisé au moment approprié de l'exécution.

Visuel 3

Points d'entrée du module tronc commun

Le module tronc commun de Sage X3 constitue la fondation de l'ERP et offre une riche collection de points d'entrée permettant de personnaliser les processus fondamentaux du système. Ces points d'entrée couvrent l'ensemble des fonctionnalités transversales utilisées par tous les autres modules.

Gestion des impressions et éditions

Les traitements AIMP1 et AIMP3 permettent de personnaliser le processus d'impression des états. Le point d'entrée AIMP1 intervient lors de l'impression d'un état, tandis qu'AIMP3 offre des possibilités d'adaptation plus avancées pour les impressions. Ces points d'entrée sont particulièrement utiles pour modifier les paramètres d'impression, rediriger vers des imprimantes spécifiques ou ajouter des contrôles personnalisés.

Le traitement ETAT propose des sous-programmes d'appel au traitement d'édition d'un état, permettant d'intervenir dans la génération des rapports avec des logiques métier spécifiques.

Workflow et messagerie

Les traitements AWRK et AWRKMEL constituent les piliers de la personnalisation du workflow. AWRK gère la constitution des messages par le workflow, tandis qu'AWRKMEL se concentre sur l'envoi de messages. Ces points d'entrée permettent de personnaliser les destinataires, modifier le contenu des messages ou ajouter des conditions d'envoi spécifiques.

Gestion des objets et écrans

Le traitement GESECRAN offre des sous-programmes pour la gestion des saisies dans les écrans, permettant d'ajouter des contrôles personnalisés ou de modifier le comportement des champs. GENECR intervient lors de la génération d'écrans, offrant la possibilité d'adapter dynamiquement l'interface utilisateur.

Le point d'entrée CONTOBJ permet d'effectuer des contrôles d'objets personnalisés, essentiels pour valider des données selon des règles métier spécifiques.

Imports et exports

Les traitements GEXPOBJ et TRTEXPOBJ gèrent respectivement la gestion des exports et leur exécution. Ces points d'entrée permettent de personnaliser les données exportées, d'ajouter des filtres ou de modifier le format de sortie.

Pour les imports, TRTIMPOBJ et SUBIMPOBJ offrent des possibilités de personnalisation lors de l'exécution des imports, permettant d'adapter les données entrantes aux besoins spécifiques de l'entreprise.

Administration et sécurité

Le traitement GESUSER permet de personnaliser l'initialisation du contexte utilisateur, tandis que CHGUSR intervient lors du changement d'utilisateur dans une session. Ces points d'entrée sont cruciaux pour implémenter des politiques de sécurité personnalisées ou initialiser des paramètres utilisateur spécifiques.

Personnalisation du module stocks

Le module stocks de Sage X3 offre une multitude de points d'entrée permettant d'adapter finement les processus de gestion des stocks aux besoins spécifiques de l'entreprise.

Les traitements les plus couramment personnalisés incluent STKALL pour la gestion des allocations automatiques, STKENT pour les entrées en stock, et STKSOR pour les sorties. Ces points d'entrée permettent de modifier les paramètres d'allocation, d'ajouter des contrôles spécifiques sur les lots, ou encore de personnaliser les règles de sortie automatique.

Pour les processus de préparation, le traitement FUNAUTPREP propose des points d'entrée comme AUTPRLFIL pour ajouter des critères de sélection des commandes, ou AFTER_GEN_BPR pour intervenir après la génération des bons de préparation.

La valorisation des stocks peut être personnalisée via STKVAL avec le point d'entrée DEFPRI qui permet de définir un prix différent de celui de la méthode standard, particulièrement utile pour les entreprises ayant des règles de valorisation spécifiques.

Les contrôles qualité bénéficient également de nombreux points d'entrée dans SUBSTQ et SUBSTQB, permettant d'adapter les processus de validation aux normes sectorielles particulières.

Traitements workflow et messages

Les points d'entrée de workflow dans Sage X3 permettent une personnalisation avancée des processus de validation et de la gestion des messages. Le point d'entrée AWRKMEL constitue l'outil principal pour intervenir sur l'envoi des notifications par email.

Pour identifier le workflow actuel, plusieurs méthodes sont disponibles. La première consiste à utiliser la table [F:AWA] avec le test dim([F:AWA]CODE)>0 pour vérifier la présence d'un workflow. Une approche alternative utilise la variable GNAVIG pour détecter le traitement en cours et adapter le comportement en conséquence.

La personnalisation des expéditeurs s'effectue en modifiant la variable EXP_MAIL selon le contexte. Par exemple :

If [F:AWA]CODE='FUP'
EXP_MAIL='[email protected]'
Endif

Cette approche permet d'adapter l'expéditeur selon le type de workflow, garantissant une meilleure traçabilité des communications. Pour les workflows complexes, l'utilisation de la table AWRKHISSUI permet de remonter aux paramètres du workflow via [L]CHRONO.

Les notifications conditionnelles peuvent également être implémentées en testant la navigation avec GPILNAV, permettant d'adapter les destinataires selon le contexte fonctionnel. Cette flexibilité assure une gestion des messages parfaitement adaptée aux besoins métier de chaque organisation.

Méthodologie et bonnes pratiques

L'implémentation des points d'entrée Sage X3 nécessite une approche méthodologique rigoureuse pour garantir la stabilité et les performances du système. Une planification minutieuse permet d'éviter les écueils courants et d'optimiser les développements spécifiques.

La première étape consiste à identifier précisément le contexte d'appel du point d'entrée. Il est essentiel de comprendre l'environnement du traitement standard, les variables disponibles et les données manipulées. Cette analyse préalable détermine la faisabilité et la pertinence du développement envisagé.

Le développement du traitement spécifique doit respecter la structure imposée par Sage X3. Le traitement doit impérativement commencer par l'étiquette $ACTION, dans laquelle les différentes valeurs de la variable ACTION sont testées. Cette approche permet de gérer plusieurs points d'entrée dans un même traitement spécifique.

Les bonnes pratiques de développement incluent la gestion des erreurs, la validation des données d'entrée et la préservation de l'environnement du programme standard. Il est crucial de ne pas modifier les variables globales sans précaution et de documenter les modifications apportées.

Pour le débogage, l'utilisation des traces système et des messages d'information permet de suivre l'exécution du code. Les tests doivent être effectués en environnement de développement avant la mise en production.

Une checklist de validation doit vérifier : la compilation sans erreur, la déclaration correcte dans la table des points d'entrée, les tests unitaires, la documentation technique et l'impact sur les performances. Cette validation systématique garantit la qualité et la maintenabilité des développements.

La maîtrise des points d'entrée dans Sage X3 représente un atout majeur pour optimiser et personnaliser votre système ERP. En suivant les bonnes pratiques et la méthodologie présentées dans ce guide, vous pourrez développer des solutions robustes et maintenables, parfaitement adaptées à vos besoins métier. L'approche structurée de la personnalisation via les points d'entrée garantit la pérennité de vos développements tout en préservant l'intégrité du système lors des montées de version.

Les questions fréquentes