Tópico anterior: Exemplos de script de conversão

Próximo tópico: Estudo de caso 11: Atualizações do modelo de recurso

Estudo de caso 10: Conversão automática básica

O exemplo de script de conversão fornecido aqui é um caso muito simples de processamento de entradas pendentes na tela de entradas de conversão.

O manipulador OnTranslationEvent executa uma verificação simples no primeiro caractere do recurso e executa uma ação de acordo com o valor: se a entrada de conversão 'a' estiver definida como ignorar, se 'b' for excluída, 'c' será convertida, ou caso contrário, permanecerá inalterada para ser convertida manualmente. Observe que os contadores de todo o código controlam as ações que serão executadas durante a execução do script. Isso é muito útil para depuração ou documentação das execuções de script sempre que ele for executado, especialmente quando o script for automatizado. O comando Tools.Commit no final da função é muito importante, pois sem ele nenhuma alteração feita pelo script será salva no banco de dados.

A função TranslateResource() verifica se existe no sistema um recurso com o mesmo nome de outro transmitido a ele por meio da entrada de conversão pendente (juntamente com o prefixo E2E-). Se não existir, o script adiciona este recurso e executa a conversão. Se ele já existir, ele criará uma entrada de conversão da cadeia de caracteres do recurso ao recurso existente do CA Business Service Insight.

A função final resultado do script envia uma descrição das tarefas executadas pelo script. O código é conforme segue:

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