Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    Lizenzen in Benutzung

    Scheduled Pinned Locked Moved Betrieb
    13 Posts 5 Posters 3.6k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      schmidt
      last edited by

      Hallo,

      da unter Reports –> Online Repository die Abfrage "Lizenzen in Benutzung" nicht funktioniert,
      wollte ich selbst eine Abfrage generieren.
      Bis auf die Standartabfrage, welche Lizenzen und deren Gesamtanzahl erreiche ich kein Resultat.
      Der Abfrageeditor ist keine Hilfe.
      Im Abfrageeditor unter "Kategorie-Bedingung hinzufügen" kann ich zwar die Kategorie Lizenzzuweisung auswählen,
      aber unter Atrribute steht nur "Keine verwendbaren Attribute in dieser Kategorie".

      Es wäre sehr hilfreich,wenn jemand hier im Forum (oder Entwickler) eine Abfrage für "Eigene Reports" online stellen könnte.
      Unter Software-->Lizenzen-->z.B. Office-->Lizenzzuweisung-->Übersicht ist ja schon eine funktionierende Abfrage enthalten.

      MfG
      Schmidt

      idoit_Lizenzen_in_Verwendung.jpg

      1 Reply Last reply Reply Quote 0
      • J Offline
        jkondek
        last edited by

        Hallo,

        wie soll das Ergebnis Deines Reports denn aussehen, was fuer Angaben moechtest Du aus dem Report erhalten?

        Ich behaupte mal, die Tabelle "isys_cats_lic_item", welche in dem Report aus dem Online Repository genutzt wird, ist inzwischen veraltet.

        Versuch mal folgenden Report:

        SELECT
        isys_obj__title,
        isys_cats_lic_list__key,
        isys_cats_lic_list__type,
        isys_cats_lic_list__amount

        FROM isys_obj

        LEFT JOIN isys_cats_lic_list AS j1
        ON j1.isys_cats_lic_list__isys_obj__id = isys_obj__id

        LEFT JOIN isys_obj_type AS j2
        ON j2.isys_obj_type__id = isys_obj__id

        WHERE
        isys_obj__isys_obj_type__id = 33

        Der gibt eine Uebersicht ueber alle Lizenzen und Schluessel aus.

        1 Reply Last reply Reply Quote 0
        • J Offline
          jkondek
          last edited by

          Der Report ist wahrscheinlich nicht das, was Du suchst… Habe ihn trotzdem noch ein bisschen "schoener" gemacht 😉

          SELECT
          isys_obj__title AS 'Software',
          isys_cats_lic_list__key AS 'Lizenzschluessel',
          (CASE
          WHEN isys_cats_lic_list__type = 2 THEN 'Volumenlizenz'
          WHEN isys_cats_lic_list__type = 1 THEN 'Einzellizenz'
          END) AS 'Lizenztyp',
          isys_cats_lic_list__amount AS 'Anzahl Lizenzen'

          FROM isys_obj

          LEFT JOIN isys_cats_lic_list AS j1
          ON j1.isys_cats_lic_list__isys_obj__id = isys_obj__id

          LEFT JOIN isys_obj_type AS j2
          ON j2.isys_obj_type__id = isys_obj__id

          WHERE
          isys_obj__isys_obj_type__id = 33

          ORDER BY Software, Lizenzschluessel

          Ich habe bisher noch nicht rausgefunden, in welcher Tabelle die Lizenzbenutzung aufgeloest wird...
          Quasi die Grundlagen um die von Dir genannte Statistik zu erstellen...

          1 Reply Last reply Reply Quote 0
          • S Offline
            schmidt
            last edited by

            Hallo jkondek,

            viele Dank für das Feedback,
            Diese Abfrage habe ich mir Anfangs auch selbst zusammengebastelt.
            Mein Verständnisproblem liegt in der Verbindung zur Beziehung zu den benutzen Lizenzen.
            Wo werden diese verknüpft, sodass man mit COUNT(…)  und  GRPOUP BY diese Zählen kann.

            Viel Grüße
            Schmidt

            1 Reply Last reply Reply Quote 0
            • J Offline
              jkondek
              last edited by

              Dafuer benoetigst Du prinzipiell (erstmal) nur zwei Tabellen:
              isys_cats_lic_list
              isys_catg_application_list

              In der Spalte isys_cats_lic_list__amount steht die Anzahl der Lizenzschluessel und sobald eine Lizenzzuweisung erfolgt, steht das in der Tabelle isys_catg_application_list.

              Bei der Erstellung eines entsprechenden Reports ist mir folgender Fehler aufgefallen:

              Sobald die Anzahl einer Volumenlizenz > 1 ist, wird bei der Berechnung von "Lizenzen in Benutzung" eine Lizenz (aus Prinzip?) gezaehlt, obwohl diese gar nicht in Benutzung ist. Sobald mindestens eine Lizenz vergeben ist, ist die Berechnung richtig…

              1 Reply Last reply Reply Quote 0
              • LFischerL Offline
                LFischer
                last edited by

                Hallo zusammen,

                bitte vergesst nicht bei eigenen Reports / SQL-Abfragen den Status zu prüfen. Die gezählten Objekte / Lizenzen müssen folgende Kriterien erfüllen:

                • Das Lizenz-Objekt muss den Status Normal haben
                • Der Lizenzschlüssel muss den Status Normal haben
                • Das referenzierte Objekt (z.B. ein Server) muss den Status Normal haben
                • Die "Softwarezuweisung" (des Servers), in der die Lizenz verwendet wird, muss den Status Normal haben

                Viele Grüße
                Leo

                1 Reply Last reply Reply Quote 0
                • J Offline
                  jkondek
                  last edited by

                  Hallo Leo,

                  Hallo zusammen,

                  bitte vergesst nicht bei eigenen Reports / SQL-Abfragen den Status zu prüfen. Die gezählten Objekte / Lizenzen müssen folgende Kriterien erfüllen:

                  • Das Lizenz-Objekt muss den Status Normal haben
                  • Der Lizenzschlüssel muss den Status Normal haben

                  Bei diesen beiden Bedingungen stimme ich Dir zu.

                  • Das referenzierte Objekt (z.B. ein Server) muss den Status Normal haben
                  • Die "Softwarezuweisung" (des Servers), in der die Lizenz verwendet wird, muss den Status Normal haben

                  Wenn ich eine Uebersicht ueber alle Lizenzen haben moechte (egal ob unbenutzt, benutzt oder ueberzogen), darf der Status hier nicht auf "normal" geprueft werden, da somit ungenutzte Lizenzen ausser Acht gelassen werden (da diese kein referenziertes Objekt und keine Softwarezuweisung nachweisen koennen).

                  In meinem Report sollen alle Lizenzen beruecksichtigt werden, daher nutze ich nur die ersten beiden Bedingungen.
                  Trotzdem bleibt folgender Fehler:

                  Sobald die Anzahl einer Volumenlizenz > 1 ist, wird bei der Berechnung von "Lizenzen in Benutzung" eine Lizenz (aus Prinzip?) gezaehlt, obwohl diese gar nicht in Benutzung ist. Sobald mindestens eine Lizenz vergeben ist, ist die Berechnung richtig…

                  1 Reply Last reply Reply Quote 0
                  • J Offline
                    jkondek
                    last edited by

                    Die einfachste Loesung ist die Benutzung des Reports Lizenzauslastung aus dem Online Repository…

                    SELECT
                    isys_obj__id AS id,
                    isys_obj__title AS Lizenzobjekt,
                    isys_cats_lic_list__key AS Key,
                    isys_cats_lic_list__amount AS LC__CMDB__CATG__LICENCE_TOTAL,
                    COUNT(isys_catg_application_list__id ) AS LC__CMDB__CATG__LICENCE_IN_USE

                    FROM isys_cats_lic_list

                    INNER JOIN isys_obj
                    ON isys_obj__id = isys_cats_lic_list__isys_obj__id

                    LEFT JOIN isys_catg_application_list
                    ON isys_catg_application_list__isys_cats_lic_list__id = isys_cats_lic_list__id

                    GROUP BY isys_cats_lic_list__id

                    Es geht aber auch noch schoener 😉

                    SELECT
                    j4.isys_obj__id AS id,
                    j4.isys_obj__title AS 'Software',
                    isys_cats_lic_list__key AS 'Lizenzschluessel',
                    (CASE
                    WHEN isys_cats_lic_list__type = 2 THEN 'Volumenlizenz'
                    WHEN isys_cats_lic_list__type = 1 THEN 'Einzellizenz'
                    END) AS 'Lizenztyp',
                    isys_cats_lic_list__amount AS 'Anzahl Lizenzen',
                    COUNT(isys_catg_application_list__id) AS 'Lizenzen in Benutzung',
                    (CASE
                    WHEN  COUNT(isys_catg_application_list__id) = 0 THEN 'Alle Lizenzen frei'
                    WHEN (COUNT(isys_catg_application_list__id)) = isys_cats_lic_list__amount THEN 'Alle Lizenzen in Benutzung'
                    WHEN (COUNT(isys_catg_application_list__id)) < isys_cats_lic_list__amount THEN CONCAT((isys_cats_lic_list__amount - COUNT(isys_catg_application_list__id)),' Lizenzschluessel noch verfuegbar!')
                    WHEN (COUNT(isys_catg_application_list__id)) > isys_cats_lic_list__amount THEN CONCAT(((COUNT(*)) - isys_cats_lic_list__amount),' Lizenzenschluessel ueberzogen!')
                    END) AS 'Status'

                    FROM isys_obj AS j4

                    LEFT JOIN isys_cats_lic_list AS j1
                    ON j1.isys_cats_lic_list__isys_obj__id = j4.isys_obj__id

                    LEFT JOIN isys_obj_type AS j2
                    ON j2.isys_obj_type__id = j4.isys_obj__id

                    LEFT JOIN isys_catg_application_list
                    ON isys_catg_application_list__isys_cats_lic_list__id = isys_cats_lic_list__id

                    LEFT JOIN isys_connection
                    ON isys_connection__id = isys_catg_application_list__isys_connection__id

                    LEFT JOIN isys_obj AS j3
                    ON j3.isys_obj__id = isys_connection__isys_obj__id

                    LEFT JOIN isys_obj AS j5
                    ON j5.isys_obj__id = isys_catg_application_list__isys_obj__id

                    WHERE TRUE
                    AND j4.isys_obj__status = 2
                    AND j1.isys_cats_lic_list__status = 2
                    AND j4.isys_obj__isys_obj_type__id = 33

                    GROUP BY isys_cats_lic_list__id

                    ORDER BY Software, Lizenztyp

                    Ich hoffe ich konnte weiterhelfen!

                    Viele Gruesse,
                    jkondek

                    1 Reply Last reply Reply Quote 0
                    • LFischerL Offline
                      LFischer
                      last edited by

                      Hallo zusammen,

                      wir haben Gestern den Report von jkondek in einer Schulung vorgestellt und zusammen mit den Kollegen eine Lösung erarbeitet:

                      SELECT
                      j4.isys_obj__id AS __id__,
                      j4.isys_obj__title AS 'Software',
                      isys_cats_lic_list__key AS 'Lizenzschluessel',
                      (CASE
                      WHEN isys_cats_lic_list__type = 2 THEN 'Volumenlizenz'
                      WHEN isys_cats_lic_list__type = 1 THEN 'Einzellizenz'
                      END) AS 'Lizenztyp',
                      isys_cats_lic_list__amount AS 'Anzahl Lizenzen',
                      COUNT(isys_catg_application_list__id) AS 'Lizenzen in Benutzung',
                      (CASE
                      WHEN  COUNT(isys_catg_application_list__id) = 0 THEN 'Alle Lizenzen frei'
                      WHEN (COUNT(isys_catg_application_list__id)) = isys_cats_lic_list__amount THEN 'Alle Lizenzen in Benutzung'
                      WHEN (COUNT(isys_catg_application_list__id)) < isys_cats_lic_list__amount THEN CONCAT((isys_cats_lic_list__amount - COUNT(isys_catg_application_list__id)),' Lizenzschluessel noch verfuegbar!')
                      WHEN (COUNT(isys_catg_application_list__id)) > isys_cats_lic_list__amount THEN CONCAT(((COUNT(*)) - isys_cats_lic_list__amount),' Lizenzenschluessel ueberzogen!')
                      END) AS 'Status'
                      
                      FROM isys_obj AS j4
                      
                      LEFT JOIN isys_cats_lic_list AS j1 ON j1.isys_cats_lic_list__isys_obj__id = j4.isys_obj__id
                      LEFT JOIN isys_obj_type AS j2 ON j2.isys_obj_type__id = j4.isys_obj__id
                      LEFT JOIN isys_catg_application_list ON isys_catg_application_list__isys_cats_lic_list__id = isys_cats_lic_list__id
                      LEFT JOIN isys_connection ON isys_connection__id = isys_catg_application_list__isys_connection__id
                      LEFT JOIN isys_obj AS j3 ON j3.isys_obj__id = isys_connection__isys_obj__id
                      LEFT JOIN isys_obj AS j5 ON j5.isys_obj__id = isys_catg_application_list__isys_obj__id
                      
                      WHERE TRUE
                      AND IFNULL (j5.isys_obj__status, 2) = 2
                      AND j4.isys_obj__status = 2
                      AND j1.isys_cats_lic_list__status = 2
                      AND j4.isys_obj__isys_obj_type__id = 33
                      
                      GROUP BY isys_cats_lic_list__id
                      
                      ORDER BY Software, Lizenztyp;
                      ```Es wurde lediglich die Bedingung "AND IFNULL (j5.isys_obj__status, 2) = 2" hinzugefügt. Wir überlegen derzeit diesen Report in die Online Reports zu übernehmen :)
                      
                      Viele Grüße
                      Leo
                      1 Reply Last reply Reply Quote 0
                      • V Offline
                        v.schardt
                        last edited by

                        Hallo zusammen,

                        ich habe noch ein Variante erstellt. Der Report ist voreingestellt nach dem Status abwärts sortiert. Mlögliche Stati sin 'Alle Lizenzen frei', 'Alle Lizenzen in Benutzung', 'Lizenzen verfuegbar (X Lizenzen)' und 'Lizenzen überbucht (X Lizenzen)'. So stehen die überbuchten Lizenzen immer als erstes in der Liste.

                        
                        SELECT
                            obj_main.isys_obj__id AS __id__,
                            obj_main.isys_obj__title AS 'Software',
                            j1.isys_cats_lic_list__key AS 'Lizenzschluessel',
                            CASE
                              WHEN j1.isys_cats_lic_list__type = 2 THEN 'Volumenlizenz'
                              WHEN j1.isys_cats_lic_list__type = 1 THEN 'Einzellizenz'
                            END AS 'Lizenztyp',
                            j1.isys_cats_lic_list__amount AS 'Anzahl Lizenzen',
                            COUNT(j3.isys_catg_application_list__id) AS 'Lizenzen in Benutzung',
                            CASE
                              WHEN COUNT(j3.isys_catg_application_list__id) = 0 THEN 'Alle Lizenzen frei'
                              WHEN COUNT(j3.isys_catg_application_list__id) = j1.isys_cats_lic_list__amount THEN 'Alle Lizenzen in Benutzung'
                              WHEN COUNT(j3.isys_catg_application_list__id) < j1.isys_cats_lic_list__amount THEN CONCAT('Lizenzen verfuegbar (', j1.isys_cats_lic_list__amount - COUNT(j3.isys_catg_application_list__id), ' Lzenzen)')
                              WHEN COUNT(j3.isys_catg_application_list__id) > j1.isys_cats_lic_list__amount THEN CONCAT('Lizenzen überbucht (', COUNT(j3.isys_catg_application_list__id) - isys_cats_lic_list__amount, ' Lizenzen)')
                            END AS 'Status'
                        
                          FROM isys_obj AS obj_main
                            LEFT JOIN isys_cats_lic_list AS j1 ON j1.isys_cats_lic_list__isys_obj__id = obj_main.isys_obj__id
                            LEFT JOIN isys_obj_type AS j2 ON j2.isys_obj_type__id = obj_main.isys_obj__id
                            LEFT JOIN isys_catg_application_list AS j3 ON j3.isys_catg_application_list__isys_cats_lic_list__id = j1.isys_cats_lic_list__id
                            LEFT JOIN isys_connection AS j4 ON j4.isys_connection__id = j3.isys_catg_application_list__isys_connection__id
                            LEFT JOIN isys_obj AS j5 ON j5.isys_obj__id = j4.isys_connection__isys_obj__id
                            LEFT JOIN isys_obj AS j6 ON j6.isys_obj__id = j3.isys_catg_application_list__isys_obj__id
                        
                          WHERE 
                            IFNULL(j6.isys_obj__status, 2) = 2 AND
                            obj_main.isys_obj__status = 2 AND
                            j1.isys_cats_lic_list__status = 2 AND
                            obj_main.isys_obj__isys_obj_type__id = 33
                        
                          GROUP BY j1.isys_cats_lic_list__id
                        
                          ORDER BY
                            CASE
                              WHEN COUNT(j3.isys_catg_application_list__id) = 0 THEN 4
                              WHEN COUNT(j3.isys_catg_application_list__id) = j1.isys_cats_lic_list__amount THEN 3
                              WHEN COUNT(j3.isys_catg_application_list__id) < j1.isys_cats_lic_list__amount THEN 2
                              WHEN COUNT(j3.isys_catg_application_list__id) > j1.isys_cats_lic_list__amount THEN 1
                            END
                        ;
                        
                        

                        LG Volker Schardt

                        1 Reply Last reply Reply Quote 0
                        • Y Offline
                          Yulenkapol
                          last edited by

                          Hallo,

                          und wie kann ich in report zeigen welche lizenz auf welche client installiert?

                          Lieben Gruß, Yulia

                          1 Reply Last reply Reply Quote 0
                          • J Offline
                            jkondek
                            last edited by

                            Hallo Yulia,

                            hilft Dir dieser Report dafuer weiter?

                            SELECT
                            j1.isys_obj__id AS id,
                            j1.isys_obj__title AS "Hostname",
                            j2.isys_obj__title AS "Software",
                            isys_cats_lic_list__key AS "Lizenzschluessel"

                            FROM isys_obj AS j1

                            LEFT JOIN isys_catg_application_list
                            ON j1.isys_obj__id = isys_catg_application_list__isys_obj__id

                            LEFT JOIN isys_cats_app_variant_list
                            ON isys_cats_app_variant_list__id = isys_catg_application_list__isys_cats_app_variant_list__id

                            LEFT JOIN isys_connection
                            ON isys_connection__id = isys_catg_application_list__isys_connection__id

                            LEFT JOIN isys_obj AS j2
                            ON j2.isys_obj__id = isys_connection__isys_obj__id

                            LEFT JOIN isys_cats_lic_list
                            ON isys_cats_lic_list__id = isys_catg_application_list__isys_cats_lic_list__id

                            WHERE TRUE
                            AND j2.isys_obj__isys_obj_type__id = 2

                            ORDER BY
                            j1.isys_obj__title, j2.isys_obj__title

                            Gruss,
                            jkondek

                            1 Reply Last reply Reply Quote 0
                            • Y Offline
                              Yulenkapol
                              last edited by

                              Hallo jkondek,

                              Vielen Dank!!!!! Genau das habe ich gesucht!!!!

                              Gruß, Yulia

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post