1. Introduction
C’est cette application qui est chargée d’exécuter l’intégration des données en utilisant les macro commandes.
Lorsqu’elle est utilisée hors du contexte EDI :
Cette application peut fonctionner de façon autonome. Elle peut prendre en charge l’intégration de données dans l’ERP à partir de données sources alimentées dans des tables si ces sources ont une structure compatible avec les tables destinations. Elle peut aussi être utilisée comme automate de traitement pour lancer des traitements de l’ERP. Elle est pilotable en ligne de commandes, il est possible de piloter l’exécution des tâches dans un planificateur de traitement.
Lorsqu’elle est utilisée en EDI :
Chaque message EDI doit être associé à une tâche (job) pour être exécuté.
La La tâche permet :
En Emission :
Gérer des traitements SQL avant et après la tâche d’exécution du message.
Exécuter des fichiers d‘extension « CMD » avant et après la tâche d’exécution.
Générer le fichier.
Imprimer les rapports d’exécution.
Envoyer les notifications des rapports d’exécution par mail en pièce jointe.
En Intégration :
Gérer la séquence d’intégration des données dans les applications (Corps de l’application).
Gérer des traitement SQL avant et après intégration pour chaque application concernée.
Gérer des traitements SQL avant et après toute la tâche d’exécution.
Exécuter des fichiers d‘extension « CMD » avant et après la tâche d’exécution.
Exécuter la tâche d’intégration.
Imprimer les rapports d’exécution.
Envoyer les notifications des rapports d’exécution par mail en pièce jointe.
a) - L’entête de l’application « Définition des tâches »
...
2. L’entête de l’application « Définition des tâches »
...
ECRAN C‑2 : L’entête de l’application « Définition des tâches » en mode page
...
2.1. Le masque des clés
Code tâche : Une tâche est définie par un code tâche à saisir dans le masque des clés.
Tache standard : Tâche livrées et maintenaue maintenue par Silog. Ces tâches ne sont pas modifiables.
Ci Ci-dessous, un extrait de la liste des tâches livrées en standard.
2) - L’onglet « Général »
ECRAN C‑3 : L’onglet « Général » pour une tâche d’intégration.
ECRAN C‑4 : L’onglet « Général » pour une tâche d’émission.
...
2.2. L’onglet « Général »
...
Code message : Saisir ou Importer le code du message EDI concerné si la tache concerne un message EDI.
...
SQL avant/SQL après : Même principe que pour le message EDI, ces blocs sont prioritaires sur les blocs du message EDI s’ils sont renseignés. Par exemple, le bloc « SQL Avant » des messages de type intégration peut servir à mettre à jour le champ « DesactiverAction » des tables temporaires.
Dans le cas d’un fonctionnement autonome sans message
...
EDI :
Le SQL avant peut être utilisé pour alimenter les tables sources des données. Par défaut les tables sources sont les tables « #NOMTableDestination ». Si vous souhaitez alimenter COME, la source est « #COME » puis « COMC », la source est #COMC.
Exemple : La tâche « CDE_RETOUR ».
Dans cet exemple, suite à la création d’un retour client avec échange, le système peut générer une commande client d’échange après validation du retour. Cette création est gérée par une tâche.
Les tables #COME et #COMC sont alimentées avec les données de l’échange , il s’agit des tables temporaires de sources de données.
...
Code Block declare @NoCommande VARCHAR(30),@CodeClient VARCHAR(30),@ModeGestion VARCHAR(30)='',@BonRetour VARCHAR(30) ,@Option_ch VARCHAR(MAX) declare @GestionDevise int=0 select @ModeGestion=GrilleOuTarif , @GestionDevise=GestionDevises from paramg where NumeroFiche=1 set @Option_ch=@Option$ while @Option_ch<>'' begin select @BonRetour=dbo.GetColValue(@Option_ch,';',1) select @CodeClient=dbo.GetColValue(@BonRetour,'|',1) ,@NoCommande =dbo.GetColValue(@BonRetour,'|',2) insert into #COME(CodeClient,NoCommande,EcoParticipation,Confirmee) select @CodeClient, @NoCommande ,'N','O' insert into #COMC(CodeClient,NoCommande,NoLigneCommande , CodeArticleprestto,QuantiteCommandee,PrixUnitEnFrancs,PrixUnitEnDevise,PrixNetON,PrixSaisiCalc,CodeCentrePayeur) select CodeClient,NoBonRetour,1,CodeArticle,QteRetournee ,case when @GestionDevise<>3 THEN 0 ELSE NULL END ,case when @GestionDevise= 3 THEN 0 ELSE NULL END ,case when @ModeGestion='T' THEN 'O' ELSE NULL END ,case when @ModeGestion='T' THEN 'S' ELSE NULL END ,BDEC.CodeCentrePayeur from RETOURCLIE LEFT JOIN BDEC on BDEC.NoBonExpedito=RETOURCLIE.NoBonExpedito AND BDEC.NoLigne=RETOURCLIE.NoLigne AND BDEC.NoAccuseRecepto=RETOURCLIE.NoAccuseRecepto AND BDEC.CodeArticleprestto=RETOURCLIE.CodeArticle AND case when BDEC.CodeLot = '*' then '' else BDEC.CodeLot end= case when RETOURCLIE.CodeLot='*' then '' else RETOURCLIE.CodeLot END where NoBonRetour=@NoCommande select @Option_ch=SUBSTRING(@Option_ch,len(@BonRetour)+2,len(@Option$)) END
Les structures des données à intégrer des tables sources sont compatibles avec les tables destinations (inutile d’alimenter tous les champs de la table cible), les noms des colonnes matchent. L’intégration des données effectue le mappage automatique, et alimente les données dans la destination.
Remarque :
Sans utiliser les tables « # », en standard Silog livre également des tables permanentes dédiées à l’intégration des tâches. Ces tables portent le même nom que les tables standards de Silog précédées du suffixe « SIL_JOB_ », la structure est compatible avec la structure des tables de destination. Ces tables sont utilisées pour intégrer les données de la nouvelle mobilité Silog
...
.
...
Par exemple :
...
Ces tables peuvent être utilisées comme source de données. Dans ce cas il faut déclarer dans le corps de la tâche les tables sources utilisées pour l’entête et le corps des applications concernées.
Ces tables contiennent des champs supplémentaires qui peuvent être gérés dans les groupes SQL avant et après.
...
Par exemple pour l’intégration des Articles depuis la table SIL_JOB_ARTICLE : il est possible, entre autres, de gérer le flag d’intégration des données et l’idEvent de la tâche d’intégration, pour assurer une traçabilité.
...
Exemple pour Articles :
SQL avant
UPDATE SIL_JOB_ARTICLE SET IdEvent=@EDI_EVENTE.IdEvent WHERE Flag=0 AND IdEvent IS
...
NULL
Pour bien comprendre, il est possible de consulter des exemples de tâches qui utilisent ces tables dans votre base de données..
...
Répertoire, fichier et extension (Intégration uniquement de messages EDI) : Saisir le chemin complet des fichiers à intégrer avec l’extension si la tâche intègre les données avec des fichiers comme sources de données.
...
Pour intégrer tous les fichiers csv commençant par « cde » d’un répertoire :
...
Pour intégrer tous les fichiers « txt » d’un répertoire quel que soit le nom.
...
Nombre de fichiers (Intégration uniquement de messages EDI) : Pour ne traiter qu’un certain nombre de fichiers par tâche d’intégration.
...
Répertoire d’export (Emission uniquement de messages EDI) : Saisir le chemin complet des fichiers à émettre.
Exemple :
...
Répertoire (Emission uniquement de messages EDI), exemple ftp: Il s’agit d’un répertoire présent sur un site ftp. Si cette zone est alimentée, alors les fichiers émis ou intégrés sont déplacés dans ce répertoire.
La syntaxe doit être la suivante :
Dans l’exemple suivant :
...
ftp : A saisir au début de la chaine de caractères.
...
] => Pour indiquer la fin de la chaine de caractères correspondant au mot de passe.
Remarque : Il est possible de saisir une adresse URL d’un fichier à télécharger. Ce fichier sera téléchargé dans le répertoire renseigné dans la tâche
...
.
Dans cette version seuls les fichiers au format XML sont pris en charge lorsqu’ils proviennent d’une adresse de type URL.
...
Voir l’exemple de la tâche EDI standard dans votre ERP qui permet de mettre à jour les cours des devises nommé : SIL_IMPORT_TAUX_BCE.
Répertoire d’archives : Saisir le chemin du répertoire d’archives.
Exemple :
...
Dans le cas des messages de type intégration, le listage du bas permet de visualiser le corps de la tâche avec l’ordre dans lequel les applications seront traitées par macro-commande dans la tâche. Cet ordre est modifiable.
...
Les boutons et Magnétoscope “haut” et “bas” permettent de modifier l’ordre de traitement de l’application sélectionnée dans le listage en faisant monter ou déscendre descendre la ligne concernée.
Dans Dans l’exemple ci-dessus, il faut d’abord traiter l’intégration des familles avant d’intégrer les articles.
L’ordre doit donc être le suivant :
Ordre Ordre 1 => Application « Famille ».
Ordre 2 => Application « Article ».
3) - L’onglet « Editions »
...
2.3. L’onglet « Editions »
...
Cet onglet permet d’associer les éditions à la tâches en cours. il s’agit d’une application en mode container.
Pour créer/modifier ou supprimer une association, il faut utiliser la barre d’outils suivante comme toutes les applications placées en mode container.
...
Code tâche : Code tâche en cours, zone alimentée automatiquement.
Code état : Importer l’édition concernée :
...
Quatre éditions sont proposées en standard :
1 : EDI_EVENT-D.rpt : Compte-rendu détaillé. Ce rapport présente le contenu détaillé du rapport d’émission ou d’intégration du message.
...
2 : EDI_EVENT-E.rpt : Compte-rendu Erreur. Ce rapport présente les erreurs rencontrées lors de l’éxécution l’exécution du message d’intégration ou d’émission.
...
3 : EDI_EVENT-M.rpt : Compte-rendu macro. Ce rapport présente le détail de la réalisation des macros commandes en intégration.
...
4 : EDI_EVENT-S.rpt : Compte-rendu de création, modification ou suppression en intégration.
...
Remarque : Il est possible d’ajouter des éditions personnalisées, ces éditions doivent être déclarées dans l’application « Paramétrage des états », sous le nœud de l’application « EDI_JOB ».
Nom de l’état : Par défaut, c’est le nom de l’état déclaré dans le paramétrage des états. Le nom est modifiable.
...
Automatique : Pour lancer l’impression automatique de l’état à l’issu du traitement de la tâche.
La liste des éditions associées à la tâche en cours est visible en selectionnant le bouton .
...
4) - L’onglet « Notification »
ECRAN C‑6 : L’onglet « Notifications »
...
2.4. L’onglet « Notification »
...
Cet onglet permet de définir si nécessaire la liste des éditions à notifier par mail (envoyées en pièces jointes). Il s’agit d’une application en mode container.
Le principe de saisie est donc similaire à celui de l’onglet précédent. Seuls les états associés à la tâche dans l’onglet « Editions » sont disponibles pour les notifications.
Les notifications utilisent les serveurs et les modèles d’envoi de mails du module optionnel « C9_Envoyer des courriels », il faut donc disposer de ce module pour disposer des notifications.
...
Dans l’entête, sont définis les zones suivantes :
Un « Code notification » à saisir.
Une « Description ».
Un « Modèle de mail » enregistré dans l’application « Modèles de mail ».
Remarque : Un modèle de mail est livré pour notifier les enrgistrements. Ce modèle se nomme « Silog_RecapJob » .
...
Exemple de notification synthétique du modèle standard.
Exemple de notification synthétique du modèle standard
...
.
« Actif » pour activer ou désactiver la notification.
« Fichiers traités en pièce jointe » : Pour envoyer en piece jointe le fichier traité avec les rapports.
« Envoyé si echec » : Pour ne traiter la notification que dans la mesure où la tâche a retourner une erreur.
« Envoyé les enregistrements en erreur en PJ » : Pour envoyer les enregistrements en erreur dans une pièce jointe.
Il Il est donc possible de définir des notifications différentes suivant les destinataires concernés.
Dans le corps, sont définis ( le corps est accessible via le bouton ) :
La liste et le format des éditions à mettre en pièces jointes de chaque notification.
Mode Liste :
...
Mode Page :
...
Code état : Sélectionner l’état associé à la tâche comme édition de la tâche.
...
Format de l’état : Sélectionner le format du rapport désiré dans la notification.
...
Options : Non utilisé dans cette version.
Dans Dans le bas de l’onglet l’application « Modeles de mail » permet de créer ou modifier un modèle de mail si vous disposez du module optionnel « C9_Envoyer des courriels »,
...
Rappel : Un modèle de mail est livré pour notifier les enrgistrements. Ce modèle se nomme « Silog_RecapJob » .
...
5) - L’onglet « Journal des évènements »
ECRAN C‑7 : L’onglet « Journal des évènements »
...
2.5. L’onglet «Journal des évènements »
...
Voir Journal des évènements
2.6
...
. L’onglet « Paramétrage de la tâche »
...
Cet onglet est basé sur le même principe que l’onglet « Paramétrage du traitement » du corps de l’application.
Y sont visualisés les fichiers évènements traités avant et après le traitement.
Dans Dans l’éxemple ci-dessus avant de lancer le traitement :
...