Ich hole mir über CalDev (google Calender) meine Urlaubsdaten und versuche diese mittels Start und Ende Datum einem anderen ITEM als String zu übergeben, damit ich an einer anderen Stelle damit weiterarbeiten kann.
Die Variable ModUrlaub_X_X bekomme ich gefüllt und kann darauf auch if abfragen durchführen. Das Ergebnis dann final in eine weitere Variable vom Typ String ModUrlaub_XFinal“ zu übergeben funktioniert dann nicht, weiß jemand wieso?
Code: Alles auswählen
rule "UrlaubAdding"
when
Item CalDav_UrlaubDate_1 changed or System started or Time cron "0 0/2 * * * ?" //every 2 Minutes
then
var String ModUrlaub_1_0
var String ModUrlaub_1_1
var String ModUrlaub_2_0
var String ModUrlaub_2_1
var String ModUrlaub_3_0
var String ModUrlaub_3_1
var String ModUrlaub_1Final = "-"
var String ModUrlaub_2Final = "-"
var String ModUrlaub_3Final = "-"
if (CalDav_UrlaubDate_1 === UNDEF || CalDav_UrlaubDate_1 === NULL) { ModUrlaub_1_0 = "-.-.-" } else { ModUrlaub_1_0 as CalDav_UrlaubDate_1.state.format("%1$td.%1$tm.%1$ty") }
if (CalDav_UrlaubDate_1_1 === UNDEF || CalDav_UrlaubDate_1_1 === NULL) { ModUrlaub_1_1 = "-.-.-" } else { ModUrlaub_1_1 as CalDav_UrlaubDate_1_1.state.format("%1$td.%1$tm.%1$ty") }
if (CalDav_UrlaubDate_2 === UNDEF || CalDav_UrlaubDate_2 === NULL) { ModUrlaub_2_0 = "-.-.-" } else { ModUrlaub_2_0 as CalDav_UrlaubDate_2.state.format("%1$td.%1$tm.%1$ty") }
if (CalDav_UrlaubDate_2_1 === UNDEF || CalDav_UrlaubDate_2_1 === NULL) { ModUrlaub_2_1 = "-.-.-" } else { ModUrlaub_2_1 as CalDav_UrlaubDate_2_1.state.format("%1$td.%1$tm.%1$ty") }
if (CalDav_UrlaubDate_3 === UNDEF || CalDav_UrlaubDate_3 === NULL) { ModUrlaub_3_0 = "-.-.-" } else { ModUrlaub_3_0 as CalDav_UrlaubDate_3.state.format("%1$td.%1$tm.%1$ty") }
if (CalDav_UrlaubDate_3_1 === UNDEF || CalDav_UrlaubDate_3_1 === NULL) { ModUrlaub_3_1 = "-.-.-" } else { ModUrlaub_3_1 as CalDav_UrlaubDate_3_1.state.format("%1$td.%1$tm.%1$ty") }
if (ModUrlaub_1_0 !== "-.-.-" && ModUrlaub_2_0 !== "-.-.-" && ModUrlaub_3_0 !== "-.-.-" )
{
if (ModUrlaub_1_0 === ModUrlaub_1_1)
{ ModUrlaub_1Final.postUpdate(ModUrlaub_1_0) }
else
{ ModUrlaub_1Final.postUpdate(ModUrlaub_1_0 + "-" + ModUrlaub_1_1) }
if (ModUrlaub_2_0 === ModUrlaub_2_1)
{ ModUrlaub_2Final.postUpdate(ModUrlaub_2_0) }
else
{ ModUrlaub_2Final.postUpdate(ModUrlaub_2_0 + "-" + ModUrlaub_2_1) }
if (ModUrlaub_3_0 === ModUrlaub_3_1)
{ ModUrlaub_3Final.postUpdate(ModUrlaub_3_0) }
else
{ ModUrlaub_3Final.postUpdate(ModUrlaub_3_0 + "-" + ModUrlaub_3_1) }
//Final String
Urlaubstage.postUpdate(ModUrlaub_1Final + ";" + ModUrlaub_2Final + ";" + ModUrlaub_3Final)
}
if (ModUrlaub_1_0 !== "-.-.-" && ModUrlaub_2_0 !== "-.-.-" )
{
if (ModUrlaub_1_0 === ModUrlaub_1_1)
{ ModUrlaub_1Final.postUpdate(ModUrlaub_1_0) }
else
{ ModUrlaub_1Final.postUpdate(ModUrlaub_1_0 + "-" + ModUrlaub_1_1) }
if (ModUrlaub_2_0 === ModUrlaub_2_1)
{ ModUrlaub_2Final.postUpdate(ModUrlaub_2_0) }
else
{ ModUrlaub_2Final.postUpdate(ModUrlaub_2_0 + "-" + ModUrlaub_2_1) }
//Final String
Urlaubstage.postUpdate(ModUrlaub_1Final + ";" + ModUrlaub_2Final)
}
if (ModUrlaub_1_0 !== "-.-.-")
{
if (ModUrlaub_1_0 === ModUrlaub_1_1)
{ ModUrlaub_1Final.postUpdate(ModUrlaub_1_0) }
else
{ ModUrlaub_1Final.postUpdate(ModUrlaub_1_0 + "-" + ModUrlaub_1_1) }
//Final String
Urlaubstage.postUpdate(ModUrlaub_1Final)
}
end