Via CalDev (google Calender) I get my vacation data and try to pass them by means of start and end date to another ITEM as a string, so that I can continue working with it at another place.
I get the variable ModVacation_X_X filled and can also perform if queries on it. Passing the result then final into another variable of type string “ModUrlaub_XFinal” does not work then, does anyone know why?
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