Rubrique précédente: Exemples de script de conversionRubrique suivante: Etude de cas 11 : Mises à jour du modèle de ressource


Etude de cas 10 : Conversion automatique de base

L'exemple de script de conversion fourni ici est un simple processus de traitement des entrées En attente dans l'écran Entrées de conversion.

L'agent OnTranslationEvent réalise un simple contrôle sur le premier caractère de la ressource et accomplit une action selon la valeur : si cette dernière est "a", l'entrée de conversion est paramétrée sur "ignorer", si elle est "b", l'entrée est supprimée, si elle est "c", elle est convertie, dans le cas contraire elle restera inchangée pour être convertie manuellement. Notez que par le biais du code, les compteurs gardent la trace des actions accomplies pendant l'exécution de script. Ceci est très utile pour déboguer et documenter les exécutions de script chaque fois qu'il est exécuté, particulièrement lorsque le script est automatisé. Il est très important de se souvenir de la commande Tools.Commit des dernières fonctions ; sans elle, aucun des changements apportés par le script ne sera enregistré dans la base de données.

La fonction TranslateResource() appelée vérifie simplement si la ressource du même nom que celle passée par l'entrée de conversion en attente (avec le préfixe E2E-) existe dans le système. Si ce n'est pas le cas, le script ajoute cette ressource, puis procède à la conversion. Si elle existe déjà, alors une entrée de conversion est créée depuis la chaîne de ressource vers la ressource CA Business Service Insight existante.

La dernière fonction de Résultat du script consiste simplement à sortir une description des tâches accomplies par le script. Le code est le suivant :

Option Explicit

dim translated
dim ignored
dim deleted
dim manually
dim ActionDate

Sub OnLoad()
   'tools.log "Translation Script: In OnLoad procedure", "I"
End sub

Sub OnTranslationEvent(entryDetails)
   Dim dump
   dump = entryDetails.Dump
   tools.log dump

   Dim resource, entryId
   entryId = entryDetails.EntryId
   resource = entryDetails.FieldValue(1)
   ActionDate = entryDetails.LastActionDate

   If mid(resource,1,1) = "a" Then
      tools.IgnoreEntry entryId
      ignored = ignored + 1
      tools.log "ignored" & entryId & " " & resource
   Else If mid(resource,1,1) = "b" Then
      tools.DeleteEntry entryId
      deleted = deleted + 1
      tools.log "deleted" & entryId & " " & resource
   Else If mid(resource,1,1) = "c" Then
      TranslateResource resource, entryId
      tools.log "translated" & entryId & " " & resource
   Else
      tools.SetManualTranslationEntry entryId, 1
      manually = manually + 1
      tools.log "manually" & entryId & " " & resource
   End if

   Tools.commit
End sub

Sub TranslateResource(resource, entryId)
   Dim newName
   Dim vector
   newName = "E2E-" & resource

   if NOT tools.IsResourceExists(newName) Then
      Dim resourceDetails
      set resourceDetails = tools.GetResourceDetailsByDate(resource,ActionDate)
      resourceDetails("ResourceName") = newName
      resourceDetails("ResourceTypes") = "E2E Transactions"
      tools.AddResourceByMap resourceDetails
   end if

   tools.TranslateEntry entryId, newName
End sub


Sub Main()
End Sub


Function Result
   Result = translated & "entries were translated, "& _
      ignored & "entries were ignored," & _
      deleted & "entries were deleted and "& _
      manually & "entries were set to manually update!"
End Function