Spaltenüberschriften in Reports - dynamic_property_callback



  • Hallo zusammen,

    ich habe eine Frage zu den Spaltenüberschriften von Reports. Diese ergeben sich ja aus dem Aliasnamen (AS …) der selektierten Spalten. Sie werden beim Zusammenklicken im Abfrage-Editor automatisch vergeben und dann zur Laufzeit in die Zielsprache übersetzt. Man kann die Spaltenüberschriften im SQL-Editor aber auch manuell 'hart' reinschreiben. So kann ich z.B. den Aliasnamen 'LC__CATP__IP__HOSTNAME###47' auch hart als 'Hostname' reinschreiben.

    Bei bestimmten Spaltenüberschriften funktioniert das aber nicht, und zwar wenn der Aliasname dynamic_property_callback im Namen hat. In einem meiner Reports habe ich die RAM-Gesamtkapazität eines Servers ausgegeben. Dafür hat mir der Abfrage-Editor den folgenden Alias vergeben: 'isys_cmdb_dao_category_g_memory::dynamic_property_callback_total_capacity::isys_catg_memory_list__isys_obj__id::LC__CATG__CMDB_MEMORY_TOTALCAPACITY'.

    Wenn ich diesen nun hart als 'RAM-Gesamtkapazität' reinschreibe, so ändern sich auch die Daten in der entsprechenden Zeile: Statt 64.00 GB steht hier nun in meinem konkreten Fall einfach die Zahl 85 (s. Screenshot).

    Was hat es mit diesen speziellen Aliasnamen mit dynamic_property_callback und den Doppelpunkten :: auf sich? Ist das irgendwo dokumentiert?

    Die i-doit-Version ist 1.10.

    report.png


  • administrators

    Hi,

    zum ersten Teil der Frage: Es gibt zu den Spaltentitel einen Feature Request, den wir in Q1-Q2/2018 umsetzen werden.
    Zu der technischen Frage werde ich mal einen Entwickler befragen…



  • Hallo JS,

    in i-doit werden alle Attribute die mit einer Maßeinheit gekoppelt sind mit der kleinsten Einheit umgerechnet und in die Datenbank geschrieben. Deshalb muss das von dir ausgewählte Attribut extra umgerechnet werden und das machen wir über den Weg das wir während der Ausgabe eine Funktion aufrufen die im Alias steckt. Deshalb bekommst du bei deinem Beispiel die Zahl 85 wenn du den Alias überschreibst.
    Um dein Problem zu lösen kannst du einfach die Language Konstante die im Alias steckt ersetzen.

    Beispiel:
    Von 'isys_cmdb_dao_category_g_memory::dynamic_property_callback_total_capacity::isys_catg_memory_list__isys_obj__id::LC__CATG__CMDB_MEMORY_TOTALCAPACITY'
    Nach 'isys_cmdb_dao_category_g_memory::dynamic_property_callback_total_capacity::isys_catg_memory_list__isys_obj__id::RAM-GesamtKapazität'

    Ich hoffe das ich dir dabei helfen konnte.

    Gruß,
    vqh


 


Datenschutz / Privacy Policy