Verwenden Sie das Objekt systemLinkStatus, um Informationen zu einem fehlgeschlagenen oder unvollständigen SystemLink-Befehl zu erhalten.

Tabelle 57. Statusobjekte
Objekt Beschreibung
systemLinkStatus:statusType statusType Aufzählungstyp des Objekttyps. Folgende Werte sind möglich:
  • file
  • result
  • step
text name Der Name der Datei, des Ergebnisses oder des Schritts.
text path Der vollständige Pfad zur Quelldatei, wenn eine Datei hochgeladen wird.
text parent Der Name des übergeordneten Ergebnisses oder Schritts.
text status Beim Aufruf von getOpenJobs hängt der Status vom Objekttyp ab. Folgende Werte sind möglich:
  • update
  • upload
  • incomplete
Wenn Sie getFailedJobs aufrufen, enthält der Status eine Fehlermeldung.
redo() Wenn Sie getFailedJobs aufrufen, wird der Befehl erneut ausgeführt.
delete() Löscht den SystemLink-Befehl aus der Befehlswarteschlange. Der Befehl löscht auch alle zugehörigen Daten und Dateien.
Tipp Fragen Sie den Verarbeitungsstatus der Befehle mit Hilfe von getOpenJobs und getFailedJobs ab. Die von diesen Funktionen ausgegebenen Daten werden in dem Moment erfasst, in dem Sie die Funktion aufrufen. Der Inhalt vom Objekt sytemLinkStatus ist statisch. Um neue Daten zu erhalten, rufen Sie getOpenJobs oder getFailedJobs erneut auf.

Beispiel: statusType

function printStatusType(systemLinkStatus:statusType type)
    switch type
        case systemLinkStatus:statusType:result
			sys:logInfo(sys:ui, "command type: result")
        case systemLinkStatus:statusType:step
			sys:logInfo(sys:ui, "command type: step")
        case systemLinkStatus:statusType:file
			sys:logInfo(sys:ui, "command type: file")
    endswitch
endfunction

Beispiel: text status

function printOpenJobs()
	text type(10)
	systemLink:getOpenJobs sts
	list<systemLinkStatus> myStatusList
	systemLinkStatus currentObject
	
	[ myStatusList, sts ] = sys:systemLink:getOpenJobs()
		
	if sts == systemLink:getOpenJobs:notConnected then
		sys:logError(sys:ui|sys:rts, "interface not active !")
		return
	elseif sts == systemLink:getOpenJobs:systemError then
		sys:logError(sys:ui|sys:rts, "getOpenJobs: systemError !")
		return
	endif
			
	if myStatusList:count == 0 then
		sys:logInfo(sys:ui|sys:rts, "empty list !")
		return
	endif
			
	foreach currentObject in myStatusList
		switch currentObject:statusType
		case systemLinkStatus:statusType:result
			type = "result" 
		case systemLinkStatus:statusType:file
			type = "file" 
		case systemLinkStatus:statusType:step
			type = "step"
		endswitch
		sys:logInfo(sys:ui, "type:%s name:%s path:%s parent:%s status:%s", type, currentObject:name, currentObject:path , currentObject:parent, currentObject:status )
	endforeach
			
endfunction

Beispiel: Ausgabe für text status

type:step name:myStepName1 path:- parent:myResultName status:incomplete
type:step name:myStepName2 path:- parent:myStepName1 status:incomplete
type:result name:myResultName path: "-" parent: "-" status: incomplete
type:file name:myFile.mdf path:my/path/to/myFile.mdf parent:myResultName status:  upload

Beispiel: redo()

function redoCommand(systemLinkStatus stsObject)
	systemLinkStatus:redo redoSts
	redoSts = satusObject:redo()
	switch redoSts
            case systemLinkStatus:redo:ok
		sys:logInfo(sys:ui, "redo ok")
            case systemLinkStatus:redo:notConnected
		sys:logError(sys:ui, "command redo: interface not connected")
            case systemLinkStatus:redo:systemError
		sys:logError(sys:ui, "command redo: error occoured")
        endswitch
endfunction

Beispiel: delete()

function deleteCommand(systemLinkStatus stsObject)
	systemLinkStatus:delete deleteSts
	deleteSts = satusObject:delete()
	switch deleteSts
            case systemLinkStatus:delete:ok
		sys:logInfo(sys:ui, "delete ok")
            case systemLinkStatus:delete:notConnected
		sys:logError(sys:ui, "command delete: interface not connected")
            case systemLinkStatus:delete:systemError
		sys:logError(sys:ui, "command delete: error occoured")
        endswitch
endfunction