El ejemplo de script de traducción que aquí se proporciona es un caso bastante simplista de procesamiento de entradas pendientes en la pantalla Entradas de traducción.
El controlador OnTranslationEvent realiza una sencilla comprobación en el primer carácter del recurso y efectúa una acción según el valor: si es "a", la entrada de traducción se establece como "ignore"; si es "b", se suprime; si es "c" se traducirá, o de lo contrario no se modifica para que se traduzca manualmente. Fíjese en que los contadores en el código siguen las acciones que se realizan durante la ejecución del script. Esto es muy útil para la depuración o documentación de las ejecuciones de script cada vez que se ejecuta, especialmente cuando el script se automatiza. Es muy importante recordar el comando Tools.Commit al final de la función, ya que sin él ninguno de los cambios realizados por el script se guardarán en la base de datos.
La función TranslateResource() convocada simplemente realiza una comprobación para ver si existe en el sistema un recurso con el mismo nombre que el que ha pasado a él mediante la entrada de traducción pendiente (junto con el prefijo de E2E). Si no existe, el script agrega este recurso y, a continuación, realiza la traducción. Si ya existe, se crea una entrada de traducción de la cadena del recurso al recurso de CA Business Service Insight existente.
La función final de resultado del script envía una descripción de las tareas realizadas por el script. El código es el siguiente:
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
Resultado de la función
Result = translated & "entries were translated, "& _
ignored & "entries were ignored," & _
deleted & "entries were deleted and "& _
manually & "entries were set to manually update!"
End Function
|
Copyright © 2013 CA.
Todos los derechos reservados.
|
|