Das hier angegebene Beispiel eines Übersetzungsskripts ist ein ziemlich einfaches Beispiel für eine Verarbeitung von ausstehenden Einträgen im Bildschirm "Übersetzungseinträge".
Der OnTranslation-Event-Handler führt eine einfache Überprüfung der ersten Zeichen in der Ressource und dann entsprechend des Werts eine Aktion aus: Wenn der Wert "a" ist, wird der Übersetzungseintrag auf "ignorieren" gesetzt. Ist der Wert "b", wird der Eintrag gelöscht und ist der Wert "c", wird er übersetzt. Bei einem anderen Wert wird der Eintrag unverändert gelassen, um ihn manuell zu übersetzen. Hinweis: Anhand der Zählungen innerhalb des Codes kann nachverfolgt werden, welche Aktionen während der Skriptausführung durchgeführt werden. Dies ist jedes Mal, wenn das Skript ausgeführt wird, sehr nützlich für das Debugging oder die Dokumentation der Skriptausführungen, insbesondere wenn dies automatisch geschieht. Es ist sehr wichtig, an den Befehl Tools.Commit am Ende der Funktion zu denken, da ohne diesen Befehl keine der durch das Skript vorgenommenen Änderungen in der Datenbank gespeichert werden.
Die so genannte Funktion "TranslateResource()" führt einfach eine Prüfung durch, um zu sehen, ob bereits eine Ressource mit demselben Namen wie der, der vom ausstehenden Übersetzungseintrag (zusammen mit dem Präfix E2E) übermittelt wurde, im System existiert. Ist dies nicht der Fall, fügt das Skript diese Ressource hinzu und führt anschließend die Übersetzung aus. Existiert der Name bereits, dann erzeugt das System einen Übersetzungseintrag aus dem Ressourcenstring für die vorhandene CA Business Service Insight-Ressource.
Die Ergebnisfunktion am Ende des Skripts gibt einfach eine Beschreibung der vom Skript ausgeführten Aufgaben aus. Der Code sieht wie folgt aus:
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
|
Copyright © 2013 CA.
Alle Rechte vorbehalten.
|
|