Lancer des requêtes SQL dans Sage X3 avec la fonction Execsql
juillet 13, 2025
Sage X3 (Enterprise Management) offre une méthode native pour exécuter des requêtes SQL via la fonction Execsql
. Cette fonction permet d’exécuter des commandes SQL sans retour de données, contrairement à For…From…Sql
qui récupère des colonnes.
🎯 À quoi sert Execsql ?
Elle est particulièrement utile pour :
- Exécuter des instructions
UPDATE
- Accorder des droits avec
GRANT
- Effectuer des opérations sans réponse attendue
🧪 Syntaxe
Execsql From type_base Sql sql_exp
- type_base : caractère indiquant le type de base de données
- sql_exp : chaîne de caractères ou tableau de chaînes contenant la requête SQL
🔧 Exemple pratique
YSQUERY(0)="Update "+nomap+".YTEMP set YFLAG_0 = 2 where YITMREF_0='ABC'"
YSQUERY(1)=" AND YSTOFCY_0='XYZ'"
Execsql From type_base Sql YSQUERY(0)
➡️ Définir le type de base
Local Char BASE(1)
Case [F:ADS]TYPDBA
When 1 : BASE = "3" # Oracle
When 2 : BASE = "5" # SQL Server
When 3 : BASE = "2"
When 4 : BASE = "4"
Endcase
Valeurs possibles de type_base
:
"o", "O", "3"
→ Oracle"s", "S", "5"
→ SQL Server
Il est possible de découper une requête en plusieurs parties via un tableau (grid) de 255 éléments max.
✅ Conclusion
Grâce à Execsql
, les développeurs peuvent facilement exécuter des commandes SQL dans Sage X3, simplifiant la gestion des données sans alourdir les scripts avec des résultats inutiles.