Retrouver un champ SQL à partir de sa désignation : Sage X3 V12

Même avec une solide maîtrise du SQL, retrouver un champ dans une base de données X3 peut s’avérer fastidieux. Que ce soit pour rédiger une requête ou intégrer ce champ à un autre système, cette tâche peut facilement vous prendre 30 minutes à 1 heure ⏳.

Mais… et si vous cherchiez au mauvais endroit

En réalité, il existe une méthode plus efficace 🚀 pour retrouver un champ sans perdre de temps et sans même rédiger une requête SQL ! ⏭️💡

Comment ? Je vous donne juste ici ma méthode pour retrouver un champ SQL à partir de sa désignation.

Table des matières

1. L’objectif : l’obtention du champ

Je vous propose un tutoriel avec comme exemple une fiche client. Sur cette dernière, il est possible d’ajouter plusieurs contacts pour un même client. Cependant, seul l’un d’eux peut êtremon contact par défaut.

Par conséquent, quand je coche le champ « contact par défaut », j’ai besoin de savoirquel contact va être assigné à cette valeur.

À l’aide des touches Échap + F6, j’obtiens les détails du champ correspondant. Ici : KCNTFLG.

2. Le blocage : l'inexistence du champ

J’ai bien obtenu le champ correspondant à ma case « contact par défaut ». Pourtant, comme indiqué dans mon image ci-dessous,ce champ (donc KCNTFLG) est introuvable. Autant dans la table CONTACT que dans la table CONTACTCRM.

La recherche du champ via l’écran RECHAMZ ne ramène aucune table liée au champ KCNTFLG.

À partir d’ici j’aurais pu décider de fouiller dans les tables SQL. Auquel cas, j’aurais pris beaucoup de temps pour retrouver cette information.

À partir d’ici j’aurais pu décider de fouiller dans les tables SQL. Auquel cas, j’aurais pris beaucoup de temps pour retrouver cette information.

3. La solution : les transactions systèmes

Car, en effet, il existe une solution bien plus simple. Vous pouvez retrouver un champ SQL à partir de sa désignation. Et c’est d’interroger la base de données des transactions systèmes.

Voici la procédure à suivre :

  • Ouvrez les transactions systèmes.
  • Effacez la table pour parcourir l’ensemble de la base de données.
  • Cliquez sur la loupe en bas à droite.
  • Dans  « contact par défaut », entrez en mot-clé la description du champ. Ici : KCNTFLG

Si dans mon exemple, je tape KCNTFLG depuis ma colonne « code champ », a priori, ce champ n’existe pas.

Et pour cause : il n’appartient à aucune des tables de mes contacts CRM.

4. L’explication : l’architecture SQL

La confusion vient del’architecture de l’écran dans Sage X3. En effet, l’interface utilisateur diffère de la base de données SQL. Et de sa façon de stocker les informations.

Dans Sage X3, les données des tiers, clients et fournisseurs sont stockées dans des tables spécifiques. Cependant, pour le champ  « contact par défaut », pas de case à cocher dans la table des contacts.

Car pour la base de données,ce qui est enregistré dans les tables, c’est le code du contact par défaut dans les tables des clients et fournisseurs.

Conclusion

Interroger la base SQL pour retrouver un champ SQL à partir de sa désignation permettra uniquement dechercher un champ à partir d’un code. Et ce, en visualisant INFORMATION_SCHEMA.COLUMNS. Mais quand le code du champ est inconnu, il y a plus rapide. Le plus efficace, c’est de consulter la base de données des transactions systèmes. Car les tables visibles dans l’interface utilisateur diffèrent des tables de données de Sage X3.

Pour plus d’explications, retrouvez ma vidéo sur commentretrouver un champ SQL à partir de sa désignation sur Sage X3 V12.

Besoin d’un(e) professionnel(le) ? Contactez-moi et assurons ensemble le cycle de vie de vos projets.

Envie d’aller plus loin ? Assurez dès maintenant la bonne santé de votre entreprise avec l’article Gestion des procédures internes : les meilleures pratiques.

À bientôt pour un nouvel article !

Maud Cappelle

0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest

0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x