Es war eine Klammer falsch gesetzt, daher wurden nie DateTime-Objekte
erkannt und man mußte das Datum immer als formatierten String übergeben.
Jetzt sollte es auch wieder mit DateTime-Objekten funktionieren.
   }
 
   my $transdate_obj;
-  if (ref($params{transdate} eq 'DateTime')) {
+  if (ref($params{transdate}) eq 'DateTime') {
     $transdate_obj = $params{transdate};
   } else {
-   $transdate_obj = $::locale->parse_date_to_object($params{transdate});
+    $transdate_obj = $::locale->parse_date_to_object($params{transdate});
   };
   croak t8('Illegal date') unless ref $transdate_obj;