Für dieses Element ist ein How-To Artikel verfügbar.

Semantik


 

Durch das <result>-Element kann der Return-Code des umgebenen <exec>-Elements abgeglichen werden. Damit ist es möglich, die Verarbeitung abzubrechen, falls ein bestimmter Fehlercode bei der Ausführung von <commandline> aufgetreten ist.

Das <commandline>-Element signalisiert nach der Ausführung durch einen sog. Return-Code, ob bei der Verarbeitung des Befehls Fehler oder Warnungen aufgetreten sind. Ist der Return-Code ungleich 0 ist die Bearbeitung nicht ohne Fehler / Warnungen abgelaufen. Der Return-Code ist dabei eine Eigenschaft des umgebenden <exec>-Elements. Das <commandline>-Element setzt also den Return-Code des <exec>-Elements. Dieser Return-Code kann durch <result> mit einem angegebenen Wert abgeglichen werden, hierbei sind auch logische Ausdrücke erlaubt. Stimmt der Return-Code des <exec>-Elements mit dem übergebenen Wert nicht überein, ist also bei der Abarbeitung von <commandline> ein unerwarteter Fehler / eine unerwartete Warnung aufgetreten, bricht <result> an dieser Stelle sofort die Verarbeitung der RCML ab. Nachfolgender Code wird nicht ausgeführt! Ergibt der Abgleich eine Übereinstimmung wird die Verarbeitung ohne Effekt fortgesetzt.

Das <result>-Element kann nur innerhalb des <exec>-Elements notiert werden. Nutzen Sie für eine allgemeinere Fehlerbehandlung <error>.

 

Attribute


 

AttributnameDatentypBeschreibungMögliche WerteStandardwertObligatorisch?
return-codeINTEGERErmöglicht es, einen Fehlercode oder einen logischen Ausdruck anzugeben. <result> vergleicht den angegebenen Wert mit dem Return-Code des <exec>-Elements, der durch das vorangegangene <commandline>-Element gesetzt wurde. Stimmt der übergebene Ausdruck mit dem Return-Code nicht überein, wird die Verarbeitung sofort abgebrochen.

Fehlercodes und logische Ausdrücke. Mehr unter Beispiel

(Haken)

 

Subelemente / Inhalt


 

Das <result>-Element besitzt keine Subelemente und kann keinen Inhalt enthalten.

 

Variablenbindungen


 

Das <result>-Element besitzt keine Variablenbindungen.

 

Beispiel


 

Einige Beispielwerte für return-code:

  • 400

  • 400 | 401 (400 oder 401).

  • true (alles außer 0, also alles außer erfolgreich beendet).

 

Im folgenden Beispiel wird der Return-Code eines einfach copy-Prozesses abgeglichen. Die Verarbeitung soll abgebrochen werden, falls die Bearbeitung nicht erfolgreich beendet wurde (irgendein Fehler oder irgendeine Warnung auftrat).

 

<rcml>	
	<process id="ExampleProcess" name="example process">
 
		<exec id="copyProcess" workdir="workdir">
         
			<workdir id="workdir" home="./WORK" />
 
			<!-- Setze 2 Parameter: Pfad zur zu kopierenden Datei und Zielpfad. -->
			<param name="infile" value="${inputFile.getFile().getAbsolutePath()}"/>
			<param name="outfile" value="${process['copy.output']}"/>
 
			<!-- Datei kopieren. -->
			<commandline processor="velocity">cmd /C copy $infile $outfile</commandline>
 
  			<!-- Nur wenn return-code = 0 ist (erfolgreich), Verarbeitung fortsetzen. -->
			<result return-code="0" />
 
		</exec>
 
	</process>
</rcml>
Zweck:

Fehlerbehandlung

Typ:

Subelement

Elternelement:

<exec>

Subelemente:

Nein

Variablenbindungen:

Nein

Das <result>-Element muss nach dem <commandline>-Element stehen!

Bei fehlender Übereinstimmung wird die Verarbeitung sofort abgebrochen und nachfolgender Code nicht ausgeführt!