OH2.5 Rules - DateTime to String an Final concatenation

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

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.