Découvrez comment intégrer des fichiers Excel dans SEI ou une base de données SQL, en utilisant la technologie ODBC...
Capturer les Erreurs Détaillées Après une Importation Silencieuse dans Sage X3
Vous êtes probablement familier avec la génération manuelle de fichiers CSV pour l'importation via des modèles dans Sage X3. Mais avez-vous déjà envisagé comment capturer des erreurs détaillées après une importation silencieuse ? Nous avons la solution pour vous.
Il existe des cas où la capture des erreurs entrantes devient essentielle, surtout lorsque vous devez alerter rapidement les utilisateurs finaux concernant des problèmes tels que des périodes fermées ou des dates incorrectes. Malheureusement, la fonction d'importation silencieuse standard de Sage X3 ne présente pas intrinsèquement les erreurs détaillées pendant le processus d'importation.
Voici comment vous pouvez surmonter cette limitation :
Commencez par appeler la fonction IMPORTSIL :
Appel IMPORTSIL([M:IMP2]MODIMP, [M:IMP2]NOMIMP) depuis GIMPOBJ
Cependant, la fonction standard ERR_IMPORT ne fournit qu'un état global de l'importation sans les détails des erreurs. Pour pallier cette limitation, vous pouvez utiliser les techniques suivantes :
-
La fonction
IMPORTSILcapture les données de journal dans un fichier de trace pour éviter les pop-ups sur l'écran de l'utilisateur final. -
Examinez le fichier journal pour d'éventuelles erreurs. Le runtime de Sage X3 suit les mêmes normes de journalisation que les shells classiques.
-
0001= Erreurs en sortie -
0000= Sortie standard

Cette procédure garantit que vous disposez d'une vue d'ensemble claire du processus d'importation et de toutes les erreurs rencontrées.
Pour plus de clarté, considérez l'exemple suivant :
1) Lancez un appel d'importation silencieuse en 4GL :
| Code | Description |
|---|---|
[M:IMP2]MODIMP = YAOENAME |
Nom du modèle d'importation |
[M:IMP2]NOMIMP = YTMPFILE |
Emplacement et nom du fichier |
[M:IMP2]TYPEXP = 2 |
Serveur |
Appel IMPORTSIL([M:IMP2]MODIMP, [M:IMP2]NOMIMP) depuis GIMPOBJ |
Appeler la fonction IMPORTSIL |
Appel ERR_IMPORT([M:IMP2]STAT, YMESSAGE) depuis GIMPOBJ |
Récupérer l'état de l'importation |
Si [M:IMP2]STAT ou GOK < 1 : YRESTA += 1 |
Gérer l'erreur d'importation |
Sinon : YRESTA = 0 |
Importation réussie |
Si !GSERVEUR : Appel FERME_TRACE depuis LECFIC |
Fermer le fichier de trace si nécessaire |

2) Processus de lecture du journal :
| Code | Description |
|---|---|
Ouvrir filpath("TRA", GTRACE, "tra", 0) en utilisant [YTRA] |
Ouvrir le fichier de trace |
Local Char XLINE(100) |
Déclarer une variable pour la ligne |
Répéter |
Répéter jusqu'à la fin du fichier |
Lire seq XLINE en utilisant [YTRA] |
Lire la ligne suivante |
Si left$(XLINE, 5) = "<0001" |
Identifier l'erreur |
Ajouter YMESSAGE(YRESTA), right$(XLINE, 6) : YRESTA += 1 |
Ajouter le message d'erreur |
Sortir |
Sortir de la boucle |
Sinon si trouver(left$(XLINE, 11), "Création de") |
Vérifier l'importation réussie |
[L]Y2_TSKNUM = right$(XLINE, 13) |
Récupérer le numéro de tâche |
Ajouter YMESSAGE(YRESTA), [L]Y2_TSKNUM : YRESTA += 1 |
Ajouter le message de réussite |
Fin si |
Fin de la condition |
Jusqu'à ce que fstat <> 0 |
Boucler jusqu'à la fin du fichier |
Ouvriri en utilisant [YTRA] |
Fermer le fichier de trace |
Leave a comment