Orbis Knowledge Base

Taak starten vanuit een andere taak (RunTask Script)

Categorie: BPA Platform

Categorieƫn

Vragen?

Heb je een vraag voor onze supportafdeling? Ga dan naar onze portal en stel ze gerust!

In sommige gevallen wil men een structuur opzetten, waarbij vanuit een taak een andere taak gestart kan worden. Het is mogelijk om, binnen BPA Platform, door middel van een VBScript een andere taak te starten. De onderstaande VBScript is hiervan een voorbeeld.

Men kan deze VBScript zowel in de "Run VBScript" plakken, als een globale function maken welke aangeroepen kan worden met enkel het taaknummer. Dit script kan overigens ook met een .vbs bestand buiten BPA Platform uitgevoerd worden, maar men moet dan wel de BPA Platform client op de lokale machine hebben staan..

VBScript:
Dim TCAPI, Session, TaskItem
Const LogonTaskCentre = 1
Const LogonWindows = 2
Set TCAPI = CreateObject("Iwcltcp.TCAPI")
TCAPI.ConnectCallbackOnLogon = False
Set Session = TCAPI.Logon(LogonTaskCentre, "localhost", "username", "password")
Set TaskItem = Session.OpenTaskItem(taakid) ' 1 is the Task ID
If TaskItem.Disabled = False Then
TaskItem.queuetask
End If

Men moet enkele zaken aanpassen:

  • "localhost" vervangt men met de naam van de server.
  • "username" vervangt men met de naam van de BPA Platform gebruiker.
  • "password" vervangt men met het wachtwoord van deze gebruiker.
  • "taakid" vervangt men met het nummer van de taak die uitgevoerd moet worden.

Men kan door een globale function te gebruiken deze zo instellen dat enkel het taakID dynamisch meegegeven hoeft te worden.

TaakID

Binnen BPA Platform heeft iedere taak een uniek ID, dat gebruikt wordt om de taak aan te roepen. Men kan dit ID vinden door dit in de taak op te zoeken.

Dit kan op de volgende manier:

  • Open de gewenste taak.
  • Ga naar "General" (1)
  • Klik op "Optionsā€¦" (2)
Taak starten vanuit een andere taak (RunTask Script) 1

Afbeelding 1- opzoeken taakid.

Men ziet nu de opties van de taak. Vervolgens klikt men op de tab advanced (Afbeelding 12.2). In deze Tab ziet men bij Identification een Task ID staan ā€“ dit is het unieke ID van deze taak. Bij een aanroep van het starttaak script laat men echter de nullen aan het begin weg (In het geval van de screenshot is de taskID dus 3)

Taak starten vanuit een andere taak (RunTask Script) 2

Afbeelding 2- opzoeken taakid.

Benodigde rechten

In de VBScript wordt gebruik gemaakt van het object "CreateObject". Met dit object is het mogelijk om andere objecten buiten BPA Platform aan te roepen zoals, in dit geval, de BPA Platform API. Het is echter ook mogelijk om andere software aan te roepen.

Wegens de veelzijdigheid van CreateObject is het gebruik hiervan limiteerbaar perĀ BPA Platform gebruiker, en staat de mogelijkheid om CreateObject te gebruiken standaard bij iedere gebruiker uit. Wanneer men vanuit een BPA Platform taak een andere taak wil laten starten, is het noodzakelijk om de gebruiker die "Owner" is van deze taak rechten te geven op het "CreateObject" object. De owner van een taak kan men binnen BPA Platform in de lijst met taken terugvinden:

Taak starten vanuit een andere taak (RunTask Script) 3

Afbeelding 3 ā€“ BPA Platform taaklijst met de kolom "Owner", welke de eigenaar van de taak weergeeft.

Men kan gebruikers rechten op CreateObject toekennen binnen de gebruikerssettings van de desbetreffende gebruiker. Men gaat hiervoor binnen BPA Platform naar "System" -> "Users" waar men de gebruiker opent men deze rechten wil toekennen. Op het tabblad "Script Objects" zet men "Any Script" en "Allow this user the use of System.GetObject in script" aan.

Met deze instellingen heeft de gebruiker voldoende rechten om middels VBScript het StartTaak script uit te mogen voeren.

Taak starten vanuit een andere taak (RunTask Script) 4

Afbeelding 4 ā€“Instellen permissies

Orbis