Blog navigation

Derniers articles

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 :

  1. La fonction IMPORTSIL capture les données de journal dans un fichier de trace pour éviter les pop-ups sur l'écran de l'utilisateur final.

  2. Examinez le fichier journal pour d'éventuelles erreurs. Le runtime de Sage X3 suit les mêmes normes de journalisation que les shells classiques.

  3. 0001 = Erreurs en sortie

  4. 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

 
Publié dans: Sage X3, 4GL