Comment afficher dynamiquement les champs d'une table dans Sage X3 via SQL
mai 17, 2025
🧾 Comment afficher dynamiquement les champs d'une table dans Sage X3 avec SQL
Dans Sage X3, il est parfois nécessaire de lister dynamiquement les champs d’une table interne (comme XSAL
pour les salariés), en affichant leurs codes, noms lisibles et types.
Voici une requête SQL utile pour extraire :
- Le code de la table
- Le nom de la table (multilingue)
- Le type de champ
- Le code de champ
- Le nom de champ en français
📋 Requête SQL
/* Sélection des champs d'une table Sage X3 */
SELECT
ATABLE.CODFIC_0 AS Code_Table,
ATEXTE2.TEXTE_0 AS TABLE_NAME,
ATABZON.CODTYP_0 AS Type_Champ,
ATABZON.CODZONE_0 AS Code_Champ,
ATEXTE.TEXTE_0 AS Nom_Champ
FROM
x3.BASE1.ATABZON AS ATABZON
LEFT OUTER JOIN
x3.BASE1.ATABLE AS ATABLE
ON ATABLE.CODFIC_0 = ATABZON.CODFIC_0
LEFT OUTER JOIN
x3.BASE1.ATEXTE AS ATEXTE
ON ATABZON.NOLONG_0 = ATEXTE.NUMERO_0
LEFT OUTER JOIN
x3.BASE1.ATEXTE AS ATEXTE2
ON ATABLE.INTITFIC_0 = ATEXTE2.NUMERO_0
WHERE
ATABZON.CODFIC_0 = 'XSAL' /* table des salariés */
AND ATEXTE.LAN_0 = 'FRA' /* champ en français */
AND ATEXTE2.LAN_0 = 'FRA'; /* nom de table en français */
📌 Explication des colonnes
ATABZON
: contient les champs des tablesATABLE
: contient les métadonnées des tablesATEXTE
: contient les libellés multilingues des champsLAN_0
: code langue ('FRA' = français)
📊 Exemple d'application
En exécutant cette requête sur la table XSAL
, tu obtiendras une liste complète des champs salariés avec :
- Code champ → par ex.
IDENT1
- Nom du champ → par ex.
Nom du salarié
- Type → Char, Date, Decimal, etc.
💡 Tu peux remplacer 'XSAL'
par n'importe quelle autre table Sage X3 (par exemple 'BPCUSTOMER'
pour les clients).
🔗 Astuce bonus
Pour voir tous les champs d’un dossier X3 sans filtrer sur CODFIC_0
, supprime la ligne du WHERE
!
🔗 Source : Requête technique Sage X3 pour documentation interne et développement