Intégration TCP/IP : Scanner des données depuis 2 ports différents, comparer les données, puis imprimer de manière conditionnelle.
Question
Dans une intégration, est-il possible de lire des données provenant de 2 sources différentes, de comparer ces données puis d’imprimer un document de façon conditionnelle selon le résultat de la comparaison ?
Réponse
Oui, c’est tout à fait possible. Voici un exemple (en utilisant des sockets TCP/IP).
1.-
Le fichier d’intégration suivant montre comment vous pouvez créer une intégration TCP/IP ou Port Série pour scanner un premier ensemble de données (qui restera dans %EventData%), puis créer une action supplémentaire qui va scanner un second ensemble de données (que j’ai stocké dans une variable appelée %SecondScan%).
Une fois que vous avez les deux ensembles de données, vous pouvez les comparer via un script PowerShell :
$First = "%EventData%"
$Second = "%SecondScan%"
$Result = $First.equals($Second)
$Result
Le résultat est écrit dans une troisième variable d’intégration appelée %Result%.
Enfin, vous pouvez effectuer une action conditionnelle "Imprimer le document", basée sur la valeur de %Result%. Si c’est True, alors le document sera imprimé (dans mon exemple, j’ai utilisé "Commence par" T car la comparaison "Égal à" True ne fonctionnait pas).
2.-
Quelques captures d’écran :
La détection TCP/IP initiale est configurée pour s’arrêter après la lecture de 5 caractères :
La seconde lecture depuis le socket réseau (cette fois en tant qu’action) fonctionne exactement de la même manière, mais ouvre une nouvelle connexion :
La commande PowerShell pour effectuer la comparaison :
L’action conditionnelle d’impression du document :
Informations supplémentaires (Interne)
Le fichier d’intégration + le fichier Hydrashok (qui est un outil Seagull permettant d’envoyer des données via un port Série ou TCP/IP) peuvent être téléchargés ici :
https://seagull/confluence/pages/viewpage.action?pageId=36799556
Concernant la configuration Hydrashok, j’ai créé 2 déclencheurs : un qui s’active à 5 secondes et qui fournit les données pour l’intégration TCP/IP, et un second qui s’active à 15 secondes et qui fournit les données pour l’action "Lire depuis le socket réseau".